From 6ce5d1ecba1d7ab97a70bfcaa1366a4fcca4378e Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Mon, 3 Oct 2022 15:26:26 -0700 Subject: [PATCH 1/8] d_camera / m_Do_ext / d_particle + minor various wip (#210) --- Progress.md | 18 +- .../J3DModel/calcMaterial__8J3DModelFv.s | 103 -- .../J3DModel/lock__8J3DModelFv.s | 16 - .../J3DModel/unlock__8J3DModelFv.s | 16 - .../J3DModel/viewCalc__8J3DModelFv.s | 155 --- ...heckAttentionPosAngle__9daAlink_cFP4cXyz.s | 42 - .../daAlink_modelCallBack__FP8J3DJointi.s | 34 - .../daAlink_searchHawk__FP10fopAc_ac_cPv.s | 6 - .../daAlink_searchWhistle__FP10fopAc_ac_cPv.s | 10 - ...itDemoModel__9daAlink_cFPP8J3DModelPCcUl.s | 41 - .../d_a_alink/initModelEnv__9daAlink_cFUsUl.s | 27 - ...nitModel__9daAlink_cFP12J3DModelDataUlUl.s | 49 - .../a/d_a_alink/initModel__9daAlink_cFUsUl.s | 27 - .../procGrassWhistleGet__9daAlink_cFv.s | 52 - .../setGrassWhistleModel__9daAlink_cFi.s | 39 - .../setHorseWhistleModel__9daAlink_cFv.s | 31 - .../setLookPosFromOut__9daAlink_cFP4cXyz.s | 40 - .../dPath_GetNextRoomPath__FPC5dPathi.s | 58 - asm/d/d_path/dPath_GetPnt__FPC5dPathi.s | 18 - ...yRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi.s | 98 -- asm/d/d_path/dPath_GetRoomPath__Fii.s | 50 - asm/d/kankyo/d_kankyo/GxFog_set__Fv.s | 18 - asm/d/kankyo/d_kankyo/GxXFog_set__Fv.s | 18 - asm/d/kankyo/d_kankyo/dKy_GxFog_set__Fv.s | 10 - ...8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s | 57 - ...8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s | 42 - .../dKy_pol_sound_get__FPC13cBgS_PolyInfo.s | 62 - .../kankyo/d_kankyo/fl_data_ratio_set__Ffff.s | 5 - .../float_kankyo_color_ratio_set__Fffffffff.s | 55 - ...or_ratio_calc__FP8_GXColor11_GXColorS10f.s | 29 - .../d_kankyo_rain/dKr_cullVtx_Set__Fv.s | 29 - ...et_eyevect_calc__FP12camera_classP3Vecff.s | 45 - .../kankyo/d_kankyo_rain/dKyr_evil_init__Fv.s | 64 - .../kankyo/d_kankyo_rain/dKyr_evil_move__Fv.s | 33 - ...Kyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s | 9 - .../dKyr_moon_arrival_check__Fv.s | 14 - .../dKyr_set_btitex__FP9_GXTexObjP7ResTIMG.s | 10 - .../kankyo/d_kankyo_rain/dKyr_star_move__Fv.s | 12 - .../d_kankyo_rain/dKyr_thunder_init__Fv.s | 7 - .../d_krain_cut_turn_check__Fv.s | 20 - .../get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s | 23 - .../rain_bg_chk__FP19dKankyo_rain_Packeti.s | 11 - .../screenSetLetter__14dMenu_Letter_cFv.s | 4 +- .../d_particle/__ct__13dPa_control_cFv.s | 42 - .../__ct__19dPa_followEcallBackFUcUc.s | 16 - .../__ct__Q213dPa_control_c7level_cFv.s | 30 - ...l_cFPQ313dPa_control_c7level_c9emitter_c.s | 15 - ...OnEventMove__Q213dPa_control_c7level_cFv.s | 15 - .../d_particle/calc2D__13dPa_control_cFv.s | 21 - .../d_particle/calc3D__13dPa_control_cFv.s | 34 - .../d_particle/calcMenu__13dPa_control_cFv.s | 25 - .../d_particle/cleanup__13dPa_control_cFv.s | 10 - .../cleanup__Q213dPa_control_c7level_cFv.s | 30 - ...l_cFPQ313dPa_control_c7level_c9emitter_c.s | 26 - asm/d/particle/d_particle/dPa_cleanupGX__Fv.s | 89 -- .../draw__13dPa_control_cFP11JPADrawInfoUc.s | 39 - .../d_particle/end__19dPa_followEcallBackFv.s | 21 - ...UsP14JPABaseEmitterP18dPa_levelEcallBack.s | 66 - ...UsP14JPABaseEmitterP18dPa_levelEcallBack.s | 27 - ...l_cFPQ313dPa_control_c7level_c9emitter_c.s | 49 - .../execute__Q213dPa_control_c7level_cFv.s | 27 - ...nEventMove__Q213dPa_control_c7level_cFUl.s | 15 - ...getEmitter__Q213dPa_control_c7level_cFUl.s | 16 - .../d_particle/getRM_ID__13dPa_control_cFUs.s | 3 - .../get__Q213dPa_control_c7level_cFUl.s | 20 - ...e__Q313dPa_control_c7level_c9emitter_cFv.s | 18 - ...lBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc.s | 42 - asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s | 6 +- .../ERROR_EXIT__15mDoExt_McaMorf2Fv.s | 19 - .../m_Do_ext/__ct__19mDoExt_invJntPacketFv.s | 12 - .../m_Do_ext/__dt__19mDoExt_invJntPacketFv.s | 26 - ...Only__13mDoExt_bckAnmFP15J3DAnmTransform.s | 16 - ...te__21mDoExt_invisibleModelFP8J3DModelUc.s | 52 - .../m_Do_ext/entryDL__14mDoExt_McaMorfFv.s | 13 - .../m_Do_ext/entryDL__15mDoExt_McaMorf2Fv.s | 13 - .../m_Do_ext/entryDL__16mDoExt_McaMorfSOFv.s | 13 - ...oint__13mDoExt_bckAnmFP12J3DModelDataUsf.s | 9 - .../entry__13mDoExt_bckAnmFP12J3DModelDataf.s | 8 - ...ry__13mDoExt_bpkAnmFP16J3DMaterialTablef.s | 14 - ...ry__13mDoExt_brkAnmFP16J3DMaterialTablef.s | 14 - ...ry__13mDoExt_btkAnmFP16J3DMaterialTablef.s | 14 - asm/m_Do/m_Do_ext/func_800107D0.s | 47 - ...nmFP13J3DDeformDataP13J3DAnmClusteriifss.s | 45 - ...mFP16J3DMaterialTableP11J3DAnmColoriifss.s | 44 - ...6J3DMaterialTableP15J3DAnmTevRegKeyiifss.s | 44 - ...MaterialTableP19J3DAnmTextureSRTKeyiifss.s | 44 - ...J3DMaterialTableP16J3DAnmTexPatterniifss.s | 44 - .../mDoExt_GetCurrentRunningThread__Fv.s | 16 - ...t_J3DModel__create__FP12J3DModelDataUlUl.s | 74 -- .../mDoExt_brkAnmRemove__FP12J3DModelData.s | 52 - .../mDoExt_btkAnmRemove__FP12J3DModelData.s | 47 - .../mDoExt_changeMaterial__FP8J3DModel.s | 29 - asm/m_Do/m_Do_ext/mDoExt_getMesgFont__Fv.s | 17 - asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s | 17 - asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s | 17 - .../m_Do_ext/mDoExt_modelDiff__FP8J3DModel.s | 22 - .../mDoExt_modelEntryDL__FP8J3DModel.s | 38 - ...oExt_modelTexturePatch__FP12J3DModelData.s | 49 - .../mDoExt_modelUpdateDL__FP8J3DModel.s | 43 - .../mDoExt_modelUpdate__FP8J3DModel.s | 41 - .../mDoExt_resIDToIndex__FP10JKRArchiveUs.s | 22 - .../m_Do_ext/mDoExt_setAraCacheSize__FUl.s | 3 - .../m_Do_ext/modelCalc__14mDoExt_McaMorfFv.s | 28 - .../m_Do_ext/modelCalc__15mDoExt_McaMorf2Fv.s | 34 - .../modelCalc__16mDoExt_McaMorfSOFv.s | 28 - .../setMaterial__19mDoExt_3DlineMat0_cFv.s | 46 - .../setMaterial__19mDoExt_3DlineMat1_cFv.s | 55 - .../stopZelAnime__15mDoExt_McaMorf2Fv.s | 16 - .../stopZelAnime__16mDoExt_McaMorfSOFv.s | 16 - .../m_Do_ext/updateDL__16mDoExt_McaMorfSOFv.s | 30 - .../d_a_b_go/daB_GO_Delete__FP10b_go_class.s | 29 - .../d_a_b_go/daB_GO_Draw__FP10b_go_class.s | 35 - .../__sinit_d_a_tag_TWgate_cpp.s | 161 --- ...pCallBack__13daTagTWGate_cFP10fopAc_ac_c.s | 9 - .../daTagTWGate_Create__FP10fopAc_ac_c.s | 69 - .../daTagTWGate_Delete__FP13daTagTWGate_c.s | 50 - .../daTagTWGate_Draw__FP13daTagTWGate_c.s | 15 - .../downloadModels__13daTagTWGate_cFv.s | 46 - .../executeWait__13daTagTWGate_cFv.s | 199 --- .../initDemoFilone1__13daTagTWGate_cFv.s | 36 - .../initDemoFilone3__13daTagTWGate_cFv.s | 51 - .../initDemoHyral1__13daTagTWGate_cFv.s | 36 - .../initDemoHyral3__13daTagTWGate_cFv.s | 51 - .../initDemoOrdin1__13daTagTWGate_cFv.s | 36 - .../initDemoOrdin3__13daTagTWGate_cFv.s | 51 - .../initDemoRanail1__13daTagTWGate_cFv.s | 36 - .../initDemoRanail3__13daTagTWGate_cFv.s | 58 - ...nitTalk__13daTagTWGate_cFiPP10fopAc_ac_c.s | 16 - .../initWait__13daTagTWGate_cFv.s | 4 - .../daTagMagne_Create__FP10fopAc_ac_c.s | 9 - .../daTagMagne_Delete__FP12daTagMagne_c.s | 9 - include/JSystem/J3DGraphAnimator/J3DJoint.h | 1 + .../J3DGraphAnimator/J3DMaterialAttach.h | 1 + include/JSystem/J3DGraphAnimator/J3DModel.h | 11 +- .../JSystem/J3DGraphAnimator/J3DModelData.h | 1 + .../JSystem/J3DGraphAnimator/J3DMtxBuffer.h | 16 + include/JSystem/J3DGraphBase/J3DMaterial.h | 1 + include/JSystem/J3DGraphBase/J3DSys.h | 2 + include/JSystem/J3DGraphBase/J3DTexture.h | 5 + include/JSystem/J3DGraphBase/J3DVertex.h | 2 + include/JSystem/JKernel/JKRArchive.h | 2 - include/JSystem/JKernel/JKRCompArchive.h | 10 +- include/JSystem/JKernel/JKRExpHeap.h | 56 +- include/JSystem/JKernel/JKRHeap.h | 12 +- include/JSystem/JMath/JMath.h | 1 + include/JSystem/JParticle/JPAParticle.h | 14 + include/JSystem/JUtility/JUTFont.h | 2 +- include/JSystem/JUtility/JUTNameTab.h | 8 +- include/JSystem/JUtility/JUTTexture.h | 8 +- include/SSystem/SComponent/c_phase.h | 16 +- include/d/a/d_a_alink.h | 282 +++- include/d/a/d_a_player.h | 4 +- include/d/bg/d_bg_s_gnd_chk.h | 2 + include/d/bg/d_bg_s_grp_pass_chk.h | 1 + include/d/bg/d_bg_s_lin_chk.h | 2 +- include/d/bg/d_bg_w.h | 6 +- include/d/com/d_com_inf_game.h | 34 +- include/d/d_cam_param.h | 176 ++- include/d/d_camera.h | 314 ++++- include/d/d_drawlist.h | 35 +- include/d/d_kyeff2.h | 1 + include/d/d_path.h | 13 +- include/d/d_resorce.h | 4 +- include/d/d_stage.h | 50 +- include/d/kankyo/d_kankyo.h | 23 +- include/d/kankyo/d_kankyo_data.h | 6 + include/d/kankyo/d_kankyo_wether.h | 27 +- include/d/meter/d_meter2_draw.h | 6 + include/d/msg/d_msg_flow.h | 1 + include/d/particle/d_particle.h | 184 ++- include/d/particle/d_particle_name.h | 5 + include/f_op/f_op_actor.h | 16 +- include/f_op/f_op_actor_mng.h | 20 +- include/f_op/f_op_camera_mng.h | 21 +- include/f_op/f_op_view.h | 18 +- include/m_Do/m_Do_audio.h | 2 - include/m_Do/m_Do_ext.h | 175 ++- include/m_Do/m_Do_mtx.h | 1 + include/rel/d/a/d_a_crod/d_a_crod.h | 2 +- .../rel/d/a/d_a_scene_exit/d_a_scene_exit.h | 4 +- .../a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h | 59 +- .../rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h | 2 +- libs/JSystem/J2DGraph/J2DAnimation.cpp | 6 +- libs/JSystem/J2DGraph/J2DMatBlock.cpp | 8 +- libs/JSystem/J3DGraphAnimator/J3DModel.cpp | 113 +- libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp | 6 +- libs/JSystem/J3DGraphBase/J3DTexture.cpp | 16 +- libs/JSystem/JGadget/linklist.cpp | 6 +- libs/JSystem/JKernel/JKRAramArchive.cpp | 6 +- libs/JSystem/JKernel/JKRDecomp.cpp | 2 +- libs/JSystem/JKernel/JKRExpHeap.cpp | 28 +- libs/JSystem/JUtility/JUTDirectPrint.cpp | 2 +- libs/JSystem/JUtility/JUTException.cpp | 2 +- libs/JSystem/JUtility/JUTFont.cpp | 2 +- libs/JSystem/JUtility/JUTNameTab.cpp | 8 +- libs/JSystem/JUtility/JUTResFont.cpp | 2 +- libs/JSystem/JUtility/JUTTexture.cpp | 22 +- libs/SSystem/SComponent/c_m3d.cpp | 6 +- libs/SSystem/SComponent/c_phase.cpp | 34 +- rel/d/a/b/d_a_b_go/d_a_b_go.cpp | 471 +++++-- rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp | 6 +- rel/d/a/d_a_title/d_a_title_nonmatching.cpp | 10 +- rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp | 30 +- .../obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp | 208 +-- rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp | 1133 ++++++++-------- rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp | 2 +- .../a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp | 4 +- rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.cpp | 57 +- .../a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp | 4 +- rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp | 2 +- src/c/c_dylink.cpp | 20 +- src/d/a/d_a_alink.cpp | 355 ++--- src/d/a/d_a_alink_copyrod.inc | 2 +- src/d/a/d_a_alink_cut.inc | 22 +- src/d/a/d_a_alink_demo.inc | 18 +- src/d/a/d_a_alink_grab.inc | 6 +- src/d/a/d_a_alink_hook.inc | 2 +- src/d/a/d_a_alink_link.inc | 76 +- src/d/a/d_a_alink_spinner.inc | 34 +- src/d/a/d_a_alink_sumou.inc | 2 +- src/d/a/d_a_alink_swindow.inc | 16 +- src/d/a/d_a_alink_whistle.inc | 125 +- src/d/a/d_a_itembase.cpp | 8 +- src/d/a/d_a_npc.cpp | 38 +- src/d/a/d_a_obj_item.cpp | 66 +- src/d/a/d_a_player.cpp | 10 +- src/d/a/d_a_shop_item_static.cpp | 4 +- src/d/bg/d_bg_s_movebg_actor.cpp | 4 +- src/d/bg/d_bg_w.cpp | 2 +- src/d/cc/d_cc_mass_s.cpp | 2 +- src/d/cc/d_cc_uty.cpp | 8 +- src/d/com/d_com_inf_game.cpp | 36 +- src/d/d_cam_param.cpp | 70 +- src/d/d_camera.cpp | 263 +--- src/d/d_drawlist.cpp | 8 +- src/d/d_kyeff.cpp | 2 +- src/d/d_kyeff2.cpp | 2 +- src/d/d_path.cpp | 179 +-- src/d/d_stage.cpp | 14 + src/d/event/d_event_data.cpp | 2 +- src/d/event/d_event_manager.cpp | 10 +- src/d/kankyo/d_kankyo.cpp | 361 +++-- src/d/kankyo/d_kankyo_data.cpp | 451 +++++-- src/d/kankyo/d_kankyo_rain.cpp | 506 +++---- src/d/kankyo/d_kankyo_wether.cpp | 8 +- src/d/map/d_map_path.cpp | 8 +- src/d/map/d_map_path_dmap.cpp | 2 +- src/d/menu/d_menu_letter.cpp | 4 +- src/d/menu/d_menu_window.cpp | 2 +- src/d/meter/d_meter2.cpp | 6 +- src/d/msg/d_msg_flow.cpp | 6 +- src/d/particle/d_particle.cpp | 660 +++++---- src/d/particle/d_particle_name.cpp | 46 +- src/d/s/d_s_name.cpp | 26 +- src/d/s/d_s_play.cpp | 44 +- src/d/shop/d_shop_item_ctrl.cpp | 6 +- src/d/shop/d_shop_system.cpp | 48 +- src/f_op/f_op_actor.cpp | 32 +- src/f_op/f_op_actor_mng.cpp | 60 +- src/f_op/f_op_camera.cpp | 12 +- src/f_op/f_op_overlap_req.cpp | 27 +- src/f_op/f_op_scene_req.cpp | 8 +- src/f_pc/f_pc_stdcreate_req.cpp | 17 +- src/m_Do/m_Do_MemCardRWmng.cpp | 16 +- src/m_Do/m_Do_ext.cpp | 1182 +++++++++++------ src/m_Do/m_Do_graphic.cpp | 2 +- src/m_Do/m_Do_lib.cpp | 12 +- 267 files changed, 5153 insertions(+), 8112 deletions(-) delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DModel/calcMaterial__8J3DModelFv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DModel/lock__8J3DModelFv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DModel/unlock__8J3DModelFv.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DModel/viewCalc__8J3DModelFv.s delete mode 100644 asm/d/a/d_a_alink/checkAttentionPosAngle__9daAlink_cFP4cXyz.s delete mode 100644 asm/d/a/d_a_alink/daAlink_modelCallBack__FP8J3DJointi.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchHawk__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchWhistle__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/initDemoModel__9daAlink_cFPP8J3DModelPCcUl.s delete mode 100644 asm/d/a/d_a_alink/initModelEnv__9daAlink_cFUsUl.s delete mode 100644 asm/d/a/d_a_alink/initModel__9daAlink_cFP12J3DModelDataUlUl.s delete mode 100644 asm/d/a/d_a_alink/initModel__9daAlink_cFUsUl.s delete mode 100644 asm/d/a/d_a_alink/procGrassWhistleGet__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setGrassWhistleModel__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setHorseWhistleModel__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setLookPosFromOut__9daAlink_cFP4cXyz.s delete mode 100644 asm/d/d_path/dPath_GetNextRoomPath__FPC5dPathi.s delete mode 100644 asm/d/d_path/dPath_GetPnt__FPC5dPathi.s delete mode 100644 asm/d/d_path/dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi.s delete mode 100644 asm/d/d_path/dPath_GetRoomPath__Fii.s delete mode 100644 asm/d/kankyo/d_kankyo/GxFog_set__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo/GxXFog_set__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo/dKy_GxFog_set__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s delete mode 100644 asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s delete mode 100644 asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s delete mode 100644 asm/d/kankyo/d_kankyo/fl_data_ratio_set__Ffff.s delete mode 100644 asm/d/kankyo/d_kankyo/float_kankyo_color_ratio_set__Fffffffff.s delete mode 100644 asm/d/kankyo/d_kankyo/kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKr_cullVtx_Set__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKy_set_eyevect_calc__FP12camera_classP3Vecff.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_evil_init__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_evil_move__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_moon_arrival_check__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_set_btitex__FP9_GXTexObjP7ResTIMG.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_star_move__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/dKyr_thunder_init__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/d_krain_cut_turn_check__Fv.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s delete mode 100644 asm/d/kankyo/d_kankyo_rain/rain_bg_chk__FP19dKankyo_rain_Packeti.s delete mode 100644 asm/d/particle/d_particle/__ct__13dPa_control_cFv.s delete mode 100644 asm/d/particle/d_particle/__ct__19dPa_followEcallBackFUcUc.s delete mode 100644 asm/d/particle/d_particle/__ct__Q213dPa_control_c7level_cFv.s delete mode 100644 asm/d/particle/d_particle/addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s delete mode 100644 asm/d/particle/d_particle/allForceOnEventMove__Q213dPa_control_c7level_cFv.s delete mode 100644 asm/d/particle/d_particle/calc2D__13dPa_control_cFv.s delete mode 100644 asm/d/particle/d_particle/calc3D__13dPa_control_cFv.s delete mode 100644 asm/d/particle/d_particle/calcMenu__13dPa_control_cFv.s delete mode 100644 asm/d/particle/d_particle/cleanup__13dPa_control_cFv.s delete mode 100644 asm/d/particle/d_particle/cleanup__Q213dPa_control_c7level_cFv.s delete mode 100644 asm/d/particle/d_particle/cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s delete mode 100644 asm/d/particle/d_particle/dPa_cleanupGX__Fv.s delete mode 100644 asm/d/particle/d_particle/draw__13dPa_control_cFP11JPADrawInfoUc.s delete mode 100644 asm/d/particle/d_particle/end__19dPa_followEcallBackFv.s delete mode 100644 asm/d/particle/d_particle/entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack.s delete mode 100644 asm/d/particle/d_particle/entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack.s delete mode 100644 asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s delete mode 100644 asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFv.s delete mode 100644 asm/d/particle/d_particle/forceOnEventMove__Q213dPa_control_c7level_cFUl.s delete mode 100644 asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s delete mode 100644 asm/d/particle/d_particle/getRM_ID__13dPa_control_cFUs.s delete mode 100644 asm/d/particle/d_particle/get__Q213dPa_control_c7level_cFUl.s delete mode 100644 asm/d/particle/d_particle/onActive__Q313dPa_control_c7level_c9emitter_cFv.s delete mode 100644 asm/d/particle/d_particle/setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc.s delete mode 100644 asm/m_Do/m_Do_ext/ERROR_EXIT__15mDoExt_McaMorf2Fv.s delete mode 100644 asm/m_Do/m_Do_ext/__ct__19mDoExt_invJntPacketFv.s delete mode 100644 asm/m_Do/m_Do_ext/__dt__19mDoExt_invJntPacketFv.s delete mode 100644 asm/m_Do/m_Do_ext/changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform.s delete mode 100644 asm/m_Do/m_Do_ext/create__21mDoExt_invisibleModelFP8J3DModelUc.s delete mode 100644 asm/m_Do/m_Do_ext/entryDL__14mDoExt_McaMorfFv.s delete mode 100644 asm/m_Do/m_Do_ext/entryDL__15mDoExt_McaMorf2Fv.s delete mode 100644 asm/m_Do/m_Do_ext/entryDL__16mDoExt_McaMorfSOFv.s delete mode 100644 asm/m_Do/m_Do_ext/entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf.s delete mode 100644 asm/m_Do/m_Do_ext/entry__13mDoExt_bckAnmFP12J3DModelDataf.s delete mode 100644 asm/m_Do/m_Do_ext/entry__13mDoExt_bpkAnmFP16J3DMaterialTablef.s delete mode 100644 asm/m_Do/m_Do_ext/entry__13mDoExt_brkAnmFP16J3DMaterialTablef.s delete mode 100644 asm/m_Do/m_Do_ext/entry__13mDoExt_btkAnmFP16J3DMaterialTablef.s delete mode 100644 asm/m_Do/m_Do_ext/func_800107D0.s delete mode 100644 asm/m_Do/m_Do_ext/init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss.s delete mode 100644 asm/m_Do/m_Do_ext/init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss.s delete mode 100644 asm/m_Do/m_Do_ext/init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss.s delete mode 100644 asm/m_Do/m_Do_ext/init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss.s delete mode 100644 asm/m_Do/m_Do_ext/init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_GetCurrentRunningThread__Fv.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_J3DModel__create__FP12J3DModelDataUlUl.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_brkAnmRemove__FP12J3DModelData.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_btkAnmRemove__FP12J3DModelData.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_changeMaterial__FP8J3DModel.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_getMesgFont__Fv.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_modelDiff__FP8J3DModel.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_modelEntryDL__FP8J3DModel.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_modelTexturePatch__FP12J3DModelData.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_modelUpdateDL__FP8J3DModel.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_modelUpdate__FP8J3DModel.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_resIDToIndex__FP10JKRArchiveUs.s delete mode 100644 asm/m_Do/m_Do_ext/mDoExt_setAraCacheSize__FUl.s delete mode 100644 asm/m_Do/m_Do_ext/modelCalc__14mDoExt_McaMorfFv.s delete mode 100644 asm/m_Do/m_Do_ext/modelCalc__15mDoExt_McaMorf2Fv.s delete mode 100644 asm/m_Do/m_Do_ext/modelCalc__16mDoExt_McaMorfSOFv.s delete mode 100644 asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat0_cFv.s delete mode 100644 asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat1_cFv.s delete mode 100644 asm/m_Do/m_Do_ext/stopZelAnime__15mDoExt_McaMorf2Fv.s delete mode 100644 asm/m_Do/m_Do_ext/stopZelAnime__16mDoExt_McaMorfSOFv.s delete mode 100644 asm/m_Do/m_Do_ext/updateDL__16mDoExt_McaMorfSOFv.s delete mode 100644 asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Delete__FP10b_go_class.s delete mode 100644 asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Draw__FP10b_go_class.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/__sinit_d_a_tag_TWgate_cpp.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Delete__FP13daTagTWGate_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Draw__FP13daTagTWGate_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/downloadModels__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeWait__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone1__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone3__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral1__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral3__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin1__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin3__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail1__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail3__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initTalk__13daTagTWGate_cFiPP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initWait__13daTagTWGate_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Delete__FP12daTagMagne_c.s diff --git a/Progress.md b/Progress.md index 8b6a227cc8..fc8be3633d 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 91.849662% | 8700 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 16.039620% | 576872 | 3596544 +.text | 16.356925% | 588284 | 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 | 24.877135% | 1000228 | 4020672 +Total | 25.160968% | 1011640 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 24.877135% | 1000228 | 4020672 -RELs | 33.183726% | 3816236 | 11500324 -Total | 31.031926% | 4816464 | 15520996 +main.dol | 25.160968% | 1011640 | 4020672 +RELs | 33.217047% | 3820068 | 11500324 +Total | 31.130141% | 4831708 | 15520996 ## RELs @@ -113,7 +113,7 @@ d_a_tag_hinit | 55.555556% | 800 | 1440 d_a_tag_camera | 37.023593% | 1632 | 4408 d_a_tag_statue_evt | 38.427948% | 2816 | 7328 d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 -d_a_tag_TWgate | 35.434031% | 6972 | 19676 +d_a_tag_TWgate | 53.384834% | 10504 | 19676 d_a_tag_smk_emt | 50.127226% | 788 | 1572 d_a_tag_csw | 35.869565% | 3696 | 10304 d_a_tag_evt | 37.815126% | 1620 | 4284 @@ -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 | 93.103448% | 864 | 928 +d_a_tag_magne | 100.000000% | 928 | 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 @@ -770,7 +770,7 @@ d_a_b_dre | 27.912731% | 4964 | 17784 d_a_b_yo | 25.613486% | 14404 | 56236 d_a_b_gnd | 25.489573% | 19264 | 75576 d_a_b_oh | 32.611348% | 4276 | 13112 -d_a_b_go | 40.906190% | 2564 | 6268 +d_a_b_go | 44.671347% | 2800 | 6268 d_a_b_zant_magic | 42.453480% | 2464 | 5804 d_a_b_tn | 24.850960% | 21176 | 85212 d_a_b_mgn | 26.103833% | 15064 | 57708 @@ -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.183726% | 3816236 | 11500324 +Total | 33.217047% | 3820068 | 11500324 diff --git a/asm/JSystem/J3DGraphAnimator/J3DModel/calcMaterial__8J3DModelFv.s b/asm/JSystem/J3DGraphAnimator/J3DModel/calcMaterial__8J3DModelFv.s deleted file mode 100644 index 9a1f008e20..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DModel/calcMaterial__8J3DModelFv.s +++ /dev/null @@ -1,103 +0,0 @@ -lbl_803276EC: -/* 803276EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803276F0 7C 08 02 A6 */ mflr r0 -/* 803276F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 803276F8 39 61 00 20 */ addi r11, r1, 0x20 -/* 803276FC 48 03 AA D5 */ bl _savegpr_26 -/* 80327700 7C 7D 1B 78 */ mr r29, r3 -/* 80327704 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80327708 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8032770C 93 A3 00 38 */ stw r29, 0x38(r3) -/* 80327710 80 1D 00 08 */ lwz r0, 8(r29) -/* 80327714 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80327718 41 82 00 14 */ beq lbl_8032772C -/* 8032771C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80327720 60 00 00 04 */ ori r0, r0, 4 -/* 80327724 90 03 00 34 */ stw r0, 0x34(r3) -/* 80327728 48 00 00 10 */ b lbl_80327738 -lbl_8032772C: -/* 8032772C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80327730 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 80327734 90 03 00 34 */ stw r0, 0x34(r3) -lbl_80327738: -/* 80327738 80 1D 00 08 */ lwz r0, 8(r29) -/* 8032773C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80327740 41 82 00 1C */ beq lbl_8032775C -/* 80327744 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80327748 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8032774C 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80327750 60 00 00 08 */ ori r0, r0, 8 -/* 80327754 90 03 00 34 */ stw r0, 0x34(r3) -/* 80327758 48 00 00 18 */ b lbl_80327770 -lbl_8032775C: -/* 8032775C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80327760 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80327764 80 03 00 34 */ lwz r0, 0x34(r3) -/* 80327768 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 8032776C 90 03 00 34 */ stw r0, 0x34(r3) -lbl_80327770: -/* 80327770 80 7D 00 04 */ lwz r3, 4(r29) -/* 80327774 4B FF E9 85 */ bl syncJ3DSysFlags__12J3DModelDataCFv -/* 80327778 80 9D 00 04 */ lwz r4, 4(r29) -/* 8032777C 80 04 00 6C */ lwz r0, 0x6c(r4) -/* 80327780 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80327784 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80327788 90 1F 00 58 */ stw r0, 0x58(r31) -/* 8032778C A3 84 00 5C */ lhz r28, 0x5c(r4) -/* 80327790 3B C0 00 00 */ li r30, 0 -/* 80327794 3F 60 C0 00 */ lis r27, 0xc000 -/* 80327798 48 00 00 9C */ b lbl_80327834 -lbl_8032779C: -/* 8032779C 80 7D 00 C0 */ lwz r3, 0xc0(r29) -/* 803277A0 57 C0 32 B2 */ rlwinm r0, r30, 6, 0xa, 0x19 -/* 803277A4 7C 03 02 14 */ add r0, r3, r0 -/* 803277A8 90 1F 00 3C */ stw r0, 0x3c(r31) -/* 803277AC 80 7D 00 04 */ lwz r3, 4(r29) -/* 803277B0 80 63 00 60 */ lwz r3, 0x60(r3) -/* 803277B4 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d -/* 803277B8 7F 43 00 2E */ lwzx r26, r3, r0 -/* 803277BC 80 7A 00 3C */ lwz r3, 0x3c(r26) -/* 803277C0 7C 03 D8 40 */ cmplw r3, r27 -/* 803277C4 40 80 00 0C */ bge lbl_803277D0 -/* 803277C8 7C 60 1B 78 */ mr r0, r3 -/* 803277CC 48 00 00 08 */ b lbl_803277D4 -lbl_803277D0: -/* 803277D0 38 00 00 00 */ li r0, 0 -lbl_803277D4: -/* 803277D4 28 00 00 00 */ cmplwi r0, 0 -/* 803277D8 41 82 00 2C */ beq lbl_80327804 -/* 803277DC 3C 00 C0 00 */ lis r0, 0xc000 -/* 803277E0 7C 03 00 40 */ cmplw r3, r0 -/* 803277E4 40 80 00 08 */ bge lbl_803277EC -/* 803277E8 48 00 00 08 */ b lbl_803277F0 -lbl_803277EC: -/* 803277EC 38 60 00 00 */ li r3, 0 -lbl_803277F0: -/* 803277F0 7F 44 D3 78 */ mr r4, r26 -/* 803277F4 81 83 00 00 */ lwz r12, 0(r3) -/* 803277F8 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 803277FC 7D 89 03 A6 */ mtctr r12 -/* 80327800 4E 80 04 21 */ bctrl -lbl_80327804: -/* 80327804 80 7A 00 0C */ lwz r3, 0xc(r26) -/* 80327808 A0 03 00 14 */ lhz r0, 0x14(r3) -/* 8032780C 80 7D 00 84 */ lwz r3, 0x84(r29) -/* 80327810 80 63 00 0C */ lwz r3, 0xc(r3) -/* 80327814 1C 00 00 30 */ mulli r0, r0, 0x30 -/* 80327818 7C 83 02 14 */ add r4, r3, r0 -/* 8032781C 7F 43 D3 78 */ mr r3, r26 -/* 80327820 81 9A 00 00 */ lwz r12, 0(r26) -/* 80327824 81 8C 00 08 */ lwz r12, 8(r12) -/* 80327828 7D 89 03 A6 */ mtctr r12 -/* 8032782C 4E 80 04 21 */ bctrl -/* 80327830 3B DE 00 01 */ addi r30, r30, 1 -lbl_80327834: -/* 80327834 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 80327838 7C 00 E0 40 */ cmplw r0, r28 -/* 8032783C 41 80 FF 60 */ blt lbl_8032779C -/* 80327840 39 61 00 20 */ addi r11, r1, 0x20 -/* 80327844 48 03 A9 D9 */ bl _restgpr_26 -/* 80327848 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032784C 7C 08 03 A6 */ mtlr r0 -/* 80327850 38 21 00 20 */ addi r1, r1, 0x20 -/* 80327854 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DModel/lock__8J3DModelFv.s b/asm/JSystem/J3DGraphAnimator/J3DModel/lock__8J3DModelFv.s deleted file mode 100644 index 508d13b748..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DModel/lock__8J3DModelFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8032767C: -/* 8032767C 80 83 00 04 */ lwz r4, 4(r3) -/* 80327680 A0 04 00 5C */ lhz r0, 0x5c(r4) -/* 80327684 38 80 00 00 */ li r4, 0 -/* 80327688 7C 09 03 A6 */ mtctr r0 -/* 8032768C 2C 00 00 00 */ cmpwi r0, 0 -/* 80327690 4C 81 00 20 */ blelr -lbl_80327694: -/* 80327694 80 C3 00 C0 */ lwz r6, 0xc0(r3) -/* 80327698 38 A4 00 10 */ addi r5, r4, 0x10 -/* 8032769C 7C 06 28 2E */ lwzx r0, r6, r5 -/* 803276A0 60 00 00 01 */ ori r0, r0, 1 -/* 803276A4 7C 06 29 2E */ stwx r0, r6, r5 -/* 803276A8 38 84 00 40 */ addi r4, r4, 0x40 -/* 803276AC 42 00 FF E8 */ bdnz lbl_80327694 -/* 803276B0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DModel/unlock__8J3DModelFv.s b/asm/JSystem/J3DGraphAnimator/J3DModel/unlock__8J3DModelFv.s deleted file mode 100644 index 68e3af5b89..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DModel/unlock__8J3DModelFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_803276B4: -/* 803276B4 80 83 00 04 */ lwz r4, 4(r3) -/* 803276B8 A0 04 00 5C */ lhz r0, 0x5c(r4) -/* 803276BC 38 80 00 00 */ li r4, 0 -/* 803276C0 7C 09 03 A6 */ mtctr r0 -/* 803276C4 2C 00 00 00 */ cmpwi r0, 0 -/* 803276C8 4C 81 00 20 */ blelr -lbl_803276CC: -/* 803276CC 80 C3 00 C0 */ lwz r6, 0xc0(r3) -/* 803276D0 38 A4 00 10 */ addi r5, r4, 0x10 -/* 803276D4 7C 06 28 2E */ lwzx r0, r6, r5 -/* 803276D8 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 803276DC 7C 06 29 2E */ stwx r0, r6, r5 -/* 803276E0 38 84 00 40 */ addi r4, r4, 0x40 -/* 803276E4 42 00 FF E8 */ bdnz lbl_803276CC -/* 803276E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DModel/viewCalc__8J3DModelFv.s b/asm/JSystem/J3DGraphAnimator/J3DModel/viewCalc__8J3DModelFv.s deleted file mode 100644 index 5f7a917b5b..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DModel/viewCalc__8J3DModelFv.s +++ /dev/null @@ -1,155 +0,0 @@ -lbl_80327F40: -/* 80327F40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80327F44 7C 08 02 A6 */ mflr r0 -/* 80327F48 90 01 00 14 */ stw r0, 0x14(r1) -/* 80327F4C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80327F50 7C 7F 1B 78 */ mr r31, r3 -/* 80327F54 80 C3 00 84 */ lwz r6, 0x84(r3) -/* 80327F58 80 86 00 14 */ lwz r4, 0x14(r6) -/* 80327F5C 80 06 00 30 */ lwz r0, 0x30(r6) -/* 80327F60 54 07 10 3A */ slwi r7, r0, 2 -/* 80327F64 7C A4 38 2E */ lwzx r5, r4, r7 -/* 80327F68 80 66 00 18 */ lwz r3, 0x18(r6) -/* 80327F6C 7C 03 38 2E */ lwzx r0, r3, r7 -/* 80327F70 7C 04 39 2E */ stwx r0, r4, r7 -/* 80327F74 80 66 00 18 */ lwz r3, 0x18(r6) -/* 80327F78 80 06 00 30 */ lwz r0, 0x30(r6) -/* 80327F7C 54 00 10 3A */ slwi r0, r0, 2 -/* 80327F80 7C A3 01 2E */ stwx r5, r3, r0 -/* 80327F84 80 DF 00 84 */ lwz r6, 0x84(r31) -/* 80327F88 80 86 00 1C */ lwz r4, 0x1c(r6) -/* 80327F8C 80 06 00 30 */ lwz r0, 0x30(r6) -/* 80327F90 54 07 10 3A */ slwi r7, r0, 2 -/* 80327F94 7C A4 38 2E */ lwzx r5, r4, r7 -/* 80327F98 80 66 00 20 */ lwz r3, 0x20(r6) -/* 80327F9C 7C 03 38 2E */ lwzx r0, r3, r7 -/* 80327FA0 7C 04 39 2E */ stwx r0, r4, r7 -/* 80327FA4 80 66 00 20 */ lwz r3, 0x20(r6) -/* 80327FA8 80 06 00 30 */ lwz r0, 0x30(r6) -/* 80327FAC 54 00 10 3A */ slwi r0, r0, 2 -/* 80327FB0 7C A3 01 2E */ stwx r5, r3, r0 -/* 80327FB4 80 7F 00 04 */ lwz r3, 4(r31) -/* 80327FB8 80 03 00 08 */ lwz r0, 8(r3) -/* 80327FBC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 80327FC0 41 82 00 30 */ beq lbl_80327FF0 -/* 80327FC4 80 1F 00 08 */ lwz r0, 8(r31) -/* 80327FC8 54 00 07 BE */ clrlwi r0, r0, 0x1e -/* 80327FCC 28 00 00 02 */ cmplwi r0, 2 -/* 80327FD0 40 82 01 A4 */ bne lbl_80328174 -/* 80327FD4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80327FD8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80327FDC 38 9F 00 18 */ addi r4, r31, 0x18 -/* 80327FE0 38 BF 00 24 */ addi r5, r31, 0x24 -/* 80327FE4 38 DF 00 54 */ addi r6, r31, 0x54 -/* 80327FE8 4B FF F0 61 */ bl J3DCalcViewBaseMtx__FPA4_fRC3VecRA3_A4_CfPA4_f -/* 80327FEC 48 00 01 88 */ b lbl_80328174 -lbl_80327FF0: -/* 80327FF0 38 60 00 00 */ li r3, 0 -/* 80327FF4 80 9F 00 08 */ lwz r4, 8(r31) -/* 80327FF8 54 85 07 7B */ rlwinm. r5, r4, 0, 0x1d, 0x1d -/* 80327FFC 41 82 00 10 */ beq lbl_8032800C -/* 80328000 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c -/* 80328004 41 82 00 08 */ beq lbl_8032800C -/* 80328008 38 60 00 01 */ li r3, 1 -lbl_8032800C: -/* 8032800C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80328010 41 82 00 2C */ beq lbl_8032803C -/* 80328014 54 80 07 BE */ clrlwi r0, r4, 0x1e -/* 80328018 28 00 00 02 */ cmplwi r0, 2 -/* 8032801C 40 82 01 58 */ bne lbl_80328174 -/* 80328020 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80328024 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80328028 38 9F 00 18 */ addi r4, r31, 0x18 -/* 8032802C 38 BF 00 24 */ addi r5, r31, 0x24 -/* 80328030 38 DF 00 54 */ addi r6, r31, 0x54 -/* 80328034 4B FF F0 15 */ bl J3DCalcViewBaseMtx__FPA4_fRC3VecRA3_A4_CfPA4_f -/* 80328038 48 00 01 3C */ b lbl_80328174 -lbl_8032803C: -/* 8032803C 28 05 00 00 */ cmplwi r5, 0 -/* 80328040 41 82 00 74 */ beq lbl_803280B4 -/* 80328044 80 7F 00 84 */ lwz r3, 0x84(r31) -/* 80328048 54 84 07 BE */ clrlwi r4, r4, 0x1e -/* 8032804C 38 BF 00 18 */ addi r5, r31, 0x18 -/* 80328050 38 DF 00 24 */ addi r6, r31, 0x24 -/* 80328054 4B FF EA 79 */ bl calcDrawMtx__12J3DMtxBufferFUlRC3VecRA3_A4_Cf -/* 80328058 7F E3 FB 78 */ mr r3, r31 -/* 8032805C 48 00 01 35 */ bl calcNrmMtx__8J3DModelFv -/* 80328060 7F E3 FB 78 */ mr r3, r31 -/* 80328064 48 00 01 51 */ bl calcBumpMtx__8J3DModelFv -/* 80328068 80 7F 00 04 */ lwz r3, 4(r31) -/* 8032806C A0 83 00 44 */ lhz r4, 0x44(r3) -/* 80328070 80 BF 00 84 */ lwz r5, 0x84(r31) -/* 80328074 80 65 00 18 */ lwz r3, 0x18(r5) -/* 80328078 80 05 00 30 */ lwz r0, 0x30(r5) -/* 8032807C 54 00 10 3A */ slwi r0, r0, 2 -/* 80328080 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80328084 1C 84 00 30 */ mulli r4, r4, 0x30 -/* 80328088 48 01 35 B1 */ bl DCStoreRangeNoSync -/* 8032808C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80328090 A0 83 00 44 */ lhz r4, 0x44(r3) -/* 80328094 80 BF 00 84 */ lwz r5, 0x84(r31) -/* 80328098 80 65 00 20 */ lwz r3, 0x20(r5) -/* 8032809C 80 05 00 30 */ lwz r0, 0x30(r5) -/* 803280A0 54 00 10 3A */ slwi r0, r0, 2 -/* 803280A4 7C 63 00 2E */ lwzx r3, r3, r0 -/* 803280A8 1C 84 00 24 */ mulli r4, r4, 0x24 -/* 803280AC 48 01 35 31 */ bl DCStoreRange -/* 803280B0 48 00 00 C4 */ b lbl_80328174 -lbl_803280B4: -/* 803280B4 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c -/* 803280B8 41 82 00 48 */ beq lbl_80328100 -/* 803280BC 80 7F 00 84 */ lwz r3, 0x84(r31) -/* 803280C0 54 84 07 BE */ clrlwi r4, r4, 0x1e -/* 803280C4 38 BF 00 18 */ addi r5, r31, 0x18 -/* 803280C8 38 DF 00 24 */ addi r6, r31, 0x24 -/* 803280CC 4B FF EA 01 */ bl calcDrawMtx__12J3DMtxBufferFUlRC3VecRA3_A4_Cf -/* 803280D0 7F E3 FB 78 */ mr r3, r31 -/* 803280D4 48 00 01 E5 */ bl calcBBoardMtx__8J3DModelFv -/* 803280D8 80 7F 00 04 */ lwz r3, 4(r31) -/* 803280DC A0 83 00 44 */ lhz r4, 0x44(r3) -/* 803280E0 80 BF 00 84 */ lwz r5, 0x84(r31) -/* 803280E4 80 65 00 18 */ lwz r3, 0x18(r5) -/* 803280E8 80 05 00 30 */ lwz r0, 0x30(r5) -/* 803280EC 54 00 10 3A */ slwi r0, r0, 2 -/* 803280F0 7C 63 00 2E */ lwzx r3, r3, r0 -/* 803280F4 1C 84 00 30 */ mulli r4, r4, 0x30 -/* 803280F8 48 01 34 E5 */ bl DCStoreRange -/* 803280FC 48 00 00 78 */ b lbl_80328174 -lbl_80328100: -/* 80328100 80 7F 00 84 */ lwz r3, 0x84(r31) -/* 80328104 54 84 07 BE */ clrlwi r4, r4, 0x1e -/* 80328108 38 BF 00 18 */ addi r5, r31, 0x18 -/* 8032810C 38 DF 00 24 */ addi r6, r31, 0x24 -/* 80328110 4B FF E9 BD */ bl calcDrawMtx__12J3DMtxBufferFUlRC3VecRA3_A4_Cf -/* 80328114 7F E3 FB 78 */ mr r3, r31 -/* 80328118 48 00 00 79 */ bl calcNrmMtx__8J3DModelFv -/* 8032811C 7F E3 FB 78 */ mr r3, r31 -/* 80328120 48 00 01 99 */ bl calcBBoardMtx__8J3DModelFv -/* 80328124 7F E3 FB 78 */ mr r3, r31 -/* 80328128 48 00 00 8D */ bl calcBumpMtx__8J3DModelFv -/* 8032812C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80328130 A0 83 00 44 */ lhz r4, 0x44(r3) -/* 80328134 80 BF 00 84 */ lwz r5, 0x84(r31) -/* 80328138 80 65 00 18 */ lwz r3, 0x18(r5) -/* 8032813C 80 05 00 30 */ lwz r0, 0x30(r5) -/* 80328140 54 00 10 3A */ slwi r0, r0, 2 -/* 80328144 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80328148 1C 84 00 30 */ mulli r4, r4, 0x30 -/* 8032814C 48 01 34 ED */ bl DCStoreRangeNoSync -/* 80328150 80 7F 00 04 */ lwz r3, 4(r31) -/* 80328154 A0 83 00 44 */ lhz r4, 0x44(r3) -/* 80328158 80 BF 00 84 */ lwz r5, 0x84(r31) -/* 8032815C 80 65 00 20 */ lwz r3, 0x20(r5) -/* 80328160 80 05 00 30 */ lwz r0, 0x30(r5) -/* 80328164 54 00 10 3A */ slwi r0, r0, 2 -/* 80328168 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8032816C 1C 84 00 24 */ mulli r4, r4, 0x24 -/* 80328170 48 01 34 6D */ bl DCStoreRange -lbl_80328174: -/* 80328174 7F E3 FB 78 */ mr r3, r31 -/* 80328178 48 00 01 75 */ bl prepareShapePackets__8J3DModelFv -/* 8032817C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80328180 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80328184 7C 08 03 A6 */ mtlr r0 -/* 80328188 38 21 00 10 */ addi r1, r1, 0x10 -/* 8032818C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkAttentionPosAngle__9daAlink_cFP4cXyz.s b/asm/d/a/d_a_alink/checkAttentionPosAngle__9daAlink_cFP4cXyz.s deleted file mode 100644 index 3014d8651e..0000000000 --- a/asm/d/a/d_a_alink/checkAttentionPosAngle__9daAlink_cFP4cXyz.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800A07D8: -/* 800A07D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A07DC 7C 08 02 A6 */ mflr r0 -/* 800A07E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A07E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A07E8 93 C1 00 08 */ stw r30, 8(r1) -/* 800A07EC 7C 7E 1B 78 */ mr r30, r3 -/* 800A07F0 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800A07F4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800A07F8 41 82 00 0C */ beq lbl_800A0804 -/* 800A07FC 38 60 00 01 */ li r3, 1 -/* 800A0800 48 00 00 50 */ b lbl_800A0850 -lbl_800A0804: -/* 800A0804 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800A0808 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800A080C 40 82 00 10 */ bne lbl_800A081C -/* 800A0810 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800A0814 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800A0818 41 82 00 14 */ beq lbl_800A082C -lbl_800A081C: -/* 800A081C 3C 60 80 39 */ lis r3, m__19daAlinkHIO_horse_c0@ha /* 0x8038E5A4@ha */ -/* 800A0820 38 63 E5 A4 */ addi r3, r3, m__19daAlinkHIO_horse_c0@l /* 0x8038E5A4@l */ -/* 800A0824 AB E3 00 52 */ lha r31, 0x52(r3) -/* 800A0828 48 00 00 08 */ b lbl_800A0830 -lbl_800A082C: -/* 800A082C 3B E0 60 00 */ li r31, 0x6000 -lbl_800A0830: -/* 800A0830 38 7E 34 E0 */ addi r3, r30, 0x34e0 -/* 800A0834 48 1D 03 D1 */ bl cLib_targetAngleY__FPC3VecPC3Vec -/* 800A0838 A8 9E 2F E6 */ lha r4, 0x2fe6(r30) -/* 800A083C 48 1D 05 E9 */ bl cLib_distanceAngleS__Fss -/* 800A0840 7F E5 FE 70 */ srawi r5, r31, 0x1f -/* 800A0844 54 64 0F FE */ srwi r4, r3, 0x1f -/* 800A0848 7C 03 F8 10 */ subfc r0, r3, r31 -/* 800A084C 7C 65 21 14 */ adde r3, r5, r4 -lbl_800A0850: -/* 800A0850 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A0854 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A0858 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A085C 7C 08 03 A6 */ mtlr r0 -/* 800A0860 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A0864 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_modelCallBack__FP8J3DJointi.s b/asm/d/a/d_a_alink/daAlink_modelCallBack__FP8J3DJointi.s deleted file mode 100644 index 1bbfb15a3e..0000000000 --- a/asm/d/a/d_a_alink/daAlink_modelCallBack__FP8J3DJointi.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8009EC28: -/* 8009EC28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EC2C 7C 08 02 A6 */ mflr r0 -/* 8009EC30 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EC34 A0 A3 00 14 */ lhz r5, 0x14(r3) -/* 8009EC38 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8009EC3C 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8009EC40 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8009EC44 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8009EC48 2C 04 00 00 */ cmpwi r4, 0 -/* 8009EC4C 40 82 00 10 */ bne lbl_8009EC5C -/* 8009EC50 7C A4 2B 78 */ mr r4, r5 -/* 8009EC54 4B FF FF 05 */ bl modelCallBack__9daAlink_cFi -/* 8009EC58 48 00 00 34 */ b lbl_8009EC8C -lbl_8009EC5C: -/* 8009EC5C 2C 04 00 01 */ cmpwi r4, 1 -/* 8009EC60 40 82 00 2C */ bne lbl_8009EC8C -/* 8009EC64 38 80 00 00 */ li r4, 0 -/* 8009EC68 88 03 2F 90 */ lbz r0, 0x2f90(r3) -/* 8009EC6C 28 00 00 00 */ cmplwi r0, 0 -/* 8009EC70 41 82 00 10 */ beq lbl_8009EC80 -/* 8009EC74 2C 05 00 01 */ cmpwi r5, 1 -/* 8009EC78 40 82 00 08 */ bne lbl_8009EC80 -/* 8009EC7C 38 80 00 01 */ li r4, 1 -lbl_8009EC80: -/* 8009EC80 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 8009EC84 41 82 00 08 */ beq lbl_8009EC8C -/* 8009EC88 4B FF FE 91 */ bl resetRootMtx__9daAlink_cFv -lbl_8009EC8C: -/* 8009EC8C 38 60 00 01 */ li r3, 1 -/* 8009EC90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EC94 7C 08 03 A6 */ mtlr r0 -/* 8009EC98 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EC9C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchHawk__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchHawk__FP10fopAc_ac_cPv.s deleted file mode 100644 index 48281438d0..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchHawk__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80111770: -/* 80111770 A8 03 00 08 */ lha r0, 8(r3) -/* 80111774 2C 00 01 00 */ cmpwi r0, 0x100 -/* 80111778 4D 82 00 20 */ beqlr -/* 8011177C 38 60 00 00 */ li r3, 0 -/* 80111780 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchWhistle__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchWhistle__FP10fopAc_ac_cPv.s deleted file mode 100644 index 08f0fc833c..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchWhistle__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8011174C: -/* 8011174C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80111750 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80111754 80 84 5D B4 */ lwz r4, 0x5db4(r4) -/* 80111758 80 84 31 98 */ lwz r4, 0x3198(r4) -/* 8011175C A8 03 00 08 */ lha r0, 8(r3) -/* 80111760 7C 04 00 00 */ cmpw r4, r0 -/* 80111764 4D 82 00 20 */ beqlr -/* 80111768 38 60 00 00 */ li r3, 0 -/* 8011176C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initDemoModel__9daAlink_cFPP8J3DModelPCcUl.s b/asm/d/a/d_a_alink/initDemoModel__9daAlink_cFPP8J3DModelPCcUl.s deleted file mode 100644 index d9eb2807cf..0000000000 --- a/asm/d/a/d_a_alink/initDemoModel__9daAlink_cFPP8J3DModelPCcUl.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_800A3F00: -/* 800A3F00 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A3F04 7C 08 02 A6 */ mflr r0 -/* 800A3F08 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A3F0C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A3F10 48 2B E2 CD */ bl _savegpr_29 -/* 800A3F14 7C 7D 1B 78 */ mr r29, r3 -/* 800A3F18 7C 9E 23 78 */ mr r30, r4 -/* 800A3F1C 7C DF 33 78 */ mr r31, r6 -/* 800A3F20 38 00 00 00 */ li r0, 0 -/* 800A3F24 90 04 00 00 */ stw r0, 0(r4) -/* 800A3F28 3C 60 80 40 */ lis r3, mDemoArcName__20dStage_roomControl_c@ha /* 0x80406194@ha */ -/* 800A3F2C 38 63 61 94 */ addi r3, r3, mDemoArcName__20dStage_roomControl_c@l /* 0x80406194@l */ -/* 800A3F30 7C A4 2B 78 */ mr r4, r5 -/* 800A3F34 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A3F38 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A3F3C 3C A5 00 02 */ addis r5, r5, 2 -/* 800A3F40 38 C0 00 80 */ li r6, 0x80 -/* 800A3F44 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 800A3F48 4B F9 84 35 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 800A3F4C 7C 64 1B 79 */ or. r4, r3, r3 -/* 800A3F50 41 82 00 2C */ beq lbl_800A3F7C -/* 800A3F54 7F A3 EB 78 */ mr r3, r29 -/* 800A3F58 3C A0 00 08 */ lis r5, 8 -/* 800A3F5C 7F E6 FB 78 */ mr r6, r31 -/* 800A3F60 4B FF FE 1D */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 800A3F64 90 7E 00 00 */ stw r3, 0(r30) -/* 800A3F68 80 1E 00 00 */ lwz r0, 0(r30) -/* 800A3F6C 28 00 00 00 */ cmplwi r0, 0 -/* 800A3F70 40 82 00 0C */ bne lbl_800A3F7C -/* 800A3F74 38 60 00 00 */ li r3, 0 -/* 800A3F78 48 00 00 08 */ b lbl_800A3F80 -lbl_800A3F7C: -/* 800A3F7C 38 60 00 01 */ li r3, 1 -lbl_800A3F80: -/* 800A3F80 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A3F84 48 2B E2 A5 */ bl _restgpr_29 -/* 800A3F88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A3F8C 7C 08 03 A6 */ mtlr r0 -/* 800A3F90 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A3F94 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initModelEnv__9daAlink_cFUsUl.s b/asm/d/a/d_a_alink/initModelEnv__9daAlink_cFUsUl.s deleted file mode 100644 index 5d089979b4..0000000000 --- a/asm/d/a/d_a_alink/initModelEnv__9daAlink_cFUsUl.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800A3E98: -/* 800A3E98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A3E9C 7C 08 02 A6 */ mflr r0 -/* 800A3EA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A3EA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A3EA8 93 C1 00 08 */ stw r30, 8(r1) -/* 800A3EAC 7C 7E 1B 78 */ mr r30, r3 -/* 800A3EB0 7C BF 2B 78 */ mr r31, r5 -/* 800A3EB4 38 62 92 90 */ la r3, l_arcName(r2) /* 80452C90-_SDA2_BASE_ */ -/* 800A3EB8 54 84 04 3E */ clrlwi r4, r4, 0x10 -/* 800A3EBC 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A3EC0 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A3EC4 3C A5 00 02 */ addis r5, r5, 2 -/* 800A3EC8 38 C0 00 80 */ li r6, 0x80 -/* 800A3ECC 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 800A3ED0 4B F9 84 1D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 800A3ED4 7C 64 1B 78 */ mr r4, r3 -/* 800A3ED8 7F C3 F3 78 */ mr r3, r30 -/* 800A3EDC 38 A0 00 00 */ li r5, 0 -/* 800A3EE0 7F E6 FB 78 */ mr r6, r31 -/* 800A3EE4 4B FF FE 99 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 800A3EE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A3EEC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A3EF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A3EF4 7C 08 03 A6 */ mtlr r0 -/* 800A3EF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A3EFC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initModel__9daAlink_cFP12J3DModelDataUlUl.s b/asm/d/a/d_a_alink/initModel__9daAlink_cFP12J3DModelDataUlUl.s deleted file mode 100644 index 42f6025cd7..0000000000 --- a/asm/d/a/d_a_alink/initModel__9daAlink_cFP12J3DModelDataUlUl.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800A3D7C: -/* 800A3D7C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A3D80 7C 08 02 A6 */ mflr r0 -/* 800A3D84 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A3D88 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A3D8C 48 2B E4 4D */ bl _savegpr_28 -/* 800A3D90 7C 9C 23 78 */ mr r28, r4 -/* 800A3D94 7C BD 2B 78 */ mr r29, r5 -/* 800A3D98 7C DE 33 78 */ mr r30, r6 -/* 800A3D9C 80 A4 00 6C */ lwz r5, 0x6c(r4) -/* 800A3DA0 A0 85 00 00 */ lhz r4, 0(r5) -/* 800A3DA4 34 04 FF FF */ addic. r0, r4, -1 -/* 800A3DA8 3B E0 00 00 */ li r31, 0 -/* 800A3DAC 41 80 00 28 */ blt lbl_800A3DD4 -/* 800A3DB0 80 85 00 04 */ lwz r4, 4(r5) -/* 800A3DB4 54 00 2A F4 */ rlwinm r0, r0, 5, 0xb, 0x1a -/* 800A3DB8 7C 84 02 14 */ add r4, r4, r0 -/* 800A3DBC 80 63 07 C0 */ lwz r3, 0x7c0(r3) -/* 800A3DC0 80 04 00 1C */ lwz r0, 0x1c(r4) -/* 800A3DC4 7C 04 02 14 */ add r0, r4, r0 -/* 800A3DC8 7C 03 00 40 */ cmplw r3, r0 -/* 800A3DCC 40 82 00 08 */ bne lbl_800A3DD4 -/* 800A3DD0 3B E0 00 01 */ li r31, 1 -lbl_800A3DD4: -/* 800A3DD4 2C 1F 00 00 */ cmpwi r31, 0 -/* 800A3DD8 41 82 00 14 */ beq lbl_800A3DEC -/* 800A3DDC 7F 83 E3 78 */ mr r3, r28 -/* 800A3DE0 4B F9 6D 51 */ bl onWarpMaterial__11dRes_info_cFP12J3DModelData -/* 800A3DE4 67 DE 02 00 */ oris r30, r30, 0x200 -/* 800A3DE8 63 DE 04 00 */ ori r30, r30, 0x400 -lbl_800A3DEC: -/* 800A3DEC 7F 83 E3 78 */ mr r3, r28 -/* 800A3DF0 7F A4 EB 78 */ mr r4, r29 -/* 800A3DF4 67 C5 11 00 */ oris r5, r30, 0x1100 -/* 800A3DF8 60 A5 00 84 */ ori r5, r5, 0x84 -/* 800A3DFC 4B F7 0E 59 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 800A3E00 7C 7E 1B 78 */ mr r30, r3 -/* 800A3E04 2C 1F 00 00 */ cmpwi r31, 0 -/* 800A3E08 41 82 00 0C */ beq lbl_800A3E14 -/* 800A3E0C 7F 83 E3 78 */ mr r3, r28 -/* 800A3E10 4B F9 6E 0D */ bl offWarpMaterial__11dRes_info_cFP12J3DModelData -lbl_800A3E14: -/* 800A3E14 7F C3 F3 78 */ mr r3, r30 -/* 800A3E18 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A3E1C 48 2B E4 09 */ bl _restgpr_28 -/* 800A3E20 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A3E24 7C 08 03 A6 */ mtlr r0 -/* 800A3E28 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A3E2C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initModel__9daAlink_cFUsUl.s b/asm/d/a/d_a_alink/initModel__9daAlink_cFUsUl.s deleted file mode 100644 index ed49904491..0000000000 --- a/asm/d/a/d_a_alink/initModel__9daAlink_cFUsUl.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800A3E30: -/* 800A3E30 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A3E34 7C 08 02 A6 */ mflr r0 -/* 800A3E38 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A3E3C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A3E40 93 C1 00 08 */ stw r30, 8(r1) -/* 800A3E44 7C 7E 1B 78 */ mr r30, r3 -/* 800A3E48 7C BF 2B 78 */ mr r31, r5 -/* 800A3E4C 38 62 92 90 */ la r3, l_arcName(r2) /* 80452C90-_SDA2_BASE_ */ -/* 800A3E50 54 84 04 3E */ clrlwi r4, r4, 0x10 -/* 800A3E54 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A3E58 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A3E5C 3C A5 00 02 */ addis r5, r5, 2 -/* 800A3E60 38 C0 00 80 */ li r6, 0x80 -/* 800A3E64 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 800A3E68 4B F9 84 85 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 800A3E6C 7C 64 1B 78 */ mr r4, r3 -/* 800A3E70 7F C3 F3 78 */ mr r3, r30 -/* 800A3E74 3C A0 00 08 */ lis r5, 8 -/* 800A3E78 7F E6 FB 78 */ mr r6, r31 -/* 800A3E7C 4B FF FF 01 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 800A3E80 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A3E84 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A3E88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A3E8C 7C 08 03 A6 */ mtlr r0 -/* 800A3E90 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A3E94 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procGrassWhistleGet__9daAlink_cFv.s b/asm/d/a/d_a_alink/procGrassWhistleGet__9daAlink_cFv.s deleted file mode 100644 index 9c67b2f71f..0000000000 --- a/asm/d/a/d_a_alink/procGrassWhistleGet__9daAlink_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_801119D8: -/* 801119D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801119DC 7C 08 02 A6 */ mflr r0 -/* 801119E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801119E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801119E8 93 C1 00 08 */ stw r30, 8(r1) -/* 801119EC 7C 7E 1B 78 */ mr r30, r3 -/* 801119F0 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 801119F4 7F E3 FB 78 */ mr r3, r31 -/* 801119F8 48 04 CA D5 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 801119FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80111A00 41 82 00 24 */ beq lbl_80111A24 -/* 80111A04 7F C3 F3 78 */ mr r3, r30 -/* 80111A08 A8 9E 30 0C */ lha r4, 0x300c(r30) -/* 80111A0C A8 BE 30 0E */ lha r5, 0x300e(r30) -/* 80111A10 A8 DE 30 10 */ lha r6, 0x3010(r30) -/* 80111A14 A8 FE 30 12 */ lha r7, 0x3012(r30) -/* 80111A18 39 1E 37 C8 */ addi r8, r30, 0x37c8 -/* 80111A1C 48 00 00 81 */ bl procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz -/* 80111A20 48 00 00 60 */ b lbl_80111A80 -lbl_80111A24: -/* 80111A24 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 80111A28 28 00 00 FF */ cmplwi r0, 0xff -/* 80111A2C 40 82 00 54 */ bne lbl_80111A80 -/* 80111A30 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80111A34 C0 02 93 34 */ lfs f0, lit_7710(r2) -/* 80111A38 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80111A3C 4C 41 13 82 */ cror 2, 1, 2 -/* 80111A40 40 82 00 40 */ bne lbl_80111A80 -/* 80111A44 7F C3 F3 78 */ mr r3, r30 -/* 80111A48 A8 9E 30 0C */ lha r4, 0x300c(r30) -/* 80111A4C 4B FF FD 39 */ bl setGrassWhistleModel__9daAlink_cFi -/* 80111A50 80 7E 28 10 */ lwz r3, 0x2810(r30) -/* 80111A54 28 03 00 00 */ cmplwi r3, 0 -/* 80111A58 41 82 00 28 */ beq lbl_80111A80 -/* 80111A5C 38 80 00 00 */ li r4, 0 -/* 80111A60 4B F0 B0 E9 */ bl fopAcM_setCarryNow__FP10fopAc_ac_ci -/* 80111A64 7F C3 F3 78 */ mr r3, r30 -/* 80111A68 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020056@ha */ -/* 80111A6C 38 84 00 56 */ addi r4, r4, 0x0056 /* 0x00020056@l */ -/* 80111A70 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80111A74 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 80111A78 7D 89 03 A6 */ mtctr r12 -/* 80111A7C 4E 80 04 21 */ bctrl -lbl_80111A80: -/* 80111A80 38 60 00 01 */ li r3, 1 -/* 80111A84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80111A88 83 C1 00 08 */ lwz r30, 8(r1) -/* 80111A8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80111A90 7C 08 03 A6 */ mtlr r0 -/* 80111A94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80111A98 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setGrassWhistleModel__9daAlink_cFi.s b/asm/d/a/d_a_alink/setGrassWhistleModel__9daAlink_cFi.s deleted file mode 100644 index f1f58702e1..0000000000 --- a/asm/d/a/d_a_alink/setGrassWhistleModel__9daAlink_cFi.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80111784: -/* 80111784 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80111788 7C 08 02 A6 */ mflr r0 -/* 8011178C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80111790 39 61 00 20 */ addi r11, r1, 0x20 -/* 80111794 48 25 0A 49 */ bl _savegpr_29 -/* 80111798 7C 7D 1B 78 */ mr r29, r3 -/* 8011179C 7C 9E 23 78 */ mr r30, r4 -/* 801117A0 4B F9 24 ED */ bl setItemHeap__9daAlink_cFv -/* 801117A4 7C 7F 1B 78 */ mr r31, r3 -/* 801117A8 57 C0 10 3A */ slwi r0, r30, 2 -/* 801117AC 38 6D 81 1C */ la r3, grassWhistleArcName(r13) /* 8045069C-_SDA_BASE_ */ -/* 801117B0 7C 63 00 2E */ lwzx r3, r3, r0 -/* 801117B4 57 C0 08 3C */ slwi r0, r30, 1 -/* 801117B8 38 82 96 20 */ la r4, grassWhistleIdx(r2) /* 80453020-_SDA2_BASE_ */ -/* 801117BC 7C 84 02 2E */ lhzx r4, r4, r0 -/* 801117C0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801117C4 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801117C8 3C A5 00 02 */ addis r5, r5, 2 -/* 801117CC 38 C0 00 80 */ li r6, 0x80 -/* 801117D0 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 801117D4 4B F2 AB 19 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 801117D8 3C 80 00 08 */ lis r4, 8 -/* 801117DC 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 801117E0 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 801117E4 4B F0 34 71 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 801117E8 90 7D 07 08 */ stw r3, 0x708(r29) -/* 801117EC 7F E3 FB 78 */ mr r3, r31 -/* 801117F0 4B EF D9 DD */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 801117F4 38 00 01 04 */ li r0, 0x104 -/* 801117F8 B0 1D 2F DC */ sth r0, 0x2fdc(r29) -/* 801117FC 38 00 00 02 */ li r0, 2 -/* 80111800 98 1D 2F 94 */ stb r0, 0x2f94(r29) -/* 80111804 39 61 00 20 */ addi r11, r1, 0x20 -/* 80111808 48 25 0A 21 */ bl _restgpr_29 -/* 8011180C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80111810 7C 08 03 A6 */ mtlr r0 -/* 80111814 38 21 00 20 */ addi r1, r1, 0x20 -/* 80111818 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setHorseWhistleModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/setHorseWhistleModel__9daAlink_cFv.s deleted file mode 100644 index 4300901177..0000000000 --- a/asm/d/a/d_a_alink/setHorseWhistleModel__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8011181C: -/* 8011181C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80111820 7C 08 02 A6 */ mflr r0 -/* 80111824 90 01 00 14 */ stw r0, 0x14(r1) -/* 80111828 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011182C 93 C1 00 08 */ stw r30, 8(r1) -/* 80111830 7C 7E 1B 78 */ mr r30, r3 -/* 80111834 4B F9 24 59 */ bl setItemHeap__9daAlink_cFv -/* 80111838 7C 7F 1B 78 */ mr r31, r3 -/* 8011183C 7F C3 F3 78 */ mr r3, r30 -/* 80111840 38 80 03 1A */ li r4, 0x31a -/* 80111844 38 A0 30 00 */ li r5, 0x3000 -/* 80111848 4B FA E6 01 */ bl loadAramBmd__9daAlink_cFUsUl -/* 8011184C 7C 64 1B 78 */ mr r4, r3 -/* 80111850 7F C3 F3 78 */ mr r3, r30 -/* 80111854 3C A0 00 08 */ lis r5, 8 -/* 80111858 38 C0 00 00 */ li r6, 0 -/* 8011185C 4B F9 25 21 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 80111860 90 7E 07 08 */ stw r3, 0x708(r30) -/* 80111864 7F E3 FB 78 */ mr r3, r31 -/* 80111868 4B EF D9 65 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 8011186C 38 00 00 84 */ li r0, 0x84 -/* 80111870 B0 1E 2F DC */ sth r0, 0x2fdc(r30) -/* 80111874 38 00 00 02 */ li r0, 2 -/* 80111878 98 1E 2F 94 */ stb r0, 0x2f94(r30) -/* 8011187C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80111880 83 C1 00 08 */ lwz r30, 8(r1) -/* 80111884 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80111888 7C 08 03 A6 */ mtlr r0 -/* 8011188C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80111890 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setLookPosFromOut__9daAlink_cFP4cXyz.s b/asm/d/a/d_a_alink/setLookPosFromOut__9daAlink_cFP4cXyz.s deleted file mode 100644 index 4f6e86db19..0000000000 --- a/asm/d/a/d_a_alink/setLookPosFromOut__9daAlink_cFP4cXyz.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800A0744: -/* 800A0744 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A0748 7C 08 02 A6 */ mflr r0 -/* 800A074C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A0750 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800A0754 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800A0758 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A075C 93 C1 00 08 */ stw r30, 8(r1) -/* 800A0760 7C 7E 1B 78 */ mr r30, r3 -/* 800A0764 7C 9F 23 78 */ mr r31, r4 -/* 800A0768 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800A076C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800A0770 41 82 00 24 */ beq lbl_800A0794 -/* 800A0774 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 800A0778 48 2A 6C 25 */ bl PSVECSquareDistance -/* 800A077C FF E0 08 90 */ fmr f31, f1 -/* 800A0780 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 800A0784 38 9E 35 7C */ addi r4, r30, 0x357c -/* 800A0788 48 2A 6C 15 */ bl PSVECSquareDistance -/* 800A078C FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 800A0790 41 80 00 28 */ blt lbl_800A07B8 -lbl_800A0794: -/* 800A0794 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800A0798 60 00 00 04 */ ori r0, r0, 4 -/* 800A079C 90 1E 05 88 */ stw r0, 0x588(r30) -/* 800A07A0 C0 1F 00 00 */ lfs f0, 0(r31) -/* 800A07A4 D0 1E 35 7C */ stfs f0, 0x357c(r30) -/* 800A07A8 C0 1F 00 04 */ lfs f0, 4(r31) -/* 800A07AC D0 1E 35 80 */ stfs f0, 0x3580(r30) -/* 800A07B0 C0 1F 00 08 */ lfs f0, 8(r31) -/* 800A07B4 D0 1E 35 84 */ stfs f0, 0x3584(r30) -lbl_800A07B8: -/* 800A07B8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800A07BC CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800A07C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A07C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A07C8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A07CC 7C 08 03 A6 */ mtlr r0 -/* 800A07D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A07D4 4E 80 00 20 */ blr diff --git a/asm/d/d_path/dPath_GetNextRoomPath__FPC5dPathi.s b/asm/d/d_path/dPath_GetNextRoomPath__FPC5dPathi.s deleted file mode 100644 index 7b27a59bcb..0000000000 --- a/asm/d/d_path/dPath_GetNextRoomPath__FPC5dPathi.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_80051898: -/* 80051898 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8005189C 7C 08 02 A6 */ mflr r0 -/* 800518A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800518A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800518A8 7C 7F 1B 78 */ mr r31, r3 -/* 800518AC 2C 04 FF FF */ cmpwi r4, -1 -/* 800518B0 40 82 00 20 */ bne lbl_800518D0 -/* 800518B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800518B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800518BC 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800518C0 81 8C 00 E4 */ lwz r12, 0xe4(r12) -/* 800518C4 7D 89 03 A6 */ mtctr r12 -/* 800518C8 4E 80 04 21 */ bctrl -/* 800518CC 48 00 00 34 */ b lbl_80051900 -lbl_800518D0: -/* 800518D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800518D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800518D8 38 63 4E C4 */ addi r3, r3, 0x4ec4 -/* 800518DC 4B FD 2A A9 */ bl getStatusRoomDt__20dStage_roomControl_cFi -/* 800518E0 28 03 00 00 */ cmplwi r3, 0 -/* 800518E4 40 82 00 0C */ bne lbl_800518F0 -/* 800518E8 38 60 00 00 */ li r3, 0 -/* 800518EC 48 00 00 5C */ b lbl_80051948 -lbl_800518F0: -/* 800518F0 81 83 00 00 */ lwz r12, 0(r3) -/* 800518F4 81 8C 00 E4 */ lwz r12, 0xe4(r12) -/* 800518F8 7D 89 03 A6 */ mtctr r12 -/* 800518FC 4E 80 04 21 */ bctrl -lbl_80051900: -/* 80051900 A0 9F 00 02 */ lhz r4, 2(r31) -/* 80051904 28 03 00 00 */ cmplwi r3, 0 -/* 80051908 41 82 00 10 */ beq lbl_80051918 -/* 8005190C 3C 04 00 00 */ addis r0, r4, 0 -/* 80051910 28 00 FF FF */ cmplwi r0, 0xffff -/* 80051914 40 82 00 0C */ bne lbl_80051920 -lbl_80051918: -/* 80051918 38 60 00 00 */ li r3, 0 -/* 8005191C 48 00 00 2C */ b lbl_80051948 -lbl_80051920: -/* 80051920 2C 04 00 00 */ cmpwi r4, 0 -/* 80051924 41 80 00 10 */ blt lbl_80051934 -/* 80051928 80 03 00 00 */ lwz r0, 0(r3) -/* 8005192C 7C 04 00 00 */ cmpw r4, r0 -/* 80051930 41 80 00 0C */ blt lbl_8005193C -lbl_80051934: -/* 80051934 38 60 00 00 */ li r3, 0 -/* 80051938 48 00 00 10 */ b lbl_80051948 -lbl_8005193C: -/* 8005193C 80 63 00 04 */ lwz r3, 4(r3) -/* 80051940 1C 04 00 0C */ mulli r0, r4, 0xc -/* 80051944 7C 63 02 14 */ add r3, r3, r0 -lbl_80051948: -/* 80051948 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8005194C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80051950 7C 08 03 A6 */ mtlr r0 -/* 80051954 38 21 00 10 */ addi r1, r1, 0x10 -/* 80051958 4E 80 00 20 */ blr diff --git a/asm/d/d_path/dPath_GetPnt__FPC5dPathi.s b/asm/d/d_path/dPath_GetPnt__FPC5dPathi.s deleted file mode 100644 index 7f3b857b4a..0000000000 --- a/asm/d/d_path/dPath_GetPnt__FPC5dPathi.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800517B0: -/* 800517B0 28 03 00 00 */ cmplwi r3, 0 -/* 800517B4 41 82 00 24 */ beq lbl_800517D8 -/* 800517B8 80 A3 00 08 */ lwz r5, 8(r3) -/* 800517BC 28 05 00 00 */ cmplwi r5, 0 -/* 800517C0 41 82 00 18 */ beq lbl_800517D8 -/* 800517C4 2C 04 00 00 */ cmpwi r4, 0 -/* 800517C8 41 80 00 10 */ blt lbl_800517D8 -/* 800517CC A0 03 00 00 */ lhz r0, 0(r3) -/* 800517D0 7C 04 00 00 */ cmpw r4, r0 -/* 800517D4 41 80 00 0C */ blt lbl_800517E0 -lbl_800517D8: -/* 800517D8 38 60 00 00 */ li r3, 0 -/* 800517DC 4E 80 00 20 */ blr -lbl_800517E0: -/* 800517E0 54 80 20 36 */ slwi r0, r4, 4 -/* 800517E4 7C 65 02 14 */ add r3, r5, r0 -/* 800517E8 4E 80 00 20 */ blr diff --git a/asm/d/d_path/dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi.s b/asm/d/d_path/dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi.s deleted file mode 100644 index 9d174e8afd..0000000000 --- a/asm/d/d_path/dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi.s +++ /dev/null @@ -1,98 +0,0 @@ -lbl_8005195C: -/* 8005195C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80051960 7C 08 02 A6 */ mflr r0 -/* 80051964 90 01 00 24 */ stw r0, 0x24(r1) -/* 80051968 39 61 00 20 */ addi r11, r1, 0x20 -/* 8005196C 48 31 08 65 */ bl _savegpr_26 -/* 80051970 7C 7A 1B 78 */ mr r26, r3 -/* 80051974 7C 9E 23 78 */ mr r30, r4 -/* 80051978 7C BF 2B 78 */ mr r31, r5 -/* 8005197C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80051980 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80051984 3B 83 0F 38 */ addi r28, r3, 0xf38 -/* 80051988 7F 83 E3 78 */ mr r3, r28 -/* 8005198C 7F 44 D3 78 */ mr r4, r26 -/* 80051990 48 02 37 71 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 80051994 7C 7B 1B 78 */ mr r27, r3 -/* 80051998 7F 83 E3 78 */ mr r3, r28 -/* 8005199C 7F 44 D3 78 */ mr r4, r26 -/* 800519A0 48 02 36 41 */ bl GetRoomPathId__4dBgSFRC13cBgS_PolyInfo -/* 800519A4 C0 02 86 00 */ lfs f0, lit_3685(r2) -/* 800519A8 D0 1E 00 00 */ stfs f0, 0(r30) -/* 800519AC D0 1E 00 04 */ stfs f0, 4(r30) -/* 800519B0 D0 1E 00 08 */ stfs f0, 8(r30) -/* 800519B4 38 00 00 00 */ li r0, 0 -/* 800519B8 90 1F 00 00 */ stw r0, 0(r31) -/* 800519BC 2C 1B FF FF */ cmpwi r27, -1 -/* 800519C0 40 82 00 0C */ bne lbl_800519CC -/* 800519C4 38 60 00 00 */ li r3, 0 -/* 800519C8 48 00 00 E0 */ b lbl_80051AA8 -lbl_800519CC: -/* 800519CC 7F 64 DB 78 */ mr r4, r27 -/* 800519D0 4B FF FE 1D */ bl dPath_GetRoomPath__Fii -/* 800519D4 7C 7D 1B 79 */ or. r29, r3, r3 -/* 800519D8 40 82 00 0C */ bne lbl_800519E4 -/* 800519DC 38 60 00 00 */ li r3, 0 -/* 800519E0 48 00 00 C8 */ b lbl_80051AA8 -lbl_800519E4: -/* 800519E4 88 9D 00 06 */ lbz r4, 6(r29) -/* 800519E8 28 04 00 FF */ cmplwi r4, 0xff -/* 800519EC 41 82 00 24 */ beq lbl_80051A10 -/* 800519F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800519F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800519F8 7F 65 DB 78 */ mr r5, r27 -/* 800519FC 4B FE 39 65 */ bl isSwitch__10dSv_info_cCFii -/* 80051A00 2C 03 00 00 */ cmpwi r3, 0 -/* 80051A04 41 82 00 0C */ beq lbl_80051A10 -/* 80051A08 38 60 00 00 */ li r3, 0 -/* 80051A0C 48 00 00 9C */ b lbl_80051AA8 -lbl_80051A10: -/* 80051A10 7F 83 E3 78 */ mr r3, r28 -/* 80051A14 7F 44 D3 78 */ mr r4, r26 -/* 80051A18 48 02 36 19 */ bl GetRoomPathPntNo__4dBgSFRC13cBgS_PolyInfo -/* 80051A1C 2C 03 00 FF */ cmpwi r3, 0xff -/* 80051A20 41 82 00 18 */ beq lbl_80051A38 -/* 80051A24 2C 03 00 00 */ cmpwi r3, 0 -/* 80051A28 41 80 00 10 */ blt lbl_80051A38 -/* 80051A2C A0 9D 00 00 */ lhz r4, 0(r29) -/* 80051A30 7C 03 20 00 */ cmpw r3, r4 -/* 80051A34 41 80 00 0C */ blt lbl_80051A40 -lbl_80051A38: -/* 80051A38 38 60 00 00 */ li r3, 0 -/* 80051A3C 48 00 00 6C */ b lbl_80051AA8 -lbl_80051A40: -/* 80051A40 80 BD 00 08 */ lwz r5, 8(r29) -/* 80051A44 54 60 20 36 */ slwi r0, r3, 4 -/* 80051A48 7C C5 02 14 */ add r6, r5, r0 -/* 80051A4C 38 04 FF FF */ addi r0, r4, -1 -/* 80051A50 7C 03 00 00 */ cmpw r3, r0 -/* 80051A54 40 82 00 0C */ bne lbl_80051A60 -/* 80051A58 7C A3 2B 78 */ mr r3, r5 -/* 80051A5C 48 00 00 10 */ b lbl_80051A6C -lbl_80051A60: -/* 80051A60 38 03 00 01 */ addi r0, r3, 1 -/* 80051A64 54 00 20 36 */ slwi r0, r0, 4 -/* 80051A68 7C 65 02 14 */ add r3, r5, r0 -lbl_80051A6C: -/* 80051A6C C0 23 00 04 */ lfs f1, 4(r3) -/* 80051A70 C0 06 00 04 */ lfs f0, 4(r6) -/* 80051A74 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80051A78 D0 1E 00 00 */ stfs f0, 0(r30) -/* 80051A7C C0 23 00 08 */ lfs f1, 8(r3) -/* 80051A80 C0 06 00 08 */ lfs f0, 8(r6) -/* 80051A84 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80051A88 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80051A8C C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80051A90 C0 06 00 0C */ lfs f0, 0xc(r6) -/* 80051A94 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80051A98 D0 1E 00 08 */ stfs f0, 8(r30) -/* 80051A9C 88 1D 00 04 */ lbz r0, 4(r29) -/* 80051AA0 90 1F 00 00 */ stw r0, 0(r31) -/* 80051AA4 38 60 00 01 */ li r3, 1 -lbl_80051AA8: -/* 80051AA8 39 61 00 20 */ addi r11, r1, 0x20 -/* 80051AAC 48 31 07 71 */ bl _restgpr_26 -/* 80051AB0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80051AB4 7C 08 03 A6 */ mtlr r0 -/* 80051AB8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80051ABC 4E 80 00 20 */ blr diff --git a/asm/d/d_path/dPath_GetRoomPath__Fii.s b/asm/d/d_path/dPath_GetRoomPath__Fii.s deleted file mode 100644 index 5c9c6c511d..0000000000 --- a/asm/d/d_path/dPath_GetRoomPath__Fii.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_800517EC: -/* 800517EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800517F0 7C 08 02 A6 */ mflr r0 -/* 800517F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800517F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800517FC 7C 7F 1B 78 */ mr r31, r3 -/* 80051800 2C 04 FF FF */ cmpwi r4, -1 -/* 80051804 40 82 00 20 */ bne lbl_80051824 -/* 80051808 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8005180C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80051810 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 80051814 81 8C 00 E4 */ lwz r12, 0xe4(r12) -/* 80051818 7D 89 03 A6 */ mtctr r12 -/* 8005181C 4E 80 04 21 */ bctrl -/* 80051820 48 00 00 34 */ b lbl_80051854 -lbl_80051824: -/* 80051824 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80051828 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8005182C 38 63 4E C4 */ addi r3, r3, 0x4ec4 -/* 80051830 4B FD 2B 55 */ bl getStatusRoomDt__20dStage_roomControl_cFi -/* 80051834 28 03 00 00 */ cmplwi r3, 0 -/* 80051838 40 82 00 0C */ bne lbl_80051844 -/* 8005183C 38 60 00 00 */ li r3, 0 -/* 80051840 48 00 00 44 */ b lbl_80051884 -lbl_80051844: -/* 80051844 81 83 00 00 */ lwz r12, 0(r3) -/* 80051848 81 8C 00 E4 */ lwz r12, 0xe4(r12) -/* 8005184C 7D 89 03 A6 */ mtctr r12 -/* 80051850 4E 80 04 21 */ bctrl -lbl_80051854: -/* 80051854 28 03 00 00 */ cmplwi r3, 0 -/* 80051858 41 82 00 18 */ beq lbl_80051870 -/* 8005185C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80051860 41 80 00 10 */ blt lbl_80051870 -/* 80051864 80 03 00 00 */ lwz r0, 0(r3) -/* 80051868 7C 1F 00 00 */ cmpw r31, r0 -/* 8005186C 41 80 00 0C */ blt lbl_80051878 -lbl_80051870: -/* 80051870 38 60 00 00 */ li r3, 0 -/* 80051874 48 00 00 10 */ b lbl_80051884 -lbl_80051878: -/* 80051878 80 63 00 04 */ lwz r3, 4(r3) -/* 8005187C 1C 1F 00 0C */ mulli r0, r31, 0xc -/* 80051880 7C 63 02 14 */ add r3, r3, r0 -lbl_80051884: -/* 80051884 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80051888 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8005188C 7C 08 03 A6 */ mtlr r0 -/* 80051890 38 21 00 10 */ addi r1, r1, 0x10 -/* 80051894 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/GxFog_set__Fv.s b/asm/d/kankyo/d_kankyo/GxFog_set__Fv.s deleted file mode 100644 index 4ce25f30af..0000000000 --- a/asm/d/kankyo/d_kankyo/GxFog_set__Fv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_801A85E8: -/* 801A85E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801A85EC 7C 08 02 A6 */ mflr r0 -/* 801A85F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801A85F4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801A85F8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801A85FC A8 03 11 58 */ lha r0, 0x1158(r3) -/* 801A8600 98 01 00 08 */ stb r0, 8(r1) -/* 801A8604 A8 03 11 5A */ lha r0, 0x115a(r3) -/* 801A8608 98 01 00 09 */ stb r0, 9(r1) -/* 801A860C A8 03 11 5C */ lha r0, 0x115c(r3) -/* 801A8610 98 01 00 0A */ stb r0, 0xa(r1) -/* 801A8614 38 61 00 08 */ addi r3, r1, 8 -/* 801A8618 4B FF FF 21 */ bl GxFogSet_Sub__FP8_GXColor -/* 801A861C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801A8620 7C 08 03 A6 */ mtlr r0 -/* 801A8624 38 21 00 10 */ addi r1, r1, 0x10 -/* 801A8628 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/GxXFog_set__Fv.s b/asm/d/kankyo/d_kankyo/GxXFog_set__Fv.s deleted file mode 100644 index edae1f775c..0000000000 --- a/asm/d/kankyo/d_kankyo/GxXFog_set__Fv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_801A87A0: -/* 801A87A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801A87A4 7C 08 02 A6 */ mflr r0 -/* 801A87A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801A87AC 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801A87B0 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801A87B4 88 63 12 D0 */ lbz r3, 0x12d0(r3) -/* 801A87B8 4B EA E2 6D */ bl dKyd_xfog_table_set__FUc -/* 801A87BC 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801A87C0 38 A3 CA 54 */ addi r5, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801A87C4 88 65 12 CF */ lbz r3, 0x12cf(r5) -/* 801A87C8 A0 85 12 BC */ lhz r4, 0x12bc(r5) -/* 801A87CC 38 A5 10 AC */ addi r5, r5, 0x10ac -/* 801A87D0 48 1B 72 FD */ bl GXSetFogRangeAdj -/* 801A87D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801A87D8 7C 08 03 A6 */ mtlr r0 -/* 801A87DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801A87E0 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/dKy_GxFog_set__Fv.s b/asm/d/kankyo/d_kankyo/dKy_GxFog_set__Fv.s deleted file mode 100644 index 5af5abfa12..0000000000 --- a/asm/d/kankyo/d_kankyo/dKy_GxFog_set__Fv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_801A862C: -/* 801A862C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801A8630 7C 08 02 A6 */ mflr r0 -/* 801A8634 90 01 00 14 */ stw r0, 0x14(r1) -/* 801A8638 4B FF FF B1 */ bl GxFog_set__Fv -/* 801A863C 48 00 01 65 */ bl GxXFog_set__Fv -/* 801A8640 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801A8644 7C 08 03 A6 */ mtlr r0 -/* 801A8648 38 21 00 10 */ addi r1, r1, 0x10 -/* 801A864C 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s b/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s deleted file mode 100644 index 5453431b51..0000000000 --- a/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_801A9BE4: -/* 801A9BE4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801A9BE8 7C 08 02 A6 */ mflr r0 -/* 801A9BEC 90 01 00 34 */ stw r0, 0x34(r1) -/* 801A9BF0 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 801A9BF4 39 61 00 28 */ addi r11, r1, 0x28 -/* 801A9BF8 48 1B 85 D9 */ bl _savegpr_26 -/* 801A9BFC 7C 7A 1B 78 */ mr r26, r3 -/* 801A9C00 7C 9B 23 79 */ or. r27, r4, r4 -/* 801A9C04 7C BC 2B 78 */ mr r28, r5 -/* 801A9C08 7C DD 33 78 */ mr r29, r6 -/* 801A9C0C 7C FE 3B 78 */ mr r30, r7 -/* 801A9C10 7D 1F 43 78 */ mr r31, r8 -/* 801A9C14 FF E0 08 90 */ fmr f31, f1 -/* 801A9C18 41 82 00 34 */ beq lbl_801A9C4C -/* 801A9C1C 38 7B 03 48 */ addi r3, r27, 0x348 -/* 801A9C20 4B FF EF E5 */ bl NewAmbColGet__FP11_GXColorS10 -/* 801A9C24 90 61 00 0C */ stw r3, 0xc(r1) -/* 801A9C28 88 01 00 0C */ lbz r0, 0xc(r1) -/* 801A9C2C 98 1C 00 00 */ stb r0, 0(r28) -/* 801A9C30 88 01 00 0D */ lbz r0, 0xd(r1) -/* 801A9C34 98 1C 00 01 */ stb r0, 1(r28) -/* 801A9C38 88 01 00 0E */ lbz r0, 0xe(r1) -/* 801A9C3C 98 1C 00 02 */ stb r0, 2(r28) -/* 801A9C40 88 01 00 0F */ lbz r0, 0xf(r1) -/* 801A9C44 98 1C 00 03 */ stb r0, 3(r28) -/* 801A9C48 48 00 00 38 */ b lbl_801A9C80 -lbl_801A9C4C: -/* 801A9C4C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801A9C50 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801A9C54 38 63 11 00 */ addi r3, r3, 0x1100 -/* 801A9C58 4B FF EF AD */ bl NewAmbColGet__FP11_GXColorS10 -/* 801A9C5C 90 61 00 08 */ stw r3, 8(r1) -/* 801A9C60 88 01 00 08 */ lbz r0, 8(r1) -/* 801A9C64 98 1C 00 00 */ stb r0, 0(r28) -/* 801A9C68 88 01 00 09 */ lbz r0, 9(r1) -/* 801A9C6C 98 1C 00 01 */ stb r0, 1(r28) -/* 801A9C70 88 01 00 0A */ lbz r0, 0xa(r1) -/* 801A9C74 98 1C 00 02 */ stb r0, 2(r28) -/* 801A9C78 88 01 00 0B */ lbz r0, 0xb(r1) -/* 801A9C7C 98 1C 00 03 */ stb r0, 3(r28) -lbl_801A9C80: -/* 801A9C80 7F 43 D3 78 */ mr r3, r26 -/* 801A9C84 7F 64 DB 78 */ mr r4, r27 -/* 801A9C88 7F 85 E3 78 */ mr r5, r28 -/* 801A9C8C 7F A6 EB 78 */ mr r6, r29 -/* 801A9C90 7F C7 F3 78 */ mr r7, r30 -/* 801A9C94 7F E8 FB 78 */ mr r8, r31 -/* 801A9C98 FC 20 F8 90 */ fmr f1, f31 -/* 801A9C9C 4B FF F1 85 */ bl dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf -/* 801A9CA0 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 801A9CA4 39 61 00 28 */ addi r11, r1, 0x28 -/* 801A9CA8 48 1B 85 75 */ bl _restgpr_26 -/* 801A9CAC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801A9CB0 7C 08 03 A6 */ mtlr r0 -/* 801A9CB4 38 21 00 30 */ addi r1, r1, 0x30 -/* 801A9CB8 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s b/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s deleted file mode 100644 index ad39419d1e..0000000000 --- a/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_801A9CBC: -/* 801A9CBC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801A9CC0 7C 08 02 A6 */ mflr r0 -/* 801A9CC4 90 01 00 34 */ stw r0, 0x34(r1) -/* 801A9CC8 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 801A9CCC 39 61 00 28 */ addi r11, r1, 0x28 -/* 801A9CD0 48 1B 85 01 */ bl _savegpr_26 -/* 801A9CD4 7C 7A 1B 78 */ mr r26, r3 -/* 801A9CD8 7C 9B 23 78 */ mr r27, r4 -/* 801A9CDC 7C BC 2B 78 */ mr r28, r5 -/* 801A9CE0 7C DD 33 78 */ mr r29, r6 -/* 801A9CE4 7C FE 3B 78 */ mr r30, r7 -/* 801A9CE8 7D 1F 43 78 */ mr r31, r8 -/* 801A9CEC FF E0 08 90 */ fmr f31, f1 -/* 801A9CF0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801A9CF4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801A9CF8 38 63 11 08 */ addi r3, r3, 0x1108 -/* 801A9CFC 4B FF EF 09 */ bl NewAmbColGet__FP11_GXColorS10 -/* 801A9D00 90 61 00 08 */ stw r3, 8(r1) -/* 801A9D04 88 01 00 08 */ lbz r0, 8(r1) -/* 801A9D08 98 1C 00 00 */ stb r0, 0(r28) -/* 801A9D0C 88 01 00 09 */ lbz r0, 9(r1) -/* 801A9D10 98 1C 00 01 */ stb r0, 1(r28) -/* 801A9D14 88 01 00 0A */ lbz r0, 0xa(r1) -/* 801A9D18 98 1C 00 02 */ stb r0, 2(r28) -/* 801A9D1C 88 01 00 0B */ lbz r0, 0xb(r1) -/* 801A9D20 98 1C 00 03 */ stb r0, 3(r28) -/* 801A9D24 7F 43 D3 78 */ mr r3, r26 -/* 801A9D28 7F 64 DB 78 */ mr r4, r27 -/* 801A9D2C 7F 85 E3 78 */ mr r5, r28 -/* 801A9D30 7F A6 EB 78 */ mr r6, r29 -/* 801A9D34 7F C7 F3 78 */ mr r7, r30 -/* 801A9D38 7F E8 FB 78 */ mr r8, r31 -/* 801A9D3C FC 20 F8 90 */ fmr f1, f31 -/* 801A9D40 4B FF F0 E1 */ bl dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf -/* 801A9D44 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 801A9D48 39 61 00 28 */ addi r11, r1, 0x28 -/* 801A9D4C 48 1B 84 D1 */ bl _restgpr_26 -/* 801A9D50 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801A9D54 7C 08 03 A6 */ mtlr r0 -/* 801A9D58 38 21 00 30 */ addi r1, r1, 0x30 -/* 801A9D5C 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s b/asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s deleted file mode 100644 index 79afc32944..0000000000 --- a/asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_801AB4C0: -/* 801AB4C0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801AB4C4 7C 08 02 A6 */ mflr r0 -/* 801AB4C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801AB4CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AB4D0 48 1B 6D 09 */ bl _savegpr_28 -/* 801AB4D4 7C 7C 1B 79 */ or. r28, r3, r3 -/* 801AB4D8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801AB4DC 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801AB4E0 41 82 00 14 */ beq lbl_801AB4F4 -/* 801AB4E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801AB4E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801AB4EC 37 C3 0F 38 */ addic. r30, r3, 0xf38 -/* 801AB4F0 40 82 00 0C */ bne lbl_801AB4FC -lbl_801AB4F4: -/* 801AB4F4 38 60 00 00 */ li r3, 0 -/* 801AB4F8 48 00 00 8C */ b lbl_801AB584 -lbl_801AB4FC: -/* 801AB4FC 7F C3 F3 78 */ mr r3, r30 -/* 801AB500 7F 84 E3 78 */ mr r4, r28 -/* 801AB504 4B EC 99 4D */ bl GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo -/* 801AB508 7C 7D 1B 78 */ mr r29, r3 -/* 801AB50C 38 7E 3E C8 */ addi r3, r30, 0x3ec8 -/* 801AB510 3C 80 80 39 */ lis r4, d_kankyo_d_kankyo__stringBase0@ha /* 0x80394C6C@ha */ -/* 801AB514 38 84 4C 6C */ addi r4, r4, d_kankyo_d_kankyo__stringBase0@l /* 0x80394C6C@l */ -/* 801AB518 38 84 01 7A */ addi r4, r4, 0x17a -/* 801AB51C 48 1B D4 79 */ bl strcmp -/* 801AB520 2C 03 00 00 */ cmpwi r3, 0 -/* 801AB524 40 82 00 24 */ bne lbl_801AB548 -/* 801AB528 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801AB52C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801AB530 88 03 12 FE */ lbz r0, 0x12fe(r3) -/* 801AB534 28 00 00 04 */ cmplwi r0, 4 -/* 801AB538 40 82 00 10 */ bne lbl_801AB548 -/* 801AB53C 2C 1D 00 04 */ cmpwi r29, 4 -/* 801AB540 40 82 00 08 */ bne lbl_801AB548 -/* 801AB544 3B A0 00 0D */ li r29, 0xd -lbl_801AB548: -/* 801AB548 7F C3 F3 78 */ mr r3, r30 -/* 801AB54C 7F 84 E3 78 */ mr r4, r28 -/* 801AB550 4B EC 99 51 */ bl GetPolyAtt1__4dBgSFRC13cBgS_PolyInfo -/* 801AB554 80 9F 12 EC */ lwz r4, 0x12ec(r31) -/* 801AB558 28 04 00 00 */ cmplwi r4, 0 -/* 801AB55C 41 82 00 14 */ beq lbl_801AB570 -/* 801AB560 57 A0 18 38 */ slwi r0, r29, 3 -/* 801AB564 7C 00 1A 14 */ add r0, r0, r3 -/* 801AB568 7C 64 00 AE */ lbzx r3, r4, r0 -/* 801AB56C 48 00 00 08 */ b lbl_801AB574 -lbl_801AB570: -/* 801AB570 38 60 00 00 */ li r3, 0 -lbl_801AB574: -/* 801AB574 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 801AB578 28 00 00 FF */ cmplwi r0, 0xff -/* 801AB57C 40 82 00 08 */ bne lbl_801AB584 -/* 801AB580 38 60 00 00 */ li r3, 0 -lbl_801AB584: -/* 801AB584 39 61 00 20 */ addi r11, r1, 0x20 -/* 801AB588 48 1B 6C 9D */ bl _restgpr_28 -/* 801AB58C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801AB590 7C 08 03 A6 */ mtlr r0 -/* 801AB594 38 21 00 20 */ addi r1, r1, 0x20 -/* 801AB598 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/fl_data_ratio_set__Ffff.s b/asm/d/kankyo/d_kankyo/fl_data_ratio_set__Ffff.s deleted file mode 100644 index b15aa1bada..0000000000 --- a/asm/d/kankyo/d_kankyo/fl_data_ratio_set__Ffff.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8019D790: -/* 8019D790 EC 02 08 28 */ fsubs f0, f2, f1 -/* 8019D794 EC 03 00 32 */ fmuls f0, f3, f0 -/* 8019D798 EC 21 00 2A */ fadds f1, f1, f0 -/* 8019D79C 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/float_kankyo_color_ratio_set__Fffffffff.s b/asm/d/kankyo/d_kankyo/float_kankyo_color_ratio_set__Fffffffff.s deleted file mode 100644 index 1744284299..0000000000 --- a/asm/d/kankyo/d_kankyo/float_kankyo_color_ratio_set__Fffffffff.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_8019D7A0: -/* 8019D7A0 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8019D7A4 7C 08 02 A6 */ mflr r0 -/* 8019D7A8 90 01 00 84 */ stw r0, 0x84(r1) -/* 8019D7AC DB E1 00 70 */ stfd f31, 0x70(r1) -/* 8019D7B0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8019D7B4 DB C1 00 60 */ stfd f30, 0x60(r1) -/* 8019D7B8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 8019D7BC DB A1 00 50 */ stfd f29, 0x50(r1) -/* 8019D7C0 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8019D7C4 DB 81 00 40 */ stfd f28, 0x40(r1) -/* 8019D7C8 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 8019D7CC DB 61 00 30 */ stfd f27, 0x30(r1) -/* 8019D7D0 F3 61 00 38 */ psq_st f27, 56(r1), 0, 0 /* qr0 */ -/* 8019D7D4 DB 41 00 20 */ stfd f26, 0x20(r1) -/* 8019D7D8 F3 41 00 28 */ psq_st f26, 40(r1), 0, 0 /* qr0 */ -/* 8019D7DC DB 21 00 10 */ stfd f25, 0x10(r1) -/* 8019D7E0 F3 21 00 18 */ psq_st f25, 24(r1), 0, 0 /* qr0 */ -/* 8019D7E4 FF 20 18 90 */ fmr f25, f3 -/* 8019D7E8 FF 40 20 90 */ fmr f26, f4 -/* 8019D7EC FF 60 28 90 */ fmr f27, f5 -/* 8019D7F0 FF 80 30 90 */ fmr f28, f6 -/* 8019D7F4 FF A0 38 90 */ fmr f29, f7 -/* 8019D7F8 FF C0 40 90 */ fmr f30, f8 -/* 8019D7FC 4B FF FF 95 */ bl fl_data_ratio_set__Ffff -/* 8019D800 FF E0 08 90 */ fmr f31, f1 -/* 8019D804 FC 20 D0 90 */ fmr f1, f26 -/* 8019D808 FC 40 D8 90 */ fmr f2, f27 -/* 8019D80C FC 60 C8 90 */ fmr f3, f25 -/* 8019D810 4B FF FF 81 */ bl fl_data_ratio_set__Ffff -/* 8019D814 FC 40 08 90 */ fmr f2, f1 -/* 8019D818 FC 20 F8 90 */ fmr f1, f31 -/* 8019D81C FC 60 E0 90 */ fmr f3, f28 -/* 8019D820 4B FF FF 71 */ bl fl_data_ratio_set__Ffff -/* 8019D824 EC 1D 08 28 */ fsubs f0, f29, f1 -/* 8019D828 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8019D82C EC 21 00 2A */ fadds f1, f1, f0 -/* 8019D830 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 8019D834 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8019D838 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 8019D83C CB C1 00 60 */ lfd f30, 0x60(r1) -/* 8019D840 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 8019D844 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 8019D848 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 8019D84C CB 81 00 40 */ lfd f28, 0x40(r1) -/* 8019D850 E3 61 00 38 */ psq_l f27, 56(r1), 0, 0 /* qr0 */ -/* 8019D854 CB 61 00 30 */ lfd f27, 0x30(r1) -/* 8019D858 E3 41 00 28 */ psq_l f26, 40(r1), 0, 0 /* qr0 */ -/* 8019D85C CB 41 00 20 */ lfd f26, 0x20(r1) -/* 8019D860 E3 21 00 18 */ psq_l f25, 24(r1), 0, 0 /* qr0 */ -/* 8019D864 CB 21 00 10 */ lfd f25, 0x10(r1) -/* 8019D868 80 01 00 84 */ lwz r0, 0x84(r1) -/* 8019D86C 7C 08 03 A6 */ mtlr r0 -/* 8019D870 38 21 00 80 */ addi r1, r1, 0x80 -/* 8019D874 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo/kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f.s b/asm/d/kankyo/d_kankyo/kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f.s deleted file mode 100644 index 32a0f647bf..0000000000 --- a/asm/d/kankyo/d_kankyo/kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8019D61C: -/* 8019D61C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8019D620 7C 08 02 A6 */ mflr r0 -/* 8019D624 90 01 00 24 */ stw r0, 0x24(r1) -/* 8019D628 DB E1 00 18 */ stfd f31, 0x18(r1) -/* 8019D62C 39 61 00 18 */ addi r11, r1, 0x18 -/* 8019D630 48 1C 4B AD */ bl _savegpr_29 -/* 8019D634 7C 7D 1B 78 */ mr r29, r3 -/* 8019D638 FF E0 08 90 */ fmr f31, f1 -/* 8019D63C AB E4 00 02 */ lha r31, 2(r4) -/* 8019D640 AB C4 00 04 */ lha r30, 4(r4) -/* 8019D644 A8 64 00 00 */ lha r3, 0(r4) -/* 8019D648 4B FF FF 75 */ bl kankyo_color_ratio_calc_common__Fsf -/* 8019D64C 98 7D 00 00 */ stb r3, 0(r29) -/* 8019D650 7F E3 FB 78 */ mr r3, r31 -/* 8019D654 FC 20 F8 90 */ fmr f1, f31 -/* 8019D658 4B FF FF 65 */ bl kankyo_color_ratio_calc_common__Fsf -/* 8019D65C 98 7D 00 01 */ stb r3, 1(r29) -/* 8019D660 7F C3 F3 78 */ mr r3, r30 -/* 8019D664 FC 20 F8 90 */ fmr f1, f31 -/* 8019D668 4B FF FF 55 */ bl kankyo_color_ratio_calc_common__Fsf -/* 8019D66C 98 7D 00 02 */ stb r3, 2(r29) -/* 8019D670 CB E1 00 18 */ lfd f31, 0x18(r1) -/* 8019D674 39 61 00 18 */ addi r11, r1, 0x18 -/* 8019D678 48 1C 4B B1 */ bl _restgpr_29 -/* 8019D67C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8019D680 7C 08 03 A6 */ mtlr r0 -/* 8019D684 38 21 00 20 */ addi r1, r1, 0x20 -/* 8019D688 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKr_cullVtx_Set__Fv.s b/asm/d/kankyo/d_kankyo_rain/dKr_cullVtx_Set__Fv.s deleted file mode 100644 index cd4e0eb799..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKr_cullVtx_Set__Fv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80062ADC: -/* 80062ADC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80062AE0 7C 08 02 A6 */ mflr r0 -/* 80062AE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80062AE8 38 60 00 00 */ li r3, 0 -/* 80062AEC 48 2F 9E 99 */ bl GXSetCullMode -/* 80062AF0 38 60 00 00 */ li r3, 0 -/* 80062AF4 38 80 00 09 */ li r4, 9 -/* 80062AF8 38 A0 00 01 */ li r5, 1 -/* 80062AFC 38 C0 00 04 */ li r6, 4 -/* 80062B00 38 E0 00 00 */ li r7, 0 -/* 80062B04 48 2F 8A C1 */ bl GXSetVtxAttrFmt -/* 80062B08 38 60 00 00 */ li r3, 0 -/* 80062B0C 38 80 00 0D */ li r4, 0xd -/* 80062B10 38 A0 00 01 */ li r5, 1 -/* 80062B14 38 C0 00 03 */ li r6, 3 -/* 80062B18 38 E0 00 08 */ li r7, 8 -/* 80062B1C 48 2F 8A A9 */ bl GXSetVtxAttrFmt -/* 80062B20 48 2F 8A 6D */ bl GXClearVtxDesc -/* 80062B24 38 60 00 09 */ li r3, 9 -/* 80062B28 38 80 00 01 */ li r4, 1 -/* 80062B2C 48 2F 83 8D */ bl GXSetVtxDesc -/* 80062B30 38 60 00 0D */ li r3, 0xd -/* 80062B34 38 80 00 01 */ li r4, 1 -/* 80062B38 48 2F 83 81 */ bl GXSetVtxDesc -/* 80062B3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80062B40 7C 08 03 A6 */ mtlr r0 -/* 80062B44 38 21 00 10 */ addi r1, r1, 0x10 -/* 80062B48 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKy_set_eyevect_calc__FP12camera_classP3Vecff.s b/asm/d/kankyo/d_kankyo_rain/dKy_set_eyevect_calc__FP12camera_classP3Vecff.s deleted file mode 100644 index 8b514f384d..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKy_set_eyevect_calc__FP12camera_classP3Vecff.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8005B780: -/* 8005B780 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8005B784 7C 08 02 A6 */ mflr r0 -/* 8005B788 90 01 00 44 */ stw r0, 0x44(r1) -/* 8005B78C DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8005B790 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8005B794 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 8005B798 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */ -/* 8005B79C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8005B7A0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8005B7A4 7C 7E 1B 78 */ mr r30, r3 -/* 8005B7A8 7C 9F 23 78 */ mr r31, r4 -/* 8005B7AC FF C0 08 90 */ fmr f30, f1 -/* 8005B7B0 FF E0 10 90 */ fmr f31, f2 -/* 8005B7B4 38 7E 00 D8 */ addi r3, r30, 0xd8 -/* 8005B7B8 38 9E 00 E4 */ addi r4, r30, 0xe4 -/* 8005B7BC 38 A1 00 08 */ addi r5, r1, 8 -/* 8005B7C0 4B FF FF 49 */ bl get_vectle_calc__FP4cXyzP4cXyzP4cXyz -/* 8005B7C4 C0 3E 00 D8 */ lfs f1, 0xd8(r30) -/* 8005B7C8 C0 01 00 08 */ lfs f0, 8(r1) -/* 8005B7CC EC 00 07 B2 */ fmuls f0, f0, f30 -/* 8005B7D0 EC 01 00 2A */ fadds f0, f1, f0 -/* 8005B7D4 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8005B7D8 C0 3E 00 DC */ lfs f1, 0xdc(r30) -/* 8005B7DC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8005B7E0 EC 00 07 F2 */ fmuls f0, f0, f31 -/* 8005B7E4 EC 21 00 2A */ fadds f1, f1, f0 -/* 8005B7E8 C0 02 87 BC */ lfs f0, lit_3970(r2) -/* 8005B7EC EC 01 00 28 */ fsubs f0, f1, f0 -/* 8005B7F0 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8005B7F4 C0 3E 00 E0 */ lfs f1, 0xe0(r30) -/* 8005B7F8 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8005B7FC EC 00 07 B2 */ fmuls f0, f0, f30 -/* 8005B800 EC 01 00 2A */ fadds f0, f1, f0 -/* 8005B804 D0 1F 00 08 */ stfs f0, 8(r31) -/* 8005B808 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8005B80C CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8005B810 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */ -/* 8005B814 CB C1 00 20 */ lfd f30, 0x20(r1) -/* 8005B818 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8005B81C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8005B820 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8005B824 7C 08 03 A6 */ mtlr r0 -/* 8005B828 38 21 00 40 */ addi r1, r1, 0x40 -/* 8005B82C 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_evil_init__Fv.s b/asm/d/kankyo/d_kankyo_rain/dKyr_evil_init__Fv.s deleted file mode 100644 index 96fb41913c..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_evil_init__Fv.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_8006D914: -/* 8006D914 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8006D918 7C 08 02 A6 */ mflr r0 -/* 8006D91C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8006D920 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8006D924 93 C1 00 08 */ stw r30, 8(r1) -/* 8006D928 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8006D92C 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8006D930 80 1F 10 58 */ lwz r0, 0x1058(r31) -/* 8006D934 28 00 00 00 */ cmplwi r0, 0 -/* 8006D938 41 82 00 B4 */ beq lbl_8006D9EC -/* 8006D93C 3C 60 80 38 */ lis r3, d_kankyo_d_kankyo_rain__stringBase0@ha /* 0x8037A578@ha */ -/* 8006D940 38 63 A5 78 */ addi r3, r3, d_kankyo_d_kankyo_rain__stringBase0@l /* 0x8037A578@l */ -/* 8006D944 38 63 00 10 */ addi r3, r3, 0x10 -/* 8006D948 38 80 00 53 */ li r4, 0x53 -/* 8006D94C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8006D950 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8006D954 3F C5 00 02 */ addis r30, r5, 2 -/* 8006D958 3B DE C2 F8 */ addi r30, r30, -15624 -/* 8006D95C 7F C5 F3 78 */ mr r5, r30 -/* 8006D960 38 C0 00 80 */ li r6, 0x80 -/* 8006D964 4B FC E9 89 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 8006D968 80 9F 10 58 */ lwz r4, 0x1058(r31) -/* 8006D96C 90 64 00 14 */ stw r3, 0x14(r4) -/* 8006D970 3C 60 80 38 */ lis r3, d_kankyo_d_kankyo_rain__stringBase0@ha /* 0x8037A578@ha */ -/* 8006D974 38 63 A5 78 */ addi r3, r3, d_kankyo_d_kankyo_rain__stringBase0@l /* 0x8037A578@l */ -/* 8006D978 38 63 00 94 */ addi r3, r3, 0x94 -/* 8006D97C 4B FC 1A B9 */ bl dComIfG_getStageRes__FPCc -/* 8006D980 80 9F 10 58 */ lwz r4, 0x1058(r31) -/* 8006D984 90 64 00 18 */ stw r3, 0x18(r4) -/* 8006D988 80 7F 10 58 */ lwz r3, 0x1058(r31) -/* 8006D98C 80 03 00 18 */ lwz r0, 0x18(r3) -/* 8006D990 28 00 00 00 */ cmplwi r0, 0 -/* 8006D994 40 82 00 28 */ bne lbl_8006D9BC -/* 8006D998 3C 60 80 38 */ lis r3, d_kankyo_d_kankyo_rain__stringBase0@ha /* 0x8037A578@ha */ -/* 8006D99C 38 63 A5 78 */ addi r3, r3, d_kankyo_d_kankyo_rain__stringBase0@l /* 0x8037A578@l */ -/* 8006D9A0 38 63 00 10 */ addi r3, r3, 0x10 -/* 8006D9A4 38 80 00 53 */ li r4, 0x53 -/* 8006D9A8 7F C5 F3 78 */ mr r5, r30 -/* 8006D9AC 38 C0 00 80 */ li r6, 0x80 -/* 8006D9B0 4B FC E9 3D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 8006D9B4 80 9F 10 58 */ lwz r4, 0x1058(r31) -/* 8006D9B8 90 64 00 18 */ stw r3, 0x18(r4) -lbl_8006D9BC: -/* 8006D9BC 38 60 00 00 */ li r3, 0 -/* 8006D9C0 7C 65 1B 78 */ mr r5, r3 -/* 8006D9C4 38 00 07 D0 */ li r0, 0x7d0 -/* 8006D9C8 7C 09 03 A6 */ mtctr r0 -lbl_8006D9CC: -/* 8006D9CC 80 9F 10 58 */ lwz r4, 0x1058(r31) -/* 8006D9D0 38 03 00 1C */ addi r0, r3, 0x1c -/* 8006D9D4 7C A4 01 AE */ stbx r5, r4, r0 -/* 8006D9D8 38 63 00 44 */ addi r3, r3, 0x44 -/* 8006D9DC 42 00 FF F0 */ bdnz lbl_8006D9CC -/* 8006D9E0 38 00 00 00 */ li r0, 0 -/* 8006D9E4 80 7F 10 58 */ lwz r3, 0x1058(r31) -/* 8006D9E8 90 03 00 10 */ stw r0, 0x10(r3) -lbl_8006D9EC: -/* 8006D9EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8006D9F0 83 C1 00 08 */ lwz r30, 8(r1) -/* 8006D9F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8006D9F8 7C 08 03 A6 */ mtlr r0 -/* 8006D9FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8006DA00 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_evil_move__Fv.s b/asm/d/kankyo/d_kankyo_rain/dKyr_evil_move__Fv.s deleted file mode 100644 index 7034d86689..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_evil_move__Fv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8006DA04: -/* 8006DA04 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8006DA08 7C 08 02 A6 */ mflr r0 -/* 8006DA0C 90 01 00 84 */ stw r0, 0x84(r1) -/* 8006DA10 93 E1 00 7C */ stw r31, 0x7c(r1) -/* 8006DA14 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8006DA18 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8006DA1C 83 E3 10 58 */ lwz r31, 0x1058(r3) -/* 8006DA20 38 61 00 08 */ addi r3, r1, 8 -/* 8006DA24 4B FE D0 DD */ bl dKyw_get_wind_vecpow__Fv -/* 8006DA28 C0 01 00 08 */ lfs f0, 8(r1) -/* 8006DA2C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8006DA30 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8006DA34 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8006DA38 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8006DA3C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8006DA40 38 61 00 20 */ addi r3, r1, 0x20 -/* 8006DA44 48 00 9B 39 */ bl __ct__11dBgS_GndChkFv -/* 8006DA48 80 1F 00 10 */ lwz r0, 0x10(r31) -/* 8006DA4C 7C 09 03 A6 */ mtctr r0 -/* 8006DA50 2C 00 00 00 */ cmpwi r0, 0 -/* 8006DA54 40 81 00 08 */ ble lbl_8006DA5C -lbl_8006DA58: -/* 8006DA58 42 00 00 00 */ bdnz lbl_8006DA58 -lbl_8006DA5C: -/* 8006DA5C 38 61 00 20 */ addi r3, r1, 0x20 -/* 8006DA60 38 80 FF FF */ li r4, -1 -/* 8006DA64 48 00 9B 8D */ bl __dt__11dBgS_GndChkFv -/* 8006DA68 83 E1 00 7C */ lwz r31, 0x7c(r1) -/* 8006DA6C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 8006DA70 7C 08 03 A6 */ mtlr r0 -/* 8006DA74 38 21 00 80 */ addi r1, r1, 0x80 -/* 8006DA78 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s b/asm/d/kankyo/d_kankyo_rain/dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s deleted file mode 100644 index 86260002d8..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8005B760: -/* 8005B760 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8005B764 7C 08 02 A6 */ mflr r0 -/* 8005B768 90 01 00 14 */ stw r0, 0x14(r1) -/* 8005B76C 4B FF FF 9D */ bl get_vectle_calc__FP4cXyzP4cXyzP4cXyz -/* 8005B770 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8005B774 7C 08 03 A6 */ mtlr r0 -/* 8005B778 38 21 00 10 */ addi r1, r1, 0x10 -/* 8005B77C 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_moon_arrival_check__Fv.s b/asm/d/kankyo/d_kankyo_rain/dKyr_moon_arrival_check__Fv.s deleted file mode 100644 index 88c0d26741..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_moon_arrival_check__Fv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8005BED8: -/* 8005BED8 38 60 00 00 */ li r3, 0 -/* 8005BEDC 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */ -/* 8005BEE0 38 84 CA 54 */ addi r4, r4, g_env_light@l /* 0x8042CA54@l */ -/* 8005BEE4 C0 24 12 44 */ lfs f1, 0x1244(r4) -/* 8005BEE8 C0 02 88 08 */ lfs f0, lit_4126(r2) -/* 8005BEEC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8005BEF0 41 81 00 10 */ bgt lbl_8005BF00 -/* 8005BEF4 C0 02 88 0C */ lfs f0, lit_4127(r2) -/* 8005BEF8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8005BEFC 4C 80 00 20 */ bgelr -lbl_8005BF00: -/* 8005BF00 38 60 00 01 */ li r3, 1 -/* 8005BF04 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_set_btitex__FP9_GXTexObjP7ResTIMG.s b/asm/d/kankyo/d_kankyo_rain/dKyr_set_btitex__FP9_GXTexObjP7ResTIMG.s deleted file mode 100644 index 52bc44dc25..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_set_btitex__FP9_GXTexObjP7ResTIMG.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8005BA24: -/* 8005BA24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8005BA28 7C 08 02 A6 */ mflr r0 -/* 8005BA2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8005BA30 38 A0 00 00 */ li r5, 0 -/* 8005BA34 4B FF FE F9 */ bl dKyr_set_btitex_common__FP9_GXTexObjP7ResTIMG11_GXTexMapID -/* 8005BA38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8005BA3C 7C 08 03 A6 */ mtlr r0 -/* 8005BA40 38 21 00 10 */ addi r1, r1, 0x10 -/* 8005BA44 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_star_move__Fv.s b/asm/d/kankyo/d_kankyo_rain/dKyr_star_move__Fv.s deleted file mode 100644 index bbc717e9ab..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_star_move__Fv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8006140C: -/* 8006140C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80061410 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80061414 80 83 0E A4 */ lwz r4, 0xea4(r3) -/* 80061418 80 03 0E 9C */ lwz r0, 0xe9c(r3) -/* 8006141C B0 04 00 48 */ sth r0, 0x48(r4) -/* 80061420 A8 04 00 48 */ lha r0, 0x48(r4) -/* 80061424 2C 00 00 00 */ cmpwi r0, 0 -/* 80061428 4D 82 00 20 */ beqlr -/* 8006142C C0 02 88 14 */ lfs f0, lit_4354(r2) -/* 80061430 D0 04 00 3C */ stfs f0, 0x3c(r4) -/* 80061434 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_thunder_init__Fv.s b/asm/d/kankyo/d_kankyo_rain/dKyr_thunder_init__Fv.s deleted file mode 100644 index 802c56808d..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_thunder_init__Fv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8006B190: -/* 8006B190 38 00 00 00 */ li r0, 0 -/* 8006B194 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8006B198 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8006B19C 98 03 0E D5 */ stb r0, 0xed5(r3) -/* 8006B1A0 98 03 0E D6 */ stb r0, 0xed6(r3) -/* 8006B1A4 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/d_krain_cut_turn_check__Fv.s b/asm/d/kankyo/d_kankyo_rain/d_krain_cut_turn_check__Fv.s deleted file mode 100644 index b1953404dc..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/d_krain_cut_turn_check__Fv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8005E8B0: -/* 8005E8B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8005E8B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8005E8B8 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 8005E8BC 38 60 00 00 */ li r3, 0 -/* 8005E8C0 28 04 00 00 */ cmplwi r4, 0 -/* 8005E8C4 4D 82 00 20 */ beqlr -/* 8005E8C8 88 04 05 68 */ lbz r0, 0x568(r4) -/* 8005E8CC 28 00 00 08 */ cmplwi r0, 8 -/* 8005E8D0 41 82 00 20 */ beq lbl_8005E8F0 -/* 8005E8D4 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 8005E8D8 28 00 00 16 */ cmplwi r0, 0x16 -/* 8005E8DC 41 82 00 14 */ beq lbl_8005E8F0 -/* 8005E8E0 28 00 00 17 */ cmplwi r0, 0x17 -/* 8005E8E4 41 82 00 0C */ beq lbl_8005E8F0 -/* 8005E8E8 28 00 00 18 */ cmplwi r0, 0x18 -/* 8005E8EC 4C 82 00 20 */ bnelr -lbl_8005E8F0: -/* 8005E8F0 38 60 00 01 */ li r3, 1 -/* 8005E8F4 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s b/asm/d/kankyo/d_kankyo_rain/get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s deleted file mode 100644 index d0d1630825..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8005B708: -/* 8005B708 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8005B70C 7C 08 02 A6 */ mflr r0 -/* 8005B710 90 01 00 24 */ stw r0, 0x24(r1) -/* 8005B714 C0 24 00 00 */ lfs f1, 0(r4) -/* 8005B718 C0 03 00 00 */ lfs f0, 0(r3) -/* 8005B71C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8005B720 D8 01 00 08 */ stfd f0, 8(r1) -/* 8005B724 C0 24 00 04 */ lfs f1, 4(r4) -/* 8005B728 C0 03 00 04 */ lfs f0, 4(r3) -/* 8005B72C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8005B730 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8005B734 C0 24 00 08 */ lfs f1, 8(r4) -/* 8005B738 C0 03 00 08 */ lfs f0, 8(r3) -/* 8005B73C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8005B740 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8005B744 38 61 00 08 */ addi r3, r1, 8 -/* 8005B748 7C A4 2B 78 */ mr r4, r5 -/* 8005B74C 4B FF FF 15 */ bl vectle_calc__FP10DOUBLE_POSP4cXyz -/* 8005B750 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8005B754 7C 08 03 A6 */ mtlr r0 -/* 8005B758 38 21 00 20 */ addi r1, r1, 0x20 -/* 8005B75C 4E 80 00 20 */ blr diff --git a/asm/d/kankyo/d_kankyo_rain/rain_bg_chk__FP19dKankyo_rain_Packeti.s b/asm/d/kankyo/d_kankyo_rain/rain_bg_chk__FP19dKankyo_rain_Packeti.s deleted file mode 100644 index 9dbadb49b1..0000000000 --- a/asm/d/kankyo/d_kankyo_rain/rain_bg_chk__FP19dKankyo_rain_Packeti.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8005CDA8: -/* 8005CDA8 C0 22 88 78 */ lfs f1, lit_4430(r2) -/* 8005CDAC 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8005CDB0 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8005CDB4 80 A5 5D 74 */ lwz r5, 0x5d74(r5) -/* 8005CDB8 C0 05 00 E8 */ lfs f0, 0xe8(r5) -/* 8005CDBC EC 01 00 2A */ fadds f0, f1, f0 -/* 8005CDC0 1C 04 00 38 */ mulli r0, r4, 0x38 -/* 8005CDC4 7C 63 02 14 */ add r3, r3, r0 -/* 8005CDC8 D0 03 00 48 */ stfs f0, 0x48(r3) -/* 8005CDCC 4E 80 00 20 */ blr diff --git a/asm/d/menu/d_menu_letter/screenSetLetter__14dMenu_Letter_cFv.s b/asm/d/menu/d_menu_letter/screenSetLetter__14dMenu_Letter_cFv.s index 2dd077ed56..e9185021cf 100644 --- a/asm/d/menu/d_menu_letter/screenSetLetter__14dMenu_Letter_cFv.s +++ b/asm/d/menu/d_menu_letter/screenSetLetter__14dMenu_Letter_cFv.s @@ -142,8 +142,8 @@ lbl_801E05F0: /* 801E05F4 3B 40 00 00 */ li r26, 0 /* 801E05F8 3B A0 00 00 */ li r29, 0 /* 801E05FC 3B C0 00 00 */ li r30, 0 -/* 801E0600 3C 60 80 39 */ lis r3, line_tag@ha /* 0x80396D10@ha */ -/* 801E0604 3B 83 6D 10 */ addi r28, r3, line_tag@l /* 0x80396D10@l */ +/* 801E0600 3C 60 80 39 */ lis r3, line_tag4914@ha /* 0x80396D10@ha */ +/* 801E0604 3B 83 6D 10 */ addi r28, r3, line_tag4914@l /* 0x80396D10@l */ lbl_801E0608: /* 801E0608 7C 7C F2 14 */ add r3, r28, r30 /* 801E060C 80 A3 00 00 */ lwz r5, 0(r3) diff --git a/asm/d/particle/d_particle/__ct__13dPa_control_cFv.s b/asm/d/particle/d_particle/__ct__13dPa_control_cFv.s deleted file mode 100644 index f1f4fec545..0000000000 --- a/asm/d/particle/d_particle/__ct__13dPa_control_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8004BACC: -/* 8004BACC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004BAD0 7C 08 02 A6 */ mflr r0 -/* 8004BAD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004BAD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004BADC 7C 7F 1B 78 */ mr r31, r3 -/* 8004BAE0 38 7F 00 1C */ addi r3, r31, 0x1c -/* 8004BAE4 3C 80 80 05 */ lis r4, __ct__19dPa_simpleEcallBackFv@ha /* 0x8004ADF4@ha */ -/* 8004BAE8 38 84 AD F4 */ addi r4, r4, __ct__19dPa_simpleEcallBackFv@l /* 0x8004ADF4@l */ -/* 8004BAEC 3C A0 80 05 */ lis r5, __dt__19dPa_simpleEcallBackFv@ha /* 0x8004FC08@ha */ -/* 8004BAF0 38 A5 FC 08 */ addi r5, r5, __dt__19dPa_simpleEcallBackFv@l /* 0x8004FC08@l */ -/* 8004BAF4 38 C0 00 14 */ li r6, 0x14 -/* 8004BAF8 38 E0 00 19 */ li r7, 0x19 -/* 8004BAFC 48 31 62 65 */ bl __construct_array -/* 8004BB00 38 7F 02 10 */ addi r3, r31, 0x210 -/* 8004BB04 4B FF FB 85 */ bl __ct__Q213dPa_control_c7level_cFv -/* 8004BB08 4B FC 32 E5 */ bl mDoExt_getArchiveHeap__Fv -/* 8004BB0C 7C 64 1B 78 */ mr r4, r3 -/* 8004BB10 3C 60 00 09 */ lis r3, 0x0009 /* 0x00096000@ha */ -/* 8004BB14 38 63 60 00 */ addi r3, r3, 0x6000 /* 0x00096000@l */ -/* 8004BB18 38 A0 00 00 */ li r5, 0 -/* 8004BB1C 48 28 33 11 */ bl create__10JKRExpHeapFUlP7JKRHeapb -/* 8004BB20 90 7F 00 08 */ stw r3, 8(r31) -/* 8004BB24 38 60 00 00 */ li r3, 0 -/* 8004BB28 90 7F 00 00 */ stw r3, 0(r31) -/* 8004BB2C 90 7F 00 0C */ stw r3, 0xc(r31) -/* 8004BB30 38 00 00 FF */ li r0, 0xff -/* 8004BB34 98 1F 00 18 */ stb r0, 0x18(r31) -/* 8004BB38 90 6D 89 20 */ stw r3, mEmitterMng__13dPa_control_c(r13) -/* 8004BB3C 98 7F 00 19 */ stb r3, 0x19(r31) -/* 8004BB40 90 7F 00 04 */ stw r3, 4(r31) -/* 8004BB44 90 7F 00 14 */ stw r3, 0x14(r31) -/* 8004BB48 90 7F 00 10 */ stw r3, 0x10(r31) -/* 8004BB4C 3C 60 80 42 */ lis r3, mWindViewMatrix__13dPa_control_c@ha /* 0x80424870@ha */ -/* 8004BB50 38 63 48 70 */ addi r3, r3, mWindViewMatrix__13dPa_control_c@l /* 0x80424870@l */ -/* 8004BB54 48 2F A9 31 */ bl PSMTXIdentity -/* 8004BB58 7F E3 FB 78 */ mr r3, r31 -/* 8004BB5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004BB60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004BB64 7C 08 03 A6 */ mtlr r0 -/* 8004BB68 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004BB6C 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/__ct__19dPa_followEcallBackFUcUc.s b/asm/d/particle/d_particle/__ct__19dPa_followEcallBackFUcUc.s deleted file mode 100644 index 029639a1f3..0000000000 --- a/asm/d/particle/d_particle/__ct__19dPa_followEcallBackFUcUc.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80049580: -/* 80049580 3C C0 80 3B */ lis r6, __vt__18JPAEmitterCallBack@ha /* 0x803A8578@ha */ -/* 80049584 38 06 85 78 */ addi r0, r6, __vt__18JPAEmitterCallBack@l /* 0x803A8578@l */ -/* 80049588 90 03 00 00 */ stw r0, 0(r3) -/* 8004958C 3C C0 80 3B */ lis r6, __vt__18dPa_levelEcallBack@ha /* 0x803A8554@ha */ -/* 80049590 38 06 85 54 */ addi r0, r6, __vt__18dPa_levelEcallBack@l /* 0x803A8554@l */ -/* 80049594 90 03 00 00 */ stw r0, 0(r3) -/* 80049598 3C C0 80 3B */ lis r6, __vt__19dPa_followEcallBack@ha /* 0x803A852C@ha */ -/* 8004959C 38 06 85 2C */ addi r0, r6, __vt__19dPa_followEcallBack@l /* 0x803A852C@l */ -/* 800495A0 90 03 00 00 */ stw r0, 0(r3) -/* 800495A4 98 83 00 11 */ stb r4, 0x11(r3) -/* 800495A8 98 A3 00 12 */ stb r5, 0x12(r3) -/* 800495AC 38 00 00 00 */ li r0, 0 -/* 800495B0 98 03 00 13 */ stb r0, 0x13(r3) -/* 800495B4 90 03 00 04 */ stw r0, 4(r3) -/* 800495B8 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/__ct__Q213dPa_control_c7level_cFv.s b/asm/d/particle/d_particle/__ct__Q213dPa_control_c7level_cFv.s deleted file mode 100644 index ed7bb16130..0000000000 --- a/asm/d/particle/d_particle/__ct__Q213dPa_control_c7level_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8004B688: -/* 8004B688 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004B68C 7C 08 02 A6 */ mflr r0 -/* 8004B690 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004B694 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004B698 7C 7F 1B 78 */ mr r31, r3 -/* 8004B69C 38 7F 00 08 */ addi r3, r31, 8 -/* 8004B6A0 3C 80 80 05 */ lis r4, __ct__Q313dPa_control_c7level_c9emitter_cFv@ha /* 0x8004FBFC@ha */ -/* 8004B6A4 38 84 FB FC */ addi r4, r4, __ct__Q313dPa_control_c7level_c9emitter_cFv@l /* 0x8004FBFC@l */ -/* 8004B6A8 38 A0 00 00 */ li r5, 0 -/* 8004B6AC 38 C0 00 18 */ li r6, 0x18 -/* 8004B6B0 38 E0 00 80 */ li r7, 0x80 -/* 8004B6B4 48 31 66 AD */ bl __construct_array -/* 8004B6B8 38 80 00 00 */ li r4, 0 -/* 8004B6BC 90 9F 00 00 */ stw r4, 0(r31) -/* 8004B6C0 98 9F 00 04 */ stb r4, 4(r31) -/* 8004B6C4 7C 83 23 78 */ mr r3, r4 -/* 8004B6C8 38 00 01 00 */ li r0, 0x100 -/* 8004B6CC 7C 09 03 A6 */ mtctr r0 -lbl_8004B6D0: -/* 8004B6D0 38 03 0C 08 */ addi r0, r3, 0xc08 -/* 8004B6D4 7C 9F 01 2E */ stwx r4, r31, r0 -/* 8004B6D8 38 63 00 04 */ addi r3, r3, 4 -/* 8004B6DC 42 00 FF F4 */ bdnz lbl_8004B6D0 -/* 8004B6E0 7F E3 FB 78 */ mr r3, r31 -/* 8004B6E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004B6E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004B6EC 7C 08 03 A6 */ mtlr r0 -/* 8004B6F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004B6F4 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s b/asm/d/particle/d_particle/addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s deleted file mode 100644 index 9cc8f2b3ca..0000000000 --- a/asm/d/particle/d_particle/addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8004BA40: -/* 8004BA40 80 04 00 00 */ lwz r0, 0(r4) -/* 8004BA44 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d -/* 8004BA48 7C 63 02 14 */ add r3, r3, r0 -/* 8004BA4C 80 A3 0C 08 */ lwz r5, 0xc08(r3) -/* 8004BA50 28 05 00 00 */ cmplwi r5, 0 -/* 8004BA54 40 82 00 0C */ bne lbl_8004BA60 -/* 8004BA58 90 83 0C 08 */ stw r4, 0xc08(r3) -/* 8004BA5C 4E 80 00 20 */ blr -lbl_8004BA60: -/* 8004BA60 90 85 00 10 */ stw r4, 0x10(r5) -/* 8004BA64 80 03 0C 08 */ lwz r0, 0xc08(r3) -/* 8004BA68 90 04 00 14 */ stw r0, 0x14(r4) -/* 8004BA6C 90 83 0C 08 */ stw r4, 0xc08(r3) -/* 8004BA70 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/allForceOnEventMove__Q213dPa_control_c7level_cFv.s b/asm/d/particle/d_particle/allForceOnEventMove__Q213dPa_control_c7level_cFv.s deleted file mode 100644 index dd032dd138..0000000000 --- a/asm/d/particle/d_particle/allForceOnEventMove__Q213dPa_control_c7level_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8004B8E8: -/* 8004B8E8 38 63 00 08 */ addi r3, r3, 8 -/* 8004B8EC 38 00 00 80 */ li r0, 0x80 -/* 8004B8F0 7C 09 03 A6 */ mtctr r0 -lbl_8004B8F4: -/* 8004B8F4 80 03 00 00 */ lwz r0, 0(r3) -/* 8004B8F8 28 00 00 00 */ cmplwi r0, 0 -/* 8004B8FC 41 82 00 10 */ beq lbl_8004B90C -/* 8004B900 88 03 00 06 */ lbz r0, 6(r3) -/* 8004B904 60 00 00 02 */ ori r0, r0, 2 -/* 8004B908 98 03 00 06 */ stb r0, 6(r3) -lbl_8004B90C: -/* 8004B90C 38 63 00 18 */ addi r3, r3, 0x18 -/* 8004B910 42 00 FF E4 */ bdnz lbl_8004B8F4 -/* 8004B914 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/calc2D__13dPa_control_cFv.s b/asm/d/particle/d_particle/calc2D__13dPa_control_cFv.s deleted file mode 100644 index 4f2274370b..0000000000 --- a/asm/d/particle/d_particle/calc2D__13dPa_control_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8004C0EC: -/* 8004C0EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004C0F0 7C 08 02 A6 */ mflr r0 -/* 8004C0F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004C0F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004C0FC 3B E0 00 0E */ li r31, 0xe -/* 8004C100 48 00 00 14 */ b lbl_8004C114 -lbl_8004C104: -/* 8004C104 80 6D 89 20 */ lwz r3, mEmitterMng__13dPa_control_c(r13) -/* 8004C108 7F E4 FB 78 */ mr r4, r31 -/* 8004C10C 48 23 1E 95 */ bl calc__17JPAEmitterManagerFUc -/* 8004C110 3B FF 00 01 */ addi r31, r31, 1 -lbl_8004C114: -/* 8004C114 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8004C118 28 00 00 10 */ cmplwi r0, 0x10 -/* 8004C11C 40 81 FF E8 */ ble lbl_8004C104 -/* 8004C120 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004C124 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004C128 7C 08 03 A6 */ mtlr r0 -/* 8004C12C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004C130 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/calc3D__13dPa_control_cFv.s b/asm/d/particle/d_particle/calc3D__13dPa_control_cFv.s deleted file mode 100644 index 346168175c..0000000000 --- a/asm/d/particle/d_particle/calc3D__13dPa_control_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8004C078: -/* 8004C078 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004C07C 7C 08 02 A6 */ mflr r0 -/* 8004C080 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004C084 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004C088 93 C1 00 08 */ stw r30, 8(r1) -/* 8004C08C 7C 7E 1B 78 */ mr r30, r3 -/* 8004C090 88 6D 89 44 */ lbz r3, data_80450EC4(r13) -/* 8004C094 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 8004C098 41 82 00 10 */ beq lbl_8004C0A8 -/* 8004C09C 54 60 07 FA */ rlwinm r0, r3, 0, 0x1f, 0x1d -/* 8004C0A0 98 0D 89 44 */ stb r0, data_80450EC4(r13) -/* 8004C0A4 48 00 00 30 */ b lbl_8004C0D4 -lbl_8004C0A8: -/* 8004C0A8 3B E0 00 00 */ li r31, 0 -/* 8004C0AC 48 00 00 14 */ b lbl_8004C0C0 -lbl_8004C0B0: -/* 8004C0B0 80 6D 89 20 */ lwz r3, mEmitterMng__13dPa_control_c(r13) -/* 8004C0B4 7F E4 FB 78 */ mr r4, r31 -/* 8004C0B8 48 23 1E E9 */ bl calc__17JPAEmitterManagerFUc -/* 8004C0BC 3B FF 00 01 */ addi r31, r31, 1 -lbl_8004C0C0: -/* 8004C0C0 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8004C0C4 28 00 00 0D */ cmplwi r0, 0xd -/* 8004C0C8 40 81 FF E8 */ ble lbl_8004C0B0 -/* 8004C0CC 38 7E 02 10 */ addi r3, r30, 0x210 -/* 8004C0D0 4B FF F6 D9 */ bl execute__Q213dPa_control_c7level_cFv -lbl_8004C0D4: -/* 8004C0D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004C0D8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8004C0DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004C0E0 7C 08 03 A6 */ mtlr r0 -/* 8004C0E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004C0E8 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/calcMenu__13dPa_control_cFv.s b/asm/d/particle/d_particle/calcMenu__13dPa_control_cFv.s deleted file mode 100644 index 595192847b..0000000000 --- a/asm/d/particle/d_particle/calcMenu__13dPa_control_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8004C134: -/* 8004C134 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004C138 7C 08 02 A6 */ mflr r0 -/* 8004C13C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004C140 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004C144 80 0D 89 20 */ lwz r0, mEmitterMng__13dPa_control_c(r13) -/* 8004C148 28 00 00 00 */ cmplwi r0, 0 -/* 8004C14C 41 82 00 28 */ beq lbl_8004C174 -/* 8004C150 3B E0 00 11 */ li r31, 0x11 -/* 8004C154 48 00 00 14 */ b lbl_8004C168 -lbl_8004C158: -/* 8004C158 80 6D 89 20 */ lwz r3, mEmitterMng__13dPa_control_c(r13) -/* 8004C15C 7F E4 FB 78 */ mr r4, r31 -/* 8004C160 48 23 1E 41 */ bl calc__17JPAEmitterManagerFUc -/* 8004C164 3B FF 00 01 */ addi r31, r31, 1 -lbl_8004C168: -/* 8004C168 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8004C16C 28 00 00 12 */ cmplwi r0, 0x12 -/* 8004C170 40 81 FF E8 */ ble lbl_8004C158 -lbl_8004C174: -/* 8004C174 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004C178 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004C17C 7C 08 03 A6 */ mtlr r0 -/* 8004C180 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004C184 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/cleanup__13dPa_control_cFv.s b/asm/d/particle/d_particle/cleanup__13dPa_control_cFv.s deleted file mode 100644 index 3d4ef58190..0000000000 --- a/asm/d/particle/d_particle/cleanup__13dPa_control_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8004C054: -/* 8004C054 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004C058 7C 08 02 A6 */ mflr r0 -/* 8004C05C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004C060 38 63 02 10 */ addi r3, r3, 0x210 -/* 8004C064 4B FF F7 A5 */ bl cleanup__Q213dPa_control_c7level_cFv -/* 8004C068 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004C06C 7C 08 03 A6 */ mtlr r0 -/* 8004C070 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004C074 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/cleanup__Q213dPa_control_c7level_cFv.s b/asm/d/particle/d_particle/cleanup__Q213dPa_control_c7level_cFv.s deleted file mode 100644 index 7068622ca0..0000000000 --- a/asm/d/particle/d_particle/cleanup__Q213dPa_control_c7level_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8004B808: -/* 8004B808 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8004B80C 7C 08 02 A6 */ mflr r0 -/* 8004B810 90 01 00 24 */ stw r0, 0x24(r1) -/* 8004B814 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004B818 48 31 69 C1 */ bl _savegpr_28 -/* 8004B81C 7C 7C 1B 78 */ mr r28, r3 -/* 8004B820 3B DC 00 08 */ addi r30, r28, 8 -/* 8004B824 3B A0 00 00 */ li r29, 0 -/* 8004B828 3B E0 00 00 */ li r31, 0 -lbl_8004B82C: -/* 8004B82C 80 1E 00 00 */ lwz r0, 0(r30) -/* 8004B830 28 00 00 00 */ cmplwi r0, 0 -/* 8004B834 41 82 00 18 */ beq lbl_8004B84C -/* 8004B838 9B FE 00 06 */ stb r31, 6(r30) -/* 8004B83C 7F 83 E3 78 */ mr r3, r28 -/* 8004B840 7F C4 F3 78 */ mr r4, r30 -/* 8004B844 48 00 02 31 */ bl cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c -/* 8004B848 9B BC 00 04 */ stb r29, 4(r28) -lbl_8004B84C: -/* 8004B84C 3B BD 00 01 */ addi r29, r29, 1 -/* 8004B850 2C 1D 00 80 */ cmpwi r29, 0x80 -/* 8004B854 3B DE 00 18 */ addi r30, r30, 0x18 -/* 8004B858 41 80 FF D4 */ blt lbl_8004B82C -/* 8004B85C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004B860 48 31 69 C5 */ bl _restgpr_28 -/* 8004B864 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004B868 7C 08 03 A6 */ mtlr r0 -/* 8004B86C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8004B870 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s b/asm/d/particle/d_particle/cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s deleted file mode 100644 index 2f0964eb23..0000000000 --- a/asm/d/particle/d_particle/cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8004BA74: -/* 8004BA74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004BA78 7C 08 02 A6 */ mflr r0 -/* 8004BA7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004BA80 80 A4 00 10 */ lwz r5, 0x10(r4) -/* 8004BA84 80 C4 00 14 */ lwz r6, 0x14(r4) -/* 8004BA88 28 05 00 00 */ cmplwi r5, 0 -/* 8004BA8C 40 82 00 18 */ bne lbl_8004BAA4 -/* 8004BA90 80 04 00 00 */ lwz r0, 0(r4) -/* 8004BA94 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d -/* 8004BA98 7C 63 02 14 */ add r3, r3, r0 -/* 8004BA9C 90 C3 0C 08 */ stw r6, 0xc08(r3) -/* 8004BAA0 48 00 00 08 */ b lbl_8004BAA8 -lbl_8004BAA4: -/* 8004BAA4 90 C5 00 14 */ stw r6, 0x14(r5) -lbl_8004BAA8: -/* 8004BAA8 28 06 00 00 */ cmplwi r6, 0 -/* 8004BAAC 41 82 00 08 */ beq lbl_8004BAB4 -/* 8004BAB0 90 A6 00 10 */ stw r5, 0x10(r6) -lbl_8004BAB4: -/* 8004BAB4 7C 83 23 78 */ mr r3, r4 -/* 8004BAB8 4B FF FA F5 */ bl cleanup__Q313dPa_control_c7level_c9emitter_cFv -/* 8004BABC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004BAC0 7C 08 03 A6 */ mtlr r0 -/* 8004BAC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004BAC8 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/dPa_cleanupGX__Fv.s b/asm/d/particle/d_particle/dPa_cleanupGX__Fv.s deleted file mode 100644 index d28fed241b..0000000000 --- a/asm/d/particle/d_particle/dPa_cleanupGX__Fv.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_80049420: -/* 80049420 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80049424 7C 08 02 A6 */ mflr r0 -/* 80049428 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004942C 38 60 00 00 */ li r3, 0 -/* 80049430 38 80 00 00 */ li r4, 0 -/* 80049434 38 A0 00 00 */ li r5, 0 -/* 80049438 38 C0 00 00 */ li r6, 0 -/* 8004943C 38 E0 00 01 */ li r7, 1 -/* 80049440 39 00 00 00 */ li r8, 0 -/* 80049444 48 31 5E 69 */ bl GXSetTevColorOp -/* 80049448 38 60 00 00 */ li r3, 0 -/* 8004944C 38 80 00 00 */ li r4, 0 -/* 80049450 38 A0 00 00 */ li r5, 0 -/* 80049454 38 C0 00 00 */ li r6, 0 -/* 80049458 38 E0 00 01 */ li r7, 1 -/* 8004945C 39 00 00 00 */ li r8, 0 -/* 80049460 48 31 5E B5 */ bl GXSetTevAlphaOp -/* 80049464 38 60 00 00 */ li r3, 0 -/* 80049468 38 80 00 01 */ li r4, 1 -/* 8004946C 38 A0 00 01 */ li r5, 1 -/* 80049470 48 31 34 CD */ bl GXEnableTexOffsets -/* 80049474 38 60 00 01 */ li r3, 1 -/* 80049478 38 80 00 01 */ li r4, 1 -/* 8004947C 38 A0 00 01 */ li r5, 1 -/* 80049480 48 31 34 BD */ bl GXEnableTexOffsets -/* 80049484 38 60 00 02 */ li r3, 2 -/* 80049488 38 80 00 01 */ li r4, 1 -/* 8004948C 38 A0 00 01 */ li r5, 1 -/* 80049490 48 31 34 AD */ bl GXEnableTexOffsets -/* 80049494 38 60 00 00 */ li r3, 0 -/* 80049498 48 31 34 ED */ bl GXSetCullMode -/* 8004949C 38 60 00 00 */ li r3, 0 -/* 800494A0 48 31 35 0D */ bl GXSetCoPlanar -/* 800494A4 48 31 20 E9 */ bl GXClearVtxDesc -/* 800494A8 38 60 00 09 */ li r3, 9 -/* 800494AC 38 80 00 02 */ li r4, 2 -/* 800494B0 48 31 1A 09 */ bl GXSetVtxDesc -/* 800494B4 38 60 00 0D */ li r3, 0xd -/* 800494B8 38 80 00 02 */ li r4, 2 -/* 800494BC 48 31 19 FD */ bl GXSetVtxDesc -/* 800494C0 38 60 00 00 */ li r3, 0 -/* 800494C4 38 80 00 09 */ li r4, 9 -/* 800494C8 38 A0 00 01 */ li r5, 1 -/* 800494CC 38 C0 00 01 */ li r6, 1 -/* 800494D0 38 E0 00 00 */ li r7, 0 -/* 800494D4 48 31 20 F1 */ bl GXSetVtxAttrFmt -/* 800494D8 38 60 00 00 */ li r3, 0 -/* 800494DC 38 80 00 0D */ li r4, 0xd -/* 800494E0 38 A0 00 01 */ li r5, 1 -/* 800494E4 38 C0 00 01 */ li r6, 1 -/* 800494E8 38 E0 00 00 */ li r7, 0 -/* 800494EC 48 31 20 D9 */ bl GXSetVtxAttrFmt -/* 800494F0 38 60 00 01 */ li r3, 1 -/* 800494F4 38 80 00 09 */ li r4, 9 -/* 800494F8 38 A0 00 01 */ li r5, 1 -/* 800494FC 38 C0 00 04 */ li r6, 4 -/* 80049500 38 E0 00 00 */ li r7, 0 -/* 80049504 48 31 20 C1 */ bl GXSetVtxAttrFmt -/* 80049508 38 60 00 01 */ li r3, 1 -/* 8004950C 38 80 00 0D */ li r4, 0xd -/* 80049510 38 A0 00 01 */ li r5, 1 -/* 80049514 38 C0 00 04 */ li r6, 4 -/* 80049518 38 E0 00 00 */ li r7, 0 -/* 8004951C 48 31 20 A9 */ bl GXSetVtxAttrFmt -/* 80049520 38 60 00 00 */ li r3, 0 -/* 80049524 48 31 6D C9 */ bl GXSetCurrentMtx -/* 80049528 38 60 00 04 */ li r3, 4 -/* 8004952C 38 80 00 00 */ li r4, 0 -/* 80049530 38 A0 00 00 */ li r5, 0 -/* 80049534 38 C0 00 01 */ li r6, 1 -/* 80049538 38 E0 00 00 */ li r7, 0 -/* 8004953C 39 00 00 00 */ li r8, 0 -/* 80049540 39 20 00 02 */ li r9, 2 -/* 80049544 48 31 46 29 */ bl GXSetChanCtrl -/* 80049548 38 60 00 05 */ li r3, 5 -/* 8004954C 38 80 00 00 */ li r4, 0 -/* 80049550 38 A0 00 00 */ li r5, 0 -/* 80049554 38 C0 00 01 */ li r6, 1 -/* 80049558 38 E0 00 00 */ li r7, 0 -/* 8004955C 39 00 00 00 */ li r8, 0 -/* 80049560 39 20 00 02 */ li r9, 2 -/* 80049564 48 31 46 09 */ bl GXSetChanCtrl -/* 80049568 38 60 00 00 */ li r3, 0 -/* 8004956C 48 31 45 C5 */ bl GXSetNumChans -/* 80049570 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80049574 7C 08 03 A6 */ mtlr r0 -/* 80049578 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004957C 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/draw__13dPa_control_cFP11JPADrawInfoUc.s b/asm/d/particle/d_particle/draw__13dPa_control_cFP11JPADrawInfoUc.s deleted file mode 100644 index f1cf7996f5..0000000000 --- a/asm/d/particle/d_particle/draw__13dPa_control_cFP11JPADrawInfoUc.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8004C188: -/* 8004C188 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004C18C 7C 08 02 A6 */ mflr r0 -/* 8004C190 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004C194 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004C198 93 C1 00 08 */ stw r30, 8(r1) -/* 8004C19C 7C 9E 23 78 */ mr r30, r4 -/* 8004C1A0 7C BF 2B 78 */ mr r31, r5 -/* 8004C1A4 80 0D 89 20 */ lwz r0, mEmitterMng__13dPa_control_c(r13) -/* 8004C1A8 28 00 00 00 */ cmplwi r0, 0 -/* 8004C1AC 41 82 00 54 */ beq lbl_8004C200 -/* 8004C1B0 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8004C1B4 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8004C1B8 48 2C 45 85 */ bl reinitGX__6J3DSysFv -/* 8004C1BC 48 15 B4 05 */ bl dKy_setLight_again__Fv -/* 8004C1C0 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8004C1C4 28 00 00 06 */ cmplwi r0, 6 -/* 8004C1C8 41 80 00 10 */ blt lbl_8004C1D8 -/* 8004C1CC 28 00 00 0B */ cmplwi r0, 0xb -/* 8004C1D0 41 81 00 08 */ bgt lbl_8004C1D8 -/* 8004C1D4 48 15 C4 59 */ bl dKy_GxFog_set__Fv -lbl_8004C1D8: -/* 8004C1D8 80 6D 89 20 */ lwz r3, mEmitterMng__13dPa_control_c(r13) -/* 8004C1DC 7F C4 F3 78 */ mr r4, r30 -/* 8004C1E0 7F E5 FB 78 */ mr r5, r31 -/* 8004C1E4 48 23 1E 45 */ bl draw__17JPAEmitterManagerFPC11JPADrawInfoUc -/* 8004C1E8 38 60 00 00 */ li r3, 0 -/* 8004C1EC 48 31 3A 85 */ bl GXSetAlphaUpdate -/* 8004C1F0 38 60 00 00 */ li r3, 0 -/* 8004C1F4 48 31 2E E1 */ bl GXSetNumIndStages -/* 8004C1F8 38 60 00 00 */ li r3, 0 -/* 8004C1FC 48 31 43 D5 */ bl GXSetClipMode -lbl_8004C200: -/* 8004C200 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004C204 83 C1 00 08 */ lwz r30, 8(r1) -/* 8004C208 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004C20C 7C 08 03 A6 */ mtlr r0 -/* 8004C210 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004C214 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/end__19dPa_followEcallBackFv.s b/asm/d/particle/d_particle/end__19dPa_followEcallBackFv.s deleted file mode 100644 index 5f03e805ac..0000000000 --- a/asm/d/particle/d_particle/end__19dPa_followEcallBackFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8004974C: -/* 8004974C 80 83 00 04 */ lwz r4, 4(r3) -/* 80049750 28 04 00 00 */ cmplwi r4, 0 -/* 80049754 4D 82 00 20 */ beqlr -/* 80049758 80 04 00 F4 */ lwz r0, 0xf4(r4) -/* 8004975C 60 00 00 01 */ ori r0, r0, 1 -/* 80049760 90 04 00 F4 */ stw r0, 0xf4(r4) -/* 80049764 38 00 00 01 */ li r0, 1 -/* 80049768 90 04 00 24 */ stw r0, 0x24(r4) -/* 8004976C 80 83 00 04 */ lwz r4, 4(r3) -/* 80049770 80 04 00 F4 */ lwz r0, 0xf4(r4) -/* 80049774 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 -/* 80049778 90 04 00 F4 */ stw r0, 0xf4(r4) -/* 8004977C 38 A0 00 00 */ li r5, 0 -/* 80049780 80 83 00 04 */ lwz r4, 4(r3) -/* 80049784 90 A4 00 EC */ stw r5, 0xec(r4) -/* 80049788 88 03 00 10 */ lbz r0, 0x10(r3) -/* 8004978C 60 00 00 01 */ ori r0, r0, 1 -/* 80049790 98 03 00 10 */ stb r0, 0x10(r3) -/* 80049794 90 A3 00 04 */ stw r5, 4(r3) -/* 80049798 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack.s b/asm/d/particle/d_particle/entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack.s deleted file mode 100644 index 352ea367b3..0000000000 --- a/asm/d/particle/d_particle/entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_8004B94C: -/* 8004B94C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004B950 7C 08 02 A6 */ mflr r0 -/* 8004B954 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004B958 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004B95C 7C 7F 1B 78 */ mr r31, r3 -/* 8004B960 7C 89 23 78 */ mr r9, r4 -/* 8004B964 7C A8 2B 78 */ mr r8, r5 -/* 8004B968 7C C7 33 78 */ mr r7, r6 -/* 8004B96C 38 00 00 80 */ li r0, 0x80 -/* 8004B970 7C 09 03 A6 */ mtctr r0 -lbl_8004B974: -/* 8004B974 88 9F 00 04 */ lbz r4, 4(r31) -/* 8004B978 1C 64 00 18 */ mulli r3, r4, 0x18 -/* 8004B97C 38 03 00 08 */ addi r0, r3, 8 -/* 8004B980 7C 1F 00 2E */ lwzx r0, r31, r0 -/* 8004B984 28 00 00 00 */ cmplwi r0, 0 -/* 8004B988 40 82 00 60 */ bne lbl_8004B9E8 -/* 8004B98C 80 7F 00 00 */ lwz r3, 0(r31) -/* 8004B990 34 03 00 01 */ addic. r0, r3, 1 -/* 8004B994 90 1F 00 00 */ stw r0, 0(r31) -/* 8004B998 40 82 00 10 */ bne lbl_8004B9A8 -/* 8004B99C 80 7F 00 00 */ lwz r3, 0(r31) -/* 8004B9A0 38 03 00 01 */ addi r0, r3, 1 -/* 8004B9A4 90 1F 00 00 */ stw r0, 0(r31) -lbl_8004B9A8: -/* 8004B9A8 88 1F 00 04 */ lbz r0, 4(r31) -/* 8004B9AC 1C 60 00 18 */ mulli r3, r0, 0x18 -/* 8004B9B0 38 63 00 08 */ addi r3, r3, 8 -/* 8004B9B4 7C 7F 1A 14 */ add r3, r31, r3 -/* 8004B9B8 80 9F 00 00 */ lwz r4, 0(r31) -/* 8004B9BC 7D 25 4B 78 */ mr r5, r9 -/* 8004B9C0 7D 06 43 78 */ mr r6, r8 -/* 8004B9C4 4B FF FB 81 */ bl entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack -/* 8004B9C8 7F E3 FB 78 */ mr r3, r31 -/* 8004B9CC 88 1F 00 04 */ lbz r0, 4(r31) -/* 8004B9D0 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 8004B9D4 38 84 00 08 */ addi r4, r4, 8 -/* 8004B9D8 7C 9F 22 14 */ add r4, r31, r4 -/* 8004B9DC 48 00 00 65 */ bl addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c -/* 8004B9E0 80 7F 00 00 */ lwz r3, 0(r31) -/* 8004B9E4 48 00 00 48 */ b lbl_8004BA2C -lbl_8004B9E8: -/* 8004B9E8 38 64 00 01 */ addi r3, r4, 1 -/* 8004B9EC 54 60 C8 0C */ slwi r0, r3, 0x19 -/* 8004B9F0 54 63 0F FE */ srwi r3, r3, 0x1f -/* 8004B9F4 7C 03 00 50 */ subf r0, r3, r0 -/* 8004B9F8 54 00 38 3E */ rotlwi r0, r0, 7 -/* 8004B9FC 7C 00 1A 14 */ add r0, r0, r3 -/* 8004BA00 98 1F 00 04 */ stb r0, 4(r31) -/* 8004BA04 42 00 FF 70 */ bdnz lbl_8004B974 -/* 8004BA08 80 08 00 F4 */ lwz r0, 0xf4(r8) -/* 8004BA0C 60 00 00 01 */ ori r0, r0, 1 -/* 8004BA10 90 08 00 F4 */ stw r0, 0xf4(r8) -/* 8004BA14 38 00 00 01 */ li r0, 1 -/* 8004BA18 90 08 00 24 */ stw r0, 0x24(r8) -/* 8004BA1C 80 08 00 F4 */ lwz r0, 0xf4(r8) -/* 8004BA20 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 -/* 8004BA24 90 08 00 F4 */ stw r0, 0xf4(r8) -/* 8004BA28 38 60 00 00 */ li r3, 0 -lbl_8004BA2C: -/* 8004BA2C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004BA30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004BA34 7C 08 03 A6 */ mtlr r0 -/* 8004BA38 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004BA3C 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack.s b/asm/d/particle/d_particle/entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack.s deleted file mode 100644 index 8d181c2fff..0000000000 --- a/asm/d/particle/d_particle/entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8004B544: -/* 8004B544 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8004B548 7C 08 02 A6 */ mflr r0 -/* 8004B54C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8004B550 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004B554 48 31 6C 89 */ bl _savegpr_29 -/* 8004B558 7C 7D 1B 78 */ mr r29, r3 -/* 8004B55C 7C DE 33 78 */ mr r30, r6 -/* 8004B560 7C FF 3B 78 */ mr r31, r7 -/* 8004B564 90 83 00 00 */ stw r4, 0(r3) -/* 8004B568 B0 A3 00 04 */ sth r5, 4(r3) -/* 8004B56C 4B FF FF 99 */ bl onActive__Q313dPa_control_c7level_c9emitter_cFv -/* 8004B570 93 DD 00 08 */ stw r30, 8(r29) -/* 8004B574 93 FD 00 0C */ stw r31, 0xc(r29) -/* 8004B578 38 00 00 00 */ li r0, 0 -/* 8004B57C 90 1D 00 10 */ stw r0, 0x10(r29) -/* 8004B580 90 1D 00 14 */ stw r0, 0x14(r29) -/* 8004B584 80 7D 00 08 */ lwz r3, 8(r29) -/* 8004B588 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 8004B58C 60 00 00 40 */ ori r0, r0, 0x40 -/* 8004B590 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 8004B594 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004B598 48 31 6C 91 */ bl _restgpr_29 -/* 8004B59C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004B5A0 7C 08 03 A6 */ mtlr r0 -/* 8004B5A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8004B5A8 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s b/asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s deleted file mode 100644 index 7ca6d1c1d3..0000000000 --- a/asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8004B6F8: -/* 8004B6F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004B6FC 7C 08 02 A6 */ mflr r0 -/* 8004B700 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004B704 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8004B708 93 C1 00 08 */ stw r30, 8(r1) -/* 8004B70C 7C 7E 1B 78 */ mr r30, r3 -/* 8004B710 7C 9F 23 78 */ mr r31, r4 -/* 8004B714 88 64 00 06 */ lbz r3, 6(r4) -/* 8004B718 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 8004B71C 40 82 00 6C */ bne lbl_8004B788 -/* 8004B720 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 8004B724 40 82 00 18 */ bne lbl_8004B73C -/* 8004B728 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8004B72C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004B730 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8004B734 28 00 00 00 */ cmplwi r0, 0 -/* 8004B738 40 82 00 3C */ bne lbl_8004B774 -lbl_8004B73C: -/* 8004B73C 80 7F 00 08 */ lwz r3, 8(r31) -/* 8004B740 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 8004B744 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8004B748 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 8004B74C 7F C3 F3 78 */ mr r3, r30 -/* 8004B750 7F E4 FB 78 */ mr r4, r31 -/* 8004B754 48 00 03 21 */ bl cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c -/* 8004B758 38 1E 00 08 */ addi r0, r30, 8 -/* 8004B75C 7C 00 F8 50 */ subf r0, r0, r31 -/* 8004B760 38 60 00 18 */ li r3, 0x18 -/* 8004B764 7C 00 1B D6 */ divw r0, r0, r3 -/* 8004B768 7C 00 1B 96 */ divwu r0, r0, r3 -/* 8004B76C 98 1E 00 04 */ stb r0, 4(r30) -/* 8004B770 48 00 00 20 */ b lbl_8004B790 -lbl_8004B774: -/* 8004B774 80 7F 00 08 */ lwz r3, 8(r31) -/* 8004B778 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 8004B77C 60 00 00 02 */ ori r0, r0, 2 -/* 8004B780 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 8004B784 48 00 00 0C */ b lbl_8004B790 -lbl_8004B788: -/* 8004B788 54 60 06 3C */ rlwinm r0, r3, 0, 0x18, 0x1e -/* 8004B78C 98 1F 00 06 */ stb r0, 6(r31) -lbl_8004B790: -/* 8004B790 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8004B794 83 C1 00 08 */ lwz r30, 8(r1) -/* 8004B798 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004B79C 7C 08 03 A6 */ mtlr r0 -/* 8004B7A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004B7A4 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFv.s b/asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFv.s deleted file mode 100644 index 697d42ee97..0000000000 --- a/asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8004B7A8: -/* 8004B7A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8004B7AC 7C 08 02 A6 */ mflr r0 -/* 8004B7B0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8004B7B4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004B7B8 48 31 6A 25 */ bl _savegpr_29 -/* 8004B7BC 7C 7D 1B 78 */ mr r29, r3 -/* 8004B7C0 3B FD 00 08 */ addi r31, r29, 8 -/* 8004B7C4 3B C0 00 00 */ li r30, 0 -lbl_8004B7C8: -/* 8004B7C8 80 1F 00 00 */ lwz r0, 0(r31) -/* 8004B7CC 28 00 00 00 */ cmplwi r0, 0 -/* 8004B7D0 41 82 00 10 */ beq lbl_8004B7E0 -/* 8004B7D4 7F A3 EB 78 */ mr r3, r29 -/* 8004B7D8 7F E4 FB 78 */ mr r4, r31 -/* 8004B7DC 4B FF FF 1D */ bl execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c -lbl_8004B7E0: -/* 8004B7E0 3B DE 00 01 */ addi r30, r30, 1 -/* 8004B7E4 2C 1E 00 80 */ cmpwi r30, 0x80 -/* 8004B7E8 3B FF 00 18 */ addi r31, r31, 0x18 -/* 8004B7EC 41 80 FF DC */ blt lbl_8004B7C8 -/* 8004B7F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8004B7F4 48 31 6A 35 */ bl _restgpr_29 -/* 8004B7F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004B7FC 7C 08 03 A6 */ mtlr r0 -/* 8004B800 38 21 00 20 */ addi r1, r1, 0x20 -/* 8004B804 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/forceOnEventMove__Q213dPa_control_c7level_cFUl.s b/asm/d/particle/d_particle/forceOnEventMove__Q213dPa_control_c7level_cFUl.s deleted file mode 100644 index 1c6afabc96..0000000000 --- a/asm/d/particle/d_particle/forceOnEventMove__Q213dPa_control_c7level_cFUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8004B8B4: -/* 8004B8B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004B8B8 7C 08 02 A6 */ mflr r0 -/* 8004B8BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004B8C0 4B FF FF B5 */ bl get__Q213dPa_control_c7level_cFUl -/* 8004B8C4 28 03 00 00 */ cmplwi r3, 0 -/* 8004B8C8 41 82 00 10 */ beq lbl_8004B8D8 -/* 8004B8CC 88 03 00 06 */ lbz r0, 6(r3) -/* 8004B8D0 60 00 00 02 */ ori r0, r0, 2 -/* 8004B8D4 98 03 00 06 */ stb r0, 6(r3) -lbl_8004B8D8: -/* 8004B8D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004B8DC 7C 08 03 A6 */ mtlr r0 -/* 8004B8E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004B8E4 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s b/asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s deleted file mode 100644 index 8dd4578d3a..0000000000 --- a/asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8004B918: -/* 8004B918 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004B91C 7C 08 02 A6 */ mflr r0 -/* 8004B920 90 01 00 14 */ stw r0, 0x14(r1) -/* 8004B924 4B FF FF 51 */ bl get__Q213dPa_control_c7level_cFUl -/* 8004B928 28 03 00 00 */ cmplwi r3, 0 -/* 8004B92C 40 82 00 0C */ bne lbl_8004B938 -/* 8004B930 38 60 00 00 */ li r3, 0 -/* 8004B934 48 00 00 08 */ b lbl_8004B93C -lbl_8004B938: -/* 8004B938 80 63 00 08 */ lwz r3, 8(r3) -lbl_8004B93C: -/* 8004B93C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8004B940 7C 08 03 A6 */ mtlr r0 -/* 8004B944 38 21 00 10 */ addi r1, r1, 0x10 -/* 8004B948 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/getRM_ID__13dPa_control_cFUs.s b/asm/d/particle/d_particle/getRM_ID__13dPa_control_cFUs.s deleted file mode 100644 index f645a08efa..0000000000 --- a/asm/d/particle/d_particle/getRM_ID__13dPa_control_cFUs.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8004BB70: -/* 8004BB70 54 63 8F FE */ rlwinm r3, r3, 0x11, 0x1f, 0x1f -/* 8004BB74 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/get__Q213dPa_control_c7level_cFUl.s b/asm/d/particle/d_particle/get__Q213dPa_control_c7level_cFUl.s deleted file mode 100644 index 4874a95ea9..0000000000 --- a/asm/d/particle/d_particle/get__Q213dPa_control_c7level_cFUl.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8004B874: -/* 8004B874 28 04 00 00 */ cmplwi r4, 0 -/* 8004B878 40 82 00 0C */ bne lbl_8004B884 -/* 8004B87C 38 60 00 00 */ li r3, 0 -/* 8004B880 4E 80 00 20 */ blr -lbl_8004B884: -/* 8004B884 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d -/* 8004B888 7C 63 02 14 */ add r3, r3, r0 -/* 8004B88C 80 63 0C 08 */ lwz r3, 0xc08(r3) -/* 8004B890 48 00 00 14 */ b lbl_8004B8A4 -lbl_8004B894: -/* 8004B894 80 03 00 00 */ lwz r0, 0(r3) -/* 8004B898 7C 04 00 40 */ cmplw r4, r0 -/* 8004B89C 4D 82 00 20 */ beqlr -/* 8004B8A0 80 63 00 14 */ lwz r3, 0x14(r3) -lbl_8004B8A4: -/* 8004B8A4 28 03 00 00 */ cmplwi r3, 0 -/* 8004B8A8 40 82 FF EC */ bne lbl_8004B894 -/* 8004B8AC 38 60 00 00 */ li r3, 0 -/* 8004B8B0 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/onActive__Q313dPa_control_c7level_c9emitter_cFv.s b/asm/d/particle/d_particle/onActive__Q313dPa_control_c7level_c9emitter_cFv.s deleted file mode 100644 index 6a33145978..0000000000 --- a/asm/d/particle/d_particle/onActive__Q313dPa_control_c7level_c9emitter_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8004B504: -/* 8004B504 88 03 00 06 */ lbz r0, 6(r3) -/* 8004B508 60 00 00 01 */ ori r0, r0, 1 -/* 8004B50C 98 03 00 06 */ stb r0, 6(r3) -/* 8004B510 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8004B514 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004B518 88 04 4F AD */ lbz r0, 0x4fad(r4) -/* 8004B51C 28 00 00 00 */ cmplwi r0, 0 -/* 8004B520 41 82 00 14 */ beq lbl_8004B534 -/* 8004B524 88 03 00 06 */ lbz r0, 6(r3) -/* 8004B528 60 00 00 02 */ ori r0, r0, 2 -/* 8004B52C 98 03 00 06 */ stb r0, 6(r3) -/* 8004B530 4E 80 00 20 */ blr -lbl_8004B534: -/* 8004B534 88 03 00 06 */ lbz r0, 6(r3) -/* 8004B538 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 8004B53C 98 03 00 06 */ stb r0, 6(r3) -/* 8004B540 4E 80 00 20 */ blr diff --git a/asm/d/particle/d_particle/setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc.s b/asm/d/particle/d_particle/setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc.s deleted file mode 100644 index 949bba64eb..0000000000 --- a/asm/d/particle/d_particle/setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800496B4: -/* 800496B4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800496B8 7C 08 02 A6 */ mflr r0 -/* 800496BC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800496C0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800496C4 48 31 8B 15 */ bl _savegpr_28 -/* 800496C8 7C 7C 1B 78 */ mr r28, r3 -/* 800496CC 7C 9D 23 78 */ mr r29, r4 -/* 800496D0 7C BE 2B 78 */ mr r30, r5 -/* 800496D4 7C DF 33 78 */ mr r31, r6 -/* 800496D8 81 83 00 00 */ lwz r12, 0(r3) -/* 800496DC 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 800496E0 7D 89 03 A6 */ mtctr r12 -/* 800496E4 4E 80 04 21 */ bctrl -/* 800496E8 88 1C 00 13 */ lbz r0, 0x13(r28) -/* 800496EC 28 00 00 00 */ cmplwi r0, 0 -/* 800496F0 40 82 00 14 */ bne lbl_80049704 -/* 800496F4 93 BC 00 04 */ stw r29, 4(r28) -/* 800496F8 80 1D 00 F4 */ lwz r0, 0xf4(r29) -/* 800496FC 60 00 00 40 */ ori r0, r0, 0x40 -/* 80049700 90 1D 00 F4 */ stw r0, 0xf4(r29) -lbl_80049704: -/* 80049704 88 1C 00 12 */ lbz r0, 0x12(r28) -/* 80049708 28 00 00 00 */ cmplwi r0, 0 -/* 8004970C 40 82 00 28 */ bne lbl_80049734 -/* 80049710 88 1C 00 11 */ lbz r0, 0x11(r28) -/* 80049714 28 00 00 00 */ cmplwi r0, 0 -/* 80049718 41 82 00 0C */ beq lbl_80049724 -/* 8004971C 38 00 00 00 */ li r0, 0 -/* 80049720 90 1D 00 24 */ stw r0, 0x24(r29) -lbl_80049724: -/* 80049724 93 DC 00 08 */ stw r30, 8(r28) -/* 80049728 93 FC 00 0C */ stw r31, 0xc(r28) -/* 8004972C 38 00 00 00 */ li r0, 0 -/* 80049730 98 1C 00 10 */ stb r0, 0x10(r28) -lbl_80049734: -/* 80049734 39 61 00 20 */ addi r11, r1, 0x20 -/* 80049738 48 31 8A ED */ bl _restgpr_28 -/* 8004973C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80049740 7C 08 03 A6 */ mtlr r0 -/* 80049744 38 21 00 20 */ addi r1, r1, 0x20 -/* 80049748 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s b/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s index f2338066a7..6c86b3ff37 100644 --- a/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s +++ b/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s @@ -168,15 +168,15 @@ lbl_802596E4: /* 80259718 90 04 00 08 */ stw r0, 8(r4) /* 8025971C 48 00 00 38 */ b lbl_80259754 lbl_80259720: -/* 80259720 88 0D 89 44 */ lbz r0, data_80450EC4(r13) +/* 80259720 88 0D 89 44 */ lbz r0, mStatus__13dPa_control_c(r13) /* 80259724 60 03 00 01 */ ori r3, r0, 1 -/* 80259728 98 6D 89 44 */ stb r3, data_80450EC4(r13) +/* 80259728 98 6D 89 44 */ stb r3, mStatus__13dPa_control_c(r13) /* 8025972C 88 8D 8B A4 */ lbz r4, pauseTimer__9dScnPly_c+0x0(r13) /* 80259730 7C 80 07 75 */ extsb. r0, r4 /* 80259734 40 82 00 10 */ bne lbl_80259744 /* 80259738 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8025973C 60 00 00 02 */ ori r0, r0, 2 -/* 80259740 98 0D 89 44 */ stb r0, data_80450EC4(r13) +/* 80259740 98 0D 89 44 */ stb r0, mStatus__13dPa_control_c(r13) lbl_80259744: /* 80259744 7C 80 07 75 */ extsb. r0, r4 /* 80259748 40 82 00 0C */ bne lbl_80259754 diff --git a/asm/m_Do/m_Do_ext/ERROR_EXIT__15mDoExt_McaMorf2Fv.s b/asm/m_Do/m_Do_ext/ERROR_EXIT__15mDoExt_McaMorf2Fv.s deleted file mode 100644 index 0543615f18..0000000000 --- a/asm/m_Do/m_Do_ext/ERROR_EXIT__15mDoExt_McaMorf2Fv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800116B4: -/* 800116B4 80 03 00 20 */ lwz r0, 0x20(r3) -/* 800116B8 28 00 00 00 */ cmplwi r0, 0 -/* 800116BC 41 82 00 0C */ beq lbl_800116C8 -/* 800116C0 38 00 00 00 */ li r0, 0 -/* 800116C4 90 03 00 20 */ stw r0, 0x20(r3) -lbl_800116C8: -/* 800116C8 80 03 00 24 */ lwz r0, 0x24(r3) -/* 800116CC 28 00 00 00 */ cmplwi r0, 0 -/* 800116D0 41 82 00 0C */ beq lbl_800116DC -/* 800116D4 38 00 00 00 */ li r0, 0 -/* 800116D8 90 03 00 24 */ stw r0, 0x24(r3) -lbl_800116DC: -/* 800116DC 80 03 00 04 */ lwz r0, 4(r3) -/* 800116E0 28 00 00 00 */ cmplwi r0, 0 -/* 800116E4 4D 82 00 20 */ beqlr -/* 800116E8 38 00 00 00 */ li r0, 0 -/* 800116EC 90 03 00 04 */ stw r0, 4(r3) -/* 800116F0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/__ct__19mDoExt_invJntPacketFv.s b/asm/m_Do/m_Do_ext/__ct__19mDoExt_invJntPacketFv.s deleted file mode 100644 index a33bc77342..0000000000 --- a/asm/m_Do/m_Do_ext/__ct__19mDoExt_invJntPacketFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8000E654: -/* 8000E654 3C 80 80 3D */ lis r4, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 8000E658 38 04 D9 7C */ addi r0, r4, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 8000E65C 90 03 00 00 */ stw r0, 0(r3) -/* 8000E660 38 00 00 00 */ li r0, 0 -/* 8000E664 90 03 00 04 */ stw r0, 4(r3) -/* 8000E668 90 03 00 08 */ stw r0, 8(r3) -/* 8000E66C 90 03 00 0C */ stw r0, 0xc(r3) -/* 8000E670 3C 80 80 3A */ lis r4, __vt__19mDoExt_invJntPacket@ha /* 0x803A3270@ha */ -/* 8000E674 38 04 32 70 */ addi r0, r4, __vt__19mDoExt_invJntPacket@l /* 0x803A3270@l */ -/* 8000E678 90 03 00 00 */ stw r0, 0(r3) -/* 8000E67C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/__dt__19mDoExt_invJntPacketFv.s b/asm/m_Do/m_Do_ext/__dt__19mDoExt_invJntPacketFv.s deleted file mode 100644 index b969169ebb..0000000000 --- a/asm/m_Do/m_Do_ext/__dt__19mDoExt_invJntPacketFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8000E5F8: -/* 8000E5F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000E5FC 7C 08 02 A6 */ mflr r0 -/* 8000E600 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000E604 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000E608 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8000E60C 41 82 00 30 */ beq lbl_8000E63C -/* 8000E610 3C 60 80 3A */ lis r3, __vt__19mDoExt_invJntPacket@ha /* 0x803A3270@ha */ -/* 8000E614 38 03 32 70 */ addi r0, r3, __vt__19mDoExt_invJntPacket@l /* 0x803A3270@l */ -/* 8000E618 90 1F 00 00 */ stw r0, 0(r31) -/* 8000E61C 41 82 00 10 */ beq lbl_8000E62C -/* 8000E620 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */ -/* 8000E624 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */ -/* 8000E628 90 1F 00 00 */ stw r0, 0(r31) -lbl_8000E62C: -/* 8000E62C 7C 80 07 35 */ extsh. r0, r4 -/* 8000E630 40 81 00 0C */ ble lbl_8000E63C -/* 8000E634 7F E3 FB 78 */ mr r3, r31 -/* 8000E638 48 2C 07 05 */ bl __dl__FPv -lbl_8000E63C: -/* 8000E63C 7F E3 FB 78 */ mr r3, r31 -/* 8000E640 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000E644 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000E648 7C 08 03 A6 */ mtlr r0 -/* 8000E64C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000E650 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform.s b/asm/m_Do/m_Do_ext/changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform.s deleted file mode 100644 index ffc84e6f61..0000000000 --- a/asm/m_Do/m_Do_ext/changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8000D990: -/* 8000D990 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000D994 7C 08 02 A6 */ mflr r0 -/* 8000D998 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000D99C 7C 65 1B 78 */ mr r5, r3 -/* 8000D9A0 90 83 00 14 */ stw r4, 0x14(r3) -/* 8000D9A4 80 63 00 18 */ lwz r3, 0x18(r3) -/* 8000D9A8 80 85 00 14 */ lwz r4, 0x14(r5) -/* 8000D9AC 81 83 00 00 */ lwz r12, 0(r3) -/* 8000D9B0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8000D9B4 7D 89 03 A6 */ mtctr r12 -/* 8000D9B8 4E 80 04 21 */ bctrl -/* 8000D9BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000D9C0 7C 08 03 A6 */ mtlr r0 -/* 8000D9C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000D9C8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/create__21mDoExt_invisibleModelFP8J3DModelUc.s b/asm/m_Do/m_Do_ext/create__21mDoExt_invisibleModelFP8J3DModelUc.s deleted file mode 100644 index af7f1b7369..0000000000 --- a/asm/m_Do/m_Do_ext/create__21mDoExt_invisibleModelFP8J3DModelUc.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8000E53C: -/* 8000E53C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8000E540 7C 08 02 A6 */ mflr r0 -/* 8000E544 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000E548 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000E54C 48 35 3C 89 */ bl _savegpr_27 -/* 8000E550 7C 7B 1B 78 */ mr r27, r3 -/* 8000E554 7C 9C 23 78 */ mr r28, r4 -/* 8000E558 7C BD 2B 78 */ mr r29, r5 -/* 8000E55C 83 C4 00 04 */ lwz r30, 4(r4) -/* 8000E560 A3 FE 00 2C */ lhz r31, 0x2c(r30) -/* 8000E564 1C 7F 00 18 */ mulli r3, r31, 0x18 -/* 8000E568 38 63 00 10 */ addi r3, r3, 0x10 -/* 8000E56C 48 2C 07 59 */ bl __nwa__FUl -/* 8000E570 3C 80 80 01 */ lis r4, __ct__19mDoExt_invJntPacketFv@ha /* 0x8000E654@ha */ -/* 8000E574 38 84 E6 54 */ addi r4, r4, __ct__19mDoExt_invJntPacketFv@l /* 0x8000E654@l */ -/* 8000E578 3C A0 80 01 */ lis r5, __dt__19mDoExt_invJntPacketFv@ha /* 0x8000E5F8@ha */ -/* 8000E57C 38 A5 E5 F8 */ addi r5, r5, __dt__19mDoExt_invJntPacketFv@l /* 0x8000E5F8@l */ -/* 8000E580 38 C0 00 18 */ li r6, 0x18 -/* 8000E584 7F E7 FB 78 */ mr r7, r31 -/* 8000E588 48 35 39 8D */ bl __construct_new_array -/* 8000E58C 90 7B 00 04 */ stw r3, 4(r27) -/* 8000E590 80 1B 00 04 */ lwz r0, 4(r27) -/* 8000E594 28 00 00 00 */ cmplwi r0, 0 -/* 8000E598 40 82 00 0C */ bne lbl_8000E5A4 -/* 8000E59C 38 60 00 00 */ li r3, 0 -/* 8000E5A0 48 00 00 40 */ b lbl_8000E5E0 -lbl_8000E5A4: -/* 8000E5A4 93 9B 00 00 */ stw r28, 0(r27) -/* 8000E5A8 80 9B 00 04 */ lwz r4, 4(r27) -/* 8000E5AC 38 A0 00 00 */ li r5, 0 -/* 8000E5B0 48 00 00 1C */ b lbl_8000E5CC -lbl_8000E5B4: -/* 8000E5B4 80 1B 00 00 */ lwz r0, 0(r27) -/* 8000E5B8 90 04 00 10 */ stw r0, 0x10(r4) -/* 8000E5BC B0 A4 00 14 */ sth r5, 0x14(r4) -/* 8000E5C0 9B A4 00 16 */ stb r29, 0x16(r4) -/* 8000E5C4 38 84 00 18 */ addi r4, r4, 0x18 -/* 8000E5C8 38 A5 00 01 */ addi r5, r5, 1 -lbl_8000E5CC: -/* 8000E5CC 54 A3 04 3E */ clrlwi r3, r5, 0x10 -/* 8000E5D0 A0 1E 00 2C */ lhz r0, 0x2c(r30) -/* 8000E5D4 7C 03 00 40 */ cmplw r3, r0 -/* 8000E5D8 41 80 FF DC */ blt lbl_8000E5B4 -/* 8000E5DC 38 60 00 01 */ li r3, 1 -lbl_8000E5E0: -/* 8000E5E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000E5E4 48 35 3C 3D */ bl _restgpr_27 -/* 8000E5E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000E5EC 7C 08 03 A6 */ mtlr r0 -/* 8000E5F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8000E5F4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entryDL__14mDoExt_McaMorfFv.s b/asm/m_Do/m_Do_ext/entryDL__14mDoExt_McaMorfFv.s deleted file mode 100644 index 6b53180ede..0000000000 --- a/asm/m_Do/m_Do_ext/entryDL__14mDoExt_McaMorfFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80010680: -/* 80010680 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80010684 7C 08 02 A6 */ mflr r0 -/* 80010688 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001068C 80 63 00 04 */ lwz r3, 4(r3) -/* 80010690 28 03 00 00 */ cmplwi r3, 0 -/* 80010694 41 82 00 08 */ beq lbl_8001069C -/* 80010698 4B FF D6 CD */ bl mDoExt_modelEntryDL__FP8J3DModel -lbl_8001069C: -/* 8001069C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800106A0 7C 08 03 A6 */ mtlr r0 -/* 800106A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800106A8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entryDL__15mDoExt_McaMorf2Fv.s b/asm/m_Do/m_Do_ext/entryDL__15mDoExt_McaMorf2Fv.s deleted file mode 100644 index 0544bce3ab..0000000000 --- a/asm/m_Do/m_Do_ext/entryDL__15mDoExt_McaMorf2Fv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80012144: -/* 80012144 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80012148 7C 08 02 A6 */ mflr r0 -/* 8001214C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80012150 80 63 00 04 */ lwz r3, 4(r3) -/* 80012154 28 03 00 00 */ cmplwi r3, 0 -/* 80012158 41 82 00 08 */ beq lbl_80012160 -/* 8001215C 4B FF BC 09 */ bl mDoExt_modelEntryDL__FP8J3DModel -lbl_80012160: -/* 80012160 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80012164 7C 08 03 A6 */ mtlr r0 -/* 80012168 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001216C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entryDL__16mDoExt_McaMorfSOFv.s b/asm/m_Do/m_Do_ext/entryDL__16mDoExt_McaMorfSOFv.s deleted file mode 100644 index 1e52708ff1..0000000000 --- a/asm/m_Do/m_Do_ext/entryDL__16mDoExt_McaMorfSOFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800111C0: -/* 800111C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800111C4 7C 08 02 A6 */ mflr r0 -/* 800111C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800111CC 80 63 00 04 */ lwz r3, 4(r3) -/* 800111D0 28 03 00 00 */ cmplwi r3, 0 -/* 800111D4 41 82 00 08 */ beq lbl_800111DC -/* 800111D8 4B FF CB 8D */ bl mDoExt_modelEntryDL__FP8J3DModel -lbl_800111DC: -/* 800111DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800111E0 7C 08 03 A6 */ mtlr r0 -/* 800111E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800111E8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf.s b/asm/m_Do/m_Do_ext/entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf.s deleted file mode 100644 index 74fe72acea..0000000000 --- a/asm/m_Do/m_Do_ext/entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8000D9E8: -/* 8000D9E8 80 C3 00 14 */ lwz r6, 0x14(r3) -/* 8000D9EC D0 26 00 08 */ stfs f1, 8(r6) -/* 8000D9F0 80 84 00 28 */ lwz r4, 0x28(r4) -/* 8000D9F4 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d -/* 8000D9F8 7C 84 00 2E */ lwzx r4, r4, r0 -/* 8000D9FC 80 03 00 18 */ lwz r0, 0x18(r3) -/* 8000DA00 90 04 00 54 */ stw r0, 0x54(r4) -/* 8000DA04 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entry__13mDoExt_bckAnmFP12J3DModelDataf.s b/asm/m_Do/m_Do_ext/entry__13mDoExt_bckAnmFP12J3DModelDataf.s deleted file mode 100644 index 57b9b0e6a0..0000000000 --- a/asm/m_Do/m_Do_ext/entry__13mDoExt_bckAnmFP12J3DModelDataf.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8000D9CC: -/* 8000D9CC 80 A3 00 14 */ lwz r5, 0x14(r3) -/* 8000D9D0 D0 25 00 08 */ stfs f1, 8(r5) -/* 8000D9D4 80 84 00 28 */ lwz r4, 0x28(r4) -/* 8000D9D8 80 84 00 00 */ lwz r4, 0(r4) -/* 8000D9DC 80 03 00 18 */ lwz r0, 0x18(r3) -/* 8000D9E0 90 04 00 54 */ stw r0, 0x54(r4) -/* 8000D9E4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entry__13mDoExt_bpkAnmFP16J3DMaterialTablef.s b/asm/m_Do/m_Do_ext/entry__13mDoExt_bpkAnmFP16J3DMaterialTablef.s deleted file mode 100644 index d0f798a8b2..0000000000 --- a/asm/m_Do/m_Do_ext/entry__13mDoExt_bpkAnmFP16J3DMaterialTablef.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000D518: -/* 8000D518 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000D51C 7C 08 02 A6 */ mflr r0 -/* 8000D520 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000D524 7C 65 1B 78 */ mr r5, r3 -/* 8000D528 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D52C D0 23 00 08 */ stfs f1, 8(r3) -/* 8000D530 7C 83 23 78 */ mr r3, r4 -/* 8000D534 80 85 00 14 */ lwz r4, 0x14(r5) -/* 8000D538 48 32 25 BD */ bl entryMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor -/* 8000D53C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000D540 7C 08 03 A6 */ mtlr r0 -/* 8000D544 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000D548 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entry__13mDoExt_brkAnmFP16J3DMaterialTablef.s b/asm/m_Do/m_Do_ext/entry__13mDoExt_brkAnmFP16J3DMaterialTablef.s deleted file mode 100644 index 1f9b6dbf51..0000000000 --- a/asm/m_Do/m_Do_ext/entry__13mDoExt_brkAnmFP16J3DMaterialTablef.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000D7A8: -/* 8000D7A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000D7AC 7C 08 02 A6 */ mflr r0 -/* 8000D7B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000D7B4 7C 65 1B 78 */ mr r5, r3 -/* 8000D7B8 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D7BC D0 23 00 08 */ stfs f1, 8(r3) -/* 8000D7C0 7C 83 23 78 */ mr r3, r4 -/* 8000D7C4 80 85 00 14 */ lwz r4, 0x14(r5) -/* 8000D7C8 48 32 26 A9 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -/* 8000D7CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000D7D0 7C 08 03 A6 */ mtlr r0 -/* 8000D7D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000D7D8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/entry__13mDoExt_btkAnmFP16J3DMaterialTablef.s b/asm/m_Do/m_Do_ext/entry__13mDoExt_btkAnmFP16J3DMaterialTablef.s deleted file mode 100644 index c4c6411fbb..0000000000 --- a/asm/m_Do/m_Do_ext/entry__13mDoExt_btkAnmFP16J3DMaterialTablef.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8000D6D8: -/* 8000D6D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000D6DC 7C 08 02 A6 */ mflr r0 -/* 8000D6E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000D6E4 7C 65 1B 78 */ mr r5, r3 -/* 8000D6E8 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D6EC D0 23 00 08 */ stfs f1, 8(r3) -/* 8000D6F0 7C 83 23 78 */ mr r3, r4 -/* 8000D6F4 80 85 00 14 */ lwz r4, 0x14(r5) -/* 8000D6F8 48 32 25 CD */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey -/* 8000D6FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000D700 7C 08 03 A6 */ mtlr r0 -/* 8000D704 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000D708 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/func_800107D0.s b/asm/m_Do/m_Do_ext/func_800107D0.s deleted file mode 100644 index 77df7c8d32..0000000000 --- a/asm/m_Do/m_Do_ext/func_800107D0.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800107D0: -/* 800107D0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 800107D4 7C 08 02 A6 */ mflr r0 -/* 800107D8 90 01 00 54 */ stw r0, 0x54(r1) -/* 800107DC DB E1 00 48 */ stfd f31, 0x48(r1) -/* 800107E0 39 61 00 48 */ addi r11, r1, 0x48 -/* 800107E4 48 35 19 D9 */ bl _savegpr_21 -/* 800107E8 7C 75 1B 78 */ mr r21, r3 -/* 800107EC 7C 96 23 78 */ mr r22, r4 -/* 800107F0 7C B7 2B 78 */ mr r23, r5 -/* 800107F4 7C D8 33 78 */ mr r24, r6 -/* 800107F8 7C F9 3B 78 */ mr r25, r7 -/* 800107FC 7D 1A 43 78 */ mr r26, r8 -/* 80010800 FF E0 08 90 */ fmr f31, f1 -/* 80010804 7D 3B 4B 78 */ mr r27, r9 -/* 80010808 7D 5C 53 78 */ mr r28, r10 -/* 8001080C 83 A1 00 58 */ lwz r29, 0x58(r1) -/* 80010810 83 C1 00 5C */ lwz r30, 0x5c(r1) -/* 80010814 83 E1 00 60 */ lwz r31, 0x60(r1) -/* 80010818 4B FF F1 39 */ bl __ct__13mDoExt_morf_cFv -/* 8001081C 3C 60 80 3A */ lis r3, __vt__16mDoExt_McaMorfSO@ha /* 0x803A32B0@ha */ -/* 80010820 38 03 32 B0 */ addi r0, r3, __vt__16mDoExt_McaMorfSO@l /* 0x803A32B0@l */ -/* 80010824 90 15 00 00 */ stw r0, 0(r21) -/* 80010828 38 00 00 00 */ li r0, 0 -/* 8001082C 98 15 00 54 */ stb r0, 0x54(r21) -/* 80010830 98 15 00 55 */ stb r0, 0x55(r21) -/* 80010834 93 A1 00 08 */ stw r29, 8(r1) -/* 80010838 93 C1 00 0C */ stw r30, 0xc(r1) -/* 8001083C 93 E1 00 10 */ stw r31, 0x10(r1) -/* 80010840 7E A3 AB 78 */ mr r3, r21 -/* 80010844 7E C4 B3 78 */ mr r4, r22 -/* 80010848 7E E5 BB 78 */ mr r5, r23 -/* 8001084C 7F 06 C3 78 */ mr r6, r24 -/* 80010850 7F 27 CB 78 */ mr r7, r25 -/* 80010854 7F 48 D3 78 */ mr r8, r26 -/* 80010858 FC 20 F8 90 */ fmr f1, f31 -/* 8001085C 7F 69 DB 78 */ mr r9, r27 -/* 80010860 7F 8A E3 78 */ mr r10, r28 -/* 80010864 48 00 00 8D */ bl create__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl -/* 80010868 7E A3 AB 78 */ mr r3, r21 -/* 8001086C CB E1 00 48 */ lfd f31, 0x48(r1) -/* 80010870 39 61 00 48 */ addi r11, r1, 0x48 -/* 80010874 48 35 19 95 */ bl _restgpr_21 -/* 80010878 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8001087C 7C 08 03 A6 */ mtlr r0 -/* 80010880 38 21 00 50 */ addi r1, r1, 0x50 -/* 80010884 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss.s b/asm/m_Do/m_Do_ext/init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss.s deleted file mode 100644 index 6a16012da4..0000000000 --- a/asm/m_Do/m_Do_ext/init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8000DA08: -/* 8000DA08 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8000DA0C 7C 08 02 A6 */ mflr r0 -/* 8000DA10 90 01 00 34 */ stw r0, 0x34(r1) -/* 8000DA14 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 8000DA18 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000DA1C 48 35 47 B9 */ bl _savegpr_27 -/* 8000DA20 7C 7B 1B 78 */ mr r27, r3 -/* 8000DA24 7C DC 33 78 */ mr r28, r6 -/* 8000DA28 7C FD 3B 78 */ mr r29, r7 -/* 8000DA2C FF E0 08 90 */ fmr f31, f1 -/* 8000DA30 7D 1E 43 78 */ mr r30, r8 -/* 8000DA34 7D 3F 4B 78 */ mr r31, r9 -/* 8000DA38 90 A3 00 14 */ stw r5, 0x14(r3) -/* 8000DA3C 7C 83 23 78 */ mr r3, r4 -/* 8000DA40 80 9B 00 14 */ lwz r4, 0x14(r27) -/* 8000DA44 48 32 09 21 */ bl setAnm__13J3DDeformDataFP13J3DAnmCluster -/* 8000DA48 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000DA4C 41 82 00 3C */ beq lbl_8000DA88 -/* 8000DA50 2C 1D 00 00 */ cmpwi r29, 0 -/* 8000DA54 40 80 00 10 */ bge lbl_8000DA64 -/* 8000DA58 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000DA5C 88 A3 00 04 */ lbz r5, 4(r3) -/* 8000DA60 48 00 00 08 */ b lbl_8000DA68 -lbl_8000DA64: -/* 8000DA64 7F A5 EB 78 */ mr r5, r29 -lbl_8000DA68: -/* 8000DA68 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000DA6C A8 83 00 06 */ lha r4, 6(r3) -/* 8000DA70 7F 63 DB 78 */ mr r3, r27 -/* 8000DA74 FC 20 F8 90 */ fmr f1, f31 -/* 8000DA78 7F C6 F3 78 */ mr r6, r30 -/* 8000DA7C 7F E7 FB 78 */ mr r7, r31 -/* 8000DA80 4B FF F8 A1 */ bl initPlay__14mDoExt_baseAnmFsifss -/* 8000DA84 48 00 00 08 */ b lbl_8000DA8C -lbl_8000DA88: -/* 8000DA88 38 60 00 01 */ li r3, 1 -lbl_8000DA8C: -/* 8000DA8C CB E1 00 28 */ lfd f31, 0x28(r1) -/* 8000DA90 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000DA94 48 35 47 8D */ bl _restgpr_27 -/* 8000DA98 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8000DA9C 7C 08 03 A6 */ mtlr r0 -/* 8000DAA0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8000DAA4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss.s b/asm/m_Do/m_Do_ext/init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss.s deleted file mode 100644 index 322afebbbc..0000000000 --- a/asm/m_Do/m_Do_ext/init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8000D47C: -/* 8000D47C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8000D480 7C 08 02 A6 */ mflr r0 -/* 8000D484 90 01 00 34 */ stw r0, 0x34(r1) -/* 8000D488 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 8000D48C 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D490 48 35 4D 45 */ bl _savegpr_27 -/* 8000D494 7C 7B 1B 78 */ mr r27, r3 -/* 8000D498 7C DC 33 78 */ mr r28, r6 -/* 8000D49C 7C FD 3B 78 */ mr r29, r7 -/* 8000D4A0 FF E0 08 90 */ fmr f31, f1 -/* 8000D4A4 7D 1E 43 78 */ mr r30, r8 -/* 8000D4A8 7D 3F 4B 78 */ mr r31, r9 -/* 8000D4AC 90 A3 00 14 */ stw r5, 0x14(r3) -/* 8000D4B0 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D4B4 48 31 D3 F1 */ bl searchUpdateMaterialID__11J3DAnmColorFP16J3DMaterialTable -/* 8000D4B8 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000D4BC 41 82 00 3C */ beq lbl_8000D4F8 -/* 8000D4C0 2C 1D 00 00 */ cmpwi r29, 0 -/* 8000D4C4 40 80 00 10 */ bge lbl_8000D4D4 -/* 8000D4C8 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D4CC 88 A3 00 04 */ lbz r5, 4(r3) -/* 8000D4D0 48 00 00 08 */ b lbl_8000D4D8 -lbl_8000D4D4: -/* 8000D4D4 7F A5 EB 78 */ mr r5, r29 -lbl_8000D4D8: -/* 8000D4D8 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D4DC A8 83 00 06 */ lha r4, 6(r3) -/* 8000D4E0 7F 63 DB 78 */ mr r3, r27 -/* 8000D4E4 FC 20 F8 90 */ fmr f1, f31 -/* 8000D4E8 7F C6 F3 78 */ mr r6, r30 -/* 8000D4EC 7F E7 FB 78 */ mr r7, r31 -/* 8000D4F0 4B FF FE 31 */ bl initPlay__14mDoExt_baseAnmFsifss -/* 8000D4F4 48 00 00 08 */ b lbl_8000D4FC -lbl_8000D4F8: -/* 8000D4F8 38 60 00 01 */ li r3, 1 -lbl_8000D4FC: -/* 8000D4FC CB E1 00 28 */ lfd f31, 0x28(r1) -/* 8000D500 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D504 48 35 4D 1D */ bl _restgpr_27 -/* 8000D508 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8000D50C 7C 08 03 A6 */ mtlr r0 -/* 8000D510 38 21 00 30 */ addi r1, r1, 0x30 -/* 8000D514 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss.s b/asm/m_Do/m_Do_ext/init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss.s deleted file mode 100644 index 85ebaf1010..0000000000 --- a/asm/m_Do/m_Do_ext/init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8000D70C: -/* 8000D70C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8000D710 7C 08 02 A6 */ mflr r0 -/* 8000D714 90 01 00 34 */ stw r0, 0x34(r1) -/* 8000D718 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 8000D71C 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D720 48 35 4A B5 */ bl _savegpr_27 -/* 8000D724 7C 7B 1B 78 */ mr r27, r3 -/* 8000D728 7C DC 33 78 */ mr r28, r6 -/* 8000D72C 7C FD 3B 78 */ mr r29, r7 -/* 8000D730 FF E0 08 90 */ fmr f31, f1 -/* 8000D734 7D 1E 43 78 */ mr r30, r8 -/* 8000D738 7D 3F 4B 78 */ mr r31, r9 -/* 8000D73C 90 A3 00 14 */ stw r5, 0x14(r3) -/* 8000D740 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D744 48 31 E0 3D */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP16J3DMaterialTable -/* 8000D748 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000D74C 41 82 00 3C */ beq lbl_8000D788 -/* 8000D750 2C 1D 00 00 */ cmpwi r29, 0 -/* 8000D754 40 80 00 10 */ bge lbl_8000D764 -/* 8000D758 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D75C 88 A3 00 04 */ lbz r5, 4(r3) -/* 8000D760 48 00 00 08 */ b lbl_8000D768 -lbl_8000D764: -/* 8000D764 7F A5 EB 78 */ mr r5, r29 -lbl_8000D768: -/* 8000D768 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D76C A8 83 00 06 */ lha r4, 6(r3) -/* 8000D770 7F 63 DB 78 */ mr r3, r27 -/* 8000D774 FC 20 F8 90 */ fmr f1, f31 -/* 8000D778 7F C6 F3 78 */ mr r6, r30 -/* 8000D77C 7F E7 FB 78 */ mr r7, r31 -/* 8000D780 4B FF FB A1 */ bl initPlay__14mDoExt_baseAnmFsifss -/* 8000D784 48 00 00 08 */ b lbl_8000D78C -lbl_8000D788: -/* 8000D788 38 60 00 01 */ li r3, 1 -lbl_8000D78C: -/* 8000D78C CB E1 00 28 */ lfd f31, 0x28(r1) -/* 8000D790 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D794 48 35 4A 8D */ bl _restgpr_27 -/* 8000D798 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8000D79C 7C 08 03 A6 */ mtlr r0 -/* 8000D7A0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8000D7A4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss.s b/asm/m_Do/m_Do_ext/init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss.s deleted file mode 100644 index e3f8330e16..0000000000 --- a/asm/m_Do/m_Do_ext/init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8000D63C: -/* 8000D63C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8000D640 7C 08 02 A6 */ mflr r0 -/* 8000D644 90 01 00 34 */ stw r0, 0x34(r1) -/* 8000D648 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 8000D64C 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D650 48 35 4B 85 */ bl _savegpr_27 -/* 8000D654 7C 7B 1B 78 */ mr r27, r3 -/* 8000D658 7C DC 33 78 */ mr r28, r6 -/* 8000D65C 7C FD 3B 78 */ mr r29, r7 -/* 8000D660 FF E0 08 90 */ fmr f31, f1 -/* 8000D664 7D 1E 43 78 */ mr r30, r8 -/* 8000D668 7D 3F 4B 78 */ mr r31, r9 -/* 8000D66C 90 A3 00 14 */ stw r5, 0x14(r3) -/* 8000D670 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D674 48 31 DA 4D */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable -/* 8000D678 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000D67C 41 82 00 3C */ beq lbl_8000D6B8 -/* 8000D680 2C 1D 00 00 */ cmpwi r29, 0 -/* 8000D684 40 80 00 10 */ bge lbl_8000D694 -/* 8000D688 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D68C 88 A3 00 04 */ lbz r5, 4(r3) -/* 8000D690 48 00 00 08 */ b lbl_8000D698 -lbl_8000D694: -/* 8000D694 7F A5 EB 78 */ mr r5, r29 -lbl_8000D698: -/* 8000D698 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D69C A8 83 00 06 */ lha r4, 6(r3) -/* 8000D6A0 7F 63 DB 78 */ mr r3, r27 -/* 8000D6A4 FC 20 F8 90 */ fmr f1, f31 -/* 8000D6A8 7F C6 F3 78 */ mr r6, r30 -/* 8000D6AC 7F E7 FB 78 */ mr r7, r31 -/* 8000D6B0 4B FF FC 71 */ bl initPlay__14mDoExt_baseAnmFsifss -/* 8000D6B4 48 00 00 08 */ b lbl_8000D6BC -lbl_8000D6B8: -/* 8000D6B8 38 60 00 01 */ li r3, 1 -lbl_8000D6BC: -/* 8000D6BC CB E1 00 28 */ lfd f31, 0x28(r1) -/* 8000D6C0 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D6C4 48 35 4B 5D */ bl _restgpr_27 -/* 8000D6C8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8000D6CC 7C 08 03 A6 */ mtlr r0 -/* 8000D6D0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8000D6D4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss.s b/asm/m_Do/m_Do_ext/init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss.s deleted file mode 100644 index 197e19bbca..0000000000 --- a/asm/m_Do/m_Do_ext/init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8000D54C: -/* 8000D54C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8000D550 7C 08 02 A6 */ mflr r0 -/* 8000D554 90 01 00 34 */ stw r0, 0x34(r1) -/* 8000D558 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 8000D55C 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D560 48 35 4C 75 */ bl _savegpr_27 -/* 8000D564 7C 7B 1B 78 */ mr r27, r3 -/* 8000D568 7C DC 33 78 */ mr r28, r6 -/* 8000D56C 7C FD 3B 78 */ mr r29, r7 -/* 8000D570 FF E0 08 90 */ fmr f31, f1 -/* 8000D574 7D 1E 43 78 */ mr r30, r8 -/* 8000D578 7D 3F 4B 78 */ mr r31, r9 -/* 8000D57C 90 A3 00 14 */ stw r5, 0x14(r3) -/* 8000D580 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8000D584 48 31 DA 81 */ bl searchUpdateMaterialID__16J3DAnmTexPatternFP16J3DMaterialTable -/* 8000D588 2C 1C 00 00 */ cmpwi r28, 0 -/* 8000D58C 41 82 00 3C */ beq lbl_8000D5C8 -/* 8000D590 2C 1D 00 00 */ cmpwi r29, 0 -/* 8000D594 40 80 00 10 */ bge lbl_8000D5A4 -/* 8000D598 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D59C 88 A3 00 04 */ lbz r5, 4(r3) -/* 8000D5A0 48 00 00 08 */ b lbl_8000D5A8 -lbl_8000D5A4: -/* 8000D5A4 7F A5 EB 78 */ mr r5, r29 -lbl_8000D5A8: -/* 8000D5A8 80 7B 00 14 */ lwz r3, 0x14(r27) -/* 8000D5AC A8 83 00 06 */ lha r4, 6(r3) -/* 8000D5B0 7F 63 DB 78 */ mr r3, r27 -/* 8000D5B4 FC 20 F8 90 */ fmr f1, f31 -/* 8000D5B8 7F C6 F3 78 */ mr r6, r30 -/* 8000D5BC 7F E7 FB 78 */ mr r7, r31 -/* 8000D5C0 4B FF FD 61 */ bl initPlay__14mDoExt_baseAnmFsifss -/* 8000D5C4 48 00 00 08 */ b lbl_8000D5CC -lbl_8000D5C8: -/* 8000D5C8 38 60 00 01 */ li r3, 1 -lbl_8000D5CC: -/* 8000D5CC CB E1 00 28 */ lfd f31, 0x28(r1) -/* 8000D5D0 39 61 00 28 */ addi r11, r1, 0x28 -/* 8000D5D4 48 35 4C 4D */ bl _restgpr_27 -/* 8000D5D8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8000D5DC 7C 08 03 A6 */ mtlr r0 -/* 8000D5E0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8000D5E4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_GetCurrentRunningThread__Fv.s b/asm/m_Do/m_Do_ext/mDoExt_GetCurrentRunningThread__Fv.s deleted file mode 100644 index ad7e85654b..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_GetCurrentRunningThread__Fv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80014D64: -/* 80014D64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80014D68 7C 08 02 A6 */ mflr r0 -/* 80014D6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80014D70 48 32 BF 15 */ bl OSGetCurrentThread -/* 80014D74 28 03 00 00 */ cmplwi r3, 0 -/* 80014D78 41 82 00 14 */ beq lbl_80014D8C -/* 80014D7C A0 03 02 C8 */ lhz r0, 0x2c8(r3) -/* 80014D80 28 00 00 02 */ cmplwi r0, 2 -/* 80014D84 41 82 00 08 */ beq lbl_80014D8C -/* 80014D88 38 60 00 00 */ li r3, 0 -lbl_80014D8C: -/* 80014D8C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80014D90 7C 08 03 A6 */ mtlr r0 -/* 80014D94 38 21 00 10 */ addi r1, r1, 0x10 -/* 80014D98 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_J3DModel__create__FP12J3DModelDataUlUl.s b/asm/m_Do/m_Do_ext/mDoExt_J3DModel__create__FP12J3DModelDataUlUl.s deleted file mode 100644 index a5c1d476a7..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_J3DModel__create__FP12J3DModelDataUlUl.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_80014C54: -/* 80014C54 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80014C58 7C 08 02 A6 */ mflr r0 -/* 80014C5C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80014C60 39 61 00 20 */ addi r11, r1, 0x20 -/* 80014C64 48 34 D5 75 */ bl _savegpr_28 -/* 80014C68 7C 7C 1B 79 */ or. r28, r3, r3 -/* 80014C6C 7C 9D 23 78 */ mr r29, r4 -/* 80014C70 7C BE 2B 78 */ mr r30, r5 -/* 80014C74 41 82 00 CC */ beq lbl_80014D40 -/* 80014C78 38 60 00 DC */ li r3, 0xdc -/* 80014C7C 48 2B 9F D1 */ bl __nw__FUl -/* 80014C80 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80014C84 41 82 00 20 */ beq lbl_80014CA4 -/* 80014C88 3C 60 80 3D */ lis r3, __vt__8J3DModel@ha /* 0x803CED20@ha */ -/* 80014C8C 38 03 ED 20 */ addi r0, r3, __vt__8J3DModel@l /* 0x803CED20@l */ -/* 80014C90 90 1F 00 00 */ stw r0, 0(r31) -/* 80014C94 38 7F 00 88 */ addi r3, r31, 0x88 -/* 80014C98 48 2F C3 41 */ bl init__15J3DVertexBufferFv -/* 80014C9C 7F E3 FB 78 */ mr r3, r31 -/* 80014CA0 48 31 24 61 */ bl initialize__8J3DModelFv -lbl_80014CA4: -/* 80014CA4 28 1F 00 00 */ cmplwi r31, 0 -/* 80014CA8 41 82 00 98 */ beq lbl_80014D40 -/* 80014CAC 80 7C 00 60 */ lwz r3, 0x60(r28) -/* 80014CB0 80 63 00 00 */ lwz r3, 0(r3) -/* 80014CB4 80 03 00 48 */ lwz r0, 0x48(r3) -/* 80014CB8 28 00 00 00 */ cmplwi r0, 0 -/* 80014CBC 41 82 00 30 */ beq lbl_80014CEC -/* 80014CC0 A0 1C 00 74 */ lhz r0, 0x74(r28) -/* 80014CC4 28 00 00 01 */ cmplwi r0, 1 -/* 80014CC8 40 82 00 0C */ bne lbl_80014CD4 -/* 80014CCC 3F A0 00 02 */ lis r29, 2 -/* 80014CD0 48 00 00 1C */ b lbl_80014CEC -lbl_80014CD4: -/* 80014CD4 3C 1D FF FE */ addis r0, r29, 0xfffe -/* 80014CD8 28 00 00 00 */ cmplwi r0, 0 -/* 80014CDC 40 82 00 0C */ bne lbl_80014CE8 -/* 80014CE0 67 BD 00 04 */ oris r29, r29, 4 -/* 80014CE4 48 00 00 08 */ b lbl_80014CEC -lbl_80014CE8: -/* 80014CE8 3F A0 00 08 */ lis r29, 8 -lbl_80014CEC: -/* 80014CEC 7F E3 FB 78 */ mr r3, r31 -/* 80014CF0 7F 84 E3 78 */ mr r4, r28 -/* 80014CF4 7F A5 EB 78 */ mr r5, r29 -/* 80014CF8 38 C0 00 01 */ li r6, 1 -/* 80014CFC 48 31 24 89 */ bl entryModelData__8J3DModelFP12J3DModelDataUlUl -/* 80014D00 2C 03 00 00 */ cmpwi r3, 0 -/* 80014D04 40 82 00 3C */ bne lbl_80014D40 -/* 80014D08 3C 1D FF F8 */ addis r0, r29, 0xfff8 -/* 80014D0C 28 00 00 00 */ cmplwi r0, 0 -/* 80014D10 40 82 00 20 */ bne lbl_80014D30 -/* 80014D14 7F E3 FB 78 */ mr r3, r31 -/* 80014D18 7F C4 F3 78 */ mr r4, r30 -/* 80014D1C 48 31 28 E1 */ bl newDifferedDisplayList__8J3DModelFUl -/* 80014D20 2C 03 00 00 */ cmpwi r3, 0 -/* 80014D24 41 82 00 0C */ beq lbl_80014D30 -/* 80014D28 38 60 00 00 */ li r3, 0 -/* 80014D2C 48 00 00 18 */ b lbl_80014D44 -lbl_80014D30: -/* 80014D30 7F E3 FB 78 */ mr r3, r31 -/* 80014D34 48 31 29 49 */ bl lock__8J3DModelFv -/* 80014D38 7F E3 FB 78 */ mr r3, r31 -/* 80014D3C 48 00 00 08 */ b lbl_80014D44 -lbl_80014D40: -/* 80014D40 38 60 00 00 */ li r3, 0 -lbl_80014D44: -/* 80014D44 39 61 00 20 */ addi r11, r1, 0x20 -/* 80014D48 48 34 D4 DD */ bl _restgpr_28 -/* 80014D4C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80014D50 7C 08 03 A6 */ mtlr r0 -/* 80014D54 38 21 00 20 */ addi r1, r1, 0x20 -/* 80014D58 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_brkAnmRemove__FP12J3DModelData.s b/asm/m_Do/m_Do_ext/mDoExt_brkAnmRemove__FP12J3DModelData.s deleted file mode 100644 index 6cac3824e3..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_brkAnmRemove__FP12J3DModelData.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8000DE8C: -/* 8000DE8C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8000DE90 7C 08 02 A6 */ mflr r0 -/* 8000DE94 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000DE98 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000DE9C 48 35 43 35 */ bl _savegpr_26 -/* 8000DEA0 7C 7A 1B 78 */ mr r26, r3 -/* 8000DEA4 3B 80 00 00 */ li r28, 0 -/* 8000DEA8 3F E0 C0 00 */ lis r31, 0xc000 -/* 8000DEAC 48 00 00 68 */ b lbl_8000DF14 -lbl_8000DEB0: -/* 8000DEB0 80 7A 00 60 */ lwz r3, 0x60(r26) -/* 8000DEB4 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d -/* 8000DEB8 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8000DEBC 83 C3 00 3C */ lwz r30, 0x3c(r3) -/* 8000DEC0 7C 1E F8 40 */ cmplw r30, r31 -/* 8000DEC4 40 80 00 08 */ bge lbl_8000DECC -/* 8000DEC8 48 00 00 08 */ b lbl_8000DED0 -lbl_8000DECC: -/* 8000DECC 3B C0 00 00 */ li r30, 0 -lbl_8000DED0: -/* 8000DED0 28 1E 00 00 */ cmplwi r30, 0 -/* 8000DED4 41 82 00 3C */ beq lbl_8000DF10 -/* 8000DED8 3B 60 00 00 */ li r27, 0 -/* 8000DEDC 48 00 00 28 */ b lbl_8000DF04 -lbl_8000DEE0: -/* 8000DEE0 7F C3 F3 78 */ mr r3, r30 -/* 8000DEE4 7F A4 EB 78 */ mr r4, r29 -/* 8000DEE8 38 A0 00 00 */ li r5, 0 -/* 8000DEEC 48 31 E7 79 */ bl setTevColorAnm__14J3DMaterialAnmFiP14J3DTevColorAnm -/* 8000DEF0 7F C3 F3 78 */ mr r3, r30 -/* 8000DEF4 7F A4 EB 78 */ mr r4, r29 -/* 8000DEF8 38 A0 00 00 */ li r5, 0 -/* 8000DEFC 48 31 E7 A9 */ bl setTevKColorAnm__14J3DMaterialAnmFiP15J3DTevKColorAnm -/* 8000DF00 3B 7B 00 01 */ addi r27, r27, 1 -lbl_8000DF04: -/* 8000DF04 57 7D 04 3E */ clrlwi r29, r27, 0x10 -/* 8000DF08 2C 1D 00 04 */ cmpwi r29, 4 -/* 8000DF0C 41 80 FF D4 */ blt lbl_8000DEE0 -lbl_8000DF10: -/* 8000DF10 3B 9C 00 01 */ addi r28, r28, 1 -lbl_8000DF14: -/* 8000DF14 57 83 04 3E */ clrlwi r3, r28, 0x10 -/* 8000DF18 A0 1A 00 5C */ lhz r0, 0x5c(r26) -/* 8000DF1C 7C 03 00 40 */ cmplw r3, r0 -/* 8000DF20 41 80 FF 90 */ blt lbl_8000DEB0 -/* 8000DF24 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000DF28 48 35 42 F5 */ bl _restgpr_26 -/* 8000DF2C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000DF30 7C 08 03 A6 */ mtlr r0 -/* 8000DF34 38 21 00 20 */ addi r1, r1, 0x20 -/* 8000DF38 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_btkAnmRemove__FP12J3DModelData.s b/asm/m_Do/m_Do_ext/mDoExt_btkAnmRemove__FP12J3DModelData.s deleted file mode 100644 index adc1b1eefb..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_btkAnmRemove__FP12J3DModelData.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_8000DDF0: -/* 8000DDF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8000DDF4 7C 08 02 A6 */ mflr r0 -/* 8000DDF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000DDFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000DE00 48 35 43 D5 */ bl _savegpr_27 -/* 8000DE04 7C 7B 1B 78 */ mr r27, r3 -/* 8000DE08 3B A0 00 00 */ li r29, 0 -/* 8000DE0C 3F E0 C0 00 */ lis r31, 0xc000 -/* 8000DE10 48 00 00 54 */ b lbl_8000DE64 -lbl_8000DE14: -/* 8000DE14 80 7B 00 60 */ lwz r3, 0x60(r27) -/* 8000DE18 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d -/* 8000DE1C 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8000DE20 83 C3 00 3C */ lwz r30, 0x3c(r3) -/* 8000DE24 7C 1E F8 40 */ cmplw r30, r31 -/* 8000DE28 40 80 00 08 */ bge lbl_8000DE30 -/* 8000DE2C 48 00 00 08 */ b lbl_8000DE34 -lbl_8000DE30: -/* 8000DE30 3B C0 00 00 */ li r30, 0 -lbl_8000DE34: -/* 8000DE34 28 1E 00 00 */ cmplwi r30, 0 -/* 8000DE38 41 82 00 28 */ beq lbl_8000DE60 -/* 8000DE3C 3B 80 00 00 */ li r28, 0 -/* 8000DE40 48 00 00 14 */ b lbl_8000DE54 -lbl_8000DE44: -/* 8000DE44 7F C3 F3 78 */ mr r3, r30 -/* 8000DE48 38 A0 00 00 */ li r5, 0 -/* 8000DE4C 48 31 E7 99 */ bl setTexMtxAnm__14J3DMaterialAnmFiP12J3DTexMtxAnm -/* 8000DE50 3B 9C 00 01 */ addi r28, r28, 1 -lbl_8000DE54: -/* 8000DE54 57 84 04 3E */ clrlwi r4, r28, 0x10 -/* 8000DE58 2C 04 00 08 */ cmpwi r4, 8 -/* 8000DE5C 41 80 FF E8 */ blt lbl_8000DE44 -lbl_8000DE60: -/* 8000DE60 3B BD 00 01 */ addi r29, r29, 1 -lbl_8000DE64: -/* 8000DE64 57 A3 04 3E */ clrlwi r3, r29, 0x10 -/* 8000DE68 A0 1B 00 5C */ lhz r0, 0x5c(r27) -/* 8000DE6C 7C 03 00 40 */ cmplw r3, r0 -/* 8000DE70 41 80 FF A4 */ blt lbl_8000DE14 -/* 8000DE74 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000DE78 48 35 43 A9 */ bl _restgpr_27 -/* 8000DE7C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000DE80 7C 08 03 A6 */ mtlr r0 -/* 8000DE84 38 21 00 20 */ addi r1, r1, 0x20 -/* 8000DE88 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_changeMaterial__FP8J3DModel.s b/asm/m_Do/m_Do_ext/mDoExt_changeMaterial__FP8J3DModel.s deleted file mode 100644 index 1226ca28ef..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_changeMaterial__FP8J3DModel.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8000DAA8: -/* 8000DAA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000DAAC 7C 08 02 A6 */ mflr r0 -/* 8000DAB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000DAB4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000DAB8 93 C1 00 08 */ stw r30, 8(r1) -/* 8000DABC 83 E3 00 04 */ lwz r31, 4(r3) -/* 8000DAC0 3B C0 00 00 */ li r30, 0 -/* 8000DAC4 48 00 00 24 */ b lbl_8000DAE8 -lbl_8000DAC8: -/* 8000DAC8 80 7F 00 60 */ lwz r3, 0x60(r31) -/* 8000DACC 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d -/* 8000DAD0 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8000DAD4 81 83 00 00 */ lwz r12, 0(r3) -/* 8000DAD8 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8000DADC 7D 89 03 A6 */ mtctr r12 -/* 8000DAE0 4E 80 04 21 */ bctrl -/* 8000DAE4 3B DE 00 01 */ addi r30, r30, 1 -lbl_8000DAE8: -/* 8000DAE8 57 C3 04 3E */ clrlwi r3, r30, 0x10 -/* 8000DAEC A0 1F 00 5C */ lhz r0, 0x5c(r31) -/* 8000DAF0 7C 03 00 40 */ cmplw r3, r0 -/* 8000DAF4 41 80 FF D4 */ blt lbl_8000DAC8 -/* 8000DAF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000DAFC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8000DB00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000DB04 7C 08 03 A6 */ mtlr r0 -/* 8000DB08 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000DB0C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_getMesgFont__Fv.s b/asm/m_Do/m_Do_ext/mDoExt_getMesgFont__Fv.s deleted file mode 100644 index df53aaa3d3..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_getMesgFont__Fv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_800149F0: -/* 800149F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800149F4 7C 08 02 A6 */ mflr r0 -/* 800149F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800149FC 80 0D 86 C4 */ lwz r0, mDoExt_font0(r13) -/* 80014A00 28 00 00 00 */ cmplwi r0, 0 -/* 80014A04 40 82 00 08 */ bne lbl_80014A0C -/* 80014A08 4B FF FF 8D */ bl mDoExt_initFont0__Fv -lbl_80014A0C: -/* 80014A0C 80 6D 86 C8 */ lwz r3, mDoExt_font0_getCount(r13) -/* 80014A10 38 03 00 01 */ addi r0, r3, 1 -/* 80014A14 90 0D 86 C8 */ stw r0, mDoExt_font0_getCount(r13) -/* 80014A18 80 6D 86 C4 */ lwz r3, mDoExt_font0(r13) -/* 80014A1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80014A20 7C 08 03 A6 */ mtlr r0 -/* 80014A24 38 21 00 10 */ addi r1, r1, 0x10 -/* 80014A28 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s b/asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s deleted file mode 100644 index d5b0cfcbe8..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80014B04: -/* 80014B04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80014B08 7C 08 02 A6 */ mflr r0 -/* 80014B0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80014B10 80 0D 86 D0 */ lwz r0, mDoExt_font1(r13) -/* 80014B14 28 00 00 00 */ cmplwi r0, 0 -/* 80014B18 40 82 00 08 */ bne lbl_80014B20 -/* 80014B1C 4B FF FF 89 */ bl mDoExt_initFont1__Fv -lbl_80014B20: -/* 80014B20 80 6D 86 D4 */ lwz r3, mDoExt_font1_getCount(r13) -/* 80014B24 38 03 00 01 */ addi r0, r3, 1 -/* 80014B28 90 0D 86 D4 */ stw r0, mDoExt_font1_getCount(r13) -/* 80014B2C 80 6D 86 D0 */ lwz r3, mDoExt_font1(r13) -/* 80014B30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80014B34 7C 08 03 A6 */ mtlr r0 -/* 80014B38 38 21 00 10 */ addi r1, r1, 0x10 -/* 80014B3C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s b/asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s deleted file mode 100644 index 6ef7746cf8..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80014BA0: -/* 80014BA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80014BA4 7C 08 02 A6 */ mflr r0 -/* 80014BA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80014BAC 80 0D 86 DC */ lwz r0, mDoExt_font2(r13) -/* 80014BB0 28 00 00 00 */ cmplwi r0, 0 -/* 80014BB4 40 82 00 08 */ bne lbl_80014BBC -/* 80014BB8 4B FF FF 89 */ bl mDoExt_initFont2__Fv -lbl_80014BBC: -/* 80014BBC 80 6D 86 E0 */ lwz r3, mDoExt_font2_getCount(r13) -/* 80014BC0 38 03 00 01 */ addi r0, r3, 1 -/* 80014BC4 90 0D 86 E0 */ stw r0, mDoExt_font2_getCount(r13) -/* 80014BC8 80 6D 86 DC */ lwz r3, mDoExt_font2(r13) -/* 80014BCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80014BD0 7C 08 03 A6 */ mtlr r0 -/* 80014BD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80014BD8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_modelDiff__FP8J3DModel.s b/asm/m_Do/m_Do_ext/mDoExt_modelDiff__FP8J3DModel.s deleted file mode 100644 index 3722a20f8c..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_modelDiff__FP8J3DModel.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8000DBD8: -/* 8000DBD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000DBDC 7C 08 02 A6 */ mflr r0 -/* 8000DBE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000DBE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000DBE8 7C 7F 1B 78 */ mr r31, r3 -/* 8000DBEC 81 83 00 00 */ lwz r12, 0(r3) -/* 8000DBF0 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8000DBF4 7D 89 03 A6 */ mtctr r12 -/* 8000DBF8 4E 80 04 21 */ bctrl -/* 8000DBFC 7F E3 FB 78 */ mr r3, r31 -/* 8000DC00 48 31 9D A1 */ bl diff__8J3DModelFv -/* 8000DC04 7F E3 FB 78 */ mr r3, r31 -/* 8000DC08 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DC0C 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8000DC10 7D 89 03 A6 */ mtctr r12 -/* 8000DC14 4E 80 04 21 */ bctrl -/* 8000DC18 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000DC1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000DC20 7C 08 03 A6 */ mtlr r0 -/* 8000DC24 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000DC28 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_modelEntryDL__FP8J3DModel.s b/asm/m_Do/m_Do_ext/mDoExt_modelEntryDL__FP8J3DModel.s deleted file mode 100644 index 6bdfcc8653..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_modelEntryDL__FP8J3DModel.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8000DD64: -/* 8000DD64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000DD68 7C 08 02 A6 */ mflr r0 -/* 8000DD6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000DD70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000DD74 7C 7F 1B 78 */ mr r31, r3 -/* 8000DD78 80 A3 00 04 */ lwz r5, 4(r3) -/* 8000DD7C 80 85 00 60 */ lwz r4, 0x60(r5) -/* 8000DD80 80 84 00 00 */ lwz r4, 0(r4) -/* 8000DD84 80 04 00 48 */ lwz r0, 0x48(r4) -/* 8000DD88 28 00 00 00 */ cmplwi r0, 0 -/* 8000DD8C 41 82 00 18 */ beq lbl_8000DDA4 -/* 8000DD90 A0 05 00 74 */ lhz r0, 0x74(r5) -/* 8000DD94 28 00 00 01 */ cmplwi r0, 1 -/* 8000DD98 41 82 00 0C */ beq lbl_8000DDA4 -/* 8000DD9C 4B FF FE 3D */ bl mDoExt_modelDiff__FP8J3DModel -/* 8000DDA0 48 00 00 28 */ b lbl_8000DDC8 -lbl_8000DDA4: -/* 8000DDA4 7F E3 FB 78 */ mr r3, r31 -/* 8000DDA8 48 31 99 0D */ bl unlock__8J3DModelFv -/* 8000DDAC 7F E3 FB 78 */ mr r3, r31 -/* 8000DDB0 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DDB4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8000DDB8 7D 89 03 A6 */ mtctr r12 -/* 8000DDBC 4E 80 04 21 */ bctrl -/* 8000DDC0 7F E3 FB 78 */ mr r3, r31 -/* 8000DDC4 48 31 98 B9 */ bl lock__8J3DModelFv -lbl_8000DDC8: -/* 8000DDC8 7F E3 FB 78 */ mr r3, r31 -/* 8000DDCC 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DDD0 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8000DDD4 7D 89 03 A6 */ mtctr r12 -/* 8000DDD8 4E 80 04 21 */ bctrl -/* 8000DDDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000DDE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000DDE4 7C 08 03 A6 */ mtlr r0 -/* 8000DDE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000DDEC 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_modelTexturePatch__FP12J3DModelData.s b/asm/m_Do/m_Do_ext/mDoExt_modelTexturePatch__FP12J3DModelData.s deleted file mode 100644 index 034537f363..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_modelTexturePatch__FP12J3DModelData.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8000DB10: -/* 8000DB10 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8000DB14 7C 08 02 A6 */ mflr r0 -/* 8000DB18 90 01 00 24 */ stw r0, 0x24(r1) -/* 8000DB1C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000DB20 48 35 46 B1 */ bl _savegpr_26 -/* 8000DB24 7C 7A 1B 78 */ mr r26, r3 -/* 8000DB28 80 03 00 6C */ lwz r0, 0x6c(r3) -/* 8000DB2C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8000DB30 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8000DB34 90 03 00 58 */ stw r0, 0x58(r3) -/* 8000DB38 3B 80 00 00 */ li r28, 0 -/* 8000DB3C 3C 60 80 43 */ lis r3, sGDLObj__17J3DDisplayListObj@ha /* 0x80434C70@ha */ -/* 8000DB40 3B E3 4C 70 */ addi r31, r3, sGDLObj__17J3DDisplayListObj@l /* 0x80434C70@l */ -/* 8000DB44 48 00 00 5C */ b lbl_8000DBA0 -lbl_8000DB48: -/* 8000DB48 80 7A 00 60 */ lwz r3, 0x60(r26) -/* 8000DB4C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d -/* 8000DB50 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8000DB54 83 C3 00 2C */ lwz r30, 0x2c(r3) -/* 8000DB58 83 A3 00 48 */ lwz r29, 0x48(r3) -/* 8000DB5C 48 32 FB 99 */ bl OSDisableInterrupts -/* 8000DB60 7C 7B 1B 78 */ mr r27, r3 -/* 8000DB64 7F E3 FB 78 */ mr r3, r31 -/* 8000DB68 80 9D 00 00 */ lwz r4, 0(r29) -/* 8000DB6C 80 BD 00 08 */ lwz r5, 8(r29) -/* 8000DB70 48 35 34 29 */ bl GDInitGDLObj -/* 8000DB74 93 ED 94 00 */ stw r31, __GDCurrentDL(r13) -/* 8000DB78 7F C3 F3 78 */ mr r3, r30 -/* 8000DB7C 81 9E 00 00 */ lwz r12, 0(r30) -/* 8000DB80 81 8C 00 34 */ lwz r12, 0x34(r12) -/* 8000DB84 7D 89 03 A6 */ mtctr r12 -/* 8000DB88 4E 80 04 21 */ bctrl -/* 8000DB8C 7F 63 DB 78 */ mr r3, r27 -/* 8000DB90 48 32 FB 8D */ bl OSRestoreInterrupts -/* 8000DB94 38 00 00 00 */ li r0, 0 -/* 8000DB98 90 0D 94 00 */ stw r0, __GDCurrentDL(r13) -/* 8000DB9C 3B 9C 00 01 */ addi r28, r28, 1 -lbl_8000DBA0: -/* 8000DBA0 57 83 04 3E */ clrlwi r3, r28, 0x10 -/* 8000DBA4 A0 1A 00 5C */ lhz r0, 0x5c(r26) -/* 8000DBA8 7C 03 00 40 */ cmplw r3, r0 -/* 8000DBAC 41 80 FF 9C */ blt lbl_8000DB48 -/* 8000DBB0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8000DBB4 48 35 46 69 */ bl _restgpr_26 -/* 8000DBB8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8000DBBC 7C 08 03 A6 */ mtlr r0 -/* 8000DBC0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8000DBC4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_modelUpdateDL__FP8J3DModel.s b/asm/m_Do/m_Do_ext/mDoExt_modelUpdateDL__FP8J3DModel.s deleted file mode 100644 index d6594c6487..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_modelUpdateDL__FP8J3DModel.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8000DCC4: -/* 8000DCC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000DCC8 7C 08 02 A6 */ mflr r0 -/* 8000DCCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000DCD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000DCD4 7C 7F 1B 78 */ mr r31, r3 -/* 8000DCD8 80 A3 00 04 */ lwz r5, 4(r3) -/* 8000DCDC 80 85 00 60 */ lwz r4, 0x60(r5) -/* 8000DCE0 80 84 00 00 */ lwz r4, 0(r4) -/* 8000DCE4 80 04 00 48 */ lwz r0, 0x48(r4) -/* 8000DCE8 28 00 00 00 */ cmplwi r0, 0 -/* 8000DCEC 41 82 00 2C */ beq lbl_8000DD18 -/* 8000DCF0 A0 05 00 74 */ lhz r0, 0x74(r5) -/* 8000DCF4 28 00 00 01 */ cmplwi r0, 1 -/* 8000DCF8 41 82 00 20 */ beq lbl_8000DD18 -/* 8000DCFC 81 83 00 00 */ lwz r12, 0(r3) -/* 8000DD00 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000DD04 7D 89 03 A6 */ mtctr r12 -/* 8000DD08 4E 80 04 21 */ bctrl -/* 8000DD0C 7F E3 FB 78 */ mr r3, r31 -/* 8000DD10 4B FF FE C9 */ bl mDoExt_modelDiff__FP8J3DModel -/* 8000DD14 48 00 00 28 */ b lbl_8000DD3C -lbl_8000DD18: -/* 8000DD18 7F E3 FB 78 */ mr r3, r31 -/* 8000DD1C 48 31 99 99 */ bl unlock__8J3DModelFv -/* 8000DD20 7F E3 FB 78 */ mr r3, r31 -/* 8000DD24 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DD28 81 8C 00 08 */ lwz r12, 8(r12) -/* 8000DD2C 7D 89 03 A6 */ mtctr r12 -/* 8000DD30 4E 80 04 21 */ bctrl -/* 8000DD34 7F E3 FB 78 */ mr r3, r31 -/* 8000DD38 48 31 99 45 */ bl lock__8J3DModelFv -lbl_8000DD3C: -/* 8000DD3C 7F E3 FB 78 */ mr r3, r31 -/* 8000DD40 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DD44 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8000DD48 7D 89 03 A6 */ mtctr r12 -/* 8000DD4C 4E 80 04 21 */ bctrl -/* 8000DD50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000DD54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000DD58 7C 08 03 A6 */ mtlr r0 -/* 8000DD5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000DD60 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_modelUpdate__FP8J3DModel.s b/asm/m_Do/m_Do_ext/mDoExt_modelUpdate__FP8J3DModel.s deleted file mode 100644 index c29262d43d..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_modelUpdate__FP8J3DModel.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_8000DC2C: -/* 8000DC2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000DC30 7C 08 02 A6 */ mflr r0 -/* 8000DC34 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000DC38 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000DC3C 7C 7F 1B 78 */ mr r31, r3 -/* 8000DC40 80 A3 00 04 */ lwz r5, 4(r3) -/* 8000DC44 80 85 00 60 */ lwz r4, 0x60(r5) -/* 8000DC48 80 84 00 00 */ lwz r4, 0(r4) -/* 8000DC4C 80 04 00 48 */ lwz r0, 0x48(r4) -/* 8000DC50 28 00 00 00 */ cmplwi r0, 0 -/* 8000DC54 41 82 00 2C */ beq lbl_8000DC80 -/* 8000DC58 A0 05 00 74 */ lhz r0, 0x74(r5) -/* 8000DC5C 28 00 00 01 */ cmplwi r0, 1 -/* 8000DC60 41 82 00 20 */ beq lbl_8000DC80 -/* 8000DC64 81 83 00 00 */ lwz r12, 0(r3) -/* 8000DC68 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8000DC6C 7D 89 03 A6 */ mtctr r12 -/* 8000DC70 4E 80 04 21 */ bctrl -/* 8000DC74 7F E3 FB 78 */ mr r3, r31 -/* 8000DC78 4B FF FF 61 */ bl mDoExt_modelDiff__FP8J3DModel -/* 8000DC7C 48 00 00 20 */ b lbl_8000DC9C -lbl_8000DC80: -/* 8000DC80 7F E3 FB 78 */ mr r3, r31 -/* 8000DC84 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DC88 81 8C 00 08 */ lwz r12, 8(r12) -/* 8000DC8C 7D 89 03 A6 */ mtctr r12 -/* 8000DC90 4E 80 04 21 */ bctrl -/* 8000DC94 7F E3 FB 78 */ mr r3, r31 -/* 8000DC98 48 31 99 E5 */ bl lock__8J3DModelFv -lbl_8000DC9C: -/* 8000DC9C 7F E3 FB 78 */ mr r3, r31 -/* 8000DCA0 81 9F 00 00 */ lwz r12, 0(r31) -/* 8000DCA4 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8000DCA8 7D 89 03 A6 */ mtctr r12 -/* 8000DCAC 4E 80 04 21 */ bctrl -/* 8000DCB0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000DCB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000DCB8 7C 08 03 A6 */ mtlr r0 -/* 8000DCBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000DCC0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_resIDToIndex__FP10JKRArchiveUs.s b/asm/m_Do/m_Do_ext/mDoExt_resIDToIndex__FP10JKRArchiveUs.s deleted file mode 100644 index 72c1dce8b5..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_resIDToIndex__FP10JKRArchiveUs.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8000F220: -/* 8000F220 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8000F224 7C 08 02 A6 */ mflr r0 -/* 8000F228 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000F22C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000F230 7C 7F 1B 78 */ mr r31, r3 -/* 8000F234 48 2C 75 3D */ bl findIdResource__10JKRArchiveCFUs -/* 8000F238 28 03 00 00 */ cmplwi r3, 0 -/* 8000F23C 40 82 00 0C */ bne lbl_8000F248 -/* 8000F240 38 60 FF FF */ li r3, -1 -/* 8000F244 48 00 00 14 */ b lbl_8000F258 -lbl_8000F248: -/* 8000F248 80 1F 00 4C */ lwz r0, 0x4c(r31) -/* 8000F24C 7C 60 18 50 */ subf r3, r0, r3 -/* 8000F250 38 00 00 14 */ li r0, 0x14 -/* 8000F254 7C 63 03 D6 */ divw r3, r3, r0 -lbl_8000F258: -/* 8000F258 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8000F25C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8000F260 7C 08 03 A6 */ mtlr r0 -/* 8000F264 38 21 00 10 */ addi r1, r1, 0x10 -/* 8000F268 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/mDoExt_setAraCacheSize__FUl.s b/asm/m_Do/m_Do_ext/mDoExt_setAraCacheSize__FUl.s deleted file mode 100644 index 3217c504dc..0000000000 --- a/asm/m_Do/m_Do_ext/mDoExt_setAraCacheSize__FUl.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80014D5C: -/* 80014D5C 90 6D 86 E8 */ stw r3, aram_cache_size(r13) -/* 80014D60 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/modelCalc__14mDoExt_McaMorfFv.s b/asm/m_Do/m_Do_ext/modelCalc__14mDoExt_McaMorfFv.s deleted file mode 100644 index ed19e643d5..0000000000 --- a/asm/m_Do/m_Do_ext/modelCalc__14mDoExt_McaMorfFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800106AC: -/* 800106AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800106B0 7C 08 02 A6 */ mflr r0 -/* 800106B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800106B8 80 03 00 04 */ lwz r0, 4(r3) -/* 800106BC 28 00 00 00 */ cmplwi r0, 0 -/* 800106C0 41 82 00 40 */ beq lbl_80010700 -/* 800106C4 80 83 00 08 */ lwz r4, 8(r3) -/* 800106C8 28 04 00 00 */ cmplwi r4, 0 -/* 800106CC 41 82 00 0C */ beq lbl_800106D8 -/* 800106D0 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800106D4 D0 04 00 08 */ stfs f0, 8(r4) -lbl_800106D8: -/* 800106D8 80 83 00 04 */ lwz r4, 4(r3) -/* 800106DC 80 84 00 04 */ lwz r4, 4(r4) -/* 800106E0 80 84 00 28 */ lwz r4, 0x28(r4) -/* 800106E4 80 84 00 00 */ lwz r4, 0(r4) -/* 800106E8 90 64 00 54 */ stw r3, 0x54(r4) -/* 800106EC 80 63 00 04 */ lwz r3, 4(r3) -/* 800106F0 81 83 00 00 */ lwz r12, 0(r3) -/* 800106F4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 800106F8 7D 89 03 A6 */ mtctr r12 -/* 800106FC 4E 80 04 21 */ bctrl -lbl_80010700: -/* 80010700 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80010704 7C 08 03 A6 */ mtlr r0 -/* 80010708 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001070C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/modelCalc__15mDoExt_McaMorf2Fv.s b/asm/m_Do/m_Do_ext/modelCalc__15mDoExt_McaMorf2Fv.s deleted file mode 100644 index a4c4231b15..0000000000 --- a/asm/m_Do/m_Do_ext/modelCalc__15mDoExt_McaMorf2Fv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80012170: -/* 80012170 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80012174 7C 08 02 A6 */ mflr r0 -/* 80012178 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001217C 80 03 00 04 */ lwz r0, 4(r3) -/* 80012180 28 00 00 00 */ cmplwi r0, 0 -/* 80012184 41 82 00 54 */ beq lbl_800121D8 -/* 80012188 80 83 00 08 */ lwz r4, 8(r3) -/* 8001218C 28 04 00 00 */ cmplwi r4, 0 -/* 80012190 41 82 00 0C */ beq lbl_8001219C -/* 80012194 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80012198 D0 04 00 08 */ stfs f0, 8(r4) -lbl_8001219C: -/* 8001219C 80 83 00 40 */ lwz r4, 0x40(r3) -/* 800121A0 28 04 00 00 */ cmplwi r4, 0 -/* 800121A4 41 82 00 0C */ beq lbl_800121B0 -/* 800121A8 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800121AC D0 04 00 08 */ stfs f0, 8(r4) -lbl_800121B0: -/* 800121B0 80 83 00 04 */ lwz r4, 4(r3) -/* 800121B4 80 84 00 04 */ lwz r4, 4(r4) -/* 800121B8 80 84 00 28 */ lwz r4, 0x28(r4) -/* 800121BC 80 84 00 00 */ lwz r4, 0(r4) -/* 800121C0 90 64 00 54 */ stw r3, 0x54(r4) -/* 800121C4 80 63 00 04 */ lwz r3, 4(r3) -/* 800121C8 81 83 00 00 */ lwz r12, 0(r3) -/* 800121CC 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 800121D0 7D 89 03 A6 */ mtctr r12 -/* 800121D4 4E 80 04 21 */ bctrl -lbl_800121D8: -/* 800121D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800121DC 7C 08 03 A6 */ mtlr r0 -/* 800121E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800121E4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/modelCalc__16mDoExt_McaMorfSOFv.s b/asm/m_Do/m_Do_ext/modelCalc__16mDoExt_McaMorfSOFv.s deleted file mode 100644 index f7246f69a2..0000000000 --- a/asm/m_Do/m_Do_ext/modelCalc__16mDoExt_McaMorfSOFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800111EC: -/* 800111EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800111F0 7C 08 02 A6 */ mflr r0 -/* 800111F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800111F8 80 03 00 04 */ lwz r0, 4(r3) -/* 800111FC 28 00 00 00 */ cmplwi r0, 0 -/* 80011200 41 82 00 40 */ beq lbl_80011240 -/* 80011204 80 83 00 08 */ lwz r4, 8(r3) -/* 80011208 28 04 00 00 */ cmplwi r4, 0 -/* 8001120C 41 82 00 0C */ beq lbl_80011218 -/* 80011210 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80011214 D0 04 00 08 */ stfs f0, 8(r4) -lbl_80011218: -/* 80011218 80 83 00 04 */ lwz r4, 4(r3) -/* 8001121C 80 84 00 04 */ lwz r4, 4(r4) -/* 80011220 80 84 00 28 */ lwz r4, 0x28(r4) -/* 80011224 80 84 00 00 */ lwz r4, 0(r4) -/* 80011228 90 64 00 54 */ stw r3, 0x54(r4) -/* 8001122C 80 63 00 04 */ lwz r3, 4(r3) -/* 80011230 81 83 00 00 */ lwz r12, 0(r3) -/* 80011234 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80011238 7D 89 03 A6 */ mtctr r12 -/* 8001123C 4E 80 04 21 */ bctrl -lbl_80011240: -/* 80011240 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80011244 7C 08 03 A6 */ mtlr r0 -/* 80011248 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001124C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat0_cFv.s b/asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat0_cFv.s deleted file mode 100644 index 13f1ff0ce5..0000000000 --- a/asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat0_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_800126C0: -/* 800126C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800126C4 7C 08 02 A6 */ mflr r0 -/* 800126C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800126CC 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 800126D0 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 800126D4 48 2F E0 69 */ bl reinitGX__6J3DSysFv -/* 800126D8 38 60 00 00 */ li r3, 0 -/* 800126DC 48 34 C9 F9 */ bl GXSetNumIndStages -/* 800126E0 48 19 4E E1 */ bl dKy_setLight_again__Fv -/* 800126E4 48 34 8E A9 */ bl GXClearVtxDesc -/* 800126E8 38 60 00 09 */ li r3, 9 -/* 800126EC 38 80 00 03 */ li r4, 3 -/* 800126F0 48 34 87 C9 */ bl GXSetVtxDesc -/* 800126F4 38 60 00 0A */ li r3, 0xa -/* 800126F8 38 80 00 03 */ li r4, 3 -/* 800126FC 48 34 87 BD */ bl GXSetVtxDesc -/* 80012700 38 60 00 00 */ li r3, 0 -/* 80012704 38 80 00 09 */ li r4, 9 -/* 80012708 38 A0 00 01 */ li r5, 1 -/* 8001270C 38 C0 00 04 */ li r6, 4 -/* 80012710 38 E0 00 00 */ li r7, 0 -/* 80012714 48 34 8E B1 */ bl GXSetVtxAttrFmt -/* 80012718 38 60 00 00 */ li r3, 0 -/* 8001271C 38 80 00 0A */ li r4, 0xa -/* 80012720 38 A0 00 00 */ li r5, 0 -/* 80012724 38 C0 00 01 */ li r6, 1 -/* 80012728 38 E0 00 06 */ li r7, 6 -/* 8001272C 48 34 8E 99 */ bl GXSetVtxAttrFmt -/* 80012730 48 19 5E FD */ bl dKy_GxFog_set__Fv -/* 80012734 3C 60 80 3A */ lis r3, l_matDL@ha /* 0x803A30C0@ha */ -/* 80012738 38 63 30 C0 */ addi r3, r3, l_matDL@l /* 0x803A30C0@l */ -/* 8001273C 38 80 00 80 */ li r4, 0x80 -/* 80012740 48 34 D7 B1 */ bl GXCallDisplayList -/* 80012744 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80012748 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8001274C 38 80 00 00 */ li r4, 0 -/* 80012750 48 34 DA FD */ bl GXLoadPosMtxImm -/* 80012754 3C 60 80 3A */ lis r3, g_mDoMtx_identity@ha /* 0x803A2FD8@ha */ -/* 80012758 38 63 2F D8 */ addi r3, r3, g_mDoMtx_identity@l /* 0x803A2FD8@l */ -/* 8001275C 38 80 00 00 */ li r4, 0 -/* 80012760 48 34 DB 3D */ bl GXLoadNrmMtxImm -/* 80012764 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80012768 7C 08 03 A6 */ mtlr r0 -/* 8001276C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80012770 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat1_cFv.s b/asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat1_cFv.s deleted file mode 100644 index ade8e9c47d..0000000000 --- a/asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat1_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_800134F8: -/* 800134F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800134FC 7C 08 02 A6 */ mflr r0 -/* 80013500 90 01 00 14 */ stw r0, 0x14(r1) -/* 80013504 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80013508 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8001350C 48 2F D2 31 */ bl reinitGX__6J3DSysFv -/* 80013510 38 60 00 00 */ li r3, 0 -/* 80013514 48 34 BB C1 */ bl GXSetNumIndStages -/* 80013518 48 19 40 A9 */ bl dKy_setLight_again__Fv -/* 8001351C 48 34 80 71 */ bl GXClearVtxDesc -/* 80013520 38 60 00 09 */ li r3, 9 -/* 80013524 38 80 00 03 */ li r4, 3 -/* 80013528 48 34 79 91 */ bl GXSetVtxDesc -/* 8001352C 38 60 00 0A */ li r3, 0xa -/* 80013530 38 80 00 03 */ li r4, 3 -/* 80013534 48 34 79 85 */ bl GXSetVtxDesc -/* 80013538 38 60 00 0D */ li r3, 0xd -/* 8001353C 38 80 00 03 */ li r4, 3 -/* 80013540 48 34 79 79 */ bl GXSetVtxDesc -/* 80013544 38 60 00 00 */ li r3, 0 -/* 80013548 38 80 00 09 */ li r4, 9 -/* 8001354C 38 A0 00 01 */ li r5, 1 -/* 80013550 38 C0 00 04 */ li r6, 4 -/* 80013554 38 E0 00 00 */ li r7, 0 -/* 80013558 48 34 80 6D */ bl GXSetVtxAttrFmt -/* 8001355C 38 60 00 00 */ li r3, 0 -/* 80013560 38 80 00 0A */ li r4, 0xa -/* 80013564 38 A0 00 00 */ li r5, 0 -/* 80013568 38 C0 00 01 */ li r6, 1 -/* 8001356C 38 E0 00 06 */ li r7, 6 -/* 80013570 48 34 80 55 */ bl GXSetVtxAttrFmt -/* 80013574 38 60 00 00 */ li r3, 0 -/* 80013578 38 80 00 0D */ li r4, 0xd -/* 8001357C 38 A0 00 01 */ li r5, 1 -/* 80013580 38 C0 00 04 */ li r6, 4 -/* 80013584 38 E0 00 00 */ li r7, 0 -/* 80013588 48 34 80 3D */ bl GXSetVtxAttrFmt -/* 8001358C 48 19 50 A1 */ bl dKy_GxFog_set__Fv -/* 80013590 3C 60 80 3A */ lis r3, l_mat1DL@ha /* 0x803A3160@ha */ -/* 80013594 38 63 31 60 */ addi r3, r3, l_mat1DL@l /* 0x803A3160@l */ -/* 80013598 38 80 00 80 */ li r4, 0x80 -/* 8001359C 48 34 C9 55 */ bl GXCallDisplayList -/* 800135A0 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 800135A4 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 800135A8 38 80 00 00 */ li r4, 0 -/* 800135AC 48 34 CC A1 */ bl GXLoadPosMtxImm -/* 800135B0 3C 60 80 3A */ lis r3, g_mDoMtx_identity@ha /* 0x803A2FD8@ha */ -/* 800135B4 38 63 2F D8 */ addi r3, r3, g_mDoMtx_identity@l /* 0x803A2FD8@l */ -/* 800135B8 38 80 00 00 */ li r4, 0 -/* 800135BC 48 34 CC E1 */ bl GXLoadNrmMtxImm -/* 800135C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800135C4 7C 08 03 A6 */ mtlr r0 -/* 800135C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800135CC 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/stopZelAnime__15mDoExt_McaMorf2Fv.s b/asm/m_Do/m_Do_ext/stopZelAnime__15mDoExt_McaMorf2Fv.s deleted file mode 100644 index d215de6d08..0000000000 --- a/asm/m_Do/m_Do_ext/stopZelAnime__15mDoExt_McaMorf2Fv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800121E8: -/* 800121E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800121EC 7C 08 02 A6 */ mflr r0 -/* 800121F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800121F4 80 63 00 48 */ lwz r3, 0x48(r3) -/* 800121F8 28 03 00 00 */ cmplwi r3, 0 -/* 800121FC 41 82 00 14 */ beq lbl_80012210 -/* 80012200 81 83 00 00 */ lwz r12, 0(r3) -/* 80012204 81 8C 00 08 */ lwz r12, 8(r12) -/* 80012208 7D 89 03 A6 */ mtctr r12 -/* 8001220C 4E 80 04 21 */ bctrl -lbl_80012210: -/* 80012210 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80012214 7C 08 03 A6 */ mtlr r0 -/* 80012218 38 21 00 10 */ addi r1, r1, 0x10 -/* 8001221C 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/stopZelAnime__16mDoExt_McaMorfSOFv.s b/asm/m_Do/m_Do_ext/stopZelAnime__16mDoExt_McaMorfSOFv.s deleted file mode 100644 index fbfb0b2d6c..0000000000 --- a/asm/m_Do/m_Do_ext/stopZelAnime__16mDoExt_McaMorfSOFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80011310: -/* 80011310 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80011314 7C 08 02 A6 */ mflr r0 -/* 80011318 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001131C 80 63 00 4C */ lwz r3, 0x4c(r3) -/* 80011320 28 03 00 00 */ cmplwi r3, 0 -/* 80011324 41 82 00 14 */ beq lbl_80011338 -/* 80011328 81 83 00 00 */ lwz r12, 0(r3) -/* 8001132C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80011330 7D 89 03 A6 */ mtctr r12 -/* 80011334 4E 80 04 21 */ bctrl -lbl_80011338: -/* 80011338 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8001133C 7C 08 03 A6 */ mtlr r0 -/* 80011340 38 21 00 10 */ addi r1, r1, 0x10 -/* 80011344 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_ext/updateDL__16mDoExt_McaMorfSOFv.s b/asm/m_Do/m_Do_ext/updateDL__16mDoExt_McaMorfSOFv.s deleted file mode 100644 index 8e139b6a4a..0000000000 --- a/asm/m_Do/m_Do_ext/updateDL__16mDoExt_McaMorfSOFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80011154: -/* 80011154 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80011158 7C 08 02 A6 */ mflr r0 -/* 8001115C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80011160 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80011164 7C 7F 1B 78 */ mr r31, r3 -/* 80011168 80 03 00 04 */ lwz r0, 4(r3) -/* 8001116C 28 00 00 00 */ cmplwi r0, 0 -/* 80011170 41 82 00 3C */ beq lbl_800111AC -/* 80011174 80 7F 00 08 */ lwz r3, 8(r31) -/* 80011178 28 03 00 00 */ cmplwi r3, 0 -/* 8001117C 41 82 00 0C */ beq lbl_80011188 -/* 80011180 C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 80011184 D0 03 00 08 */ stfs f0, 8(r3) -lbl_80011188: -/* 80011188 80 7F 00 04 */ lwz r3, 4(r31) -/* 8001118C 80 63 00 04 */ lwz r3, 4(r3) -/* 80011190 80 63 00 28 */ lwz r3, 0x28(r3) -/* 80011194 80 63 00 00 */ lwz r3, 0(r3) -/* 80011198 93 E3 00 54 */ stw r31, 0x54(r3) -/* 8001119C 80 7F 00 04 */ lwz r3, 4(r31) -/* 800111A0 4B FF CB 25 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 800111A4 C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 800111A8 D0 1F 00 2C */ stfs f0, 0x2c(r31) -lbl_800111AC: -/* 800111AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800111B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800111B4 7C 08 03 A6 */ mtlr r0 -/* 800111B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800111BC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Delete__FP10b_go_class.s b/asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Delete__FP10b_go_class.s deleted file mode 100644 index 714b83e1ff..0000000000 --- a/asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Delete__FP10b_go_class.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_806038F4: -/* 806038F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 806038F8 7C 08 02 A6 */ mflr r0 -/* 806038FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80603900 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80603904 7C 7F 1B 78 */ mr r31, r3 -/* 80603908 38 7F 05 AC */ addi r3, r31, 0x5ac -/* 8060390C 3C 80 80 60 */ lis r4, d_a_b_go__stringBase0@ha /* 0x8060408C@ha */ -/* 80603910 38 84 40 8C */ addi r4, r4, d_a_b_go__stringBase0@l /* 0x8060408C@l */ -/* 80603914 4B A2 96 F5 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80603918 88 1F 0D 34 */ lbz r0, 0xd34(r31) -/* 8060391C 28 00 00 00 */ cmplwi r0, 0 -/* 80603920 41 82 00 10 */ beq lbl_80603930 -/* 80603924 38 00 00 00 */ li r0, 0 -/* 80603928 3C 60 80 60 */ lis r3, data_80604140@ha /* 0x80604140@ha */ -/* 8060392C 98 03 41 40 */ stb r0, data_80604140@l(r3) /* 0x80604140@l */ -lbl_80603930: -/* 80603930 80 1F 00 F0 */ lwz r0, 0xf0(r31) -/* 80603934 28 00 00 00 */ cmplwi r0, 0 -/* 80603938 41 82 00 0C */ beq lbl_80603944 -/* 8060393C 80 7F 05 B4 */ lwz r3, 0x5b4(r31) -/* 80603940 4B A0 D9 D1 */ bl stopZelAnime__16mDoExt_McaMorfSOFv -lbl_80603944: -/* 80603944 38 60 00 01 */ li r3, 1 -/* 80603948 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8060394C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80603950 7C 08 03 A6 */ mtlr r0 -/* 80603954 38 21 00 10 */ addi r1, r1, 0x10 -/* 80603958 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Draw__FP10b_go_class.s b/asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Draw__FP10b_go_class.s deleted file mode 100644 index b15069fc9e..0000000000 --- a/asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Draw__FP10b_go_class.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_806031EC: -/* 806031EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 806031F0 7C 08 02 A6 */ mflr r0 -/* 806031F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 806031F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 806031FC 93 C1 00 08 */ stw r30, 8(r1) -/* 80603200 7C 7E 1B 78 */ mr r30, r3 -/* 80603204 3C 60 80 60 */ lis r3, l_HIO@ha /* 0x80604150@ha */ -/* 80603208 38 63 41 50 */ addi r3, r3, l_HIO@l /* 0x80604150@l */ -/* 8060320C 88 03 00 14 */ lbz r0, 0x14(r3) -/* 80603210 28 00 00 00 */ cmplwi r0, 0 -/* 80603214 41 82 00 40 */ beq lbl_80603254 -/* 80603218 80 7E 05 B4 */ lwz r3, 0x5b4(r30) -/* 8060321C 83 E3 00 04 */ lwz r31, 4(r3) -/* 80603220 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80603224 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80603228 38 80 00 00 */ li r4, 0 -/* 8060322C 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80603230 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80603234 4B BA 05 91 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80603238 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8060323C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80603240 80 9F 00 04 */ lwz r4, 4(r31) -/* 80603244 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80603248 4B BA 1B 59 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 8060324C 80 7E 05 B4 */ lwz r3, 0x5b4(r30) -/* 80603250 4B A0 DF 71 */ bl entryDL__16mDoExt_McaMorfSOFv -lbl_80603254: -/* 80603254 38 60 00 01 */ li r3, 1 -/* 80603258 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8060325C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80603260 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80603264 7C 08 03 A6 */ mtlr r0 -/* 80603268 38 21 00 10 */ addi r1, r1, 0x10 -/* 8060326C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/__sinit_d_a_tag_TWgate_cpp.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/__sinit_d_a_tag_TWgate_cpp.s deleted file mode 100644 index 969cbbcd0b..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/__sinit_d_a_tag_TWgate_cpp.s +++ /dev/null @@ -1,161 +0,0 @@ -lbl_80D55520: -/* 80D55520 3C 60 80 D5 */ lis r3, cNullVec__6Z2Calc@ha /* 0x80D55974@ha */ -/* 80D55524 38 83 59 74 */ addi r4, r3, cNullVec__6Z2Calc@l /* 0x80D55974@l */ -/* 80D55528 80 64 00 24 */ lwz r3, 0x24(r4) -/* 80D5552C 80 04 00 28 */ lwz r0, 0x28(r4) -/* 80D55530 90 64 01 5C */ stw r3, 0x15c(r4) -/* 80D55534 90 04 01 60 */ stw r0, 0x160(r4) -/* 80D55538 80 04 00 2C */ lwz r0, 0x2c(r4) -/* 80D5553C 90 04 01 64 */ stw r0, 0x164(r4) -/* 80D55540 38 64 01 5C */ addi r3, r4, 0x15c -/* 80D55544 80 A4 00 30 */ lwz r5, 0x30(r4) -/* 80D55548 80 04 00 34 */ lwz r0, 0x34(r4) -/* 80D5554C 90 A3 00 0C */ stw r5, 0xc(r3) -/* 80D55550 90 03 00 10 */ stw r0, 0x10(r3) -/* 80D55554 80 04 00 38 */ lwz r0, 0x38(r4) -/* 80D55558 90 03 00 14 */ stw r0, 0x14(r3) -/* 80D5555C 80 A4 00 3C */ lwz r5, 0x3c(r4) -/* 80D55560 80 04 00 40 */ lwz r0, 0x40(r4) -/* 80D55564 90 A3 00 18 */ stw r5, 0x18(r3) -/* 80D55568 90 03 00 1C */ stw r0, 0x1c(r3) -/* 80D5556C 80 04 00 44 */ lwz r0, 0x44(r4) -/* 80D55570 90 03 00 20 */ stw r0, 0x20(r3) -/* 80D55574 80 A4 00 48 */ lwz r5, 0x48(r4) -/* 80D55578 80 04 00 4C */ lwz r0, 0x4c(r4) -/* 80D5557C 90 A3 00 24 */ stw r5, 0x24(r3) -/* 80D55580 90 03 00 28 */ stw r0, 0x28(r3) -/* 80D55584 80 04 00 50 */ lwz r0, 0x50(r4) -/* 80D55588 90 03 00 2C */ stw r0, 0x2c(r3) -/* 80D5558C 80 A4 00 54 */ lwz r5, 0x54(r4) -/* 80D55590 80 04 00 58 */ lwz r0, 0x58(r4) -/* 80D55594 90 A3 00 30 */ stw r5, 0x30(r3) -/* 80D55598 90 03 00 34 */ stw r0, 0x34(r3) -/* 80D5559C 80 04 00 5C */ lwz r0, 0x5c(r4) -/* 80D555A0 90 03 00 38 */ stw r0, 0x38(r3) -/* 80D555A4 80 A4 00 60 */ lwz r5, 0x60(r4) -/* 80D555A8 80 04 00 64 */ lwz r0, 0x64(r4) -/* 80D555AC 90 A3 00 3C */ stw r5, 0x3c(r3) -/* 80D555B0 90 03 00 40 */ stw r0, 0x40(r3) -/* 80D555B4 80 04 00 68 */ lwz r0, 0x68(r4) -/* 80D555B8 90 03 00 44 */ stw r0, 0x44(r3) -/* 80D555BC 80 A4 00 6C */ lwz r5, 0x6c(r4) -/* 80D555C0 80 04 00 70 */ lwz r0, 0x70(r4) -/* 80D555C4 90 A3 00 48 */ stw r5, 0x48(r3) -/* 80D555C8 90 03 00 4C */ stw r0, 0x4c(r3) -/* 80D555CC 80 04 00 74 */ lwz r0, 0x74(r4) -/* 80D555D0 90 03 00 50 */ stw r0, 0x50(r3) -/* 80D555D4 80 A4 00 78 */ lwz r5, 0x78(r4) -/* 80D555D8 80 04 00 7C */ lwz r0, 0x7c(r4) -/* 80D555DC 90 A3 00 54 */ stw r5, 0x54(r3) -/* 80D555E0 90 03 00 58 */ stw r0, 0x58(r3) -/* 80D555E4 80 04 00 80 */ lwz r0, 0x80(r4) -/* 80D555E8 90 03 00 5C */ stw r0, 0x5c(r3) -/* 80D555EC 80 A4 00 84 */ lwz r5, 0x84(r4) -/* 80D555F0 80 04 00 88 */ lwz r0, 0x88(r4) -/* 80D555F4 90 A3 00 60 */ stw r5, 0x60(r3) -/* 80D555F8 90 03 00 64 */ stw r0, 0x64(r3) -/* 80D555FC 80 04 00 8C */ lwz r0, 0x8c(r4) -/* 80D55600 90 03 00 68 */ stw r0, 0x68(r3) -/* 80D55604 80 A4 00 90 */ lwz r5, 0x90(r4) -/* 80D55608 80 04 00 94 */ lwz r0, 0x94(r4) -/* 80D5560C 90 A3 00 6C */ stw r5, 0x6c(r3) -/* 80D55610 90 03 00 70 */ stw r0, 0x70(r3) -/* 80D55614 80 04 00 98 */ lwz r0, 0x98(r4) -/* 80D55618 90 03 00 74 */ stw r0, 0x74(r3) -/* 80D5561C 80 A4 00 9C */ lwz r5, 0x9c(r4) -/* 80D55620 80 04 00 A0 */ lwz r0, 0xa0(r4) -/* 80D55624 90 A3 00 78 */ stw r5, 0x78(r3) -/* 80D55628 90 03 00 7C */ stw r0, 0x7c(r3) -/* 80D5562C 80 04 00 A4 */ lwz r0, 0xa4(r4) -/* 80D55630 90 03 00 80 */ stw r0, 0x80(r3) -/* 80D55634 80 A4 00 A8 */ lwz r5, 0xa8(r4) -/* 80D55638 80 04 00 AC */ lwz r0, 0xac(r4) -/* 80D5563C 90 A3 00 84 */ stw r5, 0x84(r3) -/* 80D55640 90 03 00 88 */ stw r0, 0x88(r3) -/* 80D55644 80 04 00 B0 */ lwz r0, 0xb0(r4) -/* 80D55648 90 03 00 8C */ stw r0, 0x8c(r3) -/* 80D5564C 80 A4 00 B4 */ lwz r5, 0xb4(r4) -/* 80D55650 80 04 00 B8 */ lwz r0, 0xb8(r4) -/* 80D55654 90 A3 00 90 */ stw r5, 0x90(r3) -/* 80D55658 90 03 00 94 */ stw r0, 0x94(r3) -/* 80D5565C 80 04 00 BC */ lwz r0, 0xbc(r4) -/* 80D55660 90 03 00 98 */ stw r0, 0x98(r3) -/* 80D55664 80 A4 00 C0 */ lwz r5, 0xc0(r4) -/* 80D55668 80 04 00 C4 */ lwz r0, 0xc4(r4) -/* 80D5566C 90 A3 00 9C */ stw r5, 0x9c(r3) -/* 80D55670 90 03 00 A0 */ stw r0, 0xa0(r3) -/* 80D55674 80 04 00 C8 */ lwz r0, 0xc8(r4) -/* 80D55678 90 03 00 A4 */ stw r0, 0xa4(r3) -/* 80D5567C 80 A4 00 CC */ lwz r5, 0xcc(r4) -/* 80D55680 80 04 00 D0 */ lwz r0, 0xd0(r4) -/* 80D55684 90 A3 00 A8 */ stw r5, 0xa8(r3) -/* 80D55688 90 03 00 AC */ stw r0, 0xac(r3) -/* 80D5568C 80 04 00 D4 */ lwz r0, 0xd4(r4) -/* 80D55690 90 03 00 B0 */ stw r0, 0xb0(r3) -/* 80D55694 80 A4 00 D8 */ lwz r5, 0xd8(r4) -/* 80D55698 80 04 00 DC */ lwz r0, 0xdc(r4) -/* 80D5569C 90 A3 00 B4 */ stw r5, 0xb4(r3) -/* 80D556A0 90 03 00 B8 */ stw r0, 0xb8(r3) -/* 80D556A4 80 04 00 E0 */ lwz r0, 0xe0(r4) -/* 80D556A8 90 03 00 BC */ stw r0, 0xbc(r3) -/* 80D556AC 80 A4 00 E4 */ lwz r5, 0xe4(r4) -/* 80D556B0 80 04 00 E8 */ lwz r0, 0xe8(r4) -/* 80D556B4 90 A3 00 C0 */ stw r5, 0xc0(r3) -/* 80D556B8 90 03 00 C4 */ stw r0, 0xc4(r3) -/* 80D556BC 80 04 00 EC */ lwz r0, 0xec(r4) -/* 80D556C0 90 03 00 C8 */ stw r0, 0xc8(r3) -/* 80D556C4 80 A4 00 F0 */ lwz r5, 0xf0(r4) -/* 80D556C8 80 04 00 F4 */ lwz r0, 0xf4(r4) -/* 80D556CC 90 A3 00 CC */ stw r5, 0xcc(r3) -/* 80D556D0 90 03 00 D0 */ stw r0, 0xd0(r3) -/* 80D556D4 80 04 00 F8 */ lwz r0, 0xf8(r4) -/* 80D556D8 90 03 00 D4 */ stw r0, 0xd4(r3) -/* 80D556DC 80 A4 00 FC */ lwz r5, 0xfc(r4) -/* 80D556E0 80 04 01 00 */ lwz r0, 0x100(r4) -/* 80D556E4 90 A3 00 D8 */ stw r5, 0xd8(r3) -/* 80D556E8 90 03 00 DC */ stw r0, 0xdc(r3) -/* 80D556EC 80 04 01 04 */ lwz r0, 0x104(r4) -/* 80D556F0 90 03 00 E0 */ stw r0, 0xe0(r3) -/* 80D556F4 80 A4 01 08 */ lwz r5, 0x108(r4) -/* 80D556F8 80 04 01 0C */ lwz r0, 0x10c(r4) -/* 80D556FC 90 A3 00 E4 */ stw r5, 0xe4(r3) -/* 80D55700 90 03 00 E8 */ stw r0, 0xe8(r3) -/* 80D55704 80 04 01 10 */ lwz r0, 0x110(r4) -/* 80D55708 90 03 00 EC */ stw r0, 0xec(r3) -/* 80D5570C 80 A4 01 14 */ lwz r5, 0x114(r4) -/* 80D55710 80 04 01 18 */ lwz r0, 0x118(r4) -/* 80D55714 90 A3 00 F0 */ stw r5, 0xf0(r3) -/* 80D55718 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 80D5571C 80 04 01 1C */ lwz r0, 0x11c(r4) -/* 80D55720 90 03 00 F8 */ stw r0, 0xf8(r3) -/* 80D55724 80 A4 01 20 */ lwz r5, 0x120(r4) -/* 80D55728 80 04 01 24 */ lwz r0, 0x124(r4) -/* 80D5572C 90 A3 00 FC */ stw r5, 0xfc(r3) -/* 80D55730 90 03 01 00 */ stw r0, 0x100(r3) -/* 80D55734 80 04 01 28 */ lwz r0, 0x128(r4) -/* 80D55738 90 03 01 04 */ stw r0, 0x104(r3) -/* 80D5573C 80 A4 01 2C */ lwz r5, 0x12c(r4) -/* 80D55740 80 04 01 30 */ lwz r0, 0x130(r4) -/* 80D55744 90 A3 01 08 */ stw r5, 0x108(r3) -/* 80D55748 90 03 01 0C */ stw r0, 0x10c(r3) -/* 80D5574C 80 04 01 34 */ lwz r0, 0x134(r4) -/* 80D55750 90 03 01 10 */ stw r0, 0x110(r3) -/* 80D55754 80 A4 01 38 */ lwz r5, 0x138(r4) -/* 80D55758 80 04 01 3C */ lwz r0, 0x13c(r4) -/* 80D5575C 90 A3 01 14 */ stw r5, 0x114(r3) -/* 80D55760 90 03 01 18 */ stw r0, 0x118(r3) -/* 80D55764 80 04 01 40 */ lwz r0, 0x140(r4) -/* 80D55768 90 03 01 1C */ stw r0, 0x11c(r3) -/* 80D5576C 80 A4 01 44 */ lwz r5, 0x144(r4) -/* 80D55770 80 04 01 48 */ lwz r0, 0x148(r4) -/* 80D55774 90 A3 01 20 */ stw r5, 0x120(r3) -/* 80D55778 90 03 01 24 */ stw r0, 0x124(r3) -/* 80D5577C 80 04 01 4C */ lwz r0, 0x14c(r4) -/* 80D55780 90 03 01 28 */ stw r0, 0x128(r3) -/* 80D55784 80 A4 01 50 */ lwz r5, 0x150(r4) -/* 80D55788 80 04 01 54 */ lwz r0, 0x154(r4) -/* 80D5578C 90 A3 01 2C */ stw r5, 0x12c(r3) -/* 80D55790 90 03 01 30 */ stw r0, 0x130(r3) -/* 80D55794 80 04 01 58 */ lwz r0, 0x158(r4) -/* 80D55798 90 03 01 34 */ stw r0, 0x134(r3) -/* 80D5579C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c.s deleted file mode 100644 index c3231c4ab3..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D55160: -/* 80D55160 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D55164 7C 08 02 A6 */ mflr r0 -/* 80D55168 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5516C 48 00 00 15 */ bl CreateHeap__13daTagTWGate_cFv -/* 80D55170 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D55174 7C 08 03 A6 */ mtlr r0 -/* 80D55178 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5517C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Create__FP10fopAc_ac_c.s deleted file mode 100644 index b058beb43c..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_80D55288: -/* 80D55288 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5528C 7C 08 02 A6 */ mflr r0 -/* 80D55290 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D55294 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D55298 93 C1 00 08 */ stw r30, 8(r1) -/* 80D5529C 7C 7F 1B 78 */ mr r31, r3 -/* 80D552A0 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D552A4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D552A8 40 82 00 28 */ bne lbl_80D552D0 -/* 80D552AC 7F E0 FB 79 */ or. r0, r31, r31 -/* 80D552B0 41 82 00 14 */ beq lbl_80D552C4 -/* 80D552B4 7C 1E 03 78 */ mr r30, r0 -/* 80D552B8 4B 2C 38 AD */ bl __ct__10fopAc_ac_cFv -/* 80D552BC 38 7E 05 8C */ addi r3, r30, 0x58c -/* 80D552C0 4B 4F 4C 41 */ bl __ct__10dMsgFlow_cFv -lbl_80D552C4: -/* 80D552C4 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D552C8 60 00 00 08 */ ori r0, r0, 8 -/* 80D552CC 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D552D0: -/* 80D552D0 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D552D4 98 1F 05 E2 */ stb r0, 0x5e2(r31) -/* 80D552D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D552DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D552E0 38 63 00 28 */ addi r3, r3, 0x28 -/* 80D552E4 3C 80 80 D5 */ lis r4, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D552E8 38 84 57 B0 */ addi r4, r4, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D552EC 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D552F0 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D552F4 7C 84 02 14 */ add r4, r4, r0 -/* 80D552F8 80 84 00 10 */ lwz r4, 0x10(r4) -/* 80D552FC 4B 2D D8 B5 */ bl isDarkClearLV__21dSv_player_status_b_cCFi -/* 80D55300 2C 03 00 00 */ cmpwi r3, 0 -/* 80D55304 41 82 00 0C */ beq lbl_80D55310 -/* 80D55308 3B C0 00 05 */ li r30, 5 -/* 80D5530C 48 00 00 60 */ b lbl_80D5536C -lbl_80D55310: -/* 80D55310 38 7F 05 6C */ addi r3, r31, 0x56c -/* 80D55314 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D55318 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D5531C 3C 80 80 D5 */ lis r4, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D55320 38 84 57 B0 */ addi r4, r4, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D55324 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80D55328 4B 2D 7B 95 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80D5532C 7C 7E 1B 78 */ mr r30, r3 -/* 80D55330 2C 1E 00 04 */ cmpwi r30, 4 -/* 80D55334 40 82 00 38 */ bne lbl_80D5536C -/* 80D55338 38 00 00 00 */ li r0, 0 -/* 80D5533C 98 1F 05 E0 */ stb r0, 0x5e0(r31) -/* 80D55340 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D55344 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D55348 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D5534C 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D55350 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D55354 7C 00 22 14 */ add r0, r0, r4 -/* 80D55358 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D5535C 7F E3 FB 78 */ mr r3, r31 -/* 80D55360 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D55364 4B 60 CD 21 */ bl __ptmf_scall -/* 80D55368 60 00 00 00 */ nop -lbl_80D5536C: -/* 80D5536C 7F C3 F3 78 */ mr r3, r30 -/* 80D55370 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D55374 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D55378 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5537C 7C 08 03 A6 */ mtlr r0 -/* 80D55380 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D55384 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Delete__FP13daTagTWGate_c.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Delete__FP13daTagTWGate_c.s deleted file mode 100644 index bb481a8d18..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Delete__FP13daTagTWGate_c.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_80D55388: -/* 80D55388 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5538C 7C 08 02 A6 */ mflr r0 -/* 80D55390 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D55394 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D55398 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80D5539C 41 82 00 88 */ beq lbl_80D55424 -/* 80D553A0 38 7F 05 6C */ addi r3, r31, 0x56c -/* 80D553A4 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D553A8 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D553AC 3C 80 80 D5 */ lis r4, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D553B0 38 84 57 B0 */ addi r4, r4, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D553B4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80D553B8 4B 2D 7C 51 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80D553BC 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 80D553C0 2C 00 00 00 */ cmpwi r0, 0 -/* 80D553C4 41 82 00 18 */ beq lbl_80D553DC -/* 80D553C8 38 7F 05 74 */ addi r3, r31, 0x574 -/* 80D553CC 3C 80 80 D5 */ lis r4, d_a_tag_TWgate__stringBase0@ha /* 0x80D55848@ha */ -/* 80D553D0 38 84 58 48 */ addi r4, r4, d_a_tag_TWgate__stringBase0@l /* 0x80D55848@l */ -/* 80D553D4 38 84 01 0B */ addi r4, r4, 0x10b -/* 80D553D8 4B 2D 7C 31 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -lbl_80D553DC: -/* 80D553DC 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 80D553E0 2C 00 00 00 */ cmpwi r0, 0 -/* 80D553E4 41 82 00 28 */ beq lbl_80D5540C -/* 80D553E8 38 7F 05 7C */ addi r3, r31, 0x57c -/* 80D553EC 88 1F 05 DF */ lbz r0, 0x5df(r31) -/* 80D553F0 28 00 00 00 */ cmplwi r0, 0 -/* 80D553F4 3C 80 80 D5 */ lis r4, d_a_tag_TWgate__stringBase0@ha /* 0x80D55848@ha */ -/* 80D553F8 38 A4 58 48 */ addi r5, r4, d_a_tag_TWgate__stringBase0@l /* 0x80D55848@l */ -/* 80D553FC 38 85 01 1F */ addi r4, r5, 0x11f -/* 80D55400 41 82 00 08 */ beq lbl_80D55408 -/* 80D55404 38 85 01 15 */ addi r4, r5, 0x115 -lbl_80D55408: -/* 80D55408 4B 2D 7C 01 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -lbl_80D5540C: -/* 80D5540C 38 7F 05 8C */ addi r3, r31, 0x58c -/* 80D55410 38 80 FF FF */ li r4, -1 -/* 80D55414 4B 4F 4B 35 */ bl __dt__10dMsgFlow_cFv -/* 80D55418 7F E3 FB 78 */ mr r3, r31 -/* 80D5541C 38 80 00 00 */ li r4, 0 -/* 80D55420 4B 2C 38 6D */ bl __dt__10fopAc_ac_cFv -lbl_80D55424: -/* 80D55424 38 60 00 01 */ li r3, 1 -/* 80D55428 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5542C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D55430 7C 08 03 A6 */ mtlr r0 -/* 80D55434 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D55438 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Draw__FP13daTagTWGate_c.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Draw__FP13daTagTWGate_c.s deleted file mode 100644 index c91c633768..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Draw__FP13daTagTWGate_c.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80D554E4: -/* 80D554E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D554E8 7C 08 02 A6 */ mflr r0 -/* 80D554EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D554F0 88 03 05 E0 */ lbz r0, 0x5e0(r3) -/* 80D554F4 28 00 00 00 */ cmplwi r0, 0 -/* 80D554F8 41 82 00 0C */ beq lbl_80D55504 -/* 80D554FC 80 63 05 68 */ lwz r3, 0x568(r3) -/* 80D55500 4B 2B BC C1 */ bl entryDL__16mDoExt_McaMorfSOFv -lbl_80D55504: -/* 80D55504 38 60 00 01 */ li r3, 1 -/* 80D55508 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5550C 7C 08 03 A6 */ mtlr r0 -/* 80D55510 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D55514 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/downloadModels__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/downloadModels__13daTagTWGate_cFv.s deleted file mode 100644 index cfa080b464..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/downloadModels__13daTagTWGate_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80D54F88: -/* 80D54F88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D54F8C 7C 08 02 A6 */ mflr r0 -/* 80D54F90 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D54F94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D54F98 7C 7F 1B 78 */ mr r31, r3 -/* 80D54F9C 38 7F 05 74 */ addi r3, r31, 0x574 -/* 80D54FA0 3C 80 80 D5 */ lis r4, d_a_tag_TWgate__stringBase0@ha /* 0x80D55848@ha */ -/* 80D54FA4 38 84 58 48 */ addi r4, r4, d_a_tag_TWgate__stringBase0@l /* 0x80D55848@l */ -/* 80D54FA8 38 84 01 0B */ addi r4, r4, 0x10b -/* 80D54FAC 4B 2D 7F 11 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80D54FB0 2C 03 00 04 */ cmpwi r3, 4 -/* 80D54FB4 40 82 00 28 */ bne lbl_80D54FDC -/* 80D54FB8 38 7F 05 7C */ addi r3, r31, 0x57c -/* 80D54FBC 88 1F 05 DF */ lbz r0, 0x5df(r31) -/* 80D54FC0 28 00 00 00 */ cmplwi r0, 0 -/* 80D54FC4 3C 80 80 D5 */ lis r4, d_a_tag_TWgate__stringBase0@ha /* 0x80D55848@ha */ -/* 80D54FC8 38 A4 58 48 */ addi r5, r4, d_a_tag_TWgate__stringBase0@l /* 0x80D55848@l */ -/* 80D54FCC 38 85 01 1F */ addi r4, r5, 0x11f -/* 80D54FD0 41 82 00 08 */ beq lbl_80D54FD8 -/* 80D54FD4 38 85 01 15 */ addi r4, r5, 0x115 -lbl_80D54FD8: -/* 80D54FD8 4B 2D 7E E5 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -lbl_80D54FDC: -/* 80D54FDC 2C 03 00 04 */ cmpwi r3, 4 -/* 80D54FE0 40 82 00 2C */ bne lbl_80D5500C -/* 80D54FE4 7F E3 FB 78 */ mr r3, r31 -/* 80D54FE8 3C 80 80 D5 */ lis r4, createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c@ha /* 0x80D55160@ha */ -/* 80D54FEC 38 84 51 60 */ addi r4, r4, createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c@l /* 0x80D55160@l */ -/* 80D54FF0 38 A0 31 40 */ li r5, 0x3140 -/* 80D54FF4 4B 2C 54 BD */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80D54FF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D54FFC 38 60 FF FF */ li r3, -1 -/* 80D55000 41 82 00 18 */ beq lbl_80D55018 -/* 80D55004 38 60 00 01 */ li r3, 1 -/* 80D55008 48 00 00 10 */ b lbl_80D55018 -lbl_80D5500C: -/* 80D5500C 38 03 FF FB */ addi r0, r3, -5 -/* 80D55010 30 00 FF FF */ addic r0, r0, -1 -/* 80D55014 7C 60 01 10 */ subfe r3, r0, r0 -lbl_80D55018: -/* 80D55018 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5501C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D55020 7C 08 03 A6 */ mtlr r0 -/* 80D55024 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D55028 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeWait__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeWait__13daTagTWGate_cFv.s deleted file mode 100644 index f32f04931a..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeWait__13daTagTWGate_cFv.s +++ /dev/null @@ -1,199 +0,0 @@ -lbl_80D52604: -/* 80D52604 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D52608 7C 08 02 A6 */ mflr r0 -/* 80D5260C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D52610 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80D52614 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80D52618 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5261C 7C 7F 1B 78 */ mr r31, r3 -/* 80D52620 3C 60 80 D5 */ lis r3, lit_3857@ha /* 0x80D55820@ha */ -/* 80D52624 C0 23 58 20 */ lfs f1, lit_3857@l(r3) /* 0x80D55820@l */ -/* 80D52628 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 80D5262C EC 21 00 32 */ fmuls f1, f1, f0 -/* 80D52630 3C 60 80 D5 */ lis r3, lit_3858@ha /* 0x80D55824@ha */ -/* 80D52634 C8 43 58 24 */ lfd f2, lit_3858@l(r3) /* 0x80D55824@l */ -/* 80D52638 4B 61 A1 49 */ bl pow -/* 80D5263C FF E0 08 18 */ frsp f31, f1 -/* 80D52640 7F E3 FB 78 */ mr r3, r31 -/* 80D52644 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D52648 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5264C 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 80D52650 4B 2C 84 45 */ bl fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D52654 FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80D52658 40 80 02 74 */ bge lbl_80D528CC -/* 80D5265C 88 1F 05 DE */ lbz r0, 0x5de(r31) -/* 80D52660 28 00 00 00 */ cmplwi r0, 0 -/* 80D52664 40 82 02 70 */ bne lbl_80D528D4 -/* 80D52668 38 00 00 01 */ li r0, 1 -/* 80D5266C 98 1F 05 DE */ stb r0, 0x5de(r31) -/* 80D52670 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D52674 2C 00 00 02 */ cmpwi r0, 2 -/* 80D52678 41 82 01 3C */ beq lbl_80D527B4 -/* 80D5267C 40 80 00 14 */ bge lbl_80D52690 -/* 80D52680 2C 00 00 00 */ cmpwi r0, 0 -/* 80D52684 41 82 00 18 */ beq lbl_80D5269C -/* 80D52688 40 80 00 A0 */ bge lbl_80D52728 -/* 80D5268C 48 00 02 48 */ b lbl_80D528D4 -lbl_80D52690: -/* 80D52690 2C 00 00 04 */ cmpwi r0, 4 -/* 80D52694 40 80 02 40 */ bge lbl_80D528D4 -/* 80D52698 48 00 01 A8 */ b lbl_80D52840 -lbl_80D5269C: -/* 80D5269C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D526A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D526A4 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D526A8 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80D526AC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D526B0 7C 05 07 74 */ extsb r5, r0 -/* 80D526B4 4B 2E 2C AD */ bl isSwitch__10dSv_info_cCFii -/* 80D526B8 2C 03 00 00 */ cmpwi r3, 0 -/* 80D526BC 41 82 00 38 */ beq lbl_80D526F4 -/* 80D526C0 38 00 00 02 */ li r0, 2 -/* 80D526C4 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D526C8 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D526CC 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D526D0 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D526D4 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D526D8 7C 00 22 14 */ add r0, r0, r4 -/* 80D526DC 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D526E0 7F E3 FB 78 */ mr r3, r31 -/* 80D526E4 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D526E8 4B 60 F9 9D */ bl __ptmf_scall -/* 80D526EC 60 00 00 00 */ nop -/* 80D526F0 48 00 01 E4 */ b lbl_80D528D4 -lbl_80D526F4: -/* 80D526F4 38 00 00 01 */ li r0, 1 -/* 80D526F8 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D526FC 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D52700 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D52704 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D52708 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D5270C 7C 00 22 14 */ add r0, r0, r4 -/* 80D52710 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D52714 7F E3 FB 78 */ mr r3, r31 -/* 80D52718 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D5271C 4B 60 F9 69 */ bl __ptmf_scall -/* 80D52720 60 00 00 00 */ nop -/* 80D52724 48 00 01 B0 */ b lbl_80D528D4 -lbl_80D52728: -/* 80D52728 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5272C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D52730 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D52734 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80D52738 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D5273C 7C 05 07 74 */ extsb r5, r0 -/* 80D52740 4B 2E 2C 21 */ bl isSwitch__10dSv_info_cCFii -/* 80D52744 2C 03 00 00 */ cmpwi r3, 0 -/* 80D52748 41 82 00 38 */ beq lbl_80D52780 -/* 80D5274C 38 00 00 05 */ li r0, 5 -/* 80D52750 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D52754 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D52758 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D5275C 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D52760 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D52764 7C 00 22 14 */ add r0, r0, r4 -/* 80D52768 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D5276C 7F E3 FB 78 */ mr r3, r31 -/* 80D52770 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D52774 4B 60 F9 11 */ bl __ptmf_scall -/* 80D52778 60 00 00 00 */ nop -/* 80D5277C 48 00 01 58 */ b lbl_80D528D4 -lbl_80D52780: -/* 80D52780 38 00 00 04 */ li r0, 4 -/* 80D52784 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D52788 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D5278C 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D52790 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D52794 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D52798 7C 00 22 14 */ add r0, r0, r4 -/* 80D5279C 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D527A0 7F E3 FB 78 */ mr r3, r31 -/* 80D527A4 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D527A8 4B 60 F8 DD */ bl __ptmf_scall -/* 80D527AC 60 00 00 00 */ nop -/* 80D527B0 48 00 01 24 */ b lbl_80D528D4 -lbl_80D527B4: -/* 80D527B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D527B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D527BC 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D527C0 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80D527C4 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D527C8 7C 05 07 74 */ extsb r5, r0 -/* 80D527CC 4B 2E 2B 95 */ bl isSwitch__10dSv_info_cCFii -/* 80D527D0 2C 03 00 00 */ cmpwi r3, 0 -/* 80D527D4 41 82 00 38 */ beq lbl_80D5280C -/* 80D527D8 38 00 00 08 */ li r0, 8 -/* 80D527DC 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D527E0 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D527E4 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D527E8 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D527EC 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D527F0 7C 00 22 14 */ add r0, r0, r4 -/* 80D527F4 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D527F8 7F E3 FB 78 */ mr r3, r31 -/* 80D527FC 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D52800 4B 60 F8 85 */ bl __ptmf_scall -/* 80D52804 60 00 00 00 */ nop -/* 80D52808 48 00 00 CC */ b lbl_80D528D4 -lbl_80D5280C: -/* 80D5280C 38 00 00 07 */ li r0, 7 -/* 80D52810 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D52814 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D52818 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D5281C 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D52820 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D52824 7C 00 22 14 */ add r0, r0, r4 -/* 80D52828 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D5282C 7F E3 FB 78 */ mr r3, r31 -/* 80D52830 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D52834 4B 60 F8 51 */ bl __ptmf_scall -/* 80D52838 60 00 00 00 */ nop -/* 80D5283C 48 00 00 98 */ b lbl_80D528D4 -lbl_80D52840: -/* 80D52840 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D52844 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D52848 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D5284C 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80D52850 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D52854 7C 05 07 74 */ extsb r5, r0 -/* 80D52858 4B 2E 2B 09 */ bl isSwitch__10dSv_info_cCFii -/* 80D5285C 2C 03 00 00 */ cmpwi r3, 0 -/* 80D52860 41 82 00 38 */ beq lbl_80D52898 -/* 80D52864 38 00 00 0B */ li r0, 0xb -/* 80D52868 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D5286C 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D52870 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D52874 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D52878 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D5287C 7C 00 22 14 */ add r0, r0, r4 -/* 80D52880 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D52884 7F E3 FB 78 */ mr r3, r31 -/* 80D52888 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D5288C 4B 60 F7 F9 */ bl __ptmf_scall -/* 80D52890 60 00 00 00 */ nop -/* 80D52894 48 00 00 40 */ b lbl_80D528D4 -lbl_80D52898: -/* 80D52898 38 00 00 0A */ li r0, 0xa -/* 80D5289C 90 1F 05 88 */ stw r0, 0x588(r31) -/* 80D528A0 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 80D528A4 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 80D528A8 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */ -/* 80D528AC 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */ -/* 80D528B0 7C 00 22 14 */ add r0, r0, r4 -/* 80D528B4 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80D528B8 7F E3 FB 78 */ mr r3, r31 -/* 80D528BC 81 9F 05 84 */ lwz r12, 0x584(r31) -/* 80D528C0 4B 60 F7 C5 */ bl __ptmf_scall -/* 80D528C4 60 00 00 00 */ nop -/* 80D528C8 48 00 00 0C */ b lbl_80D528D4 -lbl_80D528CC: -/* 80D528CC 38 00 00 00 */ li r0, 0 -/* 80D528D0 98 1F 05 DE */ stb r0, 0x5de(r31) -lbl_80D528D4: -/* 80D528D4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80D528D8 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80D528DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D528E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D528E4 7C 08 03 A6 */ mtlr r0 -/* 80D528E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D528EC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone1__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone1__13daTagTWGate_cFv.s deleted file mode 100644 index a42a38873c..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone1__13daTagTWGate_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80D528F0: -/* 80D528F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D528F4 7C 08 02 A6 */ mflr r0 -/* 80D528F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D528FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D52900 7C 7F 1B 78 */ mr r31, r3 -/* 80D52904 88 03 05 E2 */ lbz r0, 0x5e2(r3) -/* 80D52908 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D5290C 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D52910 38 A3 57 B0 */ addi r5, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D52914 7C 05 00 2E */ lwzx r0, r5, r0 -/* 80D52918 90 1F 01 00 */ stw r0, 0x100(r31) -/* 80D5291C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D52920 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D52924 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80D52928 7F E4 FB 78 */ mr r4, r31 -/* 80D5292C 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D52930 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D52934 7C A5 02 14 */ add r5, r5, r0 -/* 80D52938 80 A5 00 04 */ lwz r5, 4(r5) -/* 80D5293C 38 C0 00 FF */ li r6, 0xff -/* 80D52940 4B 2F 4E 19 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D52944 B0 7F 05 DC */ sth r3, 0x5dc(r31) -/* 80D52948 7F E3 FB 78 */ mr r3, r31 -/* 80D5294C A8 9F 05 DC */ lha r4, 0x5dc(r31) -/* 80D52950 38 A0 00 FF */ li r5, 0xff -/* 80D52954 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D52958 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D5295C 38 E0 00 04 */ li r7, 4 -/* 80D52960 39 00 00 01 */ li r8, 1 -/* 80D52964 4B 2C 8D 19 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 80D52968 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5296C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D52970 7C 08 03 A6 */ mtlr r0 -/* 80D52974 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D52978 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone3__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone3__13daTagTWGate_cFv.s deleted file mode 100644 index 92d9602790..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone3__13daTagTWGate_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_80D52DB4: -/* 80D52DB4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D52DB8 7C 08 02 A6 */ mflr r0 -/* 80D52DBC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D52DC0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D52DC4 4B 60 F4 19 */ bl _savegpr_29 -/* 80D52DC8 7C 7D 1B 78 */ mr r29, r3 -/* 80D52DCC 38 00 00 01 */ li r0, 1 -/* 80D52DD0 98 03 05 DE */ stb r0, 0x5de(r3) -/* 80D52DD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D52DD8 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D52DDC 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 80D52DE0 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80D52DE4 54 00 3F FE */ rlwinm r0, r0, 7, 0x1f, 0x1f -/* 80D52DE8 98 1D 05 DF */ stb r0, 0x5df(r29) -/* 80D52DEC 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D52DF0 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D52DF4 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D52DF8 38 63 57 B0 */ addi r3, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D52DFC 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80D52E00 90 1D 01 00 */ stw r0, 0x100(r29) -/* 80D52E04 3B DF 4F F8 */ addi r30, r31, 0x4ff8 -/* 80D52E08 7F C3 F3 78 */ mr r3, r30 -/* 80D52E0C 80 9D 01 00 */ lwz r4, 0x100(r29) -/* 80D52E10 4B 2F 39 F1 */ bl setObjectArchive__16dEvent_manager_cFPc -/* 80D52E14 7F C3 F3 78 */ mr r3, r30 -/* 80D52E18 7F A4 EB 78 */ mr r4, r29 -/* 80D52E1C 3C A0 80 D5 */ lis r5, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D52E20 38 A5 57 B0 */ addi r5, r5, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D52E24 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D52E28 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D52E2C 7C A5 02 14 */ add r5, r5, r0 -/* 80D52E30 80 A5 00 0C */ lwz r5, 0xc(r5) -/* 80D52E34 38 C0 00 FF */ li r6, 0xff -/* 80D52E38 4B 2F 49 21 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D52E3C B0 7D 05 DC */ sth r3, 0x5dc(r29) -/* 80D52E40 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80D52E44 7F A4 EB 78 */ mr r4, r29 -/* 80D52E48 4B 2E F6 D1 */ bl reset__14dEvt_control_cFPv -/* 80D52E4C 7F A3 EB 78 */ mr r3, r29 -/* 80D52E50 A8 9D 05 DC */ lha r4, 0x5dc(r29) -/* 80D52E54 38 A0 00 01 */ li r5, 1 -/* 80D52E58 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D52E5C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D52E60 4B 2C 87 85 */ bl fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs -/* 80D52E64 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D52E68 4B 60 F3 C1 */ bl _restgpr_29 -/* 80D52E6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D52E70 7C 08 03 A6 */ mtlr r0 -/* 80D52E74 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D52E78 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral1__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral1__13daTagTWGate_cFv.s deleted file mode 100644 index 4714492e15..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral1__13daTagTWGate_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80D5456C: -/* 80D5456C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D54570 7C 08 02 A6 */ mflr r0 -/* 80D54574 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D54578 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5457C 7C 7F 1B 78 */ mr r31, r3 -/* 80D54580 88 03 05 E2 */ lbz r0, 0x5e2(r3) -/* 80D54584 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D54588 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D5458C 38 A3 57 B0 */ addi r5, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D54590 7C 05 00 2E */ lwzx r0, r5, r0 -/* 80D54594 90 1F 01 00 */ stw r0, 0x100(r31) -/* 80D54598 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5459C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D545A0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80D545A4 7F E4 FB 78 */ mr r4, r31 -/* 80D545A8 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D545AC 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D545B0 7C A5 02 14 */ add r5, r5, r0 -/* 80D545B4 80 A5 00 04 */ lwz r5, 4(r5) -/* 80D545B8 38 C0 00 FF */ li r6, 0xff -/* 80D545BC 4B 2F 31 9D */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D545C0 B0 7F 05 DC */ sth r3, 0x5dc(r31) -/* 80D545C4 7F E3 FB 78 */ mr r3, r31 -/* 80D545C8 A8 9F 05 DC */ lha r4, 0x5dc(r31) -/* 80D545CC 38 A0 00 FF */ li r5, 0xff -/* 80D545D0 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D545D4 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D545D8 38 E0 00 04 */ li r7, 4 -/* 80D545DC 39 00 00 01 */ li r8, 1 -/* 80D545E0 4B 2C 70 9D */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 80D545E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D545E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D545EC 7C 08 03 A6 */ mtlr r0 -/* 80D545F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D545F4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral3__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral3__13daTagTWGate_cFv.s deleted file mode 100644 index d4cf2e3480..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral3__13daTagTWGate_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_80D54A30: -/* 80D54A30 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D54A34 7C 08 02 A6 */ mflr r0 -/* 80D54A38 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D54A3C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D54A40 4B 60 D7 9D */ bl _savegpr_29 -/* 80D54A44 7C 7D 1B 78 */ mr r29, r3 -/* 80D54A48 38 00 00 01 */ li r0, 1 -/* 80D54A4C 98 03 05 DE */ stb r0, 0x5de(r3) -/* 80D54A50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D54A54 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D54A58 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 80D54A5C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80D54A60 54 00 3F FE */ rlwinm r0, r0, 7, 0x1f, 0x1f -/* 80D54A64 98 1D 05 DF */ stb r0, 0x5df(r29) -/* 80D54A68 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D54A6C 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D54A70 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D54A74 38 63 57 B0 */ addi r3, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D54A78 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80D54A7C 90 1D 01 00 */ stw r0, 0x100(r29) -/* 80D54A80 3B DF 4F F8 */ addi r30, r31, 0x4ff8 -/* 80D54A84 7F C3 F3 78 */ mr r3, r30 -/* 80D54A88 80 9D 01 00 */ lwz r4, 0x100(r29) -/* 80D54A8C 4B 2F 1D 75 */ bl setObjectArchive__16dEvent_manager_cFPc -/* 80D54A90 7F C3 F3 78 */ mr r3, r30 -/* 80D54A94 7F A4 EB 78 */ mr r4, r29 -/* 80D54A98 3C A0 80 D5 */ lis r5, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D54A9C 38 A5 57 B0 */ addi r5, r5, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D54AA0 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D54AA4 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D54AA8 7C A5 02 14 */ add r5, r5, r0 -/* 80D54AAC 80 A5 00 0C */ lwz r5, 0xc(r5) -/* 80D54AB0 38 C0 00 FF */ li r6, 0xff -/* 80D54AB4 4B 2F 2C A5 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D54AB8 B0 7D 05 DC */ sth r3, 0x5dc(r29) -/* 80D54ABC 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80D54AC0 7F A4 EB 78 */ mr r4, r29 -/* 80D54AC4 4B 2E DA 55 */ bl reset__14dEvt_control_cFPv -/* 80D54AC8 7F A3 EB 78 */ mr r3, r29 -/* 80D54ACC A8 9D 05 DC */ lha r4, 0x5dc(r29) -/* 80D54AD0 38 A0 00 01 */ li r5, 1 -/* 80D54AD4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D54AD8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D54ADC 4B 2C 6B 09 */ bl fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs -/* 80D54AE0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D54AE4 4B 60 D7 45 */ bl _restgpr_29 -/* 80D54AE8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D54AEC 7C 08 03 A6 */ mtlr r0 -/* 80D54AF0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D54AF4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin1__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin1__13daTagTWGate_cFv.s deleted file mode 100644 index b671437be8..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin1__13daTagTWGate_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80D53250: -/* 80D53250 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D53254 7C 08 02 A6 */ mflr r0 -/* 80D53258 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5325C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D53260 7C 7F 1B 78 */ mr r31, r3 -/* 80D53264 88 03 05 E2 */ lbz r0, 0x5e2(r3) -/* 80D53268 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D5326C 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D53270 38 A3 57 B0 */ addi r5, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D53274 7C 05 00 2E */ lwzx r0, r5, r0 -/* 80D53278 90 1F 01 00 */ stw r0, 0x100(r31) -/* 80D5327C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D53280 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D53284 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80D53288 7F E4 FB 78 */ mr r4, r31 -/* 80D5328C 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D53290 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D53294 7C A5 02 14 */ add r5, r5, r0 -/* 80D53298 80 A5 00 04 */ lwz r5, 4(r5) -/* 80D5329C 38 C0 00 FF */ li r6, 0xff -/* 80D532A0 4B 2F 44 B9 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D532A4 B0 7F 05 DC */ sth r3, 0x5dc(r31) -/* 80D532A8 7F E3 FB 78 */ mr r3, r31 -/* 80D532AC A8 9F 05 DC */ lha r4, 0x5dc(r31) -/* 80D532B0 38 A0 00 FF */ li r5, 0xff -/* 80D532B4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D532B8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D532BC 38 E0 00 04 */ li r7, 4 -/* 80D532C0 39 00 00 01 */ li r8, 1 -/* 80D532C4 4B 2C 83 B9 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 80D532C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D532CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D532D0 7C 08 03 A6 */ mtlr r0 -/* 80D532D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D532D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin3__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin3__13daTagTWGate_cFv.s deleted file mode 100644 index 2aa204d7d0..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin3__13daTagTWGate_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_80D53714: -/* 80D53714 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D53718 7C 08 02 A6 */ mflr r0 -/* 80D5371C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D53720 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D53724 4B 60 EA B9 */ bl _savegpr_29 -/* 80D53728 7C 7D 1B 78 */ mr r29, r3 -/* 80D5372C 38 00 00 01 */ li r0, 1 -/* 80D53730 98 03 05 DE */ stb r0, 0x5de(r3) -/* 80D53734 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D53738 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5373C 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 80D53740 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80D53744 54 00 3F FE */ rlwinm r0, r0, 7, 0x1f, 0x1f -/* 80D53748 98 1D 05 DF */ stb r0, 0x5df(r29) -/* 80D5374C 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D53750 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D53754 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D53758 38 63 57 B0 */ addi r3, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D5375C 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80D53760 90 1D 01 00 */ stw r0, 0x100(r29) -/* 80D53764 3B DF 4F F8 */ addi r30, r31, 0x4ff8 -/* 80D53768 7F C3 F3 78 */ mr r3, r30 -/* 80D5376C 80 9D 01 00 */ lwz r4, 0x100(r29) -/* 80D53770 4B 2F 30 91 */ bl setObjectArchive__16dEvent_manager_cFPc -/* 80D53774 7F C3 F3 78 */ mr r3, r30 -/* 80D53778 7F A4 EB 78 */ mr r4, r29 -/* 80D5377C 3C A0 80 D5 */ lis r5, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D53780 38 A5 57 B0 */ addi r5, r5, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D53784 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D53788 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D5378C 7C A5 02 14 */ add r5, r5, r0 -/* 80D53790 80 A5 00 0C */ lwz r5, 0xc(r5) -/* 80D53794 38 C0 00 FF */ li r6, 0xff -/* 80D53798 4B 2F 3F C1 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D5379C B0 7D 05 DC */ sth r3, 0x5dc(r29) -/* 80D537A0 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80D537A4 7F A4 EB 78 */ mr r4, r29 -/* 80D537A8 4B 2E ED 71 */ bl reset__14dEvt_control_cFPv -/* 80D537AC 7F A3 EB 78 */ mr r3, r29 -/* 80D537B0 A8 9D 05 DC */ lha r4, 0x5dc(r29) -/* 80D537B4 38 A0 00 01 */ li r5, 1 -/* 80D537B8 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D537BC 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D537C0 4B 2C 7E 25 */ bl fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs -/* 80D537C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D537C8 4B 60 EA 61 */ bl _restgpr_29 -/* 80D537CC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D537D0 7C 08 03 A6 */ mtlr r0 -/* 80D537D4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D537D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail1__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail1__13daTagTWGate_cFv.s deleted file mode 100644 index 8968111fd5..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail1__13daTagTWGate_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80D53BD0: -/* 80D53BD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D53BD4 7C 08 02 A6 */ mflr r0 -/* 80D53BD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D53BDC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D53BE0 7C 7F 1B 78 */ mr r31, r3 -/* 80D53BE4 88 03 05 E2 */ lbz r0, 0x5e2(r3) -/* 80D53BE8 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D53BEC 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D53BF0 38 A3 57 B0 */ addi r5, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D53BF4 7C 05 00 2E */ lwzx r0, r5, r0 -/* 80D53BF8 90 1F 01 00 */ stw r0, 0x100(r31) -/* 80D53BFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D53C00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D53C04 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80D53C08 7F E4 FB 78 */ mr r4, r31 -/* 80D53C0C 88 1F 05 E2 */ lbz r0, 0x5e2(r31) -/* 80D53C10 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D53C14 7C A5 02 14 */ add r5, r5, r0 -/* 80D53C18 80 A5 00 04 */ lwz r5, 4(r5) -/* 80D53C1C 38 C0 00 FF */ li r6, 0xff -/* 80D53C20 4B 2F 3B 39 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D53C24 B0 7F 05 DC */ sth r3, 0x5dc(r31) -/* 80D53C28 7F E3 FB 78 */ mr r3, r31 -/* 80D53C2C A8 9F 05 DC */ lha r4, 0x5dc(r31) -/* 80D53C30 38 A0 00 FF */ li r5, 0xff -/* 80D53C34 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D53C38 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D53C3C 38 E0 00 04 */ li r7, 4 -/* 80D53C40 39 00 00 01 */ li r8, 1 -/* 80D53C44 4B 2C 7A 39 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 80D53C48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D53C4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D53C50 7C 08 03 A6 */ mtlr r0 -/* 80D53C54 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D53C58 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail3__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail3__13daTagTWGate_cFv.s deleted file mode 100644 index 80046fc389..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail3__13daTagTWGate_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_80D54094: -/* 80D54094 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D54098 7C 08 02 A6 */ mflr r0 -/* 80D5409C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D540A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D540A4 4B 60 E1 39 */ bl _savegpr_29 -/* 80D540A8 7C 7D 1B 78 */ mr r29, r3 -/* 80D540AC 38 00 00 01 */ li r0, 1 -/* 80D540B0 98 03 05 DE */ stb r0, 0x5de(r3) -/* 80D540B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D540B8 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D540BC 80 7F 5D B4 */ lwz r3, 0x5db4(r31) -/* 80D540C0 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80D540C4 54 00 3F FE */ rlwinm r0, r0, 7, 0x1f, 0x1f -/* 80D540C8 98 1D 05 DF */ stb r0, 0x5df(r29) -/* 80D540CC 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D540D0 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D540D4 3C 60 80 D5 */ lis r3, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D540D8 38 63 57 B0 */ addi r3, r3, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D540DC 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80D540E0 90 1D 01 00 */ stw r0, 0x100(r29) -/* 80D540E4 3B DF 4F F8 */ addi r30, r31, 0x4ff8 -/* 80D540E8 7F C3 F3 78 */ mr r3, r30 -/* 80D540EC 80 9D 01 00 */ lwz r4, 0x100(r29) -/* 80D540F0 4B 2F 27 11 */ bl setObjectArchive__16dEvent_manager_cFPc -/* 80D540F4 7F C3 F3 78 */ mr r3, r30 -/* 80D540F8 7F A4 EB 78 */ mr r4, r29 -/* 80D540FC 3C A0 80 D5 */ lis r5, l_zevParamTbl@ha /* 0x80D557B0@ha */ -/* 80D54100 38 A5 57 B0 */ addi r5, r5, l_zevParamTbl@l /* 0x80D557B0@l */ -/* 80D54104 88 1D 05 E2 */ lbz r0, 0x5e2(r29) -/* 80D54108 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80D5410C 7C A5 02 14 */ add r5, r5, r0 -/* 80D54110 80 A5 00 0C */ lwz r5, 0xc(r5) -/* 80D54114 38 C0 00 FF */ li r6, 0xff -/* 80D54118 4B 2F 36 41 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 80D5411C B0 7D 05 DC */ sth r3, 0x5dc(r29) -/* 80D54120 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 80D54124 7F A4 EB 78 */ mr r4, r29 -/* 80D54128 4B 2E E3 F1 */ bl reset__14dEvt_control_cFPv -/* 80D5412C 7F A3 EB 78 */ mr r3, r29 -/* 80D54130 A8 9D 05 DC */ lha r4, 0x5dc(r29) -/* 80D54134 38 A0 00 01 */ li r5, 1 -/* 80D54138 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80D5413C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 80D54140 4B 2C 74 A5 */ bl fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs -/* 80D54144 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D54148 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5414C 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80D54150 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80D54154 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80D54158 A0 84 01 54 */ lhz r4, 0x154(r4) -/* 80D5415C 4B 2E 08 31 */ bl onEventBit__11dSv_event_cFUs -/* 80D54160 39 61 00 20 */ addi r11, r1, 0x20 -/* 80D54164 4B 60 E0 C5 */ bl _restgpr_29 -/* 80D54168 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D5416C 7C 08 03 A6 */ mtlr r0 -/* 80D54170 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D54174 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initTalk__13daTagTWGate_cFiPP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initTalk__13daTagTWGate_cFiPP10fopAc_ac_c.s deleted file mode 100644 index 47b502e672..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initTalk__13daTagTWGate_cFiPP10fopAc_ac_c.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D5502C: -/* 80D5502C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D55030 7C 08 02 A6 */ mflr r0 -/* 80D55034 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D55038 7C 66 1B 78 */ mr r6, r3 -/* 80D5503C 7C 80 23 78 */ mr r0, r4 -/* 80D55040 7C A7 2B 78 */ mr r7, r5 -/* 80D55044 38 66 05 8C */ addi r3, r6, 0x58c -/* 80D55048 7C C4 33 78 */ mr r4, r6 -/* 80D5504C 7C 05 03 78 */ mr r5, r0 -/* 80D55050 38 C0 00 00 */ li r6, 0 -/* 80D55054 4B 4F 4F 3D */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 80D55058 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5505C 7C 08 03 A6 */ mtlr r0 -/* 80D55060 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D55064 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initWait__13daTagTWGate_cFv.s b/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initWait__13daTagTWGate_cFv.s deleted file mode 100644 index fa5d00d018..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initWait__13daTagTWGate_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80D525F8: -/* 80D525F8 38 00 FF FF */ li r0, -1 -/* 80D525FC B0 03 05 DC */ sth r0, 0x5dc(r3) -/* 80D52600 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 981a0023c2..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A55AC: -/* 805A55AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A55B0 7C 08 02 A6 */ mflr r0 -/* 805A55B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A55B8 4B FF FF 25 */ bl create__12daTagMagne_cFv -/* 805A55BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A55C0 7C 08 03 A6 */ mtlr r0 -/* 805A55C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A55C8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Delete__FP12daTagMagne_c.s b/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Delete__FP12daTagMagne_c.s deleted file mode 100644 index 4fa690ea67..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Delete__FP12daTagMagne_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A558C: -/* 805A558C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A5590 7C 08 02 A6 */ mflr r0 -/* 805A5594 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A5598 4B FF FF E1 */ bl _delete__12daTagMagne_cFv -/* 805A559C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A55A0 7C 08 03 A6 */ mtlr r0 -/* 805A55A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A55A8 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 78a6d04fab..0474f4eb5a 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -63,6 +63,7 @@ public: Vec* getMax() { return &mMax; } Vec* getMin() { return &mMin; } void setCallBack(J3DJointCallBack callback) { mCallBack = callback; } + void setMtxCalc(J3DMtxCalc* i_mtxCalc) { mMtxCalc = i_mtxCalc; } static J3DMtxCalc* mCurrentMtxCalc; diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h index d635b91979..2cbe551312 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h @@ -33,6 +33,7 @@ public: JUTNameTab* getTextureName() const { return mTextureName; } u16 getMaterialNum() const { return mMaterialNum; } + bool isLocked() const { return field_0x1c == 1; } private: /* 0x04 */ u16 mMaterialNum; diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index fcc391beea..931c225adb 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -28,12 +28,16 @@ typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing); class J3DModel { public: + J3DModel() { + initialize(); + } + /* 800CFFF4 */ void setBaseTRMtx(f32 (*)[4]); /* 80327100 */ void initialize(); /* 80327184 */ s32 entryModelData(J3DModelData*, u32, u32); /* 80327300 */ s32 createShapePacket(J3DModelData*); /* 803273CC */ s32 createMatPacket(J3DModelData*, u32); - /* 803275FC */ void newDifferedDisplayList(u32); + /* 803275FC */ s32 newDifferedDisplayList(u32); /* 8032767C */ void lock(); /* 803276B4 */ void unlock(); /* 803279A0 */ void diff(); @@ -60,6 +64,9 @@ public: void onFlag(u32 flag) { mFlags |= flag; } void offFlag(u32 flag) { mFlags &= ~flag; } bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; } + + bool isCpuSkinningOn() const { return (mFlags & 4) && (mFlags & 8); } + Mtx& getBaseTRMtx() { return mBaseTransformMtx; } void i_setBaseTRMtx(Mtx m) { PSMTXCopy(m, mBaseTransformMtx); } u32 getMtxCalcMode() const { return mFlags & 0x03; } @@ -67,8 +74,10 @@ public: J3DShapePacket* getShapePacket(u16 idx) const { return &mShapePacket[idx]; } Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); } Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); } + Mtx* getDrawMtxPtr() const { return mMtxBuffer->getDrawMtxPtr(); } void setBaseScale(const Vec& scale) { mBaseScale = scale; } void setUserArea(u32 area) { mUserArea = area; } + u32 getUserArea() const { return mUserArea; } Vec* getBaseScale() { return &mBaseScale; } // is there a better way to handle inlines with same name as non-inlines? diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 331fc0b347..5371f8113a 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -43,6 +43,7 @@ public: bool checkFlag(u32 flag) const { return !!(mFlags & flag); } bool checkBumpFlag() const { return mbHasBumpArray; } bool checkBBoardFlag() const { return mbHasBillboard == 1; } + bool isLocked() { return mMaterialTable.isLocked(); } void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); } void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); } int removeTexNoAnimator(J3DAnmTexPattern* anm) { diff --git a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h index 8aab568306..1977afe281 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h +++ b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h @@ -30,11 +30,24 @@ public: u32* getCurrentViewNoPtr() { return &mCurrentViewNo; } u8* getScaleFlagArray() const { return mScaleFlagArray; } Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxArr; } + Mtx* getDrawMtxPtr() const { return mpDrawMtxArr[mCurrentViewNo]; } Mtx33** getNrmMtxPtrPtr() const { return mpNrmMtxArr; } Mtx33* getNrmMtxPtr() const { return mpNrmMtxArr[mCurrentViewNo]; } Mtx33** getBumpMtxPtrPtr() const { return mpBumpMtxArr; } Mtx33* getBumpMtxPtr(int idx) const { return mpBumpMtxArr[idx]; } + void swapDrawMtx() { + Mtx* tmp = mpOldDrawMtxArr[mCurrentViewNo]; + mpOldDrawMtxArr[mCurrentViewNo] = mpDrawMtxArr[mCurrentViewNo]; + mpDrawMtxArr[mCurrentViewNo] = tmp; + } + + void swapNrmMtx() { + Mtx33* tmp = mpOldNrmMtxArr[mCurrentViewNo]; + mpOldNrmMtxArr[mCurrentViewNo] = mpNrmMtxArr[mCurrentViewNo]; + mpNrmMtxArr[mCurrentViewNo] = tmp; + } + static Mtx sNoUseDrawMtx; static Mtx33 sNoUseNrmMtx; static Mtx* sNoUseDrawMtxPtr; @@ -60,4 +73,7 @@ public: /* 803283B4 */ virtual ~J3DMtxBuffer(); }; +void J3DCalcViewBaseMtx(f32 (*param_0)[4], Vec const& param_1, f32 const (¶m_2)[3][4], + f32 (*param_3)[4]); + #endif /* J3DMTXBUFFER_H */ diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index 6814350795..c9c21cfd40 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -51,6 +51,7 @@ public: J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; } J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; } J3DShape* getShape() { return mShape; } + J3DJoint* getJoint() { return mJoint; } J3DMaterialAnm* getMaterialAnm() const { if ((u32)mMaterialAnm < 0xC0000000) { return mMaterialAnm; diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index a4bded7e42..fd75fc48f7 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -123,6 +123,8 @@ struct J3DSys { void setViewMtx(Mtx m) { PSMTXCopy(m, mViewMtx); } + J3DModel* getModel() { return mModel; } + static Mtx mCurrentMtx; static Vec mCurrentS; static Vec mParentS; diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index 923bf225ed..e5559255ba 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -19,6 +19,11 @@ public: u16 getNum() const { return mNum; } ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; } + void setResTIMG(u16 entry, const ResTIMG& timg) { + mpRes[entry] = timg; + mpRes[entry].imageOffset = ((mpRes[entry].imageOffset - (u32)(mpRes + entry))) + (u32)&timg; + mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset - (u32)(mpRes + entry))) + (u32)&timg; + } }; struct J3DTextureSRTInfo { diff --git a/include/JSystem/J3DGraphBase/J3DVertex.h b/include/JSystem/J3DGraphBase/J3DVertex.h index 2e3e1430c0..309194628a 100644 --- a/include/JSystem/J3DGraphBase/J3DVertex.h +++ b/include/JSystem/J3DGraphBase/J3DVertex.h @@ -54,6 +54,8 @@ private: class J3DVertexBuffer { public: + J3DVertexBuffer() { init(); } + /* 80310F78 */ void setVertexData(J3DVertexData*); /* 80310FD8 */ void init(); /* 80311030 */ ~J3DVertexBuffer(); diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index 977a166ea8..c9767d3a7e 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -135,8 +135,6 @@ public: u32 getMountMode() const { return mMountMode; } SDIFileEntry* findNameResource(const char*) const; - -protected: bool isSameName(CArcName&, u32, u16) const; SDIDirEntry* findResType(u32) const; SDIDirEntry* findDirectory(const char*, u32) const; diff --git a/include/JSystem/JKernel/JKRCompArchive.h b/include/JSystem/JKernel/JKRCompArchive.h index f6c8d89388..3becd55f1f 100644 --- a/include/JSystem/JKernel/JKRCompArchive.h +++ b/include/JSystem/JKernel/JKRCompArchive.h @@ -22,7 +22,15 @@ public: private: /* 0x00 */ // vtable /* 0x04 */ // JKRArchive - u8 unk[36]; + /* 0x5C */ int field_0x5c; + /* 0x60 */ int field_0x60; + /* 0x64 */ int field_0x64; + /* 0x68 */ int field_0x68; + /* 0x6C */ int field_0x6c; + /* 0x70 */ JKRDvdFile* field_0x70; + /* 0x74 */ u32 mSizeOfMemPart; + /* 0x78 */ u32 mSizeOfAramPart; + /* 0x7C */ int field_0x7c; }; #endif /* JKRCOMPARCHIVE_H */ diff --git a/include/JSystem/JKernel/JKRExpHeap.h b/include/JSystem/JKernel/JKRExpHeap.h index d0ae61b76e..faccd6431c 100644 --- a/include/JSystem/JKernel/JKRExpHeap.h +++ b/include/JSystem/JKernel/JKRExpHeap.h @@ -6,6 +6,10 @@ class JKRExpHeap : public JKRHeap { public: + enum EAllocMode { + ALLOC_MODE_1 = 1, + }; + class CMemBlock { friend class JKRExpHeap; @@ -18,25 +22,25 @@ public: int free(JKRExpHeap* heap); static CMemBlock* getHeapBlock(void* ptr); - void newGroupId(u8 groupId) { this->mGroupId = groupId; } - bool isValid() const { return this->mMagic == 'HM'; } - bool _isTempMemBlock() const { return (this->mFlags & 0x80) ? true : false; } - int getAlignment() const { return this->mFlags & 0x7f; } + void newGroupId(u8 groupId) { mGroupId = groupId; } + bool isValid() const { return mMagic == 'HM'; } + bool _isTempMemBlock() const { return (mFlags & 0x80) ? true : false; } + int getAlignment() const { return mFlags & 0x7f; } void* getContent() const { return (void*)(this + 1); } - CMemBlock* getPrevBlock() const { return this->mPrev; } - CMemBlock* getNextBlock() const { return this->mNext; } - u32 getSize() const { return this->size; } - u8 getGroupId() const { return this->mGroupId; } + CMemBlock* getPrevBlock() const { return mPrev; } + CMemBlock* getNextBlock() const { return mNext; } + u32 getSize() const { return size; } + u8 getGroupId() const { return mGroupId; } static CMemBlock* getBlock(void* data) { return (CMemBlock*)((u32)data + -0x10); } private: - u16 mMagic; - u8 mFlags; // a|bbbbbbb a=temporary b=alignment - u8 mGroupId; - u32 size; - CMemBlock* mPrev; - CMemBlock* mNext; - }; + /* 0x0 */ u16 mMagic; + /* 0x2 */ u8 mFlags; // a|bbbbbbb a=temporary b=alignment + /* 0x3 */ u8 mGroupId; + /* 0x4 */ u32 size; + /* 0x8 */ CMemBlock* mPrev; + /* 0xC */ CMemBlock* mNext; + }; // Size: 0x10 friend class CMemBlock; protected: @@ -57,7 +61,11 @@ protected: public: s32 getUsedSize(u8 groupId) const; s32 getTotalUsedSize(void) const; + CMemBlock* getHeadUsedList() const { return mHeadUsedList; } + void setAllocationMode(EAllocMode mode) { + mAllocMode = mode; + } public: /* vt[04] */ virtual u32 getHeapType(); /* override */ @@ -81,17 +89,17 @@ public: /* vt[22] */ virtual bool state_compare(JKRHeap::TState const& r1, JKRHeap::TState const& r2) const; /* override */ - u8 field_0x6c; - u8 mCurrentGroupId; - bool field_0x6e; + /* 0x6C */ u8 mAllocMode; + /* 0x6D */ u8 mCurrentGroupId; + /* 0x6E */ bool field_0x6e; private: - void* field_0x70; - u32 field_0x74; - CMemBlock* mHeadFreeList; - CMemBlock* mTailFreeList; - CMemBlock* mHeadUsedList; - CMemBlock* mTailUsedList; + /* 0x70 */ void* field_0x70; + /* 0x74 */ u32 field_0x74; + /* 0x78 */ CMemBlock* mHeadFreeList; + /* 0x7C */ CMemBlock* mTailFreeList; + /* 0x80 */ CMemBlock* mHeadUsedList; + /* 0x84 */ CMemBlock* mTailUsedList; public: static JKRExpHeap* createRoot(int maxHeaps, bool errorFlag); diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index 38aba619a0..927ee8d6e8 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -14,12 +14,12 @@ class JKRHeap : public JKRDisposer { public: class TState { public: - u32 mUsedSize; - u32 mCheckCode; - u32 mBuf; - u32 field_0xc; - JKRHeap* mHeap; - u32 mId; + /* 0x00 */ u32 mUsedSize; + /* 0x04 */ u32 mCheckCode; + /* 0x08 */ u32 mBuf; + /* 0x0C */ u32 field_0xc; + /* 0x10 */ JKRHeap* mHeap; + /* 0x14 */ u32 mId; public: u32 getUsedSize() const { return mUsedSize; } diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index cb252d9aea..71bad19d43 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -5,6 +5,7 @@ #include "dolphin/types.h" void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32); +void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3); inline f32 JMAFastReciprocal(f32 value) { return __fres(value); diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 91b256d6a8..979d41b3dd 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -207,6 +207,7 @@ enum { JPAEmtrStts_StopCalc = 0x02, JPAEmtrStts_FirstEmit = 0x10, JPAEmtrStts_RateStepEmit = 0x20, + JPAEmtrStts_Immortal = 0x40, }; class JPABaseEmitter { @@ -232,12 +233,25 @@ public: u8 getGroupID() const { return mGroupID; } u8 getDrawTimes() const { return mDrawTimes; } void setRate(f32 rate) { mRate = rate; } + void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; } f32 get_r_f() { return mRndm.get_rndm_f(); } f32 get_r_zp() { return mRndm.get_rndm_zp(); } f32 get_r_zh() { return mRndm.get_rndm_zh(); } s16 get_r_ss() { return mRndm.get_rndm_ss(); } + void stopCreateParticle() { setStatus(JPAEmtrStts_StopEmit); } + void becomeImmortalEmitter() { setStatus(JPAEmtrStts_Immortal); } + void becomeContinuousParticle() { mMaxFrame = 0; } + void becomeInvalidEmitter() { + stopCreateParticle(); + mMaxFrame = 1; + } + + void quitImmortalEmitter() { clearStatus(JPAEmtrStts_Immortal); } + void stopCalcEmitter() { setStatus(JPAEmtrStts_StopCalc); } + void playCalcEmitter() { clearStatus(JPAEmtrStts_StopCalc); } + public: /* 0x00 */ Vec mLocalScl; /* 0x0C */ Vec mLocalTrs; diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index f297f75b6b..5aec4a6b0e 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -73,7 +73,7 @@ public: /* 0x20 */ virtual u16 getDescent() const = 0; /* 0x24 */ virtual s32 getHeight() const = 0; /* 0x28 */ virtual s32 getWidth() const = 0; - /* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const; + /* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const = 0; /* 0x30 */ virtual int getCellWidth() const; /* 0x34 */ virtual u16 getCellHeight() const; /* 0x38 */ virtual u16 getFontType() const = 0; diff --git a/include/JSystem/JUtility/JUTNameTab.h b/include/JSystem/JUtility/JUTNameTab.h index 7f9d62dfde..e539c6f08c 100644 --- a/include/JSystem/JUtility/JUTNameTab.h +++ b/include/JSystem/JUtility/JUTNameTab.h @@ -26,12 +26,12 @@ public: s32 getIndex(char const*) const; const char* getName(u16 index) const; u16 calcKeyCode(char const* pName) const; - const ResNTAB* getResNameTable() const { return mpNameTable; } + const ResNTAB* getResNameTable() const { return mNameTable; } private: - const ResNTAB* mpNameTable; - const char* mpStrData; - u16 mNameNum; + /* 0x4 */ const ResNTAB* mNameTable; + /* 0x8 */ const char* mpStrData; + /* 0xC */ u16 mNameNum; }; #endif /* JUTNAMETAB_H */ diff --git a/include/JSystem/JUtility/JUTTexture.h b/include/JSystem/JUtility/JUTTexture.h index 9dcd5cb859..c9ab2dd780 100644 --- a/include/JSystem/JUtility/JUTTexture.h +++ b/include/JSystem/JUtility/JUTTexture.h @@ -16,9 +16,9 @@ struct ResTIMG { /* 0x04 */ u16 height; /* 0x06 */ u8 wrapS; /* 0x07 */ u8 wrapT; - /* 0x08 */ u8 palettesEnabled; - /* 0x09 */ u8 paletteFormat; - /* 0x0A */ u16 paletteCount; + /* 0x08 */ u8 indexTexture; + /* 0x09 */ u8 colorFormat; + /* 0x0A */ u16 numColors; /* 0x0C */ u32 paletteOffset; /* 0x10 */ u8 mipmapEnabled; /* 0x11 */ u8 doEdgeLOD; @@ -31,7 +31,7 @@ struct ResTIMG { /* 0x18 */ u8 mipmapCount; /* 0x19 */ u8 unknown; /* 0x1A */ s16 LODBias; - /* 0x1C */ u32 texDataOffset; + /* 0x1C */ u32 imageOffset; }; // Size: 0x20 class JUTTexture { diff --git a/include/SSystem/SComponent/c_phase.h b/include/SSystem/SComponent/c_phase.h index 883422a6b1..32ed36683a 100644 --- a/include/SSystem/SComponent/c_phase.h +++ b/include/SSystem/SComponent/c_phase.h @@ -6,18 +6,18 @@ typedef int (*cPhs__Handler)(void*); enum cPhs__Step { - cPhs_ZERO_e = 0x00, - cPhs_UNK_1 = 0x01, - cPhs_UNK_2 = 0x02, - // names from Wind Waker debug strings - cPhs_COMPLEATE_e = 0x04, - cPhs_ERROR_e = 0x05, - cPhs_NEXT_e = 0x06, + /* 0x0 */ cPhs_ZERO_e, + /* 0x1 */ cPhs_ONE_e, // next? + /* 0x2 */ cPhs_TWO_e, // ready? + /* 0x3 */ cPhs_UNK3_e, + /* 0x4 */ cPhs_COMPLEATE_e, + /* 0x5 */ cPhs_ERROR_e, + /* 0x6 */ cPhs_NEXT_e, }; typedef struct request_of_phase_process_class { cPhs__Handler* mpHandlerTable; - int mPhaseStep; + int id; } request_of_phase_process_class; typedef int (**request_of_phase_process_fn)(void*); diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 16cdfbc8b9..7df6f5c7a6 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -174,33 +174,154 @@ struct daAlink_WlAnmData { /* 0x7 */ u8 field_0x7; }; // Size: 0x8 +class daAlinkHIO_wolf_c { +public: + /* 80140B98 */ ~daAlinkHIO_wolf_c(); +}; + +class daAlinkHIO_cut_c { +public: + /* 80140BD4 */ ~daAlinkHIO_cut_c(); +}; + +class daAlinkHIO_c { +public: + /* 80140B88 */ daAlinkHIO_c(); + /* 80140C10 */ ~daAlinkHIO_c(); +}; + class daAlink_c; typedef int (daAlink_c::*daAlink_procFunc)(); class daAlink_c : public daPy_py_c { public: enum daAlink_ANM { - /* 0x013 */ ANM_DASH = 19, + /* 0x001 */ ANM_ATN_L_WALK_FORWARD = 1, + + /* 0x003 */ ANM_ATN_WALK_BACK = 3, + + /* 0x005 */ ANM_ATN_L_WALK_BACK = 5, + /* 0x006 */ ANM_ATN_HEAVY_WALK_LEFT, + /* 0x007 */ ANM_ATN_READY_LEFT, + /* 0x008 */ ANM_ATN_HEAVY_WALK_RIGHT, + /* 0x009 */ ANM_ATN_READY_RIGHT, + /* 0x00A */ ANM_ATN_WALK_LEFT, + /* 0x00B */ ANM_ATN_L_WALK_LEFT, + /* 0x00C */ ANM_ATN_WALK_RIGHT, + /* 0x00D */ ANM_ATN_L_WALK_RIGHT, + /* 0x00E */ ANM_HEAVY_WALK, + /* 0x00F */ ANM_ATN_HEAVY_WALK_BACK, + /* 0x010 */ ANM_HOOKSHOT_AIM, + /* 0x011 */ ANM_BOW_AIM, + + /* 0x013 */ ANM_RUN = 19, + /* 0x015 */ ANM_WAIT_TURN = 0x15, - /* 0x019 */ ANM_IDLE = 0x19, // name might be inaccurate + + /* 0x019 */ ANM_IDLE = 0x19, // name might be inaccurate, subjectivity + /* 0x01B */ ANM_WAIT_INIT = 0x1B, + /* 0x01D */ ANM_SIDE_STEP_LEFT = 0x1D, /* 0x01E */ ANM_SIDE_STEP_RIGHT, /* 0x01F */ ANM_SIDE_STEP_LEFT_LAND, /* 0x020 */ ANM_SIDE_STEP_RIGHT_LAND, - /* 0x021 */ ANM_BACK_JUMP = 0x21, + /* 0x021 */ ANM_BACK_JUMP, /* 0x022 */ ANM_BACK_JUMP_LAND, /* 0x023 */ ANM_FRONT_ROLL, /* 0x024 */ ANM_ROLL_CRASH, - /* 0x071 */ ANM_CUT_JUMP = 0x71, + /* 0x025 */ ANM_BARRIER_RECOIL, + /* 0x026 */ ANM_BACKFLIP, + /* 0x027 */ ANM_BACKFLIP_LAND, + + /* 0x02C */ ANM_SHIELD_GUARD = 0x2C, + + /* 0x02E */ ANM_SHIELD_ATTACK = 0x2E, + /* 0x02F */ ANM_SHIELD_ATTACK_RECOIL, + + /* 0x033 */ ANM_FALL_LAND = 0x33, // ? + + /* 0x036 */ ANM_PUSH_PULL_READY = 0x36, + /* 0x037 */ ANM_PUSH, + + /* 0x03A */ ANM_PULL = 0x3A, + + /* 0x062 */ ANM_CUT_NM_VERTICAL = 0x62, + /* 0x063 */ ANM_CUT_NM_LEFT, + /* 0x064 */ ANM_CUT_NM_RIGHT, + /* 0x065 */ ANM_CUT_COMBO_STAB, + /* 0x066 */ ANM_CUT_NM_STAB, + /* 0x067 */ ANM_CUT_FINISH_LEFT, + /* 0x068 */ ANM_CUT_FINISH_VERTICAL, + /* 0x069 */ ANM_CUT_FINISH_STAB, + + /* 0x06C */ ANM_CUT_FINISH_RIGHT = 0x6C, + /* 0x06D */ ANM_CUT_TWIRL, + /* 0x06E */ ANM_CUT_TWIRL_LAND, + /* 0x06F */ ANM_CUT_RECOIL_1, + /* 0x070 */ ANM_CUT_RECOIL_2, + /* 0x071 */ ANM_CUT_JUMP, + /* 0x072 */ ANM_CUT_JUMP_LAND, + /* 0x073 */ ANM_CUT_TURN_LEFT, + /* 0x074 */ ANM_CUT_TURN_RIGHT, + /* 0x075 */ ANM_CUT_TURN_CHARGE_INIT, + /* 0x076 */ ANM_CUT_TURN_CHARGE, + + /* 0x078 */ ANM_CUT_FINISHING_BLOW_JUMP = 0x78, + /* 0x079 */ ANM_CUT_FINISHING_BLOW_FALL, + /* 0x07A */ ANM_CUT_FINISHING_BLOW_STAB, + + /* 0x07C */ ANM_CUT_HEAD_JUMP = 0x7C, + /* 0x07D */ ANM_CUT_HEAD, + /* 0x07E */ ANM_CUT_HEAD_LAND, + /* 0x07F */ ANM_DMG_SMALL, + + /* 0x083 */ ANM_DMG_AIR = 0x83, + /* 0x084 */ ANM_DMG_LARGE, + + /* 0x087 */ ANM_DMG_AIR_LAND = 0x87, + /* 0x088 */ ANM_DMG_LARGE_LAND, + + /* 0x08C */ ANM_DMG_LARGE_UP_INIT = 0x8C, + /* 0x08D */ ANM_DMG_LARGE_UP, + /* 0x090 */ ANM_SERVICE_WAIT = 0x90, + /* 0x091 */ ANM_CLIMB_JUMP, + /* 0x092 */ ANM_HANG_READY, + /* 0x093 */ ANM_CLIMB_TOP_SMALL, + /* 0x094 */ ANM_HANG_CLIMB_TOP, + /* 0x095 */ ANM_HANG_ONE_HAND, + /* 0x096 */ ANM_HANG_ONE_HAND_MOVE, + /* 0x097 */ ANM_HANG_MOVE_LEFT, + /* 0x098 */ ANM_HANG_MOVE_RIGHT, + + /* 0x0A2 */ ANM_CLIMB_READY = 0xA2, + /* 0x0A3 */ ANM_CLIMB_UP_RIGHT, + /* 0x0A4 */ ANM_CLIMB_UP_LEFT, + /* 0x0A5 */ ANM_CLIMB_MOVE_LEFT, + /* 0x0A6 */ ANM_CLIMB_MOVE_RIGHT, + /* 0x0A7 */ ANM_FALL_ONE_HAND_GRAB, + + /* 0x0AF */ ANM_PICK_UP_INIT = 0xAF, + /* 0x0B0 */ ANM_PICK_UP, + /* 0x0B1 */ ANM_THROW_SMALL, + /* 0x0B2 */ ANM_THROW_LARGE, + /* 0x0B3 */ ANM_PICK_UP_LARGE_INIT, + /* 0x0B4 */ ANM_PICK_UP_LARGE, + /* 0x0B6 */ ANM_TIRED_WAIT = 0xB6, /* 0x0B7 */ ANM_TIRED_WAIT_INIT, + /* 0x0B8 */ ANM_NPC_SPEAK, + + /* 0x0BB */ ANM_BOOMERANG_CATCH = 0xBB, + /* 0x0BD */ ANM_FORWARD_SLIDE = 0xBD, /* 0x0BE */ ANM_BACKWARD_SLIDE, /* 0x0BF */ ANM_BACKWARD_SLIDE_LAND, /* 0x0C0 */ ANM_FORWARD_SLIDE_LAND, + /* 0x0CE */ ANM_SWIM_FREEZE = 0xCE, + /* 0x0D7 */ ANM_BOARD_SPINNER = 0xD7, /* 0x0F2 */ ANM_SPINNER_STAND = 0xF2, @@ -213,12 +334,41 @@ public: /* 0x0FD */ ANM_TRANSFORM_WOLF = 0xFD, // verify + /* 0x100 */ ANM_BOTTLE_DRINK_OPEN = 0x100, + /* 0x101 */ ANM_BOTTLE_DRINK, + /* 0x102 */ ANM_BOTTLE_DRINK_END, + + /* 0x107 */ ANM_BOTTLE_SWING = 0x107, + /* 0x108 */ ANM_GRASS_WHISTLE_GRAB, + + /* 0x10B */ ANM_LANTERN_SWING = 0x10B, + /* 0x10C */ ANM_OIL_BOTTLE_POUR_INIT, + /* 0x10D */ ANM_OIL_BOTTLE_POUR, + /* 0x10E */ ANM_OIL_BOTTLE_POUR_END, + + /* 0x110 */ ANM_GRASS_WHISTLE_PLAY = 0x110, + /* 0x111 */ ANM_HAWK_CATCH, + /* 0x112 */ ANM_HAWK_SUBJECT, + + /* 0x129 */ ANM_HOOKSHOT_PULL_TO = 0x129, + + /* 0x12B */ ANM_HOOKSHOT_SHOOT = 0x12B, + + /* 0x13E */ ANM_BOOTS_EQUIP = 0x13E, + + /* 0x181 */ ANM_CHAIN_PICK_UP = 0x181, + /* 0x182 */ ANM_CHAIN_PULL, + /* 0x188 */ ANM_DUNGEON_WARP_READY_INIT = 0x188, - /* 0x18D */ ANM_CUT_JUMP_LARGE = 0x18D, // verify - /* 0x18F */ ANM_MASTER_SWORD_STICK_INIT = 0x18F, + /* 0x18B */ ANM_CUT_JUMP_LARGE_CHARGE = 0x18B, + /* 0x18C */ ANM_CUT_JUMP_LARGE_INIT, + /* 0x18D */ ANM_CUT_JUMP_LARGE, + /* 0x18E */ ANM_CUT_JUMP_LARGE_LAND, + /* 0x18F */ ANM_MASTER_SWORD_STICK_INIT, /* 0x190 */ ANM_MASTER_SWORD_STICK, /* 0x191 */ ANM_MASTER_SWORD_PULL_INIT, + /* 0x198 */ ANM_GANON_FINISH = 408, // name probably wrong, fix later }; @@ -690,7 +840,7 @@ public: /* 8009FFF8 */ void calcHairAngle(s16*); /* 800A002C */ void setHairAngle(cXyz*, f32, f32); /* 800A0744 */ void setLookPosFromOut(cXyz*); - /* 800A07D8 */ void checkAttentionPosAngle(cXyz*); + /* 800A07D8 */ bool checkAttentionPosAngle(cXyz*); /* 800A0868 */ void checkActorPosAngle(fopAc_ac_c*, cXyz**); /* 800A093C */ void getNeckAimPos(cXyz*, int*, int); /* 800A142C */ void getNeckAimAngle(cXyz*, s16*, s16*, s16*, s16*); @@ -710,10 +860,10 @@ public: /* 800A3CE4 */ void setIdxMask(u16*, u16*); /* 800A3D0C */ void* getAnimeResource(daPy_anmHeap_c*, u16, u32); /* 800A3D7C */ J3DModel* initModel(J3DModelData*, u32, u32); - /* 800A3E30 */ void initModel(u16, u32); - /* 800A3E98 */ void initModelEnv(u16, u32); - /* 800A3F00 */ void initDemoModel(J3DModel**, char const*, u32); - /* 800A3F98 */ void initDemoBck(mDoExt_bckAnm**, char const*); + /* 800A3E30 */ J3DModel* initModel(u16, u32); + /* 800A3E98 */ J3DModel* initModelEnv(u16, u32); + /* 800A3F00 */ int initDemoModel(J3DModel**, char const*, u32); + /* 800A3F98 */ static int initDemoBck(mDoExt_bckAnm**, char const*); /* 800A4068 */ int createHeap(); /* 800A4910 */ void setSelectEquipItem(int); /* 800A4BC8 */ BOOL checkBoarStart(); @@ -971,13 +1121,13 @@ public: /* 800C0678 */ static bool checkCastleTownUseItem(u16); /* 800C077C */ void changeItemTriggerKeepProc(u8, int); /* 800C0A9C */ void checkNewItemChange(u8); - /* 800C12DC */ void deleteEquipItem(int, int); + /* 800C12DC */ void deleteEquipItem(int playSound, int deleteKantera); /* 800C1704 */ void setLight(); /* 800C1CEC */ void setFrontRollCrashShock(u8); /* 800C1E0C */ void changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE); - /* 800C1F6C */ void commonProcInit(daAlink_c::daAlink_PROC); - /* 800C2DA4 */ BOOL commonProcInitNotSameProc(daAlink_PROC); - /* 800C2DDC */ void procPreActionUnequipInit(int, fopAc_ac_c*); + /* 800C1F6C */ void commonProcInit(daAlink_c::daAlink_PROC procID); + /* 800C2DA4 */ BOOL commonProcInitNotSameProc(daAlink_PROC procID); + /* 800C2DDC */ int procPreActionUnequipInit(int, fopAc_ac_c*); /* 800C2EAC */ void procPreActionUnequip(); /* 800C3098 */ int procServiceWaitInit(); /* 800C30F0 */ int procServiceWait(); @@ -1910,8 +2060,8 @@ public: /* 80111724 */ void procKandelaarPour(); /* 80111784 */ void setGrassWhistleModel(int); /* 8011181C */ void setHorseWhistleModel(); - /* 80111894 */ void procGrassWhistleGetInit(); - /* 801119D8 */ void procGrassWhistleGet(); + /* 80111894 */ int procGrassWhistleGetInit(); + /* 801119D8 */ int procGrassWhistleGet(); /* 80111A9C */ void procGrassWhistleWaitInit(int, int, int, s16, cXyz*); /* 80111CA4 */ void procGrassWhistleWait(); /* 80111FF0 */ void procCoHorseCallWaitInit(int); @@ -2590,6 +2740,7 @@ public: const daAlink_AnmData* getAnmData(daAlink_ANM anmID) const { return &m_anmDataTable[anmID]; } BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } + int getGrassHowlEventActor() const { return field_0x3198; } bool checkFishingCastMode() const { bool var_r5; @@ -2627,8 +2778,14 @@ public: return initModel(p_modelData, 0x80000, param_1); } + J3DModel* initModelEnv(J3DModelData* p_modelData, u32 param_1) { + return initModel(p_modelData, 0, param_1); + } + bool checkWindSpeedOnXZ() const { return field_0x35b8.abs2XZ() > 1.0f; } + bool checkResetRootMtx(int param_0) const { return field_0x2f90 != 0 && param_0 == 1; } + inline void startRestartRoomFromOut(int, u32, int); inline u16 getReadyItem(); @@ -2654,34 +2811,34 @@ private: /* 0x00644 */ char* mShieldArcName; /* 0x00648 */ JKRExpHeap* field_0x0648; /* 0x0064C */ J3DModelData* field_0x064C; - /* 0x00650 */ J3DModel* field_0x0650; - /* 0x00654 */ J3DModel* field_0x0654; - /* 0x00658 */ J3DModel* field_0x0658; + /* 0x00650 */ J3DModel* mpLinkModel; + /* 0x00654 */ J3DModel* mpLinkFaceModel; + /* 0x00658 */ J3DModel* mpLinkHatModel; /* 0x0065C */ J3DModel* field_0x065c; - /* 0x00660 */ J3DModel* field_0x0660; - /* 0x00664 */ J3DModel* field_0x0664; - /* 0x00668 */ J3DModel* field_0x0668; - /* 0x0066C */ J3DModel* field_0x066c; - /* 0x00670 */ J3DModel* field_0x0670; - /* 0x00674 */ J3DModel* field_0x0674; + /* 0x00660 */ J3DModel* mpSwAModel; // Ordon Sword model + /* 0x00664 */ J3DModel* mpSwASheathModel; // Ordon Sword sheath model + /* 0x00668 */ J3DModel* mpSwMModel; // Master Sword model + /* 0x0066C */ J3DModel* mpSwMSheathModel; // Master Sword sheath model + /* 0x00670 */ J3DModel* mWoodSwordModel; + /* 0x00674 */ J3DModel* mpWlChangeModel; /* 0x00678 */ J3DModel* mShieldModel; /* 0x0067C */ J3DAnmBase* field_0x067c; /* 0x00680 */ J3DAnmBase* field_0x0680; - /* 0x00684 */ J3DModel* field_0x0684; - /* 0x00688 */ J3DModel* field_0x0688; + /* 0x00684 */ J3DModel* mpDemoFCBlendModel; + /* 0x00688 */ J3DModel* mpDemoFCTongueModel; /* 0x0068C */ J3DAnmBase* field_0x068c; - /* 0x00690 */ mDoExt_baseAnm** field_0x0690; - /* 0x00694 */ J3DDeformData* field_0x0694; + /* 0x00690 */ mDoExt_bckAnm* mpDemoFCTmpBck; + /* 0x00694 */ J3DDeformData* mpDemoFCTmpBls; /* 0x00698 */ void* field_0x0698; /* 0x0069C */ void* field_0x069c; - /* 0x006A0 */ J3DModel* field_0x06a0; - /* 0x006A4 */ mDoExt_bckAnm* field_0x06a4; - /* 0x006A8 */ J3DModel* field_0x06a8; - /* 0x006AC */ mDoExt_bckAnm* field_0x06ac; - /* 0x006B0 */ mDoExt_bckAnm* field_0x06b0; + /* 0x006A0 */ J3DModel* mpDemoHLTmpModel; + /* 0x006A4 */ mDoExt_bckAnm* mpDemoHLTmpBck; + /* 0x006A8 */ J3DModel* mpDemoHRTmpModel; + /* 0x006AC */ mDoExt_bckAnm* mpDemoHRTmpBck; + /* 0x006B0 */ mDoExt_bckAnm* mpDemoHDTmpBck; /* 0x006B4 */ J3DAnmTransform* field_0x06b4; /* 0x006B8 */ J3DModel* mSwordModel; - /* 0x006BC */ J3DModel* field_0x06bc; + /* 0x006BC */ J3DModel* mSheathModel; /* 0x006C0 */ J3DModelData* field_0x06c0; /* 0x006C4 */ J3DAnmTextureSRTKey* m_nSwordBtk; /* 0x006C8 */ J3DAnmTextureSRTKey* m_mSwordBtk; @@ -2697,13 +2854,13 @@ private: /* 0x006F0 */ J3DShape* field_0x06f0; /* 0x006F4 */ J3DAnmBase* field_0x06f4; /* 0x006F8 */ J3DAnmBase* field_0x06f8; - /* 0x006FC */ J3DModel* field_0x06fc; + /* 0x006FC */ J3DModel* field_0x06fc; // related to human link /* 0x00700 */ J3DModel* field_0x0700; /* 0x00704 */ J3DAnmBase* field_0x0704; /* 0x00708 */ J3DModel* mHeldItemModel; - /* 0x0070C */ J3DModel* field_0x070c; - /* 0x00710 */ J3DModel* field_0x0710; - /* 0x00714 */ J3DModel* field_0x0714; + /* 0x0070C */ J3DModel* field_0x070c; // related to held item + /* 0x00710 */ J3DModel* field_0x0710; // related to held item + /* 0x00714 */ J3DModel* field_0x0714; // related to held item /* 0x00718 */ J3DAnmBase* field_0x0718; /* 0x0071C */ J3DAnmBase* field_0x071c; /* 0x00720 */ J3DAnmBase* field_0x0720; @@ -2719,14 +2876,17 @@ private: /* 0x0077C */ dBgS_ObjLinChk* mpHookshotLinChk; /* 0x00780 */ u8 field_0x780[4]; /* 0x00784 */ J3DModel* field_0x784[2]; - /* 0x0078C */ u8 field_0x78c[0x10]; - /* 0x0079C */ u32 field_0x79c; - /* 0x007A0 */ u32 field_0x7a0; - /* 0x007A4 */ u32 field_0x7a4; - /* 0x007A8 */ u32 field_0x7a8; + /* 0x0078C */ J3DModel* mpWlChain1Model; + /* 0x00790 */ J3DModel* mpWlChain2Model; + /* 0x00794 */ J3DModel* mpWlChain3Model; + /* 0x00798 */ J3DModel* mpWlChain4Model; + /* 0x0079C */ J3DModel* field_0x79c; // related to wolf + /* 0x007A0 */ J3DModel* mpWlMidnaHatModel; + /* 0x007A4 */ J3DModel* field_0x7a4; // related to wolf + /* 0x007A8 */ J3DModel* mpWlMidnaHairModel; /* 0x007AC */ u8 field_0x7ac[0x10]; /* 0x007BC */ mDoExt_bckAnm* m_sWindowBck; - /* 0x007C0 */ u8 field_0x7c0[4]; + /* 0x007C0 */ u32 mpWarpTexData; /* 0x007C4 */ daPy_actorKeep_c mWolfLockAcKeep[10]; /* 0x00814 */ dCcD_Stts field_0x814; /* 0x00850 */ dCcD_Cyl field_0x850[3]; @@ -2734,8 +2894,8 @@ private: /* 0x00FB8 */ dCcD_Sph field_0xFB8; /* 0x010F0 */ dCcD_Cyl field_0x10F0; /* 0x0122C */ dCcD_Cps field_0x122C[3]; - /* 0x015F8 */ dCcD_Cps field_0x15F8; - /* 0x0173C */ dCcD_Stts field_0x173c; + /* 0x015F8 */ dCcD_Cps mGuardAttackAtCps; + /* 0x0173C */ dCcD_Stts field_0x173c; // related to ball and chain /* 0x01778 */ dCcD_Sph field_0x1778; /* 0x018B0 */ dBgS_AcchCir field_0x18B0[3]; /* 0x01970 */ dBgS_LinkAcch mLinkAcch; @@ -2752,7 +2912,8 @@ private: /* 0x01E4C */ cBgS_PolyInfo mPolyInfo4; /* 0x01E5C */ dBgS_ObjLinChk mObjLinChk; /* 0x01ECC */ dBgS_ObjGndChk mObjGndChk; - /* 0x01F20 */ u8 field_0x1f20[8]; + /* 0x01F20 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x1f20; + /* 0x01F24 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x1f24; /* 0x01F28 */ mDoExt_AnmRatioPack field_0x1f28[3]; /* 0x01F40 */ mDoExt_AnmRatioPack mNowAnmPack[3]; /* 0x01F58 */ daPy_anmHeap_c mUnderAnime[3]; @@ -2767,12 +2928,13 @@ private: /* 0x0212C */ daPy_anmHeap_c mAnmHeap6; /* 0x02140 */ daPy_anmHeap_c mAnmHeap7; /* 0x02154 */ mDoExt_bckAnm field_0x2154; - /* 0x02170 */ u8 field_0x2170[0x18]; + /* 0x02170 */ u8 field_0x2170[0x10]; + /* 0x02180 */ daAlink_matAnm_c* field_0x2180[2]; /* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x0219C */ dEyeHL_c mEyeHL2; /* 0x021B0 */ daPy_anmHeap_c mItemHeap[2]; /* 0x021D8 */ daPy_anmHeap_c mAnmHeap9; - /* 0x021EC */ u8 field_0x21ec[4]; + /* 0x021EC */ daAlinkHIO_c* mpHIO; /* 0x021F0 */ daAlink_blur_c m_swordBlur; /* 0x027C8 */ dAlink_bottleWaterPcallBack_c field_0x27c8; /* 0x027E0 */ dAttention_c* mAttention; @@ -2780,7 +2942,7 @@ private: /* 0x027E8 */ dAttList_c* mAttList2; /* 0x027EC */ fopAc_ac_c* mTargetedActor; /* 0x027F0 */ fopAc_ac_c* field_0x27f0; - /* 0x027F4 */ kytag05_class* field_0x27f4; + /* 0x027F4 */ fopAc_ac_c* field_0x27f4; /* 0x027F8 */ fopAc_ac_c* field_0x27f8; /* 0x027FC */ fopAc_ac_c* field_0x27fc; /* 0x02800 */ daTagMmsg_c* mMidnaMsg; @@ -3300,22 +3462,6 @@ struct daAlinkHIO_basic_c1 { /* 0x54 */ f32 mTransformBlockFarDis; }; -class daAlinkHIO_wolf_c { -public: - /* 80140B98 */ ~daAlinkHIO_wolf_c(); -}; - -class daAlinkHIO_cut_c { -public: - /* 80140BD4 */ ~daAlinkHIO_cut_c(); -}; - -class daAlinkHIO_c { -public: - /* 80140B88 */ daAlinkHIO_c(); - /* 80140C10 */ ~daAlinkHIO_c(); -}; - class daAlinkHIO_basic_c0 { public: static daAlinkHIO_basic_c1 const m; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 2effbc58a3..1e5e9c7604 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -213,7 +213,7 @@ public: HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000, }; - enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000 }; + enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000, FLG1_UNK_4 = 4, }; enum daPy_FLG2 { FLG2_UNK_20000000 = 0x20000000, FLG2_UNK_4080000 = 0x4080000, @@ -238,6 +238,8 @@ public: ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_800000 = 0x800000, ERFLG0_UNK_100000 = 0x100000, + ERFLG0_UNK_400 = 0x400, + ERFLG0_UNK_4 = 4, ERFLG0_UNK_2 = 2, ERFLG0_UNK_1 = 1, }; diff --git a/include/d/bg/d_bg_s_gnd_chk.h b/include/d/bg/d_bg_s_gnd_chk.h index bc17ae7176..b6d3448e20 100644 --- a/include/d/bg/d_bg_s_gnd_chk.h +++ b/include/d/bg/d_bg_s_gnd_chk.h @@ -41,6 +41,8 @@ public: class dBgS_ObjGndChk_All : public dBgS_ObjGndChk { public: /* 800778E8 */ virtual ~dBgS_ObjGndChk_All(); + + dBgS_ObjGndChk_All() { OnAll(); } }; class dBgS_CamGndChk : public dBgS_GndChk { diff --git a/include/d/bg/d_bg_s_grp_pass_chk.h b/include/d/bg/d_bg_s_grp_pass_chk.h index 6b9c2b8a66..d19f153e46 100644 --- a/include/d/bg/d_bg_s_grp_pass_chk.h +++ b/include/d/bg/d_bg_s_grp_pass_chk.h @@ -21,6 +21,7 @@ public: void OnNormalGrp() { mGrp |= NORMAL_GRP; } void OffNormalGrp() { mGrp &= ~NORMAL_GRP; } void OffFullGrp() { mGrp &= ~FULL_GRP; } + void OnAll() { mGrp |= FULL_GRP; } private: /* 0x4 */ u32 mGrp; diff --git a/include/d/bg/d_bg_s_lin_chk.h b/include/d/bg/d_bg_s_lin_chk.h index b154496772..e00cb38caf 100644 --- a/include/d/bg/d_bg_s_lin_chk.h +++ b/include/d/bg/d_bg_s_lin_chk.h @@ -9,7 +9,7 @@ class dBgS_LinChk : public cBgS_LinChk, public dBgS_Chk { public: /* 80077C68 */ dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); + /* 80077D64 */ void Set(cXyz const* pi_start, cXyz const* pi_end, fopAc_ac_c const*); /* 80077CDC */ virtual ~dBgS_LinChk(); diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index ec015bcede..7872f4a5af 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -146,10 +146,10 @@ public: /* 8007B0DC */ virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int); u32 GetOldInvMtx(Mtx m) { return PSMTXInverse(m_inv_mtx, m); } - MtxP GetBaseMtxP() { return pm_base_mtx; } + MtxP GetBaseMtxP() { return pm_base; } public: - /* 0x18 */ MtxP pm_base_mtx; + /* 0x18 */ MtxP pm_base; /* 0x1C */ Mtx m_inv_mtx; /* 0x4C */ Mtx field_0x4c; /* 0x7C */ cXyz field_0x7c; @@ -177,7 +177,7 @@ class dBgW : public cBgW { public: /* 8007B970 */ dBgW(); /* 8007B9C0 */ void Move(); - /* 8007B9EC */ void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz*, f32); + /* 8007B9EC */ void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz* pupper_pos, f32); /* 8007BA40 */ void RwgWallCorrect(dBgS_Acch*, u16); /* 8007C234 */ void WallCorrectRp(dBgS_Acch*, int); /* 8007C360 */ void WallCorrectGrpRp(dBgS_Acch*, int, int); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 6158da7182..0d0a803c88 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -129,7 +129,7 @@ public: dVibration_c& getVibration() { return mVibration; } camera_class* getCamera(int idx) { return mCameraInfo[idx].mCamera; } void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; } - void* getPlayer(int idx) { return mPlayer[idx]; } + fopAc_ac_c* getPlayer(int idx) { return (fopAc_ac_c*)mPlayer[idx]; } dPa_control_c* getParticle() { return mParticle; } dEvent_manager_c& getEvtManager() { return mEvtManager; } dAttention_c& getAttention() { return mAttention; } @@ -460,7 +460,7 @@ public: /* 0x04E10 */ dDlst_window_c mWindow[1]; /* 0x04E3C */ dComIfG_camera_info_class mCameraInfo[1]; /* 0x04E74 */ daAlink_c* mPlayer[1]; - /* 0x04E78 */ s8 mPlayerCameraID[4]; + /* 0x04E78 */ s8 mPlayerCameraID[1]; /* 0x04E7C */ fopAc_ac_c* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong /* 0x04E84 */ dMsgObject_c* mMsgObjectClass; /* 0x04E88 */ f32 mItemLifeCount; @@ -625,8 +625,8 @@ public: /* 0x04FE8 */ u8 field_0x4fe8[0x10]; /* 0x04FF8 */ __d_timer_info_c mTimerInfo; /* 0x0500C */ dDlst_window_c* mCurrentWindow; - /* 0x05010 */ void* mCurrentView; - /* 0x05014 */ void* mCurrentViewport; + /* 0x05010 */ view_class* mCurrentView; + /* 0x05014 */ view_port_class* mCurrentViewport; /* 0x05018 */ J2DGrafContext* mCurrentGrafPort; /* 0x0501C */ void* mItemTable; /* 0x0501D */ u8 field_0x501d[4]; @@ -1540,7 +1540,7 @@ inline daPy_py_c* dComIfGp_getLinkPlayer() { return (daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR); } -inline void* dComIfGp_getPlayer(int idx) { +inline fopAc_ac_c* dComIfGp_getPlayer(int idx) { return g_dComIfG_gameInfo.play.getPlayer(idx); } @@ -1744,6 +1744,14 @@ inline void dComIfGp_setLastPlayStageName(char* name) { g_dComIfG_gameInfo.play.setLastPlayStageName(name); } +inline char* dComIfGp_getLastPlayStageName() { + return g_dComIfG_gameInfo.play.getLastPlayStageName(); +} + +inline u8 dComIfGp_getGameoverStatus() { + return g_dComIfG_gameInfo.play.getGameoverStatus(); +} + inline u32 dComIfGp_getNowVibration() { return g_dComIfG_gameInfo.play.getNowVibration(); } @@ -2295,6 +2303,10 @@ inline BOOL dComIfGp_evmng_endCheck(const char* event) { return g_dComIfG_gameInfo.play.getEvtManager().endCheckOld(event); } +inline BOOL dComIfGp_evmng_endCheck(s16 eventID) { + return g_dComIfG_gameInfo.play.getEvtManager().endCheck(eventID); +} + inline void dComIfGp_event_setItemPartnerId(unsigned int id) { g_dComIfG_gameInfo.play.getEvent().setPtI_Id(id); } @@ -2583,6 +2595,10 @@ inline void dComIfGd_setViewport(view_port_class* port) { g_dComIfG_gameInfo.drawlist.setViewport(port); } +inline void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) { + g_dComIfG_gameInfo.drawlist.entryZSortListZxlu(i_packet, param_1); +} + inline daPy_py_c* daPy_getLinkPlayerActorClass() { return dComIfGp_getLinkPlayer(); } @@ -2595,12 +2611,4 @@ inline daAlink_c* daAlink_getAlinkActorClass() { return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR); } -inline char* dComIfGp_getLastPlayStageName() { - return g_dComIfG_gameInfo.play.getLastPlayStageName(); -} - -inline u8 dComIfGp_getGameoverStatus() { - return g_dComIfG_gameInfo.play.getGameoverStatus(); -} - #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_cam_param.h b/include/d/d_cam_param.h index 47be2b5aa4..96ea1d4925 100644 --- a/include/d/d_cam_param.h +++ b/include/d/d_cam_param.h @@ -1,6 +1,180 @@ #ifndef D_D_CAM_PARAM_H #define D_D_CAM_PARAM_H -#include "dolphin/types.h" +#include "SSystem/SComponent/c_angle.h" +#include "SSystem/SComponent/c_xyz.h" + +struct dCamMath { + /* 8008813C */ void rationalBezierRatio(f32, f32); + /* 80088284 */ void zoomFovy(f32, f32); + /* 8008831C */ void xyzRotateX(cXyz&, cSAngle); + /* 80088384 */ void xyzRotateY(cXyz&, cSAngle); + /* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&); +}; + +class dCstick_c { +public: + /* 80088434 */ dCstick_c(); + /* 8008845C */ bool Shift(u32); + + /* 0x0 */ f32 mThresholdLow; + /* 0x4 */ f32 mThresholdHigh; + /* 0x8 */ int mInputSpeed; + /* 0xC */ u8 field_0xc[4]; + + /* 800889B0 */ virtual ~dCstick_c(); +}; + +class dCamBGChk_c { +public: + /* 80088464 */ dCamBGChk_c(); + + /* 0x00 */ f32 field_0x0; + /* 0x04 */ f32 field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ f32 field_0x34; + /* 0x38 */ f32 field_0x38; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; +}; + +class dCamParam_c { +public: + /* 800884F0 */ dCamParam_c(s32); + /* 800885D4 */ void Change(s32); + /* 80088620 */ void SearchStyle(u32); + /* 80182C60 */ void Arg2(s16); + /* 80182C3C */ void Arg2(); + /* 80182C48 */ void Arg1(); + /* 80182C6C */ void Arg1(u8); + /* 80182C50 */ void Arg0(); + /* 80182C74 */ void Arg0(u8); + /* 80182C7C */ void Fovy(u8); + /* 80182C58 */ void Fovy(); + /* 80182C8C */ void Flag(s32, u16); + /* 80182CB4 */ void CheckFlag(u16); + /* 80182CD0 */ void Val(s32, int); + + /* 0x00 */ u8 mMapToolFovy; + /* 0x01 */ u8 mMapToolArg0; + /* 0x02 */ u8 mMapToolArg1; + /* 0x04 */ int mMapToolArg2; + /* 0x08 */ u8* mCamStyleData; + /* 0x0C */ int field_0xc; + /* 0x10 */ u8* field_0x10; + /* 0x14 */ int mStyleID; + /* 0x18 */ u8 field_0x18[4]; + + /* 8008858C */ virtual ~dCamParam_c(); +}; + +class dCamSetup_c { +public: + /* 80088668 */ dCamSetup_c(); + /* 80088918 */ void CheckLatitudeRange(s16*); + /* 80088988 */ void PlayerHideDist(); + /* 80182BB8 */ void CheckFlag2(u16); + /* 80182BD0 */ void CheckFlag(u16); + /* 80182BE8 */ void WaitRollSpeed(); + /* 80182BF0 */ void WaitRollTimer(); + /* 80182C1C */ void ThrowTimer(); + /* 80182C24 */ void ThrowCushion(); + /* 80182C2C */ void ThrowVAngle(); + /* 80182C34 */ void ThrowCtrAdjust(); + /* 80182CEC */ void ChargeBRatio(); + /* 80182CF4 */ void ChargeTimer(); + /* 80182CFC */ void ChargeLatitude(); + + /* 0x000 */ f32 mDrawNear; + /* 0x004 */ f32 mDrawFar; + /* 0x008 */ u16 mDebugFlags; + /* 0x00A */ u16 field_0xa; + /* 0x00C */ int field_0xc; + /* 0x010 */ int mModeSwitchType; + /* 0x014 */ void* mTypeTable; + /* 0x018 */ int mTypeNum; + /* 0x01C */ int mForceType; + /* 0x020 */ f32 mCusCus; + /* 0x024 */ f32 field_0x24; + /* 0x028 */ f32 field_0x28; + /* 0x02C */ f32 field_0x2c; + /* 0x030 */ f32 field_0x30; + /* 0x034 */ f32 field_0x34; + /* 0x038 */ f32 mBaseCushion; + /* 0x03C */ f32 mJumpCushion; + /* 0x040 */ f32 mParallelDist; + /* 0x044 */ f32 field_0x44; + /* 0x048 */ f32 mSubjLinkCullDist; + /* 0x04C */ f32 mCurveWeight; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 field_0x5c; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ f32 mTrimVistaHeight; + /* 0x068 */ f32 mTrimCineScopeHeight; + /* 0x06C */ f32 field_0x6c; + /* 0x070 */ f32 mForceLockOffDist; + /* 0x074 */ int mForceLockOffTimer; + /* 0x078 */ f32 field_0x78; + /* 0x07C */ f32 field_0x7c; + /* 0x080 */ f32 field_0x80; + /* 0x084 */ f32 field_0x84; + /* 0x088 */ f32 mThrowVAngle; + /* 0x08C */ f32 mThrowCtrOffset; + /* 0x090 */ f32 mThrowCushion; + /* 0x094 */ int mThrowTimer; + /* 0x098 */ f32 mWindShakeCtr; + /* 0x09C */ f32 field_0x9c; + /* 0x0A0 */ f32 mWindShakeFvy; + /* 0x0A4 */ f32 mFalseValue; + /* 0x0A8 */ f32 mFalseAngle; + /* 0x0AC */ f32 field_0xac; + /* 0x0B0 */ int field_0xb0; + /* 0x0B4 */ f32 field_0xb4; + /* 0x0B8 */ f32 mManualStartCThreshold; + /* 0x0BC */ f32 mManualEndVal; + /* 0x0C0 */ f32 mChargeLatitude; + /* 0x0C4 */ int mChargeTimer; + /* 0x0C8 */ f32 mChargeBRatio; + /* 0x0CC */ int mLockonChangeTimer; + /* 0x0D0 */ f32 mLockonChangeCushion; + /* 0x0D4 */ f32 field_0xd4; + /* 0x0D8 */ f32 field_0xd8; + /* 0x0DC */ u16 mMapToolCamShortTimer; + /* 0x0DE */ u16 mMapToolCamLongTimer; + /* 0x0E0 */ f32 field_0xe0; + /* 0x0E4 */ f32 field_0xe4; + /* 0x0E8 */ f32 field_0xe8; + /* 0x0EC */ int field_0xec; + /* 0x0F0 */ int field_0xf0; + /* 0x0F4 */ f32 field_0xf4; + /* 0x0F8 */ f32 field_0xf8; + /* 0x0FC vtable */ + + /* 800888B8 */ virtual ~dCamSetup_c(); + + /* 0x100 */ dCstick_c mCStick; + /* 0x114 */ dCamBGChk_c mBGChk; + /* 0x15C */ f32 field_0x15c; + /* 0x160 */ f32 field_0x160; + /* 0x164 */ f32 mWaitRollTimer; + /* 0x168 */ f32 mWaitRollSpeed; + /* 0x16C */ f32 field_0x16c; + /* 0x170 */ int mScreensaverFirstWaitTimer; + /* 0x174 */ int mScreensaverWaitTimer; + /* 0x178 */ int mScreensaverExecTimer; +}; #endif /* D_D_CAM_PARAM_H */ diff --git a/include/d/d_camera.h b/include/d/d_camera.h index 3787acb30c..b0baf02a57 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -4,16 +4,97 @@ #include "SSystem/SComponent/c_angle.h" #include "SSystem/SComponent/c_xyz.h" #include "d/bg/d_bg_s_lin_chk.h" +#include "d/bg/d_bg_s_gnd_chk.h" #include "d/d_stage.h" #include "dolphin/types.h" -#include "f_op/f_op_camera_mng.h" +#include "d/d_drawlist.h" +#include "d/d_cam_param.h" class fopAc_ac_c; struct dCamMapToolData { /* 8015FEB8 */ void Set(s32, s32, fopAc_ac_c*, u16, u8); + + /* 0x00 */ stage_camera2_data_class field_0x0; + /* 0x18 */ stage_arrow_class field_0x18; + /* 0x2C */ u32 field_0x2c; + /* 0x30 */ s32 field_0x30; + /* 0x34 */ fopAc_ac_c* field_0x34; + /* 0x38 */ u16 field_0x38; + /* 0x3A */ u8 field_0x3a; + /* 0x3B */ u8 field_0x3b; }; +struct dCamForcusLine : public dDlst_effectLine_c { + /* 801824C8 */ void Init(); + /* 80182560 */ void Draw(); + /* 801825E4 */ void Off(); + + /* 0x38 */ cXyz field_0x38; + /* 0x44 */ GXColor field_0x44; + /* 0x48 */ u8 field_0x48; + /* 0x49 */ u8 field_0x49; + /* 0x4C */ int field_0x4c; + /* 0x50 */ int field_0x50; + /* 0x54 */ int field_0x54; + /* 0x58 */ u16 field_0x58; + /* 0x5A */ u16 field_0x5a; + /* 0x5C */ u16 field_0x5c; + /* 0x5E */ u16 field_0x5e; + /* 0x60 */ f32 field_0x60; + /* 0x64 */ f32 field_0x64; + /* 0x68 */ f32 field_0x68; + /* 0x6C */ f32 field_0x6c; +}; + +struct dCamera_FakeAngle_system { + /* 0x0 */ u8 field_0x0; + /* 0x2 */ cSAngle field_0x2; + /* 0x4 */ cSAngle field_0x4; +}; + +struct dCamera_monitoring_things { + /* 0x00 */ cXyz field_0x0; + /* 0x0C */ u8 field_0xc[8]; + /* 0x14 */ cXyz field_0x14; +}; + +struct d2DBSplinePath { + /* 0x00 */ s32 field_0x0; + /* 0x04 */ s32 field_0x4; + /* 0x08 */ s32 field_0x8; + /* 0x0C */ s32 field_0xc; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ u32 field_0x20; + /* 0x24 */ u32 field_0x24; + /* 0x28 */ u32 field_0x28; + /* 0x2C */ u32 field_0x2c; + + /* 80097878 */ void Init(s32, s32); + /* 80097B68 */ void Spot(f32*, f32); + /* 801828D4 */ virtual ~d2DBSplinePath(); +}; + +struct dCamera_event_data { + /* 0x000 */ u8 field_0x0; + /* 0x004 */ int field_0x4; + /* 0x008 */ u8 field_0x8[4]; + /* 0x00C */ int field_0xc; + /* 0x010 */ u8 field_0x10; + /* 0x014 */ int field_0x14; + /* 0x018 */ int field_0x18; + /* 0x01C */ int field_0x1c; + /* 0x020 */ int field_0x20; + /* 0x024 */ u8 field_0x24[0xEC - 0x24]; + /* 0x0EC */ dStage_MapEvent_dt_c* field_0xec; + /* 0x0F0 */ d2DBSplinePath field_0xf0; +}; // Size: 0x124 + +class camera_class; + class dCamera_c { public: class dCamInfo_c { @@ -29,6 +110,60 @@ public: /* 0x1E */ s16 field_0x1e; }; // Size: 0x20 + struct dCamera_pad_info { + struct _stick { + /* 0x00 */ f32 mLastPosX; + /* 0x04 */ f32 mLastPosY; + /* 0x08 */ f32 mLastValue; + /* 0x0C */ f32 mPosXDelta; + /* 0x10 */ f32 mPosYDelta; + /* 0x14 */ f32 mValueDelta; + /* 0x18 */ cSAngle field_0x18; + }; + + /* 0x00 */ _stick mMainStick; + /* 0x1C */ _stick mCStick; + }; + + struct BG { + /* 0x000 */ u8 field_0x0; + /* 0x004 */ dBgS_CamGndChk field_0x4; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ u8 field_0x5c; + /* 0x060 */ dBgS_CamGndChk field_0x60; + /* 0x0B4 */ f32 field_0xb4; + /* 0x0B8 */ u8 field_0xb8[0xC0 - 0xB8]; + /* 0x0C0 */ u8 field_0xc0; + /* 0x0C1 */ u8 field_0xc1; + /* 0x0C4 */ cXyz field_0xc4; + /* 0x0D0 */ cXyz field_0xd0; + /* 0x0DC */ cSAngle field_0xdc; + /* 0x0DE */ cSAngle field_0xde; + /* 0x0E0 */ cSGlobe field_0xe0; + /* 0x0E8 */ cSGlobe field_0xe8; + /* 0x0F0 */ u8 field_0xf0[4]; + /* 0x0F4 */ int field_0xf4; + /* 0x0F8 */ f32 field_0xf8; + /* 0x0FC */ int field_0xfc; + /* 0x100 */ int field_0x100; + /* 0x104 */ u8 field_0x104[4]; + /* 0x108 */ int field_0x108; + /* 0x10C */ f32 field_0x10c; + /* 0x110 */ cXyz field_0x110; + }; + + struct Shake { + /* 0x00 */ u8 field_0x0[12]; + /* 0x0C */ int field_0xc; + /* 0x10 */ int field_0x10; + /* 0x14 */ u8 field_0x14[4]; + /* 0x18 */ cXyz field_0x18; + /* 0x24 */ cXyz field_0x24; + /* 0x30 */ cXyz field_0x30; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ cSAngle field_0x40; + }; // Size: 0x44 + /* 8008908C */ void getEvIntData(int*, char*, int); /* 80088CB0 */ void getEvIntData(int*, char*); /* 80089154 */ void getEvFloatData(f32*, char*, f32); @@ -198,21 +333,21 @@ public: 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; + /* 0x000 */ camera_class* field_0x0; + /* 0x004 */ int mRoomNo; + /* 0x008 */ u8 field_0x8[0x20 - 0x8]; /* 0x020 */ u8 field_0x20; /* 0x021 */ u8 field_0x21; - /* 0x022 */ u8 field_0x22[0x24 - 0x22]; + /* 0x022 */ u8 field_0x22[2]; /* 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; + /* 0x028 */ f32 field_0x28; + /* 0x02C */ s16 field_0x2c; + /* 0x02E */ s16 field_0x2e; + /* 0x030 */ cXyz mCenter; + /* 0x03C */ cXyz mEye; + /* 0x048 */ cXyz mUp; + /* 0x054 */ cSAngle mBank; + /* 0x058 */ f32 mFovY; class { public: /* 0x00 */ cSGlobe field_0x0; @@ -221,20 +356,167 @@ public: /* 0x20 */ cSAngle field_0x20; } /* 0x05C */ field_0x5c; - /* 0x07C */ u8 field_0x7c[0x8C - 0x7C]; + /* 0x080 */ f32 field_0x80; + /* 0x084 */ f32 field_0x84; + /* 0x088 */ u32 field_0x88; /* 0x08C */ cSAngle field_0x8c; /* 0x090 */ cXyz field_0x90; /* 0x09C */ cXyz field_0x9c; - /* 0x0A8 */ u8 field_0xa8[0xB0 - 0xA8]; + /* 0x0A8 */ int field_0xa8; + /* 0x0AC */ u32 field_0xac; /* 0x0B0 */ dCamInfo_c field_0xb0; /* 0x0D0 */ dCamInfo_c field_0xd0[2]; class { public: - /* 0x00 */ u8 field_0x0[8]; + /* 0x00 */ int field_0x0; + /* 0x04 */ u16 field_0x4; /* 0x08 */ dCamInfo_c field_0x8; /* 0x28 */ cXyz field_0x28; } /* 0x110 */ field_0x110; + class { + public: + /* 0x0 */ cXyz field_0x0; + /* 0xC */ csXyz field_0xc; + } + /* 0x144 */ field_0x144; + class { + public: + /* 0x0 */ u8 field_0x0; + /* 0x2 */ cSAngle field_0x2; + /* 0x4 */ cSAngle field_0x4; + } + /* 0x158 */ field_0x158; + /* 0x160 */ int field_0x160; + /* 0x164 */ u8 field_0x164[0x170 - 0x164]; + /* 0x170 */ int field_0x170; + /* 0x174 */ u32 field_0x174; + /* 0x178 */ u32 mCameraID; + /* 0x17C */ u32 mPadID; + /* 0x180 */ fopAc_ac_c* mpPlayerActor; + /* 0x184 */ fopAc_ac_c* mpLockonTarget; + /* 0x188 */ u8 field_0x188[0x190 - 0x188]; + /* 0x190 */ int field_0x190; + /* 0x194 */ u8 field_0x194; + /* 0x198 */ u32 field_0x198; + /* 0x19C */ u32 field_0x19c; + /* 0x1A0 */ int mCurMode; + /* 0x1A4 */ int mNextMode; + /* 0x1A8 */ int field_0x1a8; + /* 0x1B0 */ cSAngle field_0x1b0; + /* 0x1B4 */ f32 field_0x1b4; + /* 0x1B8 */ u8 field_0x1b8[4]; + /* 0x1BC */ dCamera_pad_info mPadInfo; + /* 0x1F4 */ u8 field_0x1f4[0x200 - 0x1F4]; + /* 0x200 */ f32 mTriggerLeftLast; + /* 0x204 */ f32 mTriggerLeftDelta; + /* 0x208 */ u8 field_0x208; + /* 0x209 */ u8 field_0x209; + /* 0x20A */ u8 field_0x20a; + /* 0x20B */ u8 field_0x20b; + /* 0x20C */ f32 mTriggerRightLast; + /* 0x210 */ f32 mTriggerRightDelta; + /* 0x214 */ u8 field_0x214; + /* 0x215 */ u8 field_0x215; + /* 0x216 */ u8 field_0x216; + /* 0x217 */ u8 field_0x217; + /* 0x218 */ u8 mHoldX; + /* 0x219 */ u8 mTrigX; + /* 0x21A */ u8 mHoldY; + /* 0x21B */ u8 mTrigY; + /* 0x21C */ u8 mHoldZ; + /* 0x21D */ u8 mTrigZ; + /* 0x21E */ u8 field_0x21e; + /* 0x21F */ u8 field_0x21f; + /* 0x220 */ u8 mHoldB; + /* 0x221 */ u8 mTrigB; + /* 0x222 */ u8 field_0x222; + /* 0x223 */ u8 field_0x223; + /* 0x224 */ u8 field_0x224; + /* 0x228 */ dCamForcusLine mFocusLine; + /* 0x298 */ dCamera_FakeAngle_system mFakeAngleSys; + /* 0x2A0 */ dCamera_monitoring_things mMonitor; + /* 0x2C0 */ f32 field_0x2c0; + /* 0x2C4 */ int field_0x2c4; + /* 0x2C8 */ f32 field_0x2c8; + /* 0x2CC */ BG mBG; + /* 0x3E8 */ u8 field_0x3e8; + /* 0x3E9 */ u8 field_0x3e9[0x4e8 - 0x3e9]; + /* 0x4E8 */ dCamera_event_data mEventData; + /* 0x60C */ u32 mEventFlags; + /* 0x610 */ u8 field_0x610; + /* 0x611 */ u8 field_0x611; + /* 0x612 */ u8 field_0x612[2]; + class { + public: + /* 0x00 */ u8 field_0x0[8]; + /* 0x08 */ cSAngle field_0x8; + /* 0x10 */ u8 field_0x10[4]; + } + /* 0x614 */ field_0x614[4]; + /* 0x664 */ u8 field_0x664[4]; + /* 0x668 */ int field_0x668; + /* 0x66C */ int field_0x66c; + /* 0x670 */ int field_0x670; + /* 0x674 */ int field_0x674; + /* 0x678 */ int field_0x678; + /* 0x67C */ int mCamStyle; + /* 0x680 */ int field_0x684; + /* 0x684 */ u8* mCamTypeData; + /* 0x688 */ int field_0x688; + /* 0x68C */ int mCurType; + /* 0x690 */ int mNextType; + /* 0x694 */ int mMapToolType; + /* 0x698 */ int field_0x698; + /* 0x69C */ int field_0x69c; + /* 0x6A0 */ u8 field_0x6a0[0x6b8 - 0x6a0]; + /* 0x6B8 */ Shake mShake; + /* 0x6FC */ int field_0x6fc; + class { + public: + /* 0x00 */ u8 field_0x0[4]; + /* 0x04 */ int field_0x4; + /* 0x08 */ csXyz field_0x8; + /* 0x10 */ fopAc_ac_c* field_0x10; + /* 0x14 */ int field_0x14; + /* 0x18 */ cXyz mBlurePosition; + /* 0x24 */ cXyz mBlureScale; + } + /* 0x700 */ field_0x700; + /* 0x730 */ f32 mBlureAlpha; + /* 0x734 */ f32 field_0x734; + /* 0x738 */ f32 field_0x738; + /* 0x73C */ f32 field_0x73c; + class { + public: + /* 0x00 */ cXyz field_0x0; + /* 0x0C */ cXyz field_0xc; + /* 0x18 */ cXyz field_0x18; + /* 0x24 */ cSGlobe field_0x24; + } + /* 0x740 */ field_0x740; + /* 0x76C */ u8 field_0x76c[0x79c - 0x76c]; + class { + public: + /* 0x0 */ u8 field_0x0[4]; + /* 0x4 */ cXyz field_0x4; + } + /* 0x79C */ field_0x79c; + /* 0x7AC */ dCamMapToolData field_0x7ac; + /* 0x7E8 */ dCamMapToolData field_0x7e8; + /* 0x824 */ dCamMapToolData field_0x824; + /* 0x860 */ dCamMapToolData field_0x860; + /* 0x89C */ dCamMapToolData field_0x89c; + /* 0x8D8 */ dCamMapToolData field_0x8d8; + /* 0x914 */ u8 field_0x914[0x91c - 0x914]; + /* 0x91C */ f32 field_0x91c; + /* 0x920 */ f32 mTrimHeight; + /* 0x924 */ int mTrimSize; + /* 0x928 */ int mTrimTypeForce; + /* 0x92C */ u8 field_0x92c[0x970 - 0x92c]; + /* 0x970 */ dCamSetup_c mCamSetup; + /* 0xAEC */ dCamParam_c mCamParam; + /* 0xB0C */ }; dCamera_c* dCam_getBody(); diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index b4d243bfcd..4a4abb8f91 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -13,6 +13,7 @@ #include "dolphin/mtx/mtx44.h" #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" +#include "f_op/f_op_view.h" class cM_rnd_c { public: @@ -33,6 +34,25 @@ public: virtual void draw(); }; +class dDlst_effectLine_c : public dDlst_base_c { +public: + /* 80053E9C */ virtual void draw(); + /* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32); + +private: + /* 0x04 */ cM_rnd_c mRnd; + /* 0x10 */ cXyz field_0x10; + /* 0x1C */ GXColor mLineColor; + /* 0x20 */ u16 field_0x20; + /* 0x22 */ u16 field_0x22; + /* 0x24 */ u16 field_0x24; + /* 0x26 */ u16 field_0x26; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ f32 field_0x34; +}; // Size: 0x38 + class dDlst_FileInfo_c : public dDlst_base_c { public: dDlst_FileInfo_c() {} @@ -198,7 +218,7 @@ private: /* 0x15EF4 */ void* field_0x15ef4; }; -class dDlst_window_c { +class dDlst_window_c : public view_port_class { public: dDlst_window_c() {} ~dDlst_window_c() {} @@ -210,16 +230,6 @@ public: f32 getViewPort() { return mXOrig; } private: - /* 0x00 */ f32 mXOrig; - /* 0x04 */ f32 mYOrig; - /* 0x08 */ f32 mWidth; - /* 0x0C */ f32 mHeight; - /* 0x10 */ f32 mNearZ; - /* 0x14 */ f32 mFarZ; - /* 0x18 */ f32 mScissorXOrig; - /* 0x1C */ f32 mScissorYOrig; - /* 0x20 */ f32 mScissorWidth; - /* 0x24 */ f32 mScissorHeight; /* 0x28 */ s8 mCameraID; /* 0x29 */ s8 mMode; }; @@ -296,6 +306,9 @@ public: void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); } void peekZdata() { mPeekZ.peekData(); } + void entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) { + entryZSortXluDrawList(mDrawBuffers[DB_LIST_Z_XLU], i_packet, param_1); + } int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4, f32 param_5, _GXTexObj* param_6) { diff --git a/include/d/d_kyeff2.h b/include/d/d_kyeff2.h index 9c2d9dc8da..294b2f0e1e 100644 --- a/include/d/d_kyeff2.h +++ b/include/d/d_kyeff2.h @@ -2,6 +2,7 @@ #define D_D_KYEFF2_H #include "dolphin/types.h" +#include "SSystem/SComponent/c_phase.h" class dKyeff2_c { public: diff --git a/include/d/d_path.h b/include/d/d_path.h index 3731b66a4e..6e4187ba36 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -3,6 +3,17 @@ #include "dolphin/types.h" -u16* dPath_GetRoomPath(int param_0, int param_1); +class dStage_dPnt_c; + +struct dPath { + /* 0x0 */ u16 m_num; + /* 0x2 */ u16 m_nextID; + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 m_closed; + /* 0x6 */ u8 field_0x6; + /* 0x8 */ dStage_dPnt_c* m_points; +}; + +dPath* dPath_GetRoomPath(int path_index, int room_no); #endif /* D_D_PATH_H */ diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 6ddae09a32..75ec2f715b 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -13,8 +13,8 @@ public: /* 8003A260 */ dRes_info_c(); /* 8003A280 */ ~dRes_info_c(); /* 8003A348 */ int set(char const*, char const*, u8, JKRHeap*); - /* 8003AB30 */ void onWarpMaterial(J3DModelData*); - /* 8003AC1C */ void offWarpMaterial(J3DModelData*); + /* 8003AB30 */ static void onWarpMaterial(J3DModelData*); + /* 8003AC1C */ static void offWarpMaterial(J3DModelData*); /* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32); /* 8003AE14 */ void loaderBasicBmd(u32, void*); /* 8003B30C */ int loadResource(); diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 6cddd5d1d1..edc02abc6a 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -4,6 +4,7 @@ #include "JSystem/JKernel/JKRExpHeap.h" #include "SSystem/SComponent/c_lib.h" #include "d/kankyo/d_kankyo.h" +#include "d/kankyo/d_kankyo_data.h" #include "d/save/d_save.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" @@ -12,9 +13,15 @@ struct stage_vrboxcol_info_class { // VRB }; // Size: 0x18 +// Virt struct stage_vrbox_info_class { - // Virt -}; + /* 0x00 */ GXColor field_0x0; + /* 0x04 */ GXColor field_0x4; + /* 0x08 */ color_RGB_class field_0x8; + /* 0x0B */ color_RGB_class field_0xb; + /* 0x0E */ color_RGB_class field_0xe; + /* 0x11 */ color_RGB_class field_0x11; +}; // Size: 0x15 class stage_tresure_class { public: @@ -80,17 +87,36 @@ struct stage_pure_lightvec_info_class { // LGT }; +// Col struct stage_pselect_info_class { - // Col -}; + /* 0x0 */ u8 mPalIdx[8]; + /* 0x8 */ f32 mChangeRate; +}; // Size: 0xC struct stage_plight_info_class { // LGHT }; +// PALE struct stage_palette_info_class { - // PAL -}; + /* 0x00 */ color_RGB_class mActor_C0; + /* 0x03 */ color_RGB_class mActor_K0; + /* 0x06 */ color_RGB_class mBG0_C0; + /* 0x09 */ color_RGB_class mBG0_K0; + /* 0x0C */ color_RGB_class mBG1_C0; + /* 0x0F */ color_RGB_class mBG1_K0; + /* 0x12 */ color_RGB_class mBG2_C0; + /* 0x15 */ color_RGB_class mBG2_K0; + /* 0x18 */ color_RGB_class mBG3_C0; + /* 0x1B */ color_RGB_class mBG3_K0; + /* 0x1E */ color_RGB_class mFog; + /* 0x21 */ u8 mVirtIdx; + /* 0x22 */ u8 field_0x22; + /* 0x23 */ u8 field_0x23; + /* 0x24 */ f32 mFogStartZ; + /* 0x28 */ f32 mFogEndZ; + /* 0x2C */ u8 field_0x2c[8]; +}; // Size: 0x34 struct stage_map_info_class { /* 0x00 */ u8 field_0x0[0x35]; @@ -191,7 +217,11 @@ public: struct dStage_MemoryMap_c {}; -struct dStage_dPath_c {}; +struct dPath; +struct dStage_dPath_c { + /* 0x0 */ int m_num; + /* 0x4 */ dPath* m_path; +}; struct dStage_Mult_info { /* 0x0 */ f32 mTransX; @@ -222,9 +252,11 @@ public: /* 0x1C */ u16 mMsg; }; // Size: 0x20 +// PPNT struct dStage_dPnt_c { - // PPNT -}; + /* 0x0 */ int field_0x0; + /* 0xC */ cXyz m_position; +}; // Size: 0x10 struct dStage_FloorInfo_c { // FLOR diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 2269ffa588..198e129434 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -32,6 +32,9 @@ static void dKy_set_vrboxkumocol_ratio(f32 ratio); void dKy_actor_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3); void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 param_2); static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3); +void dKy_GxFog_set(); +static void GxFog_set(); +static void GxXFog_set(); struct LIGHT_INFLUENCE { @@ -46,7 +49,7 @@ struct LIGHT_INFLUENCE { }; struct WIND_INFLUENCE { - /* 0x00 */ cXyz mPosition; + /* 0x00 */ cXyz position; /* 0x0C */ cXyz mDirection; /* 0x18 */ f32 mRadius; /* 0x1C */ f32 mStrength; @@ -106,13 +109,13 @@ struct BOSS_LIGHT { /* 8019F438 */ ~BOSS_LIGHT(); /* 8019F474 */ BOSS_LIGHT(); - /* 0x00 */ cXyz field_0x0; - /* 0x0C */ int field_0xc; - /* 0x10 */ int field_0x10; - /* 0x14 */ int field_0x14; - /* 0x18 */ int field_0x18; - /* 0x1C */ int field_0x1c; - /* 0x20 */ int field_0x20; + /* 0x00 */ cXyz mPos; + /* 0x0C */ GXColor mColor; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; /* 0x24 */ u8 field_0x24; /* 0x25 */ u8 field_0x25; /* 0x26 */ u8 field_0x26; @@ -533,6 +536,10 @@ extern dScnKy_env_light_c g_env_light; STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880); +inline dScnKy_env_light_c* i_dKy_getEnvlight() { + return &g_env_light; +} + BOOL dKy_darkworld_stage_check(char const*, int); BOOL dKy_withwarp_capture_check(); bool dKy_darkworld_check(); diff --git a/include/d/kankyo/d_kankyo_data.h b/include/d/kankyo/d_kankyo_data.h index 6a9588ce32..a77b19347a 100644 --- a/include/d/kankyo/d_kankyo_data.h +++ b/include/d/kankyo/d_kankyo_data.h @@ -3,6 +3,12 @@ #include "dolphin/types.h" +struct color_RGB_class { + u8 r; + u8 g; + u8 b; +}; + // Invented name; Used as u8 `darkLv` in dKydata_darkworldInfo_c. enum dKyd_DARKLV { FARON = 0, diff --git a/include/d/kankyo/d_kankyo_wether.h b/include/d/kankyo/d_kankyo_wether.h index d97b55a70b..b6f66d3783 100644 --- a/include/d/kankyo/d_kankyo_wether.h +++ b/include/d/kankyo/d_kankyo_wether.h @@ -21,6 +21,7 @@ f32 dKyw_get_wind_pow(); static void squal_proc(); void dKyw_rain_set(int count); void dKyw_wind_set(); +cXyz dKyw_get_wind_vecpow(); class dKankyo_sun_Packet : public J3DPacket { public: @@ -92,7 +93,6 @@ public: virtual void draw(); virtual ~dKankyo_rain_Packet(); -private: /* 0x0010 */ u8* mpTex; /* 0x0014 */ u8* mpTex2; /* 0x0018 */ RAIN_EFF mRainEff[250]; @@ -145,7 +145,9 @@ struct STAR_EFF { /* 0x00 */ u8 field_0x0[4]; /* 0x04 */ cXyz field_0x04; /* 0x10 */ cXyz field_0x10; - /* 0x1C */ u8 field_0x1c[0x18]; + /* 0x1C */ u8 field_0x1c[12]; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ u8 field_0x2c[8]; }; // Size: 0x34 class dKankyo_star_Packet : public J3DPacket { @@ -153,9 +155,9 @@ public: virtual void draw(); virtual ~dKankyo_star_Packet(); -private: /* 0x10 */ u8* field_0x10; - /* 0x14 */ STAR_EFF field_0x14[1]; + /* 0x14 */ STAR_EFF mEffect[1]; + /* 0x48 */ s16 mEffectNum; }; struct HOUSI_EFF { @@ -273,10 +275,11 @@ public: virtual void draw(); virtual ~dKankyo_mud_Packet(); - /* 0x0010 */ int field_0x10; - /* 0x0014 */ u8* field_0x14; - /* 0x0018 */ EF_MUD_EFF field_0x18[100]; - /* 0x13C8 */ u8 field_0x13c8[8]; + /* 0x0010 */ int mEffectNum; + /* 0x0014 */ u8* mpMoyaRes; + /* 0x0018 */ EF_MUD_EFF mEffect[100]; + /* 0x1C38 */ u8 field_0x1c38[4]; + /* 0x1C3C */ f32 field_0x1c3c; }; struct EF_EVIL_EFF { @@ -295,10 +298,10 @@ public: virtual void draw(); virtual ~dKankyo_evil_Packet(); - /* 0x00010 */ int field_0x10; - /* 0x00014 */ u8* field_0x14; - /* 0x00018 */ u8 field_0x18[4]; - /* 0x0001C */ EF_EVIL_EFF field_0x1c[2000]; + /* 0x00010 */ int mEffectNum; + /* 0x00014 */ u8* mpMoyaRes; + /* 0x00018 */ u8* mpKumoLightRes; + /* 0x0001C */ EF_EVIL_EFF mEffect[2000]; /* 0x2135C */ u8 field_0x2135c[8]; }; diff --git a/include/d/meter/d_meter2_draw.h b/include/d/meter/d_meter2_draw.h index 8d4b45fefa..511e5ecdec 100644 --- a/include/d/meter/d_meter2_draw.h +++ b/include/d/meter/d_meter2_draw.h @@ -9,6 +9,12 @@ #include "d/pane/d_pane_class.h" #include "dolphin/types.h" +enum dMeter2Draw_actionFlag { + /* 0x0 */ ACTION_FLG_DEFAULT, + /* 0x2 */ ACTION_FLG_EMPHASIS = 2, + /* 0x4 */ ACTION_FLG_CONTINUATION = 4, +}; + enum dMeter2Draw_actionID { /* 0x00 */ ACTION_STR_NONE, /* 0x01 */ ACTION_STR_LET_GO, diff --git a/include/d/msg/d_msg_flow.h b/include/d/msg/d_msg_flow.h index f57c11a677..1e0b907502 100644 --- a/include/d/msg/d_msg_flow.h +++ b/include/d/msg/d_msg_flow.h @@ -159,6 +159,7 @@ public: u8 isSelectMessage() { return mSelectMessage; } void onNonStopJunpFlowFlag() { mNonStopJunpFlowFlag = 1; } int getSelectNum() { return query005(NULL, NULL, 0); } + s16 getChoiceNo() { return mChoiceNo; } static queryFunc mQueryList[53]; static eventFunc mEventList[43]; diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index 5abca2df63..d4a8cc965d 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -4,10 +4,12 @@ #include "JSystem/JParticle/JPAParticle.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" +#include "d/particle/d_particle_name.h" class dPa_levelEcallBack : public JPAEmitterCallBack { public: /* 8004FB18 */ virtual ~dPa_levelEcallBack(); + virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0; /* 8004FB8C */ virtual void cleanup(); }; @@ -67,15 +69,154 @@ public: void remove() { end(); } /* 0x04 */ JPABaseEmitter* mpEmitter; - /* 0x08 */ cXyz* field_0x8; - /* 0x0C */ csXyz* field_0xc; + /* 0x08 */ const cXyz* field_0x8; + /* 0x0C */ const 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_windPcallBack : public JPAParticleCallBack { +public: + /* 8004FF2C */ virtual ~dPa_windPcallBack(); + /* 8004B4E0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_wbPcallBack_c : public JPAParticleCallBack { +public: + /* 8004FECC */ virtual ~dPa_wbPcallBack_c(); + /* 8004DC28 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_setColorEcallBack : public dPa_levelEcallBack { +public: + dPa_setColorEcallBack(const GXColor& color) { mColor = color; } + + /* 800502E4 */ virtual ~dPa_setColorEcallBack(); + /* 800502B0 */ virtual void draw(JPABaseEmitter*); + /* 800502E0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); + + /* 0x4 */ GXColor mColor; +}; + +class dPa_selectTexEcallBack : public dPa_levelEcallBack { +public: + dPa_selectTexEcallBack(u8 param_0) { field_0x4 = param_0; } + + /* 8004FF8C */ virtual ~dPa_selectTexEcallBack(); + /* 8004ADC4 */ virtual void draw(JPABaseEmitter*); + /* 80050010 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); + + /* 0x4 */ u8 field_0x4; +}; + +class dPa_particleTracePcallBack_c : public JPAParticleCallBack { +public: + /* 8004FC68 */ virtual ~dPa_particleTracePcallBack_c(); + /* 8004FAD4 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_modelPcallBack : public JPAParticleCallBack { +public: + /* 80050038 */ virtual ~dPa_modelPcallBack(); + /* 8004A460 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_modelEcallBack : public dPa_levelEcallBack { +public: + struct model_c { + /* 8004A608 */ void set(J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, u8); + /* 8004A7AC */ void setup(); + /* 8004A88C */ void cleanup(); + /* 8004A8DC */ void draw(f32 (*)[4]); + /* 8004AB88 */ ~model_c(); + /* 8004FB90 */ model_c(); + }; + + dPa_modelEcallBack() { mModel = NULL; } + + /* 8004AB1C */ void create(u8); + /* 8004ABC4 */ void remove(); + /* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, + u8); + /* 8004AC90 */ void resetModel(JPABaseEmitter*); + /* 8004ACC0 */ void setupModel(JPABaseEmitter*); + /* 8004ACEC */ void drawModel(JPABaseEmitter*, f32 (*)[4]); + /* 8004AD28 */ void cleanupModel(JPABaseEmitter*); + /* 8004AD58 */ void getModel(JPABaseEmitter*); + /* 8004AD90 */ void getRotAxis(JPABaseEmitter*); + + /* 80050378 */ virtual ~dPa_modelEcallBack(); + /* 8004AA34 */ virtual void draw(JPABaseEmitter*); + /* 80050014 */ virtual void drawAfter(JPABaseEmitter*); + /* 8004AAA8 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); + + static u8 mEcallback[4]; + static u8 mPcallback[4]; + static J3DModel* mModel; +}; + +class dPa_light8PcallBack : public JPAParticleCallBack { +public: + /* 8004FE0C */ virtual ~dPa_light8PcallBack(); + /* 8004DD10 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); + /* 8004DD1C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_light8EcallBack : public dPa_levelEcallBack { +public: + /* 8005015C */ virtual ~dPa_light8EcallBack(); + /* 8004A340 */ virtual void draw(JPABaseEmitter*); + /* 800501E0 */ virtual void drawAfter(JPABaseEmitter*); + /* 8004979C */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); +}; + +class dPa_gen_d_light8PcallBack : public JPAParticleCallBack { +public: + /* 8004FD4C */ virtual ~dPa_gen_d_light8PcallBack(); + /* 8004DD18 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); + /* 8004ED44 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_gen_d_light8EcallBack : public dPa_levelEcallBack { +public: + /* 800503FC */ virtual ~dPa_gen_d_light8EcallBack(); + /* 8004A388 */ virtual void draw(JPABaseEmitter*); + /* 80050098 */ virtual void drawAfter(JPABaseEmitter*); + /* 800497CC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); +}; + +class dPa_gen_b_light8PcallBack : public JPAParticleCallBack { +public: + /* 8004FDAC */ virtual ~dPa_gen_b_light8PcallBack(); + /* 8004DD14 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); + /* 8004E6A8 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); +}; + +class dPa_gen_b_light8EcallBack : public dPa_levelEcallBack { +public: + /* 800500B8 */ virtual ~dPa_gen_b_light8EcallBack(); + /* 8004A364 */ virtual void draw(JPABaseEmitter*); + /* 8005013C */ virtual void drawAfter(JPABaseEmitter*); + /* 800497B0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); +}; + +class dPa_fsenthPcallBack : public JPAParticleCallBack { +public: + /* 8004FE6C */ virtual ~dPa_fsenthPcallBack(); + /* 8004DCA0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); + /* 8004DD0C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); + +}; + +class dPa_simpleData_c { +public: + /* 8004B024 */ ~dPa_simpleData_c(); + /* 8004B060 */ dPa_simpleData_c(); + + u8 field_0x0[20]; +}; class dPa_control_c { public: @@ -89,7 +230,21 @@ public: /* 8004FBFC */ emitter_c(); JPABaseEmitter* getEmitter() { return mEmitter; } + emitter_c* getPre() { return mPre; } + emitter_c* getNext() { return mNext; } + void setPre(emitter_c* pre) { mPre = pre; } + void setNext(emitter_c* next) { mNext = next; } + u32 getId() { return mId; } + void clearStatus() { mStatus = 0; } + + void onEventMove() { mStatus |= 2; } + void offEventMove() { mStatus &= ~2; } + bool isEventMove() { return mStatus & 2; } + + void offActive() { mStatus &= ~1; } + bool isActive() { return mStatus & 1; } + private: /* 0x00 */ u32 mId; /* 0x04 */ u16 mNameId; @@ -104,24 +259,26 @@ public: /* 8004B7A8 */ void execute(); /* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*); /* 8004B808 */ void cleanup(); - /* 8004B874 */ void get(u32); + /* 8004B874 */ emitter_c* get(u32); /* 8004B8B4 */ void forceOnEventMove(u32); /* 8004B8E8 */ void allForceOnEventMove(); /* 8004B918 */ JPABaseEmitter* getEmitter(u32); - /* 8004B94C */ void entry(u16, JPABaseEmitter*, dPa_levelEcallBack*); + /* 8004B94C */ u32 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*); + static const int EMITTER_MAX = 0x80; + /* 0x000 */ u32 field_0x0; - /* 0x004 */ u8 field_0x4; + /* 0x004 */ u8 mFreeNo; /* 0x005 */ u8 field_0x5; /* 0x006 */ u8 field_0x6; /* 0x008 */ emitter_c mEmitter[0x80]; - /* 0xC08 */ emitter_c* field_0xc08[0x100]; + /* 0xC08 */ emitter_c* mTable[0x100]; }; // Size: 0x1008 /* 8004BACC */ dPa_control_c(); - /* 8004BB70 */ void getRM_ID(u16); + /* 8004BB70 */ static bool getRM_ID(u16); /* 8004BB78 */ void createCommon(void const*); /* 8004BCDC */ void createRoomScene(); /* 8004BDFC */ void readScene(u8, mDoDvdThd_toMainRam_c**); @@ -180,14 +337,14 @@ public: JKRExpHeap* getResHeap() { return m_resHeap; } - static void onStatus(u8 status) { data_80450EC4 |= status; } - static void offStatus(u8 status) { data_80450EC4 &= ~status; } - static bool isStatus(u8 status) { return data_80450EC4 & status; } + static void onStatus(u8 status) { mStatus |= status; } + static void offStatus(u8 status) { mStatus &= ~status; } + static bool isStatus(u8 status) { return mStatus & status; } static u8 mTsubo[64]; static u8 mLifeBall[24]; - static u8 mWindViewMatrix[48]; - static u8 mEmitterMng[4]; + static Mtx mWindViewMatrix; + static JPAEmitterManager* mEmitterMng; static u8 mWaterBubblePcallBack[4]; static u8 mFsenthPcallBack[4]; static u8 mLight8EcallBack[4]; @@ -197,6 +354,7 @@ public: static u8 m_d_Light8EcallBack[4]; static u8 m_d_Light8PcallBack[4]; static u8 mParticleTracePCB[4 + 4 /* padding */]; + static u8 mStatus; private: /* 0x000 */ JKRSolidHeap* mHeap; diff --git a/include/d/particle/d_particle_name.h b/include/d/particle/d_particle_name.h index 045f4946c6..3bba3e4922 100644 --- a/include/d/particle/d_particle_name.h +++ b/include/d/particle/d_particle_name.h @@ -3,4 +3,9 @@ #include "dolphin/types.h" +struct dPa_name { + static u16 j_o_id[5]; + static u16 s_o_id[14]; +}; + #endif /* D_PARTICLE_D_PARTICLE_NAME_H */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index d0c679161c..e85f70bf2c 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -59,8 +59,8 @@ public: struct actor_place { /* 807E2468 */ //void operator=(actor_place const&); - /* 0x00 */ cXyz mPosition; - /* 0x0C */ csXyz mAngle; + /* 0x00 */ cXyz pos; + /* 0x0C */ csXyz angle; /* 0x12 */ s8 mRoomNo; /* 0x13 */ u8 field_0x13; }; @@ -95,9 +95,9 @@ public: /* 0x49C */ u32 mStatus; /* 0x4A0 */ u32 mCondition; /* 0x4A4 */ u32 mParentPcId; - /* 0x4A8 */ actor_place mOrig; - /* 0x4BC */ actor_place mNext; - /* 0x4D0 */ actor_place mCurrent; + /* 0x4A8 */ actor_place orig; + /* 0x4BC */ actor_place next; + /* 0x4D0 */ actor_place current; /* 0x4E4 */ csXyz mCollisionRot; /* 0x4EC */ cXyz mScale; /* 0x4F8 */ cXyz mSpeed; @@ -129,9 +129,9 @@ public: static u32 stopStatus; - const cXyz& getPosition() const { return mCurrent.mPosition; } - const csXyz& getAngle() const { return mCurrent.mAngle; } - s8 getRoomNo() const { return mCurrent.mRoomNo; } + const cXyz& getPosition() const { return current.pos; } + const csXyz& getAngle() const { return current.angle; } + s8 getRoomNo() const { return current.mRoomNo; } }; // Size: 0x568 s32 fopAc_IsActor(void* actor); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 26b5f79c27..0fd60a1a98 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -105,7 +105,7 @@ struct DOUBLE_POS { }; inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { - return (s8)pActor->mCurrent.mRoomNo; + return (s8)pActor->current.mRoomNo; } inline u32 fopAcM_GetID(const void* pActor) { @@ -165,11 +165,11 @@ inline fopAc_ac_c* fopAcM_SearchByID(unsigned int id) { } inline cXyz& fopAcM_GetPosition_p(fopAc_ac_c* pActor) { - return pActor->mCurrent.mPosition; + return pActor->current.pos; } inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) { - return pActor->mNext.mPosition; + return pActor->next.pos; } inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) { @@ -177,7 +177,7 @@ inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) { } inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) { - return pActor->mCurrent.mAngle; + return pActor->current.angle; } inline csXyz& fopAcM_GetShapeAngle_p(fopAc_ac_c* pActor) { @@ -201,7 +201,7 @@ inline BOOL fopAcM_IsActor(void* actor) { } inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) { - actor->mCurrent.mRoomNo = roomNo; + actor->current.mRoomNo = roomNo; } inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) { @@ -213,7 +213,7 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) { } inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) { - return pActor->mOrig.mRoomNo; + return pActor->orig.mRoomNo; } inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) { @@ -261,7 +261,7 @@ inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) { } inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) { - return p_actor->mCurrent.mPosition; + return p_actor->current.pos; } inline void dComIfGs_onSwitch(int i_no, int i_roomNo); @@ -291,7 +291,7 @@ inline bool fopAcM_isItem(const fopAc_ac_c* item, int bitNo) { } inline f32 fopAcM_searchActorDistanceY(const fopAc_ac_c* actorA, const fopAc_ac_c* actorB) { - return actorB->mCurrent.mPosition.y - actorA->mCurrent.mPosition.y; + return actorB->current.pos.y - actorA->current.pos.y; } inline u16 fopAcM_GetSetId(const fopAc_ac_c* p_actor) { @@ -505,7 +505,7 @@ inline void make_prm_bokkuri(u32* pActorParams, csXyz* p_angle, u8 param_2, u8 p p_angle->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5; } -inline void* dComIfGp_getPlayer(int); +inline fopAc_ac_c* dComIfGp_getPlayer(int); inline s16 fopAcM_searchPlayerAngleY(const fopAc_ac_c* actor) { return fopAcM_searchActorAngleY(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0)); @@ -527,7 +527,7 @@ s8 dComIfGp_getReverb(int roomNo); inline void fopAcM_seStartCurrent(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) { s8 roomNo = fopAcM_GetRoomNo(actor); - mDoAud_seStart(sfxID, &actor->mCurrent.mPosition, param_2, dComIfGp_getReverb(roomNo)); + mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo)); } extern "C" { diff --git a/include/f_op/f_op_camera_mng.h b/include/f_op/f_op_camera_mng.h index 4e488b58c3..f8aa17bf87 100644 --- a/include/f_op/f_op_camera_mng.h +++ b/include/f_op/f_op_camera_mng.h @@ -8,15 +8,15 @@ #include "f_op/f_op_draw_tag.h" #include "f_op/f_op_view.h" #include "f_pc/f_pc_leaf.h" +#include "d/d_camera.h" -class camera_class : public view_class { +class camera_process_class : public view_class { public: - /* 0x170 */ Mtx field_0x170; - /* 0x1A0 */ Mtx field_0x1a0; - /* 0x1D0 */ u8 field_0x1d0[0x10]; - /* 0x1E0 */ Mtx field_0x1e0; - /* 0x210 */ create_tag_class pCreateTag; - /* 0x224 */ leafdraw_method_class* pMthd; + /* 0x170 */ Mtx mInvViewMtx; + /* 0x1A0 */ Mtx44 field_0x1a0; + /* 0x1E0 */ Mtx mViewMtxNoTrans; + /* 0x210 */ create_tag_class mCreateTag; + /* 0x224 */ leafdraw_method_class* mpMtd; /* 0x228 */ u8 field_0x228[4]; /* 0x22C */ s8 mPrm1; /* 0x22D */ s8 mPrm2; @@ -26,6 +26,13 @@ public: /* 0x238 */ int field_0x238; }; +class camera_class : public camera_process_class { +public: + /* 0x23C */ int field_0x23c; + /* 0x240 */ request_of_phase_process_class mPhaseReq; + /* 0x248 */ dCamera_c mCamera; +}; + /* void fopCamM_SetNear(camera_class* cam, f32 near) { cam->mNear = near; } diff --git a/include/f_op/f_op_view.h b/include/f_op/f_op_view.h index 4efd9ee670..af5aea5963 100644 --- a/include/f_op/f_op_view.h +++ b/include/f_op/f_op_view.h @@ -14,7 +14,16 @@ public: }; struct view_port_class { - f32 field_0x0; + /* 0x00 */ f32 mXOrig; + /* 0x04 */ f32 mYOrig; + /* 0x08 */ f32 mWidth; + /* 0x0C */ f32 mHeight; + /* 0x10 */ f32 mNearZ; + /* 0x14 */ f32 mFarZ; + /* 0x18 */ f32 mScissorXOrig; + /* 0x1C */ f32 mScissorYOrig; + /* 0x20 */ f32 mScissorWidth; + /* 0x24 */ f32 mScissorHeight; }; struct view_class : public leafdraw_class { @@ -24,11 +33,10 @@ struct view_class : public leafdraw_class { /* 0x0CC */ f32 mFar; /* 0x0D0 */ f32 mFovy; /* 0x0D4 */ f32 mAspect; - /* 0x0D8 */ lookat_class field_0xd8; + /* 0x0D8 */ lookat_class mLookat; /* 0x0FC */ s16 mBank; - /* 0x100 */ Mtx field_0x100; - /* 0x130 */ u8 field_0x130[0x10]; - /* 0x140 */ Mtx field_0x140; + /* 0x100 */ Mtx44 mProjMtx; + /* 0x140 */ Mtx mViewMtx; }; #endif \ No newline at end of file diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index 1ba0605b3e..fe95da6259 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -14,8 +14,6 @@ public: static T* sInstance; }; -extern bool struct_80450BB8; // sInitFlag - class mDoAud_zelAudio_c { public: void reset(); diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index c8ff7d7f81..ab055c090c 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -12,8 +12,9 @@ class mDoExt_baseAnm { public: mDoExt_baseAnm() {} - /* 8000D320 */ void initPlay(s16, int, f32, s16, s16); - /* 8000D428 */ void play(); + /* 8000D320 */ int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_start, + s16 param_4); + /* 8000D428 */ int play(); void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); } f32 getFrame() { return mFrameCtrl.getFrame(); } @@ -36,6 +37,8 @@ public: mDoExt_transAnmBas(void* bas) { mBas = bas; } virtual ~mDoExt_transAnmBas(); + void* getBas() { return mBas; } + private: /* 0x28 */ void* mBas; }; @@ -86,8 +89,9 @@ STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18); class mDoExt_bpkAnm : public mDoExt_baseAnm { public: mDoExt_bpkAnm() { mpAnm = 0; } - /* 8000D47C */ int init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16); - /* 8000D518 */ void entry(J3DMaterialTable*, f32); + /* 8000D47C */ int init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6); + /* 8000D518 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame); void entry(J3DModelData* data) { entry(data, getFrame()); } void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); } @@ -116,10 +120,10 @@ public: /* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32); void entry(J3DModelData* data) { entry(data, getFrame()); } - J3DAnmTransform* getBckAnm() { return mpAnm; } + J3DAnmTransform* getBckAnm() { return mAnm; } private: - /* 0x14 */ J3DAnmTransform* mpAnm; + /* 0x14 */ J3DAnmTransform* mAnm; /* 0x18 */ J3DMtxCalc* mpMtxCalc; }; // Size: 0x1C @@ -128,8 +132,9 @@ STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C); class mDoExt_btpAnm : public mDoExt_baseAnm { public: mDoExt_btpAnm() { mpAnm = NULL; } - /* 8000D54C */ int init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16); - /* 8000D5E8 */ void entry(J3DMaterialTable*, s16); + /* 8000D54C */ int init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6); + /* 8000D5E8 */ void entry(J3DMaterialTable* i_matTable, s16 i_frame); void entry(J3DModelData* data) { entry(data, getFrame()); } void entry(J3DModelData* data, s16 frame) { entry(&data->getMaterialTable(), frame); } @@ -148,7 +153,8 @@ private: class mDoExt_blkAnm : public mDoExt_baseAnm { public: - /* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16); + /* 8000DA08 */ int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6); private: /* 0x14 */ J3DAnmCluster* mpAnm; @@ -177,6 +183,12 @@ public: /* 80012220 */ virtual void draw(); /* 8000E5F8 */ virtual ~mDoExt_invJntPacket(); + void setJoint(J3DModel* i_model, u16 param_1, u8 param_2) { + field_0x10 = i_model; + field_0x14 = param_1; + field_0x16 = param_2; + } + private: /* 0x10 */ J3DModel* field_0x10; /* 0x14 */ u16 field_0x14; @@ -185,12 +197,12 @@ private: class mDoExt_invisibleModel { public: - /* 8000E53C */ void create(J3DModel*, u8); + /* 8000E53C */ int create(J3DModel*, u8); /* 8000E6C8 */ void entryJoint(cXyz*); /* 8000E7C0 */ void entryDL(cXyz*); /* 0x0 */ J3DModel* mModel; - /* 0x4 */ mDoExt_invJntPacket* field_0x4; + /* 0x4 */ mDoExt_invJntPacket* mpPackets; }; class mDoExt_zelAnime : public Z2SoundObjAnime {}; @@ -212,10 +224,23 @@ public: /* 8000FAE8 */ virtual ~mDoExt_morf_c(); + void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); } + + f32 getPlaySpeed() { return mFrameCtrl.getRate(); } + f32 getFrame() { return mFrameCtrl.getFrame(); } + + bool isStop() { + bool stopped = true; + if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) { + stopped = false; + } + return stopped; + } + /* 0x04 */ J3DModel* mpModel; /* 0x08 */ J3DAnmTransform* mpAnm; /* 0x0C */ J3DFrameCtrl mFrameCtrl; - /* 0x20 */ J3DTransformInfo** mpTransformInfo; + /* 0x20 */ J3DTransformInfo* mpTransformInfo; /* 0x24 */ Quaternion* mpQuat; /* 0x28 */ f32 mCurMorf; /* 0x2C */ f32 mPrevMorf; @@ -228,11 +253,10 @@ public: /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32); - /* 800108F0 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int, - Z2Creature*, u32, u32); + /* 800108F0 */ int create(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); + /* 800110B0 */ int play(u32, s8); /* 80011154 */ void updateDL(); /* 800111C0 */ void entryDL(); /* 800111EC */ void modelCalc(); @@ -294,7 +318,7 @@ public: /* 800116B4 */ void ERROR_EXIT(); /* 80011D70 */ void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32); /* 80011FCC */ void setAnmRate(f32); - /* 800120A0 */ void play(u32, s8); + /* 800120A0 */ int play(u32, s8); /* 80012144 */ void entryDL(); /* 80012170 */ void modelCalc(); /* 800121E8 */ void stopZelAnime(); @@ -331,23 +355,44 @@ private: /* 0x20 */ Quaternion* mOldFrameQuaternion; }; // Size: 0x24 -struct mDoExt_MtxCalcAnmBlendTblOld { - /* 8000F4B0 */ void calc(); - /* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld(); -}; +struct mDoExt_MtxCalcAnmBlendTblOld + : public J3DMtxCalcNoAnm { + /* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld(); + /* 8000F4B0 */ virtual void calc(); -struct mDoExt_MtxCalcAnmBlendTbl { - /* 8000F26C */ void calc(); + /* 0x4 */ int mNum; + /* 0x8 */ mDoExt_AnmRatioPack* mAnmRatio; +}; // Size: 0xC + +struct mDoExt_MtxCalcAnmBlendTbl : public mDoExt_MtxCalcAnmBlendTblOld { /* 800D00BC */ void getAnm(int); - /* 80014F3C */ ~mDoExt_MtxCalcAnmBlendTbl(); + + /* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl(); + /* 8000F26C */ virtual void calc(); + + /* 0xC */ mDoExt_MtxCalcOldFrame* mOldFrame; }; -struct mDoExt_3Dline_c { +class mDoExt_3Dline_c { +public: /* 800123D0 */ void init(u16, int, int); /* 800126BC */ mDoExt_3Dline_c(); + + /* 0x00 */ cXyz* field_0x0; + /* 0x04 */ void* field_0x4; + /* 0x08 */ cXyz* field_0x8; + /* 0x0C */ cXyz* field_0xc; + /* 0x10 */ void* field_0x10; + /* 0x14 */ void* field_0x14; + /* 0x18 */ f32* field_0x18; + /* 0x1C */ f32* field_0x1c; }; -struct mDoExt_3DlineMat_c {}; +class mDoExt_3DlineMat_c { +public: + /* 0x0 */ void* field_0x0; + /* 0x4 */ mDoExt_3DlineMat_c* field_0x4; +}; class mDoExt_3DlineMatSortPacket : public J3DPacket { public: @@ -362,57 +407,81 @@ private: }; class dKy_tevstr_c; -struct mDoExt_3DlineMat1_c { +class mDoExt_3DlineMat1_c : public mDoExt_3DlineMat_c { +public: /* 80013360 */ void init(u16, u16, ResTIMG*, int); /* 800134F8 */ void setMaterial(); /* 800135D0 */ void draw(); - /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*); - /* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); - /* 80014E7C */ bool getMaterialID(); + /* 80013FB0 */ void update(int, GXColor&, dKy_tevstr_c*); + /* 8001373C */ void update(int, f32, GXColor&, u16, dKy_tevstr_c*); + /* 80014E7C */ int getMaterialID(); + +private: + /* 0x08 */ GXTexObj field_0x8; + /* 0x28 */ GXColor field_0x28; + /* 0x2C */ dKy_tevstr_c* field_0x2c; + /* 0x30 */ u16 field_0x30; + /* 0x32 */ u16 field_0x32; + /* 0x34 */ u16 field_0x34; + /* 0x36 */ u8 field_0x36; + /* 0x38 */ mDoExt_3Dline_c* field_0x38; }; -struct mDoExt_3DlineMat0_c { +class mDoExt_3DlineMat0_c : public mDoExt_3DlineMat_c { +public: /* 800125E0 */ void init(u16, u16, int); /* 800126C0 */ void setMaterial(); /* 80012774 */ void draw(); /* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*); /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*); - /* 80014E84 */ bool getMaterialID(); + /* 80014E84 */ int getMaterialID(); + +private: + /* 0x08 */ GXColor field_0x8; + /* 0x0C */ dKy_tevstr_c* field_0xc; + /* 0x10 */ u16 field_0x10; + /* 0x12 */ u16 field_0x12; + /* 0x14 */ u16 field_0x14; + /* 0x16 */ u8 field_0x16; + /* 0x18 */ mDoExt_3Dline_c* field_0x18; }; -JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32); -void mDoExt_destroySolidHeap(JKRSolidHeap*); -u32 mDoExt_adjustSolidHeap(JKRSolidHeap*); +JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment); +void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap); +u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap); void mDoExt_restoreCurrentHeap(); JKRExpHeap* mDoExt_getGameHeap(); -void mDoExt_destroySolidHeap(JKRSolidHeap*); -JKRHeap* mDoExt_setCurrentHeap(JKRHeap*); +void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap); +JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap); JKRExpHeap* mDoExt_getArchiveHeap(); JKRExpHeap* mDoExt_getArchiveHeapPtr(); -void mDoExt_destroyExpHeap(JKRExpHeap*); +void mDoExt_destroyExpHeap(JKRExpHeap* i_heap); JKRAssertHeap* mDoExt_getAssertHeap(); 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); -JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32); -u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* pHeap); +JKRExpHeap* mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap* i_heap); +JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* i_heap); +JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* i_heap); +JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* i_heap); +JKRExpHeap* mDoExt_createJ2dHeap(u32 heapSize, JKRHeap* i_heap); +JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* i_heap); +JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* i_heap); +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** o_heap, u32 i_size, JKRHeap* i_parent, + u32 i_alignment); +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 i_size, JKRHeap* i_parent, u32 i_alignment); +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 i_size, u32 i_alignment); +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** o_heap, u32 i_size, + u32 i_alignment); +u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* i_heap); JKRHeap* mDoExt_getCurrentHeap(); void mDoExt_removeMesgFont(); -void mDoExt_modelUpdateDL(J3DModel*); -J3DModel* mDoExt_J3DModel__create(J3DModelData*, u32, u32); -void mDoExt_setAraCacheSize(u32 param_0); +void mDoExt_modelUpdateDL(J3DModel* i_model); +J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2); +void mDoExt_setAraCacheSize(u32 size); +int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id); struct JUTFont; JUTFont* mDoExt_getMesgFont(); diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 0375602fe5..123a7d17b8 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -54,6 +54,7 @@ public: 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 void copy(const Mtx m) { PSMTXCopy(m, now); } static Mtx now; static Mtx buffer[16]; diff --git a/include/rel/d/a/d_a_crod/d_a_crod.h b/include/rel/d/a/d_a_crod/d_a_crod.h index 422d74dcc9..38ac7fb48f 100644 --- a/include/rel/d/a/d_a_crod/d_a_crod.h +++ b/include/rel/d/a/d_a_crod/d_a_crod.h @@ -23,7 +23,7 @@ public: /* 804A3FD4 */ void draw(); static fopAc_ac_c* makeIronBallDummy(fopAc_ac_c* p_actor) { - return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->mCurrent.mPosition, + return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->current.pos, fopAcM_GetRoomNo(p_actor), NULL, NULL, -1, NULL, NULL); } 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 8d92f22c07..cf94fb234c 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 @@ -13,8 +13,8 @@ public: 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; } + u16 getOffEventBit() { return orig.angle.z & 0xFFF; } + u16 getOnEventBit() { return orig.angle.x & 0xFFF; } void setSceneChangeOK() { mSceneChangeOK = true; } /* 0x568 */ Mtx mMatrix; diff --git a/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h b/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h index 893860bf6d..45b4e09a2f 100644 --- a/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h +++ b/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h @@ -1,6 +1,63 @@ #ifndef D_A_OBJ_YOBIKUSA_H #define D_A_OBJ_YOBIKUSA_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" + +class daObjYobikusa_c; +typedef void (daObjYobikusa_c::*actionFunc)(); + +class daObjYobikusa_c : public fopAc_ac_c { +public: + enum Mode_e {}; + + /* 8059C9F8 */ void setAction(daObjYobikusa_c::Mode_e); + /* 8059CA2C */ void callInit(); + /* 8059CA54 */ void callExecute(); + /* 8059CA80 */ void initSwingWind(); + /* 8059CA8C */ void executeSwingWind(); + /* 8059CC54 */ void initPushDown(); + /* 8059CC60 */ void executePushDown(); + /* 8059CD44 */ void initPickLeaf(); + /* 8059CD80 */ void executePickLeaf(); + /* 8059CE7C */ void create_init(); + /* 8059D120 */ void initBaseMtx(); + /* 8059D198 */ void getJointAngle(csXyz*, int); + /* 8059D1BC */ void getJointScale(int); + /* 8059D320 */ void initCcCylinder(); + /* 8059D380 */ void setCcCylinder(); + /* 8059D3B4 */ void toPickLeaf(); + /* 8059D454 */ void setNewLeaf(); + /* 8059D738 */ void execute(); + + static u8 const M_attr[64]; + static u8 ActionTable[72]; + + u8 getType() { return mSubtype & 0x7F; } + u8 getPathID() { return fopAcM_GetParam(this); } + bool isPlayerCorrect() { return (s8)(u8)(fopAcM_GetParam(this) >> 8) > 0; } + +private: + /* 0x568 */ J3DModel* field_0x568; + /* 0x56C */ J3DModel* field_0x56c; + /* 0x570 */ J3DModel* field_0x570; + /* 0x574 */ Mtx field_0x574; + /* 0x5A4 */ request_of_phase_process_class mPhase; + /* 0x5AC */ void* field_0x5ac; + /* 0x5B0 */ int field_0x5b0; + /* 0x5B4 */ dCcD_Stts mStts; + /* 0x5F0 */ dCcD_Cyl mCcCyl; + /* 0x72C */ cBgS_PolyInfo field_0x72c; + /* 0x73C */ f32 field_0x73c; + /* 0x740 */ f32 mJointScale; + /* 0x744 */ f32 field_0x744; + /* 0x748 */ f32 field_0x748; + /* 0x74C */ csXyz field_0x74c[3]; + /* 0x760 */ char* mResName; + /* 0x764 */ s16 field_0x764; + /* 0x766 */ s16 field_0x766; + /* 0x768 */ s16 field_0x768; + /* 0x76A */ s16 field_0x76a; + /* 0x76C */ s16 field_0x76c; +}; #endif /* D_A_OBJ_YOBIKUSA_H */ diff --git a/include/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h b/include/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h index cba8bd7a2b..f47658441c 100644 --- a/include/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h +++ b/include/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h @@ -12,7 +12,7 @@ public: int create(); void execute(); - u16 getMessageNo() { return mOrig.mAngle.z; } + u16 getMessageNo() { return orig.angle.z; } private: /* 0x568 */ u16 mMessageNo; diff --git a/libs/JSystem/J2DGraph/J2DAnimation.cpp b/libs/JSystem/J2DGraph/J2DAnimation.cpp index 25a2baa7f5..717ce664cf 100644 --- a/libs/JSystem/J2DGraph/J2DAnimation.cpp +++ b/libs/JSystem/J2DGraph/J2DAnimation.cpp @@ -568,10 +568,10 @@ void J2DAnmTexPattern::searchUpdateMaterialID(J2DScreen* pScreen) { } } mTIMGPtrArray[i].mRes = var2; - if (var2 != NULL && var2->palettesEnabled) { + if (var2 != NULL && var2->indexTexture) { JUTPalette* palette = - new JUTPalette(GX_TLUT0, (_GXTlutFmt)var2->paletteFormat, - (JUTTransparency)var2->alphaEnabled, var2->paletteCount, + new JUTPalette(GX_TLUT0, (_GXTlutFmt)var2->colorFormat, + (JUTTransparency)var2->alphaEnabled, var2->numColors, ((u8*)var2) + var2->paletteOffset); mTIMGPtrArray[i].mPalette = palette; } diff --git a/libs/JSystem/J2DGraph/J2DMatBlock.cpp b/libs/JSystem/J2DGraph/J2DMatBlock.cpp index 1b7f72b98a..8585bfcd17 100644 --- a/libs/JSystem/J2DGraph/J2DMatBlock.cpp +++ b/libs/JSystem/J2DGraph/J2DMatBlock.cpp @@ -1108,9 +1108,9 @@ bool J2DTevBlock2::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* } u8 tlutid = 0; - if (p_timg->palettesEnabled && p_tlut == NULL) { + if (p_timg->indexTexture && p_tlut == NULL) { JUTTexture* tex = mTexture[0]; - if (tex != NULL && tex->getTexInfo() != NULL && tex->getTexInfo()->palettesEnabled) { + if (tex != NULL && tex->getTexInfo() != NULL && tex->getTexInfo()->indexTexture) { int tlutname = tex->getTlutName(); if (tlutname == GX_TLUT0 || tlutname == GX_BIGTLUT0) { tlutid = 1; @@ -1235,10 +1235,10 @@ bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) { } u8 tlutid = 0; - if (p_timg != NULL && p_timg->palettesEnabled) { + if (p_timg != NULL && p_timg->indexTexture) { if (mTexture[param_0 == 0] != NULL) { const ResTIMG* timg = mTexture[param_0 == 0]->getTexInfo(); - if (timg != NULL && timg->palettesEnabled) { + if (timg != NULL && timg->indexTexture) { int tlutname = mTexture[param_0 == 0]->getTlutName(); u8 var_r0 = 0; diff --git a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp index 25b90255e8..c70594f53c 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -4,6 +4,7 @@ // #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" #include "JSystem/J3DGraphBase/J3DTransform.h" #include "dol2asm.h" #include "dolphin/os/OSCache.h" @@ -241,41 +242,62 @@ asm s32 J3DModel::createMatPacket(J3DModelData* param_0, u32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DModel::newDifferedDisplayList(u32 param_0) { +asm s32 J3DModel::newDifferedDisplayList(u32 param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DModel/newDifferedDisplayList__8J3DModelFUl.s" } #pragma pop /* 8032767C-803276B4 321FBC 0038+00 0/0 4/4 0/0 .text lock__8J3DModelFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DModel::lock() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DModel/lock__8J3DModelFv.s" +void J3DModel::lock() { + u16 matNum = mModelData->getMaterialNum(); + + for (int i = 0; i < matNum; i++) { + mMatPacket[i].lock(); + } } -#pragma pop /* 803276B4-803276EC 321FF4 0038+00 0/0 2/2 0/0 .text unlock__8J3DModelFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DModel::unlock() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DModel/unlock__8J3DModelFv.s" +void J3DModel::unlock() { + u16 matNum = mModelData->getMaterialNum(); + + for (int i = 0; i < matNum; i++) { + mMatPacket[i].unlock(); + } } -#pragma pop /* 803276EC-80327858 32202C 016C+00 1/0 0/0 0/0 .text calcMaterial__8J3DModelFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DModel::calcMaterial() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DModel/calcMaterial__8J3DModelFv.s" +void J3DModel::calcMaterial() { + j3dSys.setModel(this); + + if (checkFlag(4)) { + j3dSys.onFlag(4); + } else { + j3dSys.offFlag(4); + } + + if (checkFlag(8)) { + j3dSys.onFlag(8); + } else { + j3dSys.offFlag(8); + } + + mModelData->syncJ3DSysFlags(); + j3dSys.setTexture(mModelData->getTexture()); + + u16 matNum = mModelData->getMaterialNum(); + for (u16 i = 0; i < matNum; i++) { + j3dSys.setMatPacket(&mMatPacket[i]); + + J3DMaterial* material = mModelData->getMaterialNodePointer(i); + if (material->getMaterialAnm() != NULL) { + material->getMaterialAnm()->calc(material); + } + + int jntNo = material->getJoint()->getJntNo(); + material->calc(i_getAnmMtx(jntNo)); + } } -#pragma pop /* 80327858-803279A0 322198 0148+00 1/0 0/0 0/0 .text calcDiffTexMtx__8J3DModelFv */ #pragma push @@ -385,6 +407,13 @@ void J3DModel::calcWeightEnvelopeMtx() { } /* 80327CA4-80327CF0 3225E4 004C+00 1/0 0/0 0/0 .text update__8J3DModelFv */ +// matches with vtable data +#ifdef NONMATCHING +void J3DModel::update() { + calc(); + entry(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -394,6 +423,7 @@ extern "C" asm void update__8J3DModelFv() { #include "asm/JSystem/J3DGraphAnimator/J3DModel/update__8J3DModelFv.s" } #pragma pop +#endif /* 80327CF0-80327E4C 322630 015C+00 1/0 0/0 0/0 .text calc__8J3DModelFv */ void J3DModel::calc() { @@ -470,14 +500,39 @@ void J3DModel::entry() { } /* 80327F40-80328190 322880 0250+00 1/0 0/0 0/0 .text viewCalc__8J3DModelFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DModel::viewCalc() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DModel/viewCalc__8J3DModelFv.s" +void J3DModel::viewCalc() { + mMtxBuffer->swapDrawMtx(); + mMtxBuffer->swapNrmMtx(); + + if (mModelData->checkFlag(0x10)) { + if (getMtxCalcMode() == 2) { + J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, (MtxP)&mInternalView); + } + } else if (isCpuSkinningOn()) { + if (getMtxCalcMode() == 2) { + J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, (MtxP)&mInternalView); + } + } else if (checkFlag(4)) { + mMtxBuffer->calcDrawMtx(getMtxCalcMode(), mBaseScale, mBaseTransformMtx); + calcNrmMtx(); + calcBumpMtx(); + DCStoreRangeNoSync(getDrawMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx)); + DCStoreRange(getNrmMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx33)); + } else if (checkFlag(8)) { + mMtxBuffer->calcDrawMtx(getMtxCalcMode(), mBaseScale, mBaseTransformMtx); + calcBBoardMtx(); + DCStoreRange(getDrawMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx)); + } else { + mMtxBuffer->calcDrawMtx(getMtxCalcMode(), mBaseScale, mBaseTransformMtx); + calcNrmMtx(); + calcBBoardMtx(); + calcBumpMtx(); + DCStoreRangeNoSync(getDrawMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx)); + DCStoreRange(getNrmMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx33)); + } + + prepareShapePackets(); } -#pragma pop /* 80328190-803281B4 322AD0 0024+00 1/1 0/0 0/0 .text calcNrmMtx__8J3DModelFv */ void J3DModel::calcNrmMtx() { diff --git a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp index 29fdeccd5c..35f960d888 100644 --- a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp +++ b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp @@ -97,8 +97,7 @@ J3DDrawBuffer::~J3DDrawBuffer() { mpBuf = NULL; } -#if NON_MATCHING - +#ifdef NONMATCHING /* 80325068-8032509C 31F9A8 0034+00 2/2 1/1 0/0 .text frameInit__13J3DDrawBufferFv */ void J3DDrawBuffer::frameInit() { // can't make mwcc not generate "mtctr" for this loop @@ -107,9 +106,7 @@ void J3DDrawBuffer::frameInit() { mpCallBackPacket = NULL; } - #else - /* 80325068-8032509C 31F9A8 0034+00 2/2 1/1 0/0 .text frameInit__13J3DDrawBufferFv */ #pragma push #pragma optimization_level 0 @@ -119,7 +116,6 @@ asm void J3DDrawBuffer::frameInit() { #include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/frameInit__13J3DDrawBufferFv.s" } #pragma pop - #endif /* 8032509C-803251E4 31F9DC 0148+00 2/1 0/0 0/0 .text diff --git a/libs/JSystem/J3DGraphBase/J3DTexture.cpp b/libs/JSystem/J3DGraphBase/J3DTexture.cpp index 634f17fc5d..cf575daf32 100644 --- a/libs/JSystem/J3DGraphBase/J3DTexture.cpp +++ b/libs/JSystem/J3DGraphBase/J3DTexture.cpp @@ -12,18 +12,18 @@ void J3DTexture::loadGX(u16 idx, GXTexMapID texMapID) const { ResTIMG* timg = getResTIMG(idx); GXTexObj texObj; - if (!timg->palettesEnabled) { - GXInitTexObj(&texObj, ((u8*)timg) + timg->texDataOffset, timg->width, timg->height, + if (!timg->indexTexture) { + GXInitTexObj(&texObj, ((u8*)timg) + timg->imageOffset, timg->width, timg->height, (GXTexFmt)timg->format, (GXTexWrapMode)timg->wrapS, (GXTexWrapMode)timg->wrapT, (GXBool)timg->mipmapEnabled); } else { GXTlutObj tlutObj; - GXInitTexObjCI(&texObj, ((u8*)timg) + timg->texDataOffset, timg->width, timg->height, + GXInitTexObjCI(&texObj, ((u8*)timg) + timg->imageOffset, timg->width, timg->height, (GXCITexFmt)timg->format, (GXTexWrapMode)timg->wrapS, (GXTexWrapMode)timg->wrapT, (GXBool)timg->mipmapEnabled, (u32)texMapID); - GXInitTlutObj(&tlutObj, ((u8*)timg) + timg->paletteOffset, (GXTlutFmt)timg->paletteFormat, - timg->paletteCount); + GXInitTlutObj(&tlutObj, ((u8*)timg) + timg->paletteOffset, (GXTlutFmt)timg->colorFormat, + timg->numColors); GXLoadTlut(&tlutObj, texMapID); } @@ -43,7 +43,7 @@ void J3DTexture::entryNum(u16 num) { for (s32 i = 0; i < mNum; i++) { mpRes[i].paletteOffset = 0; - mpRes[i].texDataOffset = 0; + mpRes[i].imageOffset = 0; } } @@ -59,13 +59,13 @@ void J3DTexture::addResTIMG(u16 newNum, ResTIMG const* newRes) { for (u16 i = 0; i < oldNum; i++) { mpRes[i] = oldRes[i]; - mpRes[i].texDataOffset = (u32)(&oldRes[i]) + mpRes[i].texDataOffset - (u32)(&mpRes[i]); + mpRes[i].imageOffset = (u32)(&oldRes[i]) + mpRes[i].imageOffset - (u32)(&mpRes[i]); mpRes[i].paletteOffset = (u32)(&oldRes[i]) + mpRes[i].paletteOffset - (u32)(&mpRes[i]); } for (u16 i = oldNum; i < mNum; i++) { mpRes[i] = newRes[i]; - mpRes[i].texDataOffset = (u32)(&newRes[i]) + mpRes[i].texDataOffset - (u32)(&mpRes[i]); + mpRes[i].imageOffset = (u32)(&newRes[i]) + mpRes[i].imageOffset - (u32)(&mpRes[i]); mpRes[i].paletteOffset = (u32)(&newRes[i]) + mpRes[i].paletteOffset - (u32)(&mpRes[i]); } } diff --git a/libs/JSystem/JGadget/linklist.cpp b/libs/JSystem/JGadget/linklist.cpp index e9af49c67f..513b9f3522 100644 --- a/libs/JSystem/JGadget/linklist.cpp +++ b/libs/JSystem/JGadget/linklist.cpp @@ -51,7 +51,7 @@ asm JGadget::TNodeLinkList::~TNodeLinkList() { /* 802DCA58-802DCAA0 2D7398 0048+00 0/0 2/2 0/0 .text * erase__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iterator */ -#if NONMATCHING +#ifdef NONMATCHING JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(JGadget::TNodeLinkList::iterator it) { TLinkListNode* node = it.node; @@ -89,7 +89,7 @@ JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(iterator start, i /* 802DCB08-802DCBA8 2D7448 00A0+00 1/1 0/0 0/0 .text * splice__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorRQ27JGadget13TNodeLinkListQ37JGadget13TNodeLinkList8iterator */ -#if NONMATCHING +#ifdef NONMATCHING void JGadget::TNodeLinkList::splice(iterator myIt, TNodeLinkList& otherList, iterator otherIt) { TLinkListNode* otherNode = otherIt; TLinkListNode* otherNextNode = otherNode->mNext; @@ -141,7 +141,7 @@ JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::Erase(TLinkListNode* no /* 802DCBF8-802DCCC8 2D7538 00D0+00 0/0 2/2 0/0 .text * Remove__Q27JGadget13TNodeLinkListFPQ27JGadget13TLinkListNode */ -#if NONMATCHING +#ifdef NONMATCHING void JGadget::TNodeLinkList::Remove(TLinkListNode* node) { TNodeLinkList trashList; TLinkListNode* myNode = this->ocObject_.mNext; diff --git a/libs/JSystem/JKernel/JKRAramArchive.cpp b/libs/JSystem/JKernel/JKRAramArchive.cpp index af996a3444..ec8ca228cc 100644 --- a/libs/JSystem/JKernel/JKRAramArchive.cpp +++ b/libs/JSystem/JKernel/JKRAramArchive.cpp @@ -154,7 +154,7 @@ inline u32 alignNext(u32 var, u32 align) { } /* 802D72A8-802D75E0 2D1BE8 0338+00 1/1 0/0 0/0 .text open__14JKRAramArchiveFl */ -#ifdef NON_MATCHING +#ifdef NONMATCHING // r30 <-> r29 bool JKRAramArchive::open(s32 entryNum) { mArcInfoBlock = NULL; @@ -288,7 +288,7 @@ void* JKRAramArchive::fetchResource(JKRArchive::SDIFileEntry* pEntry, u32* pOutS /* 802D76F4-802D77F8 2D2034 0104+00 1/0 0/0 0/0 .text * fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl */ -#ifdef NON_MATCHING +#ifdef NONMATCHING void* JKRAramArchive::fetchResource(void* buffer, u32 bufferSize, JKRArchive::SDIFileEntry* pEntry, u32* resourceSize) { u32 size = pEntry->data_size; @@ -373,7 +373,7 @@ u32 JKRAramArchive::fetchResource_subroutine(u32 src, u32 srcLength, u8* dst, u3 /* 802D7914-802D7A64 2D2254 0150+00 1/1 1/1 0/0 .text * fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc */ -#ifdef NON_MATCHING +#ifdef NONMATCHING u32 JKRAramArchive::fetchResource_subroutine(u32 entryNum, u32 length, JKRHeap* pHeap, int compression, u8** out) { // r28 -> r29, r29 -> r30, r30 -> r31, r31 -> r28 diff --git a/libs/JSystem/JKernel/JKRDecomp.cpp b/libs/JSystem/JKernel/JKRDecomp.cpp index 0b64fd9130..1ea61165ed 100644 --- a/libs/JSystem/JKernel/JKRDecomp.cpp +++ b/libs/JSystem/JKernel/JKRDecomp.cpp @@ -265,7 +265,7 @@ asm void JKRDecomp::decodeSZP(u8* param_0, u8* param_1, u32 param_2, u32 param_3 #endif /* 802DBC14-802DBCF8 2D6554 00E4+00 1/1 0/0 0/0 .text decodeSZS__9JKRDecompFPUcPUcUlUl */ -#ifdef NON_MATCHING +#ifdef NONMATCHING void JKRDecomp::decodeSZS(u8* src_buffer, u8* dst_buffer, u32 param_3, u32 param_4) { int copyByteCount; u8* decompEnd; diff --git a/libs/JSystem/JKernel/JKRExpHeap.cpp b/libs/JSystem/JKernel/JKRExpHeap.cpp index 85ac3e614c..7ff81a0eed 100644 --- a/libs/JSystem/JKernel/JKRExpHeap.cpp +++ b/libs/JSystem/JKernel/JKRExpHeap.cpp @@ -114,7 +114,7 @@ JKRExpHeap* JKRExpHeap::createRoot(int maxHeaps, bool errorFlag) { /* 802CEE2C-802CEF00 2C976C 00D4+00 0/0 19/19 1/1 .text create__10JKRExpHeapFUlP7JKRHeapb */ -#if NONMATCHING +#ifdef NONMATCHING JKRExpHeap* JKRExpHeap::create(u32 size, JKRHeap* parent, bool errorFlag) { if (!parent) { parent = sRootHeap; @@ -226,7 +226,7 @@ SECTION_DATA extern void* __vt__10JKRExpHeap[24] = { */ JKRExpHeap::JKRExpHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag) : JKRHeap(data, size, parent, errorFlag) { - field_0x6c = 0; + mAllocMode = 0; mCurrentGroupId = 0xff; mHeadFreeList = (CMemBlock*)data; mTailFreeList = mHeadFreeList; @@ -289,7 +289,7 @@ static JKRExpHeap::CMemBlock* DBnewFreeBlock; static JKRExpHeap::CMemBlock* DBnewUsedBlock; /* 802CF234-802CF490 2C9B74 025C+00 1/1 0/0 0/0 .text allocFromHead__10JKRExpHeapFUli */ -#if NONMATCHING +#ifdef NONMATCHING void* JKRExpHeap::allocFromHead(u32 size, int align) { size = ALIGN_NEXT(size, 4); s32 foundSize = -1; @@ -308,7 +308,7 @@ void* JKRExpHeap::allocFromHead(u32 size, int align) { foundSize = block->getSize(); foundBlock = block; foundOffset = offset; - if (field_0x6c != 0) { + if (mAllocMode != 0) { break; } u32 blockSize = block->getSize(); @@ -397,7 +397,7 @@ void* JKRExpHeap::allocFromHead(u32 size) { } foundSize = block->getSize(); foundBlock = block; - if (field_0x6c != 0) { + if (mAllocMode != 0) { break; } if (foundSize == size) { @@ -418,7 +418,7 @@ void* JKRExpHeap::allocFromHead(u32 size) { } /* 802CF574-802CF6D4 2C9EB4 0160+00 1/1 0/0 0/0 .text allocFromTail__10JKRExpHeapFUli */ -#if NONMATCHING +#ifdef NONMATCHING void* JKRExpHeap::allocFromTail(u32 size, int align) { u32 offset = 0; CMemBlock* foundBlock = NULL; @@ -524,7 +524,7 @@ void JKRExpHeap::do_freeAll() { } /* 802CF89C-802CF924 2CA1DC 0088+00 1/0 0/0 0/0 .text do_freeTail__10JKRExpHeapFv */ -#if NONMATCHING +#ifdef NONMATCHING void JKRExpHeap::do_freeTail() { lock(); CMemBlock* block = mHeadUsedList; @@ -567,7 +567,7 @@ s32 JKRExpHeap::do_changeGroupID(u8 param_0) { } /* 802CF978-802CFB24 2CA2B8 01AC+00 1/0 0/0 0/0 .text do_resize__10JKRExpHeapFPvUl */ -#if NONMATCHING +#ifdef NONMATCHING s32 JKRExpHeap::do_resize(void* ptr, u32 size) { lock(); CMemBlock* block = CMemBlock::getHeapBlock(ptr); @@ -788,7 +788,7 @@ void JKRExpHeap::removeUsedBlock(JKRExpHeap::CMemBlock* block) { /* 802CFF1C-802D00B4 2CA85C 0198+00 2/2 0/0 0/0 .text * recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ -#if NONMATCHING +#ifdef NONMATCHING void JKRExpHeap::recycleFreeBlock(JKRExpHeap::CMemBlock* block) { u32 size = block->size; void* blockEnd = (u8*)block + size; @@ -857,7 +857,7 @@ SECTION_DEAD static char const* const stringBase_8039CB5F = "Bad Block\n"; /* 802D00B4-802D0190 2CA9F4 00DC+00 1/1 0/0 0/0 .text * joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ -#if NONMATCHING +#ifdef NONMATCHING void JKRExpHeap::joinTwoBlocks(CMemBlock* block) { u32 endAddr = (u32)block->getContent() + block->getSize(); CMemBlock* next = block->getNextBlock(); @@ -903,7 +903,7 @@ SECTION_DEAD static char const* const stringBase_8039CC67 = #pragma pop /* 802D0190-802D03B8 2CAAD0 0228+00 1/0 0/0 0/0 .text check__10JKRExpHeapFv */ -#if NONMATCHING +#ifdef NONMATCHING bool JKRExpHeap::check() { lock(); int totalBytes = 0; @@ -1011,7 +1011,7 @@ SECTION_SDATA2 static f32 lit_1121[1 + 1 /* padding */] = { SECTION_SDATA2 static f64 lit_1123 = 4503599627370496.0 /* cast u32 to float */; /* 802D03B8-802D05CC 2CACF8 0214+00 1/0 0/0 0/0 .text dump__10JKRExpHeapFv */ -#if NONMATCHING +#ifdef NONMATCHING bool JKRExpHeap::dump() { lock(); bool result = check(); @@ -1067,7 +1067,7 @@ asm bool JKRExpHeap::dump() { #endif /* 802D05CC-802D0810 2CAF0C 0244+00 1/0 0/0 0/0 .text dump_sort__10JKRExpHeapFv */ -#if NONMATCHING +#ifdef NONMATCHING bool JKRExpHeap::dump_sort() { lock(); bool result = check(); @@ -1147,7 +1147,7 @@ void JKRExpHeap::CMemBlock::initiate(JKRExpHeap::CMemBlock* prev, JKRExpHeap::CM /* 802D0830-802D0874 2CB170 0044+00 3/3 0/0 0/0 .text * allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */ -#if NONMATCHING +#ifdef NONMATCHING JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 size, u8 groupId1, u8 alignment1, u8 groupId2, u8 alignment2) { CMemBlock* block = NULL; diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index b6830c059d..bd019b7bf9 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -133,7 +133,7 @@ SECTION_DATA static u32 twiceBit[4] = { /* 802E431C-802E456C 2DEC5C 0250+00 1/1 0/0 0/0 .text drawChar__14JUTDirectPrintFiii */ // incorrect reg-alloc -#if NONMATCHING +#ifdef NONMATCHING void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { int codepoint; if (100 <= ch) diff --git a/libs/JSystem/JUtility/JUTException.cpp b/libs/JSystem/JUtility/JUTException.cpp index 9df76c790d..2bd2f9140f 100644 --- a/libs/JSystem/JUtility/JUTException.cpp +++ b/libs/JSystem/JUtility/JUTException.cpp @@ -970,7 +970,7 @@ SECTION_DEAD static char const* const pad_8039D99E = "\0"; /* 802E3C90-802E3FEC 2DE5D0 035C+00 1/1 0/0 0/0 .text * queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb */ // 2 additional instructions (addi r5,r1,8) related to section_name variable. -#if NONMATCHING +#ifdef NONMATCHING bool JUTException::queryMapAddress_single(char* mapPath, u32 address, s32 section_id, u32* out_addr, u32* out_size, char* out_line, u32 line_length, bool print, bool begin_with_newline) { diff --git a/libs/JSystem/JUtility/JUTFont.cpp b/libs/JSystem/JUtility/JUTFont.cpp index ba078e8ace..0fd6536f98 100644 --- a/libs/JSystem/JUtility/JUTFont.cpp +++ b/libs/JSystem/JUtility/JUTFont.cpp @@ -61,7 +61,7 @@ void JUTFont::setGradColor(JUtility::TColor col1, JUtility::TColor col2) { /* 802DEE28-802DEF48 2D9768 0120+00 0/0 3/3 0/0 .text drawString_size_scale__7JUTFontFffffPCcUlb */ -#ifdef NON_MATCHING +#ifdef NONMATCHING f32 JUTFont::drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* str, u32 usz, bool a7) { f32 temp = a1; diff --git a/libs/JSystem/JUtility/JUTNameTab.cpp b/libs/JSystem/JUtility/JUTNameTab.cpp index 49de4d5d66..2c600618db 100644 --- a/libs/JSystem/JUtility/JUTNameTab.cpp +++ b/libs/JSystem/JUtility/JUTNameTab.cpp @@ -17,7 +17,7 @@ JUTNameTab::JUTNameTab(const ResNTAB* pNameTable) { } void JUTNameTab::setResource(const ResNTAB* pNameTable) { - mpNameTable = pNameTable; + mNameTable = pNameTable; if (pNameTable != NULL) { mNameNum = pNameTable->mEntryNum; @@ -29,12 +29,12 @@ void JUTNameTab::setResource(const ResNTAB* pNameTable) { } s32 JUTNameTab::getIndex(const char* pName) const { - const ResNTAB::Entry* pEntry = mpNameTable->mEntries; + const ResNTAB::Entry* pEntry = mNameTable->mEntries; u16 keyCode = calcKeyCode(pName); for (u16 i = 0; i < mNameNum; pEntry++, i++) if (pEntry->mKeyCode == keyCode && - strcmp((mpNameTable->mEntries[i].mOffs + ((const char*)mpNameTable)), pName) == 0) + strcmp((mNameTable->mEntries[i].mOffs + ((const char*)mNameTable)), pName) == 0) return i; return -1; @@ -42,7 +42,7 @@ s32 JUTNameTab::getIndex(const char* pName) const { const char* JUTNameTab::getName(u16 index) const { if (index < mNameNum) - return mpNameTable->getName(index); + return mNameTable->getName(index); return NULL; } diff --git a/libs/JSystem/JUtility/JUTResFont.cpp b/libs/JSystem/JUtility/JUTResFont.cpp index 5c34e8a0de..8c6cf5aeb1 100644 --- a/libs/JSystem/JUtility/JUTResFont.cpp +++ b/libs/JSystem/JUtility/JUTResFont.cpp @@ -364,7 +364,7 @@ asm void JUTResFont::getWidthEntry(int param_0, JUTFont::TWidth* param_1) const /* 802DFD0C-802DFD58 2DA64C 004C+00 1/0 1/0 0/0 .text getCellWidth__10JUTResFontCFv */ // regalloc -#ifdef NONMATCING +#ifdef NONMATCHING u16 JUTResFont::getCellWidth() const { u16 width; diff --git a/libs/JSystem/JUtility/JUTTexture.cpp b/libs/JSystem/JUtility/JUTTexture.cpp index 6379b65f5b..82e6b9e8c4 100644 --- a/libs/JSystem/JUtility/JUTTexture.cpp +++ b/libs/JSystem/JUtility/JUTTexture.cpp @@ -54,9 +54,9 @@ void JUTTexture::storeTIMG(ResTIMG const* param_0, u8 param_1) { if (param_0 && param_1 < 0x10) { mTexInfo = param_0; - mTexData = (void*)((int)mTexInfo + mTexInfo->texDataOffset); + mTexData = (void*)((int)mTexInfo + mTexInfo->imageOffset); - if (mTexInfo->texDataOffset == 0) { + if (mTexInfo->imageOffset == 0) { mTexData = (void*)((int)mTexInfo + 0x20); } @@ -72,10 +72,10 @@ void JUTTexture::storeTIMG(ResTIMG const* param_0, u8 param_1) { ResTIMG* tmp = (ResTIMG*)mTexInfo; - if (mTexInfo->paletteCount == 0) { + if (mTexInfo->numColors == 0) { initTexObj(); } else { - if (mTexInfo->paletteCount > 0x100) { + if (mTexInfo->numColors > 0x100) { tlut = (_GXTlut)param_1; } else { tlut = (_GXTlut)((param_1 & 3) + GX_BIGTLUT0); @@ -84,15 +84,15 @@ void JUTTexture::storeTIMG(ResTIMG const* param_0, u8 param_1) { if (mEmbPalette == NULL || !getEmbPaletteDelFlag()) { JUTPalette* palette = new JUTPalette(); if (palette) { - palette->storeTLUT(tlut, (_GXTlutFmt)tmp->paletteFormat, - (JUTTransparency)tmp->alphaEnabled, tmp->paletteCount, + palette->storeTLUT(tlut, (_GXTlutFmt)tmp->colorFormat, + (JUTTransparency)tmp->alphaEnabled, tmp->numColors, (void*)(tmp->format + tmp->paletteOffset)); } mEmbPalette = palette; mFlags = mFlags & 1 | 2; } else { - mEmbPalette->storeTLUT(tlut, (_GXTlutFmt)tmp->paletteFormat, - (JUTTransparency)tmp->alphaEnabled, tmp->paletteCount, + mEmbPalette->storeTLUT(tlut, (_GXTlutFmt)tmp->colorFormat, + (JUTTransparency)tmp->alphaEnabled, tmp->numColors, (void*)(tmp->format + tmp->paletteOffset)); } attachPalette(mEmbPalette); @@ -136,7 +136,7 @@ asm void JUTTexture::storeTIMG(ResTIMG const* param_0, JUTPalette* param_1, _GXT /* 802DE5B0-802DE608 2D8EF0 0058+00 1/1 7/7 0/0 .text attachPalette__10JUTTextureFP10JUTPalette */ void JUTTexture::attachPalette(JUTPalette* param_0) { - if (mTexInfo->palettesEnabled) { + if (mTexInfo->indexTexture) { if (param_0 == NULL && mEmbPalette != NULL) { field_0x2c = mEmbPalette; } else { @@ -149,7 +149,7 @@ void JUTTexture::attachPalette(JUTPalette* param_0) { /* 802DE608-802DE658 2D8F48 0050+00 1/1 0/0 0/0 .text init__10JUTTextureFv */ void JUTTexture::init() { - if (mTexInfo->paletteCount == 0) { + if (mTexInfo->numColors == 0) { initTexObj(); } else { if (mEmbPalette != NULL) { @@ -180,7 +180,7 @@ void JUTTexture::initTexObj() { int offset; if (mTexInfo->mipmapEnabled) { - offset = mTexInfo->texDataOffset; + offset = mTexInfo->imageOffset; } else { offset = 0x20; } diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index aa7acc5375..914fb6b6f9 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -314,7 +314,7 @@ bool cM3d_Cross_AabCyl(const cM3dGAab* pAab, const cM3dGCyl* pCyl) { /* 80268BB4-80268C5C 2634F4 00A8+00 0/0 2/2 0/0 .text cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph */ -#ifdef NON_MATCHING +#ifdef NONMATCHING bool cM3d_Cross_AabSph(const cM3dGAab* pAab, const cM3dGSph* pSph) { f32 radius = pSph->GetR(); if (pAab->GetMinX() > pSph->GetC().GetX() + radius) { // addition registers are flipped @@ -346,7 +346,7 @@ asm bool cM3d_Cross_AabSph(cM3dGAab const* param_0, cM3dGSph const* param_1) { /* 80268C5C-80268ED4 26359C 0278+00 3/3 0/0 0/0 .text * cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf */ -#ifdef NON_MATCHING +#ifdef NONMATCHING int cM3d_Check_LinLin(const cM3dGLin* pLinA, const cM3dGLin* pLinB, f32* pFloatA, f32* pFloatB) { Vec linAVec; Vec linBVec; @@ -425,7 +425,7 @@ static bool cM3d_CrossInfLineVsInfPlane_proc(f32 pFloatA, f32 pFloatB, const Vec /* 80268F34-80269050 263874 011C+00 3/3 1/1 0/0 .text * cM3d_Cross_LinPla__FPC8cM3dGLinPC8cM3dGPlaP3Vecbb */ -#ifdef NON_MATCHING +#ifdef NONMATCHING bool cM3d_Cross_LinPla(const cM3dGLin* pLine, const cM3dGPla* pPlane, Vec* pVecOut, bool pBoolA, bool pBoolB) { f32 startVal = pPlane->getPlaneFunc(&pLine->GetStartP()); diff --git a/libs/SSystem/SComponent/c_phase.cpp b/libs/SSystem/SComponent/c_phase.cpp index f681d5902f..c4c30ecf4e 100644 --- a/libs/SSystem/SComponent/c_phase.cpp +++ b/libs/SSystem/SComponent/c_phase.cpp @@ -11,10 +11,6 @@ extern "C" static void cPhs_UnCompleate__FP30request_of_phase_process_class(); extern "C" static void cPhs_Compleate__FP30request_of_phase_process_class(); extern "C" static void cPhs_Next__FP30request_of_phase_process_class(); -// -// External References: -// - // // Declarations: // @@ -22,14 +18,14 @@ extern "C" static void cPhs_Next__FP30request_of_phase_process_class(); /* 80266624-80266630 000C+00 s=1 e=2 z=0 None .text * cPhs_Reset__FP30request_of_phase_process_class */ void cPhs_Reset(request_of_phase_process_class* pPhase) { - pPhase->mPhaseStep = 0; + pPhase->id = cPhs_ZERO_e; } /* 80266630-80266640 0010+00 s=0 e=3 z=0 None .text * cPhs_Set__FP30request_of_phase_process_classPPFPv_i */ void cPhs_Set(request_of_phase_process_class* pPhase, cPhs__Handler* pHandlerTable) { pPhase->mpHandlerTable = pHandlerTable; - pPhase->mPhaseStep = 0; + pPhase->id = cPhs_ZERO_e; } /* 80266640-80266668 0028+00 s=1 e=0 z=0 None .text @@ -50,15 +46,15 @@ int cPhs_Compleate(request_of_phase_process_class* pPhase) { */ int cPhs_Next(request_of_phase_process_class* pPhase) { if (const cPhs__Handler* handlerTable = pPhase->mpHandlerTable) { - pPhase->mPhaseStep++; - cPhs__Handler handler = handlerTable[pPhase->mPhaseStep]; + pPhase->id++; + cPhs__Handler handler = handlerTable[pPhase->id]; // Double null check here actually matters for emitted assembly. // Wee old compilers. if (handler == NULL || handler == NULL) { return cPhs_Compleate(pPhase); } else { - return 1; + return cPhs_ONE_e; } } @@ -67,35 +63,33 @@ int cPhs_Next(request_of_phase_process_class* pPhase) { /* 802666D8-802667AC 00D4+00 s=1 e=3 z=0 None .text cPhs_Do__FP30request_of_phase_process_classPv */ -#if NON_MATCHING +#ifdef NONMATCHING int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) { if (const cPhs__Handler* pHandlerTable = pPhase->mpHandlerTable) { // the load of pUserData seems to be slightly scrambled.. - const cPhs__Handler pHandler = pHandlerTable[pPhase->mPhaseStep]; + const cPhs__Handler pHandler = pHandlerTable[pPhase->id]; const int newStep = pHandler(pUserData); switch (newStep) { - case 1: + case cPhs_ONE_e: return cPhs_Next(pPhase); - case 2: { + case cPhs_TWO_e: const int step2 = cPhs_Next(pPhase); - return step2 == 1 ? 2 : cPhs_COMPLEATE_e; - } + return step2 == cPhs_ONE_e ? cPhs_TWO_e : cPhs_COMPLEATE_e; case cPhs_COMPLEATE_e: return cPhs_Compleate(pPhase); - case 3: { + case cPhs_UNK3_e: cPhs_UnCompleate(pPhase); - return 3; - } + return cPhs_UNK3_e; case cPhs_ERROR_e: cPhs_UnCompleate(pPhase); return cPhs_ERROR_e; } return newStep; - } else { - return cPhs_Compleate(pPhase); } + + return cPhs_Compleate(pPhase); } #else #pragma push diff --git a/rel/d/a/b/d_a_b_go/d_a_b_go.cpp b/rel/d/a/b/d_a_b_go/d_a_b_go.cpp index 02eaed213d..14fa344b20 100644 --- a/rel/d/a/b/d_a_b_go/d_a_b_go.cpp +++ b/rel/d/a/b/d_a_b_go/d_a_b_go.cpp @@ -4,6 +4,10 @@ // #include "rel/d/a/b/d_a_b_go/d_a_b_go.h" +#include "SSystem/SComponent/c_lib.h" +#include "SSystem/SComponent/c_math.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,114 +15,77 @@ // Types: // -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; +enum daB_GO_ANM { + /* 0x04 */ ANM_ATTACK = 4, + /* 0x05 */ ANM_DAMAGE_01, + /* 0x06 */ ANM_DAMAGE_02, + /* 0x07 */ ANM_DEAD_01, + /* 0x08 */ ANM_DEAD_02, + /* 0x09 */ ANM_FALL, + /* 0x0A */ ANM_START_L, + /* 0x0B */ ANM_START_R, + /* 0x0C */ ANM_STEP, + /* 0x0D */ ANM_TRAP, + /* 0x0E */ ANM_WAIT_02, + /* 0x0F */ ANM_WAIT_03, + /* 0x10 */ ANM_WALK, }; -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -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(); +enum daB_GO_Action { + /* 0x0 */ ACT_WAIT, + /* 0x1 */ ACT_WALK, + /* 0x2 */ ACT_ATTACK, }; -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; +#define RES_IS_MODEL 0x13 -struct daB_GO_HIO_c { +class daB_GO_HIO_c { +public: /* 806031AC */ daB_GO_HIO_c(); /* 80603F9C */ ~daB_GO_HIO_c(); + + /* 0x00 */ u8 field_0x0[4]; + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 mSmallSize; + /* 0x0C */ f32 mNormalSpeed; + /* 0x10 */ f32 mAttackInitRange; + /* 0x14 */ bool mDisplayModelImage; }; -struct dKy_tevstr_c {}; - -struct cXyz {}; - -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 dCcD_GStts { - /* 80083760 */ dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80603F2C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 80603E9C */ ~cM3dGSph(); -}; - -struct cM3dGCyl { - /* 80603E54 */ ~cM3dGCyl(); -}; - -struct cM3dGAab { - /* 80603EE4 */ ~cM3dGAab(); -}; - -struct b_go_class { +class b_go_class : public fopAc_ac_c { +public: /* 80603CA0 */ b_go_class(); -}; -struct Vec {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); + // private: + /* 0x568 */ u8 field_0x568[0x5ac - 0x568]; + /* 0x5AC */ request_of_phase_process_class mPhase; + /* 0x5B4 */ mDoExt_McaMorfSO* mpMorf; + /* 0x5B8 */ Z2CreatureEnemy mZ2Enemy; + /* 0x648 */ u8 field_0x648[0x14]; + /* 0x65C */ int field_0x65c; + /* 0x660 */ u8 field_0x660; + /* 0x661 */ u8 field_0x661[0x668 - 0x661]; + /* 0x668 */ s16 field_0x668; + /* 0x66A */ s16 mActionID; + /* 0x66C */ s16 field_0x66c; + /* 0x66E */ u8 field_0x66e[0x67e - 0x66e]; + /* 0x67E */ s16 mAngleToPlayer; + /* 0x680 */ f32 mDistToPlayer; + /* 0x684 */ u8 field_0x684[4]; + /* 0x688 */ s16 field_0x688[4]; + /* 0x690 */ s16 field_0x690; + /* 0x692 */ s16 field_0x692; + /* 0x694 */ dBgS_AcchCir mAcchCir; + /* 0x6D4 */ dBgS_Acch mAcch; + /* 0x8AC */ dCcD_Stts mStts; + /* 0x8E8 */ dCcD_Sph field_0x8e8; + /* 0xA20 */ dCcD_Sph field_0xa20; + /* 0xB58 */ dCcD_Cyl field_0xb58; + /* 0xC94 */ u8 field_0xc94[0xc9c - 0xc94]; + /* 0xC9C */ Z2CreatureEnemy* field_0xc9c; + /* 0xCA0 */ u8 field_0xca0[0xcb8 - 0xca0]; + /* 0xCB8 */ u32 mGoronAcID[31]; + /* 0xD34 */ u8 field_0xd34; }; // @@ -196,9 +163,6 @@ extern "C" void __ct__15Z2CreatureEnemyFv(); extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSVECAdd(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); @@ -206,7 +170,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); 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" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -215,9 +178,6 @@ extern "C" extern void* __vt__12cCcD_CylAttr[25]; 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" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" void __register_global_object(); // @@ -327,14 +287,16 @@ static u8 lit_3641[12]; static u8 l_HIO[24]; /* 806031EC-80603270 00012C 0084+00 1/0 0/0 0/0 .text daB_GO_Draw__FP10b_go_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daB_GO_Draw(b_go_class* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Draw__FP10b_go_class.s" +static int daB_GO_Draw(b_go_class* b_go) { + if ((*(daB_GO_HIO_c*)l_HIO).mDisplayModelImage) { + J3DModel* model = b_go->mpMorf->getModel(); + + g_env_light.settingTevStruct(0, &b_go->current.pos, &b_go->mTevStr); + g_env_light.setLightTevColorType_MAJI(model->getModelData(), &b_go->mTevStr); + b_go->mpMorf->entryDL(); + } + return 1; } -#pragma pop /* ############################################################################################## */ /* 80604050-80604054 00000C 0004+00 1/5 0/0 0/0 .rodata @3673 */ @@ -357,17 +319,26 @@ SECTION_DEAD static char const* const stringBase_8060408C = "B_go"; #pragma pop /* 80603270-8060331C 0001B0 00AC+00 3/3 0/0 0/0 .text anm_init__FP10b_go_classifUcf */ +// matches with literals +#ifdef NONMATCHING +static void anm_init(b_go_class* b_go, int resID, f32 param_2, u8 param_3, f32 param_4) { + J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes("B_go", resID); + b_go->mpMorf->setAnm(bck, param_3, param_2, param_4, 0.0f, -1.0f); + b_go->field_0x65c = resID; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void anm_init(b_go_class* param_0, int param_1, f32 param_2, u8 param_3, f32 param_4) { +static asm void anm_init(b_go_class* b_go, int resID, f32 param_2, u8 param_3, f32 param_4) { nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/anm_init__FP10b_go_classifUcf.s" } #pragma pop +#endif /* 8060331C-80603320 00025C 0004+00 1/1 0/0 0/0 .text damage_check__FP10b_go_class */ -static void damage_check(b_go_class* param_0) { +static void damage_check(b_go_class* b_go) { /* empty function */ } @@ -398,6 +369,27 @@ COMPILER_STRIP_GATE(0x80604064, &lit_3705); #pragma pop /* 80603320-806033F0 000260 00D0+00 1/1 0/0 0/0 .text h_wait__FP10b_go_class */ +// matches with literals +#ifdef NONMATCHING +static void h_wait(b_go_class* b_go) { + b_go->mSpeedF = 0.0f; + + switch (b_go->field_0x66c) { + case 0: + anm_init(b_go, ANM_WAIT_03, 10.0f, 2, 1.0f); + b_go->field_0x66c = 1; + b_go->field_0x688[0] = cM_rndF(60.0f) + 100.0f; + break; + case 1: + if (b_go->field_0x688[0] == 0 || + b_go->mDistToPlayer < (*(daB_GO_HIO_c*)l_HIO).mAttackInitRange) { + b_go->mActionID = ACT_WALK; + b_go->field_0x66c = 0; + } + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -406,6 +398,7 @@ static asm void h_wait(b_go_class* param_0) { #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/h_wait__FP10b_go_class.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80604068-8060406C 000024 0004+00 0/1 0/0 0/0 .rodata @3719 */ @@ -416,6 +409,33 @@ COMPILER_STRIP_GATE(0x80604068, &lit_3719); #pragma pop /* 806033F0-80603508 000330 0118+00 1/1 0/0 0/0 .text h_walk__FP10b_go_class */ +// matches with literals +#ifdef NONMATCHING +static void h_walk(b_go_class* b_go) { + f32 speed = 0.0f; + + switch (b_go->field_0x66c) { + case 0: + anm_init(b_go, ANM_WALK, 10.0f, 2, 1.0f); + b_go->field_0x66c = 1; + b_go->field_0x688[0] = cM_rndF(60.0f) + 150.0f; + break; + case 1: + speed = (*(daB_GO_HIO_c*)l_HIO).mNormalSpeed; + if (b_go->field_0x688[0] == 0) { + b_go->mActionID = ACT_WAIT; + b_go->field_0x66c = 0; + } else if (b_go->mDistToPlayer < (*(daB_GO_HIO_c*)l_HIO).mAttackInitRange) { + b_go->mActionID = ACT_ATTACK; + b_go->field_0x66c = 0; + } + break; + } + + cLib_addCalc2(&b_go->mSpeedF, speed, 1.0f, 1.0f); + cLib_addCalcAngleS2(&b_go->current.angle.y, b_go->mAngleToPlayer, 1, 0x200); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -424,8 +444,37 @@ static asm void h_walk(b_go_class* param_0) { #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/h_walk__FP10b_go_class.s" } #pragma pop +#endif /* 80603508-80603638 000448 0130+00 1/1 0/0 0/0 .text h_attack__FP10b_go_class */ +#ifdef NONMATCHING +static void h_attack(b_go_class* b_go) { + int frame = b_go->mpMorf->getFrame(); + cLib_addCalc0(&b_go->mSpeedF, 1.0f, 1.0f); + + switch (b_go->field_0x66c) { + case 0: + anm_init(b_go, ANM_ATTACK, 10.0f, 0, 1.0f); + b_go->field_0x66c = 1; + break; + case 1: + if (frame >= 25 && frame <= 33) { + if (frame == 25) { + b_go->mZ2Enemy.startCreatureSound(Z2SE_CM_KAZAKIRI_S, 0, -1); + b_go->field_0x660 = 1; + } else { + b_go->field_0x660 = 2; + } + } + + if (b_go->mpMorf->isStop()) { + b_go->mActionID = ACT_WAIT; + b_go->field_0x66c = 0; + } + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -434,6 +483,7 @@ static asm void h_attack(b_go_class* param_0) { #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/h_attack__FP10b_go_class.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8060406C-80604070 000028 0004+00 0/1 0/0 0/0 .rodata @3784 */ @@ -451,6 +501,55 @@ COMPILER_STRIP_GATE(0x80604070, &lit_3785); #pragma pop /* 80603638-806037E8 000578 01B0+00 1/1 0/0 0/0 .text action__FP10b_go_class */ +#ifdef NONMATCHING +static void action(b_go_class* b_go) { + b_go->mAngleToPlayer = fopAcM_searchActorAngleY(b_go, (fopAc_ac_c*)dComIfGp_getPlayer(0)); + b_go->mDistToPlayer = fopAcM_searchActorDistance(b_go, (fopAc_ac_c*)dComIfGp_getPlayer(0)); + + b_go->mStatus = b_go->mStatus; + b_go->mAttentionInfo.mFlags = 0; + + if (b_go->field_0x688[1] == 0) { + if (b_go->field_0x692 != 2) { + b_go->field_0x692 = 2; + b_go->field_0x688[1] = cM_rndF(200.0f) + 1000.0f; + } else { + b_go->field_0x692 = 1; + b_go->field_0x688[1] = cM_rndF(100.0f) + 300.0f; + } + } + + switch (b_go->mActionID) { + case ACT_WAIT: + h_wait(b_go); + break; + case ACT_WALK: + h_walk(b_go); + break; + case ACT_ATTACK: + h_attack(b_go); + break; + } + + cLib_addCalcAngleS2(&b_go->mCollisionRot.y, b_go->current.angle.y, 4, 0x2000); + mDoMtx_stack_c::YrotS(b_go->current.angle.y); + + cXyz speed; + speed.x = 0.0f; + speed.y = 0.0f; + speed.z = b_go->mSpeedF; + + cXyz newSpeed; + MtxPosition(&speed, &newSpeed); + b_go->mSpeed.x = newSpeed.x; + b_go->mSpeed.z = newSpeed.z; + + PSVECAdd(&b_go->current.pos, &b_go->mSpeed, &b_go->current.pos); + b_go->mSpeed.y += b_go->mGravity; + + b_go->mAcch.CrrPos(dComIfG_Bgsp()); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -459,8 +558,36 @@ static asm void action(b_go_class* param_0) { #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/action__FP10b_go_class.s" } #pragma pop +#endif /* 806037E8-806038EC 000728 0104+00 2/1 0/0 0/0 .text daB_GO_Execute__FP10b_go_class */ +#ifdef NONMATCHING +static int daB_GO_Execute(b_go_class* b_go) { + b_go->field_0x668++; + + for (int i = 0; i < 4; i++) { + if (b_go->field_0x688[i] != 0) { + b_go->field_0x688[i]--; + } + } + + if (b_go->field_0x690 != 0) { + b_go->field_0x690--; + } + + action(b_go); + damage_check(b_go); + + mDoMtx_stack_c::transS(b_go->current.pos.x, b_go->current.pos.y, b_go->current.pos.z); + mDoMtx_stack_c::YrotM(b_go->mCollisionRot.y); + mDoMtx_stack_c::scaleM((*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize); + mDoMtx_stack_c::copy(b_go->mpMorf->getModel()->getBaseTRMtx()); + b_go->mpMorf->play(0, dComIfGp_getReverb(b_go->current.mRoomNo)); + b_go->mpMorf->modelCalc(); + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -469,31 +596,55 @@ static asm void daB_GO_Execute(b_go_class* param_0) { #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Execute__FP10b_go_class.s" } #pragma pop +#endif /* 806038EC-806038F4 00082C 0008+00 1/0 0/0 0/0 .text daB_GO_IsDelete__FP10b_go_class */ -static bool daB_GO_IsDelete(b_go_class* param_0) { - return true; +static int daB_GO_IsDelete(b_go_class* param_0) { + return 1; } /* 806038F4-8060395C 000834 0068+00 1/0 0/0 0/0 .text daB_GO_Delete__FP10b_go_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daB_GO_Delete(b_go_class* param_0) { - nofralloc -#include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Delete__FP10b_go_class.s" +static int daB_GO_Delete(b_go_class* b_go) { + dComIfG_resDelete(&b_go->mPhase, "B_go"); + + if (b_go->field_0xd34) { + data_80604140[0] = 0; + } + + if (b_go->mHeap != NULL) { + b_go->mpMorf->stopZelAnime(); + } + + return 1; } -#pragma pop /* 8060395C-80603A54 00089C 00F8+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +static int useHeapInit(fopAc_ac_c* i_actor) { + b_go_class* b_go = (b_go_class*)i_actor; + + b_go->mpMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("B_go", RES_IS_MODEL), + NULL, NULL, + (J3DAnmTransform*)dComIfG_getObjectRes("B_go", ANM_WAIT_03), + 2, 1.0f, 0, -1, &b_go->mZ2Enemy, 0x80000, 0x11000084); + + if (b_go->mpMorf == NULL || b_go->mpMorf->getModel() == NULL) { + return 0; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void useHeapInit(fopAc_ac_c* param_0) { +static asm int useHeapInit(fopAc_ac_c* param_0) { nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/useHeapInit__FP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80604074-80604078 000030 0004+00 0/1 0/0 0/0 .rodata @3924 */ @@ -539,6 +690,65 @@ COMPILER_STRIP_GATE(0x80604088, &lit_3929); #pragma pop /* 80603A54-80603CA0 000994 024C+00 1/0 0/0 0/0 .text daB_GO_Create__FP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +static int daB_GO_Create(fopAc_ac_c* i_actor) { + if (!fopAcM_CheckCondition(i_actor, 8)) { + new (i_actor) b_go_class(); + fopAcM_OnCondition(i_actor, 8); + } + b_go_class* b_go = (b_go_class*)i_actor; + + int phase_state = dComIfG_resLoad(&b_go->mPhase, "B_go"); + if (phase_state == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(i_actor, (heapCallbackFunc)useHeapInit, 0x4B000)) { + return cPhs_ERROR_e; + } + + if (data_80604140[0] == 0) { + b_go->field_0xd34 = 1; + data_80604140[0] = 1; + (*(daB_GO_HIO_c*)l_HIO).field_0x4 = -1; + } + + b_go->mAttentionInfo.mFlags = 4; + b_go->mCullMtx = b_go->mpMorf->getModel()->getBaseTRMtx(); + fopAcM_SetMin(b_go, -500.0f, -2000.0f, -500.0f); + fopAcM_SetMax(b_go, 500.0f, 2000.0f, 500.0f); + b_go->field_0x562 = 1000; + b_go->field_0x560 = 1000; + + b_go->mAcch.Set(&b_go->current.pos, &b_go->next.pos, b_go, 1, &b_go->mAcchCir, + &b_go->mSpeed, NULL, NULL); + b_go->mAcchCir.SetWall(100.0f, 300.0f); + + b_go->mZ2Enemy.init(&b_go->current.pos, &b_go->mEyePos, 3, 1); + b_go->field_0xc9c = &b_go->mZ2Enemy; + + b_go->mGravity = -7.0f; + b_go->mActionID = ACT_WAIT; + + daB_GO_Execute(b_go); + + cXyz pos; + pos.y = b_go->current.pos.y; + + csXyz angle(0, 0, 0); + + for (int i = 0; i < 31; i++) { + pos.x = cM_rndFX(500.0f) + b_go->current.pos.x; + pos.z = cM_rndFX(500.0f) + b_go->current.pos.z; + angle.y = cM_rndF(65536.0f); + + b_go->mGoronAcID[i] = + fopAcM_createChild(PROC_B_GOS, fopAcM_GetID(b_go), i, &pos, fopAcM_GetRoomNo(b_go), + &angle, NULL, -1, NULL); + } + } + + return phase_state; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -547,6 +757,7 @@ static asm void daB_GO_Create(fopAc_ac_c* param_0) { #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/daB_GO_Create__FP10fopAc_ac_c.s" } #pragma pop +#endif /* 80603CA0-80603E54 000BE0 01B4+00 1/1 0/0 0/0 .text __ct__10b_go_classFv */ #pragma push @@ -562,7 +773,8 @@ asm b_go_class::b_go_class() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/__dt__8cM3dGCylFv.s" } @@ -572,7 +784,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/__dt__8cM3dGSphFv.s" } @@ -582,7 +795,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/__dt__8cM3dGAabFv.s" } @@ -592,7 +806,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/__dt__12dBgS_ObjAcchFv.s" } @@ -612,7 +827,7 @@ asm daB_GO_HIO_c::~daB_GO_HIO_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_a_b_go_cpp() { +asm void __sinit_d_a_b_go_cpp(){ nofralloc #include "asm/rel/d/a/b/d_a_b_go/d_a_b_go/__sinit_d_a_b_go_cpp.s" } 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 46139a44b8..2df64f0e07 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 @@ -84,14 +84,14 @@ static int daScex_Create(fopAc_ac_c* ac) { } 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::transS(scex->current.pos.x, scex->current.pos.y, scex->current.pos.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; + return cPhs_COMPLEATE_e; } #else #pragma push @@ -149,7 +149,7 @@ int daScex_c::execute() { daPy_py_c* player = daPy_getPlayerActorClass(); if (checkWork()) { - PSMTXMultVec(mMatrix, &player->mCurrent.mPosition, &spC); + PSMTXMultVec(mMatrix, &player->current.pos, &spC); if (spC.y >= 0.0f && spC.y <= mScale.y && fabsf(spC.x) <= mScale.x && fabsf(spC.z) <= mScale.z) { switch (getArg1()) { 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 index ec5b721686..7c5c2560e4 100644 --- a/rel/d/a/d_a_title/d_a_title_nonmatching.cpp +++ b/rel/d/a/d_a_title/d_a_title_nonmatching.cpp @@ -299,13 +299,13 @@ int daTitle_c::create() { fopAcM_OnCondition(this, 8); } - int load = dComIfG_resLoad(&mPhaseReq, l_arcName); - if (load != 4) { - return load; + int phase_state = dComIfG_resLoad(&mPhaseReq, l_arcName); + if (phase_state != cPhs_COMPLEATE_e) { + return phase_state; } if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x4000)) { - return 5; + return cPhs_ERROR_e; } mpMount = mDoDvdThd_mountArchive_c::create("/res/Layout/Title2D.arc", 0, NULL); @@ -316,7 +316,7 @@ int daTitle_c::create() { loadWait_init(); g_daTitHIO.field_0x4 = -1; - return load; + return phase_state; } /* 80D66E7C-80D66E9C 00045C 0020+00 1/1 0/0 0/0 .text createHeapCallBack__9daTitle_cFP10fopAc_ac_c 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 70028dfb5b..34faa9a8ff 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 @@ -224,7 +224,7 @@ static asm int nodeCallBack(J3DJoint* param_0, int param_1) { /* 80B25B78-80B25BDC 000258 0064+00 1/0 0/0 0/0 .text daNPC_TR_Draw__FP12npc_tr_class */ 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.settingTevStruct(0, &npc_tr->current.pos, &npc_tr->mTevStr); g_env_light.setLightTevColorType_MAJI(npc_tr->field_0x5b8->mModelData, &npc_tr->mTevStr); mDoExt_modelUpdateDL(npc_tr->field_0x5b8); return 1; @@ -390,11 +390,11 @@ static void npc_tr_move(npc_tr_class* npc_tr) { 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); + npc_tr->field_0x5c4.x = npc_tr->orig.pos.x + cM_rndFX(1000.0f); + npc_tr->field_0x5c4.y = npc_tr->orig.pos.y + cM_rndFX(200.0f); + npc_tr->field_0x5c4.z = npc_tr->orig.pos.z + cM_rndFX(1000.0f); - cXyz distance = npc_tr->field_0x5c4 - npc_tr->mCurrent.mPosition; + cXyz distance = npc_tr->field_0x5c4 - npc_tr->current.pos; distance.y = 0.0f; if (distance.abs() > 500.0f) { @@ -431,14 +431,14 @@ static void npc_tr_move(npc_tr_class* npc_tr) { } } - 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); + cXyz distance = npc_tr->field_0x5c4 - npc_tr->current.pos; + s16 angle = npc_tr->current.angle.y; + cLib_addCalcAngleS2(&npc_tr->current.angle.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); + cLib_addCalcAngleS2(&npc_tr->current.angle.x, -cM_atan2s(distance.y, var_f2), 4, var_r29); - f32 var_f1_2 = (f32)(angle - npc_tr->mCurrent.mAngle.y) * 5.0f; + f32 var_f1_2 = (f32)(angle - npc_tr->current.angle.y) * 5.0f; if (var_f1_2 > 4000.0f) { var_f1_2 = 4000.0f; } else if (var_f1_2 < -4000.0f) { @@ -520,7 +520,7 @@ static int daNPC_TR_Execute(npc_tr_class* npc_tr) { } 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::transS(npc_tr->current.pos.x, npc_tr->current.pos.y, npc_tr->current.pos.z); mDoMtx_stack_c::YrotM(npc_tr->mCollisionRot.y + npc_tr->field_0x5f0); mDoMtx_stack_c::XrotM(npc_tr->mCollisionRot.x); @@ -579,12 +579,12 @@ static int daNPC_TR_Create(fopAc_ac_c* ac) { } npc_tr_class* npc_tr = (npc_tr_class*)ac; - int load = dComIfG_resLoad(&npc_tr->mPhaseReq, "NPC_TR"); - if (load == 4) { + int phase_state = dComIfG_resLoad(&npc_tr->mPhaseReq, "NPC_TR"); + if (phase_state == cPhs_COMPLEATE_e) { npc_tr->field_0x5b4 = fopAcM_GetParam(npc_tr); if (!fopAcM_entrySolidHeap(npc_tr, useHeapInit, 0x4B000)) { - return 5; + return cPhs_ERROR_e; } if (!data_80B26678) { @@ -598,7 +598,7 @@ static int daNPC_TR_Create(fopAc_ac_c* ac) { daNPC_TR_Execute(npc_tr); } - return load; + return phase_state; } #else #pragma push diff --git a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp index 475b166588..ceaf5ab32a 100644 --- a/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp +++ b/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.cpp @@ -7,171 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct cXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CE70 */ void scaleM(cXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct csXyz { - /* 8059D2E4 */ ~csXyz(); - /* 8059DC88 */ csXyz(); -}; - -struct daObjYobikusa_c { - struct Mode_e {}; - - /* 8059C9F8 */ void setAction(daObjYobikusa_c::Mode_e); - /* 8059CA2C */ void callInit(); - /* 8059CA54 */ void callExecute(); - /* 8059CA80 */ void initSwingWind(); - /* 8059CA8C */ void executeSwingWind(); - /* 8059CC54 */ void initPushDown(); - /* 8059CC60 */ void executePushDown(); - /* 8059CD44 */ void initPickLeaf(); - /* 8059CD80 */ void executePickLeaf(); - /* 8059CE7C */ void create_init(); - /* 8059D120 */ void initBaseMtx(); - /* 8059D198 */ void getJointAngle(csXyz*, int); - /* 8059D1BC */ void getJointScale(int); - /* 8059D320 */ void initCcCylinder(); - /* 8059D380 */ void setCcCylinder(); - /* 8059D3B4 */ void toPickLeaf(); - /* 8059D454 */ void setNewLeaf(); - /* 8059D738 */ void execute(); - - static u8 const M_attr[64]; - static u8 ActionTable[72]; -}; - -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 dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -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 dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 8059DD1C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 8059D040 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 8059D0B0 */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8059DC8C */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 8059DCD4 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 8059DD78 */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 80268074 */ cBgS_PolyInfo(); - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DModel {}; - -struct J3DJoint {}; - // // Forward References: // @@ -265,7 +100,6 @@ extern "C" void __dt__8cM3dGCirFv(); extern "C" void SetC__8cM3dGCylFRC4cXyz(); extern "C" void cLib_chaseF__FPfff(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); @@ -276,16 +110,12 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); 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" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_CylAttr[25]; 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" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; @@ -293,14 +123,6 @@ extern "C" u8 sincosTable___5JMath[65536]; // Declarations: // -/* ############################################################################################## */ -/* 8059DF24-8059DF24 0000A8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8059DF24 = "J_Tobi"; -SECTION_DEAD static char const* const stringBase_8059DF2B = "J_Umak"; -#pragma pop - /* 8059DF68-8059DF74 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, @@ -320,10 +142,10 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 8059DF88-8059DF8C -00001 0004+00 1/1 0/0 0/0 .data l_arcName1 */ -SECTION_DATA static void* l_arcName1 = (void*)&d_a_obj_yobikusa__stringBase0; +SECTION_DATA static const char* l_arcName1 = "J_Tobi"; /* 8059DF8C-8059DF90 -00001 0004+00 1/1 0/0 0/0 .data l_arcName2 */ -SECTION_DATA static void* l_arcName2 = (void*)(((char*)&d_a_obj_yobikusa__stringBase0) + 0x7); +SECTION_DATA static const char* l_arcName2 = "J_Umak"; /* 8059DF90-8059DF9C -00001 000C+00 0/1 0/0 0/0 .data @3641 */ #pragma push @@ -394,6 +216,15 @@ SECTION_DATA u8 daObjYobikusa_c::ActionTable[72] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; +/* SECTION_DATA actionFunc daObjYobikusa_c::ActionTable[72] = { + &daObjYobikusa_c::initSwingWind, + &daObjYobikusa_c::executeSwingWind, + &daObjYobikusa_c::initPushDown, + &daObjYobikusa_c::executePushDown, + &daObjYobikusa_c::initPickLeaf, + &daObjYobikusa_c::executePickLeaf, +}; */ + /* 8059C9F8-8059CA2C 000078 0034+00 5/5 0/0 0/0 .text * setAction__15daObjYobikusa_cFQ215daObjYobikusa_c6Mode_e */ #pragma push @@ -704,7 +535,8 @@ static asm void nodeCallBack(J3DJoint* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__5csXyzFv.s" } @@ -841,7 +673,7 @@ static asm void daObjYobikusa_Create(fopAc_ac_c* param_0) { #pragma pop /* 8059DC88-8059DC8C 001308 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +extern "C" void __ct__5csXyzFv() { /* empty function */ } @@ -849,7 +681,8 @@ csXyz::csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__8cM3dGCylFv.s" } @@ -859,7 +692,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__8cM3dGAabFv.s" } @@ -869,7 +703,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__10dCcD_GSttsFv.s" } @@ -879,7 +714,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp index 567321c3e5..21f24d9b9d 100644 --- a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp +++ b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp @@ -4,6 +4,7 @@ // #include "rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,43 +12,36 @@ // Types: // -struct request_of_phase_process_class {}; +class daTagTWGate_c; +typedef void (daTagTWGate_c::*actionFunc)(); -struct cXyz {}; +class daTagTWGate_c : public fopAc_ac_c { +public: + enum EType { + /* 0x0 */ TYPE_FILONE, + /* 0x1 */ TYPE_ORDIN, + /* 0x2 */ TYPE_RANAIL, + /* 0x3 */ TYPE_HYRAL, + }; -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); + enum EAction { + /* 0x00 */ ACT_WAIT, + /* 0x01 */ ACT_DEMO_FILONE_1, + /* 0x02 */ ACT_DEMO_FILONE_2, + /* 0x03 */ ACT_DEMO_FILONE_3, + /* 0x04 */ ACT_DEMO_ORDIN_1, + /* 0x05 */ ACT_DEMO_ORDIN_2, + /* 0x06 */ ACT_DEMO_ORDIN_3, + /* 0x07 */ ACT_DEMO_RANAIL_1, + /* 0x08 */ ACT_DEMO_RANAIL_2, + /* 0x09 */ ACT_DEMO_RANAIL_3, + /* 0x0A */ ACT_DEMO_HYRAL_1, + /* 0x0B */ ACT_DEMO_HYRAL_2, + /* 0x0C */ ACT_DEMO_HYRAL_3, + }; - static u8 now[48]; -}; + inline ~daTagTWGate_c(); -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagTWGate_c { /* 80D525F8 */ void initWait(); /* 80D52604 */ void executeWait(); /* 80D528F0 */ void initDemoFilone1(); @@ -75,53 +69,64 @@ struct daTagTWGate_c { /* 80D54A30 */ void initDemoHyral3(); /* 80D54AF8 */ void executeDemoHyral3(); /* 80D54ECC */ void initBaseMtx(); - /* 80D54F88 */ void downloadModels(); + /* 80D54F88 */ int downloadModels(); /* 80D5502C */ void initTalk(int, fopAc_ac_c**); - /* 80D55068 */ void talkProc(int*, int, fopAc_ac_c**); - /* 80D55160 */ void createHeapCallBack(fopAc_ac_c*); - /* 80D55180 */ void CreateHeap(); + /* 80D55068 */ bool talkProc(int*, int, fopAc_ac_c**); + /* 80D55160 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80D55180 */ int CreateHeap(); + + u8 getSwitch() { return fopAcM_GetParam(this) >> 8; } + u8 getType() { return fopAcM_GetParam(this); } + + inline int create(); + + void create_init() { + field_0x5e0 = 0; + mActionID = 0; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } + + void callExecute() { + (this->*mAction[1])(); + i_mDoAud_seStartLevel(Z2SE_OBJ_DARK_GATE, ¤t.pos, 0, 0); + } + + int execute() { + callExecute(); + + if (field_0x5e0 != 0) { + mpMorf->play(0, 0); + mpMorf->modelCalc(); + } + return 1; + } + + int draw() { + if (field_0x5e0 != 0) { + mpMorf->entryDL(); + } + return 1; + } static u8 const mAttr[1 + 3 /* padding */]; - static u8 ActionTable[312]; -}; + static actionFunc ActionTable[13][2]; -struct dSv_player_status_b_c { - /* 80032BB0 */ void isDarkClearLV(int) const; -}; - -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 { - /* 8003498C */ void onEventBit(u16); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct dKy_tevstr_c {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -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); +private: + /* 0x568 */ mDoExt_McaMorfSO* mpMorf; + /* 0x56C */ request_of_phase_process_class mPhaseZevArc; + /* 0x574 */ request_of_phase_process_class mPhaseMdRes; + /* 0x57C */ request_of_phase_process_class mPhasePyRes; + /* 0x584 */ actionFunc* mAction; + /* 0x588 */ int mActionID; + /* 0x58C */ dMsgFlow_c mMsgFlow; + /* 0x5D8 */ u8 field_0x5d8[4]; + /* 0x5DC */ s16 mEventID; + /* 0x5DE */ u8 field_0x5de; + /* 0x5DF */ bool mIsWolf; + /* 0x5E0 */ u8 field_0x5e0; + /* 0x5E1 */ u8 field_0x5e1; + /* 0x5E2 */ u8 mType; }; struct dMsgObject_c { @@ -129,43 +134,16 @@ struct dMsgObject_c { /* 802382F4 */ void isMsgSendControl(); }; -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F48 */ ~dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); - /* 8024A538 */ void getMsgNo(); - /* 8024A548 */ void getMsg(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042518 */ void reset(void*); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 800429A8 */ void onSkipFade(); -}; - -struct dEvent_manager_c { - /* 80046800 */ void setObjectArchive(char*); - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 80047A78 */ void endCheck(s16); - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047F5C */ void getMyNowCutName(int); - /* 8004817C */ void cutEnd(int); -}; - -struct JAISoundID {}; - -struct Vec {}; - -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 daTagTWGate_zevParam { + /* 0x00 */ char* mArcName; + /* 0x04 */ char* mEventName; + /* 0x08 */ char* mTalkEventName; + /* 0x0C */ char* mInEventName; + /* 0x10 */ int mLv; + /* 0x14 */ char* mStage; + /* 0x18 */ s16 mPoint; + /* 0x1A */ s8 mRoomNo; + /* 0x1B */ s8 mLayer; }; // @@ -268,7 +246,6 @@ extern "C" void __ct__5csXyzFsss(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); extern "C" void* __nw__FUl(); -extern "C" void PSMTXCopy(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); @@ -278,12 +255,9 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void pow(); 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 */]; // @@ -291,14 +265,9 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // /* 80D525F8-80D52604 000078 000C+00 1/0 0/0 0/0 .text initWait__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initWait() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initWait__13daTagTWGate_cFv.s" +void daTagTWGate_c::initWait() { + mEventID = -1; } -#pragma pop /* ############################################################################################## */ /* 80D55848-80D55852 00009C 000A+00 4/3 0/0 0/0 .rodata None */ @@ -366,35 +335,51 @@ SECTION_RODATA u8 const daTagTWGate_c::mAttr[1 + 3 /* padding */] = { COMPILER_STRIP_GATE(0x80D557AC, &daTagTWGate_c::mAttr); /* 80D557B0-80D55820 -00001 0070+00 14/18 0/0 0/0 .rodata l_zevParamTbl */ -SECTION_RODATA static void* const l_zevParamTbl[28] = { - (void*)&d_a_tag_TWgate__stringBase0, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xA), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x19), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x2D), - (void*)NULL, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x3F), - (void*)0x0017000A, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x47), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x51), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x5F), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x72), - (void*)0x00000001, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x83), - (void*)0x000A020E, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x8B), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x95), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xA4), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xB8), - (void*)0x00000002, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x83), - (void*)0x000A090E, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xCA), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xD4), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xE2), - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0xF5), - (void*)0x00000004, - (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x83), - (void*)0x000A020E, +SECTION_RODATA static daTagTWGate_zevParam const l_zevParamTbl[4] = { + { + "TWGate_FL", + "TW_GATE_FILONE", + "TW_GATE_FILONE_TALK", + "TW_GATE_FILONE_IN", + 0, + "F_SP108", + 23, + 0, + 10, + }, + { + "TWGate_OD", + "TW_GATE_ORDIN", + "TW_GATE_ORDIN_TALK", + "TW_GATE_ORDIN_IN", + 1, + "F_SP121", + 10, + 2, + 14, + }, + { + "TWGate_RN", + "TW_GATE_RANAIL", + "TW_GATE_RANAIL_TALK", + "TW_GATE_RANAIL_IN", + 2, + "F_SP121", + 10, + 9, + 14, + }, + { + "TWGate_HY", + "TW_GATE_HYRAL", + "TW_GATE_HYRAL_TALK", + "TW_GATE_HYRAL_IN", + 4, + "F_SP121", + 10, + 2, + 14, + }, }; COMPILER_STRIP_GATE(0x80D557B0, &l_zevParamTbl); @@ -451,314 +436,131 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 80D55994-80D55998 -00001 0004+00 12/12 0/0 0/0 .data l_myName */ -SECTION_DATA static void* l_myName = (void*)(((char*)&d_a_tag_TWgate__stringBase0) + 0x106); - -/* 80D55998-80D559A4 -00001 000C+00 0/1 0/0 0/0 .data @3744 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3744[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initWait__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559A4-80D559B0 -00001 000C+00 0/1 0/0 0/0 .data @3745 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3745[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeWait__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559B0-80D559BC -00001 000C+00 0/1 0/0 0/0 .data @3746 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3746[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoFilone1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559BC-80D559C8 -00001 000C+00 0/1 0/0 0/0 .data @3747 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3747[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoFilone1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559C8-80D559D4 -00001 000C+00 0/1 0/0 0/0 .data @3748 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3748[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoFilone2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559D4-80D559E0 -00001 000C+00 0/1 0/0 0/0 .data @3749 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3749[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoFilone2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559E0-80D559EC -00001 000C+00 0/1 0/0 0/0 .data @3750 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3750[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoFilone3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559EC-80D559F8 -00001 000C+00 0/1 0/0 0/0 .data @3751 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3751[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoFilone3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D559F8-80D55A04 -00001 000C+00 0/1 0/0 0/0 .data @3752 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3752[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoOrdin1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A04-80D55A10 -00001 000C+00 0/1 0/0 0/0 .data @3753 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3753[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoOrdin1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A10-80D55A1C -00001 000C+00 0/1 0/0 0/0 .data @3754 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3754[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoOrdin2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A1C-80D55A28 -00001 000C+00 0/1 0/0 0/0 .data @3755 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3755[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoOrdin2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A28-80D55A34 -00001 000C+00 0/1 0/0 0/0 .data @3756 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3756[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoOrdin3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A34-80D55A40 -00001 000C+00 0/1 0/0 0/0 .data @3757 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3757[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoOrdin3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A40-80D55A4C -00001 000C+00 0/1 0/0 0/0 .data @3758 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3758[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoRanail1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A4C-80D55A58 -00001 000C+00 0/1 0/0 0/0 .data @3759 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3759[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoRanail1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A58-80D55A64 -00001 000C+00 0/1 0/0 0/0 .data @3760 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3760[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoRanail2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A64-80D55A70 -00001 000C+00 0/1 0/0 0/0 .data @3761 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3761[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoRanail2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A70-80D55A7C -00001 000C+00 0/1 0/0 0/0 .data @3762 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3762[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoRanail3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A7C-80D55A88 -00001 000C+00 0/1 0/0 0/0 .data @3763 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3763[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoRanail3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A88-80D55A94 -00001 000C+00 0/1 0/0 0/0 .data @3764 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3764[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoHyral1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55A94-80D55AA0 -00001 000C+00 0/1 0/0 0/0 .data @3765 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3765[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoHyral1__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55AA0-80D55AAC -00001 000C+00 0/1 0/0 0/0 .data @3766 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3766[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoHyral2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55AAC-80D55AB8 -00001 000C+00 0/1 0/0 0/0 .data @3767 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3767[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoHyral2__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55AB8-80D55AC4 -00001 000C+00 0/1 0/0 0/0 .data @3768 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3768[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initDemoHyral3__13daTagTWGate_cFv, -}; -#pragma pop - -/* 80D55AC4-80D55AD0 -00001 000C+00 0/1 0/0 0/0 .data @3769 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3769[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeDemoHyral3__13daTagTWGate_cFv, -}; -#pragma pop +SECTION_DATA static const char* l_myName = "Gate"; /* 80D55AD0-80D55C08 00015C 0138+00 14/15 0/0 0/0 .data ActionTable__13daTagTWGate_c */ -SECTION_DATA u8 daTagTWGate_c::ActionTable[312] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA actionFunc daTagTWGate_c::ActionTable[13][2] = { + {&daTagTWGate_c::initWait, &daTagTWGate_c::executeWait}, + {&daTagTWGate_c::initDemoFilone1, &daTagTWGate_c::executeDemoFilone1}, + {&daTagTWGate_c::initDemoFilone2, &daTagTWGate_c::executeDemoFilone2}, + {&daTagTWGate_c::initDemoFilone3, &daTagTWGate_c::executeDemoFilone3}, + {&daTagTWGate_c::initDemoOrdin1, &daTagTWGate_c::executeDemoOrdin1}, + {&daTagTWGate_c::initDemoOrdin2, &daTagTWGate_c::executeDemoOrdin2}, + {&daTagTWGate_c::initDemoOrdin3, &daTagTWGate_c::executeDemoOrdin3}, + {&daTagTWGate_c::initDemoRanail1, &daTagTWGate_c::executeDemoRanail1}, + {&daTagTWGate_c::initDemoRanail2, &daTagTWGate_c::executeDemoRanail2}, + {&daTagTWGate_c::initDemoRanail3, &daTagTWGate_c::executeDemoRanail3}, + {&daTagTWGate_c::initDemoHyral1, &daTagTWGate_c::executeDemoHyral1}, + {&daTagTWGate_c::initDemoHyral2, &daTagTWGate_c::executeDemoHyral2}, + {&daTagTWGate_c::initDemoHyral3, &daTagTWGate_c::executeDemoHyral3}, }; /* 80D52604-80D528F0 000084 02EC+00 1/0 0/0 0/0 .text executeWait__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::executeWait() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeWait__13daTagTWGate_cFv.s" +void daTagTWGate_c::executeWait() { + f32 radius = pow(mScale.x * 100.0f, 2.0f); + f32 distance = fopAcM_searchActorDistanceXZ2(this, (fopAc_ac_c*)dComIfGp_getPlayer(0)); + + if (distance < radius) { + if (field_0x5de == 0) { + field_0x5de = 1; + + switch (mType) { + case TYPE_FILONE: + if (i_fopAcM_isSwitch(this, getSwitch())) { + mActionID = ACT_DEMO_FILONE_2; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } else { + mActionID = ACT_DEMO_FILONE_1; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } + break; + case TYPE_ORDIN: + if (i_fopAcM_isSwitch(this, getSwitch())) { + mActionID = ACT_DEMO_ORDIN_2; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } else { + mActionID = ACT_DEMO_ORDIN_1; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } + break; + case TYPE_RANAIL: + if (i_fopAcM_isSwitch(this, getSwitch())) { + mActionID = ACT_DEMO_RANAIL_2; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } else { + mActionID = ACT_DEMO_RANAIL_1; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } + break; + case TYPE_HYRAL: + if (i_fopAcM_isSwitch(this, getSwitch())) { + mActionID = ACT_DEMO_HYRAL_2; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } else { + mActionID = ACT_DEMO_HYRAL_1; + mAction = &ActionTable[mActionID][0]; + (this->**mAction)(); + } + break; + } + } + } else { + field_0x5de = 0; + } } -#pragma pop /* 80D528F0-80D5297C 000370 008C+00 1/0 0/0 0/0 .text initDemoFilone1__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoFilone1() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone1__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoFilone1() { + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + mEventID = i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mEventName, -1); + fopAcM_orderOtherEventId(this, mEventID, -1, -1, 4, 1); } -#pragma pop /* 80D5297C-80D52AF4 0003FC 0178+00 1/0 0/0 0/0 .text executeDemoFilone1__13daTagTWGate_cFv */ +// swapped r30 / r31 +#ifdef NONMATCHING +void daTagTWGate_c::executeDemoFilone1() { + int staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0); + + if (staffId != -1) { + int* cutName = (int*)i_dComIfGp_getEventManager().getMyNowCutName(staffId); + + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*cutName) { + case 0x30303031: + i_dComIfGp_getEvent().setSkipProc(this, dEv_noFinishSkipProc, 0); + break; + } + } + + switch (*cutName) { + case 0x30303031: + if (i_dComIfGp_getEvent().chkFlag2(8)) { + i_dComIfGp_getEvent().onSkipFade(); + mActionID = ACT_DEMO_FILONE_2; + mAction = ActionTable[mActionID]; + (this->**mAction)(); + } + dComIfGp_evmng_cutEnd(staffId); + } + + if (mEvtInfo.i_checkCommandDemoAccrpt() && mEventID != -1 && + dComIfGp_evmng_endCheck(mEventID)) { + mActionID = ACT_DEMO_FILONE_2; + mAction = ActionTable[mActionID]; + (this->**mAction)(); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -767,9 +569,26 @@ asm void daTagTWGate_c::executeDemoFilone1() { #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone1__13daTagTWGate_cFv.s" } #pragma pop +#endif /* 80D52AF4-80D52BF0 000574 00FC+00 1/0 0/0 0/0 .text initDemoFilone2__13daTagTWGate_cFv */ +#ifdef NONMATCHING +void daTagTWGate_c::initDemoFilone2() { + i_fopAcM_onSwitch(this, getSwitch()); + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName()); + mEventID = + i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, -1); + + if (g_dComIfG_gameInfo.play.mEvent.mEventStatus != 0) { + i_dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, -1); + } else { + fopAcM_orderOtherEventId(this, mEventID, -1, -1, 4, 1); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -778,8 +597,56 @@ asm void daTagTWGate_c::initDemoFilone2() { #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone2__13daTagTWGate_cFv.s" } #pragma pop +#endif /* 80D52BF0-80D52DB4 000670 01C4+00 1/0 0/0 0/0 .text executeDemoFilone2__13daTagTWGate_cFv */ +// regswap +#ifdef NONMATCHING +void daTagTWGate_c::executeDemoFilone2() { + int staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0); + + if (staffId != -1) { + int* cutName = (int*)i_dComIfGp_getEventManager().getMyNowCutName(staffId); + + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*cutName) { + case 0x30303032: + initTalk(0xBC1, NULL); + break; + case 0x30303031: + case 0x30303033: + break; + } + } + + switch (*cutName) { + case 0x30303031: + case 0x30303033: + dComIfGp_evmng_cutEnd(staffId); + break; + case 0x30303032: + if (talkProc(NULL, 1, NULL)) { + if (mMsgFlow.getChoiceNo() == 0) { + mActionID = ACT_DEMO_FILONE_3; + mAction = ActionTable[mActionID]; + (this->**mAction)(); + } + dComIfGp_evmng_cutEnd(staffId); + } + break; + } + + if (mEvtInfo.i_checkCommandDemoAccrpt() && mEventID != -1 && + dComIfGp_evmng_endCheck(mEventID)) { + i_dComIfGp_getEvent().reset(); + field_0x5e0 = 0; + mActionID = ACT_WAIT; + mAction = ActionTable[mActionID]; + (this->**mAction)(); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -788,17 +655,20 @@ asm void daTagTWGate_c::executeDemoFilone2() { #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone2__13daTagTWGate_cFv.s" } #pragma pop +#endif /* 80D52DB4-80D52E7C 000834 00C8+00 1/0 0/0 0/0 .text initDemoFilone3__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoFilone3() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoFilone3__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoFilone3() { + field_0x5de = 1; + mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName()); + mEventID = + i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mInEventName, -1); + i_dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, -1); } -#pragma pop /* ############################################################################################## */ /* 80D5582C-80D55830 000080 0004+00 1/5 0/0 0/0 .rodata @4079 */ @@ -833,6 +703,97 @@ SECTION_RODATA static f32 const lit_4083 = -1.0f; COMPILER_STRIP_GATE(0x80D5583C, &lit_4083); /* 80D52E7C-80D53250 0008FC 03D4+00 1/0 0/0 0/0 .text executeDemoFilone3__13daTagTWGate_cFv */ +// regswap +#ifdef NONMATCHING +void daTagTWGate_c::executeDemoFilone3() { + int staffId = i_dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0); + + if (staffId != -1) { + int* cutName = (int*)i_dComIfGp_getEventManager().getMyNowCutName(staffId); + + if (dComIfGp_evmng_getIsAddvance(staffId)) { + switch (*cutName) { + case 0x30303031: + break; + case 0x30303032: + i_dComIfGp_getEvent().setSkipProc(this, dEv_noFinishSkipProc, 0); + field_0x5e1 = 0; + break; + case 0x30303033: + initBaseMtx(); + mpMorf->setPlaySpeed(1.0f); + field_0x5e0 = 1; + break; + } + } + + switch (*cutName) { + case 0x30303031: + int modelSts = downloadModels(); + if (modelSts == 1) { + dComIfGp_evmng_cutEnd(staffId); + } else if (modelSts == -1) { + dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + break; + case 0x30303032: + if (i_dComIfGp_getEvent().chkFlag2(8)) { + i_dComIfGp_getEvent().onSkipFade(); + dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + + u8 old_5e1 = field_0x5e1; + field_0x5e1++; + + if (old_5e1 == 43) { + daPy_py_c* player = daPy_getPlayerActorClass(); + csXyz sxyz(0, player->mCollisionRot.y + 0x8000, 0); + + mDoMtx_stack_c::transS(player->current.pos); + mDoMtx_stack_c::YrotM(sxyz.y); + mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); + + cXyz pos; + pos.x = mDoMtx_stack_c::get()[0][3]; + pos.y = mDoMtx_stack_c::get()[1][3]; + pos.z = mDoMtx_stack_c::get()[2][3]; + dComIfGp_particle_set(0x86C5, &pos, &sxyz, NULL); + mDoAud_seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &pos, 0, 0); + dComIfGp_evmng_cutEnd(staffId); + } + break; + case 0x30303033: + if (i_dComIfGp_getEvent().chkFlag2(8)) { + i_dComIfGp_getEvent().onSkipFade(); + dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + + if (mpMorf->isStop()) { + dComIfGp_evmng_cutEnd(staffId); + } + break; + } + + if (mEvtInfo.i_checkCommandDemoAccrpt() && mEventID != -1 && + dComIfGp_evmng_endCheck(mEventID)) { + i_dComIfGp_getEvent().reset(); + field_0x5e0 = 0; + mActionID = ACT_WAIT; + mAction = ActionTable[mActionID]; + (this->**mAction)(); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -841,17 +802,15 @@ asm void daTagTWGate_c::executeDemoFilone3() { #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone3__13daTagTWGate_cFv.s" } #pragma pop +#endif /* 80D53250-80D532DC 000CD0 008C+00 1/0 0/0 0/0 .text initDemoOrdin1__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoOrdin1() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin1__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoOrdin1() { + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + mEventID = i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mEventName, -1); + fopAcM_orderOtherEventId(this, mEventID, -1, -1, 4, 1); } -#pragma pop /* 80D532DC-80D53454 000D5C 0178+00 1/0 0/0 0/0 .text executeDemoOrdin1__13daTagTWGate_cFv */ #pragma push @@ -886,14 +845,16 @@ asm void daTagTWGate_c::executeDemoOrdin2() { /* 80D53714-80D537DC 001194 00C8+00 1/0 0/0 0/0 .text initDemoOrdin3__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoOrdin3() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoOrdin3__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoOrdin3() { + field_0x5de = 1; + mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName()); + mEventID = + i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mInEventName, -1); + i_dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, -1); } -#pragma pop /* 80D537DC-80D53BD0 00125C 03F4+00 1/0 0/0 0/0 .text executeDemoOrdin3__13daTagTWGate_cFv */ #pragma push @@ -907,14 +868,11 @@ asm void daTagTWGate_c::executeDemoOrdin3() { /* 80D53BD0-80D53C5C 001650 008C+00 1/0 0/0 0/0 .text initDemoRanail1__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoRanail1() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail1__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoRanail1() { + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + mEventID = i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mEventName, -1); + fopAcM_orderOtherEventId(this, mEventID, -1, -1, 4, 1); } -#pragma pop /* 80D53C5C-80D53DD4 0016DC 0178+00 1/0 0/0 0/0 .text executeDemoRanail1__13daTagTWGate_cFv */ #pragma push @@ -949,14 +907,17 @@ asm void daTagTWGate_c::executeDemoRanail2() { /* 80D54094-80D54178 001B14 00E4+00 1/0 0/0 0/0 .text initDemoRanail3__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoRanail3() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoRanail3__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoRanail3() { + field_0x5de = 1; + mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName()); + mEventID = + i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mInEventName, -1); + i_dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, -1); + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[170]); } -#pragma pop /* 80D54178-80D5456C 001BF8 03F4+00 1/0 0/0 0/0 .text executeDemoRanail3__13daTagTWGate_cFv */ #pragma push @@ -970,14 +931,11 @@ asm void daTagTWGate_c::executeDemoRanail3() { /* 80D5456C-80D545F8 001FEC 008C+00 1/0 0/0 0/0 .text initDemoHyral1__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoHyral1() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral1__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoHyral1() { + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + mEventID = i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mEventName, -1); + fopAcM_orderOtherEventId(this, mEventID, -1, -1, 4, 1); } -#pragma pop /* 80D545F8-80D54770 002078 0178+00 1/0 0/0 0/0 .text executeDemoHyral1__13daTagTWGate_cFv */ #pragma push @@ -1012,14 +970,16 @@ asm void daTagTWGate_c::executeDemoHyral2() { /* 80D54A30-80D54AF8 0024B0 00C8+00 1/0 0/0 0/0 .text initDemoHyral3__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initDemoHyral3() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initDemoHyral3__13daTagTWGate_cFv.s" +void daTagTWGate_c::initDemoHyral3() { + field_0x5de = 1; + mIsWolf = (dComIfGp_getLinkPlayer()->mNoResetFlg1 >> 25) & 1; // checking if wolf? + mEvtInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName()); + mEventID = + i_dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mInEventName, -1); + i_dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, -1); } -#pragma pop /* 80D54AF8-80D54ECC 002578 03D4+00 1/0 0/0 0/0 .text executeDemoHyral3__13daTagTWGate_cFv */ #pragma push @@ -1047,6 +1007,24 @@ COMPILER_STRIP_GATE(0x80D55844, &lit_4791); #pragma pop /* 80D54ECC-80D54F88 00294C 00BC+00 4/4 0/0 0/0 .text initBaseMtx__13daTagTWGate_cFv */ +// matches with literals +#ifdef NONMATCHING +void daTagTWGate_c::initBaseMtx() { + mCullMtx = mpMorf->getModel()->getBaseTRMtx(); + fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); + + mCollisionRot.y = player->mCollisionRot.y + 0x8000; + mDoMtx_stack_c::transS(player->current.pos); + mDoMtx_stack_c::YrotM(mCollisionRot.y); + mDoMtx_stack_c::transM(0.0f, 250.0f, -840.0f); + + current.pos.x = mDoMtx_stack_c::get()[0][3]; + current.pos.y = mDoMtx_stack_c::get()[1][3]; + current.pos.z = mDoMtx_stack_c::get()[2][3]; + + mpMorf->getModel()->i_setBaseTRMtx(mDoMtx_stack_c::get()); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1055,43 +1033,39 @@ asm void daTagTWGate_c::initBaseMtx() { #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initBaseMtx__13daTagTWGate_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80D55848-80D55848 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D55953 = "TWGate_Md"; -SECTION_DEAD static char const* const stringBase_80D5595D = "TWGate_Wf"; -SECTION_DEAD static char const* const stringBase_80D55967 = "TWGate_Lk"; -#pragma pop +#endif /* 80D54F88-80D5502C 002A08 00A4+00 4/4 0/0 0/0 .text downloadModels__13daTagTWGate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::downloadModels() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/downloadModels__13daTagTWGate_cFv.s" +int daTagTWGate_c::downloadModels() { + int phase_state = dComIfG_resLoad(&mPhaseMdRes, "TWGate_Md"); + + if (phase_state == cPhs_COMPLEATE_e) { + phase_state = dComIfG_resLoad(&mPhasePyRes, mIsWolf ? "TWGate_Wf" : "TWGate_Lk"); + } + + if (phase_state == cPhs_COMPLEATE_e) { + if (fopAcM_entrySolidHeap(this, createHeapCallBack, 0x3140)) { + return 1; + } else { + return -1; + } + } + + return phase_state == cPhs_ERROR_e ? -1 : 0; } -#pragma pop /* 80D5502C-80D55068 002AAC 003C+00 4/4 0/0 0/0 .text initTalk__13daTagTWGate_cFiPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::initTalk(int param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/initTalk__13daTagTWGate_cFiPP10fopAc_ac_c.s" +void daTagTWGate_c::initTalk(int param_0, fopAc_ac_c** param_1) { + mMsgFlow.init(this, param_0, 0, param_1); } -#pragma pop /* 80D55068-80D55160 002AE8 00F8+00 4/4 0/0 0/0 .text talkProc__13daTagTWGate_cFPiiPP10fopAc_ac_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daTagTWGate_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2) { +asm bool daTagTWGate_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2) { nofralloc #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/talkProc__13daTagTWGate_cFPiiPP10fopAc_ac_c.s" } @@ -1099,47 +1073,89 @@ asm void daTagTWGate_c::talkProc(int* param_0, int param_1, fopAc_ac_c** param_2 /* 80D55160-80D55180 002BE0 0020+00 1/1 0/0 0/0 .text * createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagTWGate_c::createHeapCallBack(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c.s" +int daTagTWGate_c::createHeapCallBack(fopAc_ac_c* i_actor) { + return ((daTagTWGate_c*)i_actor)->CreateHeap(); } -#pragma pop /* 80D55180-80D55288 002C00 0108+00 1/1 0/0 0/0 .text CreateHeap__13daTagTWGate_cFv */ +#ifdef NONMATCHING +bool daTagTWGate_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("TWGate_Md", 7); + mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, + (J3DAnmTransform*)dComIfG_getObjectRes("TWGate_Md", 4), 0, 0.0f, + 0, -1, NULL, 0, 0x11000084); + + mDoExt_McaMorfSO* morf = mpMorf; + if (morf != NULL && morf->getModel() == NULL) { + morf->stopZelAnime(); + mpMorf = NULL; + } + + return mpMorf != NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daTagTWGate_c::CreateHeap() { +asm int daTagTWGate_c::CreateHeap() { nofralloc #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/CreateHeap__13daTagTWGate_cFv.s" } #pragma pop +#endif + +int daTagTWGate_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagTWGate_c(); + fopAcM_OnCondition(this, 8); + } + + mType = getType(); + + int phase_state; + if (dComIfGs_isDarkClearLV(l_zevParamTbl[mType].mLv)) { + phase_state = cPhs_ERROR_e; + } else { + phase_state = dComIfG_resLoad(&mPhaseZevArc, l_zevParamTbl[mType].mArcName); + if (phase_state == cPhs_COMPLEATE_e) { + create_init(); + } + } + + return phase_state; +} /* 80D55288-80D55388 002D08 0100+00 1/0 0/0 0/0 .text daTagTWGate_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagTWGate_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Create__FP10fopAc_ac_c.s" +static int daTagTWGate_Create(fopAc_ac_c* i_actor) { + return ((daTagTWGate_c*)i_actor)->create(); +} + +inline daTagTWGate_c::~daTagTWGate_c() { + dComIfG_resDelete(&mPhaseZevArc, l_zevParamTbl[mType].mArcName); + + if (mPhaseMdRes.id != cPhs_ZERO_e) { + dComIfG_resDelete(&mPhaseMdRes, "TWGate_Md"); + } + + if (mPhasePyRes.id != cPhs_ZERO_e) { + dComIfG_resDelete(&mPhasePyRes, mIsWolf ? "TWGate_Wf" : "TWGate_Lk"); + } } -#pragma pop /* 80D55388-80D5543C 002E08 00B4+00 1/0 0/0 0/0 .text daTagTWGate_Delete__FP13daTagTWGate_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagTWGate_Delete(daTagTWGate_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Delete__FP13daTagTWGate_c.s" +static int daTagTWGate_Delete(daTagTWGate_c* i_gate) { + i_gate->~daTagTWGate_c(); + return 1; } -#pragma pop /* 80D5543C-80D554E4 002EBC 00A8+00 1/0 0/0 0/0 .text daTagTWGate_Execute__FP13daTagTWGate_c */ +// matches with literals +#ifdef NONMATCHING +static int daTagTWGate_Execute(daTagTWGate_c* i_gate) { + return i_gate->execute(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1148,38 +1164,19 @@ static asm void daTagTWGate_Execute(daTagTWGate_c* param_0) { #include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Execute__FP13daTagTWGate_c.s" } #pragma pop +#endif /* 80D554E4-80D55518 002F64 0034+00 1/0 0/0 0/0 .text daTagTWGate_Draw__FP13daTagTWGate_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagTWGate_Draw(daTagTWGate_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/daTagTWGate_Draw__FP13daTagTWGate_c.s" +static int daTagTWGate_Draw(daTagTWGate_c* i_gate) { + return i_gate->draw(); } -#pragma pop /* 80D55518-80D55520 002F98 0008+00 1/0 0/0 0/0 .text daTagTWGate_IsDelete__FP13daTagTWGate_c */ -static bool daTagTWGate_IsDelete(daTagTWGate_c* param_0) { - return true; +static int daTagTWGate_IsDelete(daTagTWGate_c*) { + return 1; } -/* 80D55520-80D557A0 002FA0 0280+00 0/0 1/0 0/0 .text __sinit_d_a_tag_TWgate_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_tag_TWgate_cpp() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/__sinit_d_a_tag_TWgate_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80D55520, __sinit_d_a_tag_TWgate_cpp); -#pragma pop - /* ############################################################################################## */ /* 80D55C08-80D55C28 -00001 0020+00 1/0 0/0 0/0 .data l_daTagTWGate_Method */ SECTION_DATA static void* l_daTagTWGate_Method[8] = { diff --git a/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp b/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp index f7c2a13628..827190e051 100644 --- a/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp +++ b/rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.cpp @@ -33,7 +33,7 @@ static int daTagEscape_Create(fopAc_ac_c* tag) { fopAcM_OnCondition(tag, 8); } - return 4; + return cPhs_COMPLEATE_e; } /* 80D58828-80D58858 0000C8 0030+00 1/0 0/0 0/0 .text daTagEscape_Delete__FP13daTagEscape_c */ diff --git a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp index 7f5c5b6ea0..5e6531a913 100644 --- a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp +++ b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp @@ -83,7 +83,7 @@ int daTag_Lv5Soup_c::create() { fopAcM_setCullSizeBox(this, -30.0f, -15.0f, -30.0f, 30.0f, 45.0f, 30.0f); mAttentionInfo.mFlags = 0; - return 4; + return cPhs_COMPLEATE_e; } /* 80D5ADEC-80D5ADF4 00010C 0008+00 1/1 0/0 0/0 .text Delete__15daTag_Lv5Soup_cFv */ @@ -116,7 +116,7 @@ int daTag_Lv5Soup_c::Draw() { /* 80D5AEA4-80D5B06C 0001C4 01C8+00 1/1 0/0 0/0 .text isAreaCheck__15daTag_Lv5Soup_cFv */ bool daTag_Lv5Soup_c::isAreaCheck() { - cXyz dist = daPy_getPlayerActorClass()->mCurrent.mPosition - mCurrent.mPosition; + cXyz dist = daPy_getPlayerActorClass()->current.pos - current.pos; f32 boundX = mScale.x * 100.0f; f32 boundY = mScale.y * 100.0f; 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 77a61a1df6..14f206254c 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,24 +7,11 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void Create__12daTagMagne_cFv(); -extern "C" void create__12daTagMagne_cFv(); -extern "C" void _delete__12daTagMagne_cFv(); -extern "C" static void daTagMagne_Delete__FP12daTagMagne_c(); -extern "C" static void daTagMagne_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_Tag_Magne[12]; - // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" u8 mTagMagne__12daTagMagne_c[4]; // // Declarations: @@ -51,15 +38,15 @@ int daTagMagne_c::create() { fopAcM_OnCondition(this, 8); } - if (mTagMagne != NULL && mTagMagne->mCurrent.mRoomNo != mCurrent.mRoomNo) { - return 0; + if (mTagMagne != NULL && mTagMagne->current.mRoomNo != current.mRoomNo) { + return cPhs_ZERO_e; } if (!Create()) { - return 5; + return cPhs_ERROR_e; } - return 4; + return cPhs_COMPLEATE_e; } /* 805A5578-805A558C 000158 0014+00 1/1 0/0 0/0 .text _delete__12daTagMagne_cFv */ @@ -70,37 +57,27 @@ int daTagMagne_c::_delete() { /* 805A558C-805A55AC 00016C 0020+00 1/0 0/0 0/0 .text daTagMagne_Delete__FP12daTagMagne_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagMagne_Delete(daTagMagne_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Delete__FP12daTagMagne_c.s" +static void daTagMagne_Delete(daTagMagne_c* p_tag) { + p_tag->_delete(); } -#pragma pop /* 805A55AC-805A55CC 00018C 0020+00 1/0 0/0 0/0 .text daTagMagne_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagMagne_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_magne/d_a_tag_magne/daTagMagne_Create__FP10fopAc_ac_c.s" +static void daTagMagne_Create(fopAc_ac_c* p_tag) { + ((daTagMagne_c*)p_tag)->create(); } -#pragma pop /* ############################################################################################## */ /* 805A55D4-805A55F4 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMagne_Method */ -SECTION_DATA static void* l_daTagMagne_Method[8] = { - (void*)daTagMagne_Create__FP10fopAc_ac_c, - (void*)daTagMagne_Delete__FP12daTagMagne_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +SECTION_DATA static process_method_func l_daTagMagne_Method[8] = { + (process_method_func)daTagMagne_Create, + (process_method_func)daTagMagne_Delete, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, }; /* 805A55F4-805A5624 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Magne */ diff --git a/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp b/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp index b1ebc46eaf..a0f75a01f7 100644 --- a/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp +++ b/rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.cpp @@ -46,9 +46,9 @@ int daTagSetBall_c::create() { } if (!Create()) { - return 5; + return cPhs_ERROR_e; } else { - return 4; + return cPhs_COMPLEATE_e; } } diff --git a/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp b/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp index abe1603570..95aa6aa4f7 100644 --- a/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp +++ b/rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.cpp @@ -52,7 +52,7 @@ int daTag_Telop_c::create() { mMessageStatus = 99; } - return 4; + return cPhs_COMPLEATE_e; } /* 80490AF8-80490B5C 000118 0064+00 1/1 0/0 0/0 .text execute__13daTag_Telop_cFv */ diff --git a/src/c/c_dylink.cpp b/src/c/c_dylink.cpp index 5fdc07c8ab..324f5e5de1 100644 --- a/src/c/c_dylink.cpp +++ b/src/c/c_dylink.cpp @@ -885,30 +885,30 @@ static BOOL cDyl_Initialized; /* 800185C0-80018688 012F00 00C8+00 1/1 1/1 0/0 .text cDyl_LinkASync__Fs */ int cDyl_LinkASync(s16 i_ProfName) { if (cDyl_Initialized == false) { - return 0; + return cPhs_ZERO_e; } if (i_ProfName >= ARRAY_SIZE(DMC)) { OSReport_Error("cDyl_Link i_ProfName=%d\n", i_ProfName); - return 5; + return cPhs_ERROR_e; } DynamicModuleControl* d = DMC[i_ProfName]; if (d != NULL) { if (d->load_async()) { if (d->link()) { - return 4; + return cPhs_COMPLEATE_e; } else { // "cDyl_LinkASync: Link failed. Returning\n" OSReport_Error("cDyl_LinkASync: リンクに失敗しました。諦めます\n"); - return 5; + return cPhs_ERROR_e; } } else { - return 0; + return cPhs_ZERO_e; } } - return 4; + return cPhs_COMPLEATE_e; } /* 80018688-80018764 012FC8 00DC+00 1/1 0/0 0/0 .text cDyl_InitCallback__FPv */ @@ -981,8 +981,8 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) { static int (*l_method[3])(void*) = {cDylPhs::phase_01, (int (*)(void*))cDylPhs::phase_02, cDylPhs::phase_03}; - if (i_phase->mPhaseStep == 2) { - return 4; + if (i_phase->id == cPhs_TWO_e) { + return cPhs_COMPLEATE_e; } return dComLbG_PhaseHandler(i_phase, l_method, ¶m_1); @@ -993,9 +993,9 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) { int cDylPhs::Unlink(request_of_phase_process_class* i_phase, s16 i_ProfName) { int ret; - if (i_phase->mPhaseStep == 2) { + if (i_phase->id == cPhs_TWO_e) { ret = cDyl_Unlink(i_ProfName); - i_phase->mPhaseStep = 0; + i_phase->id = cPhs_ZERO_e; } else { ret = 0; } diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 756fa66582..ba0a913339 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -99,17 +99,6 @@ struct dDemo_c { static u8 m_object[4]; }; -struct dCamera_c { - /* 80088A7C */ void StartEventCamera(int, int, ...); - /* 80088BBC */ void EndEventCamera(int); - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 801614F4 */ void ChangeModeOK(s32); - /* 80163028 */ void SetTrimTypeForce(s32); - /* 80164B64 */ void GetCameraTypeFromCameraName(char const*); - /* 80181500 */ void GetForceLockOnActor(); -}; - struct JASKernel { /* 80290B08 */ void getAramHeap(); }; @@ -3296,7 +3285,7 @@ void daAlink_c::tgHitCallback(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, dCcD_G for (int i = 0; i < 3; i++) { if (param_1 == &field_0x850[i]) { field_0x2fb8 |= (1 << i); - field_0x36b4 = param_0->mCurrent.mPosition; + field_0x36b4 = param_0->current.pos; return; } } @@ -3417,14 +3406,18 @@ asm bool daAlink_c::modelCallBack(int param_0) { /* 8009EC28-8009ECA0 099568 0078+00 1/1 0/0 0/0 .text daAlink_modelCallBack__FP8J3DJointi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_modelCallBack(J3DJoint* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_modelCallBack__FP8J3DJointi.s" +static int daAlink_modelCallBack(J3DJoint* p_joint, int param_1) { + int jntNo = p_joint->getJntNo(); + daAlink_c* alink = (daAlink_c*)j3dSys.getModel()->getUserArea(); + + if (param_1 == 0) { + alink->modelCallBack(jntNo); + } else if (param_1 == 1 && alink->checkResetRootMtx(jntNo)) { + alink->resetRootMtx(); + } + + return 1; } -#pragma pop /* ############################################################################################## */ /* 80452CC4-80452CC8 0012C4 0004+00 137/137 0/0 0/0 .sdata2 @6109 */ @@ -4111,11 +4104,9 @@ SECTION_SDATA2 static f32 lit_32832 = -1.0f / 100.0f; SECTION_SDATA2 static f32 lit_32833 = 16777215.0f; /* 80453020-80453024 001620 0004+00 1/1 0/0 0/0 .sdata2 grassWhistleIdx$33097 */ -SECTION_SDATA2 static u8 grassWhistleIdx[4] = { - 0x00, - 0x03, - 0x00, - 0x03, +SECTION_SDATA2 static u16 grassWhistleIdx[2] = { + 3, + 3, }; /* 80453024-80453028 001624 0004+00 1/1 0/0 0/0 .sdata2 @33587 */ @@ -4607,14 +4598,16 @@ asm void daAlink_c::setHairAngle(cXyz* param_0, f32 param_1, f32 param_2) { #pragma pop /* 800A0744-800A07D8 09B084 0094+00 0/0 1/1 0/0 .text setLookPosFromOut__9daAlink_cFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setLookPosFromOut(cXyz* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setLookPosFromOut__9daAlink_cFP4cXyz.s" +void daAlink_c::setLookPosFromOut(cXyz* p_pos) { + if (i_checkEndResetFlg0(ERFLG0_UNK_4)) { + if (current.pos.abs2(mLookPosFromOut) < current.pos.abs2(*p_pos)) { + return; + } + } + + i_onEndResetFlg0(ERFLG0_UNK_4); + mLookPosFromOut = *p_pos; } -#pragma pop /* ############################################################################################## */ /* 8038D658-8038D664 019CB8 000C+00 69/69 0/0 0/0 .rodata @3757 */ @@ -4626,14 +4619,21 @@ COMPILER_STRIP_GATE(0x8038D658, &lit_3757); #include "d/a/d_a_alink_HIO_data.inc" /* 800A07D8-800A0868 09B118 0090+00 2/2 0/0 0/0 .text checkAttentionPosAngle__9daAlink_cFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkAttentionPosAngle(cXyz* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkAttentionPosAngle__9daAlink_cFP4cXyz.s" +bool daAlink_c::checkAttentionPosAngle(cXyz* param_0) { + if (i_checkNoResetFlg1(FLG1_UNK_4)) { + return true; + } + + int tmp; + if (i_checkModeFlg(MODE_RIDING) || i_checkEndResetFlg0(ERFLG0_UNK_400)) { + tmp = daAlinkHIO_horse_c0::m.field_0x52; + } else { + tmp = 0x6000; + } + + s16 targetY = cLib_targetAngleY(&field_0x34e0, param_0); + return cLib_distanceAngleS(targetY, field_0x2fe6) <= tmp; } -#pragma pop /* 800A0868-800A093C 09B1A8 00D4+00 1/1 0/0 0/0 .text * checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz */ @@ -4729,7 +4729,7 @@ s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) { dComIfG_Bgsp().ChkMoveBG_NoDABg(param_0) && dComIfG_Bgsp().GetActorPointer(param_0)) { return fopAcM_GetName(dComIfG_Bgsp().GetActorPointer(param_0)); } - return 0xFD; + return PROC_ALINK; } /* 800A2280-800A22E8 09CBC0 0068+00 2/2 0/0 0/0 .text checkGoronRide__9daAlink_cFv */ @@ -6491,56 +6491,91 @@ asm void* daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 /* 800A3D7C-800A3E30 09E6BC 00B4+00 16/16 0/0 0/0 .text initModel__9daAlink_cFP12J3DModelDataUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DModel* daAlink_c::initModel(J3DModelData* param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/d/a/d_a_alink/initModel__9daAlink_cFP12J3DModelDataUlUl.s" +J3DModel* daAlink_c::initModel(J3DModelData* i_modelData, u32 mdlFlags, u32 diffFlags) { + J3DTexture* tex = i_modelData->getTexture(); + int texNo = tex->getNum() - 1; + + int warpMaterial = false; + if (texNo >= 0) { + ResTIMG* timg = tex->getResTIMG(texNo); + + if (mpWarpTexData == (u32)timg + timg->imageOffset) { + warpMaterial = true; + } + } + + if (warpMaterial) { + dRes_info_c::onWarpMaterial(i_modelData); + diffFlags |= 0x2000400; + } + + J3DModel* model = mDoExt_J3DModel__create(i_modelData, mdlFlags, diffFlags | 0x11000084); + + if (warpMaterial) { + dRes_info_c::offWarpMaterial(i_modelData); + } + + return model; } -#pragma pop /* 800A3E30-800A3E98 09E770 0068+00 1/1 0/0 0/0 .text initModel__9daAlink_cFUsUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initModel(u16 param_0, u32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/initModel__9daAlink_cFUsUl.s" +J3DModel* daAlink_c::initModel(u16 param_0, u32 param_1) { + return initModel((J3DModelData*)dComIfG_getObjectRes(l_arcName, param_0), param_1); } -#pragma pop /* 800A3E98-800A3F00 09E7D8 0068+00 1/1 0/0 0/0 .text initModelEnv__9daAlink_cFUsUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initModelEnv(u16 param_0, u32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/initModelEnv__9daAlink_cFUsUl.s" +J3DModel* daAlink_c::initModelEnv(u16 param_0, u32 param_1) { + return initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_arcName, param_0), param_1); } -#pragma pop /* 800A3F00-800A3F98 09E840 0098+00 1/1 0/0 0/0 .text initDemoModel__9daAlink_cFPP8J3DModelPCcUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initDemoModel(J3DModel** param_0, char const* param_1, u32 param_2) { - nofralloc -#include "asm/d/a/d_a_alink/initDemoModel__9daAlink_cFPP8J3DModelPCcUl.s" +int daAlink_c::initDemoModel(J3DModel** p_model, char const* resName, u32 param_2) { + *p_model = NULL; + + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName); + if (modelData != NULL) { + *p_model = initModel(modelData, param_2); + + if (*p_model == NULL) { + return 0; + } + } + + return 1; } -#pragma pop /* 800A3F98-800A4068 09E8D8 00D0+00 1/1 0/0 1/1 .text initDemoBck__9daAlink_cFPP13mDoExt_bckAnmPCc */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::initDemoBck(mDoExt_bckAnm** p_bck, char const* resName) { + J3DAnmTransform* res = (J3DAnmTransform*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName); + + if (res != NULL) { + *p_bck = new mDoExt_bckAnm(); + + if (*p_bck == NULL) { + return 0; + } + + if ((*p_bck)->init(res, 1, 2, 1.0f, 0, -1, false)) { + return 0; + } + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::initDemoBck(mDoExt_bckAnm** param_0, char const* param_1) { +asm int daAlink_c::initDemoBck(mDoExt_bckAnm** param_0, char const* param_1) { nofralloc #include "asm/d/a/d_a_alink/initDemoBck__9daAlink_cFPP13mDoExt_bckAnmPCc.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80392094-80392094 01E6F4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -12170,17 +12205,17 @@ void daAlink_c::setSelectEquipItem(int param_0) { J3DModel* temp = mSwordModel; if (checkWoodSwordEquip()) { - mSwordModel = field_0x0670; - field_0x06bc = field_0x066c; + mSwordModel = mWoodSwordModel; + mSheathModel = mpSwMSheathModel; } else if (checkMasterSwordEquip()) { - mSwordModel = field_0x0668; - field_0x06bc = field_0x066c; + mSwordModel = mpSwMModel; + mSheathModel = mpSwMSheathModel; } else { if (!i_checkSwordGet()) { mSwordChangeWaitTimer = 100; } - mSwordModel = field_0x0660; - field_0x06bc = field_0x0664; + mSwordModel = mpSwAModel; + mSheathModel = mpSwASheathModel; } if (!i_checkSwordGet() || checkWoodSwordEquip() || i_checkNoResetFlg3(FLG3_UNK_1000000)) { @@ -12212,11 +12247,11 @@ void daAlink_c::setSelectEquipItem(int param_0) { } } } else if (checkMasterSwordEquip()) { - mSwordModel = field_0x0668; - field_0x06bc = field_0x066c; + mSwordModel = mpSwMModel; + mSheathModel = mpSwMSheathModel; } else { - mSwordModel = field_0x0660; - field_0x06bc = field_0x0664; + mSwordModel = mpSwAModel; + mSheathModel = mpSwASheathModel; } if (mClothesChangeWaitTimer == 0) { @@ -12284,7 +12319,7 @@ void daAlink_c::playerInit() { field_0x850[1].SetH(lit_14955); field_0xFB8.Set(*(dCcD_SrcSph*)l_sphSrc); field_0xFB8.SetStts(&field_0x814); - field_0xFB8.StartCAt(mCurrent.mPosition); + field_0xFB8.StartCAt(current.pos); mAnmHeap3.setBufferSize(0x20000); mAnmHeap3.createHeap(daPy_anmHeap_c::HEAP_TYPE_4); @@ -12299,8 +12334,8 @@ void daAlink_c::playerInit() { mAnmHeap4.createHeap(daPy_anmHeap_c::HEAP_TYPE_4); setShieldModel(); - mSwordModel = field_0x0660; - field_0x06bc = field_0x0664; + mSwordModel = mpSwAModel; + mSheathModel = mpSwASheathModel; field_0x814.Init(120, 0xFF, this); field_0x306c = mCollisionRot.y + field_0x59e; @@ -12309,12 +12344,12 @@ void daAlink_c::playerInit() { 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); + mGuardAttackAtCps.Set(*(dCcD_SrcCps*)l_atCpsSrc); + mGuardAttackAtCps.SetStts(&field_0x814); + mGuardAttackAtCps.SetAtType(AT_TYPE_SHIELD_ATTACK); + mGuardAttackAtCps.OnAtNoHitMark(); + mGuardAttackAtCps.SetAtHitMark(0); + mGuardAttackAtCps.SetAtAtp(0); field_0x10F0.Set(*(dCcD_SrcCyl*)l_atCylSrc); field_0x10F0.SetStts(&field_0x814); @@ -12356,19 +12391,19 @@ void daAlink_c::playerInit() { mAnmHeap9.createHeap(daPy_anmHeap_c::HEAP_TYPE_3); resetBasAnime(); - mZ2Link.init(&mCurrent.mPosition, &mEyePos, &field_0x3720); + mZ2Link.init(¤t.pos, &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(); + J3DModelData* modelData = mpSwAModel->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(); + J3DModelData* modelData2 = mpSwMModel->getModelData(); m_mSwordBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x45); // al_swm.btk m_mSwordBtk->searchUpdateMaterialID(modelData2); modelData2->entryTexMtxAnimator(m_mSwordBtk); @@ -12453,7 +12488,7 @@ void daAlink_c::playerInit() { field_0x2f20.setOldPosP(&field_0x3624, &field_0x3630); field_0x2fc3 = 10; - field_0x2f5c.mPosition = mCurrent.mPosition; + field_0x2f5c.mPosition = current.pos; field_0x2f5c.mColor.r = 80; field_0x2f5c.mColor.g = 80; field_0x2f5c.mColor.b = 200; @@ -12538,7 +12573,7 @@ int daAlink_c::create() { 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) { + dComIfG_play_c::getLayerNo(0) == 0 && current.pos.y > 7500.0f) { enteringCity = true; } @@ -12557,42 +12592,42 @@ int daAlink_c::create() { fopAcM_setStageLayer(this); if (sceneMode == 7) { - mCurrent.mPosition = dComIfGs_getTurnRestartPos(); + current.pos = dComIfGs_getTurnRestartPos(); mCollisionRot.y = dComIfGs_getTurnRestartAngleY(); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.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); + mAttentionInfo.mPosition.set(current.pos.x + cM_ssin(mCollisionRot.y) * 70.0f, + current.pos.y + 80.0f, + current.pos.z + cM_scos(mCollisionRot.y) * 70.0f); i_onNoResetFlg1(0x2000000); } else if (horseStart) { - mAttentionInfo.mPosition.y = mCurrent.mPosition.y + 150.0f; + mAttentionInfo.mPosition.y = current.pos.y + 150.0f; } else { - mAttentionInfo.mPosition.y = mCurrent.mPosition.y + 275.0f; + mAttentionInfo.mPosition.y = current.pos.y + 275.0f; } mAttentionInfo.mFlags = -1; if (!i_dComIfGp_getEventManager().dataLoaded()) { - return 0; + return cPhs_ZERO_e; } setArcName(i_checkWolf()); setOriginalHeap(&field_0x0638, 0xA2800); - if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) != 4) { - return 0; + if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) != cPhs_COMPLEATE_e) { + return cPhs_ZERO_e; } setShieldArcName(); setOriginalHeap(&field_0x0648, 0x7000); - if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) != 4) { - return 0; + if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) != cPhs_COMPLEATE_e) { + return cPhs_ZERO_e; } if (!fopAcM_entrySolidHeap(this, daAlink_createHeap, 0xC003E930)) { - return 5; + return cPhs_ERROR_e; } mAttention = &dComIfGp_getAttention(); @@ -12602,10 +12637,10 @@ int daAlink_c::create() { bgWaitFlg = 1; if (checkCanoeStart()) { - field_0x2900 = fopAcM_create(PROC_CANOE, 0, &mCurrent.mPosition, fopAcM_GetRoomNo(this), + field_0x2900 = fopAcM_create(PROC_CANOE, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); } else if (sceneMode == 11) { - field_0x2900 = fopAcM_create(PROC_Obj_IceLeaf, 0x1FFFF, &mCurrent.mPosition, + field_0x2900 = fopAcM_create(PROC_Obj_IceLeaf, 0x1FFFF, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); } else { field_0x2900 = -1; @@ -12618,16 +12653,16 @@ int daAlink_c::create() { if (mLinkAcch.GetGroundH() == lit_9138 || (startMode == 14 && !dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) || (startPoint == -4 && - fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, &mCurrent.mPosition) == NULL) || + fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, ¤t.pos) == 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)) || + (!mLinkAcch.ChkWaterHit() || mLinkAcch.m_wtr.GetHeight() < current.pos.y)) || ((checkCarryStartLightBallA() || checkCarryStartLightBallB()) && !fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchLightBall, NULL)) || (horseStart && i_dComIfGp_getHorseActor() == NULL)) { - return 0; + return cPhs_ZERO_e; } if (var_r24) { @@ -12636,8 +12671,8 @@ int daAlink_c::create() { bgWaitFlg = 0; - dComIfGs_setRestartRoom(mCurrent.mPosition, mCollisionRot.y, getStartRoomNo()); - field_0x3780 = mCurrent.mPosition; + dComIfGs_setRestartRoom(current.pos, mCollisionRot.y, getStartRoomNo()); + field_0x3780 = current.pos; mLinkAcch.ClrGndThinCellingOff(); fopAcM_SetRoomNo(this, dComIfG_Bgsp().GetRoomId(mLinkAcch.m_gnd) + 1); setRoomInfo(); @@ -12666,7 +12701,7 @@ int daAlink_c::create() { setSelectEquipItem(0); setMatrix(); allAnimePlay(); - field_0x0650->calc(); + mpLinkModel->calc(); playFaceTextureAnime(); if (!i_checkWolf()) { @@ -12678,7 +12713,7 @@ int daAlink_c::create() { setBodyPartPos(); setHangWaterY(); - field_0x850[0].SetC(mCurrent.mPosition); + field_0x850[0].SetC(current.pos); field_0x3454 = field_0x3834.y; setAttentionPos(); setItemActor(); @@ -12698,9 +12733,9 @@ int daAlink_c::create() { 1, 1); } - fopAcM_create(PROC_MIDNA, prm, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, + fopAcM_create(PROC_MIDNA, prm, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); - checkSetNpcTks(&mCurrent.mPosition, fopAcM_GetRoomNo(this), 1); + checkSetNpcTks(¤t.pos, fopAcM_GetRoomNo(this), 1); if (startPoint == -4 && dComIfGp_TargetWarpPt_get() != -1 && !dComIfGp_TransportWarp_check()) { daTagMhint_c::createPortalWarpMissTag(fopAcM_GetID(this), fopAcM_GetRoomNo(this)); @@ -12715,7 +12750,7 @@ int daAlink_c::create() { } } - return 4; + return cPhs_COMPLEATE_e; } #else #pragma push @@ -13977,7 +14012,7 @@ void dBgS_RoofChk::SetPos(cXyz const& pos) { /* 800B1488-800B14B4 0ABDC8 002C+00 4/4 0/0 0/0 .text checkWaterPolygonUnder__9daAlink_cFv */ BOOL daAlink_c::checkWaterPolygonUnder() { - return i_checkModeFlg(MODE_SWIMMING) || mCurrent.mPosition.y < mWaterY; + return i_checkModeFlg(MODE_SWIMMING) || current.pos.y < mWaterY; } /* 800B14B4-800B154C 0ABDF4 0098+00 2/2 0/0 0/0 .text setWaterY__9daAlink_cFv */ @@ -14100,9 +14135,9 @@ BOOL daAlink_c::checkSlope() const { void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2) { if (checkEventRun() || param_2 != 0 || mSpecialMode != 0) { if (p_pos != NULL) { - mCurrent.mPosition = *p_pos; - mNext.mPosition = mCurrent.mPosition; - field_0x3798 = mCurrent.mPosition; + current.pos = *p_pos; + next.pos = current.pos; + field_0x3798 = current.pos; i_onEndResetFlg0(ERFLG0_UNK_800000); i_onEndResetFlg2(ERFLG2_UNK_100); if (mDemo.getDemoMode() != 0x59) { @@ -14111,12 +14146,12 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2 } mCollisionRot.y = param_1; - mCurrent.mAngle.y = param_1; + current.angle.y = param_1; field_0x2fe6 = mCollisionRot.y; 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; + field_0x37c8.x = current.pos.x; + field_0x37c8.z = current.pos.z; } } @@ -14126,12 +14161,12 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2 if (checkHorseRide() || checkSpinnerRide()) { fopAc_ac_c* rideAc = mRideAcKeep.getActor(); - rideAc->mCurrent.mPosition = mCurrent.mPosition; + rideAc->current.pos = current.pos; rideAc->mCollisionRot.y = mCollisionRot.y; - rideAc->mCurrent.mAngle.y = mCollisionRot.y; + rideAc->current.angle.y = mCollisionRot.y; rideAc->mSpeed.y = FLOAT_LABEL(lit_6108); } else { - i_dComIfGp_getHorseActor()->setHorsePosAndAngle(&mCurrent.mPosition, mCollisionRot.y); + i_dComIfGp_getHorseActor()->setHorsePosAndAngle(¤t.pos, mCollisionRot.y); } field_0x814.ClrCcMove(); @@ -14153,9 +14188,9 @@ asm void daAlink_c::setPlayerPosAndAngle(cXyz const* param_0, s16 param_1, int p void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { if (checkEventRun() || mSpecialMode != 0) { if (p_pos != NULL) { - mCurrent.mPosition = *p_pos; - mNext.mPosition = mCurrent.mPosition; - field_0x3798 = mCurrent.mPosition; + current.pos = *p_pos; + next.pos = current.pos; + field_0x3798 = current.pos; i_onEndResetFlg0(ERFLG0_UNK_800000); i_onEndResetFlg2(ERFLG2_UNK_100); mSpeed.y = FLOAT_LABEL(lit_6108); @@ -14163,7 +14198,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { if (p_angle != NULL) { mCollisionRot = *p_angle; - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; field_0x2fe6 = mCollisionRot.y; } @@ -14174,15 +14209,15 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { /* 800B24F4-800B25CC 0ACE34 00D8+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPA4_f */ void daAlink_c::setPlayerPosAndAngle(Mtx param_0) { if (checkEventRun() || mSpecialMode != 0) { - mCurrent.mPosition.x = param_0[0][3]; - mCurrent.mPosition.y = param_0[1][3]; - mCurrent.mPosition.z = param_0[2][3]; - mNext.mPosition = mCurrent.mPosition; - field_0x3798 = mCurrent.mPosition; + current.pos.x = param_0[0][3]; + current.pos.y = param_0[1][3]; + current.pos.z = param_0[2][3]; + next.pos = current.pos; + field_0x3798 = current.pos; i_onEndResetFlg0(ERFLG0_UNK_800000); i_onEndResetFlg2(ERFLG2_UNK_100); mDoMtx_MtxToRot(param_0, &mCollisionRot); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; field_0x2fe6 = mCollisionRot.y; mSpeed.y = FLOAT_LABEL(lit_6108); field_0x814.ClrCcMove(); @@ -14634,7 +14669,7 @@ asm void daAlink_c::checkServiceWaitMode() { /* 800B48D0-800B4908 0AF210 0038+00 18/18 0/0 0/0 .text setJumpMode__9daAlink_cFv */ void daAlink_c::setJumpMode() { onModeFlg(MODE_JUMP); - mLastJumpPos = mCurrent.mPosition; + mLastJumpPos = current.pos; mFallHeight = mLastJumpPos.y; field_0x33c8 = mLastJumpPos.y; } @@ -14732,7 +14767,7 @@ asm BOOL daAlink_c::checkWaitAction() { /* 800B5BC0-800B5C34 0B0500 0074+00 3/3 0/0 0/0 .text setFallVoice__9daAlink_cFv */ void daAlink_c::setFallVoice() { - if (mFallVoiceInit == 0 && lit_8782 * (mFallHeight - mCurrent.mPosition.y) > lit_8676) { + if (mFallVoiceInit == 0 && lit_8782 * (mFallHeight - current.pos.y) > lit_8676) { voiceStart(Z2SE_AL_V_FALL); mFallVoiceInit = 1; } @@ -14934,7 +14969,7 @@ asm void daAlink_c::checkUpperItemAction() { /* 800B7B7C-800B7BF8 0B24BC 007C+00 1/1 0/0 0/0 .text orderPeep__9daAlink_cFv */ void daAlink_c::orderPeep() { - field_0x2fad = field_0x27f4->getSceneListID(); + field_0x2fad = ((kytag05_class*)field_0x27f4)->getSceneListID(); field_0x2ff2 = 20; fopAcM_orderOtherEvent(this, field_0x27f4, l_peepEventName, 0xFFFF, 1, 0); if (i_checkWolf()) { @@ -15049,7 +15084,7 @@ BOOL daAlink_c::checkSideRollAction(int param_0) { } else { if (mTargetedActor != NULL) { if (checkEnemyGroup(mTargetedActor) && - mTargetedActor->mCurrent.mPosition.abs2XZ(mCurrent.mPosition) <= lit_6237) { + mTargetedActor->current.pos.abs2XZ(current.pos) <= lit_6237) { return procSideRollInit(param_0); } else { return procTurnMoveInit(param_0); @@ -15570,7 +15605,7 @@ int daAlink_c::checkSceneChange(int exitID) { ((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))) || + (field_0x3174 == 5 && field_0x33c8 - current.pos.y > 500.0f))) || (mExitID & 0x8000 && i_checkModeFlg(2))) { if (field_0x3174 == 5 || (mExitID & 0x8000 && mExitDirection == 0xFF)) { mLinkAcch.i_ClrGroundHit(); @@ -15588,7 +15623,7 @@ int daAlink_c::checkSceneChange(int exitID) { cXyz sp8; for (; hStop != NULL; hStop = hStop->getNext()) { if (hStop->getActiveFlg()) { - fpoAcM_relativePos(hStop, &mCurrent.mPosition, &sp8); + fpoAcM_relativePos(hStop, ¤t.pos, &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) { @@ -15855,12 +15890,12 @@ asm void daAlink_c::setMetamorphoseModel(int param_0) { /* 800BF854-800BF884 0BA194 0030+00 10/10 0/0 0/0 .text keepItemData__9daAlink_cFv */ void daAlink_c::keepItemData() { field_0x30ce = mEquipItem; - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); } /* 800BF884-800BF8D0 0BA1C4 004C+00 8/8 0/0 0/0 .text returnKeepItemData__9daAlink_cFv */ void daAlink_c::returnKeepItemData() { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); mEquipItem = field_0x30ce; field_0x30ce = NO_ITEM; makeItemType(); @@ -15917,10 +15952,10 @@ BOOL daAlink_c::setItemModel() { #ifdef NONMATCHING BOOL daAlink_c::setItemActor() { if (mEquipItem == BOOMERANG) { - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOOMERANG, 0, &mCurrent.mPosition, + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOOMERANG, 0, ¤t.pos, -1, NULL, NULL, -1, NULL, NULL); if (actor == NULL) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); return 0; } @@ -15930,10 +15965,10 @@ BOOL daAlink_c::setItemActor() { } if (mEquipItem == COPY_ROD) { - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_CROD, 0, &mCurrent.mPosition, -1, + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_CROD, 0, ¤t.pos, -1, NULL, NULL, -1, NULL, NULL); if (actor == NULL) { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); return 0; } @@ -15949,7 +15984,7 @@ BOOL daAlink_c::setItemActor() { if (checkIronBallWaitAnime()) { resetUpperAnime(UPPER_NOW, -1.0f); } - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); return 0; } @@ -16350,9 +16385,9 @@ asm void daAlink_c::setFrontRollCrashShock(u8 param_0) { /* 800C1DAC-800C1DE0 0BC6EC 0034+00 1/0 0/0 0/0 .text getModelJointMtx__9daAlink_cFUs */ MtxP daAlink_c::getModelJointMtx(u16 param_0) { if (param_0 >= field_0x30c6) { - return field_0x0650->mBaseTransformMtx; + return mpLinkModel->mBaseTransformMtx; } - return field_0x0650->i_getAnmMtx(param_0); + return mpLinkModel->i_getAnmMtx(param_0); } /* 800C1DE0-800C1E0C 0BC720 002C+00 1/0 0/0 0/0 .text onFrollCrashFlg__9daAlink_cFUci */ @@ -16689,10 +16724,10 @@ int daAlink_c::loadModelDVD() { if (mClothesChangeWaitTimer == 2) { mEyeHL1.remove(); mEyeHL2.remove(); - field_0x79c = 0; - field_0x7a0 = 0; - field_0x7a4 = 0; - field_0x7a8 = 0; + field_0x79c = NULL; + mpWlMidnaHatModel = NULL; + field_0x7a4 = NULL; + mpWlMidnaHairModel = NULL; if (!i_checkNoResetFlg2(FLG2_UNK_280000)) { dComIfG_resDelete(&mPhaseReq, mArcName); @@ -16710,7 +16745,7 @@ int daAlink_c::loadModelDVD() { mClothesChangeWaitTimer = 0; changeLink(1); } else { - if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) == 4) { + if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) == cPhs_COMPLEATE_e) { mClothesChangeWaitTimer = 0; if (mProcID == PROC_METAMORPHOSE || mProcID == PROC_METAMORPHOSE_ONLY) { @@ -16755,7 +16790,7 @@ int daAlink_c::loadShieldModelDVD() { field_0x0648->freeAll(); setShieldArcName(); } else if (mShieldChangeWaitTimer == 1) { - if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) == 4) { + if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) == cPhs_COMPLEATE_e) { mShieldChangeWaitTimer = 0; setShieldModel(); } else { @@ -17316,7 +17351,7 @@ MtxP daPy_py_c::getInvMtx() { /* 8014151C-80141524 13BE5C 0008+00 1/0 0/0 0/0 .text getShadowTalkAtnPos__9daPy_py_cFv */ cXyz* daPy_py_c::getShadowTalkAtnPos() { - return &mCurrent.mPosition; + return ¤t.pos; } /* 80141524-8014152C 13BE64 0008+00 1/0 0/0 0/0 .text getLeftItemMatrix__9daPy_py_cFv */ @@ -17816,7 +17851,7 @@ cXyz* daPy_py_c::getMagneHitPos() { /* 801417C0-801417C8 13C100 0008+00 1/0 0/0 0/0 .text getMagneBootsTopVec__9daPy_py_cFv */ cXyz* daPy_py_c::getMagneBootsTopVec() { - return &mCurrent.mPosition; + return ¤t.pos; } /* 801417C8-801417D0 13C108 0008+00 1/0 0/0 0/0 .text checkUseKandelaar__9daPy_py_cFi */ diff --git a/src/d/a/d_a_alink_copyrod.inc b/src/d/a/d_a_alink_copyrod.inc index e9a7ea697c..b712bfb650 100644 --- a/src/d/a/d_a_alink_copyrod.inc +++ b/src/d/a/d_a_alink_copyrod.inc @@ -128,7 +128,7 @@ void daAlink_c::setCopyRodModel() { field_0x122C[0].OnAtSetBit(); field_0x122C[0].SetAtHitCallback(NULL); field_0x122C[0].SetAtMtrl(0); - mHeldItemModel->i_setBaseTRMtx(field_0x0650->i_getAnmMtx(field_0x30c0)); + mHeldItemModel->i_setBaseTRMtx(mpLinkModel->i_getAnmMtx(field_0x30c0)); mHeldItemModel->calc(); } diff --git a/src/d/a/d_a_alink_cut.inc b/src/d/a/d_a_alink_cut.inc index b791104c76..50bbdadf28 100644 --- a/src/d/a/d_a_alink_cut.inc +++ b/src/d/a/d_a_alink_cut.inc @@ -81,7 +81,7 @@ asm bool daAlink_c::checkCutFinishJumpUp() { /* 800D1088-800D10E0 0CB9C8 0058+00 2/2 0/0 0/0 .text changeCutFast__9daAlink_cFv */ void daAlink_c::changeCutFast() { - deleteEquipItem(0, 0); + deleteEquipItem(FALSE, FALSE); setSwordModel(); mComboCutCount = 3; checkCutAction(); @@ -117,10 +117,10 @@ void daAlink_c::setSwordModel() { void daAlink_c::offSwordModel() { mDoAud_bgmSetSwordUsing(0); - if (mSwordModel == field_0x0668 || mSwordModel == field_0x0660) { + if (mSwordModel == mpSwMModel || mSwordModel == mpSwAModel) { mSwordModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide(); - } else if (mSwordModel == field_0x0670) { - field_0x0670->getModelData()->getMaterialNodePointer(1)->getShape()->show(); + } else if (mSwordModel == mWoodSwordModel) { + mWoodSwordModel->getModelData()->getMaterialNodePointer(1)->getShape()->show(); } } @@ -486,7 +486,7 @@ void daAlink_c::setCutJumpSpeed(int cut_type) { // cut_type 0 = standing jump attack if (mTargetedActor != NULL && cut_type == 0) { - mCollisionRot.y = cLib_targetAngleY(&mCurrent.mPosition, &mTargetedActor->mEyePos); + mCollisionRot.y = cLib_targetAngleY(¤t.pos, &mTargetedActor->mEyePos); cXyz targetPos(mTargetedActor->mEyePos.x - (cM_ssin(mCollisionRot.y) * 70.0f), mTargetedActor->mEyePos.y + 50.0f, mTargetedActor->mEyePos.z - (cM_scos(mCollisionRot.y) * 70.0f)); @@ -499,14 +499,14 @@ void daAlink_c::setCutJumpSpeed(int cut_type) { f32 dvar12 = mSpeed.y + mGravity; f32 dvar10 = 1.0f / mGravity; - f32 fvar1 = targetPos.y - (mCurrent.mPosition.y - (dvar10 * (dvar12 * dvar12) * 0.5f)); + f32 fvar1 = targetPos.y - (current.pos.y - (dvar10 * (dvar12 * dvar12) * 0.5f)); if (fvar1 > 0.0f) { fvar1 = 0.0f; } f32 sqrt = JMAFastSqrt(fvar1 * 2.0f * dvar10); f32 speedDiv = sqrt - (dvar12 * dvar10); - f32 squareDist = mCurrent.mPosition.absXZ(targetPos); + f32 squareDist = current.pos.absXZ(targetPos); if (squareDist > 500.0f) { squareDist = 500.0f; @@ -639,7 +639,7 @@ bool daAlink_c::procCutJumpInit(int jump_type) { mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV; } setCutJumpSpeed(jump_type); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); setCutType(TYPE_CUT_JUMP); @@ -652,12 +652,12 @@ bool daAlink_c::procCutJumpInit(int jump_type) { /* 800D43F8-800D452C 0CED38 0134+00 1/0 0/0 0/0 .text procCutJump__9daAlink_cFv */ #ifdef NONMATCHING bool daAlink_c::procCutJump() { - if (mCurrent.mAngle.y == mCollisionRot.y && changeCutReverseProc(ANM_CUT_JUMP)) { - mCurrent.mAngle.y += 0x8000; + if (current.angle.y == mCollisionRot.y && changeCutReverseProc(ANM_CUT_JUMP)) { + current.angle.y += 0x8000; mNormalSpeed = 27.0f; cXyz xyz(0.0f, 1.0f, 0.0f); dComIfGp_getVibration().StartShock(5, 31, xyz); - } else if (mCurrent.mAngle.y != mCollisionRot.y) { + } else if (current.angle.y != mCollisionRot.y) { cLib_chaseF(&mNormalSpeed, 5.0f, 1.0f); } diff --git a/src/d/a/d_a_alink_demo.inc b/src/d/a/d_a_alink_demo.inc index 09dca04f64..93f76df74b 100644 --- a/src/d/a/d_a_alink_demo.inc +++ b/src/d/a/d_a_alink_demo.inc @@ -1103,7 +1103,7 @@ asm void daAlink_c::procGanonFinishInit() { /* 8011EA78-8011EAE8 1193B8 0070+00 1/0 0/0 0/0 .text procGanonFinish__9daAlink_cFv */ bool daAlink_c::procGanonFinish() { i_onEndResetFlg1(GANON_FINISH); - mCurrent.mPosition = field_0x37c8; + current.pos = field_0x37c8; if (mFrameCtrl1[0].checkAnmEnd()) { setSingleAnimeBaseMorf(ANM_GANON_FINISH, lit_6041); } @@ -1140,7 +1140,7 @@ int daAlink_c::procMasterSwordStickInit() { setSingleAnimeBase(ANM_MASTER_SWORD_STICK_INIT); voiceStart(Z2SE_AL_V_MSTR_SW_STICK); mNormalSpeed = FLOAT_LABEL(lit_6108); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; mCommonCounter = 0; return 1; @@ -1202,9 +1202,9 @@ int daAlink_c::procDungeonWarpReadyInit() { u32 id; if (checkItemSetButton(DUNGEON_EXIT) != 2) { - id = fopAcM_create(PROC_OBJ_TKS, 0, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); } else { - id = fopAcM_create(PROC_NPC_TKC, 2, &mCurrent.mPosition, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); } if (id == -1) { @@ -1215,7 +1215,7 @@ int daAlink_c::procDungeonWarpReadyInit() { commonProcInit(PROC_DUNGEON_WARP_READY); setSingleAnimeBase(ANM_DUNGEON_WARP_READY_INIT); mNormalSpeed = FLOAT_LABEL(lit_6108); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; field_0x32cc = id; mCommonCounter = 0; keepItemData(); @@ -1268,7 +1268,7 @@ int daAlink_c::procDungeonWarp() { if (mCommonCounter > 0x4000) { mCommonCounter = 0x4000; } else { - mCurrent.mPosition.y += 1.0f; + current.pos.y += 1.0f; } f32 sin = cM_ssin(mCommonCounter); @@ -1280,7 +1280,7 @@ int daAlink_c::procDungeonWarp() { } else { if (mCommonCounter == 0x4000) { if (field_0x3010 == 0) { - dComIfGp_particle_set(0xA61, &mCurrent.mPosition, &mTevStr, NULL, NULL); + dComIfGp_particle_set(0xA61, ¤t.pos, &mTevStr, NULL, NULL); field_0x3010 = 1; } @@ -1300,14 +1300,14 @@ int daAlink_c::procDungeonWarp() { field_0x3012 = 1; } - mCurrent.mPosition.y += 5.0f; + current.pos.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); + mpLinkModel->setBaseScale(mScale); } return 1; diff --git a/src/d/a/d_a_alink_grab.inc b/src/d/a/d_a_alink_grab.inc index 229df23a8f..f98beeb25f 100644 --- a/src/d/a/d_a_alink_grab.inc +++ b/src/d/a/d_a_alink_grab.inc @@ -73,8 +73,8 @@ bool daAlink_c::exchangeGrabActor(fopAc_ac_c* p_actor) { actor->mCollisionRot.z = 0; actor->mCollisionRot.x = 0; if (checkGrabCarryActor()) { - actor->mCurrent.mAngle.z = 0; - actor->mCurrent.mAngle.x = 0; + actor->current.angle.z = 0; + actor->current.angle.x = 0; } setGrabItemActor(p_actor); return true; @@ -87,7 +87,7 @@ bool daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) { ((i_checkModeFlg(MODE_UNK_10000000) && (checkHorseNoUpperAnime() || checkHorseTurnAnime())) || param_2 != 0 && checkHookshotAnime()))) { - deleteEquipItem(1, 0); + deleteEquipItem(TRUE, FALSE); setGrabItemActor(p_actor); field_0x33e4 = lit_8785; setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); diff --git a/src/d/a/d_a_alink_hook.inc b/src/d/a/d_a_alink_hook.inc index efcaab35c0..4d2dd35e96 100644 --- a/src/d/a/d_a_alink_hook.inc +++ b/src/d/a/d_a_alink_hook.inc @@ -236,7 +236,7 @@ void daAlink_c::setHookshotModel() { field_0x122C[0].SetAtAtp(0); field_0x122C[0].SetR(lit_7808); field_0x122C[0].SetAtSe(8); - field_0x122C[0].SetAtType(0x4000); + field_0x122C[0].SetAtType(AT_TYPE_HOOKSHOT); field_0x122C[0].SetAtHitMark(1); field_0x122C[0].OnAtSetBit(); field_0x122C[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack); diff --git a/src/d/a/d_a_alink_link.inc b/src/d/a/d_a_alink_link.inc index ecb63a12d7..ecbcda371c 100644 --- a/src/d/a/d_a_alink_link.inc +++ b/src/d/a/d_a_alink_link.inc @@ -1,7 +1,7 @@ /* 800C2DDC-800C2EAC 0BD71C 00D0+00 17/17 0/0 0/0 .text * procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c */ #ifdef NONMATCHING -void daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { +int daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { commonProcInit(ACT_PROC_PREACTION_UNEQUIP); mNormalSpeed = 0.0f; setBlendMoveAnime(4.0f); @@ -31,7 +31,7 @@ void daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { +asm int daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { nofralloc #include "asm/d/a/d_a_alink/procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c.s" } @@ -55,7 +55,7 @@ int daAlink_c::procServiceWaitInit() { commonProcInit(PROC_SERVICE_WAIT); setSingleAnimeBase(ANM_SERVICE_WAIT); mNormalSpeed = FLOAT_LABEL(lit_6108); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; field_0x2f98 = 4; return 1; } @@ -249,7 +249,7 @@ int daAlink_c::procWaitTurnInit() { mNormalSpeed = FLOAT_LABEL(lit_6108); } field_0x300e = field_0x2fe2; - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; return 1; } @@ -263,7 +263,7 @@ int daAlink_c::procWaitTurn() { return procFloorDownReboundInit(); } else { s16 angle = cLib_addCalcAngleS(&mCollisionRot.y, field_0x300e, 30, 0x3CDF, 8000); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; if (checkNextActionFromButton()) { return 1; } else { @@ -297,7 +297,7 @@ int daAlink_c::procMoveTurnInit(int param_0) { field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle << 2) + 19030; field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1; field_0x300a = 2; - mCurrent.mAngle.y = field_0x2fe2; + current.angle.y = field_0x2fe2; mNormalSpeed *= lit_5943; } else { field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1; @@ -312,7 +312,7 @@ int daAlink_c::procMoveTurnInit(int param_0) { /* 800C3D38-800C3DA0 0BE678 0068+00 1/0 0/0 0/0 .text procMoveTurn__9daAlink_cFv */ int daAlink_c::procMoveTurn() { setSpeedAndAngleNormal(); - cLib_addCalcAngleS(&mCollisionRot.y, mCurrent.mAngle.y, field_0x300a, field_0x300e, + cLib_addCalcAngleS(&mCollisionRot.y, current.angle.y, field_0x300a, field_0x300e, field_0x3010); if (!checkNextAction(0)) { @@ -331,7 +331,7 @@ int daAlink_c::procSideStepInit(int jump_type) { field_0x2f98 = jump_type; if (field_0x2f98 == 1) { - mCurrent.mAngle.y = mCollisionRot.y + 0x8000; + current.angle.y = mCollisionRot.y + 0x8000; setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm); mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH; mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV; @@ -340,10 +340,10 @@ int daAlink_c::procSideStepInit(int jump_type) { daAlink_ANM anm_id; if (field_0x2f98 == 2) { anm_id = ANM_SIDE_STEP_LEFT; - mCurrent.mAngle.y = mCollisionRot.y + 0x4000; + current.angle.y = mCollisionRot.y + 0x4000; } else { anm_id = ANM_SIDE_STEP_RIGHT; - mCurrent.mAngle.y = mCollisionRot.y - 0x4000; + current.angle.y = mCollisionRot.y - 0x4000; } setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm); mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH; @@ -367,9 +367,9 @@ int daAlink_c::procSideStep() { s16 actor_angle = fopAcM_searchActorAngleY(this, mTargetedActor); cLib_addCalcAngleS(&mCollisionRot.y, actor_angle, 5, 0x5E8, 0x13C); if (field_0x2f98 == 2) { - mCurrent.mAngle.y = mCollisionRot.y + 0x4000; + current.angle.y = mCollisionRot.y + 0x4000; } else { - mCurrent.mAngle.y = mCollisionRot.y - 0x4000; + current.angle.y = mCollisionRot.y - 0x4000; } } if (doTrigger() && field_0x300a != 0) { @@ -387,7 +387,7 @@ int daAlink_c::procSideStep() { } else if (checkNoUpperAnime() && checkForceSwordSwing()) { setCutDash(1, 0); } else if (mDemo.getDemoMode() != 16 && - mCurrent.mPosition.y < mLastJumpPos.y - daAlinkHIO_sideStep_c0::m.mFallHeight) { + current.pos.y < mLastJumpPos.y - daAlinkHIO_sideStep_c0::m.mFallHeight) { return procFallInit(2, daAlinkHIO_sideStep_c0::m.mFallInterpolation); } @@ -433,7 +433,7 @@ int daAlink_c::procSideStepLandInit() { i_onResetFlg1(0x30); mNormalSpeed = FLOAT_LABEL(lit_6108); mCommonCounter = 0; - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; setStepLandVibration(); return 1; } @@ -472,7 +472,7 @@ int daAlink_c::procSlideInit(s16 param_0) { field_0x814.SetWeight(255); field_0x3090 = 8; - mCurrent.mAngle.y = param_0; + current.angle.y = param_0; if (getMoveBGActorName(mLinkAcch.m_gnd, 0) == 0xD4) { field_0x300e = 1; @@ -550,14 +550,14 @@ int daAlink_c::procSlideLand() { } if (ctrl->checkAnmEnd()) { - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; checkNextAction(0); } else { if (ctrl->getFrame() > field_0x3478) { - s16 tmp_angle = mCurrent.mAngle.y; - mCurrent.mAngle.y = mCollisionRot.y; + s16 tmp_angle = current.angle.y; + current.angle.y = mCollisionRot.y; if (!checkNextAction(1)) { - mCurrent.mAngle.y = tmp_angle; + current.angle.y = tmp_angle; } } } @@ -599,7 +599,7 @@ int daAlink_c::procFrontRollInit() { } else { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; } - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; voiceStart(Z2SE_AL_V_BACKTEN); mCommonCounter = 0; setFootEffectProcType(0); @@ -607,7 +607,7 @@ int daAlink_c::procFrontRollInit() { i_onNoResetFlg0(2); } if (i_checkEquipHeavyBoots()) { - field_0xFB8.SetAtType(0x200000); + field_0xFB8.SetAtType(AT_TYPE_HEAVY_BOOTS); field_0xFB8.SetAtHitMark(1); field_0xFB8.SetAtSe(9); field_0xFB8.SetAtAtp(2); @@ -1016,7 +1016,7 @@ int daAlink_c::procCoMetamorphoseInit() { mCommonCounter = mCollisionRot.x; } } else { - deleteEquipItem(0, 1); + deleteEquipItem(FALSE, TRUE); if (i_checkEndResetFlg0(ERFLG0_UNK_2) && checkStageName("D_MN08")) { field_0x3010 = 1; @@ -1046,22 +1046,22 @@ int daAlink_c::procCoMetamorphoseInit() { field_0x3588 = l_waitBaseAnime; field_0x3480 = daAlinkHIO_basic_c0::m.mLinkWolfTransformSpeed; - cXyz pos(mCurrent.mPosition.x + (cM_ssin(mCollisionRot.y) * 100.0f), - mCurrent.mPosition.y + 300.0f, - mCurrent.mPosition.z + (cM_scos(mCollisionRot.y) * 100.0f)); + cXyz pos(current.pos.x + (cM_ssin(mCollisionRot.y) * 100.0f), + current.pos.y + 300.0f, + current.pos.z + (cM_scos(mCollisionRot.y) * 100.0f)); mLinkGndChk.SetPos(&pos); f32 gnd_cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); if (gnd_cross != -1000000000.0f) { pos.y = -1000000000.0f; - cXyz tmp_4c = mCurrent.mPosition; + cXyz tmp_4c = current.pos; cXyz tmp_58 = pos; BOOL check = false; for (int i = 0; i < 4; i++) { if (i == 3) { tmp_4c.y = gnd_cross + 5.0f; } else { - tmp_4c.y = mCurrent.mPosition.y + field_0x18B0[i].GetWallH(); + tmp_4c.y = current.pos.y + field_0x18B0[i].GetWallH(); } tmp_58.y = tmp_4c.y; @@ -1076,7 +1076,7 @@ int daAlink_c::procCoMetamorphoseInit() { if (check) { mCommonCounter = field_0x2ff0; } else { - pos -= mCurrent.mPosition; + pos -= current.pos; pos.atan2sY_XZ(); mCommonCounter = svar8; @@ -1093,7 +1093,7 @@ int daAlink_c::procCoMetamorphoseInit() { field_0x3012 = 0; } - field_0x3484 = mCurrent.mPosition.y; + field_0x3484 = current.pos.y; return 1; } #else @@ -1671,7 +1671,7 @@ u32 daAlink_c::checkHorseRide() const { /* 800CF298-800CF2B4 0C9BD8 001C+00 1/0 0/0 0/0 .text getLeftItemMatrix__9daAlink_cFv */ MtxP daAlink_c::getLeftItemMatrix() { - return field_0x0650->i_getAnmMtx(field_0x30c0); + return mpLinkModel->i_getAnmMtx(field_0x30c0); } /* 800CF2B4-800CF2C8 0C9BF4 0014+00 1/0 0/0 0/0 .text checkBoarRide__9daAlink_cCFv */ @@ -1686,12 +1686,12 @@ u32 daAlink_c::checkSpinnerRide() const { /* 800CF2DC-800CF2F8 0C9C1C 001C+00 1/0 0/0 0/0 .text getLeftHandMatrix__9daAlink_cFv */ MtxP daAlink_c::getLeftHandMatrix() { - return field_0x0650->i_getAnmMtx(field_0x30b8); + return mpLinkModel->i_getAnmMtx(field_0x30b8); } /* 800CF2F8-800CF314 0C9C38 001C+00 1/0 0/0 0/0 .text getRightHandMatrix__9daAlink_cFv */ MtxP daAlink_c::getRightHandMatrix() { - return field_0x0650->i_getAnmMtx(field_0x30ba); + return mpLinkModel->i_getAnmMtx(field_0x30ba); } /* 800CF314-800CF328 0C9C54 0014+00 1/0 0/0 0/0 .text @@ -1704,7 +1704,7 @@ void daAlink_c::onSceneChangeArea(u8 exitID, u8 exitDirection, fopAc_ac_c* scexA /* 800CF328-800CF344 0C9C68 001C+00 1/0 0/0 0/0 .text getRightItemMatrix__9daAlink_cFv */ MtxP daAlink_c::getRightItemMatrix() { - return field_0x0650->i_getAnmMtx(field_0x30c2); + return mpLinkModel->i_getAnmMtx(field_0x30c2); } /* 800CF344-800CF380 0C9C84 003C+00 1/0 0/0 0/0 .text checkPlayerNoDraw__9daAlink_cFv */ @@ -1995,7 +1995,7 @@ void daAlink_c::setMidnaMsgNum(fopAc_ac_c* param_0, u16 pMsgNum) { /* 800D0290-800D029C 0CABD0 000C+00 1/0 0/0 0/0 .text getModelMtx__9daAlink_cFv */ MtxP daAlink_c::getModelMtx() { - return field_0x0650->getBaseTRMtx(); + return mpLinkModel->getBaseTRMtx(); } /* 800D029C-800D02A4 0CABDC 0008+00 1/0 0/0 0/0 .text getInvMtx__9daAlink_cFv */ @@ -2005,17 +2005,17 @@ MtxP daAlink_c::getInvMtx() { /* 800D02A4-800D02B8 0CABE4 0014+00 1/0 0/0 0/0 .text getLinkBackBone1Matrix__9daAlink_cFv */ MtxP daAlink_c::getLinkBackBone1Matrix() { - return field_0x0650->i_getAnmMtx(1); + return mpLinkModel->i_getAnmMtx(1); } /* 800D02B8-800D02CC 0CABF8 0014+00 1/0 0/0 0/0 .text getWolfMouthMatrix__9daAlink_cFv */ MtxP daAlink_c::getWolfMouthMatrix() { - return field_0x0650->i_getAnmMtx(13); + return mpLinkModel->i_getAnmMtx(13); } /* 800D02CC-800D02E0 0CAC0C 0014+00 1/0 0/0 0/0 .text getWolfBackbone2Matrix__9daAlink_cFv */ MtxP daAlink_c::getWolfBackbone2Matrix() { - return field_0x0650->i_getAnmMtx(2); + return mpLinkModel->i_getAnmMtx(2); } /* 800D02E0-800D0334 0CAC20 0054+00 1/0 0/0 0/0 .text getBottleMtx__9daAlink_cFv */ @@ -2029,7 +2029,7 @@ MtxP daAlink_c::getBottleMtx() { /* 800D0334-800D0350 0CAC74 001C+00 1/0 0/0 0/0 .text getHeadMtx__9daAlink_cFv */ MtxP daAlink_c::getHeadMtx() { - return field_0x0650->i_getAnmMtx(field_0x30b4); + return mpLinkModel->i_getAnmMtx(field_0x30b4); } /* 800D0350-800D0358 0CAC90 0008+00 1/0 0/0 0/0 .text getGroundY__9daAlink_cFv */ diff --git a/src/d/a/d_a_alink_spinner.inc b/src/d/a/d_a_alink_spinner.inc index e8e3d1f001..d8a7da3b70 100644 --- a/src/d/a/d_a_alink_spinner.inc +++ b/src/d/a/d_a_alink_spinner.inc @@ -111,11 +111,11 @@ asm bool daAlink_c::checkSpinnerTriggerAttack() { void daAlink_c::setSpinnerSyncPos() { daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor(); - mDoMtx_multVecZero(spinner->getModelMtx(), &mCurrent.mPosition); + mDoMtx_multVecZero(spinner->getModelMtx(), ¤t.pos); mDoMtx_stack_c::ZXYrotS(spinner->mCollisionRot); mDoMtx_stack_c::YrotM(mCollisionRot.y - spinner->mCollisionRot.y); mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &mCollisionRot); - field_0x37a4 = spinner->mCurrent.mPosition; + field_0x37a4 = spinner->current.pos; } /* 8010DC64-8010DDCC 1085A4 0168+00 1/1 0/0 0/0 .text procSpinnerReadyInit__9daAlink_cFv @@ -124,7 +124,7 @@ void daAlink_c::setSpinnerSyncPos() { #ifdef NONMATCHING int daAlink_c::procSpinnerReadyInit() { fopAc_ac_c* spinner = (fopAc_ac_c*)fopAcM_fastCreate( - PROC_SPINNER, daSpinner_c::getWaitArg(), &mCurrent.mPosition, fopAcM_GetRoomNo(this), + PROC_SPINNER, daSpinner_c::getWaitArg(), ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1, NULL, NULL); if (spinner == NULL) { @@ -144,9 +144,9 @@ int daAlink_c::procSpinnerReadyInit() { seStartOnlyReverb(Z2SE_AL_SPINNER_START); field_0x2f99 = 15; - deleteEquipItem(1, 1); + deleteEquipItem(TRUE, TRUE); - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; field_0x3588 = l_waitBaseAnime; field_0x33b0 = field_0x3588.y; field_0x34d4 = l_waitBaseAnime; @@ -173,15 +173,15 @@ int daAlink_c::procSpinnerReady() { return checkNextAction(0); } - mCurrent.mPosition.x = spinner->mCurrent.mPosition.x; - mCurrent.mPosition.z = spinner->mCurrent.mPosition.z; + current.pos.x = spinner->current.pos.x; + current.pos.z = spinner->current.pos.z; mCommonCounter--; field_0x2f99 = 15; - if ((mCommonCounter < 0 && mCurrent.mPosition.y <= spinner->getModelMtx()[1][3]) || + if ((mCommonCounter < 0 && current.pos.y <= spinner->getModelMtx()[1][3]) || mCommonCounter < -30) { - mCurrent.mPosition.y = spinner->getModelMtx()[1][3]; + current.pos.y = spinner->getModelMtx()[1][3]; procSpinnerWaitInit(); } @@ -216,7 +216,7 @@ int daAlink_c::procSpinnerWaitInit() { field_0x3198 = ANM_SPINNER_RIDE; field_0x33b0 = 70.0f; field_0x3012 = 0; - field_0x37a4 = mRideAcKeep.getActor()->mCurrent.mPosition; + field_0x37a4 = mRideAcKeep.getActor()->current.pos; return 1; } @@ -264,7 +264,7 @@ int daAlink_c::procSpinnerWait() { mCollisionRot.y -= angle; } - mCurrent.mAngle.y = mCollisionRot.y; + current.angle.y = mCollisionRot.y; field_0x300e = mCollisionRot.y; } } else { @@ -282,18 +282,18 @@ int daAlink_c::procSpinnerWait() { if (spinner->checkPathMoveNow() == NULL) { seStartOnlyReverbLevel(Z2SE_AL_SPINNER_RIDE); - setSpinnerStatus(ACTION_STR_ATTACK, 0); + setSpinnerStatus(ACTION_STR_ATTACK, ACTION_FLG_DEFAULT); } else { seStartOnlyReverbLevel(Z2SE_AL_SPINNER_RAIL); - setSpinnerStatus(ACTION_STR_JUMP2, 0); + setSpinnerStatus(ACTION_STR_JUMP2, ACTION_FLG_DEFAULT); } mNormalSpeed = spinner->mSpeedF; - mCurrent.mAngle.y = spinner->mCurrent.mAngle.y; + current.angle.y = spinner->current.angle.y; if (spinner->checkSpinnerTagIntoIncRot()) { field_0x3012 = 1; - setSpinnerStatus(ACTION_STR_SPIN, 4); + setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); if (field_0x3198 != ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) { setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed, @@ -303,9 +303,9 @@ int daAlink_c::procSpinnerWait() { } } else if (spinner->checkSpinnerTagInto()) { if (field_0x3012 != 0) { - setSpinnerStatus(ACTION_STR_SPIN, 4); + setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); } else { - setSpinnerStatus(ACTION_STR_SPIN, 0); + setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT); } if ((field_0x3198 == ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) || diff --git a/src/d/a/d_a_alink_sumou.inc b/src/d/a/d_a_alink_sumou.inc index 032ad4a877..55e1e9a31a 100644 --- a/src/d/a/d_a_alink_sumou.inc +++ b/src/d/a/d_a_alink_sumou.inc @@ -22,7 +22,7 @@ void daAlink_c::sumouPunchTrigger() { /* 800EA92C-800EA950 0E526C 0024+00 5/5 0/0 0/0 .text setSumouPunchStatus__9daAlink_cFv */ void daAlink_c::setSumouPunchStatus() { - setBStatus(0x44); + setBStatus(ACTION_STR_SLAP); } /* 800EA950-800EAA28 0E5290 00D8+00 4/4 0/0 0/0 .text procSumouReadyInit__9daAlink_cFv */ diff --git a/src/d/a/d_a_alink_swindow.inc b/src/d/a/d_a_alink_swindow.inc index f78c36711a..6d5e0d1742 100644 --- a/src/d/a/d_a_alink_swindow.inc +++ b/src/d/a/d_a_alink_swindow.inc @@ -23,10 +23,10 @@ void daAlink_c::statusWindowExecute(cXyz const* param_0, s16 param_1) { mDoMtx_stack_c::transS(*param_0); mDoMtx_stack_c::YrotM(param_1); - field_0x0650->i_setBaseTRMtx(mDoMtx_stack_c::get()); + mpLinkModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); m_sWindowBck->play(); m_sWindowBck->entry(field_0x064C); - field_0x0650->calc(); + mpLinkModel->calc(); if (i_checkWolf()) { setWolfItemMatrix(); @@ -39,7 +39,7 @@ void daAlink_c::statusWindowExecute(cXyz const* param_0, s16 param_1) { /* 80140984-80140AC8 13B2C4 0144+00 0/0 1/1 0/0 .text statusWindowDraw__9daAlink_cFv */ void daAlink_c::statusWindowDraw() { if (mClothesChangeWaitTimer == 0) { - g_env_light.settingTevStruct(12, &mCurrent.mPosition, &mTevStr); + g_env_light.settingTevStruct(12, ¤t.pos, &mTevStr); initTevCustomColor(); if (!i_checkWolf()) { @@ -47,12 +47,12 @@ void daAlink_c::statusWindowDraw() { setDrawHand(); } - basicModelDraw(field_0x0650); + basicModelDraw(mpLinkModel); if (!i_checkWolf()) { basicModelDraw(field_0x065c); - basicModelDraw(field_0x0658); - basicModelDraw(field_0x0654); + basicModelDraw(mpLinkHatModel); + basicModelDraw(mpLinkFaceModel); if (i_checkEquipHeavyBoots()) { for (int i = 0; i < 2; i++) { @@ -64,7 +64,7 @@ void daAlink_c::statusWindowDraw() { if (checkSwordDraw()) { basicModelDraw(mSwordModel); if (!checkWoodSwordEquip()) { - basicModelDraw(field_0x06bc); + basicModelDraw(mSheathModel); } } @@ -85,7 +85,7 @@ void daAlink_c::resetStatusWindow() { } setMatrix(); - field_0x0650->calc(); + mpLinkModel->calc(); i_onNoResetFlg2(0x400000); setSelectEquipItem(0); diff --git a/src/d/a/d_a_alink_whistle.inc b/src/d/a/d_a_alink_whistle.inc index 2ea2abae8d..cc553bbc41 100644 --- a/src/d/a/d_a_alink_whistle.inc +++ b/src/d/a/d_a_alink_whistle.inc @@ -1,72 +1,111 @@ +#include "rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h" + /* 8011174C-80111770 10C08C 0024+00 1/1 0/0 0/0 .text daAlink_searchWhistle__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchWhistle(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchWhistle__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchWhistle(fopAc_ac_c* p_actor, void*) { + if (daAlink_getAlinkActorClass()->getGrassHowlEventActor() == fopAcM_GetName(p_actor)) { + return p_actor; + } + + return NULL; } -#pragma pop /* 80111770-80111784 10C0B0 0014+00 1/1 0/0 0/0 .text daAlink_searchHawk__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchHawk(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchHawk__FP10fopAc_ac_cPv.s" -} -#pragma pop +static fopAc_ac_c* daAlink_searchHawk(fopAc_ac_c* p_actor, void*) { + if (fopAcM_GetName(p_actor) == PROC_NPC_TK) { + return p_actor; + } -/* ############################################################################################## */ -/* 8045069C-804506A4 -00001 0008+00 1/1 0/0 0/0 .sdata grassWhistleArcName$33096 */ -SECTION_SDATA static void* grassWhistleArcName[2] = { - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0xAD), - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0xB4), -}; + return NULL; +} /* 80111784-8011181C 10C0C4 0098+00 1/1 0/0 0/0 .text setGrassWhistleModel__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setGrassWhistleModel(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setGrassWhistleModel__9daAlink_cFi.s" +void daAlink_c::setGrassWhistleModel(int modelType) { + static const char* grassWhistleArcName[2] = { + "J_Tobi", + "J_Umak", + }; + + JKRHeap* heap = setItemHeap(); + + J3DModelData* modeldata = (J3DModelData*)dComIfG_getObjectRes(grassWhistleArcName[modelType], + grassWhistleIdx[modelType]); + mHeldItemModel = mDoExt_J3DModel__create(modeldata, 0x80000, 0x11000084); + + mDoExt_setCurrentHeap(heap); + mEquipItem = 0x104; + field_0x2f94 = 2; } -#pragma pop /* 8011181C-80111894 10C15C 0078+00 1/1 0/0 0/0 .text setHorseWhistleModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setHorseWhistleModel() { - nofralloc -#include "asm/d/a/d_a_alink/setHorseWhistleModel__9daAlink_cFv.s" +void daAlink_c::setHorseWhistleModel() { + JKRHeap* heap = setItemHeap(); + + mHeldItemModel = initModel(loadAramBmd(0x31A, 0x3000), 0); + + mDoExt_setCurrentHeap(heap); + mEquipItem = HORSE_FLUTE; + field_0x2f94 = 2; } -#pragma pop /* 80111894-801119D8 10C1D4 0144+00 2/2 0/0 0/0 .text procGrassWhistleGetInit__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::procGrassWhistleGetInit() { + if (mEquipItem != NO_ITEM) { + return procPreActionUnequipInit(PROC_GRASS_WHISTLE_GET, field_0x27f4); + } + + commonProcInit(PROC_GRASS_WHISTLE_GET); + mNormalSpeed = 0.0f; + current.angle.y = mCollisionRot.y; + field_0x2f98 = 4; + + setSingleAnimeParam(ANM_GRASS_WHISTLE_GRAB, &daAlinkHIO_bottle_c0::m.field_0x50); + field_0x2f92 = 0xFE; + field_0x280c.setData(field_0x27f4); + + daObjYobikusa_c* yobikusa = (daObjYobikusa_c*)field_0x27f4; + mCommonCounter = yobikusa->getType(); + field_0x300e = yobikusa->getPathID(); + field_0x3010 = yobikusa->isPlayerCorrect(); + field_0x3012 = yobikusa->mCollisionRot.y + 0x8000; + field_0x37c8.set(yobikusa->current.pos.x + cM_ssin(yobikusa->mCollisionRot.y) * 50.0f, + yobikusa->current.pos.y + 50.0f, + yobikusa->current.pos.z + cM_scos(yobikusa->mCollisionRot.y) * 50.0f); + voiceStart(Z2SE_AL_V_SWING_BOTTLE); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrassWhistleGetInit() { +asm int daAlink_c::procGrassWhistleGetInit() { nofralloc #include "asm/d/a/d_a_alink/procGrassWhistleGetInit__9daAlink_cFv.s" } #pragma pop +#endif /* 801119D8-80111A9C 10C318 00C4+00 1/0 0/0 0/0 .text procGrassWhistleGet__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procGrassWhistleGet() { - nofralloc -#include "asm/d/a/d_a_alink/procGrassWhistleGet__9daAlink_cFv.s" +int daAlink_c::procGrassWhistleGet() { + daPy_frameCtrl_c* frameCtrl = mFrameCtrl1; + + if (frameCtrl->checkAnmEnd()) { + procGrassWhistleWaitInit(mCommonCounter, field_0x300e, field_0x3010, field_0x3012, &field_0x37c8); + } else if (mEquipItem == NO_ITEM && frameCtrl->getFrame() >= lit_7710) { + setGrassWhistleModel(mCommonCounter); + + if (field_0x280c.getActor() != NULL) { + fopAcM_setCarryNow(field_0x280c.getActor(), 0); + seStartOnlyReverb(Z2SE_AL_PICKUP_GRASS); + } + } + + return 1; } -#pragma pop /* 80111A9C-80111CA4 10C3DC 0208+00 2/2 0/0 0/0 .text * procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz */ diff --git a/src/d/a/d_a_itembase.cpp b/src/d/a/d_a_itembase.cpp index 37fc112a41..4a589f4cfc 100644 --- a/src/d/a/d_a_itembase.cpp +++ b/src/d/a/d_a_itembase.cpp @@ -166,7 +166,7 @@ void daItemBase_c::settingBeforeDraw() { /* 80144D18-80144D70 13F658 0058+00 1/0 0/0 8/0 .text setTevStr__12daItemBase_cFv */ void daItemBase_c::setTevStr() { - g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr); + g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); } @@ -176,7 +176,7 @@ void daItemBase_c::setShadow() { if (!chkFlag(0x10)) { if (getShadowSize() != 0.0f) { - dComIfGd_setSimpleShadow(&mCurrent.mPosition, mAcch.GetGroundH(), scale, + dComIfGd_setSimpleShadow(¤t.pos, mAcch.GetGroundH(), scale, mAcch.m_gnd, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } @@ -187,8 +187,8 @@ void daItemBase_c::setShadow() { } field_0x91c = - dComIfGd_setShadow(field_0x91c, 3, mpModel, &mCurrent.mPosition, shadowSize, 0.0f, - mCurrent.mPosition.y, mAcch.GetGroundH(), mAcch.m_gnd, + dComIfGd_setShadow(field_0x91c, 3, mpModel, ¤t.pos, shadowSize, 0.0f, + current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 844c2b15d4..7c37fc147f 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -1665,12 +1665,12 @@ int daNpcT_c::loadRes(s8 const* resNoList, char const** resNameList) { return cPhs_COMPLEATE_e; } - int status = dComIfG_resLoad(&field_0x8e0[i], resNameList[resNoList[i]]); - if (status == cPhs_COMPLEATE_e) { + int phase_state = dComIfG_resLoad(&field_0x8e0[i], resNameList[resNoList[i]]); + if (phase_state == cPhs_COMPLEATE_e) { resLoad_cnt++; } - if (status == cPhs_ERROR_e || status == 3) { + if (phase_state == cPhs_ERROR_e || phase_state == cPhs_UNK3_e) { return cPhs_ERROR_e; } } @@ -1702,7 +1702,7 @@ int daNpcT_c::execute() { fopAcM_posMoveF(this, field_0x864.GetCCMoveP()); field_0x68c.CrrPos(dComIfG_Bgsp()); field_0x930 = field_0x68c.m_gnd; - field_0xdca = fopAcM_getPolygonAngle(field_0x930, mCurrent.mAngle.y); + field_0xdca = fopAcM_getPolygonAngle(field_0x930, current.angle.y); field_0xdf4 = field_0x68c.GetGroundH(); if (field_0xdf4 != -1000000000.0f) { field_0xda8 = dKy_pol_sound_get(&field_0x68c.m_gnd); @@ -1819,13 +1819,13 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 if (param_5 != 0) { drawGhost(); } else if (field_0xa89 != 0) { - g_env_light.settingTevStruct(4, &mCurrent.mPosition, &mTevStr); + g_env_light.settingTevStruct(4, ¤t.pos, &mTevStr); g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr); dComIfGd_setListDark(); mMcaMorfAnm[0]->entryDL(); dComIfGd_setList(); } else { - g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr); + g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr); mMcaMorfAnm[0]->entryDL(); } @@ -1849,10 +1849,10 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 if (param_6 == 0) { if (param_7 == 0) { field_0xd94 = dComIfGd_setShadow( - field_0xd94, 1, model, &mCurrent.mPosition, param_2, param_4, mCurrent.mPosition.y, + field_0xd94, 1, model, ¤t.pos, param_2, param_4, current.pos.y, field_0xdf4, field_0x930, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } else { - dComIfGd_setSimpleShadow(&mCurrent.mPosition, field_0xdf4, param_4, field_0x930, 0, + dComIfGd_setSimpleShadow(¤t.pos, field_0xdf4, param_4, field_0x930, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } @@ -1931,7 +1931,7 @@ void daNpcT_c::setMtx() { J3DModel* model = mMcaMorfAnm[0]->getModel(); J3DModelData* modelData = model->getModelData(); - mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::ZXYrotM(field_0xd78); mDoMtx_stack_c::scaleM(mScale); @@ -2102,26 +2102,26 @@ void daNpcT_c::setPos(cXyz i_pos) { field_0x930.SetPos(&i_pos); i_pos.y = dComIfG_Bgsp().GroundCross(&field_0x930); - mCurrent.mPosition = i_pos; - mNext.mPosition = mCurrent.mPosition; + current.pos = i_pos; + next.pos = current.pos; } /* 8014A99C-8014AA18 1452DC 007C+00 0/0 0/0 29/29 .text setAngle__8daNpcT_cF5csXyz */ void daNpcT_c::setAngle(csXyz i_angle) { - mCurrent.mAngle = i_angle; - mCollisionRot = mCurrent.mAngle; - field_0xd78 = mCurrent.mAngle; + current.angle = i_angle; + mCollisionRot = current.angle; + field_0xd78 = current.angle; field_0xd7e = field_0xd78; - mNext.mAngle = mCurrent.mAngle; + next.angle = current.angle; } /* 8014AA18-8014AA40 145358 0028+00 0/0 0/0 138/138 .text setAngle__8daNpcT_cFs */ void daNpcT_c::setAngle(s16 i_angle) { - mCurrent.mAngle.y = i_angle; - mCollisionRot.y = mCurrent.mAngle.y; - field_0xd78.y = mCurrent.mAngle.y; + current.angle.y = i_angle; + mCollisionRot.y = current.angle.y; + field_0xd78.y = current.angle.y; field_0xd7e.y = field_0xd78.y; - mNext.mAngle.y = mCurrent.mAngle.y; + next.angle.y = current.angle.y; } /* 8014AA40-8014AAD0 145380 0090+00 0/0 0/0 33/33 .text hitChk__8daNpcT_cFP12dCcD_GObjInfUl */ diff --git a/src/d/a/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp index 180e941344..f3ef351a00 100644 --- a/src/d/a/d_a_obj_item.cpp +++ b/src/d/a/d_a_obj_item.cpp @@ -283,7 +283,7 @@ void daItem_c::setBaseMtx() { /* 8015B190-8015B1C8 155AD0 0038+00 1/1 0/0 0/0 .text setBaseMtx_0__8daItem_cFv */ void daItem_c::setBaseMtx_0() { - mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::ZXYrotM(mCollisionRot); } @@ -298,7 +298,7 @@ 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::transS(current.pos); mDoMtx_stack_c::transM(0.0f, y, 0.0f); mDoMtx_stack_c::ZXYrotM(mCollisionRot); @@ -641,12 +641,12 @@ int daItem_c::_daItem_create() { } 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; + field_0x92c = orig.angle.x; + field_0x92e = orig.angle.z; + orig.angle.z = 0; + orig.angle.x = 0; + current.angle.z = 0; + current.angle.x = 0; mCollisionRot.z = 0; mCollisionRot.x = 0; @@ -658,25 +658,25 @@ int daItem_c::_daItem_create() { field_0x920 = daItem_prm::getItemBitNo(this); if (fopAcM_isItem(this, field_0x920)) { - return 5; + return cPhs_ERROR_e; } else { - int ret = 4; + int phase_state = cPhs_COMPLEATE_e; if (flag) { CreateInit(); } else { - ret = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); + phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); - if (ret == 4) { + if (phase_state == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, dItem_data::getFieldHeapSize(m_itemNo))) { - return 5; + return cPhs_ERROR_e; } else { CreateInit(); } } } - return ret; + return phase_state; } } #else @@ -714,10 +714,10 @@ int daItem_c::_daItem_execute() { field_0x950 = mSpeed; CountTimer(); - mEyePos = mCurrent.mPosition; + mEyePos = current.pos; mEyePos.y += (f32)dItem_data::getH(m_itemNo) * 0.5f; - mAttentionInfo.mPosition = mCurrent.mPosition; + mAttentionInfo.mPosition = current.pos; if (mCollider.ChkTgHit()) { cCcD_Obj* hitObj = mCollider.GetTgHitObj(); @@ -737,13 +737,13 @@ int daItem_c::_daItem_execute() { } if (fopAcM_checkHookCarryNow(this)) { - cXyz carry_pos = mCurrent.mPosition; + cXyz carry_pos = current.pos; if (mpModel != NULL) { carry_pos.y += 0.5f * mpModel->getModelData()->getJointNodePointer(0)->getMax()->y; } - mDoMtx_stack_c::transS(mCurrent.mPosition); + mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::ZXYrotM(mCollisionRot); mDoMtx_stack_c::inverse(); mDoMtx_stack_c::multVec(&carry_pos, &carry_pos); @@ -755,11 +755,11 @@ int daItem_c::_daItem_execute() { setBaseMtx(); field_0x978.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); - field_0x96c = mCurrent.mPosition; + field_0x96c = current.pos; field_0x95f = (fopAcM_checkHookCarryNow(this) >> 0x14) & 1; if (m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) { - field_0x9ac = mCurrent.mPosition; + field_0x9ac = current.pos; field_0x9ac.y += 18.0f; } @@ -832,7 +832,7 @@ void daItem_c::procMainNormal() { } } - mCollider.SetC(mCurrent.mPosition); + mCollider.SetC(current.pos); dComIfG_Ccsp()->Set(&mCollider); } @@ -863,8 +863,8 @@ SECTION_SDATA2 static f32 lit_4404 = 15.0f; // literals / addi in wrong place #ifdef NONMATCHING void daItem_c::procInitSimpleGetDemo() { - mCurrent.mPosition = daPy_getPlayerActorClass()->getItemPos(); - mCurrent.mPosition.y += 15.0f; + current.pos = daPy_getPlayerActorClass()->getItemPos(); + current.pos.y += 15.0f; mCollisionRot.z = 0; mCollisionRot.x = 0; mScale = field_0x930; @@ -910,7 +910,7 @@ void daItem_c::procInitGetDemoEvent() { fopAcM_orderItemEvent(this, 0, 0); mEvtInfo.i_onCondition(8); - m_item_id = fopAcM_createItemForTrBoxDemo(&mCurrent.mPosition, m_itemNo, -1, fopAcM_GetRoomNo(this), NULL, NULL); + m_item_id = fopAcM_createItemForTrBoxDemo(¤t.pos, m_itemNo, -1, fopAcM_GetRoomNo(this), NULL, NULL); setStatus(3); } @@ -1006,7 +1006,7 @@ void daItem_c::procMainSwOnWait() { if (i_fopAcM_isSwitch(this, field_0x93c)) { mAcch.CrrPos(dComIfG_Bgsp()); - if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > lit_4070[0] + mOrig.mPosition.y) { + if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > lit_4070[0] + orig.pos.y) { field_0x9c0 = 1; } @@ -1115,7 +1115,7 @@ void daItem_c::mode_wait() { break; } - if (field_0x9c0 == 0 && mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > mCurrent.mPosition.y) { + if (field_0x9c0 == 0 && mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > current.pos.y) { mode_water_init(); } @@ -1132,10 +1132,10 @@ SECTION_SDATA2 static f32 lit_4781 = 1.0f / 10.0f; void daItem_c::mode_water() { mAcch.CrrPos(dComIfG_Bgsp()); - if (!mAcch.ChkWaterHit() || mAcch.m_wtr.GetHeight() < mCurrent.mPosition.y) { + if (!mAcch.ChkWaterHit() || mAcch.m_wtr.GetHeight() < current.pos.y) { mode_wait_init(); } else { - mCurrent.mPosition.y = mAcch.m_wtr.GetHeight(); + current.pos.y = mAcch.m_wtr.GetHeight(); } f32 var_f1 = 1.0f; @@ -1160,7 +1160,7 @@ void daItem_c::mode_water() { break; } - fopAcM_effHamonSet(&field_0x9b8, &mCurrent.mPosition, var_f1, 0.1f); + fopAcM_effHamonSet(&field_0x9b8, ¤t.pos, var_f1, 0.1f); RotateYBase(); } #else @@ -1176,7 +1176,7 @@ asm void daItem_c::mode_water() { /* 8015CE94-8015CEEC 1577D4 0058+00 1/0 0/0 0/0 .text setTevStr__8daItem_cFv */ void daItem_c::setTevStr() { - g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr); + g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); } @@ -1323,7 +1323,7 @@ bool daItem_c::checkPlayerGet() { // matches with literals #ifdef NONMATCHING void daItem_c::checkYogan() { - if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > mCurrent.mPosition.y + 100.0f) { + if (mAcch.ChkWaterHit() && mAcch.m_wtr.GetHeight() > current.pos.y + 100.0f) { if (dComIfG_Bgsp().GetPolyAtt0(mAcch.m_wtr) == 6) { deleteItem(); } @@ -1528,8 +1528,8 @@ asm void daItem_c::initSpeed(int param_0) { /* 8015DE38-8015DE50 158778 0018+00 1/1 0/0 0/0 .text initAngle__8daItem_cFv */ void daItem_c::initAngle() { - mCurrent.mAngle.z = 0; - mCurrent.mAngle.x = 0; + current.angle.z = 0; + current.angle.x = 0; mCollisionRot.z = 0; mCollisionRot.x = 0; } diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 3ba889cc11..518fc004f6 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -269,10 +269,10 @@ SECTION_SDATA2 static u8 lit_4381[8] = { void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) { daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor(); if (boomerang != NULL) { - field_0x4 = param_0->y - boomerang->mCurrent.mPosition.y; - field_0x8 = boomerang->mCurrent.mPosition.absXZ(*param_0); - field_0x2 = cM_atan2s(param_0->x - boomerang->mCurrent.mPosition.x, - param_0->z - boomerang->mCurrent.mPosition.z); + field_0x4 = param_0->y - boomerang->current.pos.y; + field_0x8 = boomerang->current.pos.absXZ(*param_0); + field_0x2 = cM_atan2s(param_0->x - boomerang->current.pos.x, + param_0->z - boomerang->current.pos.z); } } #else @@ -606,7 +606,7 @@ asm void daPy_sightPacket_c::setSight() { * setSightImage__18daPy_sightPacket_cFP7ResTIMG */ void daPy_sightPacket_c::setSightImage(ResTIMG* p_img) { mpImg = p_img; - mpData = (u8*)p_img + p_img->texDataOffset; + mpData = (u8*)p_img + p_img->imageOffset; } /* 8015F398-8015F3C4 159CD8 002C+00 0/0 8/8 10/10 .text checkMasterSwordEquip__9daPy_py_cFv */ diff --git a/src/d/a/d_a_shop_item_static.cpp b/src/d/a/d_a_shop_item_static.cpp index a90f05d40e..c42b028054 100644 --- a/src/d/a/d_a_shop_item_static.cpp +++ b/src/d/a/d_a_shop_item_static.cpp @@ -29,12 +29,12 @@ extern "C" void CreateItemHeap__12daItemBase_cFPCcsssssss(); /* 80037C14-80037C1C 032554 0008+00 0/0 1/1 0/0 .text getRotateP__12daShopItem_cFv */ csXyz* daShopItem_c::getRotateP() { - return &mCurrent.mAngle; + return ¤t.angle; } /* 80037C1C-80037C24 03255C 0008+00 0/0 2/2 0/0 .text getPosP__12daShopItem_cFv */ cXyz* daShopItem_c::getPosP() { - return &mCurrent.mPosition; + return ¤t.pos; } /* 803792E8-80379738 -00001 0450+00 1/1 0/0 9/9 .rodata mData__12daShopItem_c */ diff --git a/src/d/bg/d_bg_s_movebg_actor.cpp b/src/d/bg/d_bg_s_movebg_actor.cpp index a0b0b529c9..9fed5c3f5f 100644 --- a/src/d/bg/d_bg_s_movebg_actor.cpp +++ b/src/d/bg/d_bg_s_movebg_actor.cpp @@ -169,7 +169,7 @@ int dBgS_MoveBgActor::MoveBGCreateHeap() { int dBgS_MoveBgActor::MoveBGCreate(char const* p_name, int dzb_id, MoveBGActor_SetFunc set_func, u32 param_3, Mtx* param_4) { if (param_4 == NULL) { - mDoMtx_stack_c::transS(mCurrent.mPosition.x, mCurrent.mPosition.y, mCurrent.mPosition.z); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(mCollisionRot.y); mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z); PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c); @@ -219,7 +219,7 @@ bool dBgS_MoveBgActor::MoveBGExecute() { bool ret = Execute(&tmp); if (tmp == NULL) { - mDoMtx_stack_c::transS(mCurrent.mPosition.x, mCurrent.mPosition.y, mCurrent.mPosition.z); + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(mCollisionRot.y); mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z); PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c); diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index 8ebaceb52e..e6972b6fc5 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -428,7 +428,7 @@ cBgW::cBgW() { pm_node_tree = NULL; pm_grp = NULL; pm_vtx_tbl = NULL; - pm_base_mtx = NULL; + pm_base = NULL; PSMTXIdentity(m_inv_mtx); PSMTXIdentity(field_0x4c); diff --git a/src/d/cc/d_cc_mass_s.cpp b/src/d/cc/d_cc_mass_s.cpp index 5c2841b7d6..e3e1a781ad 100644 --- a/src/d/cc/d_cc_mass_s.cpp +++ b/src/d/cc/d_cc_mass_s.cpp @@ -160,7 +160,7 @@ u32 dCcMassS_Mng::Chk(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitI if (field_0x200 & 0x10) { Vec vec; - PSVECSubtract(&(*p_actor)->mCurrent.mPosition, p_xyz, &vec); + PSVECSubtract(&(*p_actor)->current.pos, p_xyz, &vec); vec.y = 0; f32 vecMag = PSVECMag(&vec); if (cM3d_IsZero(vecMag)) { diff --git a/src/d/cc/d_cc_uty.cpp b/src/d/cc/d_cc_uty.cpp index 6bd6f9b2a0..1c4307ec7e 100644 --- a/src/d/cc/d_cc_uty.cpp +++ b/src/d/cc/d_cc_uty.cpp @@ -454,12 +454,12 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) { p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f); } else { if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) { - f32 x_diff = p_enemy->mCurrent.mPosition.x - link->mCurrent.mPosition.x; - f32 z_diff = p_enemy->mCurrent.mPosition.z - link->mCurrent.mPosition.z; + f32 x_diff = p_enemy->current.pos.x - link->current.pos.x; + f32 z_diff = p_enemy->current.pos.z - link->current.pos.z; p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f); } else { - f32 x_diff = p_enemy->mCurrent.mPosition.x - p_info->mpActor->mCurrent.mPosition.x; - f32 z_diff = p_enemy->mCurrent.mPosition.z - p_info->mpActor->mCurrent.mPosition.z; + f32 x_diff = p_enemy->current.pos.x - p_info->mpActor->current.pos.x; + f32 z_diff = p_enemy->current.pos.z - p_info->mpActor->current.pos.z; p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff); } } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index fc4d68878e..a50cf1985b 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -1314,10 +1314,10 @@ BOOL dComIfG_resetToOpening(scene_class* scene) { static int phase_1(char* arc_name) { if (!dComIfG_setObjectRes(arc_name, 0, NULL)) { OSReport_Error("%s.arc Read Error !!\n", arc_name); - return 5; + return cPhs_ERROR_e; } - return 2; + return cPhs_TWO_e; } /* 8002CE38-8002CEB4 027778 007C+00 1/0 0/0 0/0 .text phase_2__FPc */ @@ -1326,7 +1326,7 @@ static int phase_2(char* arc_name) { if (syncStatus < 0) { OSReport_Error("%s.arc Sync Read Error !!\n", arc_name); - return 5; + return cPhs_ERROR_e; } else { return syncStatus > 0 ? 0 : 2; } @@ -1334,7 +1334,7 @@ static int phase_2(char* arc_name) { /* 8002CEB4-8002CEBC 0277F4 0008+00 1/0 0/0 0/0 .text phase_3__FPc */ static int phase_3(char*) { - return 4; + return cPhs_COMPLEATE_e; } /* 8002CEBC-8002CEFC 0277FC 0040+00 0/0 7/7 550/550 .text @@ -1343,8 +1343,8 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_nam static int (*l_method[3])(void*) = {(int (*)(void*))phase_1, (int (*)(void*))phase_2, (int (*)(void*))phase_3}; - if (i_phase->mPhaseStep == 2) { - return 4; + if (i_phase->id == cPhs_TWO_e) { + return cPhs_COMPLEATE_e; } return dComLbG_PhaseHandler(i_phase, l_method, (void*)arc_name); @@ -1380,8 +1380,8 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02, (int (*)(void*))phase_03}; - if (i_phase->mPhaseStep == 2) { - return 4; + if (i_phase->id == cPhs_TWO_e) { + return cPhs_COMPLEATE_e; } phaseParam_c param(resName, heap); @@ -1391,12 +1391,12 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName /* 8002D008-8002D06C 027948 0064+00 1/1 10/10 540/540 .text * dComIfG_resDelete__FP30request_of_phase_process_classPCc */ int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName) { - if (i_phase->mPhaseStep != 2) { + if (i_phase->id != cPhs_TWO_e) { return 0; } dComIfG_deleteObjectResMain(resName); - i_phase->mPhaseStep = 0; + i_phase->id = cPhs_ZERO_e; return 1; } @@ -1471,7 +1471,7 @@ void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f3 if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() && daPy_getLinkPlayerActorClass() != NULL) { - s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->mCurrent.mRoomNo; + s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.mRoomNo; cXyz pos = dMapInfo_n::getMapPlayerPos(); s16 angle = daPy_getLinkPlayerActorClass()->mCollisionRot.y; u8 level = dComIfGp_getNowLevel(); @@ -2235,7 +2235,7 @@ void dComIfGs_setWarpMarkFlag(u8) { /* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */ dComIfG_resLoader_c::dComIfG_resLoader_c() { field_0x0 = NULL; - field_0x4.mPhaseStep = 0; + field_0x4.id = cPhs_ZERO_e; field_0xc = 0; } @@ -2244,7 +2244,7 @@ dComIfG_resLoader_c::~dComIfG_resLoader_c() { if (field_0x0 != NULL) { for (int i = field_0xc; i >= 0; i--) { dComIfG_resDelete(&field_0x4, field_0x0[i]); - field_0x4.mPhaseStep = 2; + field_0x4.id = cPhs_TWO_e; } } } @@ -2253,16 +2253,16 @@ dComIfG_resLoader_c::~dComIfG_resLoader_c() { int dComIfG_resLoader_c::load(char const** param_0, JKRHeap* heap) { field_0x0 = param_0; - int ret = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], heap); - if (ret == 4) { + int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], heap); + if (phase_state == cPhs_COMPLEATE_e) { if (field_0x0[field_0xc + 1][0] != 0) { field_0xc++; - field_0x4.mPhaseStep = 0; - ret = 0; + field_0x4.id = cPhs_ZERO_e; + phase_state = cPhs_ZERO_e; } } - return ret; + return phase_state; } /* 8002F434-8002F478 029D74 0044+00 0/0 12/12 12/12 .text dComIfG_getStageRes__FPCc */ diff --git a/src/d/d_cam_param.cpp b/src/d/d_cam_param.cpp index 8568d2c812..c8569314ea 100644 --- a/src/d/d_cam_param.cpp +++ b/src/d/d_cam_param.cpp @@ -6,63 +6,7 @@ #include "d/d_cam_param.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); -}; - -struct dCstick_c { - /* 80088434 */ dCstick_c(); - /* 8008845C */ bool Shift(u32); - /* 800889B0 */ ~dCstick_c(); -}; - -struct dCamera_c { - /* 80180A40 */ void EventRecoverNotime(); -}; - -struct dCamSetup_c { - /* 80088668 */ dCamSetup_c(); - /* 800888B8 */ ~dCamSetup_c(); - /* 80088918 */ void CheckLatitudeRange(s16*); - /* 80088988 */ void PlayerHideDist(); -}; - -struct dCamParam_c { - /* 800884F0 */ dCamParam_c(s32); - /* 8008858C */ ~dCamParam_c(); - /* 800885D4 */ void Change(s32); - /* 80088620 */ void SearchStyle(u32); -}; - -struct cSAngle {}; - -struct cXyz {}; - -struct dCamMath { - /* 8008813C */ void rationalBezierRatio(f32, f32); - /* 80088284 */ void zoomFovy(f32, f32); - /* 8008831C */ void xyzRotateX(cXyz&, cSAngle); - /* 80088384 */ void xyzRotateY(cXyz&, cSAngle); - /* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&); -}; - -struct dCamBGChk_c { - /* 80088464 */ dCamBGChk_c(); -}; - -struct cDegree { - /* 800882E0 */ ~cDegree(); - /* 8027134C */ cDegree(f32); - /* 802713F0 */ void Sin() const; - /* 80271418 */ void Cos() const; -}; +#include "d/com/d_com_inf_game.h" // // Forward References: @@ -102,9 +46,6 @@ extern "C" void __ct__7cDegreeFf(); extern "C" void Sin__7cDegreeCFv(); extern "C" void Cos__7cDegreeCFv(); extern "C" void __dl__FPv(); -extern "C" void PSMTXMultVec(); -extern "C" void sqrt(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: @@ -176,7 +117,8 @@ asm void dCamMath::zoomFovy(f32 param_0, f32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cDegree::~cDegree() { +// asm cDegree::~cDegree() { +extern "C" asm void __dt__7cDegreeFv() { nofralloc #include "asm/d/d_cam_param/__dt__7cDegreeFv.s" } @@ -334,7 +276,8 @@ asm dCamParam_c::dCamParam_c(s32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCamParam_c::~dCamParam_c() { +// asm dCamParam_c::~dCamParam_c() { +extern "C" asm void __dt__11dCamParam_cFv() { nofralloc #include "asm/d/d_cam_param/__dt__11dCamParam_cFv.s" } @@ -444,7 +387,8 @@ asm dCamSetup_c::dCamSetup_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCamSetup_c::~dCamSetup_c() { +// asm dCamSetup_c::~dCamSetup_c() { +extern "C" asm void __dt__11dCamSetup_cFv() { nofralloc #include "asm/d/d_cam_param/__dt__11dCamSetup_cFv.s" } diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 2a9a15fae5..dc01d590e0 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -7,6 +7,7 @@ #include "dol2asm.h" #include "dolphin/types.h" #include "SSystem/SComponent/c_m3d_g_pla.h" +#include "d/com/d_com_inf_game.h" // // Types: @@ -17,29 +18,10 @@ namespace std { /* 80182D10 */ void fabs(f32); }; // namespace std -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE70 */ void scaleM(cXyz const&); - - static u8 now[48]; -}; - struct mDoLib_clipper { /* 8001528C */ void setup(f32, f32, f32, f32); }; -struct mDoGph_gInf_c { - /* 80008078 */ void onBlure(); - /* 800080A0 */ void onBlure(f32 const (*)[4]); -}; - -struct mDoCPd_c { - /* 8016C314 */ void getHoldA(u32); - /* 80182BF8 */ void getTrigA(u32); - - static u8 m_cpadInfo[256]; -}; - struct daTagMwait_c { /* 80182D9C */ void checkEndMessage(); }; @@ -52,75 +34,12 @@ struct daTagMhint_c { /* 80182D78 */ void checkNoAttention() const; }; -struct daPy_py_c { - /* 801414CC */ void checkMagneBootsOn() const; - /* 8015DFF4 */ void getLeftHandPos() const; - /* 8015F8D0 */ void getThrowBoomerangActor(); - /* 801829E0 */ void checkThrowDamage() const; - /* 80182A10 */ void checkGoronSideMove() const; - /* 80182AAC */ void getRightFootPosP(); - /* 80182AB4 */ void getLeftFootPosP(); - /* 80182ABC */ u32 getMidnaActor(); - /* 80182AC4 */ void checkCopyRodThrowAfter() const; - /* 80182AD8 */ void checkRide() const; - /* 80182B9C */ void getRightHandPos() const; - - static u8 m_midnaActor[4]; -}; - struct daHorse_c { /* 80182D04 */ void getLashDashStart() const; /* 80182D1C */ void checkTurnStandCamera() const; /* 80182D48 */ void checkJump() const; }; -struct daAlink_c { - /* 8009D87C */ bool getE3Zhint(); - /* 800D2ABC */ void checkCutLargeTurnState() const; - /* 800DE884 */ void checkBowCameraArrowPosP(s16*, s16*); - /* 800E1390 */ void getCopyRodCameraActor(); - /* 800F3CF8 */ void checkCanoeRideTandem(); - /* 80112474 */ void checkIronBallThrowMode() const; - /* 801124B4 */ void checkIronBallThrowReturnMode() const; - /* 80133EF0 */ void checkMidnaLockJumpPoint() const; - /* 8018280C */ void getChainGrabActor(); - /* 80182814 */ void checkCokkoGlide() const; - /* 8018283C */ void checkCameraLargeDamage() const; - /* 80182870 */ void getHsSubChainTopPos() const; - /* 80182888 */ void checkCutHeadProc() const; - /* 8018289C */ void getRideActor(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); -}; - -struct dEvt_control_c { - /* 800434D8 */ void searchMapEventData(u8); -}; - -struct dEvent_manager_c { - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int); - /* 8004817C */ void cutEnd(int); -}; - -struct dDlst_window_c { - /* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32); - /* 80051ADC */ void setScissor(f32, f32, f32, f32); -}; - -struct dDlst_effectLine_c { - /* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32); -}; - struct dDemo_object_c { /* 80039128 */ void getActiveCamera(); }; @@ -129,158 +48,10 @@ struct dDemo_c { static u8 m_object[4]; }; -struct dCstick_c { - /* 8008845C */ bool Shift(u32); -}; - -struct cCcD_ShapeAttr { - struct Shape { - /* 80167BBC */ ~Shape(); - }; -}; - -struct dCcS { - /* 80086D8C */ void ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*); - /* 80086FBC */ void chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*, - fopAc_ac_c*); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026EFA4 */ ~cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - -struct dCcMassS_Mng { - /* 80085E6C */ void SetCam(cM3dGCps const&); - /* 80085EB0 */ void GetResultCam() const; - /* 80085EB8 */ void GetCamTopPos(Vec*); -}; - -struct dCamSetup_c { - /* 80088668 */ dCamSetup_c(); - /* 800888B8 */ ~dCamSetup_c(); - /* 80088918 */ void CheckLatitudeRange(s16*); - /* 80088988 */ void PlayerHideDist(); - /* 80182BB8 */ void CheckFlag2(u16); - /* 80182BD0 */ void CheckFlag(u16); - /* 80182BE8 */ void WaitRollSpeed(); - /* 80182BF0 */ void WaitRollTimer(); - /* 80182C1C */ void ThrowTimer(); - /* 80182C24 */ void ThrowCushion(); - /* 80182C2C */ void ThrowVAngle(); - /* 80182C34 */ void ThrowCtrAdjust(); - /* 80182CEC */ void ChargeBRatio(); - /* 80182CF4 */ void ChargeTimer(); - /* 80182CFC */ void ChargeLatitude(); -}; - -struct dCamParam_c { - /* 800884F0 */ dCamParam_c(s32); - /* 8008858C */ ~dCamParam_c(); - /* 800885D4 */ void Change(s32); - /* 80088620 */ void SearchStyle(u32); - /* 80182C60 */ void Arg2(s16); - /* 80182C3C */ void Arg2(); - /* 80182C48 */ void Arg1(); - /* 80182C6C */ void Arg1(u8); - /* 80182C50 */ void Arg0(); - /* 80182C74 */ void Arg0(u8); - /* 80182C7C */ void Fovy(u8); - /* 80182C58 */ void Fovy(); - /* 80182C8C */ void Flag(s32, u16); - /* 80182CB4 */ void CheckFlag(u16); - /* 80182CD0 */ void Val(s32, int); -}; - -struct dCamMath { - /* 8008813C */ void rationalBezierRatio(f32, f32); - /* 80088284 */ void zoomFovy(f32, f32); - /* 8008831C */ void xyzRotateX(cXyz&, cSAngle); - /* 80088384 */ void xyzRotateY(cXyz&, cSAngle); - /* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&); -}; - -struct dCamForcusLine { - /* 801824C8 */ void Init(); - /* 80182560 */ void Draw(); - /* 801825E4 */ void Off(); -}; - -struct dBgS_SphChk { - /* 80078A14 */ dBgS_SphChk(); - /* 80078AC0 */ ~dBgS_SphChk(); -}; - -struct dBgS_RoofChk { - /* 80078FF4 */ dBgS_RoofChk(); - /* 80079090 */ ~dBgS_RoofChk(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - struct dBgS_CamSphChk { /* 80165E74 */ ~dBgS_CamSphChk(); }; -struct cBgD_Vtx_t; - -struct dBgS_CamGndChk_Wtr { - /* 80077A00 */ dBgS_CamGndChk_Wtr(); - /* 80077A98 */ ~dBgS_CamGndChk_Wtr(); -}; - -struct dBgS_CamGndChk { - /* 80077988 */ ~dBgS_CamGndChk(); -}; - -struct dBgS { - /* 80074ABC */ void ChkMoveBG(cBgS_PolyInfo const&); - /* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&); - /* 80074F40 */ void GetCamMoveBG(cBgS_PolyInfo const&); - /* 80074F90 */ void GetRoomCamId(cBgS_PolyInfo const&); - /* 80075080 */ void GetGrpSoundId(cBgS_PolyInfo const&); - /* 800750D0 */ void ChkGrpInf(cBgS_PolyInfo const&, u32); - /* 8007549C */ void RoofChk(dBgS_RoofChk*); - /* 80075688 */ void SphChk(dBgS_SphChk*, void*); - /* 8007595C */ void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800735DC */ void LockonReleaseDistanse(); - /* 80073734 */ void ActionTarget(s32); - /* 8007378C */ void CheckObjectTarget(s32); - /* 800737E4 */ void LockonTruth(); - /* 8016E424 */ void LockEdge(); - /* 80182994 */ void GetCheckObjectCount(); - /* 80182AD0 */ void keepLock(int); -}; - -struct d2DBSplinePath { - /* 80097878 */ void Init(s32, s32); - /* 80097B68 */ void Spot(f32*, f32); - /* 801828D4 */ ~d2DBSplinePath(); -}; - -struct camera_process_class {}; - -struct cM_rnd_c { - /* 80053CDC */ void init(int, int, int); -}; - -struct cM3dGSph { - /* 8026F664 */ void Set(cXyz const&, f32); -}; - -struct cM3dGCyl { - /* 80030E3C */ ~cM3dGCyl(); - /* 8026F0A8 */ cM3dGCyl(cXyz const*, f32, f32); -}; - // // Forward References: // @@ -800,7 +571,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; -extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" extern void* g_fopCam_Method[5 + 1 /* padding */]; extern "C" extern void* g_fopVw_Method[5 + 1 /* padding */]; @@ -811,12 +581,10 @@ extern "C" extern void* __vt__18dDlst_effectLine_c[3]; extern "C" extern void* __vt__14dBgS_CamGndChk[12]; 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" f32 Zero__4cXyz[3]; extern "C" u8 BaseY__4cXyz[12]; extern "C" extern u8 g_dComIfGoat_gameInfo[4 + 4 /* padding */]; extern "C" extern u8 data_80450B44[4]; -extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; extern "C" u8 stopStatus__10fopAc_ac_c[4]; extern "C" u8 m_object__7dDemo_c[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; @@ -1854,10 +1622,10 @@ asm dCamera_c::~dCamera_c() { /* ############################################################################################## */ /* 8042C8F8-8042C9A0 059618 00A8+00 12/12 0/0 0/0 .bss specialType__22@unnamed@d_camera_cpp@ */ -static u8 data_8042C8F8[168]; +static int data_8042C8F8[42]; /* 80451020-80451024 000520 0004+00 4/4 0/0 0/0 .sbss Stage__22@unnamed@d_camera_cpp@ */ -static u8 data_80451020[4]; +static int data_80451020; /* 804536A0-804536A4 001CA0 0004+00 39/39 0/0 0/0 .sdata2 @5656 */ SECTION_SDATA2 static u8 lit_5656[4] = { @@ -2854,7 +2622,8 @@ static asm void func_8016C2D4() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoCPd_c::getHoldA(u32 param_0) { +// asm void mDoCPd_c::getHoldA(u32 param_0) { +extern "C" asm void getHoldA__8mDoCPd_cFUl() { nofralloc #include "asm/d/d_camera/getHoldA__8mDoCPd_cFUl.s" } @@ -4077,7 +3846,8 @@ asm void daAlink_c::getHsSubChainTopPos() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daAlink_getAlinkActorClass() { +// static asm void daAlink_getAlinkActorClass() { +extern "C" asm void daAlink_getAlinkActorClass__Fv() { nofralloc #include "asm/d/d_camera/daAlink_getAlinkActorClass__Fv.s" } @@ -4107,7 +3877,8 @@ asm void daAlink_c::getRideActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGs_isTmpBit(u16 param_0) { +// static asm void dComIfGs_isTmpBit(u16 param_0) { +extern "C" asm void dComIfGs_isTmpBit__FUs() { nofralloc #include "asm/d/d_camera/dComIfGs_isTmpBit__FUs.s" } @@ -4117,7 +3888,8 @@ static asm void dComIfGs_isTmpBit(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm d2DBSplinePath::~d2DBSplinePath() { +// asm d2DBSplinePath::~d2DBSplinePath() { +extern "C" asm void __dt__14d2DBSplinePathFv() { nofralloc #include "asm/d/d_camera/__dt__14d2DBSplinePathFv.s" } @@ -4192,7 +3964,8 @@ asm void dAttention_c::GetCheckObjectCount() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getAttention() { +// static asm void dComIfGp_getAttention() { +extern "C" asm void dComIfGp_getAttention__Fv() { nofralloc #include "asm/d/d_camera/dComIfGp_getAttention__Fv.s" } @@ -4237,7 +4010,8 @@ asm void cBgS_LinChk::GetCross() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfG_Bgsp() { +// static asm void dComIfG_Bgsp() { +extern "C" asm void dComIfG_Bgsp__Fv() { nofralloc #include "asm/d/d_camera/dComIfG_Bgsp__Fv.s" } @@ -4366,8 +4140,8 @@ asm void daPy_py_c::getLeftFootPosP() { #pragma pop /* 80182ABC-80182AC4 -00001 0008+00 0/0 0/0 0/0 .text getMidnaActor__9daPy_py_cFv */ -u32 daPy_py_c::getMidnaActor() { - return *(u32*)(&daPy_py_c::m_midnaActor); +extern "C" u32 getMidnaActor__9daPy_py_cFv() { + return *(u32*)(m_midnaActor__9daPy_py_c); } /* 80182AC4-80182AD0 17D404 000C+00 1/1 0/0 0/0 .text checkCopyRodThrowAfter__9daPy_py_cCFv */ @@ -4449,7 +4223,8 @@ asm void dCamSetup_c::WaitRollTimer() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoCPd_c::getTrigA(u32 param_0) { +// asm void mDoCPd_c::getTrigA(u32 param_0) { +extern "C" asm void getTrigA__8mDoCPd_cFUl() { nofralloc #include "asm/d/d_camera/getTrigA__8mDoCPd_cFUl.s" } diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 0513dd6d3d..b7623f1ee9 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -18,11 +18,6 @@ // Types: // -struct dDlst_effectLine_c { - /* 80053E9C */ void draw(); - /* 800541F4 */ void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32); -}; - struct dDlst_blo_c { /* 80053B64 */ void draw(); }; @@ -2259,7 +2254,8 @@ SECTION_SDATA2 static f32 lit_4876 = 32767.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDlst_effectLine_c::draw() { +// asm void dDlst_effectLine_c::draw() { +extern "C" asm void draw__18dDlst_effectLine_cFv() { nofralloc #include "asm/d/d_drawlist/draw__18dDlst_effectLine_cFv.s" } diff --git a/src/d/d_kyeff.cpp b/src/d/d_kyeff.cpp index 756b208ea4..fc8551f2d3 100644 --- a/src/d/d_kyeff.cpp +++ b/src/d/d_kyeff.cpp @@ -116,7 +116,7 @@ static int dKyeff_Create(kankyo_class* kankyo) { g_env_light.mWind.pow = 0.7f; g_env_light.mDaytime = time.hours * 15.0f; } - return 4; + return cPhs_COMPLEATE_e; } #else #pragma push diff --git a/src/d/d_kyeff2.cpp b/src/d/d_kyeff2.cpp index ffb20e5896..2c501a7106 100644 --- a/src/d/d_kyeff2.cpp +++ b/src/d/d_kyeff2.cpp @@ -66,7 +66,7 @@ static bool dKyeff2_Delete(dKyeff2_c* ptr) { static int dKyeff2_Create(kankyo_class* ptr) { dKyw_wether_init2(); - return 4; + return cPhs_COMPLEATE_e; } /* ############################################################################################## */ diff --git a/src/d/d_path.cpp b/src/d/d_path.cpp index 2b8000bc5f..b97537deb9 100644 --- a/src/d/d_path.cpp +++ b/src/d/d_path.cpp @@ -6,103 +6,110 @@ #include "d/d_path.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dStage_roomControl_c { - /* 80024384 */ void getStatusRoomDt(int); -}; - -struct dPath {}; - -struct cBgS_PolyInfo {}; - -struct dBgS { - /* 80074FE0 */ void GetRoomPathId(cBgS_PolyInfo const&); - /* 80075030 */ void GetRoomPathPntNo(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); -}; - -struct cXyz {}; - -// -// Forward References: -// - -extern "C" void dPath_GetPnt__FPC5dPathi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void dPath_GetNextRoomPath__FPC5dPathi(); -extern "C" void dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi(); - -// -// External References: -// - -extern "C" void getStatusRoomDt__20dStage_roomControl_cFi(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void GetRoomPathId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomPathPntNo__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void _savegpr_26(); -extern "C" void _restgpr_26(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; - -// -// Declarations: -// +#include "d/com/d_com_inf_game.h" /* 800517B0-800517EC 04C0F0 003C+00 0/0 7/7 63/63 .text dPath_GetPnt__FPC5dPathi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPath_GetPnt(dPath const* param_0, int param_1) { - nofralloc -#include "asm/d/d_path/dPath_GetPnt__FPC5dPathi.s" +dStage_dPnt_c* dPath_GetPnt(dPath const* path, int pnt_index) { + if (path == NULL || path->m_points == NULL || pnt_index < 0 || pnt_index >= path->m_num) { + return NULL; + } + + return &path->m_points[pnt_index]; } -#pragma pop /* 800517EC-80051898 04C12C 00AC+00 1/1 12/12 82/82 .text dPath_GetRoomPath__Fii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u16* dPath_GetRoomPath(int param_0, int param_1) { - nofralloc -#include "asm/d/d_path/dPath_GetRoomPath__Fii.s" +dPath* dPath_GetRoomPath(int path_index, int room_no) { + dStage_dPath_c* path; + + if (room_no == -1) { + path = i_dComIfGp_getStage()->getPath2Inf(); + } else { + dStage_roomStatus_c* roomSt = dComIfGp_roomControl_getStatusRoomDt(room_no); + if (roomSt == NULL) { + return NULL; + } + + path = roomSt->mRoomDt.getPath2Inf(); + } + + if (path == NULL || path_index < 0 || path_index >= path->m_num) { + return NULL; + } + + return &path->m_path[path_index]; } -#pragma pop /* 80051898-8005195C 04C1D8 00C4+00 0/0 1/1 3/3 .text dPath_GetNextRoomPath__FPC5dPathi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPath_GetNextRoomPath(dPath const* param_0, int param_1) { - nofralloc -#include "asm/d/d_path/dPath_GetNextRoomPath__FPC5dPathi.s" -} -#pragma pop +dPath* dPath_GetNextRoomPath(dPath const* p_path, int room_no) { + dStage_dPath_c* path; -/* ############################################################################################## */ -/* 80452000-80452008 000600 0004+04 1/1 0/0 0/0 .sdata2 @3685 */ -SECTION_SDATA2 static f32 lit_3685[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; + if (room_no == -1) { + path = i_dComIfGp_getStage()->getPath2Inf(); + } else { + dStage_roomStatus_c* roomSt = dComIfGp_roomControl_getStatusRoomDt(room_no); + if (roomSt == NULL) { + return NULL; + } + + path = roomSt->mRoomDt.getPath2Inf(); + } + + int next_id = p_path->m_nextID; + if (path == NULL || next_id == 0xFFFF) { + return NULL; + } + + if (next_id < 0 || next_id >= path->m_num) { + return NULL; + } + + return &path->m_path[next_id]; +} /* 8005195C-80051AC0 04C29C 0164+00 0/0 1/1 4/4 .text * dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& param_0, cXyz* param_1, int* param_2) { - nofralloc -#include "asm/d/d_path/dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi.s" +int dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2) { + int roomId = dComIfG_Bgsp().GetRoomId(poly); + int roomPathId = dComIfG_Bgsp().GetRoomPathId(poly); + + p_pathVec->x = 0.0f; + p_pathVec->y = 0.0f; + p_pathVec->z = 0.0f; + *param_2 = 0; + + if (roomId == -1) { + return 0; + } + + dPath* path = dPath_GetRoomPath(roomPathId, roomId); + if (path == NULL) { + return 0; + } + + if (path->field_0x6 != 0xFF && dComIfGs_isSwitch(path->field_0x6, roomId)) { + return 0; + } + + int pnt_no = dComIfG_Bgsp().GetRoomPathPntNo(poly); + if (pnt_no == 0xFF || pnt_no < 0 || pnt_no >= path->m_num) { + return 0; + } + + dStage_dPnt_c* pnt_start = path->m_points; + dStage_dPnt_c* pnt_end = &pnt_start[pnt_no]; + + dStage_dPnt_c* pnt_begin; + if (pnt_no == path->m_num - 1) { + pnt_begin = pnt_start; + } else { + pnt_begin = &pnt_start[pnt_no + 1]; + } + + p_pathVec->x = pnt_begin->m_position.x - pnt_end->m_position.x; + p_pathVec->y = pnt_begin->m_position.y - pnt_end->m_position.y; + p_pathVec->z = pnt_begin->m_position.z - pnt_end->m_position.z; + *param_2 = path->field_0x4; + + return 1; } -#pragma pop diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index ed36960c30..dc582d2f9b 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -2492,6 +2492,20 @@ static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int para } #pragma pop +/* static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) { + dStage_dPath_c* path_c = ((char*)i_data + 4); + dPath* path = path_c->m_path; + + stageDt->setPathInfo(path_c); + + for (int i = 0; i < path_c->m_num; i++) { + if ((u32)path->m_points < 0x80000000) { + path->m_points += path_c->m_num + } + path++; + } +} */ + /* 80025F44-80025F78 020884 0034+00 2/0 0/0 0/0 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */ static int dStage_rppnInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) { stageDt->setPnt2Info((dStage_dPnt_c*)((char*)i_data + 4)); diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index 23524eb369..a0dac1edbd 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -909,7 +909,7 @@ void dEvDtStaff_c::specialProcCreate() { cXyz* posP = dComIfGp_evmng_getMyXyzP(staffId, "POS"); if (posP == NULL) { - pos = ((fopAc_ac_c*)dComIfGp_getPlayer(0))->getPosition(); + pos = dComIfGp_getPlayer(0)->getPosition(); } else { pos = *posP; } diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index 591bcad391..440264d86a 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -506,7 +506,7 @@ void dEvent_manager_c::Sequencer() { if (iVar5 && cutType != 1) { bVar1 = true; cXyz attentionPos( - ((fopAc_ac_c*)dComIfGp_getPlayer(0))->mAttentionInfo.mPosition); + dComIfGp_getPlayer(0)->mAttentionInfo.mPosition); cXyz camCenter = dCam_getBody()->Center(); f32 distance = cXyz((attentionPos - camCenter)).abs(); @@ -1149,7 +1149,7 @@ static fopAc_ac_c* findShutterCallBack(fopAc_ac_c* pActor, void* param_1) { return NULL; } - cXyz diff = pActor->mOrig.mPosition - prms->mActor->mOrig.mPosition; + cXyz diff = pActor->orig.pos - prms->mActor->orig.pos; if (diff.x < 10 && diff.x > -10 && diff.y < 10 && diff.y > -10 && diff.z < 10 && diff.z > -10) { return pActor; } @@ -1161,13 +1161,13 @@ static fopAc_ac_c* findShutterCallBack(fopAc_ac_c* pActor, void* param_1) { fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 bsTypeId, int param_1) { FindShtrCbPrms prms; prms.mBsTypeId = bsTypeId; - prms.mActor = (fopAc_ac_c*)dComIfGp_getPlayer(0); + prms.mActor = 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; + cXyz goal(shutterActor->orig.pos); + s16 angle = prms.mActor->orig.angle.y + 0x8000; goal.x += cM_ssin(angle) * 100; goal.z += cM_scos(angle) * 100; setGoal(&goal); diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 4d8c3ffd6d..6dbee8d36e 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -5,14 +5,14 @@ #include "d/kankyo/d_kankyo.h" #include "MSL_C/MSL_Common/Src/mem.h" +#include "SSystem/SComponent/c_counter.h" +#include "SSystem/SComponent/c_math.h" #include "d/com/d_com_inf_game.h" #include "d/kankyo/d_kankyo_data.h" #include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" #include "m_Do/m_Do_audio.h" -#include "SSystem/SComponent/c_math.h" -#include "SSystem/SComponent/c_counter.h" // // Types: @@ -20,8 +20,6 @@ struct sub_kankyo__class {}; -struct color_RGB_class {}; - // // Forward References: // @@ -835,6 +833,52 @@ SECTION_SDATA2 static f32 lit_4529 = 0.5f; /* 8019D44C-8019D520 197D8C 00D4+00 2/2 0/0 0/0 .text * dKy_GXInitLightDistAttn__FP12J3DLightInfoffUc */ +// matches with literals +#ifdef NONMATCHING +static void dKy_GXInitLightDistAttn(J3DLightInfo* i_info, f32 param_1, f32 param_2, u8 param_3) { + f32 temp_f3; + f32 var_f0; + f32 var_f4; + f32 var_f5; + + if (param_1 < 0.0f) { + param_3 = 0; + } + + if (param_2 <= 0.0f || param_2 >= 1.0f) { + param_3 = 0; + } + + switch (param_3) { /* irregular */ + case 1: + var_f4 = 1.0f; + var_f5 = (1.0f - param_2) / (param_2 * param_1); + var_f0 = 0.0f; + break; + case 2: + var_f4 = 1.0f; + temp_f3 = (1.0f - param_2) * 0.5f; + var_f5 = temp_f3 / (param_2 * param_1); + var_f0 = temp_f3 / (param_1 * param_2 * param_1); + break; + case 3: + var_f4 = 1.0f; + var_f5 = 0.0f; + var_f0 = (1.0f - param_2) / (param_1 * (param_2 * param_1)); + break; + default: + case 0: + var_f4 = 1.0f; + var_f5 = 0.0f; + var_f0 = var_f5; + break; + } + + i_info->mDistAtten.x = var_f4; + i_info->mDistAtten.y = var_f5; + i_info->mDistAtten.z = var_f0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -844,48 +888,79 @@ static asm void dKy_GXInitLightDistAttn(J3DLightInfo* param_0, f32 param_1, f32 #include "asm/d/kankyo/d_kankyo/dKy_GXInitLightDistAttn__FP12J3DLightInfoffUc.s" } #pragma pop +#endif /* 8019D520-8019D56C 197E60 004C+00 1/1 0/0 0/0 .text u8_data_ratio_set__FUcUcf */ +// matches with literals +#ifdef NONMATCHING +static s16 u8_data_ratio_set(u8 param_0, u8 param_1, f32 param_2) { + return param_0 + (int)(param_2 * (param_1 - param_0)); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void u8_data_ratio_set(u8 param_0, u8 param_1, f32 param_2) { +static asm s16 u8_data_ratio_set(u8 param_0, u8 param_1, f32 param_2) { nofralloc #include "asm/d/kankyo/d_kankyo/u8_data_ratio_set__FUcUcf.s" } #pragma pop +#endif /* 8019D56C-8019D5BC 197EAC 0050+00 1/1 0/0 0/0 .text s16_data_ratio_set__Fssf */ +// matches with literals +#ifdef NONMATCHING +static s16 s16_data_ratio_set(s16 param_0, s16 param_1, f32 param_2) { + return param_0 + (s16)(param_2 * (param_1 - param_0)); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void s16_data_ratio_set(s16 param_0, s16 param_1, f32 param_2) { +static asm s16 s16_data_ratio_set(s16 param_0, s16 param_1, f32 param_2) { nofralloc #include "asm/d/kankyo/d_kankyo/s16_data_ratio_set__Fssf.s" } #pragma pop +#endif /* 8019D5BC-8019D61C 197EFC 0060+00 1/1 0/0 0/0 .text kankyo_color_ratio_calc_common__Fsf */ +// matches with literals +#ifdef NONMATCHING +static u8 kankyo_color_ratio_calc_common(s16 param_0, f32 param_1) { + s16 color = param_0 * param_1; + + if (color < 0) { + color = 0; + } else if (color > 255) { + color = 255; + } + + return color; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void kankyo_color_ratio_calc_common(s16 param_0, f32 param_1) { +static asm u8 kankyo_color_ratio_calc_common(s16 param_0, f32 param_1) { nofralloc #include "asm/d/kankyo/d_kankyo/kankyo_color_ratio_calc_common__Fsf.s" } #pragma pop +#endif /* 8019D61C-8019D68C 197F5C 0070+00 1/1 0/0 0/0 .text * kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void kankyo_color_ratio_calc(_GXColor* param_0, _GXColorS10 param_1, f32 param_2) { - nofralloc -#include "asm/d/kankyo/d_kankyo/kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f.s" +static void kankyo_color_ratio_calc(GXColor* o_color, GXColorS10 param_1, f32 param_2) { + f32 ratio = param_2; + s16 g = param_1.g; + s16 b = param_1.b; + + o_color->r = kankyo_color_ratio_calc_common(param_1.r, ratio); + o_color->g = kankyo_color_ratio_calc_common(g, ratio); + o_color->b = kankyo_color_ratio_calc_common(b, ratio); } -#pragma pop /* 8019D68C-8019D790 197FCC 0104+00 2/2 0/0 0/0 .text kankyo_color_ratio_set__FUcUcfUcUcfsf */ #pragma push @@ -899,27 +974,38 @@ static asm void kankyo_color_ratio_set(u8 param_0, u8 param_1, f32 param_2, u8 p #pragma pop /* 8019D790-8019D7A0 1980D0 0010+00 1/1 0/0 0/0 .text fl_data_ratio_set__Ffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void fl_data_ratio_set(f32 param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/d/kankyo/d_kankyo/fl_data_ratio_set__Ffff.s" +static f32 fl_data_ratio_set(f32 param_0, f32 param_1, f32 param_2) { + return param_0 + param_2 * (param_1 - param_0); } -#pragma pop /* 8019D7A0-8019D878 1980E0 00D8+00 3/3 0/0 0/0 .text float_kankyo_color_ratio_set__Fffffffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void float_kankyo_color_ratio_set(f32 param_0, f32 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5, f32 param_6, f32 param_7) { - nofralloc -#include "asm/d/kankyo/d_kankyo/float_kankyo_color_ratio_set__Fffffffff.s" +static f32 float_kankyo_color_ratio_set(f32 param_0, f32 param_1, f32 param_2, f32 param_3, + f32 param_4, f32 param_5, f32 param_6, f32 param_7) { + f32 temp_f1; + f32 temp_f31; + + temp_f31 = fl_data_ratio_set(param_0, param_1, param_2); + temp_f1 = fl_data_ratio_set(temp_f31, fl_data_ratio_set(param_3, param_4, param_2), param_5); + return temp_f1 + (param_7 * (param_6 - temp_f1)); } -#pragma pop /* 8019D878-8019D8AC 1981B8 0034+00 3/3 0/0 0/0 .text get_parcent__Ffff */ +// matches with literals +#ifdef NONMATCHING +static f32 get_parcent(f32 param_0, f32 param_1, f32 param_2) { + f32 temp_f1; + f32 temp_f2; + f32 temp_f4 = param_0 - param_1; + + if (0.0f != temp_f4) { + temp_f1 = 1.0f - (param_0 - param_2) / temp_f4; + if (!(temp_f1 >= 1.0f)) { + return temp_f1; + } + } + return 1.0f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -928,6 +1014,7 @@ static asm f32 get_parcent(f32 param_0, f32 param_1, f32 param_2) { #include "asm/d/kankyo/d_kankyo/get_parcent__Ffff.s" } #pragma pop +#endif /* 8019D8AC-8019D8CC 1981EC 0020+00 0/0 1/1 1/1 .text dKy_get_parcent__Ffff */ f32 dKy_get_parcent(f32 param_0, f32 param_1, f32 param_2) { @@ -1086,6 +1173,15 @@ static asm void plight_set() { #pragma pop /* 8019E854-8019E874 199194 0020+00 1/1 0/0 0/0 .text bgparts_activelight_init__Fv */ +#ifdef NONMATCHING +static void bgparts_activelight_init() { + dScnKy_env_light_c* light = i_dKy_getEnvlight(); + + for (int i = 0; i < 2; i++) { + } + light->mBGpartsActiveLight[0].mIndex = 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1094,6 +1190,7 @@ static asm void bgparts_activelight_init() { #include "asm/d/kankyo/d_kankyo/bgparts_activelight_init__Fv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803BBF58-803BBFB8 019078 0060+00 1/1 0/0 0/0 .data test_pos_tbl$5126 */ @@ -1221,7 +1318,7 @@ static void envcolor_init() { g_env_light.mInitAnmTimer = 1; g_env_light.mSchBit = 0; g_env_light.mSchbitTimer = 0; - + g_env_light.mVrboxInvisible = false; g_env_light.mContrastFlag = 0; g_env_light.mFogAdjEnable = true; @@ -1294,7 +1391,8 @@ static void envcolor_init() { g_env_light.mColpatWeather = 0; g_env_light.field_0xecc = 0.0f; - if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") || !strcmp(dComIfGp_getStartStageName(), "R_SP127")) { + if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") || + !strcmp(dComIfGp_getStartStageName(), "R_SP127")) { if (g_env_light.field_0x12cc >= 7) { g_env_light.mColpatWeather = 2; } else if (g_env_light.field_0x12cc != 0) { @@ -1313,7 +1411,8 @@ static void envcolor_init() { g_env_light.mRainCountOrig = 0; g_env_light.field_0x12a0 = 0; g_env_light.mDiceWeatherMode = 0; - g_env_light.mDiceWeatherChangeTime = dComIfGs_getTime() + (cM_rndF(g_Counter.mCounter0 & 0x1F) * 15.0f); + g_env_light.mDiceWeatherChangeTime = + dComIfGs_getTime() + (cM_rndF(g_Counter.mCounter0 & 0x1F) * 15.0f); if (g_env_light.mDiceWeatherChangeTime >= 360.0f) { g_env_light.mDiceWeatherChangeTime -= 360.0f; } @@ -1417,7 +1516,7 @@ void dKy_clear_game_init() { g_env_light.mNexttime = -1.0f; g_env_light.mTime = -1.0f; g_env_light.mDarkDaytime = 120.0f; - + g_env_light.mDarktimeWeek = 0; g_env_light.field_0x12fe = 0; g_env_light.field_0x130a = 0; @@ -2472,7 +2571,7 @@ static int dKy_Create(void*) { } g_env_light.mNexttime = -1.0f; - return 4; + return cPhs_COMPLEATE_e; } #else #pragma push @@ -2825,6 +2924,23 @@ SECTION_DEAD static char const* const stringBase_80394E90 = #pragma pop /* 801A80D0-801A8168 1A2A10 0098+00 1/1 0/0 2/2 .text dKy_fog_startendz_set__Ffff */ +// matches with literals +#ifdef NONMATCHING +void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 ratio) { + if (ratio < 0.0f || ratio > 1.0f) { + OSReport_Warning("\ndKy_fog_startendz_set ratio error!\n"); + ratio = 0.0f; + } + + if (ratio < 9.999999747378752e-05f) { + ratio = 0.0f; + } + + g_env_light.field_0x11ec = param_0; + g_env_light.field_0x11f0 = param_1; + g_env_light.field_0x11f4 = ratio; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2833,6 +2949,7 @@ asm void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 param_2) { #include "asm/d/kankyo/d_kankyo/dKy_fog_startendz_set__Ffff.s" } #pragma pop +#endif /* 801A8168-801A8190 1A2AA8 0028+00 0/0 1/1 0/0 .text dKy_Itemgetcol_chg_on__Fv */ void dKy_Itemgetcol_chg_on() { @@ -2870,6 +2987,23 @@ SND_INFLUENCE* dKy_Sound_get() { } /* 801A8484-801A8538 1A2DC4 00B4+00 0/0 2/2 0/0 .text dKy_SordFlush_set__F4cXyzi */ +// matches with literals +#ifdef NONMATCHING +void dKy_SordFlush_set(cXyz param_0, int param_1) { + dScnKy_env_light_c* light = i_dKy_getEnvlight(); + + if (!dKy_darkworld_check() && + (light->mThunderEff.mStateTimer >= 10 || light->mThunderEff.field_0x8 <= 0.0f)) { + if (g_env_light.mSwordLight.mState == 0) { + g_env_light.mSwordLight.mState = 1; + g_env_light.mSwordLight.mLightType = param_1; + g_env_light.mSwordLight.field_0x8.mPosition = param_0; + } else if (g_env_light.mSwordLight.mState == 2) { + g_env_light.mSwordLight.mState = 4; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2878,6 +3012,7 @@ asm void dKy_SordFlush_set(cXyz param_0, int param_1) { #include "asm/d/kankyo/d_kankyo/dKy_SordFlush_set__F4cXyzi.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453DA8-80453DAC 0023A8 0004+00 3/3 0/0 0/0 .sdata2 @8647 */ @@ -2894,24 +3029,20 @@ static asm void GxFogSet_Sub(_GXColor* param_0) { #pragma pop /* 801A85E8-801A862C 1A2F28 0044+00 1/1 0/0 0/0 .text GxFog_set__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void GxFog_set() { - nofralloc -#include "asm/d/kankyo/d_kankyo/GxFog_set__Fv.s" +static void GxFog_set() { + GXColor color; + color.r = g_env_light.mFogColor.r; + color.g = g_env_light.mFogColor.g; + color.b = g_env_light.mFogColor.b; + + GxFogSet_Sub(&color); } -#pragma pop /* 801A862C-801A8650 1A2F6C 0024+00 0/0 7/7 2/2 .text dKy_GxFog_set__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKy_GxFog_set() { - nofralloc -#include "asm/d/kankyo/d_kankyo/dKy_GxFog_set__Fv.s" +void dKy_GxFog_set() { + GxFog_set(); + GxXFog_set(); } -#pragma pop /* 801A8650-801A86F8 1A2F90 00A8+00 0/0 3/3 6/6 .text dKy_GxFog_tevstr_set__FP12dKy_tevstr_c */ #pragma push @@ -2934,14 +3065,11 @@ asm void dKy_GfFog_tevstr_set(dKy_tevstr_c* param_0) { #pragma pop /* 801A87A0-801A87E4 1A30E0 0044+00 3/3 0/0 0/0 .text GxXFog_set__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void GxXFog_set() { - nofralloc -#include "asm/d/kankyo/d_kankyo/GxXFog_set__Fv.s" +static void GxXFog_set() { + dKyd_xfog_table_set(g_env_light.mFogAdjTableType); + GXSetFogRangeAdj((GXBool)g_env_light.mFogAdjEnable, g_env_light.mFogAdjCenter, + &g_env_light.mXFogTbl); } -#pragma pop /* 801A87E4-801A880C 1A3124 0028+00 0/0 0/0 52/52 .text dKy_change_colpat__FUc */ void dKy_change_colpat(u8 colpat) { @@ -3136,7 +3264,7 @@ void dKy_instant_rainchg() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void NewAmbColGet(_GXColorS10* param_0) { +static asm GXColor NewAmbColGet(_GXColorS10* param_0) { nofralloc #include "asm/d/kankyo/d_kankyo/NewAmbColGet__FP11_GXColorS10.s" } @@ -3185,29 +3313,26 @@ static asm void dKy_ParticleColor_get_base(cXyz* param_0, dKy_tevstr_c* param_1, /* 801A9BE4-801A9CBC 1A4524 00D8+00 0/0 3/3 0/0 .text * dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKy_ParticleColor_get_actor(cXyz* param_0, dKy_tevstr_c* param_1, _GXColor* param_2, - _GXColor* param_3, _GXColor* param_4, _GXColor* param_5, - f32 param_6) { - nofralloc -#include "asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s" +void dKy_ParticleColor_get_actor(cXyz* param_0, dKy_tevstr_c* param_1, _GXColor* param_2, + _GXColor* param_3, _GXColor* param_4, _GXColor* param_5, + f32 param_6) { + if (param_1 != NULL) { + *param_2 = NewAmbColGet(¶m_1->mColorC0); + } else { + *param_2 = NewAmbColGet(&g_env_light.mActorAmbience); + } + + dKy_ParticleColor_get_base(param_0, param_1, param_2, param_3, param_4, param_5, param_6); } -#pragma pop /* 801A9CBC-801A9D60 1A45FC 00A4+00 0/0 6/6 0/0 .text * dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKy_ParticleColor_get_bg(cXyz* param_0, dKy_tevstr_c* param_1, _GXColor* param_2, - _GXColor* param_3, _GXColor* param_4, _GXColor* param_5, - f32 param_6) { - nofralloc -#include "asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s" +void dKy_ParticleColor_get_bg(cXyz* param_0, dKy_tevstr_c* param_1, _GXColor* param_2, + _GXColor* param_3, _GXColor* param_4, _GXColor* param_5, + f32 param_6) { + *param_2 = NewAmbColGet(&g_env_light.mTerrainAmbienceBG0); + dKy_ParticleColor_get_base(param_0, param_1, param_2, param_3, param_4, param_5, param_6); } -#pragma pop /* ############################################################################################## */ /* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -3247,6 +3372,60 @@ SECTION_SDATA2 static f32 lit_9677 = 1.5f; /* 801AAC5C-801AAD50 1A559C 00F4+00 0/0 1/1 0/0 .text * dKy_WolfEyeLight_set__FP4cXyzfffP8_GXColorfUcUc */ +// matches with literals +#ifdef NONMATCHING +int dKy_WolfEyeLight_set(cXyz* param_0, f32 param_1, f32 param_2, f32 param_3, GXColor* param_4, + f32 param_5, u8 param_6, u8 param_7) { + dScnKy_env_light_c* light = i_dKy_getEnvlight(); + + light->field_0x0c18[0].mPos = *param_0; + + light->field_0x0c18[0].mColor.r = param_4->r; + light->field_0x0c18[0].mColor.g = param_4->g; + light->field_0x0c18[0].mColor.b = param_4->b; + light->field_0x0c18[0].mColor.a = 255; + + light->field_0x0c18[0].field_0x10 = param_5; + light->field_0x0c18[0].field_0x14 = 0.99f; + light->field_0x0c18[0].field_0x18 = param_3; + light->field_0x0c18[0].field_0x1c = param_1; + light->field_0x0c18[0].field_0x20 = param_2 + 90.0f; + light->field_0x0c18[0].field_0x24 = param_6; + light->field_0x0c18[0].field_0x25 = param_7; + + f32 fvar0; + f32 fvar1; + f32 fvar2; + switch (light->field_0x1309) { + case 0: + fvar0 = 50.0f; + fvar1 = 1.0f; + fvar2 = 0.9f; + break; + case 1: + fvar0 = 200.0f; + fvar1 = 1.0f; + fvar2 = fvar1; + break; + case 2: + fvar0 = 350.0f; + fvar1 = 1.5f; + fvar2 = fvar1; + break; + case 3: + default: + fvar0 = 1500.0f; + fvar1 = 4.0f; + fvar2 = 1.5f; + } + + light->field_0x127c = fvar0; + light->field_0x0c18[0].field_0x10 *= fvar1; + light->field_0x0c18[0].field_0x18 *= fvar2; + light->field_0x0c18[0].field_0x26 = 1; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3256,6 +3435,7 @@ asm void dKy_WolfEyeLight_set(cXyz* param_0, f32 param_1, f32 param_2, f32 param #include "asm/d/kankyo/d_kankyo/dKy_WolfEyeLight_set__FP4cXyzfffP8_GXColorfUcUc.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453DD0-80453DD4 0023D0 0004+00 3/3 0/0 0/0 .sdata2 @9722 */ @@ -3355,14 +3535,33 @@ asm void dKy_pol_efftype2_get(cBgS_PolyInfo const* param_0) { #pragma pop /* 801AB4C0-801AB59C 1A5E00 00DC+00 0/0 9/9 21/21 .text dKy_pol_sound_get__FPC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0) { - nofralloc -#include "asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s" +u8 dKy_pol_sound_get(cBgS_PolyInfo const* p_poly) { + dScnKy_env_light_c* envLight = i_dKy_getEnvlight(); + + if (p_poly == NULL || &dComIfG_Bgsp() == NULL) { + return 0; + } + + int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly); + if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 && + att0 == 4) { + att0 = 13; + } + + int att1 = dComIfG_Bgsp().GetPolyAtt1(*p_poly); + u8 uvar3; + if (envLight->mResPolSound != NULL) { + uvar3 = envLight->mResPolSound[att0].data[att1]; + } else { + uvar3 = 0; + } + + if (uvar3 == 0xFF) { + uvar3 = 0; + } + + return uvar3; } -#pragma pop /* 801AB59C-801AB668 1A5EDC 00CC+00 0/0 5/5 0/0 .text dKy_pol_argument_get__FPC13cBgS_PolyInfo */ u8 dKy_pol_argument_get(cBgS_PolyInfo const* p_poly) { diff --git a/src/d/kankyo/d_kankyo_data.cpp b/src/d/kankyo/d_kankyo_data.cpp index 131694e9ca..d30985334f 100644 --- a/src/d/kankyo/d_kankyo_data.cpp +++ b/src/d/kankyo/d_kankyo_data.cpp @@ -4,6 +4,7 @@ // #include "d/kankyo/d_kankyo_data.h" +#include "d/d_stage.h" #include "dol2asm.h" #include "dolphin/gx/GX.h" #include "dolphin/types.h" @@ -12,31 +13,12 @@ // Types: // -// Invented name. TODO: this should be renamed and probably moved to the header -// file once l_field_data is looked into more. Looks like it might be related to -// color palettes based off of dKyd_dmpalet_getp function name? -struct dKyd_l_field_data_struct { - u8 data[52]; -}; - -// Invented name. TODO: this should be renamed and probably moved to the header -// file once l_envr_default is looked into more. -struct dKyd_l_envr_default_struct { - u8 data[65]; -}; - // Invented name. TODO: this should be renamed and probably moved to the header // file once l_vr_box_data is looked into more. struct dKyd_l_vr_box_data_struct { u8 data[21]; }; -// Invented name. TODO: this should be renamed and probably moved to the header -// file once l_pselect_default is looked into more. -struct dKyd_l_pselect_default_struct { - u8 data[12]; -}; - // // Forward References: // @@ -55,12 +37,6 @@ extern "C" void dKyd_light_tw_size_tbl_getp__Fv(); extern "C" void dKyd_BloomInf_tbl_getp__Fi(); extern "C" extern char const* const d_kankyo_d_kankyo_data__stringBase0; -// -// External References: -// - -extern "C" extern u8 g_env_light[4880]; - // // Declarations: // @@ -285,71 +261,311 @@ static dKyd_lightSchejule l_time_attribute_boss[11] = { }; /* 803A953C-803A987C 00665C 0340+00 1/1 0/0 0/0 .data l_field_data */ -static dKyd_l_field_data_struct l_field_data[16] = { - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xC5, 0x9C, 0x40, - 0x00, 0x46, 0xEA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, +static stage_palette_info_class l_field_data[16] = { + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + {0x40, 0x40, 0x40}, + 0x40, + 0x40, + 0x40, + -5000.0f, + 30000.0f, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, }; /* 800569DC-800569E8 05131C 000C+00 0/0 1/1 0/0 .text dKyd_dmpalet_getp__Fv */ @@ -359,9 +575,16 @@ void* dKyd_dmpalet_getp() { /* ############################################################################################## */ /* 803A987C-803A9894 00699C 0018+00 1/1 0/0 0/0 .data l_pselect_default */ -static dKyd_l_pselect_default_struct l_pselect_default[2] = { - {{0x00, 0x00, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x04, 0x04, 0x05, 0x06, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}}; +static stage_pselect_info_class l_pselect_default[2] = { + { + {0x00, 0x00, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00}, + 0.0f, + }, + { + {0x04, 0x04, 0x05, 0x06, 0x06, 0x07, 0x00, 0x00}, + 0.0f, + }, +}; /* 800569E8-800569F4 051328 000C+00 0/0 1/1 0/0 .text dKyd_dmpselect_getp__Fv */ void* dKyd_dmpselect_getp() { @@ -370,17 +593,22 @@ void* dKyd_dmpselect_getp() { /* ############################################################################################## */ /* 803A9894-803A9918 0069B4 0082+02 1/1 0/0 0/0 .data l_envr_default */ -static dKyd_l_envr_default_struct l_envr_default[2] = { - {{0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {{0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}}; +static stage_envr_info_class l_envr_default[2] = { + { + {0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, + { + {0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }, +}; /* 800569F4-80056A00 051334 000C+00 0/0 1/1 0/0 .text dKyd_dmenvr_getp__Fv */ void* dKyd_dmenvr_getp() { @@ -444,17 +672,20 @@ dKyd_lightSchejule* dKyd_schejule_boss_getp() { } /* 803A9A94-803A9AC0 006BB4 0028+04 1/1 0/0 0/0 .data S_xfog_table_data */ -static GXFogAdjTable S_xfog_table_data[2] = {{{260, 260, 270, 280, 290, 300, 310, 320, 330, 340}}, - {{250, 260, 280, 320, 350, 400, 480, 550, 600, 800}}}; +static GXFogAdjTable S_xfog_table_data[2] = { + { + {260, 260, 270, 280, 290, 300, 310, 320, 330, 340}, + }, + { + {250, 260, 280, 320, 350, 400, 480, 550, 600, 800}, + }, +}; -// tblIdx must be 0 or 1. Not sure when 1 is used, and didn't see a visible difference when manually -// set it. /* 80056A24-80056A64 051364 0040+00 0/0 2/2 0/0 .text dKyd_xfog_table_set__FUc */ void dKyd_xfog_table_set(u8 tblIdx) { for (int i = 0; i < 10; i++) { u16 fogAdjTableEntry = S_xfog_table_data[tblIdx & 0xff].r[i]; - ((u16*)g_env_light)[0x856 + i] = fogAdjTableEntry; - // TODO: update this cast once g_env_light is broken up. + g_env_light.mXFogTbl.r[i] = fogAdjTableEntry; } } diff --git a/src/d/kankyo/d_kankyo_rain.cpp b/src/d/kankyo/d_kankyo_rain.cpp index 5fb82586ee..f40ca4158d 100644 --- a/src/d/kankyo/d_kankyo_rain.cpp +++ b/src/d/kankyo/d_kankyo_rain.cpp @@ -4,163 +4,12 @@ // #include "d/kankyo/d_kankyo_rain.h" +#include "MSL_C/math.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_demo.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct mDoGph_gInf_c { - static u8 mFrameBufferTimg[4]; -}; - -struct daPy_py_c { - /* 8006F160 */ bool getKandelaarFlamePos(); - /* 8015F424 */ void checkNowWolfEyeUp(); -}; - -struct dSv_memBit_c { - /* 80034934 */ void isDungeonItem(int) const; -}; - -struct dStage_roomControl_c { - /* 80024384 */ void getStatusRoomDt(int); -}; - -struct dScnKy_env_light_c { - /* 8019FA08 */ void getDaytime(); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct dKy_tevstr_c {}; - -struct csXyz { - /* 80018BD0 */ ~csXyz(); - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct _GXColor {}; - -struct Vec {}; - -struct cXyz { - /* 80009184 */ ~cXyz(); - /* 80266AE4 */ void operator+(Vec const&) const; -}; - -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 dKankyo_rain_Packet {}; - -struct dEvent_manager_c { - /* 800483E8 */ void getRunEventName(); -}; - -struct dDlst_peekZ_c { - /* 80056018 */ void newData(s16, s16, u32*); -}; - -struct dDemo_c { - static u8 m_mode[4]; -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcMassS_Mng { - /* 80085690 */ void Prepare(); -}; - -struct dBgS_RoofChk { - /* 80078FF4 */ dBgS_RoofChk(); - /* 80079090 */ ~dBgS_RoofChk(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_All { - /* 800778E8 */ ~dBgS_ObjGndChk_All(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_CamGndChk_Wtr { - /* 80077A00 */ dBgS_CamGndChk_Wtr(); - /* 80077A98 */ ~dBgS_CamGndChk_Wtr(); -}; - -struct dBgS { - /* 8007549C */ void RoofChk(dBgS_RoofChk*); -}; - -struct camera_class {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -struct _GXTexObj {}; - -struct _GXTexMapID {}; - -struct Z2EnvSeMgr { - /* 802C7CF4 */ void startNearThunderSe(s8); -}; - -struct STAR_EFF { - /* 80056DC8 */ ~STAR_EFF(); - /* 80056E04 */ STAR_EFF(); -}; - -struct SNOW_EFF { - /* 80056D58 */ ~SNOW_EFF(); - /* 80056D94 */ SNOW_EFF(); -}; - -struct ResTIMG {}; - -struct LIGHT_INFLUENCE {}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DSys { - /* 8031073C */ void reinitGX(); -}; - -struct J3DShape { - static u8 sOldVcdVatCmd[4]; -}; - -struct DOUBLE_POS {}; - // // Forward References: // @@ -292,45 +141,6 @@ extern "C" void cLib_addCalc__FPfffff(); extern "C" void startNearThunderSe__10Z2EnvSeMgrFSc(); extern "C" void* __nw__FUli(); extern "C" void reinitGX__6J3DSysFv(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXInverse(); -extern "C" void PSMTXRotRad(); -extern "C" void PSMTXTrans(); -extern "C" void C_MTXLightPerspective(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); -extern "C" void GXSetVtxDesc(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmt(); -extern "C" void GXSetTexCoordGen2(); -extern "C" void GXSetNumTexGens(); -extern "C" void GXBegin(); -extern "C" void GXSetCullMode(); -extern "C" void GXSetNumChans(); -extern "C" void GXSetChanCtrl(); -extern "C" void GXInitTexObj(); -extern "C" void GXInitTexObjLOD(); -extern "C" void GXLoadTexObj(); -extern "C" void GXSetNumIndStages(); -extern "C" void GXSetTevColorIn(); -extern "C" void GXSetTevAlphaIn(); -extern "C" void GXSetTevColorOp(); -extern "C" void GXSetTevAlphaOp(); -extern "C" void GXSetTevColor(); -extern "C" void GXSetAlphaCompare(); -extern "C" void GXSetTevOrder(); -extern "C" void GXSetNumTevStages(); -extern "C" void GXSetFog(); -extern "C" void GXSetBlendMode(); -extern "C" void GXSetColorUpdate(); -extern "C" void GXSetZMode(); -extern "C" void GXSetZCompLoc(); -extern "C" void GXLoadPosMtxImm(); -extern "C" void GXSetCurrentMtx(); -extern "C" void GXLoadTexMtxImm(); -extern "C" void GXSetClipMode(); extern "C" void __register_global_object(); extern "C" void __construct_array(); extern "C" void __save_gpr(); @@ -360,26 +170,15 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void memcmp(); -extern "C" void strcmp(); -extern "C" void cos(); -extern "C" void sin(); -extern "C" void atan2(); -extern "C" void sqrt(); extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */]; extern "C" extern void* __vt__19dKankyo_star_Packet[5]; extern "C" extern void* __vt__19dKankyo_snow_Packet[5]; extern "C" extern void* __vt__18dBgS_ObjGndChk_All[12]; extern "C" extern void* __vt__9J3DPacket[5]; 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 g_mEnvSeMgr[780]; extern "C" extern u8 g_Counter[12 + 4 /* padding */]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 m_mode__7dDemo_c[4]; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; @@ -403,6 +202,22 @@ SECTION_SDATA2 static u8 lit_3954[4] = { /* 8005B660-8005B708 055FA0 00A8+00 3/3 0/0 0/0 .text vectle_calc__FP10DOUBLE_POSP4cXyz */ +// matches with literals +#ifdef NONMATCHING +static void vectle_calc(DOUBLE_POS* i_pos, cXyz* o_out) { + double s = sqrt(i_pos->x * i_pos->x + i_pos->y * i_pos->y + i_pos->z * i_pos->z); + + if (s != 0.0) { + o_out->x = i_pos->x / s; + o_out->y = i_pos->y / s; + o_out->z = i_pos->z / s; + } else { + o_out->x = 0.0; + o_out->y = 0.0; + o_out->z = 0.0; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -411,27 +226,23 @@ static asm void vectle_calc(DOUBLE_POS* param_0, cXyz* param_1) { #include "asm/d/kankyo/d_kankyo_rain/vectle_calc__FP10DOUBLE_POSP4cXyz.s" } #pragma pop +#endif /* 8005B708-8005B760 056048 0058+00 7/7 0/0 0/0 .text get_vectle_calc__FP4cXyzP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2) { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s" +static void get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2) { + DOUBLE_POS pos; + pos.x = param_1->x - param_0->x; + pos.y = param_1->y - param_0->y; + pos.z = param_1->z - param_0->z; + + vectle_calc(&pos, param_2); } -#pragma pop /* 8005B760-8005B780 0560A0 0020+00 8/8 7/7 11/11 .text dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2) { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz.s" +void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2) { + get_vectle_calc(param_0, param_1, param_2); } -#pragma pop /* ############################################################################################## */ /* 804521BC-804521C0 0007BC 0004+00 4/4 0/0 0/0 .sdata2 @3970 */ @@ -439,18 +250,41 @@ SECTION_SDATA2 static f32 lit_3970 = 200.0f; /* 8005B780-8005B830 0560C0 00B0+00 2/2 0/0 0/0 .text * dKy_set_eyevect_calc__FP12camera_classP3Vecff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dKy_set_eyevect_calc(camera_class* param_0, Vec* param_1, f32 param_2, - f32 param_3) { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKy_set_eyevect_calc__FP12camera_classP3Vecff.s" +static void dKy_set_eyevect_calc(camera_class* i_camera, Vec* param_1, f32 param_2, f32 param_3) { + cXyz tmp; + get_vectle_calc(&i_camera->mLookat.mEye, &i_camera->mLookat.mCenter, &tmp); + param_1->x = i_camera->mLookat.mEye.x + tmp.x * param_2; + param_1->y = (i_camera->mLookat.mEye.y + tmp.y * param_3) - lit_3970; + param_1->z = i_camera->mLookat.mEye.z + tmp.z * param_2; } -#pragma pop /* 8005B830-8005B92C 056170 00FC+00 6/6 0/0 0/0 .text * dKy_set_eyevect_calc2__FP12camera_classP3Vecff */ +// matches with literals +#ifdef NONMATCHING +static void dKy_set_eyevect_calc2(camera_class* i_camera, Vec* param_1, f32 param_2, f32 param_3) { + cXyz tmp; + DOUBLE_POS pos; + + pos.x = i_camera->mLookat.mCenter.x - i_camera->mLookat.mEye.x; + if (param_3 != 0.0f) { + pos.y = i_camera->mLookat.mCenter.y - i_camera->mLookat.mEye.y; + } else { + pos.y = 0.0f; + } + pos.z = i_camera->mLookat.mCenter.z - i_camera->mLookat.mEye.z; + + vectle_calc(&pos, &tmp); + + param_1->x = i_camera->mLookat.mEye.x + tmp.x * param_2; + param_1->y = i_camera->mLookat.mEye.y + tmp.y * param_3; + param_1->z = i_camera->mLookat.mEye.z + tmp.z * param_2; + + if (param_3 == 0.0f) { + param_1->y = 0.0f; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -460,6 +294,7 @@ static asm void dKy_set_eyevect_calc2(camera_class* param_0, Vec* param_1, f32 p #include "asm/d/kankyo/d_kankyo_rain/dKy_set_eyevect_calc2__FP12camera_classP3Vecff.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804521C0-804521C4 0007C0 0004+00 1/1 0/0 0/0 .sdata2 @3992 */ @@ -473,24 +308,35 @@ SECTION_SDATA2 static f64 lit_3995 = 4503601774854144.0 /* cast s32 to float */; /* 8005B92C-8005BA24 05626C 00F8+00 5/5 0/0 0/0 .text * dKyr_set_btitex_common__FP9_GXTexObjP7ResTIMG11_GXTexMapID */ +// matches with literals +#ifdef NONMATCHING +static void dKyr_set_btitex_common(GXTexObj* i_obj, ResTIMG* i_img, GXTexMapID i_mapID) { + GXInitTexObj(i_obj, (&i_img->format + i_img->imageOffset), i_img->width, i_img->height, + (GXTexFmt)i_img->format, (GXTexWrapMode)i_img->wrapS, (GXTexWrapMode)i_img->wrapT, + (GXBool)(i_img->mipmapCount > 1)); + + GXInitTexObjLOD(i_obj, (GXTexFilter)i_img->minFilter, (GXTexFilter)i_img->magFilter, + i_img->minLOD * 0.125f, i_img->maxLOD * 0.125f, i_img->LODBias * 0.01f, + (GXBool)i_img->biasClamp, (GXBool)i_img->doEdgeLOD, + (GXAnisotropy)i_img->maxAnisotropy); + + GXLoadTexObj(i_obj, i_mapID); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dKyr_set_btitex_common(_GXTexObj* param_0, ResTIMG* param_1, _GXTexMapID param_2) { +static asm void dKyr_set_btitex_common(GXTexObj* param_0, ResTIMG* param_1, GXTexMapID param_2) { nofralloc #include "asm/d/kankyo/d_kankyo_rain/dKyr_set_btitex_common__FP9_GXTexObjP7ResTIMG11_GXTexMapID.s" } #pragma pop +#endif /* 8005BA24-8005BA48 056364 0024+00 12/12 0/0 0/0 .text dKyr_set_btitex__FP9_GXTexObjP7ResTIMG */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dKyr_set_btitex(_GXTexObj* param_0, ResTIMG* param_1) { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_set_btitex__FP9_GXTexObjP7ResTIMG.s" +static void dKyr_set_btitex(GXTexObj* i_obj, ResTIMG* i_img) { + dKyr_set_btitex_common(i_obj, i_img, GX_TEXMAP0); } -#pragma pop /* ############################################################################################## */ /* 804521D0-804521D4 0007D0 0004+00 4/4 0/0 0/0 .sdata2 @4103 */ @@ -543,25 +389,15 @@ asm void dKyr_lenzflare_move() { /* 80452208-8045220C 000808 0004+00 3/3 0/0 0/0 .sdata2 @4126 */ SECTION_SDATA2 static f32 lit_4126 = 285.0f; -/* 8045220C-80452210 00080C 0004+00 1/1 0/0 0/0 .sdata2 @4127 */ -SECTION_SDATA2 static f32 lit_4127 = 67.5f; - /* 8005BED8-8005BF08 056818 0030+00 1/1 0/0 0/0 .text dKyr_moon_arrival_check__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dKyr_moon_arrival_check() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_moon_arrival_check__Fv.s" +static bool dKyr_moon_arrival_check() { + return g_env_light.mDaytime > lit_4126 || g_env_light.mDaytime < 67.5f; } -#pragma pop /* ############################################################################################## */ /* 8037A4C0-8037A4E8 006B20 0028+00 1/1 0/0 0/0 .rodata sun_chkpnt$4155 */ -SECTION_RODATA static u8 const sun_chkpnt[40] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0xC1, 0xA0, - 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0xC1, 0xA0, 0x00, 0x00, - 0x41, 0x20, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, +SECTION_RODATA static f32 const sun_chkpnt[10] = { + 0.0f, 0.0f, -10.0f, -20.0f, 10.0f, 20.0f, -20.0f, 10.0f, 20.0f, -10.0f, }; COMPILER_STRIP_GATE(0x8037A4C0, &sun_chkpnt); @@ -573,13 +409,17 @@ SECTION_DEAD static char const* const stringBase_8037A580 = "D_MN09B"; #pragma pop /* 803A9BA0-803A9BAC 006CC0 000C+00 1/1 0/0 0/0 .data sun_color$4213 */ -SECTION_DATA static u8 sun_color[12] = { - 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, +SECTION_DATA static GXColor sun_color[3] = { + {255, 255, 253, 255}, + {255, 255, 255, 255}, + {255, 255, 253, 255}, }; /* 803A9BAC-803A9BB8 006CCC 000C+00 1/1 0/0 0/0 .data sun_color2$4214 */ -SECTION_DATA static u8 sun_color2[12] = { - 0xFF, 0x6E, 0x2B, 0xFF, 0x9C, 0x79, 0x5C, 0xFF, 0xFF, 0x4E, 0x00, 0xFF, +SECTION_DATA static GXColor sun_color2[3] = { + {255, 110, 43, 255}, + {156, 121, 92, 255}, + {255, 78, 0, 255}, }; /* 80450EE8-80450EEC 0003E8 0004+00 1/1 0/0 0/0 .sbss S_parcent_bak$4131 */ @@ -692,19 +532,10 @@ asm void dKyr_rain_init() { } #pragma pop -/* ############################################################################################## */ -/* 80452278-8045227C 000878 0004+00 1/1 0/0 0/0 .sdata2 @4430 */ -SECTION_SDATA2 static f32 lit_4430 = -800.0f; - /* 8005CDA8-8005CDD0 0576E8 0028+00 1/1 0/0 0/0 .text rain_bg_chk__FP19dKankyo_rain_Packeti */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void rain_bg_chk(dKankyo_rain_Packet* param_0, int param_1) { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/rain_bg_chk__FP19dKankyo_rain_Packeti.s" +static void rain_bg_chk(dKankyo_rain_Packet* i_packet, int i_idx) { + i_packet->mRainEff[i_idx].field_0x30 = dComIfGp_getCamera(0)->mLookat.mCenter.y + -800.0f; } -#pragma pop /* ############################################################################################## */ /* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -720,6 +551,37 @@ SECTION_SDATA2 static f32 lit_4467 = 50.0f; SECTION_SDATA2 static f32 lit_4468 = 10000.0f; /* 8005CDD0-8005CF78 057710 01A8+00 1/1 0/0 0/0 .text overhead_bg_chk__Fv */ +// matches with literals +#ifdef NONMATCHING +static bool overhead_bg_chk() { + camera_class* camera = dComIfGp_getCamera(0); + bool chk = false; + + dBgS_ObjGndChk_All gndchk; + dBgS_RoofChk roofchk; + + cXyz chkPos = camera->mLookat.mEye; + chkPos.y += 50.0f; + + roofchk.i_SetPos(chkPos); + if (dComIfG_Bgsp().RoofChk(&roofchk) != lit_4361) { + chk = true; + // Outside East Castle Town + if (!strcmp(dComIfGp_getStartStageName(), "F_SP122") && + dStage_roomControl_c::getStayNo() == 17) { + return false; + } + } + + chkPos.y += 10000.0f; + gndchk.SetPos(&chkPos); + if (dComIfG_Bgsp().GroundCross(&gndchk) > camera->mLookat.mEye.y + 50.0f) { + chk = true; + } + + return chk; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -728,6 +590,7 @@ static asm void overhead_bg_chk() { #include "asm/d/kankyo/d_kankyo_rain/overhead_bg_chk__Fv.s" } #pragma pop +#endif /* 8005CF78-8005D18C 0578B8 0214+00 1/1 0/0 0/0 .text forward_overhead_bg_chk__FP4cXyzf */ @@ -879,14 +742,14 @@ asm void dKyr_rain_move() { #pragma pop /* 8005E8B0-8005E8F8 0591F0 0048+00 1/1 0/0 0/0 .text d_krain_cut_turn_check__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void d_krain_cut_turn_check() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/d_krain_cut_turn_check__Fv.s" +static bool d_krain_cut_turn_check() { + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + + return player != NULL && (player->getCutType() == daPy_py_c::TYPE_CUT_TURN_RIGHT || + player->getCutType() == daPy_py_c::TYPE_CUT_TURN_LEFT || + player->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_LEFT || + player->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_RIGHT); } -#pragma pop /* ############################################################################################## */ /* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1088,14 +951,14 @@ asm void dKyr_star_init() { #pragma pop /* 8006140C-80061438 05BD4C 002C+00 0/0 1/1 0/0 .text dKyr_star_move__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKyr_star_move() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_star_move__Fv.s" +void dKyr_star_move() { + dKankyo_star_Packet* packet = g_env_light.mpStarPacket; + packet->mEffectNum = g_env_light.mStarCount; + + if (packet->mEffectNum != 0) { + packet->mEffect[0].field_0x28 = lit_4354; + } } -#pragma pop /* ############################################################################################## */ /* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1214,14 +1077,14 @@ asm void vrkumo_move() { #pragma pop /* 80062ADC-80062B4C 05D41C 0070+00 7/7 0/0 0/0 .text dKr_cullVtx_Set__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dKr_cullVtx_Set() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKr_cullVtx_Set__Fv.s" +static void dKr_cullVtx_Set() { + GXSetCullMode(GX_CULL_NONE); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA4, 8); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); } -#pragma pop /* ############################################################################################## */ /* 8037A4E8-8037A508 006B48 0020+00 1/1 0/0 0/0 .rodata @6991 */ @@ -1873,14 +1736,10 @@ asm void drawVrkumo(f32 (*param_0)[4], _GXColor& param_1, u8** param_2) { #pragma pop /* 8006B190-8006B1A8 065AD0 0018+00 0/0 1/1 0/0 .text dKyr_thunder_init__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKyr_thunder_init() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_thunder_init__Fv.s" +void dKyr_thunder_init() { + g_env_light.mThunderEff.mStateTimer = 0; + g_env_light.mThunderEff.field_0x2 = 0; } -#pragma pop /* ############################################################################################## */ /* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1978,6 +1837,25 @@ asm void dKyr_odour_draw(f32 (*param_0)[4], u8** param_1) { #pragma pop /* 8006C790-8006C85C 0670D0 00CC+00 0/0 1/1 0/0 .text dKyr_mud_init__Fv */ +// matches with literals +#ifdef NONMATCHING +void dKyr_mud_init() { + dScnKy_env_light_c* light = i_dKy_getEnvlight(); + light->mpMudPacket->mpMoyaRes = (u8*)dComIfG_getObjectRes("Always", 0x53); + + for (int i = 0; i < 100; i++) { + light->mpMudPacket->mEffect[i].mStatus = 0; + } + + light->mpMudPacket->mEffectNum = 0; + + if (!dComIfGs_isStageBossEnemy()) { + light->mpMudPacket->field_0x1c3c = 1.0f; + } else { + light->mpMudPacket->field_0x1c3c = 0.0f; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1986,6 +1864,7 @@ asm void dKyr_mud_init() { #include "asm/d/kankyo/d_kankyo_rain/dKyr_mud_init__Fv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804525D4-804525D8 000BD4 0004+00 1/1 0/0 0/0 .sdata2 @11302 */ @@ -2024,34 +1903,33 @@ asm void dKyr_mud_draw(f32 (*param_0)[4], u8** param_1) { } #pragma pop -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A60C = "F_kumolight_01.bti"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8037A61F = ""; -#pragma pop - /* 8006D914-8006DA04 068254 00F0+00 0/0 1/1 1/1 .text dKyr_evil_init__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKyr_evil_init() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_evil_init__Fv.s" +void dKyr_evil_init() { + if (g_env_light.mpEvilPacket != NULL) { + g_env_light.mpEvilPacket->mpMoyaRes = (u8*)dComIfG_getObjectRes("Always", 0x53); + g_env_light.mpEvilPacket->mpKumoLightRes = (u8*)dComIfG_getStageRes("F_kumolight_01.bti"); + + if (g_env_light.mpEvilPacket->mpKumoLightRes == NULL) { + g_env_light.mpEvilPacket->mpKumoLightRes = (u8*)dComIfG_getObjectRes("Always", 0x53); + } + + for (int i = 0; i < 2000; i++) { + g_env_light.mpEvilPacket->mEffect[i].mStatus = 0; + } + + g_env_light.mpEvilPacket->mEffectNum = 0; + } } -#pragma pop /* 8006DA04-8006DA7C 068344 0078+00 0/0 1/1 0/0 .text dKyr_evil_move__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dKyr_evil_move() { - nofralloc -#include "asm/d/kankyo/d_kankyo_rain/dKyr_evil_move__Fv.s" +void dKyr_evil_move() { + dKankyo_evil_Packet* packet = g_env_light.mpEvilPacket; + cXyz vec = dKyw_get_wind_vecpow(); + + dBgS_GndChk gndchk; + for (int i = 0; i < packet->mEffectNum; i++) { + } } -#pragma pop /* ############################################################################################## */ /* 80450F40-80450F44 000440 0004+00 1/1 0/0 0/0 .sbss rot$11586 */ diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp index cfce856920..49368d2616 100644 --- a/src/d/kankyo/d_kankyo_wether.cpp +++ b/src/d/kankyo/d_kankyo_wether.cpp @@ -381,7 +381,7 @@ EF_MUD_EFF::EF_MUD_EFF() { /* 8005703C-8005706C 05197C 0030+00 1/0 0/0 0/0 .text draw__18dKankyo_mud_PacketFv */ void dKankyo_mud_Packet::draw() { - dKyr_mud_draw(j3dSys.getViewMtx(), &field_0x14); + dKyr_mud_draw(j3dSys.getViewMtx(), &mpMoyaRes); } /* 8005706C-800570A8 0519AC 003C+00 2/2 0/0 0/0 .text __dt__11EF_EVIL_EFFFv */ @@ -394,7 +394,7 @@ EF_EVIL_EFF::EF_EVIL_EFF() { /* 800570AC-800570DC 0519EC 0030+00 1/0 0/0 0/0 .text draw__19dKankyo_evil_PacketFv */ void dKankyo_evil_Packet::draw() { - dKyr_evil_draw(j3dSys.getViewMtx(), &field_0x14); + dKyr_evil_draw(j3dSys.getViewMtx(), &mpMoyaRes); } /* 800570DC-8005710C 051A1C 0030+00 1/1 0/0 0/0 .text dKyw_drawSun__Fi */ @@ -1352,7 +1352,7 @@ static void wether_move_mud() { case 1: dKyr_mud_move(); - if (g_env_light.field_0x1048 == 0 && g_env_light.mpMudPacket->field_0x10 == 0) { + if (g_env_light.field_0x1048 == 0 && g_env_light.mpMudPacket->mEffectNum == 0) { g_env_light.mMudInitialized = 0; delete g_env_light.mpMudPacket; @@ -1379,7 +1379,7 @@ static void wether_move_evil() { case 1: dKyr_evil_move(); - if (g_env_light.field_0x1054 == 0 && g_env_light.mpEvilPacket->field_0x10 == 0) { + if (g_env_light.field_0x1054 == 0 && g_env_light.mpEvilPacket->mEffectNum == 0) { g_env_light.mEvilInitialized = 0; delete g_env_light.mpEvilPacket; diff --git a/src/d/map/d_map_path.cpp b/src/d/map/d_map_path.cpp index b6ef5f15cf..ed5edf5e53 100644 --- a/src/d/map/d_map_path.cpp +++ b/src/d/map/d_map_path.cpp @@ -196,9 +196,9 @@ void dRenderingMap_c::makeResTIMG(ResTIMG* p_image, u16 width, u16 height, u8* p p_image->height = height; p_image->wrapS = GX_CLAMP; p_image->wrapT = GX_CLAMP; - p_image->palettesEnabled = true; - p_image->paletteFormat = 2; - p_image->paletteCount = param_5 * 4; + p_image->indexTexture = true; + p_image->colorFormat = 2; + p_image->numColors = param_5 * 4; p_image->paletteOffset = p_palette - (u8*)p_image; p_image->mipmapEnabled = false; p_image->doEdgeLOD = false; @@ -210,7 +210,7 @@ void dRenderingMap_c::makeResTIMG(ResTIMG* p_image, u16 width, u16 height, u8* p p_image->maxLOD = 0; p_image->mipmapCount = 1; p_image->LODBias = 0; - p_image->texDataOffset = p_data - (u8*)p_image; + p_image->imageOffset = p_data - (u8*)p_image; } /* 8003CDAC-8003CE78 0376EC 00CC+00 0/0 2/2 0/0 .text renderingMap__15dRenderingMap_cFv diff --git a/src/d/map/d_map_path_dmap.cpp b/src/d/map/d_map_path_dmap.cpp index c267e39d18..4b3aaaa8c7 100644 --- a/src/d/map/d_map_path_dmap.cpp +++ b/src/d/map/d_map_path_dmap.cpp @@ -245,7 +245,7 @@ Vec dMapInfo_n::getMapPlayerPos() { Vec pos; fopAc_ac_c* player = daPy_getPlayerActorClass(); if (player != NULL) { - pos = player->mCurrent.mPosition; + pos = player->current.pos; } else { f32 tmp = FLOAT_LABEL(lit_3796); pos.x = tmp; diff --git a/src/d/menu/d_menu_letter.cpp b/src/d/menu/d_menu_letter.cpp index dff7b09725..eb1c4af279 100644 --- a/src/d/menu/d_menu_letter.cpp +++ b/src/d/menu/d_menu_letter.cpp @@ -1020,7 +1020,7 @@ asm void dMenu_Letter_c::screenSetShadow() { /* ############################################################################################## */ /* 80396D10-80396D70 023370 0060+00 1/1 0/0 0/0 .rodata line_tag$4914 */ -SECTION_RODATA static u8 const line_tag[96] = { +SECTION_RODATA static u8 const line_tag4914[96] = { 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x30, 0x39, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x30, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x31, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x32, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x33, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x34, @@ -1028,7 +1028,7 @@ SECTION_RODATA static u8 const line_tag[96] = { 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x37, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x38, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x31, 0x39, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x32, 0x30, }; -COMPILER_STRIP_GATE(0x80396D10, &line_tag); +COMPILER_STRIP_GATE(0x80396D10, &line_tag4914); /* 80396DC0-80396DC0 023420 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index d18b471145..245b78caf4 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -2489,7 +2489,7 @@ int dMw_c::_create() { field_0x144 = 3; dMeter2Info_setWindowStatus(0); - return 4; + return cPhs_COMPLEATE_e; } /* 801FD2D8-801FD450 1F7C18 0178+00 1/1 0/0 0/0 .text _execute__5dMw_cFv */ diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp index 974ec36a52..b613f96843 100644 --- a/src/d/meter/d_meter2.cpp +++ b/src/d/meter/d_meter2.cpp @@ -29,10 +29,6 @@ struct dDemo_c { static u8 m_mode[4]; }; -struct dCamera_c { - /* 80174EA4 */ bool CalcSubjectAngle(s16*, s16*); -}; - // // Forward References: // @@ -484,7 +480,7 @@ int dMeter2_c::_create() { mpHeap->getTotalFreeSize(); field_0x11c = NULL; mDoExt_setCurrentHeap(heap); - return 4; + return cPhs_COMPLEATE_e; } /* 8021F128-8021F370 219A68 0248+00 1/1 0/0 0/0 .text _execute__9dMeter2_cFv */ diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index b86c853db1..7887fcfeda 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -1806,10 +1806,10 @@ int dMsgFlow_c::event018(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) { if (actor != NULL) { int stayNo = dComIfGp_roomControl_getStayNo(); if (stayNo != 0) { - mDoAud_messageSePlay(field_0x45, &actor->mCurrent.mPosition, + mDoAud_messageSePlay(field_0x45, &actor->current.pos, dComIfGp_getReverb(stayNo)); } else { - mDoAud_messageSePlay(field_0x45, &actor->mCurrent.mPosition, 0); + mDoAud_messageSePlay(field_0x45, &actor->current.pos, 0); } } else { int stayNo = dComIfGp_roomControl_getStayNo(); @@ -1839,7 +1839,7 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) { for (int i = 0; i < room->mRoomDt.getPlayerNum(); i++, actor_data++) { if ((u8)actor_data->mAngle.z == prm0) { - player->setPlayerPosAndAngle(&actor_data->mSpawnPos, player->mCurrent.mAngle.y, 0); + player->setPlayerPosAndAngle(&actor_data->mSpawnPos, player->current.angle.y, 0); break; } } diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index 62ddd4827e..f80e660d17 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -4,172 +4,10 @@ // #include "d/particle/d_particle.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct mDoLib_clipper { - static u8 mClipper[92]; -}; - -struct mDoGph_gInf_c { - static u8 mFrameBufferTimg[4]; -}; - -struct mDoDvdThd_toMainRam_c { - /* 80016394 */ void create(char const*, u8, JKRHeap*); -}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static f32 mWaterY[1 + 1 /* padding */]; -}; - -struct daPy_py_c { - /* 8015F424 */ void checkNowWolfEyeUp(); -}; - -struct dPa_windPcallBack { - /* 8004B4E0 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004FF2C */ ~dPa_windPcallBack(); -}; - -struct dPa_wbPcallBack_c { - /* 8004DC28 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004FECC */ ~dPa_wbPcallBack_c(); -}; - -struct dPa_simpleData_c { - /* 8004B024 */ ~dPa_simpleData_c(); - /* 8004B060 */ dPa_simpleData_c(); -}; - -struct dPa_setColorEcallBack { - /* 800502B0 */ void draw(JPABaseEmitter*); - /* 800502E0 */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 800502E4 */ ~dPa_setColorEcallBack(); -}; - -struct dPa_selectTexEcallBack { - /* 8004ADC4 */ void draw(JPABaseEmitter*); - /* 8004FF8C */ ~dPa_selectTexEcallBack(); - /* 80050010 */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); -}; - -struct dPa_particleTracePcallBack_c { - /* 8004FAD4 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004FC68 */ ~dPa_particleTracePcallBack_c(); -}; - -struct dPa_name { - static u8 j_o_id[10 + 2 /* padding */]; - static u8 s_o_id[28]; -}; - -struct dPa_modelPcallBack { - /* 8004A460 */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 80050038 */ ~dPa_modelPcallBack(); -}; - -struct dPa_modelEcallBack { - struct model_c { - /* 8004A608 */ void set(J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, u8); - /* 8004A7AC */ void setup(); - /* 8004A88C */ void cleanup(); - /* 8004A8DC */ void draw(f32 (*)[4]); - /* 8004AB88 */ ~model_c(); - /* 8004FB90 */ model_c(); - }; - - /* 8004AA34 */ void draw(JPABaseEmitter*); - /* 8004AAA8 */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 8004AB1C */ void create(u8); - /* 8004ABC4 */ void remove(); - /* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, - u8); - /* 8004AC90 */ void resetModel(JPABaseEmitter*); - /* 8004ACC0 */ void setupModel(JPABaseEmitter*); - /* 8004ACEC */ void drawModel(JPABaseEmitter*, f32 (*)[4]); - /* 8004AD28 */ void cleanupModel(JPABaseEmitter*); - /* 8004AD58 */ void getModel(JPABaseEmitter*); - /* 8004AD90 */ void getRotAxis(JPABaseEmitter*); - /* 80050014 */ void drawAfter(JPABaseEmitter*); - /* 80050378 */ ~dPa_modelEcallBack(); - - static u8 mEcallback[4]; - static u8 mPcallback[4]; - static u8 mModel[4]; -}; - -struct dPa_light8PcallBack { - /* 8004DD10 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004DD1C */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 8004FE0C */ ~dPa_light8PcallBack(); -}; - -struct dPa_light8EcallBack { - /* 8004979C */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 8004A340 */ void draw(JPABaseEmitter*); - /* 8005015C */ ~dPa_light8EcallBack(); - /* 800501E0 */ void drawAfter(JPABaseEmitter*); -}; - -struct dPa_gen_d_light8PcallBack { - /* 8004DD18 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004ED44 */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 8004FD4C */ ~dPa_gen_d_light8PcallBack(); -}; - -struct dPa_gen_d_light8EcallBack { - /* 800497CC */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 8004A388 */ void draw(JPABaseEmitter*); - /* 80050098 */ void drawAfter(JPABaseEmitter*); - /* 800503FC */ ~dPa_gen_d_light8EcallBack(); -}; - -struct dPa_gen_b_light8PcallBack { - /* 8004DD14 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004E6A8 */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 8004FDAC */ ~dPa_gen_b_light8PcallBack(); -}; - -struct dPa_gen_b_light8EcallBack { - /* 800497B0 */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 8004A364 */ void draw(JPABaseEmitter*); - /* 800500B8 */ ~dPa_gen_b_light8EcallBack(); - /* 8005013C */ void drawAfter(JPABaseEmitter*); -}; - -struct dPa_fsenthPcallBack { - /* 8004DCA0 */ void execute(JPABaseEmitter*, JPABaseParticle*); - /* 8004DD0C */ void draw(JPABaseEmitter*, JPABaseParticle*); - /* 8004FE6C */ ~dPa_fsenthPcallBack(); -}; - -struct cBgS_PolyInfo {}; - -struct dJntCol_c { - /* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const; -}; - -struct dBgS { - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); -}; - -struct cM3dGPla {}; - -struct cBgS { - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct J3DUClipper { - /* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const; -}; +#include "m_Do/m_Do_lib.h" // // Forward References: @@ -340,6 +178,7 @@ extern "C" u8 m_b_Light8PcallBack__13dPa_control_c[4]; extern "C" u8 m_d_Light8EcallBack__13dPa_control_c[4]; extern "C" u8 m_d_Light8PcallBack__13dPa_control_c[4]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; +extern "C" u8 mStatus__13dPa_control_c; // // External References: @@ -457,19 +296,15 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void sprintf(); extern "C" extern void* __vt__19JPAParticleCallBack[5]; extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" u8 j_o_id__8dPa_name[10 + 2 /* padding */]; extern "C" u8 s_o_id__8dPa_name[28]; extern "C" u8 mClipper__14mDoLib_clipper[92]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 g_whiteColor; extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; extern "C" extern u8 JPTracePCB4[4]; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // @@ -477,14 +312,28 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // /* 80049420-80049580 043D60 0160+00 4/4 0/0 0/0 .text dPa_cleanupGX__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dPa_cleanupGX() { - nofralloc -#include "asm/d/particle/d_particle/dPa_cleanupGX__Fv.s" +static void dPa_cleanupGX() { + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXEnableTexOffsets(GX_TEXCOORD0, GX_ENABLE, GX_ENABLE); + GXEnableTexOffsets(GX_TEXCOORD1, GX_ENABLE, GX_ENABLE); + GXEnableTexOffsets(GX_TEXCOORD2, GX_ENABLE, GX_ENABLE); + GXSetCullMode(GX_CULL_NONE); + GXSetCoPlanar(GX_FALSE); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX8); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGB8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0); + GXSetVtxAttrFmt(GX_VTXFMT1, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT1, GX_VA_TEX0, GX_CLR_RGBA, GX_F32, 0); + GXSetCurrentMtx(0); + GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE, + GX_AF_NONE); + GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE, + GX_AF_NONE); + GXSetNumChans(0); } -#pragma pop /* ############################################################################################## */ /* 803A8308-803A8314 005428 000C+00 1/1 0/0 0/0 .data l_lifeBallColor */ @@ -720,14 +569,12 @@ SECTION_DATA extern void* __vt__18JPAEmitterCallBack[7] = { }; /* 80049580-800495BC 043EC0 003C+00 0/0 1/1 8/8 .text __ct__19dPa_followEcallBackFUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dPa_followEcallBack::dPa_followEcallBack(u8 param_0, u8 param_1) { - nofralloc -#include "asm/d/particle/d_particle/__ct__19dPa_followEcallBackFUcUc.s" +dPa_followEcallBack::dPa_followEcallBack(u8 param_0, u8 param_1) { + field_0x11 = param_0; + field_0x12 = param_1; + field_0x13 = 0; + mpEmitter = NULL; } -#pragma pop /* 800495BC-800496B0 043EFC 00F4+00 1/0 0/0 0/0 .text * execute__19dPa_followEcallBackFP14JPABaseEmitter */ @@ -742,31 +589,39 @@ asm void dPa_followEcallBack::execute(JPABaseEmitter* param_0) { /* 800496B0-800496B4 043FF0 0004+00 1/0 0/0 0/0 .text * draw__19dPa_followEcallBackFP14JPABaseEmitter */ -void dPa_followEcallBack::draw(JPABaseEmitter* param_0) { - /* empty function */ -} +void dPa_followEcallBack::draw(JPABaseEmitter*) {} /* 800496B4-8004974C 043FF4 0098+00 1/0 0/0 0/0 .text * setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_followEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, - csXyz const* param_2, s8 param_3) { - nofralloc -#include "asm/d/particle/d_particle/setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc.s" +void dPa_followEcallBack::setup(JPABaseEmitter* i_emitter, cXyz const* param_1, + csXyz const* param_2, s8) { + remove(); + + if (field_0x13 == 0) { + mpEmitter = i_emitter; + i_emitter->becomeImmortalEmitter(); + } + + if (field_0x12 == 0) { + if (field_0x11 != 0) { + i_emitter->becomeContinuousParticle(); + } + field_0x8 = param_1; + field_0xc = param_2; + field_0x10 = 0; + } } -#pragma pop /* 8004974C-8004979C 04408C 0050+00 1/0 0/0 0/0 .text end__19dPa_followEcallBackFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_followEcallBack::end() { - nofralloc -#include "asm/d/particle/d_particle/end__19dPa_followEcallBackFv.s" +void dPa_followEcallBack::end() { + if (mpEmitter != NULL) { + mpEmitter->becomeInvalidEmitter(); + mpEmitter->quitImmortalEmitter(); + mpEmitter->setEmitterCallBackPtr(NULL); + field_0x10 |= 1; + mpEmitter = NULL; + } } -#pragma pop /* ############################################################################################## */ /* 80450E90-80450E94 000390 0004+00 2/2 1/1 11/11 .sbss mEcallback__18dPa_modelEcallBack @@ -777,7 +632,7 @@ u8 dPa_modelEcallBack::mEcallback[4]; u8 dPa_modelEcallBack::mPcallback[4]; /* 80450E98-80450E9C 000398 0004+00 5/5 0/0 0/0 .sbss mModel__18dPa_modelEcallBack */ -u8 dPa_modelEcallBack::mModel[4]; +J3DModel* dPa_modelEcallBack::mModel; /* 80450E9C-80450EA0 -00001 0004+00 3/3 0/0 0/0 .sbss None */ /* 80450E9C 0001+00 data_80450E9C None */ @@ -786,7 +641,7 @@ u8 dPa_modelEcallBack::mModel[4]; static u8 struct_80450E9C[4]; /* 80450EA0-80450EA4 0003A0 0004+00 14/14 1/1 0/0 .sbss mEmitterMng__13dPa_control_c */ -u8 dPa_control_c::mEmitterMng[4]; +JPAEmitterManager* dPa_control_c::mEmitterMng; /* 80450EA4-80450EA8 0003A4 0004+00 1/1 1/1 0/0 .sbss mWaterBubblePcallBack__13dPa_control_c */ u8 dPa_control_c::mWaterBubblePcallBack[4]; @@ -1369,30 +1224,33 @@ asm void dPa_windPcallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* pa /* 8004B504-8004B544 045E44 0040+00 3/3 0/0 0/0 .text * onActive__Q313dPa_control_c7level_c9emitter_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::emitter_c::onActive() { - nofralloc -#include "asm/d/particle/d_particle/onActive__Q313dPa_control_c7level_c9emitter_cFv.s" +void dPa_control_c::level_c::emitter_c::onActive() { + mStatus |= 1; + + if (i_dComIfGp_event_runCheck()) { + onEventMove(); + } else { + offEventMove(); + } } -#pragma pop /* 8004B544-8004B5AC 045E84 0068+00 1/1 0/0 0/0 .text * entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::emitter_c::entry(u32 param_0, u16 param_1, JPABaseEmitter* param_2, - dPa_levelEcallBack* param_3) { - nofralloc -#include "asm/d/particle/d_particle/entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack.s" +void dPa_control_c::level_c::emitter_c::entry(u32 id, u16 name, JPABaseEmitter* i_emitter, + dPa_levelEcallBack* p_callback) { + mId = id; + mNameId = name; + onActive(); + mEmitter = i_emitter; + mCallback = p_callback; + mPre = NULL; + mNext = NULL; + mEmitter->becomeImmortalEmitter(); } -#pragma pop /* ############################################################################################## */ /* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */ -u8 data_80450EC4; +u8 dPa_control_c::mStatus; /* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ u8 dPa_control_c::mParticleTracePCB[4 + 4 /* padding */]; @@ -1407,126 +1265,180 @@ asm void dPa_control_c::level_c::emitter_c::cleanup() { #include "asm/d/particle/d_particle/cleanup__Q313dPa_control_c7level_c9emitter_cFv.s" } #pragma pop +/* +void dPa_control_c::level_c::emitter_c::cleanup() { + JPAEmitterCallBack* callback = mEmitter->getEmitterCallBackPtr(); + + if (mCallback != NULL) { + mCallback->cleanup(); + } + + +} */ /* 8004B688-8004B6F8 045FC8 0070+00 1/1 0/0 0/0 .text __ct__Q213dPa_control_c7level_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dPa_control_c::level_c::level_c() { - nofralloc -#include "asm/d/particle/d_particle/__ct__Q213dPa_control_c7level_cFv.s" +dPa_control_c::level_c::level_c() { + field_0x0 = 0; + mFreeNo = 0; + + for (int i = 0; i < 0x100; i++) { + mTable[i] = NULL; + } } -#pragma pop /* 8004B6F8-8004B7A8 046038 00B0+00 1/1 0/0 0/0 .text * execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::execute(dPa_control_c::level_c::emitter_c* param_0) { - nofralloc -#include "asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s" +void dPa_control_c::level_c::execute(dPa_control_c::level_c::emitter_c* i_emitter) { + if (!i_emitter->isActive()) { + if (i_emitter->isEventMove() || !i_dComIfGp_event_runCheck()) { + i_emitter->getEmitter()->playCalcEmitter(); + cutTable(i_emitter); + mFreeNo = ((i_emitter - mEmitter) / sizeof(emitter_c)); + } else { + i_emitter->getEmitter()->stopCalcEmitter(); + } + } else { + i_emitter->offActive(); + } } -#pragma pop /* 8004B7A8-8004B808 0460E8 0060+00 1/1 0/0 0/0 .text execute__Q213dPa_control_c7level_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::execute() { - nofralloc -#include "asm/d/particle/d_particle/execute__Q213dPa_control_c7level_cFv.s" +void dPa_control_c::level_c::execute() { + emitter_c* emitter = mEmitter; + + for (int i = 0; i < EMITTER_MAX; i++) { + if (emitter->getId() != 0) { + execute(emitter); + } + emitter++; + } } -#pragma pop /* 8004B808-8004B874 046148 006C+00 2/2 0/0 0/0 .text cleanup__Q213dPa_control_c7level_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::cleanup() { - nofralloc -#include "asm/d/particle/d_particle/cleanup__Q213dPa_control_c7level_cFv.s" +void dPa_control_c::level_c::cleanup() { + emitter_c* emitter = mEmitter; + + for (int i = 0; i < EMITTER_MAX; i++) { + if (emitter->getId() != 0) { + emitter->clearStatus(); + cutTable(emitter); + mFreeNo = i; + } + emitter++; + } } -#pragma pop /* 8004B874-8004B8B4 0461B4 0040+00 4/4 0/0 0/0 .text get__Q213dPa_control_c7level_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::get(u32 param_0) { - nofralloc -#include "asm/d/particle/d_particle/get__Q213dPa_control_c7level_cFUl.s" +dPa_control_c::level_c::emitter_c* dPa_control_c::level_c::get(u32 id) { + if (id == 0) { + return NULL; + } + + for (emitter_c* emitter = mTable[id & 0xFF]; emitter != NULL; emitter = emitter->getNext()) { + if (id == emitter->getId()) { + return emitter; + } + } + + return NULL; } -#pragma pop /* 8004B8B4-8004B8E8 0461F4 0034+00 1/1 5/5 40/40 .text * forceOnEventMove__Q213dPa_control_c7level_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::forceOnEventMove(u32 param_0) { - nofralloc -#include "asm/d/particle/d_particle/forceOnEventMove__Q213dPa_control_c7level_cFUl.s" +void dPa_control_c::level_c::forceOnEventMove(u32 id) { + emitter_c* emitter = get(id); + + if (emitter != NULL) { + emitter->onEventMove(); + } } -#pragma pop /* 8004B8E8-8004B918 046228 0030+00 0/0 1/1 0/0 .text * allForceOnEventMove__Q213dPa_control_c7level_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::allForceOnEventMove() { - nofralloc -#include "asm/d/particle/d_particle/allForceOnEventMove__Q213dPa_control_c7level_cFv.s" +void dPa_control_c::level_c::allForceOnEventMove() { + emitter_c* emitter = mEmitter; + + for (int i = 0; i < EMITTER_MAX; i++) { + if (emitter->getId() != 0) { + emitter->onEventMove(); + } + emitter++; + } } -#pragma pop /* 8004B918-8004B94C 046258 0034+00 1/1 22/22 181/181 .text * getEmitter__Q213dPa_control_c7level_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JPABaseEmitter* dPa_control_c::level_c::getEmitter(u32 param_0) { - nofralloc -#include "asm/d/particle/d_particle/getEmitter__Q213dPa_control_c7level_cFUl.s" +JPABaseEmitter* dPa_control_c::level_c::getEmitter(u32 id) { + emitter_c* emitter = get(id); + + if (emitter == NULL) { + return NULL; + } + + return emitter->getEmitter(); } -#pragma pop /* 8004B94C-8004BA40 04628C 00F4+00 1/1 0/0 0/0 .text * entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::entry(u16 param_0, JPABaseEmitter* param_1, - dPa_levelEcallBack* param_2) { - nofralloc -#include "asm/d/particle/d_particle/entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack.s" +u32 dPa_control_c::level_c::entry(u16 i_name, JPABaseEmitter* i_emitter, + dPa_levelEcallBack* i_callback) { + for (int i = 0; i < EMITTER_MAX; i++) { + if (mEmitter[mFreeNo].getId() == 0) { + u32 uvar1 = field_0x0 + 1; + field_0x0 = uvar1; + + if (uvar1 == 0) { + field_0x0++; + } + + mEmitter[mFreeNo].entry(field_0x0, i_name, i_emitter, i_callback); + addTable(&mEmitter[mFreeNo]); + return field_0x0; + } + + mFreeNo = (mFreeNo + 1) % EMITTER_MAX; + } + + i_emitter->becomeInvalidEmitter(); + i_emitter->quitImmortalEmitter(); + return 0; } -#pragma pop /* 8004BA40-8004BA74 046380 0034+00 1/1 0/0 0/0 .text * addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::addTable(dPa_control_c::level_c::emitter_c* param_0) { - nofralloc -#include "asm/d/particle/d_particle/addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s" +void dPa_control_c::level_c::addTable(dPa_control_c::level_c::emitter_c* i_emitter) { + u32 id = i_emitter->getId() & 0xFF; + + if (mTable[id] == NULL) { + mTable[id] = i_emitter; + return; + } + + mTable[id]->setPre(i_emitter); + i_emitter->setNext(mTable[id]); + mTable[id] = i_emitter; } -#pragma pop /* 8004BA74-8004BACC 0463B4 0058+00 3/3 0/0 0/0 .text * cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::level_c::cutTable(dPa_control_c::level_c::emitter_c* param_0) { - nofralloc -#include "asm/d/particle/d_particle/cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c.s" +void dPa_control_c::level_c::cutTable(dPa_control_c::level_c::emitter_c* i_emitter) { + emitter_c* pre = i_emitter->getPre(); + emitter_c* next = i_emitter->getNext(); + + if (pre == NULL) { + mTable[i_emitter->getId() & 0xFF] = next; + } else { + pre->setNext(next); + } + + if (next != NULL) { + next->setPre(pre); + } + + i_emitter->cleanup(); } -#pragma pop /* ############################################################################################## */ /* 80424734-80424740 051454 000C+00 0/1 0/0 0/0 .bss @4723 */ @@ -1580,6 +1492,17 @@ static u8 lit_4730[12]; /* 80424794-804247D4 0514B4 0040+00 0/1 1/1 1/1 .bss mTsubo__13dPa_control_c */ u8 dPa_control_c::mTsubo[64]; +/* dPa_selectTexEcallBack dPa_control_c::mTsubo[] = { + dPa_selectTexEcallBack(0), + dPa_selectTexEcallBack(1), + dPa_selectTexEcallBack(2), + dPa_selectTexEcallBack(3), + dPa_selectTexEcallBack(4), + dPa_selectTexEcallBack(5), + dPa_selectTexEcallBack(6), + dPa_selectTexEcallBack(7), +}; */ + /* 804247D4-804247E0 0514F4 000C+00 0/1 0/0 0/0 .bss @4731 */ #pragma push #pragma force_active on @@ -1653,27 +1576,27 @@ static u8 lit_4741[12]; #pragma pop /* 80424870-804248A0 051590 0030+00 1/1 0/0 0/0 .bss mWindViewMatrix__13dPa_control_c */ -u8 dPa_control_c::mWindViewMatrix[48]; +Mtx dPa_control_c::mWindViewMatrix; /* 8004BACC-8004BB70 04640C 00A4+00 0/0 1/1 0/0 .text __ct__13dPa_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dPa_control_c::dPa_control_c() { - nofralloc -#include "asm/d/particle/d_particle/__ct__13dPa_control_cFv.s" +dPa_control_c::dPa_control_c() { + m_resHeap = JKRCreateExpHeap(0x96000, mDoExt_getArchiveHeap(), false); + mHeap = NULL; + m_sceneHeap = NULL; + field_0x18 = 0xFF; + mEmitterMng = NULL; + field_0x19 = 0; + mCommonResMng = NULL; + mSceneResMng = NULL; + m_sceneRes = NULL; + + PSMTXIdentity(mWindViewMatrix); } -#pragma pop /* 8004BB70-8004BB78 0464B0 0008+00 4/4 0/0 0/0 .text getRM_ID__13dPa_control_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::getRM_ID(u16 param_0) { - nofralloc -#include "asm/d/particle/d_particle/getRM_ID__13dPa_control_cFUs.s" +bool dPa_control_c::getRM_ID(u16 param_0) { + return param_0 & 0x8000; } -#pragma pop /* ############################################################################################## */ /* 8037A12C-8037A12C 00678C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1763,54 +1686,54 @@ asm void dPa_control_c::removeScene(bool param_0) { #pragma pop /* 8004C054-8004C078 046994 0024+00 0/0 2/2 0/0 .text cleanup__13dPa_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::cleanup() { - nofralloc -#include "asm/d/particle/d_particle/cleanup__13dPa_control_cFv.s" +void dPa_control_c::cleanup() { + field_0x210.cleanup(); } -#pragma pop /* 8004C078-8004C0EC 0469B8 0074+00 0/0 1/1 0/0 .text calc3D__13dPa_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::calc3D() { - nofralloc -#include "asm/d/particle/d_particle/calc3D__13dPa_control_cFv.s" +void dPa_control_c::calc3D() { + if (isStatus(2)) { + offStatus(2); + } else { + for (u8 i = 0; i <= 13; i++) { + mEmitterMng->calc(i); + } + field_0x210.execute(); + } } -#pragma pop /* 8004C0EC-8004C134 046A2C 0048+00 0/0 1/1 0/0 .text calc2D__13dPa_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::calc2D() { - nofralloc -#include "asm/d/particle/d_particle/calc2D__13dPa_control_cFv.s" +void dPa_control_c::calc2D() { + for (u8 i = 14; i <= 16; i++) { + mEmitterMng->calc(i); + } } -#pragma pop /* 8004C134-8004C188 046A74 0054+00 0/0 1/1 0/0 .text calcMenu__13dPa_control_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::calcMenu() { - nofralloc -#include "asm/d/particle/d_particle/calcMenu__13dPa_control_cFv.s" +void dPa_control_c::calcMenu() { + if (mEmitterMng != NULL) { + for (u8 i = 17; i <= 18; i++) { + mEmitterMng->calc(i); + } + } } -#pragma pop /* 8004C188-8004C218 046AC8 0090+00 0/0 1/1 0/0 .text draw__13dPa_control_cFP11JPADrawInfoUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dPa_control_c::draw(JPADrawInfo* param_0, u8 param_1) { - nofralloc -#include "asm/d/particle/d_particle/draw__13dPa_control_cFP11JPADrawInfoUc.s" +void dPa_control_c::draw(JPADrawInfo* param_0, u8 param_1) { + if (mEmitterMng != NULL) { + j3dSys.reinitGX(); + dKy_setLight_again(); + + if (param_1 >= 6 && param_1 <= 11) { + dKy_GxFog_set(); + } + + mEmitterMng->draw(param_0, param_1); + GXSetAlphaUpdate(GX_FALSE); + GXSetNumIndStages(0); + GXSetClipMode(GX_CLIP_ENABLE); + } } -#pragma pop /* ############################################################################################## */ /* 80451F8C-80451F90 00058C 0004+00 5/5 0/0 0/0 .sdata2 @5066 */ @@ -2287,7 +2210,8 @@ extern "C" asm void __dt__19dPa_simpleEcallBackFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_particleTracePcallBack_c::~dPa_particleTracePcallBack_c() { +// asm dPa_particleTracePcallBack_c::~dPa_particleTracePcallBack_c() { +extern "C" asm void __dt__28dPa_particleTracePcallBack_cFv() { nofralloc #include "asm/d/particle/d_particle/__dt__28dPa_particleTracePcallBack_cFv.s" } @@ -2309,7 +2233,8 @@ extern "C" asm void __dt__22dPa_hermiteEcallBack_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_gen_d_light8PcallBack::~dPa_gen_d_light8PcallBack() { +// asm dPa_gen_d_light8PcallBack::~dPa_gen_d_light8PcallBack() { +extern "C" asm void __dt__25dPa_gen_d_light8PcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__25dPa_gen_d_light8PcallBackFv.s" } @@ -2320,7 +2245,8 @@ asm dPa_gen_d_light8PcallBack::~dPa_gen_d_light8PcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_gen_b_light8PcallBack::~dPa_gen_b_light8PcallBack() { +// asm dPa_gen_b_light8PcallBack::~dPa_gen_b_light8PcallBack() { +extern "C" asm void __dt__25dPa_gen_b_light8PcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__25dPa_gen_b_light8PcallBackFv.s" } @@ -2330,7 +2256,8 @@ asm dPa_gen_b_light8PcallBack::~dPa_gen_b_light8PcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_light8PcallBack::~dPa_light8PcallBack() { +// asm dPa_light8PcallBack::~dPa_light8PcallBack() { +extern "C" asm void __dt__19dPa_light8PcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__19dPa_light8PcallBackFv.s" } @@ -2340,7 +2267,8 @@ asm dPa_light8PcallBack::~dPa_light8PcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_fsenthPcallBack::~dPa_fsenthPcallBack() { +// asm dPa_fsenthPcallBack::~dPa_fsenthPcallBack() { +extern "C" asm void __dt__19dPa_fsenthPcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__19dPa_fsenthPcallBackFv.s" } @@ -2350,7 +2278,8 @@ asm dPa_fsenthPcallBack::~dPa_fsenthPcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_wbPcallBack_c::~dPa_wbPcallBack_c() { +// asm dPa_wbPcallBack_c::~dPa_wbPcallBack_c() { +extern "C" asm void __dt__17dPa_wbPcallBack_cFv() { nofralloc #include "asm/d/particle/d_particle/__dt__17dPa_wbPcallBack_cFv.s" } @@ -2360,7 +2289,8 @@ asm dPa_wbPcallBack_c::~dPa_wbPcallBack_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_windPcallBack::~dPa_windPcallBack() { +// asm dPa_windPcallBack::~dPa_windPcallBack() { +extern "C" asm void __dt__17dPa_windPcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__17dPa_windPcallBackFv.s" } @@ -2370,7 +2300,8 @@ asm dPa_windPcallBack::~dPa_windPcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_selectTexEcallBack::~dPa_selectTexEcallBack() { +// asm dPa_selectTexEcallBack::~dPa_selectTexEcallBack() { +extern "C" asm void __dt__22dPa_selectTexEcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__22dPa_selectTexEcallBackFv.s" } @@ -2398,7 +2329,8 @@ asm void dPa_modelEcallBack::drawAfter(JPABaseEmitter* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_modelPcallBack::~dPa_modelPcallBack() { +// asm dPa_modelPcallBack::~dPa_modelPcallBack() { +extern "C" asm void __dt__18dPa_modelPcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__18dPa_modelPcallBackFv.s" } @@ -2420,7 +2352,8 @@ asm void dPa_gen_d_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_gen_b_light8EcallBack::~dPa_gen_b_light8EcallBack() { +// asm dPa_gen_b_light8EcallBack::~dPa_gen_b_light8EcallBack() { +extern "C" asm void __dt__25dPa_gen_b_light8EcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__25dPa_gen_b_light8EcallBackFv.s" } @@ -2441,7 +2374,8 @@ asm void dPa_gen_b_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_light8EcallBack::~dPa_light8EcallBack() { +// asm dPa_light8EcallBack::~dPa_light8EcallBack() { +extern "C" asm void __dt__19dPa_light8EcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__19dPa_light8EcallBackFv.s" } @@ -2522,7 +2456,8 @@ SECTION_DATA extern void* __vt__21dPa_setColorEcallBack[9 + 6 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_setColorEcallBack::~dPa_setColorEcallBack() { +// asm dPa_setColorEcallBack::~dPa_setColorEcallBack() { +extern "C" asm void __dt__21dPa_setColorEcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__21dPa_setColorEcallBackFv.s" } @@ -2556,7 +2491,8 @@ void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_modelEcallBack::~dPa_modelEcallBack() { +// asm dPa_modelEcallBack::~dPa_modelEcallBack() { +extern "C" asm void __dt__18dPa_modelEcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__18dPa_modelEcallBackFv.s" } @@ -2567,7 +2503,8 @@ asm dPa_modelEcallBack::~dPa_modelEcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_gen_d_light8EcallBack::~dPa_gen_d_light8EcallBack() { +// asm dPa_gen_d_light8EcallBack::~dPa_gen_d_light8EcallBack() { +extern "C" asm void __dt__25dPa_gen_d_light8EcallBackFv() { nofralloc #include "asm/d/particle/d_particle/__dt__25dPa_gen_d_light8EcallBackFv.s" } @@ -2577,8 +2514,7 @@ asm dPa_gen_d_light8EcallBack::~dPa_gen_d_light8EcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_particle_cpp() { - nofralloc +asm void __sinit_d_particle_cpp(){nofralloc #include "asm/d/particle/d_particle/__sinit_d_particle_cpp.s" } #pragma pop diff --git a/src/d/particle/d_particle_name.cpp b/src/d/particle/d_particle_name.cpp index 4dab2352f2..2ae022f1da 100644 --- a/src/d/particle/d_particle_name.cpp +++ b/src/d/particle/d_particle_name.cpp @@ -7,50 +7,14 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dPa_name { - static u8 j_o_id[10 + 2 /* padding */]; - static u8 s_o_id[28]; -}; - -// -// Forward References: -// - -extern "C" u8 j_o_id__8dPa_name[10 + 2 /* padding */]; -extern "C" u8 s_o_id__8dPa_name[28]; - -// -// External References: -// - -// -// Declarations: -// - /* ############################################################################################## */ /* 803A85D0-803A85DC 0056F0 000A+02 0/0 1/1 0/0 .data j_o_id__8dPa_name */ -SECTION_DATA u8 dPa_name::j_o_id[10 + 2 /* padding */] = { - 0x07, - 0x0F, - 0x07, - 0x3D, - 0x01, - 0x00, - 0x01, - 0x01, - 0x01, - 0x03, - /* padding */ - 0x00, - 0x00, +SECTION_DATA u16 dPa_name::j_o_id[5] = { + 0x070F, 0x073D, 0x0100, 0x0101, 0x0103, }; /* 803A85DC-803A85F8 0056FC 001C+00 0/0 1/1 0/0 .data s_o_id__8dPa_name */ -SECTION_DATA u8 dPa_name::s_o_id[28] = { - 0x81, 0x10, 0x81, 0x11, 0x81, 0x12, 0x89, 0xD6, 0x89, 0xD7, 0x89, 0xD8, 0x83, 0xA6, - 0x83, 0xA7, 0x81, 0x04, 0x81, 0x05, 0x81, 0x06, 0x81, 0x74, 0x81, 0x75, 0x81, 0x76, +SECTION_DATA u16 dPa_name::s_o_id[14] = { + 0x8110, 0x8111, 0x8112, 0x89D6, 0x89D7, 0x89D8, 0x83A6, + 0x83A7, 0x8104, 0x8105, 0x8106, 0x8174, 0x8175, 0x8176, }; diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index 2b393e9a2c..607115dfac 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -26,7 +26,7 @@ public: /* 0x5 */ u8 mFileSelWaitTime; }; -class dScnName_camera_c : public camera_class { +class dScnName_camera_c : public camera_process_class { public: dScnName_camera_c() { field_0x22f = 84; } /* 80259294 */ virtual ~dScnName_camera_c() {} @@ -313,8 +313,8 @@ SECTION_SDATA2 static f64 lit_3930 = 4503599627370496.0 /* cast u32 to float */; /* 802588A0-80258B2C 2531E0 028C+00 1/1 0/0 0/0 .text create__10dScnName_cFv */ #ifdef NONMATCHING s32 dScnName_c::create() { - int loadStat = resLoad(&field_0x1c4, "fileSel"); - if (loadStat == 4) { + int phase_state = resLoad(&field_0x1c4, "fileSel"); + if (phase_state == cPhs_COMPLEATE_e) { mHeap = JKRExpHeap::create(0x180000, mDoExt_getGameHeap(), false); JKRExpHeap* heap = mHeap; mDoExt_setCurrentHeap(heap); @@ -371,7 +371,7 @@ s32 dScnName_c::create() { mDoGph_gInf_c::setTickRate((OS_BUS_CLOCK / 4) / 30); dComIfGp_getVibration().Init(); } - return loadStat; + return phase_state; } #else #pragma push @@ -386,18 +386,18 @@ asm s32 dScnName_c::create() { /* 80258B2C-80258BC8 25346C 009C+00 1/1 0/0 0/0 .text setView__10dScnName_cFv */ void dScnName_c::setView() { - C_MTXPerspective(mCamera.field_0x100, mCamera.mFovy, mCamera.mAspect, mCamera.mNear, + C_MTXPerspective(mCamera.mProjMtx, mCamera.mFovy, mCamera.mAspect, mCamera.mNear, mCamera.mFar); - mDoMtx_lookAt(mCamera.field_0x140, &mCamera.field_0xd8.mEye, &mCamera.field_0xd8.mCenter, + mDoMtx_lookAt(mCamera.mViewMtx, &mCamera.mLookat.mEye, &mCamera.mLookat.mCenter, mCamera.mBank); - PSMTXInverse(mCamera.field_0x140, mCamera.field_0x170); - PSMTXCopy(mCamera.field_0x140, mCamera.field_0x1e0); + PSMTXInverse(mCamera.mViewMtx, mCamera.mInvViewMtx); + PSMTXCopy(mCamera.mViewMtx, mCamera.mViewMtxNoTrans); f32 tmp_0 = FLOAT_LABEL(lit_3923); - mCamera.field_0x1e0[0][3] = tmp_0; - mCamera.field_0x1e0[1][3] = tmp_0; - mCamera.field_0x1e0[2][3] = tmp_0; - PSMTXCopy(mCamera.field_0x140, j3dSys.mViewMtx); - mDoMtx_concatProjView(mCamera.field_0x100, mCamera.field_0x140, mCamera.field_0x1a0); + mCamera.mViewMtxNoTrans[0][3] = tmp_0; + mCamera.mViewMtxNoTrans[1][3] = tmp_0; + mCamera.mViewMtxNoTrans[2][3] = tmp_0; + PSMTXCopy(mCamera.mViewMtx, j3dSys.mViewMtx); + mDoMtx_concatProjView(mCamera.mProjMtx, mCamera.mViewMtx, mCamera.field_0x1a0); } /* 80258BC8-80258C5C 253508 0094+00 1/1 0/0 0/0 .text execute__10dScnName_cFv */ diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index 008cc27ba1..e5bff1a6cf 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -203,6 +203,7 @@ extern "C" u8 sManager__10JFWDisplay[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4]; extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */]; +extern "C" u8 mStatus__13dPa_control_c; // // Declarations: @@ -586,10 +587,10 @@ void dScnPly_c::offReset() { /* 80259C70-80259CAC 2545B0 003C+00 1/0 0/0 0/0 .text phase_00__FP9dScnPly_c */ static int phase_00(dScnPly_c* scn) { if (!scn->resetGame()) { - return 0; + return cPhs_ZERO_e; } else { mDoGph_gInf_c::offBlure(); - return 2; + return cPhs_TWO_e; } } @@ -612,15 +613,15 @@ static int phase_01(dScnPly_c* scn) { mDoAud_setSceneName(dComIfGp_getStartStageName(), start_room, layer); if (!mDoAud_load1stDynamicWave()) { - return 0; + return cPhs_ZERO_e; } else { - return 2; + return cPhs_TWO_e; } } /* 80259D7C-80259D84 2546BC 0008+00 1/0 0/0 0/0 .text phase_0__FP9dScnPly_c */ static int phase_0(dScnPly_c* param_0) { - return 2; + return cPhs_TWO_e; } /* 80259D84-8025A438 2546C4 06B4+00 1/0 0/0 0/0 .text phase_1__FP9dScnPly_c */ @@ -755,19 +756,19 @@ static int phase_1(dScnPly_c* scn) { if (dComIfG_syncStageRes("Stg_00") < 0) { dComIfG_setStageRes("Stg_00", NULL); } - return 2; + return cPhs_TWO_e; } /* 8025A438-8025A4F8 254D78 00C0+00 1/0 0/0 0/0 .text phase_1_0__FP9dScnPly_c */ static int phase_1_0(dScnPly_c* param_0) { if (dComIfG_syncStageRes("Stg_00")) { - return 0; + return cPhs_ZERO_e; } else { dStage_infoCreate(); dComIfG_setObjectRes("Event", 0, NULL); dComIfGp_setCameraParamFileName(0, camparamarc); dComIfG_setObjectRes("CamParam", 0, NULL); - return 2; + return cPhs_TWO_e; } } @@ -777,7 +778,7 @@ static int phase_1_0(dScnPly_c* param_0) { static int phase_2(dScnPly_c* scn) { int tmp = dComIfG_syncAllObjectRes(); if (tmp >= 0 && tmp != 0) { - return 0; + return cPhs_ZERO_e; } int layer = dComIfG_play_c::getLayerNo(0); stage_stag_info_class* stag_info = i_dComIfGp_getStage()->getStagInfo(); @@ -789,7 +790,7 @@ static int phase_2(dScnPly_c* scn) { dComIfGp_particle_readScene(particle_no, &scn->sceneCommand); dMsgObject_readMessageGroup(&scn->field_0x1d0); - return 2; + return cPhs_TWO_e; } #else #pragma push @@ -805,11 +806,11 @@ static asm int phase_2(dScnPly_c* param_0) { /* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */ static int phase_3(dScnPly_c* scn) { if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) { - return 0; + return cPhs_ZERO_e; } else if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) { - return 0; + return cPhs_ZERO_e; } else { - return 2; + return cPhs_TWO_e; } } @@ -850,12 +851,15 @@ class daYkgr_c { public: static void init() { m_emitter = 0; - *struct_80450D8C = 0; - *(struct_80450D8C + 1) = 1; - *(struct_80450D8C + 2) = 0xFF; + m_flag = false; + m_alpha_flag = true; + m_alpha = 255; } static u32 m_emitter; + static bool m_flag; + static bool m_alpha_flag; + static u8 m_alpha; }; /* 8025A654-8025A9F4 254F94 03A0+00 1/0 0/0 0/0 .text phase_4__FP9dScnPly_c */ @@ -916,7 +920,7 @@ static int phase_4(dScnPly_c* i_this) { 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); + new (&dComIfGp_getAttention()) dAttention_c(dComIfGp_getPlayer(0), 0); dComIfGp_getVibration().Init(); daYkgr_c::init(); @@ -932,11 +936,11 @@ static int phase_4(dScnPly_c* i_this) { } if (preLoadNo < 0) { - return 4; + return cPhs_COMPLEATE_e; } resPreLoadTime0 = OSGetTime(); - return 2; + return cPhs_TWO_e; } #else #pragma push @@ -971,7 +975,7 @@ static asm void phase_6(dScnPly_c* param_0) { /* 8025AB8C-8025AB94 2554CC 0008+00 1/0 0/0 0/0 .text phase_compleate__FPv */ static int phase_compleate(void* param_0) { - return 4; + return cPhs_COMPLEATE_e; } /* 8025AB94-8025ABC4 2554D4 0030+00 1/0 0/0 0/0 .text dScnPly_Create__FP11scene_class */ diff --git a/src/d/shop/d_shop_item_ctrl.cpp b/src/d/shop/d_shop_item_ctrl.cpp index a1ed926d3f..b26a1f35b8 100644 --- a/src/d/shop/d_shop_item_ctrl.cpp +++ b/src/d/shop/d_shop_item_ctrl.cpp @@ -68,7 +68,7 @@ cXyz dShopItemCtrl_c::getCurrentPos(int item_index) { if (mItemIndex[item_index] != -1) { fopAc_ac_c* item = fopAcM_SearchByID(mItemIndex[item_index]); if (item != NULL) { - item_pos.set(item->mCurrent.mPosition); + item_pos.set(item->current.pos); } } @@ -81,7 +81,7 @@ bool dShopItemCtrl_c::isHomePos(int item_index) { daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[item_index]); if (item != NULL) { cXyz* item_pos = item->getPosP(); - cXyz item_home = item->mOrig.mPosition; + cXyz item_home = item->orig.pos; if (item_pos->x == item_home.x && item_pos->y == item_home.y && item_pos->z == item_home.z) { @@ -105,7 +105,7 @@ void dShopItemCtrl_c::setRotateAnime(int item_index) { if (i == item_index - 1) { item_rot->y += 0x200; } else { - cLib_addCalcAngleS(&item_rot->y, item->mOrig.mAngle.y, 4, 0x800, 0x80); + cLib_addCalcAngleS(&item_rot->y, item->orig.angle.y, 4, 0x800, 0x80); } } } diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp index fae456195e..0c5bed8a96 100644 --- a/src/d/shop/d_shop_system.cpp +++ b/src/d/shop/d_shop_system.cpp @@ -234,8 +234,8 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) { dShopSystem_itemActor[2] != param_0 && dShopSystem_itemActor[3] != param_0 && dShopSystem_itemActor[4] != param_0 && dShopSystem_itemActor[5] != param_0 && dShopSystem_itemActor[6] != param_0) { - u8 sw = static_cast(param_0)->mOrig.mAngle.z; - u8 sw2 = static_cast(param_0)->mOrig.mAngle.z >> 8; + u8 sw = static_cast(param_0)->orig.angle.z; + u8 sw2 = static_cast(param_0)->orig.angle.z >> 8; u8 item_no = param; if ((sw == 0xFF || !dComIfGs_isSaveSwitch(sw)) && @@ -1443,36 +1443,36 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { if (dShopSystem_itemActor[1] != NULL && dShopSystem_cameraActor[1] != NULL) { cXyz local_40; - local_40.set(dShopSystem_itemActor[1]->mOrig.mPosition); + local_40.set(dShopSystem_itemActor[1]->orig.pos); f32 tmp_05 = 0.5f; if (data_80451058 == 4) { if (dShopSystem_itemActor[2] != NULL) { - f32 tmp = (dShopSystem_itemActor[2]->mOrig.mPosition.x + - dShopSystem_itemActor[1]->mOrig.mPosition.x); + f32 tmp = (dShopSystem_itemActor[2]->orig.pos.x + + dShopSystem_itemActor[1]->orig.pos.x); local_40.x = tmp * tmp_05; - f32 tmp2 = (dShopSystem_itemActor[2]->mOrig.mPosition.y + - dShopSystem_itemActor[1]->mOrig.mPosition.y); + f32 tmp2 = (dShopSystem_itemActor[2]->orig.pos.y + + dShopSystem_itemActor[1]->orig.pos.y); local_40.y = tmp2 * tmp_05; - f32 tmp3 = (dShopSystem_itemActor[2]->mOrig.mPosition.z + - dShopSystem_itemActor[1]->mOrig.mPosition.z); + f32 tmp3 = (dShopSystem_itemActor[2]->orig.pos.z + + dShopSystem_itemActor[1]->orig.pos.z); local_40.z = tmp3 * tmp_05; } } else if (data_80451058 == 5) { - f32 tmp = (dShopSystem_itemActor[2]->mOrig.mPosition.x + - dShopSystem_itemActor[3]->mOrig.mPosition.x); + f32 tmp = (dShopSystem_itemActor[2]->orig.pos.x + + dShopSystem_itemActor[3]->orig.pos.x); local_40.x = tmp * tmp_05; - local_40.y = dShopSystem_itemActor[0]->mOrig.mPosition.y; + local_40.y = dShopSystem_itemActor[0]->orig.pos.y; - f32 tmp3 = (dShopSystem_itemActor[2]->mOrig.mPosition.z + - dShopSystem_itemActor[3]->mOrig.mPosition.z); + f32 tmp3 = (dShopSystem_itemActor[2]->orig.pos.z + + dShopSystem_itemActor[3]->orig.pos.z); local_40.z = tmp3 * tmp_05; } - cXyz local_4c = local_40 - dShopSystem_cameraActor[1]->mCurrent.mPosition; + cXyz local_4c = local_40 - dShopSystem_cameraActor[1]->current.pos; s16 atan = cM_atan2s(local_4c.x, local_4c.z); if (!strcmp("R_SP01", dComIfGp_getStartStageName())) { @@ -1500,7 +1500,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { } } - cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->mCurrent.mPosition, atan, + cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->current.pos, atan, &local_34); if (data_80451058 == 6 || data_80451058 == 5) { param_0->y += 15.0f; @@ -1634,7 +1634,7 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { int itemNo; if (mFlow.getEventId(&itemNo) == 1) { if (field_0xd90 == -1) { - field_0xd90 = fopAcM_createItemForPresentDemo(&mCurrent.mPosition, itemNo, + field_0xd90 = fopAcM_createItemForPresentDemo(¤t.pos, itemNo, 0, -1, -1, NULL, NULL); } @@ -1995,7 +1995,7 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { if (mFlow.getEventId(&itemNo) == 1) { if (p_flow->doFlow(actor, NULL, 0)) { if (field_0xd90 == -1) { - field_0xd90 = fopAcM_createItemForPresentDemo(&mCurrent.mPosition, itemNo, 0, -1, + field_0xd90 = fopAcM_createItemForPresentDemo(¤t.pos, itemNo, 0, -1, -1, NULL, NULL); } @@ -2113,13 +2113,13 @@ void dShopSystem_c::createShopItem(int itemType) { for (int i = 0; i < 3; i++) { u8* itemTbl = item_no + (itemType * 3); - pos.x = shop_item_pos_data_tbl->mItemPos[i].x + mCurrent.mPosition.x; - pos.y = shop_item_pos_data_tbl->mItemPos[i].y + mCurrent.mPosition.y; - pos.z = shop_item_pos_data_tbl->mItemPos[i].z + mCurrent.mPosition.z; + pos.x = shop_item_pos_data_tbl->mItemPos[i].x + current.pos.x; + pos.y = shop_item_pos_data_tbl->mItemPos[i].y + current.pos.y; + pos.z = shop_item_pos_data_tbl->mItemPos[i].z + current.pos.z; if (itemTbl[i] != NO_ITEM) { u32 index = fopAcM_create(PROC_ShopItem, itemTbl[i], &pos, fopAcM_GetRoomNo(this), - &mCurrent.mAngle, NULL, -1); + ¤t.angle, NULL, -1); mItemCtrl.setItemIndex(i, index); offFlag(i); } else { @@ -2146,7 +2146,7 @@ void dShopSystem_c::setSoldOutFlag() { void dShopSystem_c::setSoldOut() { if (mSoldOutFlag != 0xFF) { if (field_0xf60 < 0) { - u8 sw = (u8)dShopSystem_itemActor[mSoldOutFlag]->mOrig.mAngle.z & 0xFF; + u8 sw = (u8)dShopSystem_itemActor[mSoldOutFlag]->orig.angle.z & 0xFF; if (sw != 0xFF && !dComIfGs_isSaveSwitch(sw)) { dComIfGs_onSaveSwitch(sw); } @@ -2249,7 +2249,7 @@ asm void dShopSystem_c::searchItemActor() { /* 8019AB00-8019AB1C 195440 001C+00 1/1 0/0 0/0 .text getFlowNodeNum__13dShopSystem_cFv */ int dShopSystem_c::getFlowNodeNum() { - u16 num = mOrig.mAngle.x; + u16 num = orig.angle.x; if (num == 0xFFFF) { return -1; } diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index 0246a96efb..9b11dbe3a7 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -212,19 +212,19 @@ static int fopAc_Execute(void* actor) { 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; + ac->next = ac->current; 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) { + if (fopAcM_checkStatus(ac, 0x20) && ac->orig.pos.y - ac->current.pos.y > 5000.0f) { fopAcM_delete(ac); } - if (ac->mCurrent.mPosition.y < -9.999999848243207e+30f) { - ac->mCurrent.mPosition.y = -9.999999848243207e+30f; + if (ac->current.pos.y < -9.999999848243207e+30f) { + ac->current.pos.y = -9.999999848243207e+30f; } dKy_depth_dist_set(ac); @@ -308,19 +308,19 @@ static int fopAc_Create(void* actor) { 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->orig.pos = append->mPos; + ac->orig.angle = 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->orig.mRoomNo = append->mRoomNo; } - ac->mNext = ac->mOrig; - ac->mCurrent = ac->mOrig; - ac->mEyePos = ac->mOrig.mPosition; + ac->next = ac->orig; + ac->current = ac->orig; + ac->mEyePos = ac->orig.pos; ac->mMaxFallSpeed = -100.0f; ac->mAttentionInfo.field_0x0[0] = 1; ac->mAttentionInfo.field_0x0[1] = 2; @@ -331,9 +331,9 @@ static int fopAc_Create(void* actor) { 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.mPosition = ac->orig.pos; ac->mAttentionInfo.field_0xa = 30; - dKy_tevstr_init(&ac->mTevStr, ac->mOrig.mRoomNo, -1); + dKy_tevstr_init(&ac->mTevStr, ac->orig.mRoomNo, -1); int roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo >= 0) { @@ -341,19 +341,19 @@ static int fopAc_Create(void* actor) { } dStage_FileList_dt_c* filelist = NULL; - if (ac->mOrig.mRoomNo >= 0) { - filelist = dComIfGp_roomControl_getStatusRoomDt(ac->mOrig.mRoomNo)->mRoomDt.getFileListInfo(); + if (ac->orig.mRoomNo >= 0) { + filelist = dComIfGp_roomControl_getStatusRoomDt(ac->orig.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) { + if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.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) { + if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) { return 5; } } diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 77ac77ae87..6bac26a1f2 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -494,7 +494,7 @@ s32 fopAcM_createChildFromOffset(s16 procName, unsigned int parentProcID, u32 ac 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; + s16 parent_angleY = parentActor->current.angle.y; cXyz tmpPos; if (p_pos == NULL) { @@ -509,7 +509,7 @@ s32 fopAcM_createChildFromOffset(s16 procName, unsigned int parentProcID, u32 ac } else { tmpRot = *p_angle; } - cXyz parentPos = parentActor->mCurrent.mPosition; + cXyz parentPos = parentActor->current.pos; csXyz newAngle(tmpRot); newAngle.y += parent_angleY; @@ -752,9 +752,9 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) { /* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */ void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) { - p_actor->mCurrent.mPosition += p_actor->mSpeed; + p_actor->current.pos += p_actor->mSpeed; if (p_movePos != NULL) { - p_actor->mCurrent.mPosition += *p_movePos; + p_actor->current.pos += *p_movePos; } } @@ -768,7 +768,7 @@ void fopAcM_posMoveF(fopAc_ac_c* p_actor, const cXyz* 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* p_actorA, const fopAc_ac_c* p_actorB) { - return cLib_targetAngleY(&p_actorA->mCurrent.mPosition, &p_actorB->mCurrent.mPosition); + return cLib_targetAngleY(&p_actorA->current.pos, &p_actorB->current.pos); } /* ############################################################################################## */ @@ -793,7 +793,7 @@ 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 +#ifdef NONMATCHING 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); @@ -815,7 +815,7 @@ asm s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p * fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c */ s32 fopAcM_seenActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { return abs(static_cast( - cLib_targetAngleY(&p_actorA->mCurrent.mPosition, &p_actorB->mCurrent.mPosition) - + cLib_targetAngleY(&p_actorA->current.pos, &p_actorB->current.pos) - p_actorA->mCollisionRot.y)); } @@ -849,20 +849,20 @@ 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* p_actorA, const fopAc_ac_c* p_actorB) { - cXyz tmp = (p_actorB->mCurrent.mPosition - p_actorA->mCurrent.mPosition); + cXyz tmp = (p_actorB->current.pos - p_actorA->current.pos); 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* p_actorA, const fopAc_ac_c* p_actorB) { - cXyz tmp = (p_actorB->mCurrent.mPosition - p_actorA->mCurrent.mPosition); + cXyz tmp = (p_actorB->current.pos - p_actorA->current.pos); return tmp.abs2(); } /* 8001A964-8001AA94 0152A4 0130+00 0/0 3/3 125/125 .text * fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#ifdef NON_MATCHING +#ifdef NONMATCHING // matches besides data f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { const cXyz& posA = fopAcM_GetPosition_p(p_actorA); @@ -882,7 +882,7 @@ asm f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* p_actorA, const fopAc_ac_ /* 8001AA94-8001AAE0 0153D4 004C+00 1/1 4/4 30/30 .text * fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c */ -#ifdef NON_MATCHING +#ifdef NONMATCHING // matches besides data f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { const cXyz& posA = fopAcM_GetPosition_p(p_actorA); @@ -925,7 +925,7 @@ s32 fopAcM_rollPlayerCrash(fopAc_ac_c const* actor, f32 param_1, u32 param_2, f3 (player->checkFrontRoll() || player->checkWolfDash()) && fopAcM_searchPlayerDistanceXZ2(actor) < (tmp * tmp)) { - if (cM_scos(player->mCurrent.mAngle.y - fopAcM_searchPlayerAngleY(actor)) < param_6) { + if (cM_scos(player->current.angle.y - fopAcM_searchPlayerAngleY(actor)) < param_6) { player->onFrollCrashFlg(param_2, param_5); return 1; } @@ -1626,7 +1626,7 @@ 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 +#ifdef NONMATCHING 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) { @@ -1775,9 +1775,9 @@ asm void fopAcM_myRoomSearchEnemy(s8 param_0) { * fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */ s32 fopAcM_createDisappear(const fopAc_ac_c* p_actor, const cXyz* p_pos, u8 param_3, u8 param_4, u8 param_5) { - s8 roomNo = p_actor->mCurrent.mRoomNo; + s8 roomNo = p_actor->current.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, + p_pos, roomNo, &p_actor->current.angle, NULL, 0xFF, NULL, NULL)); } @@ -1824,7 +1824,7 @@ 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; + cXyz tmp = sound->field_0x0 - p_actor->current.pos; if (tmp.abs() < param_1) { return sound->field_0xc; @@ -1855,10 +1855,10 @@ s32 fopAcM_otherBgCheck(fopAc_ac_c const* param_0, fopAc_ac_c const* param_1) { cXyz tmp1; cXyz tmp0; - tmp0 = param_1->mCurrent.mPosition; + tmp0 = param_1->current.pos; tmp0.y += lit_6035; - tmp1 = param_0->mCurrent.mPosition; + tmp1 = param_0->current.pos; tmp1.y = param_0->mEyePos.y; linChk.Set(&tmp1, &tmp0, param_0); @@ -1877,7 +1877,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { cXyz tmp0; cXyz tmp2; - tmp0 = param_0->mCurrent.mPosition; + tmp0 = param_0->current.pos; tmp0.y += param_2; mDoMtx_YrotS((MtxP)calc_mtx, param_0->mCollisionRot.y); @@ -1886,7 +1886,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { tmp1.z = param_1; MtxPosition(&tmp1, &tmp2); - PSVECAdd(&tmp2, ¶m_0->mCurrent.mPosition, &tmp2); + PSVECAdd(&tmp2, ¶m_0->current.pos, &tmp2); linChk.Set(&tmp0, &tmp2, param_0); @@ -1899,7 +1899,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { /* 8001CFD8-8001D020 017918 0048+00 0/0 0/0 2/2 .text fopAcM_plAngleCheck__FPC10fopAc_ac_cs */ 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; + s16 angle = p_actor->mCollisionRot.y - dComIfGp_getPlayer(0)->mCollisionRot.y; if (angle <= i_angle && angle >= (s16)-i_angle) { return 0; } @@ -2013,29 +2013,29 @@ s32 fopAcM_riverStream(cXyz* param_0, s16* param_1, f32* param_2, f32 param_3) { /* 8001D1FC-8001D32C 017B3C 0130+00 0/0 0/0 12/12 .text fopAcM_carryOffRevise__FP10fopAc_ac_c */ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) { - fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); + fopAc_ac_c* player = dComIfGp_getPlayer(0); dBgS_LinChk linChk; cXyz tmp1; cXyz tmp0; cXyz tmp2; - tmp0 = player->mCurrent.mPosition; - tmp0.y = param_0->mCurrent.mPosition.y; + tmp0 = player->current.pos; + tmp0.y = param_0->current.pos.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.y = param_0->current.pos.y - player->current.pos.y; tmp1.z = 150.0f; MtxPosition(&tmp1, &tmp2); - PSVECAdd(&tmp2, &player->mCurrent.mPosition, &tmp2); + PSVECAdd(&tmp2, &player->current.pos, &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->current.pos.x = player->current.pos.x; + param_0->current.pos.z = player->current.pos.z; + param_0->next.pos = param_0->current.pos; param_0->mSpeedF = FLOAT_LABEL(lit_4645); return 1; } @@ -2230,7 +2230,7 @@ asm s32 fopAcM_getWaterY(cXyz const* param_0, f32* param_1) { * fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz */ 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; + cXyz pos = *p_inPos - actor->current.pos; p_outPos->x = (pos.z * cM_ssin(angle)) + (pos.x * cM_scos(angle)); p_outPos->y = pos.y; diff --git a/src/f_op/f_op_camera.cpp b/src/f_op/f_op_camera.cpp index f912cf3da3..a1aebfc733 100644 --- a/src/f_op/f_op_camera.cpp +++ b/src/f_op/f_op_camera.cpp @@ -45,7 +45,7 @@ static s32 fopCam_Draw(camera_class* pCamera) { s32 cam_proc = 1; if (!dComIfGp_isPauseFlag()) { - cam_proc = fpcLf_DrawMethod(pCamera->pMthd, pCamera); + cam_proc = fpcLf_DrawMethod(pCamera->mpMtd, pCamera); } return cam_proc; } @@ -55,7 +55,7 @@ static s32 fopCam_Draw(camera_class* pCamera) { #ifdef NONMATCHING static void fopCam_Execute(camera_class* pCamera) { if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) { - fpcMtd_Execute((process_method_class*)pCamera->pMthd, pCamera); + fpcMtd_Execute((process_method_class*)pCamera->mpMtd, pCamera); } } #else @@ -72,9 +72,9 @@ static asm void fopCam_Execute(camera_class* param_0) { /* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class */ int fopCam_IsDelete(camera_class* pCamera) { - int delete_stat = fpcMtd_IsDelete((process_method_class*)pCamera->pMthd, pCamera); + int delete_stat = fpcMtd_IsDelete((process_method_class*)pCamera->mpMtd, pCamera); if (delete_stat == 1) { - fopDwTg_DrawQTo(&pCamera->pCreateTag); + fopDwTg_DrawQTo(&pCamera->mCreateTag); } return delete_stat; @@ -82,9 +82,9 @@ int fopCam_IsDelete(camera_class* pCamera) { /* 8001E21C-8001E270 018B5C 0054+00 1/0 0/0 0/0 .text fopCam_Delete__FP12camera_class */ int fopCam_Delete(camera_class* pCamera) { - int delete_stat = fpcMtd_Delete((process_method_class*)pCamera->pMthd, pCamera); + int delete_stat = fpcMtd_Delete((process_method_class*)pCamera->mpMtd, pCamera); if (delete_stat == 1) { - fopDwTg_DrawQTo(&pCamera->pCreateTag); + fopDwTg_DrawQTo(&pCamera->mCreateTag); } return delete_stat; diff --git a/src/f_op/f_op_overlap_req.cpp b/src/f_op/f_op_overlap_req.cpp index 411e9c1f19..f93553efda 100644 --- a/src/f_op/f_op_overlap_req.cpp +++ b/src/f_op/f_op_overlap_req.cpp @@ -132,21 +132,22 @@ request_base_class* fopOvlpReq_Request(overlap_request_class* pOvlpReq, s16 para /* 8001E9F0-8001EA88 019330 0098+00 0/0 1/1 0/0 .text * fopOvlpReq_Handler__FP21overlap_request_class */ int fopOvlpReq_Handler(overlap_request_class* pOvlpReq) { - int phsDo = cPhs_Do(&pOvlpReq->field_0x18, pOvlpReq); - switch (phsDo) { - case 2: + int phase_state = cPhs_Do(&pOvlpReq->field_0x18, pOvlpReq); + + switch (phase_state) { + case cPhs_TWO_e: return fopOvlpReq_Handler(pOvlpReq); - case 0: - return 0; - case 1: - return 0; - case 4: - return 4; - case 3: - case 5: - return 5; + case cPhs_ZERO_e: + return cPhs_ZERO_e; + case cPhs_ONE_e: + return cPhs_ZERO_e; + case cPhs_COMPLEATE_e: + return cPhs_COMPLEATE_e; + case cPhs_UNK3_e: + case cPhs_ERROR_e: + return cPhs_ERROR_e; default: - return 5; + return cPhs_ERROR_e; } } diff --git a/src/f_op/f_op_scene_req.cpp b/src/f_op/f_op_scene_req.cpp index c6c7f51a59..62ec8f8a3c 100644 --- a/src/f_op/f_op_scene_req.cpp +++ b/src/f_op/f_op_scene_req.cpp @@ -17,7 +17,7 @@ * fopScnRq_phase_ClearOverlap__FP19scene_request_class */ static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) { if (fopOvlpM_ClearOfReq() == 1) { - return cPhs_UNK_2; + return cPhs_TWO_e; } else { return cPhs_ZERO_e; } @@ -33,7 +33,7 @@ static cPhs__Step fopScnRq_phase_Execute(scene_request_class* param_0) { * fopScnRq_phase_IsDoingOverlap__FP19scene_request_class */ static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) { if (fopOvlpM_IsDoingReq() == 1) { - return cPhs_UNK_2; + return cPhs_TWO_e; } else { return cPhs_ZERO_e; } @@ -43,7 +43,7 @@ static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) { * fopScnRq_phase_IsDoneOverlap__FP19scene_request_class */ static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) { if (fopOvlpM_IsDone() == 1) { - return cPhs_UNK_2; + return cPhs_TWO_e; } else { return cPhs_ZERO_e; } @@ -60,7 +60,7 @@ static cPhs__Step fopScnRq_phase_Done(scene_request_class* pScnRq) { fopScnPause_Disable((scene_class*)fpcEx_SearchByID(pScnRq->mCrtReq.mCreatingID)); } l_fopScnRq_IsUsingOfOverlap = 0; - return cPhs_UNK_2; + return cPhs_TWO_e; } /* 8001EF24-8001EF6C 019864 0048+00 1/0 0/0 0/0 .text fopScnRq_Execute__FP19scene_request_class */ diff --git a/src/f_pc/f_pc_stdcreate_req.cpp b/src/f_pc/f_pc_stdcreate_req.cpp index f0539aa172..77f2f9503a 100644 --- a/src/f_pc/f_pc_stdcreate_req.cpp +++ b/src/f_pc/f_pc_stdcreate_req.cpp @@ -82,16 +82,17 @@ s32 fpcSCtRq_phase_Done(standard_create_request_class* param_0) { /* 80023D14-80023D84 0070+00 s=1 e=0 z=2 None .text * fpcSCtRq_Handler__FP29standard_create_request_class */ s32 fpcSCtRq_Handler(standard_create_request_class* pStdCreateReq) { - s32 result = cPhs_Do(&pStdCreateReq->unk_0x48, pStdCreateReq); - switch (result) { - case 2: + s32 phase_state = cPhs_Do(&pStdCreateReq->unk_0x48, pStdCreateReq); + + switch (phase_state) { + case cPhs_TWO_e: return fpcSCtRq_Handler(pStdCreateReq); - case 4: - return 4; - case 1: - case 5: + case cPhs_COMPLEATE_e: + return cPhs_COMPLEATE_e; + case cPhs_ONE_e: + case cPhs_ERROR_e: default: - return result; + return phase_state; } } diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index 8f656bd41e..c4b624f3f8 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -120,14 +120,14 @@ static void mDoMemCdRWm_BuildHeader(mDoMemCdRWm_HeaderData* header) { ResTIMG* icon_data = (ResTIMG*)g_dComIfG_gameInfo.play.mCardIconResArchive->getResource("zelda2_gc_icon.bti"); - memcpy(header->mBannerTexData, (u8*)banner_data + banner_data->texDataOffset, - (banner_data->paletteCount * 2) + 0xC00); - memcpy(header->mIconTexData0, (u8*)icon_data + icon_data->texDataOffset, 0x400); - memcpy(header->mIconTexData1, (u8*)icon_data + icon_data->texDataOffset, 0x400); - memcpy(header->mIconTexData2, (u8*)icon_data + icon_data->texDataOffset, 0x400); - memcpy(header->mIconTexData3, (u8*)icon_data + icon_data->texDataOffset, 0x400); - memcpy(header->mIconTexData4, (u8*)icon_data + icon_data->texDataOffset, - (icon_data->paletteCount * 2) + 0x400); + memcpy(header->mBannerTexData, (u8*)banner_data + banner_data->imageOffset, + (banner_data->numColors * 2) + 0xC00); + memcpy(header->mIconTexData0, (u8*)icon_data + icon_data->imageOffset, 0x400); + memcpy(header->mIconTexData1, (u8*)icon_data + icon_data->imageOffset, 0x400); + memcpy(header->mIconTexData2, (u8*)icon_data + icon_data->imageOffset, 0x400); + memcpy(header->mIconTexData3, (u8*)icon_data + icon_data->imageOffset, 0x400); + memcpy(header->mIconTexData4, (u8*)icon_data + icon_data->imageOffset, + (icon_data->numColors * 2) + 0x400); g_dComIfG_gameInfo.play.mCardIconResArchive->removeResourceAll(); } diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 1cd5f83c22..6351b2d374 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -9,17 +9,20 @@ #include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRAssertHeap.h" #include "JSystem/JKernel/JKRExpHeap.h" +#include "JSystem/JMath/JMath.h" +#include "MSL_C/string.h" #include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_lib.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" #include "dolphin/types.h" +#include "d/kankyo/d_kankyo.h" +#include "m_Do/m_Do_mtx.h" // // Types: // -struct dKy_tevstr_c {}; - struct J3DDrawBuffer; struct J3DDrawBuffer { @@ -422,13 +425,10 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void snprintf(); -extern "C" void strcmp(); extern "C" extern u8 const j3dDefaultTexCoordInfo[32]; extern "C" extern u8 const j3dDefaultIndTexMtxInfo[28]; extern "C" extern u8 const j3dDefaultTevStageInfo[20]; extern "C" extern u8 const j3dDefaultIndTevStageInfo[12]; -extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */]; extern "C" extern void* __vt__9J3DPacket[5]; extern "C" extern void* __vt__8J3DModel[9]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; @@ -478,62 +478,118 @@ SECTION_SDATA2 static u8 lit_3876[4] = { SECTION_SDATA2 static f64 lit_3878 = 4503601774854144.0 /* cast s32 to float */; /* 8000D320-8000D428 007C60 0108+00 6/6 0/0 0/0 .text initPlay__14mDoExt_baseAnmFsifss */ +// matches with literals +#ifdef NONMATCHING +int mDoExt_baseAnm::initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_start, + s16 param_4) { + mFrameCtrl.setStart(i_start); + + if (param_4 < 0) { + mFrameCtrl.init(i_frameMax); + } else { + mFrameCtrl.init(param_4); + } + + mFrameCtrl.setAttribute(i_attribute); + mFrameCtrl.setRate(i_rate); + + if (i_rate >= 0.0f) { + mFrameCtrl.setFrame(i_start); + } else { + mFrameCtrl.setFrame(mFrameCtrl.getEnd()); + } + + mFrameCtrl.setLoop(mFrameCtrl.getFrame()); + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_baseAnm::initPlay(s16 param_0, int param_1, f32 param_2, s16 param_3, s16 param_4) { +asm int mDoExt_baseAnm::initPlay(s16 param_0, int param_1, f32 param_2, s16 param_3, s16 param_4) { nofralloc #include "asm/m_Do/m_Do_ext/initPlay__14mDoExt_baseAnmFsifss.s" } #pragma pop +#endif /* 8000D428-8000D47C 007D68 0054+00 0/0 12/12 198/198 .text play__14mDoExt_baseAnmFv */ +// matches with literals +#ifdef NONMATCHING +int mDoExt_baseAnm::play() { + mFrameCtrl.update(); + return isStop(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_baseAnm::play() { +asm int mDoExt_baseAnm::play() { nofralloc #include "asm/m_Do/m_Do_ext/play__14mDoExt_baseAnmFv.s" } #pragma pop +#endif /* 8000D47C-8000D518 007DBC 009C+00 0/0 3/3 6/6 .text * init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int mDoExt_bpkAnm::init(J3DMaterialTable* param_0, J3DAnmColor* param_1, int param_2, - int param_3, f32 param_4, s16 param_5, s16 param_6) { - nofralloc -#include "asm/m_Do/m_Do_ext/init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss.s" +int mDoExt_bpkAnm::init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6) { + mpAnm = i_bpk; + mpAnm->searchUpdateMaterialID(i_matTable); + + if (i_anmPlay) { + int attribute; + if (i_attribute < 0) { + attribute = mpAnm->getAttribute(); + } else { + attribute = i_attribute; + } + + return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6); + } + + return 1; } -#pragma pop /* 8000D518-8000D54C 007E58 0034+00 0/0 3/3 6/6 .text entry__13mDoExt_bpkAnmFP16J3DMaterialTablef */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_bpkAnm::entry(J3DMaterialTable* param_0, f32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/entry__13mDoExt_bpkAnmFP16J3DMaterialTablef.s" +void mDoExt_bpkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->entryMatColorAnimator(mpAnm); } -#pragma pop /* 8000D54C-8000D5E8 007E8C 009C+00 0/0 5/5 28/28 .text * init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int mDoExt_btpAnm::init(J3DMaterialTable* param_0, J3DAnmTexPattern* param_1, int param_2, - int param_3, f32 param_4, s16 param_5, s16 param_6) { - nofralloc -#include "asm/m_Do/m_Do_ext/init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss.s" +int mDoExt_btpAnm::init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btp, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6) { + mpAnm = i_btp; + mpAnm->searchUpdateMaterialID(i_matTable); + + if (i_anmPlay) { + int attribute; + if (i_attribute < 0) { + attribute = mpAnm->getAttribute(); + } else { + attribute = i_attribute; + } + + return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6); + } + + return 1; } -#pragma pop /* 8000D5E8-8000D63C 007F28 0054+00 0/0 5/5 28/28 .text * entry__13mDoExt_btpAnmFP16J3DMaterialTables */ +// matches with literals +#ifdef NONMATCHING +void mDoExt_btpAnm::entry(J3DMaterialTable* i_matTable, s16 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->entryTexNoAnimator(mpAnm); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -542,52 +598,63 @@ asm void mDoExt_btpAnm::entry(J3DMaterialTable* param_0, s16 param_1) { #include "asm/m_Do/m_Do_ext/entry__13mDoExt_btpAnmFP16J3DMaterialTables.s" } #pragma pop +#endif /* 8000D63C-8000D6D8 007F7C 009C+00 0/0 6/6 137/137 .text * init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int mDoExt_btkAnm::init(J3DMaterialTable* param_0, J3DAnmTextureSRTKey* param_1, int param_2, - int param_3, f32 param_4, s16 param_5, s16 param_6) { - nofralloc -#include "asm/m_Do/m_Do_ext/init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss.s" +int mDoExt_btkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6) { + mpAnm = i_btk; + mpAnm->searchUpdateMaterialID(i_matTable); + + if (i_anmPlay) { + int attribute; + if (i_attribute < 0) { + attribute = mpAnm->getAttribute(); + } else { + attribute = i_attribute; + } + + return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6); + } + + return 1; } -#pragma pop /* 8000D6D8-8000D70C 008018 0034+00 0/0 7/7 117/117 .text * entry__13mDoExt_btkAnmFP16J3DMaterialTablef */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_btkAnm::entry(J3DMaterialTable* param_0, f32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/entry__13mDoExt_btkAnmFP16J3DMaterialTablef.s" +void mDoExt_btkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->entryTexMtxAnimator(mpAnm); } -#pragma pop /* 8000D70C-8000D7A8 00804C 009C+00 0/0 8/8 112/112 .text * init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int mDoExt_brkAnm::init(J3DMaterialTable* param_0, J3DAnmTevRegKey* param_1, int param_2, - int param_3, f32 param_4, s16 param_5, s16 param_6) { - nofralloc -#include "asm/m_Do/m_Do_ext/init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss.s" +int mDoExt_brkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6) { + mpAnm = i_brk; + mpAnm->searchUpdateMaterialID(i_matTable); + + if (i_anmPlay) { + int attribute; + if (i_attribute < 0) { + attribute = mpAnm->getAttribute(); + } else { + attribute = i_attribute; + } + + return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6); + } + + return 1; } -#pragma pop /* 8000D7A8-8000D7DC 0080E8 0034+00 0/0 8/8 96/96 .text * entry__13mDoExt_brkAnmFP16J3DMaterialTablef */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_brkAnm::entry(J3DMaterialTable* param_0, f32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/entry__13mDoExt_brkAnmFP16J3DMaterialTablef.s" +void mDoExt_brkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) { + mpAnm->setFrame(i_frame); + i_matTable->entryTevRegAnimator(mpAnm); } -#pragma pop /* ############################################################################################## */ /* 803A3020-803A30C0 000140 0085+1B 1/1 0/0 0/0 .data l_invisibleMat$7041 */ @@ -1358,70 +1425,75 @@ asm J3DMtxCalc::~J3DMtxCalc() { /* 8000D990-8000D9CC 0082D0 003C+00 0/0 5/5 31/31 .text * changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_bckAnm::changeBckOnly(J3DAnmTransform* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform.s" +void mDoExt_bckAnm::changeBckOnly(J3DAnmTransform* i_bck) { + mAnm = i_bck; + mpMtxCalc->setAnmTransform(mAnm); } -#pragma pop /* 8000D9CC-8000D9E8 00830C 001C+00 0/0 11/11 59/59 .text entry__13mDoExt_bckAnmFP12J3DModelDataf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_bckAnm::entry(J3DModelData* param_0, f32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/entry__13mDoExt_bckAnmFP12J3DModelDataf.s" +void mDoExt_bckAnm::entry(J3DModelData* i_modelData, f32 i_frame) { + mAnm->setFrame(i_frame); + i_modelData->getJointNodePointer(0)->setMtxCalc(mpMtxCalc); } -#pragma pop /* 8000D9E8-8000DA08 008328 0020+00 0/0 1/1 1/1 .text * entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_bckAnm::entryJoint(J3DModelData* param_0, u16 param_1, f32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_ext/entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf.s" +void mDoExt_bckAnm::entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame) { + mAnm->setFrame(i_frame); + i_modelData->getJointNodePointer(i_jntNo)->setMtxCalc(mpMtxCalc); } -#pragma pop /* 8000DA08-8000DAA8 008348 00A0+00 0/0 1/1 3/3 .text * init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_blkAnm::init(J3DDeformData* param_0, J3DAnmCluster* param_1, int param_2, - int param_3, f32 param_4, s16 param_5, s16 param_6) { - nofralloc -#include "asm/m_Do/m_Do_ext/init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss.s" +int mDoExt_blkAnm::init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6) { + mpAnm = i_blk; + i_deformData->setAnm(mpAnm); + + if (i_anmPlay) { + int attribute; + if (i_attribute < 0) { + attribute = mpAnm->getAttribute(); + } else { + attribute = i_attribute; + } + + return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6); + } + + return 1; } -#pragma pop /* 8000DAA8-8000DB10 0083E8 0068+00 3/3 0/0 0/0 .text mDoExt_changeMaterial__FP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoExt_changeMaterial(J3DModel* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_changeMaterial__FP8J3DModel.s" +static void mDoExt_changeMaterial(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + for (u16 i = 0; i < model_data->getMaterialNum(); i++) { + model_data->getMaterialNodePointer(i)->change(); + } } -#pragma pop /* 8000DB10-8000DBC8 008450 00B8+00 0/0 0/0 1/1 .text mDoExt_modelTexturePatch__FP12J3DModelData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_modelTexturePatch(J3DModelData* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_modelTexturePatch__FP12J3DModelData.s" +void mDoExt_modelTexturePatch(J3DModelData* i_modelData) { + j3dSys.setTexture(i_modelData->getTexture()); + + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterial* mat = i_modelData->getMaterialNodePointer(i); + J3DTevBlock* tev = mat->getTevBlock(); + J3DDisplayListObj* dlObj = mat->getSharedDisplayListObj(); + + BOOL ret = OSDisableInterrupts(); + GDInitGDLObj(&J3DDisplayListObj::sGDLObj, dlObj->getDisplayList(0), + dlObj->getDisplayListSize()); + GDSetCurrent(&J3DDisplayListObj::sGDLObj); + tev->patchTexNoAndTexCoordScale(); + OSRestoreInterrupts(ret); + GDSetCurrent(NULL); + } } -#pragma pop /* 8000DBC8-8000DBCC 008508 0004+00 0/0 2/0 0/0 .text patchTexNoAndTexCoordScale__11J3DTevBlockFv */ @@ -1445,65 +1517,88 @@ void J3DTevBlock::patch() { } /* 8000DBD8-8000DC2C 008518 0054+00 3/3 0/0 0/0 .text mDoExt_modelDiff__FP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void mDoExt_modelDiff(J3DModel* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_modelDiff__FP8J3DModel.s" +static void mDoExt_modelDiff(J3DModel* i_model) { + i_model->calcMaterial(); + i_model->diff(); + i_model->entry(); } -#pragma pop /* 8000DC2C-8000DCC4 00856C 0098+00 0/0 0/0 8/8 .text mDoExt_modelUpdate__FP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_modelUpdate(J3DModel* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_modelUpdate__FP8J3DModel.s" +void mDoExt_modelUpdate(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL && + !model_data->isLocked()) { + i_model->calc(); + mDoExt_modelDiff(i_model); + } else { + i_model->update(); + i_model->lock(); + } + + i_model->viewCalc(); } -#pragma pop /* 8000DCC4-8000DD64 008604 00A0+00 1/1 12/12 414/414 .text mDoExt_modelUpdateDL__FP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_modelUpdateDL(J3DModel* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_modelUpdateDL__FP8J3DModel.s" +void mDoExt_modelUpdateDL(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL && + !model_data->isLocked()) { + i_model->calc(); + mDoExt_modelDiff(i_model); + } else { + i_model->unlock(); + i_model->update(); + i_model->lock(); + } + + i_model->viewCalc(); } -#pragma pop /* 8000DD64-8000DDF0 0086A4 008C+00 4/4 3/3 10/10 .text mDoExt_modelEntryDL__FP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_modelEntryDL(J3DModel* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_modelEntryDL__FP8J3DModel.s" +void mDoExt_modelEntryDL(J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + + if (model_data->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL && + !model_data->isLocked()) { + mDoExt_modelDiff(i_model); + } else { + i_model->unlock(); + i_model->entry(); + i_model->lock(); + } + + i_model->viewCalc(); } -#pragma pop /* 8000DDF0-8000DE8C 008730 009C+00 0/0 0/0 14/14 .text mDoExt_btkAnmRemove__FP12J3DModelData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_btkAnmRemove(J3DModelData* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_btkAnmRemove__FP12J3DModelData.s" +void mDoExt_btkAnmRemove(J3DModelData* i_modelData) { + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterialAnm* matAnm = i_modelData->getMaterialNodePointer(i)->getMaterialAnm(); + + if (matAnm != NULL) { + for (u16 j = 0; (int)j < 8; j++) { + matAnm->setTexMtxAnm(j, NULL); + } + } + } } -#pragma pop /* 8000DE8C-8000DF3C 0087CC 00B0+00 0/0 0/0 7/7 .text mDoExt_brkAnmRemove__FP12J3DModelData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_brkAnmRemove(J3DModelData* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_brkAnmRemove__FP12J3DModelData.s" +void mDoExt_brkAnmRemove(J3DModelData* i_modelData) { + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterialAnm* matAnm = i_modelData->getMaterialNodePointer(i)->getMaterialAnm(); + + if (matAnm != NULL) { + for (u16 j = 0; (int)j < 4; j++) { + matAnm->setTevColorAnm(j, NULL); + matAnm->setTevKColorAnm(j, NULL); + } + } + } } -#pragma pop /* 8000DF3C-8000DF44 00887C 0008+00 0/0 5/0 0/0 .text getZCompLoc__10J3DPEBlockCFv */ bool J3DPEBlock::getZCompLoc() const { @@ -1912,34 +2007,30 @@ J3DGXColor::J3DGXColor() { /* 8000E53C-8000E5F8 008E7C 00BC+00 0/0 0/0 19/19 .text * create__21mDoExt_invisibleModelFP8J3DModelUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_invisibleModel::create(J3DModel* param_0, u8 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/create__21mDoExt_invisibleModelFP8J3DModelUc.s" +int mDoExt_invisibleModel::create(J3DModel* i_model, u8 param_1) { + J3DModelData* model_data = i_model->getModelData(); + + mpPackets = new mDoExt_invJntPacket[model_data->getJointNum()]; + if (mpPackets == NULL) { + return 0; + } + + mModel = i_model; + mDoExt_invJntPacket* packet = mpPackets; + + for (u16 i = 0; i < model_data->getJointNum(); i++) { + packet->setJoint(mModel, i, param_1); + packet++; + } + + return 1; } -#pragma pop /* 8000E5F8-8000E654 008F38 005C+00 2/1 0/0 0/0 .text __dt__19mDoExt_invJntPacketFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm mDoExt_invJntPacket::~mDoExt_invJntPacket() { - nofralloc -#include "asm/m_Do/m_Do_ext/__dt__19mDoExt_invJntPacketFv.s" -} -#pragma pop +mDoExt_invJntPacket::~mDoExt_invJntPacket() {} /* 8000E654-8000E680 008F94 002C+00 1/1 0/0 0/0 .text __ct__19mDoExt_invJntPacketFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm mDoExt_invJntPacket::mDoExt_invJntPacket() { - nofralloc -#include "asm/m_Do/m_Do_ext/__ct__19mDoExt_invJntPacketFv.s" -} -#pragma pop +mDoExt_invJntPacket::mDoExt_invJntPacket() {} /* 8000E680-8000E6C8 008FC0 0048+00 0/0 1/0 0/0 .text __dt__9J3DPacketFv */ #pragma push @@ -1963,6 +2054,26 @@ asm void mDoExt_invisibleModel::entryJoint(cXyz* param_0) { } #pragma pop +/* void mDoExt_invisibleModel::entryJoint(cXyz* param_0) { + J3DModelData* modelData = mModel->getModelData(); + mDoExt_invJntPacket* packet = mpPackets; + + if (param_0 == NULL) { + cXyz tmp; + for (u16 i = 0; i < modelData->getJointNum(); i++) { + MtxP anmMtx = mModel->i_getAnmMtx(i); + tmp.set(anmMtx[0][3], anmMtx[1][3], anmMtx[2][3]); + dComIfGd_entryZSortListZxlu(packet, tmp); + packet++; + } + } else { + for (u16 i = 0; i < modelData->getJointNum(); i++) { + dComIfGd_entryZSortListZxlu(packet, *param_0); + packet++; + } + } +} */ + /* 8000E7C0-8000E834 009100 0074+00 0/0 0/0 17/17 .text entryDL__21mDoExt_invisibleModelFP4cXyz */ #pragma push #pragma optimization_level 0 @@ -1975,14 +2086,53 @@ asm void mDoExt_invisibleModel::entryDL(cXyz* param_0) { /* 8000E834-8000EA80 009174 024C+00 0/0 0/0 7/7 .text * mDoExt_setupShareTexture__FP12J3DModelDataP12J3DModelData */ +#ifdef NONMATCHING +void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareModelData) { + J3DTexture* texture = i_modelData->getTexture(); + JUTNameTab* textureName = i_modelData->getTextureName(); + J3DTexture* shareTexture = i_shareModelData->getTexture(); + JUTNameTab* shareTextureName = i_shareModelData->getTextureName(); + + bool bvar = false; + for (u16 i = 0; i < texture->getNum(); i++) { + if (texture->getResTIMG(i)->imageOffset == 0) { + for (u16 j = 0; j < shareTexture->getNum(); j++) { + if (!strcmp(textureName->getName(i), shareTextureName->getName(j))) { + texture->setResTIMG(i, *shareTexture->getResTIMG(j)); + bvar = true; + } + } + } + } + + if (bvar) { + j3dSys.setTexture(texture); + + for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) { + J3DMaterial* mat = i_modelData->getMaterialNodePointer(i); + J3DTevBlock* tevBlock = mat->getTevBlock(); + J3DDisplayListObj* dlObj = mat->getSharedDisplayListObj(); + + BOOL ret = OSDisableInterrupts(); + GDInitGDLObj(&J3DDisplayListObj::sGDLObj, dlObj->getDisplayList(0), + dlObj->getDisplayListSize()); + GDSetCurrent(&J3DDisplayListObj::sGDLObj); + tevBlock->patchTexNoAndTexCoordScale(); + OSRestoreInterrupts(ret); + GDSetCurrent(NULL); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_setupShareTexture(J3DModelData* param_0, J3DModelData* param_1) { +asm void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareModelData) { nofralloc #include "asm/m_Do/m_Do_ext/mDoExt_setupShareTexture__FP12J3DModelDataP12J3DModelData.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -1990,6 +2140,8 @@ asm void mDoExt_setupShareTexture(J3DModelData* param_0, J3DModelData* param_1) #pragma force_active on // MWCC ignores mapping of some japanese characters using the // byte 0x5C (ASCII '\'). This is why this string is hex-encoded. +// "ソリッドヒープちゃうがな!\n" +// "This isn't a solid heap! \n" SECTION_DEAD static char const* const stringBase_803740FC = "\x83\x5C\x83\x8A\x83\x62\x83\x68\x83\x71\x81\x5B\x83\x76\x82\xBF\x82\xE1\x82\xA4\x82\xAA\x82" "\xC8\x81\x49\x0A"; @@ -2013,8 +2165,8 @@ static JKRAssertHeap* AssertHeap; /* 8000ECC0-8000ECE4 009600 0024+00 0/0 1/1 0/0 .text mDoExt_createAssertHeap__FP7JKRHeap */ -JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* param_0) { - return AssertHeap = JKRAssertHeap::create(param_0); +JKRAssertHeap* mDoExt_createAssertHeap(JKRHeap* i_heap) { + return AssertHeap = JKRAssertHeap::create(i_heap); } /* 8000ECE4-8000ECEC -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getAssertHeap__Fv */ @@ -2027,8 +2179,8 @@ JKRAssertHeap* mDoExt_getAssertHeap() { static JKRExpHeap* DbPrintHeap; /* 8000ECEC-8000ED14 00962C 0028+00 0/0 1/1 0/0 .text mDoExt_createDbPrintHeap__FUlP7JKRHeap */ -JKRExpHeap* mDoExt_createDbPrintHeap(u32 param_0, JKRHeap* param_1) { - return DbPrintHeap = JKRExpHeap::create(param_0, param_1, true); +JKRExpHeap* mDoExt_createDbPrintHeap(u32 heapSize, JKRHeap* i_heap) { + return DbPrintHeap = JKRExpHeap::create(heapSize, i_heap, true); } /* 8000ED14-8000ED1C -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getDbPrintHeap__Fv */ @@ -2042,9 +2194,9 @@ JKRExpHeap* gameHeap; /* 8000ED1C-8000ED50 00965C 0034+00 0/0 1/1 0/0 .text mDoExt_createGameHeap__FUlP7JKRHeap */ -JKRExpHeap* mDoExt_createGameHeap(u32 param_0, JKRHeap* param_1) { - gameHeap = JKRExpHeap::create(param_0, param_1, true); - gameHeap->field_0x6c = 1; +JKRExpHeap* mDoExt_createGameHeap(u32 heapSize, JKRHeap* i_heap) { + gameHeap = JKRExpHeap::create(heapSize, i_heap, true); + gameHeap->setAllocationMode(JKRExpHeap::ALLOC_MODE_1); return gameHeap; } @@ -2058,8 +2210,8 @@ JKRExpHeap* mDoExt_getGameHeap() { JKRExpHeap* zeldaHeap; /* 8000ED58-8000ED80 009698 0028+00 0/0 1/1 0/0 .text mDoExt_createZeldaHeap__FUlP7JKRHeap */ -JKRExpHeap* mDoExt_createZeldaHeap(u32 param_0, JKRHeap* param_1) { - return zeldaHeap = JKRExpHeap::create(param_0, param_1, true); +JKRExpHeap* mDoExt_createZeldaHeap(u32 heapSize, JKRHeap* i_heap) { + return zeldaHeap = JKRExpHeap::create(heapSize, i_heap, true); } /* 8000ED80-8000ED88 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getZeldaHeap__Fv */ @@ -2072,8 +2224,8 @@ JKRExpHeap* mDoExt_getZeldaHeap() { JKRExpHeap* commandHeap; /* 8000ED88-8000EDB0 0096C8 0028+00 0/0 1/1 0/0 .text mDoExt_createCommandHeap__FUlP7JKRHeap */ -JKRExpHeap* mDoExt_createCommandHeap(u32 param_0, JKRHeap* param_1) { - return commandHeap = JKRExpHeap::create(param_0, param_1, true); +JKRExpHeap* mDoExt_createCommandHeap(u32 heapSize, JKRHeap* i_heap) { + return commandHeap = JKRExpHeap::create(heapSize, i_heap, true); } /* 8000EDB0-8000EDB8 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCommandHeap__Fv */ @@ -2086,9 +2238,9 @@ JKRExpHeap* mDoExt_getCommandHeap() { JKRExpHeap* archiveHeap; /* 8000EDB8-8000EDEC 0096F8 0034+00 0/0 1/1 0/0 .text mDoExt_createArchiveHeap__FUlP7JKRHeap */ -JKRExpHeap* mDoExt_createArchiveHeap(u32 param_0, JKRHeap* param_1) { - archiveHeap = JKRExpHeap::create(param_0, param_1, true); - archiveHeap->field_0x6c = 1; +JKRExpHeap* mDoExt_createArchiveHeap(u32 heapSize, JKRHeap* i_heap) { + archiveHeap = JKRExpHeap::create(heapSize, i_heap, true); + archiveHeap->setAllocationMode(JKRExpHeap::ALLOC_MODE_1); return archiveHeap; } @@ -2108,9 +2260,9 @@ static JKRExpHeap* j2dHeap; /* 8000EDFC-8000EE30 00973C 0034+00 0/0 1/1 0/0 .text mDoExt_createJ2dHeap__FUlP7JKRHeap */ -JKRExpHeap* mDoExt_createJ2dHeap(u32 param_0, JKRHeap* param_1) { - j2dHeap = JKRExpHeap::create(param_0, param_1, true); - j2dHeap->field_0x6c = 1; +JKRExpHeap* mDoExt_createJ2dHeap(u32 heapSize, JKRHeap* i_heap) { + j2dHeap = JKRExpHeap::create(heapSize, i_heap, true); + j2dHeap->setAllocationMode(JKRExpHeap::ALLOC_MODE_1); return j2dHeap; } @@ -2129,48 +2281,54 @@ JKRExpHeap* mDoExt_getHostIOHeap() { } /* 8000EE40-8000EED8 009780 0098+00 3/3 0/0 0/0 .text mDoExt_createSolidHeap__FUlP7JKRHeapUl */ -static JKRSolidHeap* mDoExt_createSolidHeap(u32 pSize, JKRHeap* pHeap, u32 pAlignment) { - if (pHeap == NULL) { - pHeap = JKRHeap::getCurrentHeap(); +static JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_heap, u32 i_alignment) { + if (i_heap == NULL) { + i_heap = JKRHeap::getCurrentHeap(); } + JKRSolidHeap* createdHeap; - if (pSize == 0 || pSize == 0xFFFFFFFF) { - createdHeap = JKRSolidHeap::create(0xFFFFFFFFFF, pHeap, false); + if (i_size == 0 || i_size == 0xFFFFFFFF) { + createdHeap = JKRSolidHeap::create(0xFFFFFFFFFF, i_heap, false); } else { - pSize = ALIGN_NEXT(pSize, 0x10); - pSize += 0x80; - if (0x10 < pAlignment) { - pSize = (pAlignment - 0x10 + pSize); + i_size = ALIGN_NEXT(i_size, 0x10); + i_size += 0x80; + + if (0x10 < i_alignment) { + i_size = (i_alignment - 0x10 + i_size); } - createdHeap = JKRSolidHeap::create(pSize, pHeap, false); + createdHeap = JKRSolidHeap::create(i_size, i_heap, false); } + if (createdHeap != NULL) { createdHeap->setErrorFlag(true); } + return createdHeap; } /* 8000EED8-8000EF20 009818 0048+00 0/0 2/2 0/0 .text mDoExt_createSolidHeapFromGame__FUlUl */ -JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 pSize, u32 pAlignment) { - return mDoExt_createSolidHeap(pSize, mDoExt_getGameHeap(), pAlignment); +JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment) { + return mDoExt_createSolidHeap(i_size, mDoExt_getGameHeap(), i_alignment); } /* 8000EF20-8000EF68 009860 0048+00 0/0 1/1 0/0 .text mDoExt_createSolidHeapFromSystem__FUlUl */ -JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 pSize, u32 pAlignment) { - return mDoExt_createSolidHeap(pSize, mDoExt_getZeldaHeap(), pAlignment); +JKRSolidHeap* mDoExt_createSolidHeapFromSystem(u32 i_size, u32 i_alignment) { + return mDoExt_createSolidHeap(i_size, mDoExt_getZeldaHeap(), i_alignment); } /* 8000EF68-8000EFBC 0098A8 0054+00 2/2 0/0 0/0 .text * mDoExt_createSolidHeapToCurrent__FPP7JKRHeapUlP7JKRHeapUl */ -JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** pOutHeap, u32 pSize, JKRHeap* pParentHeap, - u32 pAlignment) { - if (pOutHeap != NULL) { - *pOutHeap = JKRHeap::getCurrentHeap(); +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap** o_heap, u32 i_size, JKRHeap* i_parent, + u32 i_alignment) { + if (o_heap != NULL) { + *o_heap = JKRHeap::getCurrentHeap(); } - JKRSolidHeap* resultHeap = mDoExt_createSolidHeap(pSize, pParentHeap, pAlignment); + + JKRSolidHeap* resultHeap = mDoExt_createSolidHeap(i_size, i_parent, i_alignment); if (resultHeap != NULL) { mDoExt_setCurrentHeap(resultHeap); } + return resultHeap; } @@ -2180,82 +2338,77 @@ static JKRHeap* mDoExt_SaveCurrentHeap; /* 8000EFBC-8000EFF4 0098FC 0038+00 1/1 3/3 0/0 .text * mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl */ -JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 pSize, JKRHeap* pParentHeap, u32 pAlignment) { - return mDoExt_createSolidHeapToCurrent(&mDoExt_SaveCurrentHeap, pSize, pParentHeap, pAlignment); +JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32 i_size, JKRHeap* i_parent, u32 i_alignment) { + return mDoExt_createSolidHeapToCurrent(&mDoExt_SaveCurrentHeap, i_size, i_parent, i_alignment); } /* 8000EFF4-8000F044 009934 0050+00 0/0 2/2 0/0 .text * mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl */ -JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** pOutHeap, u32 pSize, - u32 pAlignment) { - return mDoExt_createSolidHeapToCurrent(pOutHeap, pSize, mDoExt_getGameHeap(), pAlignment); +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** o_heap, u32 i_size, + u32 i_alignment) { + return mDoExt_createSolidHeapToCurrent(o_heap, i_size, mDoExt_getGameHeap(), i_alignment); } /* 8000F044-8000F08C 009984 0048+00 0/0 7/7 0/0 .text * mDoExt_createSolidHeapFromGameToCurrent__FUlUl */ -JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 pSize, u32 pAlignment) { - return mDoExt_createSolidHeapToCurrent(pSize, mDoExt_getGameHeap(), pAlignment); +JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32 i_size, u32 i_alignment) { + return mDoExt_createSolidHeapToCurrent(i_size, mDoExt_getGameHeap(), i_alignment); } -/* ############################################################################################## */ -/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -// #pragma push -// #pragma force_active on -// SECTION_DEAD static char const* const stringBase_8037411F = -// "親ヒープがExpでないのでアジャストできません %08x %08x\n"; -// SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n"; -// #pragma pop - /* 8000F08C-8000F158 0099CC 00CC+00 1/1 11/11 0/0 .text mDoExt_adjustSolidHeap__FP12JKRSolidHeap */ -u32 mDoExt_adjustSolidHeap(JKRSolidHeap* pHeap) { - if (pHeap == NULL) { +u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap) { + if (i_heap == NULL) { return -1; } - JKRHeap* parentHeap = pHeap->getParent(); + + JKRHeap* parentHeap = i_heap->getParent(); if (parentHeap == NULL || parentHeap->getHeapType() != 'EXPH') { - OSReport_Error("親ヒープがExpでないのでアジャストできません %08x %08x\n", pHeap, + // "Can't adjust because parent heap isn't Exp %08x %08x\n" + OSReport_Error("親ヒープがExpでないのでアジャストできません %08x %08x\n", i_heap, parentHeap); return -1; - } else { - s32 result = pHeap->adjustSize(); - if (result < 0) { - OSReport_Error("adjustSize失敗 %08x\n", pHeap); - return -1; - } else { - // this probably indicates that 0x80 is some constant, maybe from a sizeof(JKRSolidHeap) - // with alignment? - if (result >= (u32)0x80) { - result -= 0x80; - } - return result; - } } + + s32 result = i_heap->adjustSize(); + if (result < 0) { + // "adjustSize failure %08x\n" + OSReport_Error("adjustSize失敗 %08x\n", i_heap); + return -1; + } + + // this probably indicates that 0x80 is some constant, maybe from a sizeof(JKRSolidHeap) + // with alignment? + if (result >= (u32)0x80) { + result -= 0x80; + } + + return result; } /* 8000F158-8000F18C 009A98 0034+00 0/0 1/1 0/0 .text * mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap */ -u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* pHeap) { - u32 result = mDoExt_adjustSolidHeap(pHeap); +u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* i_heap) { + u32 result = mDoExt_adjustSolidHeap(i_heap); mDoExt_restoreCurrentHeap(); return result; } /* 8000F18C-8000F1AC 009ACC 0020+00 0/0 13/13 0/0 .text mDoExt_destroySolidHeap__FP12JKRSolidHeap */ -void mDoExt_destroySolidHeap(JKRSolidHeap* pHeap) { - pHeap->destroy(); +void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap) { + i_heap->destroy(); } /* 8000F1AC-8000F1CC 009AEC 0020+00 0/0 7/7 0/0 .text mDoExt_destroyExpHeap__FP10JKRExpHeap */ -void mDoExt_destroyExpHeap(JKRExpHeap* pHeap) { - pHeap->destroy(); +void mDoExt_destroyExpHeap(JKRExpHeap* i_heap) { + i_heap->destroy(); } /* 8000F1CC-8000F1EC 009B0C 0020+00 1/1 78/78 2/2 .text mDoExt_setCurrentHeap__FP7JKRHeap */ -JKRHeap* mDoExt_setCurrentHeap(JKRHeap* pHeap) { - return pHeap->becomeCurrentHeap(); +JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap) { + return i_heap->becomeCurrentHeap(); } /* 8000F1EC-8000F1F4 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCurrentHeap__Fv */ @@ -2270,14 +2423,15 @@ void mDoExt_restoreCurrentHeap() { } /* 8000F220-8000F26C 009B60 004C+00 0/0 1/1 0/0 .text mDoExt_resIDToIndex__FP10JKRArchiveUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_resIDToIndex(JKRArchive* param_0, u16 param_1) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_resIDToIndex__FP10JKRArchiveUs.s" +int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id) { + JKRArchive::SDIFileEntry* res = p_archive->findIdResource(id); + + if (res == NULL) { + return -1; + } + + return res - p_archive->mFiles; } -#pragma pop /* 8000F26C-8000F4B0 009BAC 0244+00 1/0 0/0 0/0 .text calc__25mDoExt_MtxCalcAnmBlendTblFv */ @@ -2377,6 +2531,20 @@ extern "C" asm void __dt__13mDoExt_morf_cFv() { #pragma pop /* 8000FB7C-8000FBC0 00A4BC 0044+00 3/3 4/4 20/20 .text setMorf__13mDoExt_morf_cFf */ +// matches with literals +#ifdef NONMATCHING +void mDoExt_morf_c::setMorf(f32 i_morf) { + if (mPrevMorf < 0.0f || i_morf == 0.0f) { + mCurMorf = 1.0f; + } else { + mCurMorf = 0.0f; + mMorfStep = 0.0f; + field_0x34 = 1.0f / i_morf; + } + + mPrevMorf = mCurMorf; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2385,8 +2553,26 @@ asm void mDoExt_morf_c::setMorf(f32 param_0) { #include "asm/m_Do/m_Do_ext/setMorf__13mDoExt_morf_cFf.s" } #pragma pop +#endif /* 8000FBC0-8000FC4C 00A500 008C+00 3/3 0/0 0/0 .text frameUpdate__13mDoExt_morf_cFv */ +// matches with literals +#ifdef NONMATCHING +void mDoExt_morf_c::frameUpdate() { + if (mCurMorf < 1.0f) { + mPrevMorf = mCurMorf; + + if (field_0x34 < 0.0f) { + cLib_chaseF(&mMorfStep, 1.0f, -field_0x34); + mCurMorf += mMorfStep * ((1.0f - mCurMorf) * mMorfStep); + } else { + cLib_chaseF(&mCurMorf, 1.0f, field_0x34); + } + } + + mFrameCtrl.update(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2395,6 +2581,7 @@ asm void mDoExt_morf_c::frameUpdate() { #include "asm/m_Do/m_Do_ext/frameUpdate__13mDoExt_morf_cFv.s" } #pragma pop +#endif /* 8000FC4C-8000FD10 00A58C 00C4+00 0/0 0/0 34/34 .text * __ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl @@ -2475,24 +2662,23 @@ asm void mDoExt_McaMorf::play(Vec* param_0, u32 param_1, s8 param_2) { #pragma pop /* 80010680-800106AC 00AFC0 002C+00 0/0 0/0 33/33 .text entryDL__14mDoExt_McaMorfFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorf::entryDL() { - nofralloc -#include "asm/m_Do/m_Do_ext/entryDL__14mDoExt_McaMorfFv.s" +void mDoExt_McaMorf::entryDL() { + if (mpModel != NULL) { + mDoExt_modelEntryDL(mpModel); + } } -#pragma pop /* 800106AC-80010710 00AFEC 0064+00 0/0 0/0 37/37 .text modelCalc__14mDoExt_McaMorfFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorf::modelCalc() { - nofralloc -#include "asm/m_Do/m_Do_ext/modelCalc__14mDoExt_McaMorfFv.s" +void mDoExt_McaMorf::modelCalc() { + if (mpModel != NULL) { + if (mpAnm != NULL) { + mpAnm->setFrame(mFrameCtrl.getFrame()); + } + + mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this); + mpModel->calc(); + } } -#pragma pop /* 80010710-800107D0 00B050 00C0+00 1/1 0/0 0/0 .text * getTransform__14mDoExt_McaMorfFUsP16J3DTransformInfo */ @@ -2508,17 +2694,15 @@ asm void mDoExt_McaMorf::getTransform(u16 param_0, J3DTransformInfo* param_1) { /* 800107D0-80010888 00B110 00B8+00 0/0 2/2 222/222 .text * __ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm mDoExt_McaMorfSO::mDoExt_McaMorfSO(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1, - mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3, - int param_4, f32 param_5, int param_6, int param_7, - Z2Creature* param_8, u32 param_9, u32 param_10) { - nofralloc -#include "asm/m_Do/m_Do_ext/func_800107D0.s" +mDoExt_McaMorfSO::mDoExt_McaMorfSO(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1, + mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3, + int param_4, f32 param_5, int param_6, int param_7, + Z2Creature* param_8, u32 param_9, u32 param_10) { + mTranslate = false; + mMorfNone = false; + create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, + param_10); } -#pragma pop /* 80010888-800108F0 00B1C8 0068+00 1/0 0/0 0/0 .text __dt__16mDoExt_McaMorfSOFv */ #pragma push @@ -2534,10 +2718,88 @@ extern "C" asm void __dt__16mDoExt_McaMorfSOFv() { /* 800108F0-80010B68 00B230 0278+00 1/1 0/0 0/0 .text * create__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl */ +#ifdef NONMATCHING +int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_c* param_1, + mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3, + int param_4, f32 param_5, int param_6, int param_7, + Z2Creature* i_sound, u32 param_9, u32 param_10) { + mpModel = NULL; + mpTransformInfo = NULL; + mpQuat = NULL; + mpSound = NULL; + + if (i_modelData == NULL) { + return 0; + } + + if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL && param_9 == 0) { + if (i_modelData->isLocked()) { + param_10 = 0x20000; + } else { + param_10 = 0x80000; + } + } + + mpModel = mDoExt_J3DModel__create(i_modelData, param_9, param_10); + if (mpModel == NULL) { + return 0; + } + + if (param_9 != 0x80000) { + mDoExt_changeMaterial(mpModel); + } + + mpSound = i_sound; + + if (param_3 != NULL) { + mpBas = ((mDoExt_transAnmBas*)param_3)->getBas(); + } + + setAnm(param_3, param_4, 0.0f, param_5, param_6, param_7); + mPrevMorf = -1.0f; + + mpTransformInfo = new J3DTransformInfo[i_modelData->getJointNum()]; + if (mpTransformInfo != NULL) { + mpQuat = new Quaternion[i_modelData->getJointNum()]; + + if (mpQuat != NULL) { + J3DTransformInfo* transInfo = mpTransformInfo; + Quaternion* quat = mpQuat; + J3DModelData* modelData = mpModel->getModelData(); + + for (int i = 0; i < modelData->getJointNum(); i++) { + transInfo = &modelData->getJointNodePointer(i)->getTransformInfo(); + JMAEulerToQuat(transInfo->mRotation.x, transInfo->mRotation.y, transInfo->mRotation.z, quat); + + transInfo++; + quat++; + } + + mpCallback1 = param_1; + mpCallback2 = param_2; + return 1; + } + } + + if (mpTransformInfo != NULL) { + mpTransformInfo = NULL; + } + + if (mpQuat != NULL) { + mpQuat = NULL; + } + + if (mpModel != NULL) { + mpModel = NULL; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_McaMorfSO::create(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1, +asm int mDoExt_McaMorfSO::create(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1, mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3, int param_4, f32 param_5, int param_6, int param_7, Z2Creature* param_8, u32 param_9, u32 param_10) { @@ -2545,6 +2807,7 @@ asm void mDoExt_McaMorfSO::create(J3DModelData* param_0, mDoExt_McaMorfCallBack1 #include "asm/m_Do/m_Do_ext/func_800108F0.s" } #pragma pop +#endif /* 80010B68-80010E70 00B4A8 0308+00 1/0 0/0 0/0 .text calc__16mDoExt_McaMorfSOFv */ #pragma push @@ -2570,46 +2833,65 @@ asm void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* param_0, int param_1, f32 par /* 800110B0-80011154 00B9F0 00A4+00 0/0 5/5 143/143 .text play__16mDoExt_McaMorfSOFUlSc */ +// matches with literals +#ifdef NONMATCHING +int mDoExt_McaMorfSO::play(u32 param_0, s8 param_1) { + frameUpdate(); + + if (mpSound != NULL) { + mpSound->framework(param_0, param_1); + + if (mpBas != NULL) { + mpSound->updateAnime(getFrame(), getPlaySpeed()); + } + } + + return isStop(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_McaMorfSO::play(u32 param_0, s8 param_1) { +asm int mDoExt_McaMorfSO::play(u32 param_0, s8 param_1) { nofralloc #include "asm/m_Do/m_Do_ext/play__16mDoExt_McaMorfSOFUlSc.s" } #pragma pop +#endif /* 80011154-800111C0 00BA94 006C+00 0/0 0/0 4/4 .text updateDL__16mDoExt_McaMorfSOFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorfSO::updateDL() { - nofralloc -#include "asm/m_Do/m_Do_ext/updateDL__16mDoExt_McaMorfSOFv.s" +void mDoExt_McaMorfSO::updateDL() { + if (mpModel != NULL) { + if (mpAnm != NULL) { + mpAnm->setFrame(mFrameCtrl.getFrame()); + } + + mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this); + mDoExt_modelUpdateDL(mpModel); + mPrevMorf = mCurMorf; + } } -#pragma pop /* 800111C0-800111EC 00BB00 002C+00 0/0 5/5 137/137 .text entryDL__16mDoExt_McaMorfSOFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorfSO::entryDL() { - nofralloc -#include "asm/m_Do/m_Do_ext/entryDL__16mDoExt_McaMorfSOFv.s" +void mDoExt_McaMorfSO::entryDL() { + if (mpModel != NULL) { + mDoExt_modelEntryDL(mpModel); + } } -#pragma pop /* 800111EC-80011250 00BB2C 0064+00 0/0 4/4 174/174 .text modelCalc__16mDoExt_McaMorfSOFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorfSO::modelCalc() { - nofralloc -#include "asm/m_Do/m_Do_ext/modelCalc__16mDoExt_McaMorfSOFv.s" +void mDoExt_McaMorfSO::modelCalc() { + if (mpModel != NULL) { + if (mpAnm != NULL) { + mpAnm->setFrame(mFrameCtrl.getFrame()); + } + + mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this); + mpModel->calc(); + } } -#pragma pop /* 80011250-80011310 00BB90 00C0+00 1/1 0/0 1/1 .text * getTransform__16mDoExt_McaMorfSOFUsP16J3DTransformInfo */ @@ -2623,14 +2905,11 @@ asm void mDoExt_McaMorfSO::getTransform(u16 param_0, J3DTransformInfo* param_1) #pragma pop /* 80011310-80011348 00BC50 0038+00 1/1 2/2 260/260 .text stopZelAnime__16mDoExt_McaMorfSOFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorfSO::stopZelAnime() { - nofralloc -#include "asm/m_Do/m_Do_ext/stopZelAnime__16mDoExt_McaMorfSOFv.s" +void mDoExt_McaMorfSO::stopZelAnime() { + if (mpSound != NULL) { + mpSound->deleteObject(); + } } -#pragma pop /* 80011348-800113FC 00BC88 00B4+00 0/0 0/0 1/1 .text * __ct__15mDoExt_McaMorf2FP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformP15J3DAnmTransformifiiP10Z2CreatureUlUl @@ -2675,14 +2954,19 @@ asm void mDoExt_McaMorf2::create(J3DModelData* param_0, mDoExt_McaMorfCallBack1_ #pragma pop /* 800116B4-800116F4 00BFF4 0040+00 1/1 0/0 0/0 .text ERROR_EXIT__15mDoExt_McaMorf2Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorf2::ERROR_EXIT() { - nofralloc -#include "asm/m_Do/m_Do_ext/ERROR_EXIT__15mDoExt_McaMorf2Fv.s" +void mDoExt_McaMorf2::ERROR_EXIT() { + if (mpTransformInfo != NULL) { + mpTransformInfo = NULL; + } + + if (mpQuat != NULL) { + mpQuat = NULL; + } + + if (mpModel != NULL) { + mpModel = NULL; + } } -#pragma pop /* 800116F4-80011D70 00C034 067C+00 1/0 0/0 0/0 .text calc__15mDoExt_McaMorf2Fv */ #pragma push @@ -2721,45 +3005,62 @@ asm void mDoExt_McaMorf2::setAnmRate(f32 param_0) { #pragma pop /* 800120A0-80012144 00C9E0 00A4+00 0/0 0/0 1/1 .text play__15mDoExt_McaMorf2FUlSc */ +// matches with literals +#ifdef NONMATCHING +int mDoExt_McaMorf2::play(u32 param_0, s8 param_1) { + frameUpdate(); + + if (mpSound != NULL) { + mpSound->framework(param_0, param_1); + + if (mpBas != NULL) { + mpSound->updateAnime(getFrame(), getPlaySpeed()); + } + } + + return isStop(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_McaMorf2::play(u32 param_0, s8 param_1) { +asm int mDoExt_McaMorf2::play(u32 param_0, s8 param_1) { nofralloc #include "asm/m_Do/m_Do_ext/play__15mDoExt_McaMorf2FUlSc.s" } #pragma pop +#endif /* 80012144-80012170 00CA84 002C+00 0/0 0/0 1/1 .text entryDL__15mDoExt_McaMorf2Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorf2::entryDL() { - nofralloc -#include "asm/m_Do/m_Do_ext/entryDL__15mDoExt_McaMorf2Fv.s" +void mDoExt_McaMorf2::entryDL() { + if (mpModel != NULL) { + mDoExt_modelEntryDL(mpModel); + } } -#pragma pop /* 80012170-800121E8 00CAB0 0078+00 0/0 0/0 1/1 .text modelCalc__15mDoExt_McaMorf2Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorf2::modelCalc() { - nofralloc -#include "asm/m_Do/m_Do_ext/modelCalc__15mDoExt_McaMorf2Fv.s" +void mDoExt_McaMorf2::modelCalc() { + if (mpModel != NULL) { + if (mpAnm != NULL) { + mpAnm->setFrame(mFrameCtrl.getFrame()); + } + + if (field_0x40 != NULL) { + field_0x40->setFrame(mFrameCtrl.getFrame()); + } + + mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this); + mpModel->calc(); + } } -#pragma pop /* 800121E8-80012220 00CB28 0038+00 1/1 0/0 1/1 .text stopZelAnime__15mDoExt_McaMorf2Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_McaMorf2::stopZelAnime() { - nofralloc -#include "asm/m_Do/m_Do_ext/stopZelAnime__15mDoExt_McaMorf2Fv.s" +void mDoExt_McaMorf2::stopZelAnime() { + if (mpSound != NULL) { + mpSound->deleteObject(); + } } -#pragma pop /* 80012220-800123D0 00CB60 01B0+00 1/0 0/0 0/0 .text draw__19mDoExt_invJntPacketFv */ #pragma push @@ -2805,14 +3106,20 @@ mDoExt_3Dline_c::mDoExt_3Dline_c() { } /* 800126C0-80012774 00D000 00B4+00 1/0 0/0 0/0 .text setMaterial__19mDoExt_3DlineMat0_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_3DlineMat0_c::setMaterial() { - nofralloc -#include "asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat0_cFv.s" +void mDoExt_3DlineMat0_c::setMaterial() { + j3dSys.reinitGX(); + GXSetNumIndStages(0); + dKy_setLight_again(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_CLR_RGB, GX_RGB8, 6); + dKy_GxFog_set(); + GXCallDisplayList(l_matDL, 0x80); + GXLoadPosMtxImm(j3dSys.getViewMtx(), GX_PNMTX0); + GXLoadNrmMtxImm(g_mDoMtx_identity, GX_PNMTX0); } -#pragma pop /* 80012774-80012874 00D0B4 0100+00 1/0 0/0 0/0 .text draw__19mDoExt_3DlineMat0_cFv */ #pragma push @@ -2877,14 +3184,22 @@ asm void mDoExt_3DlineMat1_c::init(u16 param_0, u16 param_1, ResTIMG* param_2, i #pragma pop /* 800134F8-800135D0 00DE38 00D8+00 1/0 0/0 0/0 .text setMaterial__19mDoExt_3DlineMat1_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_3DlineMat1_c::setMaterial() { - nofralloc -#include "asm/m_Do/m_Do_ext/setMaterial__19mDoExt_3DlineMat1_cFv.s" +void mDoExt_3DlineMat1_c::setMaterial() { + j3dSys.reinitGX(); + GXSetNumIndStages(0); + dKy_setLight_again(); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_CLR_RGB, GX_RGB8, 6); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_F32, 0); + dKy_GxFog_set(); + GXCallDisplayList(l_mat1DL, 0x80); + GXLoadPosMtxImm(j3dSys.getViewMtx(), GX_PNMTX0); + GXLoadNrmMtxImm(g_mDoMtx_identity, GX_PNMTX0); } -#pragma pop /* 800135D0-8001373C 00DF10 016C+00 1/0 0/0 0/0 .text draw__19mDoExt_3DlineMat1_cFv */ #pragma push @@ -2999,39 +3314,17 @@ asm JUTFont::~JUTFont() { /* ############################################################################################## */ /* 803740C0-803740D4 000720 0012+02 1/1 0/0 0/0 .rodata fontdata$8224 */ -SECTION_RODATA static u8 const fontdata_8224[18 + 2 /* padding */] = { - 0x72, - 0x6F, - 0x64, - 0x61, - 0x6E, - 0x5F, - 0x62, - 0x5F, - 0x32, - 0x34, - 0x5F, - 0x32, - 0x32, - 0x2E, - 0x62, - 0x66, - 0x6E, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_RODATA static char const fontdata_8224[] = "rodan_b_24_22.bfn"; COMPILER_STRIP_GATE(0x803740C0, &fontdata_8224); /* 80450C44-80450C48 000144 0004+00 3/3 0/0 0/0 .sbss mDoExt_font0 */ -static u8 mDoExt_font0[4]; +static JUTFont* mDoExt_font0; /* 80450C48-80450C4C 000148 0004+00 2/2 0/0 0/0 .sbss mDoExt_font0_getCount */ -static u8 mDoExt_font0_getCount[4]; +static int mDoExt_font0_getCount; /* 80450C4C-80450C50 00014C 0004+00 2/2 0/0 0/0 .sbss mDoExt_resfont0 */ -static u8 mDoExt_resfont0[4]; +static ResFONT* mDoExt_resfont0; /* 80014994-800149F0 00F2D4 005C+00 1/1 0/0 0/0 .text mDoExt_initFont0__Fv */ #pragma push @@ -3044,14 +3337,14 @@ static asm void mDoExt_initFont0() { #pragma pop /* 800149F0-80014A2C 00F330 003C+00 0/0 51/51 2/2 .text mDoExt_getMesgFont__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTFont* mDoExt_getMesgFont() { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_getMesgFont__Fv.s" +JUTFont* mDoExt_getMesgFont() { + if (mDoExt_font0 == NULL) { + mDoExt_initFont0(); + } + + mDoExt_font0_getCount++; + return mDoExt_font0; } -#pragma pop /* 80014A2C-80014AA4 00F36C 0078+00 0/0 6/6 0/0 .text mDoExt_removeMesgFont__Fv */ #pragma push @@ -3065,20 +3358,17 @@ asm void mDoExt_removeMesgFont() { /* ############################################################################################## */ /* 803740D4-803740E8 000734 0014+00 1/1 0/0 0/0 .rodata fontdata$8253 */ -SECTION_RODATA static u8 const fontdata_8253[20] = { - 0x72, 0x65, 0x69, 0x73, 0x68, 0x6F, 0x74, 0x61, 0x69, 0x5F, - 0x32, 0x34, 0x5F, 0x32, 0x32, 0x2E, 0x62, 0x66, 0x6E, 0x00, -}; +SECTION_RODATA static char const fontdata_8253[] = "reishotai_24_22.bfn"; COMPILER_STRIP_GATE(0x803740D4, &fontdata_8253); /* 80450C50-80450C54 000150 0004+00 2/2 0/0 0/0 .sbss mDoExt_font1 */ -static u8 mDoExt_font1[4]; +static JUTFont* mDoExt_font1; /* 80450C54-80450C58 000154 0004+00 1/1 0/0 0/0 .sbss mDoExt_font1_getCount */ -static u8 mDoExt_font1_getCount[4]; +static int mDoExt_font1_getCount; /* 80450C58-80450C5C 000158 0004+00 1/1 0/0 0/0 .sbss mDoExt_resfont1 */ -static u8 mDoExt_resfont1[4]; +static ResFONT* mDoExt_resfont1; /* 80014AA4-80014B04 00F3E4 0060+00 1/1 0/0 0/0 .text mDoExt_initFont1__Fv */ #pragma push @@ -3091,31 +3381,28 @@ static asm void mDoExt_initFont1() { #pragma pop /* 80014B04-80014B40 00F444 003C+00 0/0 8/8 0/0 .text mDoExt_getRubyFont__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTFont* mDoExt_getRubyFont() { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_getRubyFont__Fv.s" +JUTFont* mDoExt_getRubyFont() { + if (mDoExt_font1 == NULL) { + mDoExt_initFont1(); + } + + mDoExt_font1_getCount++; + return mDoExt_font1; } -#pragma pop /* ############################################################################################## */ /* 803740E8-803740FC 000748 0014+00 1/1 0/0 0/0 .rodata fontdata$8287 */ -SECTION_RODATA static u8 const fontdata_8287[20] = { - 0x72, 0x65, 0x69, 0x73, 0x68, 0x6F, 0x74, 0x61, 0x69, 0x5F, - 0x32, 0x34, 0x5F, 0x32, 0x32, 0x2E, 0x62, 0x66, 0x6E, 0x00, -}; +SECTION_RODATA static char const fontdata_8287[] = "reishotai_24_22.bfn"; COMPILER_STRIP_GATE(0x803740E8, &fontdata_8287); /* 80450C5C-80450C60 00015C 0004+00 3/3 0/0 0/0 .sbss mDoExt_font2 */ -static u8 mDoExt_font2[4]; +static JUTFont* mDoExt_font2; /* 80450C60-80450C64 000160 0004+00 2/2 0/0 0/0 .sbss mDoExt_font2_getCount */ -static u8 mDoExt_font2_getCount[4]; +static int mDoExt_font2_getCount; /* 80450C64-80450C68 000164 0004+00 2/2 0/0 0/0 .sbss mDoExt_resfont2 */ -static u8 mDoExt_resfont2[4]; +static ResFONT* mDoExt_resfont2; /* 80014B40-80014BA0 00F480 0060+00 1/1 0/0 0/0 .text mDoExt_initFont2__Fv */ #pragma push @@ -3128,14 +3415,14 @@ static asm void mDoExt_initFont2() { #pragma pop /* 80014BA0-80014BDC 00F4E0 003C+00 0/0 11/11 0/0 .text mDoExt_getSubFont__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTFont* mDoExt_getSubFont() { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s" +JUTFont* mDoExt_getSubFont() { + if (mDoExt_font2 == NULL) { + mDoExt_initFont2(); + } + + mDoExt_font2_getCount++; + return mDoExt_font2; } -#pragma pop /* 80014BDC-80014C54 00F51C 0078+00 0/0 2/2 0/0 .text mDoExt_removeSubFont__Fv */ #pragma push @@ -3149,39 +3436,54 @@ asm void mDoExt_removeSubFont() { /* 80014C54-80014D5C 00F594 0108+00 3/3 14/14 445/445 .text * mDoExt_J3DModel__create__FP12J3DModelDataUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DModel* mDoExt_J3DModel__create(J3DModelData* param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_J3DModel__create__FP12J3DModelDataUlUl.s" +J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2) { + if (i_modelData != NULL) { + J3DModel* model = new J3DModel(); + + if (model != NULL) { + if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL) { + if (i_modelData->isLocked()) { + param_1 = 0x20000; + } else if (param_1 == 0x20000) { + param_1 |= 0x40000; + } else { + param_1 = 0x80000; + } + } + + if (!model->entryModelData(i_modelData, param_1, 1)) { + if (param_1 == 0x80000 && model->newDifferedDisplayList(param_2)) { + return NULL; + } + + model->lock(); + return model; + } + } + } + + return NULL; } -#pragma pop /* ############################################################################################## */ /* 80450C68-80450C70 000168 0004+04 1/1 0/0 0/0 .sbss aram_cache_size */ -static u8 aram_cache_size[4 + 4 /* padding */]; +static u32 aram_cache_size; /* 80014D5C-80014D64 00F69C 0008+00 0/0 1/1 0/0 .text mDoExt_setAraCacheSize__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_setAraCacheSize(u32 param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_setAraCacheSize__FUl.s" +void mDoExt_setAraCacheSize(u32 size) { + aram_cache_size = size; } -#pragma pop /* 80014D64-80014D9C 00F6A4 0038+00 0/0 2/2 0/0 .text mDoExt_GetCurrentRunningThread__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoExt_GetCurrentRunningThread() { - nofralloc -#include "asm/m_Do/m_Do_ext/mDoExt_GetCurrentRunningThread__Fv.s" +OSThread* mDoExt_GetCurrentRunningThread() { + OSThread* thread = OSGetCurrentThread(); + if (thread != NULL && thread->state != 2) { + thread = NULL; + } + + return thread; } -#pragma pop /* 80014D9C-80014DC8 00F6DC 002C+00 1/0 0/0 0/0 .text * setGX__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor */ @@ -3225,13 +3527,13 @@ asm mDoExt_3DlineMatSortPacket::~mDoExt_3DlineMatSortPacket() { #pragma pop /* 80014E7C-80014E84 00F7BC 0008+00 1/0 0/0 0/0 .text getMaterialID__19mDoExt_3DlineMat1_cFv */ -bool mDoExt_3DlineMat1_c::getMaterialID() { - return true; +int mDoExt_3DlineMat1_c::getMaterialID() { + return 1; } /* 80014E84-80014E8C 00F7C4 0008+00 1/0 0/0 0/0 .text getMaterialID__19mDoExt_3DlineMat0_cFv */ -bool mDoExt_3DlineMat0_c::getMaterialID() { - return false; +int mDoExt_3DlineMat0_c::getMaterialID() { + return 0; } /* 80014E8C-80014E90 00F7CC 0004+00 11/0 2/0 0/0 .text @@ -3276,7 +3578,8 @@ asm void J3DMtxCalc::getWeight(u8 param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_MtxCalcAnmBlendTblOld::~mDoExt_MtxCalcAnmBlendTblOld() { +// asm mDoExt_MtxCalcAnmBlendTblOld::~mDoExt_MtxCalcAnmBlendTblOld() { +extern "C" asm void __dt__28mDoExt_MtxCalcAnmBlendTblOldFv() { nofralloc #include "asm/m_Do/m_Do_ext/__dt__28mDoExt_MtxCalcAnmBlendTblOldFv.s" } @@ -3287,7 +3590,8 @@ asm mDoExt_MtxCalcAnmBlendTblOld::~mDoExt_MtxCalcAnmBlendTblOld() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoExt_MtxCalcAnmBlendTbl::~mDoExt_MtxCalcAnmBlendTbl() { +// asm mDoExt_MtxCalcAnmBlendTbl::~mDoExt_MtxCalcAnmBlendTbl() { +extern "C" asm void __dt__25mDoExt_MtxCalcAnmBlendTblFv() { nofralloc #include "asm/m_Do/m_Do_ext/__dt__25mDoExt_MtxCalcAnmBlendTblFv.s" } diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 43c0ff16e1..598ee0a5ea 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -176,7 +176,7 @@ static ResTIMG* createTimg(u16 width, u16 height, u32 format) { timg->minFilter = GX_LINEAR; timg->magFilter = GX_LINEAR; timg->mipmapCount = 1; - timg->texDataOffset = 0x20; + timg->imageOffset = 0x20; } return timg; } diff --git a/src/m_Do/m_Do_lib.cpp b/src/m_Do/m_Do_lib.cpp index dfb56d6ffe..6a313f6314 100644 --- a/src/m_Do/m_Do_lib.cpp +++ b/src/m_Do/m_Do_lib.cpp @@ -56,14 +56,14 @@ SECTION_SDATA2 static f64 lit_3638 = 4503601774854144.0 /* cast s32 to float */; #ifdef NONMATCHING bool mDoLib_setResTimgObj(ResTIMG const* res, _GXTexObj* o_texObj, u32 param_2, _GXTlutObj* o_tlutObj) { - if (res->palettesEnabled) { - GXInitTlutObj(o_tlutObj, (void*)(res + res->paletteOffset), (GXTlutFmt)res->paletteFormat, - res->paletteCount); - GXInitTexObjCI(o_texObj, (void*)(res + res->texDataOffset), res->width, res->height, + if (res->indexTexture) { + GXInitTlutObj(o_tlutObj, (void*)(res + res->paletteOffset), (GXTlutFmt)res->colorFormat, + res->numColors); + GXInitTexObjCI(o_texObj, (void*)(res + res->imageOffset), res->width, res->height, (GXCITexFmt)res->format, (GXTexWrapMode)res->wrapS, (GXTexWrapMode)res->wrapT, 1 - res->mipmapCount, param_2); } else { - GXInitTexObj(o_texObj, (void*)(res + res->texDataOffset), res->width, res->height, + GXInitTexObj(o_texObj, (void*)(res + res->imageOffset), res->width, res->height, (GXTexFmt)res->format, (GXTexWrapMode)res->wrapS, (GXTexWrapMode)res->wrapT, (s32)1 - res->mipmapCount); } @@ -71,7 +71,7 @@ bool mDoLib_setResTimgObj(ResTIMG const* res, _GXTexObj* o_texObj, u32 param_2, (f32)res->minLOD * 0.125f, (f32)res->maxLOD * 0.125f, (f32)res->LODBias * 0.01f, (s32)res->biasClamp, (s32)res->doEdgeLOD, (GXAnisotropy)res->maxAnisotropy); - return res->palettesEnabled; + return res->indexTexture; } #else #pragma push From bd670ab091129b2ac1cf8c639b9295b5d638086d Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Sat, 15 Oct 2022 15:32:34 -0600 Subject: [PATCH 2/8] d_a_npc work daBaseNpc_c::setBckAnm and J3DAnmTransform* daBaseNpc_c daBaseNpc_c::setBtpAnm daBaseNpc_c::attnSttsOn daBaseNpc_c::orderEvent daBaseNpc_c::setEnvTevColor daBaseNpc_c::setRoomNo daBaseNpc_c::checkEndAnm attempt CheckCreateHeap daNpcF_addIdx daNpcF_subIdx daNpcF_incIdx daNpcF_decIdx daNpcF_ActorMngr_c::initialize() daNpcF_ActorMngr_c::entry cleanup daNpcF_ActorMngr_c::entry daNpcF_ActorMngr_c::remove daNpcF_ActorMngr_c::getActorP daNpcF_MatAnm_c::calc attempt daNpcF_SPCurve_c::initialize minor fixes daNpcF_Path_c::initialize daNpcF_Path_c::setPathInfo daNpcF_Path_c::chkPassed daNpcF_Path_c::reverse daNpcF_Path_c::setNextIdx daNpcF_Path_c::getNextIdx daNpcF_Path_c::getBeforeIdx daNpcF_Path_c::getBeforePos daNpcF_Path_c::getNextPos daNpcT_MatAnm_c::initialize daNpcT_MatAnm_c::calc daNpcT_addIdx daNpcT_subIdx daNpcT_decIdx daNpcT_Path_c::hermite daNpcT_Path_c::initialize daNpcT_Path_c::setPathInfo attempt daNpcT_Path_c::setNextPathInfo daNpcT_Path_c::reverse daNpcT_Path_c::setNextIdx daNpcT_Path_c::getDstPos attempt daNpcT_DmgStagger_c::setParam Add FLOAT_LABEL where possible fopEn_enemy / fix e_wb move jasper's jsystem work over d_attention / d_demo / d_lib work remove asm clean up dolphin files / work on some rels (#212) * d_a_alldie / d_a_tboxSw / d_a_tag_gstart / d_a_tag_hstop * dolphin OS work / cleanup * dolphin GX work / cleanup * finish changing dolphin files to C * more files into C * match rest of MSL_C math functions * more dolphin files converted to C * remove asm * d_bg_w work * remove asm * d_a_alink work / kytag14 initial changes to d_a_e_yc checkpoint until virtual destructor issue is solved daNpcF_Lookat_c::adjustMoveDisAngle daBaseNpc_c::setMtx daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() daNpcT_c::ctrlFaceMotion daNpcT_c::ctrlMsgAnm attempt daNpcT_c::initTalk daNpcF_clearMessageTmpBit daNpcF_getDistTableIdx daNpcF_offTmpBit daNpcF_onTmpBit daNpcF_chkTmpBit daNpcF_onEvtBit daNpcF_chkEvtBit daNpcF_c::getDistTableIdx daNpcF_chkPointInArea daNpcF_chkDoBtnEqSpeak daNpcF_getPlayerInfoFromPlayerList attempt daNpcF_pntVsLineSegmentLengthSquare2D daNpcF_c::chkPointInArea daNpcF_c::chkPointInArea daNpcF_c::getAttentionPos daNpcT_chkTmpBit daNpcT_offTmpBit daNpcT_onTmpBit daNpcT_chkEvtBit daNpcT_offEvtBit daNpcT_onEvtBit daNpcT_chkDoBtnIsSpeak daNpcT_getDistTableIdx daBaseNpc_acMngr_c::entry daNpcF_c::initTalk undo override --- Progress.md | 26 +- README.md | 26 +- .../J3DDrawBuffer/__sinit_J3DDrawBuffer_cpp.s | 54 - .../drawHead__13J3DDrawBufferCFv.s | 35 - .../drawTail__13J3DDrawBufferCFv.s | 35 - .../J3DDrawBuffer/draw__13J3DDrawBufferCFv.s | 22 - ...lidSort__13J3DDrawBufferFP12J3DMatPacket.s | 24 - ...delSort__13J3DDrawBufferFP12J3DMatPacket.s | 23 - .../entry__12J3DMatPacketFP13J3DDrawBuffer.s | 25 - ..._ct__15J3DJointFactoryFRC13J3DJointBlock.s | 23 - .../create__15J3DJointFactoryFi.s | 93 - .../J3DJointFactory/func_80337338.s | 8 - ..._ct__15J3DShapeFactoryFRC13J3DShapeBlock.s | 45 - ...locVcdVatCmdBuffer__15J3DShapeFactoryFUl.s | 30 - ...alcSizeShapeMtx__15J3DShapeFactoryCFUlii.s | 75 - ...izeVcdVatCmdBuffer__15J3DShapeFactoryFUl.s | 5 - ...__15J3DShapeFactoryFiUlP14_GXVtxDescList.s | 115 - .../J3DShapeFactory/func_80337AE0.s | 8 - .../J3DShapeFactory/func_80337AF8.s | 8 - .../J3DShapeFactory/func_80337B10.s | 8 - .../J3DShapeFactory/func_80337B28.s | 8 - .../newShapeDraw__15J3DShapeFactoryCFii.s | 37 - .../newShapeMtx__15J3DShapeFactoryCFUlii.s | 183 - asm/MSL_C/MSL_Common/Src/abort_exit/abort.s | 43 - asm/MSL_C/MSL_Common/Src/abort_exit/exit.s | 67 - .../Double_precision/e_acos/__ieee754_acos.s | 151 - .../Double_precision/e_asin/__ieee754_asin.s | 152 - .../e_atan2/__ieee754_atan2.s | 197 - .../Double_precision/e_exp/__ieee754_exp.s | 151 - .../Double_precision/e_pow/__ieee754_pow.s | 571 --- .../e_rem_pio2/__ieee754_rem_pio2.s | 247 -- .../Double_precision/e_sqrt/__ieee754_sqrt.s | 160 - .../Double_precision/k_cos/__kernel_cos.s | 67 - .../k_rem_pio2/__kernel_rem_pio2.s | 1007 ----- .../Double_precision/k_sin/__kernel_sin.s | 44 - .../Double_precision/k_tan/__kernel_tan.s | 142 - asm/MSL_C/Math/Double_precision/s_atan/atan.s | 147 - .../Math/Double_precision/s_ldexp/ldexp.s | 131 - asm/Runtime.PPCEABI.H/CPlusLibPPC/__copy.s | 14 - .../GCN_mem_alloc/__sys_free.s | 48 - asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s | 57 - asm/Runtime.PPCEABI.H/ptmf/__ptmf_cmpr.s | 16 - asm/Runtime.PPCEABI.H/ptmf/__ptmf_scall.s | 12 - asm/Runtime.PPCEABI.H/ptmf/__ptmf_test.s | 13 - .../Portable/dispatch/TRKDispatchMessage.s | 94 - .../MetroTRK/Portable/main_TRK/TRK_main.s | 24 - .../MetroTRK/Portable/mem_TRK/TRK_fill_mem.s | 56 - .../MetroTRK/Portable/msg/TRKMessageSend.s | 18 - .../Os/dolphin/targcont/TRKTargetContinue.s | 14 - .../dolphin/target_options/GetUseSerialIO.s | 5 - .../dolphin/target_options/SetUseSerialIO.s | 4 - .../Os/dolphin/usr_put/usr_puts_serial.s | 38 - .../ppc/Generic/flush_cache/TRK_flush_cache.s | 16 - .../utils/common/MWTrace/MWTRACE.s | 22 - .../MWExitCriticalSection.s | 10 - .../a/d_a_alink/allAnimePlay__9daAlink_cFv.s | 101 - .../checkAtnLeftAnime__9daAlink_cFv.s | 42 - .../checkAtnRightAnime__9daAlink_cFv.s | 42 - .../checkBoomerangChargeEnd__9daAlink_cFv.s | 33 - .../checkBoomerangThrowAnime__9daAlink_cCFv.s | 18 - .../d_a_alink/checkDashAnime__9daAlink_cCFv.s | 27 - asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s | 63 - .../checkFinalBattle__9daAlink_cFv.s | 27 - ...r__9daAlink_cFP10dAttList_cP10fopAc_ac_c.s | 17 - .../checkRestartDead__9daAlink_cFii.s | 51 - ...c__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s | 25 - asm/d/a/d_a_alink/func_800AC5B4.s | 25 - ...source__9daAlink_cFP14daPy_anmHeap_cUsUl.s | 31 - ...a__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s | 75 - ...etMoveGroundAngleSpeedRate__9daAlink_cFv.s | 39 - ...P15J3DAnmTransformPP15J3DAnmTransformiUl.s | 82 - asm/d/a/d_a_alink/orderTalk__9daAlink_cFi.s | 94 - .../a/d_a_alink/procCoTwGate__9daAlink_cFv.s | 24 - .../procCutFastReady__9daAlink_cFv.s | 22 - .../d_a_alink/procDemoCommon__9daAlink_cFv.s | 15 - .../setDeadRideSyncPos__9daAlink_cFv.s | 46 - .../a/d_a_alink/setGetSubBgm__9daAlink_cFi.s | 32 - ...tPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s | 129 - .../setSandDownBgCheckWallH__9daAlink_cFv.s | 19 - ...Alink_c11daAlink_ANMPC16daAlinkHIO_anm_c.s | 14 - ...9daAlink_cFQ29daAlink_c11daAlink_ANMffsf.s | 60 - .../a/d_a_alink/setTalkStatus__9daAlink_cFv.s | 86 - ...ink_c13daAlink_UNDERPC16daAlinkHIO_anm_c.s | 14 - .../d_a_alink/throwBoomerang__9daAlink_cFv.s | 4 +- ...y_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s | 150 - .../setFrameCtrl__16daPy_frameCtrl_cFUcssff.s | 30 - .../setSight__18daPy_sightPacket_cFv.s | 35 - asm/d/bg/d_bg_w/BlckConnect__4cBgWFPUsPii.s | 22 - asm/d/bg/d_bg_w/CalcPlane__4cBgWFv.s | 72 - ...llBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c.s | 14 - .../d_bg_w/CaptPoly__4dBgWFR13dBgS_CaptPoly.s | 11 - asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s | 4 - asm/d/bg/d_bg_w/ChkMemoryError__4cBgWFv.s | 22 - asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s | 4 - asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s | 4 - asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s | 5 - ...wDrawThrough__4cBgWFiP16cBgS_PolyPassChk.s | 12 - ...wDrawThrough__4dBgWFiP16cBgS_PolyPassChk.s | 33 - asm/d/bg/d_bg_w/CopyOldMtx__4cBgWFv.s | 21 - asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s | 10 - asm/d/bg/d_bg_w/GetBnd__4cBgWCFv.s | 7 - .../GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s | 12 - .../GetExitId__4dBgWFRC13cBgS_PolyInfo.s | 12 - .../GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s | 12 - .../GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s | 18 - .../GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s | 13 - ...GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s | 12 - asm/d/bg/d_bg_w/GetIronBallThrough__4dBgWFi.s | 10 - .../GetLinkNo__4dBgWFRC13cBgS_PolyInfo.s | 12 - .../GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s | 12 - .../GetMaskPolyInf0_NoShift__4cBgWCFiUl.s | 20 - .../GetMaskPolyInf1_NoShift__4cBgWCFiUl.s | 21 - ...tMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s | 12 - .../bg/d_bg_w/GetPolyArrowThrough__4dBgWFi.s | 10 - .../GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s | 13 - .../GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s | 12 - asm/d/bg/d_bg_w/GetPolyBombThrough__4dBgWFi.s | 10 - .../d_bg_w/GetPolyBoomerangThrough__4dBgWFi.s | 10 - asm/d/bg/d_bg_w/GetPolyCamThrough__4dBgWFi.s | 11 - .../GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s | 12 - ...olyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo.s | 13 - asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s | 10 - asm/d/bg/d_bg_w/GetPolyInf0__4cBgWCFiUlUl.s | 22 - asm/d/bg/d_bg_w/GetPolyInf1__4cBgWCFiUlUl.s | 23 - asm/d/bg/d_bg_w/GetPolyInf2__4cBgWCFiUlUl.s | 23 - asm/d/bg/d_bg_w/GetPolyInfId__4cBgWCFi.s | 7 - asm/d/bg/d_bg_w/GetPolyLinkThrough__4dBgWFi.s | 10 - asm/d/bg/d_bg_w/GetPolyObjThrough__4dBgWFi.s | 10 - asm/d/bg/d_bg_w/GetPolyRopeThrough__4dBgWFi.s | 10 - .../GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s | 13 - .../GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s | 12 - ...etRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s | 12 - asm/d/bg/d_bg_w/GetShdwThrough__4dBgWFi.s | 12 - .../GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s | 13 - asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s | 11 - asm/d/bg/d_bg_w/GetTopUnder__4cBgWCFPfPf.s | 13 - asm/d/bg/d_bg_w/GetTrans__4cBgWCFP4cXyz.s | 15 - asm/d/bg/d_bg_w/GetTriGrp__4cBgWCFi.s | 7 - .../GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s | 17 - ...BgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s | 36 - .../d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s | 10 - .../GetWallCode__4dBgWFRC13cBgS_PolyInfo.s | 12 - asm/d/bg/d_bg_w/GlobalVtx__4cBgWFv.s | 55 - .../GroundCross__4cBgWFP11cBgS_GndChk.s | 11 - .../d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s | 11 - .../MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz.s | 40 - .../MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz.s | 22 - asm/d/bg/d_bg_w/MakeNodeTreeRp__4cBgWFi.s | 63 - asm/d/bg/d_bg_w/Move__4cBgWFv.s | 129 - asm/d/bg/d_bg_w/Move__4dBgWFv.s | 12 - asm/d/bg/d_bg_w/OffMoveFlag__4dBgWFv.s | 5 - .../d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s | 11 - asm/d/bg/d_bg_w/SetTri__4cBgWFv.s | 39 - .../bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s | 158 - .../d_bg_w/ShdwDraw__4cBgWFP13cBgS_ShdwDraw.s | 10 - .../d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s | 11 - .../SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s | 11 - .../d_bg_w/WallCorrect__4dBgWFP9dBgS_Acch.s | 11 - asm/d/bg/d_bg_w/__ct__11cBgW_GrpElmFv.s | 8 - asm/d/bg/d_bg_w/__ct__11cBgW_TriElmFv.s | 8 - asm/d/bg/d_bg_w/__ct__4dBgWFv.s | 21 - .../d_bg_w/dBgW_NewSet__FP6cBgD_tUlPA3_A4_f.s | 39 - .../d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s | 5 - .../ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s | 9 - .../GetAttackThrough__8dBgWKColFi.s | 12 - asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s | 3 - ...etCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...tGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s | 16 - ...pRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s | 13 - ...tGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...orseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../GetIronBallThrough__8dBgWKColFi.s | 12 - .../GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...tMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...keyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../GetPolyArrowThrough__8dBgWKColFi.s | 12 - ...GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../GetPolyBombThrough__8dBgWKColFi.s | 12 - .../GetPolyBoomerangThrough__8dBgWKColFi.s | 12 - .../GetPolyCamThrough__8dBgWKColFi.s | 12 - ...etPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...rpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s | 12 - .../GetPolyLinkThrough__8dBgWKColFi.s | 12 - .../GetPolyObjThrough__8dBgWKColFi.s | 12 - .../GetPolyRopeThrough__8dBgWKColFi.s | 12 - ...etRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...tRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - ...omPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s | 12 - ...SpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - .../d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s | 12 - .../GetTopUnder__8dBgWKColCFPfPf.s | 18 - .../GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s | 12 - .../bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s | 49 - ...ColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s | 10 - .../GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s | 13 - .../GetUnderwaterRoofCode__8dBgWKColFi.s | 12 - ...GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s | 13 - asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s | 23 - asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s | 20 - .../getPolyCode__8dBgWKColCFiP5dBgPc.s | 22 - ...TriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s | 8 - asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s | 31 - asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s | 38 - .../check__Q27daSus_c6data_cFP10fopAc_ac_c.s | 39 - .../check__Q27daSus_c6data_cFRC4cXyz.s | 39 - .../daMP_c_Get_MovieRestFrame__6daMP_cFv.s | 12 - ...daMP_c_Set_PercentMovieVolume__6daMP_cFf.s | 12 - .../daMP_c_THPPlayerPause__6daMP_cFv.s | 12 - .../daMP_c_THPPlayerPlay__6daMP_cFv.s | 24 - .../daNpcKakashi_chkSwdTutorialStage__Fv.s | 26 - .../daNpcKakashi_clrSuccessCount__Fv.s | 15 - .../daNpcKakashi_getSuccessCount__Fv.s | 15 - .../daNpcKakashi_getSwdTutorialResult__Fv.s | 16 - .../daNpcKakashi_getSwdTutorialStep__Fv.s | 15 - .../daNpcKakashi_incSuccessCount__Fv.s | 24 - .../daNpcKakashi_setSwdTutorialResult__Fb.s | 23 - .../daNpcKakashi_setSwdTutorialStep__FUc.s | 15 - .../d_com_static/daNpcMsg_setEvtNum__FUc.s | 16 - .../execute__Q27daSus_c6data_cFv.s | 18 - ...getArcName__12daSetBgObj_cFP10fopAc_ac_c.s | 18 - .../getPlayerNo__11daTagMist_cFv.s | 3 - .../isSwitch__Q27daSus_c6data_cFv.s | 30 - ...newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s | 6 +- .../d_com_static/reset__Q27daSus_c6data_cFv.s | 5 - .../d_com_static/reset__Q27daSus_c6room_cFv.s | 23 - ...Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s | 43 - .../ActionTarget__12dAttention_cFl.s | 26 - .../CheckObjectTarget__12dAttention_cFl.s | 26 - .../GetLockonList__12dAttention_cFl.s | 17 - .../LockonTargetPId__12dAttention_cFl.s | 31 - .../LockonTarget__12dAttention_cFl.s | 47 - .../LockonTruth__12dAttention_cFv.s | 24 - asm/d/d_attention/Run__12dAttention_cFv.s | 189 - asm/d/d_attention/__ct__11dAttParam_cFl.s | 2 +- asm/d/d_attention/__ct__15dAttDrawParam_cFv.s | 9 - asm/d/d_attention/__dt__11dAttParam_cFv.s | 20 - asm/d/d_attention/__dt__12dAttention_cFv.s | 55 - asm/d/d_attention/__dt__15dAttDrawParam_cFv.s | 20 - .../checkButton__12dAttention_cFv.s | 118 - ...stance__12dAttention_cFP4cXyzsP4cXyzffff.s | 12 - .../check_event_condition__FUlUs.s | 33 - .../d_attention/check_flontofplayer__FUlss.s | 57 - .../chkAttMask__12dAttention_cFUlUl.s | 24 - asm/d/d_attention/convPId__10dAttHint_cFUi.s | 13 - asm/d/d_attention/convPId__10dAttLook_cFUi.s | 13 - asm/d/d_attention/convPId__11dAttCatch_cFUi.s | 13 - .../freeAttention__12dAttention_cFv.s | 13 - asm/d/d_attention/func_80070018.s | 9 - .../getActionBtnB__12dAttention_cFv.s | 69 - .../getActionBtnXY__12dAttention_cFv.s | 71 - asm/d/d_attention/getActor__10dAttList_cFv.s | 14 - asm/d/d_attention/getPId__10dAttHint_cFPv.s | 8 - asm/d/d_attention/init__10dAttHint_cFv.s | 7 - asm/d/d_attention/init__10dAttLook_cFv.s | 7 - asm/d/d_attention/init__11dAttCatch_cFv.s | 9 - .../judgementStatus4Hold__12dAttention_cFv.s | 188 - ...judgementStatus4Switch__12dAttention_cFv.s | 225 - .../d_attention/lostCheck__12dAttention_cFv.s | 25 - .../d_attention/makeList__12dAttention_cFv.s | 23 - .../nextAttention__12dAttention_cFv.s | 73 - asm/d/d_attention/proc__10dAttHint_cFv.s | 8 - asm/d/d_attention/proc__10dAttLook_cFv.s | 8 - asm/d/d_attention/proc__11dAttCatch_cFv.s | 12 - .../request__10dAttHint_cFP10fopAc_ac_ci.s | 26 - .../runDrawProc__12dAttention_cFv.s | 167 - .../runSoundProc__12dAttention_cFv.s | 40 - .../select_attention__FP10fopAc_ac_cPv.s | 19 - .../setActor__10dAttList_cFP10fopAc_ac_c.s | 10 - .../setAlphaAnm__10dAttDraw_cFUcUc.s | 8 - .../setOwnerAttentionPos__12dAttention_cFv.s | 27 - .../stockAttention__12dAttention_cFv.s | 52 - .../triggerProc__12dAttention_cFv.s | 22 - .../JSGFindNodeID__13dDemo_actor_cCFPCc.s | 12 - ...GetAnimationFrameMax__13dDemo_actor_cCFv.s | 3 - ...Transformation__13dDemo_actor_cCFUlPA4_f.s | 17 - ...GetProjectionAspect__14dDemo_camera_cCFv.s | 16 - ...JSGGetProjectionFar__14dDemo_camera_cCFv.s | 16 - ...SGGetProjectionFovy__14dDemo_camera_cCFv.s | 16 - ...SGGetProjectionNear__14dDemo_camera_cCFv.s | 16 - .../JSGGetScaling__13dDemo_actor_cCFP3Vec.s | 8 - ...ureAnimationFrameMax__13dDemo_actor_cCFv.s | 3 - ...SGGetTranslation__13dDemo_actor_cCFP3Vec.s | 8 - ...GetViewPosition__14dDemo_camera_cCFP3Vec.s | 27 - ...wTargetPosition__14dDemo_camera_cCFP3Vec.s | 28 - ...GetViewUpVector__14dDemo_camera_cCFP3Vec.s | 28 - ...Attenuation__13dDemo_light_cFf9_GXSpotFn.s | 7 - .../JSGSetAnimationFrame__13dDemo_actor_cFf.s | 6 - ...etAnimationTransition__13dDemo_actor_cFf.s | 6 - .../JSGSetAnimation__13dDemo_actor_cFUl.s | 9 - .../JSGSetColor__11dDemo_fog_cF8_GXColor.s | 13 - .../JSGSetColor__13dDemo_light_cF8_GXColor.s | 13 - ...JSGSetColor__15dDemo_ambient_cF8_GXColor.s | 13 - .../JSGSetDirection__13dDemo_light_cFRC3Vec.s | 11 - ...ation__13dDemo_light_cFff13_GXDistAttnFn.s | 8 - asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s | 6 - ...tFogFunction__11dDemo_fog_cF10_GXFogType.s | 6 - ...tType__13dDemo_light_cFQ26JStage7TELight.s | 6 - .../JSGSetPosition__13dDemo_light_cFRC3Vec.s | 11 - ...GSetProjectionAspect__14dDemo_camera_cFf.s | 6 - .../JSGSetProjectionFar__14dDemo_camera_cFf.s | 6 - ...JSGSetProjectionFovy__14dDemo_camera_cFf.s | 6 - ...JSGSetProjectionNear__14dDemo_camera_cFf.s | 6 - .../JSGSetRotation__13dDemo_actor_cFRC3Vec.s | 26 - .../JSGSetScaling__13dDemo_actor_cFRC3Vec.s | 11 - .../d_demo/JSGSetShape__13dDemo_actor_cFUl.s | 6 - asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s | 6 - ...TextureAnimationFrame__13dDemo_actor_cFf.s | 6 - ...GSetTextureAnimation__13dDemo_actor_cFUl.s | 6 - ...SetViewPosition__14dDemo_camera_cFRC3Vec.s | 11 - .../JSGSetViewRoll__14dDemo_camera_cFf.s | 6 - ...wTargetPosition__14dDemo_camera_cFRC3Vec.s | 11 - ...SetViewUpVector__14dDemo_camera_cFRC3Vec.s | 11 - asm/d/d_demo/getActor__13dDemo_actor_cFv.s | 14 - asm/d/d_demo/getView__Fv.s | 15 - .../setActor__13dDemo_actor_cFP10fopAc_ac_c.s | 21 - asm/d/d_lib/getTime__11dLib_time_cFv.s | 34 - asm/d/d_lib/startTime__11dLib_time_cFv.s | 25 - asm/d/d_lib/stopTime__11dLib_time_cFv.s | 17 - asm/dolphin/base/PPCArch/PPCHalt.s | 7 - asm/dolphin/gd/GDBase/GDFlushCurrToMem.s | 12 - asm/dolphin/gd/GDBase/GDInitGDLObj.s | 7 - asm/dolphin/gd/GDBase/GDOverflowed.s | 14 - asm/dolphin/gd/GDBase/GDPadCurr32.s | 66 - asm/dolphin/gx/GXBump/GXSetIndTexCoordScale.s | 88 - asm/dolphin/gx/GXBump/GXSetIndTexMtx.s | 101 - asm/dolphin/gx/GXBump/GXSetIndTexOrder.s | 68 - asm/dolphin/gx/GXBump/GXSetNumIndStages.s | 10 - asm/dolphin/gx/GXBump/GXSetTevDirect.s | 19 - asm/dolphin/gx/GXBump/GXSetTevIndirect.s | 28 - asm/dolphin/gx/GXBump/__GXFlushTextureState.s | 10 - asm/dolphin/gx/GXBump/__GXSetIndirectMask.s | 13 - asm/dolphin/gx/GXFifo/GXGetFifoBase.s | 3 - asm/dolphin/gx/GXFifo/GXGetFifoSize.s | 3 - asm/dolphin/gx/GXFifo/GXInitFifoLimits.s | 4 - asm/dolphin/gx/GXFifo/GXSaveCPUFifo.s | 14 - asm/dolphin/gx/GXFifo/__GXFifoInit.s | 20 - asm/dolphin/gx/GXGeometry/GXBegin.s | 61 - .../gx/GXGeometry/GXEnableTexOffsets.s | 19 - asm/dolphin/gx/GXGeometry/GXSetCoPlanar.s | 14 - asm/dolphin/gx/GXGeometry/GXSetLineWidth.s | 17 - asm/dolphin/gx/GXGeometry/GXSetPointSize.s | 17 - asm/dolphin/gx/GXGeometry/__GXSendFlushPrim.s | 39 - asm/dolphin/gx/GXGeometry/__GXSetDirtyState.s | 39 - asm/dolphin/gx/GXGeometry/__GXSetGenMode.s | 10 - asm/dolphin/gx/GXLight/GXInitLightAttn.s | 8 - asm/dolphin/gx/GXLight/GXInitLightColor.s | 4 - asm/dolphin/gx/GXLight/GXInitLightDir.s | 8 - asm/dolphin/gx/GXLight/GXInitLightDistAttn.s | 62 - asm/dolphin/gx/GXLight/GXInitLightPos.s | 5 - asm/dolphin/gx/GXLight/GXInitLightSpot.s | 105 - asm/dolphin/gx/GXLight/GXLoadLightObjImm.s | 32 - asm/dolphin/mtx/mtx/PSMTXConcat.s | 52 - asm/dolphin/mtx/mtx/PSMTXCopy.s | 14 - asm/dolphin/mtx/mtx/PSMTXIdentity.s | 12 - asm/dolphin/mtx/mtx/PSMTXInverse.s | 64 - asm/dolphin/mtx/mtx/PSMTXQuat.s | 42 - asm/dolphin/mtx/mtx/PSMTXRotTrig.s | 49 - asm/dolphin/mtx/mtx/PSMTXScale.s | 11 - asm/dolphin/mtx/mtx/PSMTXScaleApply.s | 23 - asm/dolphin/mtx/mtx/PSMTXTrans.s | 14 - asm/dolphin/mtx/mtx/PSMTXTransApply.s | 20 - .../mtx/mtx/__PSMTXRotAxisRadInternal.s | 45 - asm/dolphin/mtx/mtxvec/PSMTXMultVec.s | 22 - asm/dolphin/mtx/mtxvec/PSMTXMultVecArray.s | 37 - asm/dolphin/mtx/mtxvec/PSMTXMultVecArraySR.s | 36 - asm/dolphin/mtx/mtxvec/PSMTXMultVecSR.s | 22 - asm/dolphin/os/OS/InquiryCallback.s | 19 - asm/dolphin/os/OS/OSDefaultExceptionHandler.s | 23 - asm/dolphin/os/OS/OSExceptionVector.s | 23 - asm/dolphin/os/OS/OSGetConsoleType.s | 13 - asm/dolphin/os/OS/OSInit.s | 2 +- asm/dolphin/os/OS/__DBVECTOR.s | 5 - asm/dolphin/os/OS/__OSDBIntegrator.s | 10 - asm/dolphin/os/OS/__OSDBJump.s | 2 - asm/dolphin/os/OS/__OSEVEnd.s | 2 - asm/dolphin/os/OS/__OSEVSetNumber.s | 14 - asm/dolphin/os/OS/__OSFPRInit.s | 76 - asm/dolphin/os/OS/__OSGetExceptionHandler.s | 6 - asm/dolphin/os/OS/__OSPSInit.s | 22 - asm/dolphin/os/OS/__OSSetExceptionHandler.s | 8 - .../os/OSAlarm/DecrementerExceptionHandler.s | 21 - asm/dolphin/os/OSAlarm/OSCreateAlarm.s | 5 - asm/dolphin/os/OSAlloc/DLInsert.s | 49 - asm/dolphin/os/OSAlloc/OSCreateHeap.s | 31 - asm/dolphin/os/OSAlloc/OSFreeToHeap.s | 35 - asm/dolphin/os/OSAlloc/OSInitAlloc.s | 31 - asm/dolphin/os/OSAlloc/OSSetCurrentHeap.s | 5 - asm/dolphin/os/OSArena/OSAllocFromArenaLo.s | 12 - asm/dolphin/os/OSArena/OSSetArenaHi.s | 3 - asm/dolphin/os/OSArena/OSSetArenaLo.s | 3 - asm/dolphin/os/OSCache/DCEnable.s | 6 - asm/dolphin/os/OSCache/DCFlushRange.s | 14 - asm/dolphin/os/OSCache/DCFlushRangeNoSync.s | 13 - asm/dolphin/os/OSCache/DCInvalidateRange.s | 13 - asm/dolphin/os/OSCache/DCStoreRange.s | 14 - asm/dolphin/os/OSCache/DCStoreRangeNoSync.s | 13 - asm/dolphin/os/OSCache/DCZeroRange.s | 13 - asm/dolphin/os/OSCache/ICEnable.s | 6 - asm/dolphin/os/OSCache/ICFlashInvalidate.s | 5 - asm/dolphin/os/OSCache/ICInvalidateRange.s | 15 - asm/dolphin/os/OSCache/LCDisable.s | 12 - asm/dolphin/os/OSCache/LCEnable.s | 15 - asm/dolphin/os/OSCache/LCQueueWait.s | 6 - asm/dolphin/os/OSCache/LCStoreBlocks.s | 10 - asm/dolphin/os/OSCache/__LCEnable.s | 54 - asm/dolphin/os/OSContext/OSClearContext.s | 11 - asm/dolphin/os/OSContext/OSFillFPUContext.s | 77 - .../os/OSContext/OSGetCurrentContext.s | 4 - asm/dolphin/os/OSContext/OSGetStackPointer.s | 3 - asm/dolphin/os/OSContext/OSInitContext.s | 48 - asm/dolphin/os/OSContext/OSLoadContext.s | 58 - asm/dolphin/os/OSContext/OSSaveContext.s | 33 - asm/dolphin/os/OSContext/OSSaveFPUContext.s | 3 - .../os/OSContext/OSSetCurrentContext.s | 25 - asm/dolphin/os/OSContext/OSSwitchFPUContext.s | 36 - asm/dolphin/os/OSContext/__OSLoadFPUContext.s | 76 - asm/dolphin/os/OSContext/__OSSaveFPUContext.s | 76 - .../os/OSError/__OSUnhandledException.s | 2 +- asm/dolphin/os/OSExec/Callback.s | 4 - asm/dolphin/os/OSExec/Run.s | 16 - .../os/OSInterrupt/ExternalInterruptHandler.s | 21 - .../os/OSInterrupt/OSDisableInterrupts.s | 4 - .../os/OSInterrupt/OSEnableInterrupts.s | 6 - .../os/OSInterrupt/OSRestoreInterrupts.s | 12 - .../os/OSInterrupt/__OSDispatchInterrupt.s | 2 +- .../os/OSInterrupt/__OSGetInterruptHandler.s | 6 - .../os/OSInterrupt/__OSSetInterruptHandler.s | 8 - .../__RAS_OSDisableInterrupts_end.s | 3 - asm/dolphin/os/OSLink/OSSetStringTable.s | 4 - asm/dolphin/os/OSLink/__OSModuleInit.s | 7 - asm/dolphin/os/OSMemory/Config24MB.s | 33 - asm/dolphin/os/OSMemory/Config48MB.s | 33 - asm/dolphin/os/OSMemory/RealMode.s | 7 - asm/dolphin/os/OSReboot/OSGetSaveRegion.s | 6 - asm/dolphin/os/OSReboot/OSSetSaveRegion.s | 4 - asm/dolphin/os/OSReset/Reset.s | 38 - .../os/OSResetSW/OSGetResetButtonState.s | 2 +- asm/dolphin/os/OSSync/SystemCallVector.s | 8 - .../os/OSSync/__OSSystemCallVectorEnd.s | 2 - asm/dolphin/os/OSThread/OSGetCurrentThread.s | 4 - asm/dolphin/os/OSThread/OSGetThreadPriority.s | 3 - asm/dolphin/os/OSThread/OSInitThreadQueue.s | 5 - .../os/OSThread/OSIsThreadTerminated.s | 16 - asm/dolphin/os/OSThread/UnsetRun.s | 32 - .../os/OSThread/__OSGetEffectivePriority.s | 19 - asm/dolphin/os/OSTime/OSGetTime.s | 7 - .../d_a_alldie/actionCheck__10daAlldie_cFv.s | 22 - .../d_a_alldie/actionEvent__10daAlldie_cFv.s | 44 - .../d_a_alldie/actionNext__10daAlldie_cFv.s | 56 - .../d_a_alldie/actionOrder__10daAlldie_cFv.s | 29 - .../d_a_alldie/actionTimer__10daAlldie_cFv.s | 50 - .../daAlldie_Create__FP10fopAc_ac_c.s | 81 - .../daAlldie_Delete__FP10daAlldie_c.s | 14 - .../daAlldie_Execute__FP10daAlldie_c.s | 10 - .../d_a_alldie/execute__10daAlldie_cFv.s | 40 - .../d_a_alldie/getEventNo__10daAlldie_cFv.s | 4 - .../d_a_alldie/getSwbit__10daAlldie_cFv.s | 4 - .../d_a_arrow/arrowShooting__9daArrow_cFv.s | 4 +- .../d_a_arrow/execute__9daArrow_cFv.s | 4 +- .../execute__13daBoomerang_cFv.s | 4 +- .../d_a_swc00/daSwc00_Execute__FP9daSwc00_c.s | 9 - .../d_a_tboxSw/create__10daTboxSw_cFv.s | 31 - .../daTboxSw_Create__FP10fopAc_ac_c.s | 9 - .../daTboxSw_Delete__FP10daTboxSw_c.s | 9 - .../daTboxSw_Draw__FP10daTboxSw_c.s | 9 - .../daTboxSw_Execute__FP10daTboxSw_c.s | 9 - .../d_a_tboxSw/execute__10daTboxSw_cFv.s | 30 - .../daKytag14_Create__FP10fopAc_ac_c.s | 43 - .../daKytag14_Execute__FP13kytag14_class.s | 113 - .../d_a_tag_gstart/__dt__13daTagGstart_cFv.s | 23 - .../create__13daTagGstart_cFv.s | 34 - .../daTagGstart_Create__FP10fopAc_ac_c.s | 9 - .../daTagGstart_Delete__FP13daTagGstart_c.s | 11 - .../daTagGstart_Execute__FP13daTagGstart_c.s | 9 - .../execute__13daTagGstart_cFv.s | 55 - .../d_a_tag_hstop/__dt__12daTagHstop_cFv.s | 43 - .../d_a_tag_hstop/__sinit_d_a_tag_hstop_cpp.s | 16 - .../d_a_tag_hstop/create__12daTagHstop_cFv.s | 137 - .../daTagHstop_Create__FP10fopAc_ac_c.s | 9 - .../daTagHstop_Delete__FP12daTagHstop_c.s | 11 - .../daTagHstop_Execute__FP12daTagHstop_c.s | 9 - .../d_a_tag_hstop/execute__12daTagHstop_cFv.s | 223 - .../setActive__12daTagHstop_cFv.s | 46 - .../daTagInst_Create__FP10fopAc_ac_c.s | 23 - .../daTagInst_Delete__FP11daTagInst_c.s | 14 - .../d_a_tag_mist/Create__11daTagMist_cFv.s | 4 +- .../d_a_tag_mist/execute__11daTagMist_cFv.s | 4 +- diff.py | 3701 ++++++++++++----- diff_settings.py | 2 +- docs/Contributing.md | 6 +- .../JSystem/J3DGraphAnimator/J3DAnimation.h | 1 + include/JSystem/J3DGraphAnimator/J3DJoint.h | 4 +- .../JSystem/J3DGraphAnimator/J3DJointTree.h | 1 + .../JSystem/J3DGraphAnimator/J3DModelData.h | 1 + include/JSystem/J3DGraphBase/J3DDrawBuffer.h | 39 +- include/JSystem/J3DGraphBase/J3DPacket.h | 20 +- include/JSystem/J3DGraphBase/J3DShape.h | 16 + include/JSystem/J3DGraphBase/J3DShapeMtx.h | 36 +- include/JSystem/J3DGraphBase/J3DSys.h | 3 + include/JSystem/J3DGraphBase/J3DTransform.h | 7 +- include/JSystem/J3DGraphBase/J3DVertex.h | 4 - .../JSystem/J3DGraphLoader/J3DJointFactory.h | 45 +- .../JSystem/J3DGraphLoader/J3DShapeFactory.h | 74 +- include/JSystem/J3DU/J3DUClipper.h | 1 + include/JSystem/JGeometry.h | 26 + .../JSystem/JStudio/JStudio/jstudio-object.h | 30 +- .../JSystem/JStudio/JStudio/stb-data-parse.h | 2 +- include/JSystem/JStudio/JStudio/stb.h | 40 + include/JSystem/JSupport/JSupport.h | 2 +- include/JSystem/JUtility/JUTException.h | 5 + include/MSL_C/MSL_Common/Src/float.h | 20 +- include/MSL_C/MSL_Common/Src/wchar_io.h | 2 + include/MSL_C/math.h | 2 +- include/Runtime.PPCEABI.H/__va_arg.h | 4 +- include/Runtime.PPCEABI.H/ptmf.h | 9 +- include/SSystem/SComponent/c_bg_s_chk.h | 1 + include/SSystem/SComponent/c_bg_s_lin_chk.h | 15 +- include/SSystem/SComponent/c_m3d.h | 4 + include/SSystem/SComponent/c_m3d_g_aab.h | 12 +- include/SSystem/SComponent/c_m3d_g_pla.h | 16 +- include/SSystem/SComponent/c_m3d_g_sph.h | 6 +- include/SSystem/SComponent/c_m3d_g_tri.h | 3 + include/SSystem/SComponent/c_sxyz.h | 12 + include/SSystem/SComponent/c_xyz.h | 18 + .../MetroTRK/Portable/dispatch.h | 15 + .../MetroTRK/Portable/mainloop.h | 2 + .../MetroTRK/Portable/msg.h | 7 + .../MetroTRK/Portable/msgbuf.h | 11 + .../MetroTRK/Portable/msghndlr.h | 18 + .../MetroTRK/Portable/nubinit.h | 4 + .../Os/dolphin/dolphin_trk_glue.h | 4 + .../TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h | 3 + .../TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h | 2 + include/Z2AudioLib/Z2SeqMgr.h | 22 +- include/d/a/d_a_alink.h | 987 +++-- include/d/a/d_a_npc.h | 413 +- include/d/a/d_a_player.h | 150 +- include/d/bg/d_bg_pc.h | 47 + include/d/bg/d_bg_plc.h | 4 +- include/d/bg/d_bg_s.h | 4 +- include/d/bg/d_bg_s_acch.h | 3 +- include/d/bg/d_bg_s_poly_pass_chk.h | 22 +- include/d/bg/d_bg_w.h | 190 +- include/d/bg/d_bg_w_base.h | 30 +- include/d/bg/d_bg_w_kcol.h | 92 +- include/d/bg/d_bg_w_sv.h | 18 +- include/d/com/d_com_inf_game.h | 126 +- include/d/com/d_com_static.h | 30 +- include/d/d_attention.h | 163 +- include/d/d_demo.h | 28 +- include/d/d_drawlist.h | 4 + include/d/d_lib.h | 8 +- include/d/d_path.h | 10 +- include/d/d_stage.h | 7 +- include/d/event/d_event.h | 4 +- include/d/meter/d_meter2_info.h | 10 + include/d/msg/d_msg_object.h | 6 +- include/d/particle/d_particle.h | 23 +- include/dolphin/ar/ar.h | 8 +- include/dolphin/ar/arq.h | 16 +- include/dolphin/base/PPCArch.h | 8 + include/dolphin/dvd/dvd.h | 88 +- include/dolphin/gd/GDBase.h | 17 +- include/dolphin/gd/GDGeometry.h | 7 +- include/dolphin/gx/GX.h | 247 +- include/dolphin/gx/GXAttr.h | 35 +- include/dolphin/gx/GXBump.h | 20 +- include/dolphin/gx/GXDisplayList.h | 6 + include/dolphin/gx/GXEnum.h | 42 +- include/dolphin/gx/GXFifo.h | 34 +- include/dolphin/gx/GXFrameBuf.h | 27 +- include/dolphin/gx/GXGeometry.h | 21 +- include/dolphin/gx/GXInit.h | 114 +- include/dolphin/gx/GXLight.h | 23 +- include/dolphin/gx/GXMisc.h | 34 +- include/dolphin/gx/GXPerf.h | 12 + include/dolphin/gx/GXPixel.h | 24 +- include/dolphin/gx/GXStruct.h | 17 +- include/dolphin/gx/GXTev.h | 33 +- include/dolphin/gx/GXTexture.h | 45 +- include/dolphin/gx/GXTransform.h | 28 +- include/dolphin/mtx/mtx.h | 22 +- include/dolphin/mtx/mtx44.h | 10 +- include/dolphin/mtx/mtxvec.h | 18 +- include/dolphin/mtx/quat.h | 19 +- include/dolphin/mtx/vec.h | 46 +- include/dolphin/os/OS.h | 36 +- include/dolphin/os/OSAlarm.h | 8 +- include/dolphin/os/OSAlloc.h | 29 +- include/dolphin/os/OSContext.h | 11 +- include/dolphin/os/OSError.h | 12 +- include/dolphin/os/OSInterrupt.h | 48 +- include/dolphin/os/OSLink.h | 8 + include/dolphin/os/OSMemory.h | 2 +- include/dolphin/os/OSMessage.h | 1 - include/dolphin/os/OSMutex.h | 30 +- include/dolphin/os/OSReboot.h | 2 +- include/dolphin/os/OSSync.h | 2 + include/dolphin/os/OSThread.h | 51 +- include/dolphin/os/OSTime.h | 2 + include/dolphin/pad/Pad.h | 21 +- include/dolphin/vi/vi.h | 30 +- include/f_op/f_op_actor.h | 23 + include/f_op/f_op_actor_mng.h | 7 +- include/f_pc/f_pc_executor.h | 4 + include/global.h | 5 - include/m_Do/m_Do_audio.h | 23 +- include/m_Do/m_Do_ext.h | 105 +- include/m_Do/m_Do_graphic.h | 1 + include/m_Do/m_Do_mtx.h | 3 +- include/rel/d/a/d_a_alldie/d_a_alldie.h | 32 +- include/rel/d/a/d_a_boomerang/d_a_boomerang.h | 4 +- include/rel/d/a/d_a_horse/d_a_horse.h | 15 +- .../d/a/d_a_movie_player/d_a_movie_player.h | 24 +- include/rel/d/a/d_a_tboxSw/d_a_tboxSw.h | 16 +- include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h | 144 +- include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h | 135 + .../rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h | 13 +- .../d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h | 14 +- .../rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h | 22 +- .../d_a_tag_instruction/d_a_tag_instruction.h | 4 +- libs/JSystem/J2DGraph/J2DTevs.cpp | 2 +- .../J3DGraphAnimator/J3DSkinDeform.cpp | 2 - libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp | 275 +- libs/JSystem/J3DGraphBase/J3DGD.cpp | 6 - libs/JSystem/J3DGraphBase/J3DMatBlock.cpp | 2 - libs/JSystem/J3DGraphBase/J3DPacket.cpp | 89 +- libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp | 6 +- libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp | 4 +- libs/JSystem/J3DGraphBase/J3DSys.cpp | 8 +- libs/JSystem/J3DGraphBase/J3DVertex.cpp | 6 +- .../J3DGraphLoader/J3DJointFactory.cpp | 79 +- .../J3DGraphLoader/J3DShapeFactory.cpp | 308 +- libs/JSystem/JParticle/JPABaseShape.cpp | 1 + libs/JSystem/JParticle/JPAEmitter.cpp | 1 + libs/JSystem/JParticle/JPAParticle.cpp | 1 + libs/JSystem/JParticle/JPAResource.cpp | 1 + .../JSystem/JStudio/JStudio/functionvalue.cpp | 1 + libs/JSystem/JStudio/JStudio/fvb.cpp | 1 + libs/JSystem/JStudio/JStudio/stb.cpp | 1 + libs/MSL_C/MSL_Common/Src/abort_exit.c | 81 +- libs/MSL_C/Makefile | 2 + libs/MSL_C/Math/Double_precision/e_acos.c | 185 +- libs/MSL_C/Math/Double_precision/e_asin.c | 194 +- libs/MSL_C/Math/Double_precision/e_atan2.c | 195 +- libs/MSL_C/Math/Double_precision/e_exp.c | 248 +- libs/MSL_C/Math/Double_precision/e_pow.c | 518 ++- libs/MSL_C/Math/Double_precision/e_rem_pio2.c | 266 +- libs/MSL_C/Math/Double_precision/e_sqrt.c | 483 ++- libs/MSL_C/Math/Double_precision/k_cos.c | 143 +- libs/MSL_C/Math/Double_precision/k_rem_pio2.c | 402 +- libs/MSL_C/Math/Double_precision/k_sin.c | 124 +- libs/MSL_C/Math/Double_precision/k_tan.c | 221 +- libs/MSL_C/Math/Double_precision/s_atan.c | 198 +- libs/MSL_C/Math/Double_precision/s_ceil.c | 106 +- libs/MSL_C/Math/Double_precision/s_ldexp.c | 103 +- libs/Runtime.PPCEABI.H/CPlusLibPPC.cpp | 42 +- libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.c | 36 + libs/Runtime.PPCEABI.H/GCN_mem_alloc.cpp | 175 - libs/Runtime.PPCEABI.H/Makefile | 18 +- .../__init_cpp_exceptions.cpp | 6 +- libs/Runtime.PPCEABI.H/__va_arg.c | 50 + libs/Runtime.PPCEABI.H/__va_arg.cpp | 32 - libs/Runtime.PPCEABI.H/ptmf.c | 73 + libs/Runtime.PPCEABI.H/ptmf.cpp | 78 - libs/SSystem/SComponent/c_bg_s_lin_chk.cpp | 4 +- libs/SSystem/SComponent/c_lib.cpp | 2 +- libs/SSystem/SComponent/c_m3d.cpp | 72 +- .../GCN/EXI2_DDH_GCN/{main.cpp => main.c} | 255 +- .../GCN/EXI2_GDEV_GCN/{main.cpp => main.c} | 255 +- libs/TRK_MINNOW_DOLPHIN/Makefile | 70 +- .../Export/{mslsupp.cpp => mslsupp.c} | 10 +- .../MetroTRK/Portable/dispatch.c | 70 + .../MetroTRK/Portable/dispatch.cpp | 165 - .../MetroTRK/Portable/main_TRK.c | 27 + .../MetroTRK/Portable/main_TRK.cpp | 64 - .../Portable/{mainloop.cpp => mainloop.c} | 28 +- .../MetroTRK/Portable/mem_TRK.c | 58 + .../MetroTRK/Portable/mem_TRK.cpp | 32 - .../MetroTRK/Portable/msg.c | 15 + .../MetroTRK/Portable/msg.cpp | 82 - .../Portable/{msgbuf.cpp => msgbuf.c} | 73 +- .../Portable/{msghndlr.cpp => msghndlr.c} | 515 +-- .../MetroTRK/Portable/mutex_TRK.c | 21 + .../MetroTRK/Portable/mutex_TRK.cpp | 39 - .../Portable/{notify.cpp => notify.c} | 12 +- .../Portable/{nubevent.cpp => nubevent.c} | 18 +- .../Portable/{nubinit.cpp => nubinit.c} | 96 +- .../MetroTRK/Portable/serpoll.c | 167 + .../MetroTRK/Portable/serpoll.cpp | 455 -- .../Portable/{support.cpp => support.c} | 161 +- .../Os/dolphin/{UDP_Stubs.cpp => UDP_Stubs.c} | 56 +- .../{dolphin_trk.cpp => dolphin_trk.c} | 54 +- ...olphin_trk_glue.cpp => dolphin_trk_glue.c} | 360 +- libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c | 17 + .../Os/dolphin/targcont.cpp | 37 - .../Os/dolphin/target_options.c | 19 + .../Os/dolphin/target_options.cpp | 45 - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.c | 45 + .../TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.cpp | 42 - .../ppc/Export/{targsupp.cpp => targsupp.c} | 27 +- .../ppc/Generic/flush_cache.c | 31 + .../ppc/Generic/flush_cache.cpp | 32 - .../{mpc_7xx_603e.cpp => mpc_7xx_603e.c} | 8 +- .../ppc/Generic/{targimpl.cpp => targimpl.c} | 104 +- .../{CircleBuffer.cpp => CircleBuffer.c} | 14 +- .../TRK_MINNOW_DOLPHIN/utils/common/MWTrace.c | 9 + .../utils/common/MWTrace.cpp | 32 - .../utils/gc/MWCriticalSection_gc.c | 31 + .../utils/gc/MWCriticalSection_gc.cpp | 52 - libs/amcstubs/AmcExi2Stubs.c | 38 + libs/amcstubs/AmcExi2Stubs.cpp | 69 - libs/amcstubs/Makefile | 10 +- libs/dolphin/ai/Makefile | 11 +- libs/dolphin/ai/{ai.cpp => ai.c} | 130 +- libs/dolphin/ar/Makefile | 12 +- libs/dolphin/ar/{ar.cpp => ar.c} | 110 +- libs/dolphin/ar/{arq.cpp => arq.c} | 94 +- libs/dolphin/base/Makefile | 12 +- libs/dolphin/base/{PPCArch.cpp => PPCArch.c} | 61 +- .../dolphin/card/{CARDBios.cpp => CARDBios.c} | 190 +- .../card/{CARDBlock.cpp => CARDBlock.c} | 22 +- .../card/{CARDCheck.cpp => CARDCheck.c} | 40 +- .../card/{CARDCreate.cpp => CARDCreate.c} | 38 +- libs/dolphin/card/{CARDDir.cpp => CARDDir.c} | 20 +- .../card/{CARDFormat.cpp => CARDFormat.c} | 40 +- .../card/{CARDMount.cpp => CARDMount.c} | 84 +- libs/dolphin/card/{CARDNet.cpp => CARDNet.c} | 8 +- .../dolphin/card/{CARDOpen.cpp => CARDOpen.c} | 24 +- .../dolphin/card/{CARDRdwr.cpp => CARDRdwr.c} | 16 +- .../dolphin/card/{CARDRead.cpp => CARDRead.c} | 30 +- .../dolphin/card/{CARDStat.cpp => CARDStat.c} | 28 +- .../card/{CARDUnlock.cpp => CARDUnlock.c} | 40 +- .../card/{CARDWrite.cpp => CARDWrite.c} | 38 +- libs/dolphin/card/Makefile | 36 +- libs/dolphin/db/Makefile | 10 +- libs/dolphin/db/{db.cpp => db.c} | 21 +- libs/dolphin/dsp/Makefile | 14 +- libs/dolphin/dsp/{dsp.cpp => dsp.c} | 166 +- .../dsp/{dsp_debug.cpp => dsp_debug.c} | 2 +- libs/dolphin/dsp/dsp_task.c | 129 + libs/dolphin/dsp/dsp_task.cpp | 463 --- libs/dolphin/dvd/Makefile | 24 +- libs/dolphin/dvd/{dvd.cpp => dvd.c} | 354 +- libs/dolphin/dvd/{dvdFatal.cpp => dvdFatal.c} | 2 +- libs/dolphin/dvd/{dvderror.cpp => dvderror.c} | 8 +- libs/dolphin/dvd/{dvdfs.cpp => dvdfs.c} | 268 +- .../dvd/{dvdidutils.cpp => dvdidutils.c} | 4 +- libs/dolphin/dvd/{dvdlow.cpp => dvdlow.c} | 64 +- libs/dolphin/dvd/{dvdqueue.cpp => dvdqueue.c} | 14 +- libs/dolphin/dvd/{fstload.cpp => fstload.c} | 113 +- libs/dolphin/gd/GDBase.c | 50 + libs/dolphin/gd/GDBase.cpp | 74 - .../gd/{GDGeometry.cpp => GDGeometry.c} | 10 +- libs/dolphin/gd/Makefile | 12 +- libs/dolphin/gx/{GXAttr.cpp => GXAttr.c} | 50 +- libs/dolphin/gx/GXBump.c | 204 + libs/dolphin/gx/GXBump.cpp | 125 - .../gx/{GXDisplayList.cpp => GXDisplayList.c} | 7 +- libs/dolphin/gx/{GXFifo.cpp => GXFifo.c} | 97 +- .../gx/{GXFrameBuf.cpp => GXFrameBuf.c} | 66 +- libs/dolphin/gx/GXGeometry.c | 166 + libs/dolphin/gx/GXGeometry.cpp | 127 - libs/dolphin/gx/{GXInit.cpp => GXInit.c} | 166 +- libs/dolphin/gx/GXLight.c | 232 ++ libs/dolphin/gx/GXLight.cpp | 201 - libs/dolphin/gx/{GXMisc.cpp => GXMisc.c} | 109 +- libs/dolphin/gx/{GXPerf.cpp => GXPerf.c} | 16 +- libs/dolphin/gx/{GXPixel.cpp => GXPixel.c} | 44 +- libs/dolphin/gx/{GXTev.cpp => GXTev.c} | 67 +- .../dolphin/gx/{GXTexture.cpp => GXTexture.c} | 84 +- .../gx/{GXTransform.cpp => GXTransform.c} | 65 +- libs/dolphin/gx/Makefile | 35 +- libs/dolphin/mtx/Makefile | 18 +- libs/dolphin/mtx/mtx.c | 533 +++ libs/dolphin/mtx/mtx.cpp | 215 - libs/dolphin/mtx/{mtx44.cpp => mtx44.c} | 6 +- libs/dolphin/mtx/mtxvec.c | 157 + libs/dolphin/mtx/mtxvec.cpp | 52 - libs/dolphin/mtx/{quat.cpp => quat.c} | 7 +- libs/dolphin/mtx/{vec.cpp => vec.c} | 24 +- libs/dolphin/os/Makefile | 53 +- libs/dolphin/os/{OS.cpp => OS.c} | 465 ++- libs/dolphin/os/{OSAlarm.cpp => OSAlarm.c} | 82 +- libs/dolphin/os/OSAlloc.c | 144 + libs/dolphin/os/OSAlloc.cpp | 84 - libs/dolphin/os/{OSArena.cpp => OSArena.c} | 46 +- .../os/{OSAudioSystem.cpp => OSAudioSystem.c} | 8 +- libs/dolphin/os/OSCache.c | 513 +++ libs/dolphin/os/OSCache.cpp | 767 ---- libs/dolphin/os/OSContext.c | 660 +++ libs/dolphin/os/OSContext.cpp | 597 --- libs/dolphin/os/OSError.c | 177 + libs/dolphin/os/OSError.cpp | 646 --- libs/dolphin/os/{OSExec.cpp => OSExec.c} | 125 +- libs/dolphin/os/OSFont.c | 242 ++ libs/dolphin/os/OSFont.cpp | 2543 ----------- .../os/{OSInterrupt.cpp => OSInterrupt.c} | 209 +- libs/dolphin/os/{OSLink.cpp => OSLink.c} | 122 +- libs/dolphin/os/{OSMemory.cpp => OSMemory.c} | 117 +- .../dolphin/os/{OSMessage.cpp => OSMessage.c} | 4 +- libs/dolphin/os/{OSMutex.cpp => OSMutex.c} | 4 +- libs/dolphin/os/{OSReboot.cpp => OSReboot.c} | 36 +- libs/dolphin/os/{OSReset.cpp => OSReset.c} | 168 +- .../dolphin/os/{OSResetSW.cpp => OSResetSW.c} | 13 +- libs/dolphin/os/{OSRtc.cpp => OSRtc.c} | 22 +- libs/dolphin/os/{OSSync.cpp => OSSync.c} | 31 +- libs/dolphin/os/OSThread.c | 502 +++ libs/dolphin/os/OSThread.cpp | 2488 ----------- libs/dolphin/os/{OSTime.cpp => OSTime.c} | 62 +- ...{__ppc_eabi_init.cpp => __ppc_eabi_init.c} | 8 +- libs/dolphin/pad/Makefile | 12 +- libs/dolphin/pad/{Pad.cpp => Pad.c} | 156 +- libs/dolphin/pad/{Padclamp.cpp => Padclamp.c} | 8 +- libs/dolphin/si/Makefile | 12 +- libs/dolphin/si/{SIBios.cpp => SIBios.c} | 230 +- .../{SISamplingRate.cpp => SISamplingRate.c} | 74 +- libs/dolphin/vi/Makefile | 10 +- libs/dolphin/vi/{vi.cpp => vi.c} | 436 +- libs/exi/{EXIBios.cpp => EXIBios.c} | 342 +- libs/exi/{EXIUart.cpp => EXIUart.c} | 28 +- libs/exi/Makefile | 12 +- rel/d/a/d_a_alldie/d_a_alldie.cpp | 313 +- rel/d/a/d_a_arrow/d_a_arrow.cpp | 2 +- rel/d/a/d_a_boomerang/d_a_boomerang.cpp | 2 +- rel/d/a/d_a_swc00/d_a_swc00.cpp | 109 +- rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp | 134 +- rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp | 123 +- rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp | 201 +- rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp | 163 +- rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp | 123 +- rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp | 309 +- .../d_a_tag_instruction.cpp | 50 +- rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.cpp | 2 +- src/d/a/d_a_alink.cpp | 736 ++-- src/d/a/d_a_alink_boom.inc | 59 +- src/d/a/d_a_alink_canoe.inc | 2 +- src/d/a/d_a_alink_copyrod.inc | 10 +- src/d/a/d_a_alink_cut.inc | 35 +- src/d/a/d_a_alink_damage.inc | 10 +- src/d/a/d_a_alink_demo.inc | 194 +- src/d/a/d_a_alink_grab.inc | 12 +- src/d/a/d_a_alink_guard.inc | 2 +- src/d/a/d_a_alink_hook.inc | 2 +- src/d/a/d_a_alink_kandelaar.inc | 2 +- src/d/a/d_a_alink_link.inc | 994 ++++- src/d/a/d_a_alink_spinner.inc | 44 +- src/d/a/d_a_alink_swim.inc | 4 +- src/d/a/d_a_alink_swindow.inc | 6 +- src/d/a/d_a_alink_whistle.inc | 4 +- src/d/a/d_a_alink_wolf.inc | 4 +- src/d/a/d_a_horse_static.cpp | 19 +- src/d/a/d_a_itembase.cpp | 16 +- src/d/a/d_a_npc.cpp | 2321 +++++++---- src/d/a/d_a_obj.cpp | 178 +- src/d/a/d_a_player.cpp | 371 +- src/d/bg/d_bg_plc.cpp | 2 +- src/d/bg/d_bg_s.cpp | 4 +- src/d/bg/d_bg_w.cpp | 1222 +++--- src/d/bg/d_bg_w_kcol.cpp | 569 ++- src/d/bg/d_bg_w_sv.cpp | 150 +- src/d/cc/d_cc_mass_s.cpp | 19 +- src/d/com/d_com_static.cpp | 342 +- src/d/d_attention.cpp | 1721 ++++++-- src/d/d_demo.cpp | 675 ++- src/d/d_drawlist.cpp | 6 - src/d/d_lib.cpp | 54 +- src/d/d_vibration.cpp | 9 +- src/d/event/d_event_data.cpp | 6 +- src/d/msg/d_msg_object.cpp | 2 +- src/d/particle/d_particle.cpp | 2 +- src/f_op/f_op_actor.cpp | 11 - src/f_op/f_op_actor_mng.cpp | 2 +- src/m_Do/m_Do_ext.cpp | 3 - tools/decompctx.py | 68 + 880 files changed, 23183 insertions(+), 38749 deletions(-) delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/__sinit_J3DDrawBuffer_cpp.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawHead__13J3DDrawBufferCFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawTail__13J3DDrawBufferCFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/draw__13J3DDrawBufferCFv.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryModelSort__13J3DDrawBufferFP12J3DMatPacket.s delete mode 100644 asm/JSystem/J3DGraphBase/J3DPacket/entry__12J3DMatPacketFP13J3DDrawBuffer.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DJointFactory/__ct__15J3DJointFactoryFRC13J3DJointBlock.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DJointFactory/create__15J3DJointFactoryFi.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DJointFactory/func_80337338.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/__ct__15J3DShapeFactoryFRC13J3DShapeBlock.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/allocVcdVatCmdBuffer__15J3DShapeFactoryFUl.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeShapeMtx__15J3DShapeFactoryCFUlii.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/create__15J3DShapeFactoryFiUlP14_GXVtxDescList.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AE0.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AF8.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B10.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B28.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeDraw__15J3DShapeFactoryCFii.s delete mode 100644 asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeMtx__15J3DShapeFactoryCFUlii.s delete mode 100644 asm/MSL_C/MSL_Common/Src/abort_exit/abort.s delete mode 100644 asm/MSL_C/MSL_Common/Src/abort_exit/exit.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_acos/__ieee754_acos.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_asin/__ieee754_asin.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_atan2/__ieee754_atan2.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_exp/__ieee754_exp.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_pow/__ieee754_pow.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_rem_pio2/__ieee754_rem_pio2.s delete mode 100644 asm/MSL_C/Math/Double_precision/e_sqrt/__ieee754_sqrt.s delete mode 100644 asm/MSL_C/Math/Double_precision/k_cos/__kernel_cos.s delete mode 100644 asm/MSL_C/Math/Double_precision/k_rem_pio2/__kernel_rem_pio2.s delete mode 100644 asm/MSL_C/Math/Double_precision/k_sin/__kernel_sin.s delete mode 100644 asm/MSL_C/Math/Double_precision/k_tan/__kernel_tan.s delete mode 100644 asm/MSL_C/Math/Double_precision/s_atan/atan.s delete mode 100644 asm/MSL_C/Math/Double_precision/s_ldexp/ldexp.s delete mode 100644 asm/Runtime.PPCEABI.H/CPlusLibPPC/__copy.s delete mode 100644 asm/Runtime.PPCEABI.H/GCN_mem_alloc/__sys_free.s delete mode 100644 asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s delete mode 100644 asm/Runtime.PPCEABI.H/ptmf/__ptmf_cmpr.s delete mode 100644 asm/Runtime.PPCEABI.H/ptmf/__ptmf_scall.s delete mode 100644 asm/Runtime.PPCEABI.H/ptmf/__ptmf_test.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch/TRKDispatchMessage.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK/TRK_main.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK/TRK_fill_mem.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg/TRKMessageSend.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont/TRKTargetContinue.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/GetUseSerialIO.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/SetUseSerialIO.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put/usr_puts_serial.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache/TRK_flush_cache.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/common/MWTrace/MWTRACE.s delete mode 100644 asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWExitCriticalSection.s delete mode 100644 asm/d/a/d_a_alink/allAnimePlay__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkAtnLeftAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkAtnRightAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkDashAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkFinalBattle__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkRestartDead__9daAlink_cFii.s delete mode 100644 asm/d/a/d_a_alink/checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s delete mode 100644 asm/d/a/d_a_alink/func_800AC5B4.s delete mode 100644 asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s delete mode 100644 asm/d/a/d_a_alink/getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s delete mode 100644 asm/d/a/d_a_alink/getMoveGroundAngleSpeedRate__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl.s delete mode 100644 asm/d/a/d_a_alink/orderTalk__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCoTwGate__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutFastReady__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procDemoCommon__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setDeadRideSyncPos__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setGetSubBgm__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s delete mode 100644 asm/d/a/d_a_alink/setSandDownBgCheckWallH__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c.s delete mode 100644 asm/d/a/d_a_alink/setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf.s delete mode 100644 asm/d/a/d_a_alink/setTalkStatus__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c.s delete mode 100644 asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s delete mode 100644 asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s delete mode 100644 asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s delete mode 100644 asm/d/bg/d_bg_w/BlckConnect__4cBgWFPUsPii.s delete mode 100644 asm/d/bg/d_bg_w/CalcPlane__4cBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c.s delete mode 100644 asm/d/bg/d_bg_w/CaptPoly__4dBgWFR13dBgS_CaptPoly.s delete mode 100644 asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s delete mode 100644 asm/d/bg/d_bg_w/ChkMemoryError__4cBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s delete mode 100644 asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s delete mode 100644 asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s delete mode 100644 asm/d/bg/d_bg_w/ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk.s delete mode 100644 asm/d/bg/d_bg_w/ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk.s delete mode 100644 asm/d/bg/d_bg_w/CopyOldMtx__4cBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetBnd__4cBgWCFv.s delete mode 100644 asm/d/bg/d_bg_w/GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetExitId__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetIronBallThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetLinkNo__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetMaskPolyInf0_NoShift__4cBgWCFiUl.s delete mode 100644 asm/d/bg/d_bg_w/GetMaskPolyInf1_NoShift__4cBgWCFiUl.s delete mode 100644 asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyArrowThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyBombThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyBoomerangThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyCamThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyInf0__4cBgWCFiUlUl.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyInf1__4cBgWCFiUlUl.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyInf2__4cBgWCFiUlUl.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyInfId__4cBgWCFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyLinkThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyObjThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetPolyRopeThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetShdwThrough__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetTopUnder__4cBgWCFPfPf.s delete mode 100644 asm/d/bg/d_bg_w/GetTrans__4cBgWCFP4cXyz.s delete mode 100644 asm/d/bg/d_bg_w/GetTriGrp__4cBgWCFi.s delete mode 100644 asm/d/bg/d_bg_w/GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s delete mode 100644 asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w/GlobalVtx__4cBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/GroundCross__4cBgWFP11cBgS_GndChk.s delete mode 100644 asm/d/bg/d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s delete mode 100644 asm/d/bg/d_bg_w/MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz.s delete mode 100644 asm/d/bg/d_bg_w/MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz.s delete mode 100644 asm/d/bg/d_bg_w/MakeNodeTreeRp__4cBgWFi.s delete mode 100644 asm/d/bg/d_bg_w/Move__4cBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/Move__4dBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/OffMoveFlag__4dBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s delete mode 100644 asm/d/bg/d_bg_w/SetTri__4cBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s delete mode 100644 asm/d/bg/d_bg_w/ShdwDraw__4cBgWFP13cBgS_ShdwDraw.s delete mode 100644 asm/d/bg/d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s delete mode 100644 asm/d/bg/d_bg_w/SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s delete mode 100644 asm/d/bg/d_bg_w/WallCorrect__4dBgWFP9dBgS_Acch.s delete mode 100644 asm/d/bg/d_bg_w/__ct__11cBgW_GrpElmFv.s delete mode 100644 asm/d/bg/d_bg_w/__ct__11cBgW_TriElmFv.s delete mode 100644 asm/d/bg/d_bg_w/__ct__4dBgWFv.s delete mode 100644 asm/d/bg/d_bg_w/dBgW_NewSet__FP6cBgD_tUlPA3_A4_f.s delete mode 100644 asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s delete mode 100644 asm/d/bg/d_bg_w_kcol/ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetAttackThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetIronBallThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyArrowThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyBombThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyBoomerangThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyCamThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyLinkThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyObjThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetPolyRopeThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetTopUnder__8dBgWKColCFPfPf.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s delete mode 100644 asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s delete mode 100644 asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s delete mode 100644 asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s delete mode 100644 asm/d/bg/d_bg_w_kcol/getPolyCode__8dBgWKColCFiP5dBgPc.s delete mode 100644 asm/d/bg/d_bg_w_kcol/getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s delete mode 100644 asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s delete mode 100644 asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s delete mode 100644 asm/d/com/d_com_static/check__Q27daSus_c6data_cFP10fopAc_ac_c.s delete mode 100644 asm/d/com/d_com_static/check__Q27daSus_c6data_cFRC4cXyz.s delete mode 100644 asm/d/com/d_com_static/daMP_c_Get_MovieRestFrame__6daMP_cFv.s delete mode 100644 asm/d/com/d_com_static/daMP_c_Set_PercentMovieVolume__6daMP_cFf.s delete mode 100644 asm/d/com/d_com_static/daMP_c_THPPlayerPause__6daMP_cFv.s delete mode 100644 asm/d/com/d_com_static/daMP_c_THPPlayerPlay__6daMP_cFv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_chkSwdTutorialStage__Fv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_clrSuccessCount__Fv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_getSuccessCount__Fv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialResult__Fv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_incSuccessCount__Fv.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialResult__Fb.s delete mode 100644 asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialStep__FUc.s delete mode 100644 asm/d/com/d_com_static/daNpcMsg_setEvtNum__FUc.s delete mode 100644 asm/d/com/d_com_static/execute__Q27daSus_c6data_cFv.s delete mode 100644 asm/d/com/d_com_static/getArcName__12daSetBgObj_cFP10fopAc_ac_c.s delete mode 100644 asm/d/com/d_com_static/getPlayerNo__11daTagMist_cFv.s delete mode 100644 asm/d/com/d_com_static/isSwitch__Q27daSus_c6data_cFv.s delete mode 100644 asm/d/com/d_com_static/reset__Q27daSus_c6data_cFv.s delete mode 100644 asm/d/com/d_com_static/reset__Q27daSus_c6room_cFv.s delete mode 100644 asm/d/com/d_com_static/set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s delete mode 100644 asm/d/d_attention/ActionTarget__12dAttention_cFl.s delete mode 100644 asm/d/d_attention/CheckObjectTarget__12dAttention_cFl.s delete mode 100644 asm/d/d_attention/GetLockonList__12dAttention_cFl.s delete mode 100644 asm/d/d_attention/LockonTargetPId__12dAttention_cFl.s delete mode 100644 asm/d/d_attention/LockonTarget__12dAttention_cFl.s delete mode 100644 asm/d/d_attention/LockonTruth__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/Run__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/__ct__15dAttDrawParam_cFv.s delete mode 100644 asm/d/d_attention/__dt__11dAttParam_cFv.s delete mode 100644 asm/d/d_attention/__dt__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/__dt__15dAttDrawParam_cFv.s delete mode 100644 asm/d/d_attention/checkButton__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/checkDistance__12dAttention_cFP4cXyzsP4cXyzffff.s delete mode 100644 asm/d/d_attention/check_event_condition__FUlUs.s delete mode 100644 asm/d/d_attention/check_flontofplayer__FUlss.s delete mode 100644 asm/d/d_attention/chkAttMask__12dAttention_cFUlUl.s delete mode 100644 asm/d/d_attention/convPId__10dAttHint_cFUi.s delete mode 100644 asm/d/d_attention/convPId__10dAttLook_cFUi.s delete mode 100644 asm/d/d_attention/convPId__11dAttCatch_cFUi.s delete mode 100644 asm/d/d_attention/freeAttention__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/func_80070018.s delete mode 100644 asm/d/d_attention/getActionBtnB__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/getActionBtnXY__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/getActor__10dAttList_cFv.s delete mode 100644 asm/d/d_attention/getPId__10dAttHint_cFPv.s delete mode 100644 asm/d/d_attention/init__10dAttHint_cFv.s delete mode 100644 asm/d/d_attention/init__10dAttLook_cFv.s delete mode 100644 asm/d/d_attention/init__11dAttCatch_cFv.s delete mode 100644 asm/d/d_attention/judgementStatus4Hold__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/judgementStatus4Switch__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/lostCheck__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/makeList__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/nextAttention__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/proc__10dAttHint_cFv.s delete mode 100644 asm/d/d_attention/proc__10dAttLook_cFv.s delete mode 100644 asm/d/d_attention/proc__11dAttCatch_cFv.s delete mode 100644 asm/d/d_attention/request__10dAttHint_cFP10fopAc_ac_ci.s delete mode 100644 asm/d/d_attention/runDrawProc__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/runSoundProc__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/select_attention__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/d_attention/setActor__10dAttList_cFP10fopAc_ac_c.s delete mode 100644 asm/d/d_attention/setAlphaAnm__10dAttDraw_cFUcUc.s delete mode 100644 asm/d/d_attention/setOwnerAttentionPos__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/stockAttention__12dAttention_cFv.s delete mode 100644 asm/d/d_attention/triggerProc__12dAttention_cFv.s delete mode 100644 asm/d/d_demo/JSGFindNodeID__13dDemo_actor_cCFPCc.s delete mode 100644 asm/d/d_demo/JSGGetAnimationFrameMax__13dDemo_actor_cCFv.s delete mode 100644 asm/d/d_demo/JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f.s delete mode 100644 asm/d/d_demo/JSGGetProjectionAspect__14dDemo_camera_cCFv.s delete mode 100644 asm/d/d_demo/JSGGetProjectionFar__14dDemo_camera_cCFv.s delete mode 100644 asm/d/d_demo/JSGGetProjectionFovy__14dDemo_camera_cCFv.s delete mode 100644 asm/d/d_demo/JSGGetProjectionNear__14dDemo_camera_cCFv.s delete mode 100644 asm/d/d_demo/JSGGetScaling__13dDemo_actor_cCFP3Vec.s delete mode 100644 asm/d/d_demo/JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv.s delete mode 100644 asm/d/d_demo/JSGGetTranslation__13dDemo_actor_cCFP3Vec.s delete mode 100644 asm/d/d_demo/JSGGetViewPosition__14dDemo_camera_cCFP3Vec.s delete mode 100644 asm/d/d_demo/JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec.s delete mode 100644 asm/d/d_demo/JSGGetViewUpVector__14dDemo_camera_cCFP3Vec.s delete mode 100644 asm/d/d_demo/JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn.s delete mode 100644 asm/d/d_demo/JSGSetAnimationFrame__13dDemo_actor_cFf.s delete mode 100644 asm/d/d_demo/JSGSetAnimationTransition__13dDemo_actor_cFf.s delete mode 100644 asm/d/d_demo/JSGSetAnimation__13dDemo_actor_cFUl.s delete mode 100644 asm/d/d_demo/JSGSetColor__11dDemo_fog_cF8_GXColor.s delete mode 100644 asm/d/d_demo/JSGSetColor__13dDemo_light_cF8_GXColor.s delete mode 100644 asm/d/d_demo/JSGSetColor__15dDemo_ambient_cF8_GXColor.s delete mode 100644 asm/d/d_demo/JSGSetDirection__13dDemo_light_cFRC3Vec.s delete mode 100644 asm/d/d_demo/JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn.s delete mode 100644 asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s delete mode 100644 asm/d/d_demo/JSGSetFogFunction__11dDemo_fog_cF10_GXFogType.s delete mode 100644 asm/d/d_demo/JSGSetLightType__13dDemo_light_cFQ26JStage7TELight.s delete mode 100644 asm/d/d_demo/JSGSetPosition__13dDemo_light_cFRC3Vec.s delete mode 100644 asm/d/d_demo/JSGSetProjectionAspect__14dDemo_camera_cFf.s delete mode 100644 asm/d/d_demo/JSGSetProjectionFar__14dDemo_camera_cFf.s delete mode 100644 asm/d/d_demo/JSGSetProjectionFovy__14dDemo_camera_cFf.s delete mode 100644 asm/d/d_demo/JSGSetProjectionNear__14dDemo_camera_cFf.s delete mode 100644 asm/d/d_demo/JSGSetRotation__13dDemo_actor_cFRC3Vec.s delete mode 100644 asm/d/d_demo/JSGSetScaling__13dDemo_actor_cFRC3Vec.s delete mode 100644 asm/d/d_demo/JSGSetShape__13dDemo_actor_cFUl.s delete mode 100644 asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s delete mode 100644 asm/d/d_demo/JSGSetTextureAnimationFrame__13dDemo_actor_cFf.s delete mode 100644 asm/d/d_demo/JSGSetTextureAnimation__13dDemo_actor_cFUl.s delete mode 100644 asm/d/d_demo/JSGSetViewPosition__14dDemo_camera_cFRC3Vec.s delete mode 100644 asm/d/d_demo/JSGSetViewRoll__14dDemo_camera_cFf.s delete mode 100644 asm/d/d_demo/JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec.s delete mode 100644 asm/d/d_demo/JSGSetViewUpVector__14dDemo_camera_cFRC3Vec.s delete mode 100644 asm/d/d_demo/getActor__13dDemo_actor_cFv.s delete mode 100644 asm/d/d_demo/getView__Fv.s delete mode 100644 asm/d/d_demo/setActor__13dDemo_actor_cFP10fopAc_ac_c.s delete mode 100644 asm/d/d_lib/getTime__11dLib_time_cFv.s delete mode 100644 asm/d/d_lib/startTime__11dLib_time_cFv.s delete mode 100644 asm/d/d_lib/stopTime__11dLib_time_cFv.s delete mode 100644 asm/dolphin/base/PPCArch/PPCHalt.s delete mode 100644 asm/dolphin/gd/GDBase/GDFlushCurrToMem.s delete mode 100644 asm/dolphin/gd/GDBase/GDInitGDLObj.s delete mode 100644 asm/dolphin/gd/GDBase/GDOverflowed.s delete mode 100644 asm/dolphin/gd/GDBase/GDPadCurr32.s delete mode 100644 asm/dolphin/gx/GXBump/GXSetIndTexCoordScale.s delete mode 100644 asm/dolphin/gx/GXBump/GXSetIndTexMtx.s delete mode 100644 asm/dolphin/gx/GXBump/GXSetIndTexOrder.s delete mode 100644 asm/dolphin/gx/GXBump/GXSetNumIndStages.s delete mode 100644 asm/dolphin/gx/GXBump/GXSetTevDirect.s delete mode 100644 asm/dolphin/gx/GXBump/GXSetTevIndirect.s delete mode 100644 asm/dolphin/gx/GXBump/__GXFlushTextureState.s delete mode 100644 asm/dolphin/gx/GXBump/__GXSetIndirectMask.s delete mode 100644 asm/dolphin/gx/GXFifo/GXGetFifoBase.s delete mode 100644 asm/dolphin/gx/GXFifo/GXGetFifoSize.s delete mode 100644 asm/dolphin/gx/GXFifo/GXInitFifoLimits.s delete mode 100644 asm/dolphin/gx/GXFifo/GXSaveCPUFifo.s delete mode 100644 asm/dolphin/gx/GXFifo/__GXFifoInit.s delete mode 100644 asm/dolphin/gx/GXGeometry/GXBegin.s delete mode 100644 asm/dolphin/gx/GXGeometry/GXEnableTexOffsets.s delete mode 100644 asm/dolphin/gx/GXGeometry/GXSetCoPlanar.s delete mode 100644 asm/dolphin/gx/GXGeometry/GXSetLineWidth.s delete mode 100644 asm/dolphin/gx/GXGeometry/GXSetPointSize.s delete mode 100644 asm/dolphin/gx/GXGeometry/__GXSendFlushPrim.s delete mode 100644 asm/dolphin/gx/GXGeometry/__GXSetDirtyState.s delete mode 100644 asm/dolphin/gx/GXGeometry/__GXSetGenMode.s delete mode 100644 asm/dolphin/gx/GXLight/GXInitLightAttn.s delete mode 100644 asm/dolphin/gx/GXLight/GXInitLightColor.s delete mode 100644 asm/dolphin/gx/GXLight/GXInitLightDir.s delete mode 100644 asm/dolphin/gx/GXLight/GXInitLightDistAttn.s delete mode 100644 asm/dolphin/gx/GXLight/GXInitLightPos.s delete mode 100644 asm/dolphin/gx/GXLight/GXInitLightSpot.s delete mode 100644 asm/dolphin/gx/GXLight/GXLoadLightObjImm.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXConcat.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXCopy.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXIdentity.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXInverse.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXQuat.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXRotTrig.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXScale.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXScaleApply.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXTrans.s delete mode 100644 asm/dolphin/mtx/mtx/PSMTXTransApply.s delete mode 100644 asm/dolphin/mtx/mtx/__PSMTXRotAxisRadInternal.s delete mode 100644 asm/dolphin/mtx/mtxvec/PSMTXMultVec.s delete mode 100644 asm/dolphin/mtx/mtxvec/PSMTXMultVecArray.s delete mode 100644 asm/dolphin/mtx/mtxvec/PSMTXMultVecArraySR.s delete mode 100644 asm/dolphin/mtx/mtxvec/PSMTXMultVecSR.s delete mode 100644 asm/dolphin/os/OS/InquiryCallback.s delete mode 100644 asm/dolphin/os/OS/OSDefaultExceptionHandler.s delete mode 100644 asm/dolphin/os/OS/OSExceptionVector.s delete mode 100644 asm/dolphin/os/OS/OSGetConsoleType.s delete mode 100644 asm/dolphin/os/OS/__DBVECTOR.s delete mode 100644 asm/dolphin/os/OS/__OSDBIntegrator.s delete mode 100644 asm/dolphin/os/OS/__OSDBJump.s delete mode 100644 asm/dolphin/os/OS/__OSEVEnd.s delete mode 100644 asm/dolphin/os/OS/__OSEVSetNumber.s delete mode 100644 asm/dolphin/os/OS/__OSFPRInit.s delete mode 100644 asm/dolphin/os/OS/__OSGetExceptionHandler.s delete mode 100644 asm/dolphin/os/OS/__OSPSInit.s delete mode 100644 asm/dolphin/os/OS/__OSSetExceptionHandler.s delete mode 100644 asm/dolphin/os/OSAlarm/DecrementerExceptionHandler.s delete mode 100644 asm/dolphin/os/OSAlarm/OSCreateAlarm.s delete mode 100644 asm/dolphin/os/OSAlloc/DLInsert.s delete mode 100644 asm/dolphin/os/OSAlloc/OSCreateHeap.s delete mode 100644 asm/dolphin/os/OSAlloc/OSFreeToHeap.s delete mode 100644 asm/dolphin/os/OSAlloc/OSInitAlloc.s delete mode 100644 asm/dolphin/os/OSAlloc/OSSetCurrentHeap.s delete mode 100644 asm/dolphin/os/OSArena/OSAllocFromArenaLo.s delete mode 100644 asm/dolphin/os/OSArena/OSSetArenaHi.s delete mode 100644 asm/dolphin/os/OSArena/OSSetArenaLo.s delete mode 100644 asm/dolphin/os/OSCache/DCEnable.s delete mode 100644 asm/dolphin/os/OSCache/DCFlushRange.s delete mode 100644 asm/dolphin/os/OSCache/DCFlushRangeNoSync.s delete mode 100644 asm/dolphin/os/OSCache/DCInvalidateRange.s delete mode 100644 asm/dolphin/os/OSCache/DCStoreRange.s delete mode 100644 asm/dolphin/os/OSCache/DCStoreRangeNoSync.s delete mode 100644 asm/dolphin/os/OSCache/DCZeroRange.s delete mode 100644 asm/dolphin/os/OSCache/ICEnable.s delete mode 100644 asm/dolphin/os/OSCache/ICFlashInvalidate.s delete mode 100644 asm/dolphin/os/OSCache/ICInvalidateRange.s delete mode 100644 asm/dolphin/os/OSCache/LCDisable.s delete mode 100644 asm/dolphin/os/OSCache/LCEnable.s delete mode 100644 asm/dolphin/os/OSCache/LCQueueWait.s delete mode 100644 asm/dolphin/os/OSCache/LCStoreBlocks.s delete mode 100644 asm/dolphin/os/OSCache/__LCEnable.s delete mode 100644 asm/dolphin/os/OSContext/OSClearContext.s delete mode 100644 asm/dolphin/os/OSContext/OSFillFPUContext.s delete mode 100644 asm/dolphin/os/OSContext/OSGetCurrentContext.s delete mode 100644 asm/dolphin/os/OSContext/OSGetStackPointer.s delete mode 100644 asm/dolphin/os/OSContext/OSInitContext.s delete mode 100644 asm/dolphin/os/OSContext/OSLoadContext.s delete mode 100644 asm/dolphin/os/OSContext/OSSaveContext.s delete mode 100644 asm/dolphin/os/OSContext/OSSaveFPUContext.s delete mode 100644 asm/dolphin/os/OSContext/OSSetCurrentContext.s delete mode 100644 asm/dolphin/os/OSContext/OSSwitchFPUContext.s delete mode 100644 asm/dolphin/os/OSContext/__OSLoadFPUContext.s delete mode 100644 asm/dolphin/os/OSContext/__OSSaveFPUContext.s delete mode 100644 asm/dolphin/os/OSExec/Callback.s delete mode 100644 asm/dolphin/os/OSExec/Run.s delete mode 100644 asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s delete mode 100644 asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s delete mode 100644 asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s delete mode 100644 asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s delete mode 100644 asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s delete mode 100644 asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s delete mode 100644 asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s delete mode 100644 asm/dolphin/os/OSLink/OSSetStringTable.s delete mode 100644 asm/dolphin/os/OSLink/__OSModuleInit.s delete mode 100644 asm/dolphin/os/OSMemory/Config24MB.s delete mode 100644 asm/dolphin/os/OSMemory/Config48MB.s delete mode 100644 asm/dolphin/os/OSMemory/RealMode.s delete mode 100644 asm/dolphin/os/OSReboot/OSGetSaveRegion.s delete mode 100644 asm/dolphin/os/OSReboot/OSSetSaveRegion.s delete mode 100644 asm/dolphin/os/OSReset/Reset.s delete mode 100644 asm/dolphin/os/OSSync/SystemCallVector.s delete mode 100644 asm/dolphin/os/OSSync/__OSSystemCallVectorEnd.s delete mode 100644 asm/dolphin/os/OSThread/OSGetCurrentThread.s delete mode 100644 asm/dolphin/os/OSThread/OSGetThreadPriority.s delete mode 100644 asm/dolphin/os/OSThread/OSInitThreadQueue.s delete mode 100644 asm/dolphin/os/OSThread/OSIsThreadTerminated.s delete mode 100644 asm/dolphin/os/OSThread/UnsetRun.s delete mode 100644 asm/dolphin/os/OSThread/__OSGetEffectivePriority.s delete mode 100644 asm/dolphin/os/OSTime/OSGetTime.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/actionCheck__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/actionEvent__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/actionNext__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/actionOrder__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/actionTimer__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Delete__FP10daAlldie_c.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Execute__FP10daAlldie_c.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/execute__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/getEventNo__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_alldie/d_a_alldie/getSwbit__10daAlldie_cFv.s delete mode 100644 asm/rel/d/a/d_a_swc00/d_a_swc00/daSwc00_Execute__FP9daSwc00_c.s delete mode 100644 asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/create__10daTboxSw_cFv.s delete mode 100644 asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Delete__FP10daTboxSw_c.s delete mode 100644 asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Draw__FP10daTboxSw_c.s delete mode 100644 asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Execute__FP10daTboxSw_c.s delete mode 100644 asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/execute__10daTboxSw_cFv.s delete mode 100644 asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Execute__FP13kytag14_class.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/__dt__13daTagGstart_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/create__13daTagGstart_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Delete__FP13daTagGstart_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Execute__FP13daTagGstart_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/execute__13daTagGstart_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__dt__12daTagHstop_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__sinit_d_a_tag_hstop_cpp.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/create__12daTagHstop_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Delete__FP12daTagHstop_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Execute__FP12daTagHstop_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/execute__12daTagHstop_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/setActive__12daTagHstop_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Delete__FP11daTagInst_c.s create mode 100644 libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.c delete mode 100644 libs/Runtime.PPCEABI.H/GCN_mem_alloc.cpp create mode 100644 libs/Runtime.PPCEABI.H/__va_arg.c delete mode 100644 libs/Runtime.PPCEABI.H/__va_arg.cpp create mode 100644 libs/Runtime.PPCEABI.H/ptmf.c delete mode 100644 libs/Runtime.PPCEABI.H/ptmf.cpp rename libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/{main.cpp => main.c} (56%) rename libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/{main.cpp => main.c} (57%) rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/{mslsupp.cpp => mslsupp.c} (82%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.cpp create mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.cpp rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{mainloop.cpp => mainloop.c} (51%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.cpp create mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.cpp rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{msgbuf.cpp => msgbuf.c} (81%) rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{msghndlr.cpp => msghndlr.c} (53%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.cpp rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{notify.cpp => notify.c} (71%) rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{nubevent.cpp => nubevent.c} (85%) rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{nubinit.cpp => nubinit.c} (53%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.cpp rename libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/{support.cpp => support.c} (52%) rename libs/TRK_MINNOW_DOLPHIN/Os/dolphin/{UDP_Stubs.cpp => UDP_Stubs.c} (54%) rename libs/TRK_MINNOW_DOLPHIN/Os/dolphin/{dolphin_trk.cpp => dolphin_trk.c} (80%) rename libs/TRK_MINNOW_DOLPHIN/Os/dolphin/{dolphin_trk_glue.cpp => dolphin_trk_glue.c} (58%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.cpp create mode 100644 libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.cpp create mode 100644 libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.cpp rename libs/TRK_MINNOW_DOLPHIN/ppc/Export/{targsupp.cpp => targsupp.c} (72%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.cpp rename libs/TRK_MINNOW_DOLPHIN/ppc/Generic/{mpc_7xx_603e.cpp => mpc_7xx_603e.c} (82%) rename libs/TRK_MINNOW_DOLPHIN/ppc/Generic/{targimpl.cpp => targimpl.c} (84%) rename libs/TRK_MINNOW_DOLPHIN/utils/common/{CircleBuffer.cpp => CircleBuffer.c} (83%) create mode 100644 libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.cpp create mode 100644 libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c delete mode 100644 libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.cpp create mode 100644 libs/amcstubs/AmcExi2Stubs.c delete mode 100644 libs/amcstubs/AmcExi2Stubs.cpp rename libs/dolphin/ai/{ai.cpp => ai.c} (80%) rename libs/dolphin/ar/{ar.cpp => ar.c} (74%) rename libs/dolphin/ar/{arq.cpp => arq.c} (74%) rename libs/dolphin/base/{PPCArch.cpp => PPCArch.c} (84%) rename libs/dolphin/card/{CARDBios.cpp => CARDBios.c} (76%) rename libs/dolphin/card/{CARDBlock.cpp => CARDBlock.c} (80%) rename libs/dolphin/card/{CARDCheck.cpp => CARDCheck.c} (74%) rename libs/dolphin/card/{CARDCreate.cpp => CARDCreate.c} (61%) rename libs/dolphin/card/{CARDDir.cpp => CARDDir.c} (78%) rename libs/dolphin/card/{CARDFormat.cpp => CARDFormat.c} (60%) rename libs/dolphin/card/{CARDMount.cpp => CARDMount.c} (70%) rename libs/dolphin/card/{CARDNet.cpp => CARDNet.c} (85%) rename libs/dolphin/card/{CARDOpen.cpp => CARDOpen.c} (80%) rename libs/dolphin/card/{CARDRdwr.cpp => CARDRdwr.c} (81%) rename libs/dolphin/card/{CARDRead.cpp => CARDRead.c} (69%) rename libs/dolphin/card/{CARDStat.cpp => CARDStat.c} (72%) rename libs/dolphin/card/{CARDUnlock.cpp => CARDUnlock.c} (86%) rename libs/dolphin/card/{CARDWrite.cpp => CARDWrite.c} (65%) rename libs/dolphin/db/{db.cpp => db.c} (81%) rename libs/dolphin/dsp/{dsp.cpp => dsp.c} (55%) rename libs/dolphin/dsp/{dsp_debug.cpp => dsp_debug.c} (93%) create mode 100644 libs/dolphin/dsp/dsp_task.c delete mode 100644 libs/dolphin/dsp/dsp_task.cpp rename libs/dolphin/dvd/{dvd.cpp => dvd.c} (77%) rename libs/dolphin/dvd/{dvdFatal.cpp => dvdFatal.c} (94%) rename libs/dolphin/dvd/{dvderror.cpp => dvderror.c} (90%) rename libs/dolphin/dvd/{dvdfs.cpp => dvdfs.c} (57%) rename libs/dolphin/dvd/{dvdidutils.cpp => dvdidutils.c} (88%) rename libs/dolphin/dvd/{dvdlow.cpp => dvdlow.c} (88%) rename libs/dolphin/dvd/{dvdqueue.cpp => dvdqueue.c} (86%) rename libs/dolphin/dvd/{fstload.cpp => fstload.c} (55%) create mode 100644 libs/dolphin/gd/GDBase.c delete mode 100644 libs/dolphin/gd/GDBase.cpp rename libs/dolphin/gd/{GDGeometry.cpp => GDGeometry.c} (93%) rename libs/dolphin/gx/{GXAttr.cpp => GXAttr.c} (91%) create mode 100644 libs/dolphin/gx/GXBump.c delete mode 100644 libs/dolphin/gx/GXBump.cpp rename libs/dolphin/gx/{GXDisplayList.cpp => GXDisplayList.c} (89%) rename libs/dolphin/gx/{GXFifo.cpp => GXFifo.c} (78%) rename libs/dolphin/gx/{GXFrameBuf.cpp => GXFrameBuf.c} (84%) create mode 100644 libs/dolphin/gx/GXGeometry.c delete mode 100644 libs/dolphin/gx/GXGeometry.cpp rename libs/dolphin/gx/{GXInit.cpp => GXInit.c} (78%) create mode 100644 libs/dolphin/gx/GXLight.c delete mode 100644 libs/dolphin/gx/GXLight.cpp rename libs/dolphin/gx/{GXMisc.cpp => GXMisc.c} (76%) rename libs/dolphin/gx/{GXPerf.cpp => GXPerf.c} (93%) rename libs/dolphin/gx/{GXPixel.cpp => GXPixel.c} (83%) rename libs/dolphin/gx/{GXTev.cpp => GXTev.c} (76%) rename libs/dolphin/gx/{GXTexture.cpp => GXTexture.c} (88%) rename libs/dolphin/gx/{GXTransform.cpp => GXTransform.c} (78%) create mode 100644 libs/dolphin/mtx/mtx.c delete mode 100644 libs/dolphin/mtx/mtx.cpp rename libs/dolphin/mtx/{mtx44.cpp => mtx44.c} (85%) create mode 100644 libs/dolphin/mtx/mtxvec.c delete mode 100644 libs/dolphin/mtx/mtxvec.cpp rename libs/dolphin/mtx/{quat.cpp => quat.c} (88%) rename libs/dolphin/mtx/{vec.cpp => vec.c} (83%) rename libs/dolphin/os/{OS.cpp => OS.c} (55%) rename libs/dolphin/os/{OSAlarm.cpp => OSAlarm.c} (66%) create mode 100644 libs/dolphin/os/OSAlloc.c delete mode 100644 libs/dolphin/os/OSAlloc.cpp rename libs/dolphin/os/{OSArena.cpp => OSArena.c} (54%) rename libs/dolphin/os/{OSAudioSystem.cpp => OSAudioSystem.c} (92%) create mode 100644 libs/dolphin/os/OSCache.c delete mode 100644 libs/dolphin/os/OSCache.cpp create mode 100644 libs/dolphin/os/OSContext.c delete mode 100644 libs/dolphin/os/OSContext.cpp create mode 100644 libs/dolphin/os/OSError.c delete mode 100644 libs/dolphin/os/OSError.cpp rename libs/dolphin/os/{OSExec.cpp => OSExec.c} (63%) create mode 100644 libs/dolphin/os/OSFont.c delete mode 100644 libs/dolphin/os/OSFont.cpp rename libs/dolphin/os/{OSInterrupt.cpp => OSInterrupt.c} (52%) rename libs/dolphin/os/{OSLink.cpp => OSLink.c} (62%) rename libs/dolphin/os/{OSMemory.cpp => OSMemory.c} (53%) rename libs/dolphin/os/{OSMessage.cpp => OSMessage.c} (94%) rename libs/dolphin/os/{OSMutex.cpp => OSMutex.c} (97%) rename libs/dolphin/os/{OSReboot.cpp => OSReboot.c} (58%) rename libs/dolphin/os/{OSReset.cpp => OSReset.c} (62%) rename libs/dolphin/os/{OSResetSW.cpp => OSResetSW.c} (88%) rename libs/dolphin/os/{OSRtc.cpp => OSRtc.c} (93%) rename libs/dolphin/os/{OSSync.cpp => OSSync.c} (55%) create mode 100644 libs/dolphin/os/OSThread.c delete mode 100644 libs/dolphin/os/OSThread.cpp rename libs/dolphin/os/{OSTime.cpp => OSTime.c} (64%) rename libs/dolphin/os/{__ppc_eabi_init.cpp => __ppc_eabi_init.c} (90%) rename libs/dolphin/pad/{Pad.cpp => Pad.c} (79%) rename libs/dolphin/pad/{Padclamp.cpp => Padclamp.c} (94%) rename libs/dolphin/si/{SIBios.cpp => SIBios.c} (72%) rename libs/dolphin/si/{SISamplingRate.cpp => SISamplingRate.c} (69%) rename libs/dolphin/vi/{vi.cpp => vi.c} (73%) rename libs/exi/{EXIBios.cpp => EXIBios.c} (63%) rename libs/exi/{EXIUart.cpp => EXIUart.c} (80%) create mode 100644 tools/decompctx.py diff --git a/Progress.md b/Progress.md index fc8be3633d..a1cb743343 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 91.849662% | 8700 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 16.356925% | 588284 | 3596544 +.text | 17.786186% | 639688 | 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 | 25.160968% | 1011640 | 4020672 +Total | 26.439461% | 1063044 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 25.160968% | 1011640 | 4020672 -RELs | 33.217047% | 3820068 | 11500324 -Total | 31.130141% | 4831708 | 15520996 +main.dol | 26.439461% | 1063044 | 4020672 +RELs | 33.257498% | 3824720 | 11500324 +Total | 31.491304% | 4887764 | 15520996 ## RELs @@ -39,7 +39,7 @@ d_a_ppolamp | 42.341463% | 1736 | 4100 d_a_demo_item | 33.863165% | 3920 | 11576 d_a_cstaf | 100.000000% | 11860 | 11860 d_a_bg | 35.526882% | 3304 | 9300 -d_a_tboxSw | 66.141732% | 672 | 1016 +d_a_tboxSw | 100.000000% | 1016 | 1016 d_a_title | 39.558574% | 2796 | 7068 d_a_L7low_dr | 38.905775% | 1536 | 3948 d_a_andsw2 | 29.472774% | 1364 | 4628 @@ -70,7 +70,7 @@ d_a_izumi_gate | 57.729941% | 1180 | 2044 d_a_mirror | 32.707993% | 3208 | 9808 d_a_cow | 22.936702% | 12784 | 55736 d_a_disappear | 45.091514% | 1084 | 2404 -d_a_swc00 | 42.329545% | 1788 | 4224 +d_a_swc00 | 43.087121% | 1820 | 4224 d_a_spinner | 27.874187% | 5140 | 18440 d_a_swLBall | 33.651805% | 1268 | 3768 d_a_suspend | 68.303571% | 612 | 896 @@ -78,7 +78,7 @@ d_a_coach_fire | 44.050104% | 1688 | 3832 d_a_bg_obj | 32.434657% | 6304 | 19436 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_vrbox2 | 34.977578% | 2184 | 6244 -d_a_alldie | 39.885496% | 836 | 2096 +d_a_alldie | 100.000000% | 2096 | 2096 d_a_bd | 31.115418% | 5780 | 18576 d_a_scene_exit2 | 44.782034% | 1356 | 3028 d_a_swhit0 | 35.577421% | 2748 | 7724 @@ -139,7 +139,7 @@ d_a_tag_evtarea | 37.091319% | 1316 | 3548 d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848 d_a_tag_ret_room | 49.168646% | 828 | 1684 d_a_tag_waterfall | 46.361502% | 1580 | 3408 -d_a_tag_gstart | 57.615894% | 696 | 1208 +d_a_tag_gstart | 100.000000% | 1208 | 1208 d_a_tag_mstop | 36.151961% | 1180 | 3264 d_a_tag_escape | 100.000000% | 712 | 712 d_a_tag_setrestart | 49.130435% | 904 | 1840 @@ -162,10 +162,10 @@ d_a_tag_howl | 46.934461% | 888 | 1892 d_a_tag_chkpoint | 39.852399% | 864 | 2168 d_a_tag_firewall | 35.325132% | 1608 | 4552 d_a_tag_lv6CstaSw | 51.406250% | 1316 | 2560 -d_a_tag_instruction | 82.022472% | 584 | 712 +d_a_tag_instruction | 100.000000% | 712 | 712 d_a_tag_mwait | 35.082873% | 1016 | 2896 d_a_tag_ajnot | 56.493506% | 696 | 1232 -d_a_tag_hstop | 46.962617% | 1608 | 3424 +d_a_tag_hstop | 100.000000% | 3424 | 3424 d_a_tag_chgrestart | 48.868778% | 864 | 1768 d_a_tag_cstasw | 100.000000% | 2560 | 2560 d_a_tag_lv5soup | 100.000000% | 1908 | 1908 @@ -195,7 +195,7 @@ d_a_kytag01 | 35.156250% | 1260 | 3584 d_a_kytag08 | 31.379026% | 1520 | 4844 d_a_kytag00 | 33.522084% | 2368 | 7064 d_a_kytag02 | 54.888889% | 988 | 1800 -d_a_kytag14 | 60.227273% | 848 | 1408 +d_a_kytag14 | 100.000000% | 1408 | 1408 d_a_kytag11 | 52.643172% | 956 | 1816 d_a_kytag05 | 100.000000% | 816 | 816 d_a_kytag13 | 30.696576% | 2080 | 6776 @@ -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.217047% | 3820068 | 11500324 +Total | 33.257498% | 3824720 | 11500324 diff --git a/README.md b/README.md index 96dfa63e6c..6d753df2cd 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ Project Setup 1. Clone down project ```bash -$ git clone https://github.com/zeldaret/tp +git clone https://github.com/zeldaret/tp ``` 2. Setup compiler directory ```bash -$ mkdir -p tools/mwcc_compiler/ +mkdir -p tools/mwcc_compiler/ ``` 3. Download `GC_COMPILERS.zip` from the [Discord](https://discord.gg/Nshw5pHS4h) server. See the pins in the `#tp-decomp` channel under the Twilight Princess group. @@ -33,7 +33,7 @@ $ mkdir -p tools/mwcc_compiler/ 4. Extract `GC_COMPILERS.zip` into the previously created `mwcc_compiler` directory ```bash -$ unzip GC_COMPILERS.zip -d tools/mwcc_compiler/ +unzip GC_COMPILERS.zip -d tools/mwcc_compiler/ ``` 5. Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it `gz2e01.iso` (find this on your own) @@ -41,7 +41,7 @@ $ unzip GC_COMPILERS.zip -d tools/mwcc_compiler/ 6. Setup the project ```bash -$ ./tp setup +./tp setup ``` Building The Game @@ -50,7 +50,7 @@ Building The Game 1. To build a playable game, complete the [Project Setup](#project-setup) steps, then run ```bash -$ make game +make game ``` The completed build is under `build/dolzel2/game/sys/main.dol` @@ -58,7 +58,7 @@ The completed build is under `build/dolzel2/game/sys/main.dol` Build DOL ```bash -$ make +make ``` (Note that any time you run make you can add the -j# argument where # is the amount of threads your system has in order to greatly speed up build times) @@ -66,7 +66,7 @@ $ make Build RELs ```bash -$ make rels +make rels ``` The completed RELs will be under `build/dolzel2/rel` @@ -74,7 +74,7 @@ The completed RELs will be under `build/dolzel2/rel` Extract Game Assets ```bash -$ make assets +make assets ``` Create Expected Directory @@ -83,7 +83,7 @@ Create Expected Directory 2. Run: ```bash -$ ./tp expected +./tp expected ``` @@ -93,25 +93,25 @@ Clean Directories Clean RELs ```bash -$ make clean_rels +make clean_rels ``` Clean Game Directory ```bash -$ make clean_game +make clean_game ``` Clean Build Directory ```bash -$ make clean_all +make clean_all ``` Clean Dol ```bash -$ make clean +make clean ``` diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/__sinit_J3DDrawBuffer_cpp.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/__sinit_J3DDrawBuffer_cpp.s deleted file mode 100644 index 9aaa286798..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/__sinit_J3DDrawBuffer_cpp.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_803255F0: -/* 803255F0 3C 60 80 3D */ lis r3, lit_992@ha /* 0x803CEBE8@ha */ -/* 803255F4 38 A3 EB E8 */ addi r5, r3, lit_992@l /* 0x803CEBE8@l */ -/* 803255F8 80 65 00 00 */ lwz r3, 0(r5) -/* 803255FC 80 05 00 04 */ lwz r0, 4(r5) -/* 80325600 90 65 00 48 */ stw r3, 0x48(r5) -/* 80325604 90 05 00 4C */ stw r0, 0x4c(r5) -/* 80325608 80 05 00 08 */ lwz r0, 8(r5) -/* 8032560C 90 05 00 50 */ stw r0, 0x50(r5) -/* 80325610 38 85 00 48 */ addi r4, r5, 0x48 -/* 80325614 80 65 00 0C */ lwz r3, 0xc(r5) -/* 80325618 80 05 00 10 */ lwz r0, 0x10(r5) -/* 8032561C 90 64 00 0C */ stw r3, 0xc(r4) -/* 80325620 90 04 00 10 */ stw r0, 0x10(r4) -/* 80325624 80 05 00 14 */ lwz r0, 0x14(r5) -/* 80325628 90 04 00 14 */ stw r0, 0x14(r4) -/* 8032562C 80 65 00 18 */ lwz r3, 0x18(r5) -/* 80325630 80 05 00 1C */ lwz r0, 0x1c(r5) -/* 80325634 90 64 00 18 */ stw r3, 0x18(r4) -/* 80325638 90 04 00 1C */ stw r0, 0x1c(r4) -/* 8032563C 80 05 00 20 */ lwz r0, 0x20(r5) -/* 80325640 90 04 00 20 */ stw r0, 0x20(r4) -/* 80325644 80 65 00 24 */ lwz r3, 0x24(r5) -/* 80325648 80 05 00 28 */ lwz r0, 0x28(r5) -/* 8032564C 90 64 00 24 */ stw r3, 0x24(r4) -/* 80325650 90 04 00 28 */ stw r0, 0x28(r4) -/* 80325654 80 05 00 2C */ lwz r0, 0x2c(r5) -/* 80325658 90 04 00 2C */ stw r0, 0x2c(r4) -/* 8032565C 80 65 00 30 */ lwz r3, 0x30(r5) -/* 80325660 80 05 00 34 */ lwz r0, 0x34(r5) -/* 80325664 90 64 00 30 */ stw r3, 0x30(r4) -/* 80325668 90 04 00 34 */ stw r0, 0x34(r4) -/* 8032566C 80 05 00 38 */ lwz r0, 0x38(r5) -/* 80325670 90 04 00 38 */ stw r0, 0x38(r4) -/* 80325674 80 65 00 3C */ lwz r3, 0x3c(r5) -/* 80325678 80 05 00 40 */ lwz r0, 0x40(r5) -/* 8032567C 90 64 00 3C */ stw r3, 0x3c(r4) -/* 80325680 90 04 00 40 */ stw r0, 0x40(r4) -/* 80325684 80 05 00 44 */ lwz r0, 0x44(r5) -/* 80325688 90 04 00 44 */ stw r0, 0x44(r4) -/* 8032568C 80 65 00 90 */ lwz r3, 0x90(r5) -/* 80325690 80 05 00 94 */ lwz r0, 0x94(r5) -/* 80325694 90 65 00 A8 */ stw r3, 0xa8(r5) -/* 80325698 90 05 00 AC */ stw r0, 0xac(r5) -/* 8032569C 80 05 00 98 */ lwz r0, 0x98(r5) -/* 803256A0 90 05 00 B0 */ stw r0, 0xb0(r5) -/* 803256A4 38 85 00 A8 */ addi r4, r5, 0xa8 -/* 803256A8 80 65 00 9C */ lwz r3, 0x9c(r5) -/* 803256AC 80 05 00 A0 */ lwz r0, 0xa0(r5) -/* 803256B0 90 64 00 0C */ stw r3, 0xc(r4) -/* 803256B4 90 04 00 10 */ stw r0, 0x10(r4) -/* 803256B8 80 05 00 A4 */ lwz r0, 0xa4(r5) -/* 803256BC 90 04 00 14 */ stw r0, 0x14(r4) -/* 803256C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawHead__13J3DDrawBufferCFv.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawHead__13J3DDrawBufferCFv.s deleted file mode 100644 index ea41a9ebd0..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawHead__13J3DDrawBufferCFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80325500: -/* 80325500 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80325504 7C 08 02 A6 */ mflr r0 -/* 80325508 90 01 00 24 */ stw r0, 0x24(r1) -/* 8032550C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80325510 48 03 CC C5 */ bl _savegpr_27 -/* 80325514 83 C3 00 04 */ lwz r30, 4(r3) -/* 80325518 83 A3 00 00 */ lwz r29, 0(r3) -/* 8032551C 3B 80 00 00 */ li r28, 0 -/* 80325520 3B E0 00 00 */ li r31, 0 -/* 80325524 48 00 00 34 */ b lbl_80325558 -lbl_80325528: -/* 80325528 7F 7D F8 2E */ lwzx r27, r29, r31 -/* 8032552C 48 00 00 1C */ b lbl_80325548 -lbl_80325530: -/* 80325530 7F 63 DB 78 */ mr r3, r27 -/* 80325534 81 9B 00 00 */ lwz r12, 0(r27) -/* 80325538 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 8032553C 7D 89 03 A6 */ mtctr r12 -/* 80325540 4E 80 04 21 */ bctrl -/* 80325544 83 7B 00 04 */ lwz r27, 4(r27) -lbl_80325548: -/* 80325548 28 1B 00 00 */ cmplwi r27, 0 -/* 8032554C 40 82 FF E4 */ bne lbl_80325530 -/* 80325550 3B 9C 00 01 */ addi r28, r28, 1 -/* 80325554 3B FF 00 04 */ addi r31, r31, 4 -lbl_80325558: -/* 80325558 7C 1C F0 40 */ cmplw r28, r30 -/* 8032555C 41 80 FF CC */ blt lbl_80325528 -/* 80325560 39 61 00 20 */ addi r11, r1, 0x20 -/* 80325564 48 03 CC BD */ bl _restgpr_27 -/* 80325568 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8032556C 7C 08 03 A6 */ mtlr r0 -/* 80325570 38 21 00 20 */ addi r1, r1, 0x20 -/* 80325574 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawTail__13J3DDrawBufferCFv.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawTail__13J3DDrawBufferCFv.s deleted file mode 100644 index 4d23047e70..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawTail__13J3DDrawBufferCFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80325578: -/* 80325578 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8032557C 7C 08 02 A6 */ mflr r0 -/* 80325580 90 01 00 24 */ stw r0, 0x24(r1) -/* 80325584 39 61 00 20 */ addi r11, r1, 0x20 -/* 80325588 48 03 CC 51 */ bl _savegpr_28 -/* 8032558C 80 83 00 04 */ lwz r4, 4(r3) -/* 80325590 3B A4 FF FF */ addi r29, r4, -1 -/* 80325594 83 C3 00 00 */ lwz r30, 0(r3) -/* 80325598 57 BF 10 3A */ slwi r31, r29, 2 -/* 8032559C 48 00 00 34 */ b lbl_803255D0 -lbl_803255A0: -/* 803255A0 7F 9E F8 2E */ lwzx r28, r30, r31 -/* 803255A4 48 00 00 1C */ b lbl_803255C0 -lbl_803255A8: -/* 803255A8 7F 83 E3 78 */ mr r3, r28 -/* 803255AC 81 9C 00 00 */ lwz r12, 0(r28) -/* 803255B0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 803255B4 7D 89 03 A6 */ mtctr r12 -/* 803255B8 4E 80 04 21 */ bctrl -/* 803255BC 83 9C 00 04 */ lwz r28, 4(r28) -lbl_803255C0: -/* 803255C0 28 1C 00 00 */ cmplwi r28, 0 -/* 803255C4 40 82 FF E4 */ bne lbl_803255A8 -/* 803255C8 3B BD FF FF */ addi r29, r29, -1 -/* 803255CC 3B FF FF FC */ addi r31, r31, -4 -lbl_803255D0: -/* 803255D0 2C 1D 00 00 */ cmpwi r29, 0 -/* 803255D4 40 80 FF CC */ bge lbl_803255A0 -/* 803255D8 39 61 00 20 */ addi r11, r1, 0x20 -/* 803255DC 48 03 CC 49 */ bl _restgpr_28 -/* 803255E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803255E4 7C 08 03 A6 */ mtlr r0 -/* 803255E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 803255EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/draw__13J3DDrawBufferCFv.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/draw__13J3DDrawBufferCFv.s deleted file mode 100644 index 902b793454..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/draw__13J3DDrawBufferCFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_803254AC: -/* 803254AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803254B0 7C 08 02 A6 */ mflr r0 -/* 803254B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 803254B8 80 03 00 08 */ lwz r0, 8(r3) -/* 803254BC 1C A0 00 0C */ mulli r5, r0, 0xc -/* 803254C0 3C 80 80 3D */ lis r4, drawFuncTable__13J3DDrawBuffer@ha /* 0x803CEC90@ha */ -/* 803254C4 38 04 EC 90 */ addi r0, r4, drawFuncTable__13J3DDrawBuffer@l /* 0x803CEC90@l */ -/* 803254C8 7C A0 2A 14 */ add r5, r0, r5 -/* 803254CC 80 85 00 00 */ lwz r4, 0(r5) -/* 803254D0 80 05 00 04 */ lwz r0, 4(r5) -/* 803254D4 90 81 00 08 */ stw r4, 8(r1) -/* 803254D8 90 01 00 0C */ stw r0, 0xc(r1) -/* 803254DC 80 05 00 08 */ lwz r0, 8(r5) -/* 803254E0 90 01 00 10 */ stw r0, 0x10(r1) -/* 803254E4 39 81 00 08 */ addi r12, r1, 8 -/* 803254E8 48 03 CB 9D */ bl __ptmf_scall -/* 803254EC 60 00 00 00 */ nop -/* 803254F0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803254F4 7C 08 03 A6 */ mtlr r0 -/* 803254F8 38 21 00 20 */ addi r1, r1, 0x20 -/* 803254FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket.s deleted file mode 100644 index 7dce118592..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80325404: -/* 80325404 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80325408 7C 08 02 A6 */ mflr r0 -/* 8032540C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80325410 38 00 00 00 */ li r0, 0 -/* 80325414 90 04 00 04 */ stw r0, 4(r4) -/* 80325418 90 04 00 08 */ stw r0, 8(r4) -/* 8032541C 80 A4 00 2C */ lwz r5, 0x2c(r4) -/* 80325420 90 05 00 04 */ stw r0, 4(r5) -/* 80325424 90 05 00 08 */ stw r0, 8(r5) -/* 80325428 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8032542C 28 03 00 00 */ cmplwi r3, 0 -/* 80325430 41 82 00 14 */ beq lbl_80325444 -/* 80325434 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 80325438 4B FE D3 21 */ bl addChildPacket__9J3DPacketFP9J3DPacket -/* 8032543C 38 60 00 01 */ li r3, 1 -/* 80325440 48 00 00 08 */ b lbl_80325448 -lbl_80325444: -/* 80325444 38 60 00 00 */ li r3, 0 -lbl_80325448: -/* 80325448 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8032544C 7C 08 03 A6 */ mtlr r0 -/* 80325450 38 21 00 10 */ addi r1, r1, 0x10 -/* 80325454 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryModelSort__13J3DDrawBufferFP12J3DMatPacket.s b/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryModelSort__13J3DDrawBufferFP12J3DMatPacket.s deleted file mode 100644 index 024a7f4b6c..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryModelSort__13J3DDrawBufferFP12J3DMatPacket.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_803253B4: -/* 803253B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803253B8 7C 08 02 A6 */ mflr r0 -/* 803253BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 803253C0 38 00 00 00 */ li r0, 0 -/* 803253C4 90 04 00 04 */ stw r0, 4(r4) -/* 803253C8 90 04 00 08 */ stw r0, 8(r4) -/* 803253CC 80 A4 00 2C */ lwz r5, 0x2c(r4) -/* 803253D0 90 05 00 04 */ stw r0, 4(r5) -/* 803253D4 90 05 00 08 */ stw r0, 8(r5) -/* 803253D8 80 63 00 20 */ lwz r3, 0x20(r3) -/* 803253DC 28 03 00 00 */ cmplwi r3, 0 -/* 803253E0 41 82 00 10 */ beq lbl_803253F0 -/* 803253E4 4B FE D3 75 */ bl addChildPacket__9J3DPacketFP9J3DPacket -/* 803253E8 38 60 00 01 */ li r3, 1 -/* 803253EC 48 00 00 08 */ b lbl_803253F4 -lbl_803253F0: -/* 803253F0 38 60 00 00 */ li r3, 0 -lbl_803253F4: -/* 803253F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803253F8 7C 08 03 A6 */ mtlr r0 -/* 803253FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80325400 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DPacket/entry__12J3DMatPacketFP13J3DDrawBuffer.s b/asm/JSystem/J3DGraphBase/J3DPacket/entry__12J3DMatPacketFP13J3DDrawBuffer.s deleted file mode 100644 index 8ae797a67f..0000000000 --- a/asm/JSystem/J3DGraphBase/J3DPacket/entry__12J3DMatPacketFP13J3DDrawBuffer.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80313048: -/* 80313048 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8031304C 7C 08 02 A6 */ mflr r0 -/* 80313050 90 01 00 24 */ stw r0, 0x24(r1) -/* 80313054 7C 66 1B 78 */ mr r6, r3 -/* 80313058 80 04 00 0C */ lwz r0, 0xc(r4) -/* 8031305C 1C A0 00 0C */ mulli r5, r0, 0xc -/* 80313060 3C 60 80 3D */ lis r3, sortFuncTable__13J3DDrawBuffer@ha /* 0x803CEC30@ha */ -/* 80313064 38 03 EC 30 */ addi r0, r3, sortFuncTable__13J3DDrawBuffer@l /* 0x803CEC30@l */ -/* 80313068 7C A0 2A 14 */ add r5, r0, r5 -/* 8031306C 80 65 00 00 */ lwz r3, 0(r5) -/* 80313070 80 05 00 04 */ lwz r0, 4(r5) -/* 80313074 90 61 00 08 */ stw r3, 8(r1) -/* 80313078 90 01 00 0C */ stw r0, 0xc(r1) -/* 8031307C 80 05 00 08 */ lwz r0, 8(r5) -/* 80313080 90 01 00 10 */ stw r0, 0x10(r1) -/* 80313084 7C 83 23 78 */ mr r3, r4 -/* 80313088 7C C4 33 78 */ mr r4, r6 -/* 8031308C 39 81 00 08 */ addi r12, r1, 8 -/* 80313090 48 04 EF F5 */ bl __ptmf_scall -/* 80313094 60 00 00 00 */ nop -/* 80313098 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8031309C 7C 08 03 A6 */ mtlr r0 -/* 803130A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 803130A4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DJointFactory/__ct__15J3DJointFactoryFRC13J3DJointBlock.s b/asm/JSystem/J3DGraphLoader/J3DJointFactory/__ct__15J3DJointFactoryFRC13J3DJointBlock.s deleted file mode 100644 index f798834a78..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DJointFactory/__ct__15J3DJointFactoryFRC13J3DJointBlock.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80337178: -/* 80337178 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8033717C 7C 08 02 A6 */ mflr r0 -/* 80337180 90 01 00 14 */ stw r0, 0x14(r1) -/* 80337184 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80337188 93 C1 00 08 */ stw r30, 8(r1) -/* 8033718C 7C 7E 1B 78 */ mr r30, r3 -/* 80337190 7C 9F 23 78 */ mr r31, r4 -/* 80337194 7F E3 FB 78 */ mr r3, r31 -/* 80337198 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8033719C 48 00 01 9D */ bl func_80337338 -/* 803371A0 90 7E 00 00 */ stw r3, 0(r30) -/* 803371A4 7F E3 FB 78 */ mr r3, r31 -/* 803371A8 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 803371AC 4B FF F5 D1 */ bl func_8033677C -/* 803371B0 90 7E 00 04 */ stw r3, 4(r30) -/* 803371B4 7F C3 F3 78 */ mr r3, r30 -/* 803371B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803371BC 83 C1 00 08 */ lwz r30, 8(r1) -/* 803371C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803371C4 7C 08 03 A6 */ mtlr r0 -/* 803371C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 803371CC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DJointFactory/create__15J3DJointFactoryFi.s b/asm/JSystem/J3DGraphLoader/J3DJointFactory/create__15J3DJointFactoryFi.s deleted file mode 100644 index ae2e6929e8..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DJointFactory/create__15J3DJointFactoryFi.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_803371D0: -/* 803371D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803371D4 7C 08 02 A6 */ mflr r0 -/* 803371D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803371DC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803371E0 93 C1 00 08 */ stw r30, 8(r1) -/* 803371E4 7C 7F 1B 78 */ mr r31, r3 -/* 803371E8 7C 9E 23 78 */ mr r30, r4 -/* 803371EC 38 60 00 5C */ li r3, 0x5c -/* 803371F0 4B F9 7A 5D */ bl __nw__FUl -/* 803371F4 7C 64 1B 79 */ or. r4, r3, r3 -/* 803371F8 41 82 00 0C */ beq lbl_80337204 -/* 803371FC 4B FF 7F 75 */ bl __ct__8J3DJointFv -/* 80337200 7C 64 1B 78 */ mr r4, r3 -lbl_80337204: -/* 80337204 B3 C4 00 14 */ sth r30, 0x14(r4) -/* 80337208 80 BF 00 00 */ lwz r5, 0(r31) -/* 8033720C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80337210 57 C0 08 3C */ slwi r0, r30, 1 -/* 80337214 7C 63 02 2E */ lhzx r3, r3, r0 -/* 80337218 54 63 30 32 */ slwi r3, r3, 6 -/* 8033721C 7C 65 1A 2E */ lhzx r3, r5, r3 -/* 80337220 98 64 00 16 */ stb r3, 0x16(r4) -/* 80337224 80 BF 00 00 */ lwz r5, 0(r31) -/* 80337228 80 7F 00 04 */ lwz r3, 4(r31) -/* 8033722C 7C 63 02 2E */ lhzx r3, r3, r0 -/* 80337230 54 63 30 32 */ slwi r3, r3, 6 -/* 80337234 7C 65 1A 14 */ add r3, r5, r3 -/* 80337238 88 63 00 02 */ lbz r3, 2(r3) -/* 8033723C 98 64 00 17 */ stb r3, 0x17(r4) -/* 80337240 80 BF 00 00 */ lwz r5, 0(r31) -/* 80337244 80 7F 00 04 */ lwz r3, 4(r31) -/* 80337248 7C 63 02 2E */ lhzx r3, r3, r0 -/* 8033724C 54 63 30 32 */ slwi r3, r3, 6 -/* 80337250 38 C3 00 04 */ addi r6, r3, 4 -/* 80337254 7C C5 32 14 */ add r6, r5, r6 -/* 80337258 E0 06 00 00 */ psq_l f0, 0(r6), 0, 0 /* qr0 */ -/* 8033725C F0 04 00 18 */ psq_st f0, 24(r4), 0, 0 /* qr0 */ -/* 80337260 C0 06 00 08 */ lfs f0, 8(r6) -/* 80337264 D0 04 00 20 */ stfs f0, 0x20(r4) -/* 80337268 80 66 00 0C */ lwz r3, 0xc(r6) -/* 8033726C 90 64 00 24 */ stw r3, 0x24(r4) -/* 80337270 A8 66 00 10 */ lha r3, 0x10(r6) -/* 80337274 B0 64 00 28 */ sth r3, 0x28(r4) -/* 80337278 E0 06 00 14 */ psq_l f0, 20(r6), 0, 0 /* qr0 */ -/* 8033727C F0 04 00 2C */ psq_st f0, 44(r4), 0, 0 /* qr0 */ -/* 80337280 C0 06 00 1C */ lfs f0, 0x1c(r6) -/* 80337284 D0 04 00 34 */ stfs f0, 0x34(r4) -/* 80337288 80 BF 00 00 */ lwz r5, 0(r31) -/* 8033728C 80 7F 00 04 */ lwz r3, 4(r31) -/* 80337290 7C 63 02 2E */ lhzx r3, r3, r0 -/* 80337294 54 63 30 32 */ slwi r3, r3, 6 -/* 80337298 7C 65 1A 14 */ add r3, r5, r3 -/* 8033729C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 803372A0 D0 04 00 38 */ stfs f0, 0x38(r4) -/* 803372A4 80 BF 00 00 */ lwz r5, 0(r31) -/* 803372A8 80 7F 00 04 */ lwz r3, 4(r31) -/* 803372AC 7C 63 02 2E */ lhzx r3, r3, r0 -/* 803372B0 54 63 30 32 */ slwi r3, r3, 6 -/* 803372B4 38 63 00 28 */ addi r3, r3, 0x28 -/* 803372B8 7C 65 1A 14 */ add r3, r5, r3 -/* 803372BC C0 03 00 00 */ lfs f0, 0(r3) -/* 803372C0 D0 04 00 3C */ stfs f0, 0x3c(r4) -/* 803372C4 C0 03 00 04 */ lfs f0, 4(r3) -/* 803372C8 D0 04 00 40 */ stfs f0, 0x40(r4) -/* 803372CC C0 03 00 08 */ lfs f0, 8(r3) -/* 803372D0 D0 04 00 44 */ stfs f0, 0x44(r4) -/* 803372D4 80 BF 00 00 */ lwz r5, 0(r31) -/* 803372D8 80 7F 00 04 */ lwz r3, 4(r31) -/* 803372DC 7C 03 02 2E */ lhzx r0, r3, r0 -/* 803372E0 54 03 30 32 */ slwi r3, r0, 6 -/* 803372E4 38 63 00 34 */ addi r3, r3, 0x34 -/* 803372E8 7C 65 1A 14 */ add r3, r5, r3 -/* 803372EC C0 03 00 00 */ lfs f0, 0(r3) -/* 803372F0 D0 04 00 48 */ stfs f0, 0x48(r4) -/* 803372F4 C0 03 00 04 */ lfs f0, 4(r3) -/* 803372F8 D0 04 00 4C */ stfs f0, 0x4c(r4) -/* 803372FC C0 03 00 08 */ lfs f0, 8(r3) -/* 80337300 D0 04 00 50 */ stfs f0, 0x50(r4) -/* 80337304 38 60 00 00 */ li r3, 0 -/* 80337308 90 64 00 54 */ stw r3, 0x54(r4) -/* 8033730C 88 04 00 17 */ lbz r0, 0x17(r4) -/* 80337310 28 00 00 FF */ cmplwi r0, 0xff -/* 80337314 40 82 00 08 */ bne lbl_8033731C -/* 80337318 98 64 00 17 */ stb r3, 0x17(r4) -lbl_8033731C: -/* 8033731C 7C 83 23 78 */ mr r3, r4 -/* 80337320 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80337324 83 C1 00 08 */ lwz r30, 8(r1) -/* 80337328 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8033732C 7C 08 03 A6 */ mtlr r0 -/* 80337330 38 21 00 10 */ addi r1, r1, 0x10 -/* 80337334 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DJointFactory/func_80337338.s b/asm/JSystem/J3DGraphLoader/J3DJointFactory/func_80337338.s deleted file mode 100644 index 8c8dd696c0..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DJointFactory/func_80337338.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80337338: -/* 80337338 28 04 00 00 */ cmplwi r4, 0 -/* 8033733C 40 82 00 0C */ bne lbl_80337348 -/* 80337340 38 60 00 00 */ li r3, 0 -/* 80337344 4E 80 00 20 */ blr -lbl_80337348: -/* 80337348 7C 63 22 14 */ add r3, r3, r4 -/* 8033734C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/__ct__15J3DShapeFactoryFRC13J3DShapeBlock.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/__ct__15J3DShapeFactoryFRC13J3DShapeBlock.s deleted file mode 100644 index 868871177c..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/__ct__15J3DShapeFactoryFRC13J3DShapeBlock.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_80337350: -/* 80337350 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80337354 7C 08 02 A6 */ mflr r0 -/* 80337358 90 01 00 14 */ stw r0, 0x14(r1) -/* 8033735C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80337360 93 C1 00 08 */ stw r30, 8(r1) -/* 80337364 7C 7E 1B 78 */ mr r30, r3 -/* 80337368 7C 9F 23 78 */ mr r31, r4 -/* 8033736C 7F E3 FB 78 */ mr r3, r31 -/* 80337370 80 84 00 0C */ lwz r4, 0xc(r4) -/* 80337374 4B FF F3 F1 */ bl func_80336764 -/* 80337378 90 7E 00 00 */ stw r3, 0(r30) -/* 8033737C 7F E3 FB 78 */ mr r3, r31 -/* 80337380 80 9F 00 10 */ lwz r4, 0x10(r31) -/* 80337384 4B FF F3 F9 */ bl func_8033677C -/* 80337388 90 7E 00 04 */ stw r3, 4(r30) -/* 8033738C 7F E3 FB 78 */ mr r3, r31 -/* 80337390 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 80337394 48 00 07 95 */ bl func_80337B28 -/* 80337398 90 7E 00 08 */ stw r3, 8(r30) -/* 8033739C 7F E3 FB 78 */ mr r3, r31 -/* 803373A0 80 9F 00 1C */ lwz r4, 0x1c(r31) -/* 803373A4 4B FF F3 D9 */ bl func_8033677C -/* 803373A8 90 7E 00 0C */ stw r3, 0xc(r30) -/* 803373AC 7F E3 FB 78 */ mr r3, r31 -/* 803373B0 80 9F 00 20 */ lwz r4, 0x20(r31) -/* 803373B4 48 00 07 5D */ bl func_80337B10 -/* 803373B8 90 7E 00 10 */ stw r3, 0x10(r30) -/* 803373BC 7F E3 FB 78 */ mr r3, r31 -/* 803373C0 80 9F 00 24 */ lwz r4, 0x24(r31) -/* 803373C4 48 00 07 35 */ bl func_80337AF8 -/* 803373C8 90 7E 00 14 */ stw r3, 0x14(r30) -/* 803373CC 7F E3 FB 78 */ mr r3, r31 -/* 803373D0 80 9F 00 28 */ lwz r4, 0x28(r31) -/* 803373D4 48 00 07 0D */ bl func_80337AE0 -/* 803373D8 90 7E 00 18 */ stw r3, 0x18(r30) -/* 803373DC 38 00 00 00 */ li r0, 0 -/* 803373E0 90 1E 00 1C */ stw r0, 0x1c(r30) -/* 803373E4 7F C3 F3 78 */ mr r3, r30 -/* 803373E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803373EC 83 C1 00 08 */ lwz r30, 8(r1) -/* 803373F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803373F4 7C 08 03 A6 */ mtlr r0 -/* 803373F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 803373FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/allocVcdVatCmdBuffer__15J3DShapeFactoryFUl.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/allocVcdVatCmdBuffer__15J3DShapeFactoryFUl.s deleted file mode 100644 index 38f6609f1b..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/allocVcdVatCmdBuffer__15J3DShapeFactoryFUl.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_803378D8: -/* 803378D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803378DC 7C 08 02 A6 */ mflr r0 -/* 803378E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 803378E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803378E8 93 C1 00 08 */ stw r30, 8(r1) -/* 803378EC 7C 7E 1B 78 */ mr r30, r3 -/* 803378F0 1F E4 00 C0 */ mulli r31, r4, 0xc0 -/* 803378F4 7F E3 FB 78 */ mr r3, r31 -/* 803378F8 38 80 00 20 */ li r4, 0x20 -/* 803378FC 4B F9 73 F1 */ bl __nwa__FUli -/* 80337900 90 7E 00 1C */ stw r3, 0x1c(r30) -/* 80337904 38 60 00 00 */ li r3, 0 -/* 80337908 57 E4 F0 BE */ srwi r4, r31, 2 -/* 8033790C 7C 60 1B 78 */ mr r0, r3 -/* 80337910 7C 89 03 A6 */ mtctr r4 -/* 80337914 28 04 00 00 */ cmplwi r4, 0 -/* 80337918 40 81 00 14 */ ble lbl_8033792C -lbl_8033791C: -/* 8033791C 80 9E 00 1C */ lwz r4, 0x1c(r30) -/* 80337920 7C 04 19 2E */ stwx r0, r4, r3 -/* 80337924 38 63 00 04 */ addi r3, r3, 4 -/* 80337928 42 00 FF F4 */ bdnz lbl_8033791C -lbl_8033792C: -/* 8033792C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80337930 83 C1 00 08 */ lwz r30, 8(r1) -/* 80337934 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80337938 7C 08 03 A6 */ mtlr r0 -/* 8033793C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80337940 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeShapeMtx__15J3DShapeFactoryCFUlii.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeShapeMtx__15J3DShapeFactoryCFUlii.s deleted file mode 100644 index 7e23882c4f..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeShapeMtx__15J3DShapeFactoryCFUlii.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_803379E8: -/* 803379E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803379EC 7C 08 02 A6 */ mflr r0 -/* 803379F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 803379F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803379F8 80 C3 00 00 */ lwz r6, 0(r3) -/* 803379FC 80 63 00 04 */ lwz r3, 4(r3) -/* 80337A00 54 A0 08 3C */ slwi r0, r5, 1 -/* 80337A04 7C 03 02 2E */ lhzx r0, r3, r0 -/* 80337A08 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 80337A0C 3B E0 00 00 */ li r31, 0 -/* 80337A10 54 83 06 F6 */ rlwinm r3, r4, 0, 0x1b, 0x1b -/* 80337A14 2C 03 00 10 */ cmpwi r3, 0x10 -/* 80337A18 41 82 00 14 */ beq lbl_80337A2C -/* 80337A1C 40 80 00 70 */ bge lbl_80337A8C -/* 80337A20 2C 03 00 00 */ cmpwi r3, 0 -/* 80337A24 41 82 00 68 */ beq lbl_80337A8C -/* 80337A28 48 00 00 64 */ b lbl_80337A8C -lbl_80337A2C: -/* 80337A2C 7C 06 00 AE */ lbzx r0, r6, r0 -/* 80337A30 2C 00 00 02 */ cmpwi r0, 2 -/* 80337A34 41 82 00 34 */ beq lbl_80337A68 -/* 80337A38 40 80 00 14 */ bge lbl_80337A4C -/* 80337A3C 2C 00 00 00 */ cmpwi r0, 0 -/* 80337A40 41 82 00 18 */ beq lbl_80337A58 -/* 80337A44 40 80 00 1C */ bge lbl_80337A60 -/* 80337A48 48 00 00 30 */ b lbl_80337A78 -lbl_80337A4C: -/* 80337A4C 2C 00 00 04 */ cmpwi r0, 4 -/* 80337A50 40 80 00 28 */ bge lbl_80337A78 -/* 80337A54 48 00 00 1C */ b lbl_80337A70 -lbl_80337A58: -/* 80337A58 3B E0 00 08 */ li r31, 8 -/* 80337A5C 48 00 00 6C */ b lbl_80337AC8 -lbl_80337A60: -/* 80337A60 3B E0 00 08 */ li r31, 8 -/* 80337A64 48 00 00 64 */ b lbl_80337AC8 -lbl_80337A68: -/* 80337A68 3B E0 00 08 */ li r31, 8 -/* 80337A6C 48 00 00 5C */ b lbl_80337AC8 -lbl_80337A70: -/* 80337A70 3B E0 00 10 */ li r31, 0x10 -/* 80337A74 48 00 00 54 */ b lbl_80337AC8 -lbl_80337A78: -/* 80337A78 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */ -/* 80337A7C 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */ -/* 80337A80 4C C6 31 82 */ crclr 6 -/* 80337A84 4B CC F0 39 */ bl OSReport -/* 80337A88 48 00 00 40 */ b lbl_80337AC8 -lbl_80337A8C: -/* 80337A8C 7C 06 00 AE */ lbzx r0, r6, r0 -/* 80337A90 2C 00 00 03 */ cmpwi r0, 3 -/* 80337A94 41 82 00 1C */ beq lbl_80337AB0 -/* 80337A98 40 80 00 20 */ bge lbl_80337AB8 -/* 80337A9C 2C 00 00 00 */ cmpwi r0, 0 -/* 80337AA0 40 80 00 08 */ bge lbl_80337AA8 -/* 80337AA4 48 00 00 14 */ b lbl_80337AB8 -lbl_80337AA8: -/* 80337AA8 3B E0 00 08 */ li r31, 8 -/* 80337AAC 48 00 00 1C */ b lbl_80337AC8 -lbl_80337AB0: -/* 80337AB0 3B E0 00 10 */ li r31, 0x10 -/* 80337AB4 48 00 00 14 */ b lbl_80337AC8 -lbl_80337AB8: -/* 80337AB8 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */ -/* 80337ABC 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */ -/* 80337AC0 4C C6 31 82 */ crclr 6 -/* 80337AC4 4B CC EF F9 */ bl OSReport -lbl_80337AC8: -/* 80337AC8 7F E3 FB 78 */ mr r3, r31 -/* 80337ACC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80337AD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80337AD4 7C 08 03 A6 */ mtlr r0 -/* 80337AD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80337ADC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl.s deleted file mode 100644 index 99ee9b638e..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_803379D8: -/* 803379D8 1C 64 00 C0 */ mulli r3, r4, 0xc0 -/* 803379DC 38 03 00 1F */ addi r0, r3, 0x1f -/* 803379E0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 803379E4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/create__15J3DShapeFactoryFiUlP14_GXVtxDescList.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/create__15J3DShapeFactoryFiUlP14_GXVtxDescList.s deleted file mode 100644 index 8b6e9fb73c..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/create__15J3DShapeFactoryFiUlP14_GXVtxDescList.s +++ /dev/null @@ -1,115 +0,0 @@ -lbl_80337400: -/* 80337400 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80337404 7C 08 02 A6 */ mflr r0 -/* 80337408 90 01 00 24 */ stw r0, 0x24(r1) -/* 8033740C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80337410 48 02 AD C1 */ bl _savegpr_26 -/* 80337414 7C 7B 1B 78 */ mr r27, r3 -/* 80337418 7C 9C 23 78 */ mr r28, r4 -/* 8033741C 7C BD 2B 78 */ mr r29, r5 -/* 80337420 38 60 00 68 */ li r3, 0x68 -/* 80337424 4B F9 78 29 */ bl __nw__FUl -/* 80337428 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8033742C 41 82 00 2C */ beq lbl_80337458 -/* 80337430 3C 80 80 3D */ lis r4, __vt__8J3DShape@ha /* 0x803CDC78@ha */ -/* 80337434 38 04 DC 78 */ addi r0, r4, __vt__8J3DShape@l /* 0x803CDC78@l */ -/* 80337438 90 1F 00 00 */ stw r0, 0(r31) -/* 8033743C 3C 80 3C F4 */ lis r4, 0x3CF4 /* 0x3CF3CF00@ha */ -/* 80337440 38 04 CF 00 */ addi r0, r4, 0xCF00 /* 0x3CF3CF00@l */ -/* 80337444 90 1F 00 40 */ stw r0, 0x40(r31) -/* 80337448 3C 80 00 F4 */ lis r4, 0x00F4 /* 0x00F3CF3C@ha */ -/* 8033744C 38 04 CF 3C */ addi r0, r4, 0xCF3C /* 0x00F3CF3C@l */ -/* 80337450 90 1F 00 44 */ stw r0, 0x44(r31) -/* 80337454 4B FD D6 F5 */ bl initialize__8J3DShapeFv -lbl_80337458: -/* 80337458 80 9B 00 00 */ lwz r4, 0(r27) -/* 8033745C 80 7B 00 04 */ lwz r3, 4(r27) -/* 80337460 57 9E 08 3C */ slwi r30, r28, 1 -/* 80337464 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 80337468 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 8033746C 7C 64 02 14 */ add r3, r4, r0 -/* 80337470 A0 03 00 02 */ lhz r0, 2(r3) -/* 80337474 B0 1F 00 0A */ sth r0, 0xa(r31) -/* 80337478 80 9B 00 00 */ lwz r4, 0(r27) -/* 8033747C 80 7B 00 04 */ lwz r3, 4(r27) -/* 80337480 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 80337484 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 80337488 7C 64 02 14 */ add r3, r4, r0 -/* 8033748C C0 03 00 0C */ lfs f0, 0xc(r3) -/* 80337490 D0 1F 00 10 */ stfs f0, 0x10(r31) -/* 80337494 80 BB 00 08 */ lwz r5, 8(r27) -/* 80337498 80 9B 00 00 */ lwz r4, 0(r27) -/* 8033749C 80 7B 00 04 */ lwz r3, 4(r27) -/* 803374A0 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 803374A4 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 803374A8 7C 64 02 14 */ add r3, r4, r0 -/* 803374AC A0 03 00 04 */ lhz r0, 4(r3) -/* 803374B0 7C 05 02 14 */ add r0, r5, r0 -/* 803374B4 90 1F 00 30 */ stw r0, 0x30(r31) -/* 803374B8 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 803374BC 54 03 10 3A */ slwi r3, r0, 2 -/* 803374C0 4B F9 78 05 */ bl __nwa__FUl -/* 803374C4 90 7F 00 38 */ stw r3, 0x38(r31) -/* 803374C8 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 803374CC 54 03 10 3A */ slwi r3, r0, 2 -/* 803374D0 4B F9 77 F5 */ bl __nwa__FUl -/* 803374D4 90 7F 00 3C */ stw r3, 0x3c(r31) -/* 803374D8 80 9B 00 00 */ lwz r4, 0(r27) -/* 803374DC 80 7B 00 04 */ lwz r3, 4(r27) -/* 803374E0 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 803374E4 1C 60 00 28 */ mulli r3, r0, 0x28 -/* 803374E8 38 63 00 10 */ addi r3, r3, 0x10 -/* 803374EC 7C 64 1A 14 */ add r3, r4, r3 -/* 803374F0 C0 03 00 00 */ lfs f0, 0(r3) -/* 803374F4 D0 1F 00 14 */ stfs f0, 0x14(r31) -/* 803374F8 C0 03 00 04 */ lfs f0, 4(r3) -/* 803374FC D0 1F 00 18 */ stfs f0, 0x18(r31) -/* 80337500 C0 03 00 08 */ lfs f0, 8(r3) -/* 80337504 D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 80337508 80 9B 00 00 */ lwz r4, 0(r27) -/* 8033750C 80 7B 00 04 */ lwz r3, 4(r27) -/* 80337510 7C 03 F2 2E */ lhzx r0, r3, r30 -/* 80337514 1C 60 00 28 */ mulli r3, r0, 0x28 -/* 80337518 38 63 00 1C */ addi r3, r3, 0x1c -/* 8033751C 7C 64 1A 14 */ add r3, r4, r3 -/* 80337520 C0 03 00 00 */ lfs f0, 0(r3) -/* 80337524 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 80337528 C0 03 00 04 */ lfs f0, 4(r3) -/* 8033752C D0 1F 00 24 */ stfs f0, 0x24(r31) -/* 80337530 C0 03 00 08 */ lfs f0, 8(r3) -/* 80337534 D0 1F 00 28 */ stfs f0, 0x28(r31) -/* 80337538 80 7B 00 1C */ lwz r3, 0x1c(r27) -/* 8033753C 1C 1C 00 C0 */ mulli r0, r28, 0xc0 -/* 80337540 7C 03 02 14 */ add r0, r3, r0 -/* 80337544 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 80337548 3B 40 00 00 */ li r26, 0 -/* 8033754C 3B C0 00 00 */ li r30, 0 -/* 80337550 48 00 00 40 */ b lbl_80337590 -lbl_80337554: -/* 80337554 7F 63 DB 78 */ mr r3, r27 -/* 80337558 7F A4 EB 78 */ mr r4, r29 -/* 8033755C 7F 85 E3 78 */ mr r5, r28 -/* 80337560 7F 46 D3 78 */ mr r6, r26 -/* 80337564 48 00 00 59 */ bl newShapeMtx__15J3DShapeFactoryCFUlii -/* 80337568 80 9F 00 38 */ lwz r4, 0x38(r31) -/* 8033756C 7C 64 F1 2E */ stwx r3, r4, r30 -/* 80337570 7F 63 DB 78 */ mr r3, r27 -/* 80337574 7F 84 E3 78 */ mr r4, r28 -/* 80337578 7F 45 D3 78 */ mr r5, r26 -/* 8033757C 48 00 02 D1 */ bl newShapeDraw__15J3DShapeFactoryCFii -/* 80337580 80 9F 00 3C */ lwz r4, 0x3c(r31) -/* 80337584 7C 64 F1 2E */ stwx r3, r4, r30 -/* 80337588 3B 5A 00 01 */ addi r26, r26, 1 -/* 8033758C 3B DE 00 04 */ addi r30, r30, 4 -lbl_80337590: -/* 80337590 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 80337594 7C 1A 00 00 */ cmpw r26, r0 -/* 80337598 41 80 FF BC */ blt lbl_80337554 -/* 8033759C B3 9F 00 08 */ sth r28, 8(r31) -/* 803375A0 7F E3 FB 78 */ mr r3, r31 -/* 803375A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 803375A8 48 02 AC 75 */ bl _restgpr_26 -/* 803375AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803375B0 7C 08 03 A6 */ mtlr r0 -/* 803375B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 803375B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AE0.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AE0.s deleted file mode 100644 index e354378686..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AE0.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80337AE0: -/* 80337AE0 28 04 00 00 */ cmplwi r4, 0 -/* 80337AE4 40 82 00 0C */ bne lbl_80337AF0 -/* 80337AE8 38 60 00 00 */ li r3, 0 -/* 80337AEC 4E 80 00 20 */ blr -lbl_80337AF0: -/* 80337AF0 7C 63 22 14 */ add r3, r3, r4 -/* 80337AF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AF8.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AF8.s deleted file mode 100644 index 6e38d3acd2..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AF8.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80337AF8: -/* 80337AF8 28 04 00 00 */ cmplwi r4, 0 -/* 80337AFC 40 82 00 0C */ bne lbl_80337B08 -/* 80337B00 38 60 00 00 */ li r3, 0 -/* 80337B04 4E 80 00 20 */ blr -lbl_80337B08: -/* 80337B08 7C 63 22 14 */ add r3, r3, r4 -/* 80337B0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B10.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B10.s deleted file mode 100644 index 32f0712377..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B10.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80337B10: -/* 80337B10 28 04 00 00 */ cmplwi r4, 0 -/* 80337B14 40 82 00 0C */ bne lbl_80337B20 -/* 80337B18 38 60 00 00 */ li r3, 0 -/* 80337B1C 4E 80 00 20 */ blr -lbl_80337B20: -/* 80337B20 7C 63 22 14 */ add r3, r3, r4 -/* 80337B24 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B28.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B28.s deleted file mode 100644 index 910957e694..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B28.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80337B28: -/* 80337B28 28 04 00 00 */ cmplwi r4, 0 -/* 80337B2C 40 82 00 0C */ bne lbl_80337B38 -/* 80337B30 38 60 00 00 */ li r3, 0 -/* 80337B34 4E 80 00 20 */ blr -lbl_80337B38: -/* 80337B38 7C 63 22 14 */ add r3, r3, r4 -/* 80337B3C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeDraw__15J3DShapeFactoryCFii.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeDraw__15J3DShapeFactoryCFii.s deleted file mode 100644 index 8866bfd809..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeDraw__15J3DShapeFactoryCFii.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8033784C: -/* 8033784C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80337850 7C 08 02 A6 */ mflr r0 -/* 80337854 90 01 00 14 */ stw r0, 0x14(r1) -/* 80337858 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8033785C 93 C1 00 08 */ stw r30, 8(r1) -/* 80337860 7C 7E 1B 78 */ mr r30, r3 -/* 80337864 80 E3 00 18 */ lwz r7, 0x18(r3) -/* 80337868 80 C3 00 00 */ lwz r6, 0(r3) -/* 8033786C 80 63 00 04 */ lwz r3, 4(r3) -/* 80337870 54 80 08 3C */ slwi r0, r4, 1 -/* 80337874 7C 03 02 2E */ lhzx r0, r3, r0 -/* 80337878 1C 60 00 28 */ mulli r3, r0, 0x28 -/* 8033787C 38 03 00 08 */ addi r0, r3, 8 -/* 80337880 7C 06 02 2E */ lhzx r0, r6, r0 -/* 80337884 54 03 18 38 */ slwi r3, r0, 3 -/* 80337888 54 A0 18 38 */ slwi r0, r5, 3 -/* 8033788C 7F E3 02 14 */ add r31, r3, r0 -/* 80337890 7F E7 FA 14 */ add r31, r7, r31 -/* 80337894 38 60 00 0C */ li r3, 0xc -/* 80337898 4B F9 73 B5 */ bl __nw__FUl -/* 8033789C 7C 60 1B 79 */ or. r0, r3, r3 -/* 803378A0 41 82 00 1C */ beq lbl_803378BC -/* 803378A4 80 9E 00 10 */ lwz r4, 0x10(r30) -/* 803378A8 80 1F 00 04 */ lwz r0, 4(r31) -/* 803378AC 7C 84 02 14 */ add r4, r4, r0 -/* 803378B0 80 BF 00 00 */ lwz r5, 0(r31) -/* 803378B4 4B FD D2 09 */ bl __ct__12J3DShapeDrawFPCUcUl -/* 803378B8 7C 60 1B 78 */ mr r0, r3 -lbl_803378BC: -/* 803378BC 7C 03 03 78 */ mr r3, r0 -/* 803378C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803378C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 803378C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803378CC 7C 08 03 A6 */ mtlr r0 -/* 803378D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 803378D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeMtx__15J3DShapeFactoryCFUlii.s b/asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeMtx__15J3DShapeFactoryCFUlii.s deleted file mode 100644 index 67319b7256..0000000000 --- a/asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeMtx__15J3DShapeFactoryCFUlii.s +++ /dev/null @@ -1,183 +0,0 @@ -lbl_803375BC: -/* 803375BC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803375C0 7C 08 02 A6 */ mflr r0 -/* 803375C4 90 01 00 24 */ stw r0, 0x24(r1) -/* 803375C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 803375CC 48 02 AC 11 */ bl _savegpr_29 -/* 803375D0 7C 7D 1B 78 */ mr r29, r3 -/* 803375D4 3B E0 00 00 */ li r31, 0 -/* 803375D8 80 E3 00 00 */ lwz r7, 0(r3) -/* 803375DC 80 63 00 04 */ lwz r3, 4(r3) -/* 803375E0 54 A0 08 3C */ slwi r0, r5, 1 -/* 803375E4 7C 03 02 2E */ lhzx r0, r3, r0 -/* 803375E8 1C 00 00 28 */ mulli r0, r0, 0x28 -/* 803375EC 7C E7 02 14 */ add r7, r7, r0 -/* 803375F0 80 BD 00 14 */ lwz r5, 0x14(r29) -/* 803375F4 A0 07 00 06 */ lhz r0, 6(r7) -/* 803375F8 54 03 18 38 */ slwi r3, r0, 3 -/* 803375FC 54 C0 18 38 */ slwi r0, r6, 3 -/* 80337600 7F C3 02 14 */ add r30, r3, r0 -/* 80337604 7F C5 F2 14 */ add r30, r5, r30 -/* 80337608 54 80 06 F6 */ rlwinm r0, r4, 0, 0x1b, 0x1b -/* 8033760C 2C 00 00 10 */ cmpwi r0, 0x10 -/* 80337610 41 82 00 14 */ beq lbl_80337624 -/* 80337614 40 80 01 70 */ bge lbl_80337784 -/* 80337618 2C 00 00 00 */ cmpwi r0, 0 -/* 8033761C 41 82 01 68 */ beq lbl_80337784 -/* 80337620 48 00 01 64 */ b lbl_80337784 -lbl_80337624: -/* 80337624 88 07 00 00 */ lbz r0, 0(r7) -/* 80337628 2C 00 00 02 */ cmpwi r0, 2 -/* 8033762C 41 82 00 A0 */ beq lbl_803376CC -/* 80337630 40 80 00 14 */ bge lbl_80337644 -/* 80337634 2C 00 00 00 */ cmpwi r0, 0 -/* 80337638 41 82 00 18 */ beq lbl_80337650 -/* 8033763C 40 80 00 4C */ bge lbl_80337688 -/* 80337640 48 00 01 30 */ b lbl_80337770 -lbl_80337644: -/* 80337644 2C 00 00 04 */ cmpwi r0, 4 -/* 80337648 40 80 01 28 */ bge lbl_80337770 -/* 8033764C 48 00 00 C4 */ b lbl_80337710 -lbl_80337650: -/* 80337650 38 60 00 08 */ li r3, 8 -/* 80337654 4B F9 75 F9 */ bl __nw__FUl -/* 80337658 28 03 00 00 */ cmplwi r3, 0 -/* 8033765C 41 82 00 24 */ beq lbl_80337680 -/* 80337660 A0 BE 00 00 */ lhz r5, 0(r30) -/* 80337664 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */ -/* 80337668 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */ -/* 8033766C 90 03 00 00 */ stw r0, 0(r3) -/* 80337670 B0 A3 00 04 */ sth r5, 4(r3) -/* 80337674 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */ -/* 80337678 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */ -/* 8033767C 90 03 00 00 */ stw r0, 0(r3) -lbl_80337680: -/* 80337680 7C 7F 1B 78 */ mr r31, r3 -/* 80337684 48 00 01 AC */ b lbl_80337830 -lbl_80337688: -/* 80337688 38 60 00 08 */ li r3, 8 -/* 8033768C 4B F9 75 C1 */ bl __nw__FUl -/* 80337690 28 03 00 00 */ cmplwi r3, 0 -/* 80337694 41 82 00 30 */ beq lbl_803376C4 -/* 80337698 A0 BE 00 00 */ lhz r5, 0(r30) -/* 8033769C 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */ -/* 803376A0 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */ -/* 803376A4 90 03 00 00 */ stw r0, 0(r3) -/* 803376A8 B0 A3 00 04 */ sth r5, 4(r3) -/* 803376AC 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */ -/* 803376B0 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */ -/* 803376B4 90 03 00 00 */ stw r0, 0(r3) -/* 803376B8 3C 80 80 3D */ lis r4, __vt__27J3DShapeMtxBBoardConcatView@ha /* 0x803CDBAC@ha */ -/* 803376BC 38 04 DB AC */ addi r0, r4, __vt__27J3DShapeMtxBBoardConcatView@l /* 0x803CDBAC@l */ -/* 803376C0 90 03 00 00 */ stw r0, 0(r3) -lbl_803376C4: -/* 803376C4 7C 7F 1B 78 */ mr r31, r3 -/* 803376C8 48 00 01 68 */ b lbl_80337830 -lbl_803376CC: -/* 803376CC 38 60 00 08 */ li r3, 8 -/* 803376D0 4B F9 75 7D */ bl __nw__FUl -/* 803376D4 28 03 00 00 */ cmplwi r3, 0 -/* 803376D8 41 82 00 30 */ beq lbl_80337708 -/* 803376DC A0 BE 00 00 */ lhz r5, 0(r30) -/* 803376E0 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */ -/* 803376E4 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */ -/* 803376E8 90 03 00 00 */ stw r0, 0(r3) -/* 803376EC B0 A3 00 04 */ sth r5, 4(r3) -/* 803376F0 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */ -/* 803376F4 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */ -/* 803376F8 90 03 00 00 */ stw r0, 0(r3) -/* 803376FC 3C 80 80 3D */ lis r4, __vt__28J3DShapeMtxYBBoardConcatView@ha /* 0x803CDB84@ha */ -/* 80337700 38 04 DB 84 */ addi r0, r4, __vt__28J3DShapeMtxYBBoardConcatView@l /* 0x803CDB84@l */ -/* 80337704 90 03 00 00 */ stw r0, 0(r3) -lbl_80337708: -/* 80337708 7C 7F 1B 78 */ mr r31, r3 -/* 8033770C 48 00 01 24 */ b lbl_80337830 -lbl_80337710: -/* 80337710 38 60 00 10 */ li r3, 0x10 -/* 80337714 4B F9 75 39 */ bl __nw__FUl -/* 80337718 28 03 00 00 */ cmplwi r3, 0 -/* 8033771C 41 82 00 4C */ beq lbl_80337768 -/* 80337720 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 80337724 80 1E 00 04 */ lwz r0, 4(r30) -/* 80337728 54 00 08 3C */ slwi r0, r0, 1 -/* 8033772C 7C E4 02 14 */ add r7, r4, r0 -/* 80337730 A0 DE 00 02 */ lhz r6, 2(r30) -/* 80337734 A0 BE 00 00 */ lhz r5, 0(r30) -/* 80337738 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */ -/* 8033773C 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */ -/* 80337740 90 03 00 00 */ stw r0, 0(r3) -/* 80337744 B0 A3 00 04 */ sth r5, 4(r3) -/* 80337748 3C 80 80 3D */ lis r4, __vt__21J3DShapeMtxConcatView@ha /* 0x803CDC1C@ha */ -/* 8033774C 38 04 DC 1C */ addi r0, r4, __vt__21J3DShapeMtxConcatView@l /* 0x803CDC1C@l */ -/* 80337750 90 03 00 00 */ stw r0, 0(r3) -/* 80337754 3C 80 80 3D */ lis r4, __vt__26J3DShapeMtxMultiConcatView@ha /* 0x803CDBD4@ha */ -/* 80337758 38 04 DB D4 */ addi r0, r4, __vt__26J3DShapeMtxMultiConcatView@l /* 0x803CDBD4@l */ -/* 8033775C 90 03 00 00 */ stw r0, 0(r3) -/* 80337760 B0 C3 00 08 */ sth r6, 8(r3) -/* 80337764 90 E3 00 0C */ stw r7, 0xc(r3) -lbl_80337768: -/* 80337768 7C 7F 1B 78 */ mr r31, r3 -/* 8033776C 48 00 00 C4 */ b lbl_80337830 -lbl_80337770: -/* 80337770 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */ -/* 80337774 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */ -/* 80337778 4C C6 31 82 */ crclr 6 -/* 8033777C 4B CC F3 41 */ bl OSReport -/* 80337780 48 00 00 B0 */ b lbl_80337830 -lbl_80337784: -/* 80337784 88 07 00 00 */ lbz r0, 0(r7) -/* 80337788 2C 00 00 03 */ cmpwi r0, 3 -/* 8033778C 41 82 00 40 */ beq lbl_803377CC -/* 80337790 40 80 00 90 */ bge lbl_80337820 -/* 80337794 2C 00 00 00 */ cmpwi r0, 0 -/* 80337798 40 80 00 08 */ bge lbl_803377A0 -/* 8033779C 48 00 00 84 */ b lbl_80337820 -lbl_803377A0: -/* 803377A0 38 60 00 08 */ li r3, 8 -/* 803377A4 4B F9 74 A9 */ bl __nw__FUl -/* 803377A8 28 03 00 00 */ cmplwi r3, 0 -/* 803377AC 41 82 00 18 */ beq lbl_803377C4 -/* 803377B0 A0 BE 00 00 */ lhz r5, 0(r30) -/* 803377B4 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */ -/* 803377B8 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */ -/* 803377BC 90 03 00 00 */ stw r0, 0(r3) -/* 803377C0 B0 A3 00 04 */ sth r5, 4(r3) -lbl_803377C4: -/* 803377C4 7C 7F 1B 78 */ mr r31, r3 -/* 803377C8 48 00 00 68 */ b lbl_80337830 -lbl_803377CC: -/* 803377CC 38 60 00 10 */ li r3, 0x10 -/* 803377D0 4B F9 74 7D */ bl __nw__FUl -/* 803377D4 28 03 00 00 */ cmplwi r3, 0 -/* 803377D8 41 82 00 40 */ beq lbl_80337818 -/* 803377DC 80 9D 00 0C */ lwz r4, 0xc(r29) -/* 803377E0 80 1E 00 04 */ lwz r0, 4(r30) -/* 803377E4 54 00 08 3C */ slwi r0, r0, 1 -/* 803377E8 7C E4 02 14 */ add r7, r4, r0 -/* 803377EC A0 DE 00 02 */ lhz r6, 2(r30) -/* 803377F0 A0 BE 00 00 */ lhz r5, 0(r30) -/* 803377F4 3C 80 80 3D */ lis r4, __vt__11J3DShapeMtx@ha /* 0x803CDC44@ha */ -/* 803377F8 38 04 DC 44 */ addi r0, r4, __vt__11J3DShapeMtx@l /* 0x803CDC44@l */ -/* 803377FC 90 03 00 00 */ stw r0, 0(r3) -/* 80337800 B0 A3 00 04 */ sth r5, 4(r3) -/* 80337804 3C 80 80 3D */ lis r4, __vt__16J3DShapeMtxMulti@ha /* 0x803CDBFC@ha */ -/* 80337808 38 04 DB FC */ addi r0, r4, __vt__16J3DShapeMtxMulti@l /* 0x803CDBFC@l */ -/* 8033780C 90 03 00 00 */ stw r0, 0(r3) -/* 80337810 B0 C3 00 08 */ sth r6, 8(r3) -/* 80337814 90 E3 00 0C */ stw r7, 0xc(r3) -lbl_80337818: -/* 80337818 7C 7F 1B 78 */ mr r31, r3 -/* 8033781C 48 00 00 14 */ b lbl_80337830 -lbl_80337820: -/* 80337820 3C 60 80 3A */ lis r3, J3DShapeFactory__stringBase0@ha /* 0x803A2100@ha */ -/* 80337824 38 63 21 00 */ addi r3, r3, J3DShapeFactory__stringBase0@l /* 0x803A2100@l */ -/* 80337828 4C C6 31 82 */ crclr 6 -/* 8033782C 4B CC F2 91 */ bl OSReport -lbl_80337830: -/* 80337830 7F E3 FB 78 */ mr r3, r31 -/* 80337834 39 61 00 20 */ addi r11, r1, 0x20 -/* 80337838 48 02 A9 F1 */ bl _restgpr_29 -/* 8033783C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80337840 7C 08 03 A6 */ mtlr r0 -/* 80337844 38 21 00 20 */ addi r1, r1, 0x20 -/* 80337848 4E 80 00 20 */ blr diff --git a/asm/MSL_C/MSL_Common/Src/abort_exit/abort.s b/asm/MSL_C/MSL_Common/Src/abort_exit/abort.s deleted file mode 100644 index c388224c33..0000000000 --- a/asm/MSL_C/MSL_Common/Src/abort_exit/abort.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80362ABC: -/* 80362ABC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80362AC0 7C 08 02 A6 */ mflr r0 -/* 80362AC4 38 60 00 01 */ li r3, 1 -/* 80362AC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80362ACC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80362AD0 48 00 5D 4D */ bl raise -/* 80362AD4 38 00 00 01 */ li r0, 1 -/* 80362AD8 38 60 00 00 */ li r3, 0 -/* 80362ADC 90 0D 94 10 */ stw r0, __aborting(r13) -/* 80362AE0 48 00 29 89 */ bl __begin_critical_region -/* 80362AE4 3C 60 80 45 */ lis r3, __atexit_funcs@ha /* 0x8044D440@ha */ -/* 80362AE8 3B E3 D4 40 */ addi r31, r3, __atexit_funcs@l /* 0x8044D440@l */ -/* 80362AEC 48 00 00 20 */ b lbl_80362B0C -lbl_80362AF0: -/* 80362AF0 80 6D 94 14 */ lwz r3, __atexit_curr_func(r13) -/* 80362AF4 38 63 FF FF */ addi r3, r3, -1 -/* 80362AF8 54 60 10 3A */ slwi r0, r3, 2 -/* 80362AFC 90 6D 94 14 */ stw r3, __atexit_curr_func(r13) -/* 80362B00 7D 9F 00 2E */ lwzx r12, r31, r0 -/* 80362B04 7D 89 03 A6 */ mtctr r12 -/* 80362B08 4E 80 04 21 */ bctrl -lbl_80362B0C: -/* 80362B0C 80 0D 94 14 */ lwz r0, __atexit_curr_func(r13) -/* 80362B10 2C 00 00 00 */ cmpwi r0, 0 -/* 80362B14 41 81 FF DC */ bgt lbl_80362AF0 -/* 80362B18 38 60 00 00 */ li r3, 0 -/* 80362B1C 48 00 29 49 */ bl __end_critical_region -/* 80362B20 48 00 29 4D */ bl __kill_critical_regions -/* 80362B24 81 8D 94 1C */ lwz r12, __console_exit(r13) -/* 80362B28 28 0C 00 00 */ cmplwi r12, 0 -/* 80362B2C 41 82 00 14 */ beq lbl_80362B40 -/* 80362B30 7D 89 03 A6 */ mtctr r12 -/* 80362B34 4E 80 04 21 */ bctrl -/* 80362B38 38 00 00 00 */ li r0, 0 -/* 80362B3C 90 0D 94 1C */ stw r0, __console_exit(r13) -lbl_80362B40: -/* 80362B40 4B FE 00 AD */ bl _ExitProcess -/* 80362B44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80362B48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80362B4C 7C 08 03 A6 */ mtlr r0 -/* 80362B50 38 21 00 10 */ addi r1, r1, 0x10 -/* 80362B54 4E 80 00 20 */ blr diff --git a/asm/MSL_C/MSL_Common/Src/abort_exit/exit.s b/asm/MSL_C/MSL_Common/Src/abort_exit/exit.s deleted file mode 100644 index b7cb01a0bc..0000000000 --- a/asm/MSL_C/MSL_Common/Src/abort_exit/exit.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_803629CC: -/* 803629CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803629D0 7C 08 02 A6 */ mflr r0 -/* 803629D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 803629D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803629DC 80 0D 94 10 */ lwz r0, __aborting(r13) -/* 803629E0 2C 00 00 00 */ cmpwi r0, 0 -/* 803629E4 40 82 00 5C */ bne lbl_80362A40 -/* 803629E8 38 60 00 00 */ li r3, 0 -/* 803629EC 48 00 2A 7D */ bl __begin_critical_region -/* 803629F0 38 60 00 00 */ li r3, 0 -/* 803629F4 48 00 2A 71 */ bl __end_critical_region -/* 803629F8 4B FF F1 E5 */ bl __destroy_global_chain -/* 803629FC 3C 60 80 37 */ lis r3, __destroy_global_chain_reference@ha /* 0x80373980@ha */ -/* 80362A00 38 03 39 80 */ addi r0, r3, __destroy_global_chain_reference@l /* 0x80373980@l */ -/* 80362A04 7C 1F 03 78 */ mr r31, r0 -/* 80362A08 48 00 00 10 */ b lbl_80362A18 -lbl_80362A0C: -/* 80362A0C 7D 89 03 A6 */ mtctr r12 -/* 80362A10 4E 80 04 21 */ bctrl -/* 80362A14 3B FF 00 04 */ addi r31, r31, 4 -lbl_80362A18: -/* 80362A18 81 9F 00 00 */ lwz r12, 0(r31) -/* 80362A1C 28 0C 00 00 */ cmplwi r12, 0 -/* 80362A20 40 82 FF EC */ bne lbl_80362A0C -/* 80362A24 81 8D 94 18 */ lwz r12, __stdio_exit(r13) -/* 80362A28 28 0C 00 00 */ cmplwi r12, 0 -/* 80362A2C 41 82 00 14 */ beq lbl_80362A40 -/* 80362A30 7D 89 03 A6 */ mtctr r12 -/* 80362A34 4E 80 04 21 */ bctrl -/* 80362A38 38 00 00 00 */ li r0, 0 -/* 80362A3C 90 0D 94 18 */ stw r0, __stdio_exit(r13) -lbl_80362A40: -/* 80362A40 38 60 00 00 */ li r3, 0 -/* 80362A44 48 00 2A 25 */ bl __begin_critical_region -/* 80362A48 3C 60 80 45 */ lis r3, __atexit_funcs@ha /* 0x8044D440@ha */ -/* 80362A4C 3B E3 D4 40 */ addi r31, r3, __atexit_funcs@l /* 0x8044D440@l */ -/* 80362A50 48 00 00 20 */ b lbl_80362A70 -lbl_80362A54: -/* 80362A54 80 6D 94 14 */ lwz r3, __atexit_curr_func(r13) -/* 80362A58 38 63 FF FF */ addi r3, r3, -1 -/* 80362A5C 54 60 10 3A */ slwi r0, r3, 2 -/* 80362A60 90 6D 94 14 */ stw r3, __atexit_curr_func(r13) -/* 80362A64 7D 9F 00 2E */ lwzx r12, r31, r0 -/* 80362A68 7D 89 03 A6 */ mtctr r12 -/* 80362A6C 4E 80 04 21 */ bctrl -lbl_80362A70: -/* 80362A70 80 0D 94 14 */ lwz r0, __atexit_curr_func(r13) -/* 80362A74 2C 00 00 00 */ cmpwi r0, 0 -/* 80362A78 41 81 FF DC */ bgt lbl_80362A54 -/* 80362A7C 38 60 00 00 */ li r3, 0 -/* 80362A80 48 00 29 E5 */ bl __end_critical_region -/* 80362A84 48 00 29 E9 */ bl __kill_critical_regions -/* 80362A88 81 8D 94 1C */ lwz r12, __console_exit(r13) -/* 80362A8C 28 0C 00 00 */ cmplwi r12, 0 -/* 80362A90 41 82 00 14 */ beq lbl_80362AA4 -/* 80362A94 7D 89 03 A6 */ mtctr r12 -/* 80362A98 4E 80 04 21 */ bctrl -/* 80362A9C 38 00 00 00 */ li r0, 0 -/* 80362AA0 90 0D 94 1C */ stw r0, __console_exit(r13) -lbl_80362AA4: -/* 80362AA4 4B FE 01 49 */ bl _ExitProcess -/* 80362AA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80362AAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80362AB0 7C 08 03 A6 */ mtlr r0 -/* 80362AB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80362AB8 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_acos/__ieee754_acos.s b/asm/MSL_C/Math/Double_precision/e_acos/__ieee754_acos.s deleted file mode 100644 index 319d9622c8..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_acos/__ieee754_acos.s +++ /dev/null @@ -1,151 +0,0 @@ -lbl_80369274: -/* 80369274 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80369278 7C 08 02 A6 */ mflr r0 -/* 8036927C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80369280 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 80369284 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 80369288 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036928C 3C 00 3F F0 */ lis r0, 0x3ff0 -/* 80369290 80 81 00 08 */ lwz r4, 8(r1) -/* 80369294 54 83 00 7E */ clrlwi r3, r4, 1 -/* 80369298 7C 03 00 00 */ cmpw r3, r0 -/* 8036929C 41 80 00 38 */ blt lbl_803692D4 -/* 803692A0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803692A4 3C 63 C0 10 */ addis r3, r3, 0xc010 -/* 803692A8 7C 60 03 79 */ or. r0, r3, r0 -/* 803692AC 40 82 00 1C */ bne lbl_803692C8 -/* 803692B0 2C 04 00 00 */ cmpwi r4, 0 -/* 803692B4 40 81 00 0C */ ble lbl_803692C0 -/* 803692B8 C8 22 CC 78 */ lfd f1, lit_83(r2) -/* 803692BC 48 00 01 DC */ b lbl_80369498 -lbl_803692C0: -/* 803692C0 C8 22 CC 80 */ lfd f1, lit_84(r2) -/* 803692C4 48 00 01 D4 */ b lbl_80369498 -lbl_803692C8: -/* 803692C8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 803692CC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 803692D0 48 00 01 C8 */ b lbl_80369498 -lbl_803692D4: -/* 803692D4 3C 00 3F E0 */ lis r0, 0x3fe0 -/* 803692D8 7C 03 00 00 */ cmpw r3, r0 -/* 803692DC 40 80 00 8C */ bge lbl_80369368 -/* 803692E0 3C 00 3C 60 */ lis r0, 0x3c60 -/* 803692E4 7C 03 00 00 */ cmpw r3, r0 -/* 803692E8 41 81 00 0C */ bgt lbl_803692F4 -/* 803692EC C8 22 CC 88 */ lfd f1, lit_85(r2) -/* 803692F0 48 00 01 A8 */ b lbl_80369498 -lbl_803692F4: -/* 803692F4 FD 41 00 72 */ fmul f10, f1, f1 -/* 803692F8 C8 42 CC C0 */ lfd f2, lit_92(r2) -/* 803692FC C8 02 CC B8 */ lfd f0, lit_91(r2) -/* 80369300 C8 62 CC B0 */ lfd f3, lit_90(r2) -/* 80369304 C9 02 CC A8 */ lfd f8, lit_89(r2) -/* 80369308 FC 82 02 BA */ fmadd f4, f2, f10, f0 -/* 8036930C C8 42 CC E8 */ lfd f2, lit_97(r2) -/* 80369310 C8 02 CC E0 */ lfd f0, lit_96(r2) -/* 80369314 C8 E2 CC A0 */ lfd f7, lit_88(r2) -/* 80369318 FD 2A 19 3A */ fmadd f9, f10, f4, f3 -/* 8036931C C8 82 CC D8 */ lfd f4, lit_95(r2) -/* 80369320 C8 C2 CC 98 */ lfd f6, lit_87(r2) -/* 80369324 FC A2 02 BA */ fmadd f5, f2, f10, f0 -/* 80369328 C8 62 CC D0 */ lfd f3, lit_94(r2) -/* 8036932C C8 42 CC C8 */ lfd f2, lit_93(r2) -/* 80369330 FD 0A 42 7A */ fmadd f8, f10, f9, f8 -/* 80369334 C8 02 CC 90 */ lfd f0, lit_86(r2) -/* 80369338 C9 22 CC 88 */ lfd f9, lit_85(r2) -/* 8036933C FC 8A 21 7A */ fmadd f4, f10, f5, f4 -/* 80369340 FC AA 3A 3A */ fmadd f5, f10, f8, f7 -/* 80369344 FC 6A 19 3A */ fmadd f3, f10, f4, f3 -/* 80369348 FC 8A 31 7A */ fmadd f4, f10, f5, f6 -/* 8036934C FC 4A 10 FA */ fmadd f2, f10, f3, f2 -/* 80369350 FC 6A 01 32 */ fmul f3, f10, f4 -/* 80369354 FC 43 10 24 */ fdiv f2, f3, f2 -/* 80369358 FC 01 00 BC */ fnmsub f0, f1, f2, f0 -/* 8036935C FC 01 00 28 */ fsub f0, f1, f0 -/* 80369360 FC 29 00 28 */ fsub f1, f9, f0 -/* 80369364 48 00 01 34 */ b lbl_80369498 -lbl_80369368: -/* 80369368 2C 04 00 00 */ cmpwi r4, 0 -/* 8036936C 40 80 00 90 */ bge lbl_803693FC -/* 80369370 C8 02 CC C8 */ lfd f0, lit_93(r2) -/* 80369374 C8 42 CC F0 */ lfd f2, lit_98(r2) -/* 80369378 FC 00 08 2A */ fadd f0, f0, f1 -/* 8036937C FF E2 00 32 */ fmul f31, f2, f0 -/* 80369380 FC 20 F8 90 */ fmr f1, f31 -/* 80369384 48 00 36 D1 */ bl sqrt -/* 80369388 C8 62 CC C0 */ lfd f3, lit_92(r2) -/* 8036938C C8 42 CC B8 */ lfd f2, lit_91(r2) -/* 80369390 C8 02 CC B0 */ lfd f0, lit_90(r2) -/* 80369394 FC 83 17 FA */ fmadd f4, f3, f31, f2 -/* 80369398 C8 A2 CC A8 */ lfd f5, lit_89(r2) -/* 8036939C C8 62 CC E8 */ lfd f3, lit_97(r2) -/* 803693A0 C8 42 CC E0 */ lfd f2, lit_96(r2) -/* 803693A4 C8 E2 CC A0 */ lfd f7, lit_88(r2) -/* 803693A8 FD 1F 01 3A */ fmadd f8, f31, f4, f0 -/* 803693AC C8 02 CC D8 */ lfd f0, lit_95(r2) -/* 803693B0 FC 43 17 FA */ fmadd f2, f3, f31, f2 -/* 803693B4 C8 C2 CC 98 */ lfd f6, lit_87(r2) -/* 803693B8 C8 82 CC D0 */ lfd f4, lit_94(r2) -/* 803693BC FD 1F 2A 3A */ fmadd f8, f31, f8, f5 -/* 803693C0 C8 62 CC C8 */ lfd f3, lit_93(r2) -/* 803693C4 FC BF 00 BA */ fmadd f5, f31, f2, f0 -/* 803693C8 C8 42 CC 90 */ lfd f2, lit_86(r2) -/* 803693CC FC FF 3A 3A */ fmadd f7, f31, f8, f7 -/* 803693D0 C9 02 CC F8 */ lfd f8, lit_99(r2) -/* 803693D4 C8 02 CC 80 */ lfd f0, lit_84(r2) -/* 803693D8 FC 9F 21 7A */ fmadd f4, f31, f5, f4 -/* 803693DC FC BF 31 FA */ fmadd f5, f31, f7, f6 -/* 803693E0 FC 7F 19 3A */ fmadd f3, f31, f4, f3 -/* 803693E4 FC 9F 01 72 */ fmul f4, f31, f5 -/* 803693E8 FC 64 18 24 */ fdiv f3, f4, f3 -/* 803693EC FC 43 10 78 */ fmsub f2, f3, f1, f2 -/* 803693F0 FC 21 10 2A */ fadd f1, f1, f2 -/* 803693F4 FC 28 00 7C */ fnmsub f1, f8, f1, f0 -/* 803693F8 48 00 00 A0 */ b lbl_80369498 -lbl_803693FC: -/* 803693FC C8 02 CC C8 */ lfd f0, lit_93(r2) -/* 80369400 C8 42 CC F0 */ lfd f2, lit_98(r2) -/* 80369404 FC 00 08 28 */ fsub f0, f0, f1 -/* 80369408 FF E2 00 32 */ fmul f31, f2, f0 -/* 8036940C FC 20 F8 90 */ fmr f1, f31 -/* 80369410 48 00 36 45 */ bl sqrt -/* 80369414 C8 42 CC C0 */ lfd f2, lit_92(r2) -/* 80369418 38 00 00 00 */ li r0, 0 -/* 8036941C C8 02 CC B8 */ lfd f0, lit_91(r2) -/* 80369420 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 80369424 FC 62 07 FA */ fmadd f3, f2, f31, f0 -/* 80369428 C8 02 CC B0 */ lfd f0, lit_90(r2) -/* 8036942C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80369430 C8 42 CC A8 */ lfd f2, lit_89(r2) -/* 80369434 C9 21 00 10 */ lfd f9, 0x10(r1) -/* 80369438 FC BF 00 FA */ fmadd f5, f31, f3, f0 -/* 8036943C C8 82 CC E8 */ lfd f4, lit_97(r2) -/* 80369440 C8 02 CC E0 */ lfd f0, lit_96(r2) -/* 80369444 FC 69 FA 7C */ fnmsub f3, f9, f9, f31 -/* 80369448 C8 E2 CC A0 */ lfd f7, lit_88(r2) -/* 8036944C FD 1F 11 7A */ fmadd f8, f31, f5, f2 -/* 80369450 C8 42 CC D8 */ lfd f2, lit_95(r2) -/* 80369454 FC A4 07 FA */ fmadd f5, f4, f31, f0 -/* 80369458 C8 C2 CC 98 */ lfd f6, lit_87(r2) -/* 8036945C C8 02 CC D0 */ lfd f0, lit_94(r2) -/* 80369460 FC FF 3A 3A */ fmadd f7, f31, f8, f7 -/* 80369464 C8 82 CC C8 */ lfd f4, lit_93(r2) -/* 80369468 FC BF 11 7A */ fmadd f5, f31, f5, f2 -/* 8036946C C8 42 CC F8 */ lfd f2, lit_99(r2) -/* 80369470 FC DF 31 FA */ fmadd f6, f31, f7, f6 -/* 80369474 FC BF 01 7A */ fmadd f5, f31, f5, f0 -/* 80369478 FC 01 48 2A */ fadd f0, f1, f9 -/* 8036947C FC DF 01 B2 */ fmul f6, f31, f6 -/* 80369480 FC 9F 21 7A */ fmadd f4, f31, f5, f4 -/* 80369484 FC 03 00 24 */ fdiv f0, f3, f0 -/* 80369488 FC 66 20 24 */ fdiv f3, f6, f4 -/* 8036948C FC 03 00 7A */ fmadd f0, f3, f1, f0 -/* 80369490 FC 09 00 2A */ fadd f0, f9, f0 -/* 80369494 FC 22 00 32 */ fmul f1, f2, f0 -lbl_80369498: -/* 80369498 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8036949C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803694A0 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 803694A4 7C 08 03 A6 */ mtlr r0 -/* 803694A8 38 21 00 30 */ addi r1, r1, 0x30 -/* 803694AC 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_asin/__ieee754_asin.s b/asm/MSL_C/Math/Double_precision/e_asin/__ieee754_asin.s deleted file mode 100644 index ac05089eb9..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_asin/__ieee754_asin.s +++ /dev/null @@ -1,152 +0,0 @@ -lbl_803694B0: -/* 803694B0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 803694B4 7C 08 02 A6 */ mflr r0 -/* 803694B8 90 01 00 54 */ stw r0, 0x54(r1) -/* 803694BC DB E1 00 40 */ stfd f31, 0x40(r1) -/* 803694C0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 803694C4 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 803694C8 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 803694CC DB A1 00 20 */ stfd f29, 0x20(r1) -/* 803694D0 F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 803694D4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803694D8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803694DC D8 21 00 08 */ stfd f1, 8(r1) -/* 803694E0 3C 00 3F F0 */ lis r0, 0x3ff0 -/* 803694E4 83 E1 00 08 */ lwz r31, 8(r1) -/* 803694E8 57 FE 00 7E */ clrlwi r30, r31, 1 -/* 803694EC 7C 1E 00 00 */ cmpw r30, r0 -/* 803694F0 41 80 00 34 */ blt lbl_80369524 -/* 803694F4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803694F8 3C 7E C0 10 */ addis r3, r30, 0xc010 -/* 803694FC 7C 60 03 79 */ or. r0, r3, r0 -/* 80369500 40 82 00 18 */ bne lbl_80369518 -/* 80369504 C8 02 CD 08 */ lfd f0, lit_95(r2) -/* 80369508 C8 42 CD 00 */ lfd f2, lit_94(r2) -/* 8036950C FC 00 00 72 */ fmul f0, f0, f1 -/* 80369510 FC 22 00 7A */ fmadd f1, f2, f1, f0 -/* 80369514 48 00 01 A4 */ b lbl_803696B8 -lbl_80369518: -/* 80369518 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8036951C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80369520 48 00 01 98 */ b lbl_803696B8 -lbl_80369524: -/* 80369524 3C 00 3F E0 */ lis r0, 0x3fe0 -/* 80369528 7C 1E 00 00 */ cmpw r30, r0 -/* 8036952C 40 80 00 94 */ bge lbl_803695C0 -/* 80369530 3C 00 3E 40 */ lis r0, 0x3e40 -/* 80369534 7C 1E 00 00 */ cmpw r30, r0 -/* 80369538 40 80 00 1C */ bge lbl_80369554 -/* 8036953C C8 42 CD 10 */ lfd f2, lit_96(r2) -/* 80369540 C8 02 CD 18 */ lfd f0, lit_97(r2) -/* 80369544 FC 42 08 2A */ fadd f2, f2, f1 -/* 80369548 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8036954C 40 81 00 0C */ ble lbl_80369558 -/* 80369550 48 00 01 68 */ b lbl_803696B8 -lbl_80369554: -/* 80369554 FF E1 00 72 */ fmul f31, f1, f1 -lbl_80369558: -/* 80369558 C8 22 CD 48 */ lfd f1, lit_103(r2) -/* 8036955C C8 02 CD 40 */ lfd f0, lit_102(r2) -/* 80369560 C8 42 CD 38 */ lfd f2, lit_101(r2) -/* 80369564 FC 61 07 FA */ fmadd f3, f1, f31, f0 -/* 80369568 C8 C2 CD 30 */ lfd f6, lit_100(r2) -/* 8036956C C8 22 CD 68 */ lfd f1, lit_107(r2) -/* 80369570 C8 02 CD 60 */ lfd f0, lit_106(r2) -/* 80369574 C8 A2 CD 28 */ lfd f5, lit_99(r2) -/* 80369578 FC FF 10 FA */ fmadd f7, f31, f3, f2 -/* 8036957C C8 42 CD 58 */ lfd f2, lit_105(r2) -/* 80369580 FC 61 07 FA */ fmadd f3, f1, f31, f0 -/* 80369584 C8 82 CD 20 */ lfd f4, lit_98(r2) -/* 80369588 C8 22 CD 50 */ lfd f1, lit_104(r2) -/* 8036958C FC DF 31 FA */ fmadd f6, f31, f7, f6 -/* 80369590 C8 02 CD 18 */ lfd f0, lit_97(r2) -/* 80369594 FC 5F 10 FA */ fmadd f2, f31, f3, f2 -/* 80369598 C8 E1 00 08 */ lfd f7, 8(r1) -/* 8036959C FC 7F 29 BA */ fmadd f3, f31, f6, f5 -/* 803695A0 FC 3F 08 BA */ fmadd f1, f31, f2, f1 -/* 803695A4 FC 5F 20 FA */ fmadd f2, f31, f3, f4 -/* 803695A8 FC 1F 00 7A */ fmadd f0, f31, f1, f0 -/* 803695AC FC 3F 00 B2 */ fmul f1, f31, f2 -/* 803695B0 FC 01 00 24 */ fdiv f0, f1, f0 -/* 803695B4 FC 27 38 3A */ fmadd f1, f7, f0, f7 -/* 803695B8 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 803695BC 48 00 00 FC */ b lbl_803696B8 -lbl_803695C0: -/* 803695C0 FC 20 0A 10 */ fabs f1, f1 -/* 803695C4 C9 22 CD 18 */ lfd f9, lit_97(r2) -/* 803695C8 C8 02 CD 70 */ lfd f0, lit_108(r2) -/* 803695CC C8 E2 CD 48 */ lfd f7, lit_103(r2) -/* 803695D0 FD 09 08 28 */ fsub f8, f9, f1 -/* 803695D4 C8 62 CD 40 */ lfd f3, lit_102(r2) -/* 803695D8 C8 C2 CD 38 */ lfd f6, lit_101(r2) -/* 803695DC C8 A2 CD 30 */ lfd f5, lit_100(r2) -/* 803695E0 FF E0 02 32 */ fmul f31, f0, f8 -/* 803695E4 C8 42 CD 68 */ lfd f2, lit_107(r2) -/* 803695E8 C8 02 CD 60 */ lfd f0, lit_106(r2) -/* 803695EC C8 82 CD 28 */ lfd f4, lit_99(r2) -/* 803695F0 C8 22 CD 58 */ lfd f1, lit_105(r2) -/* 803695F4 FC E7 1F FA */ fmadd f7, f7, f31, f3 -/* 803695F8 C8 62 CD 20 */ lfd f3, lit_98(r2) -/* 803695FC FC 42 07 FA */ fmadd f2, f2, f31, f0 -/* 80369600 C8 02 CD 50 */ lfd f0, lit_104(r2) -/* 80369604 D9 01 00 10 */ stfd f8, 0x10(r1) -/* 80369608 FC DF 31 FA */ fmadd f6, f31, f7, f6 -/* 8036960C FC 3F 08 BA */ fmadd f1, f31, f2, f1 -/* 80369610 FC 5F 29 BA */ fmadd f2, f31, f6, f5 -/* 80369614 FC 1F 00 7A */ fmadd f0, f31, f1, f0 -/* 80369618 FC 3F 20 BA */ fmadd f1, f31, f2, f4 -/* 8036961C FF BF 48 3A */ fmadd f29, f31, f0, f9 -/* 80369620 FC 1F 18 7A */ fmadd f0, f31, f1, f3 -/* 80369624 FC 20 F8 90 */ fmr f1, f31 -/* 80369628 FF DF 00 32 */ fmul f30, f31, f0 -/* 8036962C 48 00 34 29 */ bl sqrt -/* 80369630 3C 60 3F EF */ lis r3, 0x3FEF /* 0x3FEF3333@ha */ -/* 80369634 38 03 33 33 */ addi r0, r3, 0x3333 /* 0x3FEF3333@l */ -/* 80369638 7C 1E 00 00 */ cmpw r30, r0 -/* 8036963C 41 80 00 28 */ blt lbl_80369664 -/* 80369640 FC 9E E8 24 */ fdiv f4, f30, f29 -/* 80369644 C8 42 CD 78 */ lfd f2, lit_109(r2) -/* 80369648 C8 02 CD 08 */ lfd f0, lit_95(r2) -/* 8036964C C8 62 CD 00 */ lfd f3, lit_94(r2) -/* 80369650 FC 21 09 3A */ fmadd f1, f1, f4, f1 -/* 80369654 D8 81 00 10 */ stfd f4, 0x10(r1) -/* 80369658 FC 02 00 78 */ fmsub f0, f2, f1, f0 -/* 8036965C FC 23 00 28 */ fsub f1, f3, f0 -/* 80369660 48 00 00 48 */ b lbl_803696A8 -lbl_80369664: -/* 80369664 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 80369668 38 00 00 00 */ li r0, 0 -/* 8036966C C8 E2 CD 78 */ lfd f7, lit_109(r2) -/* 80369670 FC BE E8 24 */ fdiv f5, f30, f29 -/* 80369674 90 01 00 14 */ stw r0, 0x14(r1) -/* 80369678 C8 02 CD 08 */ lfd f0, lit_95(r2) -/* 8036967C C9 01 00 10 */ lfd f8, 0x10(r1) -/* 80369680 C8 42 CD 80 */ lfd f2, lit_110(r2) -/* 80369684 FC 88 FA 3C */ fnmsub f4, f8, f8, f31 -/* 80369688 FC 61 40 2A */ fadd f3, f1, f8 -/* 8036968C FC C7 00 72 */ fmul f6, f7, f1 -/* 80369690 FC 24 18 24 */ fdiv f1, f4, f3 -/* 80369694 FC 27 00 7C */ fnmsub f1, f7, f1, f0 -/* 80369698 FC 07 12 3C */ fnmsub f0, f7, f8, f2 -/* 8036969C FC 26 09 78 */ fmsub f1, f6, f5, f1 -/* 803696A0 FC 01 00 28 */ fsub f0, f1, f0 -/* 803696A4 FC 22 00 28 */ fsub f1, f2, f0 -lbl_803696A8: -/* 803696A8 2C 1F 00 00 */ cmpwi r31, 0 -/* 803696AC 40 81 00 08 */ ble lbl_803696B4 -/* 803696B0 48 00 00 08 */ b lbl_803696B8 -lbl_803696B4: -/* 803696B4 FC 20 08 50 */ fneg f1, f1 -lbl_803696B8: -/* 803696B8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 803696BC CB E1 00 40 */ lfd f31, 0x40(r1) -/* 803696C0 E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 803696C4 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 803696C8 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 803696CC CB A1 00 20 */ lfd f29, 0x20(r1) -/* 803696D0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803696D4 80 01 00 54 */ lwz r0, 0x54(r1) -/* 803696D8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803696DC 7C 08 03 A6 */ mtlr r0 -/* 803696E0 38 21 00 50 */ addi r1, r1, 0x50 -/* 803696E4 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_atan2/__ieee754_atan2.s b/asm/MSL_C/Math/Double_precision/e_atan2/__ieee754_atan2.s deleted file mode 100644 index 447321e248..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_atan2/__ieee754_atan2.s +++ /dev/null @@ -1,197 +0,0 @@ -lbl_803696E8: -/* 803696E8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 803696EC 7C 08 02 A6 */ mflr r0 -/* 803696F0 3C 60 7F F0 */ lis r3, 0x7ff0 -/* 803696F4 D8 41 00 10 */ stfd f2, 0x10(r1) -/* 803696F8 81 01 00 14 */ lwz r8, 0x14(r1) -/* 803696FC 90 01 00 34 */ stw r0, 0x34(r1) -/* 80369700 7C 08 00 D0 */ neg r0, r8 -/* 80369704 80 81 00 10 */ lwz r4, 0x10(r1) -/* 80369708 7D 00 03 78 */ or r0, r8, r0 -/* 8036970C D8 21 00 08 */ stfd f1, 8(r1) -/* 80369710 54 86 00 7E */ clrlwi r6, r4, 1 -/* 80369714 54 00 0F FE */ srwi r0, r0, 0x1f -/* 80369718 80 A1 00 08 */ lwz r5, 8(r1) -/* 8036971C 7C C0 03 78 */ or r0, r6, r0 -/* 80369720 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80369724 7C 00 18 40 */ cmplw r0, r3 -/* 80369728 81 21 00 0C */ lwz r9, 0xc(r1) -/* 8036972C 54 A7 00 7E */ clrlwi r7, r5, 1 -/* 80369730 41 81 00 1C */ bgt lbl_8036974C -/* 80369734 7C 09 00 D0 */ neg r0, r9 -/* 80369738 7D 20 03 78 */ or r0, r9, r0 -/* 8036973C 54 00 0F FE */ srwi r0, r0, 0x1f -/* 80369740 7C E0 03 78 */ or r0, r7, r0 -/* 80369744 7C 00 18 40 */ cmplw r0, r3 -/* 80369748 40 81 00 14 */ ble lbl_8036975C -lbl_8036974C: -/* 8036974C C8 21 00 10 */ lfd f1, 0x10(r1) -/* 80369750 C8 01 00 08 */ lfd f0, 8(r1) -/* 80369754 FC 21 00 2A */ fadd f1, f1, f0 -/* 80369758 48 00 02 0C */ b lbl_80369964 -lbl_8036975C: -/* 8036975C 3C 04 C0 10 */ addis r0, r4, 0xc010 -/* 80369760 7C 00 43 79 */ or. r0, r0, r8 -/* 80369764 40 82 00 0C */ bne lbl_80369770 -/* 80369768 48 00 25 3D */ bl atan -/* 8036976C 48 00 01 F8 */ b lbl_80369964 -lbl_80369770: -/* 80369770 7C E0 4B 79 */ or. r0, r7, r9 -/* 80369774 54 80 17 BC */ rlwinm r0, r4, 2, 0x1e, 0x1e -/* 80369778 7C 1F 03 78 */ mr r31, r0 -/* 8036977C 50 BF 0F FE */ rlwimi r31, r5, 1, 0x1f, 0x1f -/* 80369780 40 82 00 3C */ bne lbl_803697BC -/* 80369784 2C 1F 00 02 */ cmpwi r31, 2 -/* 80369788 41 82 00 24 */ beq lbl_803697AC -/* 8036978C 40 80 00 10 */ bge lbl_8036979C -/* 80369790 2C 1F 00 00 */ cmpwi r31, 0 -/* 80369794 40 80 01 D0 */ bge lbl_80369964 -/* 80369798 48 00 00 24 */ b lbl_803697BC -lbl_8036979C: -/* 8036979C 2C 1F 00 04 */ cmpwi r31, 4 -/* 803697A0 40 80 00 1C */ bge lbl_803697BC -/* 803697A4 48 00 00 10 */ b lbl_803697B4 -/* 803697A8 48 00 01 BC */ b lbl_80369964 -lbl_803697AC: -/* 803697AC C8 22 CD 88 */ lfd f1, lit_145(r2) -/* 803697B0 48 00 01 B4 */ b lbl_80369964 -lbl_803697B4: -/* 803697B4 C8 22 CD 90 */ lfd f1, lit_146(r2) -/* 803697B8 48 00 01 AC */ b lbl_80369964 -lbl_803697BC: -/* 803697BC 7C C0 43 79 */ or. r0, r6, r8 -/* 803697C0 40 82 00 1C */ bne lbl_803697DC -/* 803697C4 2C 05 00 00 */ cmpwi r5, 0 -/* 803697C8 40 80 00 0C */ bge lbl_803697D4 -/* 803697CC C8 22 CD 98 */ lfd f1, lit_147(r2) -/* 803697D0 48 00 01 94 */ b lbl_80369964 -lbl_803697D4: -/* 803697D4 C8 22 CD A0 */ lfd f1, lit_148(r2) -/* 803697D8 48 00 01 8C */ b lbl_80369964 -lbl_803697DC: -/* 803697DC 3C 06 80 10 */ addis r0, r6, 0x8010 -/* 803697E0 28 00 00 00 */ cmplwi r0, 0 -/* 803697E4 40 82 00 A0 */ bne lbl_80369884 -/* 803697E8 3C 07 80 10 */ addis r0, r7, 0x8010 -/* 803697EC 28 00 00 00 */ cmplwi r0, 0 -/* 803697F0 40 82 00 4C */ bne lbl_8036983C -/* 803697F4 2C 1F 00 02 */ cmpwi r31, 2 -/* 803697F8 41 82 00 34 */ beq lbl_8036982C -/* 803697FC 40 80 00 14 */ bge lbl_80369810 -/* 80369800 2C 1F 00 00 */ cmpwi r31, 0 -/* 80369804 41 82 00 18 */ beq lbl_8036981C -/* 80369808 40 80 00 1C */ bge lbl_80369824 -/* 8036980C 48 00 00 78 */ b lbl_80369884 -lbl_80369810: -/* 80369810 2C 1F 00 04 */ cmpwi r31, 4 -/* 80369814 40 80 00 70 */ bge lbl_80369884 -/* 80369818 48 00 00 1C */ b lbl_80369834 -lbl_8036981C: -/* 8036981C C8 22 CD A8 */ lfd f1, lit_149(r2) -/* 80369820 48 00 01 44 */ b lbl_80369964 -lbl_80369824: -/* 80369824 C8 22 CD B0 */ lfd f1, lit_150(r2) -/* 80369828 48 00 01 3C */ b lbl_80369964 -lbl_8036982C: -/* 8036982C C8 22 CD B8 */ lfd f1, lit_151(r2) -/* 80369830 48 00 01 34 */ b lbl_80369964 -lbl_80369834: -/* 80369834 C8 22 CD C0 */ lfd f1, lit_152(r2) -/* 80369838 48 00 01 2C */ b lbl_80369964 -lbl_8036983C: -/* 8036983C 2C 1F 00 02 */ cmpwi r31, 2 -/* 80369840 41 82 00 34 */ beq lbl_80369874 -/* 80369844 40 80 00 14 */ bge lbl_80369858 -/* 80369848 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036984C 41 82 00 18 */ beq lbl_80369864 -/* 80369850 40 80 00 1C */ bge lbl_8036986C -/* 80369854 48 00 00 30 */ b lbl_80369884 -lbl_80369858: -/* 80369858 2C 1F 00 04 */ cmpwi r31, 4 -/* 8036985C 40 80 00 28 */ bge lbl_80369884 -/* 80369860 48 00 00 1C */ b lbl_8036987C -lbl_80369864: -/* 80369864 C8 22 CD C8 */ lfd f1, lit_153(r2) -/* 80369868 48 00 00 FC */ b lbl_80369964 -lbl_8036986C: -/* 8036986C C8 22 CD D0 */ lfd f1, lit_154(r2) -/* 80369870 48 00 00 F4 */ b lbl_80369964 -lbl_80369874: -/* 80369874 C8 22 CD 88 */ lfd f1, lit_145(r2) -/* 80369878 48 00 00 EC */ b lbl_80369964 -lbl_8036987C: -/* 8036987C C8 22 CD 90 */ lfd f1, lit_146(r2) -/* 80369880 48 00 00 E4 */ b lbl_80369964 -lbl_80369884: -/* 80369884 3C 07 80 10 */ addis r0, r7, 0x8010 -/* 80369888 28 00 00 00 */ cmplwi r0, 0 -/* 8036988C 40 82 00 1C */ bne lbl_803698A8 -/* 80369890 2C 05 00 00 */ cmpwi r5, 0 -/* 80369894 40 80 00 0C */ bge lbl_803698A0 -/* 80369898 C8 22 CD 98 */ lfd f1, lit_147(r2) -/* 8036989C 48 00 00 C8 */ b lbl_80369964 -lbl_803698A0: -/* 803698A0 C8 22 CD A0 */ lfd f1, lit_148(r2) -/* 803698A4 48 00 00 C0 */ b lbl_80369964 -lbl_803698A8: -/* 803698A8 7C 06 38 50 */ subf r0, r6, r7 -/* 803698AC 7C 00 A6 70 */ srawi r0, r0, 0x14 -/* 803698B0 2C 00 00 3C */ cmpwi r0, 0x3c -/* 803698B4 40 81 00 10 */ ble lbl_803698C4 -/* 803698B8 C8 02 CD A0 */ lfd f0, lit_148(r2) -/* 803698BC D8 01 00 18 */ stfd f0, 0x18(r1) -/* 803698C0 48 00 00 38 */ b lbl_803698F8 -lbl_803698C4: -/* 803698C4 2C 04 00 00 */ cmpwi r4, 0 -/* 803698C8 40 80 00 18 */ bge lbl_803698E0 -/* 803698CC 2C 00 FF C4 */ cmpwi r0, -60 -/* 803698D0 40 80 00 10 */ bge lbl_803698E0 -/* 803698D4 C8 02 CD C8 */ lfd f0, lit_153(r2) -/* 803698D8 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 803698DC 48 00 00 1C */ b lbl_803698F8 -lbl_803698E0: -/* 803698E0 C8 21 00 08 */ lfd f1, 8(r1) -/* 803698E4 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 803698E8 FC 01 00 24 */ fdiv f0, f1, f0 -/* 803698EC FC 20 02 10 */ fabs f1, f0 -/* 803698F0 48 00 23 B5 */ bl atan -/* 803698F4 D8 21 00 18 */ stfd f1, 0x18(r1) -lbl_803698F8: -/* 803698F8 2C 1F 00 01 */ cmpwi r31, 1 -/* 803698FC 41 82 00 28 */ beq lbl_80369924 -/* 80369900 40 80 00 10 */ bge lbl_80369910 -/* 80369904 2C 1F 00 00 */ cmpwi r31, 0 -/* 80369908 40 80 00 14 */ bge lbl_8036991C -/* 8036990C 48 00 00 44 */ b lbl_80369950 -lbl_80369910: -/* 80369910 2C 1F 00 03 */ cmpwi r31, 3 -/* 80369914 40 80 00 3C */ bge lbl_80369950 -/* 80369918 48 00 00 20 */ b lbl_80369938 -lbl_8036991C: -/* 8036991C C8 21 00 18 */ lfd f1, 0x18(r1) -/* 80369920 48 00 00 44 */ b lbl_80369964 -lbl_80369924: -/* 80369924 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80369928 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036992C 90 01 00 18 */ stw r0, 0x18(r1) -/* 80369930 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 80369934 48 00 00 30 */ b lbl_80369964 -lbl_80369938: -/* 80369938 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 8036993C C8 02 CD D8 */ lfd f0, lit_155(r2) -/* 80369940 C8 42 CD 88 */ lfd f2, lit_145(r2) -/* 80369944 FC 01 00 28 */ fsub f0, f1, f0 -/* 80369948 FC 22 00 28 */ fsub f1, f2, f0 -/* 8036994C 48 00 00 18 */ b lbl_80369964 -lbl_80369950: -/* 80369950 C8 41 00 18 */ lfd f2, 0x18(r1) -/* 80369954 C8 22 CD D8 */ lfd f1, lit_155(r2) -/* 80369958 C8 02 CD 88 */ lfd f0, lit_145(r2) -/* 8036995C FC 22 08 28 */ fsub f1, f2, f1 -/* 80369960 FC 21 00 28 */ fsub f1, f1, f0 -lbl_80369964: -/* 80369964 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80369968 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8036996C 7C 08 03 A6 */ mtlr r0 -/* 80369970 38 21 00 30 */ addi r1, r1, 0x30 -/* 80369974 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_exp/__ieee754_exp.s b/asm/MSL_C/Math/Double_precision/e_exp/__ieee754_exp.s deleted file mode 100644 index c0f78013f5..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_exp/__ieee754_exp.s +++ /dev/null @@ -1,151 +0,0 @@ -lbl_80369978: -/* 80369978 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8036997C 3C 60 40 86 */ lis r3, 0x4086 /* 0x40862E42@ha */ -/* 80369980 3C 80 80 3A */ lis r4, halF@ha /* 0x803A2340@ha */ -/* 80369984 D8 21 00 08 */ stfd f1, 8(r1) -/* 80369988 38 03 2E 42 */ addi r0, r3, 0x2E42 /* 0x40862E42@l */ -/* 8036998C 38 A4 23 40 */ addi r5, r4, halF@l /* 0x803A2340@l */ -/* 80369990 81 01 00 08 */ lwz r8, 8(r1) -/* 80369994 55 04 00 7E */ clrlwi r4, r8, 1 -/* 80369998 55 07 0F FE */ srwi r7, r8, 0x1f -/* 8036999C 7C 04 00 40 */ cmplw r4, r0 -/* 803699A0 41 80 00 64 */ blt lbl_80369A04 -/* 803699A4 3C 00 7F F0 */ lis r0, 0x7ff0 -/* 803699A8 7C 04 00 40 */ cmplw r4, r0 -/* 803699AC 41 80 00 30 */ blt lbl_803699DC -/* 803699B0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803699B4 55 03 03 3E */ clrlwi r3, r8, 0xc -/* 803699B8 7C 60 03 79 */ or. r0, r3, r0 -/* 803699BC 41 82 00 0C */ beq lbl_803699C8 -/* 803699C0 FC 21 08 2A */ fadd f1, f1, f1 -/* 803699C4 48 00 01 D0 */ b lbl_80369B94 -lbl_803699C8: -/* 803699C8 2C 07 00 00 */ cmpwi r7, 0 -/* 803699CC 40 82 00 08 */ bne lbl_803699D4 -/* 803699D0 48 00 01 C4 */ b lbl_80369B94 -lbl_803699D4: -/* 803699D4 C8 22 CD E0 */ lfd f1, lit_115(r2) -/* 803699D8 48 00 01 BC */ b lbl_80369B94 -lbl_803699DC: -/* 803699DC C8 02 CD E8 */ lfd f0, lit_116(r2) -/* 803699E0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 803699E4 40 81 00 0C */ ble lbl_803699F0 -/* 803699E8 C8 22 CD F0 */ lfd f1, lit_117(r2) -/* 803699EC 48 00 01 A8 */ b lbl_80369B94 -lbl_803699F0: -/* 803699F0 C8 02 CD F8 */ lfd f0, lit_118(r2) -/* 803699F4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 803699F8 40 80 00 0C */ bge lbl_80369A04 -/* 803699FC C8 22 CD E0 */ lfd f1, lit_115(r2) -/* 80369A00 48 00 01 94 */ b lbl_80369B94 -lbl_80369A04: -/* 80369A04 3C 60 3F D6 */ lis r3, 0x3FD6 /* 0x3FD62E42@ha */ -/* 80369A08 38 03 2E 42 */ addi r0, r3, 0x2E42 /* 0x3FD62E42@l */ -/* 80369A0C 7C 04 00 40 */ cmplw r4, r0 -/* 80369A10 40 81 00 98 */ ble lbl_80369AA8 -/* 80369A14 3C 60 3F F1 */ lis r3, 0x3FF1 /* 0x3FF0A2B2@ha */ -/* 80369A18 38 03 A2 B2 */ addi r0, r3, 0xA2B2 /* 0x3FF0A2B2@l */ -/* 80369A1C 7C 04 00 40 */ cmplw r4, r0 -/* 80369A20 40 80 00 2C */ bge lbl_80369A4C -/* 80369A24 54 E6 18 38 */ slwi r6, r7, 3 -/* 80369A28 38 85 00 10 */ addi r4, r5, 0x10 -/* 80369A2C C8 21 00 08 */ lfd f1, 8(r1) -/* 80369A30 38 65 00 20 */ addi r3, r5, 0x20 -/* 80369A34 7C 04 34 AE */ lfdx f0, r4, r6 -/* 80369A38 20 07 00 01 */ subfic r0, r7, 1 -/* 80369A3C 7D 03 34 AE */ lfdx f8, r3, r6 -/* 80369A40 7C C7 00 50 */ subf r6, r7, r0 -/* 80369A44 FC E1 00 28 */ fsub f7, f1, f0 -/* 80369A48 48 00 00 54 */ b lbl_80369A9C -lbl_80369A4C: -/* 80369A4C 54 E4 18 38 */ slwi r4, r7, 3 -/* 80369A50 38 65 00 00 */ addi r3, r5, 0 -/* 80369A54 C8 22 CE 00 */ lfd f1, lit_119(r2) -/* 80369A58 3C 00 43 30 */ lis r0, 0x4330 -/* 80369A5C C8 81 00 08 */ lfd f4, 8(r1) -/* 80369A60 7C 03 24 AE */ lfdx f0, r3, r4 -/* 80369A64 90 01 00 20 */ stw r0, 0x20(r1) -/* 80369A68 FC 41 01 3A */ fmadd f2, f1, f4, f0 -/* 80369A6C C8 62 CE 50 */ lfd f3, lit_131(r2) -/* 80369A70 C8 25 00 10 */ lfd f1, 0x10(r5) -/* 80369A74 C8 05 00 20 */ lfd f0, 0x20(r5) -/* 80369A78 FC 40 10 1E */ fctiwz f2, f2 -/* 80369A7C D8 41 00 18 */ stfd f2, 0x18(r1) -/* 80369A80 80 C1 00 1C */ lwz r6, 0x1c(r1) -/* 80369A84 6C C0 80 00 */ xoris r0, r6, 0x8000 -/* 80369A88 90 01 00 24 */ stw r0, 0x24(r1) -/* 80369A8C C8 41 00 20 */ lfd f2, 0x20(r1) -/* 80369A90 FC 42 18 28 */ fsub f2, f2, f3 -/* 80369A94 FC E2 20 7C */ fnmsub f7, f2, f1, f4 -/* 80369A98 FD 02 00 32 */ fmul f8, f2, f0 -lbl_80369A9C: -/* 80369A9C FC 07 40 28 */ fsub f0, f7, f8 -/* 80369AA0 D8 01 00 08 */ stfd f0, 8(r1) -/* 80369AA4 48 00 00 34 */ b lbl_80369AD8 -lbl_80369AA8: -/* 80369AA8 3C 00 3E 30 */ lis r0, 0x3e30 -/* 80369AAC 7C 04 00 40 */ cmplw r4, r0 -/* 80369AB0 40 80 00 24 */ bge lbl_80369AD4 -/* 80369AB4 C8 22 CE 08 */ lfd f1, lit_120(r2) -/* 80369AB8 C8 41 00 08 */ lfd f2, 8(r1) -/* 80369ABC C8 02 CE 10 */ lfd f0, lit_121(r2) -/* 80369AC0 FC 21 10 2A */ fadd f1, f1, f2 -/* 80369AC4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80369AC8 40 81 00 10 */ ble lbl_80369AD8 -/* 80369ACC FC 20 10 2A */ fadd f1, f0, f2 -/* 80369AD0 48 00 00 C4 */ b lbl_80369B94 -lbl_80369AD4: -/* 80369AD4 38 C0 00 00 */ li r6, 0 -lbl_80369AD8: -/* 80369AD8 C8 A1 00 08 */ lfd f5, 8(r1) -/* 80369ADC 2C 06 00 00 */ cmpwi r6, 0 -/* 80369AE0 C8 82 CE 38 */ lfd f4, lit_126(r2) -/* 80369AE4 FC C5 01 72 */ fmul f6, f5, f5 -/* 80369AE8 C8 62 CE 30 */ lfd f3, lit_125(r2) -/* 80369AEC C8 42 CE 28 */ lfd f2, lit_124(r2) -/* 80369AF0 C8 22 CE 20 */ lfd f1, lit_123(r2) -/* 80369AF4 C8 02 CE 18 */ lfd f0, lit_122(r2) -/* 80369AF8 FC 64 19 BA */ fmadd f3, f4, f6, f3 -/* 80369AFC FC 46 10 FA */ fmadd f2, f6, f3, f2 -/* 80369B00 FC 26 08 BA */ fmadd f1, f6, f2, f1 -/* 80369B04 FC 06 00 7A */ fmadd f0, f6, f1, f0 -/* 80369B08 FC 66 28 3C */ fnmsub f3, f6, f0, f5 -/* 80369B0C 40 82 00 24 */ bne lbl_80369B30 -/* 80369B10 C8 02 CE 40 */ lfd f0, lit_127(r2) -/* 80369B14 FC 25 00 F2 */ fmul f1, f5, f3 -/* 80369B18 C8 42 CE 10 */ lfd f2, lit_121(r2) -/* 80369B1C FC 03 00 28 */ fsub f0, f3, f0 -/* 80369B20 FC 01 00 24 */ fdiv f0, f1, f0 -/* 80369B24 FC 00 28 28 */ fsub f0, f0, f5 -/* 80369B28 FC 22 00 28 */ fsub f1, f2, f0 -/* 80369B2C 48 00 00 68 */ b lbl_80369B94 -lbl_80369B30: -/* 80369B30 C8 02 CE 40 */ lfd f0, lit_127(r2) -/* 80369B34 FC 25 00 F2 */ fmul f1, f5, f3 -/* 80369B38 C8 42 CE 10 */ lfd f2, lit_121(r2) -/* 80369B3C 2C 06 FC 03 */ cmpwi r6, -1021 -/* 80369B40 FC 00 18 28 */ fsub f0, f0, f3 -/* 80369B44 FC 01 00 24 */ fdiv f0, f1, f0 -/* 80369B48 FC 08 00 28 */ fsub f0, f8, f0 -/* 80369B4C FC 00 38 28 */ fsub f0, f0, f7 -/* 80369B50 FC 02 00 28 */ fsub f0, f2, f0 -/* 80369B54 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 80369B58 41 80 00 1C */ blt lbl_80369B74 -/* 80369B5C 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80369B60 54 C0 A0 16 */ slwi r0, r6, 0x14 -/* 80369B64 7C 03 02 14 */ add r0, r3, r0 -/* 80369B68 90 01 00 10 */ stw r0, 0x10(r1) -/* 80369B6C C8 21 00 10 */ lfd f1, 0x10(r1) -/* 80369B70 48 00 00 24 */ b lbl_80369B94 -lbl_80369B74: -/* 80369B74 38 06 03 E8 */ addi r0, r6, 0x3e8 -/* 80369B78 80 61 00 10 */ lwz r3, 0x10(r1) -/* 80369B7C 54 00 A0 16 */ slwi r0, r0, 0x14 -/* 80369B80 C8 22 CE 48 */ lfd f1, lit_128(r2) -/* 80369B84 7C 03 02 14 */ add r0, r3, r0 -/* 80369B88 90 01 00 10 */ stw r0, 0x10(r1) -/* 80369B8C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80369B90 FC 21 00 32 */ fmul f1, f1, f0 -lbl_80369B94: -/* 80369B94 38 21 00 30 */ addi r1, r1, 0x30 -/* 80369B98 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_pow/__ieee754_pow.s b/asm/MSL_C/Math/Double_precision/e_pow/__ieee754_pow.s deleted file mode 100644 index e1cf0ed03c..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_pow/__ieee754_pow.s +++ /dev/null @@ -1,571 +0,0 @@ -lbl_80369ED8: -/* 80369ED8 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 80369EDC 7C 08 02 A6 */ mflr r0 -/* 80369EE0 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80369EE4 DB E1 00 A0 */ stfd f31, 0xa0(r1) -/* 80369EE8 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, 0 /* qr0 */ -/* 80369EEC DB C1 00 90 */ stfd f30, 0x90(r1) -/* 80369EF0 F3 C1 00 98 */ psq_st f30, 152(r1), 0, 0 /* qr0 */ -/* 80369EF4 DB A1 00 80 */ stfd f29, 0x80(r1) -/* 80369EF8 F3 A1 00 88 */ psq_st f29, 136(r1), 0, 0 /* qr0 */ -/* 80369EFC DB 81 00 70 */ stfd f28, 0x70(r1) -/* 80369F00 F3 81 00 78 */ psq_st f28, 120(r1), 0, 0 /* qr0 */ -/* 80369F04 DB 61 00 60 */ stfd f27, 0x60(r1) -/* 80369F08 F3 61 00 68 */ psq_st f27, 104(r1), 0, 0 /* qr0 */ -/* 80369F0C D8 41 00 10 */ stfd f2, 0x10(r1) -/* 80369F10 3C 60 80 3A */ lis r3, bp@ha /* 0x803A2380@ha */ -/* 80369F14 38 63 23 80 */ addi r3, r3, bp@l /* 0x803A2380@l */ -/* 80369F18 80 A1 00 10 */ lwz r5, 0x10(r1) -/* 80369F1C D8 21 00 08 */ stfd f1, 8(r1) -/* 80369F20 81 61 00 14 */ lwz r11, 0x14(r1) -/* 80369F24 54 A7 00 7E */ clrlwi r7, r5, 1 -/* 80369F28 80 01 00 08 */ lwz r0, 8(r1) -/* 80369F2C 7C E4 5B 79 */ or. r4, r7, r11 -/* 80369F30 81 41 00 0C */ lwz r10, 0xc(r1) -/* 80369F34 54 06 00 7E */ clrlwi r6, r0, 1 -/* 80369F38 40 82 00 0C */ bne lbl_80369F44 -/* 80369F3C C8 22 CE 58 */ lfd f1, lit_336(r2) -/* 80369F40 48 00 07 90 */ b lbl_8036A6D0 -lbl_80369F44: -/* 80369F44 3C 80 7F F0 */ lis r4, 0x7ff0 -/* 80369F48 7C 06 20 00 */ cmpw r6, r4 -/* 80369F4C 41 81 00 38 */ bgt lbl_80369F84 -/* 80369F50 3C 86 80 10 */ addis r4, r6, 0x8010 -/* 80369F54 28 04 00 00 */ cmplwi r4, 0 -/* 80369F58 40 82 00 0C */ bne lbl_80369F64 -/* 80369F5C 28 0A 00 00 */ cmplwi r10, 0 -/* 80369F60 40 82 00 24 */ bne lbl_80369F84 -lbl_80369F64: -/* 80369F64 3C 80 7F F0 */ lis r4, 0x7ff0 -/* 80369F68 7C 07 20 00 */ cmpw r7, r4 -/* 80369F6C 41 81 00 18 */ bgt lbl_80369F84 -/* 80369F70 3C 87 80 10 */ addis r4, r7, 0x8010 -/* 80369F74 28 04 00 00 */ cmplwi r4, 0 -/* 80369F78 40 82 00 1C */ bne lbl_80369F94 -/* 80369F7C 28 0B 00 00 */ cmplwi r11, 0 -/* 80369F80 41 82 00 14 */ beq lbl_80369F94 -lbl_80369F84: -/* 80369F84 C8 21 00 08 */ lfd f1, 8(r1) -/* 80369F88 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 80369F8C FC 21 00 2A */ fadd f1, f1, f0 -/* 80369F90 48 00 07 40 */ b lbl_8036A6D0 -lbl_80369F94: -/* 80369F94 2C 00 00 00 */ cmpwi r0, 0 -/* 80369F98 38 80 00 00 */ li r4, 0 -/* 80369F9C 40 80 00 78 */ bge lbl_8036A014 -/* 80369FA0 3D 00 43 40 */ lis r8, 0x4340 -/* 80369FA4 7C 07 40 00 */ cmpw r7, r8 -/* 80369FA8 41 80 00 0C */ blt lbl_80369FB4 -/* 80369FAC 38 80 00 02 */ li r4, 2 -/* 80369FB0 48 00 00 64 */ b lbl_8036A014 -lbl_80369FB4: -/* 80369FB4 3D 00 3F F0 */ lis r8, 0x3ff0 -/* 80369FB8 7C 07 40 00 */ cmpw r7, r8 -/* 80369FBC 41 80 00 58 */ blt lbl_8036A014 -/* 80369FC0 7C E8 A6 70 */ srawi r8, r7, 0x14 -/* 80369FC4 39 08 FC 01 */ addi r8, r8, -1023 -/* 80369FC8 2C 08 00 14 */ cmpwi r8, 0x14 -/* 80369FCC 40 81 00 24 */ ble lbl_80369FF0 -/* 80369FD0 21 08 00 34 */ subfic r8, r8, 0x34 -/* 80369FD4 7D 69 44 30 */ srw r9, r11, r8 -/* 80369FD8 7D 28 40 30 */ slw r8, r9, r8 -/* 80369FDC 7C 0B 40 40 */ cmplw r11, r8 -/* 80369FE0 40 82 00 34 */ bne lbl_8036A014 -/* 80369FE4 55 24 07 FE */ clrlwi r4, r9, 0x1f -/* 80369FE8 20 84 00 02 */ subfic r4, r4, 2 -/* 80369FEC 48 00 00 28 */ b lbl_8036A014 -lbl_80369FF0: -/* 80369FF0 28 0B 00 00 */ cmplwi r11, 0 -/* 80369FF4 40 82 00 20 */ bne lbl_8036A014 -/* 80369FF8 21 08 00 14 */ subfic r8, r8, 0x14 -/* 80369FFC 7C E9 46 30 */ sraw r9, r7, r8 -/* 8036A000 7D 28 40 30 */ slw r8, r9, r8 -/* 8036A004 7C 07 40 00 */ cmpw r7, r8 -/* 8036A008 40 82 00 0C */ bne lbl_8036A014 -/* 8036A00C 55 24 07 FE */ clrlwi r4, r9, 0x1f -/* 8036A010 20 84 00 02 */ subfic r4, r4, 2 -lbl_8036A014: -/* 8036A014 28 0B 00 00 */ cmplwi r11, 0 -/* 8036A018 40 82 00 CC */ bne lbl_8036A0E4 -/* 8036A01C 3D 07 80 10 */ addis r8, r7, 0x8010 -/* 8036A020 28 08 00 00 */ cmplwi r8, 0 -/* 8036A024 40 82 00 5C */ bne lbl_8036A080 -/* 8036A028 3C 06 C0 10 */ addis r0, r6, 0xc010 -/* 8036A02C 7C 00 53 79 */ or. r0, r0, r10 -/* 8036A030 40 82 00 10 */ bne lbl_8036A040 -/* 8036A034 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8036A038 FC 20 00 28 */ fsub f1, f0, f0 -/* 8036A03C 48 00 06 94 */ b lbl_8036A6D0 -lbl_8036A040: -/* 8036A040 3C 00 3F F0 */ lis r0, 0x3ff0 -/* 8036A044 7C 06 00 00 */ cmpw r6, r0 -/* 8036A048 41 80 00 1C */ blt lbl_8036A064 -/* 8036A04C 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A050 41 80 00 0C */ blt lbl_8036A05C -/* 8036A054 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 8036A058 48 00 06 78 */ b lbl_8036A6D0 -lbl_8036A05C: -/* 8036A05C C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A060 48 00 06 70 */ b lbl_8036A6D0 -lbl_8036A064: -/* 8036A064 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A068 40 80 00 10 */ bge lbl_8036A078 -/* 8036A06C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8036A070 FC 20 00 50 */ fneg f1, f0 -/* 8036A074 48 00 06 5C */ b lbl_8036A6D0 -lbl_8036A078: -/* 8036A078 C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A07C 48 00 06 54 */ b lbl_8036A6D0 -lbl_8036A080: -/* 8036A080 3D 07 C0 10 */ addis r8, r7, 0xc010 -/* 8036A084 28 08 00 00 */ cmplwi r8, 0 -/* 8036A088 40 82 00 24 */ bne lbl_8036A0AC -/* 8036A08C 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A090 40 80 00 14 */ bge lbl_8036A0A4 -/* 8036A094 C8 22 CE 58 */ lfd f1, lit_336(r2) -/* 8036A098 C8 01 00 08 */ lfd f0, 8(r1) -/* 8036A09C FC 21 00 24 */ fdiv f1, f1, f0 -/* 8036A0A0 48 00 06 30 */ b lbl_8036A6D0 -lbl_8036A0A4: -/* 8036A0A4 C8 21 00 08 */ lfd f1, 8(r1) -/* 8036A0A8 48 00 06 28 */ b lbl_8036A6D0 -lbl_8036A0AC: -/* 8036A0AC 3D 05 C0 00 */ addis r8, r5, 0xc000 -/* 8036A0B0 28 08 00 00 */ cmplwi r8, 0 -/* 8036A0B4 40 82 00 10 */ bne lbl_8036A0C4 -/* 8036A0B8 C8 01 00 08 */ lfd f0, 8(r1) -/* 8036A0BC FC 20 00 32 */ fmul f1, f0, f0 -/* 8036A0C0 48 00 06 10 */ b lbl_8036A6D0 -lbl_8036A0C4: -/* 8036A0C4 3D 05 C0 20 */ addis r8, r5, 0xc020 -/* 8036A0C8 28 08 00 00 */ cmplwi r8, 0 -/* 8036A0CC 40 82 00 18 */ bne lbl_8036A0E4 -/* 8036A0D0 2C 00 00 00 */ cmpwi r0, 0 -/* 8036A0D4 41 80 00 10 */ blt lbl_8036A0E4 -/* 8036A0D8 C8 21 00 08 */ lfd f1, 8(r1) -/* 8036A0DC 48 00 29 79 */ bl sqrt -/* 8036A0E0 48 00 05 F0 */ b lbl_8036A6D0 -lbl_8036A0E4: -/* 8036A0E4 C8 01 00 08 */ lfd f0, 8(r1) -/* 8036A0E8 28 0A 00 00 */ cmplwi r10, 0 -/* 8036A0EC FC 20 02 10 */ fabs f1, f0 -/* 8036A0F0 D8 21 00 48 */ stfd f1, 0x48(r1) -/* 8036A0F4 40 82 00 80 */ bne lbl_8036A174 -/* 8036A0F8 3D 06 80 10 */ addis r8, r6, 0x8010 -/* 8036A0FC 28 08 00 00 */ cmplwi r8, 0 -/* 8036A100 41 82 00 18 */ beq lbl_8036A118 -/* 8036A104 2C 06 00 00 */ cmpwi r6, 0 -/* 8036A108 41 82 00 10 */ beq lbl_8036A118 -/* 8036A10C 3D 06 C0 10 */ addis r8, r6, 0xc010 -/* 8036A110 28 08 00 00 */ cmplwi r8, 0 -/* 8036A114 40 82 00 60 */ bne lbl_8036A174 -lbl_8036A118: -/* 8036A118 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A11C D8 21 00 50 */ stfd f1, 0x50(r1) -/* 8036A120 40 80 00 10 */ bge lbl_8036A130 -/* 8036A124 C8 02 CE 58 */ lfd f0, lit_336(r2) -/* 8036A128 FC 00 08 24 */ fdiv f0, f0, f1 -/* 8036A12C D8 01 00 50 */ stfd f0, 0x50(r1) -lbl_8036A130: -/* 8036A130 2C 00 00 00 */ cmpwi r0, 0 -/* 8036A134 40 80 00 38 */ bge lbl_8036A16C -/* 8036A138 3C 06 C0 10 */ addis r0, r6, 0xc010 -/* 8036A13C 7C 00 23 79 */ or. r0, r0, r4 -/* 8036A140 40 82 00 18 */ bne lbl_8036A158 -/* 8036A144 C8 01 00 50 */ lfd f0, 0x50(r1) -/* 8036A148 FC 00 00 28 */ fsub f0, f0, f0 -/* 8036A14C FC 00 00 24 */ fdiv f0, f0, f0 -/* 8036A150 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 8036A154 48 00 00 18 */ b lbl_8036A16C -lbl_8036A158: -/* 8036A158 2C 04 00 01 */ cmpwi r4, 1 -/* 8036A15C 40 82 00 10 */ bne lbl_8036A16C -/* 8036A160 C8 01 00 50 */ lfd f0, 0x50(r1) -/* 8036A164 FC 00 00 50 */ fneg f0, f0 -/* 8036A168 D8 01 00 50 */ stfd f0, 0x50(r1) -lbl_8036A16C: -/* 8036A16C C8 21 00 50 */ lfd f1, 0x50(r1) -/* 8036A170 48 00 05 60 */ b lbl_8036A6D0 -lbl_8036A174: -/* 8036A174 7C 08 FE 70 */ srawi r8, r0, 0x1f -/* 8036A178 38 08 00 01 */ addi r0, r8, 1 -/* 8036A17C 7C 08 23 79 */ or. r8, r0, r4 -/* 8036A180 40 82 00 18 */ bne lbl_8036A198 -/* 8036A184 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8036A188 38 00 00 21 */ li r0, 0x21 -/* 8036A18C 90 0D 94 28 */ stw r0, errno(r13) -/* 8036A190 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8036A194 48 00 05 3C */ b lbl_8036A6D0 -lbl_8036A198: -/* 8036A198 3D 00 41 E0 */ lis r8, 0x41e0 -/* 8036A19C 7C 07 40 00 */ cmpw r7, r8 -/* 8036A1A0 40 81 01 04 */ ble lbl_8036A2A4 -/* 8036A1A4 3C 60 43 F0 */ lis r3, 0x43f0 -/* 8036A1A8 7C 07 18 00 */ cmpw r7, r3 -/* 8036A1AC 40 81 00 4C */ ble lbl_8036A1F8 -/* 8036A1B0 3C 60 3F F0 */ lis r3, 0x3FF0 /* 0x3FEFFFFF@ha */ -/* 8036A1B4 38 E3 FF FF */ addi r7, r3, 0xFFFF /* 0x3FEFFFFF@l */ -/* 8036A1B8 7C 06 38 00 */ cmpw r6, r7 -/* 8036A1BC 41 81 00 1C */ bgt lbl_8036A1D8 -/* 8036A1C0 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A1C4 40 80 00 0C */ bge lbl_8036A1D0 -/* 8036A1C8 C8 22 CE 68 */ lfd f1, lit_338(r2) -/* 8036A1CC 48 00 05 04 */ b lbl_8036A6D0 -lbl_8036A1D0: -/* 8036A1D0 C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A1D4 48 00 04 FC */ b lbl_8036A6D0 -lbl_8036A1D8: -/* 8036A1D8 7C 06 18 00 */ cmpw r6, r3 -/* 8036A1DC 41 80 00 1C */ blt lbl_8036A1F8 -/* 8036A1E0 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A1E4 40 81 00 0C */ ble lbl_8036A1F0 -/* 8036A1E8 C8 22 CE 68 */ lfd f1, lit_338(r2) -/* 8036A1EC 48 00 04 E4 */ b lbl_8036A6D0 -lbl_8036A1F0: -/* 8036A1F0 C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A1F4 48 00 04 DC */ b lbl_8036A6D0 -lbl_8036A1F8: -/* 8036A1F8 3C 60 3F F0 */ lis r3, 0x3FF0 /* 0x3FEFFFFF@ha */ -/* 8036A1FC 38 E3 FF FF */ addi r7, r3, 0xFFFF /* 0x3FEFFFFF@l */ -/* 8036A200 7C 06 38 00 */ cmpw r6, r7 -/* 8036A204 40 80 00 1C */ bge lbl_8036A220 -/* 8036A208 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A20C 40 80 00 0C */ bge lbl_8036A218 -/* 8036A210 C8 22 CE 68 */ lfd f1, lit_338(r2) -/* 8036A214 48 00 04 BC */ b lbl_8036A6D0 -lbl_8036A218: -/* 8036A218 C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A21C 48 00 04 B4 */ b lbl_8036A6D0 -lbl_8036A220: -/* 8036A220 7C 06 18 00 */ cmpw r6, r3 -/* 8036A224 40 81 00 1C */ ble lbl_8036A240 -/* 8036A228 2C 05 00 00 */ cmpwi r5, 0 -/* 8036A22C 40 81 00 0C */ ble lbl_8036A238 -/* 8036A230 C8 22 CE 68 */ lfd f1, lit_338(r2) -/* 8036A234 48 00 04 9C */ b lbl_8036A6D0 -lbl_8036A238: -/* 8036A238 C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A23C 48 00 04 94 */ b lbl_8036A6D0 -lbl_8036A240: -/* 8036A240 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036A244 38 60 00 00 */ li r3, 0 -/* 8036A248 C8 02 CE 58 */ lfd f0, lit_336(r2) -/* 8036A24C C8 22 CE 80 */ lfd f1, lit_341(r2) -/* 8036A250 FC C2 00 28 */ fsub f6, f2, f0 -/* 8036A254 C8 02 CE 78 */ lfd f0, lit_340(r2) -/* 8036A258 C8 42 CE 88 */ lfd f2, lit_342(r2) -/* 8036A25C C8 62 CE 70 */ lfd f3, lit_339(r2) -/* 8036A260 FC 81 01 BC */ fnmsub f4, f1, f6, f0 -/* 8036A264 C8 02 CE 98 */ lfd f0, lit_344(r2) -/* 8036A268 C8 22 CE 90 */ lfd f1, lit_343(r2) -/* 8036A26C FC A6 01 B2 */ fmul f5, f6, f6 -/* 8036A270 D8 C1 00 28 */ stfd f6, 0x28(r1) -/* 8036A274 FC 66 19 3C */ fnmsub f3, f6, f4, f3 -/* 8036A278 FC 42 01 B2 */ fmul f2, f2, f6 -/* 8036A27C FC 65 00 F2 */ fmul f3, f5, f3 -/* 8036A280 FC 00 00 F2 */ fmul f0, f0, f3 -/* 8036A284 FC 21 01 B8 */ fmsub f1, f1, f6, f0 -/* 8036A288 FC 02 08 2A */ fadd f0, f2, f1 -/* 8036A28C D8 01 00 30 */ stfd f0, 0x30(r1) -/* 8036A290 90 61 00 34 */ stw r3, 0x34(r1) -/* 8036A294 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 8036A298 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036A29C FC 01 00 28 */ fsub f0, f1, f0 -/* 8036A2A0 48 00 01 EC */ b lbl_8036A48C -lbl_8036A2A4: -/* 8036A2A4 3C A0 00 10 */ lis r5, 0x10 -/* 8036A2A8 39 40 00 00 */ li r10, 0 -/* 8036A2AC 7C 06 28 00 */ cmpw r6, r5 -/* 8036A2B0 40 80 00 1C */ bge lbl_8036A2CC -/* 8036A2B4 C8 21 00 48 */ lfd f1, 0x48(r1) -/* 8036A2B8 39 40 FF CB */ li r10, -53 -/* 8036A2BC C8 02 CE A0 */ lfd f0, lit_345(r2) -/* 8036A2C0 FC 01 00 32 */ fmul f0, f1, f0 -/* 8036A2C4 D8 01 00 48 */ stfd f0, 0x48(r1) -/* 8036A2C8 80 C1 00 48 */ lwz r6, 0x48(r1) -lbl_8036A2CC: -/* 8036A2CC 3C A0 00 04 */ lis r5, 0x0004 /* 0x0003988E@ha */ -/* 8036A2D0 54 C8 03 3E */ clrlwi r8, r6, 0xc -/* 8036A2D4 38 A5 98 8E */ addi r5, r5, 0x988E /* 0x0003988E@l */ -/* 8036A2D8 7C C6 A6 70 */ srawi r6, r6, 0x14 -/* 8036A2DC 7C 08 28 00 */ cmpw r8, r5 -/* 8036A2E0 65 07 3F F0 */ oris r7, r8, 0x3ff0 -/* 8036A2E4 7D 46 52 14 */ add r10, r6, r10 -/* 8036A2E8 39 4A FC 01 */ addi r10, r10, -1023 -/* 8036A2EC 41 81 00 0C */ bgt lbl_8036A2F8 -/* 8036A2F0 39 60 00 00 */ li r11, 0 -/* 8036A2F4 48 00 00 28 */ b lbl_8036A31C -lbl_8036A2F8: -/* 8036A2F8 3C A0 00 0C */ lis r5, 0x000C /* 0x000BB67A@ha */ -/* 8036A2FC 38 A5 B6 7A */ addi r5, r5, 0xB67A /* 0x000BB67A@l */ -/* 8036A300 7C 08 28 00 */ cmpw r8, r5 -/* 8036A304 40 80 00 0C */ bge lbl_8036A310 -/* 8036A308 39 60 00 01 */ li r11, 1 -/* 8036A30C 48 00 00 10 */ b lbl_8036A31C -lbl_8036A310: -/* 8036A310 3C E7 FF F0 */ addis r7, r7, 0xfff0 -/* 8036A314 39 60 00 00 */ li r11, 0 -/* 8036A318 39 4A 00 01 */ addi r10, r10, 1 -lbl_8036A31C: -/* 8036A31C 90 E1 00 48 */ stw r7, 0x48(r1) -/* 8036A320 7C E5 0E 70 */ srawi r5, r7, 1 -/* 8036A324 55 69 18 38 */ slwi r9, r11, 3 -/* 8036A328 38 C3 00 00 */ addi r6, r3, 0 -/* 8036A32C CB C1 00 48 */ lfd f30, 0x48(r1) -/* 8036A330 64 A8 20 00 */ oris r8, r5, 0x2000 -/* 8036A334 7C A6 4C AE */ lfdx f5, r6, r9 -/* 8036A338 38 E3 00 20 */ addi r7, r3, 0x20 -/* 8036A33C C8 22 CE 60 */ lfd f1, lit_337(r2) -/* 8036A340 6D 46 80 00 */ xoris r6, r10, 0x8000 -/* 8036A344 FC 1E 28 2A */ fadd f0, f30, f5 -/* 8036A348 C8 42 CE 58 */ lfd f2, lit_336(r2) -/* 8036A34C 3C A0 43 30 */ lis r5, 0x4330 -/* 8036A350 39 43 00 10 */ addi r10, r3, 0x10 -/* 8036A354 FF FE 28 28 */ fsub f31, f30, f5 -/* 8036A358 C8 82 CE D0 */ lfd f4, lit_351(r2) -/* 8036A35C FF 82 00 24 */ fdiv f28, f2, f0 -/* 8036A360 C8 02 CE C8 */ lfd f0, lit_350(r2) -/* 8036A364 C8 62 CE C0 */ lfd f3, lit_349(r2) -/* 8036A368 3D 08 00 08 */ addis r8, r8, 8 -/* 8036A36C 55 63 90 1A */ slwi r3, r11, 0x12 -/* 8036A370 D8 21 00 18 */ stfd f1, 0x18(r1) -/* 8036A374 FC 3F 07 32 */ fmul f1, f31, f28 -/* 8036A378 7C 68 1A 14 */ add r3, r8, r3 -/* 8036A37C 90 61 00 18 */ stw r3, 0x18(r1) -/* 8036A380 38 60 00 00 */ li r3, 0 -/* 8036A384 C8 42 CE B8 */ lfd f2, lit_348(r2) -/* 8036A388 C9 81 00 18 */ lfd f12, 0x18(r1) -/* 8036A38C FF 61 00 72 */ fmul f27, f1, f1 -/* 8036A390 D8 21 00 20 */ stfd f1, 0x20(r1) -/* 8036A394 C9 62 CE B0 */ lfd f11, lit_347(r2) -/* 8036A398 90 61 00 24 */ stw r3, 0x24(r1) -/* 8036A39C FD AC 28 28 */ fsub f13, f12, f5 -/* 8036A3A0 C9 22 CE A8 */ lfd f9, lit_346(r2) -/* 8036A3A4 FC 84 06 FA */ fmadd f4, f4, f27, f0 -/* 8036A3A8 CB A1 00 20 */ lfd f29, 0x20(r1) -/* 8036A3AC C9 42 CE D8 */ lfd f10, lit_352(r2) -/* 8036A3B0 FC 1D 07 72 */ fmul f0, f29, f29 -/* 8036A3B4 C8 A2 CE F0 */ lfd f5, lit_355(r2) -/* 8036A3B8 C8 C2 CE E8 */ lfd f6, lit_354(r2) -/* 8036A3BC FC 7B 19 3A */ fmadd f3, f27, f4, f3 -/* 8036A3C0 C9 02 CE E0 */ lfd f8, lit_353(r2) -/* 8036A3C4 7C E7 4C AE */ lfdx f7, r7, r9 -/* 8036A3C8 FF FD FB 3C */ fnmsub f31, f29, f12, f31 -/* 8036A3CC 90 C1 00 5C */ stw r6, 0x5c(r1) -/* 8036A3D0 C8 82 CF 60 */ lfd f4, lit_370(r2) -/* 8036A3D4 FD 9B 10 FA */ fmadd f12, f27, f3, f2 -/* 8036A3D8 90 A1 00 58 */ stw r5, 0x58(r1) -/* 8036A3DC 7C 4A 4C AE */ lfdx f2, r10, r9 -/* 8036A3E0 FF DE 68 28 */ fsub f30, f30, f13 -/* 8036A3E4 C8 61 00 58 */ lfd f3, 0x58(r1) -/* 8036A3E8 FD BB 06 F2 */ fmul f13, f27, f27 -/* 8036A3EC FD 7B 5B 3A */ fmadd f11, f27, f12, f11 -/* 8036A3F0 FD 9D FF BC */ fnmsub f12, f29, f30, f31 -/* 8036A3F4 FD 3B 4A FA */ fmadd f9, f27, f11, f9 -/* 8036A3F8 FF 7C 03 32 */ fmul f27, f28, f12 -/* 8036A3FC FD 8D 02 72 */ fmul f12, f13, f9 -/* 8036A400 FD 7D 08 2A */ fadd f11, f29, f1 -/* 8036A404 FD 2A 00 2A */ fadd f9, f10, f0 -/* 8036A408 FC 63 20 28 */ fsub f3, f3, f4 -/* 8036A40C FD 9B 62 FA */ fmadd f12, f27, f11, f12 -/* 8036A410 D8 61 00 28 */ stfd f3, 0x28(r1) -/* 8036A414 FC 89 60 2A */ fadd f4, f9, f12 -/* 8036A418 D8 81 00 18 */ stfd f4, 0x18(r1) -/* 8036A41C 90 61 00 1C */ stw r3, 0x1c(r1) -/* 8036A420 C9 21 00 18 */ lfd f9, 0x18(r1) -/* 8036A424 FC 89 50 28 */ fsub f4, f9, f10 -/* 8036A428 FD 5D 02 72 */ fmul f10, f29, f9 -/* 8036A42C FC 04 00 28 */ fsub f0, f4, f0 -/* 8036A430 FC 0C 00 28 */ fsub f0, f12, f0 -/* 8036A434 FC 00 00 72 */ fmul f0, f0, f1 -/* 8036A438 FC 9B 02 7A */ fmadd f4, f27, f9, f0 -/* 8036A43C FC 0A 20 2A */ fadd f0, f10, f4 -/* 8036A440 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 8036A444 90 61 00 44 */ stw r3, 0x44(r1) -/* 8036A448 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 8036A44C FC 01 50 28 */ fsub f0, f1, f10 -/* 8036A450 FD 08 00 72 */ fmul f8, f8, f1 -/* 8036A454 FC 04 00 28 */ fsub f0, f4, f0 -/* 8036A458 FC 05 00 32 */ fmul f0, f5, f0 -/* 8036A45C FC 06 00 7A */ fmadd f0, f6, f1, f0 -/* 8036A460 FC 27 00 2A */ fadd f1, f7, f0 -/* 8036A464 FC 08 08 2A */ fadd f0, f8, f1 -/* 8036A468 FC 00 10 2A */ fadd f0, f0, f2 -/* 8036A46C FC 03 00 2A */ fadd f0, f3, f0 -/* 8036A470 D8 01 00 30 */ stfd f0, 0x30(r1) -/* 8036A474 90 61 00 34 */ stw r3, 0x34(r1) -/* 8036A478 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 8036A47C FC 00 18 28 */ fsub f0, f0, f3 -/* 8036A480 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036A484 FC 00 40 28 */ fsub f0, f0, f8 -/* 8036A488 FC 01 00 28 */ fsub f0, f1, f0 -lbl_8036A48C: -/* 8036A48C 38 64 FF FF */ addi r3, r4, -1 -/* 8036A490 CB E2 CE 58 */ lfd f31, lit_336(r2) -/* 8036A494 7C 00 1B 79 */ or. r0, r0, r3 -/* 8036A498 40 82 00 08 */ bne lbl_8036A4A0 -/* 8036A49C CB E2 CE F8 */ lfd f31, lit_356(r2) -lbl_8036A4A0: -/* 8036A4A0 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 8036A4A4 38 60 00 00 */ li r3, 0 -/* 8036A4A8 C8 61 00 30 */ lfd f3, 0x30(r1) -/* 8036A4AC 3C 00 40 90 */ lis r0, 0x4090 -/* 8036A4B0 D8 21 00 38 */ stfd f1, 0x38(r1) -/* 8036A4B4 FC 01 00 32 */ fmul f0, f1, f0 -/* 8036A4B8 90 61 00 3C */ stw r3, 0x3c(r1) -/* 8036A4BC C8 41 00 38 */ lfd f2, 0x38(r1) -/* 8036A4C0 FC 21 10 28 */ fsub f1, f1, f2 -/* 8036A4C4 FC 42 00 F2 */ fmul f2, f2, f3 -/* 8036A4C8 FD 83 00 7A */ fmadd f12, f3, f1, f0 -/* 8036A4CC D8 41 00 40 */ stfd f2, 0x40(r1) -/* 8036A4D0 FC 0C 10 2A */ fadd f0, f12, f2 -/* 8036A4D4 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 8036A4D8 80 C1 00 50 */ lwz r6, 0x50(r1) -/* 8036A4DC 80 A1 00 54 */ lwz r5, 0x54(r1) -/* 8036A4E0 7C 06 00 00 */ cmpw r6, r0 -/* 8036A4E4 41 80 00 44 */ blt lbl_8036A528 -/* 8036A4E8 3C 06 BF 70 */ addis r0, r6, 0xbf70 -/* 8036A4EC 7C 00 2B 79 */ or. r0, r0, r5 -/* 8036A4F0 41 82 00 14 */ beq lbl_8036A504 -/* 8036A4F4 C8 22 CF 00 */ lfd f1, lit_357(r2) -/* 8036A4F8 FC 01 07 F2 */ fmul f0, f1, f31 -/* 8036A4FC FC 21 00 32 */ fmul f1, f1, f0 -/* 8036A500 48 00 01 D0 */ b lbl_8036A6D0 -lbl_8036A504: -/* 8036A504 C8 22 CF 08 */ lfd f1, lit_358(r2) -/* 8036A508 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036A50C FC 21 60 2A */ fadd f1, f1, f12 -/* 8036A510 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8036A514 40 81 00 68 */ ble lbl_8036A57C -/* 8036A518 C8 22 CF 00 */ lfd f1, lit_357(r2) -/* 8036A51C FC 01 07 F2 */ fmul f0, f1, f31 -/* 8036A520 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036A524 48 00 01 AC */ b lbl_8036A6D0 -lbl_8036A528: -/* 8036A528 3C 60 40 91 */ lis r3, 0x4091 /* 0x4090CC00@ha */ -/* 8036A52C 54 C4 00 7E */ clrlwi r4, r6, 1 -/* 8036A530 38 03 CC 00 */ addi r0, r3, 0xCC00 /* 0x4090CC00@l */ -/* 8036A534 7C 04 00 00 */ cmpw r4, r0 -/* 8036A538 41 80 00 44 */ blt lbl_8036A57C -/* 8036A53C 3C 66 3F 6F */ addis r3, r6, 0x3f6f -/* 8036A540 38 03 34 00 */ addi r0, r3, 0x3400 -/* 8036A544 7C 00 2B 79 */ or. r0, r0, r5 -/* 8036A548 41 82 00 14 */ beq lbl_8036A55C -/* 8036A54C C8 22 CF 10 */ lfd f1, lit_359(r2) -/* 8036A550 FC 01 07 F2 */ fmul f0, f1, f31 -/* 8036A554 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036A558 48 00 01 78 */ b lbl_8036A6D0 -lbl_8036A55C: -/* 8036A55C FC 00 10 28 */ fsub f0, f0, f2 -/* 8036A560 FC 0C 00 40 */ fcmpo cr0, f12, f0 -/* 8036A564 4C 40 13 82 */ cror 2, 0, 2 -/* 8036A568 40 82 00 14 */ bne lbl_8036A57C -/* 8036A56C C8 22 CF 10 */ lfd f1, lit_359(r2) -/* 8036A570 FC 01 07 F2 */ fmul f0, f1, f31 -/* 8036A574 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036A578 48 00 01 58 */ b lbl_8036A6D0 -lbl_8036A57C: -/* 8036A57C 54 C3 00 7E */ clrlwi r3, r6, 1 -/* 8036A580 3C 00 3F E0 */ lis r0, 0x3fe0 -/* 8036A584 7C 03 00 00 */ cmpw r3, r0 -/* 8036A588 54 C4 65 7E */ rlwinm r4, r6, 0xc, 0x15, 0x1f -/* 8036A58C 38 60 00 00 */ li r3, 0 -/* 8036A590 40 81 00 64 */ ble lbl_8036A5F4 -/* 8036A594 3C 60 00 10 */ lis r3, 0x0010 /* 0x000FFFFF@ha */ -/* 8036A598 38 04 FC 02 */ addi r0, r4, -1022 -/* 8036A59C 7C 60 06 30 */ sraw r0, r3, r0 -/* 8036A5A0 C8 02 CE 60 */ lfd f0, lit_337(r2) -/* 8036A5A4 7C E6 02 14 */ add r7, r6, r0 -/* 8036A5A8 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x000FFFFF@l */ -/* 8036A5AC 54 E0 00 7E */ clrlwi r0, r7, 1 -/* 8036A5B0 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8036A5B4 7C 04 A6 70 */ srawi r4, r0, 0x14 -/* 8036A5B8 54 E0 03 3E */ clrlwi r0, r7, 0xc -/* 8036A5BC 38 A4 FC 01 */ addi r5, r4, -1023 -/* 8036A5C0 2C 06 00 00 */ cmpwi r6, 0 -/* 8036A5C4 7C 64 2E 30 */ sraw r4, r3, r5 -/* 8036A5C8 64 03 00 10 */ oris r3, r0, 0x10 -/* 8036A5CC 7C E4 20 78 */ andc r4, r7, r4 -/* 8036A5D0 20 05 00 14 */ subfic r0, r5, 0x14 -/* 8036A5D4 90 81 00 28 */ stw r4, 0x28(r1) -/* 8036A5D8 7C 63 06 30 */ sraw r3, r3, r0 -/* 8036A5DC 40 80 00 08 */ bge lbl_8036A5E4 -/* 8036A5E0 7C 63 00 D0 */ neg r3, r3 -lbl_8036A5E4: -/* 8036A5E4 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 8036A5E8 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 8036A5EC FC 01 00 28 */ fsub f0, f1, f0 -/* 8036A5F0 D8 01 00 40 */ stfd f0, 0x40(r1) -lbl_8036A5F4: -/* 8036A5F4 C8 41 00 40 */ lfd f2, 0x40(r1) -/* 8036A5F8 38 00 00 00 */ li r0, 0 -/* 8036A5FC C8 22 CF 28 */ lfd f1, lit_362(r2) -/* 8036A600 54 64 A0 16 */ slwi r4, r3, 0x14 -/* 8036A604 FC 0C 10 2A */ fadd f0, f12, f2 -/* 8036A608 C9 42 CF 18 */ lfd f10, lit_360(r2) -/* 8036A60C C9 22 CF 20 */ lfd f9, lit_361(r2) -/* 8036A610 C8 C2 CF 50 */ lfd f6, lit_367(r2) -/* 8036A614 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8036A618 C8 A2 CF 48 */ lfd f5, lit_366(r2) -/* 8036A61C 90 01 00 2C */ stw r0, 0x2c(r1) -/* 8036A620 C8 02 CF 40 */ lfd f0, lit_365(r2) -/* 8036A624 C9 61 00 28 */ lfd f11, 0x28(r1) -/* 8036A628 C8 82 CF 38 */ lfd f4, lit_364(r2) -/* 8036A62C FD 0B 10 28 */ fsub f8, f11, f2 -/* 8036A630 C8 62 CF 30 */ lfd f3, lit_363(r2) -/* 8036A634 FC E1 02 F2 */ fmul f7, f1, f11 -/* 8036A638 C8 42 CF 58 */ lfd f2, lit_368(r2) -/* 8036A63C C8 22 CE 58 */ lfd f1, lit_336(r2) -/* 8036A640 FD 0C 40 28 */ fsub f8, f12, f8 -/* 8036A644 FD 4A 02 F2 */ fmul f10, f10, f11 -/* 8036A648 FD 69 3A 3A */ fmadd f11, f9, f8, f7 -/* 8036A64C FD 2A 58 2A */ fadd f9, f10, f11 -/* 8036A650 FC E9 02 72 */ fmul f7, f9, f9 -/* 8036A654 D9 21 00 50 */ stfd f9, 0x50(r1) -/* 8036A658 FD 09 50 28 */ fsub f8, f9, f10 -/* 8036A65C FC A6 29 FA */ fmadd f5, f6, f7, f5 -/* 8036A660 D8 E1 00 28 */ stfd f7, 0x28(r1) -/* 8036A664 FC CB 40 28 */ fsub f6, f11, f8 -/* 8036A668 FC A7 01 7A */ fmadd f5, f7, f5, f0 -/* 8036A66C FC 09 31 BA */ fmadd f0, f9, f6, f6 -/* 8036A670 FC 87 21 7A */ fmadd f4, f7, f5, f4 -/* 8036A674 FC 67 19 3A */ fmadd f3, f7, f4, f3 -/* 8036A678 FC 67 00 F2 */ fmul f3, f7, f3 -/* 8036A67C FC 89 18 28 */ fsub f4, f9, f3 -/* 8036A680 FC 69 01 32 */ fmul f3, f9, f4 -/* 8036A684 D8 81 00 30 */ stfd f4, 0x30(r1) -/* 8036A688 FC 44 10 28 */ fsub f2, f4, f2 -/* 8036A68C FC 43 10 24 */ fdiv f2, f3, f2 -/* 8036A690 FC 02 00 28 */ fsub f0, f2, f0 -/* 8036A694 FC 00 48 28 */ fsub f0, f0, f9 -/* 8036A698 FC 21 00 28 */ fsub f1, f1, f0 -/* 8036A69C D8 21 00 50 */ stfd f1, 0x50(r1) -/* 8036A6A0 80 01 00 50 */ lwz r0, 0x50(r1) -/* 8036A6A4 7C 00 22 14 */ add r0, r0, r4 -/* 8036A6A8 7C 00 A6 71 */ srawi. r0, r0, 0x14 -/* 8036A6AC 41 81 00 10 */ bgt lbl_8036A6BC -/* 8036A6B0 48 00 1C 21 */ bl ldexp -/* 8036A6B4 D8 21 00 50 */ stfd f1, 0x50(r1) -/* 8036A6B8 48 00 00 10 */ b lbl_8036A6C8 -lbl_8036A6BC: -/* 8036A6BC 80 01 00 50 */ lwz r0, 0x50(r1) -/* 8036A6C0 7C 00 22 14 */ add r0, r0, r4 -/* 8036A6C4 90 01 00 50 */ stw r0, 0x50(r1) -lbl_8036A6C8: -/* 8036A6C8 C8 01 00 50 */ lfd f0, 0x50(r1) -/* 8036A6CC FC 3F 00 32 */ fmul f1, f31, f0 -lbl_8036A6D0: -/* 8036A6D0 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, 0 /* qr0 */ -/* 8036A6D4 CB E1 00 A0 */ lfd f31, 0xa0(r1) -/* 8036A6D8 E3 C1 00 98 */ psq_l f30, 152(r1), 0, 0 /* qr0 */ -/* 8036A6DC CB C1 00 90 */ lfd f30, 0x90(r1) -/* 8036A6E0 E3 A1 00 88 */ psq_l f29, 136(r1), 0, 0 /* qr0 */ -/* 8036A6E4 CB A1 00 80 */ lfd f29, 0x80(r1) -/* 8036A6E8 E3 81 00 78 */ psq_l f28, 120(r1), 0, 0 /* qr0 */ -/* 8036A6EC CB 81 00 70 */ lfd f28, 0x70(r1) -/* 8036A6F0 E3 61 00 68 */ psq_l f27, 104(r1), 0, 0 /* qr0 */ -/* 8036A6F4 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 8036A6F8 CB 61 00 60 */ lfd f27, 0x60(r1) -/* 8036A6FC 7C 08 03 A6 */ mtlr r0 -/* 8036A700 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 8036A704 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_rem_pio2/__ieee754_rem_pio2.s b/asm/MSL_C/Math/Double_precision/e_rem_pio2/__ieee754_rem_pio2.s deleted file mode 100644 index 1049368940..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_rem_pio2/__ieee754_rem_pio2.s +++ /dev/null @@ -1,247 +0,0 @@ -lbl_8036A708: -/* 8036A708 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8036A70C 7C 08 02 A6 */ mflr r0 -/* 8036A710 3C 80 3F E9 */ lis r4, 0x3FE9 /* 0x3FE921FB@ha */ -/* 8036A714 90 01 00 64 */ stw r0, 0x64(r1) -/* 8036A718 38 04 21 FB */ addi r0, r4, 0x21FB /* 0x3FE921FB@l */ -/* 8036A71C 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 8036A720 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036A724 83 E1 00 08 */ lwz r31, 8(r1) -/* 8036A728 93 C1 00 58 */ stw r30, 0x58(r1) -/* 8036A72C 7C 7E 1B 78 */ mr r30, r3 -/* 8036A730 57 E6 00 7E */ clrlwi r6, r31, 1 -/* 8036A734 7C 06 00 00 */ cmpw r6, r0 -/* 8036A738 41 81 00 18 */ bgt lbl_8036A750 -/* 8036A73C D8 3E 00 00 */ stfd f1, 0(r30) -/* 8036A740 38 60 00 00 */ li r3, 0 -/* 8036A744 C8 02 CF 68 */ lfd f0, lit_145(r2) -/* 8036A748 D8 1E 00 08 */ stfd f0, 8(r30) -/* 8036A74C 48 00 03 44 */ b lbl_8036AA90 -lbl_8036A750: -/* 8036A750 3C 60 40 03 */ lis r3, 0x4003 /* 0x4002D97C@ha */ -/* 8036A754 38 03 D9 7C */ addi r0, r3, 0xD97C /* 0x4002D97C@l */ -/* 8036A758 7C 06 00 00 */ cmpw r6, r0 -/* 8036A75C 40 80 00 DC */ bge lbl_8036A838 -/* 8036A760 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036A764 40 81 00 6C */ ble lbl_8036A7D0 -/* 8036A768 C8 02 CF 70 */ lfd f0, lit_146(r2) -/* 8036A76C 3C 06 C0 07 */ addis r0, r6, 0xc007 -/* 8036A770 28 00 21 FB */ cmplwi r0, 0x21fb -/* 8036A774 FC 41 00 28 */ fsub f2, f1, f0 -/* 8036A778 D8 41 00 10 */ stfd f2, 0x10(r1) -/* 8036A77C 41 82 00 24 */ beq lbl_8036A7A0 -/* 8036A780 C8 22 CF 78 */ lfd f1, lit_147(r2) -/* 8036A784 FC 02 08 28 */ fsub f0, f2, f1 -/* 8036A788 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A78C C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036A790 FC 02 00 28 */ fsub f0, f2, f0 -/* 8036A794 FC 00 08 28 */ fsub f0, f0, f1 -/* 8036A798 D8 1E 00 08 */ stfd f0, 8(r30) -/* 8036A79C 48 00 00 2C */ b lbl_8036A7C8 -lbl_8036A7A0: -/* 8036A7A0 C8 02 CF 80 */ lfd f0, lit_148(r2) -/* 8036A7A4 C8 22 CF 88 */ lfd f1, lit_149(r2) -/* 8036A7A8 FC 42 00 28 */ fsub f2, f2, f0 -/* 8036A7AC FC 02 08 28 */ fsub f0, f2, f1 -/* 8036A7B0 D8 41 00 10 */ stfd f2, 0x10(r1) -/* 8036A7B4 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A7B8 C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036A7BC FC 02 00 28 */ fsub f0, f2, f0 -/* 8036A7C0 FC 00 08 28 */ fsub f0, f0, f1 -/* 8036A7C4 D8 1E 00 08 */ stfd f0, 8(r30) -lbl_8036A7C8: -/* 8036A7C8 38 60 00 01 */ li r3, 1 -/* 8036A7CC 48 00 02 C4 */ b lbl_8036AA90 -lbl_8036A7D0: -/* 8036A7D0 C8 02 CF 70 */ lfd f0, lit_146(r2) -/* 8036A7D4 3C 06 C0 07 */ addis r0, r6, 0xc007 -/* 8036A7D8 28 00 21 FB */ cmplwi r0, 0x21fb -/* 8036A7DC FC 40 08 2A */ fadd f2, f0, f1 -/* 8036A7E0 D8 41 00 10 */ stfd f2, 0x10(r1) -/* 8036A7E4 41 82 00 24 */ beq lbl_8036A808 -/* 8036A7E8 C8 22 CF 78 */ lfd f1, lit_147(r2) -/* 8036A7EC FC 01 10 2A */ fadd f0, f1, f2 -/* 8036A7F0 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A7F4 C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036A7F8 FC 02 00 28 */ fsub f0, f2, f0 -/* 8036A7FC FC 01 00 2A */ fadd f0, f1, f0 -/* 8036A800 D8 1E 00 08 */ stfd f0, 8(r30) -/* 8036A804 48 00 00 2C */ b lbl_8036A830 -lbl_8036A808: -/* 8036A808 C8 02 CF 80 */ lfd f0, lit_148(r2) -/* 8036A80C C8 22 CF 88 */ lfd f1, lit_149(r2) -/* 8036A810 FC 42 00 2A */ fadd f2, f2, f0 -/* 8036A814 FC 01 10 2A */ fadd f0, f1, f2 -/* 8036A818 D8 41 00 10 */ stfd f2, 0x10(r1) -/* 8036A81C D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A820 C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036A824 FC 02 00 28 */ fsub f0, f2, f0 -/* 8036A828 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036A82C D8 1E 00 08 */ stfd f0, 8(r30) -lbl_8036A830: -/* 8036A830 38 60 FF FF */ li r3, -1 -/* 8036A834 48 00 02 5C */ b lbl_8036AA90 -lbl_8036A838: -/* 8036A838 3C 60 41 39 */ lis r3, 0x4139 /* 0x413921FB@ha */ -/* 8036A83C 38 03 21 FB */ addi r0, r3, 0x21FB /* 0x413921FB@l */ -/* 8036A840 7C 06 00 00 */ cmpw r6, r0 -/* 8036A844 41 81 01 3C */ bgt lbl_8036A980 -/* 8036A848 FC 80 0A 10 */ fabs f4, f1 -/* 8036A84C 3C 00 43 30 */ lis r0, 0x4330 -/* 8036A850 C8 22 CF 98 */ lfd f1, lit_151(r2) -/* 8036A854 C8 02 CF 90 */ lfd f0, lit_150(r2) -/* 8036A858 90 01 00 38 */ stw r0, 0x38(r1) -/* 8036A85C FC 41 01 3A */ fmadd f2, f1, f4, f0 -/* 8036A860 C8 62 CF B8 */ lfd f3, lit_157(r2) -/* 8036A864 C8 22 CF 70 */ lfd f1, lit_146(r2) -/* 8036A868 C8 02 CF 78 */ lfd f0, lit_147(r2) -/* 8036A86C FC 40 10 1E */ fctiwz f2, f2 -/* 8036A870 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 8036A874 80 61 00 34 */ lwz r3, 0x34(r1) -/* 8036A878 6C 60 80 00 */ xoris r0, r3, 0x8000 -/* 8036A87C 2C 03 00 20 */ cmpwi r3, 0x20 -/* 8036A880 90 01 00 3C */ stw r0, 0x3c(r1) -/* 8036A884 C8 41 00 38 */ lfd f2, 0x38(r1) -/* 8036A888 FC A2 18 28 */ fsub f5, f2, f3 -/* 8036A88C FC 81 21 7C */ fnmsub f4, f1, f5, f4 -/* 8036A890 FC 20 01 72 */ fmul f1, f0, f5 -/* 8036A894 40 80 00 2C */ bge lbl_8036A8C0 -/* 8036A898 3C 80 80 3A */ lis r4, npio2_hw@ha /* 0x803A24B8@ha */ -/* 8036A89C 54 60 10 3A */ slwi r0, r3, 2 -/* 8036A8A0 38 84 24 B8 */ addi r4, r4, npio2_hw@l /* 0x803A24B8@l */ -/* 8036A8A4 7C 84 02 14 */ add r4, r4, r0 -/* 8036A8A8 80 04 FF FC */ lwz r0, -4(r4) -/* 8036A8AC 7C 06 00 00 */ cmpw r6, r0 -/* 8036A8B0 41 82 00 10 */ beq lbl_8036A8C0 -/* 8036A8B4 FC 04 08 28 */ fsub f0, f4, f1 -/* 8036A8B8 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A8BC 48 00 00 88 */ b lbl_8036A944 -lbl_8036A8C0: -/* 8036A8C0 FC 04 08 28 */ fsub f0, f4, f1 -/* 8036A8C4 7C C4 A6 70 */ srawi r4, r6, 0x14 -/* 8036A8C8 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A8CC 80 1E 00 00 */ lwz r0, 0(r30) -/* 8036A8D0 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f -/* 8036A8D4 7C 00 20 50 */ subf r0, r0, r4 -/* 8036A8D8 2C 00 00 10 */ cmpwi r0, 0x10 -/* 8036A8DC 40 81 00 68 */ ble lbl_8036A944 -/* 8036A8E0 C8 02 CF 80 */ lfd f0, lit_148(r2) -/* 8036A8E4 FC 60 20 90 */ fmr f3, f4 -/* 8036A8E8 C8 22 CF 88 */ lfd f1, lit_149(r2) -/* 8036A8EC FC 40 01 72 */ fmul f2, f0, f5 -/* 8036A8F0 FC 84 10 28 */ fsub f4, f4, f2 -/* 8036A8F4 FC 03 20 28 */ fsub f0, f3, f4 -/* 8036A8F8 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036A8FC FC 21 01 78 */ fmsub f1, f1, f5, f0 -/* 8036A900 FC 04 08 28 */ fsub f0, f4, f1 -/* 8036A904 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A908 80 1E 00 00 */ lwz r0, 0(r30) -/* 8036A90C 54 00 65 7E */ rlwinm r0, r0, 0xc, 0x15, 0x1f -/* 8036A910 7C 00 20 50 */ subf r0, r0, r4 -/* 8036A914 2C 00 00 31 */ cmpwi r0, 0x31 -/* 8036A918 40 81 00 2C */ ble lbl_8036A944 -/* 8036A91C C8 02 CF A0 */ lfd f0, lit_152(r2) -/* 8036A920 FC 40 20 90 */ fmr f2, f4 -/* 8036A924 C8 22 CF A8 */ lfd f1, lit_153(r2) -/* 8036A928 FC 60 01 72 */ fmul f3, f0, f5 -/* 8036A92C FC 84 18 28 */ fsub f4, f4, f3 -/* 8036A930 FC 02 20 28 */ fsub f0, f2, f4 -/* 8036A934 FC 00 18 28 */ fsub f0, f0, f3 -/* 8036A938 FC 21 01 78 */ fmsub f1, f1, f5, f0 -/* 8036A93C FC 04 08 28 */ fsub f0, f4, f1 -/* 8036A940 D8 1E 00 00 */ stfd f0, 0(r30) -lbl_8036A944: -/* 8036A944 C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036A948 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036A94C FC 04 00 28 */ fsub f0, f4, f0 -/* 8036A950 FC 00 08 28 */ fsub f0, f0, f1 -/* 8036A954 D8 1E 00 08 */ stfd f0, 8(r30) -/* 8036A958 40 80 01 38 */ bge lbl_8036AA90 -/* 8036A95C C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036A960 7C 63 00 D0 */ neg r3, r3 -/* 8036A964 FC 00 00 50 */ fneg f0, f0 -/* 8036A968 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A96C C8 1E 00 08 */ lfd f0, 8(r30) -/* 8036A970 FC 00 00 50 */ fneg f0, f0 -/* 8036A974 D8 1E 00 08 */ stfd f0, 8(r30) -/* 8036A978 48 00 01 18 */ b lbl_8036AA90 -/* 8036A97C 48 00 01 14 */ b lbl_8036AA90 -lbl_8036A980: -/* 8036A980 3C 00 7F F0 */ lis r0, 0x7ff0 -/* 8036A984 7C 06 00 00 */ cmpw r6, r0 -/* 8036A988 41 80 00 18 */ blt lbl_8036A9A0 -/* 8036A98C FC 01 08 28 */ fsub f0, f1, f1 -/* 8036A990 38 60 00 00 */ li r3, 0 -/* 8036A994 D8 1E 00 08 */ stfd f0, 8(r30) -/* 8036A998 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036A99C 48 00 00 F4 */ b lbl_8036AA90 -lbl_8036A9A0: -/* 8036A9A0 7C C3 A6 70 */ srawi r3, r6, 0x14 -/* 8036A9A4 3C 00 43 30 */ lis r0, 0x4330 -/* 8036A9A8 38 A3 FB EA */ addi r5, r3, -1046 -/* 8036A9AC 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8036A9B0 54 A3 A0 16 */ slwi r3, r5, 0x14 -/* 8036A9B4 90 01 00 30 */ stw r0, 0x30(r1) -/* 8036A9B8 7C 63 30 50 */ subf r3, r3, r6 -/* 8036A9BC C8 A2 CF B8 */ lfd f5, lit_157(r2) -/* 8036A9C0 90 81 00 14 */ stw r4, 0x14(r1) -/* 8036A9C4 38 81 00 30 */ addi r4, r1, 0x30 -/* 8036A9C8 C8 82 CF B0 */ lfd f4, lit_154(r2) -/* 8036A9CC 38 C0 00 03 */ li r6, 3 -/* 8036A9D0 90 61 00 10 */ stw r3, 0x10(r1) -/* 8036A9D4 C8 22 CF 68 */ lfd f1, lit_145(r2) -/* 8036A9D8 C8 61 00 10 */ lfd f3, 0x10(r1) -/* 8036A9DC 90 01 00 48 */ stw r0, 0x48(r1) -/* 8036A9E0 FC 00 18 1E */ fctiwz f0, f3 -/* 8036A9E4 D8 01 00 38 */ stfd f0, 0x38(r1) -/* 8036A9E8 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 8036A9EC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036A9F0 90 01 00 34 */ stw r0, 0x34(r1) -/* 8036A9F4 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 8036A9F8 FC 40 28 28 */ fsub f2, f0, f5 -/* 8036A9FC FC 03 10 28 */ fsub f0, f3, f2 -/* 8036AA00 D8 41 00 18 */ stfd f2, 0x18(r1) -/* 8036AA04 FC 64 00 32 */ fmul f3, f4, f0 -/* 8036AA08 FC 00 18 1E */ fctiwz f0, f3 -/* 8036AA0C D8 61 00 10 */ stfd f3, 0x10(r1) -/* 8036AA10 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 8036AA14 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8036AA18 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036AA1C 90 01 00 4C */ stw r0, 0x4c(r1) -/* 8036AA20 C8 01 00 48 */ lfd f0, 0x48(r1) -/* 8036AA24 FC 40 28 28 */ fsub f2, f0, f5 -/* 8036AA28 FC 03 10 28 */ fsub f0, f3, f2 -/* 8036AA2C D8 41 00 20 */ stfd f2, 0x20(r1) -/* 8036AA30 FC 04 00 32 */ fmul f0, f4, f0 -/* 8036AA34 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8036AA38 D8 01 00 28 */ stfd f0, 0x28(r1) -/* 8036AA3C 48 00 00 0C */ b lbl_8036AA48 -lbl_8036AA40: -/* 8036AA40 38 84 FF F8 */ addi r4, r4, -8 -/* 8036AA44 38 C6 FF FF */ addi r6, r6, -1 -lbl_8036AA48: -/* 8036AA48 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036AA4C FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8036AA50 41 82 FF F0 */ beq lbl_8036AA40 -/* 8036AA54 3C 60 80 3A */ lis r3, two_over_pi@ha /* 0x803A23B0@ha */ -/* 8036AA58 7F C4 F3 78 */ mr r4, r30 -/* 8036AA5C 39 03 23 B0 */ addi r8, r3, two_over_pi@l /* 0x803A23B0@l */ -/* 8036AA60 38 E0 00 02 */ li r7, 2 -/* 8036AA64 38 61 00 18 */ addi r3, r1, 0x18 -/* 8036AA68 48 00 01 35 */ bl __kernel_rem_pio2 -/* 8036AA6C 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036AA70 40 80 00 20 */ bge lbl_8036AA90 -/* 8036AA74 C8 1E 00 00 */ lfd f0, 0(r30) -/* 8036AA78 7C 63 00 D0 */ neg r3, r3 -/* 8036AA7C FC 00 00 50 */ fneg f0, f0 -/* 8036AA80 D8 1E 00 00 */ stfd f0, 0(r30) -/* 8036AA84 C8 1E 00 08 */ lfd f0, 8(r30) -/* 8036AA88 FC 00 00 50 */ fneg f0, f0 -/* 8036AA8C D8 1E 00 08 */ stfd f0, 8(r30) -lbl_8036AA90: -/* 8036AA90 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8036AA94 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 8036AA98 83 C1 00 58 */ lwz r30, 0x58(r1) -/* 8036AA9C 7C 08 03 A6 */ mtlr r0 -/* 8036AAA0 38 21 00 60 */ addi r1, r1, 0x60 -/* 8036AAA4 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/e_sqrt/__ieee754_sqrt.s b/asm/MSL_C/Math/Double_precision/e_sqrt/__ieee754_sqrt.s deleted file mode 100644 index e95674b038..0000000000 --- a/asm/MSL_C/Math/Double_precision/e_sqrt/__ieee754_sqrt.s +++ /dev/null @@ -1,160 +0,0 @@ -lbl_8036C7A0: -/* 8036C7A0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8036C7A4 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036C7A8 80 C1 00 08 */ lwz r6, 8(r1) -/* 8036C7AC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8036C7B0 54 C3 00 56 */ rlwinm r3, r6, 0, 1, 0xb -/* 8036C7B4 3C 63 80 10 */ addis r3, r3, 0x8010 -/* 8036C7B8 28 03 00 00 */ cmplwi r3, 0 -/* 8036C7BC 40 82 00 14 */ bne lbl_8036C7D0 -/* 8036C7C0 FC 21 08 7A */ fmadd f1, f1, f1, f1 -/* 8036C7C4 38 00 00 21 */ li r0, 0x21 -/* 8036C7C8 90 0D 94 28 */ stw r0, errno(r13) -/* 8036C7CC 48 00 01 F0 */ b lbl_8036C9BC -lbl_8036C7D0: -/* 8036C7D0 2C 06 00 00 */ cmpwi r6, 0 -/* 8036C7D4 41 81 00 30 */ bgt lbl_8036C804 -/* 8036C7D8 54 C3 00 7E */ clrlwi r3, r6, 1 -/* 8036C7DC 7C 03 1B 79 */ or. r3, r0, r3 -/* 8036C7E0 40 82 00 08 */ bne lbl_8036C7E8 -/* 8036C7E4 48 00 01 D8 */ b lbl_8036C9BC -lbl_8036C7E8: -/* 8036C7E8 2C 06 00 00 */ cmpwi r6, 0 -/* 8036C7EC 40 80 00 18 */ bge lbl_8036C804 -/* 8036C7F0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8036C7F4 38 00 00 21 */ li r0, 0x21 -/* 8036C7F8 90 0D 94 28 */ stw r0, errno(r13) -/* 8036C7FC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8036C800 48 00 01 BC */ b lbl_8036C9BC -lbl_8036C804: -/* 8036C804 7C C3 A6 71 */ srawi. r3, r6, 0x14 -/* 8036C808 40 82 00 50 */ bne lbl_8036C858 -/* 8036C80C 48 00 00 14 */ b lbl_8036C820 -lbl_8036C810: -/* 8036C810 54 04 AA FE */ srwi r4, r0, 0xb -/* 8036C814 54 00 A8 14 */ slwi r0, r0, 0x15 -/* 8036C818 7C C6 23 78 */ or r6, r6, r4 -/* 8036C81C 38 63 FF EB */ addi r3, r3, -21 -lbl_8036C820: -/* 8036C820 2C 06 00 00 */ cmpwi r6, 0 -/* 8036C824 41 82 FF EC */ beq lbl_8036C810 -/* 8036C828 38 E0 00 00 */ li r7, 0 -/* 8036C82C 48 00 00 0C */ b lbl_8036C838 -lbl_8036C830: -/* 8036C830 54 C6 08 3C */ slwi r6, r6, 1 -/* 8036C834 38 E7 00 01 */ addi r7, r7, 1 -lbl_8036C838: -/* 8036C838 54 C4 02 D7 */ rlwinm. r4, r6, 0, 0xb, 0xb -/* 8036C83C 41 82 FF F4 */ beq lbl_8036C830 -/* 8036C840 20 87 00 20 */ subfic r4, r7, 0x20 -/* 8036C844 38 A7 FF FF */ addi r5, r7, -1 -/* 8036C848 7C 04 24 30 */ srw r4, r0, r4 -/* 8036C84C 7C 00 38 30 */ slw r0, r0, r7 -/* 8036C850 7C 65 18 50 */ subf r3, r5, r3 -/* 8036C854 7C C6 23 78 */ or r6, r6, r4 -lbl_8036C858: -/* 8036C858 38 83 FC 01 */ addi r4, r3, -1023 -/* 8036C85C 54 C5 03 3E */ clrlwi r5, r6, 0xc -/* 8036C860 54 84 07 FF */ clrlwi. r4, r4, 0x1f -/* 8036C864 64 A5 00 10 */ oris r5, r5, 0x10 -/* 8036C868 41 82 00 14 */ beq lbl_8036C87C -/* 8036C86C 54 04 0F FE */ srwi r4, r0, 0x1f -/* 8036C870 7C 00 02 14 */ add r0, r0, r0 -/* 8036C874 7C 84 2A 14 */ add r4, r4, r5 -/* 8036C878 7C A5 22 14 */ add r5, r5, r4 -lbl_8036C87C: -/* 8036C87C 54 04 0F FE */ srwi r4, r0, 0x1f -/* 8036C880 7C 00 02 14 */ add r0, r0, r0 -/* 8036C884 7C 84 2A 14 */ add r4, r4, r5 -/* 8036C888 39 20 00 00 */ li r9, 0 -/* 8036C88C 7C A5 22 14 */ add r5, r5, r4 -/* 8036C890 39 60 00 00 */ li r11, 0 -/* 8036C894 39 40 00 00 */ li r10, 0 -/* 8036C898 39 80 00 00 */ li r12, 0 -/* 8036C89C 3C C0 00 20 */ lis r6, 0x20 -/* 8036C8A0 48 00 00 30 */ b lbl_8036C8D0 -lbl_8036C8A4: -/* 8036C8A4 7C 8B 32 14 */ add r4, r11, r6 -/* 8036C8A8 7C 04 28 00 */ cmpw r4, r5 -/* 8036C8AC 41 81 00 10 */ bgt lbl_8036C8BC -/* 8036C8B0 7D 64 32 14 */ add r11, r4, r6 -/* 8036C8B4 7C A4 28 50 */ subf r5, r4, r5 -/* 8036C8B8 7D 8C 32 14 */ add r12, r12, r6 -lbl_8036C8BC: -/* 8036C8BC 54 04 0F FE */ srwi r4, r0, 0x1f -/* 8036C8C0 7C 00 02 14 */ add r0, r0, r0 -/* 8036C8C4 7C 84 2A 14 */ add r4, r4, r5 -/* 8036C8C8 54 C6 F8 7E */ srwi r6, r6, 1 -/* 8036C8CC 7C A5 22 14 */ add r5, r5, r4 -lbl_8036C8D0: -/* 8036C8D0 28 06 00 00 */ cmplwi r6, 0 -/* 8036C8D4 40 82 FF D0 */ bne lbl_8036C8A4 -/* 8036C8D8 3C C0 80 00 */ lis r6, 0x8000 -/* 8036C8DC 48 00 00 6C */ b lbl_8036C948 -lbl_8036C8E0: -/* 8036C8E0 7C 0B 28 00 */ cmpw r11, r5 -/* 8036C8E4 7D 67 5B 78 */ mr r7, r11 -/* 8036C8E8 7D 09 32 14 */ add r8, r9, r6 -/* 8036C8EC 41 80 00 10 */ blt lbl_8036C8FC -/* 8036C8F0 40 82 00 44 */ bne lbl_8036C934 -/* 8036C8F4 7C 08 00 40 */ cmplw r8, r0 -/* 8036C8F8 41 81 00 3C */ bgt lbl_8036C934 -lbl_8036C8FC: -/* 8036C8FC 55 04 00 00 */ rlwinm r4, r8, 0, 0, 0 -/* 8036C900 7D 28 32 14 */ add r9, r8, r6 -/* 8036C904 3C 84 80 00 */ addis r4, r4, 0x8000 -/* 8036C908 28 04 00 00 */ cmplwi r4, 0 -/* 8036C90C 40 82 00 10 */ bne lbl_8036C91C -/* 8036C910 55 24 00 01 */ rlwinm. r4, r9, 0, 0, 0 -/* 8036C914 40 82 00 08 */ bne lbl_8036C91C -/* 8036C918 39 6B 00 01 */ addi r11, r11, 1 -lbl_8036C91C: -/* 8036C91C 7C 00 40 40 */ cmplw r0, r8 -/* 8036C920 7C A7 28 50 */ subf r5, r7, r5 -/* 8036C924 40 80 00 08 */ bge lbl_8036C92C -/* 8036C928 38 A5 FF FF */ addi r5, r5, -1 -lbl_8036C92C: -/* 8036C92C 7C 08 00 50 */ subf r0, r8, r0 -/* 8036C930 7D 4A 32 14 */ add r10, r10, r6 -lbl_8036C934: -/* 8036C934 54 04 0F FE */ srwi r4, r0, 0x1f -/* 8036C938 7C 00 02 14 */ add r0, r0, r0 -/* 8036C93C 7C 84 2A 14 */ add r4, r4, r5 -/* 8036C940 54 C6 F8 7E */ srwi r6, r6, 1 -/* 8036C944 7C A5 22 14 */ add r5, r5, r4 -lbl_8036C948: -/* 8036C948 28 06 00 00 */ cmplwi r6, 0 -/* 8036C94C 40 82 FF 94 */ bne lbl_8036C8E0 -/* 8036C950 7C A0 03 79 */ or. r0, r5, r0 -/* 8036C954 41 82 00 30 */ beq lbl_8036C984 -/* 8036C958 C8 02 D1 48 */ lfd f0, lit_164(r2) -/* 8036C95C 3C 0A 00 01 */ addis r0, r10, 1 -/* 8036C960 28 00 FF FF */ cmplwi r0, 0xffff -/* 8036C964 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8036C968 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8036C96C 40 82 00 10 */ bne lbl_8036C97C -/* 8036C970 39 40 00 00 */ li r10, 0 -/* 8036C974 39 8C 00 01 */ addi r12, r12, 1 -/* 8036C978 48 00 00 0C */ b lbl_8036C984 -lbl_8036C97C: -/* 8036C97C 55 40 07 FE */ clrlwi r0, r10, 0x1f -/* 8036C980 7D 4A 02 14 */ add r10, r10, r0 -lbl_8036C984: -/* 8036C984 55 80 07 FE */ clrlwi r0, r12, 0x1f -/* 8036C988 7D 84 0E 70 */ srawi r4, r12, 1 -/* 8036C98C 2C 00 00 01 */ cmpwi r0, 1 -/* 8036C990 55 45 F8 7E */ srwi r5, r10, 1 -/* 8036C994 3C 84 3F E0 */ addis r4, r4, 0x3fe0 -/* 8036C998 40 82 00 08 */ bne lbl_8036C9A0 -/* 8036C99C 64 A5 80 00 */ oris r5, r5, 0x8000 -lbl_8036C9A0: -/* 8036C9A0 38 03 FC 01 */ addi r0, r3, -1023 -/* 8036C9A4 90 A1 00 14 */ stw r5, 0x14(r1) -/* 8036C9A8 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8036C9AC 54 00 A0 16 */ slwi r0, r0, 0x14 -/* 8036C9B0 7C 84 02 14 */ add r4, r4, r0 -/* 8036C9B4 90 81 00 10 */ stw r4, 0x10(r1) -/* 8036C9B8 C8 21 00 10 */ lfd f1, 0x10(r1) -lbl_8036C9BC: -/* 8036C9BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8036C9C0 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/k_cos/__kernel_cos.s b/asm/MSL_C/Math/Double_precision/k_cos/__kernel_cos.s deleted file mode 100644 index c270538ddf..0000000000 --- a/asm/MSL_C/Math/Double_precision/k_cos/__kernel_cos.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_8036AAA8: -/* 8036AAA8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8036AAAC 3C 00 3E 40 */ lis r0, 0x3e40 -/* 8036AAB0 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036AAB4 80 61 00 08 */ lwz r3, 8(r1) -/* 8036AAB8 54 64 00 7E */ clrlwi r4, r3, 1 -/* 8036AABC 7C 04 00 00 */ cmpw r4, r0 -/* 8036AAC0 40 80 00 20 */ bge lbl_8036AAE0 -/* 8036AAC4 FC 00 08 1E */ fctiwz f0, f1 -/* 8036AAC8 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8036AACC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8036AAD0 2C 00 00 00 */ cmpwi r0, 0 -/* 8036AAD4 40 82 00 0C */ bne lbl_8036AAE0 -/* 8036AAD8 C8 22 CF C0 */ lfd f1, lit_65(r2) -/* 8036AADC 48 00 00 B8 */ b lbl_8036AB94 -lbl_8036AAE0: -/* 8036AAE0 C8 C1 00 08 */ lfd f6, 8(r1) -/* 8036AAE4 3C 60 3F D3 */ lis r3, 0x3FD3 /* 0x3FD33333@ha */ -/* 8036AAE8 38 03 33 33 */ addi r0, r3, 0x3333 /* 0x3FD33333@l */ -/* 8036AAEC C8 A2 CF F0 */ lfd f5, lit_71(r2) -/* 8036AAF0 FC E6 01 B2 */ fmul f7, f6, f6 -/* 8036AAF4 C8 02 CF E8 */ lfd f0, lit_70(r2) -/* 8036AAF8 C8 82 CF E0 */ lfd f4, lit_69(r2) -/* 8036AAFC 7C 04 00 00 */ cmpw r4, r0 -/* 8036AB00 C8 62 CF D8 */ lfd f3, lit_68(r2) -/* 8036AB04 C8 22 CF D0 */ lfd f1, lit_67(r2) -/* 8036AB08 FC A5 01 FA */ fmadd f5, f5, f7, f0 -/* 8036AB0C C8 02 CF C8 */ lfd f0, lit_66(r2) -/* 8036AB10 FC 87 21 7A */ fmadd f4, f7, f5, f4 -/* 8036AB14 FC 67 19 3A */ fmadd f3, f7, f4, f3 -/* 8036AB18 FC 27 08 FA */ fmadd f1, f7, f3, f1 -/* 8036AB1C FC 07 00 7A */ fmadd f0, f7, f1, f0 -/* 8036AB20 FC 87 00 32 */ fmul f4, f7, f0 -/* 8036AB24 40 80 00 20 */ bge lbl_8036AB44 -/* 8036AB28 FC 06 00 B2 */ fmul f0, f6, f2 -/* 8036AB2C C8 22 CF F8 */ lfd f1, lit_72(r2) -/* 8036AB30 C8 42 CF C0 */ lfd f2, lit_65(r2) -/* 8036AB34 FC 07 01 38 */ fmsub f0, f7, f4, f0 -/* 8036AB38 FC 01 01 F8 */ fmsub f0, f1, f7, f0 -/* 8036AB3C FC 22 00 28 */ fsub f1, f2, f0 -/* 8036AB40 48 00 00 54 */ b lbl_8036AB94 -lbl_8036AB44: -/* 8036AB44 3C 00 3F E9 */ lis r0, 0x3fe9 -/* 8036AB48 7C 04 00 00 */ cmpw r4, r0 -/* 8036AB4C 40 81 00 10 */ ble lbl_8036AB5C -/* 8036AB50 C8 02 D0 00 */ lfd f0, lit_73(r2) -/* 8036AB54 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8036AB58 48 00 00 14 */ b lbl_8036AB6C -lbl_8036AB5C: -/* 8036AB5C 3C 64 FF E0 */ addis r3, r4, 0xffe0 -/* 8036AB60 38 00 00 00 */ li r0, 0 -/* 8036AB64 90 61 00 10 */ stw r3, 0x10(r1) -/* 8036AB68 90 01 00 14 */ stw r0, 0x14(r1) -lbl_8036AB6C: -/* 8036AB6C C8 01 00 08 */ lfd f0, 8(r1) -/* 8036AB70 C8 61 00 10 */ lfd f3, 0x10(r1) -/* 8036AB74 FC 00 00 B2 */ fmul f0, f0, f2 -/* 8036AB78 C8 22 CF F8 */ lfd f1, lit_72(r2) -/* 8036AB7C C8 42 CF C0 */ lfd f2, lit_65(r2) -/* 8036AB80 FC 21 19 F8 */ fmsub f1, f1, f7, f3 -/* 8036AB84 FC 07 01 38 */ fmsub f0, f7, f4, f0 -/* 8036AB88 FC 42 18 28 */ fsub f2, f2, f3 -/* 8036AB8C FC 01 00 28 */ fsub f0, f1, f0 -/* 8036AB90 FC 22 00 28 */ fsub f1, f2, f0 -lbl_8036AB94: -/* 8036AB94 38 21 00 20 */ addi r1, r1, 0x20 -/* 8036AB98 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/k_rem_pio2/__kernel_rem_pio2.s b/asm/MSL_C/Math/Double_precision/k_rem_pio2/__kernel_rem_pio2.s deleted file mode 100644 index 42ace5cbd8..0000000000 --- a/asm/MSL_C/Math/Double_precision/k_rem_pio2/__kernel_rem_pio2.s +++ /dev/null @@ -1,1007 +0,0 @@ -lbl_8036AB9C: -/* 8036AB9C 94 21 FD 30 */ stwu r1, -0x2d0(r1) -/* 8036ABA0 7C 08 02 A6 */ mflr r0 -/* 8036ABA4 90 01 02 D4 */ stw r0, 0x2d4(r1) -/* 8036ABA8 39 61 02 D0 */ addi r11, r1, 0x2d0 -/* 8036ABAC 4B FF 75 89 */ bl _savefpr_25 -/* 8036ABB0 BE 01 02 58 */ stmw r16, 0x258(r1) -/* 8036ABB4 3D 20 2A AB */ lis r9, 0x2AAB /* 0x2AAAAAAB@ha */ -/* 8036ABB8 7C F7 3B 78 */ mr r23, r7 -/* 8036ABBC 38 05 FF FD */ addi r0, r5, -3 -/* 8036ABC0 3D 40 80 3A */ lis r10, init_jk@ha /* 0x803A2538@ha */ -/* 8036ABC4 38 E9 AA AB */ addi r7, r9, 0xAAAB /* 0x2AAAAAAB@l */ -/* 8036ABC8 56 E9 10 3A */ slwi r9, r23, 2 -/* 8036ABCC 7C 07 00 96 */ mulhw r0, r7, r0 -/* 8036ABD0 38 EA 25 38 */ addi r7, r10, init_jk@l /* 0x803A2538@l */ -/* 8036ABD4 7F 87 48 2E */ lwzx r28, r7, r9 -/* 8036ABD8 7C 75 1B 78 */ mr r21, r3 -/* 8036ABDC 7C 96 23 78 */ mr r22, r4 -/* 8036ABE0 7D 18 43 78 */ mr r24, r8 -/* 8036ABE4 7C 00 16 70 */ srawi r0, r0, 2 -/* 8036ABE8 3B C6 FF FF */ addi r30, r6, -1 -/* 8036ABEC 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8036ABF0 7F A0 1A 15 */ add. r29, r0, r3 -/* 8036ABF4 40 80 00 08 */ bge lbl_8036ABFC -/* 8036ABF8 3B A0 00 00 */ li r29, 0 -lbl_8036ABFC: -/* 8036ABFC 38 1D 00 01 */ addi r0, r29, 1 -/* 8036AC00 7C FE E2 15 */ add. r7, r30, r28 -/* 8036AC04 1C 80 00 18 */ mulli r4, r0, 0x18 -/* 8036AC08 7C DE E8 50 */ subf r6, r30, r29 -/* 8036AC0C C8 22 D0 40 */ lfd f1, lit_445(r2) -/* 8036AC10 54 C3 10 3A */ slwi r3, r6, 2 -/* 8036AC14 7F 44 28 50 */ subf r26, r4, r5 -/* 8036AC18 38 07 00 01 */ addi r0, r7, 1 -/* 8036AC1C 7C 98 1A 14 */ add r4, r24, r3 -/* 8036AC20 38 A1 01 98 */ addi r5, r1, 0x198 -/* 8036AC24 3C 60 43 30 */ lis r3, 0x4330 -/* 8036AC28 7C 09 03 A6 */ mtctr r0 -/* 8036AC2C 41 80 00 40 */ blt lbl_8036AC6C -lbl_8036AC30: -/* 8036AC30 2C 06 00 00 */ cmpwi r6, 0 -/* 8036AC34 40 80 00 0C */ bge lbl_8036AC40 -/* 8036AC38 C8 02 D0 08 */ lfd f0, lit_436(r2) -/* 8036AC3C 48 00 00 1C */ b lbl_8036AC58 -lbl_8036AC40: -/* 8036AC40 80 04 00 00 */ lwz r0, 0(r4) -/* 8036AC44 90 61 02 38 */ stw r3, 0x238(r1) -/* 8036AC48 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036AC4C 90 01 02 3C */ stw r0, 0x23c(r1) -/* 8036AC50 C8 01 02 38 */ lfd f0, 0x238(r1) -/* 8036AC54 FC 00 08 28 */ fsub f0, f0, f1 -lbl_8036AC58: -/* 8036AC58 D8 05 00 00 */ stfd f0, 0(r5) -/* 8036AC5C 38 A5 00 08 */ addi r5, r5, 8 -/* 8036AC60 38 84 00 04 */ addi r4, r4, 4 -/* 8036AC64 38 C6 00 01 */ addi r6, r6, 1 -/* 8036AC68 42 00 FF C8 */ bdnz lbl_8036AC30 -lbl_8036AC6C: -/* 8036AC6C 38 A1 00 58 */ addi r5, r1, 0x58 -/* 8036AC70 38 E0 00 00 */ li r7, 0 -/* 8036AC74 48 00 01 5C */ b lbl_8036ADD0 -lbl_8036AC78: -/* 8036AC78 2C 1E 00 00 */ cmpwi r30, 0 -/* 8036AC7C C8 82 D0 08 */ lfd f4, lit_436(r2) -/* 8036AC80 38 C0 00 00 */ li r6, 0 -/* 8036AC84 41 80 01 40 */ blt lbl_8036ADC4 -/* 8036AC88 38 1E 00 01 */ addi r0, r30, 1 -/* 8036AC8C 39 3E FF F8 */ addi r9, r30, -8 -/* 8036AC90 2C 00 00 08 */ cmpwi r0, 8 -/* 8036AC94 40 81 00 EC */ ble lbl_8036AD80 -/* 8036AC98 39 09 00 08 */ addi r8, r9, 8 -/* 8036AC9C 7E A4 AB 78 */ mr r4, r21 -/* 8036ACA0 55 08 E8 FE */ srwi r8, r8, 3 -/* 8036ACA4 7C 1E 3A 14 */ add r0, r30, r7 -/* 8036ACA8 38 61 01 98 */ addi r3, r1, 0x198 -/* 8036ACAC 7D 09 03 A6 */ mtctr r8 -/* 8036ACB0 2C 09 00 00 */ cmpwi r9, 0 -/* 8036ACB4 41 80 00 CC */ blt lbl_8036AD80 -lbl_8036ACB8: -/* 8036ACB8 7D 06 00 50 */ subf r8, r6, r0 -/* 8036ACBC 39 26 00 01 */ addi r9, r6, 1 -/* 8036ACC0 55 0A 18 38 */ slwi r10, r8, 3 -/* 8036ACC4 C8 24 00 00 */ lfd f1, 0(r4) -/* 8036ACC8 7C 03 54 AE */ lfdx f0, r3, r10 -/* 8036ACCC 7D 29 00 50 */ subf r9, r9, r0 -/* 8036ACD0 55 2A 18 38 */ slwi r10, r9, 3 -/* 8036ACD4 39 06 00 02 */ addi r8, r6, 2 -/* 8036ACD8 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036ACDC 7D 28 00 50 */ subf r9, r8, r0 -/* 8036ACE0 39 06 00 03 */ addi r8, r6, 3 -/* 8036ACE4 C8 24 00 08 */ lfd f1, 8(r4) -/* 8036ACE8 7C 03 54 AE */ lfdx f0, r3, r10 -/* 8036ACEC 7D 08 00 50 */ subf r8, r8, r0 -/* 8036ACF0 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036ACF4 55 29 18 38 */ slwi r9, r9, 3 -/* 8036ACF8 C8 24 00 10 */ lfd f1, 0x10(r4) -/* 8036ACFC 55 0A 18 38 */ slwi r10, r8, 3 -/* 8036AD00 7C 03 4C AE */ lfdx f0, r3, r9 -/* 8036AD04 39 06 00 04 */ addi r8, r6, 4 -/* 8036AD08 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036AD0C C8 24 00 18 */ lfd f1, 0x18(r4) -/* 8036AD10 7C 03 54 AE */ lfdx f0, r3, r10 -/* 8036AD14 7D 28 00 50 */ subf r9, r8, r0 -/* 8036AD18 55 2A 18 38 */ slwi r10, r9, 3 -/* 8036AD1C 39 06 00 05 */ addi r8, r6, 5 -/* 8036AD20 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036AD24 C8 44 00 20 */ lfd f2, 0x20(r4) -/* 8036AD28 7C 03 54 AE */ lfdx f0, r3, r10 -/* 8036AD2C 7D 08 00 50 */ subf r8, r8, r0 -/* 8036AD30 55 0A 18 38 */ slwi r10, r8, 3 -/* 8036AD34 39 26 00 06 */ addi r9, r6, 6 -/* 8036AD38 FC 82 20 3A */ fmadd f4, f2, f0, f4 -/* 8036AD3C 7D 29 00 50 */ subf r9, r9, r0 -/* 8036AD40 55 29 18 38 */ slwi r9, r9, 3 -/* 8036AD44 C8 24 00 28 */ lfd f1, 0x28(r4) -/* 8036AD48 7C 03 54 AE */ lfdx f0, r3, r10 -/* 8036AD4C 39 06 00 07 */ addi r8, r6, 7 -/* 8036AD50 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036AD54 7D 08 00 50 */ subf r8, r8, r0 -/* 8036AD58 55 08 18 38 */ slwi r8, r8, 3 -/* 8036AD5C C8 64 00 30 */ lfd f3, 0x30(r4) -/* 8036AD60 7C 43 4C AE */ lfdx f2, r3, r9 -/* 8036AD64 38 C6 00 08 */ addi r6, r6, 8 -/* 8036AD68 C8 24 00 38 */ lfd f1, 0x38(r4) -/* 8036AD6C FC 83 20 BA */ fmadd f4, f3, f2, f4 -/* 8036AD70 7C 03 44 AE */ lfdx f0, r3, r8 -/* 8036AD74 38 84 00 40 */ addi r4, r4, 0x40 -/* 8036AD78 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036AD7C 42 00 FF 3C */ bdnz lbl_8036ACB8 -lbl_8036AD80: -/* 8036AD80 38 1E 00 01 */ addi r0, r30, 1 -/* 8036AD84 54 C3 18 38 */ slwi r3, r6, 3 -/* 8036AD88 7C 06 00 50 */ subf r0, r6, r0 -/* 8036AD8C 7D 1E 3A 14 */ add r8, r30, r7 -/* 8036AD90 7C 95 1A 14 */ add r4, r21, r3 -/* 8036AD94 38 61 01 98 */ addi r3, r1, 0x198 -/* 8036AD98 7C 09 03 A6 */ mtctr r0 -/* 8036AD9C 7C 06 F0 00 */ cmpw r6, r30 -/* 8036ADA0 41 81 00 24 */ bgt lbl_8036ADC4 -lbl_8036ADA4: -/* 8036ADA4 7C 06 40 50 */ subf r0, r6, r8 -/* 8036ADA8 C8 24 00 00 */ lfd f1, 0(r4) -/* 8036ADAC 54 00 18 38 */ slwi r0, r0, 3 -/* 8036ADB0 38 84 00 08 */ addi r4, r4, 8 -/* 8036ADB4 7C 03 04 AE */ lfdx f0, r3, r0 -/* 8036ADB8 38 C6 00 01 */ addi r6, r6, 1 -/* 8036ADBC FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036ADC0 42 00 FF E4 */ bdnz lbl_8036ADA4 -lbl_8036ADC4: -/* 8036ADC4 D8 85 00 00 */ stfd f4, 0(r5) -/* 8036ADC8 38 A5 00 08 */ addi r5, r5, 8 -/* 8036ADCC 38 E7 00 01 */ addi r7, r7, 1 -lbl_8036ADD0: -/* 8036ADD0 7C 07 E0 00 */ cmpw r7, r28 -/* 8036ADD4 40 81 FE A4 */ ble lbl_8036AC78 -/* 8036ADD8 22 5A 00 18 */ subfic r18, r26, 0x18 -/* 8036ADDC CB 42 D0 10 */ lfd f26, lit_437(r2) -/* 8036ADE0 CB 62 D0 40 */ lfd f27, lit_445(r2) -/* 8036ADE4 3A 01 00 08 */ addi r16, r1, 8 -/* 8036ADE8 CB 82 D0 18 */ lfd f28, lit_438(r2) -/* 8036ADEC 7F 9F E3 78 */ mr r31, r28 -/* 8036ADF0 CB A2 D0 28 */ lfd f29, lit_440(r2) -/* 8036ADF4 22 3A 00 17 */ subfic r17, r26, 0x17 -/* 8036ADF8 CB C2 D0 20 */ lfd f30, lit_439(r2) -/* 8036ADFC 3A 81 01 98 */ addi r20, r1, 0x198 -/* 8036AE00 CB E2 D0 08 */ lfd f31, lit_436(r2) -/* 8036AE04 3E 60 43 30 */ lis r19, 0x4330 -lbl_8036AE08: -/* 8036AE08 57 E0 18 38 */ slwi r0, r31, 3 -/* 8036AE0C 38 A1 00 58 */ addi r5, r1, 0x58 -/* 8036AE10 7C A5 02 14 */ add r5, r5, r0 -/* 8036AE14 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036AE18 C8 25 00 00 */ lfd f1, 0(r5) -/* 8036AE1C 7E 04 83 78 */ mr r4, r16 -/* 8036AE20 7F E3 FB 78 */ mr r3, r31 -/* 8036AE24 40 81 00 EC */ ble lbl_8036AF10 -/* 8036AE28 57 E0 F8 7F */ rlwinm. r0, r31, 0x1f, 1, 0x1f -/* 8036AE2C 7C 09 03 A6 */ mtctr r0 -/* 8036AE30 41 82 00 94 */ beq lbl_8036AEC4 -lbl_8036AE34: -/* 8036AE34 FC 7A 00 72 */ fmul f3, f26, f1 -/* 8036AE38 92 61 02 40 */ stw r19, 0x240(r1) -/* 8036AE3C C8 05 FF F8 */ lfd f0, -8(r5) -/* 8036AE40 FC 40 18 1E */ fctiwz f2, f3 -/* 8036AE44 D8 41 02 38 */ stfd f2, 0x238(r1) -/* 8036AE48 80 01 02 3C */ lwz r0, 0x23c(r1) -/* 8036AE4C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036AE50 90 01 02 44 */ stw r0, 0x244(r1) -/* 8036AE54 C8 41 02 40 */ lfd f2, 0x240(r1) -/* 8036AE58 FC 62 D8 28 */ fsub f3, f2, f27 -/* 8036AE5C 92 61 02 40 */ stw r19, 0x240(r1) -/* 8036AE60 FC 5C 08 FC */ fnmsub f2, f28, f3, f1 -/* 8036AE64 FC 23 00 2A */ fadd f1, f3, f0 -/* 8036AE68 CC 05 FF F0 */ lfdu f0, -0x10(r5) -/* 8036AE6C FC 40 10 1E */ fctiwz f2, f2 -/* 8036AE70 FC 7A 00 72 */ fmul f3, f26, f1 -/* 8036AE74 D8 41 02 48 */ stfd f2, 0x248(r1) -/* 8036AE78 FC 40 18 1E */ fctiwz f2, f3 -/* 8036AE7C 80 01 02 4C */ lwz r0, 0x24c(r1) -/* 8036AE80 90 04 00 00 */ stw r0, 0(r4) -/* 8036AE84 D8 41 02 38 */ stfd f2, 0x238(r1) -/* 8036AE88 80 01 02 3C */ lwz r0, 0x23c(r1) -/* 8036AE8C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036AE90 90 01 02 44 */ stw r0, 0x244(r1) -/* 8036AE94 C8 41 02 40 */ lfd f2, 0x240(r1) -/* 8036AE98 FC 62 D8 28 */ fsub f3, f2, f27 -/* 8036AE9C FC 5C 08 FC */ fnmsub f2, f28, f3, f1 -/* 8036AEA0 FC 23 00 2A */ fadd f1, f3, f0 -/* 8036AEA4 FC 40 10 1E */ fctiwz f2, f2 -/* 8036AEA8 D8 41 02 48 */ stfd f2, 0x248(r1) -/* 8036AEAC 80 01 02 4C */ lwz r0, 0x24c(r1) -/* 8036AEB0 90 04 00 04 */ stw r0, 4(r4) -/* 8036AEB4 38 84 00 08 */ addi r4, r4, 8 -/* 8036AEB8 42 00 FF 7C */ bdnz lbl_8036AE34 -/* 8036AEBC 70 63 00 01 */ andi. r3, r3, 1 -/* 8036AEC0 41 82 00 50 */ beq lbl_8036AF10 -lbl_8036AEC4: -/* 8036AEC4 7C 69 03 A6 */ mtctr r3 -lbl_8036AEC8: -/* 8036AEC8 FC 7A 00 72 */ fmul f3, f26, f1 -/* 8036AECC 92 61 02 40 */ stw r19, 0x240(r1) -/* 8036AED0 CC 05 FF F8 */ lfdu f0, -8(r5) -/* 8036AED4 FC 40 18 1E */ fctiwz f2, f3 -/* 8036AED8 D8 41 02 38 */ stfd f2, 0x238(r1) -/* 8036AEDC 80 01 02 3C */ lwz r0, 0x23c(r1) -/* 8036AEE0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036AEE4 90 01 02 44 */ stw r0, 0x244(r1) -/* 8036AEE8 C8 41 02 40 */ lfd f2, 0x240(r1) -/* 8036AEEC FC 62 D8 28 */ fsub f3, f2, f27 -/* 8036AEF0 FC 5C 08 FC */ fnmsub f2, f28, f3, f1 -/* 8036AEF4 FC 23 00 2A */ fadd f1, f3, f0 -/* 8036AEF8 FC 40 10 1E */ fctiwz f2, f2 -/* 8036AEFC D8 41 02 48 */ stfd f2, 0x248(r1) -/* 8036AF00 80 01 02 4C */ lwz r0, 0x24c(r1) -/* 8036AF04 90 04 00 00 */ stw r0, 0(r4) -/* 8036AF08 38 84 00 04 */ addi r4, r4, 4 -/* 8036AF0C 42 00 FF BC */ bdnz lbl_8036AEC8 -lbl_8036AF10: -/* 8036AF10 7F 43 D3 78 */ mr r3, r26 -/* 8036AF14 48 00 13 BD */ bl ldexp -/* 8036AF18 FF 20 08 90 */ fmr f25, f1 -/* 8036AF1C FC 3D 06 72 */ fmul f1, f29, f25 -/* 8036AF20 48 00 11 DD */ bl floor -/* 8036AF24 FF 3E C8 7C */ fnmsub f25, f30, f1, f25 -/* 8036AF28 92 61 02 40 */ stw r19, 0x240(r1) -/* 8036AF2C 2C 1A 00 00 */ cmpwi r26, 0 -/* 8036AF30 3B 20 00 00 */ li r25, 0 -/* 8036AF34 FC 00 C8 1E */ fctiwz f0, f25 -/* 8036AF38 D8 01 02 48 */ stfd f0, 0x248(r1) -/* 8036AF3C 83 61 02 4C */ lwz r27, 0x24c(r1) -/* 8036AF40 6F 60 80 00 */ xoris r0, r27, 0x8000 -/* 8036AF44 90 01 02 44 */ stw r0, 0x244(r1) -/* 8036AF48 C8 01 02 40 */ lfd f0, 0x240(r1) -/* 8036AF4C FC 00 D8 28 */ fsub f0, f0, f27 -/* 8036AF50 FF 39 00 28 */ fsub f25, f25, f0 -/* 8036AF54 40 81 00 34 */ ble lbl_8036AF88 -/* 8036AF58 57 E3 10 3A */ slwi r3, r31, 2 -/* 8036AF5C 38 81 00 08 */ addi r4, r1, 8 -/* 8036AF60 38 A3 FF FC */ addi r5, r3, -4 -/* 8036AF64 7C 64 28 2E */ lwzx r3, r4, r5 -/* 8036AF68 7C 66 96 30 */ sraw r6, r3, r18 -/* 8036AF6C 7C C0 90 30 */ slw r0, r6, r18 -/* 8036AF70 7C 00 18 50 */ subf r0, r0, r3 -/* 8036AF74 7F 7B 32 14 */ add r27, r27, r6 -/* 8036AF78 7C 04 29 2E */ stwx r0, r4, r5 -/* 8036AF7C 7C 04 28 2E */ lwzx r0, r4, r5 -/* 8036AF80 7C 19 8E 30 */ sraw r25, r0, r17 -/* 8036AF84 48 00 00 34 */ b lbl_8036AFB8 -lbl_8036AF88: -/* 8036AF88 40 82 00 1C */ bne lbl_8036AFA4 -/* 8036AF8C 57 E4 10 3A */ slwi r4, r31, 2 -/* 8036AF90 38 61 00 08 */ addi r3, r1, 8 -/* 8036AF94 38 04 FF FC */ addi r0, r4, -4 -/* 8036AF98 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8036AF9C 7C 19 BE 70 */ srawi r25, r0, 0x17 -/* 8036AFA0 48 00 00 18 */ b lbl_8036AFB8 -lbl_8036AFA4: -/* 8036AFA4 C8 02 D0 30 */ lfd f0, lit_441(r2) -/* 8036AFA8 FC 19 00 40 */ fcmpo cr0, f25, f0 -/* 8036AFAC 4C 41 13 82 */ cror 2, 1, 2 -/* 8036AFB0 40 82 00 08 */ bne lbl_8036AFB8 -/* 8036AFB4 3B 20 00 02 */ li r25, 2 -lbl_8036AFB8: -/* 8036AFB8 2C 19 00 00 */ cmpwi r25, 0 -/* 8036AFBC 40 81 00 D0 */ ble lbl_8036B08C -/* 8036AFC0 3C A0 01 00 */ lis r5, 0x0100 /* 0x00FFFFFF@ha */ -/* 8036AFC4 7E 06 83 78 */ mr r6, r16 -/* 8036AFC8 38 00 00 00 */ li r0, 0 -/* 8036AFCC 38 85 FF FF */ addi r4, r5, 0xFFFF /* 0x00FFFFFF@l */ -/* 8036AFD0 7F E9 03 A6 */ mtctr r31 -/* 8036AFD4 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036AFD8 3B 7B 00 01 */ addi r27, r27, 1 -/* 8036AFDC 40 81 00 38 */ ble lbl_8036B014 -lbl_8036AFE0: -/* 8036AFE0 2C 00 00 00 */ cmpwi r0, 0 -/* 8036AFE4 80 66 00 00 */ lwz r3, 0(r6) -/* 8036AFE8 40 82 00 1C */ bne lbl_8036B004 -/* 8036AFEC 2C 03 00 00 */ cmpwi r3, 0 -/* 8036AFF0 41 82 00 1C */ beq lbl_8036B00C -/* 8036AFF4 7C 63 28 50 */ subf r3, r3, r5 -/* 8036AFF8 38 00 00 01 */ li r0, 1 -/* 8036AFFC 90 66 00 00 */ stw r3, 0(r6) -/* 8036B000 48 00 00 0C */ b lbl_8036B00C -lbl_8036B004: -/* 8036B004 7C 63 20 50 */ subf r3, r3, r4 -/* 8036B008 90 66 00 00 */ stw r3, 0(r6) -lbl_8036B00C: -/* 8036B00C 38 C6 00 04 */ addi r6, r6, 4 -/* 8036B010 42 00 FF D0 */ bdnz lbl_8036AFE0 -lbl_8036B014: -/* 8036B014 2C 1A 00 00 */ cmpwi r26, 0 -/* 8036B018 40 81 00 50 */ ble lbl_8036B068 -/* 8036B01C 2C 1A 00 02 */ cmpwi r26, 2 -/* 8036B020 41 82 00 30 */ beq lbl_8036B050 -/* 8036B024 40 80 00 44 */ bge lbl_8036B068 -/* 8036B028 2C 1A 00 01 */ cmpwi r26, 1 -/* 8036B02C 40 80 00 08 */ bge lbl_8036B034 -/* 8036B030 48 00 00 38 */ b lbl_8036B068 -lbl_8036B034: -/* 8036B034 57 E3 10 3A */ slwi r3, r31, 2 -/* 8036B038 38 A1 00 08 */ addi r5, r1, 8 -/* 8036B03C 38 83 FF FC */ addi r4, r3, -4 -/* 8036B040 7C 65 20 2E */ lwzx r3, r5, r4 -/* 8036B044 54 63 02 7E */ clrlwi r3, r3, 9 -/* 8036B048 7C 65 21 2E */ stwx r3, r5, r4 -/* 8036B04C 48 00 00 1C */ b lbl_8036B068 -lbl_8036B050: -/* 8036B050 57 E3 10 3A */ slwi r3, r31, 2 -/* 8036B054 38 A1 00 08 */ addi r5, r1, 8 -/* 8036B058 38 83 FF FC */ addi r4, r3, -4 -/* 8036B05C 7C 65 20 2E */ lwzx r3, r5, r4 -/* 8036B060 54 63 02 BE */ clrlwi r3, r3, 0xa -/* 8036B064 7C 65 21 2E */ stwx r3, r5, r4 -lbl_8036B068: -/* 8036B068 2C 19 00 02 */ cmpwi r25, 2 -/* 8036B06C 40 82 00 20 */ bne lbl_8036B08C -/* 8036B070 C8 22 D0 38 */ lfd f1, lit_442(r2) -/* 8036B074 2C 00 00 00 */ cmpwi r0, 0 -/* 8036B078 FF 21 C8 28 */ fsub f25, f1, f25 -/* 8036B07C 41 82 00 10 */ beq lbl_8036B08C -/* 8036B080 7F 43 D3 78 */ mr r3, r26 -/* 8036B084 48 00 12 4D */ bl ldexp -/* 8036B088 FF 39 08 28 */ fsub f25, f25, f1 -lbl_8036B08C: -/* 8036B08C FC 1F C8 00 */ fcmpu cr0, f31, f25 -/* 8036B090 40 82 02 64 */ bne lbl_8036B2F4 -/* 8036B094 38 7F FF FF */ addi r3, r31, -1 -/* 8036B098 38 81 00 08 */ addi r4, r1, 8 -/* 8036B09C 7C 03 E0 00 */ cmpw r3, r28 -/* 8036B0A0 38 A0 00 00 */ li r5, 0 -/* 8036B0A4 54 60 10 3A */ slwi r0, r3, 2 -/* 8036B0A8 38 63 00 01 */ addi r3, r3, 1 -/* 8036B0AC 7C 84 02 14 */ add r4, r4, r0 -/* 8036B0B0 7C 7C 18 50 */ subf r3, r28, r3 -/* 8036B0B4 41 80 00 74 */ blt lbl_8036B128 -/* 8036B0B8 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 8036B0BC 7C 09 03 A6 */ mtctr r0 -/* 8036B0C0 41 82 00 54 */ beq lbl_8036B114 -lbl_8036B0C4: -/* 8036B0C4 80 04 00 00 */ lwz r0, 0(r4) -/* 8036B0C8 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0CC 80 04 FF FC */ lwz r0, -4(r4) -/* 8036B0D0 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0D4 80 04 FF F8 */ lwz r0, -8(r4) -/* 8036B0D8 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0DC 80 04 FF F4 */ lwz r0, -0xc(r4) -/* 8036B0E0 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0E4 80 04 FF F0 */ lwz r0, -0x10(r4) -/* 8036B0E8 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0EC 80 04 FF EC */ lwz r0, -0x14(r4) -/* 8036B0F0 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0F4 80 04 FF E8 */ lwz r0, -0x18(r4) -/* 8036B0F8 7C A5 03 78 */ or r5, r5, r0 -/* 8036B0FC 80 04 FF E4 */ lwz r0, -0x1c(r4) -/* 8036B100 38 84 FF E0 */ addi r4, r4, -32 -/* 8036B104 7C A5 03 78 */ or r5, r5, r0 -/* 8036B108 42 00 FF BC */ bdnz lbl_8036B0C4 -/* 8036B10C 70 63 00 07 */ andi. r3, r3, 7 -/* 8036B110 41 82 00 18 */ beq lbl_8036B128 -lbl_8036B114: -/* 8036B114 7C 69 03 A6 */ mtctr r3 -lbl_8036B118: -/* 8036B118 80 04 00 00 */ lwz r0, 0(r4) -/* 8036B11C 38 84 FF FC */ addi r4, r4, -4 -/* 8036B120 7C A5 03 78 */ or r5, r5, r0 -/* 8036B124 42 00 FF F4 */ bdnz lbl_8036B118 -lbl_8036B128: -/* 8036B128 2C 05 00 00 */ cmpwi r5, 0 -/* 8036B12C 40 82 01 C8 */ bne lbl_8036B2F4 -/* 8036B130 39 40 00 01 */ li r10, 1 -/* 8036B134 48 00 00 08 */ b lbl_8036B13C -lbl_8036B138: -/* 8036B138 39 4A 00 01 */ addi r10, r10, 1 -lbl_8036B13C: -/* 8036B13C 7C 0A E0 50 */ subf r0, r10, r28 -/* 8036B140 54 00 10 3A */ slwi r0, r0, 2 -/* 8036B144 7C 10 00 2E */ lwzx r0, r16, r0 -/* 8036B148 2C 00 00 00 */ cmpwi r0, 0 -/* 8036B14C 41 82 FF EC */ beq lbl_8036B138 -/* 8036B150 39 3F 00 01 */ addi r9, r31, 1 -/* 8036B154 38 A1 00 58 */ addi r5, r1, 0x58 -/* 8036B158 55 20 18 38 */ slwi r0, r9, 3 -/* 8036B15C 7C DF 52 14 */ add r6, r31, r10 -/* 8036B160 7C A5 02 14 */ add r5, r5, r0 -/* 8036B164 48 00 01 80 */ b lbl_8036B2E4 -lbl_8036B168: -/* 8036B168 7C 1D 4A 14 */ add r0, r29, r9 -/* 8036B16C 7C FE 4A 14 */ add r7, r30, r9 -/* 8036B170 54 00 10 3A */ slwi r0, r0, 2 -/* 8036B174 92 61 02 48 */ stw r19, 0x248(r1) -/* 8036B178 7C 78 00 2E */ lwzx r3, r24, r0 -/* 8036B17C 2C 1E 00 00 */ cmpwi r30, 0 -/* 8036B180 54 E0 18 38 */ slwi r0, r7, 3 -/* 8036B184 C8 82 D0 08 */ lfd f4, lit_436(r2) -/* 8036B188 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 8036B18C 39 00 00 00 */ li r8, 0 -/* 8036B190 90 61 02 4C */ stw r3, 0x24c(r1) -/* 8036B194 C8 01 02 48 */ lfd f0, 0x248(r1) -/* 8036B198 FC 00 D8 28 */ fsub f0, f0, f27 -/* 8036B19C 7C 14 05 AE */ stfdx f0, r20, r0 -/* 8036B1A0 41 80 01 38 */ blt lbl_8036B2D8 -/* 8036B1A4 38 1E 00 01 */ addi r0, r30, 1 -/* 8036B1A8 39 7E FF F8 */ addi r11, r30, -8 -/* 8036B1AC 2C 00 00 08 */ cmpwi r0, 8 -/* 8036B1B0 40 81 00 E8 */ ble lbl_8036B298 -/* 8036B1B4 38 0B 00 08 */ addi r0, r11, 8 -/* 8036B1B8 7E A4 AB 78 */ mr r4, r21 -/* 8036B1BC 54 00 E8 FE */ srwi r0, r0, 3 -/* 8036B1C0 38 61 01 98 */ addi r3, r1, 0x198 -/* 8036B1C4 7C 09 03 A6 */ mtctr r0 -/* 8036B1C8 2C 0B 00 00 */ cmpwi r11, 0 -/* 8036B1CC 41 80 00 CC */ blt lbl_8036B298 -lbl_8036B1D0: -/* 8036B1D0 7D 68 38 50 */ subf r11, r8, r7 -/* 8036B1D4 38 08 00 01 */ addi r0, r8, 1 -/* 8036B1D8 55 6C 18 38 */ slwi r12, r11, 3 -/* 8036B1DC C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B1E0 7C 03 64 AE */ lfdx f0, r3, r12 -/* 8036B1E4 7C 00 38 50 */ subf r0, r0, r7 -/* 8036B1E8 39 68 00 02 */ addi r11, r8, 2 -/* 8036B1EC C8 44 00 20 */ lfd f2, 0x20(r4) -/* 8036B1F0 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B1F4 7D 8B 38 50 */ subf r12, r11, r7 -/* 8036B1F8 54 00 18 38 */ slwi r0, r0, 3 -/* 8036B1FC 39 68 00 03 */ addi r11, r8, 3 -/* 8036B200 7C 03 04 AE */ lfdx f0, r3, r0 -/* 8036B204 55 99 18 38 */ slwi r25, r12, 3 -/* 8036B208 C8 24 00 08 */ lfd f1, 8(r4) -/* 8036B20C 7D 6B 38 50 */ subf r11, r11, r7 -/* 8036B210 55 6C 18 38 */ slwi r12, r11, 3 -/* 8036B214 38 08 00 04 */ addi r0, r8, 4 -/* 8036B218 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B21C C8 24 00 10 */ lfd f1, 0x10(r4) -/* 8036B220 7C 03 CC AE */ lfdx f0, r3, r25 -/* 8036B224 7D 60 38 50 */ subf r11, r0, r7 -/* 8036B228 38 08 00 05 */ addi r0, r8, 5 -/* 8036B22C C8 64 00 30 */ lfd f3, 0x30(r4) -/* 8036B230 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B234 7C 03 64 AE */ lfdx f0, r3, r12 -/* 8036B238 C8 24 00 18 */ lfd f1, 0x18(r4) -/* 8036B23C 55 6C 18 38 */ slwi r12, r11, 3 -/* 8036B240 39 68 00 06 */ addi r11, r8, 6 -/* 8036B244 7C 00 38 50 */ subf r0, r0, r7 -/* 8036B248 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B24C 7C 03 64 AE */ lfdx f0, r3, r12 -/* 8036B250 54 0C 18 38 */ slwi r12, r0, 3 -/* 8036B254 C8 24 00 28 */ lfd f1, 0x28(r4) -/* 8036B258 38 08 00 07 */ addi r0, r8, 7 -/* 8036B25C 7D 6B 38 50 */ subf r11, r11, r7 -/* 8036B260 FC 82 20 3A */ fmadd f4, f2, f0, f4 -/* 8036B264 7C 03 64 AE */ lfdx f0, r3, r12 -/* 8036B268 55 6B 18 38 */ slwi r11, r11, 3 -/* 8036B26C 7C 00 38 50 */ subf r0, r0, r7 -/* 8036B270 7C 43 5C AE */ lfdx f2, r3, r11 -/* 8036B274 54 00 18 38 */ slwi r0, r0, 3 -/* 8036B278 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B27C C8 24 00 38 */ lfd f1, 0x38(r4) -/* 8036B280 7C 03 04 AE */ lfdx f0, r3, r0 -/* 8036B284 38 84 00 40 */ addi r4, r4, 0x40 -/* 8036B288 39 08 00 08 */ addi r8, r8, 8 -/* 8036B28C FC 83 20 BA */ fmadd f4, f3, f2, f4 -/* 8036B290 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B294 42 00 FF 3C */ bdnz lbl_8036B1D0 -lbl_8036B298: -/* 8036B298 38 1E 00 01 */ addi r0, r30, 1 -/* 8036B29C 55 04 18 38 */ slwi r4, r8, 3 -/* 8036B2A0 7C 08 00 50 */ subf r0, r8, r0 -/* 8036B2A4 38 61 01 98 */ addi r3, r1, 0x198 -/* 8036B2A8 7C 95 22 14 */ add r4, r21, r4 -/* 8036B2AC 7C 09 03 A6 */ mtctr r0 -/* 8036B2B0 7C 08 F0 00 */ cmpw r8, r30 -/* 8036B2B4 41 81 00 24 */ bgt lbl_8036B2D8 -lbl_8036B2B8: -/* 8036B2B8 7C 08 38 50 */ subf r0, r8, r7 -/* 8036B2BC C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B2C0 54 00 18 38 */ slwi r0, r0, 3 -/* 8036B2C4 38 84 00 08 */ addi r4, r4, 8 -/* 8036B2C8 7C 03 04 AE */ lfdx f0, r3, r0 -/* 8036B2CC 39 08 00 01 */ addi r8, r8, 1 -/* 8036B2D0 FC 81 20 3A */ fmadd f4, f1, f0, f4 -/* 8036B2D4 42 00 FF E4 */ bdnz lbl_8036B2B8 -lbl_8036B2D8: -/* 8036B2D8 D8 85 00 00 */ stfd f4, 0(r5) -/* 8036B2DC 38 A5 00 08 */ addi r5, r5, 8 -/* 8036B2E0 39 29 00 01 */ addi r9, r9, 1 -lbl_8036B2E4: -/* 8036B2E4 7C 09 30 00 */ cmpw r9, r6 -/* 8036B2E8 40 81 FE 80 */ ble lbl_8036B168 -/* 8036B2EC 7F FF 52 14 */ add r31, r31, r10 -/* 8036B2F0 4B FF FB 18 */ b lbl_8036AE08 -lbl_8036B2F4: -/* 8036B2F4 C8 02 D0 08 */ lfd f0, lit_436(r2) -/* 8036B2F8 FC 00 C8 00 */ fcmpu cr0, f0, f25 -/* 8036B2FC 40 82 00 38 */ bne lbl_8036B334 -/* 8036B300 3B FF FF FF */ addi r31, r31, -1 -/* 8036B304 38 61 00 08 */ addi r3, r1, 8 -/* 8036B308 57 E0 10 3A */ slwi r0, r31, 2 -/* 8036B30C 3B 5A FF E8 */ addi r26, r26, -24 -/* 8036B310 7C 63 02 14 */ add r3, r3, r0 -/* 8036B314 48 00 00 10 */ b lbl_8036B324 -lbl_8036B318: -/* 8036B318 38 63 FF FC */ addi r3, r3, -4 -/* 8036B31C 3B FF FF FF */ addi r31, r31, -1 -/* 8036B320 3B 5A FF E8 */ addi r26, r26, -24 -lbl_8036B324: -/* 8036B324 80 03 00 00 */ lwz r0, 0(r3) -/* 8036B328 2C 00 00 00 */ cmpwi r0, 0 -/* 8036B32C 41 82 FF EC */ beq lbl_8036B318 -/* 8036B330 48 00 00 A4 */ b lbl_8036B3D4 -lbl_8036B334: -/* 8036B334 FC 20 C8 90 */ fmr f1, f25 -/* 8036B338 7C 7A 00 D0 */ neg r3, r26 -/* 8036B33C 48 00 0F 95 */ bl ldexp -/* 8036B340 C8 62 D0 18 */ lfd f3, lit_438(r2) -/* 8036B344 FC 01 18 40 */ fcmpo cr0, f1, f3 -/* 8036B348 4C 41 13 82 */ cror 2, 1, 2 -/* 8036B34C 40 82 00 70 */ bne lbl_8036B3BC -/* 8036B350 C8 02 D0 10 */ lfd f0, lit_437(r2) -/* 8036B354 3C 00 43 30 */ lis r0, 0x4330 -/* 8036B358 57 E5 10 3A */ slwi r5, r31, 2 -/* 8036B35C 90 01 02 40 */ stw r0, 0x240(r1) -/* 8036B360 FC 00 00 72 */ fmul f0, f0, f1 -/* 8036B364 3B FF 00 01 */ addi r31, r31, 1 -/* 8036B368 C8 42 D0 40 */ lfd f2, lit_445(r2) -/* 8036B36C 38 81 00 08 */ addi r4, r1, 8 -/* 8036B370 57 E0 10 3A */ slwi r0, r31, 2 -/* 8036B374 3B 5A 00 18 */ addi r26, r26, 0x18 -/* 8036B378 FC 00 00 1E */ fctiwz f0, f0 -/* 8036B37C D8 01 02 48 */ stfd f0, 0x248(r1) -/* 8036B380 80 61 02 4C */ lwz r3, 0x24c(r1) -/* 8036B384 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 8036B388 90 61 02 44 */ stw r3, 0x244(r1) -/* 8036B38C C8 01 02 40 */ lfd f0, 0x240(r1) -/* 8036B390 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B394 FC 23 08 3C */ fnmsub f1, f3, f0, f1 -/* 8036B398 FC 00 00 1E */ fctiwz f0, f0 -/* 8036B39C FC 20 08 1E */ fctiwz f1, f1 -/* 8036B3A0 D8 01 02 50 */ stfd f0, 0x250(r1) -/* 8036B3A4 D8 21 02 38 */ stfd f1, 0x238(r1) -/* 8036B3A8 80 61 02 54 */ lwz r3, 0x254(r1) -/* 8036B3AC 80 C1 02 3C */ lwz r6, 0x23c(r1) -/* 8036B3B0 7C C4 29 2E */ stwx r6, r4, r5 -/* 8036B3B4 7C 64 01 2E */ stwx r3, r4, r0 -/* 8036B3B8 48 00 00 1C */ b lbl_8036B3D4 -lbl_8036B3BC: -/* 8036B3BC FC 00 08 1E */ fctiwz f0, f1 -/* 8036B3C0 57 E0 10 3A */ slwi r0, r31, 2 -/* 8036B3C4 38 61 00 08 */ addi r3, r1, 8 -/* 8036B3C8 D8 01 02 50 */ stfd f0, 0x250(r1) -/* 8036B3CC 80 81 02 54 */ lwz r4, 0x254(r1) -/* 8036B3D0 7C 83 01 2E */ stwx r4, r3, r0 -lbl_8036B3D4: -/* 8036B3D4 C8 22 D0 38 */ lfd f1, lit_442(r2) -/* 8036B3D8 7F 43 D3 78 */ mr r3, r26 -/* 8036B3DC 48 00 0E F5 */ bl ldexp -/* 8036B3E0 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036B3E4 57 E0 10 3A */ slwi r0, r31, 2 -/* 8036B3E8 38 C1 00 08 */ addi r6, r1, 8 -/* 8036B3EC 57 E8 18 38 */ slwi r8, r31, 3 -/* 8036B3F0 38 E1 00 58 */ addi r7, r1, 0x58 -/* 8036B3F4 C8 A2 D0 40 */ lfd f5, lit_445(r2) -/* 8036B3F8 C8 02 D0 10 */ lfd f0, lit_437(r2) -/* 8036B3FC 7C C6 02 14 */ add r6, r6, r0 -/* 8036B400 7C E7 42 14 */ add r7, r7, r8 -/* 8036B404 38 7F 00 01 */ addi r3, r31, 1 -/* 8036B408 3C 80 43 30 */ lis r4, 0x4330 -/* 8036B40C 41 80 00 E8 */ blt lbl_8036B4F4 -/* 8036B410 54 60 F0 BF */ rlwinm. r0, r3, 0x1e, 2, 0x1f -/* 8036B414 7C 09 03 A6 */ mtctr r0 -/* 8036B418 41 82 00 A8 */ beq lbl_8036B4C0 -lbl_8036B41C: -/* 8036B41C 80 A6 00 00 */ lwz r5, 0(r6) -/* 8036B420 90 81 02 50 */ stw r4, 0x250(r1) -/* 8036B424 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8036B428 80 A6 FF FC */ lwz r5, -4(r6) -/* 8036B42C 90 01 02 54 */ stw r0, 0x254(r1) -/* 8036B430 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8036B434 80 A6 FF F8 */ lwz r5, -8(r6) -/* 8036B438 C8 81 02 50 */ lfd f4, 0x250(r1) -/* 8036B43C 90 01 02 54 */ stw r0, 0x254(r1) -/* 8036B440 FC 64 28 28 */ fsub f3, f4, f5 -/* 8036B444 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8036B448 80 A6 FF F4 */ lwz r5, -0xc(r6) -/* 8036B44C 90 81 02 50 */ stw r4, 0x250(r1) -/* 8036B450 38 C6 FF F0 */ addi r6, r6, -16 -/* 8036B454 FC 41 00 F2 */ fmul f2, f1, f3 -/* 8036B458 C8 81 02 50 */ lfd f4, 0x250(r1) -/* 8036B45C FC 21 00 32 */ fmul f1, f1, f0 -/* 8036B460 90 01 02 54 */ stw r0, 0x254(r1) -/* 8036B464 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8036B468 FC 64 28 28 */ fsub f3, f4, f5 -/* 8036B46C 90 81 02 50 */ stw r4, 0x250(r1) -/* 8036B470 C8 81 02 50 */ lfd f4, 0x250(r1) -/* 8036B474 D8 47 00 00 */ stfd f2, 0(r7) -/* 8036B478 FC 41 00 F2 */ fmul f2, f1, f3 -/* 8036B47C FC 21 00 32 */ fmul f1, f1, f0 -/* 8036B480 90 01 02 54 */ stw r0, 0x254(r1) -/* 8036B484 90 81 02 50 */ stw r4, 0x250(r1) -/* 8036B488 FC 64 28 28 */ fsub f3, f4, f5 -/* 8036B48C D8 47 FF F8 */ stfd f2, -8(r7) -/* 8036B490 FC 41 00 F2 */ fmul f2, f1, f3 -/* 8036B494 C8 81 02 50 */ lfd f4, 0x250(r1) -/* 8036B498 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036B49C FC 64 28 28 */ fsub f3, f4, f5 -/* 8036B4A0 D8 47 FF F0 */ stfd f2, -0x10(r7) -/* 8036B4A4 FC 41 00 F2 */ fmul f2, f1, f3 -/* 8036B4A8 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036B4AC D8 47 FF E8 */ stfd f2, -0x18(r7) -/* 8036B4B0 38 E7 FF E0 */ addi r7, r7, -32 -/* 8036B4B4 42 00 FF 68 */ bdnz lbl_8036B41C -/* 8036B4B8 70 63 00 03 */ andi. r3, r3, 3 -/* 8036B4BC 41 82 00 38 */ beq lbl_8036B4F4 -lbl_8036B4C0: -/* 8036B4C0 7C 69 03 A6 */ mtctr r3 -lbl_8036B4C4: -/* 8036B4C4 80 A6 00 00 */ lwz r5, 0(r6) -/* 8036B4C8 38 C6 FF FC */ addi r6, r6, -4 -/* 8036B4CC 90 81 02 50 */ stw r4, 0x250(r1) -/* 8036B4D0 6C A0 80 00 */ xoris r0, r5, 0x8000 -/* 8036B4D4 90 01 02 54 */ stw r0, 0x254(r1) -/* 8036B4D8 C8 81 02 50 */ lfd f4, 0x250(r1) -/* 8036B4DC FC 64 28 28 */ fsub f3, f4, f5 -/* 8036B4E0 FC 41 00 F2 */ fmul f2, f1, f3 -/* 8036B4E4 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036B4E8 D8 47 00 00 */ stfd f2, 0(r7) -/* 8036B4EC 38 E7 FF F8 */ addi r7, r7, -8 -/* 8036B4F0 42 00 FF D4 */ bdnz lbl_8036B4C4 -lbl_8036B4F4: -/* 8036B4F4 3C 60 80 3A */ lis r3, PIo2@ha /* 0x803A2548@ha */ -/* 8036B4F8 38 1F 00 01 */ addi r0, r31, 1 -/* 8036B4FC 7F E9 FB 78 */ mr r9, r31 -/* 8036B500 38 81 00 58 */ addi r4, r1, 0x58 -/* 8036B504 38 A3 25 48 */ addi r5, r3, PIo2@l /* 0x803A2548@l */ -/* 8036B508 38 61 00 F8 */ addi r3, r1, 0xf8 -/* 8036B50C 7C 09 03 A6 */ mtctr r0 -/* 8036B510 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036B514 41 80 00 54 */ blt lbl_8036B568 -lbl_8036B518: -/* 8036B518 C8 42 D0 08 */ lfd f2, lit_436(r2) -/* 8036B51C 7C A6 2B 78 */ mr r6, r5 -/* 8036B520 7C E9 F8 50 */ subf r7, r9, r31 -/* 8036B524 39 40 00 00 */ li r10, 0 -/* 8036B528 48 00 00 20 */ b lbl_8036B548 -lbl_8036B52C: -/* 8036B52C 7C 09 52 14 */ add r0, r9, r10 -/* 8036B530 C8 26 00 00 */ lfd f1, 0(r6) -/* 8036B534 54 00 18 38 */ slwi r0, r0, 3 -/* 8036B538 38 C6 00 08 */ addi r6, r6, 8 -/* 8036B53C 7C 04 04 AE */ lfdx f0, r4, r0 -/* 8036B540 39 4A 00 01 */ addi r10, r10, 1 -/* 8036B544 FC 41 10 3A */ fmadd f2, f1, f0, f2 -lbl_8036B548: -/* 8036B548 7C 0A E0 00 */ cmpw r10, r28 -/* 8036B54C 41 81 00 0C */ bgt lbl_8036B558 -/* 8036B550 7C 0A 38 00 */ cmpw r10, r7 -/* 8036B554 40 81 FF D8 */ ble lbl_8036B52C -lbl_8036B558: -/* 8036B558 54 E0 18 38 */ slwi r0, r7, 3 -/* 8036B55C 39 29 FF FF */ addi r9, r9, -1 -/* 8036B560 7C 43 05 AE */ stfdx f2, r3, r0 -/* 8036B564 42 00 FF B4 */ bdnz lbl_8036B518 -lbl_8036B568: -/* 8036B568 2C 17 00 03 */ cmpwi r23, 3 -/* 8036B56C 41 82 02 24 */ beq lbl_8036B790 -/* 8036B570 40 80 04 60 */ bge lbl_8036B9D0 -/* 8036B574 2C 17 00 00 */ cmpwi r23, 0 -/* 8036B578 41 82 00 0C */ beq lbl_8036B584 -/* 8036B57C 40 80 00 A8 */ bge lbl_8036B624 -/* 8036B580 48 00 04 50 */ b lbl_8036B9D0 -lbl_8036B584: -/* 8036B584 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036B588 38 81 00 F8 */ addi r4, r1, 0xf8 -/* 8036B58C C8 22 D0 08 */ lfd f1, lit_436(r2) -/* 8036B590 7C 84 42 14 */ add r4, r4, r8 -/* 8036B594 38 7F 00 01 */ addi r3, r31, 1 -/* 8036B598 41 80 00 74 */ blt lbl_8036B60C -/* 8036B59C 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 8036B5A0 7C 09 03 A6 */ mtctr r0 -/* 8036B5A4 41 82 00 54 */ beq lbl_8036B5F8 -lbl_8036B5A8: -/* 8036B5A8 C8 04 00 00 */ lfd f0, 0(r4) -/* 8036B5AC FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5B0 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036B5B4 FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5B8 C8 04 FF F0 */ lfd f0, -0x10(r4) -/* 8036B5BC FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5C0 C8 04 FF E8 */ lfd f0, -0x18(r4) -/* 8036B5C4 FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5C8 C8 04 FF E0 */ lfd f0, -0x20(r4) -/* 8036B5CC FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5D0 C8 04 FF D8 */ lfd f0, -0x28(r4) -/* 8036B5D4 FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5D8 C8 04 FF D0 */ lfd f0, -0x30(r4) -/* 8036B5DC FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5E0 C8 04 FF C8 */ lfd f0, -0x38(r4) -/* 8036B5E4 38 84 FF C0 */ addi r4, r4, -64 -/* 8036B5E8 FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B5EC 42 00 FF BC */ bdnz lbl_8036B5A8 -/* 8036B5F0 70 63 00 07 */ andi. r3, r3, 7 -/* 8036B5F4 41 82 00 18 */ beq lbl_8036B60C -lbl_8036B5F8: -/* 8036B5F8 7C 69 03 A6 */ mtctr r3 -lbl_8036B5FC: -/* 8036B5FC C8 04 00 00 */ lfd f0, 0(r4) -/* 8036B600 38 84 FF F8 */ addi r4, r4, -8 -/* 8036B604 FC 21 00 2A */ fadd f1, f1, f0 -/* 8036B608 42 00 FF F4 */ bdnz lbl_8036B5FC -lbl_8036B60C: -/* 8036B60C 2C 19 00 00 */ cmpwi r25, 0 -/* 8036B610 40 82 00 08 */ bne lbl_8036B618 -/* 8036B614 48 00 00 08 */ b lbl_8036B61C -lbl_8036B618: -/* 8036B618 FC 20 08 50 */ fneg f1, f1 -lbl_8036B61C: -/* 8036B61C D8 36 00 00 */ stfd f1, 0(r22) -/* 8036B620 48 00 03 B0 */ b lbl_8036B9D0 -lbl_8036B624: -/* 8036B624 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036B628 38 81 00 F8 */ addi r4, r1, 0xf8 -/* 8036B62C C8 42 D0 08 */ lfd f2, lit_436(r2) -/* 8036B630 7C 84 42 14 */ add r4, r4, r8 -/* 8036B634 38 7F 00 01 */ addi r3, r31, 1 -/* 8036B638 41 80 00 74 */ blt lbl_8036B6AC -/* 8036B63C 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 8036B640 7C 09 03 A6 */ mtctr r0 -/* 8036B644 41 82 00 54 */ beq lbl_8036B698 -lbl_8036B648: -/* 8036B648 C8 04 00 00 */ lfd f0, 0(r4) -/* 8036B64C FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B650 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036B654 FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B658 C8 04 FF F0 */ lfd f0, -0x10(r4) -/* 8036B65C FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B660 C8 04 FF E8 */ lfd f0, -0x18(r4) -/* 8036B664 FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B668 C8 04 FF E0 */ lfd f0, -0x20(r4) -/* 8036B66C FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B670 C8 04 FF D8 */ lfd f0, -0x28(r4) -/* 8036B674 FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B678 C8 04 FF D0 */ lfd f0, -0x30(r4) -/* 8036B67C FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B680 C8 04 FF C8 */ lfd f0, -0x38(r4) -/* 8036B684 38 84 FF C0 */ addi r4, r4, -64 -/* 8036B688 FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B68C 42 00 FF BC */ bdnz lbl_8036B648 -/* 8036B690 70 63 00 07 */ andi. r3, r3, 7 -/* 8036B694 41 82 00 18 */ beq lbl_8036B6AC -lbl_8036B698: -/* 8036B698 7C 69 03 A6 */ mtctr r3 -lbl_8036B69C: -/* 8036B69C C8 04 00 00 */ lfd f0, 0(r4) -/* 8036B6A0 38 84 FF F8 */ addi r4, r4, -8 -/* 8036B6A4 FC 42 00 2A */ fadd f2, f2, f0 -/* 8036B6A8 42 00 FF F4 */ bdnz lbl_8036B69C -lbl_8036B6AC: -/* 8036B6AC 2C 19 00 00 */ cmpwi r25, 0 -/* 8036B6B0 40 82 00 0C */ bne lbl_8036B6BC -/* 8036B6B4 FC 20 10 90 */ fmr f1, f2 -/* 8036B6B8 48 00 00 08 */ b lbl_8036B6C0 -lbl_8036B6BC: -/* 8036B6BC FC 20 10 50 */ fneg f1, f2 -lbl_8036B6C0: -/* 8036B6C0 C8 01 00 F8 */ lfd f0, 0xf8(r1) -/* 8036B6C4 2C 1F 00 01 */ cmpwi r31, 1 -/* 8036B6C8 D8 36 00 00 */ stfd f1, 0(r22) -/* 8036B6CC 38 A0 00 01 */ li r5, 1 -/* 8036B6D0 FC C0 10 28 */ fsub f6, f0, f2 -/* 8036B6D4 41 80 00 A4 */ blt lbl_8036B778 -/* 8036B6D8 2C 1F 00 08 */ cmpwi r31, 8 -/* 8036B6DC 38 7F FF F8 */ addi r3, r31, -8 -/* 8036B6E0 40 81 00 68 */ ble lbl_8036B748 -/* 8036B6E4 38 03 00 07 */ addi r0, r3, 7 -/* 8036B6E8 38 81 01 00 */ addi r4, r1, 0x100 -/* 8036B6EC 54 00 E8 FE */ srwi r0, r0, 3 -/* 8036B6F0 7C 09 03 A6 */ mtctr r0 -/* 8036B6F4 2C 03 00 01 */ cmpwi r3, 1 -/* 8036B6F8 41 80 00 50 */ blt lbl_8036B748 -lbl_8036B6FC: -/* 8036B6FC C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B700 38 A5 00 08 */ addi r5, r5, 8 -/* 8036B704 C8 04 00 08 */ lfd f0, 8(r4) -/* 8036B708 FC C6 08 2A */ fadd f6, f6, f1 -/* 8036B70C C8 A4 00 10 */ lfd f5, 0x10(r4) -/* 8036B710 C8 84 00 18 */ lfd f4, 0x18(r4) -/* 8036B714 C8 64 00 20 */ lfd f3, 0x20(r4) -/* 8036B718 FC C6 00 2A */ fadd f6, f6, f0 -/* 8036B71C C8 44 00 28 */ lfd f2, 0x28(r4) -/* 8036B720 C8 24 00 30 */ lfd f1, 0x30(r4) -/* 8036B724 C8 04 00 38 */ lfd f0, 0x38(r4) -/* 8036B728 38 84 00 40 */ addi r4, r4, 0x40 -/* 8036B72C FC C6 28 2A */ fadd f6, f6, f5 -/* 8036B730 FC C6 20 2A */ fadd f6, f6, f4 -/* 8036B734 FC C6 18 2A */ fadd f6, f6, f3 -/* 8036B738 FC C6 10 2A */ fadd f6, f6, f2 -/* 8036B73C FC C6 08 2A */ fadd f6, f6, f1 -/* 8036B740 FC C6 00 2A */ fadd f6, f6, f0 -/* 8036B744 42 00 FF B8 */ bdnz lbl_8036B6FC -lbl_8036B748: -/* 8036B748 38 1F 00 01 */ addi r0, r31, 1 -/* 8036B74C 54 A3 18 38 */ slwi r3, r5, 3 -/* 8036B750 38 81 00 F8 */ addi r4, r1, 0xf8 -/* 8036B754 7C 05 00 50 */ subf r0, r5, r0 -/* 8036B758 7C 84 1A 14 */ add r4, r4, r3 -/* 8036B75C 7C 09 03 A6 */ mtctr r0 -/* 8036B760 7C 05 F8 00 */ cmpw r5, r31 -/* 8036B764 41 81 00 14 */ bgt lbl_8036B778 -lbl_8036B768: -/* 8036B768 C8 04 00 00 */ lfd f0, 0(r4) -/* 8036B76C 38 84 00 08 */ addi r4, r4, 8 -/* 8036B770 FC C6 00 2A */ fadd f6, f6, f0 -/* 8036B774 42 00 FF F4 */ bdnz lbl_8036B768 -lbl_8036B778: -/* 8036B778 2C 19 00 00 */ cmpwi r25, 0 -/* 8036B77C 40 82 00 08 */ bne lbl_8036B784 -/* 8036B780 48 00 00 08 */ b lbl_8036B788 -lbl_8036B784: -/* 8036B784 FC C0 30 50 */ fneg f6, f6 -lbl_8036B788: -/* 8036B788 D8 D6 00 08 */ stfd f6, 8(r22) -/* 8036B78C 48 00 02 44 */ b lbl_8036B9D0 -lbl_8036B790: -/* 8036B790 38 A1 00 F8 */ addi r5, r1, 0xf8 -/* 8036B794 2C 1F 00 00 */ cmpwi r31, 0 -/* 8036B798 7C A5 42 14 */ add r5, r5, r8 -/* 8036B79C 7F E3 FB 78 */ mr r3, r31 -/* 8036B7A0 7C A4 2B 78 */ mr r4, r5 -/* 8036B7A4 40 81 00 B0 */ ble lbl_8036B854 -/* 8036B7A8 57 E0 F0 BF */ rlwinm. r0, r31, 0x1e, 2, 0x1f -/* 8036B7AC 7C 09 03 A6 */ mtctr r0 -/* 8036B7B0 41 82 00 80 */ beq lbl_8036B830 -lbl_8036B7B4: -/* 8036B7B4 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036B7B8 C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B7BC FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B7C0 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B7C4 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B7C8 D8 04 00 00 */ stfd f0, 0(r4) -/* 8036B7CC D8 44 FF F8 */ stfd f2, -8(r4) -/* 8036B7D0 C8 04 FF F0 */ lfd f0, -0x10(r4) -/* 8036B7D4 C8 24 FF F8 */ lfd f1, -8(r4) -/* 8036B7D8 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B7DC FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B7E0 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B7E4 D8 04 FF F8 */ stfd f0, -8(r4) -/* 8036B7E8 D8 44 FF F0 */ stfd f2, -0x10(r4) -/* 8036B7EC C8 04 FF E8 */ lfd f0, -0x18(r4) -/* 8036B7F0 C8 24 FF F0 */ lfd f1, -0x10(r4) -/* 8036B7F4 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B7F8 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B7FC FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B800 D8 04 FF F0 */ stfd f0, -0x10(r4) -/* 8036B804 D8 44 FF E8 */ stfd f2, -0x18(r4) -/* 8036B808 C8 04 FF E0 */ lfd f0, -0x20(r4) -/* 8036B80C C8 24 FF E8 */ lfd f1, -0x18(r4) -/* 8036B810 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B814 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B818 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B81C D8 04 FF E8 */ stfd f0, -0x18(r4) -/* 8036B820 DC 44 FF E0 */ stfdu f2, -0x20(r4) -/* 8036B824 42 00 FF 90 */ bdnz lbl_8036B7B4 -/* 8036B828 70 63 00 03 */ andi. r3, r3, 3 -/* 8036B82C 41 82 00 28 */ beq lbl_8036B854 -lbl_8036B830: -/* 8036B830 7C 69 03 A6 */ mtctr r3 -lbl_8036B834: -/* 8036B834 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036B838 C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B83C FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B840 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B844 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B848 D8 04 00 00 */ stfd f0, 0(r4) -/* 8036B84C DC 44 FF F8 */ stfdu f2, -8(r4) -/* 8036B850 42 00 FF E4 */ bdnz lbl_8036B834 -lbl_8036B854: -/* 8036B854 2C 1F 00 01 */ cmpwi r31, 1 -/* 8036B858 7C A4 2B 78 */ mr r4, r5 -/* 8036B85C 38 7F FF FF */ addi r3, r31, -1 -/* 8036B860 40 81 00 B0 */ ble lbl_8036B910 -/* 8036B864 54 60 F0 BF */ rlwinm. r0, r3, 0x1e, 2, 0x1f -/* 8036B868 7C 09 03 A6 */ mtctr r0 -/* 8036B86C 41 82 00 80 */ beq lbl_8036B8EC -lbl_8036B870: -/* 8036B870 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036B874 C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B878 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B87C FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B880 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B884 D8 04 00 00 */ stfd f0, 0(r4) -/* 8036B888 D8 44 FF F8 */ stfd f2, -8(r4) -/* 8036B88C C8 04 FF F0 */ lfd f0, -0x10(r4) -/* 8036B890 C8 24 FF F8 */ lfd f1, -8(r4) -/* 8036B894 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B898 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B89C FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B8A0 D8 04 FF F8 */ stfd f0, -8(r4) -/* 8036B8A4 D8 44 FF F0 */ stfd f2, -0x10(r4) -/* 8036B8A8 C8 04 FF E8 */ lfd f0, -0x18(r4) -/* 8036B8AC C8 24 FF F0 */ lfd f1, -0x10(r4) -/* 8036B8B0 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B8B4 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B8B8 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B8BC D8 04 FF F0 */ stfd f0, -0x10(r4) -/* 8036B8C0 D8 44 FF E8 */ stfd f2, -0x18(r4) -/* 8036B8C4 C8 04 FF E0 */ lfd f0, -0x20(r4) -/* 8036B8C8 C8 24 FF E8 */ lfd f1, -0x18(r4) -/* 8036B8CC FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B8D0 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B8D4 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B8D8 D8 04 FF E8 */ stfd f0, -0x18(r4) -/* 8036B8DC DC 44 FF E0 */ stfdu f2, -0x20(r4) -/* 8036B8E0 42 00 FF 90 */ bdnz lbl_8036B870 -/* 8036B8E4 70 63 00 03 */ andi. r3, r3, 3 -/* 8036B8E8 41 82 00 28 */ beq lbl_8036B910 -lbl_8036B8EC: -/* 8036B8EC 7C 69 03 A6 */ mtctr r3 -lbl_8036B8F0: -/* 8036B8F0 C8 04 FF F8 */ lfd f0, -8(r4) -/* 8036B8F4 C8 24 00 00 */ lfd f1, 0(r4) -/* 8036B8F8 FC 40 08 2A */ fadd f2, f0, f1 -/* 8036B8FC FC 00 10 28 */ fsub f0, f0, f2 -/* 8036B900 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036B904 D8 04 00 00 */ stfd f0, 0(r4) -/* 8036B908 DC 44 FF F8 */ stfdu f2, -8(r4) -/* 8036B90C 42 00 FF E4 */ bdnz lbl_8036B8F0 -lbl_8036B910: -/* 8036B910 2C 1F 00 02 */ cmpwi r31, 2 -/* 8036B914 C8 62 D0 08 */ lfd f3, lit_436(r2) -/* 8036B918 38 7F FF FF */ addi r3, r31, -1 -/* 8036B91C 41 80 00 74 */ blt lbl_8036B990 -/* 8036B920 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 8036B924 7C 09 03 A6 */ mtctr r0 -/* 8036B928 41 82 00 54 */ beq lbl_8036B97C -lbl_8036B92C: -/* 8036B92C C8 05 00 00 */ lfd f0, 0(r5) -/* 8036B930 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B934 C8 05 FF F8 */ lfd f0, -8(r5) -/* 8036B938 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B93C C8 05 FF F0 */ lfd f0, -0x10(r5) -/* 8036B940 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B944 C8 05 FF E8 */ lfd f0, -0x18(r5) -/* 8036B948 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B94C C8 05 FF E0 */ lfd f0, -0x20(r5) -/* 8036B950 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B954 C8 05 FF D8 */ lfd f0, -0x28(r5) -/* 8036B958 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B95C C8 05 FF D0 */ lfd f0, -0x30(r5) -/* 8036B960 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B964 C8 05 FF C8 */ lfd f0, -0x38(r5) -/* 8036B968 38 A5 FF C0 */ addi r5, r5, -64 -/* 8036B96C FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B970 42 00 FF BC */ bdnz lbl_8036B92C -/* 8036B974 70 63 00 07 */ andi. r3, r3, 7 -/* 8036B978 41 82 00 18 */ beq lbl_8036B990 -lbl_8036B97C: -/* 8036B97C 7C 69 03 A6 */ mtctr r3 -lbl_8036B980: -/* 8036B980 C8 05 00 00 */ lfd f0, 0(r5) -/* 8036B984 38 A5 FF F8 */ addi r5, r5, -8 -/* 8036B988 FC 63 00 2A */ fadd f3, f3, f0 -/* 8036B98C 42 00 FF F4 */ bdnz lbl_8036B980 -lbl_8036B990: -/* 8036B990 2C 19 00 00 */ cmpwi r25, 0 -/* 8036B994 40 82 00 1C */ bne lbl_8036B9B0 -/* 8036B998 C8 21 00 F8 */ lfd f1, 0xf8(r1) -/* 8036B99C C8 01 01 00 */ lfd f0, 0x100(r1) -/* 8036B9A0 D8 36 00 00 */ stfd f1, 0(r22) -/* 8036B9A4 D8 16 00 08 */ stfd f0, 8(r22) -/* 8036B9A8 D8 76 00 10 */ stfd f3, 0x10(r22) -/* 8036B9AC 48 00 00 24 */ b lbl_8036B9D0 -lbl_8036B9B0: -/* 8036B9B0 C8 41 00 F8 */ lfd f2, 0xf8(r1) -/* 8036B9B4 FC 00 18 50 */ fneg f0, f3 -/* 8036B9B8 C8 21 01 00 */ lfd f1, 0x100(r1) -/* 8036B9BC FC 40 10 50 */ fneg f2, f2 -/* 8036B9C0 FC 20 08 50 */ fneg f1, f1 -/* 8036B9C4 D8 56 00 00 */ stfd f2, 0(r22) -/* 8036B9C8 D8 36 00 08 */ stfd f1, 8(r22) -/* 8036B9CC D8 16 00 10 */ stfd f0, 0x10(r22) -lbl_8036B9D0: -/* 8036B9D0 57 63 07 7E */ clrlwi r3, r27, 0x1d -/* 8036B9D4 39 61 02 D0 */ addi r11, r1, 0x2d0 -/* 8036B9D8 4B FF 67 A9 */ bl _restfpr_25 -/* 8036B9DC BA 01 02 58 */ lmw r16, 0x258(r1) -/* 8036B9E0 80 01 02 D4 */ lwz r0, 0x2d4(r1) -/* 8036B9E4 7C 08 03 A6 */ mtlr r0 -/* 8036B9E8 38 21 02 D0 */ addi r1, r1, 0x2d0 -/* 8036B9EC 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/k_sin/__kernel_sin.s b/asm/MSL_C/Math/Double_precision/k_sin/__kernel_sin.s deleted file mode 100644 index e319f3ae2c..0000000000 --- a/asm/MSL_C/Math/Double_precision/k_sin/__kernel_sin.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8036B9F0: -/* 8036B9F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8036B9F4 3C 00 3E 40 */ lis r0, 0x3e40 -/* 8036B9F8 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036B9FC 80 81 00 08 */ lwz r4, 8(r1) -/* 8036BA00 54 84 00 7E */ clrlwi r4, r4, 1 -/* 8036BA04 7C 04 00 00 */ cmpw r4, r0 -/* 8036BA08 40 80 00 1C */ bge lbl_8036BA24 -/* 8036BA0C FC 00 08 1E */ fctiwz f0, f1 -/* 8036BA10 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8036BA14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036BA18 2C 00 00 00 */ cmpwi r0, 0 -/* 8036BA1C 40 82 00 08 */ bne lbl_8036BA24 -/* 8036BA20 48 00 00 68 */ b lbl_8036BA88 -lbl_8036BA24: -/* 8036BA24 C8 C1 00 08 */ lfd f6, 8(r1) -/* 8036BA28 2C 03 00 00 */ cmpwi r3, 0 -/* 8036BA2C C8 A2 D0 68 */ lfd f5, lit_64(r2) -/* 8036BA30 FC E6 01 B2 */ fmul f7, f6, f6 -/* 8036BA34 C8 82 D0 60 */ lfd f4, lit_63(r2) -/* 8036BA38 C8 62 D0 58 */ lfd f3, lit_62(r2) -/* 8036BA3C C8 22 D0 50 */ lfd f1, lit_61(r2) -/* 8036BA40 C8 02 D0 48 */ lfd f0, lit_60(r2) -/* 8036BA44 FC 85 21 FA */ fmadd f4, f5, f7, f4 -/* 8036BA48 FC A7 01 B2 */ fmul f5, f7, f6 -/* 8036BA4C FC 67 19 3A */ fmadd f3, f7, f4, f3 -/* 8036BA50 FC 27 08 FA */ fmadd f1, f7, f3, f1 -/* 8036BA54 FC 27 00 7A */ fmadd f1, f7, f1, f0 -/* 8036BA58 40 82 00 14 */ bne lbl_8036BA6C -/* 8036BA5C C8 02 D0 70 */ lfd f0, lit_65(r2) -/* 8036BA60 FC 07 00 7A */ fmadd f0, f7, f1, f0 -/* 8036BA64 FC 25 30 3A */ fmadd f1, f5, f0, f6 -/* 8036BA68 48 00 00 20 */ b lbl_8036BA88 -lbl_8036BA6C: -/* 8036BA6C FC 05 00 72 */ fmul f0, f5, f1 -/* 8036BA70 C8 22 D0 78 */ lfd f1, lit_66(r2) -/* 8036BA74 C8 62 D0 70 */ lfd f3, lit_65(r2) -/* 8036BA78 FC 01 00 B8 */ fmsub f0, f1, f2, f0 -/* 8036BA7C FC 07 10 38 */ fmsub f0, f7, f0, f2 -/* 8036BA80 FC 03 01 7C */ fnmsub f0, f3, f5, f0 -/* 8036BA84 FC 26 00 28 */ fsub f1, f6, f0 -lbl_8036BA88: -/* 8036BA88 38 21 00 20 */ addi r1, r1, 0x20 -/* 8036BA8C 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/k_tan/__kernel_tan.s b/asm/MSL_C/Math/Double_precision/k_tan/__kernel_tan.s deleted file mode 100644 index 91f7f06a75..0000000000 --- a/asm/MSL_C/Math/Double_precision/k_tan/__kernel_tan.s +++ /dev/null @@ -1,142 +0,0 @@ -lbl_8036BA90: -/* 8036BA90 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8036BA94 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8036BA98 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8036BA9C D8 21 00 08 */ stfd f1, 8(r1) -/* 8036BAA0 3C 00 3E 30 */ lis r0, 0x3e30 -/* 8036BAA4 80 E1 00 08 */ lwz r7, 8(r1) -/* 8036BAA8 54 E6 00 7E */ clrlwi r6, r7, 1 -/* 8036BAAC 7C 06 00 00 */ cmpw r6, r0 -/* 8036BAB0 40 80 00 54 */ bge lbl_8036BB04 -/* 8036BAB4 FC 00 08 1E */ fctiwz f0, f1 -/* 8036BAB8 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8036BABC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8036BAC0 2C 00 00 00 */ cmpwi r0, 0 -/* 8036BAC4 40 82 00 40 */ bne lbl_8036BB04 -/* 8036BAC8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8036BACC 38 83 00 01 */ addi r4, r3, 1 -/* 8036BAD0 7C C0 03 78 */ or r0, r6, r0 -/* 8036BAD4 7C 80 03 79 */ or. r0, r4, r0 -/* 8036BAD8 40 82 00 14 */ bne lbl_8036BAEC -/* 8036BADC FC 20 0A 10 */ fabs f1, f1 -/* 8036BAE0 C8 02 D0 80 */ lfd f0, lit_94(r2) -/* 8036BAE4 FC 20 08 24 */ fdiv f1, f0, f1 -/* 8036BAE8 48 00 01 AC */ b lbl_8036BC94 -lbl_8036BAEC: -/* 8036BAEC 2C 03 00 01 */ cmpwi r3, 1 -/* 8036BAF0 40 82 00 08 */ bne lbl_8036BAF8 -/* 8036BAF4 48 00 01 A0 */ b lbl_8036BC94 -lbl_8036BAF8: -/* 8036BAF8 C8 02 D0 88 */ lfd f0, lit_95(r2) -/* 8036BAFC FC 20 08 24 */ fdiv f1, f0, f1 -/* 8036BB00 48 00 01 94 */ b lbl_8036BC94 -lbl_8036BB04: -/* 8036BB04 3C 80 3F E6 */ lis r4, 0x3FE6 /* 0x3FE59428@ha */ -/* 8036BB08 38 04 94 28 */ addi r0, r4, 0x9428 /* 0x3FE59428@l */ -/* 8036BB0C 7C 06 00 00 */ cmpw r6, r0 -/* 8036BB10 41 80 00 40 */ blt lbl_8036BB50 -/* 8036BB14 2C 07 00 00 */ cmpwi r7, 0 -/* 8036BB18 40 80 00 14 */ bge lbl_8036BB2C -/* 8036BB1C C8 01 00 08 */ lfd f0, 8(r1) -/* 8036BB20 FC 40 10 50 */ fneg f2, f2 -/* 8036BB24 FC 00 00 50 */ fneg f0, f0 -/* 8036BB28 D8 01 00 08 */ stfd f0, 8(r1) -lbl_8036BB2C: -/* 8036BB2C C8 02 D0 98 */ lfd f0, lit_97(r2) -/* 8036BB30 C8 62 D0 90 */ lfd f3, lit_96(r2) -/* 8036BB34 C8 21 00 08 */ lfd f1, 8(r1) -/* 8036BB38 FC 00 10 28 */ fsub f0, f0, f2 -/* 8036BB3C C8 42 D0 A0 */ lfd f2, lit_98(r2) -/* 8036BB40 FC 23 08 28 */ fsub f1, f3, f1 -/* 8036BB44 FC 01 00 2A */ fadd f0, f1, f0 -/* 8036BB48 D8 21 00 18 */ stfd f1, 0x18(r1) -/* 8036BB4C D8 01 00 08 */ stfd f0, 8(r1) -lbl_8036BB50: -/* 8036BB50 C8 01 00 08 */ lfd f0, 8(r1) -/* 8036BB54 3C 80 80 3A */ lis r4, T@ha /* 0x803A2588@ha */ -/* 8036BB58 38 A4 25 88 */ addi r5, r4, T@l /* 0x803A2588@l */ -/* 8036BB5C 3C 80 3F E6 */ lis r4, 0x3FE6 /* 0x3FE59428@ha */ -/* 8036BB60 FD A0 00 32 */ fmul f13, f0, f0 -/* 8036BB64 38 04 94 28 */ addi r0, r4, 0x9428 /* 0x3FE59428@l */ -/* 8036BB68 C8 A5 00 60 */ lfd f5, 0x60(r5) -/* 8036BB6C 7C 06 00 00 */ cmpw r6, r0 -/* 8036BB70 C8 85 00 50 */ lfd f4, 0x50(r5) -/* 8036BB74 C9 25 00 58 */ lfd f9, 0x58(r5) -/* 8036BB78 FF ED 03 72 */ fmul f31, f13, f13 -/* 8036BB7C C9 05 00 48 */ lfd f8, 0x48(r5) -/* 8036BB80 C8 65 00 40 */ lfd f3, 0x40(r5) -/* 8036BB84 C9 65 00 38 */ lfd f11, 0x38(r5) -/* 8036BB88 FC 2D 00 32 */ fmul f1, f13, f0 -/* 8036BB8C C8 C5 00 30 */ lfd f6, 0x30(r5) -/* 8036BB90 FC FF 21 7A */ fmadd f7, f31, f5, f4 -/* 8036BB94 C9 45 00 28 */ lfd f10, 0x28(r5) -/* 8036BB98 C8 A5 00 20 */ lfd f5, 0x20(r5) -/* 8036BB9C FD 9F 42 7A */ fmadd f12, f31, f9, f8 -/* 8036BBA0 C9 25 00 18 */ lfd f9, 0x18(r5) -/* 8036BBA4 C8 85 00 10 */ lfd f4, 0x10(r5) -/* 8036BBA8 FC FF 19 FA */ fmadd f7, f31, f7, f3 -/* 8036BBAC C9 05 00 08 */ lfd f8, 8(r5) -/* 8036BBB0 C8 65 00 00 */ lfd f3, 0(r5) -/* 8036BBB4 FD 7F 5B 3A */ fmadd f11, f31, f12, f11 -/* 8036BBB8 D9 A1 00 18 */ stfd f13, 0x18(r1) -/* 8036BBBC FC DF 31 FA */ fmadd f6, f31, f7, f6 -/* 8036BBC0 FC FF 52 FA */ fmadd f7, f31, f11, f10 -/* 8036BBC4 FC BF 29 BA */ fmadd f5, f31, f6, f5 -/* 8036BBC8 FC DF 49 FA */ fmadd f6, f31, f7, f9 -/* 8036BBCC FC 9F 21 7A */ fmadd f4, f31, f5, f4 -/* 8036BBD0 FC BF 41 BA */ fmadd f5, f31, f6, f8 -/* 8036BBD4 FC 8D 01 32 */ fmul f4, f13, f4 -/* 8036BBD8 FC 85 20 2A */ fadd f4, f5, f4 -/* 8036BBDC FC 81 11 3A */ fmadd f4, f1, f4, f2 -/* 8036BBE0 FC CD 11 3A */ fmadd f6, f13, f4, f2 -/* 8036BBE4 FC C3 30 7A */ fmadd f6, f3, f1, f6 -/* 8036BBE8 FC 20 30 2A */ fadd f1, f0, f6 -/* 8036BBEC 41 80 00 60 */ blt lbl_8036BC4C -/* 8036BBF0 3C 80 43 30 */ lis r4, 0x4330 -/* 8036BBF4 6C 60 80 00 */ xoris r0, r3, 0x8000 -/* 8036BBF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8036BBFC 54 E0 17 BC */ rlwinm r0, r7, 2, 0x1e, 0x1e -/* 8036BC00 20 00 00 01 */ subfic r0, r0, 1 -/* 8036BC04 C8 A2 D0 B0 */ lfd f5, lit_101(r2) -/* 8036BC08 90 81 00 20 */ stw r4, 0x20(r1) -/* 8036BC0C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8036BC10 FC 41 00 72 */ fmul f2, f1, f1 -/* 8036BC14 C8 62 D0 A8 */ lfd f3, lit_99(r2) -/* 8036BC18 C8 81 00 20 */ lfd f4, 0x20(r1) -/* 8036BC1C 90 01 00 2C */ stw r0, 0x2c(r1) -/* 8036BC20 FC E4 28 28 */ fsub f7, f4, f5 -/* 8036BC24 90 81 00 28 */ stw r4, 0x28(r1) -/* 8036BC28 FC 21 38 2A */ fadd f1, f1, f7 -/* 8036BC2C C8 81 00 28 */ lfd f4, 0x28(r1) -/* 8036BC30 FC 84 28 28 */ fsub f4, f4, f5 -/* 8036BC34 FC 22 08 24 */ fdiv f1, f2, f1 -/* 8036BC38 FC 21 30 28 */ fsub f1, f1, f6 -/* 8036BC3C FC 00 08 28 */ fsub f0, f0, f1 -/* 8036BC40 FC 03 38 3C */ fnmsub f0, f3, f0, f7 -/* 8036BC44 FC 24 00 32 */ fmul f1, f4, f0 -/* 8036BC48 48 00 00 4C */ b lbl_8036BC94 -lbl_8036BC4C: -/* 8036BC4C 2C 03 00 01 */ cmpwi r3, 1 -/* 8036BC50 40 82 00 08 */ bne lbl_8036BC58 -/* 8036BC54 48 00 00 40 */ b lbl_8036BC94 -lbl_8036BC58: -/* 8036BC58 C8 42 D0 88 */ lfd f2, lit_95(r2) -/* 8036BC5C 38 00 00 00 */ li r0, 0 -/* 8036BC60 D8 21 00 18 */ stfd f1, 0x18(r1) -/* 8036BC64 FC 82 08 24 */ fdiv f4, f2, f1 -/* 8036BC68 C8 22 D0 80 */ lfd f1, lit_94(r2) -/* 8036BC6C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8036BC70 C8 41 00 18 */ lfd f2, 0x18(r1) -/* 8036BC74 D8 81 00 10 */ stfd f4, 0x10(r1) -/* 8036BC78 FC 02 00 28 */ fsub f0, f2, f0 -/* 8036BC7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036BC80 FC 06 00 28 */ fsub f0, f6, f0 -/* 8036BC84 C8 61 00 10 */ lfd f3, 0x10(r1) -/* 8036BC88 FC 23 08 BA */ fmadd f1, f3, f2, f1 -/* 8036BC8C FC 03 08 3A */ fmadd f0, f3, f0, f1 -/* 8036BC90 FC 24 18 3A */ fmadd f1, f4, f0, f3 -lbl_8036BC94: -/* 8036BC94 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8036BC98 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8036BC9C 38 21 00 40 */ addi r1, r1, 0x40 -/* 8036BCA0 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/s_atan/atan.s b/asm/MSL_C/Math/Double_precision/s_atan/atan.s deleted file mode 100644 index 8dd1b7c8cc..0000000000 --- a/asm/MSL_C/Math/Double_precision/s_atan/atan.s +++ /dev/null @@ -1,147 +0,0 @@ -lbl_8036BCA4: -/* 8036BCA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8036BCA8 3C 60 80 3A */ lis r3, atanhi@ha /* 0x803A25F0@ha */ -/* 8036BCAC 3C 00 44 10 */ lis r0, 0x4410 -/* 8036BCB0 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036BCB4 38 A3 25 F0 */ addi r5, r3, atanhi@l /* 0x803A25F0@l */ -/* 8036BCB8 80 C1 00 08 */ lwz r6, 8(r1) -/* 8036BCBC 54 C4 00 7E */ clrlwi r4, r6, 1 -/* 8036BCC0 7C 04 00 00 */ cmpw r4, r0 -/* 8036BCC4 41 80 00 70 */ blt lbl_8036BD34 -/* 8036BCC8 3C 00 7F F0 */ lis r0, 0x7ff0 -/* 8036BCCC 7C 04 00 00 */ cmpw r4, r0 -/* 8036BCD0 41 81 00 1C */ bgt lbl_8036BCEC -/* 8036BCD4 3C 04 80 10 */ addis r0, r4, 0x8010 -/* 8036BCD8 28 00 00 00 */ cmplwi r0, 0 -/* 8036BCDC 40 82 00 1C */ bne lbl_8036BCF8 -/* 8036BCE0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8036BCE4 2C 00 00 00 */ cmpwi r0, 0 -/* 8036BCE8 41 82 00 10 */ beq lbl_8036BCF8 -lbl_8036BCEC: -/* 8036BCEC C8 01 00 08 */ lfd f0, 8(r1) -/* 8036BCF0 FC 20 00 2A */ fadd f1, f0, f0 -/* 8036BCF4 48 00 01 C0 */ b lbl_8036BEB4 -lbl_8036BCF8: -/* 8036BCF8 2C 06 00 00 */ cmpwi r6, 0 -/* 8036BCFC 40 81 00 1C */ ble lbl_8036BD18 -/* 8036BD00 38 85 00 00 */ addi r4, r5, 0 -/* 8036BD04 38 65 00 20 */ addi r3, r5, 0x20 -/* 8036BD08 C8 24 00 18 */ lfd f1, 0x18(r4) -/* 8036BD0C C8 03 00 18 */ lfd f0, 0x18(r3) -/* 8036BD10 FC 21 00 2A */ fadd f1, f1, f0 -/* 8036BD14 48 00 01 A0 */ b lbl_8036BEB4 -lbl_8036BD18: -/* 8036BD18 38 85 00 00 */ addi r4, r5, 0 -/* 8036BD1C 38 65 00 20 */ addi r3, r5, 0x20 -/* 8036BD20 C8 24 00 18 */ lfd f1, 0x18(r4) -/* 8036BD24 C8 03 00 18 */ lfd f0, 0x18(r3) -/* 8036BD28 FC 20 08 50 */ fneg f1, f1 -/* 8036BD2C FC 21 00 28 */ fsub f1, f1, f0 -/* 8036BD30 48 00 01 84 */ b lbl_8036BEB4 -lbl_8036BD34: -/* 8036BD34 3C 00 3F DC */ lis r0, 0x3fdc -/* 8036BD38 7C 04 00 00 */ cmpw r4, r0 -/* 8036BD3C 40 80 00 30 */ bge lbl_8036BD6C -/* 8036BD40 3C 00 3E 20 */ lis r0, 0x3e20 -/* 8036BD44 7C 04 00 00 */ cmpw r4, r0 -/* 8036BD48 40 80 00 1C */ bge lbl_8036BD64 -/* 8036BD4C C8 42 D0 B8 */ lfd f2, lit_115(r2) -/* 8036BD50 C8 02 D0 C0 */ lfd f0, lit_116(r2) -/* 8036BD54 FC 42 08 2A */ fadd f2, f2, f1 -/* 8036BD58 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8036BD5C 40 81 00 08 */ ble lbl_8036BD64 -/* 8036BD60 48 00 01 54 */ b lbl_8036BEB4 -lbl_8036BD64: -/* 8036BD64 38 00 FF FF */ li r0, -1 -/* 8036BD68 48 00 00 A0 */ b lbl_8036BE08 -lbl_8036BD6C: -/* 8036BD6C FC 60 0A 10 */ fabs f3, f1 -/* 8036BD70 3C 00 3F F3 */ lis r0, 0x3ff3 -/* 8036BD74 7C 04 00 00 */ cmpw r4, r0 -/* 8036BD78 D8 61 00 08 */ stfd f3, 8(r1) -/* 8036BD7C 40 80 00 4C */ bge lbl_8036BDC8 -/* 8036BD80 3C 00 3F E6 */ lis r0, 0x3fe6 -/* 8036BD84 7C 04 00 00 */ cmpw r4, r0 -/* 8036BD88 40 80 00 24 */ bge lbl_8036BDAC -/* 8036BD8C C8 42 D0 C8 */ lfd f2, lit_117(r2) -/* 8036BD90 38 00 00 00 */ li r0, 0 -/* 8036BD94 C8 22 D0 C0 */ lfd f1, lit_116(r2) -/* 8036BD98 FC 02 18 2A */ fadd f0, f2, f3 -/* 8036BD9C FC 22 08 F8 */ fmsub f1, f2, f3, f1 -/* 8036BDA0 FC 01 00 24 */ fdiv f0, f1, f0 -/* 8036BDA4 D8 01 00 08 */ stfd f0, 8(r1) -/* 8036BDA8 48 00 00 60 */ b lbl_8036BE08 -lbl_8036BDAC: -/* 8036BDAC C8 02 D0 C0 */ lfd f0, lit_116(r2) -/* 8036BDB0 38 00 00 01 */ li r0, 1 -/* 8036BDB4 FC 23 00 28 */ fsub f1, f3, f0 -/* 8036BDB8 FC 00 18 2A */ fadd f0, f0, f3 -/* 8036BDBC FC 01 00 24 */ fdiv f0, f1, f0 -/* 8036BDC0 D8 01 00 08 */ stfd f0, 8(r1) -/* 8036BDC4 48 00 00 44 */ b lbl_8036BE08 -lbl_8036BDC8: -/* 8036BDC8 3C 60 40 04 */ lis r3, 0x4004 /* 0x40038000@ha */ -/* 8036BDCC 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x40038000@l */ -/* 8036BDD0 7C 04 00 00 */ cmpw r4, r0 -/* 8036BDD4 40 80 00 24 */ bge lbl_8036BDF8 -/* 8036BDD8 C8 42 D0 D0 */ lfd f2, lit_118(r2) -/* 8036BDDC 38 00 00 02 */ li r0, 2 -/* 8036BDE0 C8 02 D0 C0 */ lfd f0, lit_116(r2) -/* 8036BDE4 FC 23 10 28 */ fsub f1, f3, f2 -/* 8036BDE8 FC 02 00 FA */ fmadd f0, f2, f3, f0 -/* 8036BDEC FC 01 00 24 */ fdiv f0, f1, f0 -/* 8036BDF0 D8 01 00 08 */ stfd f0, 8(r1) -/* 8036BDF4 48 00 00 14 */ b lbl_8036BE08 -lbl_8036BDF8: -/* 8036BDF8 C8 02 D0 D8 */ lfd f0, lit_119(r2) -/* 8036BDFC 38 00 00 03 */ li r0, 3 -/* 8036BE00 FC 00 18 24 */ fdiv f0, f0, f3 -/* 8036BE04 D8 01 00 08 */ stfd f0, 8(r1) -lbl_8036BE08: -/* 8036BE08 C9 21 00 08 */ lfd f9, 8(r1) -/* 8036BE0C 38 65 00 40 */ addi r3, r5, 0x40 -/* 8036BE10 C8 83 00 50 */ lfd f4, 0x50(r3) -/* 8036BE14 2C 00 00 00 */ cmpwi r0, 0 -/* 8036BE18 FD 69 02 72 */ fmul f11, f9, f9 -/* 8036BE1C C8 23 00 40 */ lfd f1, 0x40(r3) -/* 8036BE20 C8 E3 00 30 */ lfd f7, 0x30(r3) -/* 8036BE24 C8 63 00 48 */ lfd f3, 0x48(r3) -/* 8036BE28 C8 03 00 38 */ lfd f0, 0x38(r3) -/* 8036BE2C FD 4B 02 F2 */ fmul f10, f11, f11 -/* 8036BE30 C8 C3 00 20 */ lfd f6, 0x20(r3) -/* 8036BE34 C8 43 00 28 */ lfd f2, 0x28(r3) -/* 8036BE38 C8 A3 00 10 */ lfd f5, 0x10(r3) -/* 8036BE3C FD 0A 09 3A */ fmadd f8, f10, f4, f1 -/* 8036BE40 C8 23 00 18 */ lfd f1, 0x18(r3) -/* 8036BE44 C8 85 00 40 */ lfd f4, 0x40(r5) -/* 8036BE48 FC 6A 00 FA */ fmadd f3, f10, f3, f0 -/* 8036BE4C C8 03 00 08 */ lfd f0, 8(r3) -/* 8036BE50 FC EA 3A 3A */ fmadd f7, f10, f8, f7 -/* 8036BE54 FC 4A 10 FA */ fmadd f2, f10, f3, f2 -/* 8036BE58 FC 6A 31 FA */ fmadd f3, f10, f7, f6 -/* 8036BE5C FC 2A 08 BA */ fmadd f1, f10, f2, f1 -/* 8036BE60 FC 4A 28 FA */ fmadd f2, f10, f3, f5 -/* 8036BE64 FC 0A 00 7A */ fmadd f0, f10, f1, f0 -/* 8036BE68 FC 2A 20 BA */ fmadd f1, f10, f2, f4 -/* 8036BE6C FC 4A 00 32 */ fmul f2, f10, f0 -/* 8036BE70 FC 0B 00 72 */ fmul f0, f11, f1 -/* 8036BE74 40 80 00 10 */ bge lbl_8036BE84 -/* 8036BE78 FC 00 10 2A */ fadd f0, f0, f2 -/* 8036BE7C FC 29 48 3C */ fnmsub f1, f9, f0, f9 -/* 8036BE80 48 00 00 34 */ b lbl_8036BEB4 -lbl_8036BE84: -/* 8036BE84 54 00 18 38 */ slwi r0, r0, 3 -/* 8036BE88 38 65 00 20 */ addi r3, r5, 0x20 -/* 8036BE8C FC 20 10 2A */ fadd f1, f0, f2 -/* 8036BE90 7C 03 04 AE */ lfdx f0, r3, r0 -/* 8036BE94 38 65 00 00 */ addi r3, r5, 0 -/* 8036BE98 2C 06 00 00 */ cmpwi r6, 0 -/* 8036BE9C 7C 43 04 AE */ lfdx f2, r3, r0 -/* 8036BEA0 FC 09 00 78 */ fmsub f0, f9, f1, f0 -/* 8036BEA4 FC 00 48 28 */ fsub f0, f0, f9 -/* 8036BEA8 FC 22 00 28 */ fsub f1, f2, f0 -/* 8036BEAC 40 80 00 08 */ bge lbl_8036BEB4 -/* 8036BEB0 FC 20 08 50 */ fneg f1, f1 -lbl_8036BEB4: -/* 8036BEB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8036BEB8 4E 80 00 20 */ blr diff --git a/asm/MSL_C/Math/Double_precision/s_ldexp/ldexp.s b/asm/MSL_C/Math/Double_precision/s_ldexp/ldexp.s deleted file mode 100644 index 879479cc56..0000000000 --- a/asm/MSL_C/Math/Double_precision/s_ldexp/ldexp.s +++ /dev/null @@ -1,131 +0,0 @@ -lbl_8036C2D0: -/* 8036C2D0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8036C2D4 7C 08 02 A6 */ mflr r0 -/* 8036C2D8 D8 21 00 10 */ stfd f1, 0x10(r1) -/* 8036C2DC 80 A1 00 10 */ lwz r5, 0x10(r1) -/* 8036C2E0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8036C2E4 3C 00 7F F0 */ lis r0, 0x7ff0 -/* 8036C2E8 54 A4 00 56 */ rlwinm r4, r5, 0, 1, 0xb -/* 8036C2EC 7C 04 00 00 */ cmpw r4, r0 -/* 8036C2F0 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036C2F4 41 82 00 14 */ beq lbl_8036C308 -/* 8036C2F8 40 80 00 58 */ bge lbl_8036C350 -/* 8036C2FC 2C 04 00 00 */ cmpwi r4, 0 -/* 8036C300 41 82 00 2C */ beq lbl_8036C32C -/* 8036C304 48 00 00 4C */ b lbl_8036C350 -lbl_8036C308: -/* 8036C308 54 A0 03 3F */ clrlwi. r0, r5, 0xc -/* 8036C30C 40 82 00 10 */ bne lbl_8036C31C -/* 8036C310 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036C314 2C 00 00 00 */ cmpwi r0, 0 -/* 8036C318 41 82 00 0C */ beq lbl_8036C324 -lbl_8036C31C: -/* 8036C31C 38 00 00 01 */ li r0, 1 -/* 8036C320 48 00 00 34 */ b lbl_8036C354 -lbl_8036C324: -/* 8036C324 38 00 00 02 */ li r0, 2 -/* 8036C328 48 00 00 2C */ b lbl_8036C354 -lbl_8036C32C: -/* 8036C32C 54 A0 03 3F */ clrlwi. r0, r5, 0xc -/* 8036C330 40 82 00 10 */ bne lbl_8036C340 -/* 8036C334 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036C338 2C 00 00 00 */ cmpwi r0, 0 -/* 8036C33C 41 82 00 0C */ beq lbl_8036C348 -lbl_8036C340: -/* 8036C340 38 00 00 05 */ li r0, 5 -/* 8036C344 48 00 00 10 */ b lbl_8036C354 -lbl_8036C348: -/* 8036C348 38 00 00 03 */ li r0, 3 -/* 8036C34C 48 00 00 08 */ b lbl_8036C354 -lbl_8036C350: -/* 8036C350 38 00 00 04 */ li r0, 4 -lbl_8036C354: -/* 8036C354 2C 00 00 02 */ cmpwi r0, 2 -/* 8036C358 40 81 01 2C */ ble lbl_8036C484 -/* 8036C35C C8 02 D1 10 */ lfd f0, lit_91(r2) -/* 8036C360 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 8036C364 40 82 00 08 */ bne lbl_8036C36C -/* 8036C368 48 00 01 1C */ b lbl_8036C484 -lbl_8036C36C: -/* 8036C36C 80 A1 00 08 */ lwz r5, 8(r1) -/* 8036C370 80 C1 00 0C */ lwz r6, 0xc(r1) -/* 8036C374 54 A4 65 7F */ rlwinm. r4, r5, 0xc, 0x15, 0x1f -/* 8036C378 40 82 00 4C */ bne lbl_8036C3C4 -/* 8036C37C 54 A0 00 7E */ clrlwi r0, r5, 1 -/* 8036C380 7C C0 03 79 */ or. r0, r6, r0 -/* 8036C384 40 82 00 08 */ bne lbl_8036C38C -/* 8036C388 48 00 00 FC */ b lbl_8036C484 -lbl_8036C38C: -/* 8036C38C C8 21 00 08 */ lfd f1, 8(r1) -/* 8036C390 3C 80 FF FF */ lis r4, 0xFFFF /* 0xFFFF3CB0@ha */ -/* 8036C394 C8 02 D1 18 */ lfd f0, lit_92(r2) -/* 8036C398 38 04 3C B0 */ addi r0, r4, 0x3CB0 /* 0xFFFF3CB0@l */ -/* 8036C39C 7C 03 00 00 */ cmpw r3, r0 -/* 8036C3A0 FC 21 00 32 */ fmul f1, f1, f0 -/* 8036C3A4 D8 21 00 08 */ stfd f1, 8(r1) -/* 8036C3A8 80 A1 00 08 */ lwz r5, 8(r1) -/* 8036C3AC 54 A4 65 7E */ rlwinm r4, r5, 0xc, 0x15, 0x1f -/* 8036C3B0 38 84 FF CA */ addi r4, r4, -54 -/* 8036C3B4 40 80 00 10 */ bge lbl_8036C3C4 -/* 8036C3B8 C8 02 D1 20 */ lfd f0, lit_93(r2) -/* 8036C3BC FC 20 00 72 */ fmul f1, f0, f1 -/* 8036C3C0 48 00 00 C4 */ b lbl_8036C484 -lbl_8036C3C4: -/* 8036C3C4 2C 04 07 FF */ cmpwi r4, 0x7ff -/* 8036C3C8 40 82 00 10 */ bne lbl_8036C3D8 -/* 8036C3CC C8 01 00 08 */ lfd f0, 8(r1) -/* 8036C3D0 FC 20 00 2A */ fadd f1, f0, f0 -/* 8036C3D4 48 00 00 B0 */ b lbl_8036C484 -lbl_8036C3D8: -/* 8036C3D8 7C 84 1A 14 */ add r4, r4, r3 -/* 8036C3DC 2C 04 07 FE */ cmpwi r4, 0x7fe -/* 8036C3E0 40 81 00 1C */ ble lbl_8036C3FC -/* 8036C3E4 C8 22 D1 28 */ lfd f1, lit_94(r2) -/* 8036C3E8 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036C3EC 4B FF FC 15 */ bl copysign -/* 8036C3F0 C8 02 D1 28 */ lfd f0, lit_94(r2) -/* 8036C3F4 FC 20 00 72 */ fmul f1, f0, f1 -/* 8036C3F8 48 00 00 8C */ b lbl_8036C484 -lbl_8036C3FC: -/* 8036C3FC 2C 04 00 00 */ cmpwi r4, 0 -/* 8036C400 40 81 00 1C */ ble lbl_8036C41C -/* 8036C404 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0 -/* 8036C408 54 80 A0 16 */ slwi r0, r4, 0x14 -/* 8036C40C 7C 60 03 78 */ or r0, r3, r0 -/* 8036C410 90 01 00 08 */ stw r0, 8(r1) -/* 8036C414 C8 21 00 08 */ lfd f1, 8(r1) -/* 8036C418 48 00 00 6C */ b lbl_8036C484 -lbl_8036C41C: -/* 8036C41C 2C 04 FF CA */ cmpwi r4, -54 -/* 8036C420 41 81 00 44 */ bgt lbl_8036C464 -/* 8036C424 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000C350@ha */ -/* 8036C428 38 04 C3 50 */ addi r0, r4, 0xC350 /* 0x0000C350@l */ -/* 8036C42C 7C 03 00 00 */ cmpw r3, r0 -/* 8036C430 40 81 00 1C */ ble lbl_8036C44C -/* 8036C434 C8 22 D1 28 */ lfd f1, lit_94(r2) -/* 8036C438 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036C43C 4B FF FB C5 */ bl copysign -/* 8036C440 C8 02 D1 28 */ lfd f0, lit_94(r2) -/* 8036C444 FC 20 00 72 */ fmul f1, f0, f1 -/* 8036C448 48 00 00 3C */ b lbl_8036C484 -lbl_8036C44C: -/* 8036C44C C8 22 D1 20 */ lfd f1, lit_93(r2) -/* 8036C450 C8 41 00 08 */ lfd f2, 8(r1) -/* 8036C454 4B FF FB AD */ bl copysign -/* 8036C458 C8 02 D1 20 */ lfd f0, lit_93(r2) -/* 8036C45C FC 20 00 72 */ fmul f1, f0, f1 -/* 8036C460 48 00 00 24 */ b lbl_8036C484 -lbl_8036C464: -/* 8036C464 38 04 00 36 */ addi r0, r4, 0x36 -/* 8036C468 54 A3 03 00 */ rlwinm r3, r5, 0, 0xc, 0 -/* 8036C46C 54 00 A0 16 */ slwi r0, r0, 0x14 -/* 8036C470 C8 22 D1 30 */ lfd f1, lit_95(r2) -/* 8036C474 7C 60 03 78 */ or r0, r3, r0 -/* 8036C478 90 01 00 08 */ stw r0, 8(r1) -/* 8036C47C C8 01 00 08 */ lfd f0, 8(r1) -/* 8036C480 FC 21 00 32 */ fmul f1, f1, f0 -lbl_8036C484: -/* 8036C484 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8036C488 7C 08 03 A6 */ mtlr r0 -/* 8036C48C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8036C490 4E 80 00 20 */ blr diff --git a/asm/Runtime.PPCEABI.H/CPlusLibPPC/__copy.s b/asm/Runtime.PPCEABI.H/CPlusLibPPC/__copy.s deleted file mode 100644 index 1bec8150c0..0000000000 --- a/asm/Runtime.PPCEABI.H/CPlusLibPPC/__copy.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80361C3C: -/* 80361C3C 28 03 00 00 */ cmplwi r3, 0 -/* 80361C40 4D 82 00 20 */ beqlr -/* 80361C44 28 05 00 00 */ cmplwi r5, 0 -/* 80361C48 4D 82 00 20 */ beqlr -/* 80361C4C 7C 66 1B 78 */ mr r6, r3 -lbl_80361C50: -/* 80361C50 88 04 00 00 */ lbz r0, 0(r4) -/* 80361C54 34 A5 FF FF */ addic. r5, r5, -1 -/* 80361C58 38 84 00 01 */ addi r4, r4, 1 -/* 80361C5C 98 06 00 00 */ stb r0, 0(r6) -/* 80361C60 38 C6 00 01 */ addi r6, r6, 1 -/* 80361C64 40 82 FF EC */ bne lbl_80361C50 -/* 80361C68 4E 80 00 20 */ blr diff --git a/asm/Runtime.PPCEABI.H/GCN_mem_alloc/__sys_free.s b/asm/Runtime.PPCEABI.H/GCN_mem_alloc/__sys_free.s deleted file mode 100644 index fbd7967735..0000000000 --- a/asm/Runtime.PPCEABI.H/GCN_mem_alloc/__sys_free.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80362914: -/* 80362914 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80362918 7C 08 02 A6 */ mflr r0 -/* 8036291C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80362920 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80362924 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80362928 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8036292C 7C 7D 1B 78 */ mr r29, r3 -/* 80362930 80 0D 84 10 */ lwz r0, __OSCurrHeap(r13) -/* 80362934 2C 00 FF FF */ cmpwi r0, -1 -/* 80362938 40 82 00 6C */ bne lbl_803629A4 -/* 8036293C 3C 60 80 3A */ lis r3, lit_55@ha /* 0x803A21A8@ha */ -/* 80362940 38 63 21 A8 */ addi r3, r3, lit_55@l /* 0x803A21A8@l */ -/* 80362944 4C C6 31 82 */ crclr 6 -/* 80362948 4B CA 41 75 */ bl OSReport -/* 8036294C 3C 60 80 3A */ lis r3, lit_56@ha /* 0x803A21E0@ha */ -/* 80362950 38 63 21 E0 */ addi r3, r3, lit_56@l /* 0x803A21E0@l */ -/* 80362954 4C C6 31 82 */ crclr 6 -/* 80362958 4B CA 41 65 */ bl OSReport -/* 8036295C 4B FD 89 39 */ bl OSGetArenaLo -/* 80362960 7C 7F 1B 78 */ mr r31, r3 -/* 80362964 4B FD 89 29 */ bl OSGetArenaHi -/* 80362968 7C 7E 1B 78 */ mr r30, r3 -/* 8036296C 7F E3 FB 78 */ mr r3, r31 -/* 80362970 38 A0 00 01 */ li r5, 1 -/* 80362974 7F C4 F3 78 */ mr r4, r30 -/* 80362978 4B FD 88 39 */ bl OSInitAlloc -/* 8036297C 7C 7F 1B 78 */ mr r31, r3 -/* 80362980 4B FD 89 25 */ bl OSSetArenaLo -/* 80362984 38 1F 00 1F */ addi r0, r31, 0x1f -/* 80362988 57 DE 00 34 */ rlwinm r30, r30, 0, 0, 0x1a -/* 8036298C 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 80362990 7F C4 F3 78 */ mr r4, r30 -/* 80362994 4B FD 88 8D */ bl OSCreateHeap -/* 80362998 4B FD 88 09 */ bl OSSetCurrentHeap -/* 8036299C 7F C3 F3 78 */ mr r3, r30 -/* 803629A0 4B FD 89 05 */ bl OSSetArenaLo -lbl_803629A4: -/* 803629A4 80 6D 84 10 */ lwz r3, __OSCurrHeap(r13) -/* 803629A8 7F A4 EB 78 */ mr r4, r29 -/* 803629AC 4B FD 87 79 */ bl OSFreeToHeap -/* 803629B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803629B4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803629B8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803629BC 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803629C0 7C 08 03 A6 */ mtlr r0 -/* 803629C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 803629C8 4E 80 00 20 */ blr diff --git a/asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s b/asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s deleted file mode 100644 index ad552a5d9f..0000000000 --- a/asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80361B14: -/* 80361B14 88 E3 00 00 */ lbz r7, 0(r3) -/* 80361B18 2C 04 00 03 */ cmpwi r4, 3 -/* 80361B1C 7C 66 1B 78 */ mr r6, r3 -/* 80361B20 38 00 00 08 */ li r0, 8 -/* 80361B24 39 00 00 04 */ li r8, 4 -/* 80361B28 7C E7 07 74 */ extsb r7, r7 -/* 80361B2C 39 20 00 01 */ li r9, 1 -/* 80361B30 38 A0 00 00 */ li r5, 0 -/* 80361B34 39 40 00 00 */ li r10, 0 -/* 80361B38 39 60 00 04 */ li r11, 4 -/* 80361B3C 40 82 00 1C */ bne lbl_80361B58 -/* 80361B40 88 E3 00 01 */ lbz r7, 1(r3) -/* 80361B44 38 C3 00 01 */ addi r6, r3, 1 -/* 80361B48 39 00 00 08 */ li r8, 8 -/* 80361B4C 39 40 00 20 */ li r10, 0x20 -/* 80361B50 7C E7 07 74 */ extsb r7, r7 -/* 80361B54 39 60 00 08 */ li r11, 8 -lbl_80361B58: -/* 80361B58 2C 04 00 02 */ cmpwi r4, 2 -/* 80361B5C 40 82 00 1C */ bne lbl_80361B78 -/* 80361B60 54 E0 07 FF */ clrlwi. r0, r7, 0x1f -/* 80361B64 39 00 00 08 */ li r8, 8 -/* 80361B68 38 00 00 07 */ li r0, 7 -/* 80361B6C 41 82 00 08 */ beq lbl_80361B74 -/* 80361B70 38 A0 00 01 */ li r5, 1 -lbl_80361B74: -/* 80361B74 39 20 00 02 */ li r9, 2 -lbl_80361B78: -/* 80361B78 7C 07 00 00 */ cmpw r7, r0 -/* 80361B7C 40 80 00 24 */ bge lbl_80361BA0 -/* 80361B80 7C E7 2A 14 */ add r7, r7, r5 -/* 80361B84 80 A3 00 08 */ lwz r5, 8(r3) -/* 80361B88 7C 67 59 D6 */ mullw r3, r7, r11 -/* 80361B8C 7C 07 4A 14 */ add r0, r7, r9 -/* 80361B90 98 06 00 00 */ stb r0, 0(r6) -/* 80361B94 7C CA 1A 14 */ add r6, r10, r3 -/* 80361B98 7C C5 32 14 */ add r6, r5, r6 -/* 80361B9C 48 00 00 2C */ b lbl_80361BC8 -lbl_80361BA0: -/* 80361BA0 38 A0 00 08 */ li r5, 8 -/* 80361BA4 38 08 FF FF */ addi r0, r8, -1 -/* 80361BA8 98 A6 00 00 */ stb r5, 0(r6) -/* 80361BAC 7C 06 00 F8 */ nor r6, r0, r0 -/* 80361BB0 80 03 00 04 */ lwz r0, 4(r3) -/* 80361BB4 7C A8 02 14 */ add r5, r8, r0 -/* 80361BB8 38 05 FF FF */ addi r0, r5, -1 -/* 80361BBC 7C C6 00 38 */ and r6, r6, r0 -/* 80361BC0 7C 06 42 14 */ add r0, r6, r8 -/* 80361BC4 90 03 00 04 */ stw r0, 4(r3) -lbl_80361BC8: -/* 80361BC8 2C 04 00 00 */ cmpwi r4, 0 -/* 80361BCC 40 82 00 08 */ bne lbl_80361BD4 -/* 80361BD0 80 C6 00 00 */ lwz r6, 0(r6) -lbl_80361BD4: -/* 80361BD4 7C C3 33 78 */ mr r3, r6 -/* 80361BD8 4E 80 00 20 */ blr diff --git a/asm/Runtime.PPCEABI.H/ptmf/__ptmf_cmpr.s b/asm/Runtime.PPCEABI.H/ptmf/__ptmf_cmpr.s deleted file mode 100644 index 9bc0aaccba..0000000000 --- a/asm/Runtime.PPCEABI.H/ptmf/__ptmf_cmpr.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80362048: -/* 80362048 80 A3 00 00 */ lwz r5, 0(r3) -/* 8036204C 80 C4 00 00 */ lwz r6, 0(r4) -/* 80362050 80 E3 00 04 */ lwz r7, 4(r3) -/* 80362054 81 04 00 04 */ lwz r8, 4(r4) -/* 80362058 81 23 00 08 */ lwz r9, 8(r3) -/* 8036205C 81 44 00 08 */ lwz r10, 8(r4) -/* 80362060 38 60 00 01 */ li r3, 1 -/* 80362064 7C 05 30 00 */ cmpw r5, r6 -/* 80362068 7F 07 40 00 */ cmpw cr6, r7, r8 -/* 8036206C 7F 89 50 00 */ cmpw cr7, r9, r10 -/* 80362070 4C 82 00 20 */ bnelr -/* 80362074 4C 9A 00 20 */ bnelr cr6 -/* 80362078 4C 9E 00 20 */ bnelr cr7 -/* 8036207C 38 60 00 00 */ li r3, 0 -/* 80362080 4E 80 00 20 */ blr diff --git a/asm/Runtime.PPCEABI.H/ptmf/__ptmf_scall.s b/asm/Runtime.PPCEABI.H/ptmf/__ptmf_scall.s deleted file mode 100644 index 8794d3979f..0000000000 --- a/asm/Runtime.PPCEABI.H/ptmf/__ptmf_scall.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80362084: -/* 80362084 80 0C 00 00 */ lwz r0, 0(r12) -/* 80362088 81 6C 00 04 */ lwz r11, 4(r12) -/* 8036208C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80362090 7C 63 02 14 */ add r3, r3, r0 -/* 80362094 2C 0B 00 00 */ cmpwi r11, 0 -/* 80362098 41 80 00 0C */ blt lbl_803620A4 -/* 8036209C 7D 83 60 2E */ lwzx r12, r3, r12 -/* 803620A0 7D 8C 58 2E */ lwzx r12, r12, r11 -lbl_803620A4: -/* 803620A4 7D 89 03 A6 */ mtctr r12 -/* 803620A8 4E 80 04 20 */ bctr diff --git a/asm/Runtime.PPCEABI.H/ptmf/__ptmf_test.s b/asm/Runtime.PPCEABI.H/ptmf/__ptmf_test.s deleted file mode 100644 index f97fb34242..0000000000 --- a/asm/Runtime.PPCEABI.H/ptmf/__ptmf_test.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80362018: -/* 80362018 80 A3 00 00 */ lwz r5, 0(r3) -/* 8036201C 80 C3 00 04 */ lwz r6, 4(r3) -/* 80362020 80 E3 00 08 */ lwz r7, 8(r3) -/* 80362024 38 60 00 01 */ li r3, 1 -/* 80362028 2C 05 00 00 */ cmpwi r5, 0 -/* 8036202C 2F 06 00 00 */ cmpwi cr6, r6, 0 -/* 80362030 2F 87 00 00 */ cmpwi cr7, r7, 0 -/* 80362034 4C 82 00 20 */ bnelr -/* 80362038 4C 9A 00 20 */ bnelr cr6 -/* 8036203C 4C 9E 00 20 */ bnelr cr7 -/* 80362040 38 60 00 00 */ li r3, 0 -/* 80362044 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch/TRKDispatchMessage.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch/TRKDispatchMessage.s deleted file mode 100644 index e8c7e083e6..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch/TRKDispatchMessage.s +++ /dev/null @@ -1,94 +0,0 @@ -lbl_8036DB9C: -/* 8036DB9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8036DBA0 7C 08 02 A6 */ mflr r0 -/* 8036DBA4 38 80 00 00 */ li r4, 0 -/* 8036DBA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036DBAC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8036DBB0 3B E0 05 00 */ li r31, 0x500 -/* 8036DBB4 93 C1 00 08 */ stw r30, 8(r1) -/* 8036DBB8 7C 7E 1B 78 */ mr r30, r3 -/* 8036DBBC 4B FF FA 61 */ bl TRKSetBufferPosition -/* 8036DBC0 3C 60 80 3A */ lis r3, lit_126@ha /* 0x803A2890@ha */ -/* 8036DBC4 88 BE 00 14 */ lbz r5, 0x14(r30) -/* 8036DBC8 38 83 28 90 */ addi r4, r3, lit_126@l /* 0x803A2890@l */ -/* 8036DBCC 38 60 00 01 */ li r3, 1 -/* 8036DBD0 4C C6 31 82 */ crclr 6 -/* 8036DBD4 48 00 50 81 */ bl MWTRACE -/* 8036DBD8 88 1E 00 14 */ lbz r0, 0x14(r30) -/* 8036DBDC 28 00 00 1A */ cmplwi r0, 0x1a -/* 8036DBE0 41 81 00 F8 */ bgt lbl_8036DCD8 -/* 8036DBE4 3C 60 80 3D */ lis r3, lit_128@ha /* 0x803D3190@ha */ -/* 8036DBE8 54 00 10 3A */ slwi r0, r0, 2 -/* 8036DBEC 38 63 31 90 */ addi r3, r3, lit_128@l /* 0x803D3190@l */ -/* 8036DBF0 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8036DBF4 7C 09 03 A6 */ mtctr r0 -/* 8036DBF8 4E 80 04 20 */ bctr -/* 8036DBFC 7F C3 F3 78 */ mr r3, r30 -/* 8036DC00 48 00 10 5D */ bl TRKDoConnect -/* 8036DC04 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC08 48 00 00 D0 */ b lbl_8036DCD8 -/* 8036DC0C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC10 48 00 0F D5 */ bl TRKDoDisconnect -/* 8036DC14 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC18 48 00 00 C0 */ b lbl_8036DCD8 -/* 8036DC1C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC20 48 00 0F 6D */ bl TRKDoReset -/* 8036DC24 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC28 48 00 00 B0 */ b lbl_8036DCD8 -/* 8036DC2C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC30 48 00 0F 05 */ bl TRKDoOverride -/* 8036DC34 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC38 48 00 00 A0 */ b lbl_8036DCD8 -/* 8036DC3C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC40 48 00 0E ED */ bl TRKDoVersions -/* 8036DC44 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC48 48 00 00 90 */ b lbl_8036DCD8 -/* 8036DC4C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC50 48 00 0E D5 */ bl TRKDoSupportMask -/* 8036DC54 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC58 48 00 00 80 */ b lbl_8036DCD8 -/* 8036DC5C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC60 48 00 0C 81 */ bl TRKDoReadMemory -/* 8036DC64 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC68 48 00 00 70 */ b lbl_8036DCD8 -/* 8036DC6C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC70 48 00 0A 35 */ bl TRKDoWriteMemory -/* 8036DC74 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC78 48 00 00 60 */ b lbl_8036DCD8 -/* 8036DC7C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC80 48 00 07 45 */ bl TRKDoReadRegisters -/* 8036DC84 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC88 48 00 00 50 */ b lbl_8036DCD8 -/* 8036DC8C 7F C3 F3 78 */ mr r3, r30 -/* 8036DC90 48 00 04 A5 */ bl TRKDoWriteRegisters -/* 8036DC94 7C 7F 1B 78 */ mr r31, r3 -/* 8036DC98 48 00 00 40 */ b lbl_8036DCD8 -/* 8036DC9C 7F C3 F3 78 */ mr r3, r30 -/* 8036DCA0 48 00 03 E5 */ bl TRKDoContinue -/* 8036DCA4 7C 7F 1B 78 */ mr r31, r3 -/* 8036DCA8 48 00 00 30 */ b lbl_8036DCD8 -/* 8036DCAC 7F C3 F3 78 */ mr r3, r30 -/* 8036DCB0 48 00 01 B5 */ bl TRKDoStep -/* 8036DCB4 7C 7F 1B 78 */ mr r31, r3 -/* 8036DCB8 48 00 00 20 */ b lbl_8036DCD8 -/* 8036DCBC 7F C3 F3 78 */ mr r3, r30 -/* 8036DCC0 48 00 00 FD */ bl TRKDoStop -/* 8036DCC4 7C 7F 1B 78 */ mr r31, r3 -/* 8036DCC8 48 00 00 10 */ b lbl_8036DCD8 -/* 8036DCCC 7F C3 F3 78 */ mr r3, r30 -/* 8036DCD0 48 00 00 45 */ bl TRKDoSetOption -/* 8036DCD4 7C 7F 1B 78 */ mr r31, r3 -lbl_8036DCD8: -/* 8036DCD8 3C 60 80 3A */ lis r3, lit_127@ha /* 0x803A28AC@ha */ -/* 8036DCDC 7F E5 FB 78 */ mr r5, r31 -/* 8036DCE0 38 83 28 AC */ addi r4, r3, lit_127@l /* 0x803A28AC@l */ -/* 8036DCE4 38 60 00 01 */ li r3, 1 -/* 8036DCE8 4C C6 31 82 */ crclr 6 -/* 8036DCEC 48 00 4F 69 */ bl MWTRACE -/* 8036DCF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036DCF4 7F E3 FB 78 */ mr r3, r31 -/* 8036DCF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8036DCFC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8036DD00 7C 08 03 A6 */ mtlr r0 -/* 8036DD04 38 21 00 10 */ addi r1, r1, 0x10 -/* 8036DD08 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK/TRK_main.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK/TRK_main.s deleted file mode 100644 index 960ecfbcd2..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK/TRK_main.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80371B9C: -/* 80371B9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80371BA0 7C 08 02 A6 */ mflr r0 -/* 80371BA4 3C 80 80 3A */ lis r4, lit_80@ha /* 0x803A2BF8@ha */ -/* 80371BA8 38 60 00 01 */ li r3, 1 -/* 80371BAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80371BB0 38 84 2B F8 */ addi r4, r4, lit_80@l /* 0x803A2BF8@l */ -/* 80371BB4 4C C6 31 82 */ crclr 6 -/* 80371BB8 48 00 10 9D */ bl MWTRACE -/* 80371BBC 4B FF B2 D1 */ bl TRKInitializeNub -/* 80371BC0 3C 80 80 45 */ lis r4, TRK_mainError@ha /* 0x8044F818@ha */ -/* 80371BC4 2C 03 00 00 */ cmpwi r3, 0 -/* 80371BC8 90 64 F8 18 */ stw r3, TRK_mainError@l(r4) /* 0x8044F818@l */ -/* 80371BCC 40 82 00 0C */ bne lbl_80371BD8 -/* 80371BD0 4B FF B2 71 */ bl TRKNubWelcome -/* 80371BD4 4B FF AF 4D */ bl TRKNubMainLoop -lbl_80371BD8: -/* 80371BD8 4B FF B2 91 */ bl TRKTerminateNub -/* 80371BDC 3C 80 80 45 */ lis r4, TRK_mainError@ha /* 0x8044F818@ha */ -/* 80371BE0 90 64 F8 18 */ stw r3, TRK_mainError@l(r4) /* 0x8044F818@l */ -/* 80371BE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80371BE8 7C 08 03 A6 */ mtlr r0 -/* 80371BEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80371BF0 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK/TRK_fill_mem.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK/TRK_fill_mem.s deleted file mode 100644 index 5e48f4e2f9..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK/TRK_fill_mem.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_8036F580: -/* 8036F580 28 05 00 20 */ cmplwi r5, 0x20 -/* 8036F584 54 84 06 3E */ clrlwi r4, r4, 0x18 -/* 8036F588 38 C3 FF FF */ addi r6, r3, -1 -/* 8036F58C 7C 87 23 78 */ mr r7, r4 -/* 8036F590 41 80 00 90 */ blt lbl_8036F620 -/* 8036F594 7C C0 30 F8 */ nor r0, r6, r6 -/* 8036F598 54 03 07 BF */ clrlwi. r3, r0, 0x1e -/* 8036F59C 41 82 00 14 */ beq lbl_8036F5B0 -/* 8036F5A0 7C A3 28 50 */ subf r5, r3, r5 -lbl_8036F5A4: -/* 8036F5A4 34 63 FF FF */ addic. r3, r3, -1 -/* 8036F5A8 9C E6 00 01 */ stbu r7, 1(r6) -/* 8036F5AC 40 82 FF F8 */ bne lbl_8036F5A4 -lbl_8036F5B0: -/* 8036F5B0 28 07 00 00 */ cmplwi r7, 0 -/* 8036F5B4 41 82 00 1C */ beq lbl_8036F5D0 -/* 8036F5B8 54 E3 C0 0E */ slwi r3, r7, 0x18 -/* 8036F5BC 54 E0 80 1E */ slwi r0, r7, 0x10 -/* 8036F5C0 54 E4 40 2E */ slwi r4, r7, 8 -/* 8036F5C4 7C 60 03 78 */ or r0, r3, r0 -/* 8036F5C8 7C 80 03 78 */ or r0, r4, r0 -/* 8036F5CC 7C E7 03 78 */ or r7, r7, r0 -lbl_8036F5D0: -/* 8036F5D0 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f -/* 8036F5D4 38 66 FF FD */ addi r3, r6, -3 -/* 8036F5D8 41 82 00 2C */ beq lbl_8036F604 -lbl_8036F5DC: -/* 8036F5DC 90 E3 00 04 */ stw r7, 4(r3) -/* 8036F5E0 34 84 FF FF */ addic. r4, r4, -1 -/* 8036F5E4 90 E3 00 08 */ stw r7, 8(r3) -/* 8036F5E8 90 E3 00 0C */ stw r7, 0xc(r3) -/* 8036F5EC 90 E3 00 10 */ stw r7, 0x10(r3) -/* 8036F5F0 90 E3 00 14 */ stw r7, 0x14(r3) -/* 8036F5F4 90 E3 00 18 */ stw r7, 0x18(r3) -/* 8036F5F8 90 E3 00 1C */ stw r7, 0x1c(r3) -/* 8036F5FC 94 E3 00 20 */ stwu r7, 0x20(r3) -/* 8036F600 40 82 FF DC */ bne lbl_8036F5DC -lbl_8036F604: -/* 8036F604 54 A4 F7 7F */ rlwinm. r4, r5, 0x1e, 0x1d, 0x1f -/* 8036F608 41 82 00 10 */ beq lbl_8036F618 -lbl_8036F60C: -/* 8036F60C 34 84 FF FF */ addic. r4, r4, -1 -/* 8036F610 94 E3 00 04 */ stwu r7, 4(r3) -/* 8036F614 40 82 FF F8 */ bne lbl_8036F60C -lbl_8036F618: -/* 8036F618 38 C3 00 03 */ addi r6, r3, 3 -/* 8036F61C 54 A5 07 BE */ clrlwi r5, r5, 0x1e -lbl_8036F620: -/* 8036F620 28 05 00 00 */ cmplwi r5, 0 -/* 8036F624 4D 82 00 20 */ beqlr -lbl_8036F628: -/* 8036F628 34 A5 FF FF */ addic. r5, r5, -1 -/* 8036F62C 9C E6 00 01 */ stbu r7, 1(r6) -/* 8036F630 40 82 FF F8 */ bne lbl_8036F628 -/* 8036F634 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg/TRKMessageSend.s b/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg/TRKMessageSend.s deleted file mode 100644 index 262f7a82a6..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg/TRKMessageSend.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8036CFD8: -/* 8036CFD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8036CFDC 7C 08 02 A6 */ mflr r0 -/* 8036CFE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036CFE4 80 83 00 08 */ lwz r4, 8(r3) -/* 8036CFE8 38 63 00 10 */ addi r3, r3, 0x10 -/* 8036CFEC 48 00 4D 7D */ bl TRKWriteUARTN -/* 8036CFF0 3C 80 80 3A */ lis r4, lit_98@ha /* 0x803A26B8@ha */ -/* 8036CFF4 7C 65 1B 78 */ mr r5, r3 -/* 8036CFF8 38 60 00 01 */ li r3, 1 -/* 8036CFFC 38 84 26 B8 */ addi r4, r4, lit_98@l /* 0x803A26B8@l */ -/* 8036D000 4C C6 31 82 */ crclr 6 -/* 8036D004 48 00 5C 51 */ bl MWTRACE -/* 8036D008 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8036D00C 38 60 00 00 */ li r3, 0 -/* 8036D010 7C 08 03 A6 */ mtlr r0 -/* 8036D014 38 21 00 10 */ addi r1, r1, 0x10 -/* 8036D018 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont/TRKTargetContinue.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont/TRKTargetContinue.s deleted file mode 100644 index ca2d40d0a3..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont/TRKTargetContinue.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8037214C: -/* 8037214C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80372150 7C 08 02 A6 */ mflr r0 -/* 80372154 38 60 00 00 */ li r3, 0 -/* 80372158 90 01 00 14 */ stw r0, 0x14(r1) -/* 8037215C 4B FF D9 A5 */ bl TRKTargetSetStopped -/* 80372160 4B FF FB A9 */ bl UnreserveEXI2Port -/* 80372164 4B FF D7 51 */ bl TRKSwapAndGo -/* 80372168 4B FF FB D1 */ bl ReserveEXI2Port -/* 8037216C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80372170 38 60 00 00 */ li r3, 0 -/* 80372174 7C 08 03 A6 */ mtlr r0 -/* 80372178 38 21 00 10 */ addi r1, r1, 0x10 -/* 8037217C 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/GetUseSerialIO.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/GetUseSerialIO.s deleted file mode 100644 index 8006ad0ea3..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/GetUseSerialIO.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80372180: -/* 80372180 3C 60 80 45 */ lis r3, data_8044F828@ha /* 0x8044F828@ha */ -/* 80372184 38 63 F8 28 */ addi r3, r3, data_8044F828@l /* 0x8044F828@l */ -/* 80372188 88 63 00 00 */ lbz r3, 0(r3) -/* 8037218C 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/SetUseSerialIO.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/SetUseSerialIO.s deleted file mode 100644 index 4c1967c55a..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/SetUseSerialIO.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80372190: -/* 80372190 3C 80 80 45 */ lis r4, data_8044F828@ha /* 0x8044F828@ha */ -/* 80372194 98 64 F8 28 */ stb r3, data_8044F828@l(r4) /* 0x8044F828@l */ -/* 80372198 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put/usr_puts_serial.s b/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put/usr_puts_serial.s deleted file mode 100644 index ae4f1f9906..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put/usr_puts_serial.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8036DB14: -/* 8036DB14 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8036DB18 7C 08 02 A6 */ mflr r0 -/* 8036DB1C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8036DB20 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8036DB24 3B E0 00 00 */ li r31, 0 -/* 8036DB28 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8036DB2C 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8036DB30 7C 7D 1B 78 */ mr r29, r3 -/* 8036DB34 38 60 00 00 */ li r3, 0 -/* 8036DB38 48 00 00 30 */ b lbl_8036DB68 -lbl_8036DB3C: -/* 8036DB3C 48 00 11 91 */ bl GetTRKConnected -/* 8036DB40 9B C1 00 08 */ stb r30, 8(r1) -/* 8036DB44 7C 7E 1B 78 */ mr r30, r3 -/* 8036DB48 38 60 00 00 */ li r3, 0 -/* 8036DB4C 9B E1 00 09 */ stb r31, 9(r1) -/* 8036DB50 48 00 11 71 */ bl SetTRKConnected -/* 8036DB54 38 61 00 08 */ addi r3, r1, 8 -/* 8036DB58 4B C9 8F 65 */ bl OSReport -/* 8036DB5C 7F C3 F3 78 */ mr r3, r30 -/* 8036DB60 48 00 11 61 */ bl SetTRKConnected -/* 8036DB64 38 60 00 00 */ li r3, 0 -lbl_8036DB68: -/* 8036DB68 2C 03 00 00 */ cmpwi r3, 0 -/* 8036DB6C 40 82 00 14 */ bne lbl_8036DB80 -/* 8036DB70 88 1D 00 00 */ lbz r0, 0(r29) -/* 8036DB74 3B BD 00 01 */ addi r29, r29, 1 -/* 8036DB78 7C 1E 07 75 */ extsb. r30, r0 -/* 8036DB7C 40 82 FF C0 */ bne lbl_8036DB3C -lbl_8036DB80: -/* 8036DB80 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8036DB84 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8036DB88 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8036DB8C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8036DB90 7C 08 03 A6 */ mtlr r0 -/* 8036DB94 38 21 00 20 */ addi r1, r1, 0x20 -/* 8036DB98 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache/TRK_flush_cache.s b/asm/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache/TRK_flush_cache.s deleted file mode 100644 index c816195046..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache/TRK_flush_cache.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8036F548: -/* 8036F548 3C A0 FF FF */ lis r5, 0xFFFF /* 0xFFFFFFF1@h */ -/* 8036F54C 60 A5 FF F1 */ ori r5, r5, 0xFFF1 /* 0xFFFFFFF1@l */ -/* 8036F550 7C A5 18 38 */ and r5, r5, r3 -/* 8036F554 7C 65 18 50 */ subf r3, r5, r3 -/* 8036F558 7C 84 1A 14 */ add r4, r4, r3 -lbl_8036F55C: -/* 8036F55C 7C 00 28 6C */ dcbst 0, r5 -/* 8036F560 7C 00 28 AC */ dcbf 0, r5 -/* 8036F564 7C 00 04 AC */ sync -/* 8036F568 7C 00 2F AC */ icbi 0, r5 -/* 8036F56C 30 A5 00 08 */ addic r5, r5, 8 -/* 8036F570 34 84 FF F8 */ addic. r4, r4, -8 -/* 8036F574 40 80 FF E8 */ bge lbl_8036F55C -/* 8036F578 4C 00 01 2C */ isync -/* 8036F57C 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/common/MWTrace/MWTRACE.s b/asm/TRK_MINNOW_DOLPHIN/utils/common/MWTrace/MWTRACE.s deleted file mode 100644 index 2f7ff4c4f3..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/common/MWTrace/MWTRACE.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80372C54: -/* 80372C54 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 80372C58 40 86 00 24 */ bne cr1, lbl_80372C7C -/* 80372C5C D8 21 00 28 */ stfd f1, 0x28(r1) -/* 80372C60 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 80372C64 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 80372C68 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 80372C6C D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 80372C70 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 80372C74 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 80372C78 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_80372C7C: -/* 80372C7C 90 61 00 08 */ stw r3, 8(r1) -/* 80372C80 90 81 00 0C */ stw r4, 0xc(r1) -/* 80372C84 90 A1 00 10 */ stw r5, 0x10(r1) -/* 80372C88 90 C1 00 14 */ stw r6, 0x14(r1) -/* 80372C8C 90 E1 00 18 */ stw r7, 0x18(r1) -/* 80372C90 91 01 00 1C */ stw r8, 0x1c(r1) -/* 80372C94 91 21 00 20 */ stw r9, 0x20(r1) -/* 80372C98 91 41 00 24 */ stw r10, 0x24(r1) -/* 80372C9C 38 21 00 70 */ addi r1, r1, 0x70 -/* 80372CA0 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWExitCriticalSection.s b/asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWExitCriticalSection.s deleted file mode 100644 index b514e7799a..0000000000 --- a/asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWExitCriticalSection.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80372CA4: -/* 80372CA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80372CA8 7C 08 02 A6 */ mflr r0 -/* 80372CAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80372CB0 80 63 00 00 */ lwz r3, 0(r3) -/* 80372CB4 4B FC AA 69 */ bl OSRestoreInterrupts -/* 80372CB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80372CBC 7C 08 03 A6 */ mtlr r0 -/* 80372CC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80372CC4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/allAnimePlay__9daAlink_cFv.s b/asm/d/a/d_a_alink/allAnimePlay__9daAlink_cFv.s deleted file mode 100644 index af9b08489a..0000000000 --- a/asm/d/a/d_a_alink/allAnimePlay__9daAlink_cFv.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_800AD170: -/* 800AD170 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800AD174 7C 08 02 A6 */ mflr r0 -/* 800AD178 90 01 00 34 */ stw r0, 0x34(r1) -/* 800AD17C 39 61 00 30 */ addi r11, r1, 0x30 -/* 800AD180 48 2B 50 49 */ bl _savegpr_24 -/* 800AD184 7C 7F 1B 78 */ mr r31, r3 -/* 800AD188 83 83 1F 2C */ lwz r28, 0x1f2c(r3) -/* 800AD18C 83 63 1F 34 */ lwz r27, 0x1f34(r3) -/* 800AD190 83 43 1F 44 */ lwz r26, 0x1f44(r3) -/* 800AD194 83 23 1F 4C */ lwz r25, 0x1f4c(r3) -/* 800AD198 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800AD19C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800AD1A0 41 82 00 08 */ beq lbl_800AD1A8 -/* 800AD1A4 48 07 F9 69 */ bl setWolfAnmVoice__9daAlink_cFv -lbl_800AD1A8: -/* 800AD1A8 3B 00 00 00 */ li r24, 0 -/* 800AD1AC 3B C0 00 00 */ li r30, 0 -/* 800AD1B0 3B A0 00 00 */ li r29, 0 -lbl_800AD1B4: -/* 800AD1B4 7F E3 FB 78 */ mr r3, r31 -/* 800AD1B8 38 1D 1F 2C */ addi r0, r29, 0x1f2c -/* 800AD1BC 7C 9F 00 2E */ lwzx r4, r31, r0 -/* 800AD1C0 38 BE 1F D0 */ addi r5, r30, 0x1fd0 -/* 800AD1C4 7C BF 2A 14 */ add r5, r31, r5 -/* 800AD1C8 4B FF FF 61 */ bl animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c -/* 800AD1CC 3B 18 00 01 */ addi r24, r24, 1 -/* 800AD1D0 2C 18 00 03 */ cmpwi r24, 3 -/* 800AD1D4 3B DE 00 18 */ addi r30, r30, 0x18 -/* 800AD1D8 3B BD 00 08 */ addi r29, r29, 8 -/* 800AD1DC 41 80 FF D8 */ blt lbl_800AD1B4 -/* 800AD1E0 7C 1A E0 40 */ cmplw r26, r28 -/* 800AD1E4 41 82 00 14 */ beq lbl_800AD1F8 -/* 800AD1E8 7F E3 FB 78 */ mr r3, r31 -/* 800AD1EC 7F 44 D3 78 */ mr r4, r26 -/* 800AD1F0 38 BF 20 18 */ addi r5, r31, 0x2018 -/* 800AD1F4 4B FF FF 35 */ bl animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c -lbl_800AD1F8: -/* 800AD1F8 7C 19 D8 40 */ cmplw r25, r27 -/* 800AD1FC 41 82 00 14 */ beq lbl_800AD210 -/* 800AD200 7F E3 FB 78 */ mr r3, r31 -/* 800AD204 7F 24 CB 78 */ mr r4, r25 -/* 800AD208 38 BF 20 30 */ addi r5, r31, 0x2030 -/* 800AD20C 4B FF FF 1D */ bl animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c -lbl_800AD210: -/* 800AD210 7F E3 FB 78 */ mr r3, r31 -/* 800AD214 80 9F 1F 54 */ lwz r4, 0x1f54(r31) -/* 800AD218 38 BF 20 48 */ addi r5, r31, 0x2048 -/* 800AD21C 4B FF FF 0D */ bl animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c -/* 800AD220 88 1F 2F 92 */ lbz r0, 0x2f92(r31) -/* 800AD224 28 00 00 FB */ cmplwi r0, 0xfb -/* 800AD228 40 82 00 14 */ bne lbl_800AD23C -/* 800AD22C 80 7F 06 A4 */ lwz r3, 0x6a4(r31) -/* 800AD230 28 03 00 00 */ cmplwi r3, 0 -/* 800AD234 41 82 00 08 */ beq lbl_800AD23C -/* 800AD238 4B F6 01 F1 */ bl play__14mDoExt_baseAnmFv -lbl_800AD23C: -/* 800AD23C 88 1F 2F 93 */ lbz r0, 0x2f93(r31) -/* 800AD240 28 00 00 FB */ cmplwi r0, 0xfb -/* 800AD244 40 82 00 14 */ bne lbl_800AD258 -/* 800AD248 80 7F 06 AC */ lwz r3, 0x6ac(r31) -/* 800AD24C 28 03 00 00 */ cmplwi r3, 0 -/* 800AD250 41 82 00 08 */ beq lbl_800AD258 -/* 800AD254 4B F6 01 D5 */ bl play__14mDoExt_baseAnmFv -lbl_800AD258: -/* 800AD258 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800AD25C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800AD260 41 82 00 40 */ beq lbl_800AD2A0 -/* 800AD264 80 7F 06 9C */ lwz r3, 0x69c(r31) -/* 800AD268 28 03 00 00 */ cmplwi r3, 0 -/* 800AD26C 41 82 00 14 */ beq lbl_800AD280 -/* 800AD270 80 63 00 14 */ lwz r3, 0x14(r3) -/* 800AD274 28 03 00 00 */ cmplwi r3, 0 -/* 800AD278 41 82 00 08 */ beq lbl_800AD280 -/* 800AD27C 4B FF BF CD */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -lbl_800AD280: -/* 800AD280 80 7F 06 8C */ lwz r3, 0x68c(r31) -/* 800AD284 28 03 00 00 */ cmplwi r3, 0 -/* 800AD288 41 82 00 08 */ beq lbl_800AD290 -/* 800AD28C 4B FF BF BD */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -lbl_800AD290: -/* 800AD290 80 7F 06 90 */ lwz r3, 0x690(r31) -/* 800AD294 28 03 00 00 */ cmplwi r3, 0 -/* 800AD298 41 82 00 08 */ beq lbl_800AD2A0 -/* 800AD29C 4B F6 01 8D */ bl play__14mDoExt_baseAnmFv -lbl_800AD2A0: -/* 800AD2A0 80 7F 06 B0 */ lwz r3, 0x6b0(r31) -/* 800AD2A4 28 03 00 00 */ cmplwi r3, 0 -/* 800AD2A8 41 82 00 08 */ beq lbl_800AD2B0 -/* 800AD2AC 4B F6 01 7D */ bl play__14mDoExt_baseAnmFv -lbl_800AD2B0: -/* 800AD2B0 80 7F 06 F4 */ lwz r3, 0x6f4(r31) -/* 800AD2B4 4B FF BF 95 */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -/* 800AD2B8 80 7F 06 F8 */ lwz r3, 0x6f8(r31) -/* 800AD2BC 4B FF BF 8D */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -/* 800AD2C0 39 61 00 30 */ addi r11, r1, 0x30 -/* 800AD2C4 48 2B 4F 51 */ bl _restgpr_24 -/* 800AD2C8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800AD2CC 7C 08 03 A6 */ mtlr r0 -/* 800AD2D0 38 21 00 30 */ addi r1, r1, 0x30 -/* 800AD2D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkAtnLeftAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkAtnLeftAnime__9daAlink_cFv.s deleted file mode 100644 index 4c10de82f4..0000000000 --- a/asm/d/a/d_a_alink/checkAtnLeftAnime__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800ADC50: -/* 800ADC50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ADC54 7C 08 02 A6 */ mflr r0 -/* 800ADC58 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ADC5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ADC60 93 C1 00 08 */ stw r30, 8(r1) -/* 800ADC64 7C 7E 1B 78 */ mr r30, r3 -/* 800ADC68 3B E0 00 00 */ li r31, 0 -/* 800ADC6C 38 80 00 10 */ li r4, 0x10 -/* 800ADC70 4B FF E8 E9 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADC74 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADC78 40 82 00 54 */ bne lbl_800ADCCC -/* 800ADC7C 7F C3 F3 78 */ mr r3, r30 -/* 800ADC80 38 80 00 06 */ li r4, 6 -/* 800ADC84 4B FF E8 D5 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADC88 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADC8C 40 82 00 40 */ bne lbl_800ADCCC -/* 800ADC90 7F C3 F3 78 */ mr r3, r30 -/* 800ADC94 38 80 00 0A */ li r4, 0xa -/* 800ADC98 4B FF E8 C1 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADC9C 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADCA0 40 82 00 2C */ bne lbl_800ADCCC -/* 800ADCA4 7F C3 F3 78 */ mr r3, r30 -/* 800ADCA8 38 80 00 07 */ li r4, 7 -/* 800ADCAC 4B FF E8 AD */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADCB0 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADCB4 40 82 00 18 */ bne lbl_800ADCCC -/* 800ADCB8 7F C3 F3 78 */ mr r3, r30 -/* 800ADCBC 38 80 00 0B */ li r4, 0xb -/* 800ADCC0 4B FF E8 99 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADCC4 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADCC8 41 82 00 08 */ beq lbl_800ADCD0 -lbl_800ADCCC: -/* 800ADCCC 3B E0 00 01 */ li r31, 1 -lbl_800ADCD0: -/* 800ADCD0 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800ADCD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ADCD8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800ADCDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ADCE0 7C 08 03 A6 */ mtlr r0 -/* 800ADCE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ADCE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkAtnRightAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkAtnRightAnime__9daAlink_cFv.s deleted file mode 100644 index 1c132d3f32..0000000000 --- a/asm/d/a/d_a_alink/checkAtnRightAnime__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800ADCEC: -/* 800ADCEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ADCF0 7C 08 02 A6 */ mflr r0 -/* 800ADCF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ADCF8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ADCFC 93 C1 00 08 */ stw r30, 8(r1) -/* 800ADD00 7C 7E 1B 78 */ mr r30, r3 -/* 800ADD04 3B E0 00 00 */ li r31, 0 -/* 800ADD08 38 80 00 11 */ li r4, 0x11 -/* 800ADD0C 4B FF E8 4D */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADD10 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADD14 40 82 00 54 */ bne lbl_800ADD68 -/* 800ADD18 7F C3 F3 78 */ mr r3, r30 -/* 800ADD1C 38 80 00 08 */ li r4, 8 -/* 800ADD20 4B FF E8 39 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADD24 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADD28 40 82 00 40 */ bne lbl_800ADD68 -/* 800ADD2C 7F C3 F3 78 */ mr r3, r30 -/* 800ADD30 38 80 00 0C */ li r4, 0xc -/* 800ADD34 4B FF E8 25 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADD38 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADD3C 40 82 00 2C */ bne lbl_800ADD68 -/* 800ADD40 7F C3 F3 78 */ mr r3, r30 -/* 800ADD44 38 80 00 09 */ li r4, 9 -/* 800ADD48 4B FF E8 11 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADD4C 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADD50 40 82 00 18 */ bne lbl_800ADD68 -/* 800ADD54 7F C3 F3 78 */ mr r3, r30 -/* 800ADD58 38 80 00 0D */ li r4, 0xd -/* 800ADD5C 4B FF E7 FD */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ADD60 2C 03 00 00 */ cmpwi r3, 0 -/* 800ADD64 41 82 00 08 */ beq lbl_800ADD6C -lbl_800ADD68: -/* 800ADD68 3B E0 00 01 */ li r31, 1 -lbl_800ADD6C: -/* 800ADD6C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800ADD70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ADD74 83 C1 00 08 */ lwz r30, 8(r1) -/* 800ADD78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ADD7C 7C 08 03 A6 */ mtlr r0 -/* 800ADD80 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ADD84 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s deleted file mode 100644 index 7d66f31322..0000000000 --- a/asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_800E0244: -/* 800E0244 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0248 7C 08 02 A6 */ mflr r0 -/* 800E024C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0250 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0254 93 C1 00 08 */ stw r30, 8(r1) -/* 800E0258 7C 7E 1B 78 */ mr r30, r3 -/* 800E025C 3B E0 00 00 */ li r31, 0 -/* 800E0260 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800E0264 28 00 01 02 */ cmplwi r0, 0x102 -/* 800E0268 41 82 00 14 */ beq lbl_800E027C -/* 800E026C 48 00 01 D5 */ bl checkBoomerangAnime__9daAlink_cCFv -/* 800E0270 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0274 41 82 00 08 */ beq lbl_800E027C -/* 800E0278 3B E0 00 01 */ li r31, 1 -lbl_800E027C: -/* 800E027C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800E0280 41 82 00 0C */ beq lbl_800E028C -/* 800E0284 38 60 00 01 */ li r3, 1 -/* 800E0288 48 00 00 18 */ b lbl_800E02A0 -lbl_800E028C: -/* 800E028C 7F C3 F3 78 */ mr r3, r30 -/* 800E0290 4B FF FF 81 */ bl getBoomerangActor__9daAlink_cFv -/* 800E0294 30 03 FF FF */ addic r0, r3, -1 -/* 800E0298 7C 00 19 10 */ subfe r0, r0, r3 -/* 800E029C 54 03 06 3E */ clrlwi r3, r0, 0x18 -lbl_800E02A0: -/* 800E02A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E02A4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E02A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E02AC 7C 08 03 A6 */ mtlr r0 -/* 800E02B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E02B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s deleted file mode 100644 index cb76752cc6..0000000000 --- a/asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800E04AC: -/* 800E04AC 38 80 00 00 */ li r4, 0 -/* 800E04B0 A0 A3 2F DC */ lhz r5, 0x2fdc(r3) -/* 800E04B4 28 05 00 40 */ cmplwi r5, 0x40 -/* 800E04B8 41 82 00 18 */ beq lbl_800E04D0 -/* 800E04BC 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800E04C0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800E04C4 40 82 00 0C */ bne lbl_800E04D0 -/* 800E04C8 28 05 01 02 */ cmplwi r5, 0x102 -/* 800E04CC 40 82 00 14 */ bne lbl_800E04E0 -lbl_800E04D0: -/* 800E04D0 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E04D4 28 00 00 53 */ cmplwi r0, 0x53 -/* 800E04D8 40 82 00 08 */ bne lbl_800E04E0 -/* 800E04DC 38 80 00 01 */ li r4, 1 -lbl_800E04E0: -/* 800E04E0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800E04E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkDashAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkDashAnime__9daAlink_cCFv.s deleted file mode 100644 index e9ba7a28bc..0000000000 --- a/asm/d/a/d_a_alink/checkDashAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800A7A5C: -/* 800A7A5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A7A60 7C 08 02 A6 */ mflr r0 -/* 800A7A64 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A7A68 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A7A6C 93 C1 00 08 */ stw r30, 8(r1) -/* 800A7A70 7C 7E 1B 78 */ mr r30, r3 -/* 800A7A74 3B E0 00 00 */ li r31, 0 -/* 800A7A78 38 80 00 13 */ li r4, 0x13 -/* 800A7A7C 48 00 4A DD */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800A7A80 2C 03 00 00 */ cmpwi r3, 0 -/* 800A7A84 40 82 00 18 */ bne lbl_800A7A9C -/* 800A7A88 7F C3 F3 78 */ mr r3, r30 -/* 800A7A8C 38 80 00 1C */ li r4, 0x1c -/* 800A7A90 48 00 4A C9 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800A7A94 2C 03 00 00 */ cmpwi r3, 0 -/* 800A7A98 41 82 00 08 */ beq lbl_800A7AA0 -lbl_800A7A9C: -/* 800A7A9C 3B E0 00 01 */ li r31, 1 -lbl_800A7AA0: -/* 800A7AA0 7F E3 FB 78 */ mr r3, r31 -/* 800A7AA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A7AA8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A7AAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A7AB0 7C 08 03 A6 */ mtlr r0 -/* 800A7AB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A7AB8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s deleted file mode 100644 index ad49f15918..0000000000 --- a/asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_80118C98: -/* 80118C98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80118C9C 7C 08 02 A6 */ mflr r0 -/* 80118CA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80118CA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80118CA8 48 24 95 31 */ bl _savegpr_28 -/* 80118CAC 7C 7C 1B 78 */ mr r28, r3 -/* 80118CB0 3B E0 00 01 */ li r31, 1 -/* 80118CB4 7F FE FB 78 */ mr r30, r31 -/* 80118CB8 3B A0 00 00 */ li r29, 0 -/* 80118CBC 7F A4 EB 78 */ mr r4, r29 -/* 80118CC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80118CC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80118CC8 A0 03 00 02 */ lhz r0, 2(r3) -/* 80118CCC 28 00 00 00 */ cmplwi r0, 0 -/* 80118CD0 40 82 00 14 */ bne lbl_80118CE4 -/* 80118CD4 80 1C 05 80 */ lwz r0, 0x580(r28) -/* 80118CD8 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 80118CDC 40 82 00 08 */ bne lbl_80118CE4 -/* 80118CE0 7F E4 FB 78 */ mr r4, r31 -lbl_80118CE4: -/* 80118CE4 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 80118CE8 41 82 00 24 */ beq lbl_80118D0C -/* 80118CEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80118CF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80118CF4 38 63 00 9C */ addi r3, r3, 0x9c -/* 80118CF8 38 80 00 6C */ li r4, 0x6c -/* 80118CFC 4B F1 A9 E5 */ bl checkBottle__17dSv_player_item_cFUc -/* 80118D00 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80118D04 40 82 00 08 */ bne lbl_80118D0C -/* 80118D08 3B A0 00 01 */ li r29, 1 -lbl_80118D0C: -/* 80118D0C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 80118D10 40 82 00 14 */ bne lbl_80118D24 -/* 80118D14 80 1C 05 78 */ lwz r0, 0x578(r28) -/* 80118D18 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 80118D1C 40 82 00 08 */ bne lbl_80118D24 -/* 80118D20 3B C0 00 00 */ li r30, 0 -lbl_80118D24: -/* 80118D24 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80118D28 40 82 00 38 */ bne lbl_80118D60 -/* 80118D2C 38 80 00 00 */ li r4, 0 -/* 80118D30 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80118D34 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80118D38 88 03 5E B7 */ lbz r0, 0x5eb7(r3) -/* 80118D3C 28 00 00 00 */ cmplwi r0, 0 -/* 80118D40 41 82 00 14 */ beq lbl_80118D54 -/* 80118D44 80 03 5D E4 */ lwz r0, 0x5de4(r3) -/* 80118D48 2C 00 00 00 */ cmpwi r0, 0 -/* 80118D4C 40 82 00 08 */ bne lbl_80118D54 -/* 80118D50 38 80 00 01 */ li r4, 1 -lbl_80118D54: -/* 80118D54 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 80118D58 40 82 00 08 */ bne lbl_80118D60 -/* 80118D5C 3B E0 00 00 */ li r31, 0 -lbl_80118D60: -/* 80118D60 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80118D64 39 61 00 20 */ addi r11, r1, 0x20 -/* 80118D68 48 24 94 BD */ bl _restgpr_28 -/* 80118D6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80118D70 7C 08 03 A6 */ mtlr r0 -/* 80118D74 38 21 00 20 */ addi r1, r1, 0x20 -/* 80118D78 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkFinalBattle__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkFinalBattle__9daAlink_cFv.s deleted file mode 100644 index c85fc10e49..0000000000 --- a/asm/d/a/d_a_alink/checkFinalBattle__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80118AD0: -/* 80118AD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80118AD4 7C 08 02 A6 */ mflr r0 -/* 80118AD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80118ADC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80118AE0 3B E0 00 00 */ li r31, 0 -/* 80118AE4 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 80118AE8 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 80118AEC 38 63 00 F6 */ addi r3, r3, 0xf6 -/* 80118AF0 4B F8 4F 71 */ bl checkStageName__9daAlink_cFPCc -/* 80118AF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80118AF8 41 82 00 24 */ beq lbl_80118B1C -/* 80118AFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80118B00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80118B04 38 63 09 78 */ addi r3, r3, 0x978 -/* 80118B08 38 80 00 01 */ li r4, 1 -/* 80118B0C 4B F1 C0 DD */ bl isSwitch__12dSv_danBit_cCFi -/* 80118B10 2C 03 00 00 */ cmpwi r3, 0 -/* 80118B14 41 82 00 08 */ beq lbl_80118B1C -/* 80118B18 3B E0 00 01 */ li r31, 1 -lbl_80118B1C: -/* 80118B1C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80118B20 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80118B24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80118B28 7C 08 03 A6 */ mtlr r0 -/* 80118B2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80118B30 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c.s deleted file mode 100644 index edbde3341d..0000000000 --- a/asm/d/a/d_a_alink/checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_800B477C: -/* 800B477C 28 04 00 00 */ cmplwi r4, 0 -/* 800B4780 41 82 00 2C */ beq lbl_800B47AC -/* 800B4784 80 04 00 0C */ lwz r0, 0xc(r4) -/* 800B4788 28 00 00 03 */ cmplwi r0, 3 -/* 800B478C 41 82 00 18 */ beq lbl_800B47A4 -/* 800B4790 28 00 00 01 */ cmplwi r0, 1 -/* 800B4794 40 82 00 18 */ bne lbl_800B47AC -/* 800B4798 80 03 27 EC */ lwz r0, 0x27ec(r3) -/* 800B479C 7C 00 28 40 */ cmplw r0, r5 -/* 800B47A0 40 82 00 0C */ bne lbl_800B47AC -lbl_800B47A4: -/* 800B47A4 38 60 00 01 */ li r3, 1 -/* 800B47A8 4E 80 00 20 */ blr -lbl_800B47AC: -/* 800B47AC 38 60 00 00 */ li r3, 0 -/* 800B47B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkRestartDead__9daAlink_cFii.s b/asm/d/a/d_a_alink/checkRestartDead__9daAlink_cFii.s deleted file mode 100644 index c4cd966ddb..0000000000 --- a/asm/d/a/d_a_alink/checkRestartDead__9daAlink_cFii.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_80118B34: -/* 80118B34 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80118B38 7C 08 02 A6 */ mflr r0 -/* 80118B3C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80118B40 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80118B44 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80118B48 7C 7E 1B 78 */ mr r30, r3 -/* 80118B4C 7C 9F 23 78 */ mr r31, r4 -/* 80118B50 7C A4 2B 78 */ mr r4, r5 -/* 80118B54 38 A0 00 01 */ li r5, 1 -/* 80118B58 4B FB E6 B1 */ bl damageMagnification__9daAlink_cFii -/* 80118B5C FC 00 08 1E */ fctiwz f0, f1 -/* 80118B60 D8 01 00 08 */ stfd f0, 8(r1) -/* 80118B64 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80118B68 7F FF 01 D6 */ mullw r31, r31, r0 -/* 80118B6C A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 80118B70 28 00 01 50 */ cmplwi r0, 0x150 -/* 80118B74 41 82 00 64 */ beq lbl_80118BD8 -/* 80118B78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80118B7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80118B80 A0 03 00 02 */ lhz r0, 2(r3) -/* 80118B84 7C 1F 00 00 */ cmpw r31, r0 -/* 80118B88 41 80 00 50 */ blt lbl_80118BD8 -/* 80118B8C 7F C3 F3 78 */ mr r3, r30 -/* 80118B90 4B FB EC 39 */ bl checkMagicArmorNoDamage__9daAlink_cFv -/* 80118B94 2C 03 00 00 */ cmpwi r3, 0 -/* 80118B98 40 82 00 40 */ bne lbl_80118BD8 -/* 80118B9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80118BA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80118BA4 38 63 00 9C */ addi r3, r3, 0x9c -/* 80118BA8 38 80 00 6C */ li r4, 0x6c -/* 80118BAC 4B F1 AB 35 */ bl checkBottle__17dSv_player_item_cFUc -/* 80118BB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80118BB4 40 82 00 24 */ bne lbl_80118BD8 -/* 80118BB8 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 80118BBC 64 00 00 04 */ oris r0, r0, 4 -/* 80118BC0 90 1E 05 78 */ stw r0, 0x578(r30) -/* 80118BC4 7F C3 F3 78 */ mr r3, r30 -/* 80118BC8 38 80 00 00 */ li r4, 0 -/* 80118BCC 48 00 32 89 */ bl procCoDeadInit__9daAlink_cFi -/* 80118BD0 38 60 00 01 */ li r3, 1 -/* 80118BD4 48 00 00 08 */ b lbl_80118BDC -lbl_80118BD8: -/* 80118BD8 38 60 00 00 */ li r3, 0 -lbl_80118BDC: -/* 80118BDC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80118BE0 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80118BE4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80118BE8 7C 08 03 A6 */ mtlr r0 -/* 80118BEC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80118BF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s b/asm/d/a/d_a_alink/checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s deleted file mode 100644 index 79b25899c8..0000000000 --- a/asm/d/a/d_a_alink/checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800AC558: -/* 800AC558 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800AC55C 7C 08 02 A6 */ mflr r0 -/* 800AC560 90 01 00 14 */ stw r0, 0x14(r1) -/* 800AC564 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800AC568 93 C1 00 08 */ stw r30, 8(r1) -/* 800AC56C 3B E0 00 00 */ li r31, 0 -/* 800AC570 A0 03 1F 5C */ lhz r0, 0x1f5c(r3) -/* 800AC574 28 00 FF FF */ cmplwi r0, 0xffff -/* 800AC578 40 82 00 20 */ bne lbl_800AC598 -/* 800AC57C A3 C3 1F 58 */ lhz r30, 0x1f58(r3) -/* 800AC580 4B FF FE D1 */ bl getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800AC584 A0 63 00 00 */ lhz r3, 0(r3) -/* 800AC588 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 800AC58C 7C 00 18 40 */ cmplw r0, r3 -/* 800AC590 40 82 00 08 */ bne lbl_800AC598 -/* 800AC594 3B E0 00 01 */ li r31, 1 -lbl_800AC598: -/* 800AC598 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800AC59C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800AC5A0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800AC5A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800AC5A8 7C 08 03 A6 */ mtlr r0 -/* 800AC5AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800AC5B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/func_800AC5B4.s b/asm/d/a/d_a_alink/func_800AC5B4.s deleted file mode 100644 index 9a0e274287..0000000000 --- a/asm/d/a/d_a_alink/func_800AC5B4.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800AC5B4: -/* 800AC5B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800AC5B8 7C 08 02 A6 */ mflr r0 -/* 800AC5BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800AC5C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800AC5C4 93 C1 00 08 */ stw r30, 8(r1) -/* 800AC5C8 3B E0 00 00 */ li r31, 0 -/* 800AC5CC A0 03 1F 70 */ lhz r0, 0x1f70(r3) -/* 800AC5D0 28 00 FF FF */ cmplwi r0, 0xffff -/* 800AC5D4 40 82 00 20 */ bne lbl_800AC5F4 -/* 800AC5D8 A3 C3 1F 6C */ lhz r30, 0x1f6c(r3) -/* 800AC5DC 4B FF FE 75 */ bl getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800AC5E0 A0 63 00 00 */ lhz r3, 0(r3) -/* 800AC5E4 57 C0 04 3E */ clrlwi r0, r30, 0x10 -/* 800AC5E8 7C 00 18 40 */ cmplw r0, r3 -/* 800AC5EC 40 82 00 08 */ bne lbl_800AC5F4 -/* 800AC5F0 3B E0 00 01 */ li r31, 1 -lbl_800AC5F4: -/* 800AC5F4 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800AC5F8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800AC5FC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800AC600 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800AC604 7C 08 03 A6 */ mtlr r0 -/* 800AC608 38 21 00 10 */ addi r1, r1, 0x10 -/* 800AC60C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s b/asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s deleted file mode 100644 index ae5033135b..0000000000 --- a/asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800A3D0C: -/* 800A3D0C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A3D10 7C 08 02 A6 */ mflr r0 -/* 800A3D14 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A3D18 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800A3D1C 7C 9F 23 78 */ mr r31, r4 -/* 800A3D20 B0 A1 00 08 */ sth r5, 8(r1) -/* 800A3D24 90 C4 00 08 */ stw r6, 8(r4) -/* 800A3D28 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 800A3D2C 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 800A3D30 B0 01 00 0A */ sth r0, 0xa(r1) -/* 800A3D34 38 81 00 0A */ addi r4, r1, 0xa -/* 800A3D38 38 A1 00 08 */ addi r5, r1, 8 -/* 800A3D3C 4B FF FF A9 */ bl setIdxMask__9daAlink_cFPUsPUs -/* 800A3D40 A0 A1 00 0A */ lhz r5, 0xa(r1) -/* 800A3D44 28 05 FF FF */ cmplwi r5, 0xffff -/* 800A3D48 40 82 00 14 */ bne lbl_800A3D5C -/* 800A3D4C 7F E3 FB 78 */ mr r3, r31 -/* 800A3D50 A0 81 00 08 */ lhz r4, 8(r1) -/* 800A3D54 48 0B B3 15 */ bl loadDataIdx__14daPy_anmHeap_cFUs -/* 800A3D58 48 00 00 10 */ b lbl_800A3D68 -lbl_800A3D5C: -/* 800A3D5C 7F E3 FB 78 */ mr r3, r31 -/* 800A3D60 A0 81 00 08 */ lhz r4, 8(r1) -/* 800A3D64 48 0B B3 B5 */ bl loadDataDemoRID__14daPy_anmHeap_cFUsUs -lbl_800A3D68: -/* 800A3D68 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800A3D6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A3D70 7C 08 03 A6 */ mtlr r0 -/* 800A3D74 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A3D78 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s b/asm/d/a/d_a_alink/getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s deleted file mode 100644 index 9c60ada0a8..0000000000 --- a/asm/d/a/d_a_alink/getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_800AC450: -/* 800AC450 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800AC454 7C 08 02 A6 */ mflr r0 -/* 800AC458 90 01 00 24 */ stw r0, 0x24(r1) -/* 800AC45C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800AC460 48 2B 5D 7D */ bl _savegpr_29 -/* 800AC464 7C 7D 1B 78 */ mr r29, r3 -/* 800AC468 7C 9E 23 78 */ mr r30, r4 -/* 800AC46C 3C 60 80 39 */ lis r3, lit_3757@ha /* 0x8038D658@ha */ -/* 800AC470 3B E3 D6 58 */ addi r31, r3, lit_3757@l /* 0x8038D658@l */ -/* 800AC474 A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800AC478 28 00 00 48 */ cmplwi r0, 0x48 -/* 800AC47C 40 82 00 28 */ bne lbl_800AC4A4 -/* 800AC480 2C 1E 00 19 */ cmpwi r30, 0x19 -/* 800AC484 40 82 00 0C */ bne lbl_800AC490 -/* 800AC488 38 62 98 78 */ la r3, kandelaarAnm(r2) /* 80453278-_SDA2_BASE_ */ -/* 800AC48C 48 00 00 B4 */ b lbl_800AC540 -lbl_800AC490: -/* 800AC490 2C 1E 00 48 */ cmpwi r30, 0x48 -/* 800AC494 40 82 00 10 */ bne lbl_800AC4A4 -/* 800AC498 38 62 98 78 */ la r3, kandelaarAnm(r2) /* 80453278-_SDA2_BASE_ */ -/* 800AC49C 38 63 00 04 */ addi r3, r3, 4 -/* 800AC4A0 48 00 00 A0 */ b lbl_800AC540 -lbl_800AC4A4: -/* 800AC4A4 7F A3 EB 78 */ mr r3, r29 -/* 800AC4A8 48 03 09 49 */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800AC4AC 2C 03 00 00 */ cmpwi r3, 0 -/* 800AC4B0 41 82 00 1C */ beq lbl_800AC4CC -/* 800AC4B4 2C 1E 00 14 */ cmpwi r30, 0x14 -/* 800AC4B8 40 80 00 14 */ bge lbl_800AC4CC -/* 800AC4BC 57 C0 10 3A */ slwi r0, r30, 2 -/* 800AC4C0 38 7F 25 7C */ addi r3, r31, 0x257c -/* 800AC4C4 7C 63 02 14 */ add r3, r3, r0 -/* 800AC4C8 48 00 00 78 */ b lbl_800AC540 -lbl_800AC4CC: -/* 800AC4CC A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800AC4D0 28 00 01 03 */ cmplwi r0, 0x103 -/* 800AC4D4 40 82 00 14 */ bne lbl_800AC4E8 -/* 800AC4D8 2C 1E 00 15 */ cmpwi r30, 0x15 -/* 800AC4DC 40 80 00 0C */ bge lbl_800AC4E8 -/* 800AC4E0 2C 1E 00 10 */ cmpwi r30, 0x10 -/* 800AC4E4 40 80 00 14 */ bge lbl_800AC4F8 -lbl_800AC4E8: -/* 800AC4E8 2C 1E 00 14 */ cmpwi r30, 0x14 -/* 800AC4EC 40 82 00 20 */ bne lbl_800AC50C -/* 800AC4F0 28 00 00 FF */ cmplwi r0, 0xff -/* 800AC4F4 41 82 00 18 */ beq lbl_800AC50C -lbl_800AC4F8: -/* 800AC4F8 38 1E FF F0 */ addi r0, r30, -16 -/* 800AC4FC 54 00 10 3A */ slwi r0, r0, 2 -/* 800AC500 38 7F 25 CC */ addi r3, r31, 0x25cc -/* 800AC504 7C 63 02 14 */ add r3, r3, r0 -/* 800AC508 48 00 00 38 */ b lbl_800AC540 -lbl_800AC50C: -/* 800AC50C 7F A3 EB 78 */ mr r3, r29 -/* 800AC510 48 04 78 49 */ bl checkFishingRodAndLureItem__9daAlink_cCFv -/* 800AC514 2C 03 00 00 */ cmpwi r3, 0 -/* 800AC518 41 82 00 1C */ beq lbl_800AC534 -/* 800AC51C 2C 1E 00 1C */ cmpwi r30, 0x1c -/* 800AC520 40 80 00 14 */ bge lbl_800AC534 -/* 800AC524 57 C0 10 3A */ slwi r0, r30, 2 -/* 800AC528 38 7F 25 E0 */ addi r3, r31, 0x25e0 -/* 800AC52C 7C 63 02 14 */ add r3, r3, r0 -/* 800AC530 48 00 00 10 */ b lbl_800AC540 -lbl_800AC534: -/* 800AC534 1C 1E 00 0C */ mulli r0, r30, 0xc -/* 800AC538 38 7F 26 50 */ addi r3, r31, 0x2650 -/* 800AC53C 7C 63 02 14 */ add r3, r3, r0 -lbl_800AC540: -/* 800AC540 39 61 00 20 */ addi r11, r1, 0x20 -/* 800AC544 48 2B 5C E5 */ bl _restgpr_29 -/* 800AC548 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800AC54C 7C 08 03 A6 */ mtlr r0 -/* 800AC550 38 21 00 20 */ addi r1, r1, 0x20 -/* 800AC554 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getMoveGroundAngleSpeedRate__9daAlink_cFv.s b/asm/d/a/d_a_alink/getMoveGroundAngleSpeedRate__9daAlink_cFv.s deleted file mode 100644 index f2a370fcd2..0000000000 --- a/asm/d/a/d_a_alink/getMoveGroundAngleSpeedRate__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_800ADD88: -/* 800ADD88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ADD8C 7C 08 02 A6 */ mflr r0 -/* 800ADD90 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ADD94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ADD98 7C 7F 1B 78 */ mr r31, r3 -/* 800ADD9C 80 03 31 74 */ lwz r0, 0x3174(r3) -/* 800ADDA0 2C 00 00 08 */ cmpwi r0, 8 -/* 800ADDA4 41 82 00 1C */ beq lbl_800ADDC0 -/* 800ADDA8 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800ADDAC 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800ADDB0 40 82 00 10 */ bne lbl_800ADDC0 -/* 800ADDB4 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800ADDB8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800ADDBC 40 82 00 0C */ bne lbl_800ADDC8 -lbl_800ADDC0: -/* 800ADDC0 38 60 00 00 */ li r3, 0 -/* 800ADDC4 48 00 00 10 */ b lbl_800ADDD4 -lbl_800ADDC8: -/* 800ADDC8 38 9F 1A 60 */ addi r4, r31, 0x1a60 -/* 800ADDCC A8 BF 04 DE */ lha r5, 0x4de(r31) -/* 800ADDD0 48 00 22 C9 */ bl getGroundAngle__9daAlink_cFP13cBgS_PolyInfos -lbl_800ADDD4: -/* 800ADDD4 C0 3F 33 98 */ lfs f1, 0x3398(r31) -/* 800ADDD8 3C 80 80 44 */ lis r4, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 800ADDDC 38 84 9A 20 */ addi r4, r4, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 800ADDE0 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c -/* 800ADDE4 7C 64 02 14 */ add r3, r4, r0 -/* 800ADDE8 C0 03 00 04 */ lfs f0, 4(r3) -/* 800ADDEC EC 21 00 32 */ fmuls f1, f1, f0 -/* 800ADDF0 C0 1F 05 94 */ lfs f0, 0x594(r31) -/* 800ADDF4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 800ADDF8 FC 00 02 10 */ fabs f0, f0 -/* 800ADDFC FC 20 00 18 */ frsp f1, f0 -/* 800ADE00 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ADE04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ADE08 7C 08 03 A6 */ mtlr r0 -/* 800ADE0C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ADE10 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl.s b/asm/d/a/d_a_alink/getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl.s deleted file mode 100644 index 2f2d2ce6ea..0000000000 --- a/asm/d/a/d_a_alink/getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_800AC610: -/* 800AC610 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800AC614 7C 08 02 A6 */ mflr r0 -/* 800AC618 90 01 00 34 */ stw r0, 0x34(r1) -/* 800AC61C 39 61 00 30 */ addi r11, r1, 0x30 -/* 800AC620 48 2B 5B A9 */ bl _savegpr_24 -/* 800AC624 7C 7C 1B 78 */ mr r28, r3 -/* 800AC628 7C BF 2B 78 */ mr r31, r5 -/* 800AC62C 7C DD 33 78 */ mr r29, r6 -/* 800AC630 7C FE 3B 78 */ mr r30, r7 -/* 800AC634 7D 18 43 78 */ mr r24, r8 -/* 800AC638 4B FF FE 19 */ bl getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800AC63C 7C 7B 1B 78 */ mr r27, r3 -/* 800AC640 80 1C 05 70 */ lwz r0, 0x570(r28) -/* 800AC644 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 800AC648 90 1C 05 70 */ stw r0, 0x570(r28) -/* 800AC64C 7F 83 E3 78 */ mr r3, r28 -/* 800AC650 1F 3E 00 14 */ mulli r25, r30, 0x14 -/* 800AC654 7F 5C CA 14 */ add r26, r28, r25 -/* 800AC658 38 9A 1F 58 */ addi r4, r26, 0x1f58 -/* 800AC65C A0 BB 00 00 */ lhz r5, 0(r27) -/* 800AC660 7F 06 C3 78 */ mr r6, r24 -/* 800AC664 4B FF 76 A9 */ bl getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl -/* 800AC668 90 7F 00 00 */ stw r3, 0(r31) -/* 800AC66C 80 1F 00 00 */ lwz r0, 0(r31) -/* 800AC670 28 00 00 00 */ cmplwi r0, 0 -/* 800AC674 41 82 00 0C */ beq lbl_800AC680 -/* 800AC678 3B E0 00 01 */ li r31, 1 -/* 800AC67C 48 00 00 18 */ b lbl_800AC694 -lbl_800AC680: -/* 800AC680 57 C0 18 38 */ slwi r0, r30, 3 -/* 800AC684 7C 7C 02 14 */ add r3, r28, r0 -/* 800AC688 80 03 1F 2C */ lwz r0, 0x1f2c(r3) -/* 800AC68C 90 1F 00 00 */ stw r0, 0(r31) -/* 800AC690 3B E0 00 00 */ li r31, 0 -lbl_800AC694: -/* 800AC694 A0 1B 00 00 */ lhz r0, 0(r27) -/* 800AC698 A0 BB 00 02 */ lhz r5, 2(r27) -/* 800AC69C 7C 00 28 40 */ cmplw r0, r5 -/* 800AC6A0 41 82 00 54 */ beq lbl_800AC6F4 -/* 800AC6A4 3C 18 FF FF */ addis r0, r24, 0xffff -/* 800AC6A8 28 00 08 00 */ cmplwi r0, 0x800 -/* 800AC6AC 40 82 00 0C */ bne lbl_800AC6B8 -/* 800AC6B0 20 1E 00 03 */ subfic r0, r30, 3 -/* 800AC6B4 1F 00 2C 00 */ mulli r24, r0, 0x2c00 -lbl_800AC6B8: -/* 800AC6B8 7F 83 E3 78 */ mr r3, r28 -/* 800AC6BC 38 9A 1F 94 */ addi r4, r26, 0x1f94 -/* 800AC6C0 7F 06 C3 78 */ mr r6, r24 -/* 800AC6C4 4B FF 76 49 */ bl getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl -/* 800AC6C8 90 7D 00 00 */ stw r3, 0(r29) -/* 800AC6CC 80 1D 00 00 */ lwz r0, 0(r29) -/* 800AC6D0 28 00 00 00 */ cmplwi r0, 0 -/* 800AC6D4 41 82 00 0C */ beq lbl_800AC6E0 -/* 800AC6D8 63 FF 00 01 */ ori r31, r31, 1 -/* 800AC6DC 48 00 00 40 */ b lbl_800AC71C -lbl_800AC6E0: -/* 800AC6E0 57 C0 18 38 */ slwi r0, r30, 3 -/* 800AC6E4 7C 7C 02 14 */ add r3, r28, r0 -/* 800AC6E8 80 03 1F 44 */ lwz r0, 0x1f44(r3) -/* 800AC6EC 90 1D 00 00 */ stw r0, 0(r29) -/* 800AC6F0 48 00 00 2C */ b lbl_800AC71C -lbl_800AC6F4: -/* 800AC6F4 7C 9C CA 14 */ add r4, r28, r25 -/* 800AC6F8 A0 04 1F 94 */ lhz r0, 0x1f94(r4) -/* 800AC6FC 28 00 FF FF */ cmplwi r0, 0xffff -/* 800AC700 41 82 00 08 */ beq lbl_800AC708 -/* 800AC704 63 FF 00 01 */ ori r31, r31, 1 -lbl_800AC708: -/* 800AC708 38 00 00 00 */ li r0, 0 -/* 800AC70C 90 1D 00 00 */ stw r0, 0(r29) -/* 800AC710 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 800AC714 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 800AC718 B0 04 1F 94 */ sth r0, 0x1f94(r4) -lbl_800AC71C: -/* 800AC71C 7F E3 FB 78 */ mr r3, r31 -/* 800AC720 39 61 00 30 */ addi r11, r1, 0x30 -/* 800AC724 48 2B 5A F1 */ bl _restgpr_24 -/* 800AC728 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800AC72C 7C 08 03 A6 */ mtlr r0 -/* 800AC730 38 21 00 30 */ addi r1, r1, 0x30 -/* 800AC734 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/orderTalk__9daAlink_cFi.s b/asm/d/a/d_a_alink/orderTalk__9daAlink_cFi.s deleted file mode 100644 index 8a37359778..0000000000 --- a/asm/d/a/d_a_alink/orderTalk__9daAlink_cFi.s +++ /dev/null @@ -1,94 +0,0 @@ -lbl_800B7BF8: -/* 800B7BF8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800B7BFC 7C 08 02 A6 */ mflr r0 -/* 800B7C00 90 01 00 24 */ stw r0, 0x24(r1) -/* 800B7C04 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B7C08 48 2A A5 D1 */ bl _savegpr_28 -/* 800B7C0C 7C 7C 1B 78 */ mr r28, r3 -/* 800B7C10 7C 9D 23 78 */ mr r29, r4 -/* 800B7C14 4B FF CD 3D */ bl notTalk__9daAlink_cFv -/* 800B7C18 2C 03 00 00 */ cmpwi r3, 0 -/* 800B7C1C 41 82 00 0C */ beq lbl_800B7C28 -/* 800B7C20 38 60 00 00 */ li r3, 0 -/* 800B7C24 48 00 01 10 */ b lbl_800B7D34 -lbl_800B7C28: -/* 800B7C28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B7C2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B7C30 88 03 5E 24 */ lbz r0, 0x5e24(r3) -/* 800B7C34 28 00 00 1C */ cmplwi r0, 0x1c -/* 800B7C38 41 82 00 2C */ beq lbl_800B7C64 -/* 800B7C3C 28 00 00 1B */ cmplwi r0, 0x1b -/* 800B7C40 41 82 00 24 */ beq lbl_800B7C64 -/* 800B7C44 28 00 00 80 */ cmplwi r0, 0x80 -/* 800B7C48 41 82 00 1C */ beq lbl_800B7C64 -/* 800B7C4C 28 00 00 3B */ cmplwi r0, 0x3b -/* 800B7C50 41 82 00 14 */ beq lbl_800B7C64 -/* 800B7C54 28 00 00 3C */ cmplwi r0, 0x3c -/* 800B7C58 41 82 00 0C */ beq lbl_800B7C64 -/* 800B7C5C 28 00 00 08 */ cmplwi r0, 8 -/* 800B7C60 40 82 00 2C */ bne lbl_800B7C8C -lbl_800B7C64: -/* 800B7C64 88 1C 2F 8D */ lbz r0, 0x2f8d(r28) -/* 800B7C68 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800B7C6C 41 82 00 20 */ beq lbl_800B7C8C -/* 800B7C70 7F 83 E3 78 */ mr r3, r28 -/* 800B7C74 80 9C 27 F4 */ lwz r4, 0x27f4(r28) -/* 800B7C78 38 A0 00 00 */ li r5, 0 -/* 800B7C7C 38 C0 00 00 */ li r6, 0 -/* 800B7C80 4B F6 33 E9 */ bl fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs -/* 800B7C84 38 60 00 01 */ li r3, 1 -/* 800B7C88 48 00 00 AC */ b lbl_800B7D34 -lbl_800B7C8C: -/* 800B7C8C 80 1C 05 74 */ lwz r0, 0x574(r28) -/* 800B7C90 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800B7C94 40 82 00 88 */ bne lbl_800B7D1C -/* 800B7C98 7F 83 E3 78 */ mr r3, r28 -/* 800B7C9C 80 9C 27 E8 */ lwz r4, 0x27e8(r28) -/* 800B7CA0 80 BC 27 F8 */ lwz r5, 0x27f8(r28) -/* 800B7CA4 4B FF CA D9 */ bl checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c -/* 800B7CA8 2C 03 00 00 */ cmpwi r3, 0 -/* 800B7CAC 41 82 00 70 */ beq lbl_800B7D1C -/* 800B7CB0 3B C0 00 00 */ li r30, 0 -/* 800B7CB4 3B E0 00 01 */ li r31, 1 -lbl_800B7CB8: -/* 800B7CB8 7F C3 F3 78 */ mr r3, r30 -/* 800B7CBC 4B F7 62 61 */ bl dComIfGp_getSelectItem__Fi -/* 800B7CC0 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 800B7CC4 48 0A 6F 15 */ bl checkTradeItem__9daPy_py_cFi -/* 800B7CC8 2C 03 00 00 */ cmpwi r3, 0 -/* 800B7CCC 41 82 00 44 */ beq lbl_800B7D10 -/* 800B7CD0 7F 83 E3 78 */ mr r3, r28 -/* 800B7CD4 7F E0 F0 30 */ slw r0, r31, r30 -/* 800B7CD8 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800B7CDC 4B FF A8 F1 */ bl itemTriggerCheck__9daAlink_cFUc -/* 800B7CE0 2C 03 00 00 */ cmpwi r3, 0 -/* 800B7CE4 41 82 00 2C */ beq lbl_800B7D10 -/* 800B7CE8 57 C0 08 3C */ slwi r0, r30, 1 -/* 800B7CEC 38 62 98 B0 */ la r3, itemTalkType(r2) /* 804532B0-_SDA2_BASE_ */ -/* 800B7CF0 7C 63 02 2E */ lhzx r3, r3, r0 -/* 800B7CF4 7F 84 E3 78 */ mr r4, r28 -/* 800B7CF8 80 BC 27 F8 */ lwz r5, 0x27f8(r28) -/* 800B7CFC 38 C0 00 00 */ li r6, 0 -/* 800B7D00 38 E0 00 00 */ li r7, 0 -/* 800B7D04 4B F6 33 F9 */ bl fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs -/* 800B7D08 38 60 00 01 */ li r3, 1 -/* 800B7D0C 48 00 00 28 */ b lbl_800B7D34 -lbl_800B7D10: -/* 800B7D10 3B DE 00 01 */ addi r30, r30, 1 -/* 800B7D14 2C 1E 00 02 */ cmpwi r30, 2 -/* 800B7D18 41 80 FF A0 */ blt lbl_800B7CB8 -lbl_800B7D1C: -/* 800B7D1C 2C 1D 00 00 */ cmpwi r29, 0 -/* 800B7D20 41 82 00 10 */ beq lbl_800B7D30 -/* 800B7D24 7F 83 E3 78 */ mr r3, r28 -/* 800B7D28 48 00 03 9D */ bl orderZTalk__9daAlink_cFv -/* 800B7D2C 48 00 00 08 */ b lbl_800B7D34 -lbl_800B7D30: -/* 800B7D30 38 60 00 00 */ li r3, 0 -lbl_800B7D34: -/* 800B7D34 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B7D38 48 2A A4 ED */ bl _restgpr_28 -/* 800B7D3C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800B7D40 7C 08 03 A6 */ mtlr r0 -/* 800B7D44 38 21 00 20 */ addi r1, r1, 0x20 -/* 800B7D48 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoTwGate__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoTwGate__9daAlink_cFv.s deleted file mode 100644 index b7c63d1712..0000000000 --- a/asm/d/a/d_a_alink/procCoTwGate__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8011D7D4: -/* 8011D7D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011D7D8 7C 08 02 A6 */ mflr r0 -/* 8011D7DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011D7E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011D7E4 7C 7F 1B 78 */ mr r31, r3 -/* 8011D7E8 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 8011D7EC 48 04 0C E1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8011D7F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8011D7F4 41 82 00 18 */ beq lbl_8011D80C -/* 8011D7F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011D7FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011D800 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8011D804 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 8011D808 4B F2 A9 75 */ bl cutEnd__16dEvent_manager_cFi -lbl_8011D80C: -/* 8011D80C 38 00 00 07 */ li r0, 7 -/* 8011D810 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 8011D814 38 60 00 01 */ li r3, 1 -/* 8011D818 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011D81C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011D820 7C 08 03 A6 */ mtlr r0 -/* 8011D824 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011D828 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutFastReady__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutFastReady__9daAlink_cFv.s deleted file mode 100644 index 3e6eeed69d..0000000000 --- a/asm/d/a/d_a_alink/procCutFastReady__9daAlink_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8011EB8C: -/* 8011EB8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011EB90 7C 08 02 A6 */ mflr r0 -/* 8011EB94 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011EB98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011EB9C 7C 7F 1B 78 */ mr r31, r3 -/* 8011EBA0 38 7F 20 48 */ addi r3, r31, 0x2048 -/* 8011EBA4 48 03 F9 29 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8011EBA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8011EBAC 41 82 00 18 */ beq lbl_8011EBC4 -/* 8011EBB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011EBB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011EBB8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8011EBBC 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 8011EBC0 4B F2 95 BD */ bl cutEnd__16dEvent_manager_cFi -lbl_8011EBC4: -/* 8011EBC4 38 60 00 01 */ li r3, 1 -/* 8011EBC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011EBCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011EBD0 7C 08 03 A6 */ mtlr r0 -/* 8011EBD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011EBD8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procDemoCommon__9daAlink_cFv.s b/asm/d/a/d_a_alink/procDemoCommon__9daAlink_cFv.s deleted file mode 100644 index bd7768d01d..0000000000 --- a/asm/d/a/d_a_alink/procDemoCommon__9daAlink_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_801195C0: -/* 801195C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801195C4 7C 08 02 A6 */ mflr r0 -/* 801195C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801195CC 7C 64 1B 78 */ mr r4, r3 -/* 801195D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801195D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801195D8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 801195DC 80 84 31 84 */ lwz r4, 0x3184(r4) -/* 801195E0 4B F2 EB 9D */ bl cutEnd__16dEvent_manager_cFi -/* 801195E4 38 60 00 01 */ li r3, 1 -/* 801195E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801195EC 7C 08 03 A6 */ mtlr r0 -/* 801195F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801195F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setDeadRideSyncPos__9daAlink_cFv.s b/asm/d/a/d_a_alink/setDeadRideSyncPos__9daAlink_cFv.s deleted file mode 100644 index 4d9b10983e..0000000000 --- a/asm/d/a/d_a_alink/setDeadRideSyncPos__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80118BF4: -/* 80118BF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80118BF8 7C 08 02 A6 */ mflr r0 -/* 80118BFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80118C00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80118C04 93 C1 00 08 */ stw r30, 8(r1) -/* 80118C08 7C 7E 1B 78 */ mr r30, r3 -/* 80118C0C 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 80118C10 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 80118C14 41 82 00 6C */ beq lbl_80118C80 -/* 80118C18 80 1E 28 18 */ lwz r0, 0x2818(r30) -/* 80118C1C 28 00 00 00 */ cmplwi r0, 0 -/* 80118C20 41 82 00 60 */ beq lbl_80118C80 -/* 80118C24 38 00 00 00 */ li r0, 0 -/* 80118C28 88 7E 2F AA */ lbz r3, 0x2faa(r30) -/* 80118C2C 28 03 00 01 */ cmplwi r3, 1 -/* 80118C30 41 82 00 0C */ beq lbl_80118C3C -/* 80118C34 28 03 00 02 */ cmplwi r3, 2 -/* 80118C38 40 82 00 08 */ bne lbl_80118C40 -lbl_80118C3C: -/* 80118C3C 38 00 00 01 */ li r0, 1 -lbl_80118C40: -/* 80118C40 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80118C44 41 82 00 10 */ beq lbl_80118C54 -/* 80118C48 7F C3 F3 78 */ mr r3, r30 -/* 80118C4C 4B FD 4D D9 */ bl setSyncRidePos__9daAlink_cFv -/* 80118C50 48 00 00 30 */ b lbl_80118C80 -lbl_80118C54: -/* 80118C54 7F C3 F3 78 */ mr r3, r30 -/* 80118C58 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80118C5C 81 8C 01 98 */ lwz r12, 0x198(r12) -/* 80118C60 7D 89 03 A6 */ mtctr r12 -/* 80118C64 4E 80 04 21 */ bctrl -/* 80118C68 28 03 00 00 */ cmplwi r3, 0 -/* 80118C6C 41 82 00 14 */ beq lbl_80118C80 -/* 80118C70 AB FE 04 E6 */ lha r31, 0x4e6(r30) -/* 80118C74 7F C3 F3 78 */ mr r3, r30 -/* 80118C78 4B FF 4F 51 */ bl setSpinnerSyncPos__9daAlink_cFv -/* 80118C7C B3 FE 04 E6 */ sth r31, 0x4e6(r30) -lbl_80118C80: -/* 80118C80 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80118C84 83 C1 00 08 */ lwz r30, 8(r1) -/* 80118C88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80118C8C 7C 08 03 A6 */ mtlr r0 -/* 80118C90 38 21 00 10 */ addi r1, r1, 0x10 -/* 80118C94 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setGetSubBgm__9daAlink_cFi.s b/asm/d/a/d_a_alink/setGetSubBgm__9daAlink_cFi.s deleted file mode 100644 index 953f8f2324..0000000000 --- a/asm/d/a/d_a_alink/setGetSubBgm__9daAlink_cFi.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8011A688: -/* 8011A688 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011A68C 7C 08 02 A6 */ mflr r0 -/* 8011A690 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011A694 3C A0 80 39 */ lis r5, getSeType@ha /* 0x80391A5C@ha */ -/* 8011A698 38 A5 1A 5C */ addi r5, r5, getSeType@l /* 0x80391A5C@l */ -/* 8011A69C 7C 85 20 AE */ lbzx r4, r5, r4 -/* 8011A6A0 28 04 00 03 */ cmplwi r4, 3 -/* 8011A6A4 40 82 00 14 */ bne lbl_8011A6B8 -/* 8011A6A8 A8 03 30 10 */ lha r0, 0x3010(r3) -/* 8011A6AC 2C 00 00 00 */ cmpwi r0, 0 -/* 8011A6B0 40 82 00 08 */ bne lbl_8011A6B8 -/* 8011A6B4 38 80 00 07 */ li r4, 7 -lbl_8011A6B8: -/* 8011A6B8 28 04 00 08 */ cmplwi r4, 8 -/* 8011A6BC 41 82 00 30 */ beq lbl_8011A6EC -/* 8011A6C0 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 8011A6C4 38 63 03 D0 */ addi r3, r3, 0x3d0 -/* 8011A6C8 54 80 10 3A */ slwi r0, r4, 2 -/* 8011A6CC 3C 80 80 39 */ lis r4, bgmLabel@ha /* 0x80391B5C@ha */ -/* 8011A6D0 38 84 1B 5C */ addi r4, r4, bgmLabel@l /* 0x80391B5C@l */ -/* 8011A6D4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 8011A6D8 48 19 4D C5 */ bl subBgmStart__8Z2SeqMgrFUl -/* 8011A6DC 38 00 00 01 */ li r0, 1 -/* 8011A6E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011A6E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011A6E8 98 03 5E B4 */ stb r0, 0x5eb4(r3) -lbl_8011A6EC: -/* 8011A6EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011A6F0 7C 08 03 A6 */ mtlr r0 -/* 8011A6F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011A6F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s b/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s deleted file mode 100644 index 89bce7069e..0000000000 --- a/asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s +++ /dev/null @@ -1,129 +0,0 @@ -lbl_800B221C: -/* 800B221C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800B2220 7C 08 02 A6 */ mflr r0 -/* 800B2224 90 01 00 24 */ stw r0, 0x24(r1) -/* 800B2228 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B222C 48 2A FF AD */ bl _savegpr_28 -/* 800B2230 7C 7F 1B 78 */ mr r31, r3 -/* 800B2234 7C 9C 23 78 */ mr r28, r4 -/* 800B2238 7C BD 2B 78 */ mr r29, r5 -/* 800B223C 7C DE 33 78 */ mr r30, r6 -/* 800B2240 48 06 39 E1 */ bl checkEventRun__9daAlink_cCFv -/* 800B2244 2C 03 00 00 */ cmpwi r3, 0 -/* 800B2248 40 82 00 18 */ bne lbl_800B2260 -/* 800B224C 2C 1E 00 00 */ cmpwi r30, 0 -/* 800B2250 40 82 00 10 */ bne lbl_800B2260 -/* 800B2254 88 1F 05 6A */ lbz r0, 0x56a(r31) -/* 800B2258 28 00 00 00 */ cmplwi r0, 0 -/* 800B225C 41 82 01 88 */ beq lbl_800B23E4 -lbl_800B2260: -/* 800B2260 28 1C 00 00 */ cmplwi r28, 0 -/* 800B2264 41 82 00 78 */ beq lbl_800B22DC -/* 800B2268 C0 1C 00 00 */ lfs f0, 0(r28) -/* 800B226C D0 1F 04 D0 */ stfs f0, 0x4d0(r31) -/* 800B2270 C0 1C 00 04 */ lfs f0, 4(r28) -/* 800B2274 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 800B2278 C0 1C 00 08 */ lfs f0, 8(r28) -/* 800B227C D0 1F 04 D8 */ stfs f0, 0x4d8(r31) -/* 800B2280 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 800B2284 D0 1F 04 BC */ stfs f0, 0x4bc(r31) -/* 800B2288 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800B228C D0 1F 04 C0 */ stfs f0, 0x4c0(r31) -/* 800B2290 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 800B2294 D0 1F 04 C4 */ stfs f0, 0x4c4(r31) -/* 800B2298 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 800B229C D0 1F 37 98 */ stfs f0, 0x3798(r31) -/* 800B22A0 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800B22A4 D0 1F 37 9C */ stfs f0, 0x379c(r31) -/* 800B22A8 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 800B22AC D0 1F 37 A0 */ stfs f0, 0x37a0(r31) -/* 800B22B0 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800B22B4 64 00 00 80 */ oris r0, r0, 0x80 -/* 800B22B8 90 1F 05 88 */ stw r0, 0x588(r31) -/* 800B22BC 80 1F 05 90 */ lwz r0, 0x590(r31) -/* 800B22C0 60 00 01 00 */ ori r0, r0, 0x100 -/* 800B22C4 90 1F 05 90 */ stw r0, 0x590(r31) -/* 800B22C8 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800B22CC 28 00 00 59 */ cmplwi r0, 0x59 -/* 800B22D0 41 82 00 0C */ beq lbl_800B22DC -/* 800B22D4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800B22D8 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -lbl_800B22DC: -/* 800B22DC B3 BF 04 E6 */ sth r29, 0x4e6(r31) -/* 800B22E0 B3 BF 04 DE */ sth r29, 0x4de(r31) -/* 800B22E4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800B22E8 B0 1F 2F E6 */ sth r0, 0x2fe6(r31) -/* 800B22EC A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800B22F0 28 00 01 45 */ cmplwi r0, 0x145 -/* 800B22F4 41 82 00 0C */ beq lbl_800B2300 -/* 800B22F8 28 00 00 E2 */ cmplwi r0, 0xe2 -/* 800B22FC 40 82 00 2C */ bne lbl_800B2328 -lbl_800B2300: -/* 800B2300 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800B2304 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800B2308 40 82 00 20 */ bne lbl_800B2328 -/* 800B230C 80 1F 31 98 */ lwz r0, 0x3198(r31) -/* 800B2310 2C 00 00 00 */ cmpwi r0, 0 -/* 800B2314 41 82 00 14 */ beq lbl_800B2328 -/* 800B2318 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 800B231C D0 1F 37 C8 */ stfs f0, 0x37c8(r31) -/* 800B2320 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 800B2324 D0 1F 37 D0 */ stfs f0, 0x37d0(r31) -lbl_800B2328: -/* 800B2328 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800B232C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800B2330 41 82 00 1C */ beq lbl_800B234C -/* 800B2334 C0 3F 36 AC */ lfs f1, 0x36ac(r31) -/* 800B2338 48 1B 5E AD */ bl cBgW_CheckBGround__Ff -/* 800B233C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B2340 41 82 00 0C */ beq lbl_800B234C -/* 800B2344 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800B2348 B0 1F 31 18 */ sth r0, 0x3118(r31) -lbl_800B234C: -/* 800B234C 7F E3 FB 78 */ mr r3, r31 -/* 800B2350 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800B2354 81 8C 01 88 */ lwz r12, 0x188(r12) -/* 800B2358 7D 89 03 A6 */ mtctr r12 -/* 800B235C 4E 80 04 21 */ bctrl -/* 800B2360 28 03 00 00 */ cmplwi r3, 0 -/* 800B2364 41 82 00 28 */ beq lbl_800B238C -/* 800B2368 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B236C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B2370 80 63 5D B8 */ lwz r3, 0x5db8(r3) -/* 800B2374 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 800B2378 A8 BF 04 E6 */ lha r5, 0x4e6(r31) -/* 800B237C 39 83 18 E0 */ addi r12, r3, 0x18e0 -/* 800B2380 48 2A FD 05 */ bl __ptmf_scall -/* 800B2384 60 00 00 00 */ nop -/* 800B2388 48 00 00 54 */ b lbl_800B23DC -lbl_800B238C: -/* 800B238C 7F E3 FB 78 */ mr r3, r31 -/* 800B2390 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800B2394 81 8C 01 98 */ lwz r12, 0x198(r12) -/* 800B2398 7D 89 03 A6 */ mtctr r12 -/* 800B239C 4E 80 04 21 */ bctrl -/* 800B23A0 28 03 00 00 */ cmplwi r3, 0 -/* 800B23A4 41 82 00 38 */ beq lbl_800B23DC -/* 800B23A8 80 7F 28 18 */ lwz r3, 0x2818(r31) -/* 800B23AC C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 800B23B0 D0 03 04 D0 */ stfs f0, 0x4d0(r3) -/* 800B23B4 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800B23B8 D0 03 04 D4 */ stfs f0, 0x4d4(r3) -/* 800B23BC C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 800B23C0 D0 03 04 D8 */ stfs f0, 0x4d8(r3) -/* 800B23C4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800B23C8 B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 800B23CC A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800B23D0 B0 03 04 DE */ sth r0, 0x4de(r3) -/* 800B23D4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800B23D8 D0 03 04 FC */ stfs f0, 0x4fc(r3) -lbl_800B23DC: -/* 800B23DC 38 7F 08 14 */ addi r3, r31, 0x814 -/* 800B23E0 48 1B 15 7D */ bl ClrCcMove__9cCcD_SttsFv -lbl_800B23E4: -/* 800B23E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B23E8 48 2A FE 3D */ bl _restgpr_28 -/* 800B23EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800B23F0 7C 08 03 A6 */ mtlr r0 -/* 800B23F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800B23F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSandDownBgCheckWallH__9daAlink_cFv.s b/asm/d/a/d_a_alink/setSandDownBgCheckWallH__9daAlink_cFv.s deleted file mode 100644 index 97b0490248..0000000000 --- a/asm/d/a/d_a_alink/setSandDownBgCheckWallH__9daAlink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800B172C: -/* 800B172C 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800B1730 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800B1734 4C 82 00 20 */ bnelr -/* 800B1738 38 80 00 00 */ li r4, 0 -/* 800B173C 38 A0 00 00 */ li r5, 0 -/* 800B1740 38 00 00 03 */ li r0, 3 -/* 800B1744 7C 09 03 A6 */ mtctr r0 -lbl_800B1748: -/* 800B1748 38 05 2B AC */ addi r0, r5, 0x2bac -/* 800B174C 7C 23 04 2E */ lfsx f1, r3, r0 -/* 800B1750 C0 03 2B A8 */ lfs f0, 0x2ba8(r3) -/* 800B1754 EC 01 00 2A */ fadds f0, f1, f0 -/* 800B1758 38 04 18 E0 */ addi r0, r4, 0x18e0 -/* 800B175C 7C 03 05 2E */ stfsx f0, r3, r0 -/* 800B1760 38 84 00 40 */ addi r4, r4, 0x40 -/* 800B1764 38 A5 00 04 */ addi r5, r5, 4 -/* 800B1768 42 00 FF E0 */ bdnz lbl_800B1748 -/* 800B176C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c.s b/asm/d/a/d_a_alink/setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c.s deleted file mode 100644 index 8184e0ecc6..0000000000 --- a/asm/d/a/d_a_alink/setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_800AD0F4: -/* 800AD0F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800AD0F8 7C 08 02 A6 */ mflr r0 -/* 800AD0FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800AD100 7C A6 2B 78 */ mr r6, r5 -/* 800AD104 C0 25 00 04 */ lfs f1, 4(r5) -/* 800AD108 C0 45 00 08 */ lfs f2, 8(r5) -/* 800AD10C A8 A5 00 00 */ lha r5, 0(r5) -/* 800AD110 C0 66 00 0C */ lfs f3, 0xc(r6) -/* 800AD114 4B FF FE F9 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800AD118 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800AD11C 7C 08 03 A6 */ mtlr r0 -/* 800AD120 38 21 00 10 */ addi r1, r1, 0x10 -/* 800AD124 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf.s b/asm/d/a/d_a_alink/setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf.s deleted file mode 100644 index fcbb8b66a5..0000000000 --- a/asm/d/a/d_a_alink/setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800AD00C: -/* 800AD00C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 800AD010 7C 08 02 A6 */ mflr r0 -/* 800AD014 90 01 00 54 */ stw r0, 0x54(r1) -/* 800AD018 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 800AD01C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 800AD020 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 800AD024 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */ -/* 800AD028 DB A1 00 20 */ stfd f29, 0x20(r1) -/* 800AD02C F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */ -/* 800AD030 39 61 00 20 */ addi r11, r1, 0x20 -/* 800AD034 48 2B 51 A9 */ bl _savegpr_29 -/* 800AD038 7C 7D 1B 78 */ mr r29, r3 -/* 800AD03C 7C 9E 23 78 */ mr r30, r4 -/* 800AD040 FF A0 08 90 */ fmr f29, f1 -/* 800AD044 FF C0 10 90 */ fmr f30, f2 -/* 800AD048 7C BF 2B 78 */ mr r31, r5 -/* 800AD04C FF E0 18 90 */ fmr f31, f3 -/* 800AD050 38 A1 00 0C */ addi r5, r1, 0xc -/* 800AD054 38 C1 00 08 */ addi r6, r1, 8 -/* 800AD058 38 E0 00 00 */ li r7, 0 -/* 800AD05C 3D 00 00 01 */ lis r8, 0x0001 /* 0x00010800@ha */ -/* 800AD060 39 08 08 00 */ addi r8, r8, 0x0800 /* 0x00010800@l */ -/* 800AD064 4B FF F5 AD */ bl getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl -/* 800AD068 7F A3 EB 78 */ mr r3, r29 -/* 800AD06C 80 81 00 0C */ lwz r4, 0xc(r1) -/* 800AD070 80 A1 00 08 */ lwz r5, 8(r1) -/* 800AD074 FC 20 E8 90 */ fmr f1, f29 -/* 800AD078 FC 40 F0 90 */ fmr f2, f30 -/* 800AD07C 7F E6 FB 78 */ mr r6, r31 -/* 800AD080 4B FF FC C1 */ bl commonSingleAnime__9daAlink_cFP15J3DAnmTransformP15J3DAnmTransformffs -/* 800AD084 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800AD088 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800AD08C 4C 41 13 82 */ cror 2, 1, 2 -/* 800AD090 40 82 00 18 */ bne lbl_800AD0A8 -/* 800AD094 80 7D 20 60 */ lwz r3, 0x2060(r29) -/* 800AD098 FC 20 F8 90 */ fmr f1, f31 -/* 800AD09C 38 80 00 00 */ li r4, 0 -/* 800AD0A0 38 A0 00 23 */ li r5, 0x23 -/* 800AD0A4 4B F6 27 A5 */ bl initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs -lbl_800AD0A8: -/* 800AD0A8 7F A3 EB 78 */ mr r3, r29 -/* 800AD0AC 7F C4 F3 78 */ mr r4, r30 -/* 800AD0B0 4B FF D2 0D */ bl setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800AD0B4 7F A3 EB 78 */ mr r3, r29 -/* 800AD0B8 7F C4 F3 78 */ mr r4, r30 -/* 800AD0BC 48 00 28 ED */ bl setFaceBasicAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800AD0C0 38 60 00 01 */ li r3, 1 -/* 800AD0C4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 800AD0C8 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 800AD0CC E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */ -/* 800AD0D0 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 800AD0D4 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */ -/* 800AD0D8 CB A1 00 20 */ lfd f29, 0x20(r1) -/* 800AD0DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800AD0E0 48 2B 51 49 */ bl _restgpr_29 -/* 800AD0E4 80 01 00 54 */ lwz r0, 0x54(r1) -/* 800AD0E8 7C 08 03 A6 */ mtlr r0 -/* 800AD0EC 38 21 00 50 */ addi r1, r1, 0x50 -/* 800AD0F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setTalkStatus__9daAlink_cFv.s b/asm/d/a/d_a_alink/setTalkStatus__9daAlink_cFv.s deleted file mode 100644 index 7fdd44885f..0000000000 --- a/asm/d/a/d_a_alink/setTalkStatus__9daAlink_cFv.s +++ /dev/null @@ -1,86 +0,0 @@ -lbl_800B4A08: -/* 800B4A08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B4A0C 7C 08 02 A6 */ mflr r0 -/* 800B4A10 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B4A14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B4A18 7C 7F 1B 78 */ mr r31, r3 -/* 800B4A1C 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800B4A20 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 800B4A24 40 82 00 10 */ bne lbl_800B4A34 -/* 800B4A28 80 BF 27 F4 */ lwz r5, 0x27f4(r31) -/* 800B4A2C 28 05 00 00 */ cmplwi r5, 0 -/* 800B4A30 40 82 00 0C */ bne lbl_800B4A3C -lbl_800B4A34: -/* 800B4A34 38 60 00 00 */ li r3, 0 -/* 800B4A38 48 00 00 E0 */ b lbl_800B4B18 -lbl_800B4A3C: -/* 800B4A3C 80 9F 27 E4 */ lwz r4, 0x27e4(r31) -/* 800B4A40 4B FF FD 3D */ bl checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c -/* 800B4A44 2C 03 00 00 */ cmpwi r3, 0 -/* 800B4A48 41 82 00 CC */ beq lbl_800B4B14 -/* 800B4A4C 7F E3 FB 78 */ mr r3, r31 -/* 800B4A50 4B FF FF 01 */ bl notTalk__9daAlink_cFv -/* 800B4A54 2C 03 00 00 */ cmpwi r3, 0 -/* 800B4A58 41 82 00 14 */ beq lbl_800B4A6C -/* 800B4A5C 7F E3 FB 78 */ mr r3, r31 -/* 800B4A60 38 80 00 90 */ li r4, 0x90 -/* 800B4A64 4B FF E7 ED */ bl setDoStatus__9daAlink_cFUc -/* 800B4A68 48 00 00 A4 */ b lbl_800B4B0C -lbl_800B4A6C: -/* 800B4A6C 80 9F 27 F4 */ lwz r4, 0x27f4(r31) -/* 800B4A70 80 64 05 5C */ lwz r3, 0x55c(r4) -/* 800B4A74 54 60 01 8D */ rlwinm. r0, r3, 0, 6, 6 -/* 800B4A78 41 82 00 0C */ beq lbl_800B4A84 -/* 800B4A7C 38 60 00 00 */ li r3, 0 -/* 800B4A80 48 00 00 98 */ b lbl_800B4B18 -lbl_800B4A84: -/* 800B4A84 54 60 02 11 */ rlwinm. r0, r3, 0, 8, 8 -/* 800B4A88 41 82 00 14 */ beq lbl_800B4A9C -/* 800B4A8C 7F E3 FB 78 */ mr r3, r31 -/* 800B4A90 38 80 00 3B */ li r4, 0x3b -/* 800B4A94 4B FF E7 BD */ bl setDoStatus__9daAlink_cFUc -/* 800B4A98 48 00 00 74 */ b lbl_800B4B0C -lbl_800B4A9C: -/* 800B4A9C 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2 -/* 800B4AA0 41 82 00 30 */ beq lbl_800B4AD0 -/* 800B4AA4 A8 04 00 08 */ lha r0, 8(r4) -/* 800B4AA8 2C 00 01 20 */ cmpwi r0, 0x120 -/* 800B4AAC 40 82 00 14 */ bne lbl_800B4AC0 -/* 800B4AB0 7F E3 FB 78 */ mr r3, r31 -/* 800B4AB4 38 80 00 3C */ li r4, 0x3c -/* 800B4AB8 4B FF E7 99 */ bl setDoStatus__9daAlink_cFUc -/* 800B4ABC 48 00 00 50 */ b lbl_800B4B0C -lbl_800B4AC0: -/* 800B4AC0 7F E3 FB 78 */ mr r3, r31 -/* 800B4AC4 38 80 00 08 */ li r4, 8 -/* 800B4AC8 4B FF E7 89 */ bl setDoStatus__9daAlink_cFUc -/* 800B4ACC 48 00 00 40 */ b lbl_800B4B0C -lbl_800B4AD0: -/* 800B4AD0 54 60 00 43 */ rlwinm. r0, r3, 0, 1, 1 -/* 800B4AD4 41 82 00 14 */ beq lbl_800B4AE8 -/* 800B4AD8 7F E3 FB 78 */ mr r3, r31 -/* 800B4ADC 38 80 00 80 */ li r4, 0x80 -/* 800B4AE0 4B FF E7 71 */ bl setDoStatus__9daAlink_cFUc -/* 800B4AE4 48 00 00 28 */ b lbl_800B4B0C -lbl_800B4AE8: -/* 800B4AE8 54 60 01 09 */ rlwinm. r0, r3, 0, 4, 4 -/* 800B4AEC 41 82 00 14 */ beq lbl_800B4B00 -/* 800B4AF0 7F E3 FB 78 */ mr r3, r31 -/* 800B4AF4 38 80 00 1B */ li r4, 0x1b -/* 800B4AF8 4B FF E7 59 */ bl setDoStatus__9daAlink_cFUc -/* 800B4AFC 48 00 00 10 */ b lbl_800B4B0C -lbl_800B4B00: -/* 800B4B00 7F E3 FB 78 */ mr r3, r31 -/* 800B4B04 38 80 00 1C */ li r4, 0x1c -/* 800B4B08 4B FF E7 49 */ bl setDoStatus__9daAlink_cFUc -lbl_800B4B0C: -/* 800B4B0C 38 60 00 01 */ li r3, 1 -/* 800B4B10 48 00 00 08 */ b lbl_800B4B18 -lbl_800B4B14: -/* 800B4B14 38 60 00 00 */ li r3, 0 -lbl_800B4B18: -/* 800B4B18 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B4B1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B4B20 7C 08 03 A6 */ mtlr r0 -/* 800B4B24 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B4B28 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c.s b/asm/d/a/d_a_alink/setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c.s deleted file mode 100644 index 723d6697e6..0000000000 --- a/asm/d/a/d_a_alink/setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_800ADAB8: -/* 800ADAB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ADABC 7C 08 02 A6 */ mflr r0 -/* 800ADAC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ADAC4 7C C7 33 78 */ mr r7, r6 -/* 800ADAC8 C0 26 00 04 */ lfs f1, 4(r6) -/* 800ADACC C0 46 00 08 */ lfs f2, 8(r6) -/* 800ADAD0 A8 C6 00 00 */ lha r6, 0(r6) -/* 800ADAD4 C0 67 00 0C */ lfs f3, 0xc(r7) -/* 800ADAD8 4B FF FE 8D */ bl setUnderAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERffsf -/* 800ADADC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ADAE0 7C 08 03 A6 */ mtlr r0 -/* 800ADAE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ADAE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s b/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s index 009a9f0bc3..dc8922a68d 100644 --- a/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s +++ b/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s @@ -43,13 +43,13 @@ lbl_800E0734: /* 800E0758 64 03 00 40 */ oris r3, r0, 0x40 /* 800E075C 90 64 5F 18 */ stw r3, 0x5f18(r4) /* 800E0760 38 00 40 00 */ li r0, 0x4000 -/* 800E0764 B0 0D 8A 9C */ sth r0, struct_8045101C+0x0(r13) +/* 800E0764 B0 0D 8A 9C */ sth r0, m_dropAngleY__20daPy_boomerangMove_c+0x0(r13) /* 800E0768 54 60 03 56 */ rlwinm r0, r3, 0, 0xd, 0xb /* 800E076C 90 04 5F 18 */ stw r0, 0x5f18(r4) /* 800E0770 38 00 FF FF */ li r0, -1 /* 800E0774 B0 1D 30 8E */ sth r0, 0x308e(r29) /* 800E0778 38 00 00 00 */ li r0, 0 -/* 800E077C B0 0D 8A 9E */ sth r0, struct_8045101C+0x2(r13) +/* 800E077C B0 0D 8A 9E */ sth r0, m_dropAngleY__20daPy_boomerangMove_c+0x2(r13) /* 800E0780 48 00 00 44 */ b lbl_800E07C4 lbl_800E0784: /* 800E0784 3C 60 80 39 */ lis r3, m__20daAlinkHIO_pickUp_c0@ha /* 0x8038E840@ha */ diff --git a/asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s b/asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s deleted file mode 100644 index 0cff662c51..0000000000 --- a/asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s +++ /dev/null @@ -1,150 +0,0 @@ -lbl_8015E654: -/* 8015E654 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8015E658 7C 08 02 A6 */ mflr r0 -/* 8015E65C 90 01 00 34 */ stw r0, 0x34(r1) -/* 8015E660 39 61 00 30 */ addi r11, r1, 0x30 -/* 8015E664 48 20 3B 71 */ bl _savegpr_27 -/* 8015E668 7C 7E 1B 78 */ mr r30, r3 -/* 8015E66C 7C 9F 23 78 */ mr r31, r4 -/* 8015E670 7C BB 2B 78 */ mr r27, r5 -/* 8015E674 7C DC 33 78 */ mr r28, r6 -/* 8015E678 7C FD 3B 78 */ mr r29, r7 -/* 8015E67C 48 00 12 55 */ bl getThrowBoomerangActor__9daPy_py_cFv -/* 8015E680 A8 1E 00 02 */ lha r0, 2(r30) -/* 8015E684 7C 1D 00 50 */ subf r0, r29, r0 -/* 8015E688 B0 1E 00 02 */ sth r0, 2(r30) -/* 8015E68C A8 1B 00 00 */ lha r0, 0(r27) -/* 8015E690 7C 1D 00 50 */ subf r0, r29, r0 -/* 8015E694 B0 1B 00 00 */ sth r0, 0(r27) -/* 8015E698 C0 3E 00 08 */ lfs f1, 8(r30) -/* 8015E69C C0 02 9C 20 */ lfs f0, lit_4332(r2) -/* 8015E6A0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015E6A4 40 81 00 08 */ ble lbl_8015E6AC -/* 8015E6A8 D0 1E 00 08 */ stfs f0, 8(r30) -lbl_8015E6AC: -/* 8015E6AC C0 3E 00 04 */ lfs f1, 4(r30) -/* 8015E6B0 C0 02 9C 24 */ lfs f0, lit_4333(r2) -/* 8015E6B4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015E6B8 40 80 00 0C */ bge lbl_8015E6C4 -/* 8015E6BC D0 1E 00 04 */ stfs f0, 4(r30) -/* 8015E6C0 48 00 00 14 */ b lbl_8015E6D4 -lbl_8015E6C4: -/* 8015E6C4 C0 02 9C 18 */ lfs f0, lit_4249(r2) -/* 8015E6C8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015E6CC 40 81 00 08 */ ble lbl_8015E6D4 -/* 8015E6D0 D0 1E 00 04 */ stfs f0, 4(r30) -lbl_8015E6D4: -/* 8015E6D4 28 03 00 00 */ cmplwi r3, 0 -/* 8015E6D8 41 82 00 BC */ beq lbl_8015E794 -/* 8015E6DC 88 03 09 56 */ lbz r0, 0x956(r3) -/* 8015E6E0 28 00 00 00 */ cmplwi r0, 0 -/* 8015E6E4 41 82 00 0C */ beq lbl_8015E6F0 -/* 8015E6E8 38 60 00 00 */ li r3, 0 -/* 8015E6EC 48 00 01 78 */ b lbl_8015E864 -lbl_8015E6F0: -/* 8015E6F0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E6F4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E6F8 88 04 4F AD */ lbz r0, 0x4fad(r4) -/* 8015E6FC 28 00 00 00 */ cmplwi r0, 0 -/* 8015E700 41 82 00 10 */ beq lbl_8015E710 -/* 8015E704 38 00 00 01 */ li r0, 1 -/* 8015E708 98 1E 00 00 */ stb r0, 0(r30) -/* 8015E70C 48 00 00 24 */ b lbl_8015E730 -lbl_8015E710: -/* 8015E710 A8 0D 8A 9E */ lha r0, struct_8045101C+0x2(r13) -/* 8015E714 2C 00 00 00 */ cmpwi r0, 0 -/* 8015E718 41 82 00 18 */ beq lbl_8015E730 -/* 8015E71C 88 1E 00 00 */ lbz r0, 0(r30) -/* 8015E720 28 00 00 00 */ cmplwi r0, 0 -/* 8015E724 40 82 00 0C */ bne lbl_8015E730 -/* 8015E728 38 60 00 00 */ li r3, 0 -/* 8015E72C 48 00 01 38 */ b lbl_8015E864 -lbl_8015E730: -/* 8015E730 3C 80 80 44 */ lis r4, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8015E734 38 A4 9A 20 */ addi r5, r4, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8015E738 A8 1E 00 02 */ lha r0, 2(r30) -/* 8015E73C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8015E740 7C 85 02 14 */ add r4, r5, r0 -/* 8015E744 C0 04 00 04 */ lfs f0, 4(r4) -/* 8015E748 C0 23 04 D8 */ lfs f1, 0x4d8(r3) -/* 8015E74C C0 9E 00 08 */ lfs f4, 8(r30) -/* 8015E750 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8015E754 EC 61 00 2A */ fadds f3, f1, f0 -/* 8015E758 C0 23 04 D4 */ lfs f1, 0x4d4(r3) -/* 8015E75C C0 1E 00 04 */ lfs f0, 4(r30) -/* 8015E760 EC 41 00 2A */ fadds f2, f1, f0 -/* 8015E764 7C 05 04 2E */ lfsx f0, r5, r0 -/* 8015E768 C0 23 04 D0 */ lfs f1, 0x4d0(r3) -/* 8015E76C EC 04 00 32 */ fmuls f0, f4, f0 -/* 8015E770 EC 01 00 2A */ fadds f0, f1, f0 -/* 8015E774 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8015E778 D0 5F 00 04 */ stfs f2, 4(r31) -/* 8015E77C D0 7F 00 08 */ stfs f3, 8(r31) -/* 8015E780 80 03 09 64 */ lwz r0, 0x964(r3) -/* 8015E784 60 00 00 80 */ ori r0, r0, 0x80 -/* 8015E788 90 03 09 64 */ stw r0, 0x964(r3) -/* 8015E78C 38 60 00 01 */ li r3, 1 -/* 8015E790 48 00 00 D4 */ b lbl_8015E864 -lbl_8015E794: -/* 8015E794 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015E798 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015E79C 83 A3 5D B4 */ lwz r29, 0x5db4(r3) -/* 8015E7A0 28 1C 00 00 */ cmplwi r28, 0 -/* 8015E7A4 41 82 00 18 */ beq lbl_8015E7BC -/* 8015E7A8 7F A3 EB 78 */ mr r3, r29 -/* 8015E7AC 7F 84 E3 78 */ mr r4, r28 -/* 8015E7B0 4B F8 1B 09 */ bl checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c -/* 8015E7B4 2C 03 00 00 */ cmpwi r3, 0 -/* 8015E7B8 40 82 00 A8 */ bne lbl_8015E860 -lbl_8015E7BC: -/* 8015E7BC A8 0D 8A 9E */ lha r0, struct_8045101C+0x2(r13) -/* 8015E7C0 2C 00 00 00 */ cmpwi r0, 0 -/* 8015E7C4 41 82 00 10 */ beq lbl_8015E7D4 -/* 8015E7C8 88 1E 00 00 */ lbz r0, 0(r30) -/* 8015E7CC 28 00 00 00 */ cmplwi r0, 0 -/* 8015E7D0 41 82 00 90 */ beq lbl_8015E860 -lbl_8015E7D4: -/* 8015E7D4 C0 22 9C 28 */ lfs f1, lit_4334(r2) -/* 8015E7D8 48 10 91 7D */ bl cM_rndF__Ff -/* 8015E7DC A8 6D 8A 9C */ lha r3, struct_8045101C+0x0(r13) -/* 8015E7E0 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 8015E7E4 7C 03 02 14 */ add r0, r3, r0 -/* 8015E7E8 C8 42 9C 08 */ lfd f2, lit_4237(r2) -/* 8015E7EC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8015E7F0 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015E7F4 3C 00 43 30 */ lis r0, 0x4330 -/* 8015E7F8 90 01 00 08 */ stw r0, 8(r1) -/* 8015E7FC C8 01 00 08 */ lfd f0, 8(r1) -/* 8015E800 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8015E804 EC 00 08 2A */ fadds f0, f0, f1 -/* 8015E808 FC 00 00 1E */ fctiwz f0, f0 -/* 8015E80C D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8015E810 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015E814 C0 5D 04 D0 */ lfs f2, 0x4d0(r29) -/* 8015E818 C0 3E 00 08 */ lfs f1, 8(r30) -/* 8015E81C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8015E820 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8015E824 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8015E828 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8015E82C EC 01 00 32 */ fmuls f0, f1, f0 -/* 8015E830 EC 02 00 2A */ fadds f0, f2, f0 -/* 8015E834 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8015E838 C0 5D 04 D8 */ lfs f2, 0x4d8(r29) -/* 8015E83C C0 3E 00 08 */ lfs f1, 8(r30) -/* 8015E840 7C 63 02 14 */ add r3, r3, r0 -/* 8015E844 C0 03 00 04 */ lfs f0, 4(r3) -/* 8015E848 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8015E84C EC 02 00 2A */ fadds f0, f2, f0 -/* 8015E850 D0 1F 00 08 */ stfs f0, 8(r31) -/* 8015E854 A8 6D 8A 9C */ lha r3, struct_8045101C+0x0(r13) -/* 8015E858 38 03 20 00 */ addi r0, r3, 0x2000 -/* 8015E85C B0 0D 8A 9C */ sth r0, struct_8045101C+0x0(r13) -lbl_8015E860: -/* 8015E860 38 60 00 00 */ li r3, 0 -lbl_8015E864: -/* 8015E864 39 61 00 30 */ addi r11, r1, 0x30 -/* 8015E868 48 20 39 B9 */ bl _restgpr_27 -/* 8015E86C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8015E870 7C 08 03 A6 */ mtlr r0 -/* 8015E874 38 21 00 30 */ addi r1, r1, 0x30 -/* 8015E878 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s b/asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s deleted file mode 100644 index 0fac4d1310..0000000000 --- a/asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8015E544: -/* 8015E544 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015E548 98 83 00 04 */ stb r4, 4(r3) -/* 8015E54C B0 C3 00 08 */ sth r6, 8(r3) -/* 8015E550 D0 23 00 0C */ stfs f1, 0xc(r3) -/* 8015E554 B0 A3 00 06 */ sth r5, 6(r3) -/* 8015E558 7C A0 07 34 */ extsh r0, r5 -/* 8015E55C C8 62 9C 08 */ lfd f3, lit_4237(r2) -/* 8015E560 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8015E564 90 01 00 0C */ stw r0, 0xc(r1) -/* 8015E568 3C 00 43 30 */ lis r0, 0x4330 -/* 8015E56C 90 01 00 08 */ stw r0, 8(r1) -/* 8015E570 C8 01 00 08 */ lfd f0, 8(r1) -/* 8015E574 EC 00 18 28 */ fsubs f0, f0, f3 -/* 8015E578 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8015E57C D0 43 00 10 */ stfs f2, 0x10(r3) -/* 8015E580 C0 02 9C 00 */ lfs f0, lit_4215(r2) -/* 8015E584 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8015E588 4C 41 13 82 */ cror 2, 1, 2 -/* 8015E58C 40 82 00 0C */ bne lbl_8015E598 -/* 8015E590 B0 A3 00 0A */ sth r5, 0xa(r3) -/* 8015E594 48 00 00 08 */ b lbl_8015E59C -lbl_8015E598: -/* 8015E598 B0 C3 00 0A */ sth r6, 0xa(r3) -lbl_8015E59C: -/* 8015E59C 38 00 00 00 */ li r0, 0 -/* 8015E5A0 B0 03 00 14 */ sth r0, 0x14(r3) -/* 8015E5A4 B0 03 00 16 */ sth r0, 0x16(r3) -/* 8015E5A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015E5AC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s b/asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s deleted file mode 100644 index 0fea7caa18..0000000000 --- a/asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8015F2FC: -/* 8015F2FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8015F300 7C 08 02 A6 */ mflr r0 -/* 8015F304 90 01 00 24 */ stw r0, 0x24(r1) -/* 8015F308 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015F30C 7C 7F 1B 78 */ mr r31, r3 -/* 8015F310 38 7F 00 08 */ addi r3, r31, 8 -/* 8015F314 38 81 00 08 */ addi r4, r1, 8 -/* 8015F318 4B EB 5F F9 */ bl mDoLib_project__FP3VecP3Vec -/* 8015F31C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015F320 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015F324 C0 21 00 08 */ lfs f1, 8(r1) -/* 8015F328 C0 41 00 0C */ lfs f2, 0xc(r1) -/* 8015F32C C0 61 00 10 */ lfs f3, 0x10(r1) -/* 8015F330 48 1E 75 B9 */ bl PSMTXTrans -/* 8015F334 C0 22 9C 80 */ lfs f1, lit_4699(r2) -/* 8015F338 FC 40 08 90 */ fmr f2, f1 -/* 8015F33C FC 60 08 90 */ fmr f3, f1 -/* 8015F340 4B EA DA F9 */ bl scaleM__14mDoMtx_stack_cFfff -/* 8015F344 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8015F348 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8015F34C 38 9F 00 14 */ addi r4, r31, 0x14 -/* 8015F350 48 1E 71 61 */ bl PSMTXCopy -/* 8015F354 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8015F358 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015F35C 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8015F360 38 83 02 3C */ addi r4, r3, 0x23c -/* 8015F364 38 A3 02 40 */ addi r5, r3, 0x240 -/* 8015F368 7F E6 FB 78 */ mr r6, r31 -/* 8015F36C 4B EF 74 29 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 8015F370 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8015F374 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015F378 7C 08 03 A6 */ mtlr r0 -/* 8015F37C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8015F380 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/BlckConnect__4cBgWFPUsPii.s b/asm/d/bg/d_bg_w/BlckConnect__4cBgWFPUsPii.s deleted file mode 100644 index 737bf6aa53..0000000000 --- a/asm/d/bg/d_bg_w/BlckConnect__4cBgWFPUsPii.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80079770: -/* 80079770 A0 04 00 00 */ lhz r0, 0(r4) -/* 80079774 28 00 FF FF */ cmplwi r0, 0xffff -/* 80079778 40 82 00 08 */ bne lbl_80079780 -/* 8007977C B0 C4 00 00 */ sth r6, 0(r4) -lbl_80079780: -/* 80079780 80 E5 00 00 */ lwz r7, 0(r5) -/* 80079784 3C 07 00 00 */ addis r0, r7, 0 -/* 80079788 28 00 FF FF */ cmplwi r0, 0xffff -/* 8007978C 41 82 00 10 */ beq lbl_8007979C -/* 80079790 80 83 00 98 */ lwz r4, 0x98(r3) -/* 80079794 54 E0 18 38 */ slwi r0, r7, 3 -/* 80079798 7C C4 03 2E */ sthx r6, r4, r0 -lbl_8007979C: -/* 8007979C 90 C5 00 00 */ stw r6, 0(r5) -/* 800797A0 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 800797A4 38 84 FF FF */ addi r4, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 800797A8 80 63 00 98 */ lwz r3, 0x98(r3) -/* 800797AC 80 05 00 00 */ lwz r0, 0(r5) -/* 800797B0 54 00 18 38 */ slwi r0, r0, 3 -/* 800797B4 7C 83 03 2E */ sthx r4, r3, r0 -/* 800797B8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/CalcPlane__4cBgWFv.s b/asm/d/bg/d_bg_w/CalcPlane__4cBgWFv.s deleted file mode 100644 index 95dec24ef5..0000000000 --- a/asm/d/bg/d_bg_w/CalcPlane__4cBgWFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_80079564: -/* 80079564 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80079568 7C 08 02 A6 */ mflr r0 -/* 8007956C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80079570 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079574 48 2E 8C 61 */ bl _savegpr_27 -/* 80079578 7C 7F 1B 78 */ mr r31, r3 -/* 8007957C 80 63 00 A0 */ lwz r3, 0xa0(r3) -/* 80079580 83 83 00 0C */ lwz r28, 0xc(r3) -/* 80079584 80 1F 00 9C */ lwz r0, 0x9c(r31) -/* 80079588 28 00 00 00 */ cmplwi r0, 0 -/* 8007958C 41 82 00 C4 */ beq lbl_80079650 -/* 80079590 88 1F 00 89 */ lbz r0, 0x89(r31) -/* 80079594 28 00 00 00 */ cmplwi r0, 0 -/* 80079598 40 82 00 50 */ bne lbl_800795E8 -/* 8007959C 3B 80 00 00 */ li r28, 0 -/* 800795A0 3B A0 00 00 */ li r29, 0 -/* 800795A4 48 00 00 30 */ b lbl_800795D4 -lbl_800795A8: -/* 800795A8 80 1F 00 94 */ lwz r0, 0x94(r31) -/* 800795AC 7C 60 EA 14 */ add r3, r0, r29 -/* 800795B0 38 9F 00 7C */ addi r4, r31, 0x7c -/* 800795B4 48 2C DB E1 */ bl PSVECDotProduct -/* 800795B8 80 7F 00 94 */ lwz r3, 0x94(r31) -/* 800795BC 38 1D 00 0C */ addi r0, r29, 0xc -/* 800795C0 7C 03 04 2E */ lfsx f0, r3, r0 -/* 800795C4 EC 00 08 28 */ fsubs f0, f0, f1 -/* 800795C8 7C 03 05 2E */ stfsx f0, r3, r0 -/* 800795CC 3B 9C 00 01 */ addi r28, r28, 1 -/* 800795D0 3B BD 00 18 */ addi r29, r29, 0x18 -lbl_800795D4: -/* 800795D4 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 800795D8 80 03 00 08 */ lwz r0, 8(r3) -/* 800795DC 7C 1C 00 00 */ cmpw r28, r0 -/* 800795E0 41 80 FF C8 */ blt lbl_800795A8 -/* 800795E4 48 00 00 6C */ b lbl_80079650 -lbl_800795E8: -/* 800795E8 3B 60 00 00 */ li r27, 0 -/* 800795EC 3B C0 00 00 */ li r30, 0 -/* 800795F0 3B A0 00 00 */ li r29, 0 -/* 800795F4 48 00 00 4C */ b lbl_80079640 -lbl_800795F8: -/* 800795F8 80 1F 00 94 */ lwz r0, 0x94(r31) -/* 800795FC 7C C0 EA 14 */ add r6, r0, r29 -/* 80079600 7C BC F2 14 */ add r5, r28, r30 -/* 80079604 80 FF 00 9C */ lwz r7, 0x9c(r31) -/* 80079608 A0 05 00 00 */ lhz r0, 0(r5) -/* 8007960C 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80079610 7C 67 02 14 */ add r3, r7, r0 -/* 80079614 A0 05 00 02 */ lhz r0, 2(r5) -/* 80079618 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8007961C 7C 87 02 14 */ add r4, r7, r0 -/* 80079620 A0 05 00 04 */ lhz r0, 4(r5) -/* 80079624 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80079628 7C A7 02 14 */ add r5, r7, r0 -/* 8007962C 38 E6 00 0C */ addi r7, r6, 0xc -/* 80079630 48 1E F2 ED */ bl cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf -/* 80079634 3B 7B 00 01 */ addi r27, r27, 1 -/* 80079638 3B DE 00 0A */ addi r30, r30, 0xa -/* 8007963C 3B BD 00 18 */ addi r29, r29, 0x18 -lbl_80079640: -/* 80079640 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 80079644 80 03 00 08 */ lwz r0, 8(r3) -/* 80079648 7C 1B 00 00 */ cmpw r27, r0 -/* 8007964C 41 80 FF AC */ blt lbl_800795F8 -lbl_80079650: -/* 80079650 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079654 48 2E 8B CD */ bl _restgpr_27 -/* 80079658 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007965C 7C 08 03 A6 */ mtlr r0 -/* 80079660 38 21 00 20 */ addi r1, r1, 0x20 -/* 80079664 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c.s b/asm/d/bg/d_bg_w/CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c.s deleted file mode 100644 index 2b62f514fc..0000000000 --- a/asm/d/bg/d_bg_w/CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8007E444: -/* 8007E444 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007E448 7C 08 02 A6 */ mflr r0 -/* 8007E44C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007E450 81 83 00 B4 */ lwz r12, 0xb4(r3) -/* 8007E454 28 0C 00 00 */ cmplwi r12, 0 -/* 8007E458 41 82 00 0C */ beq lbl_8007E464 -/* 8007E45C 7D 89 03 A6 */ mtctr r12 -/* 8007E460 4E 80 04 21 */ bctrl -lbl_8007E464: -/* 8007E464 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007E468 7C 08 03 A6 */ mtlr r0 -/* 8007E46C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007E470 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/CaptPoly__4dBgWFR13dBgS_CaptPoly.s b/asm/d/bg/d_bg_w/CaptPoly__4dBgWFR13dBgS_CaptPoly.s deleted file mode 100644 index f98151939b..0000000000 --- a/asm/d/bg/d_bg_w/CaptPoly__4dBgWFR13dBgS_CaptPoly.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007DAF8: -/* 8007DAF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007DAFC 7C 08 02 A6 */ mflr r0 -/* 8007DB00 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007DB04 A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007DB08 38 C0 00 01 */ li r6, 1 -/* 8007DB0C 4B FF FE F9 */ bl CaptPolyGrpRp__4dBgWFR13dBgS_CaptPolyii -/* 8007DB10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007DB14 7C 08 03 A6 */ mtlr r0 -/* 8007DB18 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007DB1C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s b/asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s deleted file mode 100644 index 2db12446f5..0000000000 --- a/asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8007B958: -/* 8007B958 88 03 00 88 */ lbz r0, 0x88(r3) -/* 8007B95C 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f -/* 8007B960 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkMemoryError__4cBgWFv.s b/asm/d/bg/d_bg_w/ChkMemoryError__4cBgWFv.s deleted file mode 100644 index a26c0f7ba7..0000000000 --- a/asm/d/bg/d_bg_w/ChkMemoryError__4cBgWFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80079EEC: -/* 80079EEC 80 03 00 94 */ lwz r0, 0x94(r3) -/* 80079EF0 28 00 00 00 */ cmplwi r0, 0 -/* 80079EF4 41 82 00 34 */ beq lbl_80079F28 -/* 80079EF8 80 03 00 98 */ lwz r0, 0x98(r3) -/* 80079EFC 28 00 00 00 */ cmplwi r0, 0 -/* 80079F00 41 82 00 28 */ beq lbl_80079F28 -/* 80079F04 80 03 00 A4 */ lwz r0, 0xa4(r3) -/* 80079F08 28 00 00 00 */ cmplwi r0, 0 -/* 80079F0C 41 82 00 1C */ beq lbl_80079F28 -/* 80079F10 80 03 00 AC */ lwz r0, 0xac(r3) -/* 80079F14 28 00 00 00 */ cmplwi r0, 0 -/* 80079F18 41 82 00 10 */ beq lbl_80079F28 -/* 80079F1C 80 03 00 A8 */ lwz r0, 0xa8(r3) -/* 80079F20 28 00 00 00 */ cmplwi r0, 0 -/* 80079F24 40 82 00 0C */ bne lbl_80079F30 -lbl_80079F28: -/* 80079F28 38 60 00 01 */ li r3, 1 -/* 80079F2C 4E 80 00 20 */ blr -lbl_80079F30: -/* 80079F30 38 60 00 00 */ li r3, 0 -/* 80079F34 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s b/asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s deleted file mode 100644 index f57fc2e19a..0000000000 --- a/asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8007B964: -/* 8007B964 88 03 00 88 */ lbz r0, 0x88(r3) -/* 8007B968 54 03 07 FE */ clrlwi r3, r0, 0x1f -/* 8007B96C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s b/asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s deleted file mode 100644 index 5faf239c92..0000000000 --- a/asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8007E4B4: -/* 8007E4B4 88 03 00 BC */ lbz r0, 0xbc(r3) -/* 8007E4B8 54 03 07 FE */ clrlwi r3, r0, 0x1f -/* 8007E4BC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s b/asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s deleted file mode 100644 index 757ea556b9..0000000000 --- a/asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8007B948: -/* 8007B948 80 03 00 9C */ lwz r0, 0x9c(r3) -/* 8007B94C 7C 00 00 34 */ cntlzw r0, r0 -/* 8007B950 54 03 D9 7E */ srwi r3, r0, 5 -/* 8007B954 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk.s b/asm/d/bg/d_bg_w/ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk.s deleted file mode 100644 index ab705e8049..0000000000 --- a/asm/d/bg/d_bg_w/ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B0B0: -/* 8007B0B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B0B4 7C 08 02 A6 */ mflr r0 -/* 8007B0B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B0BC 81 83 00 04 */ lwz r12, 4(r3) -/* 8007B0C0 81 8C 00 F8 */ lwz r12, 0xf8(r12) -/* 8007B0C4 7D 89 03 A6 */ mtctr r12 -/* 8007B0C8 4E 80 04 21 */ bctrl -/* 8007B0CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B0D0 7C 08 03 A6 */ mtlr r0 -/* 8007B0D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B0D8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk.s b/asm/d/bg/d_bg_w/ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk.s deleted file mode 100644 index e93f994ca0..0000000000 --- a/asm/d/bg/d_bg_w/ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8007E360: -/* 8007E360 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007E364 7C 08 02 A6 */ mflr r0 -/* 8007E368 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007E36C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007E370 93 C1 00 08 */ stw r30, 8(r1) -/* 8007E374 7C 7E 1B 78 */ mr r30, r3 -/* 8007E378 7C 9F 23 78 */ mr r31, r4 -/* 8007E37C 81 83 00 04 */ lwz r12, 4(r3) -/* 8007E380 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 8007E384 7D 89 03 A6 */ mtctr r12 -/* 8007E388 4E 80 04 21 */ bctrl -/* 8007E38C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007E390 41 82 00 0C */ beq lbl_8007E39C -/* 8007E394 38 60 00 01 */ li r3, 1 -/* 8007E398 48 00 00 28 */ b lbl_8007E3C0 -lbl_8007E39C: -/* 8007E39C 7F C3 F3 78 */ mr r3, r30 -/* 8007E3A0 7F E4 FB 78 */ mr r4, r31 -/* 8007E3A4 81 9E 00 04 */ lwz r12, 4(r30) -/* 8007E3A8 81 8C 00 88 */ lwz r12, 0x88(r12) -/* 8007E3AC 7D 89 03 A6 */ mtctr r12 -/* 8007E3B0 4E 80 04 21 */ bctrl -/* 8007E3B4 30 03 FF FF */ addic r0, r3, -1 -/* 8007E3B8 7C 00 19 10 */ subfe r0, r0, r3 -/* 8007E3BC 54 03 06 3E */ clrlwi r3, r0, 0x18 -lbl_8007E3C0: -/* 8007E3C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007E3C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8007E3C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007E3CC 7C 08 03 A6 */ mtlr r0 -/* 8007E3D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007E3D4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/CopyOldMtx__4cBgWFv.s b/asm/d/bg/d_bg_w/CopyOldMtx__4cBgWFv.s deleted file mode 100644 index 57e8661554..0000000000 --- a/asm/d/bg/d_bg_w/CopyOldMtx__4cBgWFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8007ABC4: -/* 8007ABC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007ABC8 7C 08 02 A6 */ mflr r0 -/* 8007ABCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007ABD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007ABD4 7C 7F 1B 78 */ mr r31, r3 -/* 8007ABD8 80 03 00 18 */ lwz r0, 0x18(r3) -/* 8007ABDC 28 00 00 00 */ cmplwi r0, 0 -/* 8007ABE0 41 82 00 1C */ beq lbl_8007ABFC -/* 8007ABE4 38 7F 00 4C */ addi r3, r31, 0x4c -/* 8007ABE8 38 9F 00 1C */ addi r4, r31, 0x1c -/* 8007ABEC 48 2C B8 C5 */ bl PSMTXCopy -/* 8007ABF0 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8007ABF4 38 9F 00 4C */ addi r4, r31, 0x4c -/* 8007ABF8 48 2C B8 B9 */ bl PSMTXCopy -lbl_8007ABFC: -/* 8007ABFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007AC00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007AC04 7C 08 03 A6 */ mtlr r0 -/* 8007AC08 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007AC0C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s deleted file mode 100644 index 0f2cd81a1c..0000000000 --- a/asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B800: -/* 8007B800 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B804 7C 08 02 A6 */ mflr r0 -/* 8007B808 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B80C 3C A0 02 00 */ lis r5, 0x200 -/* 8007B810 4B FF FF 7D */ bl GetMaskPolyInf1_NoShift__4cBgWCFiUl -/* 8007B814 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B818 7C 08 03 A6 */ mtlr r0 -/* 8007B81C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B820 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetBnd__4cBgWCFv.s b/asm/d/bg/d_bg_w/GetBnd__4cBgWCFv.s deleted file mode 100644 index f010201fa4..0000000000 --- a/asm/d/bg/d_bg_w/GetBnd__4cBgWCFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8007B164: -/* 8007B164 80 83 00 A8 */ lwz r4, 0xa8(r3) -/* 8007B168 A0 03 00 92 */ lhz r0, 0x92(r3) -/* 8007B16C 54 03 28 34 */ slwi r3, r0, 5 -/* 8007B170 38 63 00 04 */ addi r3, r3, 4 -/* 8007B174 7C 64 1A 14 */ add r3, r4, r3 -/* 8007B178 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 6874e305e2..0000000000 --- a/asm/d/bg/d_bg_w/GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B87C: -/* 8007B87C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B880 7C 08 02 A6 */ mflr r0 -/* 8007B884 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B888 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B88C 38 A0 00 FF */ li r5, 0xff -/* 8007B890 38 C0 00 00 */ li r6, 0 -/* 8007B894 4B FF FF 91 */ bl GetPolyInf2__4cBgWCFiUlUl -/* 8007B898 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B89C 7C 08 03 A6 */ mtlr r0 -/* 8007B8A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B8A4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetExitId__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetExitId__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 4e2f0f2f46..0000000000 --- a/asm/d/bg/d_bg_w/GetExitId__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B3AC: -/* 8007B3AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B3B0 7C 08 02 A6 */ mflr r0 -/* 8007B3B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B3B8 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B3BC 38 A0 00 3F */ li r5, 0x3f -/* 8007B3C0 38 C0 00 00 */ li r6, 0 -/* 8007B3C4 4B FF FF 49 */ bl GetPolyInf0__4cBgWCFiUlUl -/* 8007B3C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B3CC 7C 08 03 A6 */ mtlr r0 -/* 8007B3D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B3D4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index e7b315933c..0000000000 --- a/asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B760: -/* 8007B760 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B764 7C 08 02 A6 */ mflr r0 -/* 8007B768 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B76C A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B770 3C A0 00 F8 */ lis r5, 0xf8 -/* 8007B774 38 C0 00 13 */ li r6, 0x13 -/* 8007B778 4B FF FE DD */ bl GetPolyInf1__4cBgWCFiUlUl -/* 8007B77C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B780 7C 08 03 A6 */ mtlr r0 -/* 8007B784 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B788 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s deleted file mode 100644 index d4bdd5a647..0000000000 --- a/asm/d/bg/d_bg_w/GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8007B2B0: -/* 8007B2B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B2B4 7C 08 02 A6 */ mflr r0 -/* 8007B2B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B2BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007B2C0 7C 7F 1B 78 */ mr r31, r3 -/* 8007B2C4 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B2C8 48 00 06 69 */ bl GetTriGrp__4cBgWCFi -/* 8007B2CC 80 9F 00 A0 */ lwz r4, 0xa0(r31) -/* 8007B2D0 80 84 00 24 */ lwz r4, 0x24(r4) -/* 8007B2D4 1C 03 00 34 */ mulli r0, r3, 0x34 -/* 8007B2D8 7C 64 02 14 */ add r3, r4, r0 -/* 8007B2DC 80 63 00 30 */ lwz r3, 0x30(r3) -/* 8007B2E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007B2E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B2E8 7C 08 03 A6 */ mtlr r0 -/* 8007B2EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B2F0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 0b2cf9c1c7..0000000000 --- a/asm/d/bg/d_bg_w/GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007DF58: -/* 8007DF58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007DF5C 7C 08 02 A6 */ mflr r0 -/* 8007DF60 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007DF64 81 83 00 04 */ lwz r12, 4(r3) -/* 8007DF68 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8007DF6C 7D 89 03 A6 */ mtctr r12 -/* 8007DF70 4E 80 04 21 */ bctrl -/* 8007DF74 54 63 AE 3E */ rlwinm r3, r3, 0x15, 0x18, 0x1f -/* 8007DF78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007DF7C 7C 08 03 A6 */ mtlr r0 -/* 8007DF80 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007DF84 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index dc593bcdd6..0000000000 --- a/asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B404: -/* 8007B404 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B408 7C 08 02 A6 */ mflr r0 -/* 8007B40C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B410 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B414 3C A0 00 20 */ lis r5, 0x20 -/* 8007B418 38 C0 00 15 */ li r6, 0x15 -/* 8007B41C 4B FF FE F1 */ bl GetPolyInf0__4cBgWCFiUlUl -/* 8007B420 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B424 7C 08 03 A6 */ mtlr r0 -/* 8007B428 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B42C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetIronBallThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetIronBallThrough__4dBgWFi.s deleted file mode 100644 index 2248124171..0000000000 --- a/asm/d/bg/d_bg_w/GetIronBallThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B7DC: -/* 8007B7DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B7E0 7C 08 02 A6 */ mflr r0 -/* 8007B7E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B7E8 3C A0 01 00 */ lis r5, 0x100 -/* 8007B7EC 4B FF FF A1 */ bl GetMaskPolyInf1_NoShift__4cBgWCFiUl -/* 8007B7F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B7F4 7C 08 03 A6 */ mtlr r0 -/* 8007B7F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B7FC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetLinkNo__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetLinkNo__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index bf7af6ea81..0000000000 --- a/asm/d/bg/d_bg_w/GetLinkNo__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B6AC: -/* 8007B6AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B6B0 7C 08 02 A6 */ mflr r0 -/* 8007B6B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B6B8 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B6BC 38 A0 00 FF */ li r5, 0xff -/* 8007B6C0 38 C0 00 00 */ li r6, 0 -/* 8007B6C4 4B FF FF 91 */ bl GetPolyInf1__4cBgWCFiUlUl -/* 8007B6C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B6CC 7C 08 03 A6 */ mtlr r0 -/* 8007B6D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B6D4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 2c93f836d7..0000000000 --- a/asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B488: -/* 8007B488 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B48C 7C 08 02 A6 */ mflr r0 -/* 8007B490 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B494 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B498 3C A0 30 00 */ lis r5, 0x3000 -/* 8007B49C 38 C0 00 1C */ li r6, 0x1c -/* 8007B4A0 4B FF FE 6D */ bl GetPolyInf0__4cBgWCFiUlUl -/* 8007B4A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B4A8 7C 08 03 A6 */ mtlr r0 -/* 8007B4AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B4B0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetMaskPolyInf0_NoShift__4cBgWCFiUl.s b/asm/d/bg/d_bg_w/GetMaskPolyInf0_NoShift__4cBgWCFiUl.s deleted file mode 100644 index b3639b6043..0000000000 --- a/asm/d/bg/d_bg_w/GetMaskPolyInf0_NoShift__4cBgWCFiUl.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8007B360: -/* 8007B360 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B364 7C 08 02 A6 */ mflr r0 -/* 8007B368 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B36C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007B370 93 C1 00 08 */ stw r30, 8(r1) -/* 8007B374 7C 7E 1B 78 */ mr r30, r3 -/* 8007B378 7C BF 2B 78 */ mr r31, r5 -/* 8007B37C 4B FF FF 79 */ bl GetPolyInfId__4cBgWCFi -/* 8007B380 80 9E 00 A0 */ lwz r4, 0xa0(r30) -/* 8007B384 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 8007B388 54 60 20 36 */ slwi r0, r3, 4 -/* 8007B38C 7C 04 00 2E */ lwzx r0, r4, r0 -/* 8007B390 7F E3 00 38 */ and r3, r31, r0 -/* 8007B394 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007B398 83 C1 00 08 */ lwz r30, 8(r1) -/* 8007B39C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B3A0 7C 08 03 A6 */ mtlr r0 -/* 8007B3A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B3A8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetMaskPolyInf1_NoShift__4cBgWCFiUl.s b/asm/d/bg/d_bg_w/GetMaskPolyInf1_NoShift__4cBgWCFiUl.s deleted file mode 100644 index 9c0d1f32c3..0000000000 --- a/asm/d/bg/d_bg_w/GetMaskPolyInf1_NoShift__4cBgWCFiUl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8007B78C: -/* 8007B78C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B790 7C 08 02 A6 */ mflr r0 -/* 8007B794 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B798 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007B79C 93 C1 00 08 */ stw r30, 8(r1) -/* 8007B7A0 7C 7E 1B 78 */ mr r30, r3 -/* 8007B7A4 7C BF 2B 78 */ mr r31, r5 -/* 8007B7A8 4B FF FB 4D */ bl GetPolyInfId__4cBgWCFi -/* 8007B7AC 80 9E 00 A0 */ lwz r4, 0xa0(r30) -/* 8007B7B0 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 8007B7B4 54 60 20 36 */ slwi r0, r3, 4 -/* 8007B7B8 7C 64 02 14 */ add r3, r4, r0 -/* 8007B7BC 80 03 00 04 */ lwz r0, 4(r3) -/* 8007B7C0 7F E3 00 38 */ and r3, r31, r0 -/* 8007B7C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007B7C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8007B7CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B7D0 7C 08 03 A6 */ mtlr r0 -/* 8007B7D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B7D8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 8d6feaefba..0000000000 --- a/asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B4B4: -/* 8007B4B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B4B8 7C 08 02 A6 */ mflr r0 -/* 8007B4BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B4C0 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B4C4 3C A0 80 00 */ lis r5, 0x8000 -/* 8007B4C8 38 C0 00 1F */ li r6, 0x1f -/* 8007B4CC 4B FF FE 41 */ bl GetPolyInf0__4cBgWCFiUlUl -/* 8007B4D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B4D4 7C 08 03 A6 */ mtlr r0 -/* 8007B4D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B4DC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyArrowThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyArrowThrough__4dBgWFi.s deleted file mode 100644 index 2c04a8ccef..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyArrowThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B550: -/* 8007B550 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B554 7C 08 02 A6 */ mflr r0 -/* 8007B558 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B55C 3C A0 00 02 */ lis r5, 2 -/* 8007B560 4B FF FE 01 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B564 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B568 7C 08 03 A6 */ mtlr r0 -/* 8007B56C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B570 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index cb5bb49ad5..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007B704: -/* 8007B704 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B708 7C 08 02 A6 */ mflr r0 -/* 8007B70C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B710 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B714 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000F000@ha */ -/* 8007B718 38 A5 F0 00 */ addi r5, r5, 0xF000 /* 0x0000F000@l */ -/* 8007B71C 38 C0 00 0C */ li r6, 0xc -/* 8007B720 4B FF FF 35 */ bl GetPolyInf1__4cBgWCFiUlUl -/* 8007B724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B728 7C 08 03 A6 */ mtlr r0 -/* 8007B72C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B730 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index bed07d6e39..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B734: -/* 8007B734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B738 7C 08 02 A6 */ mflr r0 -/* 8007B73C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B740 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B744 3C A0 00 07 */ lis r5, 7 -/* 8007B748 38 C0 00 10 */ li r6, 0x10 -/* 8007B74C 4B FF FF 09 */ bl GetPolyInf1__4cBgWCFiUlUl -/* 8007B750 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B754 7C 08 03 A6 */ mtlr r0 -/* 8007B758 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B75C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyBombThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyBombThrough__4dBgWFi.s deleted file mode 100644 index 75190d47c8..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyBombThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B5E0: -/* 8007B5E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B5E4 7C 08 02 A6 */ mflr r0 -/* 8007B5E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B5EC 3C A0 00 80 */ lis r5, 0x80 -/* 8007B5F0 4B FF FD 71 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B5F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B5F8 7C 08 03 A6 */ mtlr r0 -/* 8007B5FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B600 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyBoomerangThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyBoomerangThrough__4dBgWFi.s deleted file mode 100644 index 135d087c2d..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyBoomerangThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B598: -/* 8007B598 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B59C 7C 08 02 A6 */ mflr r0 -/* 8007B5A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B5A4 3C A0 00 08 */ lis r5, 8 -/* 8007B5A8 4B FF FD B9 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B5AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B5B0 7C 08 03 A6 */ mtlr r0 -/* 8007B5B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B5B8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyCamThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyCamThrough__4dBgWFi.s deleted file mode 100644 index 9cc1e7973e..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyCamThrough__4dBgWFi.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007B504: -/* 8007B504 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B508 7C 08 02 A6 */ mflr r0 -/* 8007B50C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B510 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008000@ha */ -/* 8007B514 38 A5 80 00 */ addi r5, r5, 0x8000 /* 0x00008000@l */ -/* 8007B518 4B FF FE 49 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B51C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B520 7C 08 03 A6 */ mtlr r0 -/* 8007B524 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B528 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 68c5444433..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B3D8: -/* 8007B3D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B3DC 7C 08 02 A6 */ mflr r0 -/* 8007B3E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B3E4 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B3E8 38 A0 3F C0 */ li r5, 0x3fc0 -/* 8007B3EC 38 C0 00 06 */ li r6, 6 -/* 8007B3F0 4B FF FF 1D */ bl GetPolyInf0__4cBgWCFiUlUl -/* 8007B3F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B3F8 7C 08 03 A6 */ mtlr r0 -/* 8007B3FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B400 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 474f40f182..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007DF28: -/* 8007DF28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007DF2C 7C 08 02 A6 */ mflr r0 -/* 8007DF30 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007DF34 81 83 00 04 */ lwz r12, 4(r3) -/* 8007DF38 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 8007DF3C 7D 89 03 A6 */ mtctr r12 -/* 8007DF40 4E 80 04 21 */ bctrl -/* 8007DF44 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8007DF48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007DF4C 7C 08 03 A6 */ mtlr r0 -/* 8007DF50 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007DF54 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s deleted file mode 100644 index 112478af8d..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B574: -/* 8007B574 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B578 7C 08 02 A6 */ mflr r0 -/* 8007B57C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B580 3C A0 00 04 */ lis r5, 4 -/* 8007B584 4B FF FD DD */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B588 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B58C 7C 08 03 A6 */ mtlr r0 -/* 8007B590 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B594 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyInf0__4cBgWCFiUlUl.s b/asm/d/bg/d_bg_w/GetPolyInf0__4cBgWCFiUlUl.s deleted file mode 100644 index 0586622257..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyInf0__4cBgWCFiUlUl.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8007B30C: -/* 8007B30C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8007B310 7C 08 02 A6 */ mflr r0 -/* 8007B314 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007B318 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007B31C 48 2E 6E C1 */ bl _savegpr_29 -/* 8007B320 7C 7D 1B 78 */ mr r29, r3 -/* 8007B324 7C BE 2B 78 */ mr r30, r5 -/* 8007B328 7C DF 33 78 */ mr r31, r6 -/* 8007B32C 4B FF FF C9 */ bl GetPolyInfId__4cBgWCFi -/* 8007B330 80 9D 00 A0 */ lwz r4, 0xa0(r29) -/* 8007B334 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 8007B338 54 60 20 36 */ slwi r0, r3, 4 -/* 8007B33C 7C 04 00 2E */ lwzx r0, r4, r0 -/* 8007B340 7F C0 00 38 */ and r0, r30, r0 -/* 8007B344 7C 03 FC 30 */ srw r3, r0, r31 -/* 8007B348 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007B34C 48 2E 6E DD */ bl _restgpr_29 -/* 8007B350 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007B354 7C 08 03 A6 */ mtlr r0 -/* 8007B358 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007B35C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyInf1__4cBgWCFiUlUl.s b/asm/d/bg/d_bg_w/GetPolyInf1__4cBgWCFiUlUl.s deleted file mode 100644 index 659675a115..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyInf1__4cBgWCFiUlUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8007B654: -/* 8007B654 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8007B658 7C 08 02 A6 */ mflr r0 -/* 8007B65C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007B660 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007B664 48 2E 6B 79 */ bl _savegpr_29 -/* 8007B668 7C 7D 1B 78 */ mr r29, r3 -/* 8007B66C 7C BE 2B 78 */ mr r30, r5 -/* 8007B670 7C DF 33 78 */ mr r31, r6 -/* 8007B674 4B FF FC 81 */ bl GetPolyInfId__4cBgWCFi -/* 8007B678 80 9D 00 A0 */ lwz r4, 0xa0(r29) -/* 8007B67C 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 8007B680 54 60 20 36 */ slwi r0, r3, 4 -/* 8007B684 7C 64 02 14 */ add r3, r4, r0 -/* 8007B688 80 03 00 04 */ lwz r0, 4(r3) -/* 8007B68C 7F C0 00 38 */ and r0, r30, r0 -/* 8007B690 7C 03 FC 30 */ srw r3, r0, r31 -/* 8007B694 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007B698 48 2E 6B 91 */ bl _restgpr_29 -/* 8007B69C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007B6A0 7C 08 03 A6 */ mtlr r0 -/* 8007B6A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007B6A8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyInf2__4cBgWCFiUlUl.s b/asm/d/bg/d_bg_w/GetPolyInf2__4cBgWCFiUlUl.s deleted file mode 100644 index e367001df0..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyInf2__4cBgWCFiUlUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8007B824: -/* 8007B824 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8007B828 7C 08 02 A6 */ mflr r0 -/* 8007B82C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007B830 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007B834 48 2E 69 A9 */ bl _savegpr_29 -/* 8007B838 7C 7D 1B 78 */ mr r29, r3 -/* 8007B83C 7C BE 2B 78 */ mr r30, r5 -/* 8007B840 7C DF 33 78 */ mr r31, r6 -/* 8007B844 4B FF FA B1 */ bl GetPolyInfId__4cBgWCFi -/* 8007B848 80 9D 00 A0 */ lwz r4, 0xa0(r29) -/* 8007B84C 80 84 00 2C */ lwz r4, 0x2c(r4) -/* 8007B850 54 60 20 36 */ slwi r0, r3, 4 -/* 8007B854 7C 64 02 14 */ add r3, r4, r0 -/* 8007B858 80 03 00 08 */ lwz r0, 8(r3) -/* 8007B85C 7F C0 00 38 */ and r0, r30, r0 -/* 8007B860 7C 03 FC 30 */ srw r3, r0, r31 -/* 8007B864 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007B868 48 2E 69 C1 */ bl _restgpr_29 -/* 8007B86C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007B870 7C 08 03 A6 */ mtlr r0 -/* 8007B874 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007B878 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyInfId__4cBgWCFi.s b/asm/d/bg/d_bg_w/GetPolyInfId__4cBgWCFi.s deleted file mode 100644 index 3998764fe4..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyInfId__4cBgWCFi.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8007B2F4: -/* 8007B2F4 80 63 00 A0 */ lwz r3, 0xa0(r3) -/* 8007B2F8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8007B2FC 1C 04 00 0A */ mulli r0, r4, 0xa -/* 8007B300 7C 63 02 14 */ add r3, r3, r0 -/* 8007B304 A0 63 00 06 */ lhz r3, 6(r3) -/* 8007B308 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyLinkThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyLinkThrough__4dBgWFi.s deleted file mode 100644 index dc3d3ca652..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyLinkThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B52C: -/* 8007B52C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B530 7C 08 02 A6 */ mflr r0 -/* 8007B534 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B538 3C A0 00 01 */ lis r5, 1 -/* 8007B53C 4B FF FE 25 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B540 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B544 7C 08 03 A6 */ mtlr r0 -/* 8007B548 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B54C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyObjThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyObjThrough__4dBgWFi.s deleted file mode 100644 index 2e5049b0ab..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyObjThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B4E0: -/* 8007B4E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B4E4 7C 08 02 A6 */ mflr r0 -/* 8007B4E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B4EC 38 A0 40 00 */ li r5, 0x4000 -/* 8007B4F0 4B FF FE 71 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B4F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B4F8 7C 08 03 A6 */ mtlr r0 -/* 8007B4FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B500 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetPolyRopeThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetPolyRopeThrough__4dBgWFi.s deleted file mode 100644 index 70773531f2..0000000000 --- a/asm/d/bg/d_bg_w/GetPolyRopeThrough__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B5BC: -/* 8007B5BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B5C0 7C 08 02 A6 */ mflr r0 -/* 8007B5C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B5C8 3C A0 00 10 */ lis r5, 0x10 -/* 8007B5CC 4B FF FD 95 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B5D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B5D4 7C 08 03 A6 */ mtlr r0 -/* 8007B5D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B5DC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 467a2df807..0000000000 --- a/asm/d/bg/d_bg_w/GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007B8A8: -/* 8007B8A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B8AC 7C 08 02 A6 */ mflr r0 -/* 8007B8B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B8B4 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B8B8 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000FF00@ha */ -/* 8007B8BC 38 A5 FF 00 */ addi r5, r5, 0xFF00 /* 0x0000FF00@l */ -/* 8007B8C0 38 C0 00 08 */ li r6, 8 -/* 8007B8C4 4B FF FF 61 */ bl GetPolyInf2__4cBgWCFiUlUl -/* 8007B8C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B8CC 7C 08 03 A6 */ mtlr r0 -/* 8007B8D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B8D4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index eca28697ae..0000000000 --- a/asm/d/bg/d_bg_w/GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B8D8: -/* 8007B8D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B8DC 7C 08 02 A6 */ mflr r0 -/* 8007B8E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B8E4 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B8E8 3C A0 00 FF */ lis r5, 0xff -/* 8007B8EC 38 C0 00 10 */ li r6, 0x10 -/* 8007B8F0 4B FF FF 35 */ bl GetPolyInf2__4cBgWCFiUlUl -/* 8007B8F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B8F8 7C 08 03 A6 */ mtlr r0 -/* 8007B8FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B900 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index a4fb862212..0000000000 --- a/asm/d/bg/d_bg_w/GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B904: -/* 8007B904 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B908 7C 08 02 A6 */ mflr r0 -/* 8007B90C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B910 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B914 3C A0 FF 00 */ lis r5, 0xff00 -/* 8007B918 38 C0 00 18 */ li r6, 0x18 -/* 8007B91C 4B FF FF 09 */ bl GetPolyInf2__4cBgWCFiUlUl -/* 8007B920 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B924 7C 08 03 A6 */ mtlr r0 -/* 8007B928 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B92C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetShdwThrough__4dBgWFi.s b/asm/d/bg/d_bg_w/GetShdwThrough__4dBgWFi.s deleted file mode 100644 index 9f767bfe8b..0000000000 --- a/asm/d/bg/d_bg_w/GetShdwThrough__4dBgWFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B604: -/* 8007B604 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B608 7C 08 02 A6 */ mflr r0 -/* 8007B60C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B610 3C A0 00 40 */ lis r5, 0x40 -/* 8007B614 4B FF FD 4D */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B618 30 03 FF FF */ addic r0, r3, -1 -/* 8007B61C 7C 60 19 10 */ subfe r3, r0, r3 -/* 8007B620 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B624 7C 08 03 A6 */ mtlr r0 -/* 8007B628 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B62C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index 00f930da58..0000000000 --- a/asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007B430: -/* 8007B430 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B434 7C 08 02 A6 */ mflr r0 -/* 8007B438 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B43C A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B440 81 83 00 04 */ lwz r12, 4(r3) -/* 8007B444 81 8C 00 74 */ lwz r12, 0x74(r12) -/* 8007B448 7D 89 03 A6 */ mtctr r12 -/* 8007B44C 4E 80 04 21 */ bctrl -/* 8007B450 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B454 7C 08 03 A6 */ mtlr r0 -/* 8007B458 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B45C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s b/asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s deleted file mode 100644 index bdf534ede4..0000000000 --- a/asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007B460: -/* 8007B460 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B464 7C 08 02 A6 */ mflr r0 -/* 8007B468 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B46C 3C A0 0F 00 */ lis r5, 0xf00 -/* 8007B470 38 C0 00 18 */ li r6, 0x18 -/* 8007B474 4B FF FE 99 */ bl GetPolyInf0__4cBgWCFiUlUl -/* 8007B478 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B47C 7C 08 03 A6 */ mtlr r0 -/* 8007B480 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B484 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetTopUnder__4cBgWCFPfPf.s b/asm/d/bg/d_bg_w/GetTopUnder__4cBgWCFPfPf.s deleted file mode 100644 index 98794dcba2..0000000000 --- a/asm/d/bg/d_bg_w/GetTopUnder__4cBgWCFPfPf.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007B240: -/* 8007B240 80 C3 00 A8 */ lwz r6, 0xa8(r3) -/* 8007B244 A0 03 00 92 */ lhz r0, 0x92(r3) -/* 8007B248 54 03 28 34 */ slwi r3, r0, 5 -/* 8007B24C 38 E3 00 04 */ addi r7, r3, 4 -/* 8007B250 7C E6 3A 14 */ add r7, r6, r7 -/* 8007B254 C0 07 00 04 */ lfs f0, 4(r7) -/* 8007B258 D0 05 00 00 */ stfs f0, 0(r5) -/* 8007B25C 38 63 00 10 */ addi r3, r3, 0x10 -/* 8007B260 7C 66 1A 14 */ add r3, r6, r3 -/* 8007B264 C0 03 00 04 */ lfs f0, 4(r3) -/* 8007B268 D0 04 00 00 */ stfs f0, 0(r4) -/* 8007B26C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetTrans__4cBgWCFP4cXyz.s b/asm/d/bg/d_bg_w/GetTrans__4cBgWCFP4cXyz.s deleted file mode 100644 index a786241bfa..0000000000 --- a/asm/d/bg/d_bg_w/GetTrans__4cBgWCFP4cXyz.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8007B17C: -/* 8007B17C 80 A3 00 18 */ lwz r5, 0x18(r3) -/* 8007B180 C0 25 00 0C */ lfs f1, 0xc(r5) -/* 8007B184 C0 03 00 28 */ lfs f0, 0x28(r3) -/* 8007B188 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8007B18C D0 04 00 00 */ stfs f0, 0(r4) -/* 8007B190 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 8007B194 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 8007B198 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8007B19C D0 04 00 04 */ stfs f0, 4(r4) -/* 8007B1A0 C0 25 00 2C */ lfs f1, 0x2c(r5) -/* 8007B1A4 C0 03 00 48 */ lfs f0, 0x48(r3) -/* 8007B1A8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8007B1AC D0 04 00 08 */ stfs f0, 8(r4) -/* 8007B1B0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetTriGrp__4cBgWCFi.s b/asm/d/bg/d_bg_w/GetTriGrp__4cBgWCFi.s deleted file mode 100644 index 845fc29a68..0000000000 --- a/asm/d/bg/d_bg_w/GetTriGrp__4cBgWCFi.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8007B930: -/* 8007B930 80 63 00 A0 */ lwz r3, 0xa0(r3) -/* 8007B934 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8007B938 1C 04 00 0A */ mulli r0, r4, 0xa -/* 8007B93C 7C 63 02 14 */ add r3, r3, r0 -/* 8007B940 A0 63 00 08 */ lhz r3, 8(r3) -/* 8007B944 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s deleted file mode 100644 index 2667b077f8..0000000000 --- a/asm/d/bg/d_bg_w/GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8007B270: -/* 8007B270 A0 05 00 00 */ lhz r0, 0(r5) -/* 8007B274 80 84 00 94 */ lwz r4, 0x94(r4) -/* 8007B278 1C 00 00 18 */ mulli r0, r0, 0x18 -/* 8007B27C 7C A4 02 14 */ add r5, r4, r0 -/* 8007B280 3C 80 80 3A */ lis r4, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 8007B284 38 04 37 C0 */ addi r0, r4, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 8007B288 90 03 00 10 */ stw r0, 0x10(r3) -/* 8007B28C C0 05 00 00 */ lfs f0, 0(r5) -/* 8007B290 D0 03 00 00 */ stfs f0, 0(r3) -/* 8007B294 C0 05 00 04 */ lfs f0, 4(r5) -/* 8007B298 D0 03 00 04 */ stfs f0, 4(r3) -/* 8007B29C C0 05 00 08 */ lfs f0, 8(r5) -/* 8007B2A0 D0 03 00 08 */ stfs f0, 8(r3) -/* 8007B2A4 C0 05 00 0C */ lfs f0, 0xc(r5) -/* 8007B2A8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8007B2AC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s b/asm/d/bg/d_bg_w/GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s deleted file mode 100644 index 57fac51dfb..0000000000 --- a/asm/d/bg/d_bg_w/GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8007B1B4: -/* 8007B1B4 A0 04 00 00 */ lhz r0, 0(r4) -/* 8007B1B8 80 83 00 A0 */ lwz r4, 0xa0(r3) -/* 8007B1BC 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8007B1C0 1C 00 00 0A */ mulli r0, r0, 0xa -/* 8007B1C4 7D 04 02 14 */ add r8, r4, r0 -/* 8007B1C8 80 63 00 9C */ lwz r3, 0x9c(r3) -/* 8007B1CC A0 08 00 00 */ lhz r0, 0(r8) -/* 8007B1D0 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8007B1D4 7C 83 02 14 */ add r4, r3, r0 -/* 8007B1D8 C0 04 00 00 */ lfs f0, 0(r4) -/* 8007B1DC D0 05 00 00 */ stfs f0, 0(r5) -/* 8007B1E0 C0 04 00 04 */ lfs f0, 4(r4) -/* 8007B1E4 D0 05 00 04 */ stfs f0, 4(r5) -/* 8007B1E8 C0 04 00 08 */ lfs f0, 8(r4) -/* 8007B1EC D0 05 00 08 */ stfs f0, 8(r5) -/* 8007B1F0 A0 08 00 02 */ lhz r0, 2(r8) -/* 8007B1F4 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8007B1F8 7C 83 02 14 */ add r4, r3, r0 -/* 8007B1FC C0 04 00 00 */ lfs f0, 0(r4) -/* 8007B200 D0 06 00 00 */ stfs f0, 0(r6) -/* 8007B204 C0 04 00 04 */ lfs f0, 4(r4) -/* 8007B208 D0 06 00 04 */ stfs f0, 4(r6) -/* 8007B20C C0 04 00 08 */ lfs f0, 8(r4) -/* 8007B210 D0 06 00 08 */ stfs f0, 8(r6) -/* 8007B214 A0 08 00 04 */ lhz r0, 4(r8) -/* 8007B218 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8007B21C 7C 63 02 14 */ add r3, r3, r0 -/* 8007B220 C0 03 00 00 */ lfs f0, 0(r3) -/* 8007B224 D0 07 00 00 */ stfs f0, 0(r7) -/* 8007B228 C0 03 00 04 */ lfs f0, 4(r3) -/* 8007B22C D0 07 00 04 */ stfs f0, 4(r7) -/* 8007B230 C0 03 00 08 */ lfs f0, 8(r3) -/* 8007B234 D0 07 00 08 */ stfs f0, 8(r7) -/* 8007B238 38 60 00 01 */ li r3, 1 -/* 8007B23C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s b/asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s deleted file mode 100644 index 37ec1139e8..0000000000 --- a/asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B630: -/* 8007B630 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B634 7C 08 02 A6 */ mflr r0 -/* 8007B638 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B63C 3C A0 40 00 */ lis r5, 0x4000 -/* 8007B640 4B FF FD 21 */ bl GetMaskPolyInf0_NoShift__4cBgWCFiUl -/* 8007B644 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B648 7C 08 03 A6 */ mtlr r0 -/* 8007B64C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B650 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s deleted file mode 100644 index bacd0384e2..0000000000 --- a/asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B6D8: -/* 8007B6D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B6DC 7C 08 02 A6 */ mflr r0 -/* 8007B6E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B6E4 A0 84 00 00 */ lhz r4, 0(r4) -/* 8007B6E8 38 A0 0F 00 */ li r5, 0xf00 -/* 8007B6EC 38 C0 00 08 */ li r6, 8 -/* 8007B6F0 4B FF FF 65 */ bl GetPolyInf1__4cBgWCFiUlUl -/* 8007B6F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B6F8 7C 08 03 A6 */ mtlr r0 -/* 8007B6FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B700 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GlobalVtx__4cBgWFv.s b/asm/d/bg/d_bg_w/GlobalVtx__4cBgWFv.s deleted file mode 100644 index 198894c0ea..0000000000 --- a/asm/d/bg/d_bg_w/GlobalVtx__4cBgWFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_800793C4: -/* 800793C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800793C8 7C 08 02 A6 */ mflr r0 -/* 800793CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800793D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800793D4 48 2E 8E 09 */ bl _savegpr_29 -/* 800793D8 7C 7D 1B 78 */ mr r29, r3 -/* 800793DC 80 03 00 18 */ lwz r0, 0x18(r3) -/* 800793E0 28 00 00 00 */ cmplwi r0, 0 -/* 800793E4 41 82 00 88 */ beq lbl_8007946C -/* 800793E8 88 1D 00 89 */ lbz r0, 0x89(r29) -/* 800793EC 28 00 00 00 */ cmplwi r0, 0 -/* 800793F0 40 82 00 40 */ bne lbl_80079430 -/* 800793F4 3B C0 00 00 */ li r30, 0 -/* 800793F8 3B E0 00 00 */ li r31, 0 -/* 800793FC 48 00 00 20 */ b lbl_8007941C -lbl_80079400: -/* 80079400 80 1D 00 9C */ lwz r0, 0x9c(r29) -/* 80079404 7C 60 FA 14 */ add r3, r0, r31 -/* 80079408 38 9D 00 7C */ addi r4, r29, 0x7c -/* 8007940C 7C 65 1B 78 */ mr r5, r3 -/* 80079410 48 2C DC 81 */ bl PSVECAdd -/* 80079414 3B DE 00 01 */ addi r30, r30, 1 -/* 80079418 3B FF 00 0C */ addi r31, r31, 0xc -lbl_8007941C: -/* 8007941C 80 7D 00 A0 */ lwz r3, 0xa0(r29) -/* 80079420 80 03 00 00 */ lwz r0, 0(r3) -/* 80079424 7C 1E 00 00 */ cmpw r30, r0 -/* 80079428 41 80 FF D8 */ blt lbl_80079400 -/* 8007942C 48 00 00 40 */ b lbl_8007946C -lbl_80079430: -/* 80079430 3B C0 00 00 */ li r30, 0 -/* 80079434 3B E0 00 00 */ li r31, 0 -/* 80079438 48 00 00 24 */ b lbl_8007945C -lbl_8007943C: -/* 8007943C 80 7D 00 18 */ lwz r3, 0x18(r29) -/* 80079440 80 04 00 04 */ lwz r0, 4(r4) -/* 80079444 7C 80 FA 14 */ add r4, r0, r31 -/* 80079448 80 1D 00 9C */ lwz r0, 0x9c(r29) -/* 8007944C 7C A0 FA 14 */ add r5, r0, r31 -/* 80079450 48 2C D9 1D */ bl PSMTXMultVec -/* 80079454 3B DE 00 01 */ addi r30, r30, 1 -/* 80079458 3B FF 00 0C */ addi r31, r31, 0xc -lbl_8007945C: -/* 8007945C 80 9D 00 A0 */ lwz r4, 0xa0(r29) -/* 80079460 80 04 00 00 */ lwz r0, 0(r4) -/* 80079464 7C 1E 00 00 */ cmpw r30, r0 -/* 80079468 41 80 FF D4 */ blt lbl_8007943C -lbl_8007946C: -/* 8007946C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079470 48 2E 8D B9 */ bl _restgpr_29 -/* 80079474 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80079478 7C 08 03 A6 */ mtlr r0 -/* 8007947C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80079480 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/GroundCross__4cBgWFP11cBgS_GndChk.s b/asm/d/bg/d_bg_w/GroundCross__4cBgWFP11cBgS_GndChk.s deleted file mode 100644 index 8134cc9e00..0000000000 --- a/asm/d/bg/d_bg_w/GroundCross__4cBgWFP11cBgS_GndChk.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007AB9C: -/* 8007AB9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007ABA0 7C 08 02 A6 */ mflr r0 -/* 8007ABA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007ABA8 A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007ABAC 38 C0 00 01 */ li r6, 1 -/* 8007ABB0 4B FF FE A1 */ bl GroundCrossGrpRp__4cBgWFP11cBgS_GndChkii -/* 8007ABB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007ABB8 7C 08 03 A6 */ mtlr r0 -/* 8007ABBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007ABC0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s b/asm/d/bg/d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s deleted file mode 100644 index 9342349e40..0000000000 --- a/asm/d/bg/d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007A658: -/* 8007A658 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007A65C 7C 08 02 A6 */ mflr r0 -/* 8007A660 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007A664 A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007A668 38 C0 00 01 */ li r6, 1 -/* 8007A66C 4B FF FE C1 */ bl LineCheckGrpRp__4cBgWFP11cBgS_LinChkii -/* 8007A670 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007A674 7C 08 03 A6 */ mtlr r0 -/* 8007A678 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007A67C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz.s b/asm/d/bg/d_bg_w/MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz.s deleted file mode 100644 index a413d0a96e..0000000000 --- a/asm/d/bg/d_bg_w/MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800799E0: -/* 800799E0 80 63 00 9C */ lwz r3, 0x9c(r3) -/* 800799E4 1C 04 00 0C */ mulli r0, r4, 0xc -/* 800799E8 7C 63 02 14 */ add r3, r3, r0 -/* 800799EC C0 05 00 00 */ lfs f0, 0(r5) -/* 800799F0 C0 23 00 00 */ lfs f1, 0(r3) -/* 800799F4 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 800799F8 40 81 00 08 */ ble lbl_80079A00 -/* 800799FC D0 25 00 00 */ stfs f1, 0(r5) -lbl_80079A00: -/* 80079A00 C0 06 00 00 */ lfs f0, 0(r6) -/* 80079A04 C0 23 00 00 */ lfs f1, 0(r3) -/* 80079A08 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80079A0C 40 80 00 08 */ bge lbl_80079A14 -/* 80079A10 D0 26 00 00 */ stfs f1, 0(r6) -lbl_80079A14: -/* 80079A14 C0 05 00 04 */ lfs f0, 4(r5) -/* 80079A18 C0 23 00 04 */ lfs f1, 4(r3) -/* 80079A1C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80079A20 40 81 00 08 */ ble lbl_80079A28 -/* 80079A24 D0 25 00 04 */ stfs f1, 4(r5) -lbl_80079A28: -/* 80079A28 C0 06 00 04 */ lfs f0, 4(r6) -/* 80079A2C C0 23 00 04 */ lfs f1, 4(r3) -/* 80079A30 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80079A34 40 80 00 08 */ bge lbl_80079A3C -/* 80079A38 D0 26 00 04 */ stfs f1, 4(r6) -lbl_80079A3C: -/* 80079A3C C0 05 00 08 */ lfs f0, 8(r5) -/* 80079A40 C0 23 00 08 */ lfs f1, 8(r3) -/* 80079A44 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80079A48 40 81 00 08 */ ble lbl_80079A50 -/* 80079A4C D0 25 00 08 */ stfs f1, 8(r5) -lbl_80079A50: -/* 80079A50 C0 06 00 08 */ lfs f0, 8(r6) -/* 80079A54 C0 23 00 08 */ lfs f1, 8(r3) -/* 80079A58 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80079A5C 4C 80 00 20 */ bgelr -/* 80079A60 D0 26 00 08 */ stfs f1, 8(r6) -/* 80079A64 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz.s b/asm/d/bg/d_bg_w/MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz.s deleted file mode 100644 index 728ddfef49..0000000000 --- a/asm/d/bg/d_bg_w/MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8007998C: -/* 8007998C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80079990 7C 08 02 A6 */ mflr r0 -/* 80079994 90 01 00 14 */ stw r0, 0x14(r1) -/* 80079998 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007999C 93 C1 00 08 */ stw r30, 8(r1) -/* 800799A0 7C 7E 1B 78 */ mr r30, r3 -/* 800799A4 7C 83 23 78 */ mr r3, r4 -/* 800799A8 7C BF 2B 78 */ mr r31, r5 -/* 800799AC 38 9E 00 7C */ addi r4, r30, 0x7c -/* 800799B0 7C 65 1B 78 */ mr r5, r3 -/* 800799B4 48 2C D6 DD */ bl PSVECAdd -/* 800799B8 7F E3 FB 78 */ mr r3, r31 -/* 800799BC 38 9E 00 7C */ addi r4, r30, 0x7c -/* 800799C0 7F E5 FB 78 */ mr r5, r31 -/* 800799C4 48 2C D6 CD */ bl PSVECAdd -/* 800799C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800799CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800799D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800799D4 7C 08 03 A6 */ mtlr r0 -/* 800799D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800799DC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/MakeNodeTreeRp__4cBgWFi.s b/asm/d/bg/d_bg_w/MakeNodeTreeRp__4cBgWFi.s deleted file mode 100644 index 7f45164bd3..0000000000 --- a/asm/d/bg/d_bg_w/MakeNodeTreeRp__4cBgWFi.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_80079BDC: -/* 80079BDC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80079BE0 7C 08 02 A6 */ mflr r0 -/* 80079BE4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80079BE8 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079BEC 48 2E 85 E5 */ bl _savegpr_26 -/* 80079BF0 7C 7F 1B 78 */ mr r31, r3 -/* 80079BF4 80 A3 00 A0 */ lwz r5, 0xa0(r3) -/* 80079BF8 80 A5 00 1C */ lwz r5, 0x1c(r5) -/* 80079BFC 1C 04 00 14 */ mulli r0, r4, 0x14 -/* 80079C00 7F 65 02 14 */ add r27, r5, r0 -/* 80079C04 A0 1B 00 00 */ lhz r0, 0(r27) -/* 80079C08 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80079C0C 41 82 00 30 */ beq lbl_80079C3C -/* 80079C10 A0 FB 00 04 */ lhz r7, 4(r27) -/* 80079C14 3C 07 00 00 */ addis r0, r7, 0 -/* 80079C18 28 00 FF FF */ cmplwi r0, 0xffff -/* 80079C1C 41 82 00 90 */ beq lbl_80079CAC -/* 80079C20 80 BF 00 AC */ lwz r5, 0xac(r31) -/* 80079C24 1C 04 00 1C */ mulli r0, r4, 0x1c -/* 80079C28 7C A5 02 14 */ add r5, r5, r0 -/* 80079C2C 38 C5 00 0C */ addi r6, r5, 0xc -/* 80079C30 7C E4 3B 78 */ mr r4, r7 -/* 80079C34 4B FF FE 35 */ bl MakeBlckBnd__4cBgWFiP4cXyzP4cXyz -/* 80079C38 48 00 00 74 */ b lbl_80079CAC -lbl_80079C3C: -/* 80079C3C 80 1F 00 AC */ lwz r0, 0xac(r31) -/* 80079C40 1F A4 00 1C */ mulli r29, r4, 0x1c -/* 80079C44 7C 60 EA 14 */ add r3, r0, r29 -/* 80079C48 48 1F 50 B1 */ bl ClearForMinMax__8cM3dGAabFv -/* 80079C4C 3B 40 00 00 */ li r26, 0 -/* 80079C50 3B C0 00 00 */ li r30, 0 -lbl_80079C54: -/* 80079C54 38 1E 00 04 */ addi r0, r30, 4 -/* 80079C58 7F 9B 02 2E */ lhzx r28, r27, r0 -/* 80079C5C 3C 1C 00 00 */ addis r0, r28, 0 -/* 80079C60 28 00 FF FF */ cmplwi r0, 0xffff -/* 80079C64 41 82 00 38 */ beq lbl_80079C9C -/* 80079C68 7F E3 FB 78 */ mr r3, r31 -/* 80079C6C 7F 84 E3 78 */ mr r4, r28 -/* 80079C70 4B FF FF 6D */ bl MakeNodeTreeRp__4cBgWFi -/* 80079C74 80 1F 00 AC */ lwz r0, 0xac(r31) -/* 80079C78 1F 9C 00 1C */ mulli r28, r28, 0x1c -/* 80079C7C 7C 80 E2 14 */ add r4, r0, r28 -/* 80079C80 7C 60 EA 14 */ add r3, r0, r29 -/* 80079C84 48 1F 50 99 */ bl SetMinMax__8cM3dGAabFRC4cXyz -/* 80079C88 80 1F 00 AC */ lwz r0, 0xac(r31) -/* 80079C8C 38 9C 00 0C */ addi r4, r28, 0xc -/* 80079C90 7C 80 22 14 */ add r4, r0, r4 -/* 80079C94 7C 60 EA 14 */ add r3, r0, r29 -/* 80079C98 48 1F 50 85 */ bl SetMinMax__8cM3dGAabFRC4cXyz -lbl_80079C9C: -/* 80079C9C 3B 5A 00 01 */ addi r26, r26, 1 -/* 80079CA0 2C 1A 00 08 */ cmpwi r26, 8 -/* 80079CA4 3B DE 00 02 */ addi r30, r30, 2 -/* 80079CA8 41 80 FF AC */ blt lbl_80079C54 -lbl_80079CAC: -/* 80079CAC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079CB0 48 2E 85 6D */ bl _restgpr_26 -/* 80079CB4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80079CB8 7C 08 03 A6 */ mtlr r0 -/* 80079CBC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80079CC0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/Move__4cBgWFv.s b/asm/d/bg/d_bg_w/Move__4cBgWFv.s deleted file mode 100644 index 21d74c1814..0000000000 --- a/asm/d/bg/d_bg_w/Move__4cBgWFv.s +++ /dev/null @@ -1,129 +0,0 @@ -lbl_8007AC10: -/* 8007AC10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007AC14 7C 08 02 A6 */ mflr r0 -/* 8007AC18 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007AC1C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007AC20 7C 7F 1B 78 */ mr r31, r3 -/* 8007AC24 81 83 00 04 */ lwz r12, 4(r3) -/* 8007AC28 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 8007AC2C 7D 89 03 A6 */ mtctr r12 -/* 8007AC30 4E 80 04 21 */ bctrl -/* 8007AC34 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007AC38 40 82 01 A4 */ bne lbl_8007ADDC -/* 8007AC3C 88 7F 00 88 */ lbz r3, 0x88(r31) -/* 8007AC40 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 8007AC44 41 82 01 98 */ beq lbl_8007ADDC -/* 8007AC48 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 8007AC4C 40 82 01 58 */ bne lbl_8007ADA4 -/* 8007AC50 88 1F 00 90 */ lbz r0, 0x90(r31) -/* 8007AC54 28 00 00 FF */ cmplwi r0, 0xff -/* 8007AC58 40 80 00 98 */ bge lbl_8007ACF0 -/* 8007AC5C C0 3F 00 4C */ lfs f1, 0x4c(r31) -/* 8007AC60 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8007AC64 C0 03 00 00 */ lfs f0, 0(r3) -/* 8007AC68 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007AC6C 40 82 00 84 */ bne lbl_8007ACF0 -/* 8007AC70 C0 3F 00 50 */ lfs f1, 0x50(r31) -/* 8007AC74 C0 03 00 04 */ lfs f0, 4(r3) -/* 8007AC78 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007AC7C 40 82 00 74 */ bne lbl_8007ACF0 -/* 8007AC80 C0 3F 00 54 */ lfs f1, 0x54(r31) -/* 8007AC84 C0 03 00 08 */ lfs f0, 8(r3) -/* 8007AC88 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007AC8C 40 82 00 64 */ bne lbl_8007ACF0 -/* 8007AC90 C0 3F 00 5C */ lfs f1, 0x5c(r31) -/* 8007AC94 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8007AC98 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007AC9C 40 82 00 54 */ bne lbl_8007ACF0 -/* 8007ACA0 C0 3F 00 60 */ lfs f1, 0x60(r31) -/* 8007ACA4 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8007ACA8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007ACAC 40 82 00 44 */ bne lbl_8007ACF0 -/* 8007ACB0 C0 3F 00 64 */ lfs f1, 0x64(r31) -/* 8007ACB4 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 8007ACB8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007ACBC 40 82 00 34 */ bne lbl_8007ACF0 -/* 8007ACC0 C0 3F 00 6C */ lfs f1, 0x6c(r31) -/* 8007ACC4 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 8007ACC8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007ACCC 40 82 00 24 */ bne lbl_8007ACF0 -/* 8007ACD0 C0 3F 00 70 */ lfs f1, 0x70(r31) -/* 8007ACD4 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8007ACD8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007ACDC 40 82 00 14 */ bne lbl_8007ACF0 -/* 8007ACE0 C0 3F 00 74 */ lfs f1, 0x74(r31) -/* 8007ACE4 C0 03 00 28 */ lfs f0, 0x28(r3) -/* 8007ACE8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007ACEC 41 82 00 10 */ beq lbl_8007ACFC -lbl_8007ACF0: -/* 8007ACF0 38 00 00 01 */ li r0, 1 -/* 8007ACF4 98 1F 00 89 */ stb r0, 0x89(r31) -/* 8007ACF8 48 00 00 84 */ b lbl_8007AD7C -lbl_8007ACFC: -/* 8007ACFC C0 5F 00 58 */ lfs f2, 0x58(r31) -/* 8007AD00 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 8007AD04 FC 02 18 00 */ fcmpu cr0, f2, f3 -/* 8007AD08 40 82 00 3C */ bne lbl_8007AD44 -/* 8007AD0C C0 3F 00 68 */ lfs f1, 0x68(r31) -/* 8007AD10 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8007AD14 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007AD18 40 82 00 2C */ bne lbl_8007AD44 -/* 8007AD1C C0 3F 00 78 */ lfs f1, 0x78(r31) -/* 8007AD20 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 8007AD24 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 8007AD28 40 82 00 1C */ bne lbl_8007AD44 -/* 8007AD2C 38 9F 00 1C */ addi r4, r31, 0x1c -/* 8007AD30 48 2C B7 81 */ bl PSMTXCopy -/* 8007AD34 88 1F 00 91 */ lbz r0, 0x91(r31) -/* 8007AD38 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8007AD3C 40 82 00 40 */ bne lbl_8007AD7C -/* 8007AD40 48 00 00 9C */ b lbl_8007ADDC -lbl_8007AD44: -/* 8007AD44 EC 03 10 28 */ fsubs f0, f3, f2 -/* 8007AD48 D0 1F 00 7C */ stfs f0, 0x7c(r31) -/* 8007AD4C 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8007AD50 C0 23 00 1C */ lfs f1, 0x1c(r3) -/* 8007AD54 C0 1F 00 68 */ lfs f0, 0x68(r31) -/* 8007AD58 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8007AD5C D0 1F 00 80 */ stfs f0, 0x80(r31) -/* 8007AD60 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 8007AD64 C0 23 00 2C */ lfs f1, 0x2c(r3) -/* 8007AD68 C0 1F 00 78 */ lfs f0, 0x78(r31) -/* 8007AD6C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8007AD70 D0 1F 00 84 */ stfs f0, 0x84(r31) -/* 8007AD74 38 00 00 00 */ li r0, 0 -/* 8007AD78 98 1F 00 89 */ stb r0, 0x89(r31) -lbl_8007AD7C: -/* 8007AD7C 88 7F 00 90 */ lbz r3, 0x90(r31) -/* 8007AD80 28 03 00 FF */ cmplwi r3, 0xff -/* 8007AD84 41 80 00 10 */ blt lbl_8007AD94 -/* 8007AD88 38 00 00 00 */ li r0, 0 -/* 8007AD8C 98 1F 00 90 */ stb r0, 0x90(r31) -/* 8007AD90 48 00 00 0C */ b lbl_8007AD9C -lbl_8007AD94: -/* 8007AD94 38 03 00 01 */ addi r0, r3, 1 -/* 8007AD98 98 1F 00 90 */ stb r0, 0x90(r31) -lbl_8007AD9C: -/* 8007AD9C 7F E3 FB 78 */ mr r3, r31 -/* 8007ADA0 4B FF E6 25 */ bl GlobalVtx__4cBgWFv -lbl_8007ADA4: -/* 8007ADA4 7F E3 FB 78 */ mr r3, r31 -/* 8007ADA8 4B FF FE 1D */ bl CopyOldMtx__4cBgWFv -/* 8007ADAC 7F E3 FB 78 */ mr r3, r31 -/* 8007ADB0 81 9F 00 04 */ lwz r12, 4(r31) -/* 8007ADB4 81 8C 00 F0 */ lwz r12, 0xf0(r12) -/* 8007ADB8 7D 89 03 A6 */ mtctr r12 -/* 8007ADBC 4E 80 04 21 */ bctrl -/* 8007ADC0 7F E3 FB 78 */ mr r3, r31 -/* 8007ADC4 81 9F 00 04 */ lwz r12, 4(r31) -/* 8007ADC8 81 8C 00 F4 */ lwz r12, 0xf4(r12) -/* 8007ADCC 7D 89 03 A6 */ mtctr r12 -/* 8007ADD0 4E 80 04 21 */ bctrl -/* 8007ADD4 7F E3 FB 78 */ mr r3, r31 -/* 8007ADD8 4B FF F0 19 */ bl MakeNodeTree__4cBgWFv -lbl_8007ADDC: -/* 8007ADDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007ADE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007ADE4 7C 08 03 A6 */ mtlr r0 -/* 8007ADE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007ADEC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/Move__4dBgWFv.s b/asm/d/bg/d_bg_w/Move__4dBgWFv.s deleted file mode 100644 index 58dd27a5c1..0000000000 --- a/asm/d/bg/d_bg_w/Move__4dBgWFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007B9C0: -/* 8007B9C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B9C4 7C 08 02 A6 */ mflr r0 -/* 8007B9C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B9CC 88 03 00 BC */ lbz r0, 0xbc(r3) -/* 8007B9D0 60 00 00 01 */ ori r0, r0, 1 -/* 8007B9D4 98 03 00 BC */ stb r0, 0xbc(r3) -/* 8007B9D8 4B FF F2 39 */ bl Move__4cBgWFv -/* 8007B9DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B9E0 7C 08 03 A6 */ mtlr r0 -/* 8007B9E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B9E8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/OffMoveFlag__4dBgWFv.s b/asm/d/bg/d_bg_w/OffMoveFlag__4dBgWFv.s deleted file mode 100644 index c549a58bb5..0000000000 --- a/asm/d/bg/d_bg_w/OffMoveFlag__4dBgWFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8007E4A4: -/* 8007E4A4 88 03 00 BC */ lbz r0, 0xbc(r3) -/* 8007E4A8 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e -/* 8007E4AC 98 03 00 BC */ stb r0, 0xbc(r3) -/* 8007E4B0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s b/asm/d/bg/d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s deleted file mode 100644 index 4758b96dda..0000000000 --- a/asm/d/bg/d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007D470: -/* 8007D470 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007D474 7C 08 02 A6 */ mflr r0 -/* 8007D478 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007D47C A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007D480 38 C0 00 01 */ li r6, 1 -/* 8007D484 4B FF FE AD */ bl RoofChkGrpRp__4dBgWFP12dBgS_RoofChkii -/* 8007D488 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007D48C 7C 08 03 A6 */ mtlr r0 -/* 8007D490 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007D494 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/SetTri__4cBgWFv.s b/asm/d/bg/d_bg_w/SetTri__4cBgWFv.s deleted file mode 100644 index cee12537b7..0000000000 --- a/asm/d/bg/d_bg_w/SetTri__4cBgWFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80079668: -/* 80079668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007966C 7C 08 02 A6 */ mflr r0 -/* 80079670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80079674 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80079678 93 C1 00 08 */ stw r30, 8(r1) -/* 8007967C 7C 7E 1B 78 */ mr r30, r3 -/* 80079680 80 63 00 A0 */ lwz r3, 0xa0(r3) -/* 80079684 83 E3 00 08 */ lwz r31, 8(r3) -/* 80079688 1C 7F 00 18 */ mulli r3, r31, 0x18 -/* 8007968C 38 63 00 10 */ addi r3, r3, 0x10 -/* 80079690 48 25 56 35 */ bl __nwa__FUl -/* 80079694 3C 80 80 08 */ lis r4, __ct__11cBgW_TriElmFv@ha /* 0x80079754@ha */ -/* 80079698 38 84 97 54 */ addi r4, r4, __ct__11cBgW_TriElmFv@l /* 0x80079754@l */ -/* 8007969C 3C A0 80 08 */ lis r5, __dt__11cBgW_TriElmFv@ha /* 0x800796F8@ha */ -/* 800796A0 38 A5 96 F8 */ addi r5, r5, __dt__11cBgW_TriElmFv@l /* 0x800796F8@l */ -/* 800796A4 38 C0 00 18 */ li r6, 0x18 -/* 800796A8 7F E7 FB 78 */ mr r7, r31 -/* 800796AC 48 2E 88 69 */ bl __construct_new_array -/* 800796B0 90 7E 00 94 */ stw r3, 0x94(r30) -/* 800796B4 80 1E 00 94 */ lwz r0, 0x94(r30) -/* 800796B8 28 00 00 00 */ cmplwi r0, 0 -/* 800796BC 40 82 00 0C */ bne lbl_800796C8 -/* 800796C0 38 60 00 01 */ li r3, 1 -/* 800796C4 48 00 00 1C */ b lbl_800796E0 -lbl_800796C8: -/* 800796C8 7F C3 F3 78 */ mr r3, r30 -/* 800796CC 81 9E 00 04 */ lwz r12, 4(r30) -/* 800796D0 81 8C 00 F0 */ lwz r12, 0xf0(r12) -/* 800796D4 7D 89 03 A6 */ mtctr r12 -/* 800796D8 4E 80 04 21 */ bctrl -/* 800796DC 38 60 00 00 */ li r3, 0 -lbl_800796E0: -/* 800796E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800796E4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800796E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800796EC 7C 08 03 A6 */ mtlr r0 -/* 800796F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800796F4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s b/asm/d/bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s deleted file mode 100644 index 9d402eb0a0..0000000000 --- a/asm/d/bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s +++ /dev/null @@ -1,158 +0,0 @@ -lbl_80079F38: -/* 80079F38 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80079F3C 7C 08 02 A6 */ mflr r0 -/* 80079F40 90 01 00 24 */ stw r0, 0x24(r1) -/* 80079F44 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079F48 48 2E 82 91 */ bl _savegpr_28 -/* 80079F4C 7C 7F 1B 78 */ mr r31, r3 -/* 80079F50 7C 9C 23 78 */ mr r28, r4 -/* 80079F54 7C BD 2B 78 */ mr r29, r5 -/* 80079F58 7C DE 33 78 */ mr r30, r6 -/* 80079F5C 38 00 00 20 */ li r0, 0x20 -/* 80079F60 98 03 00 88 */ stb r0, 0x88(r3) -/* 80079F64 38 00 00 00 */ li r0, 0 -/* 80079F68 90 03 00 9C */ stw r0, 0x9c(r3) -/* 80079F6C 90 03 00 94 */ stw r0, 0x94(r3) -/* 80079F70 90 03 00 98 */ stw r0, 0x98(r3) -/* 80079F74 90 03 00 A4 */ stw r0, 0xa4(r3) -/* 80079F78 90 03 00 AC */ stw r0, 0xac(r3) -/* 80079F7C 90 03 00 A8 */ stw r0, 0xa8(r3) -/* 80079F80 C0 22 8D 08 */ lfs f1, lit_4073(r2) -/* 80079F84 48 1E D9 D1 */ bl cM_rndF__Ff -/* 80079F88 FC 00 08 1E */ fctiwz f0, f1 -/* 80079F8C D8 01 00 08 */ stfd f0, 8(r1) -/* 80079F90 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80079F94 98 1F 00 90 */ stb r0, 0x90(r31) -/* 80079F98 28 1C 00 00 */ cmplwi r28, 0 -/* 80079F9C 40 82 00 0C */ bne lbl_80079FA8 -/* 80079FA0 38 60 00 01 */ li r3, 1 -/* 80079FA4 48 00 01 C8 */ b lbl_8007A16C -lbl_80079FA8: -/* 80079FA8 9B BF 00 88 */ stb r29, 0x88(r31) -/* 80079FAC 88 1F 00 88 */ lbz r0, 0x88(r31) -/* 80079FB0 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 80079FB4 41 82 00 20 */ beq lbl_80079FD4 -/* 80079FB8 38 00 00 00 */ li r0, 0 -/* 80079FBC 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80079FC0 38 7F 00 1C */ addi r3, r31, 0x1c -/* 80079FC4 48 2C C4 C1 */ bl PSMTXIdentity -/* 80079FC8 38 7F 00 4C */ addi r3, r31, 0x4c -/* 80079FCC 48 2C C4 B9 */ bl PSMTXIdentity -/* 80079FD0 48 00 00 20 */ b lbl_80079FF0 -lbl_80079FD4: -/* 80079FD4 93 DF 00 18 */ stw r30, 0x18(r31) -/* 80079FD8 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 80079FDC 38 9F 00 1C */ addi r4, r31, 0x1c -/* 80079FE0 48 2C C4 D1 */ bl PSMTXCopy -/* 80079FE4 80 7F 00 18 */ lwz r3, 0x18(r31) -/* 80079FE8 38 9F 00 4C */ addi r4, r31, 0x4c -/* 80079FEC 48 2C C4 C5 */ bl PSMTXCopy -lbl_80079FF0: -/* 80079FF0 93 9F 00 A0 */ stw r28, 0xa0(r31) -/* 80079FF4 7F E3 FB 78 */ mr r3, r31 -/* 80079FF8 4B FF F4 8D */ bl SetVtx__4cBgWFv -/* 80079FFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007A000 40 82 00 14 */ bne lbl_8007A014 -/* 8007A004 7F E3 FB 78 */ mr r3, r31 -/* 8007A008 4B FF F6 61 */ bl SetTri__4cBgWFv -/* 8007A00C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007A010 41 82 00 14 */ beq lbl_8007A024 -lbl_8007A014: -/* 8007A014 7F E3 FB 78 */ mr r3, r31 -/* 8007A018 4B FF F3 8D */ bl FreeArea__4cBgWFv -/* 8007A01C 38 60 00 01 */ li r3, 1 -/* 8007A020 48 00 01 4C */ b lbl_8007A16C -lbl_8007A024: -/* 8007A024 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 8007A028 83 C3 00 08 */ lwz r30, 8(r3) -/* 8007A02C 57 C3 18 38 */ slwi r3, r30, 3 -/* 8007A030 38 63 00 10 */ addi r3, r3, 0x10 -/* 8007A034 48 25 4C 91 */ bl __nwa__FUl -/* 8007A038 3C 80 80 08 */ lis r4, __ct__11cBgW_RwgElmFv@ha /* 0x800791C4@ha */ -/* 8007A03C 38 84 91 C4 */ addi r4, r4, __ct__11cBgW_RwgElmFv@l /* 0x800791C4@l */ -/* 8007A040 3C A0 80 08 */ lis r5, __dt__11cBgW_RwgElmFv@ha /* 0x800791D4@ha */ -/* 8007A044 38 A5 91 D4 */ addi r5, r5, __dt__11cBgW_RwgElmFv@l /* 0x800791D4@l */ -/* 8007A048 38 C0 00 08 */ li r6, 8 -/* 8007A04C 7F C7 F3 78 */ mr r7, r30 -/* 8007A050 48 2E 7E C5 */ bl __construct_new_array -/* 8007A054 90 7F 00 98 */ stw r3, 0x98(r31) -/* 8007A058 80 1F 00 98 */ lwz r0, 0x98(r31) -/* 8007A05C 28 00 00 00 */ cmplwi r0, 0 -/* 8007A060 40 82 00 14 */ bne lbl_8007A074 -/* 8007A064 7F E3 FB 78 */ mr r3, r31 -/* 8007A068 4B FF F3 3D */ bl FreeArea__4cBgWFv -/* 8007A06C 38 60 00 01 */ li r3, 1 -/* 8007A070 48 00 00 FC */ b lbl_8007A16C -lbl_8007A074: -/* 8007A074 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 8007A078 80 03 00 10 */ lwz r0, 0x10(r3) -/* 8007A07C 1C 60 00 06 */ mulli r3, r0, 6 -/* 8007A080 48 25 4C 45 */ bl __nwa__FUl -/* 8007A084 90 7F 00 A4 */ stw r3, 0xa4(r31) -/* 8007A088 80 1F 00 A4 */ lwz r0, 0xa4(r31) -/* 8007A08C 28 00 00 00 */ cmplwi r0, 0 -/* 8007A090 40 82 00 14 */ bne lbl_8007A0A4 -/* 8007A094 7F E3 FB 78 */ mr r3, r31 -/* 8007A098 4B FF F3 0D */ bl FreeArea__4cBgWFv -/* 8007A09C 38 60 00 01 */ li r3, 1 -/* 8007A0A0 48 00 00 CC */ b lbl_8007A16C -lbl_8007A0A4: -/* 8007A0A4 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 8007A0A8 83 C3 00 18 */ lwz r30, 0x18(r3) -/* 8007A0AC 1C 7E 00 1C */ mulli r3, r30, 0x1c -/* 8007A0B0 38 63 00 10 */ addi r3, r3, 0x10 -/* 8007A0B4 48 25 4C 11 */ bl __nwa__FUl -/* 8007A0B8 3C 80 80 08 */ lis r4, __ct__13cBgW_NodeTreeFv@ha /* 0x8007921C@ha */ -/* 8007A0BC 38 84 92 1C */ addi r4, r4, __ct__13cBgW_NodeTreeFv@l /* 0x8007921C@l */ -/* 8007A0C0 3C A0 80 08 */ lis r5, __dt__13cBgW_NodeTreeFv@ha /* 0x80079238@ha */ -/* 8007A0C4 38 A5 92 38 */ addi r5, r5, __dt__13cBgW_NodeTreeFv@l /* 0x80079238@l */ -/* 8007A0C8 38 C0 00 1C */ li r6, 0x1c -/* 8007A0CC 7F C7 F3 78 */ mr r7, r30 -/* 8007A0D0 48 2E 7E 45 */ bl __construct_new_array -/* 8007A0D4 90 7F 00 AC */ stw r3, 0xac(r31) -/* 8007A0D8 80 1F 00 AC */ lwz r0, 0xac(r31) -/* 8007A0DC 28 00 00 00 */ cmplwi r0, 0 -/* 8007A0E0 40 82 00 14 */ bne lbl_8007A0F4 -/* 8007A0E4 7F E3 FB 78 */ mr r3, r31 -/* 8007A0E8 4B FF F2 BD */ bl FreeArea__4cBgWFv -/* 8007A0EC 38 60 00 01 */ li r3, 1 -/* 8007A0F0 48 00 00 7C */ b lbl_8007A16C -lbl_8007A0F4: -/* 8007A0F4 80 7F 00 A0 */ lwz r3, 0xa0(r31) -/* 8007A0F8 83 C3 00 20 */ lwz r30, 0x20(r3) -/* 8007A0FC 57 C3 28 34 */ slwi r3, r30, 5 -/* 8007A100 38 63 00 10 */ addi r3, r3, 0x10 -/* 8007A104 48 25 4B C1 */ bl __nwa__FUl -/* 8007A108 3C 80 80 08 */ lis r4, __ct__11cBgW_GrpElmFv@ha /* 0x8007A1E4@ha */ -/* 8007A10C 38 84 A1 E4 */ addi r4, r4, __ct__11cBgW_GrpElmFv@l /* 0x8007A1E4@l */ -/* 8007A110 3C A0 80 08 */ lis r5, __dt__11cBgW_GrpElmFv@ha /* 0x8007A184@ha */ -/* 8007A114 38 A5 A1 84 */ addi r5, r5, __dt__11cBgW_GrpElmFv@l /* 0x8007A184@l */ -/* 8007A118 38 C0 00 20 */ li r6, 0x20 -/* 8007A11C 7F C7 F3 78 */ mr r7, r30 -/* 8007A120 48 2E 7D F5 */ bl __construct_new_array -/* 8007A124 90 7F 00 A8 */ stw r3, 0xa8(r31) -/* 8007A128 80 1F 00 A8 */ lwz r0, 0xa8(r31) -/* 8007A12C 28 00 00 00 */ cmplwi r0, 0 -/* 8007A130 40 82 00 14 */ bne lbl_8007A144 -/* 8007A134 7F E3 FB 78 */ mr r3, r31 -/* 8007A138 4B FF F2 6D */ bl FreeArea__4cBgWFv -/* 8007A13C 38 60 00 01 */ li r3, 1 -/* 8007A140 48 00 00 2C */ b lbl_8007A16C -lbl_8007A144: -/* 8007A144 7F E3 FB 78 */ mr r3, r31 -/* 8007A148 81 9F 00 04 */ lwz r12, 4(r31) -/* 8007A14C 81 8C 00 F4 */ lwz r12, 0xf4(r12) -/* 8007A150 7D 89 03 A6 */ mtctr r12 -/* 8007A154 4E 80 04 21 */ bctrl -/* 8007A158 38 00 00 01 */ li r0, 1 -/* 8007A15C 98 1F 00 89 */ stb r0, 0x89(r31) -/* 8007A160 7F E3 FB 78 */ mr r3, r31 -/* 8007A164 4B FF FC 8D */ bl MakeNodeTree__4cBgWFv -/* 8007A168 38 60 00 00 */ li r3, 0 -lbl_8007A16C: -/* 8007A16C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007A170 48 2E 80 B5 */ bl _restgpr_28 -/* 8007A174 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007A178 7C 08 03 A6 */ mtlr r0 -/* 8007A17C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007A180 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/ShdwDraw__4cBgWFP13cBgS_ShdwDraw.s b/asm/d/bg/d_bg_w/ShdwDraw__4cBgWFP13cBgS_ShdwDraw.s deleted file mode 100644 index 7e1e519e3d..0000000000 --- a/asm/d/bg/d_bg_w/ShdwDraw__4cBgWFP13cBgS_ShdwDraw.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007B084: -/* 8007B084 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B088 7C 08 02 A6 */ mflr r0 -/* 8007B08C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B090 A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007B094 4B FF FF 2D */ bl ShdwDrawGrpRp__4cBgWFP13cBgS_ShdwDrawi -/* 8007B098 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B09C 7C 08 03 A6 */ mtlr r0 -/* 8007B0A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B0A4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s b/asm/d/bg/d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s deleted file mode 100644 index c62f851efe..0000000000 --- a/asm/d/bg/d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007DF00: -/* 8007DF00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007DF04 7C 08 02 A6 */ mflr r0 -/* 8007DF08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007DF0C A0 C3 00 92 */ lhz r6, 0x92(r3) -/* 8007DF10 38 E0 00 01 */ li r7, 1 -/* 8007DF14 4B FF FE CD */ bl SphChkGrpRp__4dBgWFP11dBgS_SphChkPvii -/* 8007DF18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007DF1C 7C 08 03 A6 */ mtlr r0 -/* 8007DF20 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007DF24 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s b/asm/d/bg/d_bg_w/SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s deleted file mode 100644 index c319d81575..0000000000 --- a/asm/d/bg/d_bg_w/SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007D830: -/* 8007D830 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007D834 7C 08 02 A6 */ mflr r0 -/* 8007D838 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007D83C A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007D840 38 C0 00 01 */ li r6, 1 -/* 8007D844 4B FF FE AD */ bl SplGrpChkGrpRp__4dBgWFP14dBgS_SplGrpChkii -/* 8007D848 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007D84C 7C 08 03 A6 */ mtlr r0 -/* 8007D850 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007D854 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/WallCorrect__4dBgWFP9dBgS_Acch.s b/asm/d/bg/d_bg_w/WallCorrect__4dBgWFP9dBgS_Acch.s deleted file mode 100644 index 90fac500ee..0000000000 --- a/asm/d/bg/d_bg_w/WallCorrect__4dBgWFP9dBgS_Acch.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8007C484: -/* 8007C484 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007C488 7C 08 02 A6 */ mflr r0 -/* 8007C48C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007C490 A0 A3 00 92 */ lhz r5, 0x92(r3) -/* 8007C494 38 C0 00 01 */ li r6, 1 -/* 8007C498 4B FF FE C9 */ bl WallCorrectGrpRp__4dBgWFP9dBgS_Acchii -/* 8007C49C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007C4A0 7C 08 03 A6 */ mtlr r0 -/* 8007C4A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007C4A8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/__ct__11cBgW_GrpElmFv.s b/asm/d/bg/d_bg_w/__ct__11cBgW_GrpElmFv.s deleted file mode 100644 index 1665fcc8ae..0000000000 --- a/asm/d/bg/d_bg_w/__ct__11cBgW_GrpElmFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8007A1E4: -/* 8007A1E4 3C 80 80 3B */ lis r4, __vt__11cBgW_GrpElm@ha /* 0x803ABB90@ha */ -/* 8007A1E8 38 04 BB 90 */ addi r0, r4, __vt__11cBgW_GrpElm@l /* 0x803ABB90@l */ -/* 8007A1EC 90 03 00 00 */ stw r0, 0(r3) -/* 8007A1F0 3C 80 80 3A */ lis r4, __vt__8cM3dGAab@ha /* 0x803A7218@ha */ -/* 8007A1F4 38 04 72 18 */ addi r0, r4, __vt__8cM3dGAab@l /* 0x803A7218@l */ -/* 8007A1F8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8007A1FC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/__ct__11cBgW_TriElmFv.s b/asm/d/bg/d_bg_w/__ct__11cBgW_TriElmFv.s deleted file mode 100644 index baf69e04e4..0000000000 --- a/asm/d/bg/d_bg_w/__ct__11cBgW_TriElmFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80079754: -/* 80079754 3C 80 80 3B */ lis r4, __vt__11cBgW_TriElm@ha /* 0x803ABB9C@ha */ -/* 80079758 38 04 BB 9C */ addi r0, r4, __vt__11cBgW_TriElm@l /* 0x803ABB9C@l */ -/* 8007975C 90 03 00 14 */ stw r0, 0x14(r3) -/* 80079760 3C 80 80 3A */ lis r4, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 80079764 38 04 37 C0 */ addi r0, r4, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 80079768 90 03 00 10 */ stw r0, 0x10(r3) -/* 8007976C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/__ct__4dBgWFv.s b/asm/d/bg/d_bg_w/__ct__4dBgWFv.s deleted file mode 100644 index b83d646196..0000000000 --- a/asm/d/bg/d_bg_w/__ct__4dBgWFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8007B970: -/* 8007B970 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007B974 7C 08 02 A6 */ mflr r0 -/* 8007B978 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007B97C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007B980 7C 7F 1B 78 */ mr r31, r3 -/* 8007B984 4B FF D9 11 */ bl __ct__4cBgWFv -/* 8007B988 3C 60 80 3B */ lis r3, __vt__4dBgW@ha /* 0x803ABA80@ha */ -/* 8007B98C 38 03 BA 80 */ addi r0, r3, __vt__4dBgW@l /* 0x803ABA80@l */ -/* 8007B990 90 1F 00 04 */ stw r0, 4(r31) -/* 8007B994 38 00 00 00 */ li r0, 0 -/* 8007B998 90 1F 00 B0 */ stw r0, 0xb0(r31) -/* 8007B99C 90 1F 00 B4 */ stw r0, 0xb4(r31) -/* 8007B9A0 90 1F 00 B8 */ stw r0, 0xb8(r31) -/* 8007B9A4 98 1F 00 BC */ stb r0, 0xbc(r31) -/* 8007B9A8 7F E3 FB 78 */ mr r3, r31 -/* 8007B9AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007B9B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007B9B4 7C 08 03 A6 */ mtlr r0 -/* 8007B9B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007B9BC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/dBgW_NewSet__FP6cBgD_tUlPA3_A4_f.s b/asm/d/bg/d_bg_w/dBgW_NewSet__FP6cBgD_tUlPA3_A4_f.s deleted file mode 100644 index 8ea3133d3c..0000000000 --- a/asm/d/bg/d_bg_w/dBgW_NewSet__FP6cBgD_tUlPA3_A4_f.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8007E4C0: -/* 8007E4C0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8007E4C4 7C 08 02 A6 */ mflr r0 -/* 8007E4C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007E4CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007E4D0 48 2E 3D 09 */ bl _savegpr_28 -/* 8007E4D4 7C 7C 1B 78 */ mr r28, r3 -/* 8007E4D8 7C 9D 23 78 */ mr r29, r4 -/* 8007E4DC 7C BE 2B 78 */ mr r30, r5 -/* 8007E4E0 38 60 00 C0 */ li r3, 0xc0 -/* 8007E4E4 48 25 07 69 */ bl __nw__FUl -/* 8007E4E8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8007E4EC 41 82 00 0C */ beq lbl_8007E4F8 -/* 8007E4F0 4B FF D4 81 */ bl __ct__4dBgWFv -/* 8007E4F4 7C 7F 1B 78 */ mr r31, r3 -lbl_8007E4F8: -/* 8007E4F8 28 1F 00 00 */ cmplwi r31, 0 -/* 8007E4FC 40 82 00 0C */ bne lbl_8007E508 -/* 8007E500 38 60 00 00 */ li r3, 0 -/* 8007E504 48 00 00 2C */ b lbl_8007E530 -lbl_8007E508: -/* 8007E508 7F E3 FB 78 */ mr r3, r31 -/* 8007E50C 7F 84 E3 78 */ mr r4, r28 -/* 8007E510 7F A5 EB 78 */ mr r5, r29 -/* 8007E514 7F C6 F3 78 */ mr r6, r30 -/* 8007E518 4B FF BA 21 */ bl Set__4cBgWFP6cBgD_tUlPA3_A4_f -/* 8007E51C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007E520 41 82 00 0C */ beq lbl_8007E52C -/* 8007E524 38 60 00 00 */ li r3, 0 -/* 8007E528 48 00 00 08 */ b lbl_8007E530 -lbl_8007E52C: -/* 8007E52C 7F E3 FB 78 */ mr r3, r31 -lbl_8007E530: -/* 8007E530 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007E534 48 2E 3C F1 */ bl _restgpr_28 -/* 8007E538 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007E53C 7C 08 03 A6 */ mtlr r0 -/* 8007E540 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007E544 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s b/asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s deleted file mode 100644 index d5e3d84cd3..0000000000 --- a/asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8007E86C: -/* 8007E86C 80 03 00 18 */ lwz r0, 0x18(r3) -/* 8007E870 7C 00 00 34 */ cntlzw r0, r0 -/* 8007E874 54 03 D9 7E */ srwi r3, r0, 5 -/* 8007E878 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s b/asm/d/bg/d_bg_w_kcol/ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s deleted file mode 100644 index 84c50e52ca..0000000000 --- a/asm/d/bg/d_bg_w_kcol/ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8007FF00: -/* 8007FF00 80 64 00 00 */ lwz r3, 0(r4) -/* 8007FF04 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9 -/* 8007FF08 41 82 00 0C */ beq lbl_8007FF14 -/* 8007FF0C 38 60 00 01 */ li r3, 1 -/* 8007FF10 4E 80 00 20 */ blr -lbl_8007FF14: -/* 8007FF14 54 63 7F FE */ rlwinm r3, r3, 0xf, 0x1f, 0x1f -/* 8007FF18 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetAttackThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetAttackThrough__8dBgWKColFi.s deleted file mode 100644 index e0cd2d6cf8..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetAttackThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082E40: -/* 80082E40 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082E44 7C 08 02 A6 */ mflr r0 -/* 80082E48 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082E4C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082E50 4B FF BD 21 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082E54 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082E58 54 03 01 8C */ rlwinm r3, r0, 0, 6, 6 -/* 80082E5C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082E60 7C 08 03 A6 */ mtlr r0 -/* 80082E64 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082E68 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s b/asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s deleted file mode 100644 index 8184aea011..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8007EB28: -/* 8007EB28 38 63 00 20 */ addi r3, r3, 0x20 -/* 8007EB2C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 3d09b502f5..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082E6C: -/* 80082E6C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082E70 7C 08 02 A6 */ mflr r0 -/* 80082E74 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082E78 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082E7C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082E80 4B FF BC F1 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082E84 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80082E88 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80082E8C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082E90 7C 08 03 A6 */ mtlr r0 -/* 80082E94 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082E98 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 755f3bb3e3..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082A20: -/* 80082A20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082A24 7C 08 02 A6 */ mflr r0 -/* 80082A28 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082A2C A0 84 00 00 */ lhz r4, 0(r4) -/* 80082A30 38 A1 00 08 */ addi r5, r1, 8 -/* 80082A34 4B FF C1 3D */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082A38 80 01 00 08 */ lwz r0, 8(r1) -/* 80082A3C 54 03 06 BE */ clrlwi r3, r0, 0x1a -/* 80082A40 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082A44 7C 08 03 A6 */ mtlr r0 -/* 80082A48 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082A4C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index a8ba6158ac..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082DE4: -/* 80082DE4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082DE8 7C 08 02 A6 */ mflr r0 -/* 80082DEC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082DF0 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082DF4 38 A1 00 08 */ addi r5, r1, 8 -/* 80082DF8 4B FF BD 79 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082DFC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082E00 54 03 6E FE */ rlwinm r3, r0, 0xd, 0x1b, 0x1f -/* 80082E04 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082E08 7C 08 03 A6 */ mtlr r0 -/* 80082E0C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082E10 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s deleted file mode 100644 index b48c37bebc..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8007EB30: -/* 8007EB30 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007EB34 7C 08 02 A6 */ mflr r0 -/* 8007EB38 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007EB3C A0 04 00 00 */ lhz r0, 0(r4) -/* 8007EB40 80 83 00 18 */ lwz r4, 0x18(r3) -/* 8007EB44 80 84 00 08 */ lwz r4, 8(r4) -/* 8007EB48 54 00 20 36 */ slwi r0, r0, 4 -/* 8007EB4C 7C 84 02 14 */ add r4, r4, r0 -/* 8007EB50 A0 84 00 0E */ lhz r4, 0xe(r4) -/* 8007EB54 38 63 00 1C */ addi r3, r3, 0x1c -/* 8007EB58 4B FF 55 85 */ bl getGrpCode__6dBgPlcCFi -/* 8007EB5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007EB60 7C 08 03 A6 */ mtlr r0 -/* 8007EB64 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007EB68 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s deleted file mode 100644 index bd943dbff9..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800829F0: -/* 800829F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800829F4 7C 08 02 A6 */ mflr r0 -/* 800829F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800829FC A0 84 00 00 */ lhz r4, 0(r4) -/* 80082A00 38 A1 00 08 */ addi r5, r1, 8 -/* 80082A04 4B FF C1 6D */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082A08 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80082A0C 54 03 66 3E */ rlwinm r3, r0, 0xc, 0x18, 0x1f -/* 80082A10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082A14 7C 08 03 A6 */ mtlr r0 -/* 80082A18 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082A1C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 9dbc1e738e..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082F5C: -/* 80082F5C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082F60 7C 08 02 A6 */ mflr r0 -/* 80082F64 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082F68 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082F6C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082F70 4B FF BC 01 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082F74 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80082F78 54 03 AE 3E */ rlwinm r3, r0, 0x15, 0x18, 0x1f -/* 80082F7C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082F80 7C 08 03 A6 */ mtlr r0 -/* 80082F84 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082F88 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index ba6137bf9d..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082A80: -/* 80082A80 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082A84 7C 08 02 A6 */ mflr r0 -/* 80082A88 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082A8C A0 84 00 00 */ lhz r4, 0(r4) -/* 80082A90 38 A1 00 08 */ addi r5, r1, 8 -/* 80082A94 4B FF C0 DD */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082A98 80 01 00 08 */ lwz r0, 8(r1) -/* 80082A9C 54 03 5F FE */ rlwinm r3, r0, 0xb, 0x1f, 0x1f -/* 80082AA0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082AA4 7C 08 03 A6 */ mtlr r0 -/* 80082AA8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082AAC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetIronBallThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetIronBallThrough__8dBgWKColFi.s deleted file mode 100644 index a665ef3093..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetIronBallThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082E14: -/* 80082E14 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082E18 7C 08 02 A6 */ mflr r0 -/* 80082E1C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082E20 38 A1 00 08 */ addi r5, r1, 8 -/* 80082E24 4B FF BD 4D */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082E28 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082E2C 54 03 01 CE */ rlwinm r3, r0, 0, 7, 7 -/* 80082E30 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082E34 7C 08 03 A6 */ mtlr r0 -/* 80082E38 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082E3C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index e2d016d2fe..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082D24: -/* 80082D24 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082D28 7C 08 02 A6 */ mflr r0 -/* 80082D2C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082D30 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082D34 38 A1 00 08 */ addi r5, r1, 8 -/* 80082D38 4B FF BE 39 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082D3C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082D40 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80082D44 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082D48 7C 08 03 A6 */ mtlr r0 -/* 80082D4C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082D50 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 379548df9e..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082B0C: -/* 80082B0C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082B10 7C 08 02 A6 */ mflr r0 -/* 80082B14 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082B18 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082B1C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082B20 4B FF C0 51 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082B24 80 01 00 08 */ lwz r0, 8(r1) -/* 80082B28 54 03 27 BE */ rlwinm r3, r0, 4, 0x1e, 0x1f -/* 80082B2C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082B30 7C 08 03 A6 */ mtlr r0 -/* 80082B34 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082B38 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index f9742229de..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082B3C: -/* 80082B3C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082B40 7C 08 02 A6 */ mflr r0 -/* 80082B44 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082B48 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082B4C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082B50 4B FF C0 21 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082B54 80 01 00 08 */ lwz r0, 8(r1) -/* 80082B58 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80082B5C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082B60 7C 08 03 A6 */ mtlr r0 -/* 80082B64 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082B68 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyArrowThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyArrowThrough__8dBgWKColFi.s deleted file mode 100644 index 4d14f7ae09..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyArrowThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082BF0: -/* 80082BF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082BF4 7C 08 02 A6 */ mflr r0 -/* 80082BF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082BFC 38 A1 00 08 */ addi r5, r1, 8 -/* 80082C00 4B FF BF 71 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082C04 80 01 00 08 */ lwz r0, 8(r1) -/* 80082C08 54 03 03 9C */ rlwinm r3, r0, 0, 0xe, 0xe -/* 80082C0C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082C10 7C 08 03 A6 */ mtlr r0 -/* 80082C14 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082C18 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index b58dfa1c81..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082D84: -/* 80082D84 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082D88 7C 08 02 A6 */ mflr r0 -/* 80082D8C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082D90 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082D94 38 A1 00 08 */ addi r5, r1, 8 -/* 80082D98 4B FF BD D9 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082D9C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082DA0 54 03 A7 3E */ rlwinm r3, r0, 0x14, 0x1c, 0x1f -/* 80082DA4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082DA8 7C 08 03 A6 */ mtlr r0 -/* 80082DAC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082DB0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 331b8b059d..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082DB4: -/* 80082DB4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082DB8 7C 08 02 A6 */ mflr r0 -/* 80082DBC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082DC0 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082DC4 38 A1 00 08 */ addi r5, r1, 8 -/* 80082DC8 4B FF BD A9 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082DCC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082DD0 54 03 87 7E */ rlwinm r3, r0, 0x10, 0x1d, 0x1f -/* 80082DD4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082DD8 7C 08 03 A6 */ mtlr r0 -/* 80082DDC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082DE0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyBombThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyBombThrough__8dBgWKColFi.s deleted file mode 100644 index 2c2549f10b..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyBombThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082CA0: -/* 80082CA0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082CA4 7C 08 02 A6 */ mflr r0 -/* 80082CA8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082CAC 38 A1 00 08 */ addi r5, r1, 8 -/* 80082CB0 4B FF BE C1 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082CB4 80 01 00 08 */ lwz r0, 8(r1) -/* 80082CB8 54 03 02 10 */ rlwinm r3, r0, 0, 8, 8 -/* 80082CBC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082CC0 7C 08 03 A6 */ mtlr r0 -/* 80082CC4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082CC8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyBoomerangThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyBoomerangThrough__8dBgWKColFi.s deleted file mode 100644 index 12bf0bf823..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyBoomerangThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082C48: -/* 80082C48 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082C4C 7C 08 02 A6 */ mflr r0 -/* 80082C50 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082C54 38 A1 00 08 */ addi r5, r1, 8 -/* 80082C58 4B FF BF 19 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082C5C 80 01 00 08 */ lwz r0, 8(r1) -/* 80082C60 54 03 03 18 */ rlwinm r3, r0, 0, 0xc, 0xc -/* 80082C64 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082C68 7C 08 03 A6 */ mtlr r0 -/* 80082C6C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082C70 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyCamThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyCamThrough__8dBgWKColFi.s deleted file mode 100644 index 573819304d..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyCamThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082B98: -/* 80082B98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082B9C 7C 08 02 A6 */ mflr r0 -/* 80082BA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082BA4 38 A1 00 08 */ addi r5, r1, 8 -/* 80082BA8 4B FF BF C9 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082BAC 80 01 00 08 */ lwz r0, 8(r1) -/* 80082BB0 54 03 04 20 */ rlwinm r3, r0, 0, 0x10, 0x10 -/* 80082BB4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082BB8 7C 08 03 A6 */ mtlr r0 -/* 80082BBC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082BC0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 9965b9db6d..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082A50: -/* 80082A50 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082A54 7C 08 02 A6 */ mflr r0 -/* 80082A58 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082A5C A0 84 00 00 */ lhz r4, 0(r4) -/* 80082A60 38 A1 00 08 */ addi r5, r1, 8 -/* 80082A64 4B FF C1 0D */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082A68 80 01 00 08 */ lwz r0, 8(r1) -/* 80082A6C 54 03 D6 3E */ rlwinm r3, r0, 0x1a, 0x18, 0x1f -/* 80082A70 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082A74 7C 08 03 A6 */ mtlr r0 -/* 80082A78 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082A7C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 64aa01e9dc..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082F2C: -/* 80082F2C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082F30 7C 08 02 A6 */ mflr r0 -/* 80082F34 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082F38 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082F3C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082F40 4B FF BC 31 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082F44 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80082F48 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80082F4C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082F50 7C 08 03 A6 */ mtlr r0 -/* 80082F54 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082F58 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s deleted file mode 100644 index a8a9cc6d08..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082C1C: -/* 80082C1C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082C20 7C 08 02 A6 */ mflr r0 -/* 80082C24 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082C28 38 A1 00 08 */ addi r5, r1, 8 -/* 80082C2C 4B FF BF 45 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082C30 80 01 00 08 */ lwz r0, 8(r1) -/* 80082C34 54 03 03 5A */ rlwinm r3, r0, 0, 0xd, 0xd -/* 80082C38 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082C3C 7C 08 03 A6 */ mtlr r0 -/* 80082C40 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082C44 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyLinkThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyLinkThrough__8dBgWKColFi.s deleted file mode 100644 index 5a7166fd0e..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyLinkThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082BC4: -/* 80082BC4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082BC8 7C 08 02 A6 */ mflr r0 -/* 80082BCC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082BD0 38 A1 00 08 */ addi r5, r1, 8 -/* 80082BD4 4B FF BF 9D */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082BD8 80 01 00 08 */ lwz r0, 8(r1) -/* 80082BDC 54 03 03 DE */ rlwinm r3, r0, 0, 0xf, 0xf -/* 80082BE0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082BE4 7C 08 03 A6 */ mtlr r0 -/* 80082BE8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082BEC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyObjThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyObjThrough__8dBgWKColFi.s deleted file mode 100644 index 893b932236..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyObjThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082B6C: -/* 80082B6C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082B70 7C 08 02 A6 */ mflr r0 -/* 80082B74 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082B78 38 A1 00 08 */ addi r5, r1, 8 -/* 80082B7C 4B FF BF F5 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082B80 80 01 00 08 */ lwz r0, 8(r1) -/* 80082B84 54 03 04 62 */ rlwinm r3, r0, 0, 0x11, 0x11 -/* 80082B88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082B8C 7C 08 03 A6 */ mtlr r0 -/* 80082B90 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082B94 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetPolyRopeThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetPolyRopeThrough__8dBgWKColFi.s deleted file mode 100644 index efb3f9493f..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetPolyRopeThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082C74: -/* 80082C74 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082C78 7C 08 02 A6 */ mflr r0 -/* 80082C7C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082C80 38 A1 00 08 */ addi r5, r1, 8 -/* 80082C84 4B FF BE ED */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082C88 80 01 00 08 */ lwz r0, 8(r1) -/* 80082C8C 54 03 02 D6 */ rlwinm r3, r0, 0, 0xb, 0xb -/* 80082C90 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082C94 7C 08 03 A6 */ mtlr r0 -/* 80082C98 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082C9C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index b3c1672128..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082E9C: -/* 80082E9C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082EA0 7C 08 02 A6 */ mflr r0 -/* 80082EA4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082EA8 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082EAC 38 A1 00 08 */ addi r5, r1, 8 -/* 80082EB0 4B FF BC C1 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082EB4 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80082EB8 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 80082EBC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082EC0 7C 08 03 A6 */ mtlr r0 -/* 80082EC4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082EC8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index bd097f1c03..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082ECC: -/* 80082ECC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082ED0 7C 08 02 A6 */ mflr r0 -/* 80082ED4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082ED8 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082EDC 38 A1 00 08 */ addi r5, r1, 8 -/* 80082EE0 4B FF BC 91 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082EE4 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80082EE8 54 03 86 3E */ rlwinm r3, r0, 0x10, 0x18, 0x1f -/* 80082EEC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082EF0 7C 08 03 A6 */ mtlr r0 -/* 80082EF4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082EF8 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 377127f4fe..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082EFC: -/* 80082EFC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082F00 7C 08 02 A6 */ mflr r0 -/* 80082F04 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082F08 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082F0C 38 A1 00 08 */ addi r5, r1, 8 -/* 80082F10 4B FF BC 61 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082F14 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80082F18 54 03 46 3E */ srwi r3, r0, 0x18 -/* 80082F1C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082F20 7C 08 03 A6 */ mtlr r0 -/* 80082F24 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082F28 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s deleted file mode 100644 index 707dceac05..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082CF8: -/* 80082CF8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082CFC 7C 08 02 A6 */ mflr r0 -/* 80082D00 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082D04 38 A1 00 08 */ addi r5, r1, 8 -/* 80082D08 4B FF BE 69 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082D0C 80 01 00 08 */ lwz r0, 8(r1) -/* 80082D10 54 03 57 FE */ rlwinm r3, r0, 0xa, 0x1f, 0x1f -/* 80082D14 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082D18 7C 08 03 A6 */ mtlr r0 -/* 80082D1C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082D20 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index 434909aea7..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082AB0: -/* 80082AB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80082AB4 7C 08 02 A6 */ mflr r0 -/* 80082AB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80082ABC A0 84 00 00 */ lhz r4, 0(r4) -/* 80082AC0 81 83 00 04 */ lwz r12, 4(r3) -/* 80082AC4 81 8C 00 74 */ lwz r12, 0x74(r12) -/* 80082AC8 7D 89 03 A6 */ mtctr r12 -/* 80082ACC 4E 80 04 21 */ bctrl -/* 80082AD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80082AD4 7C 08 03 A6 */ mtlr r0 -/* 80082AD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80082ADC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s deleted file mode 100644 index dbadd226c8..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082AE0: -/* 80082AE0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082AE4 7C 08 02 A6 */ mflr r0 -/* 80082AE8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082AEC 38 A1 00 08 */ addi r5, r1, 8 -/* 80082AF0 4B FF C0 81 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082AF4 80 01 00 08 */ lwz r0, 8(r1) -/* 80082AF8 54 03 47 3E */ rlwinm r3, r0, 8, 0x1c, 0x1f -/* 80082AFC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082B00 7C 08 03 A6 */ mtlr r0 -/* 80082B04 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082B08 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetTopUnder__8dBgWKColCFPfPf.s b/asm/d/bg/d_bg_w_kcol/GetTopUnder__8dBgWKColCFPfPf.s deleted file mode 100644 index 27a28b2d3b..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetTopUnder__8dBgWKColCFPfPf.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800829AC: -/* 800829AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800829B0 80 63 00 18 */ lwz r3, 0x18(r3) -/* 800829B4 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 800829B8 D0 05 00 00 */ stfs f0, 0(r5) -/* 800829BC C0 45 00 00 */ lfs f2, 0(r5) -/* 800829C0 80 03 00 24 */ lwz r0, 0x24(r3) -/* 800829C4 7C 00 00 F8 */ nor r0, r0, r0 -/* 800829C8 C8 22 8D 50 */ lfd f1, lit_6099(r2) -/* 800829CC 90 01 00 0C */ stw r0, 0xc(r1) -/* 800829D0 3C 00 43 30 */ lis r0, 0x4330 -/* 800829D4 90 01 00 08 */ stw r0, 8(r1) -/* 800829D8 C8 01 00 08 */ lfd f0, 8(r1) -/* 800829DC EC 00 08 28 */ fsubs f0, f0, f1 -/* 800829E0 EC 02 00 2A */ fadds f0, f2, f0 -/* 800829E4 D0 04 00 00 */ stfs f0, 0(r4) -/* 800829E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800829EC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s deleted file mode 100644 index 6190fa78a6..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8007E894: -/* 8007E894 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007E898 7C 08 02 A6 */ mflr r0 -/* 8007E89C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007E8A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007E8A4 A0 A5 00 00 */ lhz r5, 0(r5) -/* 8007E8A8 48 00 00 19 */ bl GetTriPla__8dBgWKColCFi -/* 8007E8AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007E8B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007E8B4 7C 08 03 A6 */ mtlr r0 -/* 8007E8B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007E8BC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s b/asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s deleted file mode 100644 index c01200447f..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8007E8C0: -/* 8007E8C0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8007E8C4 7C 08 02 A6 */ mflr r0 -/* 8007E8C8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8007E8CC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8007E8D0 48 2E 39 0D */ bl _savegpr_29 -/* 8007E8D4 7C 7D 1B 78 */ mr r29, r3 -/* 8007E8D8 7C 9E 23 78 */ mr r30, r4 -/* 8007E8DC 80 64 00 18 */ lwz r3, 0x18(r4) -/* 8007E8E0 80 63 00 08 */ lwz r3, 8(r3) -/* 8007E8E4 54 A0 20 36 */ slwi r0, r5, 4 -/* 8007E8E8 7F E3 02 14 */ add r31, r3, r0 -/* 8007E8EC 7F C3 F3 78 */ mr r3, r30 -/* 8007E8F0 7F E4 FB 78 */ mr r4, r31 -/* 8007E8F4 38 A1 00 08 */ addi r5, r1, 8 -/* 8007E8F8 4B FF FF 59 */ bl getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec -/* 8007E8FC 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 8007E900 80 63 00 00 */ lwz r3, 0(r3) -/* 8007E904 A0 1F 00 04 */ lhz r0, 4(r31) -/* 8007E908 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8007E90C 7F E3 02 14 */ add r31, r3, r0 -/* 8007E910 80 61 00 08 */ lwz r3, 8(r1) -/* 8007E914 7F E4 FB 78 */ mr r4, r31 -/* 8007E918 48 2C 88 7D */ bl PSVECDotProduct -/* 8007E91C 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 8007E920 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 8007E924 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8007E928 38 61 00 0C */ addi r3, r1, 0xc -/* 8007E92C 80 81 00 08 */ lwz r4, 8(r1) -/* 8007E930 7F E5 FB 78 */ mr r5, r31 -/* 8007E934 48 1F 0B F9 */ bl SetupNP__8cM3dGPlaFRC3VecRC3Vec -/* 8007E938 3C 60 80 3A */ lis r3, __vt__8cM3dGPla@ha /* 0x803A37C0@ha */ -/* 8007E93C 38 03 37 C0 */ addi r0, r3, __vt__8cM3dGPla@l /* 0x803A37C0@l */ -/* 8007E940 90 1D 00 10 */ stw r0, 0x10(r29) -/* 8007E944 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8007E948 D0 1D 00 00 */ stfs f0, 0(r29) -/* 8007E94C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8007E950 D0 1D 00 04 */ stfs f0, 4(r29) -/* 8007E954 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8007E958 D0 1D 00 08 */ stfs f0, 8(r29) -/* 8007E95C C0 01 00 18 */ lfs f0, 0x18(r1) -/* 8007E960 D0 1D 00 0C */ stfs f0, 0xc(r29) -/* 8007E964 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8007E968 39 61 00 30 */ addi r11, r1, 0x30 -/* 8007E96C 48 2E 38 BD */ bl _restgpr_29 -/* 8007E970 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8007E974 7C 08 03 A6 */ mtlr r0 -/* 8007E978 38 21 00 30 */ addi r1, r1, 0x30 -/* 8007E97C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s b/asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s deleted file mode 100644 index b0709b0aa0..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8007E980: -/* 8007E980 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007E984 7C 08 02 A6 */ mflr r0 -/* 8007E988 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007E98C A0 84 00 00 */ lhz r4, 0(r4) -/* 8007E990 48 00 00 15 */ bl GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec -/* 8007E994 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007E998 7C 08 03 A6 */ mtlr r0 -/* 8007E99C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007E9A0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s b/asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s deleted file mode 100644 index 9221211c24..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007E9A4: -/* 8007E9A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007E9A8 7C 08 02 A6 */ mflr r0 -/* 8007E9AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007E9B0 81 03 00 18 */ lwz r8, 0x18(r3) -/* 8007E9B4 81 08 00 08 */ lwz r8, 8(r8) -/* 8007E9B8 54 80 20 36 */ slwi r0, r4, 4 -/* 8007E9BC 7C 88 02 14 */ add r4, r8, r0 -/* 8007E9C0 48 00 00 15 */ bl GetTriPnt__8dBgWKColCFPC12KC_PrismDataP3VecP3VecP3Vec -/* 8007E9C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007E9C8 7C 08 03 A6 */ mtlr r0 -/* 8007E9CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007E9D0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s b/asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s deleted file mode 100644 index 96cdc529dc..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80082CCC: -/* 80082CCC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082CD0 7C 08 02 A6 */ mflr r0 -/* 80082CD4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082CD8 38 A1 00 08 */ addi r5, r1, 8 -/* 80082CDC 4B FF BE 95 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082CE0 80 01 00 08 */ lwz r0, 8(r1) -/* 80082CE4 54 03 00 42 */ rlwinm r3, r0, 0, 1, 1 -/* 80082CE8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082CEC 7C 08 03 A6 */ mtlr r0 -/* 80082CF0 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082CF4 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s b/asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s deleted file mode 100644 index f7cff369d6..0000000000 --- a/asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80082D54: -/* 80082D54 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80082D58 7C 08 02 A6 */ mflr r0 -/* 80082D5C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80082D60 A0 84 00 00 */ lhz r4, 0(r4) -/* 80082D64 38 A1 00 08 */ addi r5, r1, 8 -/* 80082D68 4B FF BE 09 */ bl getPolyCode__8dBgWKColCFiP5dBgPc -/* 80082D6C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80082D70 54 03 C7 3E */ rlwinm r3, r0, 0x18, 0x1c, 0x1f -/* 80082D74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80082D78 7C 08 03 A6 */ mtlr r0 -/* 80082D7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80082D80 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s b/asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s deleted file mode 100644 index dcb98c06ce..0000000000 --- a/asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8007E6F4: -/* 8007E6F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007E6F8 7C 08 02 A6 */ mflr r0 -/* 8007E6FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007E700 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007E704 7C 7F 1B 78 */ mr r31, r3 -/* 8007E708 4B FF FE A1 */ bl __ct__9dBgW_BaseFv -/* 8007E70C 3C 60 80 3B */ lis r3, __vt__8dBgWKCol@ha /* 0x803ABDC8@ha */ -/* 8007E710 38 03 BD C8 */ addi r0, r3, __vt__8dBgWKCol@l /* 0x803ABDC8@l */ -/* 8007E714 90 1F 00 04 */ stw r0, 4(r31) -/* 8007E718 38 7F 00 1C */ addi r3, r31, 0x1c -/* 8007E71C 4B FF 59 59 */ bl __ct__6dBgPlcFv -/* 8007E720 3C 60 80 3A */ lis r3, __vt__8cM3dGAab@ha /* 0x803A7218@ha */ -/* 8007E724 38 03 72 18 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x803A7218@l */ -/* 8007E728 90 1F 00 38 */ stw r0, 0x38(r31) -/* 8007E72C 38 00 00 00 */ li r0, 0 -/* 8007E730 90 1F 00 18 */ stw r0, 0x18(r31) -/* 8007E734 7F E3 FB 78 */ mr r3, r31 -/* 8007E738 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007E73C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007E740 7C 08 03 A6 */ mtlr r0 -/* 8007E744 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007E748 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s b/asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s deleted file mode 100644 index 0be2420ca9..0000000000 --- a/asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8007E804: -/* 8007E804 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8007E808 7C 08 02 A6 */ mflr r0 -/* 8007E80C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007E810 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007E814 48 2E 39 C9 */ bl _savegpr_29 -/* 8007E818 7C 7D 1B 78 */ mr r29, r3 -/* 8007E81C 7C 9E 23 78 */ mr r30, r4 -/* 8007E820 7C BF 2B 78 */ mr r31, r5 -/* 8007E824 4B FF FE 79 */ bl ClrDBgWBase__9dBgW_BaseFv -/* 8007E828 93 DD 00 18 */ stw r30, 0x18(r29) -/* 8007E82C 38 7D 00 1C */ addi r3, r29, 0x1c -/* 8007E830 7F E4 FB 78 */ mr r4, r31 -/* 8007E834 4B FF 58 89 */ bl setBase__6dBgPlcFPv -/* 8007E838 39 61 00 20 */ addi r11, r1, 0x20 -/* 8007E83C 48 2E 39 ED */ bl _restgpr_29 -/* 8007E840 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007E844 7C 08 03 A6 */ mtlr r0 -/* 8007E848 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007E84C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/getPolyCode__8dBgWKColCFiP5dBgPc.s b/asm/d/bg/d_bg_w_kcol/getPolyCode__8dBgWKColCFiP5dBgPc.s deleted file mode 100644 index b7985d0248..0000000000 --- a/asm/d/bg/d_bg_w_kcol/getPolyCode__8dBgWKColCFiP5dBgPc.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8007EB70: -/* 8007EB70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8007EB74 7C 08 02 A6 */ mflr r0 -/* 8007EB78 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007EB7C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8007EB80 7C BF 2B 78 */ mr r31, r5 -/* 8007EB84 80 A3 00 18 */ lwz r5, 0x18(r3) -/* 8007EB88 80 A5 00 08 */ lwz r5, 8(r5) -/* 8007EB8C 54 80 20 36 */ slwi r0, r4, 4 -/* 8007EB90 7C 85 02 14 */ add r4, r5, r0 -/* 8007EB94 A0 84 00 0E */ lhz r4, 0xe(r4) -/* 8007EB98 38 A1 00 08 */ addi r5, r1, 8 -/* 8007EB9C 38 63 00 1C */ addi r3, r3, 0x1c -/* 8007EBA0 4B FF 55 25 */ bl getCode__6dBgPlcCFiPP5sBgPc -/* 8007EBA4 7F E3 FB 78 */ mr r3, r31 -/* 8007EBA8 80 81 00 08 */ lwz r4, 8(r1) -/* 8007EBAC 4B FF 54 9D */ bl setCode__5dBgPcFR5sBgPc -/* 8007EBB0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8007EBB4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8007EBB8 7C 08 03 A6 */ mtlr r0 -/* 8007EBBC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8007EBC0 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_kcol/getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s b/asm/d/bg/d_bg_w_kcol/getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s deleted file mode 100644 index 11a11914c8..0000000000 --- a/asm/d/bg/d_bg_w_kcol/getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8007E850: -/* 8007E850 80 63 00 18 */ lwz r3, 0x18(r3) -/* 8007E854 80 63 00 04 */ lwz r3, 4(r3) -/* 8007E858 A0 04 00 06 */ lhz r0, 6(r4) -/* 8007E85C 1C 00 00 0C */ mulli r0, r0, 0xc -/* 8007E860 7C 03 02 14 */ add r0, r3, r0 -/* 8007E864 90 05 00 00 */ stw r0, 0(r5) -/* 8007E868 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s b/asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s deleted file mode 100644 index 4d53eb37bc..0000000000 --- a/asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80083020: -/* 80083020 80 03 00 C0 */ lwz r0, 0xc0(r3) -/* 80083024 28 00 00 00 */ cmplwi r0, 0 -/* 80083028 4D 82 00 20 */ beqlr -/* 8008302C 80 03 00 9C */ lwz r0, 0x9c(r3) -/* 80083030 28 00 00 00 */ cmplwi r0, 0 -/* 80083034 40 82 00 08 */ bne lbl_8008303C -/* 80083038 4E 80 00 20 */ blr -lbl_8008303C: -/* 8008303C 38 E0 00 00 */ li r7, 0 -/* 80083040 38 80 00 00 */ li r4, 0 -/* 80083044 48 00 00 34 */ b lbl_80083078 -lbl_80083048: -/* 80083048 80 03 00 9C */ lwz r0, 0x9c(r3) -/* 8008304C 7C C0 22 14 */ add r6, r0, r4 -/* 80083050 80 03 00 C0 */ lwz r0, 0xc0(r3) -/* 80083054 7C A0 22 14 */ add r5, r0, r4 -/* 80083058 C0 06 00 00 */ lfs f0, 0(r6) -/* 8008305C D0 05 00 00 */ stfs f0, 0(r5) -/* 80083060 C0 06 00 04 */ lfs f0, 4(r6) -/* 80083064 D0 05 00 04 */ stfs f0, 4(r5) -/* 80083068 C0 06 00 08 */ lfs f0, 8(r6) -/* 8008306C D0 05 00 08 */ stfs f0, 8(r5) -/* 80083070 38 E7 00 01 */ addi r7, r7, 1 -/* 80083074 38 84 00 0C */ addi r4, r4, 0xc -lbl_80083078: -/* 80083078 80 A3 00 A0 */ lwz r5, 0xa0(r3) -/* 8008307C 80 05 00 00 */ lwz r0, 0(r5) -/* 80083080 7C 07 00 00 */ cmpw r7, r0 -/* 80083084 41 80 FF C4 */ blt lbl_80083048 -/* 80083088 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s b/asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s deleted file mode 100644 index a549e8336e..0000000000 --- a/asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80082F98: -/* 80082F98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80082F9C 7C 08 02 A6 */ mflr r0 -/* 80082FA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80082FA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80082FA8 93 C1 00 08 */ stw r30, 8(r1) -/* 80082FAC 7C 7E 1B 78 */ mr r30, r3 -/* 80082FB0 7C BF 2B 78 */ mr r31, r5 -/* 80082FB4 38 A0 00 63 */ li r5, 0x63 -/* 80082FB8 38 C0 00 00 */ li r6, 0 -/* 80082FBC 4B FF 6F 7D */ bl Set__4cBgWFP6cBgD_tUlPA3_A4_f -/* 80082FC0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80082FC4 41 82 00 0C */ beq lbl_80082FD0 -/* 80082FC8 38 60 00 01 */ li r3, 1 -/* 80082FCC 48 00 00 3C */ b lbl_80083008 -lbl_80082FD0: -/* 80082FD0 9B FE 00 C4 */ stb r31, 0xc4(r30) -/* 80082FD4 88 1E 00 C4 */ lbz r0, 0xc4(r30) -/* 80082FD8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80082FDC 41 82 00 0C */ beq lbl_80082FE8 -/* 80082FE0 38 60 00 00 */ li r3, 0 -/* 80082FE4 48 00 00 24 */ b lbl_80083008 -lbl_80082FE8: -/* 80082FE8 80 7E 00 A0 */ lwz r3, 0xa0(r30) -/* 80082FEC 80 03 00 00 */ lwz r0, 0(r3) -/* 80082FF0 1C 60 00 0C */ mulli r3, r0, 0xc -/* 80082FF4 48 24 BC D1 */ bl __nwa__FUl -/* 80082FF8 90 7E 00 C0 */ stw r3, 0xc0(r30) -/* 80082FFC 80 1E 00 C0 */ lwz r0, 0xc0(r30) -/* 80083000 7C 00 00 34 */ cntlzw r0, r0 -/* 80083004 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -lbl_80083008: -/* 80083008 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8008300C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80083010 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80083014 7C 08 03 A6 */ mtlr r0 -/* 80083018 38 21 00 10 */ addi r1, r1, 0x10 -/* 8008301C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/check__Q27daSus_c6data_cFP10fopAc_ac_c.s b/asm/d/com/d_com_static/check__Q27daSus_c6data_cFP10fopAc_ac_c.s deleted file mode 100644 index fae210cb09..0000000000 --- a/asm/d/com/d_com_static/check__Q27daSus_c6data_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_800310C8: -/* 800310C8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800310CC 7C 08 02 A6 */ mflr r0 -/* 800310D0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800310D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800310D8 48 33 11 05 */ bl _savegpr_29 -/* 800310DC 7C 7D 1B 78 */ mr r29, r3 -/* 800310E0 7C 9E 23 78 */ mr r30, r4 -/* 800310E4 88 03 00 03 */ lbz r0, 3(r3) -/* 800310E8 28 00 00 00 */ cmplwi r0, 0 -/* 800310EC 41 82 00 0C */ beq lbl_800310F8 -/* 800310F0 38 60 00 80 */ li r3, 0x80 -/* 800310F4 48 00 00 44 */ b lbl_80031138 -lbl_800310F8: -/* 800310F8 3B E0 00 80 */ li r31, 0x80 -/* 800310FC 38 9E 04 A8 */ addi r4, r30, 0x4a8 -/* 80031100 4B FF FF 39 */ bl check__Q27daSus_c6data_cFRC4cXyz -/* 80031104 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80031108 41 82 00 0C */ beq lbl_80031114 -/* 8003110C 63 E0 00 01 */ ori r0, r31, 1 -/* 80031110 54 1F 06 3E */ clrlwi r31, r0, 0x18 -lbl_80031114: -/* 80031114 7F A3 EB 78 */ mr r3, r29 -/* 80031118 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 8003111C 4B FF FF 1D */ bl check__Q27daSus_c6data_cFRC4cXyz -/* 80031120 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80031124 41 82 00 10 */ beq lbl_80031134 -/* 80031128 63 E0 00 02 */ ori r0, r31, 2 -/* 8003112C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80031130 48 00 00 08 */ b lbl_80031138 -lbl_80031134: -/* 80031134 7F E3 FB 78 */ mr r3, r31 -lbl_80031138: -/* 80031138 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003113C 48 33 10 ED */ bl _restgpr_29 -/* 80031140 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80031144 7C 08 03 A6 */ mtlr r0 -/* 80031148 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003114C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/check__Q27daSus_c6data_cFRC4cXyz.s b/asm/d/com/d_com_static/check__Q27daSus_c6data_cFRC4cXyz.s deleted file mode 100644 index cf3c57d306..0000000000 --- a/asm/d/com/d_com_static/check__Q27daSus_c6data_cFRC4cXyz.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80031038: -/* 80031038 88 03 00 03 */ lbz r0, 3(r3) -/* 8003103C 28 00 00 00 */ cmplwi r0, 0 -/* 80031040 41 82 00 0C */ beq lbl_8003104C -/* 80031044 38 60 00 00 */ li r3, 0 -/* 80031048 4E 80 00 20 */ blr -lbl_8003104C: -/* 8003104C C0 03 00 08 */ lfs f0, 8(r3) -/* 80031050 C0 24 00 00 */ lfs f1, 0(r4) -/* 80031054 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80031058 4C 40 13 82 */ cror 2, 0, 2 -/* 8003105C 40 82 00 64 */ bne lbl_800310C0 -/* 80031060 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 80031064 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80031068 4C 40 13 82 */ cror 2, 0, 2 -/* 8003106C 40 82 00 54 */ bne lbl_800310C0 -/* 80031070 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 80031074 C0 24 00 04 */ lfs f1, 4(r4) -/* 80031078 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8003107C 4C 40 13 82 */ cror 2, 0, 2 -/* 80031080 40 82 00 40 */ bne lbl_800310C0 -/* 80031084 C0 03 00 18 */ lfs f0, 0x18(r3) -/* 80031088 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003108C 4C 40 13 82 */ cror 2, 0, 2 -/* 80031090 40 82 00 30 */ bne lbl_800310C0 -/* 80031094 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 80031098 C0 24 00 08 */ lfs f1, 8(r4) -/* 8003109C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 800310A0 4C 40 13 82 */ cror 2, 0, 2 -/* 800310A4 40 82 00 1C */ bne lbl_800310C0 -/* 800310A8 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800310AC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800310B0 4C 40 13 82 */ cror 2, 0, 2 -/* 800310B4 40 82 00 0C */ bne lbl_800310C0 -/* 800310B8 38 60 00 01 */ li r3, 1 -/* 800310BC 4E 80 00 20 */ blr -lbl_800310C0: -/* 800310C0 38 60 00 00 */ li r3, 0 -/* 800310C4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daMP_c_Get_MovieRestFrame__6daMP_cFv.s b/asm/d/com/d_com_static/daMP_c_Get_MovieRestFrame__6daMP_cFv.s deleted file mode 100644 index 645912b8bc..0000000000 --- a/asm/d/com/d_com_static/daMP_c_Get_MovieRestFrame__6daMP_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80031A78: -/* 80031A78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031A7C 7C 08 02 A6 */ mflr r0 -/* 80031A80 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031A84 80 6D 88 38 */ lwz r3, m_myObj__6daMP_c(r13) -/* 80031A88 81 83 05 68 */ lwz r12, 0x568(r3) -/* 80031A8C 7D 89 03 A6 */ mtctr r12 -/* 80031A90 4E 80 04 21 */ bctrl -/* 80031A94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031A98 7C 08 03 A6 */ mtlr r0 -/* 80031A9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031AA0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daMP_c_Set_PercentMovieVolume__6daMP_cFf.s b/asm/d/com/d_com_static/daMP_c_Set_PercentMovieVolume__6daMP_cFf.s deleted file mode 100644 index f372d6c887..0000000000 --- a/asm/d/com/d_com_static/daMP_c_Set_PercentMovieVolume__6daMP_cFf.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80031AA4: -/* 80031AA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031AA8 7C 08 02 A6 */ mflr r0 -/* 80031AAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031AB0 80 6D 88 38 */ lwz r3, m_myObj__6daMP_c(r13) -/* 80031AB4 81 83 05 6C */ lwz r12, 0x56c(r3) -/* 80031AB8 7D 89 03 A6 */ mtctr r12 -/* 80031ABC 4E 80 04 21 */ bctrl -/* 80031AC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031AC4 7C 08 03 A6 */ mtlr r0 -/* 80031AC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031ACC 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daMP_c_THPPlayerPause__6daMP_cFv.s b/asm/d/com/d_com_static/daMP_c_THPPlayerPause__6daMP_cFv.s deleted file mode 100644 index 0a548689c6..0000000000 --- a/asm/d/com/d_com_static/daMP_c_THPPlayerPause__6daMP_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80031B24: -/* 80031B24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031B28 7C 08 02 A6 */ mflr r0 -/* 80031B2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031B30 80 6D 88 38 */ lwz r3, m_myObj__6daMP_c(r13) -/* 80031B34 81 83 05 7C */ lwz r12, 0x57c(r3) -/* 80031B38 7D 89 03 A6 */ mtctr r12 -/* 80031B3C 4E 80 04 21 */ bctrl -/* 80031B40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031B44 7C 08 03 A6 */ mtlr r0 -/* 80031B48 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031B4C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daMP_c_THPPlayerPlay__6daMP_cFv.s b/asm/d/com/d_com_static/daMP_c_THPPlayerPlay__6daMP_cFv.s deleted file mode 100644 index 01fcecf6d4..0000000000 --- a/asm/d/com/d_com_static/daMP_c_THPPlayerPlay__6daMP_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80031AD0: -/* 80031AD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031AD4 7C 08 02 A6 */ mflr r0 -/* 80031AD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031ADC 80 6D 88 38 */ lwz r3, m_myObj__6daMP_c(r13) -/* 80031AE0 28 03 00 00 */ cmplwi r3, 0 -/* 80031AE4 40 82 00 18 */ bne lbl_80031AFC -/* 80031AE8 80 0D 88 BC */ lwz r0, m_status__7dDemo_c(r13) -/* 80031AEC 60 00 00 01 */ ori r0, r0, 1 -/* 80031AF0 90 0D 88 BC */ stw r0, m_status__7dDemo_c(r13) -/* 80031AF4 38 60 00 00 */ li r3, 0 -/* 80031AF8 48 00 00 1C */ b lbl_80031B14 -lbl_80031AFC: -/* 80031AFC 80 0D 88 BC */ lwz r0, m_status__7dDemo_c(r13) -/* 80031B00 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 80031B04 90 0D 88 BC */ stw r0, m_status__7dDemo_c(r13) -/* 80031B08 81 83 05 74 */ lwz r12, 0x574(r3) -/* 80031B0C 7D 89 03 A6 */ mtctr r12 -/* 80031B10 4E 80 04 21 */ bctrl -lbl_80031B14: -/* 80031B14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031B18 7C 08 03 A6 */ mtlr r0 -/* 80031B1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031B20 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_chkSwdTutorialStage__Fv.s b/asm/d/com/d_com_static/daNpcKakashi_chkSwdTutorialStage__Fv.s deleted file mode 100644 index e972025345..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_chkSwdTutorialStage__Fv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80031648: -/* 80031648 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003164C 7C 08 02 A6 */ mflr r0 -/* 80031650 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031654 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80031658 3B E0 00 00 */ li r31, 0 -/* 8003165C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031660 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031664 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 80031668 3C 80 80 38 */ lis r4, d_com_d_com_static__stringBase0@ha /* 0x803790B0@ha */ -/* 8003166C 38 84 90 B0 */ addi r4, r4, d_com_d_com_static__stringBase0@l /* 0x803790B0@l */ -/* 80031670 48 33 73 25 */ bl strcmp -/* 80031674 2C 03 00 00 */ cmpwi r3, 0 -/* 80031678 40 82 00 18 */ bne lbl_80031690 -/* 8003167C 38 60 00 00 */ li r3, 0 -/* 80031680 4B FF B2 FD */ bl getLayerNo__14dComIfG_play_cFi -/* 80031684 2C 03 00 08 */ cmpwi r3, 8 -/* 80031688 40 82 00 08 */ bne lbl_80031690 -/* 8003168C 3B E0 00 01 */ li r31, 1 -lbl_80031690: -/* 80031690 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80031694 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80031698 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003169C 7C 08 03 A6 */ mtlr r0 -/* 800316A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800316A4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_clrSuccessCount__Fv.s b/asm/d/com/d_com_static/daNpcKakashi_clrSuccessCount__Fv.s deleted file mode 100644 index f535c3c899..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_clrSuccessCount__Fv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80031838: -/* 80031838 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003183C 7C 08 02 A6 */ mflr r0 -/* 80031840 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031844 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031848 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003184C 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 80031850 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FEFF@ha */ -/* 80031854 38 84 FE FF */ addi r4, r4, 0xFEFF /* 0x0000FEFF@l */ -/* 80031858 38 A0 00 00 */ li r5, 0 -/* 8003185C 48 00 31 85 */ bl setEventReg__11dSv_event_cFUsUc -/* 80031860 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031864 7C 08 03 A6 */ mtlr r0 -/* 80031868 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003186C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_getSuccessCount__Fv.s b/asm/d/com/d_com_static/daNpcKakashi_getSuccessCount__Fv.s deleted file mode 100644 index 143d8de802..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_getSuccessCount__Fv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800317A4: -/* 800317A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800317A8 7C 08 02 A6 */ mflr r0 -/* 800317AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800317B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800317B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800317B8 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 800317BC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FEFF@ha */ -/* 800317C0 38 84 FE FF */ addi r4, r4, 0xFEFF /* 0x0000FEFF@l */ -/* 800317C4 48 00 32 41 */ bl getEventReg__11dSv_event_cCFUs -/* 800317C8 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 800317CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800317D0 7C 08 03 A6 */ mtlr r0 -/* 800317D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800317D8 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialResult__Fv.s b/asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialResult__Fv.s deleted file mode 100644 index 00bd1d9772..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialResult__Fv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80031718: -/* 80031718 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003171C 7C 08 02 A6 */ mflr r0 -/* 80031720 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031724 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031728 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003172C 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 80031730 38 80 00 40 */ li r4, 0x40 -/* 80031734 48 00 32 89 */ bl isEventBit__11dSv_event_cCFUs -/* 80031738 30 03 FF FF */ addic r0, r3, -1 -/* 8003173C 7C 00 19 10 */ subfe r0, r0, r3 -/* 80031740 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80031744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031748 7C 08 03 A6 */ mtlr r0 -/* 8003174C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031750 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s b/asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s deleted file mode 100644 index 4c5c98f161..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800316E0: -/* 800316E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800316E4 7C 08 02 A6 */ mflr r0 -/* 800316E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800316EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800316F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800316F4 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 800316F8 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FF0F@ha */ -/* 800316FC 38 84 FF 0F */ addi r4, r4, 0xFF0F /* 0x0000FF0F@l */ -/* 80031700 48 00 33 05 */ bl getEventReg__11dSv_event_cCFUs -/* 80031704 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 80031708 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003170C 7C 08 03 A6 */ mtlr r0 -/* 80031710 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031714 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_incSuccessCount__Fv.s b/asm/d/com/d_com_static/daNpcKakashi_incSuccessCount__Fv.s deleted file mode 100644 index 890ab0effd..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_incSuccessCount__Fv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800317DC: -/* 800317DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800317E0 7C 08 02 A6 */ mflr r0 -/* 800317E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800317E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800317EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800317F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800317F4 3B E3 0D D8 */ addi r31, r3, 0xdd8 -/* 800317F8 7F E3 FB 78 */ mr r3, r31 -/* 800317FC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FEFF@ha */ -/* 80031800 38 84 FE FF */ addi r4, r4, 0xFEFF /* 0x0000FEFF@l */ -/* 80031804 48 00 32 01 */ bl getEventReg__11dSv_event_cCFUs -/* 80031808 54 65 06 3E */ clrlwi r5, r3, 0x18 -/* 8003180C 7F E3 FB 78 */ mr r3, r31 -/* 80031810 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FEFF@ha */ -/* 80031814 38 84 FE FF */ addi r4, r4, 0xFEFF /* 0x0000FEFF@l */ -/* 80031818 38 05 00 01 */ addi r0, r5, 1 -/* 8003181C 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 80031820 48 00 31 C1 */ bl setEventReg__11dSv_event_cFUsUc -/* 80031824 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80031828 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003182C 7C 08 03 A6 */ mtlr r0 -/* 80031830 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031834 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialResult__Fb.s b/asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialResult__Fb.s deleted file mode 100644 index ecf8c7f415..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialResult__Fb.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80031754: -/* 80031754 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031758 7C 08 02 A6 */ mflr r0 -/* 8003175C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031760 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80031764 41 82 00 1C */ beq lbl_80031780 -/* 80031768 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003176C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031770 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 80031774 38 80 00 40 */ li r4, 0x40 -/* 80031778 48 00 32 15 */ bl onEventBit__11dSv_event_cFUs -/* 8003177C 48 00 00 18 */ b lbl_80031794 -lbl_80031780: -/* 80031780 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031784 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031788 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8003178C 38 80 00 40 */ li r4, 0x40 -/* 80031790 48 00 32 15 */ bl offEventBit__11dSv_event_cFUs -lbl_80031794: -/* 80031794 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031798 7C 08 03 A6 */ mtlr r0 -/* 8003179C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800317A0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialStep__FUc.s b/asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialStep__FUc.s deleted file mode 100644 index 2819944c33..0000000000 --- a/asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialStep__FUc.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800316A8: -/* 800316A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800316AC 7C 08 02 A6 */ mflr r0 -/* 800316B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800316B4 7C 65 1B 78 */ mr r5, r3 -/* 800316B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800316BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800316C0 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 800316C4 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FF0F@ha */ -/* 800316C8 38 84 FF 0F */ addi r4, r4, 0xFF0F /* 0x0000FF0F@l */ -/* 800316CC 48 00 33 15 */ bl setEventReg__11dSv_event_cFUsUc -/* 800316D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800316D4 7C 08 03 A6 */ mtlr r0 -/* 800316D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800316DC 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/daNpcMsg_setEvtNum__FUc.s b/asm/d/com/d_com_static/daNpcMsg_setEvtNum__FUc.s deleted file mode 100644 index 19b6cfdfe5..0000000000 --- a/asm/d/com/d_com_static/daNpcMsg_setEvtNum__FUc.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8003160C: -/* 8003160C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031610 7C 08 02 A6 */ mflr r0 -/* 80031614 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031618 7C 65 1B 78 */ mr r5, r3 -/* 8003161C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80031620 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031624 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 80031628 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FDFF@ha */ -/* 8003162C 38 84 FD FF */ addi r4, r4, 0xFDFF /* 0x0000FDFF@l */ -/* 80031630 48 00 33 B1 */ bl setEventReg__11dSv_event_cFUsUc -/* 80031634 38 60 00 01 */ li r3, 1 -/* 80031638 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003163C 7C 08 03 A6 */ mtlr r0 -/* 80031640 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031644 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/execute__Q27daSus_c6data_cFv.s b/asm/d/com/d_com_static/execute__Q27daSus_c6data_cFv.s deleted file mode 100644 index c669b16cab..0000000000 --- a/asm/d/com/d_com_static/execute__Q27daSus_c6data_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80031150: -/* 80031150 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031154 7C 08 02 A6 */ mflr r0 -/* 80031158 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003115C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80031160 7C 7F 1B 78 */ mr r31, r3 -/* 80031164 4B FF FE 69 */ bl isSwitch__Q27daSus_c6data_cFv -/* 80031168 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 8003116C 88 1F 00 03 */ lbz r0, 3(r31) -/* 80031170 7C 04 00 40 */ cmplw r4, r0 -/* 80031174 41 82 00 08 */ beq lbl_8003117C -/* 80031178 98 7F 00 03 */ stb r3, 3(r31) -lbl_8003117C: -/* 8003117C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80031180 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80031184 7C 08 03 A6 */ mtlr r0 -/* 80031188 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003118C 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/getArcName__12daSetBgObj_cFP10fopAc_ac_c.s b/asm/d/com/d_com_static/getArcName__12daSetBgObj_cFP10fopAc_ac_c.s deleted file mode 100644 index 15c26b25b2..0000000000 --- a/asm/d/com/d_com_static/getArcName__12daSetBgObj_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80031870: -/* 80031870 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031874 7C 08 02 A6 */ mflr r0 -/* 80031878 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003187C 7C 65 1B 78 */ mr r5, r3 -/* 80031880 38 6D 88 1C */ la r3, arcName(r13) /* 80450D9C-_SDA_BASE_ */ -/* 80031884 3C 80 80 38 */ lis r4, d_com_d_com_static__stringBase0@ha /* 0x803790B0@ha */ -/* 80031888 38 84 90 B0 */ addi r4, r4, d_com_d_com_static__stringBase0@l /* 0x803790B0@l */ -/* 8003188C 38 84 00 08 */ addi r4, r4, 8 -/* 80031890 80 05 00 B0 */ lwz r0, 0xb0(r5) -/* 80031894 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 80031898 4C C6 31 82 */ crclr 6 -/* 8003189C 48 33 4C 41 */ bl sprintf -/* 800318A0 38 6D 88 1C */ la r3, arcName(r13) /* 80450D9C-_SDA_BASE_ */ -/* 800318A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800318A8 7C 08 03 A6 */ mtlr r0 -/* 800318AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800318B0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/getPlayerNo__11daTagMist_cFv.s b/asm/d/com/d_com_static/getPlayerNo__11daTagMist_cFv.s deleted file mode 100644 index 5b8bf7d38b..0000000000 --- a/asm/d/com/d_com_static/getPlayerNo__11daTagMist_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80031CF0: -/* 80031CF0 88 6D 88 40 */ lbz r3, struct_80450DC0+0x0(r13) -/* 80031CF4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/isSwitch__Q27daSus_c6data_cFv.s b/asm/d/com/d_com_static/isSwitch__Q27daSus_c6data_cFv.s deleted file mode 100644 index 5a5257b8e4..0000000000 --- a/asm/d/com/d_com_static/isSwitch__Q27daSus_c6data_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80030FCC: -/* 80030FCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80030FD0 7C 08 02 A6 */ mflr r0 -/* 80030FD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80030FD8 7C 65 1B 78 */ mr r5, r3 -/* 80030FDC 88 03 00 01 */ lbz r0, 1(r3) -/* 80030FE0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80030FE4 41 82 00 24 */ beq lbl_80031008 -/* 80030FE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80030FEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80030FF0 88 85 00 02 */ lbz r4, 2(r5) -/* 80030FF4 88 A5 00 00 */ lbz r5, 0(r5) -/* 80030FF8 7C A5 07 74 */ extsb r5, r5 -/* 80030FFC 48 00 43 65 */ bl isSwitch__10dSv_info_cCFii -/* 80031000 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 80031004 48 00 00 24 */ b lbl_80031028 -lbl_80031008: -/* 80031008 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003100C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80031010 88 85 00 02 */ lbz r4, 2(r5) -/* 80031014 88 A5 00 00 */ lbz r5, 0(r5) -/* 80031018 7C A5 07 74 */ extsb r5, r5 -/* 8003101C 48 00 43 45 */ bl isSwitch__10dSv_info_cCFii -/* 80031020 7C 60 00 34 */ cntlzw r0, r3 -/* 80031024 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -lbl_80031028: -/* 80031028 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003102C 7C 08 03 A6 */ mtlr r0 -/* 80031030 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031034 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s b/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s index ae8464a9aa..7b3e4cec22 100644 --- a/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s +++ b/asm/d/com/d_com_static/newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc.s @@ -10,7 +10,7 @@ lbl_80031248: /* 80031268 7C CA 33 78 */ mr r10, r6 /* 8003126C 7C E0 3B 78 */ mr r0, r7 /* 80031270 7D 09 43 78 */ mr r9, r8 -/* 80031274 A8 AD 88 0A */ lha r5, struct_80450D88+0x2(r13) +/* 80031274 A8 AD 88 0A */ lha r5, m_count__9daArrow_c+0x2(r13) /* 80031278 1C 85 00 24 */ mulli r4, r5, 0x24 /* 8003127C 3C 60 80 42 */ lis r3, mData__7daSus_c@ha /* 0x80423FFC@ha */ /* 80031280 38 63 3F FC */ addi r3, r3, mData__7daSus_c@l /* 0x80423FFC@l */ @@ -42,7 +42,7 @@ lbl_80031290: /* 800312E4 7C 03 00 50 */ subf r0, r3, r0 /* 800312E8 54 00 28 3E */ rotlwi r0, r0, 5 /* 800312EC 7C 00 1A 14 */ add r0, r0, r3 -/* 800312F0 B0 0D 88 0A */ sth r0, struct_80450D88+0x2(r13) +/* 800312F0 B0 0D 88 0A */ sth r0, m_count__9daArrow_c+0x2(r13) /* 800312F4 38 60 00 01 */ li r3, 1 /* 800312F8 48 00 00 AC */ b lbl_800313A4 lbl_800312FC: @@ -81,7 +81,7 @@ lbl_80031320: /* 80031374 7C 03 00 50 */ subf r0, r3, r0 /* 80031378 54 00 28 3E */ rotlwi r0, r0, 5 /* 8003137C 7C 00 1A 14 */ add r0, r0, r3 -/* 80031380 B0 0D 88 0A */ sth r0, struct_80450D88+0x2(r13) +/* 80031380 B0 0D 88 0A */ sth r0, m_count__9daArrow_c+0x2(r13) /* 80031384 38 60 00 01 */ li r3, 1 /* 80031388 48 00 00 1C */ b lbl_800313A4 lbl_8003138C: diff --git a/asm/d/com/d_com_static/reset__Q27daSus_c6data_cFv.s b/asm/d/com/d_com_static/reset__Q27daSus_c6data_cFv.s deleted file mode 100644 index 83d4621e90..0000000000 --- a/asm/d/com/d_com_static/reset__Q27daSus_c6data_cFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80030FBC: -/* 80030FBC 38 00 FF FF */ li r0, -1 -/* 80030FC0 98 03 00 00 */ stb r0, 0(r3) -/* 80030FC4 80 63 00 20 */ lwz r3, 0x20(r3) -/* 80030FC8 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/reset__Q27daSus_c6room_cFv.s b/asm/d/com/d_com_static/reset__Q27daSus_c6room_cFv.s deleted file mode 100644 index 495b213040..0000000000 --- a/asm/d/com/d_com_static/reset__Q27daSus_c6room_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800311FC: -/* 800311FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80031200 7C 08 02 A6 */ mflr r0 -/* 80031204 90 01 00 14 */ stw r0, 0x14(r1) -/* 80031208 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003120C 7C 7F 1B 78 */ mr r31, r3 -/* 80031210 48 00 00 0C */ b lbl_8003121C -lbl_80031214: -/* 80031214 4B FF FD A9 */ bl reset__Q27daSus_c6data_cFv -/* 80031218 90 7F 00 00 */ stw r3, 0(r31) -lbl_8003121C: -/* 8003121C 80 7F 00 00 */ lwz r3, 0(r31) -/* 80031220 28 03 00 00 */ cmplwi r3, 0 -/* 80031224 41 82 00 10 */ beq lbl_80031234 -/* 80031228 88 03 00 04 */ lbz r0, 4(r3) -/* 8003122C 28 00 00 00 */ cmplwi r0, 0 -/* 80031230 41 82 FF E4 */ beq lbl_80031214 -lbl_80031234: -/* 80031234 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80031238 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003123C 7C 08 03 A6 */ mtlr r0 -/* 80031240 38 21 00 10 */ addi r1, r1, 0x10 -/* 80031244 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_static/set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s b/asm/d/com/d_com_static/set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s deleted file mode 100644 index a40f753641..0000000000 --- a/asm/d/com/d_com_static/set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80030F14: -/* 80030F14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80030F18 7C 08 02 A6 */ mflr r0 -/* 80030F1C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80030F20 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80030F24 93 C1 00 08 */ stw r30, 8(r1) -/* 80030F28 7C 7E 1B 78 */ mr r30, r3 -/* 80030F2C 7D 3F 4B 78 */ mr r31, r9 -/* 80030F30 98 83 00 00 */ stb r4, 0(r3) -/* 80030F34 C0 85 00 08 */ lfs f4, 8(r5) -/* 80030F38 C0 66 00 08 */ lfs f3, 8(r6) -/* 80030F3C EC C4 18 28 */ fsubs f6, f4, f3 -/* 80030F40 C0 A5 00 04 */ lfs f5, 4(r5) -/* 80030F44 C0 45 00 00 */ lfs f2, 0(r5) -/* 80030F48 C0 26 00 00 */ lfs f1, 0(r6) -/* 80030F4C EC 02 08 28 */ fsubs f0, f2, f1 -/* 80030F50 D0 03 00 08 */ stfs f0, 8(r3) -/* 80030F54 D0 A3 00 0C */ stfs f5, 0xc(r3) -/* 80030F58 D0 C3 00 10 */ stfs f6, 0x10(r3) -/* 80030F5C EC 84 18 2A */ fadds f4, f4, f3 -/* 80030F60 C0 06 00 04 */ lfs f0, 4(r6) -/* 80030F64 EC 65 00 2A */ fadds f3, f5, f0 -/* 80030F68 EC 02 08 2A */ fadds f0, f2, f1 -/* 80030F6C D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80030F70 D0 63 00 18 */ stfs f3, 0x18(r3) -/* 80030F74 D0 83 00 1C */ stfs f4, 0x1c(r3) -/* 80030F78 98 E3 00 02 */ stb r7, 2(r3) -/* 80030F7C 55 04 06 3E */ clrlwi r4, r8, 0x18 -/* 80030F80 30 04 FF FF */ addic r0, r4, -1 -/* 80030F84 7C 00 21 10 */ subfe r0, r0, r4 -/* 80030F88 98 03 00 01 */ stb r0, 1(r3) -/* 80030F8C 48 00 00 41 */ bl isSwitch__Q27daSus_c6data_cFv -/* 80030F90 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80030F94 7C 00 00 34 */ cntlzw r0, r0 -/* 80030F98 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f -/* 80030F9C 98 1E 00 03 */ stb r0, 3(r30) -/* 80030FA0 9B FE 00 04 */ stb r31, 4(r30) -/* 80030FA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80030FA8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80030FAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80030FB0 7C 08 03 A6 */ mtlr r0 -/* 80030FB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80030FB8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/ActionTarget__12dAttention_cFl.s b/asm/d/d_attention/ActionTarget__12dAttention_cFl.s deleted file mode 100644 index a4e7fc91fe..0000000000 --- a/asm/d/d_attention/ActionTarget__12dAttention_cFl.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80073734: -/* 80073734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073738 7C 08 02 A6 */ mflr r0 -/* 8007373C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073740 7C 65 1B 78 */ mr r5, r3 -/* 80073744 80 63 04 30 */ lwz r3, 0x430(r3) -/* 80073748 7C 04 18 00 */ cmpw r4, r3 -/* 8007374C 41 80 00 0C */ blt lbl_80073758 -/* 80073750 38 60 00 00 */ li r3, 0 -/* 80073754 48 00 00 28 */ b lbl_8007377C -lbl_80073758: -/* 80073758 80 05 04 34 */ lwz r0, 0x434(r5) -/* 8007375C 7C 00 22 14 */ add r0, r0, r4 -/* 80073760 7C 00 18 00 */ cmpw r0, r3 -/* 80073764 41 80 00 08 */ blt lbl_8007376C -/* 80073768 7C 03 00 50 */ subf r0, r3, r0 -lbl_8007376C: -/* 8007376C 1C 60 00 14 */ mulli r3, r0, 0x14 -/* 80073770 38 63 03 E0 */ addi r3, r3, 0x3e0 -/* 80073774 7C 65 1A 14 */ add r3, r5, r3 -/* 80073778 48 00 00 ED */ bl getActor__10dAttList_cFv -lbl_8007377C: -/* 8007377C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80073780 7C 08 03 A6 */ mtlr r0 -/* 80073784 38 21 00 10 */ addi r1, r1, 0x10 -/* 80073788 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/CheckObjectTarget__12dAttention_cFl.s b/asm/d/d_attention/CheckObjectTarget__12dAttention_cFl.s deleted file mode 100644 index 55fda39bc7..0000000000 --- a/asm/d/d_attention/CheckObjectTarget__12dAttention_cFl.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8007378C: -/* 8007378C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073790 7C 08 02 A6 */ mflr r0 -/* 80073794 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073798 7C 65 1B 78 */ mr r5, r3 -/* 8007379C 80 63 04 88 */ lwz r3, 0x488(r3) -/* 800737A0 7C 04 18 00 */ cmpw r4, r3 -/* 800737A4 41 80 00 0C */ blt lbl_800737B0 -/* 800737A8 38 60 00 00 */ li r3, 0 -/* 800737AC 48 00 00 28 */ b lbl_800737D4 -lbl_800737B0: -/* 800737B0 80 05 04 8C */ lwz r0, 0x48c(r5) -/* 800737B4 7C 00 22 14 */ add r0, r0, r4 -/* 800737B8 7C 00 18 00 */ cmpw r0, r3 -/* 800737BC 41 80 00 08 */ blt lbl_800737C4 -/* 800737C0 7C 03 00 50 */ subf r0, r3, r0 -lbl_800737C4: -/* 800737C4 1C 60 00 14 */ mulli r3, r0, 0x14 -/* 800737C8 38 63 04 38 */ addi r3, r3, 0x438 -/* 800737CC 7C 65 1A 14 */ add r3, r5, r3 -/* 800737D0 48 00 00 95 */ bl getActor__10dAttList_cFv -lbl_800737D4: -/* 800737D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800737D8 7C 08 03 A6 */ mtlr r0 -/* 800737DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800737E0 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/GetLockonList__12dAttention_cFl.s b/asm/d/d_attention/GetLockonList__12dAttention_cFl.s deleted file mode 100644 index ebff00a25e..0000000000 --- a/asm/d/d_attention/GetLockonList__12dAttention_cFl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80070844: -/* 80070844 7C 66 1B 78 */ mr r6, r3 -/* 80070848 80 A3 03 D8 */ lwz r5, 0x3d8(r3) -/* 8007084C 2C 05 00 00 */ cmpwi r5, 0 -/* 80070850 41 82 00 28 */ beq lbl_80070878 -/* 80070854 80 06 03 DC */ lwz r0, 0x3dc(r6) -/* 80070858 7C 60 22 14 */ add r3, r0, r4 -/* 8007085C 7C 03 2B D6 */ divw r0, r3, r5 -/* 80070860 7C 00 29 D6 */ mullw r0, r0, r5 -/* 80070864 7C 00 18 50 */ subf r0, r0, r3 -/* 80070868 1C 60 00 14 */ mulli r3, r0, 0x14 -/* 8007086C 38 63 03 38 */ addi r3, r3, 0x338 -/* 80070870 7C 66 1A 14 */ add r3, r6, r3 -/* 80070874 4E 80 00 20 */ blr -lbl_80070878: -/* 80070878 38 60 00 00 */ li r3, 0 -/* 8007087C 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/LockonTargetPId__12dAttention_cFl.s b/asm/d/d_attention/LockonTargetPId__12dAttention_cFl.s deleted file mode 100644 index d835a9604e..0000000000 --- a/asm/d/d_attention/LockonTargetPId__12dAttention_cFl.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800736CC: -/* 800736CC 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800736D0 38 E5 61 C0 */ addi r7, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800736D4 80 C7 5F 18 */ lwz r6, 0x5f18(r7) -/* 800736D8 3C A0 36 A0 */ lis r5, 0x36A0 /* 0x36A02311@ha */ -/* 800736DC 38 05 23 11 */ addi r0, r5, 0x2311 /* 0x36A02311@l */ -/* 800736E0 7C C0 00 39 */ and. r0, r6, r0 -/* 800736E4 40 82 00 10 */ bne lbl_800736F4 -/* 800736E8 80 07 5F 1C */ lwz r0, 0x5f1c(r7) -/* 800736EC 70 00 00 11 */ andi. r0, r0, 0x11 -/* 800736F0 41 82 00 0C */ beq lbl_800736FC -lbl_800736F4: -/* 800736F4 38 60 FF FF */ li r3, -1 -/* 800736F8 4E 80 00 20 */ blr -lbl_800736FC: -/* 800736FC 80 A3 03 D8 */ lwz r5, 0x3d8(r3) -/* 80073700 7C 04 28 00 */ cmpw r4, r5 -/* 80073704 41 80 00 0C */ blt lbl_80073710 -/* 80073708 38 60 FF FF */ li r3, -1 -/* 8007370C 4E 80 00 20 */ blr -lbl_80073710: -/* 80073710 80 03 03 DC */ lwz r0, 0x3dc(r3) -/* 80073714 7C 00 22 14 */ add r0, r0, r4 -/* 80073718 7C 00 28 00 */ cmpw r0, r5 -/* 8007371C 41 80 00 08 */ blt lbl_80073724 -/* 80073720 7C 05 00 50 */ subf r0, r5, r0 -lbl_80073724: -/* 80073724 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 80073728 7C 63 02 14 */ add r3, r3, r0 -/* 8007372C 80 63 03 48 */ lwz r3, 0x348(r3) -/* 80073730 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/LockonTarget__12dAttention_cFl.s b/asm/d/d_attention/LockonTarget__12dAttention_cFl.s deleted file mode 100644 index 010b6e9e5d..0000000000 --- a/asm/d/d_attention/LockonTarget__12dAttention_cFl.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_8007353C: -/* 8007353C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073540 7C 08 02 A6 */ mflr r0 -/* 80073544 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073548 7C 67 1B 78 */ mr r7, r3 -/* 8007354C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80073550 38 C3 61 C0 */ addi r6, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80073554 80 A6 5F 18 */ lwz r5, 0x5f18(r6) -/* 80073558 3C 60 36 A0 */ lis r3, 0x36A0 /* 0x36A02311@ha */ -/* 8007355C 38 03 23 11 */ addi r0, r3, 0x2311 /* 0x36A02311@l */ -/* 80073560 7C A0 00 39 */ and. r0, r5, r0 -/* 80073564 40 82 00 10 */ bne lbl_80073574 -/* 80073568 80 06 5F 1C */ lwz r0, 0x5f1c(r6) -/* 8007356C 70 00 00 11 */ andi. r0, r0, 0x11 -/* 80073570 41 82 00 0C */ beq lbl_8007357C -lbl_80073574: -/* 80073574 38 60 00 00 */ li r3, 0 -/* 80073578 48 00 00 54 */ b lbl_800735CC -lbl_8007357C: -/* 8007357C 80 67 03 D8 */ lwz r3, 0x3d8(r7) -/* 80073580 7C 04 18 00 */ cmpw r4, r3 -/* 80073584 41 80 00 0C */ blt lbl_80073590 -/* 80073588 38 60 00 00 */ li r3, 0 -/* 8007358C 48 00 00 40 */ b lbl_800735CC -lbl_80073590: -/* 80073590 80 07 03 DC */ lwz r0, 0x3dc(r7) -/* 80073594 7C 00 22 14 */ add r0, r0, r4 -/* 80073598 7C 00 18 00 */ cmpw r0, r3 -/* 8007359C 41 80 00 08 */ blt lbl_800735A4 -/* 800735A0 7C 03 00 50 */ subf r0, r3, r0 -lbl_800735A4: -/* 800735A4 1C 60 00 14 */ mulli r3, r0, 0x14 -/* 800735A8 38 63 03 38 */ addi r3, r3, 0x338 -/* 800735AC 7C 67 1A 14 */ add r3, r7, r3 -/* 800735B0 48 00 02 B5 */ bl getActor__10dAttList_cFv -/* 800735B4 28 03 00 00 */ cmplwi r3, 0 -/* 800735B8 41 82 00 10 */ beq lbl_800735C8 -/* 800735BC 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 800735C0 54 00 07 7F */ clrlwi. r0, r0, 0x1d -/* 800735C4 40 82 00 08 */ bne lbl_800735CC -lbl_800735C8: -/* 800735C8 38 60 00 00 */ li r3, 0 -lbl_800735CC: -/* 800735CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800735D0 7C 08 03 A6 */ mtlr r0 -/* 800735D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800735D8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/LockonTruth__12dAttention_cFv.s b/asm/d/d_attention/LockonTruth__12dAttention_cFv.s deleted file mode 100644 index 1de8290ba4..0000000000 --- a/asm/d/d_attention/LockonTruth__12dAttention_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800737E4: -/* 800737E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800737E8 7C 08 02 A6 */ mflr r0 -/* 800737EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800737F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800737F4 3B E0 00 00 */ li r31, 0 -/* 800737F8 88 03 03 29 */ lbz r0, 0x329(r3) -/* 800737FC 28 00 00 01 */ cmplwi r0, 1 -/* 80073800 41 82 00 0C */ beq lbl_8007380C -/* 80073804 28 00 00 02 */ cmplwi r0, 2 -/* 80073808 40 82 00 18 */ bne lbl_80073820 -lbl_8007380C: -/* 8007380C 38 80 00 00 */ li r4, 0 -/* 80073810 4B FF FD 2D */ bl LockonTarget__12dAttention_cFl -/* 80073814 28 03 00 00 */ cmplwi r3, 0 -/* 80073818 41 82 00 08 */ beq lbl_80073820 -/* 8007381C 3B E0 00 01 */ li r31, 1 -lbl_80073820: -/* 80073820 7F E3 FB 78 */ mr r3, r31 -/* 80073824 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80073828 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007382C 7C 08 03 A6 */ mtlr r0 -/* 80073830 38 21 00 10 */ addi r1, r1, 0x10 -/* 80073834 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/Run__12dAttention_cFv.s b/asm/d/d_attention/Run__12dAttention_cFv.s deleted file mode 100644 index 0caeeaac93..0000000000 --- a/asm/d/d_attention/Run__12dAttention_cFv.s +++ /dev/null @@ -1,189 +0,0 @@ -lbl_80072924: -/* 80072924 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80072928 7C 08 02 A6 */ mflr r0 -/* 8007292C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80072930 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80072934 7C 7F 1B 78 */ mr r31, r3 -/* 80072938 80 03 03 34 */ lwz r0, 0x334(r3) -/* 8007293C 54 00 00 12 */ rlwinm r0, r0, 0, 0, 9 -/* 80072940 90 03 03 34 */ stw r0, 0x334(r3) -/* 80072944 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80072948 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8007294C 88 03 01 E2 */ lbz r0, 0x1e2(r3) -/* 80072950 7C 00 00 34 */ cntlzw r0, r0 -/* 80072954 54 04 D9 7E */ srwi r4, r0, 5 -/* 80072958 88 6D 80 F0 */ lbz r3, data_80450670(r13) -/* 8007295C 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f -/* 80072960 7C 03 00 40 */ cmplw r3, r0 -/* 80072964 41 82 00 10 */ beq lbl_80072974 -/* 80072968 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 8007296C 64 00 00 01 */ oris r0, r0, 1 -/* 80072970 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072974: -/* 80072974 98 8D 80 F0 */ stb r4, data_80450670(r13) -/* 80072978 80 7F 04 C4 */ lwz r3, 0x4c4(r31) -/* 8007297C 2C 03 00 00 */ cmpwi r3, 0 -/* 80072980 41 82 00 14 */ beq lbl_80072994 -/* 80072984 38 03 FF FF */ addi r0, r3, -1 -/* 80072988 90 1F 04 C4 */ stw r0, 0x4c4(r31) -/* 8007298C 38 60 00 01 */ li r3, 1 -/* 80072990 48 00 02 30 */ b lbl_80072BC0 -lbl_80072994: -/* 80072994 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072998 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 8007299C 41 82 00 1C */ beq lbl_800729B8 -/* 800729A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800729A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800729A8 80 03 5D AC */ lwz r0, 0x5dac(r3) -/* 800729AC 90 1F 00 00 */ stw r0, 0(r31) -/* 800729B0 38 00 00 00 */ li r0, 0 -/* 800729B4 90 1F 00 0C */ stw r0, 0xc(r31) -lbl_800729B8: -/* 800729B8 7F E3 FB 78 */ mr r3, r31 -/* 800729BC 4B FF EA 69 */ bl setOwnerAttentionPos__12dAttention_cFv -/* 800729C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800729C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800729C8 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 800729CC 28 00 00 00 */ cmplwi r0, 0 -/* 800729D0 40 82 00 10 */ bne lbl_800729E0 -/* 800729D4 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800729D8 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 800729DC 41 82 00 44 */ beq lbl_80072A20 -lbl_800729E0: -/* 800729E0 38 60 00 00 */ li r3, 0 -/* 800729E4 98 7F 03 29 */ stb r3, 0x329(r31) -/* 800729E8 38 00 00 04 */ li r0, 4 -/* 800729EC 98 1F 03 2B */ stb r0, 0x32b(r31) -/* 800729F0 98 7F 03 2C */ stb r3, 0x32c(r31) -/* 800729F4 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800729F8 54 00 00 C2 */ rlwinm r0, r0, 0, 3, 1 -/* 800729FC 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072A00 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072A04 54 00 01 04 */ rlwinm r0, r0, 0, 4, 2 -/* 80072A08 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072A0C 38 00 FF FF */ li r0, -1 -/* 80072A10 90 1F 00 04 */ stw r0, 4(r31) -/* 80072A14 7F E3 FB 78 */ mr r3, r31 -/* 80072A18 4B FF F0 51 */ bl freeAttention__12dAttention_cFv -/* 80072A1C 48 00 01 18 */ b lbl_80072B34 -lbl_80072A20: -/* 80072A20 7F E3 FB 78 */ mr r3, r31 -/* 80072A24 4B FF F6 D5 */ bl checkButton__12dAttention_cFv -/* 80072A28 88 0D 80 F0 */ lbz r0, data_80450670(r13) -/* 80072A2C 28 00 00 00 */ cmplwi r0, 0 -/* 80072A30 41 82 00 10 */ beq lbl_80072A40 -/* 80072A34 7F E3 FB 78 */ mr r3, r31 -/* 80072A38 4B FF F9 0D */ bl judgementStatus4Hold__12dAttention_cFv -/* 80072A3C 48 00 00 0C */ b lbl_80072A48 -lbl_80072A40: -/* 80072A40 7F E3 FB 78 */ mr r3, r31 -/* 80072A44 4B FF FB AD */ bl judgementStatus4Switch__12dAttention_cFv -lbl_80072A48: -/* 80072A48 80 7F 03 34 */ lwz r3, 0x334(r31) -/* 80072A4C 54 60 4F FF */ rlwinm. r0, r3, 9, 0x1f, 0x1f -/* 80072A50 41 82 00 4C */ beq lbl_80072A9C -/* 80072A54 7F E3 FB 78 */ mr r3, r31 -/* 80072A58 4B FF F0 11 */ bl freeAttention__12dAttention_cFv -/* 80072A5C 7F E3 FB 78 */ mr r3, r31 -/* 80072A60 38 80 00 00 */ li r4, 0 -/* 80072A64 48 00 0A D9 */ bl LockonTarget__12dAttention_cFl -/* 80072A68 28 03 00 00 */ cmplwi r3, 0 -/* 80072A6C 40 82 00 14 */ bne lbl_80072A80 -/* 80072A70 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072A74 64 00 20 00 */ oris r0, r0, 0x2000 -/* 80072A78 60 00 00 20 */ ori r0, r0, 0x20 -/* 80072A7C 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072A80: -/* 80072A80 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072A84 64 00 10 00 */ oris r0, r0, 0x1000 -/* 80072A88 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072A8C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072A90 54 00 02 4E */ rlwinm r0, r0, 0, 9, 7 -/* 80072A94 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072A98 48 00 00 9C */ b lbl_80072B34 -lbl_80072A9C: -/* 80072A9C 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3 -/* 80072AA0 41 82 00 48 */ beq lbl_80072AE8 -/* 80072AA4 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80072AA8 4B FF D5 71 */ bl func_80070018 -/* 80072AAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80072AB0 40 82 00 84 */ bne lbl_80072B34 -/* 80072AB4 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072AB8 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 80072ABC 41 82 00 1C */ beq lbl_80072AD8 -/* 80072AC0 7F E3 FB 78 */ mr r3, r31 -/* 80072AC4 38 80 00 5A */ li r4, 0x5a -/* 80072AC8 48 00 02 B9 */ bl lockSoundStart__12dAttention_cFUl -/* 80072ACC 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072AD0 54 00 00 C2 */ rlwinm r0, r0, 0, 3, 1 -/* 80072AD4 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072AD8: -/* 80072AD8 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072ADC 54 00 01 04 */ rlwinm r0, r0, 0, 4, 2 -/* 80072AE0 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072AE4 48 00 00 50 */ b lbl_80072B34 -lbl_80072AE8: -/* 80072AE8 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80072AEC 4B FF D5 2D */ bl func_80070018 -/* 80072AF0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80072AF4 41 82 00 40 */ beq lbl_80072B34 -/* 80072AF8 7F E3 FB 78 */ mr r3, r31 -/* 80072AFC 38 80 00 00 */ li r4, 0 -/* 80072B00 48 00 0A 3D */ bl LockonTarget__12dAttention_cFl -/* 80072B04 28 03 00 00 */ cmplwi r3, 0 -/* 80072B08 40 82 00 20 */ bne lbl_80072B28 -/* 80072B0C 7F E3 FB 78 */ mr r3, r31 -/* 80072B10 38 80 00 59 */ li r4, 0x59 -/* 80072B14 48 00 02 6D */ bl lockSoundStart__12dAttention_cFUl -/* 80072B18 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072B1C 64 00 20 00 */ oris r0, r0, 0x2000 -/* 80072B20 60 00 00 20 */ ori r0, r0, 0x20 -/* 80072B24 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072B28: -/* 80072B28 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072B2C 64 00 10 00 */ oris r0, r0, 0x1000 -/* 80072B30 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072B34: -/* 80072B34 88 1F 03 29 */ lbz r0, 0x329(r31) -/* 80072B38 98 1F 03 2A */ stb r0, 0x32a(r31) -/* 80072B3C 7F E3 FB 78 */ mr r3, r31 -/* 80072B40 4B FF F2 AD */ bl runSoundProc__12dAttention_cFv -/* 80072B44 7F E3 FB 78 */ mr r3, r31 -/* 80072B48 4B FF F3 3D */ bl runDrawProc__12dAttention_cFv -/* 80072B4C 7F E3 FB 78 */ mr r3, r31 -/* 80072B50 4B FF F5 A5 */ bl runDebugDisp__12dAttention_cFv -/* 80072B54 88 1F 03 29 */ lbz r0, 0x329(r31) -/* 80072B58 28 00 00 01 */ cmplwi r0, 1 -/* 80072B5C 40 82 00 28 */ bne lbl_80072B84 -/* 80072B60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80072B64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80072B68 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80072B6C 1C 00 00 38 */ mulli r0, r0, 0x38 -/* 80072B70 7C 63 02 14 */ add r3, r3, r0 -/* 80072B74 80 03 5D 7C */ lwz r0, 0x5d7c(r3) -/* 80072B78 60 00 00 01 */ ori r0, r0, 1 -/* 80072B7C 90 03 5D 7C */ stw r0, 0x5d7c(r3) -/* 80072B80 48 00 00 24 */ b lbl_80072BA4 -lbl_80072B84: -/* 80072B84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80072B88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80072B8C 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80072B90 1C 00 00 38 */ mulli r0, r0, 0x38 -/* 80072B94 7C 63 02 14 */ add r3, r3, r0 -/* 80072B98 80 03 5D 7C */ lwz r0, 0x5d7c(r3) -/* 80072B9C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 80072BA0 90 03 5D 7C */ stw r0, 0x5d7c(r3) -lbl_80072BA4: -/* 80072BA4 38 7F 04 90 */ addi r3, r31, 0x490 -/* 80072BA8 48 00 0D C9 */ bl proc__10dAttHint_cFv -/* 80072BAC 38 7F 04 9C */ addi r3, r31, 0x49c -/* 80072BB0 48 00 0E 2D */ bl proc__11dAttCatch_cFv -/* 80072BB4 38 7F 04 B4 */ addi r3, r31, 0x4b4 -/* 80072BB8 48 00 11 35 */ bl proc__10dAttLook_cFv -/* 80072BBC 38 60 00 01 */ li r3, 1 -lbl_80072BC0: -/* 80072BC0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80072BC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80072BC8 7C 08 03 A6 */ mtlr r0 -/* 80072BCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80072BD0 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/__ct__11dAttParam_cFl.s b/asm/d/d_attention/__ct__11dAttParam_cFl.s index 07212d18ad..69accabe21 100644 --- a/asm/d/d_attention/__ct__11dAttParam_cFl.s +++ b/asm/d/d_attention/__ct__11dAttParam_cFl.s @@ -46,7 +46,7 @@ lbl_80070038: /* 800700E8 48 2F 88 AD */ bl strcmp /* 800700EC 7C 60 00 34 */ cntlzw r0, r3 /* 800700F0 54 00 D9 7E */ srwi r0, r0, 5 -/* 800700F4 98 0D 89 D8 */ stb r0, data_80450F58(r13) +/* 800700F4 98 0D 89 D8 */ stb r0, on_final_boss_stg(r13) /* 800700F8 7F E3 FB 78 */ mr r3, r31 /* 800700FC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80070100 80 01 00 14 */ lwz r0, 0x14(r1) diff --git a/asm/d/d_attention/__ct__15dAttDrawParam_cFv.s b/asm/d/d_attention/__ct__15dAttDrawParam_cFv.s deleted file mode 100644 index f19cb8b1c7..0000000000 --- a/asm/d/d_attention/__ct__15dAttDrawParam_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80070158: -/* 80070158 3C 80 80 3B */ lis r4, __vt__15dAttDrawParam_c@ha /* 0x803A9C54@ha */ -/* 8007015C 38 04 9C 54 */ addi r0, r4, __vt__15dAttDrawParam_c@l /* 0x803A9C54@l */ -/* 80070160 90 03 00 00 */ stw r0, 0(r3) -/* 80070164 C0 02 8C 5C */ lfs f0, lit_4084(r2) -/* 80070168 D0 03 00 08 */ stfs f0, 8(r3) -/* 8007016C C0 02 8C 60 */ lfs f0, lit_4085(r2) -/* 80070170 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80070174 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/__dt__11dAttParam_cFv.s b/asm/d/d_attention/__dt__11dAttParam_cFv.s deleted file mode 100644 index 3043b987ef..0000000000 --- a/asm/d/d_attention/__dt__11dAttParam_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80070110: -/* 80070110 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80070114 7C 08 02 A6 */ mflr r0 -/* 80070118 90 01 00 14 */ stw r0, 0x14(r1) -/* 8007011C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80070120 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80070124 41 82 00 1C */ beq lbl_80070140 -/* 80070128 3C A0 80 3B */ lis r5, __vt__11dAttParam_c@ha /* 0x803A9C60@ha */ -/* 8007012C 38 05 9C 60 */ addi r0, r5, __vt__11dAttParam_c@l /* 0x803A9C60@l */ -/* 80070130 90 1F 00 40 */ stw r0, 0x40(r31) -/* 80070134 7C 80 07 35 */ extsh. r0, r4 -/* 80070138 40 81 00 08 */ ble lbl_80070140 -/* 8007013C 48 25 EC 01 */ bl __dl__FPv -lbl_80070140: -/* 80070140 7F E3 FB 78 */ mr r3, r31 -/* 80070144 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80070148 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007014C 7C 08 03 A6 */ mtlr r0 -/* 80070150 38 21 00 10 */ addi r1, r1, 0x10 -/* 80070154 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/__dt__12dAttention_cFv.s b/asm/d/d_attention/__dt__12dAttention_cFv.s deleted file mode 100644 index 229fc0bbc3..0000000000 --- a/asm/d/d_attention/__dt__12dAttention_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80070774: -/* 80070774 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80070778 7C 08 02 A6 */ mflr r0 -/* 8007077C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80070780 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80070784 93 C1 00 08 */ stw r30, 8(r1) -/* 80070788 7C 7E 1B 79 */ or. r30, r3, r3 -/* 8007078C 7C 9F 23 78 */ mr r31, r4 -/* 80070790 41 82 00 98 */ beq lbl_80070828 -/* 80070794 80 7E 00 18 */ lwz r3, 0x18(r30) -/* 80070798 28 03 00 00 */ cmplwi r3, 0 -/* 8007079C 41 82 00 10 */ beq lbl_800707AC -/* 800707A0 4B F9 E9 ED */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap -/* 800707A4 38 00 00 00 */ li r0, 0 -/* 800707A8 90 1E 00 18 */ stw r0, 0x18(r30) -lbl_800707AC: -/* 800707AC 38 7E 04 C8 */ addi r3, r30, 0x4c8 -/* 800707B0 38 80 FF FF */ li r4, -1 -/* 800707B4 4B FF F9 5D */ bl __dt__11dAttParam_cFv -/* 800707B8 38 7E 04 38 */ addi r3, r30, 0x438 -/* 800707BC 3C 80 80 03 */ lis r4, __dt__10dAttList_cFv@ha /* 0x800304D0@ha */ -/* 800707C0 38 84 04 D0 */ addi r4, r4, __dt__10dAttList_cFv@l /* 0x800304D0@l */ -/* 800707C4 38 A0 00 14 */ li r5, 0x14 -/* 800707C8 38 C0 00 04 */ li r6, 4 -/* 800707CC 48 2F 15 1D */ bl __destroy_arr -/* 800707D0 38 7E 03 E0 */ addi r3, r30, 0x3e0 -/* 800707D4 3C 80 80 03 */ lis r4, __dt__10dAttList_cFv@ha /* 0x800304D0@ha */ -/* 800707D8 38 84 04 D0 */ addi r4, r4, __dt__10dAttList_cFv@l /* 0x800304D0@l */ -/* 800707DC 38 A0 00 14 */ li r5, 0x14 -/* 800707E0 38 C0 00 04 */ li r6, 4 -/* 800707E4 48 2F 15 05 */ bl __destroy_arr -/* 800707E8 38 7E 03 38 */ addi r3, r30, 0x338 -/* 800707EC 3C 80 80 03 */ lis r4, __dt__10dAttList_cFv@ha /* 0x800304D0@ha */ -/* 800707F0 38 84 04 D0 */ addi r4, r4, __dt__10dAttList_cFv@l /* 0x800304D0@l */ -/* 800707F4 38 A0 00 14 */ li r5, 0x14 -/* 800707F8 38 C0 00 08 */ li r6, 8 -/* 800707FC 48 2F 14 ED */ bl __destroy_arr -/* 80070800 38 7E 00 28 */ addi r3, r30, 0x28 -/* 80070804 3C 80 80 03 */ lis r4, __dt__10dAttDraw_cFv@ha /* 0x8003054C@ha */ -/* 80070808 38 84 05 4C */ addi r4, r4, __dt__10dAttDraw_cFv@l /* 0x8003054C@l */ -/* 8007080C 38 A0 01 78 */ li r5, 0x178 -/* 80070810 38 C0 00 02 */ li r6, 2 -/* 80070814 48 2F 14 D5 */ bl __destroy_arr -/* 80070818 7F E0 07 35 */ extsh. r0, r31 -/* 8007081C 40 81 00 0C */ ble lbl_80070828 -/* 80070820 7F C3 F3 78 */ mr r3, r30 -/* 80070824 48 25 E5 19 */ bl __dl__FPv -lbl_80070828: -/* 80070828 7F C3 F3 78 */ mr r3, r30 -/* 8007082C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80070830 83 C1 00 08 */ lwz r30, 8(r1) -/* 80070834 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80070838 7C 08 03 A6 */ mtlr r0 -/* 8007083C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80070840 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/__dt__15dAttDrawParam_cFv.s b/asm/d/d_attention/__dt__15dAttDrawParam_cFv.s deleted file mode 100644 index 945a950dcf..0000000000 --- a/asm/d/d_attention/__dt__15dAttDrawParam_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80073FC4: -/* 80073FC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073FC8 7C 08 02 A6 */ mflr r0 -/* 80073FCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073FD0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80073FD4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80073FD8 41 82 00 1C */ beq lbl_80073FF4 -/* 80073FDC 3C A0 80 3B */ lis r5, __vt__15dAttDrawParam_c@ha /* 0x803A9C54@ha */ -/* 80073FE0 38 05 9C 54 */ addi r0, r5, __vt__15dAttDrawParam_c@l /* 0x803A9C54@l */ -/* 80073FE4 90 1F 00 00 */ stw r0, 0(r31) -/* 80073FE8 7C 80 07 35 */ extsh. r0, r4 -/* 80073FEC 40 81 00 08 */ ble lbl_80073FF4 -/* 80073FF0 48 25 AD 4D */ bl __dl__FPv -lbl_80073FF4: -/* 80073FF4 7F E3 FB 78 */ mr r3, r31 -/* 80073FF8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80073FFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80074000 7C 08 03 A6 */ mtlr r0 -/* 80074004 38 21 00 10 */ addi r1, r1, 0x10 -/* 80074008 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/checkButton__12dAttention_cFv.s b/asm/d/d_attention/checkButton__12dAttention_cFv.s deleted file mode 100644 index db3e953c46..0000000000 --- a/asm/d/d_attention/checkButton__12dAttention_cFv.s +++ /dev/null @@ -1,118 +0,0 @@ -lbl_800720F8: -/* 800720F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800720FC 7C 08 02 A6 */ mflr r0 -/* 80072100 90 01 00 14 */ stw r0, 0x14(r1) -/* 80072104 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80072108 7C 7F 1B 78 */ mr r31, r3 -/* 8007210C 88 0D 89 D8 */ lbz r0, data_80450F58(r13) -/* 80072110 28 00 00 00 */ cmplwi r0, 0 -/* 80072114 41 82 00 60 */ beq lbl_80072174 -/* 80072118 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8007211C 7C 00 07 75 */ extsb. r0, r0 -/* 80072120 40 82 00 54 */ bne lbl_80072174 -/* 80072124 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80072128 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8007212C 38 63 09 78 */ addi r3, r3, 0x978 -/* 80072130 38 80 00 01 */ li r4, 1 -/* 80072134 4B FC 2A B5 */ bl isSwitch__12dSv_danBit_cCFi -/* 80072138 2C 03 00 00 */ cmpwi r3, 0 -/* 8007213C 40 82 00 38 */ bne lbl_80072174 -/* 80072140 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 80072144 28 00 00 01 */ cmplwi r0, 1 -/* 80072148 40 82 00 2C */ bne lbl_80072174 -/* 8007214C 7F E3 FB 78 */ mr r3, r31 -/* 80072150 38 80 00 00 */ li r4, 0 -/* 80072154 48 00 13 E9 */ bl LockonTarget__12dAttention_cFl -/* 80072158 28 03 00 00 */ cmplwi r3, 0 -/* 8007215C 41 82 00 18 */ beq lbl_80072174 -/* 80072160 80 7F 03 34 */ lwz r3, 0x334(r31) -/* 80072164 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2 -/* 80072168 41 82 00 0C */ beq lbl_80072174 -/* 8007216C 64 60 01 00 */ oris r0, r3, 0x100 -/* 80072170 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072174: -/* 80072174 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80072178 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8007217C 80 85 5F 18 */ lwz r4, 0x5f18(r5) -/* 80072180 3C 60 36 A0 */ lis r3, 0x36A0 /* 0x36A02311@ha */ -/* 80072184 38 03 23 11 */ addi r0, r3, 0x2311 /* 0x36A02311@l */ -/* 80072188 7C 80 00 39 */ and. r0, r4, r0 -/* 8007218C 40 82 00 10 */ bne lbl_8007219C -/* 80072190 80 05 5F 1C */ lwz r0, 0x5f1c(r5) -/* 80072194 70 00 00 11 */ andi. r0, r0, 0x11 -/* 80072198 41 82 00 34 */ beq lbl_800721CC -lbl_8007219C: -/* 8007219C 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 800721A0 2C 00 00 02 */ cmpwi r0, 2 -/* 800721A4 40 80 00 E8 */ bge lbl_8007228C -/* 800721A8 2C 00 00 00 */ cmpwi r0, 0 -/* 800721AC 40 80 00 08 */ bge lbl_800721B4 -/* 800721B0 48 00 00 DC */ b lbl_8007228C -lbl_800721B4: -/* 800721B4 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800721B8 54 00 02 0C */ rlwinm r0, r0, 0, 8, 6 -/* 800721BC 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800721C0 38 00 00 04 */ li r0, 4 -/* 800721C4 98 1F 03 2B */ stb r0, 0x32b(r31) -/* 800721C8 48 00 00 C4 */ b lbl_8007228C -lbl_800721CC: -/* 800721CC 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 800721D0 2C 00 00 01 */ cmpwi r0, 1 -/* 800721D4 41 82 00 68 */ beq lbl_8007223C -/* 800721D8 40 80 00 10 */ bge lbl_800721E8 -/* 800721DC 2C 00 00 00 */ cmpwi r0, 0 -/* 800721E0 40 80 00 54 */ bge lbl_80072234 -/* 800721E4 48 00 00 A8 */ b lbl_8007228C -lbl_800721E8: -/* 800721E8 2C 00 00 04 */ cmpwi r0, 4 -/* 800721EC 41 82 00 08 */ beq lbl_800721F4 -/* 800721F0 48 00 00 9C */ b lbl_8007228C -lbl_800721F4: -/* 800721F4 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 800721F8 4B FF DE 21 */ bl func_80070018 -/* 800721FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80072200 40 82 00 10 */ bne lbl_80072210 -/* 80072204 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072208 54 00 01 CF */ rlwinm. r0, r0, 0, 7, 7 -/* 8007220C 41 82 00 80 */ beq lbl_8007228C -lbl_80072210: -/* 80072210 38 00 00 00 */ li r0, 0 -/* 80072214 98 1F 03 2B */ stb r0, 0x32b(r31) -/* 80072218 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 8007221C 60 00 02 00 */ ori r0, r0, 0x200 -/* 80072220 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072224 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072228 54 00 02 0C */ rlwinm r0, r0, 0, 8, 6 -/* 8007222C 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072230 48 00 00 5C */ b lbl_8007228C -lbl_80072234: -/* 80072234 38 00 00 01 */ li r0, 1 -/* 80072238 98 1F 03 2B */ stb r0, 0x32b(r31) -lbl_8007223C: -/* 8007223C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072240 54 00 01 CF */ rlwinm. r0, r0, 0, 7, 7 -/* 80072244 41 82 00 30 */ beq lbl_80072274 -/* 80072248 38 00 00 00 */ li r0, 0 -/* 8007224C 98 1F 03 2B */ stb r0, 0x32b(r31) -/* 80072250 38 00 00 3C */ li r0, 0x3c -/* 80072254 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 80072258 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 8007225C 60 00 02 00 */ ori r0, r0, 0x200 -/* 80072260 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072264 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072268 54 00 02 0C */ rlwinm r0, r0, 0, 8, 6 -/* 8007226C 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072270 48 00 00 1C */ b lbl_8007228C -lbl_80072274: -/* 80072274 80 7F 00 0C */ lwz r3, 0xc(r31) -/* 80072278 4B FF DD A1 */ bl func_80070018 -/* 8007227C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80072280 40 82 00 0C */ bne lbl_8007228C -/* 80072284 38 00 00 04 */ li r0, 4 -/* 80072288 98 1F 03 2B */ stb r0, 0x32b(r31) -lbl_8007228C: -/* 8007228C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80072290 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80072294 7C 08 03 A6 */ mtlr r0 -/* 80072298 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007229C 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/checkDistance__12dAttention_cFP4cXyzsP4cXyzffff.s b/asm/d/d_attention/checkDistance__12dAttention_cFP4cXyzsP4cXyzffff.s deleted file mode 100644 index 2c40001e4f..0000000000 --- a/asm/d/d_attention/checkDistance__12dAttention_cFP4cXyzsP4cXyzffff.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80073838: -/* 80073838 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8007383C 7C 08 02 A6 */ mflr r0 -/* 80073840 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073844 7C 83 23 78 */ mr r3, r4 -/* 80073848 7C A4 2B 78 */ mr r4, r5 -/* 8007384C 7C C5 33 78 */ mr r5, r6 -/* 80073850 4B FF D4 51 */ bl check_distace__FP4cXyzsP4cXyzffff -/* 80073854 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80073858 7C 08 03 A6 */ mtlr r0 -/* 8007385C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80073860 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/check_event_condition__FUlUs.s b/asm/d/d_attention/check_event_condition__FUlUs.s deleted file mode 100644 index 6859e8055c..0000000000 --- a/asm/d/d_attention/check_event_condition__FUlUs.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80070AC0: -/* 80070AC0 2C 03 00 04 */ cmpwi r3, 4 -/* 80070AC4 41 82 00 60 */ beq lbl_80070B24 -/* 80070AC8 40 80 00 1C */ bge lbl_80070AE4 -/* 80070ACC 2C 03 00 02 */ cmpwi r3, 2 -/* 80070AD0 41 82 00 54 */ beq lbl_80070B24 -/* 80070AD4 40 80 00 20 */ bge lbl_80070AF4 -/* 80070AD8 2C 03 00 01 */ cmpwi r3, 1 -/* 80070ADC 40 80 00 18 */ bge lbl_80070AF4 -/* 80070AE0 48 00 00 44 */ b lbl_80070B24 -lbl_80070AE4: -/* 80070AE4 2C 03 00 06 */ cmpwi r3, 6 -/* 80070AE8 41 82 00 2C */ beq lbl_80070B14 -/* 80070AEC 40 80 00 38 */ bge lbl_80070B24 -/* 80070AF0 48 00 00 14 */ b lbl_80070B04 -lbl_80070AF4: -/* 80070AF4 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 80070AF8 40 82 00 2C */ bne lbl_80070B24 -/* 80070AFC 38 60 00 01 */ li r3, 1 -/* 80070B00 4E 80 00 20 */ blr -lbl_80070B04: -/* 80070B04 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 80070B08 40 82 00 1C */ bne lbl_80070B24 -/* 80070B0C 38 60 00 01 */ li r3, 1 -/* 80070B10 4E 80 00 20 */ blr -lbl_80070B14: -/* 80070B14 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 80070B18 40 82 00 0C */ bne lbl_80070B24 -/* 80070B1C 38 60 00 01 */ li r3, 1 -/* 80070B20 4E 80 00 20 */ blr -lbl_80070B24: -/* 80070B24 38 60 00 00 */ li r3, 0 -/* 80070B28 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/check_flontofplayer__FUlss.s b/asm/d/d_attention/check_flontofplayer__FUlss.s deleted file mode 100644 index 31912f9e7d..0000000000 --- a/asm/d/d_attention/check_flontofplayer__FUlss.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80070B2C: -/* 80070B2C 7C 80 07 35 */ extsh. r0, r4 -/* 80070B30 40 80 00 0C */ bge lbl_80070B3C -/* 80070B34 7C 04 00 D0 */ neg r0, r4 -/* 80070B38 7C 04 07 34 */ extsh r4, r0 -lbl_80070B3C: -/* 80070B3C 7C A0 07 35 */ extsh. r0, r5 -/* 80070B40 40 80 00 0C */ bge lbl_80070B4C -/* 80070B44 7C 05 00 D0 */ neg r0, r5 -/* 80070B48 7C 05 07 34 */ extsh r5, r0 -lbl_80070B4C: -/* 80070B4C 38 C0 00 00 */ li r6, 0 -/* 80070B50 38 E0 00 00 */ li r7, 0 -/* 80070B54 3D 00 80 3B */ lis r8, ftp_table@ha /* 0x803A9C18@ha */ -/* 80070B58 39 28 9C 18 */ addi r9, r8, ftp_table@l /* 0x803A9C18@l */ -/* 80070B5C 7C 88 07 34 */ extsh r8, r4 -/* 80070B60 38 8D 80 F4 */ la r4, ang_table(r13) /* 80450674-_SDA_BASE_ */ -/* 80070B64 38 00 00 03 */ li r0, 3 -/* 80070B68 7C 09 03 A6 */ mtctr r0 -lbl_80070B6C: -/* 80070B6C 7C 09 38 2E */ lwzx r0, r9, r7 -/* 80070B70 7C 60 00 39 */ and. r0, r3, r0 -/* 80070B74 41 82 00 18 */ beq lbl_80070B8C -/* 80070B78 7C 04 32 AE */ lhax r0, r4, r6 -/* 80070B7C 7C 08 00 00 */ cmpw r8, r0 -/* 80070B80 40 81 00 0C */ ble lbl_80070B8C -/* 80070B84 38 60 00 01 */ li r3, 1 -/* 80070B88 4E 80 00 20 */ blr -lbl_80070B8C: -/* 80070B8C 38 C6 00 02 */ addi r6, r6, 2 -/* 80070B90 38 E7 00 04 */ addi r7, r7, 4 -/* 80070B94 42 00 FF D8 */ bdnz lbl_80070B6C -/* 80070B98 38 80 00 10 */ li r4, 0x10 -/* 80070B9C 38 C0 00 20 */ li r6, 0x20 -/* 80070BA0 3C E0 80 3B */ lis r7, ftp_table@ha /* 0x803A9C18@ha */ -/* 80070BA4 39 27 9C 18 */ addi r9, r7, ftp_table@l /* 0x803A9C18@l */ -/* 80070BA8 7C A8 07 34 */ extsh r8, r5 -/* 80070BAC 3C A0 80 3B */ lis r5, ang_table2@ha /* 0x803A9C3C@ha */ -/* 80070BB0 38 E5 9C 3C */ addi r7, r5, ang_table2@l /* 0x803A9C3C@l */ -/* 80070BB4 38 00 00 06 */ li r0, 6 -/* 80070BB8 7C 09 03 A6 */ mtctr r0 -lbl_80070BBC: -/* 80070BBC 7C 09 30 2E */ lwzx r0, r9, r6 -/* 80070BC0 7C 60 00 39 */ and. r0, r3, r0 -/* 80070BC4 41 82 00 1C */ beq lbl_80070BE0 -/* 80070BC8 7C A7 22 14 */ add r5, r7, r4 -/* 80070BCC A8 05 FF FA */ lha r0, -6(r5) -/* 80070BD0 7C 08 00 00 */ cmpw r8, r0 -/* 80070BD4 40 81 00 0C */ ble lbl_80070BE0 -/* 80070BD8 38 60 00 01 */ li r3, 1 -/* 80070BDC 4E 80 00 20 */ blr -lbl_80070BE0: -/* 80070BE0 38 84 FF FE */ addi r4, r4, -2 -/* 80070BE4 38 C6 FF FC */ addi r6, r6, -4 -/* 80070BE8 42 00 FF D4 */ bdnz lbl_80070BBC -/* 80070BEC 38 60 00 00 */ li r3, 0 -/* 80070BF0 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/chkAttMask__12dAttention_cFUlUl.s b/asm/d/d_attention/chkAttMask__12dAttention_cFUlUl.s deleted file mode 100644 index 618998eae9..0000000000 --- a/asm/d/d_attention/chkAttMask__12dAttention_cFUlUl.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80070A70: -/* 80070A70 38 60 00 00 */ li r3, 0 -/* 80070A74 80 0D 80 E0 */ lwz r0, loc_type_num__12dAttention_c(r13) -/* 80070A78 3C C0 80 3B */ lis r6, loc_type_tbl__12dAttention_c@ha /* 0x803A9BF8@ha */ -/* 80070A7C 38 C6 9B F8 */ addi r6, r6, loc_type_tbl__12dAttention_c@l /* 0x803A9BF8@l */ -/* 80070A80 7C 09 03 A6 */ mtctr r0 -/* 80070A84 2C 00 00 00 */ cmpwi r0, 0 -/* 80070A88 40 81 00 30 */ ble lbl_80070AB8 -lbl_80070A8C: -/* 80070A8C 7C 06 1A AE */ lhax r0, r6, r3 -/* 80070A90 7C 04 00 40 */ cmplw r4, r0 -/* 80070A94 40 82 00 1C */ bne lbl_80070AB0 -/* 80070A98 3C 80 80 3B */ lis r4, loc_type_tbl__12dAttention_c@ha /* 0x803A9BF8@ha */ -/* 80070A9C 38 04 9B F8 */ addi r0, r4, loc_type_tbl__12dAttention_c@l /* 0x803A9BF8@l */ -/* 80070AA0 7C 60 1A 14 */ add r3, r0, r3 -/* 80070AA4 A0 03 00 02 */ lhz r0, 2(r3) -/* 80070AA8 7C A3 00 38 */ and r3, r5, r0 -/* 80070AAC 4E 80 00 20 */ blr -lbl_80070AB0: -/* 80070AB0 38 63 00 04 */ addi r3, r3, 4 -/* 80070AB4 42 00 FF D8 */ bdnz lbl_80070A8C -lbl_80070AB8: -/* 80070AB8 38 60 00 01 */ li r3, 1 -/* 80070ABC 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/convPId__10dAttHint_cFUi.s b/asm/d/d_attention/convPId__10dAttHint_cFUi.s deleted file mode 100644 index 7cdf377991..0000000000 --- a/asm/d/d_attention/convPId__10dAttHint_cFUi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800738CC: -/* 800738CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800738D0 7C 08 02 A6 */ mflr r0 -/* 800738D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800738D8 90 81 00 08 */ stw r4, 8(r1) -/* 800738DC 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 800738E0 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 800738E4 38 81 00 08 */ addi r4, r1, 8 -/* 800738E8 4B FA 5F 11 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800738EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800738F0 7C 08 03 A6 */ mtlr r0 -/* 800738F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800738F8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/convPId__10dAttLook_cFUi.s b/asm/d/d_attention/convPId__10dAttLook_cFUi.s deleted file mode 100644 index 41ea43ba11..0000000000 --- a/asm/d/d_attention/convPId__10dAttLook_cFUi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80073CA4: -/* 80073CA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073CA8 7C 08 02 A6 */ mflr r0 -/* 80073CAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073CB0 90 81 00 08 */ stw r4, 8(r1) -/* 80073CB4 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 80073CB8 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80073CBC 38 81 00 08 */ addi r4, r1, 8 -/* 80073CC0 4B FA 5B 39 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80073CC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80073CC8 7C 08 03 A6 */ mtlr r0 -/* 80073CCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80073CD0 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/convPId__11dAttCatch_cFUi.s b/asm/d/d_attention/convPId__11dAttCatch_cFUi.s deleted file mode 100644 index 62535a9ac3..0000000000 --- a/asm/d/d_attention/convPId__11dAttCatch_cFUi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8007398C: -/* 8007398C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073990 7C 08 02 A6 */ mflr r0 -/* 80073994 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073998 90 81 00 08 */ stw r4, 8(r1) -/* 8007399C 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 800739A0 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 800739A4 38 81 00 08 */ addi r4, r1, 8 -/* 800739A8 4B FA 5E 51 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800739AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800739B0 7C 08 03 A6 */ mtlr r0 -/* 800739B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800739B8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/freeAttention__12dAttention_cFv.s b/asm/d/d_attention/freeAttention__12dAttention_cFv.s deleted file mode 100644 index 70fede49ab..0000000000 --- a/asm/d/d_attention/freeAttention__12dAttention_cFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80071A68: -/* 80071A68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80071A6C 7C 08 02 A6 */ mflr r0 -/* 80071A70 90 01 00 14 */ stw r0, 0x14(r1) -/* 80071A74 38 00 FF FF */ li r0, -1 -/* 80071A78 90 03 00 04 */ stw r0, 4(r3) -/* 80071A7C 38 80 FF FF */ li r4, -1 -/* 80071A80 4B FF F7 C1 */ bl initList__12dAttention_cFUl -/* 80071A84 38 60 00 00 */ li r3, 0 -/* 80071A88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80071A8C 7C 08 03 A6 */ mtlr r0 -/* 80071A90 38 21 00 10 */ addi r1, r1, 0x10 -/* 80071A94 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/func_80070018.s b/asm/d/d_attention/func_80070018.s deleted file mode 100644 index 61d1f69ee0..0000000000 --- a/asm/d/d_attention/func_80070018.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80070018: -/* 80070018 54 64 30 32 */ slwi r4, r3, 6 -/* 8007001C 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 80070020 38 03 D2 E8 */ addi r0, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 80070024 7C 60 22 14 */ add r3, r0, r4 -/* 80070028 88 63 00 39 */ lbz r3, 0x39(r3) -/* 8007002C 30 03 FF FF */ addic r0, r3, -1 -/* 80070030 7C 60 19 10 */ subfe r3, r0, r3 -/* 80070034 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/getActionBtnB__12dAttention_cFv.s b/asm/d/d_attention/getActionBtnB__12dAttention_cFv.s deleted file mode 100644 index bf10c5233c..0000000000 --- a/asm/d/d_attention/getActionBtnB__12dAttention_cFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_80070880: -/* 80070880 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80070884 7C 08 02 A6 */ mflr r0 -/* 80070888 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007088C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80070890 48 2F 19 49 */ bl _savegpr_28 -/* 80070894 7C 7C 1B 78 */ mr r28, r3 -/* 80070898 38 80 00 00 */ li r4, 0 -/* 8007089C 4B FF FF A9 */ bl GetLockonList__12dAttention_cFl -/* 800708A0 7C 7D 1B 79 */ or. r29, r3, r3 -/* 800708A4 41 82 00 48 */ beq lbl_800708EC -/* 800708A8 48 00 2F BD */ bl getActor__10dAttList_cFv -/* 800708AC 28 03 00 00 */ cmplwi r3, 0 -/* 800708B0 41 82 00 3C */ beq lbl_800708EC -/* 800708B4 80 1D 00 0C */ lwz r0, 0xc(r29) -/* 800708B8 28 00 00 01 */ cmplwi r0, 1 -/* 800708BC 40 82 00 30 */ bne lbl_800708EC -/* 800708C0 7F 83 E3 78 */ mr r3, r28 -/* 800708C4 48 00 2F 21 */ bl LockonTruth__12dAttention_cFv -/* 800708C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800708CC 41 82 00 20 */ beq lbl_800708EC -/* 800708D0 7F A3 EB 78 */ mr r3, r29 -/* 800708D4 48 00 2F 91 */ bl getActor__10dAttList_cFv -/* 800708D8 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 800708DC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800708E0 40 82 00 0C */ bne lbl_800708EC -/* 800708E4 7F A3 EB 78 */ mr r3, r29 -/* 800708E8 48 00 00 74 */ b lbl_8007095C -lbl_800708EC: -/* 800708EC 80 1C 04 30 */ lwz r0, 0x430(r28) -/* 800708F0 2C 00 00 00 */ cmpwi r0, 0 -/* 800708F4 40 82 00 0C */ bne lbl_80070900 -/* 800708F8 38 60 00 00 */ li r3, 0 -/* 800708FC 48 00 00 60 */ b lbl_8007095C -lbl_80070900: -/* 80070900 3B A0 00 00 */ li r29, 0 -/* 80070904 3B E0 00 00 */ li r31, 0 -/* 80070908 48 00 00 44 */ b lbl_8007094C -lbl_8007090C: -/* 8007090C 7C 7C FA 14 */ add r3, r28, r31 -/* 80070910 80 03 03 EC */ lwz r0, 0x3ec(r3) -/* 80070914 28 00 00 03 */ cmplwi r0, 3 -/* 80070918 40 82 00 24 */ bne lbl_8007093C -/* 8007091C 3B C3 03 E0 */ addi r30, r3, 0x3e0 -/* 80070920 7F C3 F3 78 */ mr r3, r30 -/* 80070924 48 00 2F 41 */ bl getActor__10dAttList_cFv -/* 80070928 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 8007092C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80070930 40 82 00 14 */ bne lbl_80070944 -/* 80070934 7F C3 F3 78 */ mr r3, r30 -/* 80070938 48 00 00 24 */ b lbl_8007095C -lbl_8007093C: -/* 8007093C 38 63 03 E0 */ addi r3, r3, 0x3e0 -/* 80070940 48 00 00 1C */ b lbl_8007095C -lbl_80070944: -/* 80070944 3B BD 00 01 */ addi r29, r29, 1 -/* 80070948 3B FF 00 14 */ addi r31, r31, 0x14 -lbl_8007094C: -/* 8007094C 80 1C 04 30 */ lwz r0, 0x430(r28) -/* 80070950 7C 1D 00 00 */ cmpw r29, r0 -/* 80070954 41 80 FF B8 */ blt lbl_8007090C -/* 80070958 38 60 00 00 */ li r3, 0 -lbl_8007095C: -/* 8007095C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80070960 48 2F 18 C5 */ bl _restgpr_28 -/* 80070964 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80070968 7C 08 03 A6 */ mtlr r0 -/* 8007096C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80070970 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/getActionBtnXY__12dAttention_cFv.s b/asm/d/d_attention/getActionBtnXY__12dAttention_cFv.s deleted file mode 100644 index 7a236eae4a..0000000000 --- a/asm/d/d_attention/getActionBtnXY__12dAttention_cFv.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_80070974: -/* 80070974 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80070978 7C 08 02 A6 */ mflr r0 -/* 8007097C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80070980 39 61 00 20 */ addi r11, r1, 0x20 -/* 80070984 48 2F 18 55 */ bl _savegpr_28 -/* 80070988 7C 7C 1B 78 */ mr r28, r3 -/* 8007098C 38 80 00 00 */ li r4, 0 -/* 80070990 4B FF FE B5 */ bl GetLockonList__12dAttention_cFl -/* 80070994 7C 7D 1B 79 */ or. r29, r3, r3 -/* 80070998 41 82 00 54 */ beq lbl_800709EC -/* 8007099C 48 00 2E C9 */ bl getActor__10dAttList_cFv -/* 800709A0 28 03 00 00 */ cmplwi r3, 0 -/* 800709A4 41 82 00 48 */ beq lbl_800709EC -/* 800709A8 80 1D 00 0C */ lwz r0, 0xc(r29) -/* 800709AC 28 00 00 01 */ cmplwi r0, 1 -/* 800709B0 40 82 00 3C */ bne lbl_800709EC -/* 800709B4 7F 83 E3 78 */ mr r3, r28 -/* 800709B8 48 00 2E 2D */ bl LockonTruth__12dAttention_cFv -/* 800709BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800709C0 41 82 00 2C */ beq lbl_800709EC -/* 800709C4 7F A3 EB 78 */ mr r3, r29 -/* 800709C8 48 00 2E 9D */ bl getActor__10dAttList_cFv -/* 800709CC A0 03 00 FA */ lhz r0, 0xfa(r3) -/* 800709D0 54 00 06 B4 */ rlwinm r0, r0, 0, 0x1a, 0x1a -/* 800709D4 2C 00 00 20 */ cmpwi r0, 0x20 -/* 800709D8 40 82 00 0C */ bne lbl_800709E4 -/* 800709DC 7F A3 EB 78 */ mr r3, r29 -/* 800709E0 48 00 00 78 */ b lbl_80070A58 -lbl_800709E4: -/* 800709E4 38 60 00 00 */ li r3, 0 -/* 800709E8 48 00 00 70 */ b lbl_80070A58 -lbl_800709EC: -/* 800709EC 80 1C 04 30 */ lwz r0, 0x430(r28) -/* 800709F0 2C 00 00 00 */ cmpwi r0, 0 -/* 800709F4 40 82 00 0C */ bne lbl_80070A00 -/* 800709F8 38 60 00 00 */ li r3, 0 -/* 800709FC 48 00 00 5C */ b lbl_80070A58 -lbl_80070A00: -/* 80070A00 3B A0 00 00 */ li r29, 0 -/* 80070A04 3B E0 00 00 */ li r31, 0 -/* 80070A08 48 00 00 40 */ b lbl_80070A48 -lbl_80070A0C: -/* 80070A0C 7C 7C FA 14 */ add r3, r28, r31 -/* 80070A10 80 03 03 EC */ lwz r0, 0x3ec(r3) -/* 80070A14 28 00 00 03 */ cmplwi r0, 3 -/* 80070A18 40 82 00 28 */ bne lbl_80070A40 -/* 80070A1C 3B C3 03 E0 */ addi r30, r3, 0x3e0 -/* 80070A20 7F C3 F3 78 */ mr r3, r30 -/* 80070A24 48 00 2E 41 */ bl getActor__10dAttList_cFv -/* 80070A28 A0 03 00 FA */ lhz r0, 0xfa(r3) -/* 80070A2C 54 00 06 B4 */ rlwinm r0, r0, 0, 0x1a, 0x1a -/* 80070A30 2C 00 00 20 */ cmpwi r0, 0x20 -/* 80070A34 40 82 00 0C */ bne lbl_80070A40 -/* 80070A38 7F C3 F3 78 */ mr r3, r30 -/* 80070A3C 48 00 00 1C */ b lbl_80070A58 -lbl_80070A40: -/* 80070A40 3B BD 00 01 */ addi r29, r29, 1 -/* 80070A44 3B FF 00 14 */ addi r31, r31, 0x14 -lbl_80070A48: -/* 80070A48 80 1C 04 30 */ lwz r0, 0x430(r28) -/* 80070A4C 7C 1D 00 00 */ cmpw r29, r0 -/* 80070A50 41 80 FF BC */ blt lbl_80070A0C -/* 80070A54 38 60 00 00 */ li r3, 0 -lbl_80070A58: -/* 80070A58 39 61 00 20 */ addi r11, r1, 0x20 -/* 80070A5C 48 2F 17 C9 */ bl _restgpr_28 -/* 80070A60 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80070A64 7C 08 03 A6 */ mtlr r0 -/* 80070A68 38 21 00 20 */ addi r1, r1, 0x20 -/* 80070A6C 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/getActor__10dAttList_cFv.s b/asm/d/d_attention/getActor__10dAttList_cFv.s deleted file mode 100644 index 24b7acdaa7..0000000000 --- a/asm/d/d_attention/getActor__10dAttList_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80073864: -/* 80073864 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073868 7C 08 02 A6 */ mflr r0 -/* 8007386C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073870 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80073874 90 01 00 08 */ stw r0, 8(r1) -/* 80073878 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 8007387C 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80073880 38 81 00 08 */ addi r4, r1, 8 -/* 80073884 4B FA 5F 75 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80073888 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007388C 7C 08 03 A6 */ mtlr r0 -/* 80073890 38 21 00 10 */ addi r1, r1, 0x10 -/* 80073894 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/getPId__10dAttHint_cFPv.s b/asm/d/d_attention/getPId__10dAttHint_cFPv.s deleted file mode 100644 index 0916ea26f0..0000000000 --- a/asm/d/d_attention/getPId__10dAttHint_cFPv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_800738B4: -/* 800738B4 28 04 00 00 */ cmplwi r4, 0 -/* 800738B8 41 82 00 0C */ beq lbl_800738C4 -/* 800738BC 80 64 00 04 */ lwz r3, 4(r4) -/* 800738C0 4E 80 00 20 */ blr -lbl_800738C4: -/* 800738C4 38 60 FF FF */ li r3, -1 -/* 800738C8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/init__10dAttHint_cFv.s b/asm/d/d_attention/init__10dAttHint_cFv.s deleted file mode 100644 index bec7ea59b6..0000000000 --- a/asm/d/d_attention/init__10dAttHint_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80073958: -/* 80073958 38 00 FF FF */ li r0, -1 -/* 8007395C 90 03 00 00 */ stw r0, 0(r3) -/* 80073960 90 03 00 08 */ stw r0, 8(r3) -/* 80073964 38 00 02 00 */ li r0, 0x200 -/* 80073968 90 03 00 04 */ stw r0, 4(r3) -/* 8007396C 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/init__10dAttLook_cFv.s b/asm/d/d_attention/init__10dAttLook_cFv.s deleted file mode 100644 index 183f84e507..0000000000 --- a/asm/d/d_attention/init__10dAttLook_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80073CD4: -/* 80073CD4 38 00 FF FF */ li r0, -1 -/* 80073CD8 90 03 00 00 */ stw r0, 0(r3) -/* 80073CDC 90 03 00 0C */ stw r0, 0xc(r3) -/* 80073CE0 38 00 00 03 */ li r0, 3 -/* 80073CE4 90 03 00 04 */ stw r0, 4(r3) -/* 80073CE8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/init__11dAttCatch_cFv.s b/asm/d/d_attention/init__11dAttCatch_cFv.s deleted file mode 100644 index 4e8cc29935..0000000000 --- a/asm/d/d_attention/init__11dAttCatch_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800739BC: -/* 800739BC 38 00 00 67 */ li r0, 0x67 -/* 800739C0 98 03 00 0C */ stb r0, 0xc(r3) -/* 800739C4 38 00 FF FF */ li r0, -1 -/* 800739C8 90 03 00 00 */ stw r0, 0(r3) -/* 800739CC 90 03 00 10 */ stw r0, 0x10(r3) -/* 800739D0 38 00 00 03 */ li r0, 3 -/* 800739D4 90 03 00 04 */ stw r0, 4(r3) -/* 800739D8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/judgementStatus4Hold__12dAttention_cFv.s b/asm/d/d_attention/judgementStatus4Hold__12dAttention_cFv.s deleted file mode 100644 index 216dbe9184..0000000000 --- a/asm/d/d_attention/judgementStatus4Hold__12dAttention_cFv.s +++ /dev/null @@ -1,188 +0,0 @@ -lbl_80072344: -/* 80072344 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80072348 7C 08 02 A6 */ mflr r0 -/* 8007234C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80072350 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80072354 7C 7F 1B 78 */ mr r31, r3 -/* 80072358 88 03 03 29 */ lbz r0, 0x329(r3) -/* 8007235C 2C 00 00 01 */ cmpwi r0, 1 -/* 80072360 41 82 00 68 */ beq lbl_800723C8 -/* 80072364 40 80 00 10 */ bge lbl_80072374 -/* 80072368 2C 00 00 00 */ cmpwi r0, 0 -/* 8007236C 40 80 00 14 */ bge lbl_80072380 -/* 80072370 48 00 02 34 */ b lbl_800725A4 -lbl_80072374: -/* 80072374 2C 00 00 03 */ cmpwi r0, 3 -/* 80072378 40 80 02 2C */ bge lbl_800725A4 -/* 8007237C 48 00 01 30 */ b lbl_800724AC -lbl_80072380: -/* 80072380 38 00 00 00 */ li r0, 0 -/* 80072384 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 80072388 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 8007238C 38 00 FF FF */ li r0, -1 -/* 80072390 90 1F 00 04 */ stw r0, 4(r31) -/* 80072394 4B FF F5 11 */ bl stockAttention__12dAttention_cFv -/* 80072398 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 8007239C 28 00 00 00 */ cmplwi r0, 0 -/* 800723A0 40 82 02 04 */ bne lbl_800725A4 -/* 800723A4 7F E3 FB 78 */ mr r3, r31 -/* 800723A8 4B FF FE F9 */ bl triggerProc__12dAttention_cFv -/* 800723AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800723B0 41 82 01 F4 */ beq lbl_800725A4 -/* 800723B4 38 00 00 01 */ li r0, 1 -/* 800723B8 98 1F 03 29 */ stb r0, 0x329(r31) -/* 800723BC 38 00 00 0F */ li r0, 0xf -/* 800723C0 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 800723C4 48 00 01 E0 */ b lbl_800725A4 -lbl_800723C8: -/* 800723C8 38 80 00 00 */ li r4, 0 -/* 800723CC 48 00 13 01 */ bl LockonTargetPId__12dAttention_cFl -/* 800723D0 90 7F 00 04 */ stw r3, 4(r31) -/* 800723D4 38 00 00 00 */ li r0, 0 -/* 800723D8 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 800723DC 7F E3 FB 78 */ mr r3, r31 -/* 800723E0 4B FF FF 0D */ bl lostCheck__12dAttention_cFv -/* 800723E4 2C 03 00 00 */ cmpwi r3, 0 -/* 800723E8 41 82 00 50 */ beq lbl_80072438 -/* 800723EC 38 00 FF FF */ li r0, -1 -/* 800723F0 90 1F 00 04 */ stw r0, 4(r31) -/* 800723F4 7F E3 FB 78 */ mr r3, r31 -/* 800723F8 4B FF F4 AD */ bl stockAttention__12dAttention_cFv -/* 800723FC 7F E3 FB 78 */ mr r3, r31 -/* 80072400 4B FF FE A1 */ bl triggerProc__12dAttention_cFv -/* 80072404 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80072408 41 82 00 10 */ beq lbl_80072418 -/* 8007240C 38 00 00 01 */ li r0, 1 -/* 80072410 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072414 48 00 00 80 */ b lbl_80072494 -lbl_80072418: -/* 80072418 38 00 00 00 */ li r0, 0 -/* 8007241C 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072420 7F E3 FB 78 */ mr r3, r31 -/* 80072424 4B FF F6 45 */ bl freeAttention__12dAttention_cFv -/* 80072428 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 8007242C 64 00 00 80 */ oris r0, r0, 0x80 -/* 80072430 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072434 48 00 00 60 */ b lbl_80072494 -lbl_80072438: -/* 80072438 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 8007243C 28 00 00 04 */ cmplwi r0, 4 -/* 80072440 40 82 00 24 */ bne lbl_80072464 -/* 80072444 38 00 00 02 */ li r0, 2 -/* 80072448 98 1F 03 29 */ stb r0, 0x329(r31) -/* 8007244C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072450 60 00 00 10 */ ori r0, r0, 0x10 -/* 80072454 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072458 38 00 00 0A */ li r0, 0xa -/* 8007245C 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 80072460 48 00 00 34 */ b lbl_80072494 -lbl_80072464: -/* 80072464 88 1F 03 2E */ lbz r0, 0x32e(r31) -/* 80072468 28 00 00 00 */ cmplwi r0, 0 -/* 8007246C 40 82 00 28 */ bne lbl_80072494 -/* 80072470 7F E3 FB 78 */ mr r3, r31 -/* 80072474 38 80 FF FF */ li r4, -1 -/* 80072478 4B FF ED C9 */ bl initList__12dAttention_cFUl -/* 8007247C 7F E3 FB 78 */ mr r3, r31 -/* 80072480 4B FF EF 4D */ bl makeList__12dAttention_cFv -/* 80072484 2C 03 00 00 */ cmpwi r3, 0 -/* 80072488 41 82 00 0C */ beq lbl_80072494 -/* 8007248C 7F E3 FB 78 */ mr r3, r31 -/* 80072490 4B FF F2 29 */ bl sortList__12dAttention_cFv -lbl_80072494: -/* 80072494 88 7F 03 2E */ lbz r3, 0x32e(r31) -/* 80072498 28 03 00 00 */ cmplwi r3, 0 -/* 8007249C 41 82 01 08 */ beq lbl_800725A4 -/* 800724A0 38 03 FF FF */ addi r0, r3, -1 -/* 800724A4 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 800724A8 48 00 00 FC */ b lbl_800725A4 -lbl_800724AC: -/* 800724AC 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800724B0 60 00 00 40 */ ori r0, r0, 0x40 -/* 800724B4 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800724B8 4B FF FE 35 */ bl lostCheck__12dAttention_cFv -/* 800724BC 2C 03 00 00 */ cmpwi r3, 0 -/* 800724C0 41 82 00 50 */ beq lbl_80072510 -/* 800724C4 38 00 FF FF */ li r0, -1 -/* 800724C8 90 1F 00 04 */ stw r0, 4(r31) -/* 800724CC 7F E3 FB 78 */ mr r3, r31 -/* 800724D0 4B FF F3 D5 */ bl stockAttention__12dAttention_cFv -/* 800724D4 7F E3 FB 78 */ mr r3, r31 -/* 800724D8 4B FF FD C9 */ bl triggerProc__12dAttention_cFv -/* 800724DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800724E0 41 82 00 10 */ beq lbl_800724F0 -/* 800724E4 38 00 00 01 */ li r0, 1 -/* 800724E8 98 1F 03 29 */ stb r0, 0x329(r31) -/* 800724EC 48 00 00 A4 */ b lbl_80072590 -lbl_800724F0: -/* 800724F0 38 00 00 00 */ li r0, 0 -/* 800724F4 98 1F 03 29 */ stb r0, 0x329(r31) -/* 800724F8 7F E3 FB 78 */ mr r3, r31 -/* 800724FC 4B FF F5 6D */ bl freeAttention__12dAttention_cFv -/* 80072500 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072504 64 00 00 80 */ oris r0, r0, 0x80 -/* 80072508 90 1F 03 34 */ stw r0, 0x334(r31) -/* 8007250C 48 00 00 84 */ b lbl_80072590 -lbl_80072510: -/* 80072510 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 80072514 28 00 00 00 */ cmplwi r0, 0 -/* 80072518 40 82 00 48 */ bne lbl_80072560 -/* 8007251C 7F E3 FB 78 */ mr r3, r31 -/* 80072520 4B FF F4 41 */ bl nextAttention__12dAttention_cFv -/* 80072524 28 03 00 00 */ cmplwi r3, 0 -/* 80072528 41 82 00 24 */ beq lbl_8007254C -/* 8007252C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072530 60 00 00 08 */ ori r0, r0, 8 -/* 80072534 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072538 38 00 00 01 */ li r0, 1 -/* 8007253C 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072540 38 00 00 0F */ li r0, 0xf -/* 80072544 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 80072548 48 00 00 48 */ b lbl_80072590 -lbl_8007254C: -/* 8007254C 38 00 00 00 */ li r0, 0 -/* 80072550 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072554 7F E3 FB 78 */ mr r3, r31 -/* 80072558 4B FF F5 11 */ bl freeAttention__12dAttention_cFv -/* 8007255C 48 00 00 34 */ b lbl_80072590 -lbl_80072560: -/* 80072560 7F E3 FB 78 */ mr r3, r31 -/* 80072564 38 80 00 00 */ li r4, 0 -/* 80072568 48 00 0F D5 */ bl LockonTarget__12dAttention_cFl -/* 8007256C 28 03 00 00 */ cmplwi r3, 0 -/* 80072570 41 82 00 10 */ beq lbl_80072580 -/* 80072574 88 1F 03 2F */ lbz r0, 0x32f(r31) -/* 80072578 28 00 00 00 */ cmplwi r0, 0 -/* 8007257C 40 82 00 14 */ bne lbl_80072590 -lbl_80072580: -/* 80072580 38 00 00 00 */ li r0, 0 -/* 80072584 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072588 7F E3 FB 78 */ mr r3, r31 -/* 8007258C 4B FF F4 DD */ bl freeAttention__12dAttention_cFv -lbl_80072590: -/* 80072590 88 7F 03 2F */ lbz r3, 0x32f(r31) -/* 80072594 28 03 00 00 */ cmplwi r3, 0 -/* 80072598 41 82 00 0C */ beq lbl_800725A4 -/* 8007259C 38 03 FF FF */ addi r0, r3, -1 -/* 800725A0 98 1F 03 2F */ stb r0, 0x32f(r31) -lbl_800725A4: -/* 800725A4 80 7F 03 34 */ lwz r3, 0x334(r31) -/* 800725A8 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 -/* 800725AC 40 82 00 30 */ bne lbl_800725DC -/* 800725B0 60 60 40 00 */ ori r0, r3, 0x4000 -/* 800725B4 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800725B8 7F E3 FB 78 */ mr r3, r31 -/* 800725BC 38 80 FF FF */ li r4, -1 -/* 800725C0 4B FF EC 81 */ bl initList__12dAttention_cFUl -/* 800725C4 7F E3 FB 78 */ mr r3, r31 -/* 800725C8 4B FF EE 05 */ bl makeList__12dAttention_cFv -/* 800725CC 2C 03 00 00 */ cmpwi r3, 0 -/* 800725D0 41 82 00 0C */ beq lbl_800725DC -/* 800725D4 7F E3 FB 78 */ mr r3, r31 -/* 800725D8 4B FF F0 E1 */ bl sortList__12dAttention_cFv -lbl_800725DC: -/* 800725DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800725E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800725E4 7C 08 03 A6 */ mtlr r0 -/* 800725E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800725EC 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/judgementStatus4Switch__12dAttention_cFv.s b/asm/d/d_attention/judgementStatus4Switch__12dAttention_cFv.s deleted file mode 100644 index 451fa944aa..0000000000 --- a/asm/d/d_attention/judgementStatus4Switch__12dAttention_cFv.s +++ /dev/null @@ -1,225 +0,0 @@ -lbl_800725F0: -/* 800725F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800725F4 7C 08 02 A6 */ mflr r0 -/* 800725F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800725FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80072600 7C 7F 1B 78 */ mr r31, r3 -/* 80072604 88 03 03 29 */ lbz r0, 0x329(r3) -/* 80072608 2C 00 00 01 */ cmpwi r0, 1 -/* 8007260C 41 82 00 6C */ beq lbl_80072678 -/* 80072610 40 80 00 10 */ bge lbl_80072620 -/* 80072614 2C 00 00 00 */ cmpwi r0, 0 -/* 80072618 40 80 00 14 */ bge lbl_8007262C -/* 8007261C 48 00 02 BC */ b lbl_800728D8 -lbl_80072620: -/* 80072620 2C 00 00 03 */ cmpwi r0, 3 -/* 80072624 40 80 02 B4 */ bge lbl_800728D8 -/* 80072628 48 00 01 E0 */ b lbl_80072808 -lbl_8007262C: -/* 8007262C 38 00 FF FF */ li r0, -1 -/* 80072630 90 1F 00 04 */ stw r0, 4(r31) -/* 80072634 4B FF F2 71 */ bl stockAttention__12dAttention_cFv -/* 80072638 38 00 00 00 */ li r0, 0 -/* 8007263C 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 80072640 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 80072644 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 80072648 28 00 00 00 */ cmplwi r0, 0 -/* 8007264C 40 82 02 8C */ bne lbl_800728D8 -/* 80072650 7F E3 FB 78 */ mr r3, r31 -/* 80072654 4B FF FC 4D */ bl triggerProc__12dAttention_cFv -/* 80072658 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007265C 41 82 02 7C */ beq lbl_800728D8 -/* 80072660 38 00 00 01 */ li r0, 1 -/* 80072664 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072668 38 00 00 0F */ li r0, 0xf -/* 8007266C 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 80072670 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 80072674 48 00 02 64 */ b lbl_800728D8 -lbl_80072678: -/* 80072678 38 80 00 00 */ li r4, 0 -/* 8007267C 48 00 10 51 */ bl LockonTargetPId__12dAttention_cFl -/* 80072680 90 7F 00 04 */ stw r3, 4(r31) -/* 80072684 88 1F 03 2F */ lbz r0, 0x32f(r31) -/* 80072688 28 00 00 00 */ cmplwi r0, 0 -/* 8007268C 40 82 00 18 */ bne lbl_800726A4 -/* 80072690 38 00 00 00 */ li r0, 0 -/* 80072694 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072698 7F E3 FB 78 */ mr r3, r31 -/* 8007269C 4B FF F3 CD */ bl freeAttention__12dAttention_cFv -/* 800726A0 48 00 01 18 */ b lbl_800727B8 -lbl_800726A4: -/* 800726A4 7F E3 FB 78 */ mr r3, r31 -/* 800726A8 4B FF FC 45 */ bl lostCheck__12dAttention_cFv -/* 800726AC 2C 03 00 00 */ cmpwi r3, 0 -/* 800726B0 41 82 00 50 */ beq lbl_80072700 -/* 800726B4 38 00 FF FF */ li r0, -1 -/* 800726B8 90 1F 00 04 */ stw r0, 4(r31) -/* 800726BC 7F E3 FB 78 */ mr r3, r31 -/* 800726C0 4B FF F1 E5 */ bl stockAttention__12dAttention_cFv -/* 800726C4 7F E3 FB 78 */ mr r3, r31 -/* 800726C8 4B FF FB D9 */ bl triggerProc__12dAttention_cFv -/* 800726CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800726D0 41 82 00 10 */ beq lbl_800726E0 -/* 800726D4 38 00 00 01 */ li r0, 1 -/* 800726D8 98 1F 03 29 */ stb r0, 0x329(r31) -/* 800726DC 48 00 00 DC */ b lbl_800727B8 -lbl_800726E0: -/* 800726E0 38 00 00 00 */ li r0, 0 -/* 800726E4 98 1F 03 29 */ stb r0, 0x329(r31) -/* 800726E8 7F E3 FB 78 */ mr r3, r31 -/* 800726EC 4B FF F3 7D */ bl freeAttention__12dAttention_cFv -/* 800726F0 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800726F4 64 00 00 80 */ oris r0, r0, 0x80 -/* 800726F8 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800726FC 48 00 00 BC */ b lbl_800727B8 -lbl_80072700: -/* 80072700 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 80072704 28 00 00 00 */ cmplwi r0, 0 -/* 80072708 40 82 00 80 */ bne lbl_80072788 -/* 8007270C 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 80072710 54 04 30 32 */ slwi r4, r0, 6 -/* 80072714 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */ -/* 80072718 38 03 D2 E8 */ addi r0, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */ -/* 8007271C 7C 60 22 14 */ add r3, r0, r4 -/* 80072720 C0 23 00 04 */ lfs f1, 4(r3) -/* 80072724 C0 02 8C 34 */ lfs f0, lit_4064(r2) -/* 80072728 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8007272C 40 80 00 18 */ bge lbl_80072744 -/* 80072730 38 00 00 00 */ li r0, 0 -/* 80072734 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072738 7F E3 FB 78 */ mr r3, r31 -/* 8007273C 4B FF F3 2D */ bl freeAttention__12dAttention_cFv -/* 80072740 48 00 00 78 */ b lbl_800727B8 -lbl_80072744: -/* 80072744 7F E3 FB 78 */ mr r3, r31 -/* 80072748 4B FF F2 19 */ bl nextAttention__12dAttention_cFv -/* 8007274C 28 03 00 00 */ cmplwi r3, 0 -/* 80072750 41 82 00 24 */ beq lbl_80072774 -/* 80072754 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072758 60 00 00 08 */ ori r0, r0, 8 -/* 8007275C 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072760 38 00 00 01 */ li r0, 1 -/* 80072764 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072768 38 00 00 0F */ li r0, 0xf -/* 8007276C 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 80072770 48 00 00 48 */ b lbl_800727B8 -lbl_80072774: -/* 80072774 38 00 00 00 */ li r0, 0 -/* 80072778 98 1F 03 29 */ stb r0, 0x329(r31) -/* 8007277C 7F E3 FB 78 */ mr r3, r31 -/* 80072780 4B FF F2 E9 */ bl freeAttention__12dAttention_cFv -/* 80072784 48 00 00 34 */ b lbl_800727B8 -lbl_80072788: -/* 80072788 88 1F 03 2E */ lbz r0, 0x32e(r31) -/* 8007278C 28 00 00 00 */ cmplwi r0, 0 -/* 80072790 40 82 00 28 */ bne lbl_800727B8 -/* 80072794 7F E3 FB 78 */ mr r3, r31 -/* 80072798 38 80 FF FF */ li r4, -1 -/* 8007279C 4B FF EA A5 */ bl initList__12dAttention_cFUl -/* 800727A0 7F E3 FB 78 */ mr r3, r31 -/* 800727A4 4B FF EC 29 */ bl makeList__12dAttention_cFv -/* 800727A8 2C 03 00 00 */ cmpwi r3, 0 -/* 800727AC 41 82 00 0C */ beq lbl_800727B8 -/* 800727B0 7F E3 FB 78 */ mr r3, r31 -/* 800727B4 4B FF EF 05 */ bl sortList__12dAttention_cFv -lbl_800727B8: -/* 800727B8 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800727BC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800727C0 40 82 00 18 */ bne lbl_800727D8 -/* 800727C4 88 7F 03 2E */ lbz r3, 0x32e(r31) -/* 800727C8 28 03 00 00 */ cmplwi r3, 0 -/* 800727CC 41 82 00 0C */ beq lbl_800727D8 -/* 800727D0 38 03 FF FF */ addi r0, r3, -1 -/* 800727D4 98 1F 03 2E */ stb r0, 0x32e(r31) -lbl_800727D8: -/* 800727D8 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 800727DC 28 00 00 01 */ cmplwi r0, 1 -/* 800727E0 40 82 00 1C */ bne lbl_800727FC -/* 800727E4 88 7F 03 2F */ lbz r3, 0x32f(r31) -/* 800727E8 28 03 00 00 */ cmplwi r3, 0 -/* 800727EC 41 82 00 EC */ beq lbl_800728D8 -/* 800727F0 38 03 FF FF */ addi r0, r3, -1 -/* 800727F4 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 800727F8 48 00 00 E0 */ b lbl_800728D8 -lbl_800727FC: -/* 800727FC 38 00 00 0F */ li r0, 0xf -/* 80072800 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 80072804 48 00 00 D4 */ b lbl_800728D8 -lbl_80072808: -/* 80072808 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 8007280C 60 00 00 40 */ ori r0, r0, 0x40 -/* 80072810 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072814 4B FF FA D9 */ bl lostCheck__12dAttention_cFv -/* 80072818 2C 03 00 00 */ cmpwi r3, 0 -/* 8007281C 41 82 00 50 */ beq lbl_8007286C -/* 80072820 38 00 FF FF */ li r0, -1 -/* 80072824 90 1F 00 04 */ stw r0, 4(r31) -/* 80072828 7F E3 FB 78 */ mr r3, r31 -/* 8007282C 4B FF F0 79 */ bl stockAttention__12dAttention_cFv -/* 80072830 7F E3 FB 78 */ mr r3, r31 -/* 80072834 4B FF FA 6D */ bl triggerProc__12dAttention_cFv -/* 80072838 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007283C 41 82 00 10 */ beq lbl_8007284C -/* 80072840 38 00 00 01 */ li r0, 1 -/* 80072844 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072848 48 00 00 90 */ b lbl_800728D8 -lbl_8007284C: -/* 8007284C 38 00 00 00 */ li r0, 0 -/* 80072850 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072854 7F E3 FB 78 */ mr r3, r31 -/* 80072858 4B FF F2 11 */ bl freeAttention__12dAttention_cFv -/* 8007285C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072860 64 00 00 80 */ oris r0, r0, 0x80 -/* 80072864 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072868 48 00 00 70 */ b lbl_800728D8 -lbl_8007286C: -/* 8007286C 88 1F 03 2B */ lbz r0, 0x32b(r31) -/* 80072870 28 00 00 00 */ cmplwi r0, 0 -/* 80072874 40 82 00 34 */ bne lbl_800728A8 -/* 80072878 38 00 00 00 */ li r0, 0 -/* 8007287C 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072880 7F E3 FB 78 */ mr r3, r31 -/* 80072884 4B FF FA 1D */ bl triggerProc__12dAttention_cFv -/* 80072888 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8007288C 41 82 00 4C */ beq lbl_800728D8 -/* 80072890 38 00 00 01 */ li r0, 1 -/* 80072894 98 1F 03 29 */ stb r0, 0x329(r31) -/* 80072898 38 00 00 0F */ li r0, 0xf -/* 8007289C 98 1F 03 2E */ stb r0, 0x32e(r31) -/* 800728A0 98 1F 03 2F */ stb r0, 0x32f(r31) -/* 800728A4 48 00 00 34 */ b lbl_800728D8 -lbl_800728A8: -/* 800728A8 7F E3 FB 78 */ mr r3, r31 -/* 800728AC 38 80 00 00 */ li r4, 0 -/* 800728B0 48 00 0C 8D */ bl LockonTarget__12dAttention_cFl -/* 800728B4 28 03 00 00 */ cmplwi r3, 0 -/* 800728B8 41 82 00 10 */ beq lbl_800728C8 -/* 800728BC 88 1F 03 2F */ lbz r0, 0x32f(r31) -/* 800728C0 28 00 00 00 */ cmplwi r0, 0 -/* 800728C4 40 82 00 14 */ bne lbl_800728D8 -lbl_800728C8: -/* 800728C8 38 00 00 00 */ li r0, 0 -/* 800728CC 98 1F 03 29 */ stb r0, 0x329(r31) -/* 800728D0 7F E3 FB 78 */ mr r3, r31 -/* 800728D4 4B FF F1 95 */ bl freeAttention__12dAttention_cFv -lbl_800728D8: -/* 800728D8 80 7F 03 34 */ lwz r3, 0x334(r31) -/* 800728DC 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 -/* 800728E0 40 82 00 30 */ bne lbl_80072910 -/* 800728E4 60 60 40 00 */ ori r0, r3, 0x4000 -/* 800728E8 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800728EC 7F E3 FB 78 */ mr r3, r31 -/* 800728F0 38 80 FF FF */ li r4, -1 -/* 800728F4 4B FF E9 4D */ bl initList__12dAttention_cFUl -/* 800728F8 7F E3 FB 78 */ mr r3, r31 -/* 800728FC 4B FF EA D1 */ bl makeList__12dAttention_cFv -/* 80072900 2C 03 00 00 */ cmpwi r3, 0 -/* 80072904 41 82 00 0C */ beq lbl_80072910 -/* 80072908 7F E3 FB 78 */ mr r3, r31 -/* 8007290C 4B FF ED AD */ bl sortList__12dAttention_cFv -lbl_80072910: -/* 80072910 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80072914 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80072918 7C 08 03 A6 */ mtlr r0 -/* 8007291C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80072920 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/lostCheck__12dAttention_cFv.s b/asm/d/d_attention/lostCheck__12dAttention_cFv.s deleted file mode 100644 index 27227559bd..0000000000 --- a/asm/d/d_attention/lostCheck__12dAttention_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800722EC: -/* 800722EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800722F0 7C 08 02 A6 */ mflr r0 -/* 800722F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800722F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800722FC 7C 7F 1B 78 */ mr r31, r3 -/* 80072300 4B FF F7 99 */ bl chaseAttention__12dAttention_cFv -/* 80072304 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80072308 41 82 00 0C */ beq lbl_80072314 -/* 8007230C 38 60 00 00 */ li r3, 0 -/* 80072310 48 00 00 20 */ b lbl_80072330 -lbl_80072314: -/* 80072314 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072318 60 00 00 10 */ ori r0, r0, 0x10 -/* 8007231C 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072320 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072324 60 00 00 40 */ ori r0, r0, 0x40 -/* 80072328 90 1F 03 34 */ stw r0, 0x334(r31) -/* 8007232C 38 60 00 01 */ li r3, 1 -lbl_80072330: -/* 80072330 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80072334 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80072338 7C 08 03 A6 */ mtlr r0 -/* 8007233C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80072340 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/makeList__12dAttention_cFv.s b/asm/d/d_attention/makeList__12dAttention_cFv.s deleted file mode 100644 index 07c7947638..0000000000 --- a/asm/d/d_attention/makeList__12dAttention_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800713CC: -/* 800713CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800713D0 7C 08 02 A6 */ mflr r0 -/* 800713D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800713D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800713DC 7C 7F 1B 78 */ mr r31, r3 -/* 800713E0 3C 60 80 07 */ lis r3, select_attention__FP10fopAc_ac_cPv@ha /* 0x8007138C@ha */ -/* 800713E4 38 63 13 8C */ addi r3, r3, select_attention__FP10fopAc_ac_cPv@l /* 0x8007138C@l */ -/* 800713E8 7F E4 FB 78 */ mr r4, r31 -/* 800713EC 4B FA 83 D1 */ bl fopAcIt_Executor__FPFPvPv_iPv -/* 800713F0 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800713F4 60 00 20 00 */ ori r0, r0, 0x2000 -/* 800713F8 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800713FC 80 7F 04 88 */ lwz r3, 0x488(r31) -/* 80071400 80 9F 03 D8 */ lwz r4, 0x3d8(r31) -/* 80071404 80 1F 04 30 */ lwz r0, 0x430(r31) -/* 80071408 7C 60 1A 14 */ add r3, r0, r3 -/* 8007140C 7C 64 1A 14 */ add r3, r4, r3 -/* 80071410 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80071414 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80071418 7C 08 03 A6 */ mtlr r0 -/* 8007141C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80071420 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/nextAttention__12dAttention_cFv.s b/asm/d/d_attention/nextAttention__12dAttention_cFv.s deleted file mode 100644 index a358058ba4..0000000000 --- a/asm/d/d_attention/nextAttention__12dAttention_cFv.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_80071960: -/* 80071960 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80071964 7C 08 02 A6 */ mflr r0 -/* 80071968 90 01 00 24 */ stw r0, 0x24(r1) -/* 8007196C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80071970 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80071974 7C 7E 1B 78 */ mr r30, r3 -/* 80071978 88 0D 80 F0 */ lbz r0, data_80450670(r13) -/* 8007197C 28 00 00 00 */ cmplwi r0, 0 -/* 80071980 40 82 00 20 */ bne lbl_800719A0 -/* 80071984 80 1E 03 D8 */ lwz r0, 0x3d8(r30) -/* 80071988 2C 00 00 01 */ cmpwi r0, 1 -/* 8007198C 40 82 00 14 */ bne lbl_800719A0 -/* 80071990 38 00 00 00 */ li r0, 0 -/* 80071994 98 1E 03 2E */ stb r0, 0x32e(r30) -/* 80071998 38 60 00 00 */ li r3, 0 -/* 8007199C 48 00 00 B4 */ b lbl_80071A50 -lbl_800719A0: -/* 800719A0 88 1E 03 2E */ lbz r0, 0x32e(r30) -/* 800719A4 28 00 00 00 */ cmplwi r0, 0 -/* 800719A8 41 82 00 38 */ beq lbl_800719E0 -/* 800719AC 80 7E 03 DC */ lwz r3, 0x3dc(r30) -/* 800719B0 38 03 00 01 */ addi r0, r3, 1 -/* 800719B4 90 1E 03 DC */ stw r0, 0x3dc(r30) -/* 800719B8 80 7E 03 DC */ lwz r3, 0x3dc(r30) -/* 800719BC 80 1E 03 D8 */ lwz r0, 0x3d8(r30) -/* 800719C0 7C 03 00 00 */ cmpw r3, r0 -/* 800719C4 41 80 00 0C */ blt lbl_800719D0 -/* 800719C8 38 00 00 00 */ li r0, 0 -/* 800719CC 90 1E 03 DC */ stw r0, 0x3dc(r30) -lbl_800719D0: -/* 800719D0 7F C3 F3 78 */ mr r3, r30 -/* 800719D4 38 80 00 00 */ li r4, 0 -/* 800719D8 48 00 1B 65 */ bl LockonTarget__12dAttention_cFl -/* 800719DC 48 00 00 74 */ b lbl_80071A50 -lbl_800719E0: -/* 800719E0 80 1E 00 04 */ lwz r0, 4(r30) -/* 800719E4 90 01 00 08 */ stw r0, 8(r1) -/* 800719E8 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 800719EC 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 800719F0 38 81 00 08 */ addi r4, r1, 8 -/* 800719F4 4B FA 7E 05 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800719F8 7C 7F 1B 78 */ mr r31, r3 -/* 800719FC 7F C3 F3 78 */ mr r3, r30 -/* 80071A00 38 80 FF FF */ li r4, -1 -/* 80071A04 4B FF F8 3D */ bl initList__12dAttention_cFUl -/* 80071A08 7F C3 F3 78 */ mr r3, r30 -/* 80071A0C 4B FF F9 C1 */ bl makeList__12dAttention_cFv -/* 80071A10 2C 03 00 00 */ cmpwi r3, 0 -/* 80071A14 41 82 00 0C */ beq lbl_80071A20 -/* 80071A18 7F C3 F3 78 */ mr r3, r30 -/* 80071A1C 4B FF FC 9D */ bl sortList__12dAttention_cFv -lbl_80071A20: -/* 80071A20 38 7E 03 38 */ addi r3, r30, 0x338 -/* 80071A24 48 00 1E 41 */ bl getActor__10dAttList_cFv -/* 80071A28 7C 1F 18 40 */ cmplw r31, r3 -/* 80071A2C 40 82 00 18 */ bne lbl_80071A44 -/* 80071A30 80 1E 03 D8 */ lwz r0, 0x3d8(r30) -/* 80071A34 2C 00 00 01 */ cmpwi r0, 1 -/* 80071A38 40 81 00 0C */ ble lbl_80071A44 -/* 80071A3C 38 00 00 01 */ li r0, 1 -/* 80071A40 90 1E 03 DC */ stw r0, 0x3dc(r30) -lbl_80071A44: -/* 80071A44 7F C3 F3 78 */ mr r3, r30 -/* 80071A48 38 80 00 00 */ li r4, 0 -/* 80071A4C 48 00 1A F1 */ bl LockonTarget__12dAttention_cFl -lbl_80071A50: -/* 80071A50 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80071A54 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80071A58 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80071A5C 7C 08 03 A6 */ mtlr r0 -/* 80071A60 38 21 00 20 */ addi r1, r1, 0x20 -/* 80071A64 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/proc__10dAttHint_cFv.s b/asm/d/d_attention/proc__10dAttHint_cFv.s deleted file mode 100644 index 0fdaf963fc..0000000000 --- a/asm/d/d_attention/proc__10dAttHint_cFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80073970: -/* 80073970 80 03 00 00 */ lwz r0, 0(r3) -/* 80073974 90 03 00 08 */ stw r0, 8(r3) -/* 80073978 38 00 FF FF */ li r0, -1 -/* 8007397C 90 03 00 00 */ stw r0, 0(r3) -/* 80073980 38 00 02 00 */ li r0, 0x200 -/* 80073984 90 03 00 04 */ stw r0, 4(r3) -/* 80073988 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/proc__10dAttLook_cFv.s b/asm/d/d_attention/proc__10dAttLook_cFv.s deleted file mode 100644 index 5992a34e35..0000000000 --- a/asm/d/d_attention/proc__10dAttLook_cFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80073CEC: -/* 80073CEC 80 03 00 00 */ lwz r0, 0(r3) -/* 80073CF0 90 03 00 0C */ stw r0, 0xc(r3) -/* 80073CF4 38 00 FF FF */ li r0, -1 -/* 80073CF8 90 03 00 00 */ stw r0, 0(r3) -/* 80073CFC 38 00 00 03 */ li r0, 3 -/* 80073D00 90 03 00 04 */ stw r0, 4(r3) -/* 80073D04 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/proc__11dAttCatch_cFv.s b/asm/d/d_attention/proc__11dAttCatch_cFv.s deleted file mode 100644 index a1c1548d71..0000000000 --- a/asm/d/d_attention/proc__11dAttCatch_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800739DC: -/* 800739DC 80 03 00 00 */ lwz r0, 0(r3) -/* 800739E0 90 03 00 10 */ stw r0, 0x10(r3) -/* 800739E4 88 03 00 0C */ lbz r0, 0xc(r3) -/* 800739E8 98 03 00 14 */ stb r0, 0x14(r3) -/* 800739EC 38 00 FF FF */ li r0, -1 -/* 800739F0 90 03 00 00 */ stw r0, 0(r3) -/* 800739F4 38 00 00 03 */ li r0, 3 -/* 800739F8 90 03 00 04 */ stw r0, 4(r3) -/* 800739FC 38 00 00 67 */ li r0, 0x67 -/* 80073A00 98 03 00 0C */ stb r0, 0xc(r3) -/* 80073A04 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/request__10dAttHint_cFP10fopAc_ac_ci.s b/asm/d/d_attention/request__10dAttHint_cFP10fopAc_ac_ci.s deleted file mode 100644 index 16d2b74d50..0000000000 --- a/asm/d/d_attention/request__10dAttHint_cFP10fopAc_ac_ci.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800738FC: -/* 800738FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80073900 7C 08 02 A6 */ mflr r0 -/* 80073904 90 01 00 14 */ stw r0, 0x14(r1) -/* 80073908 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8007390C 93 C1 00 08 */ stw r30, 8(r1) -/* 80073910 7C 7E 1B 78 */ mr r30, r3 -/* 80073914 7C BF 2B 79 */ or. r31, r5, r5 -/* 80073918 40 80 00 08 */ bge lbl_80073920 -/* 8007391C 3B E0 01 FF */ li r31, 0x1ff -lbl_80073920: -/* 80073920 80 1E 00 04 */ lwz r0, 4(r30) -/* 80073924 7C 1F 00 00 */ cmpw r31, r0 -/* 80073928 41 81 00 14 */ bgt lbl_8007393C -/* 8007392C 7F C3 F3 78 */ mr r3, r30 -/* 80073930 4B FF FF 85 */ bl getPId__10dAttHint_cFPv -/* 80073934 90 7E 00 00 */ stw r3, 0(r30) -/* 80073938 93 FE 00 04 */ stw r31, 4(r30) -lbl_8007393C: -/* 8007393C 38 60 00 01 */ li r3, 1 -/* 80073940 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80073944 83 C1 00 08 */ lwz r30, 8(r1) -/* 80073948 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007394C 7C 08 03 A6 */ mtlr r0 -/* 80073950 38 21 00 10 */ addi r1, r1, 0x10 -/* 80073954 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/runDrawProc__12dAttention_cFv.s b/asm/d/d_attention/runDrawProc__12dAttention_cFv.s deleted file mode 100644 index c482c7b91c..0000000000 --- a/asm/d/d_attention/runDrawProc__12dAttention_cFv.s +++ /dev/null @@ -1,167 +0,0 @@ -lbl_80071E84: -/* 80071E84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80071E88 7C 08 02 A6 */ mflr r0 -/* 80071E8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80071E90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80071E94 7C 7F 1B 78 */ mr r31, r3 -/* 80071E98 80 63 03 34 */ lwz r3, 0x334(r3) -/* 80071E9C 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f -/* 80071EA0 41 82 00 7C */ beq lbl_80071F1C -/* 80071EA4 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80071EA8 88 9F 04 FC */ lbz r4, 0x4fc(r31) -/* 80071EAC 38 A0 00 00 */ li r5, 0 -/* 80071EB0 48 00 11 39 */ bl setAlphaAnm__10dAttDraw_cFUcUc -/* 80071EB4 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80071EB8 38 80 00 01 */ li r4, 1 -/* 80071EBC C0 3F 05 04 */ lfs f1, 0x504(r31) -/* 80071EC0 48 00 0F 19 */ bl setAnm__10dAttDraw_cFUcf -/* 80071EC4 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 80071EC8 D0 1F 01 8C */ stfs f0, 0x18c(r31) -/* 80071ECC C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 80071ED0 D0 1F 01 90 */ stfs f0, 0x190(r31) -/* 80071ED4 C0 1F 04 F8 */ lfs f0, 0x4f8(r31) -/* 80071ED8 D0 1F 01 94 */ stfs f0, 0x194(r31) -/* 80071EDC 38 00 00 01 */ li r0, 1 -/* 80071EE0 98 1F 01 9D */ stb r0, 0x19d(r31) -/* 80071EE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80071EE8 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80071EEC 80 85 5F 18 */ lwz r4, 0x5f18(r5) -/* 80071EF0 3C 60 36 A0 */ lis r3, 0x36A0 /* 0x36A02311@ha */ -/* 80071EF4 38 03 23 11 */ addi r0, r3, 0x2311 /* 0x36A02311@l */ -/* 80071EF8 7C 80 00 39 */ and. r0, r4, r0 -/* 80071EFC 41 82 00 10 */ beq lbl_80071F0C -/* 80071F00 80 05 5F 1C */ lwz r0, 0x5f1c(r5) -/* 80071F04 70 00 00 11 */ andi. r0, r0, 0x11 -/* 80071F08 41 82 01 80 */ beq lbl_80072088 -lbl_80071F0C: -/* 80071F0C 7F E3 FB 78 */ mr r3, r31 -/* 80071F10 38 80 00 57 */ li r4, 0x57 -/* 80071F14 48 00 0E 6D */ bl lockSoundStart__12dAttention_cFUl -/* 80071F18 48 00 01 70 */ b lbl_80072088 -lbl_80071F1C: -/* 80071F1C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b -/* 80071F20 41 82 00 6C */ beq lbl_80071F8C -/* 80071F24 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80071F28 88 9F 04 FD */ lbz r4, 0x4fd(r31) -/* 80071F2C 38 A0 00 01 */ li r5, 1 -/* 80071F30 48 00 10 B9 */ bl setAlphaAnm__10dAttDraw_cFUcUc -/* 80071F34 88 1F 03 28 */ lbz r0, 0x328(r31) -/* 80071F38 7C 00 07 75 */ extsb. r0, r0 -/* 80071F3C 41 80 00 18 */ blt lbl_80071F54 -/* 80071F40 38 00 00 01 */ li r0, 1 -/* 80071F44 98 1F 03 28 */ stb r0, 0x328(r31) -/* 80071F48 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80071F4C 64 00 40 00 */ oris r0, r0, 0x4000 -/* 80071F50 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80071F54: -/* 80071F54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80071F58 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80071F5C 80 85 5F 18 */ lwz r4, 0x5f18(r5) -/* 80071F60 3C 60 36 A0 */ lis r3, 0x36A0 /* 0x36A02311@ha */ -/* 80071F64 38 03 23 11 */ addi r0, r3, 0x2311 /* 0x36A02311@l */ -/* 80071F68 7C 80 00 39 */ and. r0, r4, r0 -/* 80071F6C 41 82 00 10 */ beq lbl_80071F7C -/* 80071F70 80 05 5F 1C */ lwz r0, 0x5f1c(r5) -/* 80071F74 70 00 00 11 */ andi. r0, r0, 0x11 -/* 80071F78 41 82 01 10 */ beq lbl_80072088 -lbl_80071F7C: -/* 80071F7C 7F E3 FB 78 */ mr r3, r31 -/* 80071F80 38 80 00 58 */ li r4, 0x58 -/* 80071F84 48 00 0D FD */ bl lockSoundStart__12dAttention_cFUl -/* 80071F88 48 00 01 00 */ b lbl_80072088 -lbl_80071F8C: -/* 80071F8C 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 80071F90 41 82 00 54 */ beq lbl_80071FE4 -/* 80071F94 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80071F98 38 80 00 00 */ li r4, 0 -/* 80071F9C C0 3F 05 00 */ lfs f1, 0x500(r31) -/* 80071FA0 48 00 0E 39 */ bl setAnm__10dAttDraw_cFUcf -/* 80071FA4 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80071FA8 88 9F 04 FC */ lbz r4, 0x4fc(r31) -/* 80071FAC 38 A0 00 00 */ li r5, 0 -/* 80071FB0 48 00 10 39 */ bl setAlphaAnm__10dAttDraw_cFUcUc -/* 80071FB4 C0 1F 04 E4 */ lfs f0, 0x4e4(r31) -/* 80071FB8 D0 1F 01 8C */ stfs f0, 0x18c(r31) -/* 80071FBC C0 1F 04 E8 */ lfs f0, 0x4e8(r31) -/* 80071FC0 D0 1F 01 90 */ stfs f0, 0x190(r31) -/* 80071FC4 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 80071FC8 D0 1F 01 94 */ stfs f0, 0x194(r31) -/* 80071FCC 38 00 00 00 */ li r0, 0 -/* 80071FD0 98 1F 01 9D */ stb r0, 0x19d(r31) -/* 80071FD4 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80071FD8 64 00 40 00 */ oris r0, r0, 0x4000 -/* 80071FDC 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80071FE0 48 00 00 A8 */ b lbl_80072088 -lbl_80071FE4: -/* 80071FE4 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e -/* 80071FE8 41 82 00 64 */ beq lbl_8007204C -/* 80071FEC 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80071FF0 88 9F 04 FC */ lbz r4, 0x4fc(r31) -/* 80071FF4 38 A0 00 00 */ li r5, 0 -/* 80071FF8 48 00 0F F1 */ bl setAlphaAnm__10dAttDraw_cFUcUc -/* 80071FFC 38 7F 01 A0 */ addi r3, r31, 0x1a0 -/* 80072000 38 80 00 00 */ li r4, 0 -/* 80072004 C0 3F 05 00 */ lfs f1, 0x500(r31) -/* 80072008 48 00 0D D1 */ bl setAnm__10dAttDraw_cFUcf -/* 8007200C 38 7F 01 A0 */ addi r3, r31, 0x1a0 -/* 80072010 88 9F 04 FD */ lbz r4, 0x4fd(r31) -/* 80072014 38 A0 00 01 */ li r5, 1 -/* 80072018 48 00 0F D1 */ bl setAlphaAnm__10dAttDraw_cFUcUc -/* 8007201C C0 1F 04 E4 */ lfs f0, 0x4e4(r31) -/* 80072020 D0 1F 03 04 */ stfs f0, 0x304(r31) -/* 80072024 C0 1F 04 E8 */ lfs f0, 0x4e8(r31) -/* 80072028 D0 1F 03 08 */ stfs f0, 0x308(r31) -/* 8007202C C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 80072030 D0 1F 03 0C */ stfs f0, 0x30c(r31) -/* 80072034 38 00 00 00 */ li r0, 0 -/* 80072038 98 1F 03 15 */ stb r0, 0x315(r31) -/* 8007203C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072040 64 00 40 00 */ oris r0, r0, 0x4000 -/* 80072044 90 1F 03 34 */ stw r0, 0x334(r31) -/* 80072048 48 00 00 40 */ b lbl_80072088 -lbl_8007204C: -/* 8007204C 80 1F 03 D8 */ lwz r0, 0x3d8(r31) -/* 80072050 2C 00 00 00 */ cmpwi r0, 0 -/* 80072054 41 81 00 34 */ bgt lbl_80072088 -/* 80072058 88 1F 03 28 */ lbz r0, 0x328(r31) -/* 8007205C 7C 00 07 75 */ extsb. r0, r0 -/* 80072060 40 82 00 28 */ bne lbl_80072088 -/* 80072064 38 7F 00 28 */ addi r3, r31, 0x28 -/* 80072068 88 9F 04 FD */ lbz r4, 0x4fd(r31) -/* 8007206C 38 A0 00 01 */ li r5, 1 -/* 80072070 48 00 0F 79 */ bl setAlphaAnm__10dAttDraw_cFUcUc -/* 80072074 38 00 00 01 */ li r0, 1 -/* 80072078 98 1F 03 28 */ stb r0, 0x328(r31) -/* 8007207C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80072080 64 00 40 00 */ oris r0, r0, 0x4000 -/* 80072084 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80072088: -/* 80072088 88 1F 03 29 */ lbz r0, 0x329(r31) -/* 8007208C 28 00 00 01 */ cmplwi r0, 1 -/* 80072090 40 82 00 28 */ bne lbl_800720B8 -/* 80072094 88 1F 01 9B */ lbz r0, 0x19b(r31) -/* 80072098 28 00 00 03 */ cmplwi r0, 3 -/* 8007209C 40 82 00 44 */ bne lbl_800720E0 -/* 800720A0 38 00 00 04 */ li r0, 4 -/* 800720A4 98 1F 01 9B */ stb r0, 0x19b(r31) -/* 800720A8 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800720AC 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0 -/* 800720B0 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800720B4 48 00 00 2C */ b lbl_800720E0 -lbl_800720B8: -/* 800720B8 88 1F 01 9B */ lbz r0, 0x19b(r31) -/* 800720BC 28 00 00 03 */ cmplwi r0, 3 -/* 800720C0 40 82 00 20 */ bne lbl_800720E0 -/* 800720C4 38 00 00 04 */ li r0, 4 -/* 800720C8 98 1F 01 9B */ stb r0, 0x19b(r31) -/* 800720CC 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800720D0 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0 -/* 800720D4 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800720D8 38 00 FF FF */ li r0, -1 -/* 800720DC 98 1F 03 28 */ stb r0, 0x328(r31) -lbl_800720E0: -/* 800720E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800720E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800720E8 7C 08 03 A6 */ mtlr r0 -/* 800720EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800720F0 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/runSoundProc__12dAttention_cFv.s b/asm/d/d_attention/runSoundProc__12dAttention_cFv.s deleted file mode 100644 index 16479c87f2..0000000000 --- a/asm/d/d_attention/runSoundProc__12dAttention_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80071DEC: -/* 80071DEC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80071DF0 7C 08 02 A6 */ mflr r0 -/* 80071DF4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80071DF8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80071DFC 7C 7F 1B 78 */ mr r31, r3 -/* 80071E00 38 00 FF FF */ li r0, -1 -/* 80071E04 90 03 05 14 */ stw r0, 0x514(r3) -/* 80071E08 C0 02 8C 98 */ lfs f0, lit_5137(r2) -/* 80071E0C D0 03 05 18 */ stfs f0, 0x518(r3) -/* 80071E10 80 03 03 34 */ lwz r0, 0x334(r3) -/* 80071E14 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 -/* 80071E18 40 82 00 58 */ bne lbl_80071E70 -/* 80071E1C 3C 60 80 07 */ lis r3, sound_attention__FP10fopAc_ac_cPv@ha /* 0x80071D6C@ha */ -/* 80071E20 38 63 1D 6C */ addi r3, r3, sound_attention__FP10fopAc_ac_cPv@l /* 0x80071D6C@l */ -/* 80071E24 7F E4 FB 78 */ mr r4, r31 -/* 80071E28 4B FA 79 95 */ bl fopAcIt_Executor__FPFPvPv_iPv -/* 80071E2C 80 1F 05 14 */ lwz r0, 0x514(r31) -/* 80071E30 90 01 00 08 */ stw r0, 8(r1) -/* 80071E34 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 80071E38 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80071E3C 38 81 00 08 */ addi r4, r1, 8 -/* 80071E40 4B FA 79 B9 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 80071E44 28 03 00 00 */ cmplwi r3, 0 -/* 80071E48 41 82 00 28 */ beq lbl_80071E70 -/* 80071E4C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80071E50 38 63 03 D0 */ addi r3, r3, 0x3d0 -/* 80071E54 C0 22 8C 9C */ lfs f1, lit_5138(r2) -/* 80071E58 C0 1F 05 18 */ lfs f0, 0x518(r31) -/* 80071E5C EC 21 00 32 */ fmuls f1, f1, f0 -/* 80071E60 48 24 40 29 */ bl bgmNowBattle__8Z2SeqMgrFf -/* 80071E64 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80071E68 60 00 01 00 */ ori r0, r0, 0x100 -/* 80071E6C 90 1F 03 34 */ stw r0, 0x334(r31) -lbl_80071E70: -/* 80071E70 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80071E74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80071E78 7C 08 03 A6 */ mtlr r0 -/* 80071E7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80071E80 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/select_attention__FP10fopAc_ac_cPv.s b/asm/d/d_attention/select_attention__FP10fopAc_ac_cPv.s deleted file mode 100644 index 18275a87ff..0000000000 --- a/asm/d/d_attention/select_attention__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8007138C: -/* 8007138C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80071390 7C 08 02 A6 */ mflr r0 -/* 80071394 90 01 00 14 */ stw r0, 0x14(r1) -/* 80071398 7C 65 1B 78 */ mr r5, r3 -/* 8007139C 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 800713A0 28 00 00 00 */ cmplwi r0, 0 -/* 800713A4 40 82 00 0C */ bne lbl_800713B0 -/* 800713A8 38 60 00 00 */ li r3, 0 -/* 800713AC 48 00 00 10 */ b lbl_800713BC -lbl_800713B0: -/* 800713B0 7C 83 23 78 */ mr r3, r4 -/* 800713B4 7C A4 2B 78 */ mr r4, r5 -/* 800713B8 48 00 00 D1 */ bl SelectAttention__12dAttention_cFP10fopAc_ac_c -lbl_800713BC: -/* 800713BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800713C0 7C 08 03 A6 */ mtlr r0 -/* 800713C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800713C8 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/setActor__10dAttList_cFP10fopAc_ac_c.s b/asm/d/d_attention/setActor__10dAttList_cFP10fopAc_ac_c.s deleted file mode 100644 index 9a3caceee1..0000000000 --- a/asm/d/d_attention/setActor__10dAttList_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80073898: -/* 80073898 28 04 00 00 */ cmplwi r4, 0 -/* 8007389C 41 82 00 0C */ beq lbl_800738A8 -/* 800738A0 80 04 00 04 */ lwz r0, 4(r4) -/* 800738A4 48 00 00 08 */ b lbl_800738AC -lbl_800738A8: -/* 800738A8 38 00 FF FF */ li r0, -1 -lbl_800738AC: -/* 800738AC 90 03 00 10 */ stw r0, 0x10(r3) -/* 800738B0 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/setAlphaAnm__10dAttDraw_cFUcUc.s b/asm/d/d_attention/setAlphaAnm__10dAttDraw_cFUcUc.s deleted file mode 100644 index 8e29f9fd32..0000000000 --- a/asm/d/d_attention/setAlphaAnm__10dAttDraw_cFUcUc.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80072FE8: -/* 80072FE8 98 83 01 71 */ stb r4, 0x171(r3) -/* 80072FEC 38 00 00 00 */ li r0, 0 -/* 80072FF0 98 03 01 72 */ stb r0, 0x172(r3) -/* 80072FF4 38 00 00 02 */ li r0, 2 -/* 80072FF8 98 03 01 73 */ stb r0, 0x173(r3) -/* 80072FFC 98 A3 01 74 */ stb r5, 0x174(r3) -/* 80073000 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/setOwnerAttentionPos__12dAttention_cFv.s b/asm/d/d_attention/setOwnerAttentionPos__12dAttention_cFv.s deleted file mode 100644 index 59af1e84f2..0000000000 --- a/asm/d/d_attention/setOwnerAttentionPos__12dAttention_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80071424: -/* 80071424 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80071428 7C 08 02 A6 */ mflr r0 -/* 8007142C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80071430 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80071434 7C 7F 1B 78 */ mr r31, r3 -/* 80071438 80 63 00 00 */ lwz r3, 0(r3) -/* 8007143C C0 03 05 50 */ lfs f0, 0x550(r3) -/* 80071440 D0 1F 03 1C */ stfs f0, 0x31c(r31) -/* 80071444 C0 03 05 54 */ lfs f0, 0x554(r3) -/* 80071448 D0 1F 03 20 */ stfs f0, 0x320(r31) -/* 8007144C C0 03 05 58 */ lfs f0, 0x558(r3) -/* 80071450 D0 1F 03 24 */ stfs f0, 0x324(r31) -/* 80071454 80 7F 00 00 */ lwz r3, 0(r31) -/* 80071458 A8 03 00 08 */ lha r0, 8(r3) -/* 8007145C 2C 00 00 FD */ cmpwi r0, 0xfd -/* 80071460 40 82 00 14 */ bne lbl_80071474 -/* 80071464 48 0E DF 99 */ bl getAttentionOffsetY__9daPy_py_cFv -/* 80071468 C0 1F 03 20 */ lfs f0, 0x320(r31) -/* 8007146C EC 00 08 28 */ fsubs f0, f0, f1 -/* 80071470 D0 1F 03 20 */ stfs f0, 0x320(r31) -lbl_80071474: -/* 80071474 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80071478 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8007147C 7C 08 03 A6 */ mtlr r0 -/* 80071480 38 21 00 10 */ addi r1, r1, 0x10 -/* 80071484 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/stockAttention__12dAttention_cFv.s b/asm/d/d_attention/stockAttention__12dAttention_cFv.s deleted file mode 100644 index 395ba0bfad..0000000000 --- a/asm/d/d_attention/stockAttention__12dAttention_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_800718A4: -/* 800718A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800718A8 7C 08 02 A6 */ mflr r0 -/* 800718AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800718B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800718B4 93 C1 00 08 */ stw r30, 8(r1) -/* 800718B8 7C 7E 1B 78 */ mr r30, r3 -/* 800718BC 38 80 00 00 */ li r4, 0 -/* 800718C0 48 00 1C 7D */ bl LockonTarget__12dAttention_cFl -/* 800718C4 7C 7F 1B 78 */ mr r31, r3 -/* 800718C8 7F C3 F3 78 */ mr r3, r30 -/* 800718CC 38 80 FF FF */ li r4, -1 -/* 800718D0 4B FF F9 71 */ bl initList__12dAttention_cFUl -/* 800718D4 7F C3 F3 78 */ mr r3, r30 -/* 800718D8 4B FF FA F5 */ bl makeList__12dAttention_cFv -/* 800718DC 2C 03 00 00 */ cmpwi r3, 0 -/* 800718E0 41 82 00 0C */ beq lbl_800718EC -/* 800718E4 7F C3 F3 78 */ mr r3, r30 -/* 800718E8 4B FF FD D1 */ bl sortList__12dAttention_cFv -lbl_800718EC: -/* 800718EC 38 7E 03 38 */ addi r3, r30, 0x338 -/* 800718F0 48 00 1F 75 */ bl getActor__10dAttList_cFv -/* 800718F4 7C 1F 18 40 */ cmplw r31, r3 -/* 800718F8 41 82 00 44 */ beq lbl_8007193C -/* 800718FC 28 1F 00 00 */ cmplwi r31, 0 -/* 80071900 41 82 00 24 */ beq lbl_80071924 -/* 80071904 38 7E 03 38 */ addi r3, r30, 0x338 -/* 80071908 48 00 1F 5D */ bl getActor__10dAttList_cFv -/* 8007190C 28 03 00 00 */ cmplwi r3, 0 -/* 80071910 41 82 00 20 */ beq lbl_80071930 -/* 80071914 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 80071918 60 00 00 02 */ ori r0, r0, 2 -/* 8007191C 90 1E 03 34 */ stw r0, 0x334(r30) -/* 80071920 48 00 00 10 */ b lbl_80071930 -lbl_80071924: -/* 80071924 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 80071928 60 00 00 01 */ ori r0, r0, 1 -/* 8007192C 90 1E 03 34 */ stw r0, 0x334(r30) -lbl_80071930: -/* 80071930 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 80071934 60 00 00 04 */ ori r0, r0, 4 -/* 80071938 90 1E 03 34 */ stw r0, 0x334(r30) -lbl_8007193C: -/* 8007193C 7F C3 F3 78 */ mr r3, r30 -/* 80071940 38 80 00 00 */ li r4, 0 -/* 80071944 48 00 1B F9 */ bl LockonTarget__12dAttention_cFl -/* 80071948 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8007194C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80071950 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80071954 7C 08 03 A6 */ mtlr r0 -/* 80071958 38 21 00 10 */ addi r1, r1, 0x10 -/* 8007195C 4E 80 00 20 */ blr diff --git a/asm/d/d_attention/triggerProc__12dAttention_cFv.s b/asm/d/d_attention/triggerProc__12dAttention_cFv.s deleted file mode 100644 index 20714c99d6..0000000000 --- a/asm/d/d_attention/triggerProc__12dAttention_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_800722A0: -/* 800722A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800722A4 7C 08 02 A6 */ mflr r0 -/* 800722A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800722AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800722B0 7C 7F 1B 78 */ mr r31, r3 -/* 800722B4 4B FF F7 E5 */ bl chaseAttention__12dAttention_cFv -/* 800722B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800722BC 41 82 00 18 */ beq lbl_800722D4 -/* 800722C0 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800722C4 60 00 00 08 */ ori r0, r0, 8 -/* 800722C8 90 1F 03 34 */ stw r0, 0x334(r31) -/* 800722CC 38 60 00 01 */ li r3, 1 -/* 800722D0 48 00 00 08 */ b lbl_800722D8 -lbl_800722D4: -/* 800722D4 38 60 00 00 */ li r3, 0 -lbl_800722D8: -/* 800722D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800722DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800722E0 7C 08 03 A6 */ mtlr r0 -/* 800722E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800722E8 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGFindNodeID__13dDemo_actor_cCFPCc.s b/asm/d/d_demo/JSGFindNodeID__13dDemo_actor_cCFPCc.s deleted file mode 100644 index 0e8e14359b..0000000000 --- a/asm/d/d_demo/JSGFindNodeID__13dDemo_actor_cCFPCc.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8003A05C: -/* 8003A05C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003A060 7C 08 02 A6 */ mflr r0 -/* 8003A064 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003A068 80 63 00 48 */ lwz r3, 0x48(r3) -/* 8003A06C 80 63 00 04 */ lwz r3, 4(r3) -/* 8003A070 80 63 00 54 */ lwz r3, 0x54(r3) -/* 8003A074 48 2A 49 E5 */ bl getIndex__10JUTNameTabCFPCc -/* 8003A078 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003A07C 7C 08 03 A6 */ mtlr r0 -/* 8003A080 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003A084 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetAnimationFrameMax__13dDemo_actor_cCFv.s b/asm/d/d_demo/JSGGetAnimationFrameMax__13dDemo_actor_cCFv.s deleted file mode 100644 index dabfe1e0e2..0000000000 --- a/asm/d/d_demo/JSGGetAnimationFrameMax__13dDemo_actor_cCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8003A0C8: -/* 8003A0C8 C0 23 00 38 */ lfs f1, 0x38(r3) -/* 8003A0CC 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f.s b/asm/d/d_demo/JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f.s deleted file mode 100644 index 8e15163172..0000000000 --- a/asm/d/d_demo/JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8003A088: -/* 8003A088 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003A08C 7C 08 02 A6 */ mflr r0 -/* 8003A090 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003A094 80 63 00 48 */ lwz r3, 0x48(r3) -/* 8003A098 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8003A09C 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8003A0A0 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 8003A0A4 1C 00 00 30 */ mulli r0, r0, 0x30 -/* 8003A0A8 7C 63 02 14 */ add r3, r3, r0 -/* 8003A0AC 7C A4 2B 78 */ mr r4, r5 -/* 8003A0B0 48 30 C4 01 */ bl PSMTXCopy -/* 8003A0B4 38 60 00 01 */ li r3, 1 -/* 8003A0B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003A0BC 7C 08 03 A6 */ mtlr r0 -/* 8003A0C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003A0C4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetProjectionAspect__14dDemo_camera_cCFv.s b/asm/d/d_demo/JSGGetProjectionAspect__14dDemo_camera_cCFv.s deleted file mode 100644 index 10bb005a74..0000000000 --- a/asm/d/d_demo/JSGGetProjectionAspect__14dDemo_camera_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80038B9C: -/* 80038B9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038BA0 7C 08 02 A6 */ mflr r0 -/* 80038BA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038BA8 4B FF FE E9 */ bl getView__Fv -/* 80038BAC 28 03 00 00 */ cmplwi r3, 0 -/* 80038BB0 40 82 00 0C */ bne lbl_80038BBC -/* 80038BB4 C0 22 83 D4 */ lfs f1, lit_4655(r2) -/* 80038BB8 48 00 00 08 */ b lbl_80038BC0 -lbl_80038BBC: -/* 80038BBC C0 23 00 D4 */ lfs f1, 0xd4(r3) -lbl_80038BC0: -/* 80038BC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038BC4 7C 08 03 A6 */ mtlr r0 -/* 80038BC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038BCC 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetProjectionFar__14dDemo_camera_cCFv.s b/asm/d/d_demo/JSGGetProjectionFar__14dDemo_camera_cCFv.s deleted file mode 100644 index f0c8596aa2..0000000000 --- a/asm/d/d_demo/JSGGetProjectionFar__14dDemo_camera_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80038B0C: -/* 80038B0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038B10 7C 08 02 A6 */ mflr r0 -/* 80038B14 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038B18 4B FF FF 79 */ bl getView__Fv -/* 80038B1C 28 03 00 00 */ cmplwi r3, 0 -/* 80038B20 40 82 00 0C */ bne lbl_80038B2C -/* 80038B24 C0 22 83 B4 */ lfs f1, lit_4041(r2) -/* 80038B28 48 00 00 08 */ b lbl_80038B30 -lbl_80038B2C: -/* 80038B2C C0 23 00 CC */ lfs f1, 0xcc(r3) -lbl_80038B30: -/* 80038B30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038B34 7C 08 03 A6 */ mtlr r0 -/* 80038B38 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038B3C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetProjectionFovy__14dDemo_camera_cCFv.s b/asm/d/d_demo/JSGGetProjectionFovy__14dDemo_camera_cCFv.s deleted file mode 100644 index e64a2919a0..0000000000 --- a/asm/d/d_demo/JSGGetProjectionFovy__14dDemo_camera_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80038B54: -/* 80038B54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038B58 7C 08 02 A6 */ mflr r0 -/* 80038B5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038B60 4B FF FF 31 */ bl getView__Fv -/* 80038B64 28 03 00 00 */ cmplwi r3, 0 -/* 80038B68 40 82 00 0C */ bne lbl_80038B74 -/* 80038B6C C0 22 83 D0 */ lfs f1, lit_4642(r2) -/* 80038B70 48 00 00 08 */ b lbl_80038B78 -lbl_80038B74: -/* 80038B74 C0 23 00 D0 */ lfs f1, 0xd0(r3) -lbl_80038B78: -/* 80038B78 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038B7C 7C 08 03 A6 */ mtlr r0 -/* 80038B80 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038B84 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetProjectionNear__14dDemo_camera_cCFv.s b/asm/d/d_demo/JSGGetProjectionNear__14dDemo_camera_cCFv.s deleted file mode 100644 index 745a4aa61c..0000000000 --- a/asm/d/d_demo/JSGGetProjectionNear__14dDemo_camera_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80038AC4: -/* 80038AC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038AC8 7C 08 02 A6 */ mflr r0 -/* 80038ACC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038AD0 4B FF FF C1 */ bl getView__Fv -/* 80038AD4 28 03 00 00 */ cmplwi r3, 0 -/* 80038AD8 40 82 00 0C */ bne lbl_80038AE4 -/* 80038ADC C0 22 83 B0 */ lfs f1, lit_4040(r2) -/* 80038AE0 48 00 00 08 */ b lbl_80038AE8 -lbl_80038AE4: -/* 80038AE4 C0 23 00 C8 */ lfs f1, 0xc8(r3) -lbl_80038AE8: -/* 80038AE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038AEC 7C 08 03 A6 */ mtlr r0 -/* 80038AF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038AF4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetScaling__13dDemo_actor_cCFP3Vec.s b/asm/d/d_demo/JSGGetScaling__13dDemo_actor_cCFP3Vec.s deleted file mode 100644 index 958a7e11e0..0000000000 --- a/asm/d/d_demo/JSGGetScaling__13dDemo_actor_cCFP3Vec.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8003A0F4: -/* 8003A0F4 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8003A0F8 D0 04 00 00 */ stfs f0, 0(r4) -/* 8003A0FC C0 03 00 18 */ lfs f0, 0x18(r3) -/* 8003A100 D0 04 00 04 */ stfs f0, 4(r4) -/* 8003A104 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8003A108 D0 04 00 08 */ stfs f0, 8(r4) -/* 8003A10C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv.s b/asm/d/d_demo/JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv.s deleted file mode 100644 index ebb72b16be..0000000000 --- a/asm/d/d_demo/JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8003A0D0: -/* 8003A0D0 C0 23 00 44 */ lfs f1, 0x44(r3) -/* 8003A0D4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetTranslation__13dDemo_actor_cCFP3Vec.s b/asm/d/d_demo/JSGGetTranslation__13dDemo_actor_cCFP3Vec.s deleted file mode 100644 index 4826a2dd8b..0000000000 --- a/asm/d/d_demo/JSGGetTranslation__13dDemo_actor_cCFP3Vec.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8003A0D8: -/* 8003A0D8 C0 03 00 08 */ lfs f0, 8(r3) -/* 8003A0DC D0 04 00 00 */ stfs f0, 0(r4) -/* 8003A0E0 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8003A0E4 D0 04 00 04 */ stfs f0, 4(r4) -/* 8003A0E8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8003A0EC D0 04 00 08 */ stfs f0, 8(r4) -/* 8003A0F0 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetViewPosition__14dDemo_camera_cCFP3Vec.s b/asm/d/d_demo/JSGGetViewPosition__14dDemo_camera_cCFP3Vec.s deleted file mode 100644 index 9ec805f719..0000000000 --- a/asm/d/d_demo/JSGGetViewPosition__14dDemo_camera_cCFP3Vec.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80038BE4: -/* 80038BE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038BE8 7C 08 02 A6 */ mflr r0 -/* 80038BEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038BF0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80038BF4 7C 9F 23 78 */ mr r31, r4 -/* 80038BF8 4B FF FE 99 */ bl getView__Fv -/* 80038BFC 28 03 00 00 */ cmplwi r3, 0 -/* 80038C00 40 82 00 18 */ bne lbl_80038C18 -/* 80038C04 C0 02 83 B0 */ lfs f0, lit_4040(r2) -/* 80038C08 D0 1F 00 00 */ stfs f0, 0(r31) -/* 80038C0C D0 1F 00 04 */ stfs f0, 4(r31) -/* 80038C10 D0 1F 00 08 */ stfs f0, 8(r31) -/* 80038C14 48 00 00 1C */ b lbl_80038C30 -lbl_80038C18: -/* 80038C18 C0 03 00 D8 */ lfs f0, 0xd8(r3) -/* 80038C1C D0 1F 00 00 */ stfs f0, 0(r31) -/* 80038C20 C0 03 00 DC */ lfs f0, 0xdc(r3) -/* 80038C24 D0 1F 00 04 */ stfs f0, 4(r31) -/* 80038C28 C0 03 00 E0 */ lfs f0, 0xe0(r3) -/* 80038C2C D0 1F 00 08 */ stfs f0, 8(r31) -lbl_80038C30: -/* 80038C30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80038C34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038C38 7C 08 03 A6 */ mtlr r0 -/* 80038C3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038C40 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec.s b/asm/d/d_demo/JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec.s deleted file mode 100644 index f3df2c82dd..0000000000 --- a/asm/d/d_demo/JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80038CF8: -/* 80038CF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038CFC 7C 08 02 A6 */ mflr r0 -/* 80038D00 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038D04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80038D08 7C 9F 23 78 */ mr r31, r4 -/* 80038D0C 4B FF FD 85 */ bl getView__Fv -/* 80038D10 28 03 00 00 */ cmplwi r3, 0 -/* 80038D14 40 82 00 1C */ bne lbl_80038D30 -/* 80038D18 C0 02 83 B0 */ lfs f0, lit_4040(r2) -/* 80038D1C D0 1F 00 00 */ stfs f0, 0(r31) -/* 80038D20 D0 1F 00 04 */ stfs f0, 4(r31) -/* 80038D24 C0 02 83 B4 */ lfs f0, lit_4041(r2) -/* 80038D28 D0 1F 00 08 */ stfs f0, 8(r31) -/* 80038D2C 48 00 00 1C */ b lbl_80038D48 -lbl_80038D30: -/* 80038D30 C0 03 00 E4 */ lfs f0, 0xe4(r3) -/* 80038D34 D0 1F 00 00 */ stfs f0, 0(r31) -/* 80038D38 C0 03 00 E8 */ lfs f0, 0xe8(r3) -/* 80038D3C D0 1F 00 04 */ stfs f0, 4(r31) -/* 80038D40 C0 03 00 EC */ lfs f0, 0xec(r3) -/* 80038D44 D0 1F 00 08 */ stfs f0, 8(r31) -lbl_80038D48: -/* 80038D48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80038D4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038D50 7C 08 03 A6 */ mtlr r0 -/* 80038D54 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038D58 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGGetViewUpVector__14dDemo_camera_cCFP3Vec.s b/asm/d/d_demo/JSGGetViewUpVector__14dDemo_camera_cCFP3Vec.s deleted file mode 100644 index 16f63a0f07..0000000000 --- a/asm/d/d_demo/JSGGetViewUpVector__14dDemo_camera_cCFP3Vec.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80038C6C: -/* 80038C6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80038C70 7C 08 02 A6 */ mflr r0 -/* 80038C74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038C78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80038C7C 7C 9F 23 78 */ mr r31, r4 -/* 80038C80 4B FF FE 11 */ bl getView__Fv -/* 80038C84 28 03 00 00 */ cmplwi r3, 0 -/* 80038C88 40 82 00 1C */ bne lbl_80038CA4 -/* 80038C8C C0 22 83 B0 */ lfs f1, lit_4040(r2) -/* 80038C90 D0 3F 00 00 */ stfs f1, 0(r31) -/* 80038C94 C0 02 83 B4 */ lfs f0, lit_4041(r2) -/* 80038C98 D0 1F 00 04 */ stfs f0, 4(r31) -/* 80038C9C D0 3F 00 08 */ stfs f1, 8(r31) -/* 80038CA0 48 00 00 1C */ b lbl_80038CBC -lbl_80038CA4: -/* 80038CA4 C0 03 00 F0 */ lfs f0, 0xf0(r3) -/* 80038CA8 D0 1F 00 00 */ stfs f0, 0(r31) -/* 80038CAC C0 03 00 F4 */ lfs f0, 0xf4(r3) -/* 80038CB0 D0 1F 00 04 */ stfs f0, 4(r31) -/* 80038CB4 C0 03 00 F8 */ lfs f0, 0xf8(r3) -/* 80038CB8 D0 1F 00 08 */ stfs f0, 8(r31) -lbl_80038CBC: -/* 80038CBC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80038CC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038CC4 7C 08 03 A6 */ mtlr r0 -/* 80038CC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038CCC 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn.s b/asm/d/d_demo/JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn.s deleted file mode 100644 index c40534bbc3..0000000000 --- a/asm/d/d_demo/JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80038EA8: -/* 80038EA8 D0 23 00 2C */ stfs f1, 0x2c(r3) -/* 80038EAC 90 83 00 10 */ stw r4, 0x10(r3) -/* 80038EB0 88 03 00 04 */ lbz r0, 4(r3) -/* 80038EB4 60 00 00 10 */ ori r0, r0, 0x10 -/* 80038EB8 98 03 00 04 */ stb r0, 4(r3) -/* 80038EBC 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetAnimationFrame__13dDemo_actor_cFf.s b/asm/d/d_demo/JSGSetAnimationFrame__13dDemo_actor_cFf.s deleted file mode 100644 index a73591f8bf..0000000000 --- a/asm/d/d_demo/JSGSetAnimationFrame__13dDemo_actor_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038A40: -/* 80038A40 D0 23 00 30 */ stfs f1, 0x30(r3) -/* 80038A44 A0 03 00 04 */ lhz r0, 4(r3) -/* 80038A48 60 00 00 40 */ ori r0, r0, 0x40 -/* 80038A4C B0 03 00 04 */ sth r0, 4(r3) -/* 80038A50 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetAnimationTransition__13dDemo_actor_cFf.s b/asm/d/d_demo/JSGSetAnimationTransition__13dDemo_actor_cFf.s deleted file mode 100644 index 81990888bf..0000000000 --- a/asm/d/d_demo/JSGSetAnimationTransition__13dDemo_actor_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038A54: -/* 80038A54 D0 23 00 34 */ stfs f1, 0x34(r3) -/* 80038A58 A0 03 00 04 */ lhz r0, 4(r3) -/* 80038A5C 60 00 00 80 */ ori r0, r0, 0x80 -/* 80038A60 B0 03 00 04 */ sth r0, 4(r3) -/* 80038A64 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetAnimation__13dDemo_actor_cFUl.s b/asm/d/d_demo/JSGSetAnimation__13dDemo_actor_cFUl.s deleted file mode 100644 index 9e9ac2b2f4..0000000000 --- a/asm/d/d_demo/JSGSetAnimation__13dDemo_actor_cFUl.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80038A20: -/* 80038A20 90 83 00 2C */ stw r4, 0x2c(r3) -/* 80038A24 3C 80 80 45 */ lis r4, __float_max@ha /* 0x80450AE8@ha */ -/* 80038A28 C0 04 0A E8 */ lfs f0, __float_max@l(r4) /* 0x80450AE8@l */ -/* 80038A2C D0 03 00 38 */ stfs f0, 0x38(r3) -/* 80038A30 A0 03 00 04 */ lhz r0, 4(r3) -/* 80038A34 60 00 00 20 */ ori r0, r0, 0x20 -/* 80038A38 B0 03 00 04 */ sth r0, 4(r3) -/* 80038A3C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetColor__11dDemo_fog_cF8_GXColor.s b/asm/d/d_demo/JSGSetColor__11dDemo_fog_cF8_GXColor.s deleted file mode 100644 index 8be966aa07..0000000000 --- a/asm/d/d_demo/JSGSetColor__11dDemo_fog_cF8_GXColor.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80038F24: -/* 80038F24 88 04 00 00 */ lbz r0, 0(r4) -/* 80038F28 98 03 00 10 */ stb r0, 0x10(r3) -/* 80038F2C 88 04 00 01 */ lbz r0, 1(r4) -/* 80038F30 98 03 00 11 */ stb r0, 0x11(r3) -/* 80038F34 88 04 00 02 */ lbz r0, 2(r4) -/* 80038F38 98 03 00 12 */ stb r0, 0x12(r3) -/* 80038F3C 88 04 00 03 */ lbz r0, 3(r4) -/* 80038F40 98 03 00 13 */ stb r0, 0x13(r3) -/* 80038F44 88 03 00 04 */ lbz r0, 4(r3) -/* 80038F48 60 00 00 08 */ ori r0, r0, 8 -/* 80038F4C 98 03 00 04 */ stb r0, 4(r3) -/* 80038F50 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetColor__13dDemo_light_cF8_GXColor.s b/asm/d/d_demo/JSGSetColor__13dDemo_light_cF8_GXColor.s deleted file mode 100644 index e0a49a85a7..0000000000 --- a/asm/d/d_demo/JSGSetColor__13dDemo_light_cF8_GXColor.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80038E5C: -/* 80038E5C 88 04 00 00 */ lbz r0, 0(r4) -/* 80038E60 98 03 00 20 */ stb r0, 0x20(r3) -/* 80038E64 88 04 00 01 */ lbz r0, 1(r4) -/* 80038E68 98 03 00 21 */ stb r0, 0x21(r3) -/* 80038E6C 88 04 00 02 */ lbz r0, 2(r4) -/* 80038E70 98 03 00 22 */ stb r0, 0x22(r3) -/* 80038E74 88 04 00 03 */ lbz r0, 3(r4) -/* 80038E78 98 03 00 23 */ stb r0, 0x23(r3) -/* 80038E7C 88 03 00 04 */ lbz r0, 4(r3) -/* 80038E80 60 00 00 04 */ ori r0, r0, 4 -/* 80038E84 98 03 00 04 */ stb r0, 4(r3) -/* 80038E88 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetColor__15dDemo_ambient_cF8_GXColor.s b/asm/d/d_demo/JSGSetColor__15dDemo_ambient_cF8_GXColor.s deleted file mode 100644 index dff8f55405..0000000000 --- a/asm/d/d_demo/JSGSetColor__15dDemo_ambient_cF8_GXColor.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80038DF0: -/* 80038DF0 88 04 00 00 */ lbz r0, 0(r4) -/* 80038DF4 98 03 00 05 */ stb r0, 5(r3) -/* 80038DF8 88 04 00 01 */ lbz r0, 1(r4) -/* 80038DFC 98 03 00 06 */ stb r0, 6(r3) -/* 80038E00 88 04 00 02 */ lbz r0, 2(r4) -/* 80038E04 98 03 00 07 */ stb r0, 7(r3) -/* 80038E08 88 04 00 03 */ lbz r0, 3(r4) -/* 80038E0C 98 03 00 08 */ stb r0, 8(r3) -/* 80038E10 88 03 00 04 */ lbz r0, 4(r3) -/* 80038E14 60 00 00 01 */ ori r0, r0, 1 -/* 80038E18 98 03 00 04 */ stb r0, 4(r3) -/* 80038E1C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetDirection__13dDemo_light_cFRC3Vec.s b/asm/d/d_demo/JSGSetDirection__13dDemo_light_cFRC3Vec.s deleted file mode 100644 index 401264ce2c..0000000000 --- a/asm/d/d_demo/JSGSetDirection__13dDemo_light_cFRC3Vec.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80038EC0: -/* 80038EC0 C0 04 00 00 */ lfs f0, 0(r4) -/* 80038EC4 D0 03 00 30 */ stfs f0, 0x30(r3) -/* 80038EC8 C0 04 00 04 */ lfs f0, 4(r4) -/* 80038ECC D0 03 00 34 */ stfs f0, 0x34(r3) -/* 80038ED0 C0 04 00 08 */ lfs f0, 8(r4) -/* 80038ED4 D0 03 00 38 */ stfs f0, 0x38(r3) -/* 80038ED8 88 03 00 04 */ lbz r0, 4(r3) -/* 80038EDC 60 00 00 20 */ ori r0, r0, 0x20 -/* 80038EE0 98 03 00 04 */ stb r0, 4(r3) -/* 80038EE4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn.s b/asm/d/d_demo/JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn.s deleted file mode 100644 index 6e86e38621..0000000000 --- a/asm/d/d_demo/JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80038E8C: -/* 80038E8C D0 23 00 24 */ stfs f1, 0x24(r3) -/* 80038E90 D0 43 00 28 */ stfs f2, 0x28(r3) -/* 80038E94 90 83 00 0C */ stw r4, 0xc(r3) -/* 80038E98 88 03 00 04 */ lbz r0, 4(r3) -/* 80038E9C 60 00 00 08 */ ori r0, r0, 8 -/* 80038EA0 98 03 00 04 */ stb r0, 4(r3) -/* 80038EA4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s b/asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s deleted file mode 100644 index 5472cef06a..0000000000 --- a/asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038F10: -/* 80038F10 D0 23 00 0C */ stfs f1, 0xc(r3) -/* 80038F14 88 03 00 04 */ lbz r0, 4(r3) -/* 80038F18 60 00 00 04 */ ori r0, r0, 4 -/* 80038F1C 98 03 00 04 */ stb r0, 4(r3) -/* 80038F20 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetFogFunction__11dDemo_fog_cF10_GXFogType.s b/asm/d/d_demo/JSGSetFogFunction__11dDemo_fog_cF10_GXFogType.s deleted file mode 100644 index 87ab2f1ba5..0000000000 --- a/asm/d/d_demo/JSGSetFogFunction__11dDemo_fog_cF10_GXFogType.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038EE8: -/* 80038EE8 98 83 00 05 */ stb r4, 5(r3) -/* 80038EEC 88 03 00 04 */ lbz r0, 4(r3) -/* 80038EF0 60 00 00 01 */ ori r0, r0, 1 -/* 80038EF4 98 03 00 04 */ stb r0, 4(r3) -/* 80038EF8 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetLightType__13dDemo_light_cFQ26JStage7TELight.s b/asm/d/d_demo/JSGSetLightType__13dDemo_light_cFQ26JStage7TELight.s deleted file mode 100644 index ac1623ab47..0000000000 --- a/asm/d/d_demo/JSGSetLightType__13dDemo_light_cFQ26JStage7TELight.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038E20: -/* 80038E20 90 83 00 08 */ stw r4, 8(r3) -/* 80038E24 88 03 00 04 */ lbz r0, 4(r3) -/* 80038E28 60 00 00 01 */ ori r0, r0, 1 -/* 80038E2C 98 03 00 04 */ stb r0, 4(r3) -/* 80038E30 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetPosition__13dDemo_light_cFRC3Vec.s b/asm/d/d_demo/JSGSetPosition__13dDemo_light_cFRC3Vec.s deleted file mode 100644 index 75e26c9fd5..0000000000 --- a/asm/d/d_demo/JSGSetPosition__13dDemo_light_cFRC3Vec.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80038E34: -/* 80038E34 C0 04 00 00 */ lfs f0, 0(r4) -/* 80038E38 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80038E3C C0 04 00 04 */ lfs f0, 4(r4) -/* 80038E40 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80038E44 C0 04 00 08 */ lfs f0, 8(r4) -/* 80038E48 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 80038E4C 88 03 00 04 */ lbz r0, 4(r3) -/* 80038E50 60 00 00 02 */ ori r0, r0, 2 -/* 80038E54 98 03 00 04 */ stb r0, 4(r3) -/* 80038E58 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetProjectionAspect__14dDemo_camera_cFf.s b/asm/d/d_demo/JSGSetProjectionAspect__14dDemo_camera_cFf.s deleted file mode 100644 index 1c1e2ae152..0000000000 --- a/asm/d/d_demo/JSGSetProjectionAspect__14dDemo_camera_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038BD0: -/* 80038BD0 D0 23 00 14 */ stfs f1, 0x14(r3) -/* 80038BD4 88 03 00 04 */ lbz r0, 4(r3) -/* 80038BD8 60 00 00 08 */ ori r0, r0, 8 -/* 80038BDC 98 03 00 04 */ stb r0, 4(r3) -/* 80038BE0 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetProjectionFar__14dDemo_camera_cFf.s b/asm/d/d_demo/JSGSetProjectionFar__14dDemo_camera_cFf.s deleted file mode 100644 index 22853c800a..0000000000 --- a/asm/d/d_demo/JSGSetProjectionFar__14dDemo_camera_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038B40: -/* 80038B40 D0 23 00 0C */ stfs f1, 0xc(r3) -/* 80038B44 88 03 00 04 */ lbz r0, 4(r3) -/* 80038B48 60 00 00 02 */ ori r0, r0, 2 -/* 80038B4C 98 03 00 04 */ stb r0, 4(r3) -/* 80038B50 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetProjectionFovy__14dDemo_camera_cFf.s b/asm/d/d_demo/JSGSetProjectionFovy__14dDemo_camera_cFf.s deleted file mode 100644 index 7bceebc850..0000000000 --- a/asm/d/d_demo/JSGSetProjectionFovy__14dDemo_camera_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038B88: -/* 80038B88 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 80038B8C 88 03 00 04 */ lbz r0, 4(r3) -/* 80038B90 60 00 00 04 */ ori r0, r0, 4 -/* 80038B94 98 03 00 04 */ stb r0, 4(r3) -/* 80038B98 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetProjectionNear__14dDemo_camera_cFf.s b/asm/d/d_demo/JSGSetProjectionNear__14dDemo_camera_cFf.s deleted file mode 100644 index b8e533d492..0000000000 --- a/asm/d/d_demo/JSGSetProjectionNear__14dDemo_camera_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038AF8: -/* 80038AF8 D0 23 00 08 */ stfs f1, 8(r3) -/* 80038AFC 88 03 00 04 */ lbz r0, 4(r3) -/* 80038B00 60 00 00 01 */ ori r0, r0, 1 -/* 80038B04 98 03 00 04 */ stb r0, 4(r3) -/* 80038B08 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetRotation__13dDemo_actor_cFRC3Vec.s b/asm/d/d_demo/JSGSetRotation__13dDemo_actor_cFRC3Vec.s deleted file mode 100644 index 2c898c3b87..0000000000 --- a/asm/d/d_demo/JSGSetRotation__13dDemo_actor_cFRC3Vec.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800389A8: -/* 800389A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800389AC C0 22 83 CC */ lfs f1, lit_4567(r2) -/* 800389B0 C0 04 00 00 */ lfs f0, 0(r4) -/* 800389B4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800389B8 FC 00 00 1E */ fctiwz f0, f0 -/* 800389BC D8 01 00 08 */ stfd f0, 8(r1) -/* 800389C0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 800389C4 B0 03 00 20 */ sth r0, 0x20(r3) -/* 800389C8 C0 04 00 04 */ lfs f0, 4(r4) -/* 800389CC EC 01 00 32 */ fmuls f0, f1, f0 -/* 800389D0 FC 00 00 1E */ fctiwz f0, f0 -/* 800389D4 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 800389D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800389DC B0 03 00 22 */ sth r0, 0x22(r3) -/* 800389E0 C0 04 00 08 */ lfs f0, 8(r4) -/* 800389E4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800389E8 FC 00 00 1E */ fctiwz f0, f0 -/* 800389EC D8 01 00 18 */ stfd f0, 0x18(r1) -/* 800389F0 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 800389F4 B0 03 00 24 */ sth r0, 0x24(r3) -/* 800389F8 A0 03 00 04 */ lhz r0, 4(r3) -/* 800389FC 60 00 00 08 */ ori r0, r0, 8 -/* 80038A00 B0 03 00 04 */ sth r0, 4(r3) -/* 80038A04 38 21 00 20 */ addi r1, r1, 0x20 -/* 80038A08 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetScaling__13dDemo_actor_cFRC3Vec.s b/asm/d/d_demo/JSGSetScaling__13dDemo_actor_cFRC3Vec.s deleted file mode 100644 index c3e033a3f9..0000000000 --- a/asm/d/d_demo/JSGSetScaling__13dDemo_actor_cFRC3Vec.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80038980: -/* 80038980 C0 04 00 00 */ lfs f0, 0(r4) -/* 80038984 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80038988 C0 04 00 04 */ lfs f0, 4(r4) -/* 8003898C D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80038990 C0 04 00 08 */ lfs f0, 8(r4) -/* 80038994 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 80038998 A0 03 00 04 */ lhz r0, 4(r3) -/* 8003899C 60 00 00 04 */ ori r0, r0, 4 -/* 800389A0 B0 03 00 04 */ sth r0, 4(r3) -/* 800389A4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetShape__13dDemo_actor_cFUl.s b/asm/d/d_demo/JSGSetShape__13dDemo_actor_cFUl.s deleted file mode 100644 index a3ba645fec..0000000000 --- a/asm/d/d_demo/JSGSetShape__13dDemo_actor_cFUl.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038A0C: -/* 80038A0C 90 83 00 28 */ stw r4, 0x28(r3) -/* 80038A10 A0 03 00 04 */ lhz r0, 4(r3) -/* 80038A14 60 00 00 10 */ ori r0, r0, 0x10 -/* 80038A18 B0 03 00 04 */ sth r0, 4(r3) -/* 80038A1C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s b/asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s deleted file mode 100644 index 015419ab90..0000000000 --- a/asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038EFC: -/* 80038EFC D0 23 00 08 */ stfs f1, 8(r3) -/* 80038F00 88 03 00 04 */ lbz r0, 4(r3) -/* 80038F04 60 00 00 02 */ ori r0, r0, 2 -/* 80038F08 98 03 00 04 */ stb r0, 4(r3) -/* 80038F0C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetTextureAnimationFrame__13dDemo_actor_cFf.s b/asm/d/d_demo/JSGSetTextureAnimationFrame__13dDemo_actor_cFf.s deleted file mode 100644 index b0f1e9aa0b..0000000000 --- a/asm/d/d_demo/JSGSetTextureAnimationFrame__13dDemo_actor_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038A7C: -/* 80038A7C D0 23 00 40 */ stfs f1, 0x40(r3) -/* 80038A80 A0 03 00 04 */ lhz r0, 4(r3) -/* 80038A84 60 00 02 00 */ ori r0, r0, 0x200 -/* 80038A88 B0 03 00 04 */ sth r0, 4(r3) -/* 80038A8C 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetTextureAnimation__13dDemo_actor_cFUl.s b/asm/d/d_demo/JSGSetTextureAnimation__13dDemo_actor_cFUl.s deleted file mode 100644 index 940206792a..0000000000 --- a/asm/d/d_demo/JSGSetTextureAnimation__13dDemo_actor_cFUl.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038A68: -/* 80038A68 90 83 00 3C */ stw r4, 0x3c(r3) -/* 80038A6C A0 03 00 04 */ lhz r0, 4(r3) -/* 80038A70 60 00 01 00 */ ori r0, r0, 0x100 -/* 80038A74 B0 03 00 04 */ sth r0, 4(r3) -/* 80038A78 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetViewPosition__14dDemo_camera_cFRC3Vec.s b/asm/d/d_demo/JSGSetViewPosition__14dDemo_camera_cFRC3Vec.s deleted file mode 100644 index d9079ceb57..0000000000 --- a/asm/d/d_demo/JSGSetViewPosition__14dDemo_camera_cFRC3Vec.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80038C44: -/* 80038C44 C0 04 00 00 */ lfs f0, 0(r4) -/* 80038C48 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80038C4C C0 04 00 04 */ lfs f0, 4(r4) -/* 80038C50 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 80038C54 C0 04 00 08 */ lfs f0, 8(r4) -/* 80038C58 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 80038C5C 88 03 00 04 */ lbz r0, 4(r3) -/* 80038C60 60 00 00 10 */ ori r0, r0, 0x10 -/* 80038C64 98 03 00 04 */ stb r0, 4(r3) -/* 80038C68 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetViewRoll__14dDemo_camera_cFf.s b/asm/d/d_demo/JSGSetViewRoll__14dDemo_camera_cFf.s deleted file mode 100644 index 9e74238e0c..0000000000 --- a/asm/d/d_demo/JSGSetViewRoll__14dDemo_camera_cFf.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80038DDC: -/* 80038DDC D0 23 00 3C */ stfs f1, 0x3c(r3) -/* 80038DE0 88 03 00 04 */ lbz r0, 4(r3) -/* 80038DE4 60 00 00 80 */ ori r0, r0, 0x80 -/* 80038DE8 98 03 00 04 */ stb r0, 4(r3) -/* 80038DEC 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec.s b/asm/d/d_demo/JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec.s deleted file mode 100644 index ac1141a435..0000000000 --- a/asm/d/d_demo/JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80038D5C: -/* 80038D5C C0 04 00 00 */ lfs f0, 0(r4) -/* 80038D60 D0 03 00 30 */ stfs f0, 0x30(r3) -/* 80038D64 C0 04 00 04 */ lfs f0, 4(r4) -/* 80038D68 D0 03 00 34 */ stfs f0, 0x34(r3) -/* 80038D6C C0 04 00 08 */ lfs f0, 8(r4) -/* 80038D70 D0 03 00 38 */ stfs f0, 0x38(r3) -/* 80038D74 88 03 00 04 */ lbz r0, 4(r3) -/* 80038D78 60 00 00 40 */ ori r0, r0, 0x40 -/* 80038D7C 98 03 00 04 */ stb r0, 4(r3) -/* 80038D80 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/JSGSetViewUpVector__14dDemo_camera_cFRC3Vec.s b/asm/d/d_demo/JSGSetViewUpVector__14dDemo_camera_cFRC3Vec.s deleted file mode 100644 index 23d87da142..0000000000 --- a/asm/d/d_demo/JSGSetViewUpVector__14dDemo_camera_cFRC3Vec.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80038CD0: -/* 80038CD0 C0 04 00 00 */ lfs f0, 0(r4) -/* 80038CD4 D0 03 00 24 */ stfs f0, 0x24(r3) -/* 80038CD8 C0 04 00 04 */ lfs f0, 4(r4) -/* 80038CDC D0 03 00 28 */ stfs f0, 0x28(r3) -/* 80038CE0 C0 04 00 08 */ lfs f0, 8(r4) -/* 80038CE4 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 80038CE8 88 03 00 04 */ lbz r0, 4(r3) -/* 80038CEC 60 00 00 20 */ ori r0, r0, 0x20 -/* 80038CF0 98 03 00 04 */ stb r0, 4(r3) -/* 80038CF4 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/getActor__13dDemo_actor_cFv.s b/asm/d/d_demo/getActor__13dDemo_actor_cFv.s deleted file mode 100644 index f29030123b..0000000000 --- a/asm/d/d_demo/getActor__13dDemo_actor_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80038128: -/* 80038128 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003812C 7C 08 02 A6 */ mflr r0 -/* 80038130 90 01 00 14 */ stw r0, 0x14(r1) -/* 80038134 80 03 00 58 */ lwz r0, 0x58(r3) -/* 80038138 90 01 00 08 */ stw r0, 8(r1) -/* 8003813C 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */ -/* 80038140 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */ -/* 80038144 38 81 00 08 */ addi r4, r1, 8 -/* 80038148 4B FE 16 B1 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 8003814C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80038150 7C 08 03 A6 */ mtlr r0 -/* 80038154 38 21 00 10 */ addi r1, r1, 0x10 -/* 80038158 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/getView__Fv.s b/asm/d/d_demo/getView__Fv.s deleted file mode 100644 index 38b3c8241d..0000000000 --- a/asm/d/d_demo/getView__Fv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80038A90: -/* 80038A90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80038A94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80038A98 88 03 5D 44 */ lbz r0, 0x5d44(r3) -/* 80038A9C 2C 00 00 00 */ cmpwi r0, 0 -/* 80038AA0 40 82 00 0C */ bne lbl_80038AAC -/* 80038AA4 38 60 00 00 */ li r3, 0 -/* 80038AA8 4E 80 00 20 */ blr -lbl_80038AAC: -/* 80038AAC 88 03 5D 70 */ lbz r0, 0x5d70(r3) -/* 80038AB0 7C 00 07 74 */ extsb r0, r0 -/* 80038AB4 1C 00 00 38 */ mulli r0, r0, 0x38 -/* 80038AB8 7C 63 02 14 */ add r3, r3, r0 -/* 80038ABC 80 63 5D 74 */ lwz r3, 0x5d74(r3) -/* 80038AC0 4E 80 00 20 */ blr diff --git a/asm/d/d_demo/setActor__13dDemo_actor_cFP10fopAc_ac_c.s b/asm/d/d_demo/setActor__13dDemo_actor_cFP10fopAc_ac_c.s deleted file mode 100644 index b530ca8b3c..0000000000 --- a/asm/d/d_demo/setActor__13dDemo_actor_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8003815C: -/* 8003815C 28 04 00 00 */ cmplwi r4, 0 -/* 80038160 40 82 00 10 */ bne lbl_80038170 -/* 80038164 38 00 FF FF */ li r0, -1 -/* 80038168 90 03 00 58 */ stw r0, 0x58(r3) -/* 8003816C 48 00 00 18 */ b lbl_80038184 -lbl_80038170: -/* 80038170 41 82 00 0C */ beq lbl_8003817C -/* 80038174 80 04 00 04 */ lwz r0, 4(r4) -/* 80038178 48 00 00 08 */ b lbl_80038180 -lbl_8003817C: -/* 8003817C 38 00 FF FF */ li r0, -1 -lbl_80038180: -/* 80038180 90 03 00 58 */ stw r0, 0x58(r3) -lbl_80038184: -/* 80038184 38 00 FF FF */ li r0, -1 -/* 80038188 90 03 00 5C */ stw r0, 0x5c(r3) -/* 8003818C 90 03 00 60 */ stw r0, 0x60(r3) -/* 80038190 90 03 00 64 */ stw r0, 0x64(r3) -/* 80038194 90 03 00 68 */ stw r0, 0x68(r3) -/* 80038198 4E 80 00 20 */ blr diff --git a/asm/d/d_lib/getTime__11dLib_time_cFv.s b/asm/d/d_lib/getTime__11dLib_time_cFv.s deleted file mode 100644 index 95e8e6737a..0000000000 --- a/asm/d/d_lib/getTime__11dLib_time_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80032804: -/* 80032804 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80032808 7C 08 02 A6 */ mflr r0 -/* 8003280C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80032810 88 0D 88 68 */ lbz r0, data_80450DE8(r13) -/* 80032814 28 00 00 00 */ cmplwi r0, 0 -/* 80032818 40 82 00 1C */ bne lbl_80032834 -/* 8003281C 48 30 FE E1 */ bl OSGetTime -/* 80032820 80 0D 88 58 */ lwz r0, m_diffTime__11dLib_time_c(r13) -/* 80032824 80 AD 88 5C */ lwz r5, data_80450DDC(r13) -/* 80032828 7C 85 20 10 */ subfc r4, r5, r4 -/* 8003282C 7C 60 19 10 */ subfe r3, r0, r3 -/* 80032830 48 00 00 40 */ b lbl_80032870 -lbl_80032834: -/* 80032834 48 30 FE C9 */ bl OSGetTime -/* 80032838 80 CD 88 58 */ lwz r6, m_diffTime__11dLib_time_c(r13) -/* 8003283C 80 ED 88 5C */ lwz r7, data_80450DDC(r13) -/* 80032840 80 0D 88 60 */ lwz r0, m_stopTime__11dLib_time_c(r13) -/* 80032844 80 AD 88 64 */ lwz r5, data_80450DE4(r13) -/* 80032848 7C A5 20 10 */ subfc r5, r5, r4 -/* 8003284C 7C 00 19 10 */ subfe r0, r0, r3 -/* 80032850 7C A7 28 14 */ addc r5, r7, r5 -/* 80032854 7C 06 01 14 */ adde r0, r6, r0 -/* 80032858 90 AD 88 5C */ stw r5, data_80450DDC(r13) -/* 8003285C 90 0D 88 58 */ stw r0, m_diffTime__11dLib_time_c(r13) -/* 80032860 90 8D 88 64 */ stw r4, data_80450DE4(r13) -/* 80032864 90 6D 88 60 */ stw r3, m_stopTime__11dLib_time_c(r13) -/* 80032868 7C 85 20 10 */ subfc r4, r5, r4 -/* 8003286C 7C 60 19 10 */ subfe r3, r0, r3 -lbl_80032870: -/* 80032870 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80032874 7C 08 03 A6 */ mtlr r0 -/* 80032878 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003287C 4E 80 00 20 */ blr diff --git a/asm/d/d_lib/startTime__11dLib_time_cFv.s b/asm/d/d_lib/startTime__11dLib_time_cFv.s deleted file mode 100644 index 6a09482e24..0000000000 --- a/asm/d/d_lib/startTime__11dLib_time_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800328BC: -/* 800328BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800328C0 7C 08 02 A6 */ mflr r0 -/* 800328C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800328C8 88 0D 88 68 */ lbz r0, data_80450DE8(r13) -/* 800328CC 28 00 00 00 */ cmplwi r0, 0 -/* 800328D0 41 82 00 38 */ beq lbl_80032908 -/* 800328D4 48 30 FE 29 */ bl OSGetTime -/* 800328D8 80 0D 88 60 */ lwz r0, m_stopTime__11dLib_time_c(r13) -/* 800328DC 80 AD 88 64 */ lwz r5, data_80450DE4(r13) -/* 800328E0 7C A5 20 10 */ subfc r5, r5, r4 -/* 800328E4 7C 80 19 10 */ subfe r4, r0, r3 -/* 800328E8 80 0D 88 58 */ lwz r0, m_diffTime__11dLib_time_c(r13) -/* 800328EC 80 6D 88 5C */ lwz r3, data_80450DDC(r13) -/* 800328F0 7C 63 28 14 */ addc r3, r3, r5 -/* 800328F4 7C 00 21 14 */ adde r0, r0, r4 -/* 800328F8 90 6D 88 5C */ stw r3, data_80450DDC(r13) -/* 800328FC 90 0D 88 58 */ stw r0, m_diffTime__11dLib_time_c(r13) -/* 80032900 38 00 00 00 */ li r0, 0 -/* 80032904 98 0D 88 68 */ stb r0, data_80450DE8(r13) -lbl_80032908: -/* 80032908 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003290C 7C 08 03 A6 */ mtlr r0 -/* 80032910 38 21 00 10 */ addi r1, r1, 0x10 -/* 80032914 4E 80 00 20 */ blr diff --git a/asm/d/d_lib/stopTime__11dLib_time_cFv.s b/asm/d/d_lib/stopTime__11dLib_time_cFv.s deleted file mode 100644 index 73e1641a8a..0000000000 --- a/asm/d/d_lib/stopTime__11dLib_time_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80032880: -/* 80032880 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80032884 7C 08 02 A6 */ mflr r0 -/* 80032888 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003288C 88 0D 88 68 */ lbz r0, data_80450DE8(r13) -/* 80032890 28 00 00 00 */ cmplwi r0, 0 -/* 80032894 40 82 00 18 */ bne lbl_800328AC -/* 80032898 48 30 FE 65 */ bl OSGetTime -/* 8003289C 90 8D 88 64 */ stw r4, data_80450DE4(r13) -/* 800328A0 90 6D 88 60 */ stw r3, m_stopTime__11dLib_time_c(r13) -/* 800328A4 38 00 00 01 */ li r0, 1 -/* 800328A8 98 0D 88 68 */ stb r0, data_80450DE8(r13) -lbl_800328AC: -/* 800328AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800328B0 7C 08 03 A6 */ mtlr r0 -/* 800328B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800328B8 4E 80 00 20 */ blr diff --git a/asm/dolphin/base/PPCArch/PPCHalt.s b/asm/dolphin/base/PPCArch/PPCHalt.s deleted file mode 100644 index be99fa801a..0000000000 --- a/asm/dolphin/base/PPCArch/PPCHalt.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80339D00: -/* 80339D00 7C 00 04 AC */ sync -lbl_80339D04: -/* 80339D04 60 00 00 00 */ nop -/* 80339D08 38 60 00 00 */ li r3, 0 -/* 80339D0C 60 00 00 00 */ nop -/* 80339D10 4B FF FF F4 */ b lbl_80339D04 diff --git a/asm/dolphin/gd/GDBase/GDFlushCurrToMem.s b/asm/dolphin/gd/GDBase/GDFlushCurrToMem.s deleted file mode 100644 index 56da5434ea..0000000000 --- a/asm/dolphin/gd/GDBase/GDFlushCurrToMem.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80360FB0: -/* 80360FB0 7C 08 02 A6 */ mflr r0 -/* 80360FB4 90 01 00 04 */ stw r0, 4(r1) -/* 80360FB8 94 21 FF F8 */ stwu r1, -8(r1) -/* 80360FBC 80 8D 94 00 */ lwz r4, __GDCurrentDL(r13) -/* 80360FC0 80 64 00 00 */ lwz r3, 0(r4) -/* 80360FC4 80 84 00 04 */ lwz r4, 4(r4) -/* 80360FC8 4B FD A5 E5 */ bl DCFlushRange -/* 80360FCC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80360FD0 38 21 00 08 */ addi r1, r1, 8 -/* 80360FD4 7C 08 03 A6 */ mtlr r0 -/* 80360FD8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gd/GDBase/GDInitGDLObj.s b/asm/dolphin/gd/GDBase/GDInitGDLObj.s deleted file mode 100644 index f27a7b4397..0000000000 --- a/asm/dolphin/gd/GDBase/GDInitGDLObj.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80360F98: -/* 80360F98 90 83 00 00 */ stw r4, 0(r3) -/* 80360F9C 7C 04 2A 14 */ add r0, r4, r5 -/* 80360FA0 90 83 00 08 */ stw r4, 8(r3) -/* 80360FA4 90 03 00 0C */ stw r0, 0xc(r3) -/* 80360FA8 90 A3 00 04 */ stw r5, 4(r3) -/* 80360FAC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gd/GDBase/GDOverflowed.s b/asm/dolphin/gd/GDBase/GDOverflowed.s deleted file mode 100644 index fec6767ce7..0000000000 --- a/asm/dolphin/gd/GDBase/GDOverflowed.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_803610D4: -/* 803610D4 7C 08 02 A6 */ mflr r0 -/* 803610D8 90 01 00 04 */ stw r0, 4(r1) -/* 803610DC 94 21 FF F8 */ stwu r1, -8(r1) -/* 803610E0 81 8D 94 04 */ lwz r12, overflowcb(r13) -/* 803610E4 28 0C 00 00 */ cmplwi r12, 0 -/* 803610E8 41 82 00 0C */ beq lbl_803610F4 -/* 803610EC 7D 88 03 A6 */ mtlr r12 -/* 803610F0 4E 80 00 21 */ blrl -lbl_803610F4: -/* 803610F4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803610F8 38 21 00 08 */ addi r1, r1, 8 -/* 803610FC 7C 08 03 A6 */ mtlr r0 -/* 80361100 4E 80 00 20 */ blr diff --git a/asm/dolphin/gd/GDBase/GDPadCurr32.s b/asm/dolphin/gd/GDBase/GDPadCurr32.s deleted file mode 100644 index 20e00cb2c0..0000000000 --- a/asm/dolphin/gd/GDBase/GDPadCurr32.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_80360FDC: -/* 80360FDC 80 6D 94 00 */ lwz r3, __GDCurrentDL(r13) -/* 80360FE0 80 03 00 08 */ lwz r0, 8(r3) -/* 80360FE4 54 00 06 FF */ clrlwi. r0, r0, 0x1b -/* 80360FE8 4D 82 00 20 */ beqlr -/* 80360FEC 28 00 00 20 */ cmplwi r0, 0x20 -/* 80360FF0 20 60 00 20 */ subfic r3, r0, 0x20 -/* 80360FF4 38 C0 00 00 */ li r6, 0 -/* 80360FF8 4C 80 00 20 */ bgelr -/* 80360FFC 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 80361000 7C 09 03 A6 */ mtctr r0 -/* 80361004 41 82 00 B0 */ beq lbl_803610B4 -lbl_80361008: -/* 80361008 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8036100C 80 85 00 08 */ lwz r4, 8(r5) -/* 80361010 38 04 00 01 */ addi r0, r4, 1 -/* 80361014 90 05 00 08 */ stw r0, 8(r5) -/* 80361018 98 C4 00 00 */ stb r6, 0(r4) -/* 8036101C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80361020 80 85 00 08 */ lwz r4, 8(r5) -/* 80361024 38 04 00 01 */ addi r0, r4, 1 -/* 80361028 90 05 00 08 */ stw r0, 8(r5) -/* 8036102C 98 C4 00 00 */ stb r6, 0(r4) -/* 80361030 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80361034 80 85 00 08 */ lwz r4, 8(r5) -/* 80361038 38 04 00 01 */ addi r0, r4, 1 -/* 8036103C 90 05 00 08 */ stw r0, 8(r5) -/* 80361040 98 C4 00 00 */ stb r6, 0(r4) -/* 80361044 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80361048 80 85 00 08 */ lwz r4, 8(r5) -/* 8036104C 38 04 00 01 */ addi r0, r4, 1 -/* 80361050 90 05 00 08 */ stw r0, 8(r5) -/* 80361054 98 C4 00 00 */ stb r6, 0(r4) -/* 80361058 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 8036105C 80 85 00 08 */ lwz r4, 8(r5) -/* 80361060 38 04 00 01 */ addi r0, r4, 1 -/* 80361064 90 05 00 08 */ stw r0, 8(r5) -/* 80361068 98 C4 00 00 */ stb r6, 0(r4) -/* 8036106C 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80361070 80 85 00 08 */ lwz r4, 8(r5) -/* 80361074 38 04 00 01 */ addi r0, r4, 1 -/* 80361078 90 05 00 08 */ stw r0, 8(r5) -/* 8036107C 98 C4 00 00 */ stb r6, 0(r4) -/* 80361080 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80361084 80 85 00 08 */ lwz r4, 8(r5) -/* 80361088 38 04 00 01 */ addi r0, r4, 1 -/* 8036108C 90 05 00 08 */ stw r0, 8(r5) -/* 80361090 98 C4 00 00 */ stb r6, 0(r4) -/* 80361094 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 80361098 80 85 00 08 */ lwz r4, 8(r5) -/* 8036109C 38 04 00 01 */ addi r0, r4, 1 -/* 803610A0 90 05 00 08 */ stw r0, 8(r5) -/* 803610A4 98 C4 00 00 */ stb r6, 0(r4) -/* 803610A8 42 00 FF 60 */ bdnz lbl_80361008 -/* 803610AC 70 63 00 07 */ andi. r3, r3, 7 -/* 803610B0 4D 82 00 20 */ beqlr -lbl_803610B4: -/* 803610B4 7C 69 03 A6 */ mtctr r3 -lbl_803610B8: -/* 803610B8 80 AD 94 00 */ lwz r5, __GDCurrentDL(r13) -/* 803610BC 80 85 00 08 */ lwz r4, 8(r5) -/* 803610C0 38 04 00 01 */ addi r0, r4, 1 -/* 803610C4 90 05 00 08 */ stw r0, 8(r5) -/* 803610C8 98 C4 00 00 */ stb r6, 0(r4) -/* 803610CC 42 00 FF EC */ bdnz lbl_803610B8 -/* 803610D0 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/GXSetIndTexCoordScale.s b/asm/dolphin/gx/GXBump/GXSetIndTexCoordScale.s deleted file mode 100644 index 453328375e..0000000000 --- a/asm/dolphin/gx/GXBump/GXSetIndTexCoordScale.s +++ /dev/null @@ -1,88 +0,0 @@ -lbl_8035EEA4: -/* 8035EEA4 2C 03 00 02 */ cmpwi r3, 2 -/* 8035EEA8 41 82 00 AC */ beq lbl_8035EF54 -/* 8035EEAC 40 80 00 14 */ bge lbl_8035EEC0 -/* 8035EEB0 2C 03 00 00 */ cmpwi r3, 0 -/* 8035EEB4 41 82 00 18 */ beq lbl_8035EECC -/* 8035EEB8 40 80 00 58 */ bge lbl_8035EF10 -/* 8035EEBC 48 00 01 1C */ b lbl_8035EFD8 -lbl_8035EEC0: -/* 8035EEC0 2C 03 00 04 */ cmpwi r3, 4 -/* 8035EEC4 40 80 01 14 */ bge lbl_8035EFD8 -/* 8035EEC8 48 00 00 D0 */ b lbl_8035EF98 -lbl_8035EECC: -/* 8035EECC 81 02 CB 80 */ lwz r8, __GXData(r2) -/* 8035EED0 38 C0 00 25 */ li r6, 0x25 -/* 8035EED4 38 00 00 61 */ li r0, 0x61 -/* 8035EED8 80 E8 01 28 */ lwz r7, 0x128(r8) -/* 8035EEDC 50 87 07 3E */ rlwimi r7, r4, 0, 0x1c, 0x1f -/* 8035EEE0 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8035EEE4 90 E8 01 28 */ stw r7, 0x128(r8) -/* 8035EEE8 80 88 01 28 */ lwz r4, 0x128(r8) -/* 8035EEEC 50 A4 26 36 */ rlwimi r4, r5, 4, 0x18, 0x1b -/* 8035EEF0 90 88 01 28 */ stw r4, 0x128(r8) -/* 8035EEF4 80 88 01 28 */ lwz r4, 0x128(r8) -/* 8035EEF8 50 C4 C0 0E */ rlwimi r4, r6, 0x18, 0, 7 -/* 8035EEFC 90 88 01 28 */ stw r4, 0x128(r8) -/* 8035EF00 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 8035EF04 80 08 01 28 */ lwz r0, 0x128(r8) -/* 8035EF08 90 03 80 00 */ stw r0, -0x8000(r3) -/* 8035EF0C 48 00 00 CC */ b lbl_8035EFD8 -lbl_8035EF10: -/* 8035EF10 81 02 CB 80 */ lwz r8, __GXData(r2) -/* 8035EF14 38 C0 00 25 */ li r6, 0x25 -/* 8035EF18 38 00 00 61 */ li r0, 0x61 -/* 8035EF1C 80 E8 01 28 */ lwz r7, 0x128(r8) -/* 8035EF20 50 87 45 2E */ rlwimi r7, r4, 8, 0x14, 0x17 -/* 8035EF24 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8035EF28 90 E8 01 28 */ stw r7, 0x128(r8) -/* 8035EF2C 80 88 01 28 */ lwz r4, 0x128(r8) -/* 8035EF30 50 A4 64 26 */ rlwimi r4, r5, 0xc, 0x10, 0x13 -/* 8035EF34 90 88 01 28 */ stw r4, 0x128(r8) -/* 8035EF38 80 88 01 28 */ lwz r4, 0x128(r8) -/* 8035EF3C 50 C4 C0 0E */ rlwimi r4, r6, 0x18, 0, 7 -/* 8035EF40 90 88 01 28 */ stw r4, 0x128(r8) -/* 8035EF44 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 8035EF48 80 08 01 28 */ lwz r0, 0x128(r8) -/* 8035EF4C 90 03 80 00 */ stw r0, -0x8000(r3) -/* 8035EF50 48 00 00 88 */ b lbl_8035EFD8 -lbl_8035EF54: -/* 8035EF54 81 02 CB 80 */ lwz r8, __GXData(r2) -/* 8035EF58 38 C0 00 26 */ li r6, 0x26 -/* 8035EF5C 38 00 00 61 */ li r0, 0x61 -/* 8035EF60 80 E8 01 2C */ lwz r7, 0x12c(r8) -/* 8035EF64 50 87 07 3E */ rlwimi r7, r4, 0, 0x1c, 0x1f -/* 8035EF68 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8035EF6C 90 E8 01 2C */ stw r7, 0x12c(r8) -/* 8035EF70 80 88 01 2C */ lwz r4, 0x12c(r8) -/* 8035EF74 50 A4 26 36 */ rlwimi r4, r5, 4, 0x18, 0x1b -/* 8035EF78 90 88 01 2C */ stw r4, 0x12c(r8) -/* 8035EF7C 80 88 01 2C */ lwz r4, 0x12c(r8) -/* 8035EF80 50 C4 C0 0E */ rlwimi r4, r6, 0x18, 0, 7 -/* 8035EF84 90 88 01 2C */ stw r4, 0x12c(r8) -/* 8035EF88 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 8035EF8C 80 08 01 2C */ lwz r0, 0x12c(r8) -/* 8035EF90 90 03 80 00 */ stw r0, -0x8000(r3) -/* 8035EF94 48 00 00 44 */ b lbl_8035EFD8 -lbl_8035EF98: -/* 8035EF98 81 02 CB 80 */ lwz r8, __GXData(r2) -/* 8035EF9C 38 C0 00 26 */ li r6, 0x26 -/* 8035EFA0 38 00 00 61 */ li r0, 0x61 -/* 8035EFA4 80 E8 01 2C */ lwz r7, 0x12c(r8) -/* 8035EFA8 50 87 45 2E */ rlwimi r7, r4, 8, 0x14, 0x17 -/* 8035EFAC 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8035EFB0 90 E8 01 2C */ stw r7, 0x12c(r8) -/* 8035EFB4 80 88 01 2C */ lwz r4, 0x12c(r8) -/* 8035EFB8 50 A4 64 26 */ rlwimi r4, r5, 0xc, 0x10, 0x13 -/* 8035EFBC 90 88 01 2C */ stw r4, 0x12c(r8) -/* 8035EFC0 80 88 01 2C */ lwz r4, 0x12c(r8) -/* 8035EFC4 50 C4 C0 0E */ rlwimi r4, r6, 0x18, 0, 7 -/* 8035EFC8 90 88 01 2C */ stw r4, 0x12c(r8) -/* 8035EFCC 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 8035EFD0 80 08 01 2C */ lwz r0, 0x12c(r8) -/* 8035EFD4 90 03 80 00 */ stw r0, -0x8000(r3) -lbl_8035EFD8: -/* 8035EFD8 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035EFDC 38 00 00 00 */ li r0, 0 -/* 8035EFE0 B0 03 00 02 */ sth r0, 2(r3) -/* 8035EFE4 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/GXSetIndTexMtx.s b/asm/dolphin/gx/GXBump/GXSetIndTexMtx.s deleted file mode 100644 index 40b5bf40bc..0000000000 --- a/asm/dolphin/gx/GXBump/GXSetIndTexMtx.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_8035ED2C: -/* 8035ED2C 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8035ED30 2C 03 00 08 */ cmpwi r3, 8 -/* 8035ED34 93 E1 00 6C */ stw r31, 0x6c(r1) -/* 8035ED38 93 C1 00 68 */ stw r30, 0x68(r1) -/* 8035ED3C 93 A1 00 64 */ stw r29, 0x64(r1) -/* 8035ED40 41 82 00 44 */ beq lbl_8035ED84 -/* 8035ED44 40 80 00 1C */ bge lbl_8035ED60 -/* 8035ED48 2C 03 00 04 */ cmpwi r3, 4 -/* 8035ED4C 41 82 00 38 */ beq lbl_8035ED84 -/* 8035ED50 40 80 00 24 */ bge lbl_8035ED74 -/* 8035ED54 2C 03 00 01 */ cmpwi r3, 1 -/* 8035ED58 40 80 00 14 */ bge lbl_8035ED6C -/* 8035ED5C 48 00 00 28 */ b lbl_8035ED84 -lbl_8035ED60: -/* 8035ED60 2C 03 00 0C */ cmpwi r3, 0xc -/* 8035ED64 40 80 00 20 */ bge lbl_8035ED84 -/* 8035ED68 48 00 00 14 */ b lbl_8035ED7C -lbl_8035ED6C: -/* 8035ED6C 38 03 FF FF */ addi r0, r3, -1 -/* 8035ED70 48 00 00 18 */ b lbl_8035ED88 -lbl_8035ED74: -/* 8035ED74 38 03 FF FB */ addi r0, r3, -5 -/* 8035ED78 48 00 00 10 */ b lbl_8035ED88 -lbl_8035ED7C: -/* 8035ED7C 38 03 FF F7 */ addi r0, r3, -9 -/* 8035ED80 48 00 00 08 */ b lbl_8035ED88 -lbl_8035ED84: -/* 8035ED84 38 00 00 00 */ li r0, 0 -lbl_8035ED88: -/* 8035ED88 C0 42 CC 10 */ lfs f2, lit_149(r2) -/* 8035ED8C 1F E0 00 03 */ mulli r31, r0, 3 -/* 8035ED90 C0 24 00 00 */ lfs f1, 0(r4) -/* 8035ED94 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8035ED98 EC 22 00 72 */ fmuls f1, f2, f1 -/* 8035ED9C 39 45 00 11 */ addi r10, r5, 0x11 -/* 8035EDA0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8035EDA4 7D 4A 07 74 */ extsb r10, r10 -/* 8035EDA8 39 80 00 61 */ li r12, 0x61 -/* 8035EDAC FC 20 08 1E */ fctiwz f1, f1 -/* 8035EDB0 3D 60 CC 01 */ lis r11, 0xCC01 /* 0xCC008000@ha */ -/* 8035EDB4 FC 00 00 1E */ fctiwz f0, f0 -/* 8035EDB8 3B C0 00 00 */ li r30, 0 -/* 8035EDBC 38 1F 00 06 */ addi r0, r31, 6 -/* 8035EDC0 D8 21 00 58 */ stfd f1, 0x58(r1) -/* 8035EDC4 55 48 F7 BE */ rlwinm r8, r10, 0x1e, 0x1e, 0x1f -/* 8035EDC8 38 FF 00 07 */ addi r7, r31, 7 -/* 8035EDCC 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035EDD0 D8 01 00 50 */ stfd f0, 0x50(r1) -/* 8035EDD4 81 21 00 5C */ lwz r9, 0x5c(r1) -/* 8035EDD8 3B A0 00 00 */ li r29, 0 -/* 8035EDDC 80 C1 00 54 */ lwz r6, 0x54(r1) -/* 8035EDE0 38 BF 00 08 */ addi r5, r31, 8 -/* 8035EDE4 51 3E 05 7E */ rlwimi r30, r9, 0, 0x15, 0x1f -/* 8035EDE8 39 3E 00 00 */ addi r9, r30, 0 -/* 8035EDEC 99 8B 80 00 */ stb r12, 0x8000(r11) /* 0xCC008000@l */ -/* 8035EDF0 50 C9 5A A8 */ rlwimi r9, r6, 0xb, 0xa, 0x14 -/* 8035EDF4 51 49 B2 12 */ rlwimi r9, r10, 0x16, 8, 9 -/* 8035EDF8 50 09 C0 0E */ rlwimi r9, r0, 0x18, 0, 7 -/* 8035EDFC 91 2B 80 00 */ stw r9, -0x8000(r11) -/* 8035EE00 55 46 E7 BE */ rlwinm r6, r10, 0x1c, 0x1e, 0x1f -/* 8035EE04 3B C0 00 00 */ li r30, 0 -/* 8035EE08 C0 24 00 04 */ lfs f1, 4(r4) -/* 8035EE0C 38 00 00 00 */ li r0, 0 -/* 8035EE10 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 8035EE14 EC 22 00 72 */ fmuls f1, f2, f1 -/* 8035EE18 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8035EE1C 99 8B 80 00 */ stb r12, -0x8000(r11) -/* 8035EE20 FC 20 08 1E */ fctiwz f1, f1 -/* 8035EE24 FC 00 00 1E */ fctiwz f0, f0 -/* 8035EE28 D8 21 00 48 */ stfd f1, 0x48(r1) -/* 8035EE2C D8 01 00 40 */ stfd f0, 0x40(r1) -/* 8035EE30 81 41 00 4C */ lwz r10, 0x4c(r1) -/* 8035EE34 81 21 00 44 */ lwz r9, 0x44(r1) -/* 8035EE38 51 5D 05 7E */ rlwimi r29, r10, 0, 0x15, 0x1f -/* 8035EE3C 51 3D 5A A8 */ rlwimi r29, r9, 0xb, 0xa, 0x14 -/* 8035EE40 51 1D B2 12 */ rlwimi r29, r8, 0x16, 8, 9 -/* 8035EE44 50 FD C0 0E */ rlwimi r29, r7, 0x18, 0, 7 -/* 8035EE48 93 AB 80 00 */ stw r29, -0x8000(r11) -/* 8035EE4C C0 24 00 08 */ lfs f1, 8(r4) -/* 8035EE50 C0 04 00 14 */ lfs f0, 0x14(r4) -/* 8035EE54 EC 22 00 72 */ fmuls f1, f2, f1 -/* 8035EE58 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8035EE5C 99 8B 80 00 */ stb r12, -0x8000(r11) -/* 8035EE60 FC 20 08 1E */ fctiwz f1, f1 -/* 8035EE64 FC 00 00 1E */ fctiwz f0, f0 -/* 8035EE68 D8 21 00 38 */ stfd f1, 0x38(r1) -/* 8035EE6C D8 01 00 30 */ stfd f0, 0x30(r1) -/* 8035EE70 80 E1 00 3C */ lwz r7, 0x3c(r1) -/* 8035EE74 80 81 00 34 */ lwz r4, 0x34(r1) -/* 8035EE78 50 FE 05 7E */ rlwimi r30, r7, 0, 0x15, 0x1f -/* 8035EE7C 50 9E 5A A8 */ rlwimi r30, r4, 0xb, 0xa, 0x14 -/* 8035EE80 50 DE B2 12 */ rlwimi r30, r6, 0x16, 8, 9 -/* 8035EE84 50 BE C0 0E */ rlwimi r30, r5, 0x18, 0, 7 -/* 8035EE88 93 CB 80 00 */ stw r30, -0x8000(r11) -/* 8035EE8C B0 03 00 02 */ sth r0, 2(r3) -/* 8035EE90 83 E1 00 6C */ lwz r31, 0x6c(r1) -/* 8035EE94 83 C1 00 68 */ lwz r30, 0x68(r1) -/* 8035EE98 83 A1 00 64 */ lwz r29, 0x64(r1) -/* 8035EE9C 38 21 00 70 */ addi r1, r1, 0x70 -/* 8035EEA0 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/GXSetIndTexOrder.s b/asm/dolphin/gx/GXBump/GXSetIndTexOrder.s deleted file mode 100644 index ca44538b68..0000000000 --- a/asm/dolphin/gx/GXBump/GXSetIndTexOrder.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_8035EFE8: -/* 8035EFE8 2C 05 00 FF */ cmpwi r5, 0xff -/* 8035EFEC 40 82 00 08 */ bne lbl_8035EFF4 -/* 8035EFF0 38 A0 00 00 */ li r5, 0 -lbl_8035EFF4: -/* 8035EFF4 2C 04 00 FF */ cmpwi r4, 0xff -/* 8035EFF8 40 82 00 08 */ bne lbl_8035F000 -/* 8035EFFC 38 80 00 00 */ li r4, 0 -lbl_8035F000: -/* 8035F000 2C 03 00 02 */ cmpwi r3, 2 -/* 8035F004 41 82 00 64 */ beq lbl_8035F068 -/* 8035F008 40 80 00 14 */ bge lbl_8035F01C -/* 8035F00C 2C 03 00 00 */ cmpwi r3, 0 -/* 8035F010 41 82 00 18 */ beq lbl_8035F028 -/* 8035F014 40 80 00 34 */ bge lbl_8035F048 -/* 8035F018 48 00 00 8C */ b lbl_8035F0A4 -lbl_8035F01C: -/* 8035F01C 2C 03 00 04 */ cmpwi r3, 4 -/* 8035F020 40 80 00 84 */ bge lbl_8035F0A4 -/* 8035F024 48 00 00 64 */ b lbl_8035F088 -lbl_8035F028: -/* 8035F028 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035F02C 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F030 50 A0 07 7E */ rlwimi r0, r5, 0, 0x1d, 0x1f -/* 8035F034 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F038 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F03C 50 80 1E B8 */ rlwimi r0, r4, 3, 0x1a, 0x1c -/* 8035F040 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F044 48 00 00 60 */ b lbl_8035F0A4 -lbl_8035F048: -/* 8035F048 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035F04C 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F050 50 A0 35 F2 */ rlwimi r0, r5, 6, 0x17, 0x19 -/* 8035F054 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F058 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F05C 50 80 4D 2C */ rlwimi r0, r4, 9, 0x14, 0x16 -/* 8035F060 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F064 48 00 00 40 */ b lbl_8035F0A4 -lbl_8035F068: -/* 8035F068 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035F06C 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F070 50 A0 64 66 */ rlwimi r0, r5, 0xc, 0x11, 0x13 -/* 8035F074 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F078 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F07C 50 80 7B A0 */ rlwimi r0, r4, 0xf, 0xe, 0x10 -/* 8035F080 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F084 48 00 00 20 */ b lbl_8035F0A4 -lbl_8035F088: -/* 8035F088 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035F08C 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F090 50 A0 92 DA */ rlwimi r0, r5, 0x12, 0xb, 0xd -/* 8035F094 90 03 01 20 */ stw r0, 0x120(r3) -/* 8035F098 80 03 01 20 */ lwz r0, 0x120(r3) -/* 8035F09C 50 80 AA 14 */ rlwimi r0, r4, 0x15, 8, 0xa -/* 8035F0A0 90 03 01 20 */ stw r0, 0x120(r3) -lbl_8035F0A4: -/* 8035F0A4 38 00 00 61 */ li r0, 0x61 -/* 8035F0A8 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035F0AC 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035F0B0 98 05 80 00 */ stb r0, 0x8000(r5) /* 0xCC008000@l */ -/* 8035F0B4 38 00 00 00 */ li r0, 0 -/* 8035F0B8 80 64 01 20 */ lwz r3, 0x120(r4) -/* 8035F0BC 90 65 80 00 */ stw r3, -0x8000(r5) -/* 8035F0C0 80 64 05 AC */ lwz r3, 0x5ac(r4) -/* 8035F0C4 60 63 00 03 */ ori r3, r3, 3 -/* 8035F0C8 90 64 05 AC */ stw r3, 0x5ac(r4) -/* 8035F0CC B0 04 00 02 */ sth r0, 2(r4) -/* 8035F0D0 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/GXSetNumIndStages.s b/asm/dolphin/gx/GXBump/GXSetNumIndStages.s deleted file mode 100644 index aa80419cc2..0000000000 --- a/asm/dolphin/gx/GXBump/GXSetNumIndStages.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8035F0D4: -/* 8035F0D4 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035F0D8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8035F0DC 80 64 02 04 */ lwz r3, 0x204(r4) -/* 8035F0E0 50 03 83 5E */ rlwimi r3, r0, 0x10, 0xd, 0xf -/* 8035F0E4 90 64 02 04 */ stw r3, 0x204(r4) -/* 8035F0E8 80 04 05 AC */ lwz r0, 0x5ac(r4) -/* 8035F0EC 60 00 00 06 */ ori r0, r0, 6 -/* 8035F0F0 90 04 05 AC */ stw r0, 0x5ac(r4) -/* 8035F0F4 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/GXSetTevDirect.s b/asm/dolphin/gx/GXBump/GXSetTevDirect.s deleted file mode 100644 index 794170ad5d..0000000000 --- a/asm/dolphin/gx/GXBump/GXSetTevDirect.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8035F0F8: -/* 8035F0F8 7C 08 02 A6 */ mflr r0 -/* 8035F0FC 38 80 00 00 */ li r4, 0 -/* 8035F100 90 01 00 04 */ stw r0, 4(r1) -/* 8035F104 38 00 00 00 */ li r0, 0 -/* 8035F108 38 A0 00 00 */ li r5, 0 -/* 8035F10C 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8035F110 38 C0 00 00 */ li r6, 0 -/* 8035F114 38 E0 00 00 */ li r7, 0 -/* 8035F118 90 01 00 08 */ stw r0, 8(r1) -/* 8035F11C 39 00 00 00 */ li r8, 0 -/* 8035F120 39 20 00 00 */ li r9, 0 -/* 8035F124 90 01 00 0C */ stw r0, 0xc(r1) -/* 8035F128 39 40 00 00 */ li r10, 0 -/* 8035F12C 4B FF FB 95 */ bl GXSetTevIndirect -/* 8035F130 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8035F134 38 21 00 18 */ addi r1, r1, 0x18 -/* 8035F138 7C 08 03 A6 */ mtlr r0 -/* 8035F13C 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/GXSetTevIndirect.s b/asm/dolphin/gx/GXBump/GXSetTevIndirect.s deleted file mode 100644 index 5455e3b4a4..0000000000 --- a/asm/dolphin/gx/GXBump/GXSetTevIndirect.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8035ECC0: -/* 8035ECC0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8035ECC4 38 00 00 00 */ li r0, 0 -/* 8035ECC8 50 80 07 BE */ rlwimi r0, r4, 0, 0x1e, 0x1f -/* 8035ECCC 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8035ECD0 7C 0B 03 78 */ mr r11, r0 -/* 8035ECD4 50 AB 17 3A */ rlwimi r11, r5, 2, 0x1c, 0x1d -/* 8035ECD8 81 81 00 3C */ lwz r12, 0x3c(r1) -/* 8035ECDC 8B E1 00 3B */ lbz r31, 0x3b(r1) -/* 8035ECE0 50 CB 26 76 */ rlwimi r11, r6, 4, 0x19, 0x1b -/* 8035ECE4 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035ECE8 51 8B 3D F0 */ rlwimi r11, r12, 7, 0x17, 0x18 -/* 8035ECEC 50 EB 4C EC */ rlwimi r11, r7, 9, 0x13, 0x16 -/* 8035ECF0 51 0B 6C 24 */ rlwimi r11, r8, 0xd, 0x10, 0x12 -/* 8035ECF4 51 2B 83 5E */ rlwimi r11, r9, 0x10, 0xd, 0xf -/* 8035ECF8 53 EB 9B 18 */ rlwimi r11, r31, 0x13, 0xc, 0xc -/* 8035ECFC 38 00 00 61 */ li r0, 0x61 -/* 8035ED00 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035ED04 98 05 80 00 */ stb r0, 0x8000(r5) /* 0xCC008000@l */ -/* 8035ED08 38 03 00 10 */ addi r0, r3, 0x10 -/* 8035ED0C 51 4B A2 D6 */ rlwimi r11, r10, 0x14, 0xb, 0xb -/* 8035ED10 50 0B C0 0E */ rlwimi r11, r0, 0x18, 0, 7 -/* 8035ED14 91 65 80 00 */ stw r11, -0x8000(r5) -/* 8035ED18 38 00 00 00 */ li r0, 0 -/* 8035ED1C B0 04 00 02 */ sth r0, 2(r4) -/* 8035ED20 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8035ED24 38 21 00 30 */ addi r1, r1, 0x30 -/* 8035ED28 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/__GXFlushTextureState.s b/asm/dolphin/gx/GXBump/__GXFlushTextureState.s deleted file mode 100644 index 605efe0e9d..0000000000 --- a/asm/dolphin/gx/GXBump/__GXFlushTextureState.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8035F174: -/* 8035F174 38 00 00 61 */ li r0, 0x61 -/* 8035F178 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035F17C 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035F180 98 05 80 00 */ stb r0, 0x8000(r5) /* 0xCC008000@l */ -/* 8035F184 38 00 00 00 */ li r0, 0 -/* 8035F188 80 64 01 24 */ lwz r3, 0x124(r4) -/* 8035F18C 90 65 80 00 */ stw r3, -0x8000(r5) -/* 8035F190 B0 04 00 02 */ sth r0, 2(r4) -/* 8035F194 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXBump/__GXSetIndirectMask.s b/asm/dolphin/gx/GXBump/__GXSetIndirectMask.s deleted file mode 100644 index 8b31d40ddc..0000000000 --- a/asm/dolphin/gx/GXBump/__GXSetIndirectMask.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8035F144: -/* 8035F144 80 E2 CB 80 */ lwz r7, __GXData(r2) -/* 8035F148 38 A0 00 61 */ li r5, 0x61 -/* 8035F14C 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */ -/* 8035F150 80 C7 01 24 */ lwz r6, 0x124(r7) -/* 8035F154 50 66 06 3E */ rlwimi r6, r3, 0, 0x18, 0x1f -/* 8035F158 38 00 00 00 */ li r0, 0 -/* 8035F15C 90 C7 01 24 */ stw r6, 0x124(r7) -/* 8035F160 98 A4 80 00 */ stb r5, 0x8000(r4) /* 0xCC008000@l */ -/* 8035F164 80 67 01 24 */ lwz r3, 0x124(r7) -/* 8035F168 90 64 80 00 */ stw r3, -0x8000(r4) -/* 8035F16C B0 07 00 02 */ sth r0, 2(r7) -/* 8035F170 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFifo/GXGetFifoBase.s b/asm/dolphin/gx/GXFifo/GXGetFifoBase.s deleted file mode 100644 index b6a8d9ff8c..0000000000 --- a/asm/dolphin/gx/GXFifo/GXGetFifoBase.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8035ABD8: -/* 8035ABD8 80 63 00 00 */ lwz r3, 0(r3) -/* 8035ABDC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFifo/GXGetFifoSize.s b/asm/dolphin/gx/GXFifo/GXGetFifoSize.s deleted file mode 100644 index b07c9275a7..0000000000 --- a/asm/dolphin/gx/GXFifo/GXGetFifoSize.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8035ABE0: -/* 8035ABE0 80 63 00 08 */ lwz r3, 8(r3) -/* 8035ABE4 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFifo/GXInitFifoLimits.s b/asm/dolphin/gx/GXFifo/GXInitFifoLimits.s deleted file mode 100644 index fed8436a7b..0000000000 --- a/asm/dolphin/gx/GXFifo/GXInitFifoLimits.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8035A7B8: -/* 8035A7B8 90 83 00 0C */ stw r4, 0xc(r3) -/* 8035A7BC 90 A3 00 10 */ stw r5, 0x10(r3) -/* 8035A7C0 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFifo/GXSaveCPUFifo.s b/asm/dolphin/gx/GXFifo/GXSaveCPUFifo.s deleted file mode 100644 index 320d3a36be..0000000000 --- a/asm/dolphin/gx/GXFifo/GXSaveCPUFifo.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8035AA8C: -/* 8035AA8C 7C 08 02 A6 */ mflr r0 -/* 8035AA90 90 01 00 04 */ stw r0, 4(r1) -/* 8035AA94 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8035AA98 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8035AA9C 7C 7F 1B 78 */ mr r31, r3 -/* 8035AAA0 48 00 14 2D */ bl GXFlush -/* 8035AAA4 7F E3 FB 78 */ mr r3, r31 -/* 8035AAA8 48 00 00 19 */ bl __GXSaveCPUFifoAux -/* 8035AAAC 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8035AAB0 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8035AAB4 38 21 00 18 */ addi r1, r1, 0x18 -/* 8035AAB8 7C 08 03 A6 */ mtlr r0 -/* 8035AABC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXFifo/__GXFifoInit.s b/asm/dolphin/gx/GXFifo/__GXFifoInit.s deleted file mode 100644 index 0544db2510..0000000000 --- a/asm/dolphin/gx/GXFifo/__GXFifoInit.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8035AC2C: -/* 8035AC2C 7C 08 02 A6 */ mflr r0 -/* 8035AC30 3C 60 80 36 */ lis r3, GXCPInterruptHandler@ha /* 0x8035A5A8@ha */ -/* 8035AC34 90 01 00 04 */ stw r0, 4(r1) -/* 8035AC38 38 83 A5 A8 */ addi r4, r3, GXCPInterruptHandler@l /* 0x8035A5A8@l */ -/* 8035AC3C 38 60 00 11 */ li r3, 0x11 -/* 8035AC40 94 21 FF F8 */ stwu r1, -8(r1) -/* 8035AC44 4B FE 2A FD */ bl __OSSetInterruptHandler -/* 8035AC48 38 60 40 00 */ li r3, 0x4000 -/* 8035AC4C 4B FE 2E F9 */ bl __OSUnmaskInterrupts -/* 8035AC50 4B FE 60 35 */ bl OSGetCurrentThread -/* 8035AC54 38 00 00 00 */ li r0, 0 -/* 8035AC58 90 6D 93 D0 */ stw r3, __GXCurrentThread(r13) -/* 8035AC5C 90 0D 93 D8 */ stw r0, GXOverflowSuspendInProgress(r13) -/* 8035AC60 90 0D 93 C8 */ stw r0, CPUFifo(r13) -/* 8035AC64 90 0D 93 CC */ stw r0, GPFifo(r13) -/* 8035AC68 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8035AC6C 38 21 00 08 */ addi r1, r1, 8 -/* 8035AC70 7C 08 03 A6 */ mtlr r0 -/* 8035AC74 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/GXBegin.s b/asm/dolphin/gx/GXGeometry/GXBegin.s deleted file mode 100644 index 5b7b5b35ea..0000000000 --- a/asm/dolphin/gx/GXGeometry/GXBegin.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_8035C764: -/* 8035C764 7C 08 02 A6 */ mflr r0 -/* 8035C768 90 01 00 04 */ stw r0, 4(r1) -/* 8035C76C 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 8035C770 93 E1 00 24 */ stw r31, 0x24(r1) -/* 8035C774 93 C1 00 20 */ stw r30, 0x20(r1) -/* 8035C778 3B C5 00 00 */ addi r30, r5, 0 -/* 8035C77C 93 A1 00 1C */ stw r29, 0x1c(r1) -/* 8035C780 3B A4 00 00 */ addi r29, r4, 0 -/* 8035C784 93 81 00 18 */ stw r28, 0x18(r1) -/* 8035C788 3B 83 00 00 */ addi r28, r3, 0 -/* 8035C78C 80 C2 CB 80 */ lwz r6, __GXData(r2) -/* 8035C790 83 E6 05 AC */ lwz r31, 0x5ac(r6) -/* 8035C794 28 1F 00 00 */ cmplwi r31, 0 -/* 8035C798 41 82 00 58 */ beq lbl_8035C7F0 -/* 8035C79C 57 E0 07 FF */ clrlwi. r0, r31, 0x1f -/* 8035C7A0 41 82 00 08 */ beq lbl_8035C7A8 -/* 8035C7A4 48 00 20 4D */ bl __GXSetSUTexRegs -lbl_8035C7A8: -/* 8035C7A8 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e -/* 8035C7AC 41 82 00 08 */ beq lbl_8035C7B4 -/* 8035C7B0 48 00 29 91 */ bl __GXUpdateBPMask -lbl_8035C7B4: -/* 8035C7B4 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d -/* 8035C7B8 41 82 00 08 */ beq lbl_8035C7C0 -/* 8035C7BC 48 00 02 25 */ bl __GXSetGenMode -lbl_8035C7C0: -/* 8035C7C0 57 E0 07 39 */ rlwinm. r0, r31, 0, 0x1c, 0x1c -/* 8035C7C4 41 82 00 08 */ beq lbl_8035C7CC -/* 8035C7C8 4B FF EB E5 */ bl __GXSetVCD -lbl_8035C7CC: -/* 8035C7CC 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b -/* 8035C7D0 41 82 00 08 */ beq lbl_8035C7D8 -/* 8035C7D4 4B FF F2 CD */ bl __GXSetVAT -lbl_8035C7D8: -/* 8035C7D8 57 E0 06 F9 */ rlwinm. r0, r31, 0, 0x1b, 0x1c -/* 8035C7DC 41 82 00 08 */ beq lbl_8035C7E4 -/* 8035C7E0 4B FF EC 89 */ bl __GXCalculateVLim -lbl_8035C7E4: -/* 8035C7E4 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035C7E8 38 00 00 00 */ li r0, 0 -/* 8035C7EC 90 03 05 AC */ stw r0, 0x5ac(r3) -lbl_8035C7F0: -/* 8035C7F0 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035C7F4 80 03 00 00 */ lwz r0, 0(r3) -/* 8035C7F8 28 00 00 00 */ cmplwi r0, 0 -/* 8035C7FC 40 82 00 08 */ bne lbl_8035C804 -/* 8035C800 48 00 00 35 */ bl __GXSendFlushPrim -lbl_8035C804: -/* 8035C804 7F A0 E3 78 */ or r0, r29, r28 -/* 8035C808 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8035C80C 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 8035C810 B3 C3 80 00 */ sth r30, -0x8000(r3) -/* 8035C814 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 8035C818 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 8035C81C 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 8035C820 83 A1 00 1C */ lwz r29, 0x1c(r1) -/* 8035C824 83 81 00 18 */ lwz r28, 0x18(r1) -/* 8035C828 38 21 00 28 */ addi r1, r1, 0x28 -/* 8035C82C 7C 08 03 A6 */ mtlr r0 -/* 8035C830 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/GXEnableTexOffsets.s b/asm/dolphin/gx/GXGeometry/GXEnableTexOffsets.s deleted file mode 100644 index 598c700f62..0000000000 --- a/asm/dolphin/gx/GXGeometry/GXEnableTexOffsets.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8035C93C: -/* 8035C93C 80 E2 CB 80 */ lwz r7, __GXData(r2) -/* 8035C940 54 63 10 3A */ slwi r3, r3, 2 -/* 8035C944 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 8035C948 7C C7 1A 14 */ add r6, r7, r3 -/* 8035C94C 80 66 00 B8 */ lwz r3, 0xb8(r6) -/* 8035C950 50 83 93 5A */ rlwimi r3, r4, 0x12, 0xd, 0xd -/* 8035C954 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */ -/* 8035C958 90 66 00 B8 */ stw r3, 0xb8(r6) -/* 8035C95C 38 60 00 61 */ li r3, 0x61 -/* 8035C960 80 A6 00 B8 */ lwz r5, 0xb8(r6) -/* 8035C964 50 05 9B 18 */ rlwimi r5, r0, 0x13, 0xc, 0xc -/* 8035C968 38 00 00 00 */ li r0, 0 -/* 8035C96C 90 A6 00 B8 */ stw r5, 0xb8(r6) -/* 8035C970 98 64 80 00 */ stb r3, 0x8000(r4) /* 0xCC008000@l */ -/* 8035C974 80 66 00 B8 */ lwz r3, 0xb8(r6) -/* 8035C978 90 64 80 00 */ stw r3, -0x8000(r4) -/* 8035C97C B0 07 00 02 */ sth r0, 2(r7) -/* 8035C980 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/GXSetCoPlanar.s b/asm/dolphin/gx/GXGeometry/GXSetCoPlanar.s deleted file mode 100644 index ab64f69b92..0000000000 --- a/asm/dolphin/gx/GXGeometry/GXSetCoPlanar.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8035C9AC: -/* 8035C9AC 80 C2 CB 80 */ lwz r6, __GXData(r2) -/* 8035C9B0 38 80 00 61 */ li r4, 0x61 -/* 8035C9B4 3C 00 FE 08 */ lis r0, 0xfe08 -/* 8035C9B8 80 A6 02 04 */ lwz r5, 0x204(r6) -/* 8035C9BC 50 65 9B 18 */ rlwimi r5, r3, 0x13, 0xc, 0xc -/* 8035C9C0 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8035C9C4 90 A6 02 04 */ stw r5, 0x204(r6) -/* 8035C9C8 98 83 80 00 */ stb r4, 0x8000(r3) /* 0xCC008000@l */ -/* 8035C9CC 90 03 80 00 */ stw r0, -0x8000(r3) -/* 8035C9D0 98 83 80 00 */ stb r4, -0x8000(r3) -/* 8035C9D4 80 06 02 04 */ lwz r0, 0x204(r6) -/* 8035C9D8 90 03 80 00 */ stw r0, -0x8000(r3) -/* 8035C9DC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/GXSetLineWidth.s b/asm/dolphin/gx/GXGeometry/GXSetLineWidth.s deleted file mode 100644 index 49b412a470..0000000000 --- a/asm/dolphin/gx/GXGeometry/GXSetLineWidth.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8035C8BC: -/* 8035C8BC 80 E2 CB 80 */ lwz r7, __GXData(r2) -/* 8035C8C0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8035C8C4 38 60 00 61 */ li r3, 0x61 -/* 8035C8C8 80 C7 00 7C */ lwz r6, 0x7c(r7) -/* 8035C8CC 50 06 06 3E */ rlwimi r6, r0, 0, 0x18, 0x1f -/* 8035C8D0 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035C8D4 90 C7 00 7C */ stw r6, 0x7c(r7) -/* 8035C8D8 38 00 00 00 */ li r0, 0 -/* 8035C8DC 80 C7 00 7C */ lwz r6, 0x7c(r7) -/* 8035C8E0 50 86 83 5E */ rlwimi r6, r4, 0x10, 0xd, 0xf -/* 8035C8E4 90 C7 00 7C */ stw r6, 0x7c(r7) -/* 8035C8E8 98 65 80 00 */ stb r3, 0x8000(r5) /* 0xCC008000@l */ -/* 8035C8EC 80 67 00 7C */ lwz r3, 0x7c(r7) -/* 8035C8F0 90 65 80 00 */ stw r3, -0x8000(r5) -/* 8035C8F4 B0 07 00 02 */ sth r0, 2(r7) -/* 8035C8F8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/GXSetPointSize.s b/asm/dolphin/gx/GXGeometry/GXSetPointSize.s deleted file mode 100644 index b90c3a0e6f..0000000000 --- a/asm/dolphin/gx/GXGeometry/GXSetPointSize.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8035C8FC: -/* 8035C8FC 80 E2 CB 80 */ lwz r7, __GXData(r2) -/* 8035C900 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8035C904 38 60 00 61 */ li r3, 0x61 -/* 8035C908 80 C7 00 7C */ lwz r6, 0x7c(r7) -/* 8035C90C 50 06 44 2E */ rlwimi r6, r0, 8, 0x10, 0x17 -/* 8035C910 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035C914 90 C7 00 7C */ stw r6, 0x7c(r7) -/* 8035C918 38 00 00 00 */ li r0, 0 -/* 8035C91C 80 C7 00 7C */ lwz r6, 0x7c(r7) -/* 8035C920 50 86 9A 98 */ rlwimi r6, r4, 0x13, 0xa, 0xc -/* 8035C924 90 C7 00 7C */ stw r6, 0x7c(r7) -/* 8035C928 98 65 80 00 */ stb r3, 0x8000(r5) /* 0xCC008000@l */ -/* 8035C92C 80 67 00 7C */ lwz r3, 0x7c(r7) -/* 8035C930 90 65 80 00 */ stw r3, -0x8000(r5) -/* 8035C934 B0 07 00 02 */ sth r0, 2(r7) -/* 8035C938 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/__GXSendFlushPrim.s b/asm/dolphin/gx/GXGeometry/__GXSendFlushPrim.s deleted file mode 100644 index 49275acaf4..0000000000 --- a/asm/dolphin/gx/GXGeometry/__GXSendFlushPrim.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8035C834: -/* 8035C834 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035C838 38 00 00 98 */ li r0, 0x98 -/* 8035C83C 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035C840 A0 C3 00 04 */ lhz r6, 4(r3) -/* 8035C844 38 80 00 00 */ li r4, 0 -/* 8035C848 A0 63 00 06 */ lhz r3, 6(r3) -/* 8035C84C 7C E6 19 D6 */ mullw r7, r6, r3 -/* 8035C850 98 05 80 00 */ stb r0, 0x8000(r5) /* 0xCC008000@l */ -/* 8035C854 B0 C5 80 00 */ sth r6, -0x8000(r5) -/* 8035C858 38 67 00 03 */ addi r3, r7, 3 -/* 8035C85C 28 07 00 00 */ cmplwi r7, 0 -/* 8035C860 54 63 F0 BE */ srwi r3, r3, 2 -/* 8035C864 40 81 00 48 */ ble lbl_8035C8AC -/* 8035C868 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 8035C86C 7C 09 03 A6 */ mtctr r0 -/* 8035C870 41 82 00 30 */ beq lbl_8035C8A0 -lbl_8035C874: -/* 8035C874 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C878 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C87C 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C880 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C884 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C888 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C88C 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C890 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C894 42 00 FF E0 */ bdnz lbl_8035C874 -/* 8035C898 70 63 00 07 */ andi. r3, r3, 7 -/* 8035C89C 41 82 00 10 */ beq lbl_8035C8AC -lbl_8035C8A0: -/* 8035C8A0 7C 69 03 A6 */ mtctr r3 -lbl_8035C8A4: -/* 8035C8A4 90 85 80 00 */ stw r4, -0x8000(r5) -/* 8035C8A8 42 00 FF FC */ bdnz lbl_8035C8A4 -lbl_8035C8AC: -/* 8035C8AC 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035C8B0 38 00 00 01 */ li r0, 1 -/* 8035C8B4 B0 03 00 02 */ sth r0, 2(r3) -/* 8035C8B8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/__GXSetDirtyState.s b/asm/dolphin/gx/GXGeometry/__GXSetDirtyState.s deleted file mode 100644 index 2efc1c3275..0000000000 --- a/asm/dolphin/gx/GXGeometry/__GXSetDirtyState.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8035C6E4: -/* 8035C6E4 7C 08 02 A6 */ mflr r0 -/* 8035C6E8 90 01 00 04 */ stw r0, 4(r1) -/* 8035C6EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8035C6F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8035C6F4 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035C6F8 83 E3 05 AC */ lwz r31, 0x5ac(r3) -/* 8035C6FC 57 E0 07 FF */ clrlwi. r0, r31, 0x1f -/* 8035C700 41 82 00 08 */ beq lbl_8035C708 -/* 8035C704 48 00 20 ED */ bl __GXSetSUTexRegs -lbl_8035C708: -/* 8035C708 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e -/* 8035C70C 41 82 00 08 */ beq lbl_8035C714 -/* 8035C710 48 00 2A 31 */ bl __GXUpdateBPMask -lbl_8035C714: -/* 8035C714 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d -/* 8035C718 41 82 00 08 */ beq lbl_8035C720 -/* 8035C71C 48 00 02 C5 */ bl __GXSetGenMode -lbl_8035C720: -/* 8035C720 57 E0 07 39 */ rlwinm. r0, r31, 0, 0x1c, 0x1c -/* 8035C724 41 82 00 08 */ beq lbl_8035C72C -/* 8035C728 4B FF EC 85 */ bl __GXSetVCD -lbl_8035C72C: -/* 8035C72C 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b -/* 8035C730 41 82 00 08 */ beq lbl_8035C738 -/* 8035C734 4B FF F3 6D */ bl __GXSetVAT -lbl_8035C738: -/* 8035C738 57 E0 06 F9 */ rlwinm. r0, r31, 0, 0x1b, 0x1c -/* 8035C73C 41 82 00 08 */ beq lbl_8035C744 -/* 8035C740 4B FF ED 29 */ bl __GXCalculateVLim -lbl_8035C744: -/* 8035C744 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035C748 38 00 00 00 */ li r0, 0 -/* 8035C74C 90 03 05 AC */ stw r0, 0x5ac(r3) -/* 8035C750 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8035C754 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8035C758 38 21 00 10 */ addi r1, r1, 0x10 -/* 8035C75C 7C 08 03 A6 */ mtlr r0 -/* 8035C760 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXGeometry/__GXSetGenMode.s b/asm/dolphin/gx/GXGeometry/__GXSetGenMode.s deleted file mode 100644 index ebde035de4..0000000000 --- a/asm/dolphin/gx/GXGeometry/__GXSetGenMode.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8035C9E0: -/* 8035C9E0 38 00 00 61 */ li r0, 0x61 -/* 8035C9E4 80 82 CB 80 */ lwz r4, __GXData(r2) -/* 8035C9E8 3C A0 CC 01 */ lis r5, 0xCC01 /* 0xCC008000@ha */ -/* 8035C9EC 98 05 80 00 */ stb r0, 0x8000(r5) /* 0xCC008000@l */ -/* 8035C9F0 38 00 00 00 */ li r0, 0 -/* 8035C9F4 80 64 02 04 */ lwz r3, 0x204(r4) -/* 8035C9F8 90 65 80 00 */ stw r3, -0x8000(r5) -/* 8035C9FC B0 04 00 02 */ sth r0, 2(r4) -/* 8035CA00 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXInitLightAttn.s b/asm/dolphin/gx/GXLight/GXInitLightAttn.s deleted file mode 100644 index 4b8f9e0239..0000000000 --- a/asm/dolphin/gx/GXLight/GXInitLightAttn.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8035D630: -/* 8035D630 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 8035D634 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8035D638 D0 63 00 18 */ stfs f3, 0x18(r3) -/* 8035D63C D0 83 00 1C */ stfs f4, 0x1c(r3) -/* 8035D640 D0 A3 00 20 */ stfs f5, 0x20(r3) -/* 8035D644 D0 C3 00 24 */ stfs f6, 0x24(r3) -/* 8035D648 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXInitLightColor.s b/asm/dolphin/gx/GXLight/GXInitLightColor.s deleted file mode 100644 index d189dc4a1d..0000000000 --- a/asm/dolphin/gx/GXLight/GXInitLightColor.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8035D8D8: -/* 8035D8D8 80 04 00 00 */ lwz r0, 0(r4) -/* 8035D8DC 90 03 00 0C */ stw r0, 0xc(r3) -/* 8035D8E0 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXInitLightDir.s b/asm/dolphin/gx/GXLight/GXInitLightDir.s deleted file mode 100644 index 67f005213a..0000000000 --- a/asm/dolphin/gx/GXLight/GXInitLightDir.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8035D8BC: -/* 8035D8BC FC 80 08 50 */ fneg f4, f1 -/* 8035D8C0 FC 20 10 50 */ fneg f1, f2 -/* 8035D8C4 FC 00 18 50 */ fneg f0, f3 -/* 8035D8C8 D0 83 00 34 */ stfs f4, 0x34(r3) -/* 8035D8CC D0 23 00 38 */ stfs f1, 0x38(r3) -/* 8035D8D0 D0 03 00 3C */ stfs f0, 0x3c(r3) -/* 8035D8D4 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXInitLightDistAttn.s b/asm/dolphin/gx/GXLight/GXInitLightDistAttn.s deleted file mode 100644 index 648cf0f150..0000000000 --- a/asm/dolphin/gx/GXLight/GXInitLightDistAttn.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_8035D7DC: -/* 8035D7DC C0 02 CB B8 */ lfs f0, lit_134(r2) -/* 8035D7E0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8035D7E4 40 80 00 08 */ bge lbl_8035D7EC -/* 8035D7E8 38 80 00 00 */ li r4, 0 -lbl_8035D7EC: -/* 8035D7EC C0 02 CB B8 */ lfs f0, lit_134(r2) -/* 8035D7F0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8035D7F4 4C 40 13 82 */ cror 2, 0, 2 -/* 8035D7F8 41 82 00 14 */ beq lbl_8035D80C -/* 8035D7FC C0 02 CB D0 */ lfs f0, lit_140(r2) -/* 8035D800 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8035D804 4C 41 13 82 */ cror 2, 1, 2 -/* 8035D808 40 82 00 08 */ bne lbl_8035D810 -lbl_8035D80C: -/* 8035D80C 38 80 00 00 */ li r4, 0 -lbl_8035D810: -/* 8035D810 2C 04 00 02 */ cmpwi r4, 2 -/* 8035D814 41 82 00 3C */ beq lbl_8035D850 -/* 8035D818 40 80 00 14 */ bge lbl_8035D82C -/* 8035D81C 2C 04 00 00 */ cmpwi r4, 0 -/* 8035D820 41 82 00 70 */ beq lbl_8035D890 -/* 8035D824 40 80 00 14 */ bge lbl_8035D838 -/* 8035D828 48 00 00 68 */ b lbl_8035D890 -lbl_8035D82C: -/* 8035D82C 2C 04 00 04 */ cmpwi r4, 4 -/* 8035D830 40 80 00 60 */ bge lbl_8035D890 -/* 8035D834 48 00 00 40 */ b lbl_8035D874 -lbl_8035D838: -/* 8035D838 C0 A2 CB D0 */ lfs f5, lit_140(r2) -/* 8035D83C EC 02 00 72 */ fmuls f0, f2, f1 -/* 8035D840 C0 82 CB B8 */ lfs f4, lit_134(r2) -/* 8035D844 EC 25 10 28 */ fsubs f1, f5, f2 -/* 8035D848 EC 61 00 24 */ fdivs f3, f1, f0 -/* 8035D84C 48 00 00 50 */ b lbl_8035D89C -lbl_8035D850: -/* 8035D850 C0 A2 CB D0 */ lfs f5, lit_140(r2) -/* 8035D854 EC 82 00 72 */ fmuls f4, f2, f1 -/* 8035D858 C0 62 CB E4 */ lfs f3, lit_160(r2) -/* 8035D85C EC 45 10 28 */ fsubs f2, f5, f2 -/* 8035D860 EC 01 01 32 */ fmuls f0, f1, f4 -/* 8035D864 EC 23 00 B2 */ fmuls f1, f3, f2 -/* 8035D868 EC 61 20 24 */ fdivs f3, f1, f4 -/* 8035D86C EC 81 00 24 */ fdivs f4, f1, f0 -/* 8035D870 48 00 00 2C */ b lbl_8035D89C -lbl_8035D874: -/* 8035D874 EC 02 00 72 */ fmuls f0, f2, f1 -/* 8035D878 C0 A2 CB D0 */ lfs f5, lit_140(r2) -/* 8035D87C C0 62 CB B8 */ lfs f3, lit_134(r2) -/* 8035D880 EC 45 10 28 */ fsubs f2, f5, f2 -/* 8035D884 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8035D888 EC 82 00 24 */ fdivs f4, f2, f0 -/* 8035D88C 48 00 00 10 */ b lbl_8035D89C -lbl_8035D890: -/* 8035D890 C0 62 CB B8 */ lfs f3, lit_134(r2) -/* 8035D894 C0 A2 CB D0 */ lfs f5, lit_140(r2) -/* 8035D898 FC 80 18 90 */ fmr f4, f3 -lbl_8035D89C: -/* 8035D89C D0 A3 00 1C */ stfs f5, 0x1c(r3) -/* 8035D8A0 D0 63 00 20 */ stfs f3, 0x20(r3) -/* 8035D8A4 D0 83 00 24 */ stfs f4, 0x24(r3) -/* 8035D8A8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXInitLightPos.s b/asm/dolphin/gx/GXLight/GXInitLightPos.s deleted file mode 100644 index c966c93185..0000000000 --- a/asm/dolphin/gx/GXLight/GXInitLightPos.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8035D8AC: -/* 8035D8AC D0 23 00 28 */ stfs f1, 0x28(r3) -/* 8035D8B0 D0 43 00 2C */ stfs f2, 0x2c(r3) -/* 8035D8B4 D0 63 00 30 */ stfs f3, 0x30(r3) -/* 8035D8B8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXInitLightSpot.s b/asm/dolphin/gx/GXLight/GXInitLightSpot.s deleted file mode 100644 index 0437f2f08d..0000000000 --- a/asm/dolphin/gx/GXLight/GXInitLightSpot.s +++ /dev/null @@ -1,105 +0,0 @@ -lbl_8035D64C: -/* 8035D64C 7C 08 02 A6 */ mflr r0 -/* 8035D650 90 01 00 04 */ stw r0, 4(r1) -/* 8035D654 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8035D658 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8035D65C 3B E4 00 00 */ addi r31, r4, 0 -/* 8035D660 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8035D664 3B C3 00 00 */ addi r30, r3, 0 -/* 8035D668 C0 02 CB B8 */ lfs f0, lit_134(r2) -/* 8035D66C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8035D670 4C 40 13 82 */ cror 2, 0, 2 -/* 8035D674 41 82 00 10 */ beq lbl_8035D684 -/* 8035D678 C0 02 CB BC */ lfs f0, lit_135(r2) -/* 8035D67C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8035D680 40 81 00 08 */ ble lbl_8035D688 -lbl_8035D684: -/* 8035D684 3B E0 00 00 */ li r31, 0 -lbl_8035D688: -/* 8035D688 C0 42 CB C0 */ lfs f2, lit_136(r2) -/* 8035D68C C0 02 CB C4 */ lfs f0, lit_137(r2) -/* 8035D690 EC 22 00 72 */ fmuls f1, f2, f1 -/* 8035D694 EC 21 00 24 */ fdivs f1, f1, f0 -/* 8035D698 48 00 F3 75 */ bl cosf -/* 8035D69C 28 1F 00 06 */ cmplwi r31, 6 -/* 8035D6A0 41 81 01 0C */ bgt lbl_8035D7AC -/* 8035D6A4 3C 60 80 3D */ lis r3, lit_145@ha /* 0x803D2578@ha */ -/* 8035D6A8 38 63 25 78 */ addi r3, r3, lit_145@l /* 0x803D2578@l */ -/* 8035D6AC 57 E0 10 3A */ slwi r0, r31, 2 -/* 8035D6B0 7C 03 00 2E */ lwzx r0, r3, r0 -/* 8035D6B4 7C 09 03 A6 */ mtctr r0 -/* 8035D6B8 4E 80 04 20 */ bctr -/* 8035D6BC C0 02 CB C8 */ lfs f0, lit_138(r2) -/* 8035D6C0 C0 82 CB CC */ lfs f4, lit_139(r2) -/* 8035D6C4 EC 60 00 72 */ fmuls f3, f0, f1 -/* 8035D6C8 C0 C2 CB B8 */ lfs f6, lit_134(r2) -/* 8035D6CC 48 00 00 EC */ b lbl_8035D7B8 -/* 8035D6D0 C0 42 CB D0 */ lfs f2, lit_140(r2) -/* 8035D6D4 FC 00 08 50 */ fneg f0, f1 -/* 8035D6D8 C0 C2 CB B8 */ lfs f6, lit_134(r2) -/* 8035D6DC EC 22 08 28 */ fsubs f1, f2, f1 -/* 8035D6E0 EC 22 08 24 */ fdivs f1, f2, f1 -/* 8035D6E4 FC 80 08 90 */ fmr f4, f1 -/* 8035D6E8 EC 60 00 72 */ fmuls f3, f0, f1 -/* 8035D6EC 48 00 00 CC */ b lbl_8035D7B8 -/* 8035D6F0 C0 42 CB D0 */ lfs f2, lit_140(r2) -/* 8035D6F4 FC 00 08 50 */ fneg f0, f1 -/* 8035D6F8 C0 62 CB B8 */ lfs f3, lit_134(r2) -/* 8035D6FC EC 22 08 28 */ fsubs f1, f2, f1 -/* 8035D700 EC 22 08 24 */ fdivs f1, f2, f1 -/* 8035D704 FC C0 08 90 */ fmr f6, f1 -/* 8035D708 EC 80 00 72 */ fmuls f4, f0, f1 -/* 8035D70C 48 00 00 AC */ b lbl_8035D7B8 -/* 8035D710 C0 82 CB D0 */ lfs f4, lit_140(r2) -/* 8035D714 C0 42 CB D4 */ lfs f2, lit_141(r2) -/* 8035D718 EC 64 08 28 */ fsubs f3, f4, f1 -/* 8035D71C EC 01 10 28 */ fsubs f0, f1, f2 -/* 8035D720 EC 63 00 F2 */ fmuls f3, f3, f3 -/* 8035D724 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8035D728 EC 24 18 24 */ fdivs f1, f4, f3 -/* 8035D72C EC 61 00 32 */ fmuls f3, f1, f0 -/* 8035D730 EC 82 00 72 */ fmuls f4, f2, f1 -/* 8035D734 FC C0 08 50 */ fneg f6, f1 -/* 8035D738 48 00 00 80 */ b lbl_8035D7B8 -/* 8035D73C C0 A2 CB D0 */ lfs f5, lit_140(r2) -/* 8035D740 C0 62 CB D8 */ lfs f3, lit_142(r2) -/* 8035D744 EC 85 08 28 */ fsubs f4, f5, f1 -/* 8035D748 C0 42 CB DC */ lfs f2, lit_143(r2) -/* 8035D74C EC 05 08 2A */ fadds f0, f5, f1 -/* 8035D750 EC 84 01 32 */ fmuls f4, f4, f4 -/* 8035D754 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8035D758 EC 85 20 24 */ fdivs f4, f5, f4 -/* 8035D75C EC 43 01 32 */ fmuls f2, f3, f4 -/* 8035D760 EC 80 01 32 */ fmuls f4, f0, f4 -/* 8035D764 FC C0 10 90 */ fmr f6, f2 -/* 8035D768 EC 62 00 72 */ fmuls f3, f2, f1 -/* 8035D76C 48 00 00 4C */ b lbl_8035D7B8 -/* 8035D770 C0 A2 CB D0 */ lfs f5, lit_140(r2) -/* 8035D774 C0 02 CB D4 */ lfs f0, lit_141(r2) -/* 8035D778 EC 85 08 28 */ fsubs f4, f5, f1 -/* 8035D77C C0 42 CB DC */ lfs f2, lit_143(r2) -/* 8035D780 EC 60 00 72 */ fmuls f3, f0, f1 -/* 8035D784 C0 02 CB E0 */ lfs f0, lit_144(r2) -/* 8035D788 EC 42 00 72 */ fmuls f2, f2, f1 -/* 8035D78C EC 84 01 32 */ fmuls f4, f4, f4 -/* 8035D790 EC 23 00 72 */ fmuls f1, f3, f1 -/* 8035D794 EC 65 20 24 */ fdivs f3, f5, f4 -/* 8035D798 EC 23 00 72 */ fmuls f1, f3, f1 -/* 8035D79C EC 82 00 F2 */ fmuls f4, f2, f3 -/* 8035D7A0 EC C0 00 F2 */ fmuls f6, f0, f3 -/* 8035D7A4 EC 65 08 28 */ fsubs f3, f5, f1 -/* 8035D7A8 48 00 00 10 */ b lbl_8035D7B8 -lbl_8035D7AC: -/* 8035D7AC C0 82 CB B8 */ lfs f4, lit_134(r2) -/* 8035D7B0 C0 62 CB D0 */ lfs f3, lit_140(r2) -/* 8035D7B4 FC C0 20 90 */ fmr f6, f4 -lbl_8035D7B8: -/* 8035D7B8 D0 7E 00 10 */ stfs f3, 0x10(r30) -/* 8035D7BC D0 9E 00 14 */ stfs f4, 0x14(r30) -/* 8035D7C0 D0 DE 00 18 */ stfs f6, 0x18(r30) -/* 8035D7C4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8035D7C8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8035D7CC 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8035D7D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8035D7D4 7C 08 03 A6 */ mtlr r0 -/* 8035D7D8 4E 80 00 20 */ blr diff --git a/asm/dolphin/gx/GXLight/GXLoadLightObjImm.s b/asm/dolphin/gx/GXLight/GXLoadLightObjImm.s deleted file mode 100644 index ac3bf0c82a..0000000000 --- a/asm/dolphin/gx/GXLight/GXLoadLightObjImm.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_8035D8E4: -/* 8035D8E4 7C 80 00 34 */ cntlzw r0, r4 -/* 8035D8E8 20 00 00 1F */ subfic r0, r0, 0x1f -/* 8035D8EC 54 05 26 76 */ rlwinm r5, r0, 4, 0x19, 0x1b -/* 8035D8F0 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */ -/* 8035D8F4 38 00 00 10 */ li r0, 0x10 -/* 8035D8F8 38 A5 06 00 */ addi r5, r5, 0x600 -/* 8035D8FC 98 04 80 00 */ stb r0, 0x8000(r4) /* 0xCC008000@l */ -/* 8035D900 64 A0 00 0F */ oris r0, r5, 0xf -/* 8035D904 94 04 80 00 */ stwu r0, -0x8000(r4) -/* 8035D908 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8035D90C 7C C6 32 78 */ xor r6, r6, r6 -/* 8035D910 E0 A3 00 10 */ psq_l f5, 16(r3), 0, 0 /* qr0 */ -/* 8035D914 E0 83 00 18 */ psq_l f4, 24(r3), 0, 0 /* qr0 */ -/* 8035D918 E0 63 00 20 */ psq_l f3, 32(r3), 0, 0 /* qr0 */ -/* 8035D91C E0 43 00 28 */ psq_l f2, 40(r3), 0, 0 /* qr0 */ -/* 8035D920 E0 23 00 30 */ psq_l f1, 48(r3), 0, 0 /* qr0 */ -/* 8035D924 E0 03 00 38 */ psq_l f0, 56(r3), 0, 0 /* qr0 */ -/* 8035D928 90 C4 00 00 */ stw r6, 0(r4) -/* 8035D92C 90 C4 00 00 */ stw r6, 0(r4) -/* 8035D930 90 C4 00 00 */ stw r6, 0(r4) -/* 8035D934 90 04 00 00 */ stw r0, 0(r4) -/* 8035D938 F0 A4 00 00 */ psq_st f5, 0(r4), 0, 0 /* qr0 */ -/* 8035D93C F0 84 00 00 */ psq_st f4, 0(r4), 0, 0 /* qr0 */ -/* 8035D940 F0 64 00 00 */ psq_st f3, 0(r4), 0, 0 /* qr0 */ -/* 8035D944 F0 44 00 00 */ psq_st f2, 0(r4), 0, 0 /* qr0 */ -/* 8035D948 F0 24 00 00 */ psq_st f1, 0(r4), 0, 0 /* qr0 */ -/* 8035D94C F0 04 00 00 */ psq_st f0, 0(r4), 0, 0 /* qr0 */ -/* 8035D950 80 62 CB 80 */ lwz r3, __GXData(r2) -/* 8035D954 38 00 00 01 */ li r0, 1 -/* 8035D958 B0 03 00 02 */ sth r0, 2(r3) -/* 8035D95C 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXConcat.s b/asm/dolphin/mtx/mtx/PSMTXConcat.s deleted file mode 100644 index 349692cf7c..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXConcat.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_803464E4: -/* 803464E4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 803464E8 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 /* qr0 */ -/* 803464EC D9 C1 00 08 */ stfd f14, 8(r1) -/* 803464F0 E0 C4 00 00 */ psq_l f6, 0(r4), 0, 0 /* qr0 */ -/* 803464F4 3C C0 80 45 */ lis r6, Unit01@ha /* 0x804509D0@ha */ -/* 803464F8 E0 E4 00 08 */ psq_l f7, 8(r4), 0, 0 /* qr0 */ -/* 803464FC D9 E1 00 10 */ stfd f15, 0x10(r1) -/* 80346500 38 C6 09 D0 */ addi r6, r6, Unit01@l /* 0x804509D0@l */ -/* 80346504 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 80346508 E1 04 00 10 */ psq_l f8, 16(r4), 0, 0 /* qr0 */ -/* 8034650C 11 86 00 18 */ ps_muls0 f12, f6, f0 -/* 80346510 E0 43 00 10 */ psq_l f2, 16(r3), 0, 0 /* qr0 */ -/* 80346514 11 A7 00 18 */ ps_muls0 f13, f7, f0 -/* 80346518 E3 E6 00 00 */ psq_l f31, 0(r6), 0, 0 /* qr0 */ -/* 8034651C 11 C6 00 98 */ ps_muls0 f14, f6, f2 -/* 80346520 E1 24 00 18 */ psq_l f9, 24(r4), 0, 0 /* qr0 */ -/* 80346524 11 E7 00 98 */ ps_muls0 f15, f7, f2 -/* 80346528 E0 23 00 08 */ psq_l f1, 8(r3), 0, 0 /* qr0 */ -/* 8034652C 11 88 60 1E */ ps_madds1 f12, f8, f0, f12 -/* 80346530 E0 63 00 18 */ psq_l f3, 24(r3), 0, 0 /* qr0 */ -/* 80346534 11 C8 70 9E */ ps_madds1 f14, f8, f2, f14 -/* 80346538 E1 44 00 20 */ psq_l f10, 32(r4), 0, 0 /* qr0 */ -/* 8034653C 11 A9 68 1E */ ps_madds1 f13, f9, f0, f13 -/* 80346540 E1 64 00 28 */ psq_l f11, 40(r4), 0, 0 /* qr0 */ -/* 80346544 11 E9 78 9E */ ps_madds1 f15, f9, f2, f15 -/* 80346548 E0 83 00 20 */ psq_l f4, 32(r3), 0, 0 /* qr0 */ -/* 8034654C E0 A3 00 28 */ psq_l f5, 40(r3), 0, 0 /* qr0 */ -/* 80346550 11 8A 60 5C */ ps_madds0 f12, f10, f1, f12 -/* 80346554 11 AB 68 5C */ ps_madds0 f13, f11, f1, f13 -/* 80346558 11 CA 70 DC */ ps_madds0 f14, f10, f3, f14 -/* 8034655C 11 EB 78 DC */ ps_madds0 f15, f11, f3, f15 -/* 80346560 F1 85 00 00 */ psq_st f12, 0(r5), 0, 0 /* qr0 */ -/* 80346564 10 46 01 18 */ ps_muls0 f2, f6, f4 -/* 80346568 11 BF 68 5E */ ps_madds1 f13, f31, f1, f13 -/* 8034656C 10 07 01 18 */ ps_muls0 f0, f7, f4 -/* 80346570 F1 C5 00 10 */ psq_st f14, 16(r5), 0, 0 /* qr0 */ -/* 80346574 11 FF 78 DE */ ps_madds1 f15, f31, f3, f15 -/* 80346578 F1 A5 00 08 */ psq_st f13, 8(r5), 0, 0 /* qr0 */ -/* 8034657C 10 48 11 1E */ ps_madds1 f2, f8, f4, f2 -/* 80346580 10 09 01 1E */ ps_madds1 f0, f9, f4, f0 -/* 80346584 10 4A 11 5C */ ps_madds0 f2, f10, f5, f2 -/* 80346588 C9 C1 00 08 */ lfd f14, 8(r1) -/* 8034658C F1 E5 00 18 */ psq_st f15, 24(r5), 0, 0 /* qr0 */ -/* 80346590 10 0B 01 5C */ ps_madds0 f0, f11, f5, f0 -/* 80346594 F0 45 00 20 */ psq_st f2, 32(r5), 0, 0 /* qr0 */ -/* 80346598 10 1F 01 5E */ ps_madds1 f0, f31, f5, f0 -/* 8034659C C9 E1 00 10 */ lfd f15, 0x10(r1) -/* 803465A0 F0 05 00 28 */ psq_st f0, 40(r5), 0, 0 /* qr0 */ -/* 803465A4 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 803465A8 38 21 00 40 */ addi r1, r1, 0x40 -/* 803465AC 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXCopy.s b/asm/dolphin/mtx/mtx/PSMTXCopy.s deleted file mode 100644 index 26410cb936..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXCopy.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_803464B0: -/* 803464B0 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 /* qr0 */ -/* 803464B4 F0 04 00 00 */ psq_st f0, 0(r4), 0, 0 /* qr0 */ -/* 803464B8 E0 23 00 08 */ psq_l f1, 8(r3), 0, 0 /* qr0 */ -/* 803464BC F0 24 00 08 */ psq_st f1, 8(r4), 0, 0 /* qr0 */ -/* 803464C0 E0 43 00 10 */ psq_l f2, 16(r3), 0, 0 /* qr0 */ -/* 803464C4 F0 44 00 10 */ psq_st f2, 16(r4), 0, 0 /* qr0 */ -/* 803464C8 E0 63 00 18 */ psq_l f3, 24(r3), 0, 0 /* qr0 */ -/* 803464CC F0 64 00 18 */ psq_st f3, 24(r4), 0, 0 /* qr0 */ -/* 803464D0 E0 83 00 20 */ psq_l f4, 32(r3), 0, 0 /* qr0 */ -/* 803464D4 F0 84 00 20 */ psq_st f4, 32(r4), 0, 0 /* qr0 */ -/* 803464D8 E0 A3 00 28 */ psq_l f5, 40(r3), 0, 0 /* qr0 */ -/* 803464DC F0 A4 00 28 */ psq_st f5, 40(r4), 0, 0 /* qr0 */ -/* 803464E0 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXIdentity.s b/asm/dolphin/mtx/mtx/PSMTXIdentity.s deleted file mode 100644 index d8151cd00e..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXIdentity.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80346484: -/* 80346484 C0 02 CB 0C */ lfs f0, lit_97(r2) -/* 80346488 C0 22 CB 08 */ lfs f1, lit_96(r2) -/* 8034648C F0 03 00 08 */ psq_st f0, 8(r3), 0, 0 /* qr0 */ -/* 80346490 10 40 0C 60 */ ps_merge01 f2, f0, f1 -/* 80346494 F0 03 00 18 */ psq_st f0, 24(r3), 0, 0 /* qr0 */ -/* 80346498 10 21 04 A0 */ ps_merge10 f1, f1, f0 -/* 8034649C F0 03 00 20 */ psq_st f0, 32(r3), 0, 0 /* qr0 */ -/* 803464A0 F0 43 00 10 */ psq_st f2, 16(r3), 0, 0 /* qr0 */ -/* 803464A4 F0 23 00 00 */ psq_st f1, 0(r3), 0, 0 /* qr0 */ -/* 803464A8 F0 23 00 28 */ psq_st f1, 40(r3), 0, 0 /* qr0 */ -/* 803464AC 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXInverse.s b/asm/dolphin/mtx/mtx/PSMTXInverse.s deleted file mode 100644 index 555ea2d143..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXInverse.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_803465B0: -/* 803465B0 E0 03 80 00 */ psq_l f0, 0(r3), 1, 0 /* qr0 */ -/* 803465B4 E0 23 00 04 */ psq_l f1, 4(r3), 0, 0 /* qr0 */ -/* 803465B8 E0 43 80 10 */ psq_l f2, 16(r3), 1, 0 /* qr0 */ -/* 803465BC 10 C1 04 A0 */ ps_merge10 f6, f1, f0 -/* 803465C0 E0 63 00 14 */ psq_l f3, 20(r3), 0, 0 /* qr0 */ -/* 803465C4 E0 83 80 20 */ psq_l f4, 32(r3), 1, 0 /* qr0 */ -/* 803465C8 10 E3 14 A0 */ ps_merge10 f7, f3, f2 -/* 803465CC E0 A3 00 24 */ psq_l f5, 36(r3), 0, 0 /* qr0 */ -/* 803465D0 11 63 01 B2 */ ps_mul f11, f3, f6 -/* 803465D4 11 A5 01 F2 */ ps_mul f13, f5, f7 -/* 803465D8 11 05 24 A0 */ ps_merge10 f8, f5, f4 -/* 803465DC 11 61 59 F8 */ ps_msub f11, f1, f7, f11 -/* 803465E0 11 81 02 32 */ ps_mul f12, f1, f8 -/* 803465E4 11 A3 6A 38 */ ps_msub f13, f3, f8, f13 -/* 803465E8 11 43 01 32 */ ps_mul f10, f3, f4 -/* 803465EC 11 85 61 B8 */ ps_msub f12, f5, f6, f12 -/* 803465F0 11 20 01 72 */ ps_mul f9, f0, f5 -/* 803465F4 11 01 00 B2 */ ps_mul f8, f1, f2 -/* 803465F8 10 C6 30 28 */ ps_sub f6, f6, f6 -/* 803465FC 11 42 51 78 */ ps_msub f10, f2, f5, f10 -/* 80346600 10 E0 03 72 */ ps_mul f7, f0, f13 -/* 80346604 11 21 49 38 */ ps_msub f9, f1, f4, f9 -/* 80346608 10 E2 3B 3A */ ps_madd f7, f2, f12, f7 -/* 8034660C 11 00 40 F8 */ ps_msub f8, f0, f3, f8 -/* 80346610 10 E4 3A FA */ ps_madd f7, f4, f11, f7 -/* 80346614 10 07 30 40 */ ps_cmpo0 cr0, f7, f6 -/* 80346618 40 82 00 0C */ bne lbl_80346624 -/* 8034661C 38 60 00 00 */ li r3, 0 -/* 80346620 4E 80 00 20 */ blr -lbl_80346624: -/* 80346624 EC 00 38 30 */ fres f0, f7 -/* 80346628 10 C0 00 2A */ ps_add f6, f0, f0 -/* 8034662C 10 A0 00 32 */ ps_mul f5, f0, f0 -/* 80346630 10 07 31 7C */ ps_nmsub f0, f7, f5, f6 -/* 80346634 C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80346638 11 AD 00 18 */ ps_muls0 f13, f13, f0 -/* 8034663C C0 43 00 1C */ lfs f2, 0x1c(r3) -/* 80346640 11 8C 00 18 */ ps_muls0 f12, f12, f0 -/* 80346644 C0 63 00 2C */ lfs f3, 0x2c(r3) -/* 80346648 11 6B 00 18 */ ps_muls0 f11, f11, f0 -/* 8034664C 10 AD 64 20 */ ps_merge00 f5, f13, f12 -/* 80346650 11 4A 00 18 */ ps_muls0 f10, f10, f0 -/* 80346654 10 8D 64 E0 */ ps_merge11 f4, f13, f12 -/* 80346658 11 29 00 18 */ ps_muls0 f9, f9, f0 -/* 8034665C F0 A4 00 00 */ psq_st f5, 0(r4), 0, 0 /* qr0 */ -/* 80346660 10 CD 00 72 */ ps_mul f6, f13, f1 -/* 80346664 F0 84 00 10 */ psq_st f4, 16(r4), 0, 0 /* qr0 */ -/* 80346668 11 08 00 18 */ ps_muls0 f8, f8, f0 -/* 8034666C 10 CC 30 BA */ ps_madd f6, f12, f2, f6 -/* 80346670 F1 44 80 20 */ psq_st f10, 32(r4), 1, 0 /* qr0 */ -/* 80346674 10 CB 30 FE */ ps_nmadd f6, f11, f3, f6 -/* 80346678 F1 24 80 24 */ psq_st f9, 36(r4), 1, 0 /* qr0 */ -/* 8034667C 10 EA 00 72 */ ps_mul f7, f10, f1 -/* 80346680 10 AB 34 20 */ ps_merge00 f5, f11, f6 -/* 80346684 F1 04 80 28 */ psq_st f8, 40(r4), 1, 0 /* qr0 */ -/* 80346688 10 8B 34 E0 */ ps_merge11 f4, f11, f6 -/* 8034668C F0 A4 00 08 */ psq_st f5, 8(r4), 0, 0 /* qr0 */ -/* 80346690 10 E9 38 BA */ ps_madd f7, f9, f2, f7 -/* 80346694 F0 84 00 18 */ psq_st f4, 24(r4), 0, 0 /* qr0 */ -/* 80346698 10 E8 38 FE */ ps_nmadd f7, f8, f3, f7 -/* 8034669C 38 60 00 01 */ li r3, 1 -/* 803466A0 F0 E4 80 2C */ psq_st f7, 44(r4), 1, 0 /* qr0 */ -/* 803466A4 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXQuat.s b/asm/dolphin/mtx/mtx/PSMTXQuat.s deleted file mode 100644 index 807a4c1a41..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXQuat.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_803469E8: -/* 803469E8 C0 22 CB 08 */ lfs f1, lit_96(r2) -/* 803469EC E0 84 00 00 */ psq_l f4, 0(r4), 0, 0 /* qr0 */ -/* 803469F0 E0 A4 00 08 */ psq_l f5, 8(r4), 0, 0 /* qr0 */ -/* 803469F4 EC 01 08 28 */ fsubs f0, f1, f1 -/* 803469F8 EC 41 08 2A */ fadds f2, f1, f1 -/* 803469FC 10 C4 01 32 */ ps_mul f6, f4, f4 -/* 80346A00 11 24 24 A0 */ ps_merge10 f9, f4, f4 -/* 80346A04 11 05 31 7A */ ps_madd f8, f5, f5, f6 -/* 80346A08 10 E5 01 72 */ ps_mul f7, f5, f5 -/* 80346A0C 10 68 42 14 */ ps_sum0 f3, f8, f8, f8 -/* 80346A10 11 49 01 5A */ ps_muls1 f10, f9, f5 -/* 80346A14 ED 60 18 30 */ fres f11, f3 -/* 80346A18 11 07 32 16 */ ps_sum1 f8, f7, f8, f6 -/* 80346A1C 10 63 12 FC */ ps_nmsub f3, f3, f11, f2 -/* 80346A20 10 E5 01 5A */ ps_muls1 f7, f5, f5 -/* 80346A24 10 6B 00 F2 */ ps_mul f3, f11, f3 -/* 80346A28 10 C6 31 94 */ ps_sum0 f6, f6, f6, f6 -/* 80346A2C EC 63 00 B2 */ fmuls f3, f3, f2 -/* 80346A30 11 64 3A 7A */ ps_madd f11, f4, f9, f7 -/* 80346A34 10 E4 3A 78 */ ps_msub f7, f4, f9, f7 -/* 80346A38 F0 03 80 0C */ psq_st f0, 12(r3), 1, 0 /* qr0 */ -/* 80346A3C 10 C6 08 FC */ ps_nmsub f6, f6, f3, f1 -/* 80346A40 11 08 08 FC */ ps_nmsub f8, f8, f3, f1 -/* 80346A44 F0 03 80 2C */ psq_st f0, 44(r3), 1, 0 /* qr0 */ -/* 80346A48 11 6B 00 F2 */ ps_mul f11, f11, f3 -/* 80346A4C 10 E7 00 F2 */ ps_mul f7, f7, f3 -/* 80346A50 F0 C3 80 28 */ psq_st f6, 40(r3), 1, 0 /* qr0 */ -/* 80346A54 11 24 51 5C */ ps_madds0 f9, f4, f5, f10 -/* 80346A58 10 AB 44 20 */ ps_merge00 f5, f11, f8 -/* 80346A5C 11 4A 48 BC */ ps_nmsub f10, f10, f2, f9 -/* 80346A60 10 88 3C A0 */ ps_merge10 f4, f8, f7 -/* 80346A64 F0 A3 00 10 */ psq_st f5, 16(r3), 0, 0 /* qr0 */ -/* 80346A68 11 29 00 F2 */ ps_mul f9, f9, f3 -/* 80346A6C 11 4A 00 F2 */ ps_mul f10, f10, f3 -/* 80346A70 F0 83 00 00 */ psq_st f4, 0(r3), 0, 0 /* qr0 */ -/* 80346A74 F1 23 80 08 */ psq_st f9, 8(r3), 1, 0 /* qr0 */ -/* 80346A78 10 EA 04 A0 */ ps_merge10 f7, f10, f0 -/* 80346A7C 11 6A 4C 60 */ ps_merge01 f11, f10, f9 -/* 80346A80 F0 E3 00 18 */ psq_st f7, 24(r3), 0, 0 /* qr0 */ -/* 80346A84 F1 63 00 20 */ psq_st f11, 32(r3), 0, 0 /* qr0 */ -/* 80346A88 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXRotTrig.s b/asm/dolphin/mtx/mtx/PSMTXRotTrig.s deleted file mode 100644 index 44dfcbe384..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXRotTrig.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80346718: -/* 80346718 FC A0 08 18 */ frsp f5, f1 -/* 8034671C FC 80 10 18 */ frsp f4, f2 -/* 80346720 C0 02 CB 0C */ lfs f0, lit_97(r2) -/* 80346724 C0 22 CB 08 */ lfs f1, lit_96(r2) -/* 80346728 60 80 00 20 */ ori r0, r4, 0x20 -/* 8034672C 10 40 28 50 */ ps_neg f2, f5 -/* 80346730 28 00 00 78 */ cmplwi r0, 0x78 -/* 80346734 41 82 00 18 */ beq lbl_8034674C -/* 80346738 28 00 00 79 */ cmplwi r0, 0x79 -/* 8034673C 41 82 00 38 */ beq lbl_80346774 -/* 80346740 28 00 00 7A */ cmplwi r0, 0x7a -/* 80346744 41 82 00 5C */ beq lbl_803467A0 -/* 80346748 48 00 00 7C */ b lbl_803467C4 -lbl_8034674C: -/* 8034674C F0 23 80 00 */ psq_st f1, 0(r3), 1, 0 /* qr0 */ -/* 80346750 F0 03 00 04 */ psq_st f0, 4(r3), 0, 0 /* qr0 */ -/* 80346754 10 65 24 20 */ ps_merge00 f3, f5, f4 -/* 80346758 F0 03 00 0C */ psq_st f0, 12(r3), 0, 0 /* qr0 */ -/* 8034675C 10 24 14 20 */ ps_merge00 f1, f4, f2 -/* 80346760 F0 03 00 1C */ psq_st f0, 28(r3), 0, 0 /* qr0 */ -/* 80346764 F0 03 80 2C */ psq_st f0, 44(r3), 1, 0 /* qr0 */ -/* 80346768 F0 63 00 24 */ psq_st f3, 36(r3), 0, 0 /* qr0 */ -/* 8034676C F0 23 00 14 */ psq_st f1, 20(r3), 0, 0 /* qr0 */ -/* 80346770 48 00 00 54 */ b lbl_803467C4 -lbl_80346774: -/* 80346774 10 64 04 20 */ ps_merge00 f3, f4, f0 -/* 80346778 10 20 0C 20 */ ps_merge00 f1, f0, f1 -/* 8034677C F0 03 00 18 */ psq_st f0, 24(r3), 0, 0 /* qr0 */ -/* 80346780 F0 63 00 00 */ psq_st f3, 0(r3), 0, 0 /* qr0 */ -/* 80346784 10 42 04 20 */ ps_merge00 f2, f2, f0 -/* 80346788 10 05 04 20 */ ps_merge00 f0, f5, f0 -/* 8034678C F0 63 00 28 */ psq_st f3, 40(r3), 0, 0 /* qr0 */ -/* 80346790 F0 23 00 10 */ psq_st f1, 16(r3), 0, 0 /* qr0 */ -/* 80346794 F0 03 00 08 */ psq_st f0, 8(r3), 0, 0 /* qr0 */ -/* 80346798 F0 43 00 20 */ psq_st f2, 32(r3), 0, 0 /* qr0 */ -/* 8034679C 48 00 00 28 */ b lbl_803467C4 -lbl_803467A0: -/* 803467A0 F0 03 00 08 */ psq_st f0, 8(r3), 0, 0 /* qr0 */ -/* 803467A4 10 65 24 20 */ ps_merge00 f3, f5, f4 -/* 803467A8 10 44 14 20 */ ps_merge00 f2, f4, f2 -/* 803467AC F0 03 00 18 */ psq_st f0, 24(r3), 0, 0 /* qr0 */ -/* 803467B0 F0 03 00 20 */ psq_st f0, 32(r3), 0, 0 /* qr0 */ -/* 803467B4 10 21 04 20 */ ps_merge00 f1, f1, f0 -/* 803467B8 F0 63 00 10 */ psq_st f3, 16(r3), 0, 0 /* qr0 */ -/* 803467BC F0 43 00 00 */ psq_st f2, 0(r3), 0, 0 /* qr0 */ -/* 803467C0 F0 23 00 28 */ psq_st f1, 40(r3), 0, 0 /* qr0 */ -lbl_803467C4: -/* 803467C4 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXScale.s b/asm/dolphin/mtx/mtx/PSMTXScale.s deleted file mode 100644 index 7e2cda2eac..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXScale.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80346968: -/* 80346968 C0 02 CB 0C */ lfs f0, lit_97(r2) -/* 8034696C D0 23 00 00 */ stfs f1, 0(r3) -/* 80346970 F0 03 00 04 */ psq_st f0, 4(r3), 0, 0 /* qr0 */ -/* 80346974 F0 03 00 0C */ psq_st f0, 12(r3), 0, 0 /* qr0 */ -/* 80346978 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8034697C F0 03 00 18 */ psq_st f0, 24(r3), 0, 0 /* qr0 */ -/* 80346980 F0 03 00 20 */ psq_st f0, 32(r3), 0, 0 /* qr0 */ -/* 80346984 D0 63 00 28 */ stfs f3, 0x28(r3) -/* 80346988 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 8034698C 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXScaleApply.s b/asm/dolphin/mtx/mtx/PSMTXScaleApply.s deleted file mode 100644 index d14014ffc2..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXScaleApply.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80346990: -/* 80346990 FC 20 08 18 */ frsp f1, f1 -/* 80346994 E0 83 00 00 */ psq_l f4, 0(r3), 0, 0 /* qr0 */ -/* 80346998 FC 40 10 18 */ frsp f2, f2 -/* 8034699C E0 A3 00 08 */ psq_l f5, 8(r3), 0, 0 /* qr0 */ -/* 803469A0 FC 60 18 18 */ frsp f3, f3 -/* 803469A4 10 84 00 58 */ ps_muls0 f4, f4, f1 -/* 803469A8 E0 C3 00 10 */ psq_l f6, 16(r3), 0, 0 /* qr0 */ -/* 803469AC 10 A5 00 58 */ ps_muls0 f5, f5, f1 -/* 803469B0 E0 E3 00 18 */ psq_l f7, 24(r3), 0, 0 /* qr0 */ -/* 803469B4 10 C6 00 98 */ ps_muls0 f6, f6, f2 -/* 803469B8 E1 03 00 20 */ psq_l f8, 32(r3), 0, 0 /* qr0 */ -/* 803469BC F0 84 00 00 */ psq_st f4, 0(r4), 0, 0 /* qr0 */ -/* 803469C0 10 E7 00 98 */ ps_muls0 f7, f7, f2 -/* 803469C4 E0 43 00 28 */ psq_l f2, 40(r3), 0, 0 /* qr0 */ -/* 803469C8 F0 A4 00 08 */ psq_st f5, 8(r4), 0, 0 /* qr0 */ -/* 803469CC 11 08 00 D8 */ ps_muls0 f8, f8, f3 -/* 803469D0 F0 C4 00 10 */ psq_st f6, 16(r4), 0, 0 /* qr0 */ -/* 803469D4 10 42 00 D8 */ ps_muls0 f2, f2, f3 -/* 803469D8 F0 E4 00 18 */ psq_st f7, 24(r4), 0, 0 /* qr0 */ -/* 803469DC F1 04 00 20 */ psq_st f8, 32(r4), 0, 0 /* qr0 */ -/* 803469E0 F0 44 00 28 */ psq_st f2, 40(r4), 0, 0 /* qr0 */ -/* 803469E4 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXTrans.s b/asm/dolphin/mtx/mtx/PSMTXTrans.s deleted file mode 100644 index a265d606fd..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXTrans.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_803468E8: -/* 803468E8 C0 02 CB 0C */ lfs f0, lit_97(r2) -/* 803468EC C0 82 CB 08 */ lfs f4, lit_96(r2) -/* 803468F0 D0 23 00 0C */ stfs f1, 0xc(r3) -/* 803468F4 D0 43 00 1C */ stfs f2, 0x1c(r3) -/* 803468F8 F0 03 00 04 */ psq_st f0, 4(r3), 0, 0 /* qr0 */ -/* 803468FC F0 03 00 20 */ psq_st f0, 32(r3), 0, 0 /* qr0 */ -/* 80346900 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80346904 D0 83 00 14 */ stfs f4, 0x14(r3) -/* 80346908 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 8034690C D0 83 00 28 */ stfs f4, 0x28(r3) -/* 80346910 D0 63 00 2C */ stfs f3, 0x2c(r3) -/* 80346914 D0 83 00 00 */ stfs f4, 0(r3) -/* 80346918 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/PSMTXTransApply.s b/asm/dolphin/mtx/mtx/PSMTXTransApply.s deleted file mode 100644 index f9bad2f3a0..0000000000 --- a/asm/dolphin/mtx/mtx/PSMTXTransApply.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8034691C: -/* 8034691C E0 83 00 00 */ psq_l f4, 0(r3), 0, 0 /* qr0 */ -/* 80346920 FC 20 08 18 */ frsp f1, f1 -/* 80346924 E0 A3 00 08 */ psq_l f5, 8(r3), 0, 0 /* qr0 */ -/* 80346928 FC 40 10 18 */ frsp f2, f2 -/* 8034692C E0 E3 00 18 */ psq_l f7, 24(r3), 0, 0 /* qr0 */ -/* 80346930 FC 60 18 18 */ frsp f3, f3 -/* 80346934 E1 03 00 28 */ psq_l f8, 40(r3), 0, 0 /* qr0 */ -/* 80346938 F0 84 00 00 */ psq_st f4, 0(r4), 0, 0 /* qr0 */ -/* 8034693C 10 A1 29 56 */ ps_sum1 f5, f1, f5, f5 -/* 80346940 E0 C3 00 10 */ psq_l f6, 16(r3), 0, 0 /* qr0 */ -/* 80346944 F0 A4 00 08 */ psq_st f5, 8(r4), 0, 0 /* qr0 */ -/* 80346948 10 E2 39 D6 */ ps_sum1 f7, f2, f7, f7 -/* 8034694C E1 23 00 20 */ psq_l f9, 32(r3), 0, 0 /* qr0 */ -/* 80346950 F0 C4 00 10 */ psq_st f6, 16(r4), 0, 0 /* qr0 */ -/* 80346954 11 03 42 16 */ ps_sum1 f8, f3, f8, f8 -/* 80346958 F0 E4 00 18 */ psq_st f7, 24(r4), 0, 0 /* qr0 */ -/* 8034695C F1 24 00 20 */ psq_st f9, 32(r4), 0, 0 /* qr0 */ -/* 80346960 F1 04 00 28 */ psq_st f8, 40(r4), 0, 0 /* qr0 */ -/* 80346964 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx/__PSMTXRotAxisRadInternal.s b/asm/dolphin/mtx/mtx/__PSMTXRotAxisRadInternal.s deleted file mode 100644 index f4081ff81a..0000000000 --- a/asm/dolphin/mtx/mtx/__PSMTXRotAxisRadInternal.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_803467C8: -/* 803467C8 C1 42 CB 10 */ lfs f10, lit_190(r2) -/* 803467CC C1 22 CB 14 */ lfs f9, lit_191(r2) -/* 803467D0 FD 60 10 18 */ frsp f11, f2 -/* 803467D4 E0 44 00 00 */ psq_l f2, 0(r4), 0, 0 /* qr0 */ -/* 803467D8 FD 80 08 18 */ frsp f12, f1 -/* 803467DC C0 64 00 08 */ lfs f3, 8(r4) -/* 803467E0 10 82 00 B2 */ ps_mul f4, f2, f2 -/* 803467E4 ED 0A 50 2A */ fadds f8, f10, f10 -/* 803467E8 10 A3 20 FA */ ps_madd f5, f3, f3, f4 -/* 803467EC EC 2A 50 28 */ fsubs f1, f10, f10 -/* 803467F0 10 C5 20 D4 */ ps_sum0 f6, f5, f3, f4 -/* 803467F4 EC 08 58 28 */ fsubs f0, f8, f11 -/* 803467F8 FC E0 30 34 */ frsqrte f7, f6 -/* 803467FC EC 87 01 F2 */ fmuls f4, f7, f7 -/* 80346800 EC A7 02 B2 */ fmuls f5, f7, f10 -/* 80346804 EC 84 49 BC */ fnmsubs f4, f4, f6, f9 -/* 80346808 EC E4 01 72 */ fmuls f7, f4, f5 -/* 8034680C 11 6B 5C 20 */ ps_merge00 f11, f11, f11 -/* 80346810 10 42 01 D8 */ ps_muls0 f2, f2, f7 -/* 80346814 10 63 01 D8 */ ps_muls0 f3, f3, f7 -/* 80346818 10 C2 00 18 */ ps_muls0 f6, f2, f0 -/* 8034681C 11 42 03 18 */ ps_muls0 f10, f2, f12 -/* 80346820 10 E3 00 18 */ ps_muls0 f7, f3, f0 -/* 80346824 10 A6 00 9A */ ps_muls1 f5, f6, f2 -/* 80346828 10 86 00 98 */ ps_muls0 f4, f6, f2 -/* 8034682C 10 C6 00 D8 */ ps_muls0 f6, f6, f3 -/* 80346830 EC 03 2B 3C */ fnmsubs f0, f3, f12, f5 -/* 80346834 ED 03 2B 3A */ fmadds f8, f3, f12, f5 -/* 80346838 10 40 50 50 */ ps_neg f2, f10 -/* 8034683C 11 26 50 54 */ ps_sum0 f9, f6, f1, f10 -/* 80346840 10 84 58 14 */ ps_sum0 f4, f4, f0, f11 -/* 80346844 10 AB 2A 16 */ ps_sum1 f5, f11, f8, f5 -/* 80346848 10 02 30 54 */ ps_sum0 f0, f2, f1, f6 -/* 8034684C F1 23 00 08 */ psq_st f9, 8(r3), 0, 0 /* qr0 */ -/* 80346850 10 46 11 94 */ ps_sum0 f2, f6, f6, f2 -/* 80346854 F0 83 00 00 */ psq_st f4, 0(r3), 0, 0 /* qr0 */ -/* 80346858 10 E7 00 D8 */ ps_muls0 f7, f7, f3 -/* 8034685C F0 A3 00 10 */ psq_st f5, 16(r3), 0, 0 /* qr0 */ -/* 80346860 10 CA 30 96 */ ps_sum1 f6, f10, f2, f6 -/* 80346864 F0 03 00 18 */ psq_st f0, 24(r3), 0, 0 /* qr0 */ -/* 80346868 10 E7 58 54 */ ps_sum0 f7, f7, f1, f11 -/* 8034686C F0 C3 00 20 */ psq_st f6, 32(r3), 0, 0 /* qr0 */ -/* 80346870 F0 E3 00 28 */ psq_st f7, 40(r3), 0, 0 /* qr0 */ -/* 80346874 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtxvec/PSMTXMultVec.s b/asm/dolphin/mtx/mtxvec/PSMTXMultVec.s deleted file mode 100644 index 54bfee0217..0000000000 --- a/asm/dolphin/mtx/mtxvec/PSMTXMultVec.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80346D6C: -/* 80346D6C E0 04 00 00 */ psq_l f0, 0(r4), 0, 0 /* qr0 */ -/* 80346D70 E0 43 00 00 */ psq_l f2, 0(r3), 0, 0 /* qr0 */ -/* 80346D74 E0 24 80 08 */ psq_l f1, 8(r4), 1, 0 /* qr0 */ -/* 80346D78 10 82 00 32 */ ps_mul f4, f2, f0 -/* 80346D7C E0 63 00 08 */ psq_l f3, 8(r3), 0, 0 /* qr0 */ -/* 80346D80 10 A3 20 7A */ ps_madd f5, f3, f1, f4 -/* 80346D84 E1 03 00 10 */ psq_l f8, 16(r3), 0, 0 /* qr0 */ -/* 80346D88 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5 -/* 80346D8C E1 23 00 18 */ psq_l f9, 24(r3), 0, 0 /* qr0 */ -/* 80346D90 11 48 00 32 */ ps_mul f10, f8, f0 -/* 80346D94 F0 C5 80 00 */ psq_st f6, 0(r5), 1, 0 /* qr0 */ -/* 80346D98 11 69 50 7A */ ps_madd f11, f9, f1, f10 -/* 80346D9C E0 43 00 20 */ psq_l f2, 32(r3), 0, 0 /* qr0 */ -/* 80346DA0 11 8B 5B 14 */ ps_sum0 f12, f11, f12, f11 -/* 80346DA4 E0 63 00 28 */ psq_l f3, 40(r3), 0, 0 /* qr0 */ -/* 80346DA8 10 82 00 32 */ ps_mul f4, f2, f0 -/* 80346DAC F1 85 80 04 */ psq_st f12, 4(r5), 1, 0 /* qr0 */ -/* 80346DB0 10 A3 20 7A */ ps_madd f5, f3, f1, f4 -/* 80346DB4 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5 -/* 80346DB8 F0 C5 80 08 */ psq_st f6, 8(r5), 1, 0 /* qr0 */ -/* 80346DBC 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtxvec/PSMTXMultVecArray.s b/asm/dolphin/mtx/mtxvec/PSMTXMultVecArray.s deleted file mode 100644 index 2da973cfdb..0000000000 --- a/asm/dolphin/mtx/mtxvec/PSMTXMultVecArray.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80346DC0: -/* 80346DC0 E1 A3 00 00 */ psq_l f13, 0(r3), 0, 0 /* qr0 */ -/* 80346DC4 E1 83 00 10 */ psq_l f12, 16(r3), 0, 0 /* qr0 */ -/* 80346DC8 38 C6 FF FF */ addi r6, r6, -1 -/* 80346DCC E1 63 00 08 */ psq_l f11, 8(r3), 0, 0 /* qr0 */ -/* 80346DD0 10 0D 64 20 */ ps_merge00 f0, f13, f12 -/* 80346DD4 38 A5 FF FC */ addi r5, r5, -4 -/* 80346DD8 E1 43 00 18 */ psq_l f10, 24(r3), 0, 0 /* qr0 */ -/* 80346DDC 10 2D 64 E0 */ ps_merge11 f1, f13, f12 -/* 80346DE0 7C C9 03 A6 */ mtctr r6 -/* 80346DE4 E0 83 00 20 */ psq_l f4, 32(r3), 0, 0 /* qr0 */ -/* 80346DE8 10 4B 54 20 */ ps_merge00 f2, f11, f10 -/* 80346DEC E0 A3 00 28 */ psq_l f5, 40(r3), 0, 0 /* qr0 */ -/* 80346DF0 10 6B 54 E0 */ ps_merge11 f3, f11, f10 -/* 80346DF4 E0 C4 00 00 */ psq_l f6, 0(r4), 0, 0 /* qr0 */ -/* 80346DF8 E4 E4 80 08 */ psq_lu f7, 8(r4), 1, 0 /* qr0 */ -/* 80346DFC 11 00 19 9C */ ps_madds0 f8, f0, f6, f3 -/* 80346E00 11 24 01 B2 */ ps_mul f9, f4, f6 -/* 80346E04 11 01 41 9E */ ps_madds1 f8, f1, f6, f8 -/* 80346E08 11 45 49 FA */ ps_madd f10, f5, f7, f9 -lbl_80346E0C: -/* 80346E0C E4 C4 00 04 */ psq_lu f6, 4(r4), 0, 0 /* qr0 */ -/* 80346E10 11 82 41 DC */ ps_madds0 f12, f2, f7, f8 -/* 80346E14 E4 E4 80 08 */ psq_lu f7, 8(r4), 1, 0 /* qr0 */ -/* 80346E18 11 AA 52 54 */ ps_sum0 f13, f10, f9, f10 -/* 80346E1C 11 00 19 9C */ ps_madds0 f8, f0, f6, f3 -/* 80346E20 11 24 01 B2 */ ps_mul f9, f4, f6 -/* 80346E24 F5 85 00 04 */ psq_stu f12, 4(r5), 0, 0 /* qr0 */ -/* 80346E28 11 01 41 9E */ ps_madds1 f8, f1, f6, f8 -/* 80346E2C F5 A5 80 08 */ psq_stu f13, 8(r5), 1, 0 /* qr0 */ -/* 80346E30 11 45 49 FA */ ps_madd f10, f5, f7, f9 -/* 80346E34 42 00 FF D8 */ bdnz lbl_80346E0C -/* 80346E38 11 82 41 DC */ ps_madds0 f12, f2, f7, f8 -/* 80346E3C 11 AA 52 54 */ ps_sum0 f13, f10, f9, f10 -/* 80346E40 F5 85 00 04 */ psq_stu f12, 4(r5), 0, 0 /* qr0 */ -/* 80346E44 F5 A5 80 08 */ psq_stu f13, 8(r5), 1, 0 /* qr0 */ -/* 80346E48 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtxvec/PSMTXMultVecArraySR.s b/asm/dolphin/mtx/mtxvec/PSMTXMultVecArraySR.s deleted file mode 100644 index bf5b2ada4b..0000000000 --- a/asm/dolphin/mtx/mtxvec/PSMTXMultVecArraySR.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80346EA0: -/* 80346EA0 E1 A3 00 00 */ psq_l f13, 0(r3), 0, 0 /* qr0 */ -/* 80346EA4 E1 83 00 10 */ psq_l f12, 16(r3), 0, 0 /* qr0 */ -/* 80346EA8 38 C6 FF FF */ addi r6, r6, -1 -/* 80346EAC E1 63 80 08 */ psq_l f11, 8(r3), 1, 0 /* qr0 */ -/* 80346EB0 10 0D 64 20 */ ps_merge00 f0, f13, f12 -/* 80346EB4 38 A5 FF FC */ addi r5, r5, -4 -/* 80346EB8 E1 43 80 18 */ psq_l f10, 24(r3), 1, 0 /* qr0 */ -/* 80346EBC 10 2D 64 E0 */ ps_merge11 f1, f13, f12 -/* 80346EC0 7C C9 03 A6 */ mtctr r6 -/* 80346EC4 E0 63 00 20 */ psq_l f3, 32(r3), 0, 0 /* qr0 */ -/* 80346EC8 10 4B 54 20 */ ps_merge00 f2, f11, f10 -/* 80346ECC E0 83 80 28 */ psq_l f4, 40(r3), 1, 0 /* qr0 */ -/* 80346ED0 E0 C4 00 00 */ psq_l f6, 0(r4), 0, 0 /* qr0 */ -/* 80346ED4 E4 E4 80 08 */ psq_lu f7, 8(r4), 1, 0 /* qr0 */ -/* 80346ED8 11 00 01 98 */ ps_muls0 f8, f0, f6 -/* 80346EDC 11 23 01 B2 */ ps_mul f9, f3, f6 -/* 80346EE0 11 01 41 9E */ ps_madds1 f8, f1, f6, f8 -/* 80346EE4 11 44 49 FA */ ps_madd f10, f4, f7, f9 -lbl_80346EE8: -/* 80346EE8 E4 C4 00 04 */ psq_lu f6, 4(r4), 0, 0 /* qr0 */ -/* 80346EEC 11 82 41 DC */ ps_madds0 f12, f2, f7, f8 -/* 80346EF0 E4 E4 80 08 */ psq_lu f7, 8(r4), 1, 0 /* qr0 */ -/* 80346EF4 11 AA 4A 54 */ ps_sum0 f13, f10, f9, f9 -/* 80346EF8 11 00 01 98 */ ps_muls0 f8, f0, f6 -/* 80346EFC 11 23 01 B2 */ ps_mul f9, f3, f6 -/* 80346F00 F5 85 00 04 */ psq_stu f12, 4(r5), 0, 0 /* qr0 */ -/* 80346F04 11 01 41 9E */ ps_madds1 f8, f1, f6, f8 -/* 80346F08 F5 A5 80 08 */ psq_stu f13, 8(r5), 1, 0 /* qr0 */ -/* 80346F0C 11 44 49 FA */ ps_madd f10, f4, f7, f9 -/* 80346F10 42 00 FF D8 */ bdnz lbl_80346EE8 -/* 80346F14 11 82 41 DC */ ps_madds0 f12, f2, f7, f8 -/* 80346F18 11 AA 4A 54 */ ps_sum0 f13, f10, f9, f9 -/* 80346F1C F5 85 00 04 */ psq_stu f12, 4(r5), 0, 0 /* qr0 */ -/* 80346F20 F5 A5 80 08 */ psq_stu f13, 8(r5), 1, 0 /* qr0 */ -/* 80346F24 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtxvec/PSMTXMultVecSR.s b/asm/dolphin/mtx/mtxvec/PSMTXMultVecSR.s deleted file mode 100644 index d5dc0ebe9b..0000000000 --- a/asm/dolphin/mtx/mtxvec/PSMTXMultVecSR.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80346E4C: -/* 80346E4C E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 /* qr0 */ -/* 80346E50 E0 C4 00 00 */ psq_l f6, 0(r4), 0, 0 /* qr0 */ -/* 80346E54 E0 43 00 10 */ psq_l f2, 16(r3), 0, 0 /* qr0 */ -/* 80346E58 11 00 01 B2 */ ps_mul f8, f0, f6 -/* 80346E5C E0 83 00 20 */ psq_l f4, 32(r3), 0, 0 /* qr0 */ -/* 80346E60 11 42 01 B2 */ ps_mul f10, f2, f6 -/* 80346E64 E0 E4 80 08 */ psq_l f7, 8(r4), 1, 0 /* qr0 */ -/* 80346E68 11 84 01 B2 */ ps_mul f12, f4, f6 -/* 80346E6C E0 63 00 18 */ psq_l f3, 24(r3), 0, 0 /* qr0 */ -/* 80346E70 11 08 42 14 */ ps_sum0 f8, f8, f8, f8 -/* 80346E74 E0 A3 00 28 */ psq_l f5, 40(r3), 0, 0 /* qr0 */ -/* 80346E78 11 4A 52 94 */ ps_sum0 f10, f10, f10, f10 -/* 80346E7C E0 23 00 08 */ psq_l f1, 8(r3), 0, 0 /* qr0 */ -/* 80346E80 11 8C 63 14 */ ps_sum0 f12, f12, f12, f12 -/* 80346E84 11 21 41 FA */ ps_madd f9, f1, f7, f8 -/* 80346E88 F1 25 80 00 */ psq_st f9, 0(r5), 1, 0 /* qr0 */ -/* 80346E8C 11 63 51 FA */ ps_madd f11, f3, f7, f10 -/* 80346E90 F1 65 80 04 */ psq_st f11, 4(r5), 1, 0 /* qr0 */ -/* 80346E94 11 A5 61 FA */ ps_madd f13, f5, f7, f12 -/* 80346E98 F1 A5 80 08 */ psq_st f13, 8(r5), 1, 0 /* qr0 */ -/* 80346E9C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/InquiryCallback.s b/asm/dolphin/os/OS/InquiryCallback.s deleted file mode 100644 index f29ecd170b..0000000000 --- a/asm/dolphin/os/OS/InquiryCallback.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80339F24: -/* 80339F24 80 04 00 0C */ lwz r0, 0xc(r4) -/* 80339F28 2C 00 00 00 */ cmpwi r0, 0 -/* 80339F2C 41 82 00 08 */ beq lbl_80339F34 -/* 80339F30 48 00 00 20 */ b lbl_80339F50 -lbl_80339F34: -/* 80339F34 3C 60 80 45 */ lis r3, DriveInfo@ha /* 0x8044BA60@ha */ -/* 80339F38 38 63 BA 60 */ addi r3, r3, DriveInfo@l /* 0x8044BA60@l */ -/* 80339F3C A0 03 00 02 */ lhz r0, 2(r3) -/* 80339F40 3C 60 80 00 */ lis r3, 0x8000 /* 0x800030E6@ha */ -/* 80339F44 60 00 80 00 */ ori r0, r0, 0x8000 -/* 80339F48 B0 03 30 E6 */ sth r0, 0x30E6(r3) /* 0x800030E6@l */ -/* 80339F4C 48 00 00 10 */ b lbl_80339F5C -lbl_80339F50: -/* 80339F50 38 00 00 01 */ li r0, 1 -/* 80339F54 3C 60 80 00 */ lis r3, 0x8000 /* 0x800030E6@ha */ -/* 80339F58 B0 03 30 E6 */ sth r0, 0x30E6(r3) /* 0x800030E6@l */ -lbl_80339F5C: -/* 80339F5C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/OSDefaultExceptionHandler.s b/asm/dolphin/os/OS/OSDefaultExceptionHandler.s deleted file mode 100644 index 452fc77d48..0000000000 --- a/asm/dolphin/os/OS/OSDefaultExceptionHandler.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8033A7B4: -/* 8033A7B4 90 04 00 00 */ stw r0, 0(r4) -/* 8033A7B8 90 24 00 04 */ stw r1, 4(r4) -/* 8033A7BC 90 44 00 08 */ stw r2, 8(r4) -/* 8033A7C0 BC C4 00 18 */ stmw r6, 0x18(r4) -/* 8033A7C4 7C 11 E2 A6 */ mfspr r0, 0x391 -/* 8033A7C8 90 04 01 A8 */ stw r0, 0x1a8(r4) -/* 8033A7CC 7C 12 E2 A6 */ mfspr r0, 0x392 -/* 8033A7D0 90 04 01 AC */ stw r0, 0x1ac(r4) -/* 8033A7D4 7C 13 E2 A6 */ mfspr r0, 0x393 -/* 8033A7D8 90 04 01 B0 */ stw r0, 0x1b0(r4) -/* 8033A7DC 7C 14 E2 A6 */ mfspr r0, 0x394 -/* 8033A7E0 90 04 01 B4 */ stw r0, 0x1b4(r4) -/* 8033A7E4 7C 15 E2 A6 */ mfspr r0, 0x395 -/* 8033A7E8 90 04 01 B8 */ stw r0, 0x1b8(r4) -/* 8033A7EC 7C 16 E2 A6 */ mfspr r0, 0x396 -/* 8033A7F0 90 04 01 BC */ stw r0, 0x1bc(r4) -/* 8033A7F4 7C 17 E2 A6 */ mfspr r0, 0x397 -/* 8033A7F8 90 04 01 C0 */ stw r0, 0x1c0(r4) -/* 8033A7FC 7C B2 02 A6 */ mfdsisr r5 -/* 8033A800 7C D3 02 A6 */ mfdar r6 -/* 8033A804 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033A808 48 00 1F 90 */ b __OSUnhandledException diff --git a/asm/dolphin/os/OS/OSExceptionVector.s b/asm/dolphin/os/OS/OSExceptionVector.s deleted file mode 100644 index 9a4aef7f1a..0000000000 --- a/asm/dolphin/os/OS/OSExceptionVector.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8033A718: -/* 8033A718 7C 90 43 A6 */ mtspr 0x110, r4 -/* 8033A71C 80 80 00 C0 */ lwz r4, 0xc0(r0) -/* 8033A720 90 64 00 0C */ stw r3, 0xc(r4) -/* 8033A724 7C 70 42 A6 */ mfspr r3, 0x110 -/* 8033A728 90 64 00 10 */ stw r3, 0x10(r4) -/* 8033A72C 90 A4 00 14 */ stw r5, 0x14(r4) -/* 8033A730 A0 64 01 A2 */ lhz r3, 0x1a2(r4) -/* 8033A734 60 63 00 02 */ ori r3, r3, 2 -/* 8033A738 B0 64 01 A2 */ sth r3, 0x1a2(r4) -/* 8033A73C 7C 60 00 26 */ mfcr r3 -/* 8033A740 90 64 00 80 */ stw r3, 0x80(r4) -/* 8033A744 7C 68 02 A6 */ mflr r3 -/* 8033A748 90 64 00 84 */ stw r3, 0x84(r4) -/* 8033A74C 7C 69 02 A6 */ mfctr r3 -/* 8033A750 90 64 00 88 */ stw r3, 0x88(r4) -/* 8033A754 7C 61 02 A6 */ mfxer r3 -/* 8033A758 90 64 00 8C */ stw r3, 0x8c(r4) -/* 8033A75C 7C 7A 02 A6 */ mfspr r3, 0x1a -/* 8033A760 90 64 01 98 */ stw r3, 0x198(r4) -/* 8033A764 7C 7B 02 A6 */ mfspr r3, 0x1b -/* 8033A768 90 64 01 9C */ stw r3, 0x19c(r4) -/* 8033A76C 7C 65 1B 78 */ mr r5, r3 diff --git a/asm/dolphin/os/OS/OSGetConsoleType.s b/asm/dolphin/os/OS/OSGetConsoleType.s deleted file mode 100644 index 273039f911..0000000000 --- a/asm/dolphin/os/OS/OSGetConsoleType.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80339EFC: -/* 80339EFC 80 6D 90 80 */ lwz r3, BootInfo(r13) -/* 80339F00 28 03 00 00 */ cmplwi r3, 0 -/* 80339F04 41 82 00 10 */ beq lbl_80339F14 -/* 80339F08 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 80339F0C 28 03 00 00 */ cmplwi r3, 0 -/* 80339F10 40 82 00 10 */ bne lbl_80339F20 -lbl_80339F14: -/* 80339F14 3C 60 10 00 */ lis r3, 0x1000 /* 0x10000002@ha */ -/* 80339F18 38 63 00 02 */ addi r3, r3, 0x0002 /* 0x10000002@l */ -/* 80339F1C 48 00 00 04 */ b lbl_80339F20 -lbl_80339F20: -/* 80339F20 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/OSInit.s b/asm/dolphin/os/OS/OSInit.s index c5ebfc66a6..515541470b 100644 --- a/asm/dolphin/os/OS/OSInit.s +++ b/asm/dolphin/os/OS/OSInit.s @@ -15,7 +15,7 @@ lbl_80339F60: /* 80339F94 38 00 00 01 */ li r0, 1 /* 80339F98 90 0D 90 A0 */ stw r0, AreWeInitialized(r13) /* 80339F9C 48 00 87 81 */ bl __OSGetSystemTime -/* 80339FA0 90 8D 90 B4 */ stw r4, data_80451634(r13) +/* 80339FA0 90 8D 90 B4 */ stw r4, __OSStartTime+0x4(r13) /* 80339FA4 90 6D 90 B0 */ stw r3, __OSStartTime(r13) /* 80339FA8 48 00 37 4D */ bl OSDisableInterrupts /* 80339FAC 38 7F 00 50 */ addi r3, r31, 0x50 diff --git a/asm/dolphin/os/OS/__DBVECTOR.s b/asm/dolphin/os/OS/__DBVECTOR.s deleted file mode 100644 index 69dc05d365..0000000000 --- a/asm/dolphin/os/OS/__DBVECTOR.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8033A770: -/* 8033A770 60 00 00 00 */ nop -/* 8033A774 7C 60 00 A6 */ mfmsr r3 -/* 8033A778 60 63 00 30 */ ori r3, r3, 0x30 -/* 8033A77C 7C 7B 03 A6 */ mtspr 0x1b, r3 diff --git a/asm/dolphin/os/OS/__OSDBIntegrator.s b/asm/dolphin/os/OS/__OSDBIntegrator.s deleted file mode 100644 index fbf92332a2..0000000000 --- a/asm/dolphin/os/OS/__OSDBIntegrator.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8033A6C0: -/* 8033A6C0 38 A0 00 40 */ li r5, 0x40 -/* 8033A6C4 7C 68 02 A6 */ mflr r3 -/* 8033A6C8 90 65 00 0C */ stw r3, 0xc(r5) -/* 8033A6CC 80 65 00 08 */ lwz r3, 8(r5) -/* 8033A6D0 64 63 80 00 */ oris r3, r3, 0x8000 -/* 8033A6D4 7C 68 03 A6 */ mtlr r3 -/* 8033A6D8 38 60 00 30 */ li r3, 0x30 -/* 8033A6DC 7C 60 01 24 */ mtmsr r3 -/* 8033A6E0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/__OSDBJump.s b/asm/dolphin/os/OS/__OSDBJump.s deleted file mode 100644 index 1416fd73ed..0000000000 --- a/asm/dolphin/os/OS/__OSDBJump.s +++ /dev/null @@ -1,2 +0,0 @@ -lbl_8033A6E4: -/* 8033A6E4 48 00 00 63 */ bla 0x60 diff --git a/asm/dolphin/os/OS/__OSEVEnd.s b/asm/dolphin/os/OS/__OSEVEnd.s deleted file mode 100644 index 40295aac38..0000000000 --- a/asm/dolphin/os/OS/__OSEVEnd.s +++ /dev/null @@ -1,2 +0,0 @@ -lbl_8033A7B0: -/* 8033A7B0 60 00 00 00 */ nop diff --git a/asm/dolphin/os/OS/__OSEVSetNumber.s b/asm/dolphin/os/OS/__OSEVSetNumber.s deleted file mode 100644 index 0b9de6006a..0000000000 --- a/asm/dolphin/os/OS/__OSEVSetNumber.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8033A780: -/* 8033A780 38 60 00 00 */ li r3, 0 -/* 8033A784 80 80 00 D4 */ lwz r4, 0xd4(r0) -/* 8033A788 54 A5 07 BD */ rlwinm. r5, r5, 0, 0x1e, 0x1e -/* 8033A78C 40 82 00 14 */ bne lbl_8033A7A0 -/* 8033A790 3C A0 80 34 */ lis r5, OSDefaultExceptionHandler@ha /* 0x8033A7B4@ha */ -/* 8033A794 38 A5 A7 B4 */ addi r5, r5, OSDefaultExceptionHandler@l /* 0x8033A7B4@l */ -/* 8033A798 7C BA 03 A6 */ mtspr 0x1a, r5 -/* 8033A79C 4C 00 00 64 */ rfi -lbl_8033A7A0: -/* 8033A7A0 54 65 15 BA */ rlwinm r5, r3, 2, 0x16, 0x1d -/* 8033A7A4 80 A5 30 00 */ lwz r5, 0x3000(r5) -/* 8033A7A8 7C BA 03 A6 */ mtspr 0x1a, r5 -/* 8033A7AC 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OS/__OSFPRInit.s b/asm/dolphin/os/OS/__OSFPRInit.s deleted file mode 100644 index c6a09e8037..0000000000 --- a/asm/dolphin/os/OS/__OSFPRInit.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_80339DD4: -/* 80339DD4 7C 60 00 A6 */ mfmsr r3 -/* 80339DD8 60 63 20 00 */ ori r3, r3, 0x2000 -/* 80339DDC 7C 60 01 24 */ mtmsr r3 -/* 80339DE0 7C 78 E2 A6 */ mfspr r3, 0x398 -/* 80339DE4 54 63 1F FF */ rlwinm. r3, r3, 3, 0x1f, 0x1f -/* 80339DE8 41 82 00 8C */ beq lbl_80339E74 -/* 80339DEC 3C 60 80 45 */ lis r3, ZeroPS@ha /* 0x80451618@ha */ -/* 80339DF0 38 63 16 18 */ addi r3, r3, ZeroPS@l /* 0x80451618@l */ -/* 80339DF4 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 /* qr0 */ -/* 80339DF8 10 20 00 90 */ ps_mr f1, f0 -/* 80339DFC 10 40 00 90 */ ps_mr f2, f0 -/* 80339E00 10 60 00 90 */ ps_mr f3, f0 -/* 80339E04 10 80 00 90 */ ps_mr f4, f0 -/* 80339E08 10 A0 00 90 */ ps_mr f5, f0 -/* 80339E0C 10 C0 00 90 */ ps_mr f6, f0 -/* 80339E10 10 E0 00 90 */ ps_mr f7, f0 -/* 80339E14 11 00 00 90 */ ps_mr f8, f0 -/* 80339E18 11 20 00 90 */ ps_mr f9, f0 -/* 80339E1C 11 40 00 90 */ ps_mr f10, f0 -/* 80339E20 11 60 00 90 */ ps_mr f11, f0 -/* 80339E24 11 80 00 90 */ ps_mr f12, f0 -/* 80339E28 11 A0 00 90 */ ps_mr f13, f0 -/* 80339E2C 11 C0 00 90 */ ps_mr f14, f0 -/* 80339E30 11 E0 00 90 */ ps_mr f15, f0 -/* 80339E34 12 00 00 90 */ ps_mr f16, f0 -/* 80339E38 12 20 00 90 */ ps_mr f17, f0 -/* 80339E3C 12 40 00 90 */ ps_mr f18, f0 -/* 80339E40 12 60 00 90 */ ps_mr f19, f0 -/* 80339E44 12 80 00 90 */ ps_mr f20, f0 -/* 80339E48 12 A0 00 90 */ ps_mr f21, f0 -/* 80339E4C 12 C0 00 90 */ ps_mr f22, f0 -/* 80339E50 12 E0 00 90 */ ps_mr f23, f0 -/* 80339E54 13 00 00 90 */ ps_mr f24, f0 -/* 80339E58 13 20 00 90 */ ps_mr f25, f0 -/* 80339E5C 13 40 00 90 */ ps_mr f26, f0 -/* 80339E60 13 60 00 90 */ ps_mr f27, f0 -/* 80339E64 13 80 00 90 */ ps_mr f28, f0 -/* 80339E68 13 A0 00 90 */ ps_mr f29, f0 -/* 80339E6C 13 C0 00 90 */ ps_mr f30, f0 -/* 80339E70 13 E0 00 90 */ ps_mr f31, f0 -lbl_80339E74: -/* 80339E74 C8 0D 90 90 */ lfd f0, ZeroF(r13) -/* 80339E78 FC 20 00 90 */ fmr f1, f0 -/* 80339E7C FC 40 00 90 */ fmr f2, f0 -/* 80339E80 FC 60 00 90 */ fmr f3, f0 -/* 80339E84 FC 80 00 90 */ fmr f4, f0 -/* 80339E88 FC A0 00 90 */ fmr f5, f0 -/* 80339E8C FC C0 00 90 */ fmr f6, f0 -/* 80339E90 FC E0 00 90 */ fmr f7, f0 -/* 80339E94 FD 00 00 90 */ fmr f8, f0 -/* 80339E98 FD 20 00 90 */ fmr f9, f0 -/* 80339E9C FD 40 00 90 */ fmr f10, f0 -/* 80339EA0 FD 60 00 90 */ fmr f11, f0 -/* 80339EA4 FD 80 00 90 */ fmr f12, f0 -/* 80339EA8 FD A0 00 90 */ fmr f13, f0 -/* 80339EAC FD C0 00 90 */ fmr f14, f0 -/* 80339EB0 FD E0 00 90 */ fmr f15, f0 -/* 80339EB4 FE 00 00 90 */ fmr f16, f0 -/* 80339EB8 FE 20 00 90 */ fmr f17, f0 -/* 80339EBC FE 40 00 90 */ fmr f18, f0 -/* 80339EC0 FE 60 00 90 */ fmr f19, f0 -/* 80339EC4 FE 80 00 90 */ fmr f20, f0 -/* 80339EC8 FE A0 00 90 */ fmr f21, f0 -/* 80339ECC FE C0 00 90 */ fmr f22, f0 -/* 80339ED0 FE E0 00 90 */ fmr f23, f0 -/* 80339ED4 FF 00 00 90 */ fmr f24, f0 -/* 80339ED8 FF 20 00 90 */ fmr f25, f0 -/* 80339EDC FF 40 00 90 */ fmr f26, f0 -/* 80339EE0 FF 60 00 90 */ fmr f27, f0 -/* 80339EE4 FF 80 00 90 */ fmr f28, f0 -/* 80339EE8 FF A0 00 90 */ fmr f29, f0 -/* 80339EEC FF C0 00 90 */ fmr f30, f0 -/* 80339EF0 FF E0 00 90 */ fmr f31, f0 -/* 80339EF4 FD FE 05 8E */ mtfsf 0xff, f0 -/* 80339EF8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/__OSGetExceptionHandler.s b/asm/dolphin/os/OS/__OSGetExceptionHandler.s deleted file mode 100644 index 9c9bfc0579..0000000000 --- a/asm/dolphin/os/OS/__OSGetExceptionHandler.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033A704: -/* 8033A704 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8033A708 80 6D 90 A4 */ lwz r3, OSExceptionTable(r13) -/* 8033A70C 54 00 10 3A */ slwi r0, r0, 2 -/* 8033A710 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8033A714 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/__OSPSInit.s b/asm/dolphin/os/OS/__OSPSInit.s deleted file mode 100644 index 8b528b3305..0000000000 --- a/asm/dolphin/os/OS/__OSPSInit.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8033A80C: -/* 8033A80C 7C 08 02 A6 */ mflr r0 -/* 8033A810 90 01 00 04 */ stw r0, 4(r1) -/* 8033A814 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033A818 4B FF F5 75 */ bl PPCMfhid2 -/* 8033A81C 64 63 A0 00 */ oris r3, r3, 0xa000 -/* 8033A820 4B FF F5 75 */ bl PPCMthid2 -/* 8033A824 48 00 0E A1 */ bl ICFlashInvalidate -/* 8033A828 7C 00 04 AC */ sync -/* 8033A82C 38 60 00 00 */ li r3, 0 -/* 8033A830 7C 70 E3 A6 */ mtspr 0x390, r3 -/* 8033A834 7C 71 E3 A6 */ mtspr 0x391, r3 -/* 8033A838 7C 72 E3 A6 */ mtspr 0x392, r3 -/* 8033A83C 7C 73 E3 A6 */ mtspr 0x393, r3 -/* 8033A840 7C 74 E3 A6 */ mtspr 0x394, r3 -/* 8033A844 7C 75 E3 A6 */ mtspr 0x395, r3 -/* 8033A848 7C 76 E3 A6 */ mtspr 0x396, r3 -/* 8033A84C 7C 77 E3 A6 */ mtspr 0x397, r3 -/* 8033A850 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8033A854 38 21 00 08 */ addi r1, r1, 8 -/* 8033A858 7C 08 03 A6 */ mtlr r0 -/* 8033A85C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OS/__OSSetExceptionHandler.s b/asm/dolphin/os/OS/__OSSetExceptionHandler.s deleted file mode 100644 index c9fd6e61c3..0000000000 --- a/asm/dolphin/os/OS/__OSSetExceptionHandler.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8033A6E8: -/* 8033A6E8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8033A6EC 80 6D 90 A4 */ lwz r3, OSExceptionTable(r13) -/* 8033A6F0 54 00 10 3A */ slwi r0, r0, 2 -/* 8033A6F4 7C A3 02 14 */ add r5, r3, r0 -/* 8033A6F8 80 65 00 00 */ lwz r3, 0(r5) -/* 8033A6FC 90 85 00 00 */ stw r4, 0(r5) -/* 8033A700 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSAlarm/DecrementerExceptionHandler.s b/asm/dolphin/os/OSAlarm/DecrementerExceptionHandler.s deleted file mode 100644 index 30a713a315..0000000000 --- a/asm/dolphin/os/OSAlarm/DecrementerExceptionHandler.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8033AF88: -/* 8033AF88 90 04 00 00 */ stw r0, 0(r4) -/* 8033AF8C 90 24 00 04 */ stw r1, 4(r4) -/* 8033AF90 90 44 00 08 */ stw r2, 8(r4) -/* 8033AF94 BC C4 00 18 */ stmw r6, 0x18(r4) -/* 8033AF98 7C 11 E2 A6 */ mfspr r0, 0x391 -/* 8033AF9C 90 04 01 A8 */ stw r0, 0x1a8(r4) -/* 8033AFA0 7C 12 E2 A6 */ mfspr r0, 0x392 -/* 8033AFA4 90 04 01 AC */ stw r0, 0x1ac(r4) -/* 8033AFA8 7C 13 E2 A6 */ mfspr r0, 0x393 -/* 8033AFAC 90 04 01 B0 */ stw r0, 0x1b0(r4) -/* 8033AFB0 7C 14 E2 A6 */ mfspr r0, 0x394 -/* 8033AFB4 90 04 01 B4 */ stw r0, 0x1b4(r4) -/* 8033AFB8 7C 15 E2 A6 */ mfspr r0, 0x395 -/* 8033AFBC 90 04 01 B8 */ stw r0, 0x1b8(r4) -/* 8033AFC0 7C 16 E2 A6 */ mfspr r0, 0x396 -/* 8033AFC4 90 04 01 BC */ stw r0, 0x1bc(r4) -/* 8033AFC8 7C 17 E2 A6 */ mfspr r0, 0x397 -/* 8033AFCC 90 04 01 C0 */ stw r0, 0x1c0(r4) -/* 8033AFD0 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033AFD4 4B FF FD 84 */ b DecrementerExceptionCallback diff --git a/asm/dolphin/os/OSAlarm/OSCreateAlarm.s b/asm/dolphin/os/OSAlarm/OSCreateAlarm.s deleted file mode 100644 index d58f0eea70..0000000000 --- a/asm/dolphin/os/OSAlarm/OSCreateAlarm.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8033A8F8: -/* 8033A8F8 38 00 00 00 */ li r0, 0 -/* 8033A8FC 90 03 00 00 */ stw r0, 0(r3) -/* 8033A900 90 03 00 04 */ stw r0, 4(r3) -/* 8033A904 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSAlloc/DLInsert.s b/asm/dolphin/os/OSAlloc/DLInsert.s deleted file mode 100644 index 96100b4d68..0000000000 --- a/asm/dolphin/os/OSAlloc/DLInsert.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8033B078: -/* 8033B078 38 E3 00 00 */ addi r7, r3, 0 -/* 8033B07C 38 C0 00 00 */ li r6, 0 -/* 8033B080 48 00 00 14 */ b lbl_8033B094 -lbl_8033B084: -/* 8033B084 7C 04 38 40 */ cmplw r4, r7 -/* 8033B088 40 81 00 14 */ ble lbl_8033B09C -/* 8033B08C 7C E6 3B 78 */ mr r6, r7 -/* 8033B090 80 E7 00 04 */ lwz r7, 4(r7) -lbl_8033B094: -/* 8033B094 28 07 00 00 */ cmplwi r7, 0 -/* 8033B098 40 82 FF EC */ bne lbl_8033B084 -lbl_8033B09C: -/* 8033B09C 90 E4 00 04 */ stw r7, 4(r4) -/* 8033B0A0 28 07 00 00 */ cmplwi r7, 0 -/* 8033B0A4 90 C4 00 00 */ stw r6, 0(r4) -/* 8033B0A8 41 82 00 38 */ beq lbl_8033B0E0 -/* 8033B0AC 90 87 00 00 */ stw r4, 0(r7) -/* 8033B0B0 80 A4 00 08 */ lwz r5, 8(r4) -/* 8033B0B4 7C 04 2A 14 */ add r0, r4, r5 -/* 8033B0B8 7C 00 38 40 */ cmplw r0, r7 -/* 8033B0BC 40 82 00 24 */ bne lbl_8033B0E0 -/* 8033B0C0 80 07 00 08 */ lwz r0, 8(r7) -/* 8033B0C4 7C 05 02 14 */ add r0, r5, r0 -/* 8033B0C8 90 04 00 08 */ stw r0, 8(r4) -/* 8033B0CC 80 E7 00 04 */ lwz r7, 4(r7) -/* 8033B0D0 28 07 00 00 */ cmplwi r7, 0 -/* 8033B0D4 90 E4 00 04 */ stw r7, 4(r4) -/* 8033B0D8 41 82 00 08 */ beq lbl_8033B0E0 -/* 8033B0DC 90 87 00 00 */ stw r4, 0(r7) -lbl_8033B0E0: -/* 8033B0E0 28 06 00 00 */ cmplwi r6, 0 -/* 8033B0E4 41 82 00 38 */ beq lbl_8033B11C -/* 8033B0E8 90 86 00 04 */ stw r4, 4(r6) -/* 8033B0EC 80 A6 00 08 */ lwz r5, 8(r6) -/* 8033B0F0 7C 06 2A 14 */ add r0, r6, r5 -/* 8033B0F4 7C 00 20 40 */ cmplw r0, r4 -/* 8033B0F8 4C 82 00 20 */ bnelr -/* 8033B0FC 80 04 00 08 */ lwz r0, 8(r4) -/* 8033B100 28 07 00 00 */ cmplwi r7, 0 -/* 8033B104 7C 05 02 14 */ add r0, r5, r0 -/* 8033B108 90 06 00 08 */ stw r0, 8(r6) -/* 8033B10C 90 E6 00 04 */ stw r7, 4(r6) -/* 8033B110 4D 82 00 20 */ beqlr -/* 8033B114 90 C7 00 00 */ stw r6, 0(r7) -/* 8033B118 4E 80 00 20 */ blr -lbl_8033B11C: -/* 8033B11C 7C 83 23 78 */ mr r3, r4 -/* 8033B120 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSAlloc/OSCreateHeap.s b/asm/dolphin/os/OSAlloc/OSCreateHeap.s deleted file mode 100644 index 5265c93809..0000000000 --- a/asm/dolphin/os/OSAlloc/OSCreateHeap.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8033B220: -/* 8033B220 80 CD 90 C4 */ lwz r6, NumHeaps(r13) -/* 8033B224 38 03 00 1F */ addi r0, r3, 0x1f -/* 8033B228 80 AD 90 C0 */ lwz r5, HeapArray(r13) -/* 8033B22C 54 07 00 34 */ rlwinm r7, r0, 0, 0, 0x1a -/* 8033B230 2C 06 00 00 */ cmpwi r6, 0 -/* 8033B234 7C C9 03 A6 */ mtctr r6 -/* 8033B238 54 84 00 34 */ rlwinm r4, r4, 0, 0, 0x1a -/* 8033B23C 38 60 00 00 */ li r3, 0 -/* 8033B240 40 81 00 44 */ ble lbl_8033B284 -lbl_8033B244: -/* 8033B244 80 05 00 00 */ lwz r0, 0(r5) -/* 8033B248 2C 00 00 00 */ cmpwi r0, 0 -/* 8033B24C 40 80 00 2C */ bge lbl_8033B278 -/* 8033B250 7C 07 20 50 */ subf r0, r7, r4 -/* 8033B254 90 05 00 00 */ stw r0, 0(r5) -/* 8033B258 38 80 00 00 */ li r4, 0 -/* 8033B25C 90 87 00 00 */ stw r4, 0(r7) -/* 8033B260 90 87 00 04 */ stw r4, 4(r7) -/* 8033B264 80 05 00 00 */ lwz r0, 0(r5) -/* 8033B268 90 07 00 08 */ stw r0, 8(r7) -/* 8033B26C 90 E5 00 04 */ stw r7, 4(r5) -/* 8033B270 90 85 00 08 */ stw r4, 8(r5) -/* 8033B274 4E 80 00 20 */ blr -lbl_8033B278: -/* 8033B278 38 A5 00 0C */ addi r5, r5, 0xc -/* 8033B27C 38 63 00 01 */ addi r3, r3, 1 -/* 8033B280 42 00 FF C4 */ bdnz lbl_8033B244 -lbl_8033B284: -/* 8033B284 38 60 FF FF */ li r3, -1 -/* 8033B288 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSAlloc/OSFreeToHeap.s b/asm/dolphin/os/OSAlloc/OSFreeToHeap.s deleted file mode 100644 index e727d74896..0000000000 --- a/asm/dolphin/os/OSAlloc/OSFreeToHeap.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8033B124: -/* 8033B124 7C 08 02 A6 */ mflr r0 -/* 8033B128 38 C4 FF E0 */ addi r6, r4, -32 -/* 8033B12C 90 01 00 04 */ stw r0, 4(r1) -/* 8033B130 1C 03 00 0C */ mulli r0, r3, 0xc -/* 8033B134 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8033B138 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8033B13C 80 8D 90 C0 */ lwz r4, HeapArray(r13) -/* 8033B140 80 66 00 04 */ lwz r3, 4(r6) -/* 8033B144 7F E4 02 14 */ add r31, r4, r0 -/* 8033B148 28 03 00 00 */ cmplwi r3, 0 -/* 8033B14C 80 BF 00 08 */ lwz r5, 8(r31) -/* 8033B150 7C C4 33 78 */ mr r4, r6 -/* 8033B154 41 82 00 0C */ beq lbl_8033B160 -/* 8033B158 80 04 00 00 */ lwz r0, 0(r4) -/* 8033B15C 90 03 00 00 */ stw r0, 0(r3) -lbl_8033B160: -/* 8033B160 80 64 00 00 */ lwz r3, 0(r4) -/* 8033B164 28 03 00 00 */ cmplwi r3, 0 -/* 8033B168 40 82 00 0C */ bne lbl_8033B174 -/* 8033B16C 80 A4 00 04 */ lwz r5, 4(r4) -/* 8033B170 48 00 00 0C */ b lbl_8033B17C -lbl_8033B174: -/* 8033B174 80 04 00 04 */ lwz r0, 4(r4) -/* 8033B178 90 03 00 04 */ stw r0, 4(r3) -lbl_8033B17C: -/* 8033B17C 90 BF 00 08 */ stw r5, 8(r31) -/* 8033B180 80 7F 00 04 */ lwz r3, 4(r31) -/* 8033B184 4B FF FE F5 */ bl DLInsert -/* 8033B188 90 7F 00 04 */ stw r3, 4(r31) -/* 8033B18C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8033B190 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8033B194 38 21 00 18 */ addi r1, r1, 0x18 -/* 8033B198 7C 08 03 A6 */ mtlr r0 -/* 8033B19C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSAlloc/OSInitAlloc.s b/asm/dolphin/os/OSAlloc/OSInitAlloc.s deleted file mode 100644 index deb3aff0d8..0000000000 --- a/asm/dolphin/os/OSAlloc/OSInitAlloc.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8033B1B0: -/* 8033B1B0 1C E5 00 0C */ mulli r7, r5, 0xc -/* 8033B1B4 90 6D 90 C0 */ stw r3, HeapArray(r13) -/* 8033B1B8 90 AD 90 C4 */ stw r5, NumHeaps(r13) -/* 8033B1BC 38 C0 00 00 */ li r6, 0 -/* 8033B1C0 38 66 00 00 */ addi r3, r6, 0 -/* 8033B1C4 39 00 00 00 */ li r8, 0 -/* 8033B1C8 38 A0 FF FF */ li r5, -1 -/* 8033B1CC 48 00 00 20 */ b lbl_8033B1EC -lbl_8033B1D0: -/* 8033B1D0 80 0D 90 C0 */ lwz r0, HeapArray(r13) -/* 8033B1D4 39 08 00 01 */ addi r8, r8, 1 -/* 8033B1D8 7D 20 32 14 */ add r9, r0, r6 -/* 8033B1DC 90 A9 00 00 */ stw r5, 0(r9) -/* 8033B1E0 38 C6 00 0C */ addi r6, r6, 0xc -/* 8033B1E4 90 69 00 08 */ stw r3, 8(r9) -/* 8033B1E8 90 69 00 04 */ stw r3, 4(r9) -lbl_8033B1EC: -/* 8033B1EC 80 0D 90 C4 */ lwz r0, NumHeaps(r13) -/* 8033B1F0 7C 08 00 00 */ cmpw r8, r0 -/* 8033B1F4 41 80 FF DC */ blt lbl_8033B1D0 -/* 8033B1F8 80 6D 90 C0 */ lwz r3, HeapArray(r13) -/* 8033B1FC 54 80 00 34 */ rlwinm r0, r4, 0, 0, 0x1a -/* 8033B200 38 80 FF FF */ li r4, -1 -/* 8033B204 90 0D 90 CC */ stw r0, ArenaEnd(r13) -/* 8033B208 7C 63 3A 14 */ add r3, r3, r7 -/* 8033B20C 38 03 00 1F */ addi r0, r3, 0x1f -/* 8033B210 90 8D 84 10 */ stw r4, __OSCurrHeap(r13) -/* 8033B214 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 8033B218 90 6D 90 C8 */ stw r3, ArenaStart(r13) -/* 8033B21C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSAlloc/OSSetCurrentHeap.s b/asm/dolphin/os/OSAlloc/OSSetCurrentHeap.s deleted file mode 100644 index b7da921e65..0000000000 --- a/asm/dolphin/os/OSAlloc/OSSetCurrentHeap.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8033B1A0: -/* 8033B1A0 80 0D 84 10 */ lwz r0, __OSCurrHeap(r13) -/* 8033B1A4 90 6D 84 10 */ stw r3, __OSCurrHeap(r13) -/* 8033B1A8 7C 03 03 78 */ mr r3, r0 -/* 8033B1AC 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSArena/OSAllocFromArenaLo.s b/asm/dolphin/os/OSArena/OSAllocFromArenaLo.s deleted file mode 100644 index 8491455e9b..0000000000 --- a/asm/dolphin/os/OSArena/OSAllocFromArenaLo.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8033B2AC: -/* 8033B2AC 80 0D 84 18 */ lwz r0, __OSArenaLo(r13) -/* 8033B2B0 38 84 FF FF */ addi r4, r4, -1 -/* 8033B2B4 7C 85 20 F8 */ nor r5, r4, r4 -/* 8033B2B8 7C 00 22 14 */ add r0, r0, r4 -/* 8033B2BC 7C A6 00 38 */ and r6, r5, r0 -/* 8033B2C0 7C 06 1A 14 */ add r0, r6, r3 -/* 8033B2C4 7C 00 22 14 */ add r0, r0, r4 -/* 8033B2C8 7C A0 00 38 */ and r0, r5, r0 -/* 8033B2CC 90 0D 84 18 */ stw r0, __OSArenaLo(r13) -/* 8033B2D0 7C C3 33 78 */ mr r3, r6 -/* 8033B2D4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSArena/OSSetArenaHi.s b/asm/dolphin/os/OSArena/OSSetArenaHi.s deleted file mode 100644 index 51b9058a86..0000000000 --- a/asm/dolphin/os/OSArena/OSSetArenaHi.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8033B29C: -/* 8033B29C 90 6D 90 D0 */ stw r3, __OSArenaHi(r13) -/* 8033B2A0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSArena/OSSetArenaLo.s b/asm/dolphin/os/OSArena/OSSetArenaLo.s deleted file mode 100644 index 409e7a1920..0000000000 --- a/asm/dolphin/os/OSArena/OSSetArenaLo.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8033B2A4: -/* 8033B2A4 90 6D 84 18 */ stw r3, __OSArenaLo(r13) -/* 8033B2A8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCEnable.s b/asm/dolphin/os/OSCache/DCEnable.s deleted file mode 100644 index f135bf6d09..0000000000 --- a/asm/dolphin/os/OSCache/DCEnable.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033B56C: -/* 8033B56C 7C 00 04 AC */ sync -/* 8033B570 7C 70 FA A6 */ mfspr r3, 0x3f0 -/* 8033B574 60 63 40 00 */ ori r3, r3, 0x4000 -/* 8033B578 7C 70 FB A6 */ mtspr 0x3f0, r3 -/* 8033B57C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCFlushRange.s b/asm/dolphin/os/OSCache/DCFlushRange.s deleted file mode 100644 index 9070918a35..0000000000 --- a/asm/dolphin/os/OSCache/DCFlushRange.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8033B5AC: -/* 8033B5AC 28 04 00 00 */ cmplwi r4, 0 -/* 8033B5B0 4C 81 00 20 */ blelr -/* 8033B5B4 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B5B8 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B5BC 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B5C0 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B5C4 7C 89 03 A6 */ mtctr r4 -lbl_8033B5C8: -/* 8033B5C8 7C 00 18 AC */ dcbf 0, r3 -/* 8033B5CC 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B5D0 42 00 FF F8 */ bdnz lbl_8033B5C8 -/* 8033B5D4 44 00 00 02 */ sc -/* 8033B5D8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCFlushRangeNoSync.s b/asm/dolphin/os/OSCache/DCFlushRangeNoSync.s deleted file mode 100644 index f4985be9e5..0000000000 --- a/asm/dolphin/os/OSCache/DCFlushRangeNoSync.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8033B60C: -/* 8033B60C 28 04 00 00 */ cmplwi r4, 0 -/* 8033B610 4C 81 00 20 */ blelr -/* 8033B614 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B618 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B61C 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B620 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B624 7C 89 03 A6 */ mtctr r4 -lbl_8033B628: -/* 8033B628 7C 00 18 AC */ dcbf 0, r3 -/* 8033B62C 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B630 42 00 FF F8 */ bdnz lbl_8033B628 -/* 8033B634 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCInvalidateRange.s b/asm/dolphin/os/OSCache/DCInvalidateRange.s deleted file mode 100644 index 2a7679f837..0000000000 --- a/asm/dolphin/os/OSCache/DCInvalidateRange.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8033B580: -/* 8033B580 28 04 00 00 */ cmplwi r4, 0 -/* 8033B584 4C 81 00 20 */ blelr -/* 8033B588 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B58C 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B590 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B594 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B598 7C 89 03 A6 */ mtctr r4 -lbl_8033B59C: -/* 8033B59C 7C 00 1B AC */ dcbi 0, r3 -/* 8033B5A0 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B5A4 42 00 FF F8 */ bdnz lbl_8033B59C -/* 8033B5A8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCStoreRange.s b/asm/dolphin/os/OSCache/DCStoreRange.s deleted file mode 100644 index efc793404a..0000000000 --- a/asm/dolphin/os/OSCache/DCStoreRange.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8033B5DC: -/* 8033B5DC 28 04 00 00 */ cmplwi r4, 0 -/* 8033B5E0 4C 81 00 20 */ blelr -/* 8033B5E4 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B5E8 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B5EC 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B5F0 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B5F4 7C 89 03 A6 */ mtctr r4 -lbl_8033B5F8: -/* 8033B5F8 7C 00 18 6C */ dcbst 0, r3 -/* 8033B5FC 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B600 42 00 FF F8 */ bdnz lbl_8033B5F8 -/* 8033B604 44 00 00 02 */ sc -/* 8033B608 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCStoreRangeNoSync.s b/asm/dolphin/os/OSCache/DCStoreRangeNoSync.s deleted file mode 100644 index c5a116cc1f..0000000000 --- a/asm/dolphin/os/OSCache/DCStoreRangeNoSync.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8033B638: -/* 8033B638 28 04 00 00 */ cmplwi r4, 0 -/* 8033B63C 4C 81 00 20 */ blelr -/* 8033B640 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B644 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B648 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B64C 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B650 7C 89 03 A6 */ mtctr r4 -lbl_8033B654: -/* 8033B654 7C 00 18 6C */ dcbst 0, r3 -/* 8033B658 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B65C 42 00 FF F8 */ bdnz lbl_8033B654 -/* 8033B660 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/DCZeroRange.s b/asm/dolphin/os/OSCache/DCZeroRange.s deleted file mode 100644 index a02abdc0b6..0000000000 --- a/asm/dolphin/os/OSCache/DCZeroRange.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8033B664: -/* 8033B664 28 04 00 00 */ cmplwi r4, 0 -/* 8033B668 4C 81 00 20 */ blelr -/* 8033B66C 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B670 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B674 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B678 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B67C 7C 89 03 A6 */ mtctr r4 -lbl_8033B680: -/* 8033B680 7C 00 1F EC */ dcbz 0, r3 -/* 8033B684 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B688 42 00 FF F8 */ bdnz lbl_8033B680 -/* 8033B68C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/ICEnable.s b/asm/dolphin/os/OSCache/ICEnable.s deleted file mode 100644 index 1ad62485e1..0000000000 --- a/asm/dolphin/os/OSCache/ICEnable.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033B6D4: -/* 8033B6D4 4C 00 01 2C */ isync -/* 8033B6D8 7C 70 FA A6 */ mfspr r3, 0x3f0 -/* 8033B6DC 60 63 80 00 */ ori r3, r3, 0x8000 -/* 8033B6E0 7C 70 FB A6 */ mtspr 0x3f0, r3 -/* 8033B6E4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/ICFlashInvalidate.s b/asm/dolphin/os/OSCache/ICFlashInvalidate.s deleted file mode 100644 index a1a272bec6..0000000000 --- a/asm/dolphin/os/OSCache/ICFlashInvalidate.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8033B6C4: -/* 8033B6C4 7C 70 FA A6 */ mfspr r3, 0x3f0 -/* 8033B6C8 60 63 08 00 */ ori r3, r3, 0x800 -/* 8033B6CC 7C 70 FB A6 */ mtspr 0x3f0, r3 -/* 8033B6D0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/ICInvalidateRange.s b/asm/dolphin/os/OSCache/ICInvalidateRange.s deleted file mode 100644 index b02400d3c5..0000000000 --- a/asm/dolphin/os/OSCache/ICInvalidateRange.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8033B690: -/* 8033B690 28 04 00 00 */ cmplwi r4, 0 -/* 8033B694 4C 81 00 20 */ blelr -/* 8033B698 54 65 06 FE */ clrlwi r5, r3, 0x1b -/* 8033B69C 7C 84 2A 14 */ add r4, r4, r5 -/* 8033B6A0 38 84 00 1F */ addi r4, r4, 0x1f -/* 8033B6A4 54 84 D9 7E */ srwi r4, r4, 5 -/* 8033B6A8 7C 89 03 A6 */ mtctr r4 -lbl_8033B6AC: -/* 8033B6AC 7C 00 1F AC */ icbi 0, r3 -/* 8033B6B0 38 63 00 20 */ addi r3, r3, 0x20 -/* 8033B6B4 42 00 FF F8 */ bdnz lbl_8033B6AC -/* 8033B6B8 7C 00 04 AC */ sync -/* 8033B6BC 4C 00 01 2C */ isync -/* 8033B6C0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/LCDisable.s b/asm/dolphin/os/OSCache/LCDisable.s deleted file mode 100644 index 657b394bba..0000000000 --- a/asm/dolphin/os/OSCache/LCDisable.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8033B7EC: -/* 8033B7EC 3C 60 E0 00 */ lis r3, 0xE000 /* 0xE0000020@ha */ -/* 8033B7F0 38 80 02 00 */ li r4, 0x200 -/* 8033B7F4 7C 89 03 A6 */ mtctr r4 -lbl_8033B7F8: -/* 8033B7F8 7C 00 1B AC */ dcbi 0, r3 -/* 8033B7FC 38 63 00 20 */ addi r3, r3, 0x0020 /* 0xE0000020@l */ -/* 8033B800 42 00 FF F8 */ bdnz lbl_8033B7F8 -/* 8033B804 7C 98 E2 A6 */ mfspr r4, 0x398 -/* 8033B808 54 84 01 04 */ rlwinm r4, r4, 0, 4, 2 -/* 8033B80C 7C 98 E3 A6 */ mtspr 0x398, r4 -/* 8033B810 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/LCEnable.s b/asm/dolphin/os/OSCache/LCEnable.s deleted file mode 100644 index 0a9ea72304..0000000000 --- a/asm/dolphin/os/OSCache/LCEnable.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8033B7B4: -/* 8033B7B4 7C 08 02 A6 */ mflr r0 -/* 8033B7B8 90 01 00 04 */ stw r0, 4(r1) -/* 8033B7BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8033B7C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8033B7C4 48 00 1F 31 */ bl OSDisableInterrupts -/* 8033B7C8 7C 7F 1B 78 */ mr r31, r3 -/* 8033B7CC 4B FF FF 1D */ bl __LCEnable -/* 8033B7D0 7F E3 FB 78 */ mr r3, r31 -/* 8033B7D4 48 00 1F 49 */ bl OSRestoreInterrupts -/* 8033B7D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8033B7DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8033B7E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8033B7E4 7C 08 03 A6 */ mtlr r0 -/* 8033B7E8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/LCQueueWait.s b/asm/dolphin/os/OSCache/LCQueueWait.s deleted file mode 100644 index a506680ac3..0000000000 --- a/asm/dolphin/os/OSCache/LCQueueWait.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033B8E4: -/* 8033B8E4 7C 98 E2 A6 */ mfspr r4, 0x398 -/* 8033B8E8 54 84 47 3E */ rlwinm r4, r4, 8, 0x1c, 0x1f -/* 8033B8EC 7C 04 18 00 */ cmpw r4, r3 -/* 8033B8F0 41 81 FF F4 */ bgt LCQueueWait -/* 8033B8F4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/LCStoreBlocks.s b/asm/dolphin/os/OSCache/LCStoreBlocks.s deleted file mode 100644 index 7fd5855de3..0000000000 --- a/asm/dolphin/os/OSCache/LCStoreBlocks.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8033B814: -/* 8033B814 54 A6 F6 FE */ rlwinm r6, r5, 0x1e, 0x1b, 0x1f -/* 8033B818 54 63 01 3E */ clrlwi r3, r3, 4 -/* 8033B81C 7C C6 1B 78 */ or r6, r6, r3 -/* 8033B820 7C DA E3 A6 */ mtspr 0x39a, r6 -/* 8033B824 54 A6 17 3A */ rlwinm r6, r5, 2, 0x1c, 0x1d -/* 8033B828 7C C6 23 78 */ or r6, r6, r4 -/* 8033B82C 60 C6 00 02 */ ori r6, r6, 2 -/* 8033B830 7C DB E3 A6 */ mtspr 0x39b, r6 -/* 8033B834 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSCache/__LCEnable.s b/asm/dolphin/os/OSCache/__LCEnable.s deleted file mode 100644 index 452f1357f1..0000000000 --- a/asm/dolphin/os/OSCache/__LCEnable.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8033B6E8: -/* 8033B6E8 7C A0 00 A6 */ mfmsr r5 -/* 8033B6EC 60 A5 10 00 */ ori r5, r5, 0x1000 -/* 8033B6F0 7C A0 01 24 */ mtmsr r5 -/* 8033B6F4 3C 60 80 00 */ lis r3, 0x8000 /* 0x80000020@ha */ -/* 8033B6F8 38 80 04 00 */ li r4, 0x400 -/* 8033B6FC 7C 89 03 A6 */ mtctr r4 -lbl_8033B700: -/* 8033B700 7C 00 1A 2C */ dcbt 0, r3 -/* 8033B704 7C 00 18 6C */ dcbst 0, r3 -/* 8033B708 38 63 00 20 */ addi r3, r3, 0x0020 /* 0x80000020@l */ -/* 8033B70C 42 00 FF F4 */ bdnz lbl_8033B700 -/* 8033B710 7C 98 E2 A6 */ mfspr r4, 0x398 -/* 8033B714 64 84 10 0F */ oris r4, r4, 0x100f -/* 8033B718 7C 98 E3 A6 */ mtspr 0x398, r4 -/* 8033B71C 60 00 00 00 */ nop -/* 8033B720 60 00 00 00 */ nop -/* 8033B724 60 00 00 00 */ nop -/* 8033B728 60 00 00 00 */ nop -/* 8033B72C 60 00 00 00 */ nop -/* 8033B730 60 00 00 00 */ nop -/* 8033B734 60 00 00 00 */ nop -/* 8033B738 60 00 00 00 */ nop -/* 8033B73C 60 00 00 00 */ nop -/* 8033B740 60 00 00 00 */ nop -/* 8033B744 60 00 00 00 */ nop -/* 8033B748 60 00 00 00 */ nop -/* 8033B74C 3C 60 E0 00 */ lis r3, 0xE000 /* 0xE0000002@h */ -/* 8033B750 60 63 00 02 */ ori r3, r3, 0x0002 /* 0xE0000002@l */ -/* 8033B754 7C 7F 83 A6 */ mtdbatl 3, r3 -/* 8033B758 60 63 01 FE */ ori r3, r3, 0x1fe -/* 8033B75C 7C 7E 83 A6 */ mtdbatu 3, r3 -/* 8033B760 4C 00 01 2C */ isync -/* 8033B764 3C 60 E0 00 */ lis r3, 0xE000 /* 0xE0000020@ha */ -/* 8033B768 38 C0 02 00 */ li r6, 0x200 -/* 8033B76C 7C C9 03 A6 */ mtctr r6 -/* 8033B770 38 C0 00 00 */ li r6, 0 -lbl_8033B774: -/* 8033B774 10 06 1F EC */ dcbz_l r6, r3 -/* 8033B778 38 63 00 20 */ addi r3, r3, 0x0020 /* 0xE0000020@l */ -/* 8033B77C 42 00 FF F8 */ bdnz lbl_8033B774 -/* 8033B780 60 00 00 00 */ nop -/* 8033B784 60 00 00 00 */ nop -/* 8033B788 60 00 00 00 */ nop -/* 8033B78C 60 00 00 00 */ nop -/* 8033B790 60 00 00 00 */ nop -/* 8033B794 60 00 00 00 */ nop -/* 8033B798 60 00 00 00 */ nop -/* 8033B79C 60 00 00 00 */ nop -/* 8033B7A0 60 00 00 00 */ nop -/* 8033B7A4 60 00 00 00 */ nop -/* 8033B7A8 60 00 00 00 */ nop -/* 8033B7AC 60 00 00 00 */ nop -/* 8033B7B0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSClearContext.s b/asm/dolphin/os/OSContext/OSClearContext.s deleted file mode 100644 index 5a41486620..0000000000 --- a/asm/dolphin/os/OSContext/OSClearContext.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8033C000: -/* 8033C000 38 A0 00 00 */ li r5, 0 -/* 8033C004 B0 A3 01 A0 */ sth r5, 0x1a0(r3) -/* 8033C008 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000D8@ha */ -/* 8033C00C B0 A3 01 A2 */ sth r5, 0x1a2(r3) -/* 8033C010 80 04 00 D8 */ lwz r0, 0x00D8(r4) /* 0x800000D8@l */ -/* 8033C014 7C 03 00 40 */ cmplw r3, r0 -/* 8033C018 40 82 00 08 */ bne lbl_8033C020 -/* 8033C01C 90 A4 00 D8 */ stw r5, 0xd8(r4) -lbl_8033C020: -/* 8033C020 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSFillFPUContext.s b/asm/dolphin/os/OSContext/OSFillFPUContext.s deleted file mode 100644 index 8b1a145ab0..0000000000 --- a/asm/dolphin/os/OSContext/OSFillFPUContext.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_8033C454: -/* 8033C454 7C A0 00 A6 */ mfmsr r5 -/* 8033C458 60 A5 20 00 */ ori r5, r5, 0x2000 -/* 8033C45C 7C A0 01 24 */ mtmsr r5 -/* 8033C460 4C 00 01 2C */ isync -/* 8033C464 D8 03 00 90 */ stfd f0, 0x90(r3) -/* 8033C468 D8 23 00 98 */ stfd f1, 0x98(r3) -/* 8033C46C D8 43 00 A0 */ stfd f2, 0xa0(r3) -/* 8033C470 D8 63 00 A8 */ stfd f3, 0xa8(r3) -/* 8033C474 D8 83 00 B0 */ stfd f4, 0xb0(r3) -/* 8033C478 D8 A3 00 B8 */ stfd f5, 0xb8(r3) -/* 8033C47C D8 C3 00 C0 */ stfd f6, 0xc0(r3) -/* 8033C480 D8 E3 00 C8 */ stfd f7, 0xc8(r3) -/* 8033C484 D9 03 00 D0 */ stfd f8, 0xd0(r3) -/* 8033C488 D9 23 00 D8 */ stfd f9, 0xd8(r3) -/* 8033C48C D9 43 00 E0 */ stfd f10, 0xe0(r3) -/* 8033C490 D9 63 00 E8 */ stfd f11, 0xe8(r3) -/* 8033C494 D9 83 00 F0 */ stfd f12, 0xf0(r3) -/* 8033C498 D9 A3 00 F8 */ stfd f13, 0xf8(r3) -/* 8033C49C D9 C3 01 00 */ stfd f14, 0x100(r3) -/* 8033C4A0 D9 E3 01 08 */ stfd f15, 0x108(r3) -/* 8033C4A4 DA 03 01 10 */ stfd f16, 0x110(r3) -/* 8033C4A8 DA 23 01 18 */ stfd f17, 0x118(r3) -/* 8033C4AC DA 43 01 20 */ stfd f18, 0x120(r3) -/* 8033C4B0 DA 63 01 28 */ stfd f19, 0x128(r3) -/* 8033C4B4 DA 83 01 30 */ stfd f20, 0x130(r3) -/* 8033C4B8 DA A3 01 38 */ stfd f21, 0x138(r3) -/* 8033C4BC DA C3 01 40 */ stfd f22, 0x140(r3) -/* 8033C4C0 DA E3 01 48 */ stfd f23, 0x148(r3) -/* 8033C4C4 DB 03 01 50 */ stfd f24, 0x150(r3) -/* 8033C4C8 DB 23 01 58 */ stfd f25, 0x158(r3) -/* 8033C4CC DB 43 01 60 */ stfd f26, 0x160(r3) -/* 8033C4D0 DB 63 01 68 */ stfd f27, 0x168(r3) -/* 8033C4D4 DB 83 01 70 */ stfd f28, 0x170(r3) -/* 8033C4D8 DB A3 01 78 */ stfd f29, 0x178(r3) -/* 8033C4DC DB C3 01 80 */ stfd f30, 0x180(r3) -/* 8033C4E0 DB E3 01 88 */ stfd f31, 0x188(r3) -/* 8033C4E4 FC 00 04 8E */ mffs f0 -/* 8033C4E8 D8 03 01 90 */ stfd f0, 0x190(r3) -/* 8033C4EC C8 03 00 90 */ lfd f0, 0x90(r3) -/* 8033C4F0 7C B8 E2 A6 */ mfspr r5, 0x398 -/* 8033C4F4 54 A5 1F FF */ rlwinm. r5, r5, 3, 0x1f, 0x1f -/* 8033C4F8 41 82 00 84 */ beq lbl_8033C57C -/* 8033C4FC F0 03 01 C8 */ psq_st f0, 456(r3), 0, 0 /* qr0 */ -/* 8033C500 F0 23 01 D0 */ psq_st f1, 464(r3), 0, 0 /* qr0 */ -/* 8033C504 F0 43 01 D8 */ psq_st f2, 472(r3), 0, 0 /* qr0 */ -/* 8033C508 F0 63 01 E0 */ psq_st f3, 480(r3), 0, 0 /* qr0 */ -/* 8033C50C F0 83 01 E8 */ psq_st f4, 488(r3), 0, 0 /* qr0 */ -/* 8033C510 F0 A3 01 F0 */ psq_st f5, 496(r3), 0, 0 /* qr0 */ -/* 8033C514 F0 C3 01 F8 */ psq_st f6, 504(r3), 0, 0 /* qr0 */ -/* 8033C518 F0 E3 02 00 */ psq_st f7, 512(r3), 0, 0 /* qr0 */ -/* 8033C51C F1 03 02 08 */ psq_st f8, 520(r3), 0, 0 /* qr0 */ -/* 8033C520 F1 23 02 10 */ psq_st f9, 528(r3), 0, 0 /* qr0 */ -/* 8033C524 F1 43 02 18 */ psq_st f10, 536(r3), 0, 0 /* qr0 */ -/* 8033C528 F1 63 02 20 */ psq_st f11, 544(r3), 0, 0 /* qr0 */ -/* 8033C52C F1 83 02 28 */ psq_st f12, 552(r3), 0, 0 /* qr0 */ -/* 8033C530 F1 A3 02 30 */ psq_st f13, 560(r3), 0, 0 /* qr0 */ -/* 8033C534 F1 C3 02 38 */ psq_st f14, 568(r3), 0, 0 /* qr0 */ -/* 8033C538 F1 E3 02 40 */ psq_st f15, 576(r3), 0, 0 /* qr0 */ -/* 8033C53C F2 03 02 48 */ psq_st f16, 584(r3), 0, 0 /* qr0 */ -/* 8033C540 F2 23 02 50 */ psq_st f17, 592(r3), 0, 0 /* qr0 */ -/* 8033C544 F2 43 02 58 */ psq_st f18, 600(r3), 0, 0 /* qr0 */ -/* 8033C548 F2 63 02 60 */ psq_st f19, 608(r3), 0, 0 /* qr0 */ -/* 8033C54C F2 83 02 68 */ psq_st f20, 616(r3), 0, 0 /* qr0 */ -/* 8033C550 F2 A3 02 70 */ psq_st f21, 624(r3), 0, 0 /* qr0 */ -/* 8033C554 F2 C3 02 78 */ psq_st f22, 632(r3), 0, 0 /* qr0 */ -/* 8033C558 F2 E3 02 80 */ psq_st f23, 640(r3), 0, 0 /* qr0 */ -/* 8033C55C F3 03 02 88 */ psq_st f24, 648(r3), 0, 0 /* qr0 */ -/* 8033C560 F3 23 02 90 */ psq_st f25, 656(r3), 0, 0 /* qr0 */ -/* 8033C564 F3 43 02 98 */ psq_st f26, 664(r3), 0, 0 /* qr0 */ -/* 8033C568 F3 63 02 A0 */ psq_st f27, 672(r3), 0, 0 /* qr0 */ -/* 8033C56C F3 83 02 A8 */ psq_st f28, 680(r3), 0, 0 /* qr0 */ -/* 8033C570 F3 A3 02 B0 */ psq_st f29, 688(r3), 0, 0 /* qr0 */ -/* 8033C574 F3 C3 02 B8 */ psq_st f30, 696(r3), 0, 0 /* qr0 */ -/* 8033C578 F3 E3 02 C0 */ psq_st f31, 704(r3), 0, 0 /* qr0 */ -lbl_8033C57C: -/* 8033C57C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSGetCurrentContext.s b/asm/dolphin/os/OSContext/OSGetCurrentContext.s deleted file mode 100644 index 075d435120..0000000000 --- a/asm/dolphin/os/OSContext/OSGetCurrentContext.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8033BE94: -/* 8033BE94 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000D4@ha */ -/* 8033BE98 80 63 00 D4 */ lwz r3, 0x00D4(r3) /* 0x800000D4@l */ -/* 8033BE9C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSGetStackPointer.s b/asm/dolphin/os/OSContext/OSGetStackPointer.s deleted file mode 100644 index b6ac84a313..0000000000 --- a/asm/dolphin/os/OSContext/OSGetStackPointer.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8033BFF8: -/* 8033BFF8 7C 23 0B 78 */ mr r3, r1 -/* 8033BFFC 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSInitContext.s b/asm/dolphin/os/OSContext/OSInitContext.s deleted file mode 100644 index 995cd95f71..0000000000 --- a/asm/dolphin/os/OSContext/OSInitContext.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_8033C024: -/* 8033C024 90 83 01 98 */ stw r4, 0x198(r3) -/* 8033C028 90 A3 00 04 */ stw r5, 4(r3) -/* 8033C02C 39 60 00 00 */ li r11, 0 -/* 8033C030 61 6B 90 32 */ ori r11, r11, 0x9032 -/* 8033C034 91 63 01 9C */ stw r11, 0x19c(r3) -/* 8033C038 38 00 00 00 */ li r0, 0 -/* 8033C03C 90 03 00 80 */ stw r0, 0x80(r3) -/* 8033C040 90 03 00 8C */ stw r0, 0x8c(r3) -/* 8033C044 90 43 00 08 */ stw r2, 8(r3) -/* 8033C048 91 A3 00 34 */ stw r13, 0x34(r3) -/* 8033C04C 90 03 00 0C */ stw r0, 0xc(r3) -/* 8033C050 90 03 00 10 */ stw r0, 0x10(r3) -/* 8033C054 90 03 00 14 */ stw r0, 0x14(r3) -/* 8033C058 90 03 00 18 */ stw r0, 0x18(r3) -/* 8033C05C 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8033C060 90 03 00 20 */ stw r0, 0x20(r3) -/* 8033C064 90 03 00 24 */ stw r0, 0x24(r3) -/* 8033C068 90 03 00 28 */ stw r0, 0x28(r3) -/* 8033C06C 90 03 00 2C */ stw r0, 0x2c(r3) -/* 8033C070 90 03 00 30 */ stw r0, 0x30(r3) -/* 8033C074 90 03 00 38 */ stw r0, 0x38(r3) -/* 8033C078 90 03 00 3C */ stw r0, 0x3c(r3) -/* 8033C07C 90 03 00 40 */ stw r0, 0x40(r3) -/* 8033C080 90 03 00 44 */ stw r0, 0x44(r3) -/* 8033C084 90 03 00 48 */ stw r0, 0x48(r3) -/* 8033C088 90 03 00 4C */ stw r0, 0x4c(r3) -/* 8033C08C 90 03 00 50 */ stw r0, 0x50(r3) -/* 8033C090 90 03 00 54 */ stw r0, 0x54(r3) -/* 8033C094 90 03 00 58 */ stw r0, 0x58(r3) -/* 8033C098 90 03 00 5C */ stw r0, 0x5c(r3) -/* 8033C09C 90 03 00 60 */ stw r0, 0x60(r3) -/* 8033C0A0 90 03 00 64 */ stw r0, 0x64(r3) -/* 8033C0A4 90 03 00 68 */ stw r0, 0x68(r3) -/* 8033C0A8 90 03 00 6C */ stw r0, 0x6c(r3) -/* 8033C0AC 90 03 00 70 */ stw r0, 0x70(r3) -/* 8033C0B0 90 03 00 74 */ stw r0, 0x74(r3) -/* 8033C0B4 90 03 00 78 */ stw r0, 0x78(r3) -/* 8033C0B8 90 03 00 7C */ stw r0, 0x7c(r3) -/* 8033C0BC 90 03 01 A4 */ stw r0, 0x1a4(r3) -/* 8033C0C0 90 03 01 A8 */ stw r0, 0x1a8(r3) -/* 8033C0C4 90 03 01 AC */ stw r0, 0x1ac(r3) -/* 8033C0C8 90 03 01 B0 */ stw r0, 0x1b0(r3) -/* 8033C0CC 90 03 01 B4 */ stw r0, 0x1b4(r3) -/* 8033C0D0 90 03 01 B8 */ stw r0, 0x1b8(r3) -/* 8033C0D4 90 03 01 BC */ stw r0, 0x1bc(r3) -/* 8033C0D8 90 03 01 C0 */ stw r0, 0x1c0(r3) -/* 8033C0DC 4B FF FF 24 */ b OSClearContext diff --git a/asm/dolphin/os/OSContext/OSLoadContext.s b/asm/dolphin/os/OSContext/OSLoadContext.s deleted file mode 100644 index 78a7a79107..0000000000 --- a/asm/dolphin/os/OSContext/OSLoadContext.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8033BF20: -/* 8033BF20 3C 80 80 34 */ lis r4, OSDisableInterrupts@ha /* 0x8033D6F4@ha */ -/* 8033BF24 80 C3 01 98 */ lwz r6, 0x198(r3) -/* 8033BF28 38 A4 D6 F4 */ addi r5, r4, OSDisableInterrupts@l /* 0x8033D6F4@l */ -/* 8033BF2C 7C 06 28 40 */ cmplw r6, r5 -/* 8033BF30 40 81 00 18 */ ble lbl_8033BF48 -/* 8033BF34 3C 80 80 34 */ lis r4, __RAS_OSDisableInterrupts_end@ha /* 0x8033D700@ha */ -/* 8033BF38 38 04 D7 00 */ addi r0, r4, __RAS_OSDisableInterrupts_end@l /* 0x8033D700@l */ -/* 8033BF3C 7C 06 00 40 */ cmplw r6, r0 -/* 8033BF40 40 80 00 08 */ bge lbl_8033BF48 -/* 8033BF44 90 A3 01 98 */ stw r5, 0x198(r3) -lbl_8033BF48: -/* 8033BF48 80 03 00 00 */ lwz r0, 0(r3) -/* 8033BF4C 80 23 00 04 */ lwz r1, 4(r3) -/* 8033BF50 80 43 00 08 */ lwz r2, 8(r3) -/* 8033BF54 A0 83 01 A2 */ lhz r4, 0x1a2(r3) -/* 8033BF58 54 85 07 BD */ rlwinm. r5, r4, 0, 0x1e, 0x1e -/* 8033BF5C 41 82 00 14 */ beq lbl_8033BF70 -/* 8033BF60 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d -/* 8033BF64 B0 83 01 A2 */ sth r4, 0x1a2(r3) -/* 8033BF68 B8 A3 00 14 */ lmw r5, 0x14(r3) -/* 8033BF6C 48 00 00 08 */ b lbl_8033BF74 -lbl_8033BF70: -/* 8033BF70 B9 A3 00 34 */ lmw r13, 0x34(r3) -lbl_8033BF74: -/* 8033BF74 80 83 01 A8 */ lwz r4, 0x1a8(r3) -/* 8033BF78 7C 91 E3 A6 */ mtspr 0x391, r4 -/* 8033BF7C 80 83 01 AC */ lwz r4, 0x1ac(r3) -/* 8033BF80 7C 92 E3 A6 */ mtspr 0x392, r4 -/* 8033BF84 80 83 01 B0 */ lwz r4, 0x1b0(r3) -/* 8033BF88 7C 93 E3 A6 */ mtspr 0x393, r4 -/* 8033BF8C 80 83 01 B4 */ lwz r4, 0x1b4(r3) -/* 8033BF90 7C 94 E3 A6 */ mtspr 0x394, r4 -/* 8033BF94 80 83 01 B8 */ lwz r4, 0x1b8(r3) -/* 8033BF98 7C 95 E3 A6 */ mtspr 0x395, r4 -/* 8033BF9C 80 83 01 BC */ lwz r4, 0x1bc(r3) -/* 8033BFA0 7C 96 E3 A6 */ mtspr 0x396, r4 -/* 8033BFA4 80 83 01 C0 */ lwz r4, 0x1c0(r3) -/* 8033BFA8 7C 97 E3 A6 */ mtspr 0x397, r4 -/* 8033BFAC 80 83 00 80 */ lwz r4, 0x80(r3) -/* 8033BFB0 7C 8F F1 20 */ mtcrf 0xff, r4 -/* 8033BFB4 80 83 00 84 */ lwz r4, 0x84(r3) -/* 8033BFB8 7C 88 03 A6 */ mtlr r4 -/* 8033BFBC 80 83 00 88 */ lwz r4, 0x88(r3) -/* 8033BFC0 7C 89 03 A6 */ mtctr r4 -/* 8033BFC4 80 83 00 8C */ lwz r4, 0x8c(r3) -/* 8033BFC8 7C 81 03 A6 */ mtxer r4 -/* 8033BFCC 7C 80 00 A6 */ mfmsr r4 -/* 8033BFD0 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf -/* 8033BFD4 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d -/* 8033BFD8 7C 80 01 24 */ mtmsr r4 -/* 8033BFDC 80 83 01 98 */ lwz r4, 0x198(r3) -/* 8033BFE0 7C 9A 03 A6 */ mtspr 0x1a, r4 -/* 8033BFE4 80 83 01 9C */ lwz r4, 0x19c(r3) -/* 8033BFE8 7C 9B 03 A6 */ mtspr 0x1b, r4 -/* 8033BFEC 80 83 00 10 */ lwz r4, 0x10(r3) -/* 8033BFF0 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8033BFF4 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OSContext/OSSaveContext.s b/asm/dolphin/os/OSContext/OSSaveContext.s deleted file mode 100644 index ab6ec61d33..0000000000 --- a/asm/dolphin/os/OSContext/OSSaveContext.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8033BEA0: -/* 8033BEA0 BD A3 00 34 */ stmw r13, 0x34(r3) -/* 8033BEA4 7C 11 E2 A6 */ mfspr r0, 0x391 -/* 8033BEA8 90 03 01 A8 */ stw r0, 0x1a8(r3) -/* 8033BEAC 7C 12 E2 A6 */ mfspr r0, 0x392 -/* 8033BEB0 90 03 01 AC */ stw r0, 0x1ac(r3) -/* 8033BEB4 7C 13 E2 A6 */ mfspr r0, 0x393 -/* 8033BEB8 90 03 01 B0 */ stw r0, 0x1b0(r3) -/* 8033BEBC 7C 14 E2 A6 */ mfspr r0, 0x394 -/* 8033BEC0 90 03 01 B4 */ stw r0, 0x1b4(r3) -/* 8033BEC4 7C 15 E2 A6 */ mfspr r0, 0x395 -/* 8033BEC8 90 03 01 B8 */ stw r0, 0x1b8(r3) -/* 8033BECC 7C 16 E2 A6 */ mfspr r0, 0x396 -/* 8033BED0 90 03 01 BC */ stw r0, 0x1bc(r3) -/* 8033BED4 7C 17 E2 A6 */ mfspr r0, 0x397 -/* 8033BED8 90 03 01 C0 */ stw r0, 0x1c0(r3) -/* 8033BEDC 7C 00 00 26 */ mfcr r0 -/* 8033BEE0 90 03 00 80 */ stw r0, 0x80(r3) -/* 8033BEE4 7C 08 02 A6 */ mflr r0 -/* 8033BEE8 90 03 00 84 */ stw r0, 0x84(r3) -/* 8033BEEC 90 03 01 98 */ stw r0, 0x198(r3) -/* 8033BEF0 7C 00 00 A6 */ mfmsr r0 -/* 8033BEF4 90 03 01 9C */ stw r0, 0x19c(r3) -/* 8033BEF8 7C 09 02 A6 */ mfctr r0 -/* 8033BEFC 90 03 00 88 */ stw r0, 0x88(r3) -/* 8033BF00 7C 01 02 A6 */ mfxer r0 -/* 8033BF04 90 03 00 8C */ stw r0, 0x8c(r3) -/* 8033BF08 90 23 00 04 */ stw r1, 4(r3) -/* 8033BF0C 90 43 00 08 */ stw r2, 8(r3) -/* 8033BF10 38 00 00 01 */ li r0, 1 -/* 8033BF14 90 03 00 0C */ stw r0, 0xc(r3) -/* 8033BF18 38 60 00 00 */ li r3, 0 -/* 8033BF1C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSSaveFPUContext.s b/asm/dolphin/os/OSContext/OSSaveFPUContext.s deleted file mode 100644 index 085bd15858..0000000000 --- a/asm/dolphin/os/OSContext/OSSaveFPUContext.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8033BE30: -/* 8033BE30 38 A3 00 00 */ addi r5, r3, 0 -/* 8033BE34 4B FF FE D4 */ b __OSSaveFPUContext diff --git a/asm/dolphin/os/OSContext/OSSetCurrentContext.s b/asm/dolphin/os/OSContext/OSSetCurrentContext.s deleted file mode 100644 index 4cffa1c1dd..0000000000 --- a/asm/dolphin/os/OSContext/OSSetCurrentContext.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8033BE38: -/* 8033BE38 3C 80 80 00 */ lis r4, 0x8000 /* 0x800000D4@ha */ -/* 8033BE3C 90 64 00 D4 */ stw r3, 0x00D4(r4) /* 0x800000D4@l */ -/* 8033BE40 54 65 00 BE */ clrlwi r5, r3, 2 -/* 8033BE44 90 A4 00 C0 */ stw r5, 0xc0(r4) -/* 8033BE48 80 A4 00 D8 */ lwz r5, 0xd8(r4) -/* 8033BE4C 7C 05 18 00 */ cmpw r5, r3 -/* 8033BE50 40 82 00 20 */ bne lbl_8033BE70 -/* 8033BE54 80 C3 01 9C */ lwz r6, 0x19c(r3) -/* 8033BE58 60 C6 20 00 */ ori r6, r6, 0x2000 -/* 8033BE5C 90 C3 01 9C */ stw r6, 0x19c(r3) -/* 8033BE60 7C C0 00 A6 */ mfmsr r6 -/* 8033BE64 60 C6 00 02 */ ori r6, r6, 2 -/* 8033BE68 7C C0 01 24 */ mtmsr r6 -/* 8033BE6C 4E 80 00 20 */ blr -lbl_8033BE70: -/* 8033BE70 80 C3 01 9C */ lwz r6, 0x19c(r3) -/* 8033BE74 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11 -/* 8033BE78 90 C3 01 9C */ stw r6, 0x19c(r3) -/* 8033BE7C 7C C0 00 A6 */ mfmsr r6 -/* 8033BE80 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11 -/* 8033BE84 60 C6 00 02 */ ori r6, r6, 2 -/* 8033BE88 7C C0 01 24 */ mtmsr r6 -/* 8033BE8C 4C 00 01 2C */ isync -/* 8033BE90 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/OSSwitchFPUContext.s b/asm/dolphin/os/OSContext/OSSwitchFPUContext.s deleted file mode 100644 index 6f70f47d59..0000000000 --- a/asm/dolphin/os/OSContext/OSSwitchFPUContext.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8033C388: -/* 8033C388 7C A0 00 A6 */ mfmsr r5 -/* 8033C38C 60 A5 20 00 */ ori r5, r5, 0x2000 -/* 8033C390 7C A0 01 24 */ mtmsr r5 -/* 8033C394 4C 00 01 2C */ isync -/* 8033C398 80 A4 01 9C */ lwz r5, 0x19c(r4) -/* 8033C39C 60 A5 20 00 */ ori r5, r5, 0x2000 -/* 8033C3A0 7C BB 03 A6 */ mtspr 0x1b, r5 -/* 8033C3A4 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000D8@ha */ -/* 8033C3A8 80 A3 00 D8 */ lwz r5, 0x00D8(r3) /* 0x800000D8@l */ -/* 8033C3AC 90 83 00 D8 */ stw r4, 0xd8(r3) -/* 8033C3B0 7C 05 20 00 */ cmpw r5, r4 -/* 8033C3B4 41 82 00 14 */ beq lbl_8033C3C8 -/* 8033C3B8 2C 05 00 00 */ cmpwi r5, 0 -/* 8033C3BC 41 82 00 08 */ beq lbl_8033C3C4 -/* 8033C3C0 4B FF F9 49 */ bl __OSSaveFPUContext -lbl_8033C3C4: -/* 8033C3C4 4B FF F8 21 */ bl __OSLoadFPUContext -lbl_8033C3C8: -/* 8033C3C8 80 64 00 80 */ lwz r3, 0x80(r4) -/* 8033C3CC 7C 6F F1 20 */ mtcrf 0xff, r3 -/* 8033C3D0 80 64 00 84 */ lwz r3, 0x84(r4) -/* 8033C3D4 7C 68 03 A6 */ mtlr r3 -/* 8033C3D8 80 64 01 98 */ lwz r3, 0x198(r4) -/* 8033C3DC 7C 7A 03 A6 */ mtspr 0x1a, r3 -/* 8033C3E0 80 64 00 88 */ lwz r3, 0x88(r4) -/* 8033C3E4 7C 69 03 A6 */ mtctr r3 -/* 8033C3E8 80 64 00 8C */ lwz r3, 0x8c(r4) -/* 8033C3EC 7C 61 03 A6 */ mtxer r3 -/* 8033C3F0 A0 64 01 A2 */ lhz r3, 0x1a2(r4) -/* 8033C3F4 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d -/* 8033C3F8 B0 64 01 A2 */ sth r3, 0x1a2(r4) -/* 8033C3FC 80 A4 00 14 */ lwz r5, 0x14(r4) -/* 8033C400 80 64 00 0C */ lwz r3, 0xc(r4) -/* 8033C404 80 84 00 10 */ lwz r4, 0x10(r4) -/* 8033C408 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OSContext/__OSLoadFPUContext.s b/asm/dolphin/os/OSContext/__OSLoadFPUContext.s deleted file mode 100644 index 31d1bcf6c4..0000000000 --- a/asm/dolphin/os/OSContext/__OSLoadFPUContext.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_8033BBE4: -/* 8033BBE4 A0 A4 01 A2 */ lhz r5, 0x1a2(r4) -/* 8033BBE8 54 A5 07 FF */ clrlwi. r5, r5, 0x1f -/* 8033BBEC 41 82 01 18 */ beq lbl_8033BD04 -/* 8033BBF0 C8 04 01 90 */ lfd f0, 0x190(r4) -/* 8033BBF4 FD FE 05 8E */ mtfsf 0xff, f0 -/* 8033BBF8 7C B8 E2 A6 */ mfspr r5, 0x398 -/* 8033BBFC 54 A5 1F FF */ rlwinm. r5, r5, 3, 0x1f, 0x1f -/* 8033BC00 41 82 00 84 */ beq lbl_8033BC84 -/* 8033BC04 E0 04 01 C8 */ psq_l f0, 456(r4), 0, 0 /* qr0 */ -/* 8033BC08 E0 24 01 D0 */ psq_l f1, 464(r4), 0, 0 /* qr0 */ -/* 8033BC0C E0 44 01 D8 */ psq_l f2, 472(r4), 0, 0 /* qr0 */ -/* 8033BC10 E0 64 01 E0 */ psq_l f3, 480(r4), 0, 0 /* qr0 */ -/* 8033BC14 E0 84 01 E8 */ psq_l f4, 488(r4), 0, 0 /* qr0 */ -/* 8033BC18 E0 A4 01 F0 */ psq_l f5, 496(r4), 0, 0 /* qr0 */ -/* 8033BC1C E0 C4 01 F8 */ psq_l f6, 504(r4), 0, 0 /* qr0 */ -/* 8033BC20 E0 E4 02 00 */ psq_l f7, 512(r4), 0, 0 /* qr0 */ -/* 8033BC24 E1 04 02 08 */ psq_l f8, 520(r4), 0, 0 /* qr0 */ -/* 8033BC28 E1 24 02 10 */ psq_l f9, 528(r4), 0, 0 /* qr0 */ -/* 8033BC2C E1 44 02 18 */ psq_l f10, 536(r4), 0, 0 /* qr0 */ -/* 8033BC30 E1 64 02 20 */ psq_l f11, 544(r4), 0, 0 /* qr0 */ -/* 8033BC34 E1 84 02 28 */ psq_l f12, 552(r4), 0, 0 /* qr0 */ -/* 8033BC38 E1 A4 02 30 */ psq_l f13, 560(r4), 0, 0 /* qr0 */ -/* 8033BC3C E1 C4 02 38 */ psq_l f14, 568(r4), 0, 0 /* qr0 */ -/* 8033BC40 E1 E4 02 40 */ psq_l f15, 576(r4), 0, 0 /* qr0 */ -/* 8033BC44 E2 04 02 48 */ psq_l f16, 584(r4), 0, 0 /* qr0 */ -/* 8033BC48 E2 24 02 50 */ psq_l f17, 592(r4), 0, 0 /* qr0 */ -/* 8033BC4C E2 44 02 58 */ psq_l f18, 600(r4), 0, 0 /* qr0 */ -/* 8033BC50 E2 64 02 60 */ psq_l f19, 608(r4), 0, 0 /* qr0 */ -/* 8033BC54 E2 84 02 68 */ psq_l f20, 616(r4), 0, 0 /* qr0 */ -/* 8033BC58 E2 A4 02 70 */ psq_l f21, 624(r4), 0, 0 /* qr0 */ -/* 8033BC5C E2 C4 02 78 */ psq_l f22, 632(r4), 0, 0 /* qr0 */ -/* 8033BC60 E2 E4 02 80 */ psq_l f23, 640(r4), 0, 0 /* qr0 */ -/* 8033BC64 E3 04 02 88 */ psq_l f24, 648(r4), 0, 0 /* qr0 */ -/* 8033BC68 E3 24 02 90 */ psq_l f25, 656(r4), 0, 0 /* qr0 */ -/* 8033BC6C E3 44 02 98 */ psq_l f26, 664(r4), 0, 0 /* qr0 */ -/* 8033BC70 E3 64 02 A0 */ psq_l f27, 672(r4), 0, 0 /* qr0 */ -/* 8033BC74 E3 84 02 A8 */ psq_l f28, 680(r4), 0, 0 /* qr0 */ -/* 8033BC78 E3 A4 02 B0 */ psq_l f29, 688(r4), 0, 0 /* qr0 */ -/* 8033BC7C E3 C4 02 B8 */ psq_l f30, 696(r4), 0, 0 /* qr0 */ -/* 8033BC80 E3 E4 02 C0 */ psq_l f31, 704(r4), 0, 0 /* qr0 */ -lbl_8033BC84: -/* 8033BC84 C8 04 00 90 */ lfd f0, 0x90(r4) -/* 8033BC88 C8 24 00 98 */ lfd f1, 0x98(r4) -/* 8033BC8C C8 44 00 A0 */ lfd f2, 0xa0(r4) -/* 8033BC90 C8 64 00 A8 */ lfd f3, 0xa8(r4) -/* 8033BC94 C8 84 00 B0 */ lfd f4, 0xb0(r4) -/* 8033BC98 C8 A4 00 B8 */ lfd f5, 0xb8(r4) -/* 8033BC9C C8 C4 00 C0 */ lfd f6, 0xc0(r4) -/* 8033BCA0 C8 E4 00 C8 */ lfd f7, 0xc8(r4) -/* 8033BCA4 C9 04 00 D0 */ lfd f8, 0xd0(r4) -/* 8033BCA8 C9 24 00 D8 */ lfd f9, 0xd8(r4) -/* 8033BCAC C9 44 00 E0 */ lfd f10, 0xe0(r4) -/* 8033BCB0 C9 64 00 E8 */ lfd f11, 0xe8(r4) -/* 8033BCB4 C9 84 00 F0 */ lfd f12, 0xf0(r4) -/* 8033BCB8 C9 A4 00 F8 */ lfd f13, 0xf8(r4) -/* 8033BCBC C9 C4 01 00 */ lfd f14, 0x100(r4) -/* 8033BCC0 C9 E4 01 08 */ lfd f15, 0x108(r4) -/* 8033BCC4 CA 04 01 10 */ lfd f16, 0x110(r4) -/* 8033BCC8 CA 24 01 18 */ lfd f17, 0x118(r4) -/* 8033BCCC CA 44 01 20 */ lfd f18, 0x120(r4) -/* 8033BCD0 CA 64 01 28 */ lfd f19, 0x128(r4) -/* 8033BCD4 CA 84 01 30 */ lfd f20, 0x130(r4) -/* 8033BCD8 CA A4 01 38 */ lfd f21, 0x138(r4) -/* 8033BCDC CA C4 01 40 */ lfd f22, 0x140(r4) -/* 8033BCE0 CA E4 01 48 */ lfd f23, 0x148(r4) -/* 8033BCE4 CB 04 01 50 */ lfd f24, 0x150(r4) -/* 8033BCE8 CB 24 01 58 */ lfd f25, 0x158(r4) -/* 8033BCEC CB 44 01 60 */ lfd f26, 0x160(r4) -/* 8033BCF0 CB 64 01 68 */ lfd f27, 0x168(r4) -/* 8033BCF4 CB 84 01 70 */ lfd f28, 0x170(r4) -/* 8033BCF8 CB A4 01 78 */ lfd f29, 0x178(r4) -/* 8033BCFC CB C4 01 80 */ lfd f30, 0x180(r4) -/* 8033BD00 CB E4 01 88 */ lfd f31, 0x188(r4) -lbl_8033BD04: -/* 8033BD04 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSContext/__OSSaveFPUContext.s b/asm/dolphin/os/OSContext/__OSSaveFPUContext.s deleted file mode 100644 index e2eedc40cc..0000000000 --- a/asm/dolphin/os/OSContext/__OSSaveFPUContext.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_8033BD08: -/* 8033BD08 A0 65 01 A2 */ lhz r3, 0x1a2(r5) -/* 8033BD0C 60 63 00 01 */ ori r3, r3, 1 -/* 8033BD10 B0 65 01 A2 */ sth r3, 0x1a2(r5) -/* 8033BD14 D8 05 00 90 */ stfd f0, 0x90(r5) -/* 8033BD18 D8 25 00 98 */ stfd f1, 0x98(r5) -/* 8033BD1C D8 45 00 A0 */ stfd f2, 0xa0(r5) -/* 8033BD20 D8 65 00 A8 */ stfd f3, 0xa8(r5) -/* 8033BD24 D8 85 00 B0 */ stfd f4, 0xb0(r5) -/* 8033BD28 D8 A5 00 B8 */ stfd f5, 0xb8(r5) -/* 8033BD2C D8 C5 00 C0 */ stfd f6, 0xc0(r5) -/* 8033BD30 D8 E5 00 C8 */ stfd f7, 0xc8(r5) -/* 8033BD34 D9 05 00 D0 */ stfd f8, 0xd0(r5) -/* 8033BD38 D9 25 00 D8 */ stfd f9, 0xd8(r5) -/* 8033BD3C D9 45 00 E0 */ stfd f10, 0xe0(r5) -/* 8033BD40 D9 65 00 E8 */ stfd f11, 0xe8(r5) -/* 8033BD44 D9 85 00 F0 */ stfd f12, 0xf0(r5) -/* 8033BD48 D9 A5 00 F8 */ stfd f13, 0xf8(r5) -/* 8033BD4C D9 C5 01 00 */ stfd f14, 0x100(r5) -/* 8033BD50 D9 E5 01 08 */ stfd f15, 0x108(r5) -/* 8033BD54 DA 05 01 10 */ stfd f16, 0x110(r5) -/* 8033BD58 DA 25 01 18 */ stfd f17, 0x118(r5) -/* 8033BD5C DA 45 01 20 */ stfd f18, 0x120(r5) -/* 8033BD60 DA 65 01 28 */ stfd f19, 0x128(r5) -/* 8033BD64 DA 85 01 30 */ stfd f20, 0x130(r5) -/* 8033BD68 DA A5 01 38 */ stfd f21, 0x138(r5) -/* 8033BD6C DA C5 01 40 */ stfd f22, 0x140(r5) -/* 8033BD70 DA E5 01 48 */ stfd f23, 0x148(r5) -/* 8033BD74 DB 05 01 50 */ stfd f24, 0x150(r5) -/* 8033BD78 DB 25 01 58 */ stfd f25, 0x158(r5) -/* 8033BD7C DB 45 01 60 */ stfd f26, 0x160(r5) -/* 8033BD80 DB 65 01 68 */ stfd f27, 0x168(r5) -/* 8033BD84 DB 85 01 70 */ stfd f28, 0x170(r5) -/* 8033BD88 DB A5 01 78 */ stfd f29, 0x178(r5) -/* 8033BD8C DB C5 01 80 */ stfd f30, 0x180(r5) -/* 8033BD90 DB E5 01 88 */ stfd f31, 0x188(r5) -/* 8033BD94 FC 00 04 8E */ mffs f0 -/* 8033BD98 D8 05 01 90 */ stfd f0, 0x190(r5) -/* 8033BD9C C8 05 00 90 */ lfd f0, 0x90(r5) -/* 8033BDA0 7C 78 E2 A6 */ mfspr r3, 0x398 -/* 8033BDA4 54 63 1F FF */ rlwinm. r3, r3, 3, 0x1f, 0x1f -/* 8033BDA8 41 82 00 84 */ beq lbl_8033BE2C -/* 8033BDAC F0 05 01 C8 */ psq_st f0, 456(r5), 0, 0 /* qr0 */ -/* 8033BDB0 F0 25 01 D0 */ psq_st f1, 464(r5), 0, 0 /* qr0 */ -/* 8033BDB4 F0 45 01 D8 */ psq_st f2, 472(r5), 0, 0 /* qr0 */ -/* 8033BDB8 F0 65 01 E0 */ psq_st f3, 480(r5), 0, 0 /* qr0 */ -/* 8033BDBC F0 85 01 E8 */ psq_st f4, 488(r5), 0, 0 /* qr0 */ -/* 8033BDC0 F0 A5 01 F0 */ psq_st f5, 496(r5), 0, 0 /* qr0 */ -/* 8033BDC4 F0 C5 01 F8 */ psq_st f6, 504(r5), 0, 0 /* qr0 */ -/* 8033BDC8 F0 E5 02 00 */ psq_st f7, 512(r5), 0, 0 /* qr0 */ -/* 8033BDCC F1 05 02 08 */ psq_st f8, 520(r5), 0, 0 /* qr0 */ -/* 8033BDD0 F1 25 02 10 */ psq_st f9, 528(r5), 0, 0 /* qr0 */ -/* 8033BDD4 F1 45 02 18 */ psq_st f10, 536(r5), 0, 0 /* qr0 */ -/* 8033BDD8 F1 65 02 20 */ psq_st f11, 544(r5), 0, 0 /* qr0 */ -/* 8033BDDC F1 85 02 28 */ psq_st f12, 552(r5), 0, 0 /* qr0 */ -/* 8033BDE0 F1 A5 02 30 */ psq_st f13, 560(r5), 0, 0 /* qr0 */ -/* 8033BDE4 F1 C5 02 38 */ psq_st f14, 568(r5), 0, 0 /* qr0 */ -/* 8033BDE8 F1 E5 02 40 */ psq_st f15, 576(r5), 0, 0 /* qr0 */ -/* 8033BDEC F2 05 02 48 */ psq_st f16, 584(r5), 0, 0 /* qr0 */ -/* 8033BDF0 F2 25 02 50 */ psq_st f17, 592(r5), 0, 0 /* qr0 */ -/* 8033BDF4 F2 45 02 58 */ psq_st f18, 600(r5), 0, 0 /* qr0 */ -/* 8033BDF8 F2 65 02 60 */ psq_st f19, 608(r5), 0, 0 /* qr0 */ -/* 8033BDFC F2 85 02 68 */ psq_st f20, 616(r5), 0, 0 /* qr0 */ -/* 8033BE00 F2 A5 02 70 */ psq_st f21, 624(r5), 0, 0 /* qr0 */ -/* 8033BE04 F2 C5 02 78 */ psq_st f22, 632(r5), 0, 0 /* qr0 */ -/* 8033BE08 F2 E5 02 80 */ psq_st f23, 640(r5), 0, 0 /* qr0 */ -/* 8033BE0C F3 05 02 88 */ psq_st f24, 648(r5), 0, 0 /* qr0 */ -/* 8033BE10 F3 25 02 90 */ psq_st f25, 656(r5), 0, 0 /* qr0 */ -/* 8033BE14 F3 45 02 98 */ psq_st f26, 664(r5), 0, 0 /* qr0 */ -/* 8033BE18 F3 65 02 A0 */ psq_st f27, 672(r5), 0, 0 /* qr0 */ -/* 8033BE1C F3 85 02 A8 */ psq_st f28, 680(r5), 0, 0 /* qr0 */ -/* 8033BE20 F3 A5 02 B0 */ psq_st f29, 688(r5), 0, 0 /* qr0 */ -/* 8033BE24 F3 C5 02 B8 */ psq_st f30, 696(r5), 0, 0 /* qr0 */ -/* 8033BE28 F3 E5 02 C0 */ psq_st f31, 704(r5), 0, 0 /* qr0 */ -lbl_8033BE2C: -/* 8033BE2C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSError/__OSUnhandledException.s b/asm/dolphin/os/OSError/__OSUnhandledException.s index 34cf0d4bb4..82beede028 100644 --- a/asm/dolphin/os/OSError/__OSUnhandledException.s +++ b/asm/dolphin/os/OSError/__OSUnhandledException.s @@ -186,7 +186,7 @@ lbl_8033CA4C: /* 8033CA54 4C C6 31 82 */ crclr 6 /* 8033CA58 80 AD 90 F4 */ lwz r5, __OSLastInterruptSrr0(r13) /* 8033CA5C 80 ED 91 00 */ lwz r7, __OSLastInterruptTime(r13) -/* 8033CA60 81 0D 91 04 */ lwz r8, data_80451684(r13) +/* 8033CA60 81 0D 91 04 */ lwz r8, __OSLastInterruptTime+0x4(r13) /* 8033CA64 4B CC A0 59 */ bl OSReport /* 8033CA68 4B FF D2 99 */ bl PPCHalt /* 8033CA6C BA C1 00 18 */ lmw r22, 0x18(r1) diff --git a/asm/dolphin/os/OSExec/Callback.s b/asm/dolphin/os/OSExec/Callback.s deleted file mode 100644 index cd7d3312bf..0000000000 --- a/asm/dolphin/os/OSExec/Callback.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8033CCB0: -/* 8033CCB0 38 00 00 01 */ li r0, 1 -/* 8033CCB4 90 0D 90 D8 */ stw r0, Prepared(r13) -/* 8033CCB8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSExec/Run.s b/asm/dolphin/os/OSExec/Run.s deleted file mode 100644 index b307434518..0000000000 --- a/asm/dolphin/os/OSExec/Run.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8033CC08: -/* 8033CC08 7C 08 02 A6 */ mflr r0 -/* 8033CC0C 90 01 00 04 */ stw r0, 4(r1) -/* 8033CC10 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8033CC14 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8033CC18 7C 7F 1B 78 */ mr r31, r3 -/* 8033CC1C 4B FF EA A9 */ bl ICFlashInvalidate -/* 8033CC20 7C 00 04 AC */ sync -/* 8033CC24 4C 00 01 2C */ isync -/* 8033CC28 7F E8 03 A6 */ mtlr r31 -/* 8033CC2C 4E 80 00 20 */ blr -/* 8033CC30 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8033CC34 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8033CC38 38 21 00 18 */ addi r1, r1, 0x18 -/* 8033CC3C 7C 08 03 A6 */ mtlr r0 -/* 8033CC40 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s b/asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s deleted file mode 100644 index 4eb75782ca..0000000000 --- a/asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8033DF10: -/* 8033DF10 90 04 00 00 */ stw r0, 0(r4) -/* 8033DF14 90 24 00 04 */ stw r1, 4(r4) -/* 8033DF18 90 44 00 08 */ stw r2, 8(r4) -/* 8033DF1C BC C4 00 18 */ stmw r6, 0x18(r4) -/* 8033DF20 7C 11 E2 A6 */ mfspr r0, 0x391 -/* 8033DF24 90 04 01 A8 */ stw r0, 0x1a8(r4) -/* 8033DF28 7C 12 E2 A6 */ mfspr r0, 0x392 -/* 8033DF2C 90 04 01 AC */ stw r0, 0x1ac(r4) -/* 8033DF30 7C 13 E2 A6 */ mfspr r0, 0x393 -/* 8033DF34 90 04 01 B0 */ stw r0, 0x1b0(r4) -/* 8033DF38 7C 14 E2 A6 */ mfspr r0, 0x394 -/* 8033DF3C 90 04 01 B4 */ stw r0, 0x1b4(r4) -/* 8033DF40 7C 15 E2 A6 */ mfspr r0, 0x395 -/* 8033DF44 90 04 01 B8 */ stw r0, 0x1b8(r4) -/* 8033DF48 7C 16 E2 A6 */ mfspr r0, 0x396 -/* 8033DF4C 90 04 01 BC */ stw r0, 0x1bc(r4) -/* 8033DF50 7C 17 E2 A6 */ mfspr r0, 0x397 -/* 8033DF54 90 04 01 C0 */ stw r0, 0x1c0(r4) -/* 8033DF58 94 21 FF F8 */ stwu r1, -8(r1) -/* 8033DF5C 4B FF FC 70 */ b __OSDispatchInterrupt diff --git a/asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s b/asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s deleted file mode 100644 index fdc8a7f532..0000000000 --- a/asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8033D6F4: -/* 8033D6F4 7C 60 00 A6 */ mfmsr r3 -/* 8033D6F8 54 64 04 5E */ rlwinm r4, r3, 0, 0x11, 0xf -/* 8033D6FC 7C 80 01 24 */ mtmsr r4 diff --git a/asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s b/asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s deleted file mode 100644 index b0ce87c01c..0000000000 --- a/asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033D708: -/* 8033D708 7C 60 00 A6 */ mfmsr r3 -/* 8033D70C 60 64 80 00 */ ori r4, r3, 0x8000 -/* 8033D710 7C 80 01 24 */ mtmsr r4 -/* 8033D714 54 63 8F FE */ rlwinm r3, r3, 0x11, 0x1f, 0x1f -/* 8033D718 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s b/asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s deleted file mode 100644 index 453a38bce0..0000000000 --- a/asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8033D71C: -/* 8033D71C 2C 03 00 00 */ cmpwi r3, 0 -/* 8033D720 7C 80 00 A6 */ mfmsr r4 -/* 8033D724 41 82 00 0C */ beq lbl_8033D730 -/* 8033D728 60 85 80 00 */ ori r5, r4, 0x8000 -/* 8033D72C 48 00 00 08 */ b lbl_8033D734 -lbl_8033D730: -/* 8033D730 54 85 04 5E */ rlwinm r5, r4, 0, 0x11, 0xf -lbl_8033D734: -/* 8033D734 7C A0 01 24 */ mtmsr r5 -/* 8033D738 54 83 8F FE */ rlwinm r3, r4, 0x11, 0x1f, 0x1f -/* 8033D73C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s b/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s index a288371fc2..57410c3a73 100644 --- a/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s +++ b/asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s @@ -218,7 +218,7 @@ lbl_8033DE90: /* 8033DEA8 40 81 00 1C */ ble lbl_8033DEC4 /* 8033DEAC B3 AD 90 F8 */ sth r29, __OSLastInterrupt(r13) /* 8033DEB0 48 00 48 4D */ bl OSGetTime -/* 8033DEB4 90 8D 91 04 */ stw r4, data_80451684(r13) +/* 8033DEB4 90 8D 91 04 */ stw r4, __OSLastInterruptTime+0x4(r13) /* 8033DEB8 90 6D 91 00 */ stw r3, __OSLastInterruptTime(r13) /* 8033DEBC 80 1E 01 98 */ lwz r0, 0x198(r30) /* 8033DEC0 90 0D 90 F4 */ stw r0, __OSLastInterruptSrr0(r13) diff --git a/asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s b/asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s deleted file mode 100644 index b64dc0bd34..0000000000 --- a/asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033D75C: -/* 8033D75C 7C 60 07 34 */ extsh r0, r3 -/* 8033D760 80 6D 90 F0 */ lwz r3, InterruptHandlerTable(r13) -/* 8033D764 54 00 10 3A */ slwi r0, r0, 2 -/* 8033D768 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8033D76C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s b/asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s deleted file mode 100644 index 788410d766..0000000000 --- a/asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8033D740: -/* 8033D740 7C 60 07 34 */ extsh r0, r3 -/* 8033D744 80 6D 90 F0 */ lwz r3, InterruptHandlerTable(r13) -/* 8033D748 54 00 10 3A */ slwi r0, r0, 2 -/* 8033D74C 7C A3 02 14 */ add r5, r3, r0 -/* 8033D750 80 65 00 00 */ lwz r3, 0(r5) -/* 8033D754 90 85 00 00 */ stw r4, 0(r5) -/* 8033D758 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s b/asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s deleted file mode 100644 index 0fcf5ca47a..0000000000 --- a/asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8033D700: -/* 8033D700 54 63 8F FE */ rlwinm r3, r3, 0x11, 0x1f, 0x1f -/* 8033D704 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSLink/OSSetStringTable.s b/asm/dolphin/os/OSLink/OSSetStringTable.s deleted file mode 100644 index cc6d13dc11..0000000000 --- a/asm/dolphin/os/OSLink/OSSetStringTable.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8033DF68: -/* 8033DF68 3C 80 80 00 */ lis r4, 0x8000 /* 0x800030D0@ha */ -/* 8033DF6C 90 64 30 D0 */ stw r3, 0x30D0(r4) /* 0x800030D0@l */ -/* 8033DF70 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSLink/__OSModuleInit.s b/asm/dolphin/os/OSLink/__OSModuleInit.s deleted file mode 100644 index 6933d55f1f..0000000000 --- a/asm/dolphin/os/OSLink/__OSModuleInit.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8033E97C: -/* 8033E97C 3C 80 80 00 */ lis r4, 0x8000 /* 0x800030CC@ha */ -/* 8033E980 38 00 00 00 */ li r0, 0 -/* 8033E984 90 04 30 CC */ stw r0, 0x30CC(r4) /* 0x800030CC@l */ -/* 8033E988 90 04 30 C8 */ stw r0, 0x30c8(r4) -/* 8033E98C 90 04 30 D0 */ stw r0, 0x30d0(r4) -/* 8033E990 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSMemory/Config24MB.s b/asm/dolphin/os/OSMemory/Config24MB.s deleted file mode 100644 index 4655295d35..0000000000 --- a/asm/dolphin/os/OSMemory/Config24MB.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8033EDD8: -/* 8033EDD8 38 E0 00 00 */ li r7, 0 -/* 8033EDDC 3C 80 00 00 */ lis r4, 0x0000 /* 0x00000002@ha */ -/* 8033EDE0 38 84 00 02 */ addi r4, r4, 0x0002 /* 0x00000002@l */ -/* 8033EDE4 3C 60 80 00 */ lis r3, 0x8000 /* 0x800001FF@ha */ -/* 8033EDE8 38 63 01 FF */ addi r3, r3, 0x01FF /* 0x800001FF@l */ -/* 8033EDEC 3C C0 01 00 */ lis r6, 0x0100 /* 0x01000002@ha */ -/* 8033EDF0 38 C6 00 02 */ addi r6, r6, 0x0002 /* 0x01000002@l */ -/* 8033EDF4 3C A0 81 00 */ lis r5, 0x8100 /* 0x810000FF@ha */ -/* 8033EDF8 38 A5 00 FF */ addi r5, r5, 0x00FF /* 0x810000FF@l */ -/* 8033EDFC 4C 00 01 2C */ isync -/* 8033EE00 7C F8 83 A6 */ mtdbatu 0, r7 -/* 8033EE04 7C 99 83 A6 */ mtdbatl 0, r4 -/* 8033EE08 7C 78 83 A6 */ mtdbatu 0, r3 -/* 8033EE0C 4C 00 01 2C */ isync -/* 8033EE10 7C F0 83 A6 */ mtibatu 0, r7 -/* 8033EE14 7C 91 83 A6 */ mtibatl 0, r4 -/* 8033EE18 7C 70 83 A6 */ mtibatu 0, r3 -/* 8033EE1C 4C 00 01 2C */ isync -/* 8033EE20 7C FC 83 A6 */ mtdbatu 2, r7 -/* 8033EE24 7C DD 83 A6 */ mtdbatl 2, r6 -/* 8033EE28 7C BC 83 A6 */ mtdbatu 2, r5 -/* 8033EE2C 4C 00 01 2C */ isync -/* 8033EE30 7C F4 83 A6 */ mtibatu 2, r7 -/* 8033EE34 7C D5 83 A6 */ mtibatl 2, r6 -/* 8033EE38 7C B4 83 A6 */ mtibatu 2, r5 -/* 8033EE3C 4C 00 01 2C */ isync -/* 8033EE40 7C 60 00 A6 */ mfmsr r3 -/* 8033EE44 60 63 00 30 */ ori r3, r3, 0x30 -/* 8033EE48 7C 7B 03 A6 */ mtspr 0x1b, r3 -/* 8033EE4C 7C 68 02 A6 */ mflr r3 -/* 8033EE50 7C 7A 03 A6 */ mtspr 0x1a, r3 -/* 8033EE54 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OSMemory/Config48MB.s b/asm/dolphin/os/OSMemory/Config48MB.s deleted file mode 100644 index 8b62804522..0000000000 --- a/asm/dolphin/os/OSMemory/Config48MB.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8033EE58: -/* 8033EE58 38 E0 00 00 */ li r7, 0 -/* 8033EE5C 3C 80 00 00 */ lis r4, 0x0000 /* 0x00000002@ha */ -/* 8033EE60 38 84 00 02 */ addi r4, r4, 0x0002 /* 0x00000002@l */ -/* 8033EE64 3C 60 80 00 */ lis r3, 0x8000 /* 0x800003FF@ha */ -/* 8033EE68 38 63 03 FF */ addi r3, r3, 0x03FF /* 0x800003FF@l */ -/* 8033EE6C 3C C0 02 00 */ lis r6, 0x0200 /* 0x02000002@ha */ -/* 8033EE70 38 C6 00 02 */ addi r6, r6, 0x0002 /* 0x02000002@l */ -/* 8033EE74 3C A0 82 00 */ lis r5, 0x8200 /* 0x820001FF@ha */ -/* 8033EE78 38 A5 01 FF */ addi r5, r5, 0x01FF /* 0x820001FF@l */ -/* 8033EE7C 4C 00 01 2C */ isync -/* 8033EE80 7C F8 83 A6 */ mtdbatu 0, r7 -/* 8033EE84 7C 99 83 A6 */ mtdbatl 0, r4 -/* 8033EE88 7C 78 83 A6 */ mtdbatu 0, r3 -/* 8033EE8C 4C 00 01 2C */ isync -/* 8033EE90 7C F0 83 A6 */ mtibatu 0, r7 -/* 8033EE94 7C 91 83 A6 */ mtibatl 0, r4 -/* 8033EE98 7C 70 83 A6 */ mtibatu 0, r3 -/* 8033EE9C 4C 00 01 2C */ isync -/* 8033EEA0 7C FC 83 A6 */ mtdbatu 2, r7 -/* 8033EEA4 7C DD 83 A6 */ mtdbatl 2, r6 -/* 8033EEA8 7C BC 83 A6 */ mtdbatu 2, r5 -/* 8033EEAC 4C 00 01 2C */ isync -/* 8033EEB0 7C F4 83 A6 */ mtibatu 2, r7 -/* 8033EEB4 7C D5 83 A6 */ mtibatl 2, r6 -/* 8033EEB8 7C B4 83 A6 */ mtibatu 2, r5 -/* 8033EEBC 4C 00 01 2C */ isync -/* 8033EEC0 7C 60 00 A6 */ mfmsr r3 -/* 8033EEC4 60 63 00 30 */ ori r3, r3, 0x30 -/* 8033EEC8 7C 7B 03 A6 */ mtspr 0x1b, r3 -/* 8033EECC 7C 68 02 A6 */ mflr r3 -/* 8033EED0 7C 7A 03 A6 */ mtspr 0x1a, r3 -/* 8033EED4 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OSMemory/RealMode.s b/asm/dolphin/os/OSMemory/RealMode.s deleted file mode 100644 index a6e39168d6..0000000000 --- a/asm/dolphin/os/OSMemory/RealMode.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8033EED8: -/* 8033EED8 54 63 00 BE */ clrlwi r3, r3, 2 -/* 8033EEDC 7C 7A 03 A6 */ mtspr 0x1a, r3 -/* 8033EEE0 7C 60 00 A6 */ mfmsr r3 -/* 8033EEE4 54 63 07 32 */ rlwinm r3, r3, 0, 0x1c, 0x19 -/* 8033EEE8 7C 7B 03 A6 */ mtspr 0x1b, r3 -/* 8033EEEC 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OSReboot/OSGetSaveRegion.s b/asm/dolphin/os/OSReboot/OSGetSaveRegion.s deleted file mode 100644 index cd09f28f55..0000000000 --- a/asm/dolphin/os/OSReboot/OSGetSaveRegion.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8033F64C: -/* 8033F64C 80 0D 91 08 */ lwz r0, SaveStart(r13) -/* 8033F650 90 03 00 00 */ stw r0, 0(r3) -/* 8033F654 80 0D 91 0C */ lwz r0, SaveEnd(r13) -/* 8033F658 90 04 00 00 */ stw r0, 0(r4) -/* 8033F65C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSReboot/OSSetSaveRegion.s b/asm/dolphin/os/OSReboot/OSSetSaveRegion.s deleted file mode 100644 index 8e9f846fdc..0000000000 --- a/asm/dolphin/os/OSReboot/OSSetSaveRegion.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8033F640: -/* 8033F640 90 6D 91 08 */ stw r3, SaveStart(r13) -/* 8033F644 90 8D 91 0C */ stw r4, SaveEnd(r13) -/* 8033F648 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSReset/Reset.s b/asm/dolphin/os/OSReset/Reset.s deleted file mode 100644 index 87d9fd15e2..0000000000 --- a/asm/dolphin/os/OSReset/Reset.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8033F78C: -/* 8033F78C 48 00 00 20 */ b lbl_8033F7AC -lbl_8033F790: -/* 8033F790 7D 10 FA A6 */ mfspr r8, 0x3f0 -/* 8033F794 61 08 00 08 */ ori r8, r8, 8 -/* 8033F798 7D 10 FB A6 */ mtspr 0x3f0, r8 -/* 8033F79C 4C 00 01 2C */ isync -/* 8033F7A0 7C 00 04 AC */ sync -/* 8033F7A4 60 00 00 00 */ nop -/* 8033F7A8 48 00 00 08 */ b lbl_8033F7B0 -lbl_8033F7AC: -/* 8033F7AC 48 00 00 20 */ b lbl_8033F7CC -lbl_8033F7B0: -/* 8033F7B0 7C AC 42 E6 */ mftb r5, 0x10c -lbl_8033F7B4: -/* 8033F7B4 7C CC 42 E6 */ mftb r6, 0x10c -/* 8033F7B8 7C E5 30 50 */ subf r7, r5, r6 -/* 8033F7BC 28 07 11 24 */ cmplwi r7, 0x1124 -/* 8033F7C0 41 80 FF F4 */ blt lbl_8033F7B4 -/* 8033F7C4 60 00 00 00 */ nop -/* 8033F7C8 48 00 00 08 */ b lbl_8033F7D0 -lbl_8033F7CC: -/* 8033F7CC 48 00 00 20 */ b lbl_8033F7EC -lbl_8033F7D0: -/* 8033F7D0 3D 00 CC 00 */ lis r8, 0xCC00 /* 0xCC003000@h */ -/* 8033F7D4 61 08 30 00 */ ori r8, r8, 0x3000 /* 0xCC003000@l */ -/* 8033F7D8 38 80 00 03 */ li r4, 3 -/* 8033F7DC 90 88 00 24 */ stw r4, 0x24(r8) -/* 8033F7E0 90 68 00 24 */ stw r3, 0x24(r8) -/* 8033F7E4 60 00 00 00 */ nop -/* 8033F7E8 48 00 00 08 */ b lbl_8033F7F0 -lbl_8033F7EC: -/* 8033F7EC 48 00 00 0C */ b lbl_8033F7F8 -lbl_8033F7F0: -/* 8033F7F0 60 00 00 00 */ nop -/* 8033F7F4 4B FF FF FC */ b lbl_8033F7F0 -lbl_8033F7F8: -/* 8033F7F8 4B FF FF 98 */ b lbl_8033F790 diff --git a/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s b/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s index 2c7a55ff47..c774a6f3be 100644 --- a/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s +++ b/asm/dolphin/os/OSResetSW/OSGetResetButtonState.s @@ -129,7 +129,7 @@ lbl_8033FD98: /* 8033FDA8 41 82 00 A0 */ beq lbl_8033FE48 /* 8033FDAC 1D 40 00 3C */ mulli r10, r0, 0x3c /* 8033FDB0 80 05 00 F8 */ lwz r0, 0xf8(r5) -/* 8033FDB4 81 2D 90 B4 */ lwz r9, data_80451634(r13) +/* 8033FDB4 81 2D 90 B4 */ lwz r9, __OSStartTime+0x4(r13) /* 8033FDB8 81 0D 90 B0 */ lwz r8, __OSStartTime(r13) /* 8033FDBC 54 06 F0 BE */ srwi r6, r0, 2 /* 8033FDC0 7D 40 FE 70 */ srawi r0, r10, 0x1f diff --git a/asm/dolphin/os/OSSync/SystemCallVector.s b/asm/dolphin/os/OSSync/SystemCallVector.s deleted file mode 100644 index 85a863a4b9..0000000000 --- a/asm/dolphin/os/OSSync/SystemCallVector.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80340A20: -/* 80340A20 7D 30 FA A6 */ mfspr r9, 0x3f0 -/* 80340A24 61 2A 00 08 */ ori r10, r9, 8 -/* 80340A28 7D 50 FB A6 */ mtspr 0x3f0, r10 -/* 80340A2C 4C 00 01 2C */ isync -/* 80340A30 7C 00 04 AC */ sync -/* 80340A34 7D 30 FB A6 */ mtspr 0x3f0, r9 -/* 80340A38 4C 00 00 64 */ rfi diff --git a/asm/dolphin/os/OSSync/__OSSystemCallVectorEnd.s b/asm/dolphin/os/OSSync/__OSSystemCallVectorEnd.s deleted file mode 100644 index d6880a262f..0000000000 --- a/asm/dolphin/os/OSSync/__OSSystemCallVectorEnd.s +++ /dev/null @@ -1,2 +0,0 @@ -lbl_80340A3C: -/* 80340A3C 60 00 00 00 */ nop diff --git a/asm/dolphin/os/OSThread/OSGetCurrentThread.s b/asm/dolphin/os/OSThread/OSGetCurrentThread.s deleted file mode 100644 index 44503b4718..0000000000 --- a/asm/dolphin/os/OSThread/OSGetCurrentThread.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80340C84: -/* 80340C84 3C 60 80 00 */ lis r3, 0x8000 /* 0x800000E4@ha */ -/* 80340C88 80 63 00 E4 */ lwz r3, 0x00E4(r3) /* 0x800000E4@l */ -/* 80340C8C 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSGetThreadPriority.s b/asm/dolphin/os/OSThread/OSGetThreadPriority.s deleted file mode 100644 index f6ee7d0007..0000000000 --- a/asm/dolphin/os/OSThread/OSGetThreadPriority.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80341E5C: -/* 80341E5C 80 63 02 D4 */ lwz r3, 0x2d4(r3) -/* 80341E60 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSInitThreadQueue.s b/asm/dolphin/os/OSThread/OSInitThreadQueue.s deleted file mode 100644 index fd6c864bd1..0000000000 --- a/asm/dolphin/os/OSThread/OSInitThreadQueue.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80340C74: -/* 80340C74 38 00 00 00 */ li r0, 0 -/* 80340C78 90 03 00 04 */ stw r0, 4(r3) -/* 80340C7C 90 03 00 00 */ stw r0, 0(r3) -/* 80340C80 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/OSIsThreadTerminated.s b/asm/dolphin/os/OSThread/OSIsThreadTerminated.s deleted file mode 100644 index 718902b983..0000000000 --- a/asm/dolphin/os/OSThread/OSIsThreadTerminated.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80340C90: -/* 80340C90 A0 63 02 C8 */ lhz r3, 0x2c8(r3) -/* 80340C94 38 00 00 01 */ li r0, 1 -/* 80340C98 28 03 00 08 */ cmplwi r3, 8 -/* 80340C9C 41 82 00 10 */ beq lbl_80340CAC -/* 80340CA0 28 03 00 00 */ cmplwi r3, 0 -/* 80340CA4 41 82 00 08 */ beq lbl_80340CAC -/* 80340CA8 38 00 00 00 */ li r0, 0 -lbl_80340CAC: -/* 80340CAC 2C 00 00 00 */ cmpwi r0, 0 -/* 80340CB0 41 82 00 0C */ beq lbl_80340CBC -/* 80340CB4 38 60 00 01 */ li r3, 1 -/* 80340CB8 4E 80 00 20 */ blr -lbl_80340CBC: -/* 80340CBC 38 60 00 00 */ li r3, 0 -/* 80340CC0 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/UnsetRun.s b/asm/dolphin/os/OSThread/UnsetRun.s deleted file mode 100644 index 705aad3868..0000000000 --- a/asm/dolphin/os/OSThread/UnsetRun.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80340D44: -/* 80340D44 80 83 02 E0 */ lwz r4, 0x2e0(r3) -/* 80340D48 80 A3 02 DC */ lwz r5, 0x2dc(r3) -/* 80340D4C 28 04 00 00 */ cmplwi r4, 0 -/* 80340D50 80 C3 02 E4 */ lwz r6, 0x2e4(r3) -/* 80340D54 40 82 00 0C */ bne lbl_80340D60 -/* 80340D58 90 C5 00 04 */ stw r6, 4(r5) -/* 80340D5C 48 00 00 08 */ b lbl_80340D64 -lbl_80340D60: -/* 80340D60 90 C4 02 E4 */ stw r6, 0x2e4(r4) -lbl_80340D64: -/* 80340D64 28 06 00 00 */ cmplwi r6, 0 -/* 80340D68 40 82 00 0C */ bne lbl_80340D74 -/* 80340D6C 90 85 00 00 */ stw r4, 0(r5) -/* 80340D70 48 00 00 08 */ b lbl_80340D78 -lbl_80340D74: -/* 80340D74 90 86 02 E0 */ stw r4, 0x2e0(r6) -lbl_80340D78: -/* 80340D78 80 05 00 00 */ lwz r0, 0(r5) -/* 80340D7C 28 00 00 00 */ cmplwi r0, 0 -/* 80340D80 40 82 00 20 */ bne lbl_80340DA0 -/* 80340D84 80 03 02 D0 */ lwz r0, 0x2d0(r3) -/* 80340D88 38 80 00 01 */ li r4, 1 -/* 80340D8C 80 AD 91 40 */ lwz r5, RunQueueBits(r13) -/* 80340D90 20 00 00 1F */ subfic r0, r0, 0x1f -/* 80340D94 7C 80 00 30 */ slw r0, r4, r0 -/* 80340D98 7C A0 00 78 */ andc r0, r5, r0 -/* 80340D9C 90 0D 91 40 */ stw r0, RunQueueBits(r13) -lbl_80340DA0: -/* 80340DA0 38 00 00 00 */ li r0, 0 -/* 80340DA4 90 03 02 DC */ stw r0, 0x2dc(r3) -/* 80340DA8 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSThread/__OSGetEffectivePriority.s b/asm/dolphin/os/OSThread/__OSGetEffectivePriority.s deleted file mode 100644 index 1a801ddc4a..0000000000 --- a/asm/dolphin/os/OSThread/__OSGetEffectivePriority.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80340DAC: -/* 80340DAC 80 83 02 D4 */ lwz r4, 0x2d4(r3) -/* 80340DB0 80 A3 02 F4 */ lwz r5, 0x2f4(r3) -/* 80340DB4 48 00 00 24 */ b lbl_80340DD8 -lbl_80340DB8: -/* 80340DB8 80 65 00 00 */ lwz r3, 0(r5) -/* 80340DBC 28 03 00 00 */ cmplwi r3, 0 -/* 80340DC0 41 82 00 14 */ beq lbl_80340DD4 -/* 80340DC4 80 03 02 D0 */ lwz r0, 0x2d0(r3) -/* 80340DC8 7C 00 20 00 */ cmpw r0, r4 -/* 80340DCC 40 80 00 08 */ bge lbl_80340DD4 -/* 80340DD0 7C 04 03 78 */ mr r4, r0 -lbl_80340DD4: -/* 80340DD4 80 A5 00 10 */ lwz r5, 0x10(r5) -lbl_80340DD8: -/* 80340DD8 28 05 00 00 */ cmplwi r5, 0 -/* 80340DDC 40 82 FF DC */ bne lbl_80340DB8 -/* 80340DE0 7C 83 23 78 */ mr r3, r4 -/* 80340DE4 4E 80 00 20 */ blr diff --git a/asm/dolphin/os/OSTime/OSGetTime.s b/asm/dolphin/os/OSTime/OSGetTime.s deleted file mode 100644 index 68dda67e66..0000000000 --- a/asm/dolphin/os/OSTime/OSGetTime.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_803426FC: -/* 803426FC 7C 6D 42 E6 */ mftbu r3 -/* 80342700 7C 8C 42 E6 */ mftb r4, 0x10c -/* 80342704 7C AD 42 E6 */ mftbu r5 -/* 80342708 7C 03 28 00 */ cmpw r3, r5 -/* 8034270C 40 82 FF F0 */ bne OSGetTime -/* 80342710 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionCheck__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/actionCheck__10daAlldie_cFv.s deleted file mode 100644 index 05b870da2a..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionCheck__10daAlldie_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_804D5838: -/* 804D5838 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D583C 7C 08 02 A6 */ mflr r0 -/* 804D5840 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5844 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804D5848 7C 7F 1B 78 */ mr r31, r3 -/* 804D584C 88 03 04 E2 */ lbz r0, 0x4e2(r3) -/* 804D5850 7C 03 07 74 */ extsb r3, r0 -/* 804D5854 4B B4 71 C9 */ bl fopAcM_myRoomSearchEnemy__FSc -/* 804D5858 28 03 00 00 */ cmplwi r3, 0 -/* 804D585C 40 82 00 14 */ bne lbl_804D5870 -/* 804D5860 38 00 00 02 */ li r0, 2 -/* 804D5864 98 1F 05 68 */ stb r0, 0x568(r31) -/* 804D5868 38 00 00 41 */ li r0, 0x41 -/* 804D586C B0 1F 05 6A */ sth r0, 0x56a(r31) -lbl_804D5870: -/* 804D5870 38 60 00 01 */ li r3, 1 -/* 804D5874 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804D5878 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D587C 7C 08 03 A6 */ mtlr r0 -/* 804D5880 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5884 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionEvent__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/actionEvent__10daAlldie_cFv.s deleted file mode 100644 index f460e05dce..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionEvent__10daAlldie_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_804D59A0: -/* 804D59A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D59A4 7C 08 02 A6 */ mflr r0 -/* 804D59A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D59AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804D59B0 93 C1 00 08 */ stw r30, 8(r1) -/* 804D59B4 7C 7E 1B 78 */ mr r30, r3 -/* 804D59B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D59BC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D59C0 38 7F 4F F8 */ addi r3, r31, 0x4ff8 -/* 804D59C4 A8 9E 05 6C */ lha r4, 0x56c(r30) -/* 804D59C8 4B B7 20 B1 */ bl endCheck__16dEvent_manager_cFs -/* 804D59CC 2C 03 00 00 */ cmpwi r3, 0 -/* 804D59D0 41 82 00 58 */ beq lbl_804D5A28 -/* 804D59D4 38 7F 4E C8 */ addi r3, r31, 0x4ec8 -/* 804D59D8 4B B6 CA 91 */ bl reset__14dEvt_control_cFv -/* 804D59DC A8 1E 05 6E */ lha r0, 0x56e(r30) -/* 804D59E0 2C 00 FF FF */ cmpwi r0, -1 -/* 804D59E4 41 82 00 34 */ beq lbl_804D5A18 -/* 804D59E8 38 00 00 04 */ li r0, 4 -/* 804D59EC 98 1E 05 68 */ stb r0, 0x568(r30) -/* 804D59F0 7F C3 F3 78 */ mr r3, r30 -/* 804D59F4 A8 9E 05 6E */ lha r4, 0x56e(r30) -/* 804D59F8 A8 1E 05 70 */ lha r0, 0x570(r30) -/* 804D59FC 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 804D5A00 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 804D5A04 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 804D5A08 38 E0 00 00 */ li r7, 0 -/* 804D5A0C 39 00 00 01 */ li r8, 1 -/* 804D5A10 4B B4 5C 6D */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 804D5A14 48 00 00 14 */ b lbl_804D5A28 -lbl_804D5A18: -/* 804D5A18 38 00 00 00 */ li r0, 0 -/* 804D5A1C 98 1E 05 68 */ stb r0, 0x568(r30) -/* 804D5A20 38 00 FF FF */ li r0, -1 -/* 804D5A24 B0 1E 05 70 */ sth r0, 0x570(r30) -lbl_804D5A28: -/* 804D5A28 38 60 00 01 */ li r3, 1 -/* 804D5A2C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804D5A30 83 C1 00 08 */ lwz r30, 8(r1) -/* 804D5A34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5A38 7C 08 03 A6 */ mtlr r0 -/* 804D5A3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5A40 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionNext__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/actionNext__10daAlldie_cFv.s deleted file mode 100644 index ce7bd3100e..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionNext__10daAlldie_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_804D5A44: -/* 804D5A44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D5A48 7C 08 02 A6 */ mflr r0 -/* 804D5A4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5A50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804D5A54 7C 7F 1B 78 */ mr r31, r3 -/* 804D5A58 A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 804D5A5C 28 00 00 02 */ cmplwi r0, 2 -/* 804D5A60 40 82 00 78 */ bne lbl_804D5AD8 -/* 804D5A64 A8 1F 05 6E */ lha r0, 0x56e(r31) -/* 804D5A68 B0 1F 05 6C */ sth r0, 0x56c(r31) -/* 804D5A6C 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 804D5A70 7C 04 07 74 */ extsb r4, r0 -/* 804D5A74 38 00 FF FF */ li r0, -1 -/* 804D5A78 B0 1F 05 6E */ sth r0, 0x56e(r31) -/* 804D5A7C A8 1F 05 70 */ lha r0, 0x570(r31) -/* 804D5A80 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 804D5A84 4B B6 DA 7D */ bl searchMapEventData__14dEvt_control_cFUcl -/* 804D5A88 28 03 00 00 */ cmplwi r3, 0 -/* 804D5A8C 41 82 00 30 */ beq lbl_804D5ABC -/* 804D5A90 88 03 00 05 */ lbz r0, 5(r3) -/* 804D5A94 B0 1F 05 70 */ sth r0, 0x570(r31) -/* 804D5A98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D5A9C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5AA0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 804D5AA4 7F E4 FB 78 */ mr r4, r31 -/* 804D5AA8 A8 1F 05 70 */ lha r0, 0x570(r31) -/* 804D5AAC 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 804D5AB0 4B B7 1B E9 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc -/* 804D5AB4 B0 7F 05 6E */ sth r3, 0x56e(r31) -/* 804D5AB8 48 00 00 0C */ b lbl_804D5AC4 -lbl_804D5ABC: -/* 804D5ABC 38 00 FF FF */ li r0, -1 -/* 804D5AC0 B0 1F 05 70 */ sth r0, 0x570(r31) -lbl_804D5AC4: -/* 804D5AC4 38 00 00 05 */ li r0, 5 -/* 804D5AC8 98 1F 05 68 */ stb r0, 0x568(r31) -/* 804D5ACC 7F E3 FB 78 */ mr r3, r31 -/* 804D5AD0 4B FF FE D1 */ bl actionEvent__10daAlldie_cFv -/* 804D5AD4 48 00 00 24 */ b lbl_804D5AF8 -lbl_804D5AD8: -/* 804D5AD8 A8 9F 05 6E */ lha r4, 0x56e(r31) -/* 804D5ADC A8 1F 05 70 */ lha r0, 0x570(r31) -/* 804D5AE0 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 804D5AE4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 804D5AE8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 804D5AEC 38 E0 00 00 */ li r7, 0 -/* 804D5AF0 39 00 00 01 */ li r8, 1 -/* 804D5AF4 4B B4 5B 89 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -lbl_804D5AF8: -/* 804D5AF8 38 60 00 01 */ li r3, 1 -/* 804D5AFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804D5B00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5B04 7C 08 03 A6 */ mtlr r0 -/* 804D5B08 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5B0C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionOrder__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/actionOrder__10daAlldie_cFv.s deleted file mode 100644 index 34a8ee2300..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionOrder__10daAlldie_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_804D5938: -/* 804D5938 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D593C 7C 08 02 A6 */ mflr r0 -/* 804D5940 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5944 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804D5948 7C 7F 1B 78 */ mr r31, r3 -/* 804D594C A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 804D5950 28 00 00 02 */ cmplwi r0, 2 -/* 804D5954 40 82 00 10 */ bne lbl_804D5964 -/* 804D5958 38 00 00 05 */ li r0, 5 -/* 804D595C 98 1F 05 68 */ stb r0, 0x568(r31) -/* 804D5960 48 00 00 28 */ b lbl_804D5988 -lbl_804D5964: -/* 804D5964 4B FF FE B5 */ bl getEventNo__10daAlldie_cFv -/* 804D5968 7C 65 1B 78 */ mr r5, r3 -/* 804D596C 7F E3 FB 78 */ mr r3, r31 -/* 804D5970 A8 9F 05 6C */ lha r4, 0x56c(r31) -/* 804D5974 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 804D5978 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 804D597C 38 E0 00 00 */ li r7, 0 -/* 804D5980 39 00 00 01 */ li r8, 1 -/* 804D5984 4B B4 5C F9 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -lbl_804D5988: -/* 804D5988 38 60 00 01 */ li r3, 1 -/* 804D598C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804D5990 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5994 7C 08 03 A6 */ mtlr r0 -/* 804D5998 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D599C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionTimer__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/actionTimer__10daAlldie_cFv.s deleted file mode 100644 index c465157333..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/actionTimer__10daAlldie_cFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_804D5888: -/* 804D5888 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D588C 7C 08 02 A6 */ mflr r0 -/* 804D5890 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5894 93 E1 00 0C */ stw r31, 0xc(r1) -/* 804D5898 93 C1 00 08 */ stw r30, 8(r1) -/* 804D589C 7C 7E 1B 78 */ mr r30, r3 -/* 804D58A0 88 03 04 E2 */ lbz r0, 0x4e2(r3) -/* 804D58A4 7C 03 07 74 */ extsb r3, r0 -/* 804D58A8 4B B4 71 75 */ bl fopAcM_myRoomSearchEnemy__FSc -/* 804D58AC 28 03 00 00 */ cmplwi r3, 0 -/* 804D58B0 41 82 00 10 */ beq lbl_804D58C0 -/* 804D58B4 38 00 00 01 */ li r0, 1 -/* 804D58B8 98 1E 05 68 */ stb r0, 0x568(r30) -/* 804D58BC 48 00 00 60 */ b lbl_804D591C -lbl_804D58C0: -/* 804D58C0 A8 7E 05 6A */ lha r3, 0x56a(r30) -/* 804D58C4 2C 03 00 00 */ cmpwi r3, 0 -/* 804D58C8 40 81 00 10 */ ble lbl_804D58D8 -/* 804D58CC 38 03 FF FF */ addi r0, r3, -1 -/* 804D58D0 B0 1E 05 6A */ sth r0, 0x56a(r30) -/* 804D58D4 48 00 00 48 */ b lbl_804D591C -lbl_804D58D8: -/* 804D58D8 A8 1E 05 6C */ lha r0, 0x56c(r30) -/* 804D58DC 2C 00 FF FF */ cmpwi r0, -1 -/* 804D58E0 40 82 00 10 */ bne lbl_804D58F0 -/* 804D58E4 38 00 00 00 */ li r0, 0 -/* 804D58E8 98 1E 05 68 */ stb r0, 0x568(r30) -/* 804D58EC 48 00 00 0C */ b lbl_804D58F8 -lbl_804D58F0: -/* 804D58F0 38 00 00 03 */ li r0, 3 -/* 804D58F4 98 1E 05 68 */ stb r0, 0x568(r30) -lbl_804D58F8: -/* 804D58F8 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 804D58FC 7C 1F 07 74 */ extsb r31, r0 -/* 804D5900 7F C3 F3 78 */ mr r3, r30 -/* 804D5904 4B FF FF 21 */ bl getSwbit__10daAlldie_cFv -/* 804D5908 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 804D590C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D5910 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5914 7F E5 FB 78 */ mr r5, r31 -/* 804D5918 4B B5 F8 E9 */ bl onSwitch__10dSv_info_cFii -lbl_804D591C: -/* 804D591C 38 60 00 01 */ li r3, 1 -/* 804D5920 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 804D5924 83 C1 00 08 */ lwz r30, 8(r1) -/* 804D5928 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D592C 7C 08 03 A6 */ mtlr r0 -/* 804D5930 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5934 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 634ea11e18..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,81 +0,0 @@ -lbl_804D5BF0: -/* 804D5BF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 804D5BF4 7C 08 02 A6 */ mflr r0 -/* 804D5BF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 804D5BFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 804D5C00 4B E8 C5 DD */ bl _savegpr_29 -/* 804D5C04 7C 7F 1B 78 */ mr r31, r3 -/* 804D5C08 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 804D5C0C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 804D5C10 40 82 00 1C */ bne lbl_804D5C2C -/* 804D5C14 28 1F 00 00 */ cmplwi r31, 0 -/* 804D5C18 41 82 00 08 */ beq lbl_804D5C20 -/* 804D5C1C 4B B4 2F 49 */ bl __ct__10fopAc_ac_cFv -lbl_804D5C20: -/* 804D5C20 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 804D5C24 60 00 00 08 */ ori r0, r0, 8 -/* 804D5C28 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_804D5C2C: -/* 804D5C2C 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 804D5C30 7C 1E 07 74 */ extsb r30, r0 -/* 804D5C34 7F E3 FB 78 */ mr r3, r31 -/* 804D5C38 4B FF FB ED */ bl getSwbit__10daAlldie_cFv -/* 804D5C3C 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 804D5C40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D5C44 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5C48 7F C5 F3 78 */ mr r5, r30 -/* 804D5C4C 4B B5 F7 15 */ bl isSwitch__10dSv_info_cCFii -/* 804D5C50 2C 03 00 00 */ cmpwi r3, 0 -/* 804D5C54 40 82 00 10 */ bne lbl_804D5C64 -/* 804D5C58 38 00 00 01 */ li r0, 1 -/* 804D5C5C 98 1F 05 68 */ stb r0, 0x568(r31) -/* 804D5C60 48 00 00 0C */ b lbl_804D5C6C -lbl_804D5C64: -/* 804D5C64 38 00 00 00 */ li r0, 0 -/* 804D5C68 98 1F 05 68 */ stb r0, 0x568(r31) -lbl_804D5C6C: -/* 804D5C6C 38 00 00 00 */ li r0, 0 -/* 804D5C70 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 804D5C74 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 804D5C78 B0 1F 04 E0 */ sth r0, 0x4e0(r31) -/* 804D5C7C B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 804D5C80 7F E3 FB 78 */ mr r3, r31 -/* 804D5C84 4B FF FB 95 */ bl getEventNo__10daAlldie_cFv -/* 804D5C88 7C 65 1B 78 */ mr r5, r3 -/* 804D5C8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 804D5C90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 804D5C94 3B A3 4F F8 */ addi r29, r3, 0x4ff8 -/* 804D5C98 7F A3 EB 78 */ mr r3, r29 -/* 804D5C9C 7F E4 FB 78 */ mr r4, r31 -/* 804D5CA0 4B B7 19 F9 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc -/* 804D5CA4 B0 7F 05 6C */ sth r3, 0x56c(r31) -/* 804D5CA8 38 00 FF FF */ li r0, -1 -/* 804D5CAC B0 1F 05 70 */ sth r0, 0x570(r31) -/* 804D5CB0 B0 1F 05 6E */ sth r0, 0x56e(r31) -/* 804D5CB4 7F E3 FB 78 */ mr r3, r31 -/* 804D5CB8 4B FF FB 61 */ bl getEventNo__10daAlldie_cFv -/* 804D5CBC 7F C4 F3 78 */ mr r4, r30 -/* 804D5CC0 4B B6 D8 41 */ bl searchMapEventData__14dEvt_control_cFUcl -/* 804D5CC4 28 03 00 00 */ cmplwi r3, 0 -/* 804D5CC8 41 82 00 24 */ beq lbl_804D5CEC -/* 804D5CCC 88 03 00 05 */ lbz r0, 5(r3) -/* 804D5CD0 B0 1F 05 70 */ sth r0, 0x570(r31) -/* 804D5CD4 7F A3 EB 78 */ mr r3, r29 -/* 804D5CD8 7F E4 FB 78 */ mr r4, r31 -/* 804D5CDC A8 1F 05 70 */ lha r0, 0x570(r31) -/* 804D5CE0 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 804D5CE4 4B B7 19 B5 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc -/* 804D5CE8 B0 7F 05 6E */ sth r3, 0x56e(r31) -lbl_804D5CEC: -/* 804D5CEC A8 1F 05 6C */ lha r0, 0x56c(r31) -/* 804D5CF0 B0 1F 00 FC */ sth r0, 0xfc(r31) -/* 804D5CF4 7F E3 FB 78 */ mr r3, r31 -/* 804D5CF8 4B FF FB 21 */ bl getEventNo__10daAlldie_cFv -/* 804D5CFC 98 7F 00 FE */ stb r3, 0xfe(r31) -/* 804D5D00 38 60 00 04 */ li r3, 4 -/* 804D5D04 39 61 00 20 */ addi r11, r1, 0x20 -/* 804D5D08 4B E8 C5 21 */ bl _restgpr_29 -/* 804D5D0C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 804D5D10 7C 08 03 A6 */ mtlr r0 -/* 804D5D14 38 21 00 20 */ addi r1, r1, 0x20 -/* 804D5D18 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Delete__FP10daAlldie_c.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Delete__FP10daAlldie_c.s deleted file mode 100644 index 4dfd8fe106..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Delete__FP10daAlldie_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_804D5BC0: -/* 804D5BC0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D5BC4 7C 08 02 A6 */ mflr r0 -/* 804D5BC8 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5BCC 28 03 00 00 */ cmplwi r3, 0 -/* 804D5BD0 41 82 00 0C */ beq lbl_804D5BDC -/* 804D5BD4 38 80 00 00 */ li r4, 0 -/* 804D5BD8 4B B4 30 B5 */ bl __dt__10fopAc_ac_cFv -lbl_804D5BDC: -/* 804D5BDC 38 60 00 01 */ li r3, 1 -/* 804D5BE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5BE4 7C 08 03 A6 */ mtlr r0 -/* 804D5BE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5BEC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Execute__FP10daAlldie_c.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Execute__FP10daAlldie_c.s deleted file mode 100644 index 148e1399ce..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Execute__FP10daAlldie_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_804D5B94: -/* 804D5B94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D5B98 7C 08 02 A6 */ mflr r0 -/* 804D5B9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5BA0 4B FF FF 71 */ bl execute__10daAlldie_cFv -/* 804D5BA4 38 60 00 01 */ li r3, 1 -/* 804D5BA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5BAC 7C 08 03 A6 */ mtlr r0 -/* 804D5BB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5BB4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/execute__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/execute__10daAlldie_cFv.s deleted file mode 100644 index a435fa8f7f..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/execute__10daAlldie_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_804D5B10: -/* 804D5B10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 804D5B14 7C 08 02 A6 */ mflr r0 -/* 804D5B18 90 01 00 14 */ stw r0, 0x14(r1) -/* 804D5B1C 88 03 05 68 */ lbz r0, 0x568(r3) -/* 804D5B20 2C 00 00 03 */ cmpwi r0, 3 -/* 804D5B24 41 82 00 38 */ beq lbl_804D5B5C -/* 804D5B28 40 80 00 14 */ bge lbl_804D5B3C -/* 804D5B2C 2C 00 00 01 */ cmpwi r0, 1 -/* 804D5B30 41 82 00 1C */ beq lbl_804D5B4C -/* 804D5B34 40 80 00 20 */ bge lbl_804D5B54 -/* 804D5B38 48 00 00 3C */ b lbl_804D5B74 -lbl_804D5B3C: -/* 804D5B3C 2C 00 00 05 */ cmpwi r0, 5 -/* 804D5B40 41 82 00 24 */ beq lbl_804D5B64 -/* 804D5B44 40 80 00 30 */ bge lbl_804D5B74 -/* 804D5B48 48 00 00 24 */ b lbl_804D5B6C -lbl_804D5B4C: -/* 804D5B4C 4B FF FC ED */ bl actionCheck__10daAlldie_cFv -/* 804D5B50 48 00 00 28 */ b lbl_804D5B78 -lbl_804D5B54: -/* 804D5B54 4B FF FD 35 */ bl actionTimer__10daAlldie_cFv -/* 804D5B58 48 00 00 20 */ b lbl_804D5B78 -lbl_804D5B5C: -/* 804D5B5C 4B FF FD DD */ bl actionOrder__10daAlldie_cFv -/* 804D5B60 48 00 00 18 */ b lbl_804D5B78 -lbl_804D5B64: -/* 804D5B64 4B FF FE 3D */ bl actionEvent__10daAlldie_cFv -/* 804D5B68 48 00 00 10 */ b lbl_804D5B78 -lbl_804D5B6C: -/* 804D5B6C 4B FF FE D9 */ bl actionNext__10daAlldie_cFv -/* 804D5B70 48 00 00 08 */ b lbl_804D5B78 -lbl_804D5B74: -/* 804D5B74 4B FF FC BD */ bl actionWait__10daAlldie_cFv -lbl_804D5B78: -/* 804D5B78 38 60 00 01 */ li r3, 1 -/* 804D5B7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 804D5B80 7C 08 03 A6 */ mtlr r0 -/* 804D5B84 38 21 00 10 */ addi r1, r1, 0x10 -/* 804D5B88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/getEventNo__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/getEventNo__10daAlldie_cFv.s deleted file mode 100644 index fc6db08aed..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/getEventNo__10daAlldie_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_804D5818: -/* 804D5818 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 804D581C 54 03 46 3E */ srwi r3, r0, 0x18 -/* 804D5820 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_alldie/d_a_alldie/getSwbit__10daAlldie_cFv.s b/asm/rel/d/a/d_a_alldie/d_a_alldie/getSwbit__10daAlldie_cFv.s deleted file mode 100644 index 50eddecd78..0000000000 --- a/asm/rel/d/a/d_a_alldie/d_a_alldie/getSwbit__10daAlldie_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_804D5824: -/* 804D5824 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 804D5828 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f -/* 804D582C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_arrow/d_a_arrow/arrowShooting__9daArrow_cFv.s b/asm/rel/d/a/d_a_arrow/d_a_arrow/arrowShooting__9daArrow_cFv.s index fe937a0092..34fb0c2278 100644 --- a/asm/rel/d/a/d_a_arrow/d_a_arrow/arrowShooting__9daArrow_cFv.s +++ b/asm/rel/d/a/d_a_arrow/d_a_arrow/arrowShooting__9daArrow_cFv.s @@ -154,8 +154,8 @@ lbl_8049ABF0: /* 8049AC14 60 00 00 02 */ ori r0, r0, 2 /* 8049AC18 90 1F 06 E0 */ stw r0, 0x6e0(r31) lbl_8049AC1C: -/* 8049AC1C 3C 60 80 45 */ lis r3, struct_80450D88+0x0@ha /* 0x80450D88@ha */ -/* 8049AC20 38 83 0D 88 */ addi r4, r3, struct_80450D88+0x0@l /* 0x80450D88@l */ +/* 8049AC1C 3C 60 80 45 */ lis r3, m_count__9daArrow_c+0x0@ha /* 0x80450D88@ha */ +/* 8049AC20 38 83 0D 88 */ addi r4, r3, m_count__9daArrow_c+0x0@l /* 0x80450D88@l */ /* 8049AC24 A8 04 00 00 */ lha r0, 0(r4) /* 8049AC28 B0 1F 09 4E */ sth r0, 0x94e(r31) /* 8049AC2C A8 64 00 00 */ lha r3, 0(r4) diff --git a/asm/rel/d/a/d_a_arrow/d_a_arrow/execute__9daArrow_cFv.s b/asm/rel/d/a/d_a_arrow/d_a_arrow/execute__9daArrow_cFv.s index f68c6a48c3..b310bc9cb5 100644 --- a/asm/rel/d/a/d_a_arrow/d_a_arrow/execute__9daArrow_cFv.s +++ b/asm/rel/d/a/d_a_arrow/d_a_arrow/execute__9daArrow_cFv.s @@ -41,8 +41,8 @@ lbl_8049CF14: /* 8049CF38 48 00 01 60 */ b lbl_8049D098 lbl_8049CF3C: /* 8049CF3C A8 9F 09 4E */ lha r4, 0x94e(r31) -/* 8049CF40 3C 60 80 45 */ lis r3, struct_80450D88+0x0@ha /* 0x80450D88@ha */ -/* 8049CF44 A8 03 0D 88 */ lha r0, struct_80450D88+0x0@l(r3) /* 0x80450D88@l */ +/* 8049CF40 3C 60 80 45 */ lis r3, m_count__9daArrow_c+0x0@ha /* 0x80450D88@ha */ +/* 8049CF44 A8 03 0D 88 */ lha r0, m_count__9daArrow_c+0x0@l(r3) /* 0x80450D88@l */ /* 8049CF48 7C 04 00 00 */ cmpw r4, r0 /* 8049CF4C 40 82 00 0C */ bne lbl_8049CF58 /* 8049CF50 38 00 00 01 */ li r0, 1 diff --git a/asm/rel/d/a/d_a_boomerang/d_a_boomerang/execute__13daBoomerang_cFv.s b/asm/rel/d/a/d_a_boomerang/d_a_boomerang/execute__13daBoomerang_cFv.s index 39469e10bc..98771505c8 100644 --- a/asm/rel/d/a/d_a_boomerang/d_a_boomerang/execute__13daBoomerang_cFv.s +++ b/asm/rel/d/a/d_a_boomerang/d_a_boomerang/execute__13daBoomerang_cFv.s @@ -244,8 +244,8 @@ lbl_804A1B68: /* 804A1B9C 28 00 00 00 */ cmplwi r0, 0 /* 804A1BA0 41 82 00 10 */ beq lbl_804A1BB0 /* 804A1BA4 38 00 00 01 */ li r0, 1 -/* 804A1BA8 3C 60 80 45 */ lis r3, struct_8045101C+0x2@ha /* 0x8045101E@ha */ -/* 804A1BAC B0 03 10 1E */ sth r0, struct_8045101C+0x2@l(r3) /* 0x8045101E@l */ +/* 804A1BA8 3C 60 80 45 */ lis r3, m_dropAngleY__20daPy_boomerangMove_c+0x2@ha /* 0x8045101E@ha */ +/* 804A1BAC B0 03 10 1E */ sth r0, m_dropAngleY__20daPy_boomerangMove_c+0x2@l(r3) /* 0x8045101E@l */ lbl_804A1BB0: /* 804A1BB0 38 60 00 01 */ li r3, 1 lbl_804A1BB4: diff --git a/asm/rel/d/a/d_a_swc00/d_a_swc00/daSwc00_Execute__FP9daSwc00_c.s b/asm/rel/d/a/d_a_swc00/d_a_swc00/daSwc00_Execute__FP9daSwc00_c.s deleted file mode 100644 index 2b34817d7d..0000000000 --- a/asm/rel/d/a/d_a_swc00/d_a_swc00/daSwc00_Execute__FP9daSwc00_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A15DC: -/* 805A15DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A15E0 7C 08 02 A6 */ mflr r0 -/* 805A15E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A15E8 48 00 00 15 */ bl execute__9daSwc00_cFv -/* 805A15EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A15F0 7C 08 03 A6 */ mtlr r0 -/* 805A15F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A15F8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/create__10daTboxSw_cFv.s b/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/create__10daTboxSw_cFv.s deleted file mode 100644 index c1b7a70a17..0000000000 --- a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/create__10daTboxSw_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80D66860: -/* 80D66860 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D66864 7C 08 02 A6 */ mflr r0 -/* 80D66868 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D6686C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D66870 7C 7F 1B 78 */ mr r31, r3 -/* 80D66874 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D66878 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D6687C 40 82 00 1C */ bne lbl_80D66898 -/* 80D66880 28 1F 00 00 */ cmplwi r31, 0 -/* 80D66884 41 82 00 08 */ beq lbl_80D6688C -/* 80D66888 4B 2B 22 DD */ bl __ct__10fopAc_ac_cFv -lbl_80D6688C: -/* 80D6688C 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D66890 60 00 00 08 */ ori r0, r0, 8 -/* 80D66894 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D66898: -/* 80D66898 7F E3 FB 78 */ mr r3, r31 -/* 80D6689C 4B FF FF BD */ bl Create__10daTboxSw_cFv -/* 80D668A0 2C 03 00 00 */ cmpwi r3, 0 -/* 80D668A4 40 82 00 0C */ bne lbl_80D668B0 -/* 80D668A8 38 60 00 05 */ li r3, 5 -/* 80D668AC 48 00 00 08 */ b lbl_80D668B4 -lbl_80D668B0: -/* 80D668B0 38 60 00 04 */ li r3, 4 -lbl_80D668B4: -/* 80D668B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D668B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D668BC 7C 08 03 A6 */ mtlr r0 -/* 80D668C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D668C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Create__FP10fopAc_ac_c.s deleted file mode 100644 index e24beb2dff..0000000000 --- a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D669A8: -/* 80D669A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D669AC 7C 08 02 A6 */ mflr r0 -/* 80D669B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D669B4 4B FF FE AD */ bl create__10daTboxSw_cFv -/* 80D669B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D669BC 7C 08 03 A6 */ mtlr r0 -/* 80D669C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D669C4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Delete__FP10daTboxSw_c.s b/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Delete__FP10daTboxSw_c.s deleted file mode 100644 index e7f5f8509d..0000000000 --- a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Delete__FP10daTboxSw_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D66988: -/* 80D66988 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6698C 7C 08 02 A6 */ mflr r0 -/* 80D66990 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66994 4B FF FF AD */ bl _delete__10daTboxSw_cFv -/* 80D66998 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6699C 7C 08 03 A6 */ mtlr r0 -/* 80D669A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D669A4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Draw__FP10daTboxSw_c.s b/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Draw__FP10daTboxSw_c.s deleted file mode 100644 index 142a0d85b9..0000000000 --- a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Draw__FP10daTboxSw_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D66948: -/* 80D66948 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6694C 7C 08 02 A6 */ mflr r0 -/* 80D66950 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66954 4B FF FF E5 */ bl draw__10daTboxSw_cFv -/* 80D66958 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6695C 7C 08 03 A6 */ mtlr r0 -/* 80D66960 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66964 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Execute__FP10daTboxSw_c.s b/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Execute__FP10daTboxSw_c.s deleted file mode 100644 index 25dfee4367..0000000000 --- a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Execute__FP10daTboxSw_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D66968: -/* 80D66968 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6696C 7C 08 02 A6 */ mflr r0 -/* 80D66970 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D66974 4B FF FF 55 */ bl execute__10daTboxSw_cFv -/* 80D66978 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6697C 7C 08 03 A6 */ mtlr r0 -/* 80D66980 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66984 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/execute__10daTboxSw_cFv.s b/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/execute__10daTboxSw_cFv.s deleted file mode 100644 index 37527376e5..0000000000 --- a/asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/execute__10daTboxSw_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80D668C8: -/* 80D668C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D668CC 7C 08 02 A6 */ mflr r0 -/* 80D668D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D668D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D668D8 7C 7F 1B 78 */ mr r31, r3 -/* 80D668DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D668E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D668E4 38 63 09 58 */ addi r3, r3, 0x958 -/* 80D668E8 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D668EC 54 04 06 BE */ clrlwi r4, r0, 0x1a -/* 80D668F0 4B 2C DE F9 */ bl isTbox__12dSv_memBit_cCFi -/* 80D668F4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D668F8 41 82 00 28 */ beq lbl_80D66920 -/* 80D668FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D66900 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D66904 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80D66908 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f -/* 80D6690C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D66910 7C 05 07 74 */ extsb r5, r0 -/* 80D66914 4B 2C E8 ED */ bl onSwitch__10dSv_info_cFii -/* 80D66918 7F E3 FB 78 */ mr r3, r31 -/* 80D6691C 4B 2B 33 61 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_80D66920: -/* 80D66920 38 60 00 01 */ li r3, 1 -/* 80D66924 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D66928 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6692C 7C 08 03 A6 */ mtlr r0 -/* 80D66930 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D66934 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 6ac61b862b..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80529B44: -/* 80529B44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80529B48 7C 08 02 A6 */ mflr r0 -/* 80529B4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80529B50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80529B54 7C 7F 1B 78 */ mr r31, r3 -/* 80529B58 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80529B5C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80529B60 40 82 00 1C */ bne lbl_80529B7C -/* 80529B64 28 1F 00 00 */ cmplwi r31, 0 -/* 80529B68 41 82 00 08 */ beq lbl_80529B70 -/* 80529B6C 4B AE EF F9 */ bl __ct__10fopAc_ac_cFv -lbl_80529B70: -/* 80529B70 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80529B74 60 00 00 08 */ ori r0, r0, 8 -/* 80529B78 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80529B7C: -/* 80529B7C 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80529B80 98 1F 05 69 */ stb r0, 0x569(r31) -/* 80529B84 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80529B88 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80529B8C 98 1F 05 68 */ stb r0, 0x568(r31) -/* 80529B90 A8 1F 04 DC */ lha r0, 0x4dc(r31) -/* 80529B94 B0 1F 05 6A */ sth r0, 0x56a(r31) -/* 80529B98 A8 1F 04 DE */ lha r0, 0x4de(r31) -/* 80529B9C B0 1F 05 6C */ sth r0, 0x56c(r31) -/* 80529BA0 A8 1F 04 E0 */ lha r0, 0x4e0(r31) -/* 80529BA4 98 1F 05 6E */ stb r0, 0x56e(r31) -/* 80529BA8 A8 1F 04 E0 */ lha r0, 0x4e0(r31) -/* 80529BAC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80529BB0 98 1F 05 6F */ stb r0, 0x56f(r31) -/* 80529BB4 88 7F 04 BA */ lbz r3, 0x4ba(r31) -/* 80529BB8 7C 60 07 74 */ extsb r0, r3 -/* 80529BBC 2C 00 FF FF */ cmpwi r0, -1 -/* 80529BC0 41 82 00 08 */ beq lbl_80529BC8 -/* 80529BC4 98 7F 05 68 */ stb r3, 0x568(r31) -lbl_80529BC8: -/* 80529BC8 38 60 00 04 */ li r3, 4 -/* 80529BCC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80529BD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80529BD4 7C 08 03 A6 */ mtlr r0 -/* 80529BD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80529BDC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Execute__FP13kytag14_class.s b/asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Execute__FP13kytag14_class.s deleted file mode 100644 index 1d5892900e..0000000000 --- a/asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Execute__FP13kytag14_class.s +++ /dev/null @@ -1,113 +0,0 @@ -lbl_805299A0: -/* 805299A0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 805299A4 7C 08 02 A6 */ mflr r0 -/* 805299A8 90 01 00 24 */ stw r0, 0x24(r1) -/* 805299AC 39 61 00 20 */ addi r11, r1, 0x20 -/* 805299B0 4B E3 88 25 */ bl _savegpr_27 -/* 805299B4 7C 7B 1B 78 */ mr r27, r3 -/* 805299B8 3B E0 00 01 */ li r31, 1 -/* 805299BC 3B C0 00 01 */ li r30, 1 -/* 805299C0 3B A0 00 01 */ li r29, 1 -/* 805299C4 3B 80 00 01 */ li r28, 1 -/* 805299C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805299CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805299D0 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 805299D4 38 80 13 01 */ li r4, 0x1301 -/* 805299D8 4B B0 AF E5 */ bl isEventBit__11dSv_event_cCFUs -/* 805299DC 2C 03 00 00 */ cmpwi r3, 0 -/* 805299E0 41 82 00 0C */ beq lbl_805299EC -/* 805299E4 38 60 00 01 */ li r3, 1 -/* 805299E8 48 00 01 34 */ b lbl_80529B1C -lbl_805299EC: -/* 805299EC A0 1B 05 6A */ lhz r0, 0x56a(r27) -/* 805299F0 28 00 FF FF */ cmplwi r0, 0xffff -/* 805299F4 41 82 00 38 */ beq lbl_80529A2C -/* 805299F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805299FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80529A00 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80529A04 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 80529A08 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80529A0C 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80529A10 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80529A14 4B B0 AF A9 */ bl isEventBit__11dSv_event_cCFUs -/* 80529A18 2C 03 00 00 */ cmpwi r3, 0 -/* 80529A1C 41 82 00 0C */ beq lbl_80529A28 -/* 80529A20 3B E0 00 01 */ li r31, 1 -/* 80529A24 48 00 00 08 */ b lbl_80529A2C -lbl_80529A28: -/* 80529A28 3B E0 00 00 */ li r31, 0 -lbl_80529A2C: -/* 80529A2C A0 1B 05 6C */ lhz r0, 0x56c(r27) -/* 80529A30 28 00 FF FF */ cmplwi r0, 0xffff -/* 80529A34 41 82 00 38 */ beq lbl_80529A6C -/* 80529A38 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80529A3C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80529A40 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80529A44 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 80529A48 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80529A4C 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 80529A50 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80529A54 4B B0 AF 69 */ bl isEventBit__11dSv_event_cCFUs -/* 80529A58 2C 03 00 00 */ cmpwi r3, 0 -/* 80529A5C 40 82 00 0C */ bne lbl_80529A68 -/* 80529A60 3B C0 00 01 */ li r30, 1 -/* 80529A64 48 00 00 08 */ b lbl_80529A6C -lbl_80529A68: -/* 80529A68 3B C0 00 00 */ li r30, 0 -lbl_80529A6C: -/* 80529A6C 88 9B 05 6E */ lbz r4, 0x56e(r27) -/* 80529A70 28 04 00 FF */ cmplwi r4, 0xff -/* 80529A74 41 82 00 30 */ beq lbl_80529AA4 -/* 80529A78 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80529A7C 88 A3 0D 64 */ lbz r5, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */ -/* 80529A80 7C A5 07 74 */ extsb r5, r5 -/* 80529A84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80529A88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80529A8C 4B B0 B8 D5 */ bl isSwitch__10dSv_info_cCFii -/* 80529A90 2C 03 00 00 */ cmpwi r3, 0 -/* 80529A94 41 82 00 0C */ beq lbl_80529AA0 -/* 80529A98 3B A0 00 01 */ li r29, 1 -/* 80529A9C 48 00 00 08 */ b lbl_80529AA4 -lbl_80529AA0: -/* 80529AA0 3B A0 00 00 */ li r29, 0 -lbl_80529AA4: -/* 80529AA4 88 9B 05 6F */ lbz r4, 0x56f(r27) -/* 80529AA8 28 04 00 FF */ cmplwi r4, 0xff -/* 80529AAC 41 82 00 30 */ beq lbl_80529ADC -/* 80529AB0 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80529AB4 88 A3 0D 64 */ lbz r5, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */ -/* 80529AB8 7C A5 07 74 */ extsb r5, r5 -/* 80529ABC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80529AC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80529AC4 4B B0 B8 9D */ bl isSwitch__10dSv_info_cCFii -/* 80529AC8 2C 03 00 00 */ cmpwi r3, 0 -/* 80529ACC 40 82 00 0C */ bne lbl_80529AD8 -/* 80529AD0 3B 80 00 01 */ li r28, 1 -/* 80529AD4 48 00 00 08 */ b lbl_80529ADC -lbl_80529AD8: -/* 80529AD8 3B 80 00 00 */ li r28, 0 -lbl_80529ADC: -/* 80529ADC 2C 1F 00 01 */ cmpwi r31, 1 -/* 80529AE0 40 82 00 38 */ bne lbl_80529B18 -/* 80529AE4 2C 1E 00 01 */ cmpwi r30, 1 -/* 80529AE8 40 82 00 30 */ bne lbl_80529B18 -/* 80529AEC 2C 1D 00 01 */ cmpwi r29, 1 -/* 80529AF0 40 82 00 28 */ bne lbl_80529B18 -/* 80529AF4 2C 1C 00 01 */ cmpwi r28, 1 -/* 80529AF8 40 82 00 20 */ bne lbl_80529B18 -/* 80529AFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80529B00 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80529B04 38 64 00 58 */ addi r3, r4, 0x58 -/* 80529B08 38 84 4E 00 */ addi r4, r4, 0x4e00 -/* 80529B0C 88 BB 05 68 */ lbz r5, 0x568(r27) -/* 80529B10 88 DB 05 69 */ lbz r6, 0x569(r27) -/* 80529B14 4B B0 92 09 */ bl set__25dSv_player_return_place_cFPCcScUc -lbl_80529B18: -/* 80529B18 38 60 00 01 */ li r3, 1 -lbl_80529B1C: -/* 80529B1C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80529B20 4B E3 87 01 */ bl _restgpr_27 -/* 80529B24 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80529B28 7C 08 03 A6 */ mtlr r0 -/* 80529B2C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80529B30 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/__dt__13daTagGstart_cFv.s b/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/__dt__13daTagGstart_cFv.s deleted file mode 100644 index 3d75bbc774..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/__dt__13daTagGstart_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A3514: -/* 805A3514 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A3518 7C 08 02 A6 */ mflr r0 -/* 805A351C 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3520 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A3524 93 C1 00 08 */ stw r30, 8(r1) -/* 805A3528 7C 7E 1B 79 */ or. r30, r3, r3 -/* 805A352C 7C 9F 23 78 */ mr r31, r4 -/* 805A3530 41 82 00 1C */ beq lbl_805A354C -/* 805A3534 38 80 00 00 */ li r4, 0 -/* 805A3538 4B A7 57 55 */ bl __dt__10fopAc_ac_cFv -/* 805A353C 7F E0 07 35 */ extsh. r0, r31 -/* 805A3540 40 81 00 0C */ ble lbl_805A354C -/* 805A3544 7F C3 F3 78 */ mr r3, r30 -/* 805A3548 4B D2 B7 F5 */ bl __dl__FPv -lbl_805A354C: -/* 805A354C 7F C3 F3 78 */ mr r3, r30 -/* 805A3550 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A3554 83 C1 00 08 */ lwz r30, 8(r1) -/* 805A3558 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A355C 7C 08 03 A6 */ mtlr r0 -/* 805A3560 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A3564 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/create__13daTagGstart_cFv.s b/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/create__13daTagGstart_cFv.s deleted file mode 100644 index c5037b9431..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/create__13daTagGstart_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_805A3478: -/* 805A3478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A347C 7C 08 02 A6 */ mflr r0 -/* 805A3480 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3484 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A3488 7C 7F 1B 78 */ mr r31, r3 -/* 805A348C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A3490 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A3494 40 82 00 1C */ bne lbl_805A34B0 -/* 805A3498 28 1F 00 00 */ cmplwi r31, 0 -/* 805A349C 41 82 00 08 */ beq lbl_805A34A4 -/* 805A34A0 4B A7 56 C5 */ bl __ct__10fopAc_ac_cFv -lbl_805A34A4: -/* 805A34A4 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A34A8 60 00 00 08 */ ori r0, r0, 8 -/* 805A34AC 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A34B0: -/* 805A34B0 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A34B4 98 1F 05 68 */ stb r0, 0x568(r31) -/* 805A34B8 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A34BC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 805A34C0 98 1F 05 69 */ stb r0, 0x569(r31) -/* 805A34C4 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A34C8 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f -/* 805A34CC 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 805A34D0 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A34D4 54 00 47 3E */ rlwinm r0, r0, 8, 0x1c, 0x1f -/* 805A34D8 98 1F 05 6B */ stb r0, 0x56b(r31) -/* 805A34DC 38 60 00 04 */ li r3, 4 -/* 805A34E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A34E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A34E8 7C 08 03 A6 */ mtlr r0 -/* 805A34EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A34F0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 0f948375fb..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A34F4: -/* 805A34F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A34F8 7C 08 02 A6 */ mflr r0 -/* 805A34FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3500 4B FF FF 79 */ bl create__13daTagGstart_cFv -/* 805A3504 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A3508 7C 08 03 A6 */ mtlr r0 -/* 805A350C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A3510 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Delete__FP13daTagGstart_c.s b/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Delete__FP13daTagGstart_c.s deleted file mode 100644 index 7f46effab0..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Delete__FP13daTagGstart_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_805A3568: -/* 805A3568 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A356C 7C 08 02 A6 */ mflr r0 -/* 805A3570 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3574 38 80 FF FF */ li r4, -1 -/* 805A3578 4B FF FF 9D */ bl __dt__13daTagGstart_cFv -/* 805A357C 38 60 00 01 */ li r3, 1 -/* 805A3580 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A3584 7C 08 03 A6 */ mtlr r0 -/* 805A3588 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A358C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Execute__FP13daTagGstart_c.s b/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Execute__FP13daTagGstart_c.s deleted file mode 100644 index 09cd242cda..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Execute__FP13daTagGstart_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A3658: -/* 805A3658 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A365C 7C 08 02 A6 */ mflr r0 -/* 805A3660 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3664 4B FF FF 2D */ bl execute__13daTagGstart_cFv -/* 805A3668 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A366C 7C 08 03 A6 */ mtlr r0 -/* 805A3670 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A3674 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/execute__13daTagGstart_cFv.s b/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/execute__13daTagGstart_cFv.s deleted file mode 100644 index 1740779243..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/execute__13daTagGstart_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_805A3590: -/* 805A3590 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A3594 7C 08 02 A6 */ mflr r0 -/* 805A3598 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A359C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A35A0 7C 7F 1B 78 */ mr r31, r3 -/* 805A35A4 88 83 05 68 */ lbz r4, 0x568(r3) -/* 805A35A8 28 04 00 FF */ cmplwi r4, 0xff -/* 805A35AC 41 82 00 20 */ beq lbl_805A35CC -/* 805A35B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A35B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A35B8 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A35BC 7C 05 07 74 */ extsb r5, r0 -/* 805A35C0 4B A9 1D A1 */ bl isSwitch__10dSv_info_cCFii -/* 805A35C4 2C 03 00 00 */ cmpwi r3, 0 -/* 805A35C8 41 82 00 78 */ beq lbl_805A3640 -lbl_805A35CC: -/* 805A35CC 88 9F 05 69 */ lbz r4, 0x569(r31) -/* 805A35D0 28 04 00 FF */ cmplwi r4, 0xff -/* 805A35D4 41 82 00 20 */ beq lbl_805A35F4 -/* 805A35D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A35DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A35E0 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A35E4 7C 05 07 74 */ extsb r5, r0 -/* 805A35E8 4B A9 1D 79 */ bl isSwitch__10dSv_info_cCFii -/* 805A35EC 2C 03 00 00 */ cmpwi r3, 0 -/* 805A35F0 40 82 00 50 */ bne lbl_805A3640 -lbl_805A35F4: -/* 805A35F4 88 1F 05 6B */ lbz r0, 0x56b(r31) -/* 805A35F8 28 00 00 00 */ cmplwi r0, 0 -/* 805A35FC 40 82 00 1C */ bne lbl_805A3618 -/* 805A3600 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A3604 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A3608 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 805A360C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 805A3610 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 805A3614 41 82 00 2C */ beq lbl_805A3640 -lbl_805A3618: -/* 805A3618 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A361C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A3620 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 805A3624 88 9F 05 6A */ lbz r4, 0x56a(r31) -/* 805A3628 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 805A362C 7C 05 07 74 */ extsb r5, r0 -/* 805A3630 81 83 06 28 */ lwz r12, 0x628(r3) -/* 805A3634 81 8C 01 84 */ lwz r12, 0x184(r12) -/* 805A3638 7D 89 03 A6 */ mtctr r12 -/* 805A363C 4E 80 04 21 */ bctrl -lbl_805A3640: -/* 805A3640 38 60 00 01 */ li r3, 1 -/* 805A3644 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A3648 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A364C 7C 08 03 A6 */ mtlr r0 -/* 805A3650 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A3654 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__dt__12daTagHstop_cFv.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__dt__12daTagHstop_cFv.s deleted file mode 100644 index 7764fb59ef..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__dt__12daTagHstop_cFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_805A45F8: -/* 805A45F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A45FC 7C 08 02 A6 */ mflr r0 -/* 805A4600 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A4604 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A4608 93 C1 00 08 */ stw r30, 8(r1) -/* 805A460C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 805A4610 7C 9F 23 78 */ mr r31, r4 -/* 805A4614 41 82 00 60 */ beq lbl_805A4674 -/* 805A4618 80 7E 05 6C */ lwz r3, 0x56c(r30) -/* 805A461C 28 03 00 00 */ cmplwi r3, 0 -/* 805A4620 41 82 00 0C */ beq lbl_805A462C -/* 805A4624 80 1E 05 68 */ lwz r0, 0x568(r30) -/* 805A4628 90 03 05 68 */ stw r0, 0x568(r3) -lbl_805A462C: -/* 805A462C 80 7E 05 68 */ lwz r3, 0x568(r30) -/* 805A4630 28 03 00 00 */ cmplwi r3, 0 -/* 805A4634 41 82 00 0C */ beq lbl_805A4640 -/* 805A4638 80 1E 05 6C */ lwz r0, 0x56c(r30) -/* 805A463C 90 03 05 6C */ stw r0, 0x56c(r3) -lbl_805A4640: -/* 805A4640 3C 60 80 45 */ lis r3, m_top__12daTagHstop_c@ha /* 0x80450DF8@ha */ -/* 805A4644 84 03 0D F8 */ lwzu r0, m_top__12daTagHstop_c@l(r3) /* 0x80450DF8@l */ -/* 805A4648 7C 00 F0 40 */ cmplw r0, r30 -/* 805A464C 40 82 00 0C */ bne lbl_805A4658 -/* 805A4650 80 1E 05 68 */ lwz r0, 0x568(r30) -/* 805A4654 90 03 00 00 */ stw r0, 0(r3) -lbl_805A4658: -/* 805A4658 7F C3 F3 78 */ mr r3, r30 -/* 805A465C 38 80 00 00 */ li r4, 0 -/* 805A4660 4B A7 46 2D */ bl __dt__10fopAc_ac_cFv -/* 805A4664 7F E0 07 35 */ extsh. r0, r31 -/* 805A4668 40 81 00 0C */ ble lbl_805A4674 -/* 805A466C 7F C3 F3 78 */ mr r3, r30 -/* 805A4670 4B D2 A6 CD */ bl __dl__FPv -lbl_805A4674: -/* 805A4674 7F C3 F3 78 */ mr r3, r30 -/* 805A4678 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A467C 83 C1 00 08 */ lwz r30, 8(r1) -/* 805A4680 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A4684 7C 08 03 A6 */ mtlr r0 -/* 805A4688 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A468C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__sinit_d_a_tag_hstop_cpp.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__sinit_d_a_tag_hstop_cpp.s deleted file mode 100644 index 0cc5e3a5ad..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__sinit_d_a_tag_hstop_cpp.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_805A4AD0: -/* 805A4AD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A4AD4 7C 08 02 A6 */ mflr r0 -/* 805A4AD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A4ADC 3C 60 80 5A */ lis r3, m_msgFlow__12daTagHstop_c@ha /* 0x805A4B8C@ha */ -/* 805A4AE0 38 63 4B 8C */ addi r3, r3, m_msgFlow__12daTagHstop_c@l /* 0x805A4B8C@l */ -/* 805A4AE4 4B CA 54 1D */ bl __ct__10dMsgFlow_cFv -/* 805A4AE8 3C 80 80 25 */ lis r4, __dt__10dMsgFlow_cFv@ha /* 0x80249F48@ha */ -/* 805A4AEC 38 84 9F 48 */ addi r4, r4, __dt__10dMsgFlow_cFv@l /* 0x80249F48@l */ -/* 805A4AF0 3C A0 80 5A */ lis r5, lit_3686@ha /* 0x805A4B80@ha */ -/* 805A4AF4 38 A5 4B 80 */ addi r5, r5, lit_3686@l /* 0x805A4B80@l */ -/* 805A4AF8 4B FF F8 81 */ bl __register_global_object -/* 805A4AFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A4B00 7C 08 03 A6 */ mtlr r0 -/* 805A4B04 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A4B08 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/create__12daTagHstop_cFv.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/create__12daTagHstop_cFv.s deleted file mode 100644 index 59f4f043ce..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/create__12daTagHstop_cFv.s +++ /dev/null @@ -1,137 +0,0 @@ -lbl_805A43EC: -/* 805A43EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A43F0 7C 08 02 A6 */ mflr r0 -/* 805A43F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A43F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A43FC 7C 7F 1B 78 */ mr r31, r3 -/* 805A4400 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A4404 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A4408 40 82 00 1C */ bne lbl_805A4424 -/* 805A440C 28 1F 00 00 */ cmplwi r31, 0 -/* 805A4410 41 82 00 08 */ beq lbl_805A4418 -/* 805A4414 4B A7 47 51 */ bl __ct__10fopAc_ac_cFv -lbl_805A4418: -/* 805A4418 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A441C 60 00 00 08 */ ori r0, r0, 8 -/* 805A4420 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A4424: -/* 805A4424 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 805A4428 3C 60 80 5A */ lis r3, lit_3782@ha /* 0x805A4B20@ha */ -/* 805A442C C0 23 4B 20 */ lfs f1, lit_3782@l(r3) /* 0x805A4B20@l */ -/* 805A4430 EC 00 00 72 */ fmuls f0, f0, f1 -/* 805A4434 D0 1F 04 EC */ stfs f0, 0x4ec(r31) -/* 805A4438 C0 1F 04 F0 */ lfs f0, 0x4f0(r31) -/* 805A443C EC 00 00 72 */ fmuls f0, f0, f1 -/* 805A4440 D0 1F 04 F0 */ stfs f0, 0x4f0(r31) -/* 805A4444 C0 1F 04 F4 */ lfs f0, 0x4f4(r31) -/* 805A4448 EC 00 00 72 */ fmuls f0, f0, f1 -/* 805A444C D0 1F 04 F4 */ stfs f0, 0x4f4(r31) -/* 805A4450 3C 60 80 45 */ lis r3, m_top__12daTagHstop_c@ha /* 0x80450DF8@ha */ -/* 805A4454 84 03 0D F8 */ lwzu r0, m_top__12daTagHstop_c@l(r3) /* 0x80450DF8@l */ -/* 805A4458 28 00 00 00 */ cmplwi r0, 0 -/* 805A445C 41 82 00 28 */ beq lbl_805A4484 -/* 805A4460 7C 03 03 78 */ mr r3, r0 -/* 805A4464 48 00 00 08 */ b lbl_805A446C -lbl_805A4468: -/* 805A4468 7C 03 03 78 */ mr r3, r0 -lbl_805A446C: -/* 805A446C 80 03 05 68 */ lwz r0, 0x568(r3) -/* 805A4470 28 00 00 00 */ cmplwi r0, 0 -/* 805A4474 40 82 FF F4 */ bne lbl_805A4468 -/* 805A4478 93 E3 05 68 */ stw r31, 0x568(r3) -/* 805A447C 90 7F 05 6C */ stw r3, 0x56c(r31) -/* 805A4480 48 00 00 08 */ b lbl_805A4488 -lbl_805A4484: -/* 805A4484 93 E3 00 00 */ stw r31, 0(r3) -lbl_805A4488: -/* 805A4488 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A448C 98 1F 05 70 */ stb r0, 0x570(r31) -/* 805A4490 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A4494 54 00 C7 3E */ rlwinm r0, r0, 0x18, 0x1c, 0x1f -/* 805A4498 98 1F 05 72 */ stb r0, 0x572(r31) -/* 805A449C 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 805A44A0 28 00 00 0F */ cmplwi r0, 0xf -/* 805A44A4 40 82 00 0C */ bne lbl_805A44B0 -/* 805A44A8 38 00 00 00 */ li r0, 0 -/* 805A44AC 98 1F 05 72 */ stb r0, 0x572(r31) -lbl_805A44B0: -/* 805A44B0 7F E3 FB 78 */ mr r3, r31 -/* 805A44B4 48 00 02 05 */ bl setActive__12daTagHstop_cFv -/* 805A44B8 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 805A44BC 28 00 00 02 */ cmplwi r0, 2 -/* 805A44C0 40 82 00 F8 */ bne lbl_805A45B8 -/* 805A44C4 4B BB B1 9D */ bl checkRoomRestartStart__9daPy_py_cFv -/* 805A44C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 805A44CC 41 82 00 B4 */ beq lbl_805A4580 -/* 805A44D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A44D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A44D8 38 80 00 8A */ li r4, 0x8a -/* 805A44DC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A44E0 7C 05 07 74 */ extsb r5, r0 -/* 805A44E4 4B A9 0E 7D */ bl isSwitch__10dSv_info_cCFii -/* 805A44E8 2C 03 00 00 */ cmpwi r3, 0 -/* 805A44EC 40 82 00 20 */ bne lbl_805A450C -/* 805A44F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A44F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A44F8 38 80 00 8A */ li r4, 0x8a -/* 805A44FC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4500 7C 05 07 74 */ extsb r5, r0 -/* 805A4504 4B A9 0C FD */ bl onSwitch__10dSv_info_cFii -/* 805A4508 48 00 00 78 */ b lbl_805A4580 -lbl_805A450C: -/* 805A450C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4510 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4514 38 80 00 8B */ li r4, 0x8b -/* 805A4518 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A451C 7C 05 07 74 */ extsb r5, r0 -/* 805A4520 4B A9 0E 41 */ bl isSwitch__10dSv_info_cCFii -/* 805A4524 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4528 40 82 00 20 */ bne lbl_805A4548 -/* 805A452C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4530 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4534 38 80 00 8B */ li r4, 0x8b -/* 805A4538 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A453C 7C 05 07 74 */ extsb r5, r0 -/* 805A4540 4B A9 0C C1 */ bl onSwitch__10dSv_info_cFii -/* 805A4544 48 00 00 3C */ b lbl_805A4580 -lbl_805A4548: -/* 805A4548 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A454C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4550 38 80 00 8C */ li r4, 0x8c -/* 805A4554 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4558 7C 05 07 74 */ extsb r5, r0 -/* 805A455C 4B A9 0E 05 */ bl isSwitch__10dSv_info_cCFii -/* 805A4560 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4564 40 82 00 1C */ bne lbl_805A4580 -/* 805A4568 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A456C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4570 38 80 00 8C */ li r4, 0x8c -/* 805A4574 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4578 7C 05 07 74 */ extsb r5, r0 -/* 805A457C 4B A9 0C 85 */ bl onSwitch__10dSv_info_cFii -lbl_805A4580: -/* 805A4580 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4584 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4588 38 80 00 8C */ li r4, 0x8c -/* 805A458C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4590 7C 05 07 74 */ extsb r5, r0 -/* 805A4594 4B A9 0D CD */ bl isSwitch__10dSv_info_cCFii -/* 805A4598 2C 03 00 00 */ cmpwi r3, 0 -/* 805A459C 41 82 00 10 */ beq lbl_805A45AC -/* 805A45A0 38 00 00 00 */ li r0, 0 -/* 805A45A4 90 1F 05 74 */ stw r0, 0x574(r31) -/* 805A45A8 48 00 00 18 */ b lbl_805A45C0 -lbl_805A45AC: -/* 805A45AC 38 00 04 B0 */ li r0, 0x4b0 -/* 805A45B0 90 1F 05 74 */ stw r0, 0x574(r31) -/* 805A45B4 48 00 00 0C */ b lbl_805A45C0 -lbl_805A45B8: -/* 805A45B8 38 00 00 00 */ li r0, 0 -/* 805A45BC 90 1F 05 74 */ stw r0, 0x574(r31) -lbl_805A45C0: -/* 805A45C0 38 60 00 04 */ li r3, 4 -/* 805A45C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A45C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A45CC 7C 08 03 A6 */ mtlr r0 -/* 805A45D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A45D4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 7e365cb86d..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A45D8: -/* 805A45D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A45DC 7C 08 02 A6 */ mflr r0 -/* 805A45E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A45E4 4B FF FE 09 */ bl create__12daTagHstop_cFv -/* 805A45E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A45EC 7C 08 03 A6 */ mtlr r0 -/* 805A45F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A45F4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Delete__FP12daTagHstop_c.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Delete__FP12daTagHstop_c.s deleted file mode 100644 index 1520133d46..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Delete__FP12daTagHstop_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_805A4690: -/* 805A4690 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A4694 7C 08 02 A6 */ mflr r0 -/* 805A4698 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A469C 38 80 FF FF */ li r4, -1 -/* 805A46A0 4B FF FF 59 */ bl __dt__12daTagHstop_cFv -/* 805A46A4 38 60 00 01 */ li r3, 1 -/* 805A46A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A46AC 7C 08 03 A6 */ mtlr r0 -/* 805A46B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A46B4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Execute__FP12daTagHstop_c.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Execute__FP12daTagHstop_c.s deleted file mode 100644 index 8958adc3b0..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Execute__FP12daTagHstop_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A4AA8: -/* 805A4AA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A4AAC 7C 08 02 A6 */ mflr r0 -/* 805A4AB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A4AB4 4B FF FC A9 */ bl execute__12daTagHstop_cFv -/* 805A4AB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A4ABC 7C 08 03 A6 */ mtlr r0 -/* 805A4AC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A4AC4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/execute__12daTagHstop_cFv.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/execute__12daTagHstop_cFv.s deleted file mode 100644 index ce451a1eba..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/execute__12daTagHstop_cFv.s +++ /dev/null @@ -1,223 +0,0 @@ -lbl_805A475C: -/* 805A475C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A4760 7C 08 02 A6 */ mflr r0 -/* 805A4764 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A4768 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A476C 7C 7F 1B 78 */ mr r31, r3 -/* 805A4770 A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 805A4774 28 00 00 01 */ cmplwi r0, 1 -/* 805A4778 40 82 00 A0 */ bne lbl_805A4818 -/* 805A477C 88 1F 05 73 */ lbz r0, 0x573(r31) -/* 805A4780 28 00 00 02 */ cmplwi r0, 2 -/* 805A4784 40 82 00 30 */ bne lbl_805A47B4 -/* 805A4788 3C 60 80 5A */ lis r3, m_msgFlow__12daTagHstop_c@ha /* 0x805A4B8C@ha */ -/* 805A478C 38 63 4B 8C */ addi r3, r3, m_msgFlow__12daTagHstop_c@l /* 0x805A4B8C@l */ -/* 805A4790 7F E4 FB 78 */ mr r4, r31 -/* 805A4794 A8 1F 04 E8 */ lha r0, 0x4e8(r31) -/* 805A4798 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 805A479C 38 C0 00 00 */ li r6, 0 -/* 805A47A0 38 E0 00 00 */ li r7, 0 -/* 805A47A4 4B CA 57 ED */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 805A47A8 38 00 00 03 */ li r0, 3 -/* 805A47AC 98 1F 05 73 */ stb r0, 0x573(r31) -/* 805A47B0 48 00 02 E0 */ b lbl_805A4A90 -lbl_805A47B4: -/* 805A47B4 3C 60 80 5A */ lis r3, m_msgFlow__12daTagHstop_c@ha /* 0x805A4B8C@ha */ -/* 805A47B8 38 63 4B 8C */ addi r3, r3, m_msgFlow__12daTagHstop_c@l /* 0x805A4B8C@l */ -/* 805A47BC 7F E4 FB 78 */ mr r4, r31 -/* 805A47C0 38 A0 00 00 */ li r5, 0 -/* 805A47C4 38 C0 00 00 */ li r6, 0 -/* 805A47C8 4B CA 5B 11 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci -/* 805A47CC 2C 03 00 00 */ cmpwi r3, 0 -/* 805A47D0 41 82 02 C0 */ beq lbl_805A4A90 -/* 805A47D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A47D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A47DC 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 805A47E0 4B A9 DC 89 */ bl reset__14dEvt_control_cFv -/* 805A47E4 38 00 00 00 */ li r0, 0 -/* 805A47E8 98 1F 05 73 */ stb r0, 0x573(r31) -/* 805A47EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A47F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A47F4 A8 83 5D F8 */ lha r4, 0x5df8(r3) -/* 805A47F8 A8 03 5D F4 */ lha r0, 0x5df4(r3) -/* 805A47FC 7C 00 22 14 */ add r0, r0, r4 -/* 805A4800 B0 03 5D F4 */ sth r0, 0x5df4(r3) -/* 805A4804 38 80 00 8D */ li r4, 0x8d -/* 805A4808 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A480C 7C 05 07 74 */ extsb r5, r0 -/* 805A4810 4B A9 09 F1 */ bl onSwitch__10dSv_info_cFii -/* 805A4814 48 00 02 7C */ b lbl_805A4A90 -lbl_805A4818: -/* 805A4818 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 805A481C 2C 00 00 00 */ cmpwi r0, 0 -/* 805A4820 41 82 00 84 */ beq lbl_805A48A4 -/* 805A4824 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4828 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A482C 38 80 00 8F */ li r4, 0x8f -/* 805A4830 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4834 7C 05 07 74 */ extsb r5, r0 -/* 805A4838 4B A9 0B 29 */ bl isSwitch__10dSv_info_cCFii -/* 805A483C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4840 41 82 00 10 */ beq lbl_805A4850 -/* 805A4844 38 00 00 00 */ li r0, 0 -/* 805A4848 90 1F 05 74 */ stw r0, 0x574(r31) -/* 805A484C 48 00 00 58 */ b lbl_805A48A4 -lbl_805A4850: -/* 805A4850 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4854 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4858 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 805A485C 81 83 06 28 */ lwz r12, 0x628(r3) -/* 805A4860 81 8C 01 48 */ lwz r12, 0x148(r12) -/* 805A4864 7D 89 03 A6 */ mtctr r12 -/* 805A4868 4E 80 04 21 */ bctrl -/* 805A486C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4870 41 82 00 28 */ beq lbl_805A4898 -/* 805A4874 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4878 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A487C 38 80 00 8F */ li r4, 0x8f -/* 805A4880 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4884 7C 05 07 74 */ extsb r5, r0 -/* 805A4888 4B A9 09 79 */ bl onSwitch__10dSv_info_cFii -/* 805A488C 38 00 00 00 */ li r0, 0 -/* 805A4890 90 1F 05 74 */ stw r0, 0x574(r31) -/* 805A4894 48 00 00 10 */ b lbl_805A48A4 -lbl_805A4898: -/* 805A4898 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 805A489C 38 03 FF FF */ addi r0, r3, -1 -/* 805A48A0 90 1F 05 74 */ stw r0, 0x574(r31) -lbl_805A48A4: -/* 805A48A4 7F E3 FB 78 */ mr r3, r31 -/* 805A48A8 4B FF FE 11 */ bl setActive__12daTagHstop_cFv -/* 805A48AC 88 9F 05 73 */ lbz r4, 0x573(r31) -/* 805A48B0 28 04 00 00 */ cmplwi r4, 0 -/* 805A48B4 41 82 00 98 */ beq lbl_805A494C -/* 805A48B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A48BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A48C0 80 A3 5D B8 */ lwz r5, 0x5db8(r3) -/* 805A48C4 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 805A48C8 28 00 00 02 */ cmplwi r0, 2 -/* 805A48CC 40 82 00 18 */ bne lbl_805A48E4 -/* 805A48D0 88 03 00 EC */ lbz r0, 0xec(r3) -/* 805A48D4 28 00 00 00 */ cmplwi r0, 0 -/* 805A48D8 40 82 00 0C */ bne lbl_805A48E4 -/* 805A48DC 28 05 00 00 */ cmplwi r5, 0 -/* 805A48E0 40 82 00 10 */ bne lbl_805A48F0 -lbl_805A48E4: -/* 805A48E4 38 00 00 00 */ li r0, 0 -/* 805A48E8 98 1F 05 73 */ stb r0, 0x573(r31) -/* 805A48EC 48 00 01 A4 */ b lbl_805A4A90 -lbl_805A48F0: -/* 805A48F0 28 04 00 01 */ cmplwi r4, 1 -/* 805A48F4 40 82 00 24 */ bne lbl_805A4918 -/* 805A48F8 80 65 17 48 */ lwz r3, 0x1748(r5) -/* 805A48FC 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b -/* 805A4900 41 82 01 90 */ beq lbl_805A4A90 -/* 805A4904 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 -/* 805A4908 40 82 01 88 */ bne lbl_805A4A90 -/* 805A490C 38 00 00 02 */ li r0, 2 -/* 805A4910 98 1F 05 73 */ stb r0, 0x573(r31) -/* 805A4914 48 00 01 7C */ b lbl_805A4A90 -lbl_805A4918: -/* 805A4918 28 04 00 02 */ cmplwi r4, 2 -/* 805A491C 40 82 01 74 */ bne lbl_805A4A90 -/* 805A4920 80 05 17 48 */ lwz r0, 0x1748(r5) -/* 805A4924 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 805A4928 40 82 01 68 */ bne lbl_805A4A90 -/* 805A492C 7F E3 FB 78 */ mr r3, r31 -/* 805A4930 38 80 00 00 */ li r4, 0 -/* 805A4934 38 A0 00 00 */ li r5, 0 -/* 805A4938 4B A7 68 65 */ bl fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs -/* 805A493C A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 805A4940 60 00 00 01 */ ori r0, r0, 1 -/* 805A4944 B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 805A4948 48 00 01 48 */ b lbl_805A4A90 -lbl_805A494C: -/* 805A494C 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 805A4950 28 00 00 02 */ cmplwi r0, 2 -/* 805A4954 40 82 01 3C */ bne lbl_805A4A90 -/* 805A4958 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A495C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4960 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 805A4964 28 00 00 00 */ cmplwi r0, 0 -/* 805A4968 40 82 01 28 */ bne lbl_805A4A90 -/* 805A496C 88 03 00 EC */ lbz r0, 0xec(r3) -/* 805A4970 28 00 00 00 */ cmplwi r0, 0 -/* 805A4974 40 82 00 C0 */ bne lbl_805A4A34 -/* 805A4978 38 80 00 8D */ li r4, 0x8d -/* 805A497C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4980 7C 05 07 74 */ extsb r5, r0 -/* 805A4984 4B A9 09 DD */ bl isSwitch__10dSv_info_cCFii -/* 805A4988 2C 03 00 00 */ cmpwi r3, 0 -/* 805A498C 40 82 00 A8 */ bne lbl_805A4A34 -/* 805A4990 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4994 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4998 38 80 00 8D */ li r4, 0x8d -/* 805A499C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A49A0 7C 05 07 74 */ extsb r5, r0 -/* 805A49A4 4B A9 08 5D */ bl onSwitch__10dSv_info_cFii -/* 805A49A8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 805A49AC 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 805A49B0 38 80 00 2B */ li r4, 0x2b -/* 805A49B4 38 A0 00 5A */ li r5, 0x5a -/* 805A49B8 38 C0 00 01 */ li r6, 1 -/* 805A49BC 4B C7 77 61 */ bl setFloatingFlow__13dMeter2Info_cFUssb -/* 805A49C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A49C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A49C8 38 80 00 8F */ li r4, 0x8f -/* 805A49CC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A49D0 7C 05 07 74 */ extsb r5, r0 -/* 805A49D4 4B A9 09 8D */ bl isSwitch__10dSv_info_cCFii -/* 805A49D8 2C 03 00 00 */ cmpwi r3, 0 -/* 805A49DC 40 82 00 B4 */ bne lbl_805A4A90 -/* 805A49E0 38 00 04 B0 */ li r0, 0x4b0 -/* 805A49E4 90 1F 05 74 */ stw r0, 0x574(r31) -/* 805A49E8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A49EC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A49F0 38 80 00 8A */ li r4, 0x8a -/* 805A49F4 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A49F8 7C 05 07 74 */ extsb r5, r0 -/* 805A49FC 4B A9 08 B5 */ bl offSwitch__10dSv_info_cFii -/* 805A4A00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4A04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4A08 38 80 00 8B */ li r4, 0x8b -/* 805A4A0C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4A10 7C 05 07 74 */ extsb r5, r0 -/* 805A4A14 4B A9 08 9D */ bl offSwitch__10dSv_info_cFii -/* 805A4A18 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4A1C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4A20 38 80 00 8C */ li r4, 0x8c -/* 805A4A24 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4A28 7C 05 07 74 */ extsb r5, r0 -/* 805A4A2C 4B A9 08 85 */ bl offSwitch__10dSv_info_cFii -/* 805A4A30 48 00 00 60 */ b lbl_805A4A90 -lbl_805A4A34: -/* 805A4A34 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 805A4A38 2C 00 00 00 */ cmpwi r0, 0 -/* 805A4A3C 40 82 00 54 */ bne lbl_805A4A90 -/* 805A4A40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4A44 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4A48 38 80 00 8F */ li r4, 0x8f -/* 805A4A4C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4A50 7C 05 07 74 */ extsb r5, r0 -/* 805A4A54 4B A9 09 0D */ bl isSwitch__10dSv_info_cCFii -/* 805A4A58 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4A5C 40 82 00 34 */ bne lbl_805A4A90 -/* 805A4A60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4A64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4A68 38 80 00 8F */ li r4, 0x8f -/* 805A4A6C 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4A70 7C 05 07 74 */ extsb r5, r0 -/* 805A4A74 4B A9 07 8D */ bl onSwitch__10dSv_info_cFii -/* 805A4A78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4A7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A4A80 38 80 00 8E */ li r4, 0x8e -/* 805A4A84 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4A88 7C 05 07 74 */ extsb r5, r0 -/* 805A4A8C 4B A9 07 75 */ bl onSwitch__10dSv_info_cFii -lbl_805A4A90: -/* 805A4A90 38 60 00 01 */ li r3, 1 -/* 805A4A94 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A4A98 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A4A9C 7C 08 03 A6 */ mtlr r0 -/* 805A4AA0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A4AA4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/setActive__12daTagHstop_cFv.s b/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/setActive__12daTagHstop_cFv.s deleted file mode 100644 index dec5c6cc41..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/setActive__12daTagHstop_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_805A46B8: -/* 805A46B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A46BC 7C 08 02 A6 */ mflr r0 -/* 805A46C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A46C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A46C8 7C 7F 1B 78 */ mr r31, r3 -/* 805A46CC 88 83 05 70 */ lbz r4, 0x570(r3) -/* 805A46D0 28 04 00 FF */ cmplwi r4, 0xff -/* 805A46D4 41 82 00 60 */ beq lbl_805A4734 -/* 805A46D8 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 805A46DC 28 00 00 02 */ cmplwi r0, 2 -/* 805A46E0 41 82 00 54 */ beq lbl_805A4734 -/* 805A46E4 28 00 00 00 */ cmplwi r0, 0 -/* 805A46E8 40 82 00 20 */ bne lbl_805A4708 -/* 805A46EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A46F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A46F4 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A46F8 7C 05 07 74 */ extsb r5, r0 -/* 805A46FC 4B A9 0C 65 */ bl isSwitch__10dSv_info_cCFii -/* 805A4700 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4704 40 82 00 30 */ bne lbl_805A4734 -lbl_805A4708: -/* 805A4708 88 1F 05 72 */ lbz r0, 0x572(r31) -/* 805A470C 28 00 00 01 */ cmplwi r0, 1 -/* 805A4710 40 82 00 30 */ bne lbl_805A4740 -/* 805A4714 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A4718 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A471C 88 9F 05 70 */ lbz r4, 0x570(r31) -/* 805A4720 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A4724 7C 05 07 74 */ extsb r5, r0 -/* 805A4728 4B A9 0C 39 */ bl isSwitch__10dSv_info_cCFii -/* 805A472C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A4730 40 82 00 10 */ bne lbl_805A4740 -lbl_805A4734: -/* 805A4734 38 00 00 01 */ li r0, 1 -/* 805A4738 98 1F 05 71 */ stb r0, 0x571(r31) -/* 805A473C 48 00 00 0C */ b lbl_805A4748 -lbl_805A4740: -/* 805A4740 38 00 00 00 */ li r0, 0 -/* 805A4744 98 1F 05 71 */ stb r0, 0x571(r31) -lbl_805A4748: -/* 805A4748 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A474C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A4750 7C 08 03 A6 */ mtlr r0 -/* 805A4754 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A4758 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 6eec180bbd..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80D59AF8: -/* 80D59AF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D59AFC 7C 08 02 A6 */ mflr r0 -/* 80D59B00 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D59B04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D59B08 7C 7F 1B 78 */ mr r31, r3 -/* 80D59B0C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D59B10 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D59B14 40 82 00 1C */ bne lbl_80D59B30 -/* 80D59B18 28 1F 00 00 */ cmplwi r31, 0 -/* 80D59B1C 41 82 00 08 */ beq lbl_80D59B24 -/* 80D59B20 4B 2B F0 45 */ bl __ct__10fopAc_ac_cFv -lbl_80D59B24: -/* 80D59B24 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D59B28 60 00 00 08 */ ori r0, r0, 8 -/* 80D59B2C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D59B30: -/* 80D59B30 38 60 00 04 */ li r3, 4 -/* 80D59B34 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D59B38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D59B3C 7C 08 03 A6 */ mtlr r0 -/* 80D59B40 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D59B44 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Delete__FP11daTagInst_c.s b/asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Delete__FP11daTagInst_c.s deleted file mode 100644 index 1f199378c5..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Delete__FP11daTagInst_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80D59B48: -/* 80D59B48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D59B4C 7C 08 02 A6 */ mflr r0 -/* 80D59B50 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D59B54 28 03 00 00 */ cmplwi r3, 0 -/* 80D59B58 41 82 00 0C */ beq lbl_80D59B64 -/* 80D59B5C 38 80 00 00 */ li r4, 0 -/* 80D59B60 4B 2B F1 2D */ bl __dt__10fopAc_ac_cFv -lbl_80D59B64: -/* 80D59B64 38 60 00 01 */ li r3, 1 -/* 80D59B68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D59B6C 7C 08 03 A6 */ mtlr r0 -/* 80D59B70 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D59B74 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/Create__11daTagMist_cFv.s b/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/Create__11daTagMist_cFv.s index 69caf3f124..4c51652614 100644 --- a/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/Create__11daTagMist_cFv.s +++ b/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/Create__11daTagMist_cFv.s @@ -42,8 +42,8 @@ lbl_8048F370: /* 8048F410 41 82 00 14 */ beq lbl_8048F424 /* 8048F414 80 1F 00 B0 */ lwz r0, 0xb0(r31) /* 8048F418 54 00 46 BE */ rlwinm r0, r0, 8, 0x1a, 0x1f -/* 8048F41C 3C 60 80 45 */ lis r3, struct_80450DC0+0x0@ha /* 0x80450DC0@ha */ -/* 8048F420 98 03 0D C0 */ stb r0, struct_80450DC0+0x0@l(r3) /* 0x80450DC0@l */ +/* 8048F41C 3C 60 80 45 */ lis r3, mPlayerNo__11daTagMist_c+0x0@ha /* 0x80450DC0@ha */ +/* 8048F420 98 03 0D C0 */ stb r0, mPlayerNo__11daTagMist_c+0x0@l(r3) /* 0x80450DC0@l */ lbl_8048F424: /* 8048F424 38 00 00 00 */ li r0, 0 /* 8048F428 98 1F 05 A0 */ stb r0, 0x5a0(r31) diff --git a/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/execute__11daTagMist_cFv.s b/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/execute__11daTagMist_cFv.s index 428201bb3d..f7259cf39b 100644 --- a/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/execute__11daTagMist_cFv.s +++ b/asm/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist/execute__11daTagMist_cFv.s @@ -69,8 +69,8 @@ lbl_8048F63C: /* 8048F65C 4B FF FC 69 */ bl onMySw__11daTagMist_cFv /* 8048F660 80 1F 00 B0 */ lwz r0, 0xb0(r31) /* 8048F664 54 00 46 BE */ rlwinm r0, r0, 8, 0x1a, 0x1f -/* 8048F668 3C 60 80 45 */ lis r3, struct_80450DC0+0x0@ha /* 0x80450DC0@ha */ -/* 8048F66C 98 03 0D C0 */ stb r0, struct_80450DC0+0x0@l(r3) /* 0x80450DC0@l */ +/* 8048F668 3C 60 80 45 */ lis r3, mPlayerNo__11daTagMist_c+0x0@ha /* 0x80450DC0@ha */ +/* 8048F66C 98 03 0D C0 */ stb r0, mPlayerNo__11daTagMist_c+0x0@l(r3) /* 0x80450DC0@l */ lbl_8048F670: /* 8048F670 9B DF 05 A0 */ stb r30, 0x5a0(r31) /* 8048F674 38 60 00 01 */ li r3, 1 diff --git a/diff.py b/diff.py index 83199a2762..10451f29f7 100644 --- a/diff.py +++ b/diff.py @@ -2,23 +2,21 @@ # PYTHON_ARGCOMPLETE_OK import argparse import sys -import platform -from pathlib import Path, PurePath, PureWindowsPath from typing import ( Any, + Callable, Dict, + Iterator, List, Match, - NamedTuple, NoReturn, Optional, + Pattern, Set, Tuple, + Type, Union, - Callable, - Pattern, ) -import functools def fail(msg: str) -> NoReturn: @@ -26,220 +24,306 @@ def fail(msg: str) -> NoReturn: sys.exit(1) -# Prefer to use diff_settings.py from the current working directory -sys.path.insert(0, ".") -try: - import diff_settings -except ModuleNotFoundError: - fail("Unable to find diff_settings.py in the same directory.") -sys.path.pop(0) +def static_assert_unreachable(x: NoReturn) -> NoReturn: + raise Exception("Unreachable! " + repr(x)) -from elftools.elf.elffile import ELFFile # ==== COMMAND-LINE ==== -try: - import argcomplete # type: ignore -except ModuleNotFoundError: - argcomplete = None +if __name__ == "__main__": + # Prefer to use diff_settings.py from the current working directory + sys.path.insert(0, ".") + try: + import diff_settings + except ModuleNotFoundError: + fail("Unable to find diff_settings.py in the same directory.") + sys.path.pop(0) -parser = argparse.ArgumentParser(description="Diff MIPS or AArch64 assembly.") + try: + import argcomplete + except ModuleNotFoundError: + argcomplete = None -start_argument = parser.add_argument( - "start", - help="Function name or address to start diffing from.", -) + parser = argparse.ArgumentParser( + description="Diff MIPS, PPC, AArch64, or ARM32 assembly." + ) -if argcomplete: + start_argument = parser.add_argument( + "start", + help="Function name or address to start diffing from.", + ) - def complete_symbol( - prefix: str, parsed_args: argparse.Namespace, **kwargs: object - ) -> List[str]: - if not prefix or prefix.startswith("-"): - # skip reading the map file, which would - # result in a lot of useless completions - return [] - config: Dict[str, Any] = {} - diff_settings.apply(config, parsed_args) # type: ignore - mapfile = config.get("mapfile") - if not mapfile: - return [] - completes = [] - with open(mapfile) as f: - data = f.read() - # assume symbols are prefixed by a space character - search = f" {prefix}" - pos = data.find(search) - while pos != -1: - # skip the space character in the search string - pos += 1 - # assume symbols are suffixed by either a space - # character or a (unix-style) line return - spacePos = data.find(" ", pos) - lineReturnPos = data.find("\n", pos) - if lineReturnPos == -1: - endPos = spacePos - elif spacePos == -1: - endPos = lineReturnPos - else: - endPos = min(spacePos, lineReturnPos) - if endPos == -1: - match = data[pos:] - pos = -1 - else: - match = data[pos:endPos] - pos = data.find(search, endPos) - completes.append(match) - return completes + if argcomplete: - setattr(start_argument, "completer", complete_symbol) + def complete_symbol( + prefix: str, parsed_args: argparse.Namespace, **kwargs: object + ) -> List[str]: + if not prefix or prefix.startswith("-"): + # skip reading the map file, which would + # result in a lot of useless completions + return [] + config: Dict[str, Any] = {} + diff_settings.apply(config, parsed_args) # type: ignore + mapfile = config.get("mapfile") + if not mapfile: + return [] + completes = [] + with open(mapfile) as f: + data = f.read() + # assume symbols are prefixed by a space character + search = f" {prefix}" + pos = data.find(search) + while pos != -1: + # skip the space character in the search string + pos += 1 + # assume symbols are suffixed by either a space + # character or a (unix-style) line return + spacePos = data.find(" ", pos) + lineReturnPos = data.find("\n", pos) + if lineReturnPos == -1: + endPos = spacePos + elif spacePos == -1: + endPos = lineReturnPos + else: + endPos = min(spacePos, lineReturnPos) + if endPos == -1: + match = data[pos:] + pos = -1 + else: + match = data[pos:endPos] + pos = data.find(search, endPos) + completes.append(match) + return completes -parser.add_argument( - "end", - nargs="?", - help="Address to end diff at.", -) -parser.add_argument( - "-o", - dest="diff_obj", - action="store_true", - help="Diff .o files rather than a whole binary. This makes it possible to " - "see symbol names. (Recommended)", -) -parser.add_argument( - "-e", - "--elf", - dest="diff_elf_symbol", - metavar="SYMBOL", - help="Diff a given function in two ELFs, one being stripped and the other " - "one non-stripped. Requires objdump from binutils 2.33+.", -) -parser.add_argument( - "--source", - action="store_true", - help="Show source code (if possible). Only works with -o and -e.", -) -parser.add_argument( - "--inlines", - action="store_true", - help="Show inline function calls (if possible). Only works with -o and -e.", -) -parser.add_argument( - "--base-asm", - dest="base_asm", - metavar="FILE", - help="Read assembly from given file instead of configured base img.", -) -parser.add_argument( - "--write-asm", - dest="write_asm", - metavar="FILE", - help="Write the current assembly output to file, e.g. for use with --base-asm.", -) -parser.add_argument( - "-m", - "--make", - dest="make", - action="store_true", - help="Automatically run 'make' on the .o file or binary before diffing.", -) -parser.add_argument( - "-l", - "--skip-lines", - dest="skip_lines", - type=int, - default=0, - metavar="LINES", - help="Skip the first N lines of output.", -) -parser.add_argument( - "-s", - "--stop-jr-ra", - dest="stop_jrra", - action="store_true", - help="Stop disassembling at the first 'jr ra'. Some functions have multiple return points, so use with care!", -) -parser.add_argument( - "-i", - "--ignore-large-imms", - dest="ignore_large_imms", - action="store_true", - help="Pretend all large enough immediates are the same.", -) -parser.add_argument( - "-I", - "--ignore-addr-diffs", - action="store_true", - help="Ignore address differences. Currently only affects AArch64.", -) -parser.add_argument( - "-B", - "--no-show-branches", - dest="show_branches", - action="store_false", - help="Don't visualize branches/branch targets.", -) -parser.add_argument( - "-S", - "--base-shift", - dest="base_shift", - type=str, - default="0", - help="Diff position X in our img against position X + shift in the base img. " - 'Arithmetic is allowed, so e.g. |-S "0x1234 - 0x4321"| is a reasonable ' - "flag to pass if it is known that position 0x1234 in the base img syncs " - "up with position 0x4321 in our img. Not supported together with -o.", -) -parser.add_argument( - "-w", - "--watch", - dest="watch", - action="store_true", - help="Automatically update when source/object files change. " - "Recommended in combination with -m.", -) -parser.add_argument( - "-3", - "--threeway=prev", - dest="threeway", - action="store_const", - const="prev", - help="Show a three-way diff between target asm, current asm, and asm " - "prior to -w rebuild. Requires -w.", -) -parser.add_argument( - "-b", - "--threeway=base", - dest="threeway", - action="store_const", - const="base", - help="Show a three-way diff between target asm, current asm, and asm " - "when diff.py was started. Requires -w.", -) -parser.add_argument( - "--width", - dest="column_width", - type=int, - default=50, - help="Sets the width of the left and right view column.", -) -parser.add_argument( - "--algorithm", - dest="algorithm", - default="levenshtein", - choices=["levenshtein", "difflib"], - help="Diff algorithm to use. Levenshtein gives the minimum diff, while difflib " - "aims for long sections of equal opcodes. Defaults to %(default)s.", -) -parser.add_argument( - "--max-size", - "--max-lines", - dest="max_lines", - type=int, - default=1024, - help="The maximum length of the diff, in lines.", -) -parser.add_argument( + setattr(start_argument, "completer", complete_symbol) + + parser.add_argument( + "end", + nargs="?", + help="Address to end diff at.", + ) + parser.add_argument( + "-o", + dest="diff_obj", + action="store_true", + help="""Diff .o files rather than a whole binary. This makes it possible to + see symbol names. (Recommended)""", + ) + parser.add_argument( + "-f", + "--objfile", + dest="objfile", + type=str, + help="""File path for an object file being diffed. When used + the map file isn't searched for the function given. Useful for dynamically + linked libraries.""", + ) + parser.add_argument( + "-e", + "--elf", + dest="diff_elf_symbol", + metavar="SYMBOL", + help="""Diff a given function in two ELFs, one being stripped and the other + one non-stripped. Requires objdump from binutils 2.33+.""", + ) + parser.add_argument( + "-c", + "--source", + dest="show_source", + action="store_true", + help="Show source code (if possible). Only works with -o or -e.", + ) + parser.add_argument( + "-C", + "--source-old-binutils", + dest="source_old_binutils", + action="store_true", + help="""Tweak --source handling to make it work with binutils < 2.33. + Implies --source.""", + ) + parser.add_argument( + "-j", + "--section", + dest="diff_section", + default=".text", + metavar="SECTION", + help="Diff restricted to a given output section.", + ) + parser.add_argument( + "-L", + "--line-numbers", + dest="show_line_numbers", + action="store_const", + const=True, + help="""Show source line numbers in output, when available. May be enabled by + default depending on diff_settings.py.""", + ) + parser.add_argument( + "--no-line-numbers", + dest="show_line_numbers", + action="store_const", + const=False, + help="Hide source line numbers in output.", + ) + parser.add_argument( + "--inlines", + dest="inlines", + action="store_true", + help="Show inline function calls (if possible). Only works with -o or -e.", + ) + parser.add_argument( + "--base-asm", + dest="base_asm", + metavar="FILE", + help="Read assembly from given file instead of configured base img.", + ) + parser.add_argument( + "--write-asm", + dest="write_asm", + metavar="FILE", + help="Write the current assembly output to file, e.g. for use with --base-asm.", + ) + parser.add_argument( + "-m", + "--make", + dest="make", + action="store_true", + help="Automatically run 'make' on the .o file or binary before diffing.", + ) + parser.add_argument( + "-l", + "--skip-lines", + dest="skip_lines", + metavar="LINES", + type=int, + default=0, + help="Skip the first LINES lines of output.", + ) + parser.add_argument( + "-s", + "--stop-at-ret", + dest="stop_at_ret", + action="store_true", + help="""Stop disassembling at the first return instruction. + Some functions have multiple return points, so use with care!""", + ) + parser.add_argument( + "-i", + "--ignore-large-imms", + dest="ignore_large_imms", + action="store_true", + help="Pretend all large enough immediates are the same.", + ) + parser.add_argument( + "-I", + "--ignore-addr-diffs", + dest="ignore_addr_diffs", + action="store_true", + help="Ignore address differences. Currently only affects AArch64 and ARM32.", + ) + parser.add_argument( + "-B", + "--no-show-branches", + dest="show_branches", + action="store_false", + help="Don't visualize branches/branch targets.", + ) + parser.add_argument( + "-S", + "--base-shift", + dest="base_shift", + metavar="N", + type=str, + default="0", + help="""Diff position N in our img against position N + shift in the base img. + Arithmetic is allowed, so e.g. |-S "0x1234 - 0x4321"| is a reasonable + flag to pass if it is known that position 0x1234 in the base img syncs + up with position 0x4321 in our img. Not supported together with -o.""", + ) + parser.add_argument( + "-w", + "--watch", + dest="watch", + action="store_true", + help="""Automatically update when source/object files change. + Recommended in combination with -m.""", + ) + parser.add_argument( + "-3", + "--threeway=prev", + dest="threeway", + action="store_const", + const="prev", + help="""Show a three-way diff between target asm, current asm, and asm + prior to -w rebuild. Requires -w.""", + ) + parser.add_argument( + "-b", + "--threeway=base", + dest="threeway", + action="store_const", + const="base", + help="""Show a three-way diff between target asm, current asm, and asm + when diff.py was started. Requires -w.""", + ) + parser.add_argument( + "--width", + dest="column_width", + metavar="COLS", + type=int, + default=50, + help="Sets the width of the left and right view column.", + ) + parser.add_argument( + "--algorithm", + dest="algorithm", + default="levenshtein", + choices=["levenshtein", "difflib"], + help="""Diff algorithm to use. Levenshtein gives the minimum diff, while difflib + aims for long sections of equal opcodes. Defaults to %(default)s.""", + ) + parser.add_argument( + "--max-size", + "--max-lines", + metavar="LINES", + dest="max_lines", + type=int, + default=1024, + help="The maximum length of the diff, in lines.", + ) + parser.add_argument( + "--no-pager", + dest="no_pager", + action="store_true", + help="""Disable the pager; write output directly to stdout, then exit. + Incompatible with --watch.""", + ) + parser.add_argument( + "--format", + choices=("color", "plain", "html", "json"), + default="color", + help="Output format, default is color. --format=html or json implies --no-pager.", + ) + parser.add_argument( + "-U", + "--compress-matching", + metavar="N", + dest="compress_matching", + type=int, + help="""Compress streaks of matching lines, leaving N lines of context + around non-matching parts.""", + ) + parser.add_argument( + "-V", + "--compress-sameinstr", + metavar="N", + dest="compress_sameinstr", + type=int, + help="""Compress streaks of lines with same instructions (but possibly + different regalloc), leaving N lines of context around other parts.""", + ) + + parser.add_argument( "--lhs-name", dest="lhs_name", type=str, @@ -272,127 +356,615 @@ if argcomplete: # (We do imports late to optimize auto-complete performance.) -import re -import os +import abc import ast -import subprocess +from collections import Counter, defaultdict +from dataclasses import asdict, dataclass, field, replace import difflib -import string +import enum +import html import itertools -import threading +import json +import os import queue +import re +import string +import struct +import subprocess +import threading import time +import traceback MISSING_PREREQUISITES = ( "Missing prerequisite python module {}. " - "Run `python3 -m pip install --user colorama ansiwrap watchdog python-Levenshtein cxxfilt` to install prerequisites (cxxfilt only needed with --source)." + "Run `python3 -m pip install --user colorama watchdog python-Levenshtein cxxfilt` to install prerequisites (cxxfilt only needed with --source)." ) try: - from colorama import Fore, Style, Back # type: ignore - import ansiwrap # type: ignore - import watchdog # type: ignore + from colorama import Back, Fore, Style + import watchdog except ModuleNotFoundError as e: fail(MISSING_PREREQUISITES.format(e.name)) # ==== CONFIG ==== -args = parser.parse_args() -# Set imgs, map file and make flags in a project-specific manner. -config: Dict[str, Any] = {} -diff_settings.apply(config, args) # type: ignore +@dataclass +class ProjectSettings: + arch_str: str + objdump_executable: str + objdump_flags: List[str] + build_command: List[str] + map_format: str + build_dir: str + ms_map_address_offset: int + baseimg: Optional[str] + myimg: Optional[str] + mapfile: Optional[str] + source_directories: Optional[List[str]] + source_extensions: List[str] + show_line_numbers_default: bool + disassemble_all: bool + reg_categories: Dict[str, int] -arch: str = config.get("arch", "mips") -baseimg: Optional[str] = config.get("baseimg") -myimg: Optional[str] = config.get("myimg") -mapfile: Optional[str] = config.get("mapfile") -makeflags: List[str] = config.get("makeflags", []) -source_directories: Optional[List[str]] = config.get("source_directories") -objdump_executable: Optional[str] = config.get("objdump_executable") -map_format: str = config.get("map_format", "gnu") -MAX_FUNCTION_SIZE_LINES: int = args.max_lines -MAX_FUNCTION_SIZE_BYTES: int = MAX_FUNCTION_SIZE_LINES * 4 +@dataclass +class Compress: + context: int + same_instr: bool -COLOR_ROTATION: List[str] = [ - Fore.MAGENTA, - Fore.CYAN, - Fore.GREEN, - Fore.RED, - Fore.LIGHTYELLOW_EX, - Fore.LIGHTMAGENTA_EX, - Fore.LIGHTCYAN_EX, - Fore.LIGHTGREEN_EX, - Fore.LIGHTBLACK_EX, -] -BUFFER_CMD: List[str] = ["tail", "-c", str(10 ** 9)] -LESS_CMD: List[str] = ["less", "-SRic", "-#6"] +@dataclass +class Config: + arch: "ArchSettings" -DEBOUNCE_DELAY: float = 0.1 -FS_WATCH_EXTENSIONS: List[str] = [".c", ".cpp", ".h", ".s"] + # Build/objdump options + diff_obj: bool + objfile: Optional[str] + make: bool + source_old_binutils: bool + diff_section: str + inlines: bool + max_function_size_lines: int + max_function_size_bytes: int -# ==== LOGIC ==== + # Display options + formatter: "Formatter" + threeway: Optional[str] + base_shift: int + skip_lines: int + compress: Optional[Compress] + show_branches: bool + show_line_numbers: bool + show_source: bool + stop_at_ret: bool + ignore_large_imms: bool + ignore_addr_diffs: bool + algorithm: str + reg_categories: Dict[str, int] -ObjdumpCommand = Tuple[List[str], str, Optional[str]] + # Score options + score_stack_differences = True + penalty_stackdiff = 1 + penalty_regalloc = 5 + penalty_reordering = 60 + penalty_insertion = 100 + penalty_deletion = 100 -if args.algorithm == "levenshtein": - try: - import Levenshtein # type: ignore - except ModuleNotFoundError as e: - fail(MISSING_PREREQUISITES.format(e.name)) -if args.source: - try: - import cxxfilt # type: ignore - except ModuleNotFoundError as e: - fail(MISSING_PREREQUISITES.format(e.name)) +def create_project_settings(settings: Dict[str, Any]) -> ProjectSettings: + return ProjectSettings( + arch_str=settings.get("arch", "mips"), + baseimg=settings.get("baseimg"), + myimg=settings.get("myimg"), + mapfile=settings.get("mapfile"), + build_command=settings.get( + "make_command", ["make", *settings.get("makeflags", [])] + ), + source_directories=settings.get("source_directories"), + source_extensions=settings.get( + "source_extensions", [".c", ".h", ".cpp", ".hpp", ".s"] + ), + objdump_executable=get_objdump_executable(settings.get("objdump_executable")), + objdump_flags=settings.get("objdump_flags", []), + map_format=settings.get("map_format", "gnu"), + ms_map_address_offset=settings.get("ms_map_address_offset", 0), + build_dir=settings.get("build_dir", settings.get("mw_build_dir", "build/")), + show_line_numbers_default=settings.get("show_line_numbers_default", True), + disassemble_all=settings.get("disassemble_all", False), + reg_categories=settings.get("reg_categories", {}), + ) -if args.threeway and not args.watch: - fail("Threeway diffing requires -w.") -if objdump_executable is None: - for objdump_cand in ["mips-linux-gnu-objdump", "mips64-elf-objdump"]: +def create_config(args: argparse.Namespace, project: ProjectSettings) -> Config: + arch = get_arch(project.arch_str) + + formatter: Formatter + if args.format == "plain": + formatter = PlainFormatter(column_width=args.column_width) + elif args.format == "color": + formatter = AnsiFormatter(column_width=args.column_width) + elif args.format == "html": + formatter = HtmlFormatter() + elif args.format == "json": + formatter = JsonFormatter(arch_str=arch.name) + else: + raise ValueError(f"Unsupported --format: {args.format}") + + compress = None + if args.compress_matching is not None: + compress = Compress(args.compress_matching, False) + if args.compress_sameinstr is not None: + if compress is not None: + raise ValueError( + "Cannot pass both --compress-matching and --compress-sameinstr" + ) + compress = Compress(args.compress_sameinstr, True) + + show_line_numbers = args.show_line_numbers + if show_line_numbers is None: + show_line_numbers = project.show_line_numbers_default + + return Config( + arch=arch, + # Build/objdump options + diff_obj=args.diff_obj, + objfile=args.objfile, + make=args.make, + source_old_binutils=args.source_old_binutils, + diff_section=args.diff_section, + inlines=args.inlines, + max_function_size_lines=args.max_lines, + max_function_size_bytes=args.max_lines * 4, + # Display options + formatter=formatter, + threeway=args.threeway, + base_shift=eval_int( + args.base_shift, "Failed to parse --base-shift (-S) argument as an integer." + ), + skip_lines=args.skip_lines, + compress=compress, + show_branches=args.show_branches, + show_line_numbers=show_line_numbers, + show_source=args.show_source or args.source_old_binutils, + stop_at_ret=args.stop_at_ret, + ignore_large_imms=args.ignore_large_imms, + ignore_addr_diffs=args.ignore_addr_diffs, + algorithm=args.algorithm, + reg_categories=project.reg_categories, + ) + + +def get_objdump_executable(objdump_executable: Optional[str]) -> str: + if objdump_executable is not None: + return objdump_executable + + objdump_candidates = [ + "mips-linux-gnu-objdump", + "mips64-elf-objdump", + "mips-elf-objdump", + ] + for objdump_cand in objdump_candidates: try: subprocess.check_call( [objdump_cand, "--version"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, ) - objdump_executable = objdump_cand - break + return objdump_cand except subprocess.CalledProcessError: pass except FileNotFoundError: pass -if not objdump_executable: - fail( - "Missing binutils; please ensure mips-linux-gnu-objdump or mips64-elf-objdump exist, or configure objdump_executable." + return fail( + f"Missing binutils; please ensure {' or '.join(objdump_candidates)} exists, or configure objdump_executable." ) -def in_wsl() -> bool: - """ - WSL is thought to be the only common Linux kernel with Microsoft in the name, per Microsoft: - https://github.com/microsoft/WSL/issues/4071#issuecomment-496715404 - """ +def get_arch(arch_str: str) -> "ArchSettings": + for settings in ARCH_SETTINGS: + if arch_str == settings.name: + return settings + raise ValueError(f"Unknown architecture: {arch_str}") - return 'Microsoft' in platform.uname().release -def guess_sourcepath_processing() -> str: - if platform.system() == 'Windows': - return 'none' # we don't need to process - else: - if in_wsl(): - return 'wsl' +BUFFER_CMD: List[str] = ["tail", "-c", str(10**9)] + +# -S truncates long lines instead of wrapping them +# -R interprets color escape sequences +# -i ignores case when searching +# -c something about how the screen gets redrawn; I don't remember the purpose +# -#6 makes left/right arrow keys scroll by 6 characters +LESS_CMD: List[str] = ["less", "-SRic", "-#6"] + +DEBOUNCE_DELAY: float = 0.1 + +# ==== FORMATTING ==== + + +@enum.unique +class BasicFormat(enum.Enum): + NONE = enum.auto() + IMMEDIATE = enum.auto() + STACK = enum.auto() + REGISTER = enum.auto() + REGISTER_CATEGORY = enum.auto() + DELAY_SLOT = enum.auto() + DIFF_CHANGE = enum.auto() + DIFF_ADD = enum.auto() + DIFF_REMOVE = enum.auto() + SOURCE_FILENAME = enum.auto() + SOURCE_FUNCTION = enum.auto() + SOURCE_LINE_NUM = enum.auto() + SOURCE_OTHER = enum.auto() + + +@dataclass(frozen=True) +class RotationFormat: + group: str + index: int + key: str + + +Format = Union[BasicFormat, RotationFormat] +FormatFunction = Callable[[str], Format] + + +class Text: + segments: List[Tuple[str, Format]] + + def __init__(self, line: str = "", f: Format = BasicFormat.NONE) -> None: + self.segments = [(line, f)] if line else [] + + def reformat(self, f: Format) -> "Text": + return Text(self.plain(), f) + + def plain(self) -> str: + return "".join(s for s, f in self.segments) + + def __repr__(self) -> str: + return f"" + + def __bool__(self) -> bool: + return any(s for s, f in self.segments) + + def __str__(self) -> str: + # Use Formatter.apply(...) instead + return NotImplemented + + def __eq__(self, other: object) -> bool: + return NotImplemented + + def __add__(self, other: Union["Text", str]) -> "Text": + if isinstance(other, str): + other = Text(other) + result = Text() + # If two adjacent segments have the same format, merge their lines + if ( + self.segments + and other.segments + and self.segments[-1][1] == other.segments[0][1] + ): + result.segments = ( + self.segments[:-1] + + [(self.segments[-1][0] + other.segments[0][0], self.segments[-1][1])] + + other.segments[1:] + ) else: - return 'unix' + result.segments = self.segments + other.segments + return result -if not args.source_path_postprocess: - args.source_path_postprocess = guess_sourcepath_processing() + def __radd__(self, other: Union["Text", str]) -> "Text": + if isinstance(other, str): + other = Text(other) + return other + self + + def finditer(self, pat: Pattern[str]) -> Iterator[Match[str]]: + """Replacement for `pat.finditer(text)` that operates on the inner text, + and returns the exact same matches as `Text.sub(pat, ...)`.""" + for chunk, f in self.segments: + for match in pat.finditer(chunk): + yield match + + def sub(self, pat: Pattern[str], sub_fn: Callable[[Match[str]], "Text"]) -> "Text": + result = Text() + for chunk, f in self.segments: + i = 0 + for match in pat.finditer(chunk): + start, end = match.start(), match.end() + assert i <= start <= end <= len(chunk) + sub = sub_fn(match) + if i != start: + result.segments.append((chunk[i:start], f)) + result.segments.extend(sub.segments) + i = end + if chunk[i:]: + result.segments.append((chunk[i:], f)) + return result + + def ljust(self, column_width: int) -> "Text": + length = sum(len(x) for x, _ in self.segments) + return self + " " * max(column_width - length, 0) + + +@dataclass +class TableMetadata: + headers: Tuple[Text, ...] + current_score: int + max_score: int + previous_score: Optional[int] + + +class Formatter(abc.ABC): + @abc.abstractmethod + def apply_format(self, chunk: str, f: Format) -> str: + """Apply the formatting `f` to `chunk` and escape the contents.""" + ... + + @abc.abstractmethod + def table(self, meta: TableMetadata, lines: List[Tuple["OutputLine", ...]]) -> str: + """Format a multi-column table with metadata""" + ... + + def apply(self, text: Text) -> str: + return "".join(self.apply_format(chunk, f) for chunk, f in text.segments) + + @staticmethod + def outputline_texts(lines: Tuple["OutputLine", ...]) -> Tuple[Text, ...]: + return tuple([lines[0].base or Text()] + [line.fmt2 for line in lines[1:]]) + + +@dataclass +class PlainFormatter(Formatter): + column_width: int + + def apply_format(self, chunk: str, f: Format) -> str: + return chunk + + def table(self, meta: TableMetadata, lines: List[Tuple["OutputLine", ...]]) -> str: + rows = [meta.headers] + [self.outputline_texts(ls) for ls in lines] + return "\n".join( + "".join(self.apply(x.ljust(self.column_width)) for x in row) for row in rows + ) + + +@dataclass +class AnsiFormatter(Formatter): + # Additional ansi escape codes not in colorama. See: + # https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters + STYLE_UNDERLINE = "\x1b[4m" + STYLE_NO_UNDERLINE = "\x1b[24m" + STYLE_INVERT = "\x1b[7m" + STYLE_RESET = "\x1b[0m" + + BASIC_ANSI_CODES = { + BasicFormat.NONE: "", + BasicFormat.IMMEDIATE: Fore.LIGHTBLUE_EX, + BasicFormat.STACK: Fore.YELLOW, + BasicFormat.REGISTER: Fore.YELLOW, + BasicFormat.REGISTER_CATEGORY: Fore.LIGHTYELLOW_EX, + BasicFormat.DELAY_SLOT: Fore.LIGHTBLACK_EX, + BasicFormat.DIFF_CHANGE: Fore.LIGHTBLUE_EX, + BasicFormat.DIFF_ADD: Fore.GREEN, + BasicFormat.DIFF_REMOVE: Fore.RED, + BasicFormat.SOURCE_FILENAME: Style.DIM + Style.BRIGHT, + BasicFormat.SOURCE_FUNCTION: Style.DIM + Style.BRIGHT + STYLE_UNDERLINE, + BasicFormat.SOURCE_LINE_NUM: Fore.LIGHTBLACK_EX, + BasicFormat.SOURCE_OTHER: Style.DIM, + } + + BASIC_ANSI_CODES_UNDO = { + BasicFormat.NONE: "", + BasicFormat.SOURCE_FILENAME: Style.NORMAL, + BasicFormat.SOURCE_FUNCTION: Style.NORMAL + STYLE_NO_UNDERLINE, + BasicFormat.SOURCE_OTHER: Style.NORMAL, + } + + ROTATION_ANSI_COLORS = [ + Fore.MAGENTA, + Fore.CYAN, + Fore.GREEN, + Fore.RED, + Fore.LIGHTYELLOW_EX, + Fore.LIGHTMAGENTA_EX, + Fore.LIGHTCYAN_EX, + Fore.LIGHTGREEN_EX, + Fore.LIGHTBLACK_EX, + ] + + column_width: int + + def apply_format(self, chunk: str, f: Format) -> str: + if f == BasicFormat.NONE: + return chunk + undo_ansi_code = Fore.RESET + if isinstance(f, BasicFormat): + ansi_code = self.BASIC_ANSI_CODES[f] + undo_ansi_code = self.BASIC_ANSI_CODES_UNDO.get(f, undo_ansi_code) + elif isinstance(f, RotationFormat): + ansi_code = self.ROTATION_ANSI_COLORS[ + f.index % len(self.ROTATION_ANSI_COLORS) + ] + else: + static_assert_unreachable(f) + return f"{ansi_code}{chunk}{undo_ansi_code}" + + def table(self, meta: TableMetadata, lines: List[Tuple["OutputLine", ...]]) -> str: + rows = [(meta.headers, False)] + [ + (self.outputline_texts(line), line[1].is_data_ref) for line in lines + ] + return "\n".join( + "".join( + (self.STYLE_INVERT if is_data_ref else "") + + self.apply(x.ljust(self.column_width)) + + (self.STYLE_RESET if is_data_ref else "") + for x in row + ) + for (row, is_data_ref) in rows + ) + + +@dataclass +class HtmlFormatter(Formatter): + rotation_formats: int = 9 + + def apply_format(self, chunk: str, f: Format) -> str: + chunk = html.escape(chunk) + if f == BasicFormat.NONE: + return chunk + if isinstance(f, BasicFormat): + class_name = f.name.lower().replace("_", "-") + data_attr = "" + elif isinstance(f, RotationFormat): + class_name = f"rotation-{f.index % self.rotation_formats}" + rotation_key = html.escape(f"{f.group};{f.key}", quote=True) + data_attr = f'data-rotation="{rotation_key}"' + else: + static_assert_unreachable(f) + return f"{chunk}" + + def table(self, meta: TableMetadata, lines: List[Tuple["OutputLine", ...]]) -> str: + def table_row(line: Tuple[Text, ...], is_data_ref: bool, cell_el: str) -> str: + tr_attrs = " class='data-ref'" if is_data_ref else "" + output_row = f" " + for cell in line: + cell_html = self.apply(cell) + output_row += f"<{cell_el}>{cell_html}" + output_row += "\n" + return output_row + + output = "\n" + output += " \n" + output += table_row(meta.headers, False, "th") + output += " \n" + output += " \n" + output += "".join( + table_row(self.outputline_texts(line), line[1].is_data_ref, "td") + for line in lines + ) + output += " \n" + output += "
\n" + return output + + +@dataclass +class JsonFormatter(Formatter): + arch_str: str + + def apply_format(self, chunk: str, f: Format) -> str: + # This method is unused by this formatter + return NotImplemented + + def table(self, meta: TableMetadata, rows: List[Tuple["OutputLine", ...]]) -> str: + def serialize_format(s: str, f: Format) -> Dict[str, Any]: + if f == BasicFormat.NONE: + return {"text": s} + elif isinstance(f, BasicFormat): + return {"text": s, "format": f.name.lower()} + elif isinstance(f, RotationFormat): + attrs = asdict(f) + attrs.update({"text": s, "format": "rotation"}) + return attrs + else: + static_assert_unreachable(f) + + def serialize(text: Optional[Text]) -> List[Dict[str, Any]]: + if text is None: + return [] + return [serialize_format(s, f) for s, f in text.segments] + + is_threeway = len(meta.headers) == 3 + + output: Dict[str, Any] = {} + output["arch_str"] = self.arch_str + output["header"] = { + name: serialize(h) + for h, name in zip(meta.headers, ("base", "current", "previous")) + } + output["current_score"] = meta.current_score + output["max_score"] = meta.max_score + if meta.previous_score is not None: + output["previous_score"] = meta.previous_score + output_rows: List[Dict[str, Any]] = [] + for row in rows: + output_row: Dict[str, Any] = {} + output_row["key"] = row[0].key2 + output_row["is_data_ref"] = row[1].is_data_ref + iters = [ + ("base", row[0].base, row[0].line1), + ("current", row[1].fmt2, row[1].line2), + ] + if is_threeway: + iters.append(("previous", row[2].fmt2, row[2].line2)) + if all(line is None for _, _, line in iters): + # Skip rows that were only for displaying source code + continue + for column_name, text, line in iters: + column: Dict[str, Any] = {} + column["text"] = serialize(text) + if line: + if line.line_num is not None: + column["line"] = line.line_num + if line.branch_target is not None: + column["branch"] = line.branch_target + if line.source_lines: + column["src"] = line.source_lines + if line.comment is not None: + column["src_comment"] = line.comment + if line.source_line_num is not None: + column["src_line"] = line.source_line_num + if line or column["text"]: + output_row[column_name] = column + output_rows.append(output_row) + output["rows"] = output_rows + return json.dumps(output) + + +def format_fields( + pat: Pattern[str], + out1: Text, + out2: Text, + color1: FormatFunction, + color2: Optional[FormatFunction] = None, +) -> Tuple[Text, Text]: + diffs = [ + of.group() != nf.group() + for (of, nf) in zip(out1.finditer(pat), out2.finditer(pat)) + ] + + it = iter(diffs) + + def maybe_color(color: FormatFunction, s: str) -> Text: + return Text(s, color(s)) if next(it, False) else Text(s) + + out1 = out1.sub(pat, lambda m: maybe_color(color1, m.group())) + it = iter(diffs) + out2 = out2.sub(pat, lambda m: maybe_color(color2 or color1, m.group())) + + return out1, out2 + + +def symbol_formatter(group: str, base_index: int) -> FormatFunction: + symbol_formats: Dict[str, Format] = {} + + def symbol_format(s: str) -> Format: + # TODO: it would be nice to use a unique Format for each symbol, so we could + # add extra UI elements in the HTML version + f = symbol_formats.get(s) + if f is None: + index = len(symbol_formats) + base_index + f = RotationFormat(key=s, index=index, group=group) + symbol_formats[s] = f + return f + + return symbol_format + + +# ==== LOGIC ==== + +ObjdumpCommand = Tuple[List[str], str, Optional[str]] def maybe_eval_int(expr: str) -> Optional[int]: @@ -412,94 +984,150 @@ def eval_int(expr: str, emsg: str) -> int: return ret -def eval_line_num(expr: str) -> int: - return int(expr.strip().replace(":", ""), 16) +def eval_line_num(expr: str) -> Optional[int]: + expr = expr.strip().replace(":", "") + if expr == "": + return None + return int(expr, 16) -def run_make(target: str) -> None: - subprocess.check_call(["make"] + makeflags + [target]) +def run_make(target: str, project: ProjectSettings) -> None: + subprocess.check_call(project.build_command + [target]) -def run_make_capture_output(target: str) -> "subprocess.CompletedProcess[bytes]": +def run_make_capture_output( + target: str, project: ProjectSettings +) -> "subprocess.CompletedProcess[bytes]": return subprocess.run( - ["make"] + makeflags + [target], + project.build_command + [target], stderr=subprocess.PIPE, stdout=subprocess.PIPE, ) def restrict_to_function(dump: str, fn_name: str) -> str: - out: List[str] = [] - search = f"<{fn_name}>:" - found = False - for line in dump.split("\n"): - if found: - if len(out) >= MAX_FUNCTION_SIZE_LINES: - break - out.append(line) - elif search in line: - found = True - return "\n".join(out) + try: + ind = dump.index("\n", dump.index(f"<{fn_name}>:")) + return dump[ind + 1 :] + except ValueError: + return "" -def maybe_get_objdump_source_flags() -> List[str]: - if not args.source: - return [] +def serialize_rodata_references(references: List[Tuple[int, int, str]]) -> str: + return "".join( + f"DATAREF {text_offset} {from_offset} {from_section}\n" + for (text_offset, from_offset, from_section) in references + ) - flags = [ - "--source", - #"--source-comment=│ ", - "-l", - ] - if args.inlines: - flags.append("--inlines") +def maybe_get_objdump_source_flags(config: Config) -> List[str]: + flags = [] + + if config.show_line_numbers or config.show_source: + flags.append("--line-numbers") + + if config.show_source: + flags.append("--source") + + if not config.source_old_binutils: + flags.append("--source-comment=│ ") + + if config.inlines: + flags.append("--inlines") return flags -def run_objdump(cmd: ObjdumpCommand) -> str: +def run_objdump(cmd: ObjdumpCommand, config: Config, project: ProjectSettings) -> str: flags, target, restrict = cmd - assert objdump_executable, "checked previously" - out = subprocess.check_output( - [objdump_executable] + arch_flags + flags + [target], universal_newlines=True - ) + try: + out = subprocess.run( + [project.objdump_executable] + + config.arch.arch_flags + + project.objdump_flags + + flags + + [target], + check=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + ).stdout + except subprocess.CalledProcessError as e: + print(e.stdout) + print(e.stderr) + if "unrecognized option '--source-comment" in e.stderr: + fail("** Try using --source-old-binutils instead of --source **") + raise e + + obj_data: Optional[bytes] = None + if config.diff_obj: + with open(target, "rb") as f: + obj_data = f.read() + + return preprocess_objdump_out(restrict, obj_data, out, config) + + +def preprocess_objdump_out( + restrict: Optional[str], obj_data: Optional[bytes], objdump_out: str, config: Config +) -> str: + """ + Preprocess the output of objdump into a format that `process()` expects. + This format is suitable for saving to disk with `--write-asm`. + + - Optionally filter the output to a single function (`restrict`) + - Otherwise, strip objdump header (7 lines) + - Prepend .data references ("DATAREF" lines) when working with object files + """ + out = objdump_out + if restrict is not None: - return restrict_to_function(out, restrict) + out = restrict_to_function(out, restrict) + else: + for i in range(7): + out = out[out.find("\n") + 1 :] + out = out.rstrip("\n") + + if obj_data: + out = ( + serialize_rodata_references(parse_elf_rodata_references(obj_data, config)) + + out + ) + return out -base_shift: int = eval_int( - args.base_shift, "Failed to parse --base-shift (-S) argument as an integer." -) - -def disambiguate_objects(fn_name: str, objfiles: List[str]) -> str: - for objfile in objfiles: - with open(objfile, 'rb') as f: - elffile = ELFFile(f) - symtab = elffile.get_section_by_name('.symtab') - match = symtab.get_symbol_by_name(fn_name) - if match is None: - continue - if match[0].entry.st_info.type == 'STT_FUNC': - return objfile +def search_build_objects(objname: str, project: ProjectSettings) -> Optional[str]: + objfiles = [ + os.path.join(dirpath, f) + for dirpath, _, filenames in os.walk(project.build_dir) + for f in filenames + if f == objname + ] + if len(objfiles) > 1: + all_objects = "\n".join(objfiles) + fail( + f"Found multiple objects of the same name {objname} in {project.build_dir}, " + f"cannot determine which to diff against: \n{all_objects}" + ) + if len(objfiles) == 1: + return objfiles[0] return None -def search_map_file(fn_name: str, mapfile: Optional[str] = None, build_dir: Optional[str] = None) -> Tuple[Optional[str], Optional[int]]: - if not mapfile: + +def search_map_file( + fn_name: str, project: ProjectSettings, config: Config, *, for_binary: bool +) -> Tuple[Optional[str], Optional[int]]: + if not project.mapfile: fail(f"No map file configured; cannot find function {fn_name}.") - - if not build_dir: - build_dir = config.get('build_dir') try: - with open(mapfile) as f: + with open(project.mapfile) as f: contents = f.read() except Exception: - fail(f"Failed to open map file {mapfile} for reading.") + fail(f"Failed to open map file {project.mapfile} for reading.") - if map_format == 'gnu': + if project.map_format == "gnu": lines = contents.split("\n") try: @@ -508,21 +1136,21 @@ def search_map_file(fn_name: str, mapfile: Optional[str] = None, build_dir: Opti cands = [] last_line = "" for line in lines: - if line.startswith(" .text"): + if line.startswith(" " + config.diff_section): cur_objfile = line.split()[3] if "load address" in line: tokens = last_line.split() + line.split() ram = int(tokens[1], 0) rom = int(tokens[5], 0) ram_to_rom = rom - ram - if line.endswith(" " + fn_name): + if line.endswith(" " + fn_name) or f" {fn_name} = 0x" in line: ram = int(line.split()[0], 0) - if cur_objfile is not None and ram_to_rom is not None: - cands.append((cur_objfile, ram + ram_to_rom)) + if (for_binary and ram_to_rom is not None) or ( + not for_binary and cur_objfile is not None + ): + cands.append((cur_objfile, ram + (ram_to_rom or 0))) last_line = line except Exception as e: - import traceback - traceback.print_exc() fail(f"Internal error while parsing map file") @@ -530,385 +1158,514 @@ def search_map_file(fn_name: str, mapfile: Optional[str] = None, build_dir: Opti fail(f"Found multiple occurrences of function {fn_name} in map file.") if len(cands) == 1: return cands[0] - elif map_format == 'mw': - # ram elf rom object name - find = re.findall(re.compile(r' \S+ \S+ (\S+) (\S+) . ' + fn_name + r'(?: \(entry of \.(?:init|text)\))? \t(\S+)'), contents) + elif project.map_format == "mw": + find = re.findall( + # ram elf rom alignment + r" \S+ \S+ (\S+) (\S+) +\S+ " + + re.escape(fn_name) + + r"(?: \(entry of " + + re.escape(config.diff_section) + + r"\))? \t" + # object name + + "(\S+)", + contents, + ) if len(find) > 1: - if args.select_occurence > 0: - find = [find[args.select_occurence - 1]] - else: - print(f"Found multiple occurrences of function {fn_name} in map file:", file=sys.stderr) - for i,location in enumerate(find): - print(f" {i+1}: {location[0]} {location[1]} {str(location[2]).ljust(40, ' ')}", file=sys.stderr) - fail(f"Use --select-occurence to select the right occurrence.") + fail(f"Found multiple occurrences of function {fn_name} in map file.") if len(find) == 1: - rom = int(find[0][1],16) + rom = int(find[0][1], 16) objname = find[0][2] - # The metrowerks linker map format does not contain the full object path, so we must complete it manually. - objfiles = [os.path.join(dirpath, f) for dirpath, _, filenames in os.walk(build_dir) for f in filenames if f == objname] - if len(objfiles) > 1: - objfile = disambiguate_objects(fn_name, objfiles) - if objfile is None: - all_objects = "\n".join(objfiles) - fail(f"Found multiple objects of the same name {objname} in {build_dir}, cannot determine which to diff against: \n{all_objects}") + objfile = search_build_objects(objname, project) + # TODO Currently the ram-rom conversion only works for diffing ELF + # executables, but it would likely be more convenient to diff DOLs. + # At this time it is recommended to always use -o when running the diff + # script as this mode does not make use of the ram-rom conversion. + if objfile is not None: return objfile, rom + elif project.map_format == "ms": + load_address_find = re.search( + r"Preferred load address is ([0-9a-f]+)", + contents, + ) + if not load_address_find: + fail(f"Couldn't find module load address in map file.") + load_address = int(load_address_find.group(1), 16) - if len(objfiles) == 1: - objfile = objfiles[0] - # TODO Currently the ram-rom conversion only works for diffing ELF executables, but it would likely be more convenient to diff DOLs. - # At this time it is recommended to always use -o when running the diff script as this mode does not make use of the ram-rom conversion - return objfile, rom + diff_segment_find = re.search( + r"([0-9a-f]+):[0-9a-f]+ [0-9a-f]+H " + re.escape(config.diff_section), + contents, + ) + if not diff_segment_find: + fail(f"Couldn't find segment for section in map file.") + diff_segment = diff_segment_find.group(1) + + find = re.findall( + r" (?:" + + re.escape(diff_segment) + + r")\S+\s+(?:" + + re.escape(fn_name) + + r")\s+\S+ ... \S+", + contents, + ) + if len(find) > 1: + fail(f"Found multiple occurrences of function {fn_name} in map file.") + if len(find) == 1: + names_find = re.search(r"(\S+) ... (\S+)", find[0]) + assert names_find is not None + fileofs = ( + int(names_find.group(1), 16) + - load_address + + project.ms_map_address_offset + ) + if for_binary: + return None, fileofs + + objname = names_find.group(2) + objfile = search_build_objects(objname, project) + if objfile is not None: + return objfile, fileofs else: - fail(f"Linker map format {map_format} unrecognised.") + fail(f"Linker map format {project.map_format} unrecognised.") return None, None -def dump_elf() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: - if not baseimg or not myimg: +def parse_elf_rodata_references( + data: bytes, config: Config +) -> List[Tuple[int, int, str]]: + e_ident = data[:16] + if e_ident[:4] != b"\x7FELF": + return [] + + SHT_SYMTAB = 2 + SHT_REL = 9 + SHT_RELA = 4 + R_MIPS_32 = 2 + R_MIPS_GPREL32 = 12 + + is_32bit = e_ident[4] == 1 + is_little_endian = e_ident[5] == 1 + str_end = "<" if is_little_endian else ">" + str_off = "I" if is_32bit else "Q" + + def read(spec: str, offset: int) -> Tuple[int, ...]: + spec = spec.replace("P", str_off) + size = struct.calcsize(spec) + return struct.unpack(str_end + spec, data[offset : offset + size]) + + ( + e_type, + e_machine, + e_version, + e_entry, + e_phoff, + e_shoff, + e_flags, + e_ehsize, + e_phentsize, + e_phnum, + e_shentsize, + e_shnum, + e_shstrndx, + ) = read("HHIPPPIHHHHHH", 16) + if e_type != 1: # relocatable + return [] + assert e_shoff != 0 + assert e_shnum != 0 # don't support > 0xFF00 sections + assert e_shstrndx != 0 + + @dataclass + class Section: + sh_name: int + sh_type: int + sh_flags: int + sh_addr: int + sh_offset: int + sh_size: int + sh_link: int + sh_info: int + sh_addralign: int + sh_entsize: int + + sections = [ + Section(*read("IIPPPPIIPP", e_shoff + i * e_shentsize)) for i in range(e_shnum) + ] + shstr = sections[e_shstrndx] + sec_name_offs = [shstr.sh_offset + s.sh_name for s in sections] + sec_names = [data[offset : data.index(b"\0", offset)] for offset in sec_name_offs] + + symtab_sections = [i for i in range(e_shnum) if sections[i].sh_type == SHT_SYMTAB] + assert len(symtab_sections) == 1 + symtab = sections[symtab_sections[0]] + + section_name = config.diff_section.encode("utf-8") + text_sections = [ + i + for i in range(e_shnum) + if sec_names[i] == section_name and sections[i].sh_size != 0 + ] + if len(text_sections) != 1: + return [] + text_section = text_sections[0] + + ret: List[Tuple[int, int, str]] = [] + for s in sections: + if s.sh_type == SHT_REL or s.sh_type == SHT_RELA: + if s.sh_info == text_section: + # Skip section_name -> section_name references + continue + sec_name = sec_names[s.sh_info].decode("latin1") + if sec_name != ".rodata": + continue + sec_base = sections[s.sh_info].sh_offset + for i in range(0, s.sh_size, s.sh_entsize): + if s.sh_type == SHT_REL: + r_offset, r_info = read("PP", s.sh_offset + i) + else: + r_offset, r_info, r_addend = read("PPP", s.sh_offset + i) + + if is_32bit: + r_sym = r_info >> 8 + r_type = r_info & 0xFF + sym_offset = symtab.sh_offset + symtab.sh_entsize * r_sym + st_name, st_value, st_size, st_info, st_other, st_shndx = read( + "IIIBBH", sym_offset + ) + else: + r_sym = r_info >> 32 + r_type = r_info & 0xFFFFFFFF + sym_offset = symtab.sh_offset + symtab.sh_entsize * r_sym + st_name, st_info, st_other, st_shndx, st_value, st_size = read( + "IBBHQQ", sym_offset + ) + if st_shndx == text_section: + if s.sh_type == SHT_REL: + if e_machine == 8 and r_type in (R_MIPS_32, R_MIPS_GPREL32): + (r_addend,) = read("I", sec_base + r_offset) + else: + continue + text_offset = (st_value + r_addend) & 0xFFFFFFFF + ret.append((text_offset, r_offset, sec_name)) + return ret + + +def dump_elf( + start: str, + end: Optional[str], + diff_elf_symbol: str, + config: Config, + project: ProjectSettings, +) -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: + if not project.baseimg or not project.myimg: fail("Missing myimg/baseimg in config.") - if base_shift: + if config.base_shift: fail("--base-shift not compatible with -e") - start_addr = eval_int(args.start, "Start address must be an integer expression.") + start_addr = eval_int(start, "Start address must be an integer expression.") - if args.end is not None: - end_addr = eval_int(args.end, "End address must be an integer expression.") + if end is not None: + end_addr = eval_int(end, "End address must be an integer expression.") else: - end_addr = start_addr + MAX_FUNCTION_SIZE_BYTES + end_addr = start_addr + config.max_function_size_bytes flags1 = [ f"--start-address={start_addr}", f"--stop-address={end_addr}", ] + if project.disassemble_all: + disassemble_flag = "-D" + else: + disassemble_flag = "-d" + flags2 = [ - f"--disassemble={args.diff_elf_symbol}", + f"--disassemble={diff_elf_symbol}", ] - objdump_flags = ["-drz", "-j", ".text"] + objdump_flags = [disassemble_flag, "-rz", "-j", config.diff_section] return ( - myimg, - (objdump_flags + flags1, baseimg, None), - (objdump_flags + flags2 + maybe_get_objdump_source_flags(), myimg, None), + project.myimg, + (objdump_flags + flags1, project.baseimg, None), + ( + objdump_flags + flags2 + maybe_get_objdump_source_flags(config), + project.myimg, + None, + ), ) -def dump_objfile() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: - if base_shift: +def dump_objfile( + start: str, end: Optional[str], config: Config, project: ProjectSettings +) -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: + if config.base_shift: fail("--base-shift not compatible with -o") - if args.end is not None: + if end is not None: fail("end address not supported together with -o") - if args.start.startswith("0"): + if start.startswith("0"): fail("numerical start address not supported with -o; pass a function name") - objfile, _ = search_map_file(args.start, config.get('mapfile'), config.get('build_dir')) + objfile = config.objfile + if not objfile: + objfile, _ = search_map_file(start, project, config, for_binary=False) + if not objfile: fail("Not able to find .o file for function.") - if args.make: - run_make(objfile) + if config.make: + run_make(objfile, project) if not os.path.isfile(objfile): fail(f"Not able to find .o file for function: {objfile} is not a file.") - refobjfile, _ = search_map_file(args.lhs_name or args.start, config.get('expected_mapfile'), config.get('expected_build_dir')) - if not refobjfile: - fail("Not able to find .o file for reference function.") + refobjfile = "expected/" + objfile if not os.path.isfile(refobjfile): fail(f'Please ensure an OK .o file exists at "{refobjfile}".') - objdump_flags = ["-drz"] + if project.disassemble_all: + disassemble_flag = "-D" + else: + disassemble_flag = "-d" + + objdump_flags = [disassemble_flag, "-rz", "-j", config.diff_section] return ( objfile, - (objdump_flags, refobjfile, args.lhs_name or args.start), - (objdump_flags + maybe_get_objdump_source_flags(), objfile, args.start), + (objdump_flags, refobjfile, start), + (objdump_flags + maybe_get_objdump_source_flags(config), objfile, start), ) -def dump_binary() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: - if not baseimg or not myimg: +def dump_binary( + start: str, end: Optional[str], config: Config, project: ProjectSettings +) -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: + if not project.baseimg or not project.myimg: fail("Missing myimg/baseimg in config.") - if args.make: - run_make(myimg) - start_addr = maybe_eval_int(args.start) + if config.make: + run_make(project.myimg, project) + start_addr = maybe_eval_int(start) if start_addr is None: - _, start_addr = search_map_file(args.start) + _, start_addr = search_map_file(start, project, config, for_binary=True) if start_addr is None: fail("Not able to find function in map file.") - if args.end is not None: - end_addr = eval_int(args.end, "End address must be an integer expression.") + if end is not None: + end_addr = eval_int(end, "End address must be an integer expression.") else: - end_addr = start_addr + MAX_FUNCTION_SIZE_BYTES - objdump_flags = ["-Dz", "-EB"] + end_addr = start_addr + config.max_function_size_bytes + objdump_flags = ["-Dz", "-bbinary"] + ["-EB" if config.arch.big_endian else "-EL"] flags1 = [ - f"--start-address={start_addr + base_shift}", - f"--stop-address={end_addr + base_shift}", + f"--start-address={start_addr + config.base_shift}", + f"--stop-address={end_addr + config.base_shift}", ] flags2 = [f"--start-address={start_addr}", f"--stop-address={end_addr}"] return ( - myimg, - (objdump_flags + flags1, baseimg, None), - (objdump_flags + flags2, myimg, None), + project.myimg, + (objdump_flags + flags1, project.baseimg, None), + (objdump_flags + flags2, project.myimg, None), ) -def ansi_ljust(s: str, width: int) -> str: - """Like s.ljust(width), but accounting for ANSI colors.""" - needed: int = width - ansiwrap.ansilen(s) - if needed > 0: - return s + " " * needed - else: - return s - -if arch == "mips": - re_int = re.compile(r"[0-9]+") - re_comment = re.compile(r"<.*?>") - re_reg = re.compile( - r"\$?\b(a[0-3]|t[0-9]|s[0-8]|at|v[01]|f[12]?[0-9]|f3[01]|k[01]|fp|ra|zero)\b" - ) - re_sprel = re.compile(r"(?<=,)([0-9]+|0x[0-9a-f]+)\(sp\)") - re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}") - re_imm = re.compile(r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(sp)|%(lo|hi)\([^)]*\)") - forbidden = set(string.ascii_letters + "_") - arch_flags = ["-m", "mips:4300"] - branch_likely_instructions = { - "beql", - "bnel", - "beqzl", - "bnezl", - "bgezl", - "bgtzl", - "blezl", - "bltzl", - "bc1tl", - "bc1fl", - } - branch_instructions = branch_likely_instructions.union( - { - "b", - "beq", - "bne", - "beqz", - "bnez", - "bgez", - "bgtz", - "blez", - "bltz", - "bc1t", - "bc1f", - } - ) - instructions_with_address_immediates = branch_instructions.union({"jal", "j"}) -elif arch == "aarch64": - re_int = re.compile(r"[0-9]+") - re_comment = re.compile(r"(<.*?>|//.*$)") - # GPRs and FP registers: X0-X30, W0-W30, [DSHQ]0..31 - # The zero registers and SP should not be in this list. - re_reg = re.compile(r"\$?\b([dshq][12]?[0-9]|[dshq]3[01]|[xw][12]?[0-9]|[xw]30)\b") - re_sprel = re.compile(r"sp, #-?(0x[0-9a-fA-F]+|[0-9]+)\b") - re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}") - re_imm = re.compile(r"(?$|<.*?>|//.*$)") - re_reg = re.compile(r"\$?\b([rf][0-9]+)\b") - re_sprel = re.compile(r"(?<=,)(-?[0-9]+|-?0x[0-9a-f]+)\(r1\)") - re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}") - re_imm = re.compile(r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(r1)|[^@]*@(ha|h|lo)") - re_file_line = re.compile(r"(.*\.cpp)\:([0-9]+)") - arch_flags = [] - forbidden = set(string.ascii_letters + "_") - branch_likely_instructions = set() - branch_instructions = { - "b", - "beq", - "beq+", - "beq-", - "bne", - "bne+", - "bne-", - "blt", - "blt+", - "blt-", - "ble", - "ble+", - "ble-", - "bdnz", - "bdnz+", - "bdnz-", - "bge", - "bge+", - "bge-", - "bgt", - "bgt+", - "bgt-", - } - instructions_with_address_immediates = branch_instructions.union({"bl"}) -else: - fail(f"Unknown architecture: {arch}") +# Example: "ldr r4, [pc, #56] ; (4c )" +ARM32_LOAD_POOL_PATTERN = r"(ldr\s+r([0-9]|1[0-3]),\s+\[pc,.*;\s*)(\([a-fA-F0-9]+.*\))" -def hexify_int(row: str, pat: Match[str]) -> str: - full = pat.group(0) - if len(full) <= 1: - # leave one-digit ints alone - return full - start, end = pat.span() - if start and row[start - 1] in forbidden: - return full - if end < len(row) and row[end] in forbidden: - return full - return hex(int(full)) +# The base class is a no-op. +class AsmProcessor: + def __init__(self, config: Config) -> None: + self.config = config + def pre_process( + self, mnemonic: str, args: str, next_row: Optional[str] + ) -> Tuple[str, str]: + return mnemonic, args -def parse_relocated_line(line: str) -> Tuple[str, str, str]: - try: - ind2 = line.rindex(",") - except ValueError: - try: - ind2 = line.rindex("\t") - except ValueError: - ind2 = line.rindex(" ") - before = line[: ind2 + 1] - after = line[ind2 + 1 :] - ind2 = after.find("(") - if ind2 == -1: - imm, after = after, "" - else: - imm, after = after[:ind2], after[ind2:] - if imm == "0x0": - imm = "0" - return before, imm, after + def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: + return prev, None - -def process_mips_reloc(row: str, prev: str) -> str: - before, imm, after = parse_relocated_line(prev) - repl = row.split()[-1] - if imm != "0": - # MIPS uses relocations with addends embedded in the code as immediates. - # If there is an immediate, show it as part of the relocation. Ideally - # we'd show this addend in both %lo/%hi, but annoyingly objdump's output - # doesn't include enough information to pair up %lo's and %hi's... - # TODO: handle unambiguous cases where all addends for a symbol are the - # same, or show "+???". - mnemonic = prev.split()[0] - if mnemonic in instructions_with_address_immediates and not imm.startswith("0x"): - imm = "0x" + imm - repl += "+" + imm if int(imm, 0) > 0 else imm - if "R_MIPS_LO16" in row: - repl = f"%lo({repl})" - elif "R_MIPS_HI16" in row: - # Ideally we'd pair up R_MIPS_LO16 and R_MIPS_HI16 to generate a - # correct addend for each, but objdump doesn't give us the order of - # the relocations, so we can't find the right LO16. :( - repl = f"%hi({repl})" - elif "R_MIPS_26" in row: - # Function calls - pass - elif "R_MIPS_PC16" in row: - # Branch to glabel. This gives confusing output, but there's not much - # we can do here. - pass - else: - assert False, f"unknown relocation type '{row}' for line '{prev}'" - return before + repl + after - - -def process_ppc_reloc(row: str, prev: str) -> str: - assert any(r in row for r in ["R_PPC_REL24", "R_PPC_ADDR16", "R_PPC_EMB_SDA21"]), f"unknown relocation type '{row}' for line '{prev}'" - before, imm, after = parse_relocated_line(prev) - repl = row.split()[-1] - if "R_PPC_REL24" in row: - # function calls - pass - elif "R_PPC_ADDR16_HI" in row: - # absolute hi of addr - repl = f"{repl}@h" - elif "R_PPC_ADDR16_HA" in row: - # adjusted hi of addr - repl = f"{repl}@ha" - elif "R_PPC_ADDR16_LO" in row: - # lo of addr - repl = f"{repl}@l" - elif "R_PPC_ADDR16" in row: - # 16-bit absolute addr - if "+0x7" in repl: - # remove the very large addends as they are an artifact of (label-_SDA(2)_BASE_) - # computations and are unimportant in a diff setting. - if int(repl.split("+")[1],16) > 0x70000000: - repl = repl.split("+")[0] - elif "R_PPC_EMB_SDA21" in row: - # small data area - pass - return before + repl + after - - -def pad_mnemonic(line: str) -> str: - if "\t" not in line: - return line - mn, args = line.split("\t", 1) - return f"{mn:<7s} {args}" - - -class Line(NamedTuple): - mnemonic: str - diff_row: str - original: str - normalized_original: str - line_num: str - branch_target: Optional[str] - source_lines: List[str] - comment: Optional[str] - - -class DifferenceNormalizer: def normalize(self, mnemonic: str, row: str) -> str: """This should be called exactly once for each line.""" + arch = self.config.arch row = self._normalize_arch_specific(mnemonic, row) - if args.ignore_large_imms: - row = re.sub(re_large_imm, "", row) + if self.config.ignore_large_imms and mnemonic not in arch.branch_instructions: + row = re.sub(self.config.arch.re_large_imm, "", row) return row def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: return row + def post_process(self, lines: List["Line"]) -> None: + return -class DifferenceNormalizerAArch64(DifferenceNormalizer): - def __init__(self) -> None: - super().__init__() + def is_end_of_function(self, mnemonic: str, args: str) -> bool: + return False + + +class AsmProcessorMIPS(AsmProcessor): + def __init__(self, config: Config) -> None: + super().__init__(config) + self.seen_jr_ra = False + + def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: + arch = self.config.arch + if "R_MIPS_NONE" in row or "R_MIPS_JALR" in row: + # GNU as emits no-op relocations immediately after real ones when + # assembling with -mabi=64. Return without trying to parse 'imm' as an + # integer. + return prev, None + before, imm, after = parse_relocated_line(prev) + repl = row.split()[-1] + reloc_addend_from_imm(imm, before, self.config.arch) + if "R_MIPS_LO16" in row: + repl = f"%lo({repl})" + elif "R_MIPS_HI16" in row: + # Ideally we'd pair up R_MIPS_LO16 and R_MIPS_HI16 to generate a + # correct addend for each, but objdump doesn't give us the order of + # the relocations, so we can't find the right LO16. :( + repl = f"%hi({repl})" + elif "R_MIPS_26" in row: + # Function calls + pass + elif "R_MIPS_PC16" in row: + # Branch to glabel. This gives confusing output, but there's not much + # we can do here. + pass + elif "R_MIPS_GPREL16" in row: + repl = f"%gp_rel({repl})" + elif "R_MIPS_GOT16" in row: + repl = f"%got({repl})" + elif "R_MIPS_CALL16" in row: + repl = f"%call16({repl})" + else: + assert False, f"unknown relocation type '{row}' for line '{prev}'" + return before + repl + after, repl + + def is_end_of_function(self, mnemonic: str, args: str) -> bool: + if self.seen_jr_ra: + return True + if mnemonic == "jr" and args == "ra": + self.seen_jr_ra = True + return False + + +class AsmProcessorPPC(AsmProcessor): + def pre_process( + self, mnemonic: str, args: str, next_row: Optional[str] + ) -> Tuple[str, str]: + + if next_row and "R_PPC_EMB_SDA21" in next_row: + # With sda21 relocs, the linker transforms `r0` into `r2`/`r13`, and + # we may encounter this in either pre-transformed or post-transformed + # versions depending on if the .o file comes from compiler output or + # from disassembly. Normalize, to make sure both forms are treated as + # equivalent. + + args = args.replace("(r2)", "(0)") + args = args.replace("(r13)", "(0)") + args = args.replace(",r2,", ",0,") + args = args.replace(",r13,", ",0,") + + # We want to convert li and lis with an sda21 reloc, + # because the r0 to r2/r13 transformation results in + # turning an li/lis into an addi/addis with r2/r13 arg + # our preprocessing normalizes all versions to addi with a 0 arg + if mnemonic in {"li", "lis"}: + mnemonic = mnemonic.replace("li", "addi") + args_parts = args.split(",") + args = args_parts[0] + ",0," + args_parts[1] + + return mnemonic, args + + def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: + arch = self.config.arch + assert any( + r in row + for r in ["R_PPC_REL24", "R_PPC_ADDR16", "R_PPC_EMB_SDA21", "R_PPC_REL14"] + ), f"unknown relocation type '{row}' for line '{prev}'" + before, imm, after = parse_relocated_line(prev) + repl = row.split()[-1] + if "R_PPC_REL24" in row: + # function calls + pass + if "R_PPC_REL14" in row: + pass + elif "R_PPC_ADDR16_HI" in row: + # absolute hi of addr + repl = f"{repl}@h" + elif "R_PPC_ADDR16_HA" in row: + # adjusted hi of addr + repl = f"{repl}@ha" + elif "R_PPC_ADDR16_LO" in row: + # lo of addr + repl = f"{repl}@l" + elif "R_PPC_ADDR16" in row: + # 16-bit absolute addr + if "+0x7" in repl: + # remove the very large addends as they are an artifact of (label-_SDA(2)_BASE_) + # computations and are unimportant in a diff setting. + if int(repl.split("+")[1], 16) > 0x70000000: + repl = repl.split("+")[0] + elif "R_PPC_EMB_SDA21" in row: + # sda21 relocations; r2/r13 --> 0 swaps are performed in pre_process + repl = f"{repl}@sda21" + + return before + repl + after, repl + + def is_end_of_function(self, mnemonic: str, args: str) -> bool: + return mnemonic == "blr" + + +class AsmProcessorARM32(AsmProcessor): + def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: + arch = self.config.arch + if "R_ARM_V4BX" in row: + # R_ARM_V4BX converts "bx " to "mov pc," for some targets. + # Ignore for now. + return prev, None + if "R_ARM_ABS32" in row and not prev.startswith(".word"): + # Don't crash on R_ARM_ABS32 relocations incorrectly applied to code. + # (We may want to do something more fancy here that actually shows the + # related symbol, but this serves as a stop-gap.) + return prev, None + before, imm, after = parse_relocated_line(prev) + repl = row.split()[-1] + reloc_addend_from_imm(imm, before, self.config.arch) + return before + repl + after, repl + + def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: + if self.config.ignore_addr_diffs: + row = self._normalize_bl(mnemonic, row) + row = self._normalize_data_pool(row) + return row + + def _normalize_bl(self, mnemonic: str, row: str) -> str: + if mnemonic != "bl": + return row + + row, _ = split_off_address(row) + return row + "" + + def _normalize_data_pool(self, row: str) -> str: + pool_match = re.search(ARM32_LOAD_POOL_PATTERN, row) + return pool_match.group(1) if pool_match else row + + def post_process(self, lines: List["Line"]) -> None: + lines_by_line_number = {} + for line in lines: + lines_by_line_number[line.line_num] = line + for line in lines: + if line.data_pool_addr is None: + continue + + # Add data symbol and its address to the line. + line_original = lines_by_line_number[line.data_pool_addr].original + value = line_original.split()[1] + addr = "{:x}".format(line.data_pool_addr) + line.original = line.normalized_original + f"={value} ({addr})" + + +class AsmProcessorAArch64(AsmProcessor): + def __init__(self, config: Config) -> None: + super().__init__(config) self._adrp_pair_registers: Set[str] = set() def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: - if args.ignore_addr_diffs: + if self.config.ignore_addr_diffs: row = self._normalize_adrp_differences(mnemonic, row) row = self._normalize_bl(mnemonic, row) return row @@ -917,8 +1674,8 @@ class DifferenceNormalizerAArch64(DifferenceNormalizer): if mnemonic != "bl": return row - row, _ = split_off_branch(row) - return row + row, _ = split_off_address(row) + return row + "" def _normalize_adrp_differences(self, mnemonic: str, row: str) -> str: """Identifies ADRP + LDR/ADD pairs that are used to access the GOT and @@ -933,153 +1690,651 @@ class DifferenceNormalizerAArch64(DifferenceNormalizer): row_parts = row.split("\t", 1) if mnemonic == "adrp": self._adrp_pair_registers.add(row_parts[1].strip().split(",")[0]) - row, _ = split_off_branch(row) + row, _ = split_off_address(row) + return row + "" elif mnemonic == "ldr": for reg in self._adrp_pair_registers: # ldr xxx, [reg] # ldr xxx, [reg, ] if f", [{reg}" in row_parts[1]: self._adrp_pair_registers.remove(reg) - return normalize_imms(row) + return normalize_imms(row, AARCH64_SETTINGS) elif mnemonic == "add": for reg in self._adrp_pair_registers: # add reg, reg, if row_parts[1].startswith(f"{reg}, {reg}, "): self._adrp_pair_registers.remove(reg) - return normalize_imms(row) + return normalize_imms(row, AARCH64_SETTINGS) return row -def make_difference_normalizer() -> DifferenceNormalizer: - if arch == "aarch64": - return DifferenceNormalizerAArch64() - return DifferenceNormalizer() +class AsmProcessorI686(AsmProcessor): + def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]: + repl = row.split()[-1] + mnemonic, args = prev.split(maxsplit=1) -@functools.lru_cache(maxsize=None) # ideally would use functools.cache but that needs py3.9 which most ppl don't have -def convert_src_path(path: str) -> str: - if args.source_path_postprocess == 'none': ... - elif args.source_path_postprocess == 'unix': - # on Wine, use winepath to convert - path = subprocess.check_output(["winepath","-u", path], universal_newlines=True).strip() - elif args.source_path_postprocess == 'wsl': - # on WSL, use wslpath to convert - path = subprocess.check_output(["wslpath","-ua", path], universal_newlines=True).strip() + addr_imm = re.search(r"(? List[Line]: - file_cache = dict() - normalizer = make_difference_normalizer() + return f"{mnemonic}\t{args[:start]+repl+args[end:]}", repl + + def is_end_of_function(self, mnemonic: str, args: str) -> bool: + return mnemonic == "ret" + + +@dataclass +class ArchSettings: + name: str + re_int: Pattern[str] + re_comment: Pattern[str] + re_reg: Pattern[str] + re_sprel: Pattern[str] + re_large_imm: Pattern[str] + re_imm: Pattern[str] + re_reloc: Pattern[str] + branch_instructions: Set[str] + instructions_with_address_immediates: Set[str] + forbidden: Set[str] = field(default_factory=lambda: set(string.ascii_letters + "_")) + arch_flags: List[str] = field(default_factory=list) + branch_likely_instructions: Set[str] = field(default_factory=set) + proc: Type[AsmProcessor] = AsmProcessor + big_endian: Optional[bool] = True + delay_slot_instructions: Set[str] = field(default_factory=set) + + +MIPS_BRANCH_LIKELY_INSTRUCTIONS = { + "beql", + "bnel", + "beqzl", + "bnezl", + "bgezl", + "bgtzl", + "blezl", + "bltzl", + "bc1tl", + "bc1fl", +} +MIPS_BRANCH_INSTRUCTIONS = MIPS_BRANCH_LIKELY_INSTRUCTIONS.union( + { + "b", + "beq", + "bne", + "beqz", + "bnez", + "bgez", + "bgtz", + "blez", + "bltz", + "bc1t", + "bc1f", + } +) + +ARM32_PREFIXES = {"b", "bl"} +ARM32_CONDS = { + "", + "eq", + "ne", + "cs", + "cc", + "mi", + "pl", + "vs", + "vc", + "hi", + "ls", + "ge", + "lt", + "gt", + "le", + "al", +} +ARM32_SUFFIXES = {"", ".n", ".w"} +ARM32_BRANCH_INSTRUCTIONS = { + f"{prefix}{cond}{suffix}" + for prefix in ARM32_PREFIXES + for cond in ARM32_CONDS + for suffix in ARM32_SUFFIXES +} + +AARCH64_BRANCH_INSTRUCTIONS = { + "b", + "b.eq", + "b.ne", + "b.cs", + "b.hs", + "b.cc", + "b.lo", + "b.mi", + "b.pl", + "b.vs", + "b.vc", + "b.hi", + "b.ls", + "b.ge", + "b.lt", + "b.gt", + "b.le", + "cbz", + "cbnz", + "tbz", + "tbnz", +} + +PPC_BRANCH_INSTRUCTIONS = { + "b", + "beq", + "beq+", + "beq-", + "bne", + "bne+", + "bne-", + "blt", + "blt+", + "blt-", + "ble", + "ble+", + "ble-", + "bdnz", + "bdnz+", + "bdnz-", + "bge", + "bge+", + "bge-", + "bgt", + "bgt+", + "bgt-", +} + +I686_BRANCH_INSTRUCTIONS = { + "call", + "jmp", + "ljmp", + "ja", + "jae", + "jb", + "jbe", + "jc", + "jcxz", + "jecxz", + "jrcxz", + "je", + "jg", + "jge", + "jl", + "jle", + "jna", + "jnae", + "jnb", + "jnbe", + "jnc", + "jne", + "jng", + "jnge", + "jnl", + "jnle", + "jno", + "jnp", + "jns", + "jnz", + "jo", + "jp", + "jpe", + "jpo", + "js", + "jz", + "ja", + "jae", + "jb", + "jbe", + "jc", + "je", + "jz", + "jg", + "jge", + "jl", + "jle", + "jna", + "jnae", + "jnb", + "jnbe", + "jnc", + "jne", + "jng", + "jnge", + "jnl", + "jnle", + "jno", + "jnp", + "jns", + "jnz", + "jo", + "jp", + "jpe", + "jpo", + "js", + "jz", +} + +MIPS_SETTINGS = ArchSettings( + name="mips", + re_int=re.compile(r"[0-9]+"), + re_comment=re.compile(r"<.*>"), + # Includes: + # - General purpose registers v0..1, a0..7, t0..9, s0..8, zero, at, fp, k0..1/kt0..1 + # - Float registers f0..31, or fv0..1, fa0..7, ft0..15, fs0..8 plus odd complements + # (actually used number depends on ABI) + # sp, gp should not be in this list + re_reg=re.compile(r"\$?\b([astv][0-9]|at|f[astv]?[0-9]+f?|kt?[01]|fp|ra|zero)\b"), + re_sprel=re.compile(r"(?<=,)([0-9]+|0x[0-9a-f]+)\(sp\)"), + re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), + re_imm=re.compile( + r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(sp)|%(lo|hi|got|gp_rel|call16)\([^)]*\)" + ), + re_reloc=re.compile(r"R_MIPS_"), + arch_flags=["-m", "mips:4300"], + branch_likely_instructions=MIPS_BRANCH_LIKELY_INSTRUCTIONS, + branch_instructions=MIPS_BRANCH_INSTRUCTIONS, + instructions_with_address_immediates=MIPS_BRANCH_INSTRUCTIONS.union({"j", "jal"}), + delay_slot_instructions=MIPS_BRANCH_INSTRUCTIONS.union({"j", "jal", "jr", "jalr"}), + proc=AsmProcessorMIPS, +) + +MIPSEL_SETTINGS = replace(MIPS_SETTINGS, name="mipsel", big_endian=False) + +MIPSEE_SETTINGS = replace( + MIPSEL_SETTINGS, name="mipsee", arch_flags=["-m", "mips:5900"] +) + +MIPS_ARCH_NAMES = {"mips", "mipsel", "mipsee"} + +ARM32_SETTINGS = ArchSettings( + name="arm32", + re_int=re.compile(r"[0-9]+"), + re_comment=re.compile(r"(<.*>|//.*$)"), + # Includes: + # - General purpose registers: r0..13 + # - Frame pointer registers: lr (r14), pc (r15) + # - VFP/NEON registers: s0..31, d0..31, q0..15, fpscr, fpexc, fpsid + # SP should not be in this list. + re_reg=re.compile( + r"\$?\b([rq][0-9]|[rq]1[0-5]|pc|lr|[ds][12]?[0-9]|[ds]3[01]|fp(scr|exc|sid))\b" + ), + re_sprel=re.compile(r"sp, #-?(0x[0-9a-fA-F]+|[0-9]+)\b"), + re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), + re_imm=re.compile(r"(?|//.*$)"), + # GPRs and FP registers: X0-X30, W0-W30, [BHSDVQ]0..31 + # (FP registers may be followed by data width and number of elements, e.g. V0.4S) + # The zero registers and SP should not be in this list. + re_reg=re.compile( + r"\$?\b([bhsdvq]([12]?[0-9]|3[01])(\.\d\d?[bhsdvq])?|[xw][12]?[0-9]|[xw]30)\b" + ), + re_sprel=re.compile(r"sp, #-?(0x[0-9a-fA-F]+|[0-9]+)\b"), + re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), + re_imm=re.compile(r"(?|//.*$)"), + # r1 not included + re_reg=re.compile(r"\$?\b([rf](?:[02-9]|[1-9][0-9]+)|f1)\b"), + re_sprel=re.compile(r"(?<=,)(-?[0-9]+|-?0x[0-9a-f]+)\(r1\)"), + re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), + re_imm=re.compile( + r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(r1)|[^ \t,]+@(l|ha|h|sda21)" + ), + re_reloc=re.compile(r"R_PPC_"), + arch_flags=["-m", "powerpc", "-M", "broadway"], + branch_instructions=PPC_BRANCH_INSTRUCTIONS, + instructions_with_address_immediates=PPC_BRANCH_INSTRUCTIONS.union({"bl"}), + proc=AsmProcessorPPC, +) + +I686_SETTINGS = ArchSettings( + name="i686", + re_int=re.compile(r"[0-9]+"), + re_comment=re.compile(r"<.*>"), + # Includes: + # - (e)a-d(x,l,h) + # - (e)s,d,b(i,p)(l) + # - cr0-7 + # - x87 st + # - MMX, SSE vector registers + # - cursed registers: eal ebl ebh edl edh... + re_reg=re.compile( + r"\%?\b(e?(([sd]i|[sb]p)l?|[abcd][xhl])|[cdesfg]s|cr[0-7]|x?mm[0-7]|st)\b" + ), + re_large_imm=re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}"), + re_sprel=re.compile(r"-?(0x[0-9a-f]+|[0-9]+)(?=\((%ebp|%esi)\))"), + re_imm=re.compile(r"-?(0x[0-9a-f]+|[0-9]+)"), + re_reloc=re.compile(r"R_386_"), + # The x86 architecture has a variable instruction length. The raw bytes of + # an instruction as displayed by objdump can line wrap if it's long enough. + # This destroys the objdump output processor logic, so we avoid this. + arch_flags=["-m", "i386", "--no-show-raw-insn"], + branch_instructions=I686_BRANCH_INSTRUCTIONS, + instructions_with_address_immediates=I686_BRANCH_INSTRUCTIONS.union({"mov"}), + proc=AsmProcessorI686, +) + +ARCH_SETTINGS = [ + MIPS_SETTINGS, + MIPSEL_SETTINGS, + MIPSEE_SETTINGS, + ARM32_SETTINGS, + ARMEL_SETTINGS, + AARCH64_SETTINGS, + PPC_SETTINGS, + I686_SETTINGS, +] + + +def hexify_int(row: str, pat: Match[str], arch: ArchSettings) -> str: + full = pat.group(0) + if len(full) <= 1: + # leave one-digit ints alone + return full + start, end = pat.span() + if start and row[start - 1] in arch.forbidden: + return full + if end < len(row) and row[end] in arch.forbidden: + return full + return hex(int(full)) + + +def parse_relocated_line(line: str) -> Tuple[str, str, str]: + # Pick out the last argument + for c in ",\t ": + if c in line: + ind2 = line.rindex(c) + break + else: + raise Exception(f"failed to parse relocated line: {line}") + before = line[: ind2 + 1] + after = line[ind2 + 1 :] + # Move an optional ($reg) part of it to 'after' + ind2 = after.find("(") + if ind2 == -1: + imm, after = after, "" + else: + imm, after = after[:ind2], after[ind2:] + return before, imm, after + + +def reloc_addend_from_imm(imm: str, before: str, arch: ArchSettings) -> str: + """For architectures like MIPS where relocations have addends embedded in + the code as immediates, convert such an immediate into an addition/ + subtraction that can occur just after the symbol.""" + # TODO this is incorrect for MIPS %lo/%hi which need to be paired up + # and combined. In practice, this means we only get symbol offsets within + # %lo, while %hi just shows the symbol. Unfortunately, objdump's output + # loses relocation order, so we cannot do this without parsing ELF relocs + # ourselves... + mnemonic = before.split()[0] + if mnemonic in arch.instructions_with_address_immediates: + addend = int(imm, 16) + else: + addend = int(imm, 0) + if addend == 0: + return "" + elif addend < 0: + return hex(addend) + else: + return "+" + hex(addend) + + +def pad_mnemonic(line: str) -> str: + if "\t" not in line: + return line + mn, args = line.split("\t", 1) + return f"{mn:<7s} {args}" + + +@dataclass +class Line: + mnemonic: str + diff_row: str + original: str + normalized_original: str + scorable_line: str + symbol: Optional[str] = None + line_num: Optional[int] = None + branch_target: Optional[int] = None + data_pool_addr: Optional[int] = None + source_filename: Optional[str] = None + source_line_num: Optional[int] = None + source_lines: List[str] = field(default_factory=list) + comment: Optional[str] = None + + +def process(dump: str, config: Config) -> List[Line]: + arch = config.arch + processor = arch.proc(config) skip_next = False source_lines = [] - if not args.diff_obj: - lines = lines[7:] - if lines and not lines[-1]: - lines.pop() + source_filename = None + source_line_num = None - last_path = None - last_line = None + i = 0 + num_instr = 0 + data_refs: Dict[int, Dict[str, List[int]]] = defaultdict(lambda: defaultdict(list)) output: List[Line] = [] stop_after_delay_slot = False - for row in lines: - if args.diff_obj and (">:" in row or not row): + lines = dump.split("\n") + while i < len(lines): + row = lines[i] + i += 1 + + if not row: continue - if "R_AARCH64_" in row: - # TODO: handle relocation + if re.match(r"^[0-9a-f]+ <.*>:$", row): continue - if "R_MIPS_" in row: - # N.B. Don't transform the diff rows, they already ignore immediates - # if output[-1].diff_row != "": - # output[-1] = output[-1].replace(diff_row=process_mips_reloc(row, output[-1].row_with_imm)) - new_original = process_mips_reloc(row, output[-1].original) - output[-1] = output[-1]._replace(original=new_original) + if row.startswith("DATAREF"): + parts = row.split(" ", 3) + text_offset = int(parts[1]) + from_offset = int(parts[2]) + from_section = parts[3] + data_refs[text_offset][from_section].append(from_offset) continue - if "R_PPC_" in row: - new_original = process_ppc_reloc(row, output[-1].original) - output[-1] = output[-1]._replace(original=new_original) + if config.diff_obj and num_instr >= config.max_function_size_lines: + output.append( + Line( + mnemonic="...", + diff_row="...", + original="...", + normalized_original="...", + scorable_line="...", + ) + ) + break + + if not re.match(r"^\s+[0-9a-f]+:\s+", row): + # This regex is conservative, and assumes the file path does not contain "weird" + # characters like tabs or angle brackets. + if re.match(r"^[^ \t<>][^\t<>]*:[0-9]+( \(discriminator [0-9]+\))?$", row): + source_filename, _, tail = row.rpartition(":") + source_line_num = int(tail.partition(" ")[0]) + source_lines.append(row) continue - if args.source and (row and row[0] != " "): - m_file_line = re.match(re_file_line, row) - if m_file_line: - path = convert_src_path(m_file_line.group(1)) - line = int(m_file_line.group(2)) + # If the instructions loads a data pool symbol, extract the address of + # the symbol. + data_pool_addr = None + pool_match = re.search(ARM32_LOAD_POOL_PATTERN, row) + if pool_match: + offset = pool_match.group(3).split(" ")[0][1:] + data_pool_addr = int(offset, 16) - if path in file_cache: - file_lines = file_cache[path] - else: - if not Path(path).is_file(): - fail(f"Source file not found: '{path}'") - with open(path) as source_file: - file_lines = source_file.readlines() - file_cache[path] = [x.rstrip() for x in file_lines] - - if path == last_path: - if last_line: - i = last_line - while i + 1 < line: - if i > 0 and i <= len(file_lines): - source_lines.append(file_lines[i - 1]) - i += 1 - else: - source_lines.append(f"// \"{elide_path(Path(path), n_lhs=0, n_rhs=2)}\"") - - if line > 0 and line <= len(file_lines): - source_lines.append(file_lines[line - 1]) - - last_path = path - last_line = line - else: - last_path = None - last_line = None - source_lines.append(row) - continue - - m_comment = re.search(re_comment, row) + m_comment = re.search(arch.re_comment, row) comment = m_comment[0] if m_comment else None - row = re.sub(re_comment, "", row) + row = re.sub(arch.re_comment, "", row) + line_num_str = row.split(":")[0] row = row.rstrip() tabs = row.split("\t") - row = "\t".join(tabs[2:]) - line_num = tabs[0].strip() + line_num = eval_line_num(line_num_str.strip()) + + # TODO: use --no-show-raw-insn for all arches + if arch.name == "i686": + row = "\t".join(tabs[1:]) + else: + row = "\t".join(tabs[2:]) + + if line_num in data_refs: + refs = data_refs[line_num] + ref_str = "; ".join( + section_name + "+" + ",".join(hex(off) for off in offs) + for section_name, offs in refs.items() + ) + output.append( + Line( + mnemonic="", + diff_row="", + original=ref_str, + normalized_original=ref_str, + scorable_line="", + ) + ) if "\t" in row: row_parts = row.split("\t", 1) else: # powerpc-eabi-objdump doesn't use tabs row_parts = [part.lstrip() for part in row.split(" ", 1)] - mnemonic = row_parts[0].strip() - if mnemonic not in instructions_with_address_immediates: - row = re.sub(re_int, lambda m: hexify_int(row, m), row) + mnemonic = row_parts[0].strip() + args = row_parts[1].strip() if len(row_parts) >= 2 else "" + + next_line = lines[i] if i < len(lines) else None + mnemonic, args = processor.pre_process(mnemonic, args, next_line) + row = mnemonic + "\t" + args.replace("\t", " ") + + addr = "" + if mnemonic in arch.instructions_with_address_immediates: + row, addr = split_off_address(row) + # objdump prefixes addresses with 0x/-0x if they don't resolve to some + # symbol + offset. Strip that. + addr = addr.replace("0x", "") + + row = re.sub(arch.re_int, lambda m: hexify_int(row, m, arch), row) + row += addr + + # Let 'original' be 'row' with relocations applied, while we continue + # transforming 'row' into a coarser version that ignores registers and + # immediates. original = row - normalized_original = normalizer.normalize(mnemonic, original) + + symbol = None + while i < len(lines): + reloc_row = lines[i] + if re.search(arch.re_reloc, reloc_row): + original, reloc_symbol = processor.process_reloc(reloc_row, original) + if reloc_symbol is not None: + symbol = reloc_symbol + else: + break + i += 1 + + is_text_relative_j = False + if ( + arch.name in MIPS_ARCH_NAMES + and mnemonic == "j" + and symbol is not None + and symbol.startswith(".text") + ): + symbol = None + original = row + is_text_relative_j = True + + normalized_original = processor.normalize(mnemonic, original) + + scorable_line = normalized_original + if not config.score_stack_differences: + scorable_line = re.sub(arch.re_sprel, "addr(sp)", scorable_line) + if skip_next: skip_next = False row = "" mnemonic = "" - if mnemonic in branch_likely_instructions: + scorable_line = "" + if mnemonic in arch.branch_likely_instructions: skip_next = True - row = re.sub(re_reg, "", row) - row = re.sub(re_sprel, "addr(sp)", row) + + row = re.sub(arch.re_reg, "", row) + row = re.sub(arch.re_sprel, "addr(sp)", row) row_with_imm = row - if mnemonic in instructions_with_address_immediates: + if mnemonic in arch.instructions_with_address_immediates: row = row.strip() - row, _ = split_off_branch(row) + row, _ = split_off_address(row) row += "" else: - row = normalize_imms(row) + row = normalize_imms(row, arch) branch_target = None - if mnemonic in branch_instructions: - target = row_parts[1].strip().split(",")[-1] - if mnemonic in branch_likely_instructions: - target = hex(int(target, 16) - 4)[2:] - branch_target = target.strip() + if ( + mnemonic in arch.branch_instructions or is_text_relative_j + ) and symbol is None: + x86_longjmp = re.search(r"\*(.*)\(", args) + if x86_longjmp: + capture = x86_longjmp.group(1) + if capture != "": + branch_target = int(capture, 16) + else: + branch_target = int(args.split(",")[-1], 16) output.append( Line( @@ -1087,81 +2342,85 @@ def process(lines: List[str]) -> List[Line]: diff_row=row, original=original, normalized_original=normalized_original, + scorable_line=scorable_line, + symbol=symbol, line_num=line_num, branch_target=branch_target, + data_pool_addr=data_pool_addr, + source_filename=source_filename, + source_line_num=source_line_num, source_lines=source_lines, comment=comment, ) ) + num_instr += 1 source_lines = [] - if args.stop_jrra and mnemonic == "jr" and row_parts[1].strip() == "ra": - stop_after_delay_slot = True - elif stop_after_delay_slot: + if config.stop_at_ret and processor.is_end_of_function(mnemonic, args): break + processor.post_process(output) return output -def format_single_line_diff(line1: str, line2: str, column_width: int) -> str: - return ansi_ljust(line1, column_width) + line2 +def normalize_imms(row: str, arch: ArchSettings) -> str: + return re.sub(arch.re_imm, "", row) -class SymbolColorer: - symbol_colors: Dict[str, str] - - def __init__(self, base_index: int) -> None: - self.color_index = base_index - self.symbol_colors = {} - - def color_symbol(self, s: str, t: Optional[str] = None) -> str: - try: - color = self.symbol_colors[s] - except: - color = COLOR_ROTATION[self.color_index % len(COLOR_ROTATION)] - self.color_index += 1 - self.symbol_colors[s] = color - t = t or s - return f"{color}{t}{Fore.RESET}" +def normalize_stack(row: str, arch: ArchSettings) -> str: + return re.sub(arch.re_sprel, "addr(sp)", row) -def normalize_imms(row: str) -> str: - return re.sub(re_imm, "", row) +def check_for_symbol_mismatch( + old_line: Line, new_line: Line, symbol_map: Dict[str, str] +) -> bool: + + assert old_line.symbol is not None + assert new_line.symbol is not None + + if new_line.symbol.startswith("%hi"): + return False + + if old_line.symbol not in symbol_map: + symbol_map[old_line.symbol] = new_line.symbol + return False + elif symbol_map[old_line.symbol] == new_line.symbol: + return False + + return True -def normalize_stack(row: str) -> str: - return re.sub(re_sprel, "addr(sp)", row) +def field_matches_any_symbol(field: str, arch: ArchSettings) -> bool: + if arch.name == "ppc": + if "..." in field: + return True + + parts = field.rsplit("@", 1) + if len(parts) == 2 and parts[1] in {"l", "h", "ha", "sda21"}: + field = parts[0] + + return re.fullmatch((r"^@\d+$"), field) is not None + + if arch.name in MIPS_ARCH_NAMES: + return "." in field + + # Example: ".text+0x34" + if arch.name == "arm32": + return "." in field + + return False -def split_off_branch(line: str) -> Tuple[str, str]: +def split_off_address(line: str) -> Tuple[str, str]: + """Split e.g. 'beqz $r0,1f0' into 'beqz $r0,' and '1f0'.""" parts = line.split(",") if len(parts) < 2: parts = line.split(None, 1) - off = len(line) - len(parts[-1]) + if len(parts) < 2: + parts.append("") + off = len(line) - len(parts[-1].strip()) return line[:off], line[off:] -ColorFunction = Callable[[str], str] - -def color_fields(pat: Pattern[str], out1: str, out2: str, color1: ColorFunction, color2: Optional[ColorFunction]=None) -> Tuple[str, str]: - diffs = [of.group() != nf.group() for (of, nf) in zip(pat.finditer(out1), pat.finditer(out2))] - - it = iter(diffs) - def maybe_color(color: ColorFunction, s: str) -> str: - return color(s) if next(it, False) else f"{Style.RESET_ALL}{s}" - - out1 = pat.sub(lambda m: maybe_color(color1, m.group()), out1) - it = iter(diffs) - out2 = pat.sub(lambda m: maybe_color(color2 or color1, m.group()), out2) - - return out1, out2 - - -def color_branch_imms(br1: str, br2: str) -> Tuple[str, str]: - if br1 != br2: - br1 = f"{Fore.LIGHTBLUE_EX}{br1}{Style.RESET_ALL}" - br2 = f"{Fore.LIGHTBLUE_EX}{br2}{Style.RESET_ALL}" - return br1, br2 - def diff_sequences_difflib( seq1: List[str], seq2: List[str] @@ -1171,17 +2430,12 @@ def diff_sequences_difflib( def diff_sequences( - seq1: List[str], seq2: List[str] + seq1: List[str], seq2: List[str], algorithm: str ) -> List[Tuple[str, int, int, int, int]]: - if ( - args.algorithm != "levenshtein" - or len(seq1) * len(seq2) > 4 * 10 ** 8 - or len(seq1) + len(seq2) >= 0x110000 - ): + if algorithm != "levenshtein": return diff_sequences_difflib(seq1, seq2) # The Levenshtein library assumes that we compare strings, not lists. Convert. - # (Per the check above we know we have fewer than 0x110000 unique elements, so chr() works.) remapping: Dict[str, str] = {} def remap(seq: List[str]) -> str: @@ -1194,19 +2448,32 @@ def diff_sequences( seq[i] = val return "".join(seq) - rem1 = remap(seq1) - rem2 = remap(seq2) - return Levenshtein.opcodes(rem1, rem2) # type: ignore + try: + rem1 = remap(seq1) + rem2 = remap(seq2) + except ValueError as e: + if len(seq1) + len(seq2) < 0x110000: + raise + # If there are too many unique elements, chr() doesn't work. + # Assume this is the case and fall back to difflib. + return diff_sequences_difflib(seq1, seq2) + + import Levenshtein + + ret: List[Tuple[str, int, int, int, int]] = Levenshtein.opcodes(rem1, rem2) + return ret def diff_lines( lines1: List[Line], lines2: List[Line], + algorithm: str, ) -> List[Tuple[Optional[Line], Optional[Line]]]: ret = [] for (tag, i1, i2, j1, j2) in diff_sequences( [line.mnemonic for line in lines1], [line.mnemonic for line in lines2], + algorithm, ): for line1, line2 in itertools.zip_longest(lines1[i1:i2], lines2[j1:j2]): if tag == "replace": @@ -1223,41 +2490,184 @@ def diff_lines( return ret +def diff_sameline( + old_line: Line, new_line: Line, config: Config, symbol_map: Dict[str, str] +) -> Tuple[int, int, bool]: + + old = old_line.scorable_line + new = new_line.scorable_line + if old == new: + return (0, 0, False) + + num_stack_penalties = 0 + num_regalloc_penalties = 0 + has_symbol_mismatch = False + + ignore_last_field = False + if config.score_stack_differences: + oldsp = re.search(config.arch.re_sprel, old) + newsp = re.search(config.arch.re_sprel, new) + if oldsp and newsp: + oldrel = int(oldsp.group(1) or "0", 0) + newrel = int(newsp.group(1) or "0", 0) + num_stack_penalties += abs(oldrel - newrel) + ignore_last_field = True + + # Probably regalloc difference, or signed vs unsigned + + # Compare each field in order + new_parts, old_parts = new.split(None, 1), old.split(None, 1) + newfields, oldfields = new_parts[1].split(","), old_parts[1].split(",") + if ignore_last_field: + newfields = newfields[:-1] + oldfields = oldfields[:-1] + else: + # If the last field has a parenthesis suffix, e.g. "0x38(r7)" + # we split that part out to make it a separate field + # however, we don't split if it has a proceeding % macro, e.g. "%lo(.data)" + re_paren = re.compile(r"(? int: + # This logic is copied from `scorer.py` from the decomp permuter project + # https://github.com/simonlindholm/decomp-permuter/blob/main/src/scorer.py + num_stack_penalties = 0 + num_regalloc_penalties = 0 + num_reordering_penalties = 0 + num_insertion_penalties = 0 + num_deletion_penalties = 0 + deletions = [] + insertions = [] + + def diff_insert(line: str) -> None: + # Reordering or totally different codegen. + # Defer this until later when we can tell. + insertions.append(line) + + def diff_delete(line: str) -> None: + deletions.append(line) + + # Find the end of the last long streak of matching mnemonics, if it looks + # like the objdump output was truncated. This is used to skip scoring + # misaligned lines at the end of the diff. + last_mismatch = -1 + max_index = None + lines_were_truncated = False + for index, (line1, line2) in enumerate(lines): + if (line1 and line1.original == "...") or (line2 and line2.original == "..."): + lines_were_truncated = True + if line1 and line2 and line1.mnemonic == line2.mnemonic: + if index - last_mismatch >= 50: + max_index = index + else: + last_mismatch = index + if not lines_were_truncated: + max_index = None + + for index, (line1, line2) in enumerate(lines): + if max_index is not None and index > max_index: + break + if line1 and line2 and line1.mnemonic == line2.mnemonic: + sp, rp, _ = diff_sameline(line1, line2, config, symbol_map) + num_stack_penalties += sp + num_regalloc_penalties += rp + else: + if line1: + diff_delete(line1.scorable_line) + if line2: + diff_insert(line2.scorable_line) + + insertions_co = Counter(insertions) + deletions_co = Counter(deletions) + for item in insertions_co + deletions_co: + ins = insertions_co[item] + dels = deletions_co[item] + common = min(ins, dels) + num_insertion_penalties += ins - common + num_deletion_penalties += dels - common + num_reordering_penalties += common + + return ( + num_stack_penalties * config.penalty_stackdiff + + num_regalloc_penalties * config.penalty_regalloc + + num_reordering_penalties * config.penalty_reordering + + num_insertion_penalties * config.penalty_insertion + + num_deletion_penalties * config.penalty_deletion + ) + + +@dataclass(frozen=True) class OutputLine: - base: Optional[str] - fmt2: str + base: Optional[Text] = field(compare=False) + fmt2: Text = field(compare=False) key2: Optional[str] - - def __init__(self, base: Optional[str], fmt2: str, key2: Optional[str]) -> None: - self.base = base - self.fmt2 = fmt2 - self.key2 = key2 - - def __eq__(self, other: object) -> bool: - if not isinstance(other, OutputLine): - return NotImplemented - return self.key2 == other.key2 - - def __hash__(self) -> int: - return hash(self.key2) + boring: bool = field(compare=False) + is_data_ref: bool = field(compare=False) + line1: Optional[Line] = field(compare=False) + line2: Optional[Line] = field(compare=False) -def do_diff(basedump: str, mydump: str) -> List[OutputLine]: +@dataclass(frozen=True) +class Diff: + lines: List[OutputLine] + score: int + max_score: int + + +def trim_nops(lines: List[Line], arch: ArchSettings) -> List[Line]: + lines = lines[:] + while ( + lines + and lines[-1].mnemonic == "nop" + and (len(lines) == 1 or lines[-2].mnemonic not in arch.delay_slot_instructions) + ): + lines.pop() + return lines + + +def do_diff(lines1: List[Line], lines2: List[Line], config: Config) -> Diff: + if config.show_source: + import cxxfilt + arch = config.arch + fmt = config.formatter output: List[OutputLine] = [] + symbol_map: Dict[str, str] = {} - lines1 = process(basedump.split("\n")) - lines2 = process(mydump.split("\n")) + sc1 = symbol_formatter("base-reg", 0) + sc2 = symbol_formatter("my-reg", 0) + sc3 = symbol_formatter("base-stack", 4) + sc4 = symbol_formatter("my-stack", 4) + sc5 = symbol_formatter("base-branch", 0) + sc6 = symbol_formatter("my-branch", 0) + bts1: Set[int] = set() + bts2: Set[int] = set() - sc1 = SymbolColorer(0) - sc2 = SymbolColorer(0) - sc3 = SymbolColorer(4) - sc4 = SymbolColorer(4) - sc5 = SymbolColorer(0) - sc6 = SymbolColorer(0) - bts1: Set[str] = set() - bts2: Set[str] = set() - - if args.show_branches: + if config.show_branches: for (lines, btset, sc) in [ (lines1, bts1, sc5), (lines2, bts2, sc6), @@ -1265,136 +2675,282 @@ def do_diff(basedump: str, mydump: str) -> List[OutputLine]: for line in lines: bt = line.branch_target if bt is not None: - btset.add(bt + ":") - sc.color_symbol(bt + ":") + btset.add(bt) + sc(str(bt)) - for (line1, line2) in diff_lines(lines1, lines2): - line_color1 = line_color2 = sym_color = Fore.RESET + lines1 = trim_nops(lines1, arch) + lines2 = trim_nops(lines2, arch) + + diffed_lines = diff_lines(lines1, lines2, config.algorithm) + + line_num_base = -1 + line_num_offset = 0 + line_num_2to1 = {} + for (line1, line2) in diffed_lines: + if line1 is not None and line1.line_num is not None: + line_num_base = line1.line_num + line_num_offset = 0 + else: + line_num_offset += 1 + if line2 is not None and line2.line_num is not None: + line_num_2to1[line2.line_num] = (line_num_base, line_num_offset) + + for (line1, line2) in diffed_lines: + line_color1 = line_color2 = sym_color = BasicFormat.NONE line_prefix = " " + is_data_ref = False + out1 = Text() if not line1 else Text(pad_mnemonic(line1.original)) + out2 = Text() if not line2 else Text(pad_mnemonic(line2.original)) if line1 and line2 and line1.diff_row == line2.diff_row: - if line1.normalized_original == line2.normalized_original: - out1 = line1.original - out2 = line2.original + if line1.diff_row == "": + if line1.normalized_original != line2.normalized_original: + line_prefix = "i" + sym_color = BasicFormat.DIFF_CHANGE + out1 = out1.reformat(sym_color) + out2 = out2.reformat(sym_color) + is_data_ref = True + elif ( + line1.normalized_original == line2.normalized_original + and line2.branch_target is None + ): + # Fast path: no coloring needed. We don't include branch instructions + # in this case because we need to check that their targets line up in + # the diff, and don't just happen to have the are the same address + # by accident. + pass elif line1.diff_row == "": - out1 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line1.original}" - out2 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line2.original}" + # Don't draw attention to differing branch-likely delay slots: they + # typically mirror the branch destination - 1 so the real difference + # is elsewhere. Still, do mark them as different to avoid confusion. + # No need to consider branches because delay slots can't branch. + out1 = out1.reformat(BasicFormat.DELAY_SLOT) + out2 = out2.reformat(BasicFormat.DELAY_SLOT) else: mnemonic = line1.original.split()[0] - out1, out2 = line1.original, line2.original - branch1 = branch2 = "" - if mnemonic in instructions_with_address_immediates: - out1, branch1 = split_off_branch(line1.original) - out2, branch2 = split_off_branch(line2.original) - branchless1 = out1 - branchless2 = out2 - out1, out2 = color_fields(re_imm, out1, out2, lambda s: f"{Fore.LIGHTBLUE_EX}{s}{Style.RESET_ALL}") + branchless1, address1 = out1.plain(), "" + branchless2, address2 = out2.plain(), "" + if mnemonic in arch.instructions_with_address_immediates: + branchless1, address1 = split_off_address(branchless1) + branchless2, address2 = split_off_address(branchless2) - same_relative_target = False - if line1.branch_target is not None and line2.branch_target is not None: - relative_target1 = eval_line_num(line1.branch_target) - eval_line_num(line1.line_num) - relative_target2 = eval_line_num(line2.branch_target) - eval_line_num(line2.line_num) - same_relative_target = relative_target1 == relative_target2 + out1 = Text(branchless1) + out2 = Text(branchless2) + out1, out2 = format_fields( + arch.re_imm, out1, out2, lambda _: BasicFormat.IMMEDIATE + ) - if not same_relative_target: - branch1, branch2 = color_branch_imms(branch1, branch2) + if line2.branch_target is not None: + target = line2.branch_target + line2_target = line_num_2to1.get(line2.branch_target) + if line2_target is None: + # If the target is outside the disassembly, extrapolate. + # This only matters near the bottom. + assert line2.line_num is not None + line2_line = line_num_2to1[line2.line_num] + line2_target = (line2_line[0] + (target - line2.line_num), 0) - out1 += branch1 - out2 += branch2 - if normalize_imms(branchless1) == normalize_imms(branchless2): - if not same_relative_target: - # only imms differences - sym_color = Fore.LIGHTBLUE_EX + # Adjust the branch target for scoring and three-way diffing. + norm2, norm_branch2 = split_off_address(line2.normalized_original) + if norm_branch2 != "": + retargetted = hex(line2_target[0]).replace("0x", "") + if line2_target[1] != 0: + retargetted += f"+{line2_target[1]}" + line2.normalized_original = norm2 + retargetted + sc_base, _ = split_off_address(line2.scorable_line) + line2.scorable_line = sc_base + retargetted + same_target = line2_target == (line1.branch_target, 0) + else: + # Do a naive comparison for non-branches (e.g. function calls). + same_target = address1 == address2 + + if normalize_imms(branchless1, arch) == normalize_imms( + branchless2, arch + ): + ( + stack_penalties, + regalloc_penalties, + has_symbol_mismatch, + ) = diff_sameline(line1, line2, config, symbol_map) + + if ( + regalloc_penalties == 0 + and stack_penalties == 0 + and not has_symbol_mismatch + ): + # ignore differences due to %lo(.rodata + ...) vs symbol + out1 = out1.reformat(BasicFormat.NONE) + out2 = out2.reformat(BasicFormat.NONE) + elif line2.branch_target is not None and same_target: + # same-target branch, don't color + pass + else: + # must have an imm difference (or else we would have hit the + # fast path) + sym_color = BasicFormat.IMMEDIATE line_prefix = "i" else: - out1, out2 = color_fields(re_sprel, out1, out2, sc3.color_symbol, sc4.color_symbol) - if normalize_stack(branchless1) == normalize_stack(branchless2): + out1, out2 = format_fields(arch.re_sprel, out1, out2, sc3, sc4) + if normalize_stack(branchless1, arch) == normalize_stack( + branchless2, arch + ): # only stack differences (luckily stack and imm # differences can't be combined in MIPS, so we # don't have to think about that case) - sym_color = Fore.YELLOW + sym_color = BasicFormat.STACK line_prefix = "s" else: - # regs differences and maybe imms as well - out1, out2 = color_fields(re_reg, out1, out2, sc1.color_symbol, sc2.color_symbol) - line_color1 = line_color2 = sym_color = Fore.YELLOW - line_prefix = "r" + # reg differences and maybe imm as well + out1, out2 = format_fields(arch.re_reg, out1, out2, sc1, sc2) + cats = config.reg_categories + if cats and any( + cats.get(of.group()) != cats.get(nf.group()) + for (of, nf) in zip( + out1.finditer(arch.re_reg), out2.finditer(arch.re_reg) + ) + ): + sym_color = BasicFormat.REGISTER_CATEGORY + line_prefix = "R" + else: + sym_color = BasicFormat.REGISTER + line_prefix = "r" + line_color1 = line_color2 = sym_color + + if same_target: + address_imm_fmt = BasicFormat.NONE + else: + address_imm_fmt = BasicFormat.IMMEDIATE + out1 += Text(address1, address_imm_fmt) + out2 += Text(address2, address_imm_fmt) elif line1 and line2: line_prefix = "|" - line_color1 = Fore.LIGHTBLUE_EX - line_color2 = Fore.LIGHTBLUE_EX - sym_color = Fore.LIGHTBLUE_EX - out1 = line1.original - out2 = line2.original + line_color1 = line_color2 = sym_color = BasicFormat.DIFF_CHANGE + out1 = out1.reformat(line_color1) + out2 = out2.reformat(line_color2) elif line1: line_prefix = "<" - line_color1 = sym_color = Fore.RED - out1 = line1.original - out2 = "" + line_color1 = sym_color = BasicFormat.DIFF_REMOVE + out1 = out1.reformat(line_color1) + out2 = Text() elif line2: line_prefix = ">" - line_color2 = sym_color = Fore.GREEN - out1 = "" - out2 = line2.original + line_color2 = sym_color = BasicFormat.DIFF_ADD + out1 = Text() + out2 = out2.reformat(line_color2) - #if args.source and line2 and line2.comment: - # out2 += f" {line2.comment}" + if config.show_source and line2 and line2.comment: + out2 += f" {line2.comment}" def format_part( - out: str, + out: Text, line: Optional[Line], - line_color: str, - btset: Set[str], - sc: SymbolColorer, - ) -> Optional[str]: + line_color: Format, + btset: Set[int], + sc: FormatFunction, + ) -> Optional[Text]: if line is None: return None - in_arrow = " " - out_arrow = "" - if args.show_branches: + if line.line_num is None: + return out + in_arrow = Text(" ") + out_arrow = Text() + if config.show_branches: if line.line_num in btset: - in_arrow = sc.color_symbol(line.line_num, "~>") + line_color + in_arrow = Text("~>", sc(str(line.line_num))) if line.branch_target is not None: - out_arrow = " " + sc.color_symbol(line.branch_target + ":", "~>") - out = pad_mnemonic(out) - return f"{line_color}{line.line_num} {in_arrow} {out}{Style.RESET_ALL}{out_arrow}" + out_arrow = " " + Text("~>", sc(str(line.branch_target))) + formatted_line_num = Text(hex(line.line_num)[2:] + ":", line_color) + return formatted_line_num + " " + in_arrow + " " + out + out_arrow part1 = format_part(out1, line1, line_color1, bts1, sc5) part2 = format_part(out2, line2, line_color2, bts2, sc6) - key2 = line2.original if line2 else None - mid = f"{sym_color}{line_prefix}" - - if line2: + if config.show_source and line2: for source_line in line2.source_lines: - color = Style.DIM - # File names and function names - if source_line and source_line[0] != "│": - color += Style.BRIGHT - # Function names - if source_line.endswith("():"): - # Underline. Colorama does not provide this feature, unfortunately. - color += "\u001b[4m" + line_format = BasicFormat.SOURCE_OTHER + if config.source_old_binutils: + if source_line and re.fullmatch(".*\.c(?:pp)?:\d+", source_line): + line_format = BasicFormat.SOURCE_FILENAME + elif source_line and source_line.endswith("():"): + line_format = BasicFormat.SOURCE_FUNCTION try: source_line = cxxfilt.demangle( source_line[:-3], external_only=False ) except: pass + else: + # File names and function names + if source_line and source_line[0] != "│": + line_format = BasicFormat.SOURCE_FILENAME + # Function names + if source_line.endswith("():"): + line_format = BasicFormat.SOURCE_FUNCTION + try: + source_line = cxxfilt.demangle( + source_line[:-3], external_only=False + ) + except: + pass + padding = " " * 7 if config.show_line_numbers else " " * 2 output.append( OutputLine( - None, - f" {color}{source_line}{Style.RESET_ALL}", - source_line, + base=None, + fmt2=padding + Text(source_line, line_format), + key2=source_line, + boring=True, + is_data_ref=False, + line1=None, + line2=None, ) ) - fmt2 = mid + " " + (part2 or "") - output.append(OutputLine(part1, fmt2, key2)) + key2 = line2.normalized_original if line2 else None + boring = False + if line_prefix == " ": + boring = True + elif config.compress and config.compress.same_instr and line_prefix in "irs": + boring = True - return output + if config.show_line_numbers: + if line2 and line2.source_line_num is not None: + num_color = ( + BasicFormat.SOURCE_LINE_NUM + if sym_color == BasicFormat.NONE + else sym_color + ) + num2 = Text(f"{line2.source_line_num:5}", num_color) + else: + num2 = Text(" " * 5) + else: + num2 = Text() + + fmt2 = Text(line_prefix, sym_color) + num2 + " " + (part2 or Text()) + + output.append( + OutputLine( + base=part1, + fmt2=fmt2, + key2=key2, + boring=boring, + is_data_ref=is_data_ref, + line1=line1, + line2=line2, + ) + ) + + output = output[config.skip_lines :] + + score = score_diff_lines(diffed_lines, config, symbol_map) + max_score = len(lines1) * config.penalty_deletion + return Diff(lines=output, score=score, max_score=max_score) -def chunk_diff(diff: List[OutputLine]) -> List[Union[List[OutputLine], OutputLine]]: +def chunk_diff_lines( + diff: List[OutputLine], +) -> List[Union[List[OutputLine], OutputLine]]: + """Chunk a diff into an alternating list like A B A B ... A, where: + * A is a List[OutputLine] of insertions, + * B is a single non-insertion OutputLine, with .base != None.""" cur_right: List[OutputLine] = [] chunks: List[Union[List[OutputLine], OutputLine]] = [] for output_line in diff: @@ -1407,78 +2963,124 @@ def chunk_diff(diff: List[OutputLine]) -> List[Union[List[OutputLine], OutputLin chunks.append(cur_right) return chunks -def elide_path(p: Path, n_lhs: int = 1, n_rhs: int = 1) -> PurePath: - if n_lhs == 0: - path = PurePath('...') - else: - path = PurePath(*p.parts[:n_lhs]) / '...' - path = path / PurePath(*p.parts[-n_rhs:]) - return path -def format_diff( - old_diff: List[OutputLine], new_diff: List[OutputLine], - base_obj_path: Optional[Path] = None, ref_obj_path: Optional[Path] = None -) -> Tuple[str, List[str]]: - old_chunks = chunk_diff(old_diff) - new_chunks = chunk_diff(new_diff) - output: List[Tuple[str, OutputLine, OutputLine]] = [] - assert len(old_chunks) == len(new_chunks), "same target" - empty = OutputLine("", "", None) - for old_chunk, new_chunk in zip(old_chunks, new_chunks): - if isinstance(old_chunk, list): - assert isinstance(new_chunk, list) - if not old_chunk and not new_chunk: - # Most of the time lines sync up without insertions/deletions, - # and there's no interdiffing to be done. - continue - differ = difflib.SequenceMatcher(a=old_chunk, b=new_chunk, autojunk=False) - for (tag, i1, i2, j1, j2) in differ.get_opcodes(): - if tag in ["equal", "replace"]: - for i, j in zip(range(i1, i2), range(j1, j2)): - output.append(("", old_chunk[i], new_chunk[j])) - if tag in ["insert", "replace"]: - for j in range(j1 + i2 - i1, j2): - output.append(("", empty, new_chunk[j])) - if tag in ["delete", "replace"]: - for i in range(i1 + j2 - j1, i2): - output.append(("", old_chunk[i], empty)) +def compress_matching( + li: List[Tuple[OutputLine, ...]], context: int +) -> List[Tuple[OutputLine, ...]]: + ret: List[Tuple[OutputLine, ...]] = [] + matching_streak: List[Tuple[OutputLine, ...]] = [] + context = max(context, 0) + + def flush_matching() -> None: + if len(matching_streak) <= 2 * context + 1: + ret.extend(matching_streak) else: - assert isinstance(new_chunk, OutputLine) - assert new_chunk.base - # old_chunk.base and new_chunk.base have the same text since - # both diffs are based on the same target, but they might - # differ in color. Use the new version. - output.append((new_chunk.base, old_chunk, new_chunk)) + ret.extend(matching_streak[:context]) + skipped = len(matching_streak) - 2 * context + filler = OutputLine( + base=Text(f"<{skipped} lines>", BasicFormat.SOURCE_OTHER), + fmt2=Text(), + key2=None, + boring=False, + is_data_ref=False, + line1=None, + line2=None, + ) + columns = len(matching_streak[0]) + ret.append(tuple([filler] * columns)) + if context > 0: + ret.extend(matching_streak[-context:]) + matching_streak.clear() - # TODO: status line, with e.g. approximate permuter score? - width = args.column_width - if args.threeway: - header_line = "TARGET".ljust(width) + " CURRENT".ljust(width) + " PREVIOUS" + for line in li: + if line[0].boring: + matching_streak.append(line) + else: + flush_matching() + ret.append(line) + + flush_matching() + return ret + + +def align_diffs( + old_diff: Diff, new_diff: Diff, config: Config +) -> Tuple[TableMetadata, List[Tuple[OutputLine, ...]]]: + meta: TableMetadata + diff_lines: List[Tuple[OutputLine, ...]] + padding = " " * 7 if config.show_line_numbers else " " * 2 + + if config.threeway: + meta = TableMetadata( + headers=( + Text("TARGET"), + Text(f"{padding}CURRENT ({new_diff.score})"), + Text(f"{padding}PREVIOUS ({old_diff.score})"), + ), + current_score=new_diff.score, + max_score=new_diff.max_score, + previous_score=old_diff.score, + ) + old_chunks = chunk_diff_lines(old_diff.lines) + new_chunks = chunk_diff_lines(new_diff.lines) + diff_lines = [] + empty = OutputLine(Text(), Text(), None, True, False, None, None) + assert len(old_chunks) == len(new_chunks), "same target" + for old_chunk, new_chunk in zip(old_chunks, new_chunks): + if isinstance(old_chunk, list): + assert isinstance(new_chunk, list) + if not old_chunk and not new_chunk: + # Most of the time lines sync up without insertions/deletions, + # and there's no interdiffing to be done. + continue + differ = difflib.SequenceMatcher( + a=old_chunk, b=new_chunk, autojunk=False + ) + for (tag, i1, i2, j1, j2) in differ.get_opcodes(): + if tag in ["equal", "replace"]: + for i, j in zip(range(i1, i2), range(j1, j2)): + diff_lines.append((empty, new_chunk[j], old_chunk[i])) + if tag in ["insert", "replace"]: + for j in range(j1 + i2 - i1, j2): + diff_lines.append((empty, new_chunk[j], empty)) + if tag in ["delete", "replace"]: + for i in range(i1 + j2 - j1, i2): + diff_lines.append((empty, empty, old_chunk[i])) + else: + assert isinstance(new_chunk, OutputLine) + # old_chunk.base and new_chunk.base have the same text since + # both diffs are based on the same target, but they might + # differ in color. Use the new version. + diff_lines.append((new_chunk, new_chunk, old_chunk)) diff_lines = [ - ansi_ljust(base, width) - + ansi_ljust(new.fmt2, width) - + (old.fmt2 or "-" if old != new else "") - for (base, old, new) in output + (base, new, old if old != new else empty) for base, new, old in diff_lines ] else: - header_line = f'{elide_path(base_obj_path)}'.ljust(width) + f' {elide_path(ref_obj_path)}'.ljust(width) - diff_lines = [ - ansi_ljust(base, width) + new.fmt2 - for (base, old, new) in output - if base or new.key2 is not None - ] - return header_line, diff_lines + meta = TableMetadata( + headers=( + Text("TARGET"), + Text(f"{padding}CURRENT ({new_diff.score})"), + ), + current_score=new_diff.score, + max_score=new_diff.max_score, + previous_score=None, + ) + diff_lines = [(line, line) for line in new_diff.lines] + if config.compress: + diff_lines = compress_matching(diff_lines, config.compress.context) + return meta, diff_lines def debounced_fs_watch( targets: List[str], outq: "queue.Queue[Optional[float]]", - debounce_delay: float, + config: Config, + project: ProjectSettings, ) -> None: - import watchdog.events # type: ignore - import watchdog.observers # type: ignore + import watchdog.events + import watchdog.observers - class WatchEventHandler(watchdog.events.FileSystemEventHandler): # type: ignore + class WatchEventHandler(watchdog.events.FileSystemEventHandler): def __init__( self, queue: "queue.Queue[float]", file_targets: List[str] ) -> None: @@ -1495,10 +3097,10 @@ def debounced_fs_watch( def should_notify(self, path: str) -> bool: for target in self.file_targets: - if path == target: + if os.path.normpath(path) == target: return True - if args.make and any( - path.endswith(suffix) for suffix in FS_WATCH_EXTENSIONS + if config.make and any( + path.endswith(suffix) for suffix in project.source_extensions ): return True return False @@ -1517,7 +3119,7 @@ def debounced_fs_watch( if os.path.isdir(target): observer.schedule(event_handler, target, recursive=True) else: - file_targets.append(target) + file_targets.append(os.path.normpath(target)) target = os.path.dirname(target) or "." if target not in observed: observed.add(target) @@ -1527,7 +3129,7 @@ def debounced_fs_watch( t = listenq.get() more = True while more: - delay = t + debounce_delay - time.time() + delay = t + DEBOUNCE_DELAY - time.time() if delay > 0: time.sleep(delay) # consume entire queue @@ -1547,37 +3149,46 @@ def debounced_fs_watch( class Display: basedump: str mydump: str + last_refresh_key: object + config: Config emsg: Optional[str] - last_diff_output: Optional[List[OutputLine]] - pending_update: Optional[Tuple[str, bool]] + last_diff_output: Optional[Diff] + pending_update: Optional[str] ready_queue: "queue.Queue[None]" watch_queue: "queue.Queue[Optional[float]]" less_proc: "Optional[subprocess.Popen[bytes]]" - base_obj_path: Optional[Path] - ref_obj_path: Optional[Path] - def __init__(self, basedump: str, mydump: str, - base_obj_path: Optional[Path] = None, - ref_obj_path: Optional[Path] = None) -> None: - self.basedump = basedump + def __init__(self, basedump: str, mydump: str, config: Config) -> None: + self.config = config + self.base_lines = process(basedump, config) self.mydump = mydump self.emsg = None + self.last_refresh_key = None self.last_diff_output = None - self.base_obj_path = base_obj_path - self.ref_obj_path = ref_obj_path - def run_less(self) -> "Tuple[subprocess.Popen[bytes], subprocess.Popen[bytes]]": + def run_diff(self) -> Tuple[str, object]: if self.emsg is not None: - output = self.emsg - else: - diff_output = do_diff(self.basedump, self.mydump) - last_diff_output = self.last_diff_output or diff_output - if args.threeway != "base" or not self.last_diff_output: - self.last_diff_output = diff_output - header, diff_lines = format_diff(last_diff_output, diff_output, self.base_obj_path, self.ref_obj_path) - header_lines = [header] if header else [] - output = "\n".join(header_lines + diff_lines[args.skip_lines :]) + return (self.emsg, self.emsg) + my_lines = process(self.mydump, self.config) + diff_output = do_diff(self.base_lines, my_lines, self.config) + last_diff_output = self.last_diff_output or diff_output + if self.config.threeway != "base" or not self.last_diff_output: + self.last_diff_output = diff_output + + meta, diff_lines = align_diffs(last_diff_output, diff_output, self.config) + output = self.config.formatter.table(meta, diff_lines) + + refresh_key = ( + [line.key2 for line in diff_output.lines], + diff_output.score, + ) + + return (output, refresh_key) + + def run_less( + self, output: str + ) -> "Tuple[subprocess.Popen[bytes], subprocess.Popen[bytes]]": # Pipe the output through 'tail' and only then to less, to ensure the # write call doesn't block. ('tail' has to buffer all its input before # it starts writing.) This also means we don't have to deal with pipe @@ -1594,7 +3205,8 @@ class Display: return (buffer_proc, less_proc) def run_sync(self) -> None: - proca, procb = self.run_less() + output, _ = self.run_diff() + proca, procb = self.run_less(output) procb.wait() proca.wait() @@ -1602,12 +3214,14 @@ class Display: self.watch_queue = watch_queue self.ready_queue = queue.Queue() self.pending_update = None - dthread = threading.Thread(target=self.display_thread) + output, refresh_key = self.run_diff() + self.last_refresh_key = refresh_key + dthread = threading.Thread(target=self.display_thread, args=(output,)) dthread.start() self.ready_queue.get() - def display_thread(self) -> None: - proca, procb = self.run_less() + def display_thread(self, initial_output: str) -> None: + proca, procb = self.run_less(initial_output) self.less_proc = procb self.ready_queue.put(None) while True: @@ -1619,14 +3233,9 @@ class Display: os.system("tput reset") if ret != 0 and self.pending_update is not None: # killed by program with the intent to refresh - msg, error = self.pending_update + output = self.pending_update self.pending_update = None - if not error: - self.mydump = msg - self.emsg = None - else: - self.emsg = msg - proca, procb = self.run_less() + proca, procb = self.run_less(output) self.less_proc = procb self.ready_queue.put(None) else: @@ -1644,7 +3253,17 @@ class Display: if not error and not self.emsg and text == self.mydump: self.progress("Unchanged. ") return - self.pending_update = (text, error) + if not error: + self.mydump = text + self.emsg = None + else: + self.emsg = text + output, refresh_key = self.run_diff() + if refresh_key == self.last_refresh_key: + self.progress("Unchanged. ") + return + self.last_refresh_key = refresh_key + self.pending_update = output if not self.less_proc: return self.less_proc.kill() @@ -1658,15 +3277,50 @@ class Display: def main() -> None: + args = parser.parse_args() + + # Apply project-specific configuration. + settings: Dict[str, Any] = {} + diff_settings.apply(settings, args) # type: ignore + project = create_project_settings(settings) + + try: + config = create_config(args, project) + except ValueError as e: + fail(str(e)) + + if config.algorithm == "levenshtein": + try: + import Levenshtein + except ModuleNotFoundError as e: + fail(MISSING_PREREQUISITES.format(e.name)) + + if config.show_source: + try: + import cxxfilt + except ModuleNotFoundError as e: + fail(MISSING_PREREQUISITES.format(e.name)) + + if config.threeway and not args.watch: + fail("Threeway diffing requires -w.") + if args.diff_elf_symbol: - make_target, basecmd, mycmd = dump_elf() - elif args.diff_obj: - make_target, basecmd, mycmd = dump_objfile() + make_target, basecmd, mycmd = dump_elf( + args.start, args.end, args.diff_elf_symbol, config, project + ) + elif config.diff_obj: + make_target, basecmd, mycmd = dump_objfile( + args.start, args.end, config, project + ) else: - make_target, basecmd, mycmd = dump_binary() + make_target, basecmd, mycmd = dump_binary(args.start, args.end, config, project) + + map_build_target_fn = getattr(diff_settings, "map_build_target", None) + if map_build_target_fn: + make_target = map_build_target_fn(make_target=make_target) if args.write_asm is not None: - mydump = run_objdump(mycmd) + mydump = run_objdump(mycmd, config, project) with open(args.write_asm, "w") as f: f.write(mydump) print(f"Wrote assembly to {args.write_asm}.") @@ -1676,15 +3330,15 @@ def main() -> None: with open(args.base_asm) as f: basedump = f.read() else: - basedump = run_objdump(basecmd) + basedump = run_objdump(basecmd, config, project) - mydump = run_objdump(mycmd) + mydump = run_objdump(mycmd, config, project) - base_obj_path = Path(basecmd[1]) - ref_obj_path = Path(mycmd[1]) - display = Display(basedump, mydump, base_obj_path, ref_obj_path) + display = Display(basedump, mydump, config) - if not args.watch: + if args.no_pager or args.format in ("html", "json"): + print(display.run_diff()[0]) + elif not args.watch: display.run_sync() else: if not args.make: @@ -1701,13 +3355,13 @@ def main() -> None: ) if watch_sources_for_target_fn: watch_sources = watch_sources_for_target_fn(make_target) - watch_sources = watch_sources or source_directories + watch_sources = watch_sources or project.source_directories if not watch_sources: fail("Missing source_directories config, don't know what to watch.") else: watch_sources = [make_target] q: "queue.Queue[Optional[float]]" = queue.Queue() - debounced_fs_watch(watch_sources, q, DEBOUNCE_DELAY) + debounced_fs_watch(watch_sources, q, config, project) display.run_async(q) last_build = 0.0 try: @@ -1720,7 +3374,7 @@ def main() -> None: last_build = time.time() if args.make: display.progress("Building...") - ret = run_make_capture_output(make_target) + ret = run_make_capture_output(make_target, project) if ret.returncode != 0: display.update( ret.stderr.decode("utf-8-sig", "replace") @@ -1728,10 +3382,11 @@ def main() -> None: error=True, ) continue - mydump = run_objdump(mycmd) + mydump = run_objdump(mycmd, config, project) display.update(mydump, error=False) except KeyboardInterrupt: display.terminate() -main() +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/diff_settings.py b/diff_settings.py index c9d96b0bcf..c23703fc0b 100644 --- a/diff_settings.py +++ b/diff_settings.py @@ -11,7 +11,7 @@ def apply(config, args): config['myimg'] = 'build/dolzel2/main.elf' config['baseimg'] = 'expected/build/dolzel2/main.elf' config['makeflags'] = [] - if args.source: + if args.show_source: config['makeflags'].append('DEBUG=1') config['source_directories'] = ['src', 'libs', 'include'] config['arch'] = 'ppc' diff --git a/docs/Contributing.md b/docs/Contributing.md index 27626c9187..7d2d0a299e 100644 --- a/docs/Contributing.md +++ b/docs/Contributing.md @@ -4,17 +4,17 @@ Ghidra Setup ----- 1. Install [Java 11 64-bit Runtime and Development Kit](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html). 2. Download Ghidra from [here](https://github.com/NationalSecurityAgency/ghidra/releases). -3. Request an account from Pheenoh#0001 on Discord (either ping him in one of the [Discord](https://discord.gg/Nshw5pHS4h) channels or DM directly). +3. Open a pull request against [this repo](), adding your desired username and permissions level into users.yaml 4. Login using the following server info: ``` Server: ghidra.tpgz.io Port: 13100 Username: -Password: +Password: changeme ``` -After logging in you will see a list of all the Twilight Princess DOLs for each version. +You will be prompted to change your password at login. After logging in, you will see a list of all the Twilight Princess DOLs for each version. ![](./ghidra.png) diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 4daebd16ec..bcb65aeb6f 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -577,6 +577,7 @@ public: f32 getFrame() const { return mFrame; } s16 getEnd() const { return mEnd; } u8 getAttribute() const { return mAttribute; } + u8 getState() const { return mState; } void setAttribute(u8 attr) { mAttribute = attr; } void setEnd(s16 end) { mEnd = end; } void setRate(f32 rate) { mRate = rate; } diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 0474f4eb5a..94ce45c74d 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -68,13 +68,15 @@ public: static J3DMtxCalc* mCurrentMtxCalc; private: + friend struct J3DJointFactory; + /* 0x00 */ void* mCallBackUserData; /* 0x04 */ J3DJointCallBack mCallBack; /* 0x08 */ void* field_0x8; /* 0x0C */ J3DJoint* mChild; /* 0x10 */ J3DJoint* mYounger; /* 0x14 */ u16 mJntNo; - /* 0x16 */ u8 mMtxType; + /* 0x16 */ u8 mKind; /* 0x17 */ u8 mScaleCompensate; /* 0x18 */ J3DTransformInfo mTransformInfo; /* 0x38 */ f32 mBoundingSphereRadius; diff --git a/include/JSystem/J3DGraphAnimator/J3DJointTree.h b/include/JSystem/J3DGraphAnimator/J3DJointTree.h index b8e8267339..4937fdae32 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJointTree.h +++ b/include/JSystem/J3DGraphAnimator/J3DJointTree.h @@ -34,6 +34,7 @@ public: u16 getWEvlpMtxNum() const { return mWEvlpMtxNum; } u16 getJointNum() const { return mJointNum; } u16 getDrawMtxNum() const { return mDrawMtxData.mEntryNum; } + JUTNameTab* getJointName() const { return mJointName; } J3DJoint* getRootNode() { return mRootNode; } J3DJoint* getJointNodePointer(u16 idx) const { return mJointNodePointer[idx]; } J3DMtxCalc* getBasicMtxCalc() const { return mBasicMtxCalc; } diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 5371f8113a..bc4c2ba9a6 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -33,6 +33,7 @@ public: J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); } J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); } J3DJointTree& getJointTree() { return mJointTree; } + JUTNameTab* getJointName() const { return mJointTree.getJointName(); } Mtx& getInvJointMtx(s32 idx) const { return mJointTree.getInvJointMtx(idx); } J3DTexture* getTexture() const { return mMaterialTable.getTexture(); } JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); } diff --git a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h index 38cc0e08c2..b937d16387 100644 --- a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h +++ b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h @@ -11,22 +11,37 @@ class J3DDrawPacket; class J3DMatPacket; class J3DShapePacket; -typedef void (*J3DDrawBuffer_DrawFunc)(const J3DDrawBuffer* this_); +typedef int (J3DDrawBuffer::*sortFunc)(J3DMatPacket*); +typedef void (J3DDrawBuffer::*drawFunc)() const; class J3DDrawBuffer { public: + enum EDrawType { + DRAW_HEAD, + DRAW_TAIL, + }; + + enum ESortType { + SORT_MAT, + SORT_MAT_ANM, + SORT_Z, + SORT_MODEL, + SORT_INVALID, + SORT_NON, + }; + J3DDrawBuffer() { initialize(); } ~J3DDrawBuffer(); void initialize(); J3DError allocBuffer(u32); void frameInit(); - void entryMatSort(J3DMatPacket*); - void entryMatAnmSort(J3DMatPacket*); - void entryZSort(J3DMatPacket*); - void entryModelSort(J3DMatPacket*); - void entryInvalidSort(J3DMatPacket*); - bool entryNonSort(J3DMatPacket*); - bool entryImm(J3DPacket* pPacket, u16 index); + int entryMatSort(J3DMatPacket*); + int entryMatAnmSort(J3DMatPacket*); + int entryZSort(J3DMatPacket*); + int entryModelSort(J3DMatPacket*); + int entryInvalidSort(J3DMatPacket*); + int entryNonSort(J3DMatPacket*); + int entryImm(J3DPacket* pPacket, u16 index); void draw() const; void drawHead() const; void drawTail() const; @@ -43,12 +58,12 @@ public: /* 0x10 */ f32 mZNear; /* 0x14 */ f32 mZFar; /* 0x18 */ f32 mZRatio; - /* 0x1C */ Mtx* mpZMtx; + /* 0x1C */ MtxP mpZMtx; /* 0x20 */ J3DPacket* mpCallBackPacket; - static u8 sortFuncTable[72]; - static u8 drawFuncTable[24]; - static u8 entryNum[4 + 4 /* padding */]; + static sortFunc sortFuncTable[6]; + static drawFunc drawFuncTable[2]; + static int entryNum; }; #endif /* J3DDRAWBUFFER_H */ diff --git a/include/JSystem/J3DGraphBase/J3DPacket.h b/include/JSystem/J3DGraphBase/J3DPacket.h index 6552c461af..232db283d3 100644 --- a/include/JSystem/J3DGraphBase/J3DPacket.h +++ b/include/JSystem/J3DGraphBase/J3DPacket.h @@ -51,27 +51,29 @@ public: class J3DPacket { public: J3DPacket() { - mpNextSibling = NULL; + mpNextPacket = NULL; mpFirstChild = NULL; mpUserData = NULL; } void addChildPacket(J3DPacket*); - J3DPacket* getNextPacket() const { return mpNextSibling; } + + J3DPacket* getNextPacket() const { return mpNextPacket; } + void setNextPacket(J3DPacket* i_packet) { mpNextPacket = i_packet; } - inline void clear() { - mpNextSibling = NULL; + void drawClear() { + mpNextPacket = NULL; mpFirstChild = NULL; } void setUserArea(u32 area) { mpUserData = (void*)area; } - virtual bool entry(J3DDrawBuffer*); + virtual int entry(J3DDrawBuffer*); virtual void draw(); virtual ~J3DPacket() {} public: - /* 0x04 */ J3DPacket* mpNextSibling; + /* 0x04 */ J3DPacket* mpNextPacket; /* 0x08 */ J3DPacket* mpFirstChild; /* 0x0C */ void* mpUserData; }; // Size: 0x10 @@ -143,19 +145,21 @@ public: void endDiff(); bool isSame(J3DMatPacket*) const; + J3DMaterial* getMaterial() const { return mpMaterial; } J3DShapePacket* getShapePacket() const { return mpShapePacket; } void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; } void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; } + bool isChanged() const { return mDiffFlag < 0; } virtual ~J3DMatPacket(); - virtual bool entry(J3DDrawBuffer*); + virtual int entry(J3DDrawBuffer*); virtual void draw(); public: /* 0x28 */ J3DShapePacket* mpInitShapePacket; /* 0x2C */ J3DShapePacket* mpShapePacket; /* 0x30 */ J3DMaterial* mpMaterial; - /* 0x34 */ u32 mSortFlags; + /* 0x34 */ u32 mDiffFlag; /* 0x38 */ J3DTexture* mpTexture; /* 0x3C */ J3DMaterialAnm* mpMaterialAnm; }; // Size: 0x40 diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index f18551d7ed..85cf0da8e9 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -27,6 +27,11 @@ static inline void J3DFifoWriteXFCmd(u16 cmd, u16 len) { class J3DCurrentMtx : public J3DCurrentMtxInfo { public: + J3DCurrentMtx() { + mMtxIdxRegA = 0x3cf3cf00; + mMtxIdxRegB = 0x00f3cf3c; + } + u32 getMtxIdxRegA() const { return mMtxIdxRegA; } u32 getMtxIdxRegB() const { return mMtxIdxRegB; } @@ -54,6 +59,14 @@ enum J3DShpFlag { class J3DShape { public: + J3DShape() { + initialize(); + } + + enum { + kVcdVatDLSize = 0xC0, + }; + /* 80314B48 */ void initialize(); /* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32); /* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr); @@ -93,11 +106,14 @@ public: inline u32 getMtxGroupNum() const { return mMtxGroupNum; } inline J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; } inline J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; } + static void resetVcdVatCache() { sOldVcdVatCmd = NULL; } static void* sOldVcdVatCmd; private: + friend struct J3DShapeFactory; + /* 0x04 */ J3DMaterial* mMaterial; /* 0x08 */ u16 mIndex; /* 0x0A */ u16 mMtxGroupNum; diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index 0a346b2068..1b745e5fc1 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -24,6 +24,10 @@ extern u8 struct_804515B0[4]; class J3DShapeMtx { public: + J3DShapeMtx(u16 useMtxIndex) + : mUseMtxIndex(useMtxIndex) + {} + /* 803130A8 */ void resetMtxLoadCache(); /* 803130E4 */ void loadMtxIndx_PNGP(int, u16) const; /* 80313128 */ void loadMtxIndx_PCPU(int, u16) const; @@ -54,6 +58,10 @@ private: class J3DShapeMtxConcatView : public J3DShapeMtx { public: + J3DShapeMtxConcatView(u16 useMtxIndex) + : J3DShapeMtx(useMtxIndex) + {} + /* 80314730 */ virtual ~J3DShapeMtxConcatView(); /* 803147E0 */ virtual u32 getType() const; /* 80313C54 */ virtual void load() const; @@ -73,6 +81,10 @@ public: class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView { public: + J3DShapeMtxYBBoardConcatView(u16 useMtxIndex) + : J3DShapeMtxConcatView(useMtxIndex) + {} + /* 80314520 */ virtual ~J3DShapeMtxYBBoardConcatView(); /* 803147E0 */ virtual u32 getType() const; /* 803143E4 */ virtual void load() const; @@ -80,6 +92,10 @@ public: class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView { public: + J3DShapeMtxBBoardConcatView(u16 useMtxIndex) + : J3DShapeMtxConcatView(useMtxIndex) + {} + /* 803145A4 */ virtual ~J3DShapeMtxBBoardConcatView(); /* 803147E0 */ virtual u32 getType() const; /* 803142D4 */ virtual void load() const; @@ -87,6 +103,12 @@ public: class J3DShapeMtxMulti : public J3DShapeMtx { public: + J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable) + : J3DShapeMtx(useMtxIndex) + , mUseMtxNum(useMtxNum) + , mUseMtxIndexTable(useMtxIndexTable) + {} + /* 803146B0 */ virtual ~J3DShapeMtxMulti(); /* 803147E0 */ virtual u32 getType() const; /* 80273E08 */ virtual u32 getUseMtxNum() const; @@ -96,11 +118,17 @@ public: private: /* 0x6 */ u16 mUseMtxNum; - /* 0x8 */ u16* mUseMtxIndex; + /* 0x8 */ u16* mUseMtxIndexTable; }; -class J3DShapeMtxMultiConcatView : public J3DShapeMtx { +class J3DShapeMtxMultiConcatView : public J3DShapeMtxConcatView { public: + J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable) + : J3DShapeMtxConcatView(useMtxIndex) + , mUseMtxNum(useMtxNum) + , mUseMtxIndexTable(useMtxIndexTable) + {} + /* 8031461C */ virtual ~J3DShapeMtxMultiConcatView(); /* 803147E0 */ virtual u32 getType() const; /* 80273E08 */ virtual u32 getUseMtxNum() const; @@ -111,7 +139,7 @@ public: private: /* 0x6 */ u16 mUseMtxNum; - /* 0x8 */ u16* mUseMtxIndex; + /* 0x8 */ u16* mUseMtxIndexTable; }; -#endif /* J3DSHAPEMTX_H */ +#endif /* J3DSHAPEMTX_H */ \ No newline at end of file diff --git a/include/JSystem/J3DGraphBase/J3DSys.h b/include/JSystem/J3DGraphBase/J3DSys.h index fd75fc48f7..01f882e3f4 100644 --- a/include/JSystem/J3DGraphBase/J3DSys.h +++ b/include/JSystem/J3DGraphBase/J3DSys.h @@ -93,6 +93,9 @@ struct J3DSys { void setMaterialMode(u32 mode) { mMaterialMode = mode; } void setTexture(J3DTexture* pTex) { mTexture = pTex; } + J3DTexture* getTexture() { return mTexture; } + + void setNBTScale(Vec* scale) { mNBTScale = scale; } void onFlag(u32 flag) { mFlags |= flag; } diff --git a/include/JSystem/J3DGraphBase/J3DTransform.h b/include/JSystem/J3DGraphBase/J3DTransform.h index 1bdc7ebb88..a162bd5b7c 100644 --- a/include/JSystem/J3DGraphBase/J3DTransform.h +++ b/include/JSystem/J3DGraphBase/J3DTransform.h @@ -1,13 +1,14 @@ #ifndef J3DTRANSFORM_H #define J3DTRANSFORM_H +#include "JSystem/JGeometry.h" #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" struct J3DTransformInfo { - /* 0x00 */ Vec mScale; - /* 0x0C */ SVec mRotation; - /* 0x14 */ Vec mTranslate; + /* 0x00 */ JGeometry::TVec3 mScale; + /* 0x0C */ JGeometry::TVec3 mRotation; + /* 0x14 */ JGeometry::TVec3 mTranslate; }; // Size: 0x20 extern J3DTransformInfo const j3dDefaultTransformInfo; diff --git a/include/JSystem/J3DGraphBase/J3DVertex.h b/include/JSystem/J3DGraphBase/J3DVertex.h index 309194628a..a8e67d578f 100644 --- a/include/JSystem/J3DGraphBase/J3DVertex.h +++ b/include/JSystem/J3DGraphBase/J3DVertex.h @@ -94,8 +94,4 @@ struct VertexNormal { Vec data; }; -struct VertexPosition { - Vec data; -}; - #endif /* J3DVERTEX_H */ diff --git a/include/JSystem/J3DGraphLoader/J3DJointFactory.h b/include/JSystem/J3DGraphLoader/J3DJointFactory.h index 2e992b48f3..98409802a7 100644 --- a/include/JSystem/J3DGraphLoader/J3DJointFactory.h +++ b/include/JSystem/J3DGraphLoader/J3DJointFactory.h @@ -1,6 +1,49 @@ #ifndef J3DJOINTFACTORY_H #define J3DJOINTFACTORY_H +#include "JSystem/J3DGraphBase/J3DTransform.h" +#include "JSystem/JGeometry.h" #include "dolphin/types.h" -#endif /* J3DJOINTFACTORY_H */ +struct J3DJoint; +struct ResNTAB; + +struct J3DJointInitData { + /* 0x00 */ u16 mKind; + /* 0x02 */ bool mScaleCompensate; + /* 0x04 */ J3DTransformInfo mTransformInfo; + /* 0x24 */ f32 mRadius; + /* 0x28 */ Vec mMin; + /* 0x2C */ Vec mMax; +}; // Size: 0x30 + +struct J3DJointBlock { + /* 0x00 */ u8 mMagic[4]; + /* 0x04 */ u32 mSize; + + /* 0x08 */ u16 mJointNum; + /* 0x0A */ u16 _pad; + + /* 0x0C */ J3DJointInitData* mJointInitData; + /* 0x10 */ u16* mIndexTable; + /* 0x14 */ ResNTAB* mNameTable; +}; + +struct J3DJointFactory { + /* 80337178 */ J3DJointFactory(J3DJointBlock const&); + /* 803371D0 */ J3DJoint* create(int); + + J3DJointInitData* mJointInitData; + u16* mIndexTable; + + u16 getKind(int no) const { return mJointInitData[mIndexTable[no]].mKind; } + u8 getScaleCompensate(int no) const { return mJointInitData[mIndexTable[no]].mScaleCompensate; } + const J3DTransformInfo& getTransformInfo(int no) const { + return mJointInitData[mIndexTable[no]].mTransformInfo; + } + f32 getRadius(int no) const { return mJointInitData[mIndexTable[no]].mRadius; } + Vec& getMin(int no) const { return mJointInitData[mIndexTable[no]].mMin; } + Vec& getMax(int no) const { return mJointInitData[mIndexTable[no]].mMax; } +}; + +#endif /* J3DJOINTFACTORY_H */ \ No newline at end of file diff --git a/include/JSystem/J3DGraphLoader/J3DShapeFactory.h b/include/JSystem/J3DGraphLoader/J3DShapeFactory.h index 6f1f64ce13..385a217e25 100644 --- a/include/JSystem/J3DGraphLoader/J3DShapeFactory.h +++ b/include/JSystem/J3DGraphLoader/J3DShapeFactory.h @@ -1,6 +1,78 @@ #ifndef J3DSHAPEFACTORY_H #define J3DSHAPEFACTORY_H +#include "dolphin/gx/GX.h" #include "dolphin/types.h" -#endif /* J3DSHAPEFACTORY_H */ +struct J3DShape; +struct J3DShapeMtx; +struct J3DShapeDraw; +struct ResNTAB; + +struct J3DShapeInitData { + /* 0x00 */ u8 mShapeMtxType; + /* 0x02 */ u16 mMtxGroupNum; + /* 0x04 */ u16 mVtxDescListIndex; + /* 0x06 */ u16 mMtxInitDataIndex; + /* 0x08 */ u16 mDrawInitDataIndex; + /* 0x0C */ f32 mRadius; + /* 0x10 */ Vec mMin; + /* 0x1C */ Vec mMax; +}; + +struct J3DShapeMtxInitData { + /* 0x00 */ u16 mUseMtxIndex; + /* 0x02 */ u16 mUseMtxCount; + /* 0x04 */ u32 mFirstUseMtxIndex; +}; + +struct J3DShapeDrawInitData { + /* 0x00 */ u32 mDisplayListSize; + /* 0x04 */ u32 mDisplayListIndex; +}; + +struct J3DShapeBlock { + /* 0x00 */ u8 mMagic[4]; + /* 0x04 */ u32 mSize; + + /* 0x08 */ u16 mShapeNum; + /* 0x0A */ u16 _pad; + + /* 0x0C */ J3DShapeInitData* mShapeInitData; + /* 0x10 */ u16* mIndexTable; + /* 0x14 */ ResNTAB* mNameTable; + /* 0x18 */ GXVtxDescList* mVtxDescList; + /* 0x1C */ u16* mMtxTable; + /* 0x20 */ u8* mDisplayListData; + /* 0x24 */ J3DShapeMtxInitData* mMtxInitData; + /* 0x28 */ J3DShapeDrawInitData* mDrawInitData; +}; + +struct J3DShapeFactory { + /* 80337350 */ J3DShapeFactory(J3DShapeBlock const&); + /* 80337400 */ J3DShape* create(int, u32, GXVtxDescList*); + /* 803375BC */ J3DShapeMtx* newShapeMtx(u32, int, int) const; + /* 8033784C */ J3DShapeDraw* newShapeDraw(int, int) const; + /* 803378D8 */ void allocVcdVatCmdBuffer(u32); + /* 80337944 */ s32 calcSize(int, u32); + /* 803379D8 */ s32 calcSizeVcdVatCmdBuffer(u32); + /* 803379E8 */ s32 calcSizeShapeMtx(u32, int, int) const; + + /* 0x00 */ J3DShapeInitData* mShapeInitData; + /* 0x04 */ u16* mIndexTable; + /* 0x08 */ GXVtxDescList* mVtxDescList; + /* 0x0C */ u16* mMtxTable; + /* 0x10 */ u8* mDisplayListData; + /* 0x14 */ J3DShapeMtxInitData* mMtxInitData; + /* 0x18 */ J3DShapeDrawInitData* mDrawInitData; + /* 0x1C */ u8* mVcdVatCmdBuffer; + + u32 getMtxGroupNum(int no) const { return mShapeInitData[mIndexTable[no]].mMtxGroupNum; } + GXVtxDescList* getVtxDescList(int no) const { return (GXVtxDescList*)((u8*)mVtxDescList + mShapeInitData[mIndexTable[no]].mVtxDescListIndex); } + f32 getRadius(int no) const { return mShapeInitData[mIndexTable[no]].mRadius; } + Vec& getMin(int no) const { return mShapeInitData[mIndexTable[no]].mMin; } + Vec& getMax(int no) const { return mShapeInitData[mIndexTable[no]].mMax; } +}; + + +#endif /* J3DSHAPEFACTORY_H */ \ No newline at end of file diff --git a/include/JSystem/J3DU/J3DUClipper.h b/include/JSystem/J3DU/J3DUClipper.h index b63f5e6325..d622fbde44 100644 --- a/include/JSystem/J3DU/J3DUClipper.h +++ b/include/JSystem/J3DU/J3DUClipper.h @@ -2,6 +2,7 @@ #define J3DUCLIPPER_H #include "dolphin/mtx/vec.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" class J3DUClipper { diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 42e505a7b5..6eb88b0279 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -19,6 +19,18 @@ struct TVec3 { } }; +template <> +struct TVec3 { + s16 x, y, z; + + TVec3& operator=(const TVec3& b) { + // Force copies to use lwz/lha + *((s32*)this) = *((s32*)&b); + z = b.z; + return *this; + } +}; + template <> struct TVec3 { f32 x; @@ -47,6 +59,20 @@ struct TVec3 { y = a.y * b.y; z = a.z * b.z; } + + inline TVec3& operator=(const TVec3& b) { + register f32* dst = &x; + const register f32* src = &b.x; + register f32 x_y; + register f32 z; + asm { + psq_l x_y, 0(src), 0, 0 + psq_st x_y, 0(dst), 0, 0 + lfs z, 8(src) + stfs z, 8(dst) + }; + return *this; + } }; template diff --git a/include/JSystem/JStudio/JStudio/jstudio-object.h b/include/JSystem/JStudio/JStudio/jstudio-object.h index 9f78474e13..b0da5a2045 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-object.h +++ b/include/JSystem/JStudio/JStudio/jstudio-object.h @@ -9,7 +9,9 @@ namespace JStudio { namespace data { - struct TEOperationData {}; + enum TEOperationData { + UNK_0x19 = 0x19, + }; }; struct TAdaptor; @@ -50,6 +52,26 @@ public: /* 8028680C */ virtual void do_wait(u32); /* 8028682C */ virtual void do_data(void const*, u32, void const*, u32); + void prepareAdaptor() { + if (mpAdaptor != NULL) { + // mpAdaptor->adaptor_setObject_(this); + // mpAdaptor->adaptor_do_begin(); + } + } + + template + T* createFromAdaptor(const stb::data::TParse_TBlock_object& param_0, T* param_1) { + T* n = new T(param_0, param_1); + + if (n == NULL) { + return NULL; + } + + n->prepareAdaptor(); + + return n; + } + /* 0x34 */ TAdaptor* mpAdaptor; }; @@ -86,7 +108,11 @@ struct TAdaptor { /* 80286648 */ void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*, u32, void const*, u32); - /* 0x4 */ TObject* pObject_; + void adaptor_setObject_(const TObject* pObject) { + pObject_ = pObject; + } + + /* 0x4 */ const TObject* pObject_; /* 0x8 */ TVariableValue* pValue_; /* 0xC */ u32 u; }; diff --git a/include/JSystem/JStudio/JStudio/stb-data-parse.h b/include/JSystem/JStudio/JStudio/stb-data-parse.h index ef96a0d35f..b21486fcfb 100644 --- a/include/JSystem/JStudio/JStudio/stb-data-parse.h +++ b/include/JSystem/JStudio/JStudio/stb-data-parse.h @@ -73,7 +73,7 @@ struct TParse_TParagraph_data : public TParseData_aligned<4> { }; TParse_TParagraph_data(const void* content) : TParseData_aligned<4>(content) {} - /* 80289A80 */ void getData(TData*) const; + /* 80289A80 */ void getData(TData* pData) const; }; // Parses a TObject ("demo object") diff --git a/include/JSystem/JStudio/JStudio/stb.h b/include/JSystem/JStudio/JStudio/stb.h index e54ddb4b83..ec5dfbb2e8 100644 --- a/include/JSystem/JStudio/JStudio/stb.h +++ b/include/JSystem/JStudio/JStudio/stb.h @@ -152,6 +152,46 @@ private: /* 0x54 */ s32 _54; }; +template +struct TParseData { + TParseData(const void* pContent) { + data::TParse_TParagraph_data data(pContent); + set(data); + } + + void set(const data::TParse_TParagraph_data& data) { + //data::TParse_TParagraph_data::TData* p = (data::TParse_TParagraph_data::TData*)this; + data.getData(m_data); + } + + bool isEnd() const { + return m_data->_0 == 0; + } + + bool empty() const { + return m_data->_c == NULL; + } + + bool isValid() const { + return !empty() && m_data->_0 == 50; + } + + data::TParse_TParagraph_data::TData* m_data; +}; + +template +struct TParseData_fixed : public TParseData { + TParseData_fixed(const void* pContent) : TParseData(pContent) {} + + const void* getNext() const { + return m_data->_c; + } + + bool isValid() const { + return TParseData::isValid() && getNext() != NULL; + } +}; + } // namespace stb } // namespace JStudio diff --git a/include/JSystem/JSupport/JSupport.h b/include/JSystem/JSupport/JSupport.h index 7c1d91058a..e98dee1f98 100644 --- a/include/JSystem/JSupport/JSupport.h +++ b/include/JSystem/JSupport/JSupport.h @@ -3,7 +3,7 @@ template T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) { - if (ptr == NULL) { + if (offset == NULL) { return NULL; } else { return (T*)((s32)ptr + (s32)offset); diff --git a/include/JSystem/JUtility/JUTException.h b/include/JSystem/JUtility/JUTException.h index 03976bde8c..447e1483aa 100644 --- a/include/JSystem/JUtility/JUTException.h +++ b/include/JSystem/JUtility/JUTException.h @@ -127,4 +127,9 @@ private: STATIC_ASSERT(sizeof(JUTException) == 0xA4); +struct JUTWarn { + JUTWarn& operator<<(const char*) { return *this; } + JUTWarn& operator<<(long) { return *this; } +}; + #endif /* JUTEXCEPTION_H */ diff --git a/include/MSL_C/MSL_Common/Src/float.h b/include/MSL_C/MSL_Common/Src/float.h index a41c15e2f3..794e5f853b 100644 --- a/include/MSL_C/MSL_Common/Src/float.h +++ b/include/MSL_C/MSL_Common/Src/float.h @@ -2,6 +2,7 @@ #define MSL_COMMON_SRC_FLOAT_H #include "dolphin/types.h" +#include "fdlibm.h" #define FP_SNAN 0 #define FP_QNAN 1 @@ -42,8 +43,23 @@ inline int __fpclassifyf(float __value) { } inline int __fpclassifyd(double __value) { - // TODO: - return FP_INFINITE; + switch (__HI(__value) & 0x7ff00000) { + case 0x7ff00000: { + if ((__HI(__value) & 0x000fffff) || (__LO(__value) & 0xffffffff)) + return FP_QNAN; + else + return FP_INFINITE; + break; + } + case 0: { + if ((__HI(__value) & 0x000fffff) || (__LO(__value) & 0xffffffff)) + return FP_SUBNORMAL; + else + return FP_ZERO; + break; + } + } + return FP_NORMAL; } #endif /* MSL_COMMON_SRC_FLOAT_H */ diff --git a/include/MSL_C/MSL_Common/Src/wchar_io.h b/include/MSL_C/MSL_Common/Src/wchar_io.h index ba643b03fa..fc8d3d4332 100644 --- a/include/MSL_C/MSL_Common/Src/wchar_io.h +++ b/include/MSL_C/MSL_Common/Src/wchar_io.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +typedef unsigned short wchar_t; + #endif /* MSL_COMMON_SRC_WCHAR_IO_H */ diff --git a/include/MSL_C/math.h b/include/MSL_C/math.h index eaf436dc13..0bae081bf7 100644 --- a/include/MSL_C/math.h +++ b/include/MSL_C/math.h @@ -26,7 +26,7 @@ double exp(double); extern float __fabsf(float); inline double fabs(double f) { - return __fabsf(f); + return __fabs(f); } inline double fabsf2(float f) { return __fabsf(f); diff --git a/include/Runtime.PPCEABI.H/__va_arg.h b/include/Runtime.PPCEABI.H/__va_arg.h index f4ff105d98..64378bddb2 100644 --- a/include/Runtime.PPCEABI.H/__va_arg.h +++ b/include/Runtime.PPCEABI.H/__va_arg.h @@ -14,9 +14,9 @@ typedef struct __va_list_struct { typedef _va_list_struct __va_list[1]; #ifdef __cplusplus -extern "C" void __va_arg(void*, int); +extern "C" void* __va_arg(_va_list_struct*, int); #else -void __va_arg(void*, int); +void* __va_arg(_va_list_struct*, int); #endif #if IN_VSCODE_EDITOR diff --git a/include/Runtime.PPCEABI.H/ptmf.h b/include/Runtime.PPCEABI.H/ptmf.h index a3c9cab68c..30060aefd2 100644 --- a/include/Runtime.PPCEABI.H/ptmf.h +++ b/include/Runtime.PPCEABI.H/ptmf.h @@ -1,6 +1,13 @@ #ifndef PTMF_H #define PTMF_H -#include "dolphin/types.h" +typedef struct __ptmf { + long this_delta; // self-explanatory + long v_offset; // vtable offset + union { + void* f_addr; // function address + long ve_offset; // virtual function entry offset (of vtable) + } f_data; +} __ptmf; #endif /* PTMF_H */ diff --git a/include/SSystem/SComponent/c_bg_s_chk.h b/include/SSystem/SComponent/c_bg_s_chk.h index eddabdabf3..7a832cf271 100644 --- a/include/SSystem/SComponent/c_bg_s_chk.h +++ b/include/SSystem/SComponent/c_bg_s_chk.h @@ -27,6 +27,7 @@ public: u32 GetActorPid() const { return mActorPid; } void SetPolyPassChk(cBgS_PolyPassChk* p_chk) { mPolyPassChk = p_chk; } void SetGrpPassChk(cBgS_GrpPassChk* p_chk) { mGrpPassChk = p_chk; } + cBgS_PolyPassChk* GetPolyPassChk() const { return mPolyPassChk; } virtual ~cBgS_Chk(void); }; // Size: 0x14 diff --git a/include/SSystem/SComponent/c_bg_s_lin_chk.h b/include/SSystem/SComponent/c_bg_s_lin_chk.h index cfd9692cdf..ca5c282fd2 100644 --- a/include/SSystem/SComponent/c_bg_s_lin_chk.h +++ b/include/SSystem/SComponent/c_bg_s_lin_chk.h @@ -8,15 +8,15 @@ #include "dolphin/types.h" class cBgS_LinChk : public cBgS_Chk, public cBgS_PolyInfo { -private: - /* 0x024 */ cM3dGLin mLinP; +public: + /* 0x024 */ cM3dGLin mLin; /* 0x040 */ cXyz field_0x40; /* 0x04C */ u32 field_0x4c; /* 0x050 */ bool mPreWallChk; /* 0x051 */ bool mPreGroundChk; /* 0x052 */ bool mPreRoofChk; - /* 0x053 */ u8 mFrontFlag; - /* 0x054 */ u8 mBackFlag; + /* 0x053 */ bool mFrontFlag; + /* 0x054 */ bool mBackFlag; public: cBgS_LinChk(); @@ -30,6 +30,13 @@ public: void ClrHit() { field_0x4c &= ~16; } void SetHit() { field_0x4c |= 16; } u32 ChkHit() const { return field_0x4c & 16; } + void SetCross(const cXyz& pos) { mLin.SetEnd(pos); } + cM3dGLin* GetLinP() { return &mLin; } + bool ChkBackFlag() const { return mBackFlag; } + bool ChkFrontFlag() const { return mFrontFlag; } + bool GetPreWallChk() const { return mPreWallChk; } + bool GetPreGroundChk() const { return mPreGroundChk; } + bool GetPreRoofChk() const { return mPreRoofChk; } }; #endif /* C_BG_S_LIN_CHK_H */ diff --git a/include/SSystem/SComponent/c_m3d.h b/include/SSystem/SComponent/c_m3d.h index f024fd44df..931f31c4d5 100644 --- a/include/SSystem/SComponent/c_m3d.h +++ b/include/SSystem/SComponent/c_m3d.h @@ -87,5 +87,9 @@ void cM3d_CrawVec(const Vec&, const Vec&, Vec*); inline bool cM3d_IsZero(f32 f) { return fabsf(f) < G_CM3D_F_ABS_MIN; } +// this is the inline cM3d_IsZero but inverted. Sometimes this will get a match where the regular cM3d_IsZero inline won't +inline bool cM3d_IsZero_inverted(f32 param_0) { + return !(fabsf(param_0) < G_CM3D_F_ABS_MIN); +} #endif \ No newline at end of file diff --git a/include/SSystem/SComponent/c_m3d_g_aab.h b/include/SSystem/SComponent/c_m3d_g_aab.h index d5c534a581..ba1a556ef1 100644 --- a/include/SSystem/SComponent/c_m3d_g_aab.h +++ b/include/SSystem/SComponent/c_m3d_g_aab.h @@ -26,12 +26,12 @@ public: void PlusR(f32); const cXyz& getMaxP(void) const { return mMax; } const cXyz& getMinP(void) const { return mMin; } - const f32 GetMaxX(void) const { return mMax.GetX(); } - const f32 GetMaxY(void) const { return mMax.GetY(); } - const f32 GetMaxZ(void) const { return mMax.GetZ(); } - const f32 GetMinX(void) const { return mMin.GetX(); } - const f32 GetMinY(void) const { return mMin.GetY(); } - const f32 GetMinZ(void) const { return mMin.GetZ(); } + const f32 GetMaxX(void) const { return mMax.x; } + const f32 GetMaxY(void) const { return mMax.y; } + const f32 GetMaxZ(void) const { return mMax.z; } + const f32 GetMinX(void) const { return mMin.x; } + const f32 GetMinY(void) const { return mMin.y; } + const f32 GetMinZ(void) const { return mMin.z; } }; // Size = 0x1C STATIC_ASSERT(0x1C == sizeof(cM3dGAab)); diff --git a/include/SSystem/SComponent/c_m3d_g_pla.h b/include/SSystem/SComponent/c_m3d_g_pla.h index 387f074d5d..bb628278f9 100644 --- a/include/SSystem/SComponent/c_m3d_g_pla.h +++ b/include/SSystem/SComponent/c_m3d_g_pla.h @@ -2,26 +2,34 @@ #define C_M3C_G_PLA_H_ #include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_m3d.h" #include "dolphin/types.h" // Plane with a normal class cM3dGPla { public: - cXyz mNormal; - f32 mD; + /* 0x00 */ cXyz mNormal; + /* 0x0C */ f32 mD; + /* 0x10 vtable */ + cM3dGPla() {} cM3dGPla(const cXyz*, f32); - virtual ~cM3dGPla() {} bool crossInfLin(const cXyz&, const cXyz&, cXyz&) const; void SetupNP0(const Vec&, const Vec&); void SetupNP(const Vec&, const Vec&); bool getCrossY(const cXyz&, f32*) const; bool getCrossYLessD(const Vec&, f32*) const; void Set(const cM3dGPla*); + void GetNP(); + + virtual ~cM3dGPla() {} + f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); } const cXyz& GetNP() const { return mNormal; } - void GetNP(); f32 GetD() const { return mD; } + void SetupFrom3Vtx(const Vec* v1, const Vec* v2, const Vec* v3) { + cM3d_CalcPla(v1, v2, v3, &mNormal, &mD); + } }; #endif \ No newline at end of file diff --git a/include/SSystem/SComponent/c_m3d_g_sph.h b/include/SSystem/SComponent/c_m3d_g_sph.h index 4d028ddcc4..de48572064 100644 --- a/include/SSystem/SComponent/c_m3d_g_sph.h +++ b/include/SSystem/SComponent/c_m3d_g_sph.h @@ -29,9 +29,9 @@ public: void GetMinMaxCube(cXyz&, cXyz&) const; const cXyz& GetC(void) const { return mCenter; } const f32 GetR(void) const { return mRadius; } - f32 GetCX(void) const { return mCenter.GetX(); } - f32 GetCY(void) const { return mCenter.GetY(); } - f32 GetCZ(void) const { return mCenter.GetZ(); } + f32 GetCX(void) const { return mCenter.x; } + f32 GetCY(void) const { return mCenter.y; } + f32 GetCZ(void) const { return mCenter.z; } bool Cross(const cM3dGSph* other, f32* f) const { return cM3d_Cross_SphSph(this, other, f); } bool Cross(const cM3dGCps* cps, cXyz* xyz) const { return cM3d_Cross_CpsSph(*cps, *this, xyz); } diff --git a/include/SSystem/SComponent/c_m3d_g_tri.h b/include/SSystem/SComponent/c_m3d_g_tri.h index d2a009ca64..5bab254ea0 100644 --- a/include/SSystem/SComponent/c_m3d_g_tri.h +++ b/include/SSystem/SComponent/c_m3d_g_tri.h @@ -27,6 +27,9 @@ public: bool Cross(cM3dGTri const& other, cXyz* xyz) const { return cM3d_Cross_TriTri(*this, other, xyz); } + bool cross(const cM3dGLin* lin, Vec* xyz, bool param_2, bool param_3) const { + return cM3d_Cross_LinTri(lin, this, xyz, param_2, param_3); + } }; #endif \ No newline at end of file diff --git a/include/SSystem/SComponent/c_sxyz.h b/include/SSystem/SComponent/c_sxyz.h index bcc78040d0..c595b8f495 100644 --- a/include/SSystem/SComponent/c_sxyz.h +++ b/include/SSystem/SComponent/c_sxyz.h @@ -18,6 +18,18 @@ public: s16 GetX() const { return x; } s16 GetY() const { return y; } s16 GetZ() const { return z; } + + void set(s16 oX, s16 oY, s16 oZ) { + x = oX; + y = oY; + z = oZ; + } + + void setall(s16 val) { + x = val; + y = val; + z = val; + } }; #endif /* C_SXYZ_H */ diff --git a/include/SSystem/SComponent/c_xyz.h b/include/SSystem/SComponent/c_xyz.h index 8e7757685a..3b7c4fb4e4 100644 --- a/include/SSystem/SComponent/c_xyz.h +++ b/include/SSystem/SComponent/c_xyz.h @@ -41,6 +41,8 @@ struct cXyz : Vec { /* 80266B84 */ cXyz operator*(f32) const; /* 80266BD0 */ cXyz operator*(Vec const&) const; /* 80266C18 */ cXyz operator/(f32) const; + /* 800977D8 */ // void operator=(cXyz const&); + void operator+=(f32 f) { x += f; y += f; @@ -72,6 +74,22 @@ struct cXyz : Vec { /* 80267128 */ s16 atan2sX_Z() const; /* 80267150 */ s16 atan2sY_XZ() const; + void set(f32 pX, f32 pY, f32 pZ) { + x = pX; + y = pY; + z = pZ; + } + + void set(const Vec& other) { + x = other.x; + y = other.y; + z = other.z; + } + + f32 getXDiff(const Vec* other) const { return x - other->x; } + f32 getYDiff(const Vec* other) const { return y - other->y; } + f32 getZDiff(const Vec* other) const { return z - other->z; } + void setAll(f32 f) { set(f, f, f); } void setMin(const cXyz& other) { diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h index d44129e45a..dbd8e5783c 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h @@ -3,4 +3,19 @@ #include "dolphin/types.h" +#define TRK_DISPATCH_CMD_CONNECT 1 /* Connect to the console */ +#define TRK_DISPATCH_CMD_DISCONNECT 2 /* Disconnect from the console */ +#define TRK_DISPATCH_CMD_RESET 3 /* Reset the debugger */ +#define TRK_DISPATCH_CMD_GETVERSION 4 /* Get debugger version */ +#define TRK_DISPATCH_CMD_GETSUPPORTMASK 5 /* Get Support Mask */ +#define TRK_DISPATCH_CMD_OVERRIDE 7 /* Override? */ +#define TRK_DISPATCH_CMD_READMEM 16 /* Reading from memory */ +#define TRK_DISPATCH_CMD_WRITEMEM 17 /* Writing to memory */ +#define TRK_DISPATCH_CMD_READREGS 18 /* Read a register value */ +#define TRK_DISPATCH_CMD_WRITEREGS 19 /* Set a register */ +#define TRK_DISPATCH_CMD_SETOPTION 23 /* Set an option? */ +#define TRK_DISPATCH_CMD_CONTINUE 24 /* Continue debugging */ +#define TRK_DISPATCH_CMD_STEP 25 /* Step through an instruction */ +#define TRK_DISPATCH_CMD_STOP 26 /* Stop the debugger */ + #endif /* METROTRK_PORTABLE_DISPATCH_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h index 93095570d2..846291e307 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +void TRKNubMainLoop(void); + #endif /* METROTRK_PORTABLE_MAINLOOP_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h index afef167736..c2a697ce45 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h @@ -3,4 +3,11 @@ #include "dolphin/types.h" +typedef struct _TRK_Msg { + u8 _00[8]; + u32 m_msgLength; + u32 _0C; + u32 m_msg; +} TRK_Msg; + #endif /* METROTRK_PORTABLE_MSG_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h index 7ba70b1904..e4108ba657 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h @@ -3,4 +3,15 @@ #include "dolphin/types.h" +typedef struct TRKBuffer { + u8 _00[4]; + u32 _04; + s32 _08; + u32 _0C; + u32 _10; + u8 m_buffer[0x87C]; +} TRKBuffer; + +s32 TRKSetBufferPosition(TRKBuffer*, u32); + #endif /* METROTRK_PORTABLE_MSGBUF_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h index 746f55a84b..7c972fc07c 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h @@ -2,5 +2,23 @@ #define METROTRK_PORTABLE_MSGHNDLR_H #include "dolphin/types.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" + +void SetTRKConnected(BOOL); +BOOL GetTRKConnected(void); +s32 TRKDoSetOption(TRKBuffer*); +s32 TRKDoStop(TRKBuffer*); +s32 TRKDoStep(TRKBuffer*); +s32 TRKDoContinue(TRKBuffer*); +s32 TRKDoWriteRegisters(TRKBuffer*); +s32 TRKDoReadRegisters(TRKBuffer*); +s32 TRKDoWriteMemory(TRKBuffer*); +s32 TRKDoReadMemory(TRKBuffer*); +s32 TRKDoSupportMask(TRKBuffer*); +s32 TRKDoVersions(TRKBuffer*); +s32 TRKDoOverride(TRKBuffer*); +s32 TRKDoReset(TRKBuffer*); +s32 TRKDoDisconnect(TRKBuffer*); +s32 TRKDoConnect(TRKBuffer*); #endif /* METROTRK_PORTABLE_MSGHNDLR_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h index bb0f572c74..a86fa52395 100644 --- a/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h +++ b/include/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h @@ -3,4 +3,8 @@ #include "dolphin/types.h" +void TRKNubWelcome(void); +s32 TRKTerminateNub(void); +s32 TRKInitializeNub(void); + #endif /* METROTRK_PORTABLE_NUBINIT_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h index 0a4b8ea5a9..c2bf8bfc81 100644 --- a/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h +++ b/include/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h @@ -3,4 +3,8 @@ #include "dolphin/types.h" +void UnreserveEXI2Port(); +void ReserveEXI2Port(); +s32 TRKWriteUARTN(const void*, u32); + #endif /* OS_DOLPHIN_DOLPHIN_TRK_GLUE_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h b/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h index 58031b5fd6..c256aea9db 100644 --- a/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h +++ b/include/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h @@ -3,4 +3,7 @@ #include "dolphin/types.h" +void TRKSwapAndGo(); +void TRKTargetSetStopped(s32); + #endif /* PPC_GENERIC_TARGIMPL_H */ diff --git a/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h b/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h index 2e5a587ece..35f9bb2fd0 100644 --- a/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h +++ b/include/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h @@ -3,4 +3,6 @@ #include "dolphin/types.h" +void MWTRACE(u8, char*, ...); + #endif /* UTILS_COMMON_MWTRACE_H */ diff --git a/include/Z2AudioLib/Z2SeqMgr.h b/include/Z2AudioLib/Z2SeqMgr.h index 5a1ec56f38..3dedde1115 100644 --- a/include/Z2AudioLib/Z2SeqMgr.h +++ b/include/Z2AudioLib/Z2SeqMgr.h @@ -25,8 +25,8 @@ class Z2SeqMgr { public: Z2SeqMgr(); - void bgmStart(u32, u32, s32); - void bgmStop(u32, s32); + void bgmStart(u32 i_bgmID, u32, s32); + void bgmStop(u32 i_bgmID, s32); void subBgmStart(u32); void subBgmStop(); void subBgmStopInner(); @@ -79,12 +79,12 @@ public: void i_setTwilightGateVol(f32 vol) { mTwilightGateVol = vol; } - void i_setWindStoneVol(f32 vol, u32 count) { field_0x94.move(vol, count); } + void i_setWindStoneVol(f32 vol, u32 count) { mWindStone.move(vol, count); } - void i_bgmAllUnMute(u32 count) { field_0x74.move(1.0f, count); } + void i_bgmAllUnMute(u32 count) { mAllBgmMaster.move(1.0f, count); } void i_unMuteSceneBgm(u32 count) { - field_0x34.move(1.0f, 0); + mBgmPause.move(1.0f, 0); field_0x44.move(1.0f, count); } @@ -94,15 +94,15 @@ private: /* 0x08 */ JAISoundHandle field_0x08; /* 0x0C */ JAISoundHandle field_0x0c; /* 0x10 */ JAISoundID field_0x10; - /* 0x14 */ Z2SoundFader field_0x14; - /* 0x24 */ Z2SoundFader field_0x24; - /* 0x34 */ Z2SoundFader field_0x34; + /* 0x14 */ Z2SoundFader mMainBgmMaster; + /* 0x24 */ Z2SoundFader mSubBgmMaster; + /* 0x34 */ Z2SoundFader mBgmPause; /* 0x44 */ Z2SoundFader field_0x44; - /* 0x54 */ Z2SoundFader field_0x54; + /* 0x54 */ Z2SoundFader mFanfareMute; /* 0x64 */ Z2SoundFader field_0x64; - /* 0x74 */ Z2SoundFader field_0x74; + /* 0x74 */ Z2SoundFader mAllBgmMaster; /* 0x84 */ Z2SoundFader field_0x84; - /* 0x94 */ Z2SoundFader field_0x94; + /* 0x94 */ Z2SoundFader mWindStone; /* 0xA4 */ Z2SoundFader field_0xa4; /* 0xB4 */ f32 mTwilightGateVol; /* 0xB8 */ u16 field_0xb8; diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 7df6f5c7a6..c142c1ec95 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -74,7 +74,6 @@ public: /* 801266C0 */ virtual void draw(); /* 800CFDF4 */ virtual ~daAlink_sight_c(); -private: /* 0x4C */ bool mLockFlag; /* 0x4D */ u8 field_0x4d[3]; /* 0x50 */ daAlink_lockCursor_c mLockCursor; @@ -147,6 +146,8 @@ public: /* 800D0B8C */ virtual ~daAlink_matAnm_c(); /* 8009D90C */ virtual void calc(J3DMaterial*) const; + static void decMorfFrame() {} + private: /* 0x0F4 */ f32 field_0xf4; /* 0x0F8 */ f32 field_0xf8; @@ -155,9 +156,13 @@ private: /* 0x104 */ int mSetFlag; }; +struct daAlink_BckData { + /* 0x0 */ u16 m_underID; + /* 0x0 */ u16 m_upperID; +}; + struct daAlink_AnmData { - /* 0x0 */ u16 field_0x0; - /* 0x2 */ u16 field_0x2; + /* 0x0 */ daAlink_BckData field_0x0; /* 0x4 */ u8 field_0x4; /* 0x5 */ u8 field_0x5; /* 0x6 */ u16 field_0x6; @@ -196,57 +201,105 @@ typedef int (daAlink_c::*daAlink_procFunc)(); class daAlink_c : public daPy_py_c { public: enum daAlink_ANM { - /* 0x001 */ ANM_ATN_L_WALK_FORWARD = 1, - - /* 0x003 */ ANM_ATN_WALK_BACK = 3, - - /* 0x005 */ ANM_ATN_L_WALK_BACK = 5, - /* 0x006 */ ANM_ATN_HEAVY_WALK_LEFT, - /* 0x007 */ ANM_ATN_READY_LEFT, - /* 0x008 */ ANM_ATN_HEAVY_WALK_RIGHT, - /* 0x009 */ ANM_ATN_READY_RIGHT, - /* 0x00A */ ANM_ATN_WALK_LEFT, - /* 0x00B */ ANM_ATN_L_WALK_LEFT, - /* 0x00C */ ANM_ATN_WALK_RIGHT, - /* 0x00D */ ANM_ATN_L_WALK_RIGHT, - /* 0x00E */ ANM_HEAVY_WALK, - /* 0x00F */ ANM_ATN_HEAVY_WALK_BACK, - /* 0x010 */ ANM_HOOKSHOT_AIM, - /* 0x011 */ ANM_BOW_AIM, - - /* 0x013 */ ANM_RUN = 19, - - /* 0x015 */ ANM_WAIT_TURN = 0x15, - - /* 0x019 */ ANM_IDLE = 0x19, // name might be inaccurate, subjectivity - - /* 0x01B */ ANM_WAIT_INIT = 0x1B, - - /* 0x01D */ ANM_SIDE_STEP_LEFT = 0x1D, - /* 0x01E */ ANM_SIDE_STEP_RIGHT, - /* 0x01F */ ANM_SIDE_STEP_LEFT_LAND, - /* 0x020 */ ANM_SIDE_STEP_RIGHT_LAND, + /* 0x000 */ ANM_ATN_RETURN_FROM_WALK, + /* 0x001 */ ANM_ATN_RETURN_FROM_RUN, + /* 0x002 */ ANM_ATN_BACK_WALK, + /* 0x003 */ ANM_ATN_BACK_RUN, + /* 0x004 */ ANM_ATN_LOCK_BACK_WALK, + /* 0x005 */ ANM_ATN_LOCK_BACK_RUN, + /* 0x006 */ ANM_ATN_WALK_LEFT, + /* 0x007 */ ANM_ATN_LOCK_WALK_LEFT, + /* 0x008 */ ANM_ATN_WALK_RIGHT, + /* 0x009 */ ANM_ATN_LOCK_WALK_RIGHT, + /* 0x00A */ ANM_ATN_RUN_LEFT, + /* 0x00B */ ANM_ATN_LOCK_RUN_LEFT, + /* 0x00C */ ANM_ATN_RUN_RIGHT, + /* 0x00D */ ANM_ATN_LOCK_RUN_RIGHT, + /* 0x00E */ ANM_WALK_HEAVY, + /* 0x00F */ ANM_ATN_BACK_WALK_HEAVY, + /* 0x010 */ ANM_ATN_WAIT_LEFT, + /* 0x011 */ ANM_ATN_WAIT_RIGHT, + /* 0x012 */ ANM_WALK, + /* 0x013 */ ANM_RUN, + /* 0x014 */ ANM_SWIM_WAIT, + /* 0x015 */ ANM_STEP_TURN, + /* 0x016 */ ANM_SMALL_GUARD, + /* 0x017 */ ANM_STEP_TURN_TIRED, + /* 0x018 */ ANM_SMALL_GUARD_TIRED, + /* 0x019 */ ANM_WAIT, + /* 0x01A */ ANM_WAIT_B, + /* 0x01B */ ANM_WAIT_B_TO_A, + /* 0x01C */ ANM_RUN_B, + /* 0x01D */ ANM_SIDE_JUMP_LEFT, + /* 0x01E */ ANM_SIDE_JUMP_RIGHT, + /* 0x01F */ ANM_SIDE_JUMP_LEFT_LAND, + /* 0x020 */ ANM_SIDE_JUMP_RIGHT_LAND, /* 0x021 */ ANM_BACK_JUMP, /* 0x022 */ ANM_BACK_JUMP_LAND, /* 0x023 */ ANM_FRONT_ROLL, /* 0x024 */ ANM_ROLL_CRASH, - /* 0x025 */ ANM_BARRIER_RECOIL, + /* 0x025 */ ANM_BARRIER_RECOIL, // ? /* 0x026 */ ANM_BACKFLIP, /* 0x027 */ ANM_BACKFLIP_LAND, - - /* 0x02C */ ANM_SHIELD_GUARD = 0x2C, - - /* 0x02E */ ANM_SHIELD_ATTACK = 0x2E, + /* 0x028 */ ANM_SLIP, + /* 0x029 */ ANM_CROUCH, + /* 0x02A */ ANM_CROUCH_START, + /* 0x02B */ ANM_GUARD_LEFT, + /* 0x02C */ ANM_GUARD_RIGHT, + /* 0x02D */ ANM_CROUCH_DEF, // ? + /* 0x02E */ ANM_SHIELD_ATTACK, /* 0x02F */ ANM_SHIELD_ATTACK_RECOIL, - - /* 0x033 */ ANM_FALL_LAND = 0x33, // ? - - /* 0x036 */ ANM_PUSH_PULL_READY = 0x36, - /* 0x037 */ ANM_PUSH, - - /* 0x03A */ ANM_PULL = 0x3A, - - /* 0x062 */ ANM_CUT_NM_VERTICAL = 0x62, + /* 0x030 */ ANM_GUARD_BREAK, + /* 0x031 */ ANM_JUMP_START, + /* 0x032 */ ANM_JUMP, + /* 0x033 */ ANM_JUMP_LAND, + /* 0x034 */ ANM_CRAWL_START, + /* 0x035 */ ANM_CRAWL, + /* 0x036 */ ANM_WAIT_PUSH_PULL, + /* 0x037 */ ANM_PUSH_LIGHT, + /* 0x038 */ ANM_PUSH_START, + /* 0x039 */ ANM_PUSH, + /* 0x03A */ ANM_PULL_LIGHT, + /* 0x03B */ ANM_PULL_START, + /* 0x03C */ ANM_PULL, + /* 0x03D */ ANM_HORSE_MOUNT_LEFT, + /* 0x03E */ ANM_HORSE_MOUNT_RIGHT, + /* 0x03F */ ANM_HORSE_MOUNT_BACK, + /* 0x040 */ ANM_HORSE_GETOFF_LEFT, + /* 0x041 */ ANM_HORSE_GETOFF_RIGHT, + /* 0x042 */ ANM_HORSE_STOP, + /* 0x043 */ ANM_HORSE_STOP_TO_STAND, + /* 0x044 */ ANM_HORSE_STAND, + /* 0x045 */ ANM_HORSE_JUMP_START, + /* 0x046 */ ANM_HORSE_JUMP, + /* 0x047 */ ANM_HORSE_JUMP_LAND, + /* 0x048 */ ANM_HORSE_WAIT, + /* 0x049 */ ANM_HORSE_WALK_A, + /* 0x04A */ ANM_HORSE_WALK_B, + /* 0x04B */ ANM_HORSE_DASH_A, + /* 0x04C */ ANM_HORSE_DASH_B, + /* 0x04D */ ANM_WSTARTH, // ? + /* 0x04E */ ANM_HORSE_DASH_START, + /* 0x04F */ ANM_HORSE_LASH, + /* 0x050 */ ANM_HORSE_CUT_TURN, + /* 0x051 */ ANM_HORSE_WAIT_A, + /* 0x052 */ ANM_HORSE_WAIT_B, + /* 0x053 */ ANM_HORSE_DIE_RECOVER, + /* 0x054 */ ANM_HORSE_TURN_B, + /* 0x055 */ ANM_HORSE_CROUCH, + /* 0x056 */ ANM_HORSE_DMG_LEFT, + /* 0x057 */ ANM_HORSE_DMG_RIGHT, + /* 0x058 */ ANM_HORSE_HANG_LEFT, + /* 0x059 */ ANM_HORSE_HANG_RIGHT, + /* 0x05A */ ANM_HORSE_TURN_LEFT, + /* 0x05B */ ANM_HORSE_TURN_RIGHT, + /* 0x05C */ ANM_HORSE_RIDE_LEFT, + /* 0x05D */ ANM_HORSE_RIDE_RIGHT, + /* 0x05E */ ANM_HORSE_FALL_LEFT, + /* 0x05F */ ANM_HORSE_FALL_RIGHT, + /* 0x060 */ ANM_HORSE_TAME_WAIT_B, + /* 0x061 */ ANM_HORSE_TAME_WAIT_A_TO_B, + /* 0x062 */ ANM_CUT_NM_VERTICAL, /* 0x063 */ ANM_CUT_NM_LEFT, /* 0x064 */ ANM_CUT_NM_RIGHT, /* 0x065 */ ANM_CUT_COMBO_STAB, @@ -254,38 +307,45 @@ public: /* 0x067 */ ANM_CUT_FINISH_LEFT, /* 0x068 */ ANM_CUT_FINISH_VERTICAL, /* 0x069 */ ANM_CUT_FINISH_STAB, - - /* 0x06C */ ANM_CUT_FINISH_RIGHT = 0x6C, + /* 0x06A */ ANM_CUT_MORTAL_DRAW_A, + /* 0x06B */ ANM_CUT_MORTAL_DRAW_B, + /* 0x06C */ ANM_CUT_FINISH_RIGHT, /* 0x06D */ ANM_CUT_TWIRL, /* 0x06E */ ANM_CUT_TWIRL_LAND, - /* 0x06F */ ANM_CUT_RECOIL_1, - /* 0x070 */ ANM_CUT_RECOIL_2, + /* 0x06F */ ANM_CUT_RECOIL_A, + /* 0x070 */ ANM_CUT_RECOIL_B, /* 0x071 */ ANM_CUT_JUMP, /* 0x072 */ ANM_CUT_JUMP_LAND, /* 0x073 */ ANM_CUT_TURN_LEFT, /* 0x074 */ ANM_CUT_TURN_RIGHT, - /* 0x075 */ ANM_CUT_TURN_CHARGE_INIT, + /* 0x075 */ ANM_CUT_TURN_CHARGE_START, /* 0x076 */ ANM_CUT_TURN_CHARGE, - - /* 0x078 */ ANM_CUT_FINISHING_BLOW_JUMP = 0x78, + /* 0x077 */ ANM_CUT_TURN_CHARGE_MOVE, + /* 0x078 */ ANM_CUT_FINISHING_BLOW_JUMP, /* 0x079 */ ANM_CUT_FINISHING_BLOW_FALL, /* 0x07A */ ANM_CUT_FINISHING_BLOW_STAB, - - /* 0x07C */ ANM_CUT_HEAD_JUMP = 0x7C, + /* 0x07B */ ANM_CUT_FINISHING_BLOW_MISS, + /* 0x07C */ ANM_CUT_HEAD_JUMP, /* 0x07D */ ANM_CUT_HEAD, /* 0x07E */ ANM_CUT_HEAD_LAND, - /* 0x07F */ ANM_DMG_SMALL, - - /* 0x083 */ ANM_DMG_AIR = 0x83, + /* 0x07F */ ANM_DMG_SMALL_A, + /* 0x080 */ ANM_DMG_SMALL_B, + /* 0x081 */ ANM_DMG_SMALL_LEFT, + /* 0x082 */ ANM_DMG_SMALL_RIGHT, + /* 0x083 */ ANM_DMG_AIR_FRONT, /* 0x084 */ ANM_DMG_LARGE, - - /* 0x087 */ ANM_DMG_AIR_LAND = 0x87, + /* 0x085 */ ANM_DMG_AIR_LEFT, + /* 0x086 */ ANM_DMG_AIR_RIGHT, + /* 0x087 */ ANM_DMG_AIR_LAND, /* 0x088 */ ANM_DMG_LARGE_LAND, - - /* 0x08C */ ANM_DMG_LARGE_UP_INIT = 0x8C, - /* 0x08D */ ANM_DMG_LARGE_UP, - - /* 0x090 */ ANM_SERVICE_WAIT = 0x90, + /* 0x089 */ ANM_DMG_AIR_LEFT_LAND, + /* 0x08A */ ANM_DMG_AIR_RIGHT_LAND, + /* 0x08B */ ANM_DMG, + /* 0x08C */ ANM_DMG_FALL, + /* 0x08D */ ANM_DMG_FALL_RECOVER, + /* 0x08E */ ANM_FINISH, + /* 0x08F */ ANM_FINISH_END, + /* 0x090 */ ANM_SERVICE_WAIT, /* 0x091 */ ANM_CLIMB_JUMP, /* 0x092 */ ANM_HANG_READY, /* 0x093 */ ANM_CLIMB_TOP_SMALL, @@ -294,98 +354,433 @@ public: /* 0x096 */ ANM_HANG_ONE_HAND_MOVE, /* 0x097 */ ANM_HANG_MOVE_LEFT, /* 0x098 */ ANM_HANG_MOVE_RIGHT, - - /* 0x0A2 */ ANM_CLIMB_READY = 0xA2, - /* 0x0A3 */ ANM_CLIMB_UP_RIGHT, - /* 0x0A4 */ ANM_CLIMB_UP_LEFT, - /* 0x0A5 */ ANM_CLIMB_MOVE_LEFT, - /* 0x0A6 */ ANM_CLIMB_MOVE_RIGHT, - /* 0x0A7 */ ANM_FALL_ONE_HAND_GRAB, - - /* 0x0AF */ ANM_PICK_UP_INIT = 0xAF, - /* 0x0B0 */ ANM_PICK_UP, - /* 0x0B1 */ ANM_THROW_SMALL, - /* 0x0B2 */ ANM_THROW_LARGE, - /* 0x0B3 */ ANM_PICK_UP_LARGE_INIT, + /* 0x099 */ ANM_LADDER_UP_START, + /* 0x09A */ ANM_LADDER_UP_END_LEFT, + /* 0x09B */ ANM_LADDER_UP_END_RIGHT, + /* 0x09C */ ANM_LADDER_DOWN_START, + /* 0x09D */ ANM_LADDER_DOWN_END_LEFT, + /* 0x09E */ ANM_LADDER_DOWN_END_RIGHT, + /* 0x09F */ ANM_LADDER_RIGHT_TO_LEFT, + /* 0x0A0 */ ANM_LADDER_LEFT_TO_RIGHT, + /* 0x0A1 */ ANM_CLIMB_HANG, + /* 0x0A2 */ ANM_CLIMB_START, + /* 0x0A3 */ ANM_CLIMB_LEFT, + /* 0x0A4 */ ANM_CLIMB_RIGHT, + /* 0x0A5 */ ANM_CLIMB_SLIDE_LEFT, + /* 0x0A6 */ ANM_CLIMB_SLIDE_RIGHT, + /* 0x0A7 */ ANM_CLIMB_HANG_MISS, + /* 0x0A8 */ ANM_ROOF_UP, + /* 0x0A9 */ ANM_ROOF_HANG_WAIT, + /* 0x0AA */ ANM_ROOF_HANG_MOVE, + /* 0x0AB */ ANM_ROOF_HANG_LEFT, + /* 0x0AC */ ANM_ROOF_HANG_RIGHT, + /* 0x0AD */ ANM_ROOF_HANG_TURN, + /* 0x0AE */ ANM_ROOF_HANG, + /* 0x0AF */ ANM_GRAB_UP_START, + /* 0x0B0 */ ANM_GRAB_UP, + /* 0x0B1 */ ANM_THROW, + /* 0x0B2 */ ANM_THROW_HEAVY, + /* 0x0B3 */ ANM_PICK_UP_LARGE_START, /* 0x0B4 */ ANM_PICK_UP_LARGE, - - /* 0x0B6 */ ANM_TIRED_WAIT = 0xB6, - /* 0x0B7 */ ANM_TIRED_WAIT_INIT, - /* 0x0B8 */ ANM_NPC_SPEAK, - - /* 0x0BB */ ANM_BOOMERANG_CATCH = 0xBB, - - /* 0x0BD */ ANM_FORWARD_SLIDE = 0xBD, - /* 0x0BE */ ANM_BACKWARD_SLIDE, - /* 0x0BF */ ANM_BACKWARD_SLIDE_LAND, - /* 0x0C0 */ ANM_FORWARD_SLIDE_LAND, - - /* 0x0CE */ ANM_SWIM_FREEZE = 0xCE, - - /* 0x0D7 */ ANM_BOARD_SPINNER = 0xD7, - - /* 0x0F2 */ ANM_SPINNER_STAND = 0xF2, - - /* 0x0F4 */ ANM_SPINNER_RIDE = 0xF4, - - /* 0x0F7 */ ANM_SPINNER_ATTACK = 0xF7, - /* 0x0F8 */ ANM_SPINNER_ATTACK_LAND, - /* 0x0F9 */ ANM_SPINNER_PUSH, - - /* 0x0FD */ ANM_TRANSFORM_WOLF = 0xFD, // verify - - /* 0x100 */ ANM_BOTTLE_DRINK_OPEN = 0x100, + /* 0x0B5 */ ANM_CARRY, + /* 0x0B6 */ ANM_WAIT_TIRED, + /* 0x0B7 */ ANM_WAIT_TO_TIRED, + /* 0x0B8 */ ANM_TALK, + /* 0x0B9 */ ANM_WAIT_START, + /* 0x0BA */ ANM_FROZEN_FREE, // ? + /* 0x0BB */ ANM_BOOMERANG_CATCH, + /* 0x0BC */ ANM_WALK_SLOPE, + /* 0x0BD */ ANM_SLIDE_FORWARD, + /* 0x0BE */ ANM_SLIDE_BACKWARD, + /* 0x0BF */ ANM_SLIDE_FORWARD_END, + /* 0x0C0 */ ANM_SLIDE_BACKWARD_END, + /* 0x0C1 */ ANM_SWIM_A, + /* 0x0C2 */ ANM_SWIM_RESURFACE, + /* 0x0C3 */ ANM_ATN_SWIM_LEFT, + /* 0x0C4 */ ANM_ATN_SWIM_RIGHT, + /* 0x0C5 */ ANM_ATN_SWIM_BACK, + /* 0x0C6 */ ANM_SWIM_DASH, + /* 0x0C7 */ ANM_SWIM_DIVE, + /* 0x0C8 */ ANM_SWIM_ZORA_START, + /* 0x0C9 */ ANM_SWIM_C, + /* 0x0CA */ ANM_SWIM_DMG_FRONT, + /* 0x0CB */ ANM_SWIM_DMG_BACK, + /* 0x0CC */ ANM_SWIM_DMG_LEFT, + /* 0x0CD */ ANM_SWIM_DMG_RIGHT, + /* 0x0CE */ ANM_SWIM_DMG_FREEZE, + /* 0x0CF */ ANM_TRES_OPEN_SMALL, + /* 0x0D0 */ ANM_TRES_OPEN_KICK, + /* 0x0D1 */ ANM_TRES_OPEN_BIG, + /* 0x0D2 */ ANM_GET_A, + /* 0x0D3 */ ANM_GET_A_WAIT, + /* 0x0D4 */ ANM_GET_A_WAIT2, // same under anm, upper anm (0x26A) + /* 0x0D5 */ ANM_GET_HOLDOUT, + /* 0x0D6 */ ANM_TURN_BACK, + /* 0x0D7 */ ANM_VJUMP_START, + /* 0x0D8 */ ANM_WAIT_SIT, + /* 0x0D9 */ ANM_WAIT_CANOE_LEFT, + /* 0x0DA */ ANM_WAIT_CANOE_RIGHT, + /* 0x0DB */ ANM_CANOE_ROW_LEFT, + /* 0x0DC */ ANM_CANOE_ROW_RIGHT, + /* 0x0DD */ ANM_CANOE_ROW_LEFT_BACK, + /* 0x0DE */ ANM_CANOE_ROW_RIGHT_BACK, + /* 0x0DF */ ANM_CANOE_CHANGE_HAND, + /* 0x0E0 */ ANM_CANOE_FISH_LEFT, + /* 0x0E1 */ ANM_CANOE_FISH_RIGHT, + /* 0x0E2 */ ANM_CANOE_REEL, + /* 0x0E3 */ ANM_CANOE_RELEASE, + /* 0x0E4 */ ANM_CANOE_PADDLE_TO_ROD, + /* 0x0E5 */ ANM_REEL, + /* 0x0E6 */ ANM_REEL_LEFT_RIGHT, + /* 0x0E7 */ ANM_LAND_UP, // ? + /* 0x0E8 */ ANM_DOOR_OPEN_LEFT, + /* 0x0E9 */ ANM_DOOR_OPEN_RIGHT, + /* 0x0EA */ ANM_DOOR_OPEN_LOCK_LEFT, + /* 0x0EB */ ANM_DOOR_OPEN_LOCK_RIGHT, + /* 0x0EC */ ANM_DOOR_OPEN_ROLL, + /* 0x0ED */ ANM_DOOR_OPEN_SLIDE, + /* 0x0EE */ ANM_PICK_UP, + /* 0x0EF */ ANM_ROLL_JUMP, + /* 0x0F0 */ ANM_SIDE_ROLL_LEFT, + /* 0x0F1 */ ANM_SIDE_ROLL_RIGHT, + /* 0x0F2 */ ANM_RIDE_WAIT, + /* 0x0F3 */ ANM_RIDE_FRONT, + /* 0x0F4 */ ANM_RIDE_CROUCH, + /* 0x0F5 */ ANM_RIDE_STOP, + /* 0x0F6 */ ANM_RIDE_JUMP_START, + /* 0x0F7 */ ANM_RIDE_JUMP, + /* 0x0F8 */ ANM_RIDE_JUMP_LAND, + /* 0x0F9 */ ANM_RIDE_KICK, + /* 0x0FA */ ANM_RIDE_CUT_TURN_CHARGE, + /* 0x0FB */ ANM_RIDE_CUT_TURN, + /* 0x0FC */ ANM_ROPE_SWING, // monkey swing? + /* 0x0FD */ ANM_TRANSFORM_TO_WOLF, + /* 0x0FE */ ANM_TRANSFORM_TO_HUMAN, + /* 0x0FF */ ANM_WAIT_WIND, + /* 0x100 */ ANM_BOTTLE_DRINK_START, /* 0x101 */ ANM_BOTTLE_DRINK, /* 0x102 */ ANM_BOTTLE_DRINK_END, - - /* 0x107 */ ANM_BOTTLE_SWING = 0x107, - /* 0x108 */ ANM_GRASS_WHISTLE_GRAB, - - /* 0x10B */ ANM_LANTERN_SWING = 0x10B, - /* 0x10C */ ANM_OIL_BOTTLE_POUR_INIT, + /* 0x103 */ ANM_BOTTLE_DRINK_NASTY, + /* 0x104 */ ANM_BOTTLE_OPEN, + /* 0x105 */ ANM_BOTTLE_POUR, + /* 0x106 */ ANM_BOTTLE_FAIRY, + /* 0x107 */ ANM_BOTTLE_SWING, + /* 0x108 */ ANM_BOTTLE_SWING_DOWN, + /* 0x109 */ ANM_BOTTLE_GET, + /* 0x10A */ ANM_BOTTLE_SCOOP, + /* 0x10B */ ANM_LANTERN_SWING, + /* 0x10C */ ANM_OIL_BOTTLE_POUR_START, /* 0x10D */ ANM_OIL_BOTTLE_POUR, /* 0x10E */ ANM_OIL_BOTTLE_POUR_END, - - /* 0x110 */ ANM_GRASS_WHISTLE_PLAY = 0x110, + /* 0x10F */ ANM_GRASS_WHISTLE_START, + /* 0x110 */ ANM_GRASS_WHISTLE_PLAY, /* 0x111 */ ANM_HAWK_CATCH, - /* 0x112 */ ANM_HAWK_SUBJECT, - - /* 0x129 */ ANM_HOOKSHOT_PULL_TO = 0x129, - - /* 0x12B */ ANM_HOOKSHOT_SHOOT = 0x12B, - - /* 0x13E */ ANM_BOOTS_EQUIP = 0x13E, - - /* 0x181 */ ANM_CHAIN_PICK_UP = 0x181, + /* 0x112 */ ANM_HAWK_WAIT, + /* 0x113 */ ANM_WAIT_D_B, // ghost rats? + /* 0x114 */ ANM_HORSE_WAIT_D_B, // ? + /* 0x115 */ ANM_MG_KICK, // ? + /* 0x116 */ ANM_DIE, + /* 0x117 */ ANM_HORSE_DIE, + /* 0x118 */ ANM_SWIM_DIE, + /* 0x119 */ ANM_SWIM_DROWN, + /* 0x11A */ ANM_ATN_COW, + /* 0x11B */ ANM_COW_CATCH_START, + /* 0x11C */ ANM_COW_CATCH, + /* 0x11D */ ANM_COW_A_D, // ? + /* 0x11E */ ANM_COW_PRESS, + /* 0x11F */ ANM_COW_THROW_LEFT, + /* 0x120 */ ANM_COW_THROW_RIGHT, + /* 0x121 */ ANM_ATN_RIGHT, + /* 0x122 */ ANM_COW_MOVE_LEFT_RIGHT, + /* 0x123 */ ANM_COW_STROKE, + /* 0x124 */ ANM_ENTRANCE, + /* 0x125 */ ANM_FALL, + /* 0x126 */ ANM_APPEARANCE, + /* 0x127 */ ANM_S_JUMP_START, // ? + /* 0x128 */ ANM_S_JUMP_END, // ? + /* 0x129 */ ANM_HOOKSHOT_FLY_LEFT, + /* 0x12A */ ANM_HOOKSHOT_FLY_RIGHT, + /* 0x12B */ ANM_HOOKSHOT_SHOOT, + /* 0x12C */ ANM_HOOKSHOT_HANG_END_LEFT, + /* 0x12D */ ANM_HOOKSHOT_HANG_END_RIGHT, + /* 0x12E */ ANM_HOOKSHOT_HANG_LEFT, + /* 0x12F */ ANM_HOOKSHOT_HANG_RIGHT, + /* 0x130 */ ANM_HOOKSHOT_HANG_WAIT_LEFT, + /* 0x131 */ ANM_HOOKSHOT_HANG_WAIT_RIGHT, + /* 0x132 */ ANM_HOOKSHOT_HANG_SHOOT_LEFT, + /* 0x133 */ ANM_HOOKSHOT_HANG_SHOOT_RIGHT, + /* 0x134 */ ANM_HOOKSHOT_HANG_LEFT_START, + /* 0x135 */ ANM_HOOKSHOT_HANG_RIGHT_START, + /* 0x136 */ ANM_HOOKSHOT_WALL_END_LEFT, + /* 0x137 */ ANM_HOOKSHOT_WALL_END_RIGHT, + /* 0x138 */ ANM_HOOKSHOT_WALL_LEFT, + /* 0x139 */ ANM_HOOKSHOT_WALL_RIGHT, + /* 0x13A */ ANM_HOOKSHOT_WALL_WAIT_LEFT, + /* 0x13B */ ANM_HOOKSHOT_WALL_WAIT_RIGHT, + /* 0x13C */ ANM_HOOKSHOT_WALL_SHOOT_LEFT, + /* 0x13D */ ANM_HOOKSHOT_WALL_SHOOT_RIGHT, + /* 0x13E */ ANM_HVY_BOOTS_PUT_ON, + /* 0x13F */ ANM_SUMOU_MIAU, // ? + /* 0x140 */ ANM_SUMOU_HAKEYOI, // ? + /* 0x141 */ ANM_SUMOU_FIGHT_WAIT, + /* 0x142 */ ANM_SUMOU_FIGHT_STEP_LEFT, + /* 0x143 */ ANM_SUMOU_FIGHT_STEP_RIGHT, + /* 0x144 */ ANM_SUMOU_FIGHT_STEP, + /* 0x145 */ ANM_SUMOU_TACKLE, + /* 0x146 */ ANM_SUMOU_TACKLE_GORON, // ? + /* 0x147 */ ANM_SUMOU_DODGE_TACKLE, + /* 0x148 */ ANM_SUMOU_TACKLE_MISS, + /* 0x149 */ ANM_SUMOU_TACKLE_SHOCK, + /* 0x14A */ ANM_SUMOU_TACKLE_WAIT, + /* 0x14B */ ANM_SUMOU_TACKLE_WAIT_GORON, // ? + /* 0x14C */ ANM_SUMOU_TACKLE_STAGGER, + /* 0x14D */ ANM_SUMOU_TACKLE_STAGGER_GORON, // ? + /* 0x14E */ ANM_SUMOU_TACKLE_SHOCK_RETURN, + /* 0x14F */ ANM_SUMOU_PUNCH, + /* 0x150 */ ANM_SUMOU_PUNCH_MISS_SHOCK, + /* 0x151 */ ANM_SUMOU_PUNCH_MISS_SHOCK_RETURN, + /* 0x152 */ ANM_SUMOU_PUNCH_SHOCK, + /* 0x153 */ ANM_SUMOU_STAGGER, + /* 0x154 */ ANM_SUMOU_PUSH_BACK, + /* 0x155 */ ANM_SUMOU_PULL_BACK, + /* 0x156 */ ANM_SUMOU_PULL_BACK_GORON, // ? + /* 0x157 */ ANM_SUMOU_WIN, + /* 0x158 */ ANM_SUMOU_WIN_GORON, + /* 0x159 */ ANM_SUMOU_LOSE, + /* 0x15A */ ANM_SUMOU_LOSE_GORON, + /* 0x15B */ ANM_SUMOU_KNOCKED_DOWN, + /* 0x15C */ ANM_SUMOU_GET_UP, + /* 0x15D */ ANM_SUMOU_SHIKO, + /* 0x15E */ ANM_SUMOU_SHIKO_WAIT, + /* 0x15F */ ANM_DMG_FBW, // ? + /* 0x160 */ ANM_IRONBALL_WAIT, + /* 0x161 */ ANM_IRONBALL_WALK, + /* 0x162 */ ANM_IRONBALL_ATTACK, + /* 0x163 */ ANM_IRONBALL_TURN, + /* 0x164 */ ANM_IRONBALL_THROW, + /* 0x165 */ ANM_IRONBALL_PULL, + /* 0x166 */ ANM_IRONBALL_CATCH, + /* 0x167 */ ANM_IRONBALL_DEF, + /* 0x168 */ ANM_MORPHEEL_HANG, + /* 0x169 */ ANM_MORPHEEL_HANG_MISS, + /* 0x16A */ ANM_MORPHEEL_HANG_WAIT, + /* 0x16B */ ANM_MORPHEEL_HANG_WAIT_B, + /* 0x16C */ ANM_MORPHEEL_CUT, + /* 0x16D */ ANM_MORPHEEL_CUT_B, // final hit of cycles 1 and 2 + /* 0x16E */ ANM_MORPHEEL_CUT_FINAL, + /* 0x16F */ ANM_MORPHEEL_SPIT_OUT, + /* 0x170 */ ANM_DRAGON_HANG_LEFT, + /* 0x171 */ ANM_DRAGON_HANG_RIGHT, + /* 0x172 */ ANM_DRAGON_HANG, + /* 0x173 */ ANM_DRAGON_HANG_WAIT, + /* 0x174 */ ANM_DRAGON_HANG_WAIT_B, + /* 0x175 */ ANM_DRAGON_CUT, + /* 0x176 */ ANM_DRAGON_CUT_B, // final hit of cycles 1 and 2 + /* 0x177 */ ANM_DRAGON_CUT_FINAL, + /* 0x178 */ ANM_COPYROD_SWING, + /* 0x179 */ ANM_COPYROD_SWING_LARGE, + /* 0x17A */ ANM_GET_MASTER_SWORD, // ? + /* 0x17B */ ANM_WAIT_F, + /* 0x17C */ ANM_ELEC_STUN_GND, + /* 0x17D */ ANM_ELEC_STUN_AIR, + /* 0x17E */ ANM_KEY_CATCH, + /* 0x17F */ ANM_HORSE_GET_ITEM, + /* 0x180 */ ANM_TWGATE_PULLED_IN, + /* 0x181 */ ANM_CHAIN_PICK_UP, /* 0x182 */ ANM_CHAIN_PULL, - - /* 0x188 */ ANM_DUNGEON_WARP_READY_INIT = 0x188, - - /* 0x18B */ ANM_CUT_JUMP_LARGE_CHARGE = 0x18B, - /* 0x18C */ ANM_CUT_JUMP_LARGE_INIT, + /* 0x183 */ ANM_CHAIN_PULL_FYRUS, + /* 0x184 */ ANM_CHAIN_PULL_END, + /* 0x185 */ ANM_WAIT_INSECT, + /* 0x186 */ ANM_DEMO_MHOP, // ? + /* 0x187 */ ANM_PULL_IRONBALL_SWITCH, + /* 0x188 */ ANM_TRADE_ITEM_PULL_OUT, + /* 0x189 */ ANM_TRADE_ITEM_WAIT, + /* 0x18A */ ANM_DEMO_KAMAE, // ? + /* 0x18B */ ANM_CUT_JUMP_LARGE_CHARGE, + /* 0x18C */ ANM_CUT_JUMP_LARGE_START, /* 0x18D */ ANM_CUT_JUMP_LARGE, /* 0x18E */ ANM_CUT_JUMP_LARGE_LAND, - /* 0x18F */ ANM_MASTER_SWORD_STICK_INIT, - /* 0x190 */ ANM_MASTER_SWORD_STICK, - /* 0x191 */ ANM_MASTER_SWORD_PULL_INIT, - - /* 0x198 */ ANM_GANON_FINISH = 408, // name probably wrong, fix later + /* 0x18F */ ANM_DEMO_MASTER_SWORD_STICK, + /* 0x190 */ ANM_DEMO_MASTER_SWORD_WAIT, + /* 0x191 */ ANM_DEMO_MASTER_SWORD_PULL, + /* 0x192 */ ANM_GANON_CHANCE, + /* 0x193 */ ANM_GANON_CHANCE_LOSING, + /* 0x194 */ ANM_GANON_CHANCE_WINNING, + /* 0x195 */ ANM_GANON_CHANCE_WIN, + /* 0x196 */ ANM_GANON_CHANCE_LOSE, + /* 0x197 */ ANM_GANON_FINISH, + /* 0x198 */ ANM_GANON_FINISH_WAIT, + /* 0x199 */ ANM_GANON_ON_HORSE, + /* 0x19A */ ANM_DIVE_START, + /* 0x19B */ ANM_DIVE, + /* 0x19C */ ANM_ODOROKU, // ? + /* 0x19D */ ANM_ASHIMOTO, // ? }; enum daAlink_UPPER { - Unk0, - Unk1, - UPPER_NOW // needs better name. main upper anmheap idx checked for actions + UPPER_0, + UPPER_1, + UPPER_2, }; - enum daAlink_UNDER {}; + enum daAlink_UNDER { + UNDER_0, + UNDER_1, + UNDER_2, + }; + + enum daAlink_FTANM {}; enum daAlink_WARP_MAT_MODE {}; enum daAlink_WANM { - /* 0x5E */ ANM_WOLF_HOWL_SUCCESS = 94, - - /* 0x70 */ ANM_TRANFORM_HUMAN = 0x70, // verify + /* 0x00 */ WANM_WAIT, + /* 0x01 */ WANM_WALK_A, + /* 0x02 */ WANM_WALK_B, + /* 0x03 */ WANM_DASH_A, + /* 0x04 */ WANM_JUMP_ATTACK_START, + /* 0x05 */ WANM_JUMP_ATTACK, + /* 0x06 */ WANM_JUMP_ATTACK_END, + /* 0x07 */ WANM_WAIT_PP, // ? + /* 0x08 */ WANM_PUSH_LIGHT, + /* 0x09 */ WANM_PUSH_START, + /* 0x0A */ WANM_PUSH, + /* 0x0B */ WANM_SIT, + /* 0x0C */ WANM_CROUCH, + /* 0x0D */ WANM_CROUCH_WALK, + /* 0x0E */ WANM_WAIT_SIT, + /* 0x0F */ WANM_TRES_OPEN, + /* 0x10 */ WANM_VJMP_START, + /* 0x11 */ WANM_BUMP_START, + /* 0x12 */ WANM_BUMP_END, + /* 0x13 */ WANM_VJMP_CLIMB, + /* 0x14 */ WANM_VJMP_CLIMB_HANG, + /* 0x15 */ WANM_TURN_BACK, + /* 0x16 */ WANM_DMG_SMALL, + /* 0x17 */ WANM_WAIT_TIRED, + /* 0x18 */ WANM_WAIT_TO_TIRED, + /* 0x19 */ WANM_HANG, + /* 0x1A */ WANM_SLIP, + /* 0x1B */ WANM_TURN, + /* 0x1C */ WANM_ATN, + /* 0x1D */ WANM_WALK_SLOPE, + /* 0x1E */ WANM_SLIDE_BACKWARD, + /* 0x1F */ WANM_SLIDE_BACKWARD_END, + /* 0x20 */ WANM_SLIDE_FORWARD_START, + /* 0x21 */ WANM_ROPE_WALK, + /* 0x22 */ WANM_ROPE_CLIMB_LEFT, + /* 0x23 */ WANM_ROPE_CLIMB_RIGHT, + /* 0x24 */ WANM_ROPE_TURN, + /* 0x25 */ WANM_ROPE_WAIT, + /* 0x26 */ WANM_ROPE_FALTER, + /* 0x27 */ WANM_DASH_B, + /* 0x28 */ WANM_DMG_AIR_FRONT, + /* 0x29 */ WANM_DMG_AIR_BACK, + /* 0x2A */ WANM_DMG_AIR_LEFT, + /* 0x2B */ WANM_DMG_AIR_RIGHT, + /* 0x2C */ WANM_DMG_AIR_FRONT_GETUP, + /* 0x2D */ WANM_DMG_AIR_BACK_GETUP, + /* 0x2E */ WANM_DMG_AIR_LEFT_GETUP, + /* 0x2F */ WANM_DMG_AIR_RIGHT_GETUP, + /* 0x30 */ WANM_SERVICE_WAIT_A, + /* 0x31 */ WANM_WAIT_B, + /* 0x32 */ WANM_JUMP_B_START, + /* 0x33 */ WANM_JUMP_B_TURN_START, + /* 0x34 */ WANM_JUMP_B, + /* 0x35 */ WANM_JUMP_B_END, + /* 0x36 */ WANM_SWIM_RESURFACE, + /* 0x37 */ WANM_SWIM_WAIT, + /* 0x38 */ WANM_SWIM, + /* 0x39 */ WANM_SWIM_DASH, + /* 0x3A */ WANM_WAIT_SHAKE, + /* 0x3B */ WANM_WAIT_START, + /* 0x3C */ WANM_DMG_FRONT, + /* 0x3D */ WANM_DMG_BACK, + /* 0x3E */ WANM_DMG_LEFT, + /* 0x3F */ WANM_DMG_RIGHT, + /* 0x40 */ WANM_ATTACK_B_LEFT, + /* 0x41 */ WANM_ATTACK_B_RIGHT, + /* 0x42 */ WANM_ATTACK_B_FRONT, + /* 0x43 */ WANM_ATTACK_B_TAIL, + /* 0x44 */ WANM_ATN_LOCK_WALK_BACK, + /* 0x45 */ WANM_ATN_LOCK_WALK_FRONT, + /* 0x46 */ WANM_ATN_LOCK_RUN, + /* 0x47 */ WANM_PICKUP_A, + /* 0x48 */ WANM_SIDE_JUMP_LEFT_START, + /* 0x49 */ WANM_SIDE_JUMP_LEFT_END, + /* 0x4A */ WANM_SIDE_JUMP_RIGHT_START, + /* 0x4B */ WANM_SIDE_JUMP_RIGHT_END, + /* 0x4C */ WANM_BACK_JUMP_START, + /* 0x4D */ WANM_BACK_JUMP_END, + /* 0x4E */ WANM_PICKUP_B, + /* 0x4F */ WANM_PICKUP_THROW, + /* 0x50 */ WANM_ATTACK_A_START, + /* 0x51 */ WANM_ATTACK_A, + /* 0x52 */ WANM_ATTACK_A_END, + /* 0x53 */ WANM_ATTACK_A_END_FRONT, + /* 0x54 */ WANM_ATTACK_A_END_BACK, + /* 0x55 */ WANM_ATTACK_T_START, + /* 0x56 */ WANM_ATTACK_T, + /* 0x57 */ WANM_HANDLE_HANG, + /* 0x58 */ WANM_HANDLE_HANG_WAIT, + /* 0x59 */ WANM_HANDLE_HANG_SW, // ? + /* 0x5A */ WANM_CUT_TURN_LEFT, + /* 0x5B */ WANM_CUT_TURN_RIGHT, + /* 0x5C */ WANM_HOWL, + /* 0x5D */ WANM_HOWL_SIT, + /* 0x5E */ WANM_HOWL_SUCCESS, + /* 0x5F */ WANM_HOWL_END, + /* 0x60 */ WANM_FALL_LAND, + /* 0x61 */ WANM_FALL_LAND_START, + /* 0x62 */ WANM_ATTACK_POE_START, + /* 0x63 */ WANM_ATTACK_POE, + /* 0x64 */ WANM_ATTACK_POE_END, + /* 0x65 */ WANM_ATTACK_POE_MISS, + /* 0x66 */ WANM_BACKFLIP_START, + /* 0x67 */ WANM_BACKFLIP_END, + /* 0x68 */ WANM_DIG, + /* 0x69 */ WANM_DIG_IN, + /* 0x6A */ WANM_DIG_UNDER, + /* 0x6B */ WANM_SLIDE_W, // ? + /* 0x6C */ WANM_JUMP_KICK, + /* 0x6D */ WANM_PULL_OUT, + /* 0x6E */ WANM_CUT_TURN_CHARGE, + /* 0x6F */ WANM_TRANSFORM_TO_WOLF, + /* 0x70 */ WANM_TRANSFORM_TO_HUMAN, + /* 0x71 */ WANM_WAIT_WIND, + /* 0x72 */ WANM_SMELL, + /* 0x73 */ WANM_DASH_START, + /* 0x74 */ WANM_ATTACK_RECOIL_START, + /* 0x75 */ WANM_ATTACK_RECOIL_END, + /* 0x76 */ WANM_FLING_LEFT, + /* 0x77 */ WANM_FLING_RIGHT, + /* 0x78 */ WANM_CATCH_START, + /* 0x79 */ WANM_CATCH, + /* 0x7A */ WANM_ATTACK_RECOIL_GROUND, + /* 0x7B */ WANM_DIE, + /* 0x7C */ WANM_SWIM_DIE, + /* 0x7D */ WANM_SWIM_DROWN, + /* 0x7E */ WANM_WAIT_STUNNED, // ? + /* 0x7F */ WANM_WAIT_A_TO_S, // ? + /* 0x80 */ WANM_SERVICE_WAIT_D, + /* 0x81 */ WANM_MIDNA_SHOCK, + /* 0x82 */ WANM_ENTRANCE, + /* 0x83 */ WANM_GET_A, + /* 0x84 */ WANM_GET, + /* 0x85 */ WANM_WAIT_KARGOROK, + /* 0x86 */ WANM_CATCH_KARGOROK, + /* 0x87 */ WANM_DMG_ELEC_GROUND, + /* 0x88 */ WANM_DMG_ELEC_AIR, + /* 0x89 */ WANM_TWGATE_PULL, + /* 0x8A */ WANM_CHAIN_PULL, + /* 0x8B */ WANM_CHAIN_PULL_END, + /* 0x8C */ WANM_LISTEN, + /* 0x8D */ WANM_PIG_GANON_CATCH_ST, + /* 0x8E */ WANM_PIG_GANON_CATCH_END, + /* 0x8F */ WANM_PIG_GANON_THROW_LEFT_START, + /* 0x90 */ WANM_PIG_GANON_THROW_LEFT_END, + /* 0x91 */ WANM_PIG_GANON_THROW_RIGHT_START, + /* 0x92 */ WANM_PIG_GANON_THROW_RIGHT_END, }; enum MODE_FLG { @@ -655,8 +1050,8 @@ public: /* 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, + /* 0x0EB */ PROC_DUNGEON_WARP, + /* 0x0EC */ PROC_DUNGEON_WARP_SCN_START, /* 0x0ED */ PROC_WOLF_HOWL_DEMO, /* 0x0EE */ PROC_WOLF_SERVICE_WAIT, /* 0x0EF */ PROC_WOLF_TIRED_WAIT, @@ -774,15 +1169,6 @@ public: /* 0x15F */ PROC_QUAKE_WAIT, }; - // this might be one of the above enums, but not clear yet - enum UPPER_ANM { - ANM_SMALL_GUARD = 22, - ANM_HUMAN_CHAIN_GRAB = 98, - ANM_WOLF_CHAIN_GRAB = 672, - ANM_WOLF_ENEMY_THROW_LEFT = 701, - ANM_WOLF_ENEMY_THROW_RIGHT, - }; - enum daAlink_ITEM_BTN { /* 0x01 */ BTN_X = (1 << 0), /* 0x02 */ BTN_Y = (1 << 1), @@ -880,13 +1266,13 @@ public: /* 800A7358 */ void setPolygonSpeed(); /* 800A7950 */ void checkWindSpeedOnAngle() const; /* 800A79EC */ void checkWindSpeedOnAngleAnime(int) const; - /* 800A7A5C */ void checkDashAnime() const; + /* 800A7A5C */ bool checkDashAnime() const; /* 800A7ABC */ void checkWindWallRate(cXyz const&); /* 800A7CB0 */ void setWindSpeed(); /* 800A8310 */ void setBodyPartPos(); /* 800A87F8 */ void setAttentionPos(); /* 800A8CE4 */ void setMatrix(); - /* 800A9248 */ static void simpleAnmPlay(J3DAnmBase*); + /* 800A9248 */ static int simpleAnmPlay(J3DAnmBase*); /* 800A92F0 */ void setSwordPos(); /* 800A9450 */ void setItemMatrix(int); /* 800A9F4C */ void setWolfItemMatrix(); @@ -904,10 +1290,10 @@ public: /* 800ABB84 */ void setCollisionPos(); /* 800ABDB8 */ void setCollision(); /* 800AC394 */ void setFrameCtrl(daPy_frameCtrl_c*, u8, s16, s16, f32, f32); - /* 800AC450 */ void getMainBckData(daAlink_c::daAlink_ANM) const; - /* 800AC558 */ void checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM) const; - /* 800AC5B4 */ void checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM) const; - /* 800AC610 */ void getUnderUpperAnime(daAlink_c::daAlink_ANM, J3DAnmTransform**, + /* 800AC450 */ const daAlink_BckData* getMainBckData(daAlink_c::daAlink_ANM) const; + /* 800AC558 */ BOOL checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM) const; + /* 800AC5B4 */ BOOL checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM) const; + /* 800AC610 */ int getUnderUpperAnime(daAlink_c::daAlink_ANM, J3DAnmTransform**, J3DAnmTransform**, int, u32); /* 800AC738 */ void setDoubleAnimeBlendRatio(f32); /* 800AC754 */ void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, @@ -918,8 +1304,8 @@ public: /* 800ACF80 */ void setSingleAnimeBase(daAlink_c::daAlink_ANM anmID); /* 800ACFB0 */ void setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM anmID, f32); /* 800ACFE0 */ void setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM anmID, f32 speed, f32 morf); - /* 800AD00C */ void setSingleAnime(daAlink_c::daAlink_ANM anmID, f32 rate, f32 start, s16 endF, f32 morf); - /* 800AD0F4 */ void setSingleAnimeParam(daAlink_c::daAlink_ANM anmID, daAlinkHIO_anm_c const*); + /* 800AD00C */ int setSingleAnime(daAlink_c::daAlink_ANM anmID, f32 rate, f32 start, s16 endF, f32 morf); + /* 800AD0F4 */ int setSingleAnimeParam(daAlink_c::daAlink_ANM anmID, daAlinkHIO_anm_c const*); /* 800AD128 */ void animePlay(J3DAnmTransform*, daPy_frameCtrl_c*); /* 800AD170 */ void allAnimePlay(); /* 800AD2D8 */ void setUpperAnimeMorf(f32); @@ -930,13 +1316,13 @@ public: /* 800AD6F0 */ void setUpperAnimeParam(u16, daAlink_c::daAlink_UPPER, daAlinkHIO_anm_c const*); /* 800AD724 */ void resetUpperAnime(daAlink_c::daAlink_UPPER, f32); /* 800AD8F4 */ void setUnderAnimeMorf(f32); - /* 800AD964 */ void setUnderAnime(u16, daAlink_c::daAlink_UNDER, f32, f32, s16, f32); - /* 800ADAB8 */ void setUnderAnimeParam(u16, daAlink_c::daAlink_UNDER, daAlinkHIO_anm_c const*); + /* 800AD964 */ int setUnderAnime(u16, daAlink_c::daAlink_UNDER, f32, f32, s16, f32); + /* 800ADAB8 */ int setUnderAnimeParam(u16, daAlink_c::daAlink_UNDER, daAlinkHIO_anm_c const*); /* 800ADAEC */ void resetUnderAnime(daAlink_c::daAlink_UNDER, f32); /* 800ADB78 */ void setOldRootQuaternion(s16, s16, s16); - /* 800ADC50 */ void checkAtnLeftAnime(); - /* 800ADCEC */ void checkAtnRightAnime(); - /* 800ADD88 */ void getMoveGroundAngleSpeedRate(); + /* 800ADC50 */ BOOL checkAtnLeftAnime(); + /* 800ADCEC */ BOOL checkAtnRightAnime(); + /* 800ADD88 */ f32 getMoveGroundAngleSpeedRate(); /* 800ADE14 */ void setBlendMoveAnime(f32); /* 800AEA70 */ void setBlendAtnMoveAnime(f32); /* 800AF11C */ void setBlendAtnBackMoveAnime(f32); @@ -953,7 +1339,7 @@ public: /* 800AFC88 */ void resetFacePriTexture(); /* 800AFCBC */ void resetFacePriAnime(); /* 800AFCF0 */ void playFaceTextureAnime(); - /* 800B0098 */ void getGroundAngle(cBgS_PolyInfo*, s16); + /* 800B0098 */ s16 getGroundAngle(cBgS_PolyInfo*, s16); /* 800B0150 */ void getRoofAngle(cBgS_PolyInfo*, s16); /* 800B01FC */ void getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz*, int); /* 800B02BC */ void setFrontWallType(); @@ -966,7 +1352,7 @@ public: /* 800B1B68 */ BOOL checkNotItemSinkLimit(); /* 800B1BAC */ void setSandShapeOffset(); /* 800B1FB8 */ bool checkLv2MiddleBossBgRide(s16); - /* 800B1FD8 */ void getSlidePolygon(cM3dGPla*); + /* 800B1FD8 */ bool getSlidePolygon(cM3dGPla*); /* 800B21EC */ BOOL checkSlope() const; /* 800B25CC */ BOOL itemTriggerCheck(u8); /* 800B25E8 */ BOOL itemButtonCheck(u8); @@ -999,15 +1385,15 @@ public: /* 800B3F2C */ void getStickAngleDistanceRate(); /* 800B3FD4 */ void setSpeedAndAngleNormal(); /* 800B444C */ void setSpeedAndAngleAtn(); - /* 800B477C */ void checkRequestTalkActor(dAttList_c*, fopAc_ac_c*); + /* 800B477C */ int checkRequestTalkActor(dAttList_c*, fopAc_ac_c*); /* 800B47B4 */ void checkServiceWaitMode(); /* 800B48D0 */ void setJumpMode(); /* 800B4908 */ f32 getMetamorphoseNearDis() const; /* 800B4918 */ f32 getMetamorphoseFarDis() const; /* 800B4928 */ s16 getMetamorphoseFarAngle() const; /* 800B4938 */ void setMidnaMsg(); - /* 800B4950 */ bool notTalk(); - /* 800B4A08 */ void setTalkStatus(); + /* 800B4950 */ BOOL notTalk(); + /* 800B4A08 */ BOOL setTalkStatus(); /* 800B4B2C */ f32 getFrontRollRate(); /* 800B4B7C */ void decideCommonDoStatus(); /* 800B5284 */ void decideDoStatus(); @@ -1017,7 +1403,7 @@ public: /* 800B5C64 */ void setStepLandVibration(); /* 800B5CCC */ void checkLandAction(int); /* 800B5F6C */ BOOL checkSlideAction(); - /* 800B607C */ void checkAutoJumpAction(); + /* 800B607C */ BOOL checkAutoJumpAction(); /* 800B69CC */ bool checkCutJumpInFly(); /* 800B6A30 */ BOOL checkFrontWallTypeAction(); /* 800B6F28 */ void checkItemActionInitStart(); @@ -1031,8 +1417,8 @@ public: /* 800B7528 */ void checkItemButtonChange(); /* 800B75EC */ void checkUpperItemAction(); /* 800B7B7C */ void orderPeep(); - /* 800B7BF8 */ void orderTalk(int); - /* 800B80C4 */ void orderZTalk(); + /* 800B7BF8 */ int orderTalk(int); + /* 800B80C4 */ int orderZTalk(); /* 800B8374 */ void checkNormalAction(); /* 800B8930 */ bool checkReadyItem(); /* 800B8988 */ void checkItemAction(); @@ -1043,7 +1429,7 @@ public: /* 800B92D0 */ void checkOneHandItemEquipAnime() const; /* 800B92F8 */ void checkItemEquipAnime() const; /* 800B9340 */ BOOL checkEquipAnime() const; - /* 800B9398 */ void checkWindDashAnime() const; + /* 800B9398 */ BOOL checkWindDashAnime() const; /* 800B93CC */ void checkSwordTwirlAnime() const; /* 800B93F4 */ void swordEquip(int); /* 800B9580 */ void swordUnequip(); @@ -1078,9 +1464,9 @@ public: /* 800BDF60 */ void startRestartRoom(u32, int, int, int); /* 800BE26C */ void checkCoachGuardGame(); /* 800BE2C0 */ void checkRoofRestart(); - /* 800BE3E4 */ void checkRestartRoom(); + /* 800BE3E4 */ bool checkRestartRoom(); /* 800BE9D4 */ s16 getSceneExitMoveAngle(); - /* 800BEAF8 */ int checkSceneChange(int); + /* 800BEAF8 */ int checkSceneChange(int i_exitID); /* 800BF0B8 */ void voiceStartLevel(u32); /* 800BF0EC */ void seStartSwordCut(u32); /* 800BF194 */ void seStartMapInfo(u32); @@ -1194,7 +1580,7 @@ public: /* 800C84D0 */ void procFloorDownRebound(); /* 800C854C */ void procGoronRideWaitInit(fopAc_ac_c*); /* 800C85D8 */ void procGoronRideWait(); - /* 800C8700 */ void execute(); + /* 800C8700 */ int execute(); /* 800CAFC8 */ void setDrawHand(); /* 800CB480 */ bool checkSwordDraw(); /* 800CB53C */ bool checkShieldDraw(); @@ -1229,9 +1615,9 @@ public: /* 800CFF4C */ BOOL checkAttentionLock(); /* 800D0020 */ BOOL checkFmChainGrabAnime() const; /* 800D0048 */ BOOL checkSmallUpperGuardAnime() const; - /* 800D00EC */ BOOL checkReinRide() const; + /* 800D00EC */ u32 checkReinRide() const; /* 800D0110 */ BOOL checkWolfEnemyThrowAnime() const; - /* 800D0138 */ u16 checkSpecialDemoMode() const; + /* 800D0138 */ int checkSpecialDemoMode() const; /* 800D014C */ void setMidnaTalkStatus(u8); /* 800D0164 */ void set3DStatus(u8, u8); /* 800D018C */ u32 checkModeFlg(u32) const; @@ -1244,7 +1630,7 @@ public: /* 800D0F90 */ void initCutTurnAt(f32, int); /* 800D102C */ bool checkCutFinishJumpUp(); /* 800D1088 */ void changeCutFast(); - /* 800D10E0 */ void checkCutFastReady(); + /* 800D10E0 */ bool checkCutFastReady(); /* 800D1268 */ void setSwordModel(); /* 800D1310 */ void offSwordModel(); /* 800D13AC */ BOOL checkCutTypeNoBlur() const; @@ -1325,20 +1711,20 @@ public: /* 800D6F2C */ void checkNoLandDamageSlidePolygon(); /* 800D6FE0 */ void checkCutLandDamage(); /* 800D70A0 */ void checkCaughtEscapeCutTurn(); - /* 800D7208 */ void damageMagnification(int, int); + /* 800D7208 */ f32 damageMagnification(int, int); /* 800D72BC */ void setDamagePoint(int, int, int, int); /* 800D7478 */ void setDamagePointNormal(int); /* 800D74A4 */ void setLandDamagePoint(int); /* 800D74F4 */ void getDamageVec(dCcD_GObjInf*); /* 800D76C4 */ void setDashDamage(); /* 800D7768 */ void checkIcePolygonDamage(cBgS_PolyInfo*); - /* 800D77C8 */ void checkMagicArmorNoDamage(); + /* 800D77C8 */ BOOL checkMagicArmorNoDamage(); /* 800D7820 */ void checkPolyDamage(); /* 800D7A98 */ void checkElecReturnDamage(dCcD_GObjInf&, fopAc_ac_c**); /* 800D7B18 */ void damageTimerCount(); /* 800D7BE8 */ void checkHugeAttack(int) const; /* 800D7C14 */ void checkLargeAttack(int) const; - /* 800D7C40 */ void checkDamageAction(); + /* 800D7C40 */ BOOL checkDamageAction(); /* 800D8F3C */ void procDamageInit(dCcD_GObjInf*, int); /* 800D9514 */ void procDamage(); /* 800D96DC */ void procCoLargeDamageInit(int, int, s16, s16, dCcD_GObjInf*, int); @@ -1368,7 +1754,7 @@ public: /* 800DC474 */ void procCoSwimFreezeReturn(); /* 800DC548 */ static BOOL checkEnemyGroup(fopAc_ac_c*); /* 800DC5A4 */ static BOOL checkSpecialNpc(fopAc_ac_c*); - /* 800DC5DC */ void checkShieldAttackEmphasys(); + /* 800DC5DC */ bool checkShieldAttackEmphasys(); /* 800DC678 */ BOOL checkGuardActionChange(); /* 800DC79C */ void stickArrowIncrement(int); /* 800DC8C4 */ void setArrowShieldActor(fopAc_ac_c*, int); @@ -1430,7 +1816,7 @@ public: /* 800E01CC */ void cancelBoomerangLock(fopAc_ac_c*); /* 800E0210 */ fopAc_ac_c* getBoomerangActor(); /* 800E0244 */ bool checkBoomerangChargeEnd(); - /* 800E02B8 */ void checkBoomerangCarry(fopAc_ac_c*); + /* 800E02B8 */ BOOL checkBoomerangCarry(fopAc_ac_c*); /* 800E03D0 */ void initBoomerangUpperAnimeSpeed(int); /* 800E0440 */ BOOL checkBoomerangAnime() const; /* 800E04AC */ BOOL checkBoomerangThrowAnime() const; @@ -1458,7 +1844,7 @@ public: /* 800E1374 */ fopAc_ac_c* getCopyRodControllActor(); /* 800E1390 */ fopAc_ac_c* getCopyRodCameraActor(); /* 800E13AC */ void initCopyRodUpperAnimeSpeed(int); - /* 800E1408 */ BOOL checkForestOldCentury(); + /* 800E1408 */ static BOOL checkForestOldCentury(); /* 800E1530 */ void checkCopyRodAnime() const; /* 800E158C */ void setCopyRodControllAnime(); /* 800E15FC */ void setCopyRodControllUpperSpeedRate(); @@ -1515,7 +1901,7 @@ public: /* 800E3D6C */ void checkGrabHeavyActor(); /* 800E3D94 */ void checkGrabSideActor(); /* 800E3DBC */ void setGrabUpperAnime(f32); - /* 800E3F20 */ void checkGrabRooster(); + /* 800E3F20 */ BOOL checkGrabRooster(); /* 800E3F50 */ void setGrabItemPos(); /* 800E4BD4 */ void freeGrabItem(); /* 800E4DEC */ void setGrabUpperSpeedRate(); @@ -1552,7 +1938,7 @@ public: /* 800E76E0 */ void procPickPut(); /* 800E7894 */ void checkSetChainPullAnime(s16); /* 800E794C */ s16 getChainStickAngleY(s16) const; - /* 800E7994 */ void checkChainEmphasys(); + /* 800E7994 */ u8 checkChainEmphasys(); /* 800E79F8 */ void searchFmChainPos(); /* 800E7AEC */ void setFmChainPosFromOut(fopAc_ac_c*, cXyz*, int); /* 800E7C30 */ void procFmChainUpInit(); @@ -1560,7 +1946,7 @@ public: /* 800E7DD8 */ void procFmChainStrongPullInit(); /* 800E7E50 */ void procFmChainStrongPull(); /* 800E7ED0 */ void setWallGrabStatus(u8, u8); - /* 800E7EE4 */ void getWallGrabStatus(); + /* 800E7EE4 */ int getWallGrabStatus(); /* 800E7EF4 */ void wallGrabTrigger(); /* 800E7F18 */ void wallGrabButton(); /* 800E7F3C */ void setPushPullKeepData(dBgW_Base::PushPullLabel, int); @@ -1712,7 +2098,7 @@ public: /* 800F3C44 */ void getCanoeMaxRotSpeed() const; /* 800F3CCC */ void getCanoeLocalPaddleTop(); /* 800F3CF8 */ void checkCanoeRideTandem(); - /* 800F3D58 */ void checkFishingRodAndLureItem() const; + /* 800F3D58 */ BOOL checkFishingRodAndLureItem() const; /* 800F3DA0 */ void initFishingRodHand(); /* 800F3DFC */ void getCanoePaddleMatrix(); /* 800F3E4C */ void checkFishingRodGrab(fopAc_ac_c*) const; @@ -1897,12 +2283,12 @@ public: /* 80101890 */ BOOL checkZoraWearMaskDraw(); /* 801018E4 */ void checkAcceptUseItemInWater(u16) const; /* 80101934 */ void swimDeleteItem(); - /* 801019B8 */ void getZoraSwim() const; + /* 801019B8 */ bool getZoraSwim() const; /* 80101A18 */ void getSwimFrontMaxSpeed() const; /* 80101AA8 */ void getSwimMaxFallSpeed() const; /* 80101B44 */ void checkOxygenTimer(); /* 80101C94 */ void offOxygenTimer(); - /* 80101CB8 */ void checkPossibleWaterInMode() const; + /* 80101CB8 */ bool checkPossibleWaterInMode() const; /* 80101CF4 */ void setWaterInAnmRate(daPy_frameCtrl_c*, f32); /* 80101D70 */ void swimBgCheck(f32); /* 801023E4 */ void setSpeedAndAngleSwim(); @@ -2047,7 +2433,7 @@ public: /* 801107BC */ void checkWaterInKandelaar(f32); /* 80110840 */ void offKandelaarModel(); /* 801108EC */ void kandelaarModelCallBack(); - /* 80110C6C */ void checkKandelaarEquipAnime() const; + /* 80110C6C */ BOOL checkKandelaarEquipAnime() const; /* 80110C94 */ void preKandelaarDraw(); /* 80110E84 */ void setKandelaarModel(); /* 80110F88 */ void resetOilBottleModel(); @@ -2096,7 +2482,7 @@ public: /* 80115AA0 */ void procIronBallReturn(); /* 80115C20 */ BOOL checkEventRun() const; /* 80115C50 */ void createNpcTks(cXyz*, int, u32); - /* 80115EC0 */ void checkDemoAction(); + /* 80115EC0 */ int checkDemoAction(); /* 80116E60 */ void checkDemoMoveMode(u32) const; /* 80116E9C */ void setDemoMoveData(u32*, cXyz const*); /* 80117064 */ void setNoDrawSwordShield(int, u16); @@ -2106,7 +2492,7 @@ public: /* 80117C90 */ void resetSpecialEvent(); /* 80117CF8 */ void endDemoMode(); /* 801180EC */ void getDemoLookActor(); - /* 80118170 */ void checkFlyAtnWait(); + /* 80118170 */ bool checkFlyAtnWait(); /* 801181A0 */ void setGetItemFace(u16); /* 801182D4 */ void checkGrabTalkActor(fopAc_ac_c*); /* 80118308 */ void setTalkStartBack(cXyz*); @@ -2119,16 +2505,16 @@ public: /* 801188B0 */ void setDemoLeftHandIndex(u16); /* 8011894C */ void setDemoRide(u16); /* 801189F8 */ void setDemoBodyBck(dDemo_actor_c*, u16); - /* 80118AD0 */ void checkFinalBattle(); - /* 80118B34 */ void checkRestartDead(int, int); + /* 80118AD0 */ BOOL checkFinalBattle(); + /* 80118B34 */ BOOL checkRestartDead(int, int); /* 80118BF4 */ void setDeadRideSyncPos(); /* 80118C98 */ BOOL checkDeadHP(); - /* 80118D7C */ void checkDeadAction(int); + /* 80118D7C */ BOOL checkDeadAction(int); /* 80118FF8 */ void setHighModelBck(mDoExt_bckAnm*, u16); /* 801190A4 */ void setHighModelFaceBtk(u16); /* 80119134 */ void setDemoBrk(J3DAnmTevRegKey**, J3DModel*, u16); /* 801191C4 */ void setStickAnmData(J3DAnmBase*, int, int, u16, int); - /* 801195C0 */ void procDemoCommon(); + /* 801195C0 */ int procDemoCommon(); /* 801195F8 */ void procCoToolDemoInit(); /* 801196D8 */ void procCoToolDemo(); /* 80119D98 */ void procCoTalkInit(); @@ -2179,7 +2565,7 @@ public: /* 8011D544 */ void procCoGetReadySitInit(); /* 8011D64C */ void procCoGetReadySit(); /* 8011D6D0 */ void procCoTwGateInit(); - /* 8011D7D4 */ void procCoTwGate(); + /* 8011D7D4 */ int procCoTwGate(); /* 8011D82C */ void procWolfSnowEscapeInit(); /* 8011D8F8 */ void procWolfSnowEscape(); /* 8011DB04 */ void procZoraMoveInit(); @@ -2199,7 +2585,7 @@ public: /* 8011E9F8 */ void procGanonFinishInit(); /* 8011EA78 */ bool procGanonFinish(); /* 8011EAE8 */ void procCutFastReadyInit(); - /* 8011EB8C */ void procCutFastReady(); + /* 8011EB8C */ int procCutFastReady(); /* 8011EBDC */ int procMasterSwordStickInit(); /* 8011EC60 */ int procMasterSwordStick(); /* 8011ED18 */ int procMasterSwordPullInit(); @@ -2697,7 +3083,7 @@ public: bool i_checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); } BOOL i_checkAttentionLock() { return mAttention->Lockon(); } - bool checkUpperAnime(u16 pIdx) const { return mUpperAnime[UPPER_NOW].getIdx() == pIdx; } + bool checkUpperAnime(u16 pIdx) const { return mUpperAnmHeap[UPPER_2].getIdx() == pIdx; } bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); } bool checkHorseTurnLAnime() const { return checkUpperAnime(0x24C); } bool checkHorseTurnRAnime() const { return checkUpperAnime(0x24D); } @@ -2727,7 +3113,7 @@ public: return mEquipItem != 0x102 && checkBoomerangAnime(); } J3DAnmTransform* getNowAnmPackUpper(daAlink_UPPER param_0) { - return mNowAnmPack[param_0].getAnmTransform(); + return mNowAnmPackUpper[param_0].getAnmTransform(); } void setFacePriBck(u16 param_0) { setFaceBck(param_0, 1, 0xFFFF); } void cancelFmChainGrabFromOut() { @@ -2786,12 +3172,15 @@ public: bool checkResetRootMtx(int param_0) const { return field_0x2f90 != 0 && param_0 == 1; } + bool talkTrigger() const { return mItemTrigger & BTN_A; } + J3DAnmTransform* getNowAnmPackUnder(daAlink_UNDER i_idx) { return mNowAnmPackUnder[i_idx].getAnmTransform(); } + inline void startRestartRoomFromOut(int, u32, int); inline u16 getReadyItem(); - static u8 const m_mainBckShield[80]; - static u8 const m_mainBckSword[20]; - static u8 const m_mainBckFishing[112]; + static daAlink_BckData const m_mainBckShield[20]; + static daAlink_BckData const m_mainBckSword[5]; + static daAlink_BckData const m_mainBckFishing[28]; static daAlink_AnmData const m_anmDataTable[414]; static daAlink_WlAnmData const m_wlAnmDataTable[147]; static u8 const m_faceTexDataTable[652]; @@ -2830,7 +3219,7 @@ private: /* 0x00690 */ mDoExt_bckAnm* mpDemoFCTmpBck; /* 0x00694 */ J3DDeformData* mpDemoFCTmpBls; /* 0x00698 */ void* field_0x0698; - /* 0x0069C */ void* field_0x069c; + /* 0x0069C */ mDoExt_blkAnm* field_0x069c; /* 0x006A0 */ J3DModel* mpDemoHLTmpModel; /* 0x006A4 */ mDoExt_bckAnm* mpDemoHLTmpBck; /* 0x006A8 */ J3DModel* mpDemoHRTmpModel; @@ -2884,7 +3273,10 @@ private: /* 0x007A0 */ J3DModel* mpWlMidnaHatModel; /* 0x007A4 */ J3DModel* field_0x7a4; // related to wolf /* 0x007A8 */ J3DModel* mpWlMidnaHairModel; - /* 0x007AC */ u8 field_0x7ac[0x10]; + /* 0x007AC */ J3DAnmTevRegKey* field_0x7ac; + /* 0x007B0 */ J3DAnmTevRegKey* field_0x7b0; + /* 0x007B4 */ J3DAnmTevRegKey* field_0x7b4; + /* 0x007B8 */ J3DAnmTevRegKey* field_0x7b8; /* 0x007BC */ mDoExt_bckAnm* m_sWindowBck; /* 0x007C0 */ u32 mpWarpTexData; /* 0x007C4 */ daPy_actorKeep_c mWolfLockAcKeep[10]; @@ -2912,14 +3304,14 @@ private: /* 0x01E4C */ cBgS_PolyInfo mPolyInfo4; /* 0x01E5C */ dBgS_ObjLinChk mObjLinChk; /* 0x01ECC */ dBgS_ObjGndChk mObjGndChk; - /* 0x01F20 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x1f20; + /* 0x01F20 */ mDoExt_MtxCalcAnmBlendTbl* field_0x1f20; /* 0x01F24 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x1f24; - /* 0x01F28 */ mDoExt_AnmRatioPack field_0x1f28[3]; - /* 0x01F40 */ mDoExt_AnmRatioPack mNowAnmPack[3]; - /* 0x01F58 */ daPy_anmHeap_c mUnderAnime[3]; - /* 0x01F94 */ daPy_anmHeap_c mUpperAnime[3]; - /* 0x01FD0 */ daPy_frameCtrl_c mFrameCtrl1[3]; - /* 0x02018 */ daPy_frameCtrl_c mFrameCtrl2[3]; + /* 0x01F28 */ mDoExt_AnmRatioPack mNowAnmPackUnder[3]; + /* 0x01F40 */ mDoExt_AnmRatioPack mNowAnmPackUpper[3]; + /* 0x01F58 */ daPy_anmHeap_c mUnderAnmHeap[3]; + /* 0x01F94 */ daPy_anmHeap_c mUpperAnmHeap[3]; + /* 0x01FD0 */ daPy_frameCtrl_c mUnderFrameCtrl[3]; + /* 0x02018 */ daPy_frameCtrl_c mUpperFrameCtrl[3]; /* 0x02060 */ mDoExt_MtxCalcOldFrame* field_0x2060; /* 0x02064 */ daAlink_sight_c mSight; /* 0x020F0 */ daPy_anmHeap_c mAnmHeap3; @@ -2970,11 +3362,11 @@ private: /* 0x02A4C */ daAlink_footData_c mFootData2[2]; /* 0x02B94 */ f32* field_0x2b94; /* 0x02B98 */ f32 field_0x2b98; - /* 0x02B98 */ f32* field_0x2b9c; + /* 0x02B98 */ f32 field_0x2b9c; /* 0x02BA0 */ f32* field_0x2ba0; /* 0x02BA4 */ f32* field_0x2ba4; /* 0x02BA8 */ f32 mSinkShapeOffset; - /* 0x02BAC */ cXyz field_0x2bac; + /* 0x02BAC */ f32 field_0x2bac[3]; /* 0x02BB8 */ Mtx mInvMtx; /* 0x02BE8 */ Mtx field_0x2be8; /* 0x02C18 */ Mtx mRootMtx; @@ -3021,11 +3413,11 @@ private: /* 0x02FA2 */ u8 mActiveBombNum; /* 0x02FA3 */ u8 field_0x2fa3; /* 0x02FA4 */ u8 mRollCrashFlg; - /* 0x02FA5 */ u8 field_0x2fa5; + /* 0x02FA5 */ u8 mPolySound; /* 0x02FA6 */ u8 field_0x2fa6; /* 0x02FA7 */ u8 field_0x2fa7; /* 0x02FA8 */ u8 field_0x2fa8; - /* 0x02FA9 */ u8 field_0x2fa9; + /* 0x02FA9 */ u8 mWolfEyeUpTimer; /* 0x02FAA */ u8 mRideStatus; /* 0x02FAB */ u8 field_0x2fab; /* 0x02FAC */ u8 mExitDirection; @@ -3042,7 +3434,7 @@ private: /* 0x02FB7 */ u8 field_0x2fb7; /* 0x02FB8 */ u8 field_0x2fb8; /* 0x02FB9 */ u8 field_0x2fb9; - /* 0x02FBA */ u8 field_0x2fba; + /* 0x02FBA */ u8 mHotspringRecoverTimer; /* 0x02FBB */ u8 field_0x2fbb; /* 0x02FBC */ u8 field_0x2fbc; /* 0x02FBD */ u8 field_0x2fbd; @@ -3206,7 +3598,7 @@ private: /* 0x030FA */ s16 field_0x30fa; /* 0x030FC */ u16 field_0x30fc; /* 0x030FE */ u16 field_0x30fe; - /* 0x03100 */ u16 field_0x3100; + /* 0x03100 */ s16 field_0x3100; /* 0x03102 */ s16 field_0x3102; /* 0x03104 */ s16 field_0x3104; /* 0x03106 */ u16 field_0x3106; @@ -5596,17 +5988,17 @@ class daAlinkHIO_boom_c1 { public: /* 0x00 */ daAlinkHIO_anm_c mThrowAnm; /* 0x14 */ daAlinkHIO_anm_c mCatchAnm; - /* 0x28 */ s16 field_0x28; + /* 0x28 */ s16 field_0x28; // return time? /* 0x2A */ s16 mBgThroughTime; - /* 0x2C */ f32 field_0x2c; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3c; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; + /* 0x2C */ f32 mIdleAnmSpeed; + /* 0x30 */ f32 mStartInterpolation; + /* 0x34 */ f32 mFlySpeed; + /* 0x38 */ f32 mFlySpeed2; // return speed? + /* 0x3C */ f32 mFlyDistMax; + /* 0x40 */ f32 mHorsebackFlyDistMax; + /* 0x44 */ f32 mLockDistMax; /* 0x48 */ f32 mCatchSpeed; -}; // Size: 0x4c +}; // Size: 0x4C class daAlinkHIO_boom_c0 { public: @@ -5802,16 +6194,26 @@ public: class mDoExt_morf_c; +typedef int (daMidna_c::*daMidna_func)(); class daMidna_c : public fopAc_ac_c { public: enum daMidna_ERFLG0 { - NO_SERVICE_WAIT = 128, - FORCE_PANIC = 8, + ERFLG0_NO_SERVICE_WAIT = 0x80, + ERFLG0_FORCE_PANIC = 8, }; - enum daMidna_FLG0 { NPC_NEAR = 0x100000, NPC_FAR = 0x40000, NO_DRAW = 0x2000 }; + enum daMidna_FLG0 { + FLG0_UNK_8000000 = 0x8000000, + FLG0_NPC_NEAR = 0x100000, + FLG0_NPC_FAR = 0x40000, + FLG0_NO_DRAW = 0x2000, + FLG0_UNK_200 = 0x200, + }; - enum daMidna_FLG1 { FORCE_NORMAL_COLOR = 8, FORCE_TIRED_COLOR = 4 }; + enum daMidna_FLG1 { + FLG1_FORCE_NORMAL_COL = 8, + FLG1_FORCE_TIRED_COL = 4, + }; enum daMidna_ANM {}; @@ -5873,9 +6275,14 @@ public: bool checkDemoTypeNone() const { return mDemoType == 0; } void changeOriginalDemo() { mDemoType = 3; } void changeDemoMode(u32 mode) { mDemoMode = mode; } - BOOL checkNpcNear() { return checkStateFlg0(NPC_NEAR); } - BOOL checkNpcFar() { return checkStateFlg0(NPC_FAR); } - BOOL checkNoDraw() const { return checkStateFlg0(NO_DRAW); } + BOOL checkNpcNear() { return checkStateFlg0(FLG0_NPC_NEAR); } + BOOL checkNpcFar() { return checkStateFlg0(FLG0_NPC_FAR); } + BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); } + int checkMetamorphoseEnable() { return (this->*mpFunc)(); } + + bool checkPortalObjRide() const { + return checkStateFlg0(FLG0_UNK_8000000) && checkStateFlg0(FLG0_UNK_200); + } inline bool checkMidnaRealBody(); @@ -5883,72 +6290,73 @@ public: static u8 const m_anmDataTable[636]; private: - /* 0x0568 */ request_of_phase_process_class* field_0x568; - /* 0x056C */ u8 field_0x56c[4]; + /* 0x0568 */ request_of_phase_process_class mPhase; /* 0x0570 */ J3DModel* field_0x570; /* 0x0574 */ J3DModel* field_0x574; - /* 0x0578 */ mDoExt_morf_c* field_0x578; + /* 0x0578 */ mDoExt_McaMorfSO* field_0x578; /* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c; /* 0x0580 */ cXyz* field_0x580; /* 0x0584 */ mDoExt_bckAnm field_0x584; /* 0x05A0 */ mDoExt_bckAnm field_0x5a0; - /* 0x05BC */ u8 field_0x5bc[8]; + /* 0x05BC */ J3DAnmTexPattern* field_0x5bc; + /* 0x05C0 */ J3DAnmTextureSRTKey* field_0x5c0; /* 0x05C4 */ mDoExt_invisibleModel field_0x5c4; - /* 0x05CC */ mDoExt_invisibleModel field_0x5cc; - /* 0x05D4 */ mDoExt_invisibleModel field_0x5d4; - /* 0x05DC */ mDoExt_invisibleModel field_0x5dc; + /* 0x05CC */ mDoExt_invisibleModel mInvMaskBmd; + /* 0x05D4 */ mDoExt_invisibleModel mInvHandsBmd; + /* 0x05DC */ mDoExt_invisibleModel mInvHairhandBmd; /* 0x05E4 */ daPy_anmHeap_c field_0x5e4[3]; /* 0x0620 */ daPy_anmHeap_c field_0x620; /* 0x0634 */ daPy_anmHeap_c field_0x634; - /* 0x0648 */ J3DAnmBase* field_0x648; - /* 0x064C */ J3DAnmBase* field_0x64c; - /* 0x0650 */ J3DAnmBase* field_0x650; - /* 0x0654 */ J3DAnmBase* field_0x654; - /* 0x0658 */ u8 field_0x658[0x10]; - /* 0x0668 */ J3DAnmBase* field_0x668; - /* 0x066C */ J3DAnmBase* field_0x66c; - /* 0x0670 */ u8 field_0x670[4]; - /* 0x0674 */ J3DModel* field_0x674; - /* 0x0678 */ u8 field_0x678[4]; - /* 0x067C */ J3DModel* field_0x67c; - /* 0x0680 */ u8 field_0x680[4]; - /* 0x0684 */ J3DModel* field_0x684; - /* 0x0688 */ J3DModel* field_0x688; - /* 0x068C */ J3DModel* field_0x68c; - /* 0x0690 */ J3DModel* field_0x690; - /* 0x0694 */ J3DModel* field_0x694; - /* 0x0698 */ J3DModel* field_0x698; - /* 0x069C */ u8 field_0x98c[0x10]; - /* 0x06AC */ J3DModel* field_0x6ac; - /* 0x06B0 */ J3DModel* field_0x6b0; - /* 0x06B4 */ u8 field_0x6b4[4]; - /* 0x06B8 */ mDoExt_bckAnm* field_0x6b8; - /* 0x06BC */ J3DDeformData* field_0x6bc; - /* 0x06C0 */ u8 field_0x6c0[4]; - /* 0x06C4 */ J3DFrameCtrl* field_0x6c4; - /* 0x06C8 */ J3DModel* field_0x6c8; - /* 0x06CC */ mDoExt_bckAnm* field_0x6cc; - /* 0x06D0 */ J3DModel* field_0x6d0; - /* 0x06D4 */ mDoExt_bckAnm* field_0x6d4; - /* 0x06D8 */ J3DModel* field_0x6d8; - /* 0x06DC */ mDoExt_bckAnm* field_0x6dc; - /* 0x06E0 */ s16 field_0x6e0; - /* 0x06E2 */ s16 field_0x6e2; - /* 0x06E4 */ s16 field_0x6e4; - /* 0x06E6 */ s16 field_0x6e6; - /* 0x06E8 */ u8 field_0x6e8; - /* 0x06E9 */ u8 field_0x6e9; - /* 0x06EA */ u8 field_0x6ea; - /* 0x06EB */ u8 field_0x6eb; + /* 0x0648 */ J3DAnmTextureSRTKey* field_0x648; + /* 0x064C */ J3DAnmTextureSRTKey* field_0x64c; + /* 0x0650 */ J3DAnmTextureSRTKey* field_0x650; + /* 0x0654 */ J3DAnmTextureSRTKey* field_0x654; + /* 0x0658 */ J3DAnmTevRegKey* field_0x658; + /* 0x065C */ J3DAnmTevRegKey* field_0x65c; + /* 0x0660 */ J3DAnmTevRegKey* field_0x660; + /* 0x0664 */ J3DAnmTevRegKey* field_0x664; + /* 0x0668 */ J3DAnmTevRegKey* field_0x668; + /* 0x066C */ J3DAnmTevRegKey* field_0x66c; + /* 0x0670 */ J3DModel* field_0x670; + /* 0x0674 */ J3DModel* mpMaskBmd; + /* 0x0678 */ J3DModel* field_0x678; + /* 0x067C */ J3DModel* mpHandsBmd; + /* 0x0680 */ J3DModel* field_0x680; + /* 0x0684 */ J3DModel* mpHairhandBmd; + /* 0x0688 */ J3DModel* mpDemoBDTmpBmd; + /* 0x068C */ J3DModel* mpDemoBDMaskBmd; + /* 0x0690 */ J3DModel* mpDemoBDHandsBmd; + /* 0x0694 */ J3DModel* mpDemoBDHairhandBmd; + /* 0x0698 */ J3DModel* mpGokouBmd; + /* 0x069C */ J3DShape* field_0x69c; + /* 0x06A0 */ J3DShape* field_0x6a0; + /* 0x06A4 */ J3DShape* field_0x6a4; + /* 0x06A8 */ J3DShape* field_0x6a8; + /* 0x06AC */ J3DModel* mpDemoFCBlendBmd; + /* 0x06B0 */ J3DModel* mpDemoFCTongueBmd; + /* 0x06B4 */ J3DAnmTextureSRTKey* field_0x6b4; + /* 0x06B8 */ mDoExt_bckAnm* mpDemoFCTmpBck; + /* 0x06BC */ J3DDeformData* mpDemoFCTmpBls; + /* 0x06C0 */ J3DAnmCluster* field_0x6c0; + /* 0x06C4 */ mDoExt_blkAnm* field_0x6c4; + /* 0x06C8 */ J3DModel* mpDemoHLTmpBmd; + /* 0x06CC */ mDoExt_bckAnm* mpDemoHLTmpBck; + /* 0x06D0 */ J3DModel* mpDemoHRTmpBmd; + /* 0x06D4 */ mDoExt_bckAnm* mpDemoHRTmpBck; + /* 0x06D8 */ J3DModel* mpDemoHDTmpBmd; + /* 0x06DC */ mDoExt_bckAnm* mpDemoHDTmpBck; + /* 0x06E0 */ J3DGXColorS10 field_0x6e0; + /* 0x06E8 */ J3DGXColor field_0x6e8; /* 0x06EC */ u8 field_0x6ec; /* 0x06ED */ u8 field_0x6ed; /* 0x06EE */ u8 field_0x6ee; /* 0x06EF */ u8 field_0x6ef; - /* 0x06F0 */ u8 field_0x6f0[8]; + /* 0x06F0 */ void* field_0x6f0; + /* 0x06F4 */ void* field_0x6f4; /* 0x06F8 */ void* field_0x6f8; /* 0x06FC */ Z2Creature field_0x6fc; - /* 0x078C */ dMsgFlow_c field_0x78c; - /* 0x07D8 */ dBgS_LinkLinChk field_0x7d8; + /* 0x078C */ dMsgFlow_c mMsgFlow; + /* 0x07D8 */ dBgS_LinkLinChk mLinChk; /* 0x0848 */ u8 mMotionNum; /* 0x0849 */ u8 mFaceNum; /* 0x084A */ u8 field_0x84a[4]; @@ -5958,7 +6366,8 @@ private: /* 0x085A */ s16 field_0x85a; /* 0x085C */ u8 field_0x85c[0x22]; /* 0x087E */ s16 field_0x87e; - /* 0x0880 */ u8 field_0x880[0x10]; + /* 0x0880 */ u8 field_0x880[0xC]; + /* 0x088C */ int mStaffID; /* 0x0890 */ u32 mStateFlg0; /* 0x0894 */ u32 mStateFlg1; /* 0x0898 */ u32 mEndResetStateFlg0; @@ -5973,9 +6382,11 @@ private: /* 0x0964 */ cXyz field_0x964[5]; /* 0x09A0 */ u8 field_0x9a0[0x14]; /* 0x09C4 */ cXyz field_0x9c4; + /* 0x09D0 */ u8 field_0x9d0[4]; + /* 0x09D4 */ daMidna_func mpFunc; }; -static void* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1); +static fopAc_ac_c* 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); diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index 082622f526..6c3bdb6bbd 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -2,9 +2,41 @@ #define D_A_D_A_NPC_H #include "d/com/d_com_inf_game.h" +#include "d/d_path.h" +#include "d/msg/d_msg_object.h" #include "dolphin/types.h" #include "global.h" +struct dPnt {}; + +class daNpcT_ActorMngr_c { +private: + /* 0x0 */ u32 mActorID; + +public: + /* 801456D4 */ void initialize(); + /* 801456E0 */ void entry(fopAc_ac_c*); + /* 801456FC */ void remove(); + /* 80145708 */ fopAc_ac_c* getActorP(); + + /* 8014D108 */ virtual ~daNpcT_ActorMngr_c(); +}; + +class daNpcT_MatAnm_c : public J3DMaterialAnm { +private: + /* 0x0F4 */ mutable f32 field_0xF4; + /* 0x0F8 */ mutable f32 field_0xF8; + /* 0x0FC */ f32 mTranslationX; + /* 0x100 */ f32 mTranslationY; + /* 0x104 */u8 field_0x104; + /* 0x105 */u8 field_0x105; + +public: + /* 80145764 */ void initialize(); + /* 80145788 */ virtual void calc(J3DMaterial*) const; + /* 8014D24C */ ~daNpcT_MatAnm_c(); +}; + class daNpcT_MotionSeqMngr_c { public: class sequenceStepData_c { @@ -34,19 +66,6 @@ public: /* 8014D0C0 */ virtual ~daNpcT_MotionSeqMngr_c(); }; -class daNpcT_ActorMngr_c { -private: - /* 0x0 */ u32 mActorID; - -public: - /* 801456D4 */ void initialize(); - /* 801456E0 */ void entry(fopAc_ac_c*); - /* 801456FC */ void remove(); - /* 80145708 */ fopAc_ac_c* getActorP(); - - /* 8014D108 */ virtual ~daNpcT_ActorMngr_c(); -}; - class daNpcT_JntAnm_c { private: /* 0x000 */ daNpcT_ActorMngr_c mActrMngr; @@ -95,7 +114,8 @@ public: private: /* 0x00 */ csXyz field_0x0[2]; - /* 0x0C */ f32 field_0xc[2]; + /* 0x0C */ f32 field_0xc; + /* 0x0C */ f32 field_0x10; /* 0x14 */ s16 mStagger; /* 0x16 */ s16 field_0x16; /* 0x18 */ u8 mRebirth; @@ -111,6 +131,59 @@ struct daNpcT_motionAnmData_c { u8 data[8]; }; +class daNpcT_Hermite_c { +public: + /* 8014CBAC */ ~daNpcT_Hermite_c(); + + /* 0x00 */ f32 field_0x00; + /* 0x04 */ cXyz mPosition; + /* 0x10 */ f32 field_0x10; +}; + +class daNpcT_Path_c { +private: + /* 0x00 */ dPath* mpRoomPath; + /* 0x04 */ cXyz mPosition; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ u16 mIdx; + /* 0x1E */ u16 field_0x1E; + /* 0x20 */ u8 mDirection; + /* 0x21 */ u8 mIsClosed; + +public: + /* 80145B7C */ void hermite(cXyz&, cXyz&, cXyz&, cXyz&, daNpcT_Hermite_c&, cXyz&); + /* 80145C40 */ void initialize(); + /* 80145C74 */ int setPathInfo(u8, s8, u8); + /* 80145D2C */ int setNextPathInfo(s8, u8); + /* 80145DA0 */ void reverse(); + /* 80145DD0 */ int setNextIdx(int); + /* 80145E38 */ int getDstPos(cXyz, cXyz*, int); + /* 80145FB4 */ int getDstPosH(cXyz, cXyz*, int, int); + /* 80146188 */ int chkPassed1(cXyz, int); + /* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int); + + inline cXyz* getPntPos(u16 i_idx) { + u16 tmpidx = i_idx; + + dStage_dPnt_c* tmppnt = &mpRoomPath->m_points[tmpidx]; + return &tmppnt->m_position; + } + + inline int chkClose() { + int roomPath = dPath_ChkClose(mpRoomPath); + return roomPath; + } + + u16& getNumPnts() { + dPath* path = mpRoomPath; + return path->m_num; + } + + inline u16& getIdx() { return mIdx; } +}; + class mDoExt_McaMorfSO; class daNpcT_c : public fopAc_ac_c { @@ -162,7 +235,7 @@ public: /* 0xD90 */ u32 field_0xd90; /* 0xD94 */ u32 field_0xd94; /* 0xD98 */ u32 field_0xd98; - /* 0xD9C */ u32 field_0xd9c; + /* 0xD9C */ profile_method_class* mSubMtd; /* 0xDA0 */ u8 field_0xda0[8]; /* 0xDA8 */ u32 field_0xda8; /* 0xDAC */ int field_0xdac; @@ -174,9 +247,9 @@ public: /* 0xDC4 */ u8 field_0xdc4[4]; /* 0xDC8 */ s16 field_0xdc8; /* 0xDCA */ s16 field_0xdca; - /* 0xDCC */ u8 field_0xdcc[8]; + /* 0xDCC */ u8 field_0xdcc[10]; /* 0xDD4 */ s16 field_0xdd4; - /* 0xDD8 */ s16 field_0xdd8; + /* 0xDD8 */ s16 mStepNo; /* 0xDDA */ s16 field_0xdda; /* 0xDDC */ f32 field_0xddc; /* 0xDE0 */ f32 field_0xde0; @@ -235,13 +308,13 @@ public: /* 8014886C */ int draw(int, int, f32, _GXColorS10*, f32, int, int, int); /* 80148C70 */ void setEnvTevColor(); /* 80148CCC */ void setRoomNo(); - /* 80148D10 */ void checkEndAnm(f32); + /* 80148D10 */ int checkEndAnm(f32); /* 80148DD0 */ void checkEndAnm(J3DFrameCtrl*, f32); /* 80148E4C */ void playAllAnm(); /* 80149190 */ void setMtx(); /* 8014924C */ void ctrlFaceMotion(); /* 80149300 */ void ctrlMotion(); - /* 801493B8 */ void ctrlMsgAnm(int*, int*, fopAc_ac_c*, int); + /* 801493B8 */ int ctrlMsgAnm(int*, int*, fopAc_ac_c*, int); /* 8014A224 */ void evtChange(); /* 8014A388 */ void setFaceMotionAnm(int, bool); /* 8014A908 */ void setPos(cXyz); @@ -261,11 +334,11 @@ public: /* 8014B648 */ void step(s16, int, int, int, int); /* 8014B808 */ void calcSpeedAndAngle(cXyz, int, s16, s16); /* 8014BB00 */ void getActorDistance(fopAc_ac_c*, int, int); - /* 8014BBF0 */ void initTalk(int, fopAc_ac_c**); + /* 8014BBF0 */ int initTalk(int, fopAc_ac_c**); /* 8014BC78 */ void talkProc(int*, int, fopAc_ac_c**, int); /* 8014BE2C */ void getNearestActorP(s16); /* 8014BEE4 */ void getEvtAreaTagP(int, int); - /* 8014BFB0 */ void getShopItemTagP(); + /* 8014BFB0 */ u32 getShopItemTagP(); /* 8014C030 */ void setHitodamaPrtcl(); /* 8014CD20 */ virtual ~daNpcT_c(); @@ -316,7 +389,13 @@ public: /* 8014CCE8 */ virtual void changeBtk(int*, int*); /* 8014A628 */ virtual void setMotionAnm(int, f32, int); - bool checkHide() { return !field_0xe25 && (!dComIfGs_wolfeye_effect_check() && field_0xa89); } + inline bool checkHide() { + return field_0xe25 || (!dComIfGs_wolfeye_effect_check() && field_0xa89); + } + + inline s16 checkStep() { + return mStepNo == 1; + } static u8 const mCcDObjData[48]; static u8 mCcDCyl[68]; @@ -337,7 +416,7 @@ public: /* 801506D8 */ void entry(unsigned int); /* 801506BC */ void entry(fopAc_ac_c*); /* 801506E0 */ void remove(); - /* 801506EC */ void getActorP(); + /* 801506EC */ fopAc_ac_c* getActorP(); /* 80155E40 */ virtual ~daNpcF_ActorMngr_c(); }; @@ -431,7 +510,7 @@ private: /* 0x9F4 */ u8 field_0x9f4; /* 0x9F5 */ u8 field_0x9f5; /* 0x9F6 */ u8 field_0x9f6; - /* 0x9F8 */ dMsgFlow_c field_0x9f8; + /* 0x9F8 */ dMsgFlow_c mFlow; /* 0xA44 */ cBgS_GndChk field_0xa44; /* 0xA80 */ dBgS_GndChk field_0xa80; /* 0xAD4 */ dBgS_LinChk field_0xad4; @@ -443,7 +522,7 @@ public: /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); /* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); /* 80152654 */ void srchAttnActor1(void*, void*); - /* 801526E8 */ void srchActor(void*, void*); + /* 801526E8 */ void* srchActor(void*, void*); /* 801528C8 */ void initialize(); /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); @@ -471,19 +550,19 @@ public: /* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32); /* 80153A78 */ void chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16); /* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int); - /* 80153D1C */ void initTalk(int, fopAc_ac_c**); + /* 80153D1C */ int initTalk(int, fopAc_ac_c**); /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); /* 80153EF4 */ void turn(s16, f32, int); /* 801540A4 */ void step(s16, int, int, int); /* 80154250 */ void setAngle(s16); /* 80154278 */ void getDistTableIdx(int, int); - /* 801542A0 */ void getEvtAreaTagP(int, int); + /* 801542A0 */ int getEvtAreaTagP(int, int); /* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int, int); /* 80154730 */ void chkActorInSight2(fopAc_ac_c*, f32, s16); - /* 80154834 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); - /* 801548F4 */ void chkPointInArea(cXyz, cXyz, cXyz, s16); - /* 8015496C */ void getAttentionPos(fopAc_ac_c*); + /* 80154834 */ bool chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); + /* 801548F4 */ bool chkPointInArea(cXyz, cXyz, cXyz, s16); + /* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*); /* 801549E0 */ void chkFindPlayer2(int, s16); /* 80154BD8 */ void setHitodamaPrtcl(); @@ -508,13 +587,281 @@ public: static u8 mCcDCyl[68]; static u8 mCcDSph[64]; static u8 mFindActorPList[400]; - static u8 mFindCount[4]; - static u8 mSrchActorName[2 + 2 /* padding */]; + static s32 mFindCount; + static s16 mSrchActorName; }; STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48); -void daNpcF_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz& param_2, +int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3); +struct daBaseNpc_matAnm_c { + /* 8014D884 */ void calc(J3DMaterial*) const; + /* 80150444 */ ~daBaseNpc_matAnm_c(); +}; + +class daBaseNpc_acMngr_c { +private: + /* 0x00 */ u8 field_0x00[4]; + /* 0x04 */ u32 mActorId; +public: + /* 8014D804 */ daBaseNpc_acMngr_c(); + /* 8014D81C */ void entry(fopAc_ac_c*); + /* 8014D838 */ fopAc_ac_c* getActor(); + /* 80150524 */ ~daBaseNpc_acMngr_c(); +}; + +class daBaseNpc_path_c { +private: + /* 0x000 */ f32 field_0x0; + /* 0x004 */ dPath* mpRoomPath; + /* 0x008 */ f32 field_0x8; + /* 0x00C */ dPath* field_0xc; + /* 0x010 */ u8 field_0x10[2558]; + /* 0xA0E */ u16 field_0xa0e; + /* 0xA10 */ u16 mIdx; + /* 0xA12 */ s8 mDirection; + /* 0xA13 */ u8 field_0xa13[17]; + +public: + /* 8014D998 */ daBaseNpc_path_c(); + /* 8014D9A8 */ BOOL isPath(); + /* 8014D9BC */ int setPathInfo(u8, s8, s8); + /* 8014DA48 */ void reverseDir(); + /* 8014DA64 */ void chkPnt(cXyz); + /* 8014DAC4 */ void setNextPnt(); + /* 8014DB04 */ u16 getIdx(); + /* 8014DB0C */ void setIdx(u16); + /* 8014DB14 */ void getPntPos(u16); + /* 801503FC */ ~daBaseNpc_path_c(); + + +}; + +class daBaseNpc_lookat_c { +private: + /* 0x00 */ int field_0x00; + /* 0x04 */ csXyz mMaxJntLmt[2]; + /* 0x10 */ u8 field_0x0A[12]; + /* 0x1C */ csXyz mMinJntLmt[2]; + /* 0x28 */ u8 field_0x28[12]; + /* 0x34 */ cXyz mJntPos[3]; + /* 0x4C */ u8 field_0x4C[24]; + /* 0x64 */ csXyz mUnk[2]; + /* 0x70 */ u8 field_0x70[12]; + /* 0x7C */ csXyz mUnk2[2]; + /* 0x88 */ u8 field_0x88[4]; + /* 0x8C */ cXyz* mpAttnPos; + +public: + /* 8014DB40 */ void limitter(s16, s16*, s16, s16); + /* 8014DBB4 */ void calc(fopAc_ac_c*, f32 (*)[4], s16); + /* 8014E634 */ void setMaxJntLmt(csXyz, int); + /* 8014E658 */ void setMinJntLmt(csXyz, int); + /* 8014E67C */ void setJntPos(cXyz, int); + /* 8014E6A0 */ int setAttnPos(cXyz*); + /* 8014E6AC */ void getRot(int); + /* 801502EC */ ~daBaseNpc_lookat_c(); +}; + +class daBaseNpc_c : public fopAc_ac_c { +private: + /* 0x568 */ void* vtable; + /* 0x56C */ dBgS_Acch field_0x56c; + /* 0x744 */ u8 field_0x744[16]; + /* 0x754 */ mDoExt_McaMorfSO* mMcaMorfAnm[2]; + /* 0x758 */ Z2Creature mCreature; + /* 0x7EC */ mDoExt_bckAnm mBckAnm; + /* 0x808 */ mDoExt_btpAnm mBtpAnm; + /* 0x820 */ u8 tmp2[28]; + /* 0x83c */ u16* field_0x83c; + /* 0x840 */ u16 field_0x840; + /* 0x842 */ u8 field_0x842[6]; + /* 0x848 */ s32 mUnk; + /* 0x84C */ dMsgFlow_c mMsg; + /* 0x898 */ u8 field_0x898[2]; + /* 0x89A */ s16 mEvtIdx; + /* 0x89C */ u8 field_0x89C[34]; + /* 0x8BE */ u8 mRoomId; + /* 0x8C0 */ u8 field_0x8C0[90]; + /* 0x91A */ csXyz field_0x91a; + /* 0x920 */ csXyz field_0xd7e; + /* 0x926 */ csXyz field_0xd84; + /* 0x92C */ csXyz field_0xd8a; + /* 0x932 */ csXyz field_0x932; + /* 0x938 */ u8 field_0x938[4]; + /* 0x93C */ csXyz field_0x93c; + /* 0x940 */ u8 field_0x940[18]; + /* 0x954 */ cXyz field_0x954; + /* 0x960 */ u8 field_0x960[36]; + /* 0x984 */ csXyz field_0x984; + /* 0x98A */ u8 field_0x98A[18]; + /* 0x99C */ csXyz field_0x99c; + /* 0x9A2 */ u8 field_0x9a2[70]; + /* 0x9E8 */ const cBgS_PolyInfo mBgSPolyInfo; + /* 0x9F9 */ u8 field_0x9f9[27]; + +public: + /* 8014E6C8 */ daBaseNpc_c(); + /* 8014E89C */ ~daBaseNpc_c(); + /* 8014EAD0 */ void execute(); + /* 8014EC50 */ void draw(f32); + /* 8014EE3C */ bool getResName(); + /* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int); + /* 8014EE80 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); + /* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int); + /* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); + /* 8014EFA4 */ void attnSttsOn(int, int); + /* 8014EFF0 */ void setParam(); + /* 8014EFF4 */ void orderEvent(int, char*); + /* 8014F09C */ void mainProc(); + /* 8014F0A0 */ void setEnvTevColor(); + /* 8014F0FC */ void setRoomNo(); + /* 8014F140 */ bool btkCtrl(); + /* 8014F148 */ int checkEndAnm(f32); + /* 8014F1C8 */ int checkEndAnm(J3DFrameCtrl*); + /* 8014F228 */ void allAnmPlay(); + /* 8014F38C */ void adjustShapeAngle(); + /* 8014F390 */ void setMtx(int); + /* 8014F4A0 */ void setCollisions(); + /* 8014F4A4 */ void setAttnPos(); + /* 8014F4A8 */ void drawOtherMdls(); + /* 8014F4AC */ bool dbgDraw(); + + void setVtable(void* table) { vtable = table;} + + static u8 const mCcDObj[48]; + static u8 mCcDCyl[68]; + static u8 mCcDSph[64]; +}; + +class daBaseNpc_moveBgActor_c : public daBaseNpc_c { +private: + /* 0xA14 */ u32 field_0xa14; + + +public: + /* 8014F4B4 */ daBaseNpc_moveBgActor_c(); + /* 8014F518 */ void MoveBGCreateHeap(); + /* 8014F60C */ void + MoveBGCreate(char const*, int, + void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*), u32); + /* 8014F6FC */ void MoveBGDelete(); + /* 8014F770 */ void MoveBGExecute(); + /* 801503BC */ bool CreateHeap(); + /* 801503C4 */ bool Create(); + /* 801503CC */ bool Delete(); + /* 801503D4 */ bool Execute(f32 (**)[3][4]); + /* 801503DC */ bool Draw(); + /* 801503E4 */ bool IsDelete(); + /* 801503EC */ bool ToFore(); + /* 801503F4 */ bool ToBack(); + /* 80155FB0 */ ~daBaseNpc_moveBgActor_c(); + + static u8 m_name[4]; + static u8 m_dzb_id[4]; + static u8 m_set_func[4]; +}; + +class daNpcF_MatAnm_c { +private: + /* 0x000 */ J3DMaterialAnm mMaterialAnm; + /* 0x0F4 */ mutable f32 field_0xF4; + /* 0x0F8 */ mutable f32 field_0xF8; + /* 0x0FC */ f32 mTranslationX; + /* 0x100 */ f32 mTranslationY; + /* 0x104 */ u8 field_0x104; + /* 0x105 */ u8 field_0x105; + +public: + /* 80150738 */ void initialize(); + /* 8015075C */ void calc(J3DMaterial*) const; + /* 80155ED0 */ ~daNpcF_MatAnm_c(); +}; + +class daNpcF_SPCurve_c { +private: + /* 0x00 */ u16 mNurbs; + /* 0x02 */ u16 field_0x02; + /* 0x04 */ u8 field_0x04; + /* 0x05 */ bool mIsClosed; + // /* 0x08 */ dPnt mPoints[96]; + + +public: + /* 80150870 */ void initialize(dPath*, int); +}; + +class daNpcF_Path_c { +private: + /* 0x00 */ u16 mIdx; + /* 0x02 */ u8 field_0x02; + /* 0x03 */ u8 mIsClosed; + /* 0x04 */ dPath* mpRoomPath; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0C; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ cXyz mPosition; + /* 0x20 */ daNpcF_SPCurve_c mSPCurve; + +public: + /* 80150900 */ void initialize(); + /* 8015095C */ int setPathInfo(u8, s8, u8); + /* 80150A24 */ int chkPassed(cXyz); + /* 80150A7C */ void chkPassedDst(cXyz); + /* 80150BBC */ void reverse(); + /* 80150BE0 */ int setNextIdx(); + /* 80150C18 */ u16 getNextIdx(); + /* 80150C60 */ u16 getBeforeIdx(); + /* 80150CA8 */ void getBeforePos(cXyz&); + /* 80150D44 */ void getNextPos(cXyz&); + /* 80150DE0 */ int getDstPos(cXyz, cXyz&); + /* 80150EB4 */ void setNextIdxDst(cXyz); + + inline u16& getIdx() { return mIdx; }; + inline cXyz* getPntPos(); // finish +}; + +class daNpcF_MoveBgActor_c { +private: + +public: + /* 80155B54 */ ~daNpcF_MoveBgActor_c(); + /* 80155E88 */ bool CreateHeap(); + /* 80155E90 */ bool Create(); + /* 80155E98 */ bool Delete(); + /* 80155EA0 */ bool Execute(f32 (**)[3][4]); + /* 80155EA8 */ bool Draw(); + /* 80155EB0 */ bool IsDelete(); + /* 80155EB8 */ bool ToFore(); + /* 80155EC0 */ bool ToBack(); +}; + +class daNpcF_Lookat_c { +private: + /* 0x00 */ cXyz field_0x00[4]; + /* 0x30 */ int field_0x30; + /* 0x34 */ csXyz field_0x34[4]; + /* 0x4C */ csXyz field_0x4c[4]; + /* 0x64 */ csXyz field_0x64[4]; + /* 0x7C */ csXyz mRotAngle[4]; + /* 0x94 */ u8 field_0x94[4]; + /* 0x98 */ void* vtable; + +public: + /* 80151038 */ void initialize(); + /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, + cXyz*); + /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); + /* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16); + /* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int); + /* 80151A54 */ void update(cXyz*, csXyz*, f32*); + /* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int); + /* 80151F54 */ void setRotAngle(); + /* 80151FE0 */ void clrRotAngle(); +}; + + #endif /* D_A_D_A_NPC_H */ diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 1e5e9c7604..76faa71246 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -34,12 +34,15 @@ private: class daPy_boomerangMove_c { public: /* 8015E5B0 */ void initOffset(cXyz const*); - /* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16); + /* 8015E654 */ int posMove(cXyz*, s16*, fopAc_ac_c*, s16); /* 8015E87C */ void bgCheckAfterOffset(cXyz const*); + static s16 m_dropAngleY; + static s16 m_eventKeepFlg; + private: /* 0x0 */ u8 field_0x0; - /* 0x2 */ u16 field_0x2; + /* 0x2 */ s16 field_0x2; /* 0x4 */ f32 field_0x4; /* 0x8 */ f32 field_0x8; }; // Size: 0xC @@ -75,6 +78,7 @@ public: void setBufferSize(u32 size) { mBufferSize = size; } void setBuffer(u8* buf) { mBuffer = buf; } u8* getBuffer() { return mBuffer; } + bool checkNoSetIdx() const { return mIdx == 0xFFFF; } private: /* 0x00 */ u16 mIdx; @@ -195,69 +199,118 @@ public: public: enum daPy_FLG0 { FLG0_UNK_40000000 = 0x40000000, - EQUIP_HEAVY_BOOTS = 0x2000000, - PLAYER_NO_DRAW = 0x8000000, + FLG0_EQUIP_HVY_BOOTS = 0x2000000, + FLG0_PLAYER_NO_DRAW = 0x8000000, + FLG0_UNK_10000000 = 0x10000000, FLG0_UNK_1000000 = 0x1000000, - UNDER_WATER_MOVEMENT = 0x800000, + FLG0_UNDERWATER = 0x800000, + FLG0_UNK_100000 = 0x100000, FLG0_UNK_80000 = 0x80000, FLG0_UNK_20000 = 0x20000, FLG0_UNK_8000 = 0x8000, FLG0_UNK_4000 = 0x4000, - MAGNE_BOOTS_ON = 0x1000, + FLG0_UNK_2000 = 0x2000, + FLG0_MAGNE_BOOTS_ON = 0x1000, + FLG0_UNK_100 = 0x100, FLG0_UNK_80 = 0x80, FLG0_UNK_40 = 0x40, FLG0_UNK_20 = 0x20, - UNK_F_ROLL_CRASH_2 = 0x10, - UNK_F_ROLL_CRASH_1 = 0x8, - MIDNA_RIDE = 4, + FLG0_UNK_10 = 0x10, + FLG0_UNK_8 = 0x8, + FLG0_MIDNA_RIDE = 4, + FLG0_UNK_2 = 2, - HEAVY_STATE_BOOTS = FLG0_UNK_40000000 | EQUIP_HEAVY_BOOTS | FLG0_UNK_20000, + FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_UNK_20000, }; - enum daPy_FLG1 { IS_WOLF = 0x2000000, FLG1_UNK_10000 = 0x10000, THROW_DAMAGE = 0x4000, FLG1_UNK_4 = 4, }; + + enum daPy_FLG1 { + FLG1_UNK_10000000 = 0x10000000, + FLG1_IS_WOLF = 0x2000000, + FLG1_UNK_400000 = 0x400000, + FLG1_UNK_10000 = 0x10000, + FLG1_THROW_DAMAGE = 0x4000, + FLG1_UNK_20 = 0x20, + FLG1_UNK_10 = 0x10, + FLG1_UNK_4 = 4, + FLG1_UNK_2 = 2, + }; + enum daPy_FLG2 { FLG2_UNK_20000000 = 0x20000000, FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_2080000 = 0x2080000, - BOAR_SINGLE_BATTLE = 0x1800000, - STATUS_WINDOW_DRAW = 0x400000, + FLG2_BOAR_SINGLE_BATTLE = 0x1800000, + FLG2_UNK_1000000 = 0x1000000, + FLG2_UNK_800000 = 0x800000, + FLG2_STATUS_WINDOW_DRAW = 0x400000, FLG2_UNK_280000 = 0x280000, - UNK_ARMOR = 0x80000, - SCENE_CHANGE_START = 0x8000, + FLG2_UNK_200000 = 0x200000, + FLG2_UNK_80000 = 0x80000, + FLG2_UNK_40000 = 0x40000, + FLG2_UNK_20000 = 0x20000, + FLG2_SCN_CHG_START = 0x8000, FLG2_UNK_4000 = 0x4000, - UNK_FLG2_2 = 2, - UNK_DAPY_FLG2_1 = 1 + FLG2_UNK_80 = 0x80, + FLG2_UNK_40 = 0x40, + FLG2_UNK_10 = 0x10, + FLG2_UNK_8 = 8, + FLG2_UNK_2 = 2, + FLG2_UNK_1 = 1, + + FLG2_UNK_58 = FLG2_UNK_40 | FLG2_UNK_10 | FLG2_UNK_8, }; + enum daPy_FLG3 { + FLG3_UNK_40000000 = 0x40000000, FLG3_UNK_2000000 = 0x2000000, FLG3_UNK_1000000 = 0x1000000, FLG3_UNK_100000 = 0x100000, - COPY_ROD_THROW_AFTER = 0x40000 + FLG3_UNK_80000 = 0x80000, + FLG3_COPY_ROD_THROW_AFTER = 0x40000, + FLG3_UNK_4000 = 0x4000, }; + enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, + ERFLG0_UNK_2000000 = 0x2000000, ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_800000 = 0x800000, + ERFLG0_UNK_400000 = 0x400000, + ERFLG0_UNK_200000 = 0x200000, ERFLG0_UNK_100000 = 0x100000, + ERFLG0_UNK_2000 = 0x2000, ERFLG0_UNK_400 = 0x400, + ERFLG0_UNK_100 = 0x100, ERFLG0_UNK_4 = 4, ERFLG0_UNK_2 = 2, ERFLG0_UNK_1 = 1, }; + enum daPy_ERFLG1 { - GANON_FINISH = 0x80000000, - UNK_FORCE_PUT_POS = 0x2000, + ERFLG1_GANON_FINISH = 0x80000000, + ERFLG1_UNK_10000000 = 0x10000000, + ERFLG1_UNK_4000000 = 0x4000000, + ERFLG1_UNK_40000 = 0x40000, + ERFLG1_UNK_2000 = 0x2000, + ERFLG1_UNK_200 = 0x200, + ERFLG1_UNK_4 = 4, ERFLG1_UNK_2 = 2, ERFLG1_UNK_1 = 1, }; + enum daPy_ERFLG2 { ERFLG2_UNK_100 = 0x100, + ERFLG2_UNK_20 = 0x20, }; + enum daPy_RFLG0 { RFLG0_UNK_8000000 = 0x8000000, RFLG0_UNK_4000 = 0x4000, - ENEMY_ATTENTION_LOCK = 0x1000, + RFLG0_ENEMY_ATTN_LOCK = 0x1000, + RFLG0_UNK_400 = 0x400, RFLG0_UNK_80 = 0x80, RFLG0_UNK_40 = 0x40, + RFLG0_UNK_10 = 0x10, RFLG0_UNK_2 = 0x2, }; @@ -307,8 +360,8 @@ public: static BOOL checkTradeItem(int); static BOOL checkDungeonWarpItem(int); static BOOL checkMasterSwordEquip(); - void checkWoodShieldEquip(); - f32 getAttentionOffsetY(); + bool checkWoodShieldEquip(); + static f32 getAttentionOffsetY(); s16 checkNowWolfEyeUp(); static void forceRestartRoom(int, u32, int); static void setFmChainPos(fopAc_ac_c*, cXyz*, int); @@ -321,7 +374,7 @@ public: static u32 checkCarryStartLightBallA(); static u32 checkCarryStartLightBallB(); float getSpinnerRideSpeed() const; - void checkSpinnerReflectEffect(); + bool checkSpinnerReflectEffect(); static bool checkBoomerangCharge(); bool checkBoomerangChargeTime(); static daBoomerang_c* getThrowBoomerangActor(); @@ -329,10 +382,10 @@ public: static void setPlayerDamage(int, int); static void setMidnaMotionNum(int); static void setMidnaFaceNum(int); - int checkNoResetFlg0(daPy_FLG0) const; - int checkEquipHeavyBoots() const; - int checkBoarSingleBattle() const; - int checkEndResetFlg0(daPy_ERFLG0) const; + u32 checkNoResetFlg0(daPy_FLG0) const; + u32 checkEquipHeavyBoots() const; + u32 checkBoarSingleBattle() const; + u32 checkEndResetFlg0(daPy_ERFLG0) const; void onNoResetFlg2(daPy_py_c::daPy_FLG2); void offNoResetFlg0(daPy_py_c::daPy_FLG0); int checkEndResetFlg2(daPy_py_c::daPy_ERFLG2) const; @@ -340,14 +393,14 @@ public: int checkNoResetFlg3(daPy_py_c::daPy_FLG3) const; BOOL checkShieldGet(); void onNoResetFlg0(daPy_py_c::daPy_FLG0); - int checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const; + u32 checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const; void offNoResetFlg1(daPy_py_c::daPy_FLG1); void offNoResetFlg2(daPy_py_c::daPy_FLG2); - int checkWolf() const; + u32 checkWolf() const; BOOL checkSwordGet(); - int checkResetFlg0(daPy_py_c::daPy_RFLG0) const; - int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const; - int checkMagneBootsOn() const; + u32 checkResetFlg0(daPy_py_c::daPy_RFLG0) const; + u32 checkNoResetFlg2(daPy_py_c::daPy_FLG2) const; + u32 checkMagneBootsOn() const; void changeDemoPos0(cXyz const*); void changeDemoMode(u32, int, int, s16); void changeDemoParam2(s16); @@ -363,6 +416,7 @@ public: /* 80182B9C */ void getRightHandPos() const; /* 8015DFD8 */ const cXyz getItemPos() const; /* 8015DFF4 */ const cXyz& getLeftHandPos() const; + /* 800977B4 */ bool checkMidnaRide() const; /* const cXyz* getItemPos() const { return &mItemPos; @@ -551,15 +605,15 @@ public: bool i_getSumouMode() const { return getSumouCameraMode(); } - bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); } + bool checkStatusWindowDraw() { return i_checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); } bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; } - bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(HEAVY_STATE_BOOTS); } - bool checkEnemyAttentionLock() const { return i_checkResetFlg0(ENEMY_ATTENTION_LOCK); } + bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(FLG0_HVY_STATE); } + bool checkEnemyAttentionLock() const { return i_checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); } bool checkCanoeSlider() const { return mSpecialMode == 0x2D; } 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); } + bool checkWaterInMove() const { return i_checkNoResetFlg0(FLG0_UNDERWATER); } + bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); } // some functions use these function as an inline // is there a better way to handle this? @@ -567,28 +621,36 @@ public: int i_checkNoResetFlg1(daPy_FLG1 pFlag) const { return mNoResetFlg1 & pFlag; } int i_checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; } int i_checkNoResetFlg3(daPy_FLG3 pFlag) const { return mNoResetFlg3 & pFlag; } + void i_onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; } void i_onNoResetFlg1(int pFlg) { mNoResetFlg1 |= pFlg; } void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; } void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; } + void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; } void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; } void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; } + void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; } void i_onResetFlg0(int flag) { mResetFlg0 |= flag; } void i_onResetFlg1(int flag) { mResetFlg1 |= flag; } + void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; } void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; } + int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; } + int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; } int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; } + void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; } - u32 i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); } - BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); } - BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); } - bool i_checkMidnaRide() const { return i_checkNoResetFlg0(MIDNA_RIDE); } - void i_onPlayerNoDraw() { i_onNoResetFlg0(PLAYER_NO_DRAW); } - void i_offPlayerNoDraw() { i_offNoResetFlg0(PLAYER_NO_DRAW); } + + u32 i_checkWolf() const { return i_checkNoResetFlg1(FLG1_IS_WOLF); } + BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); } + BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(FLG0_MAGNE_BOOTS_ON); } + bool i_checkMidnaRide() const { return i_checkNoResetFlg0(FLG0_MIDNA_RIDE); } + void i_onPlayerNoDraw() { i_onNoResetFlg0(FLG0_PLAYER_NO_DRAW); } + void i_offPlayerNoDraw() { i_offNoResetFlg0(FLG0_PLAYER_NO_DRAW); } inline static u32 i_getLastSceneMode(); inline static u32 getLastSceneMode(); diff --git a/include/d/bg/d_bg_pc.h b/include/d/bg/d_bg_pc.h index b1f91e96c2..260c530ad2 100644 --- a/include/d/bg/d_bg_pc.h +++ b/include/d/bg/d_bg_pc.h @@ -11,10 +11,57 @@ struct sBgPc { /* 0x10 */ u32 code4; }; // Size: 0x14 +enum dBgPc_ECode { + /* 0x00004000 */ CODE_OBJ_THRU = 0x4000, + /* 0x00008000 */ CODE_CAM_THRU = 0x8000, + /* 0x00010000 */ CODE_LINK_THRU = 0x10000, + /* 0x00020000 */ CODE_ARROW_THRU = 0x20000, + /* 0x00040000 */ CODE_HS_STICK = 0x40000, + /* 0x00080000 */ CODE_BOOMERANG_THRU = 0x80000, + /* 0x00100000 */ CODE_ROPE_THRU = 0x100000, + /* 0x00200000 */ CODE_HORSE_NO_ENTRY = 0x200000, + /* 0x00400000 */ CODE_SHDW_THRU = 0x400000, + /* 0x00800000 */ CODE_BOMB_THRU = 0x800000, + /* 0x01000000 */ CODE_IRON_BALL_THRU = 0x1000000, + /* 0x02000000 */ CODE_ATTACK_THRU = 0x2000000, + /* 0x40000000 */ CODE_UNDERWATER_ROOF = 0x40000000, +}; + class dBgPc { public: void setCode(sBgPc&); + u32 getHorseNoEntry() const { return m_code.code0 >> 0x15 & 1; } + u32 getSpl() const { return m_code.code0 >> 0x18 & 0xF; } + u32 getMagnet() const { return m_code.code0 >> 0x1C & 0x3; } + u32 getMonkeyBars() const { return m_code.code0 >> 0x1F; } + u32 getWallCode() const { return m_code.code1 >> 0x8 & 0xF; } + u32 getAtt0Code() const { return m_code.code1 >> 0xC & 0xF; } + u32 getAtt1Code() const { return m_code.code1 >> 0x10 & 0x7; } + u32 getGroundCode() const { return m_code.code1 >> 0x13 & 0x1F; } + u32 getObjThrough() const { return m_code.code0 & CODE_OBJ_THRU; } + u32 getCamThrough() const { return m_code.code0 & CODE_CAM_THRU; } + u32 getLinkThrough() const { return m_code.code0 & CODE_LINK_THRU; } + u32 getArrowThrough() const { return m_code.code0 & CODE_ARROW_THRU; } + u32 getHSStick() const { return m_code.code0 & CODE_HS_STICK; } + u32 getBoomerangThrough() const { return m_code.code0 & CODE_BOOMERANG_THRU; } + u32 getRopeThrough() const { return m_code.code0 & CODE_ROPE_THRU; } + u32 getBombThrough() const { return m_code.code0 & CODE_BOMB_THRU; } + u32 getIronBallThrough() const { return m_code.code1 & CODE_IRON_BALL_THRU; } + u32 getShdwThrough() const { return m_code.code0 & CODE_SHDW_THRU; } + u32 getUnderwaterRoof() const { return m_code.code0 & CODE_UNDERWATER_ROOF; } + u32 getAttackThrough() const { return m_code.code1 & CODE_ATTACK_THRU; } + u8 getRoom() const { return m_code.code4 >> 0x14; } + u8 getExit() const { return m_code.code0 & 0x3F; } + u8 getPolyCol() const { return m_code.code0 >> 6; } + u8 getLinkNo() const { return m_code.code1; } + u8 getCamMoveBG() const { return m_code.code2; } + u8 getRoomCam() const { return m_code.code2 >> 8; } + u8 getRoomPath() const { return m_code.code2 >> 0x10; } + u8 getRoomPathPnt() const { return m_code.code2 >> 0x18; } + u8 getRoomInf() const { return m_code.code4; } + u8 getSnd() const { return m_code.code4 >> 0xB; } + private: /* 0x0 */ sBgPc m_code; }; diff --git a/include/d/bg/d_bg_plc.h b/include/d/bg/d_bg_plc.h index ed0c55085f..fde627bb51 100644 --- a/include/d/bg/d_bg_plc.h +++ b/include/d/bg/d_bg_plc.h @@ -12,7 +12,7 @@ struct PLC { /* 0x0 */ u32 magic; /* 0x4 */ u16 m_code_size; /* 0x6 */ u16 m_num; - // ... + /* 0x8 */ sBgPc* field_0x8; }; class dBgPlc { @@ -21,7 +21,7 @@ public: /* 80074080 */ ~dBgPlc(); /* 800740BC */ void setBase(void*); /* 800740C4 */ void getCode(int, sBgPc**) const; - /* 800740DC */ void getGrpCode(int) const; + /* 800740DC */ u32 getGrpCode(int) const; private: /* 0x00 */ void* m_base; diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index f07fbc2ff5..7c53bf3373 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -78,7 +78,7 @@ public: int GetSpecialCode(cBgS_PolyInfo const&); int GetMagnetCode(cBgS_PolyInfo const&); int GetMonkeyBarsCode(cBgS_PolyInfo const&); - int GetUnderwaterRoofCode(cBgS_PolyInfo const&); + u32 GetUnderwaterRoofCode(cBgS_PolyInfo const&); s32 GetWallCode(cBgS_PolyInfo const&); int GetPolyAtt0(cBgS_PolyInfo const&); int GetPolyAtt1(cBgS_PolyInfo const&); @@ -87,7 +87,7 @@ public: s32 GetRoomCamId(cBgS_PolyInfo const&); s32 GetRoomPathId(cBgS_PolyInfo const&); s32 GetRoomPathPntNo(cBgS_PolyInfo const&); - s32 GetGrpSoundId(cBgS_PolyInfo const&); + u8 GetGrpSoundId(cBgS_PolyInfo const&); u32 ChkGrpInf(cBgS_PolyInfo const&, u32); s32 GetRoomId(cBgS_PolyInfo const&); bool GetPolyAttackThrough(cBgS_PolyInfo const&); diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h index 0754ceb3ec..dce3637027 100644 --- a/include/d/bg/d_bg_s_acch.h +++ b/include/d/bg/d_bg_s_acch.h @@ -47,7 +47,7 @@ public: bool ChkWallHit() { return m_flags & WALL_HIT; } void SetCir(cXyz& pos) { m_cir.Set(pos.x, pos.z, pos.y + GetWallH(), m_wall_r); } -}; +}; // Size: 0x40 class dBgS; class dBgS_Acch : public cBgS_Chk, public dBgS_Chk { @@ -149,6 +149,7 @@ public: void SetGrndNone() { m_flags |= GRND_NONE; } void ClrGrndNone() { m_flags &= ~GRND_NONE; } bool ChkMoveBGOnly() const { return m_flags & MOVE_BG_ONLY; } + void SetWallHit() { m_flags |= WALL_HIT; } // inline dupe void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; } diff --git a/include/d/bg/d_bg_s_poly_pass_chk.h b/include/d/bg/d_bg_s_poly_pass_chk.h index c5aff507f4..5eedc5e3e2 100644 --- a/include/d/bg/d_bg_s_poly_pass_chk.h +++ b/include/d/bg/d_bg_s_poly_pass_chk.h @@ -47,17 +47,17 @@ public: void SetUnderwaterRoof(); private: - bool mObject; - bool mCamera; - bool mLink; - bool mArrow; - bool mBomb; - bool mBoomerang; - bool mRope; - bool mUnderwaterRoof; - bool mHorse; - bool mStatue; - bool mIronBall; + /* 0x4 */ bool mObject; + /* 0x5 */ bool mCamera; + /* 0x6 */ bool mLink; + /* 0x7 */ bool mArrow; + /* 0x8 */ bool mBomb; + /* 0x9 */ bool mBoomerang; + /* 0xA */ bool mRope; + /* 0xB */ bool mUnderwaterRoof; + /* 0xC */ bool mHorse; + /* 0xD */ bool mStatue; + /* 0xE */ bool mIronBall; }; #endif /* D_BG_D_BG_S_POLY_PASS_CHK_H */ diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index 7872f4a5af..a2eb1be880 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -15,22 +15,23 @@ struct dBgS_CaptPoly {}; -class cBgW_TriElm : public cM3dGPla { +class cBgW_TriElm { public: - /* 80079754 */ cBgW_TriElm(); + /* 0x00 */ cM3dGPla m_plane; + /* 80079754 */ cBgW_TriElm(); /* 800796F8 */ virtual ~cBgW_TriElm(); -}; + + /* 0x14 vtable */ +}; // Size: 0x18 class cBgW_RwgElm { -private: - /* 0x0 */ u8 field_0x0[4]; - public: - /* 800791C4 */ cBgW_RwgElm(); + /* 0x0 */ u16 field_0x0; + /* 800791C4 */ cBgW_RwgElm(); /* 800791D4 */ virtual ~cBgW_RwgElm(); -}; +}; // Size: 0x8 class cBgW_NodeTree : public cM3dGAab { public: @@ -39,22 +40,81 @@ public: /* 80079238 */ virtual ~cBgW_NodeTree(); }; -class cBgW_GrpElm : public cM3dGAab { +class cBgW_GrpElm { public: /* 8007A1E4 */ cBgW_GrpElm(); /* 8007A184 */ virtual ~cBgW_GrpElm(); + + /* 0x4 */ cM3dGAab m_aab; }; -struct cBgD_t {}; +struct cBgW_unk_b_data { + /* 0x0 */ u16 field_0x0; + /* 0x2 */ u16 field_0x2; + /* 0x4 */ u16 field_0x4; +}; // Size: 0x6 + +struct dzb_tri_data { + /* 0x0 */ u16 field_0x0; + /* 0x2 */ u16 field_0x2; + /* 0x4 */ u16 field_0x4; + /* 0x6 */ u16 m_id; + /* 0x8 */ u16 m_grp; +}; // Size: 0xA + +struct dzb_ti_data { + /* 0x0 */ u32 m_info0; + /* 0x4 */ u32 m_info1; + /* 0x8 */ u32 m_info2; + /* 0xC */ u8 field_0xc[0x10 - 0xC]; +}; + +struct dzb_b_data { + /* 0x0 */ u16 field_0x0; +}; + +struct dzb_tree_data { + /* 0x0 */ u16 field_0x0; + /* 0x2 */ u16 field_0x2; + /* 0x4 */ u16 m_id[1]; + /* 0x6 */ u8 field_0x6[0x14 - 0x6]; +}; // Size: 0x14 + +struct dzb_g_data { + /* 0x00 */ u8 field_0x0[0x24 - 0x0]; + /* 0x24 */ u16 field_0x24; + /* 0x26 */ u8 field_0x26[0x28 - 0x26]; + /* 0x28 */ u16 field_0x28; + /* 0x2A */ u16 field_0x2a; + /* 0x2C */ u8 field_0x2c[0x2E - 0x2C]; + /* 0x2E */ u16 field_0x2e; + /* 0x30 */ u32 m_info; +}; // Size: 0x34 + +struct cBgD_t { + /* 0x00 */ int m_v_num; // vertex num + /* 0x04 */ Vec* m_v_tbl; // vertex table + /* 0x08 */ int m_t_num; // triangle num + /* 0x0C */ dzb_tri_data* m_t_tbl; // triangle table + /* 0x10 */ int m_b_num; // spatial? + /* 0x14 */ dzb_b_data* m_b_tbl; + /* 0x18 */ int m_tree_num; // face group? + /* 0x1C */ dzb_tree_data* m_tree_tbl; + /* 0x20 */ int m_g_num; // string group? + /* 0x24 */ dzb_g_data* m_g_tbl; + /* 0x28 */ int m_ti_num; // surface property? + /* 0x2C */ dzb_ti_data* m_ti_tbl; + /* 0x30 */ int field_0x30; +}; class cBgW : public dBgW_Base { public: /* 80079294 */ cBgW(); /* 800793A4 */ void FreeArea(); /* 800793C4 */ void GlobalVtx(); - /* 80079484 */ void SetVtx(); - /* 80079668 */ void SetTri(); + /* 80079484 */ bool SetVtx(); + /* 80079668 */ bool SetTri(); /* 80079770 */ void BlckConnect(u16*, int*, int); /* 8007998C */ void MakeBlckTransMinMax(cXyz*, cXyz*); /* 800799E0 */ void MakeBlckMinMax(int, cXyz*, cXyz*); @@ -63,37 +123,37 @@ public: /* 80079CC4 */ void MakeNodeTreeGrpRp(int); /* 80079DF0 */ void MakeNodeTree(); /* 80079F38 */ bool Set(cBgD_t*, u32, f32 (*)[3][4]); - /* 8007A200 */ void RwgLineCheck(u16, cBgS_LinChk*); - /* 8007A3A0 */ void LineCheckRp(cBgS_LinChk*, int); - /* 8007A52C */ void LineCheckGrpRp(cBgS_LinChk*, int, int); + /* 8007A200 */ bool RwgLineCheck(u16, cBgS_LinChk*); + /* 8007A3A0 */ bool LineCheckRp(cBgS_LinChk*, int); + /* 8007A52C */ bool LineCheckGrpRp(cBgS_LinChk*, int, int); /* 8007A680 */ void RwgGroundCheckCommon(f32, u16, cBgS_GndChk*); /* 8007A774 */ void RwgGroundCheckGnd(u16, cBgS_GndChk*); /* 8007A824 */ void RwgGroundCheckWall(u16, cBgS_GndChk*); /* 8007A8F4 */ void GroundCrossRp(cBgS_GndChk*, int); - /* 8007AA50 */ void GroundCrossGrpRp(cBgS_GndChk*, int, int); + /* 8007AA50 */ bool GroundCrossGrpRp(cBgS_GndChk*, int, int); /* 8007ABC4 */ void CopyOldMtx(); /* 8007AC10 */ void Move(); /* 8007ADF0 */ void RwgShdwDraw(int, cBgS_ShdwDraw*); /* 8007AEA4 */ void ShdwDrawRp(cBgS_ShdwDraw*, int); /* 8007AFC0 */ void ShdwDrawGrpRp(cBgS_ShdwDraw*, int); /* 8007B17C */ void GetTrans(cXyz*) const; - /* 8007B2F4 */ void GetPolyInfId(int) const; - /* 8007B30C */ void GetPolyInf0(int, u32, u32) const; - /* 8007B360 */ void GetMaskPolyInf0_NoShift(int, u32) const; - /* 8007B654 */ void GetPolyInf1(int, u32, u32) const; - /* 8007B78C */ void GetMaskPolyInf1_NoShift(int, u32) const; - /* 8007B824 */ void GetPolyInf2(int, u32, u32) const; - /* 8007B930 */ void GetTriGrp(int) const; + /* 8007B2F4 */ int GetPolyInfId(int) const; + /* 8007B30C */ u32 GetPolyInf0(int, u32, u32) const; + /* 8007B360 */ u32 GetMaskPolyInf0_NoShift(int, u32) const; + /* 8007B654 */ u32 GetPolyInf1(int, u32, u32) const; + /* 8007B78C */ u32 GetMaskPolyInf1_NoShift(int, u32) const; + /* 8007B824 */ u32 GetPolyInf2(int, u32, u32) const; + /* 8007B930 */ int GetTriGrp(int) const; /* 8007933C */ virtual ~cBgW(); - /* 80079EEC */ virtual void ChkMemoryError(); + /* 80079EEC */ virtual bool ChkMemoryError(); /* 8007B948 */ virtual bool ChkNotReady() const; /* 8007B958 */ virtual bool ChkLock() const; /* 8007B964 */ virtual bool ChkMoveBg() const; virtual u32 ChkMoveFlag() const = 0; /* 8007B270 */ virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const; /* 8007B1B4 */ virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const; - /* 8007B164 */ virtual void GetBnd() const; + /* 8007B164 */ virtual cM3dGAab* GetBnd() const; /* 8007B2B0 */ virtual u32 GetGrpInf(cBgS_PolyInfo const&) const; virtual void OffMoveFlag() = 0; /* 8007B240 */ virtual void GetTopUnder(f32*, f32*) const; @@ -101,7 +161,7 @@ public: /* 8007AB9C */ virtual bool GroundCross(cBgS_GndChk*); /* 8007B084 */ virtual void ShdwDraw(cBgS_ShdwDraw*); virtual void CaptPoly(dBgS_CaptPoly&) = 0; - virtual void WallCorrect(dBgS_Acch*) = 0; + virtual bool WallCorrect(dBgS_Acch*) = 0; virtual void WallCorrectSort(dBgS_Acch*) = 0; virtual bool RoofChk(dBgS_RoofChk*) = 0; virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0; @@ -113,40 +173,43 @@ public: virtual int GetSpecialCode(cBgS_PolyInfo const&) = 0; virtual int GetSpecialCode(int) = 0; virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0; - virtual void GetPolyObjThrough(int) = 0; - virtual void GetPolyCamThrough(int) = 0; - virtual void GetPolyLinkThrough(int) = 0; - virtual void GetPolyArrowThrough(int) = 0; + virtual u32 GetPolyObjThrough(int) = 0; + virtual u32 GetPolyCamThrough(int) = 0; + virtual u32 GetPolyLinkThrough(int) = 0; + virtual u32 GetPolyArrowThrough(int) = 0; virtual u32 GetPolyHSStick(int) = 0; - virtual void GetPolyBoomerangThrough(int) = 0; - virtual void GetPolyRopeThrough(int) = 0; - virtual void GetPolyBombThrough(int) = 0; - virtual void GetShdwThrough(int) = 0; - virtual int GetUnderwaterRoofCode(int) = 0; + virtual u32 GetPolyBoomerangThrough(int) = 0; + virtual u32 GetPolyRopeThrough(int) = 0; + virtual u32 GetPolyBombThrough(int) = 0; + virtual bool GetShdwThrough(int) = 0; + virtual u32 GetUnderwaterRoofCode(int) = 0; virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0; + virtual int GetLinkNo(cBgS_PolyInfo const&) = 0; virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0; virtual int GetPolyAtt0(cBgS_PolyInfo const&) = 0; virtual int GetPolyAtt1(cBgS_PolyInfo const&) = 0; virtual int GetGroundCode(cBgS_PolyInfo const&) = 0; - virtual void GetIronBallThrough(int) = 0; + virtual u32 GetIronBallThrough(int) = 0; virtual u32 GetAttackThrough(int) = 0; virtual s32 GetCamMoveBG(cBgS_PolyInfo const&) = 0; virtual s32 GetRoomCamId(cBgS_PolyInfo const&) = 0; virtual s32 GetRoomPathId(cBgS_PolyInfo const&) = 0; virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&) = 0; - virtual void GetPolyGrpRoomInfId(cBgS_PolyInfo const&) = 0; - virtual s32 GetGrpSoundId(cBgS_PolyInfo const&) = 0; + virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&) = 0; + virtual u8 GetGrpSoundId(cBgS_PolyInfo const&) = 0; virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0; virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0; virtual void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0; /* 80079564 */ virtual void CalcPlane(); /* 800797BC */ virtual void ClassifyPlane(); /* 8007B0A8 */ virtual bool ChkPolyThrough(int, cBgS_PolyPassChk*); - /* 8007B0B0 */ virtual void ChkShdwDrawThrough(int, cBgS_PolyPassChk*); + /* 8007B0B0 */ virtual bool ChkShdwDrawThrough(int, cBgS_PolyPassChk*); /* 8007B0DC */ virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int); u32 GetOldInvMtx(Mtx m) { return PSMTXInverse(m_inv_mtx, m); } MtxP GetBaseMtxP() { return pm_base; } + bool ChkNoCalcVtx() { return field_0x88 & 2; } + bool ChkFlush() { return field_0x91 & 8; } public: /* 0x18 */ MtxP pm_base; @@ -161,9 +224,9 @@ public: /* 0x92 */ u16 field_0x92; /* 0x94 */ cBgW_TriElm* pm_tri; /* 0x98 */ cBgW_RwgElm* pm_rwg; - /* 0x9C */ VertexPosition* pm_vtx_tbl; // type not confirmed - /* 0xA0 */ void* pm_bgd; - /* 0xA4 */ void* field_0xa4; + /* 0x9C */ Vec* pm_vtx_tbl; + /* 0xA0 */ cBgD_t* pm_bgd; + /* 0xA4 */ cBgW_unk_b_data* field_0xa4; /* 0xA8 */ cBgW_GrpElm* pm_grp; /* 0xAC */ cBgW_NodeTree* pm_node_tree; }; @@ -180,28 +243,28 @@ public: /* 8007B9EC */ void positionWallCorrect(dBgS_Acch*, f32, cM3dGPla&, cXyz* pupper_pos, f32); /* 8007BA40 */ void RwgWallCorrect(dBgS_Acch*, u16); /* 8007C234 */ void WallCorrectRp(dBgS_Acch*, int); - /* 8007C360 */ void WallCorrectGrpRp(dBgS_Acch*, int, int); + /* 8007C360 */ bool WallCorrectGrpRp(dBgS_Acch*, int, int); /* 8007C4AC */ void RwgWallCorrectSort(dBgS_Acch*, u16); /* 8007C714 */ void WallCorrectRpSort(dBgS_Acch*, int); /* 8007C808 */ void WallCorrectGrpRpSort(dBgS_Acch*, int, int); /* 8007D0DC */ void RwgRoofChk(u16, dBgS_RoofChk*); /* 8007D208 */ void RoofChkRp(dBgS_RoofChk*, int); - /* 8007D330 */ void RoofChkGrpRp(dBgS_RoofChk*, int, int); + /* 8007D330 */ bool RoofChkGrpRp(dBgS_RoofChk*, int, int); /* 8007D498 */ void RwgSplGrpChk(u16, dBgS_SplGrpChk*); /* 8007D5C4 */ void SplGrpChkRp(dBgS_SplGrpChk*, int); - /* 8007D6F0 */ void SplGrpChkGrpRp(dBgS_SplGrpChk*, int, int); + /* 8007D6F0 */ bool SplGrpChkGrpRp(dBgS_SplGrpChk*, int, int); /* 8007D858 */ void RwgCaptPoly(int, dBgS_CaptPoly&); /* 8007D8E8 */ void CaptPolyRp(dBgS_CaptPoly&, int); /* 8007DA04 */ void CaptPolyGrpRp(dBgS_CaptPoly&, int, int); /* 8007DB20 */ void RwgSphChk(u16, dBgS_SphChk*, void*); /* 8007DC70 */ void SphChkRp(dBgS_SphChk*, void*, int); - /* 8007DDE0 */ void SphChkGrpRp(dBgS_SphChk*, void*, int, int); + /* 8007DDE0 */ bool SphChkGrpRp(dBgS_SphChk*, void*, int, int); /* 8007E548 */ virtual ~dBgW(); /* 8007E4B4 */ virtual u32 ChkMoveFlag() const; /* 8007E4A4 */ virtual void OffMoveFlag(); /* 8007DAF8 */ virtual void CaptPoly(dBgS_CaptPoly&); - /* 8007C484 */ virtual void WallCorrect(dBgS_Acch*); + /* 8007C484 */ virtual bool WallCorrect(dBgS_Acch*); /* 8007C910 */ virtual void WallCorrectSort(dBgS_Acch*); /* 8007D470 */ virtual bool RoofChk(dBgS_RoofChk*); /* 8007D830 */ virtual bool SplGrpChk(dBgS_SplGrpChk*); @@ -212,30 +275,30 @@ public: /* 8007B430 */ virtual int GetSpecialCode(cBgS_PolyInfo const&); /* 8007B460 */ virtual int GetSpecialCode(int); /* 8007B488 */ virtual int GetMagnetCode(cBgS_PolyInfo const&); - /* 8007B4E0 */ virtual void GetPolyObjThrough(int); - /* 8007B504 */ virtual void GetPolyCamThrough(int); - /* 8007B52C */ virtual void GetPolyLinkThrough(int); - /* 8007B550 */ virtual void GetPolyArrowThrough(int); + /* 8007B4E0 */ virtual u32 GetPolyObjThrough(int); + /* 8007B504 */ virtual u32 GetPolyCamThrough(int); + /* 8007B52C */ virtual u32 GetPolyLinkThrough(int); + /* 8007B550 */ virtual u32 GetPolyArrowThrough(int); /* 8007B574 */ virtual u32 GetPolyHSStick(int); - /* 8007B598 */ virtual void GetPolyBoomerangThrough(int); - /* 8007B5BC */ virtual void GetPolyRopeThrough(int); - /* 8007B5E0 */ virtual void GetPolyBombThrough(int); - /* 8007B604 */ virtual void GetShdwThrough(int); - /* 8007B630 */ virtual int GetUnderwaterRoofCode(int); + /* 8007B598 */ virtual u32 GetPolyBoomerangThrough(int); + /* 8007B5BC */ virtual u32 GetPolyRopeThrough(int); + /* 8007B5E0 */ virtual u32 GetPolyBombThrough(int); + /* 8007B604 */ virtual bool GetShdwThrough(int); + /* 8007B630 */ virtual u32 GetUnderwaterRoofCode(int); /* 8007B4B4 */ virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&); - /* 8007B6AC */ virtual void GetLinkNo(cBgS_PolyInfo const&); + /* 8007B6AC */ virtual int GetLinkNo(cBgS_PolyInfo const&); /* 8007B6D8 */ virtual s32 GetWallCode(cBgS_PolyInfo const&); /* 8007B704 */ virtual int GetPolyAtt0(cBgS_PolyInfo const&); /* 8007B734 */ virtual int GetPolyAtt1(cBgS_PolyInfo const&); /* 8007B760 */ virtual int GetGroundCode(cBgS_PolyInfo const&); - /* 8007B7DC */ virtual void GetIronBallThrough(int); + /* 8007B7DC */ virtual u32 GetIronBallThrough(int); /* 8007B800 */ virtual u32 GetAttackThrough(int); /* 8007B87C */ virtual s32 GetCamMoveBG(cBgS_PolyInfo const&); /* 8007B8A8 */ virtual s32 GetRoomCamId(cBgS_PolyInfo const&); /* 8007B8D8 */ virtual s32 GetRoomPathId(cBgS_PolyInfo const&); /* 8007B904 */ virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&); - /* 8007DF28 */ virtual void GetPolyGrpRoomInfId(cBgS_PolyInfo const&); - /* 8007DF58 */ virtual s32 GetGrpSoundId(cBgS_PolyInfo const&); + /* 8007DF28 */ virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&); + /* 8007DF58 */ virtual u8 GetGrpSoundId(cBgS_PolyInfo const&); /* 8007DF88 */ virtual void CrrPos(cBgS_PolyInfo const&, virtual void*, bool, cXyz*, csXyz*, csXyz*); /* 8007DFC4 */ virtual void TransPos(cBgS_PolyInfo const&, virtual void*, bool, cXyz*, csXyz*, @@ -244,11 +307,12 @@ public: csXyz*, csXyz*); /* 8007E444 */ virtual void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*); /* 8007E474 */ virtual void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&); - /* 8007E02C */ virtual void ChkPolyThrough(int, cBgS_PolyPassChk*); - /* 8007E360 */ virtual void ChkShdwDrawThrough(int, cBgS_PolyPassChk*); - /* 8007E3D8 */ virtual void ChkGrpThrough(int, cBgS_GrpPassChk*, int); + /* 8007E02C */ virtual bool ChkPolyThrough(int, cBgS_PolyPassChk*); + /* 8007E360 */ virtual bool ChkShdwDrawThrough(int, cBgS_PolyPassChk*); + /* 8007E3D8 */ virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int); void SetCrrFunc(dBgW_CrrFunc func) { m_crr_func = func; } + void OnMoveFlag() { m_flags |= 1; } private: /* 0xB0 */ dBgW_CrrFunc m_crr_func; diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h index fee8c30efd..0564f0f4a7 100644 --- a/include/d/bg/d_bg_w_base.h +++ b/include/d/bg/d_bg_w_base.h @@ -32,7 +32,7 @@ public: virtual u32 ChkMoveFlag() const = 0; virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const = 0; virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const = 0; - virtual void GetBnd() const = 0; + virtual cM3dGAab* GetBnd() const = 0; virtual u32 GetGrpInf(cBgS_PolyInfo const&) const = 0; virtual void OffMoveFlag() = 0; virtual void GetTopUnder(f32*, f32*) const = 0; @@ -41,7 +41,7 @@ public: virtual bool GroundCross(cBgS_GndChk*) = 0; virtual void ShdwDraw(cBgS_ShdwDraw*) = 0; virtual void CaptPoly(dBgS_CaptPoly&) = 0; - virtual void WallCorrect(dBgS_Acch*) = 0; + virtual bool WallCorrect(dBgS_Acch*) = 0; virtual void WallCorrectSort(dBgS_Acch*) = 0; virtual bool RoofChk(dBgS_RoofChk*) = 0; virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0; @@ -53,30 +53,30 @@ public: virtual int GetSpecialCode(cBgS_PolyInfo const&) = 0; virtual int GetSpecialCode(int) = 0; virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0; - virtual void GetPolyObjThrough(int) = 0; - virtual void GetPolyCamThrough(int) = 0; - virtual void GetPolyLinkThrough(int) = 0; - virtual void GetPolyArrowThrough(int) = 0; + virtual u32 GetPolyObjThrough(int) = 0; + virtual u32 GetPolyCamThrough(int) = 0; + virtual u32 GetPolyLinkThrough(int) = 0; + virtual u32 GetPolyArrowThrough(int) = 0; virtual u32 GetPolyHSStick(int) = 0; - virtual void GetPolyBoomerangThrough(int) = 0; - virtual void GetPolyRopeThrough(int) = 0; - virtual void GetPolyBombThrough(int) = 0; - virtual void GetShdwThrough(int) = 0; - virtual int GetUnderwaterRoofCode(int) = 0; + virtual u32 GetPolyBoomerangThrough(int) = 0; + virtual u32 GetPolyRopeThrough(int) = 0; + virtual u32 GetPolyBombThrough(int) = 0; + virtual bool GetShdwThrough(int) = 0; + virtual u32 GetUnderwaterRoofCode(int) = 0; virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0; - virtual void GetLinkNo(cBgS_PolyInfo const&) = 0; + virtual int GetLinkNo(cBgS_PolyInfo const&) = 0; virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0; virtual int GetPolyAtt0(cBgS_PolyInfo const&) = 0; virtual int GetPolyAtt1(cBgS_PolyInfo const&) = 0; virtual int GetGroundCode(cBgS_PolyInfo const&) = 0; - virtual void GetIronBallThrough(int) = 0; + virtual u32 GetIronBallThrough(int) = 0; virtual u32 GetAttackThrough(int) = 0; virtual s32 GetCamMoveBG(cBgS_PolyInfo const&) = 0; virtual s32 GetRoomCamId(cBgS_PolyInfo const&) = 0; virtual s32 GetRoomPathId(cBgS_PolyInfo const&) = 0; virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&) = 0; - virtual void GetPolyGrpRoomInfId(cBgS_PolyInfo const&) = 0; - virtual s32 GetGrpSoundId(cBgS_PolyInfo const&) = 0; + virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&) = 0; + virtual u8 GetGrpSoundId(cBgS_PolyInfo const&) = 0; virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0; virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0; virtual void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0; diff --git a/include/d/bg/d_bg_w_kcol.h b/include/d/bg/d_bg_w_kcol.h index a52e448cb8..b3dee70ba3 100644 --- a/include/d/bg/d_bg_w_kcol.h +++ b/include/d/bg/d_bg_w_kcol.h @@ -7,72 +7,91 @@ struct dBgS_CaptPoly; -struct KC_PrismData {}; +struct KC_PrismData { + /* 0x0 */ f32 field_0x0; + /* 0x4 */ u16 field_0x4; + /* 0x6 */ u16 field_0x6; + /* 0x8 */ u16 field_0x8; + /* 0xA */ u16 field_0xa; + /* 0xC */ u16 field_0xc; + /* 0xE */ u16 field_0xe; +}; // Size: 0x10 + +struct pkcdata { + /* 0x00 */ Vec* field_0x0; + /* 0x04 */ Vec* field_0x4; + /* 0x08 */ KC_PrismData* m_prism_data; + /* 0x0C */ KC_PrismData* m_block_data; + /* 0x10 */ u8 field_0x10[4]; + /* 0x14 */ Vec m_area_min_pos; + /* 0x20 */ u8 field_0x20[4]; + /* 0x24 */ u32 field_0x24; +}; class dBgWKCol : public dBgW_Base { public: /* 8007E6F4 */ dBgWKCol(); /* 8007E7D0 */ void initKCollision(void*); - /* 8007E804 */ void create(void*, void*); + /* 8007E804 */ void create(void* pprism, void* plc); /* 8007E850 */ void getTriNrm(KC_PrismData*, Vec**) const; - /* 8007E8C0 */ void GetTriPla(int) const; - /* 8007E9A4 */ void GetTriPnt(int, Vec*, Vec*, Vec*) const; - /* 8007E9D4 */ void GetTriPnt(KC_PrismData const*, Vec*, Vec*, Vec*) const; + /* 8007E8C0 */ cM3dGPla GetTriPla(int) const; + /* 8007E9A4 */ bool GetTriPnt(int, Vec*, Vec*, Vec*) const; + /* 8007E9D4 */ bool GetTriPnt(KC_PrismData const*, Vec*, Vec*, Vec*) const; /* 8007EB70 */ void getPolyCode(int, dBgPc*) const; - /* 8007EBC4 */ void chkPolyThrough(dBgPc*, cBgS_PolyPassChk*, cBgS_GrpPassChk*, cXyz&) const; - /* 8007FF00 */ void ChkShdwDrawThrough(dBgPc*); + /* 8007EBC4 */ bool chkPolyThrough(dBgPc*, cBgS_PolyPassChk*, cBgS_GrpPassChk*, cXyz&) const; + /* 8007FF00 */ bool ChkShdwDrawThrough(dBgPc*); /* 8007E74C */ virtual ~dBgWKCol(); /* 8007E86C */ virtual bool ChkNotReady() const; /* 8007E87C */ virtual bool ChkLock() const; /* 8007E884 */ virtual bool ChkMoveBg() const; - /* 8007E88C */ virtual bool ChkMoveFlag() const; + /* 8007E88C */ virtual u32 ChkMoveFlag() const; /* 8007E894 */ virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const; - /* 8007E980 */ virtual void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const; - /* 8007EB28 */ virtual void GetBnd() const; - /* 8007EB30 */ virtual void GetGrpInf(cBgS_PolyInfo const&) const; + /* 8007E980 */ virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const; + /* 8007EB28 */ virtual cM3dGAab* GetBnd() const; + /* 8007EB30 */ virtual u32 GetGrpInf(cBgS_PolyInfo const&) const; /* 8007EB6C */ virtual void OffMoveFlag(); /* 800829AC */ virtual void GetTopUnder(f32*, f32*) const; /* 8007EE34 */ virtual bool LineCheck(cBgS_LinChk*); /* 8007F628 */ virtual bool GroundCross(cBgS_GndChk*); /* 8007F9A4 */ virtual void ShdwDraw(cBgS_ShdwDraw*); /* 8007FF1C */ virtual void CaptPoly(dBgS_CaptPoly&); - /* 800811A0 */ virtual void WallCorrect(dBgS_Acch*); + /* 800811A0 */ virtual bool WallCorrect(dBgS_Acch*); /* 80080330 */ virtual void WallCorrectSort(dBgS_Acch*); /* 80081E18 */ virtual bool RoofChk(dBgS_RoofChk*); /* 80082184 */ virtual bool SplGrpChk(dBgS_SplGrpChk*); /* 800824EC */ virtual bool SphChk(dBgS_SphChk*, virtual void*); - /* 800829F0 */ virtual void GetGrpRoomIndex(cBgS_PolyInfo const&) const; - /* 80082A20 */ virtual void GetExitId(cBgS_PolyInfo const&); - /* 80082A50 */ virtual void GetPolyColor(cBgS_PolyInfo const&); - /* 80082A80 */ virtual void GetHorseNoEntry(cBgS_PolyInfo const&); + /* 800829F0 */ virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const; + /* 80082A20 */ virtual s32 GetExitId(cBgS_PolyInfo const&); + /* 80082A50 */ virtual s32 GetPolyColor(cBgS_PolyInfo const&); + /* 80082A80 */ virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&); /* 80082AB0 */ virtual int GetSpecialCode(cBgS_PolyInfo const&); /* 80082AE0 */ virtual int GetSpecialCode(int); /* 80082B0C */ virtual int GetMagnetCode(cBgS_PolyInfo const&); - /* 80082B6C */ virtual void GetPolyObjThrough(int); - /* 80082B98 */ virtual void GetPolyCamThrough(int); - /* 80082BC4 */ virtual void GetPolyLinkThrough(int); - /* 80082BF0 */ virtual void GetPolyArrowThrough(int); + /* 80082B6C */ virtual u32 GetPolyObjThrough(int); + /* 80082B98 */ virtual u32 GetPolyCamThrough(int); + /* 80082BC4 */ virtual u32 GetPolyLinkThrough(int); + /* 80082BF0 */ virtual u32 GetPolyArrowThrough(int); /* 80082C1C */ virtual u32 GetPolyHSStick(int); - /* 80082C48 */ virtual void GetPolyBoomerangThrough(int); - /* 80082C74 */ virtual void GetPolyRopeThrough(int); - /* 80082CA0 */ virtual void GetPolyBombThrough(int); - /* 80082CF8 */ virtual void GetShdwThrough(int); - /* 80082CCC */ virtual int GetUnderwaterRoofCode(int); + /* 80082C48 */ virtual u32 GetPolyBoomerangThrough(int); + /* 80082C74 */ virtual u32 GetPolyRopeThrough(int); + /* 80082CA0 */ virtual u32 GetPolyBombThrough(int); + /* 80082CF8 */ virtual bool GetShdwThrough(int); + /* 80082CCC */ virtual u32 GetUnderwaterRoofCode(int); /* 80082B3C */ virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&); - /* 80082D24 */ virtual void GetLinkNo(cBgS_PolyInfo const&); + /* 80082D24 */ virtual int GetLinkNo(cBgS_PolyInfo const&); /* 80082D54 */ virtual s32 GetWallCode(cBgS_PolyInfo const&); /* 80082D84 */ virtual int GetPolyAtt0(cBgS_PolyInfo const&); /* 80082DB4 */ virtual int GetPolyAtt1(cBgS_PolyInfo const&); /* 80082DE4 */ virtual int GetGroundCode(cBgS_PolyInfo const&); - /* 80082E14 */ virtual void GetIronBallThrough(int); - /* 80082E40 */ virtual void GetAttackThrough(int); - /* 80082E6C */ virtual void GetCamMoveBG(cBgS_PolyInfo const&); - /* 80082E9C */ virtual void GetRoomCamId(cBgS_PolyInfo const&); - /* 80082ECC */ virtual void GetRoomPathId(cBgS_PolyInfo const&); - /* 80082EFC */ virtual void GetRoomPathPntNo(cBgS_PolyInfo const&); - /* 80082F2C */ virtual void GetPolyGrpRoomInfId(cBgS_PolyInfo const&); - /* 80082F5C */ virtual void GetGrpSoundId(cBgS_PolyInfo const&); + /* 80082E14 */ virtual u32 GetIronBallThrough(int); + /* 80082E40 */ virtual u32 GetAttackThrough(int); + /* 80082E6C */ virtual s32 GetCamMoveBG(cBgS_PolyInfo const&); + /* 80082E9C */ virtual s32 GetRoomCamId(cBgS_PolyInfo const&); + /* 80082ECC */ virtual s32 GetRoomPathId(cBgS_PolyInfo const&); + /* 80082EFC */ virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&); + /* 80082F2C */ virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&); + /* 80082F5C */ virtual u8 GetGrpSoundId(cBgS_PolyInfo const&); /* 80082F8C */ virtual void CrrPos(cBgS_PolyInfo const&, virtual void*, bool, cXyz*, csXyz*, csXyz*); /* 80082F90 */ virtual void TransPos(cBgS_PolyInfo const&, virtual void*, bool, cXyz*, csXyz*, @@ -80,8 +99,11 @@ public: /* 80082F94 */ virtual void MatrixCrrPos(cBgS_PolyInfo const&, virtual void*, bool, cXyz*, csXyz*, csXyz*); + KC_PrismData* getPrismData(int poly_index) const { return &m_pkc_head->m_prism_data[poly_index]; } + void getTri1Pos(KC_PrismData* pd, Vec** nrm) const { *nrm = &m_pkc_head->field_0x0[pd->field_0x4]; } + private: - /* 0x18 */ void* m_pkc_head; + /* 0x18 */ pkcdata* m_pkc_head; /* 0x1C */ dBgPlc m_code; /* 0x20 */ cM3dGAab m_bnd; }; diff --git a/include/d/bg/d_bg_w_sv.h b/include/d/bg/d_bg_w_sv.h index 9a9190ae5c..251b604799 100644 --- a/include/d/bg/d_bg_w_sv.h +++ b/include/d/bg/d_bg_w_sv.h @@ -1,6 +1,22 @@ #ifndef D_BG_D_BG_W_SV_H #define D_BG_D_BG_W_SV_H -#include "dolphin/types.h" +#include "d/bg/d_bg_w.h" + +class dBgWSv : public dBgW { +public: + /* 80082F98 */ u8 Set(cBgD_t*, u32); + /* 80083020 */ void CopyBackVtx(); + /* 8008308C */ void CrrPosWork(cXyz*, int, int, int); + /* 80083300 */ void TransPosWork(cXyz*, int, int, int); + + /* 800835DC */ virtual ~dBgWSv(); + /* 80083244 */ virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*); + /* 8008351C */ virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*); + /* 800835D8 */ virtual void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*); + + /* 0xC0 */ Vec* field_0xc0; + /* 0xC4 */ u8 field_0xc4; +}; #endif /* D_BG_D_BG_W_SV_H */ diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 0d0a803c88..f37913783b 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -162,6 +162,8 @@ public: u8 getCStickStatusForce() { return mCStickStatusForce; } u8 getCStickSetFlagForce() { return mCStickSetFlagForce; } u8 getCStickDirectionForce() { return mCStickDirectionForce; } + u8 getFaceAnimeID() { return mFaceAnimeID; } + u8 getBaseAnimeID() { return mBaseAnimeID; } bool isCStickSetFlag(u8 flag) { return mCStickSetFlag & flag; } bool isDoSetFlag(u8 flag) { return flag & mDoSetFlag; } bool isASetFlag(u8 flag) { return flag & mASetFlag; } @@ -276,12 +278,14 @@ public: int getOxygen() { return mOxygen; } void setMaxOxygen(int max) { mMaxOxygen = max; } int getMaxOxygen() { return mMaxOxygen; } + int getNowOxygen() { return mNowOxygen; } void setItemNowLife(u16 life) { mItemNowLife = life; } void setItemNowMagic(s16 magic) { mItemNowMagicCount = magic; } void setItemNowOil(s32 oil) { mItemNowOil = oil; } void setItemOilCount(s32 oil) { mItemOilCount += oil; } s16 getItemMaxLifeCount() { return mItemMaxLifeCount; } f32 getItemLifeCount() { return mItemLifeCount; } + s16 getItemMaxArrowNumCount() { return mItemMaxArrowNumCount; } void clearItemMaxLifeCount() { mItemMaxLifeCount = 0; } void clearItemLifeCount() { mItemLifeCount = 0.0f; @@ -364,7 +368,10 @@ public: 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 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]; } @@ -377,6 +384,8 @@ public: return mCameraInfo[i].mCameraAttentionStatus & flag; } void setCameraAttentionStatus(int i, u32 flag) { mCameraInfo[i].mCameraAttentionStatus = flag; } + void onCameraAttentionStatus(int i, u32 flag) { mCameraInfo[i].mCameraAttentionStatus |= flag; } + void offCameraAttentionStatus(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; @@ -391,12 +400,15 @@ public: bool& isPauseFlag() { return mPauseFlag; } void offPauseFlag() { mPauseFlag = false; } void onPauseFlag() { mPauseFlag = true; } + u8 getOxygenShowFlag() { return mOxygenShowFlag; } void show2dOn() { mShow2D = 1; } s8 getLayerOld() { return mLayerOld; } void setMesgCancelButton(u8 button) { mMesgCancelButton = button; } + void setMesgBgm(u8 param_0) { mMesgBgm = param_0; } int getMessageCountNumber() { return mMessageCountNum; } void setWindowNum(u8 num) { mWindowNum = num; } + int getWindowNum() { return mWindowNum; } dDlst_window_c* getWindow(int i) { return &mWindow[i]; } void setWindow(int i, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, f32 param_6, int camID, int mode) { @@ -797,6 +809,10 @@ void dComIfGs_onStageSwitch(int i_stageNo, int i_no); void dComIfGs_offStageSwitch(int i_stageNo, int i_no); void dComIfGs_PolyDamageOff_Set(s8 param_0); u8 dComIfGs_staffroll_next_go_check(); +BOOL dComIfGs_isEventBit(u16 id); +int dComIfGs_isItemFirstBit(u8 i_no); +u16 dComIfGs_getRupee(); +static u16 dComIfGs_getLife(); inline void dComIfGs_init() { g_dComIfG_gameInfo.info.init(); @@ -1059,6 +1075,10 @@ inline u8 dComIfGs_getOptVibration() { return g_dComIfG_gameInfo.info.getPlayer().getConfig().getVibration(); } +inline u8 dComIfGs_getOptAttentionType() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getAttentionType(); +} + inline BOOL dComIfGs_isTbox(int i_no) { return g_dComIfG_gameInfo.info.getMemory().getBit().isTbox(i_no); } @@ -1397,7 +1417,7 @@ inline void dComIfGs_setTmpReg(u16 reg, u8 flag) { g_dComIfG_gameInfo.info.getTmp().setEventReg(reg, flag); } -inline u8 dComIfGs_getTmpReg(u16 reg) { +inline int dComIfGs_getTmpReg(u16 reg) { return g_dComIfG_gameInfo.info.getTmp().getEventReg(reg); } @@ -1477,7 +1497,6 @@ inline void dComIfGs_setMemoryToCard(u8* p_saveData, int dataNum) { g_dComIfG_gameInfo.info.memory_to_card((char*)p_saveData, dataNum); } - void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); @@ -1504,6 +1523,23 @@ JKRExpHeap* dComIfGp_getSubHeap2D(int flag); void dComIfGp_world_dark_set(u8); u8 dComIfGp_getNowLevel(); void dComIfGp_calcNowRegion(); +daHorse_c* dComIfGp_getHorseActor(); +static BOOL dComIfGp_event_runCheck(); +static s32 dComIfGp_evmng_getMyStaffId(const char* pName, fopAc_ac_c* pActor, int param_2); +static u16 dComIfGp_event_chkEventFlag(u16 flag); +static s8 dComIfGp_getPlayerCameraID(int idx); +static dEvent_manager_c& dComIfGp_getEventManager(); +static u32 dComIfGp_checkPlayerStatus0(int param_0, u32 param_1); +static u32 dComIfGp_checkPlayerStatus1(int param_0, u32 param_1); +static dEvt_control_c& dComIfGp_getEvent(); +static bool dComIfGp_evmng_startCheck(char const* param_0); +static dStage_stageDt_c* dComIfGp_getStage(); +void dComIfGp_setItemLifeCount(f32 amount, u8 type); +void dComIfGp_setItemRupeeCount(s32 param_0); +static u8 dComIfGp_getDoStatus(); +static u8 dComIfGp_getRStatus(); +static dAttCatch_c* dComIfGp_att_getCatghTarget(); +static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1); inline void i_dComIfGp_setItemLifeCount(float amount, u8 type) { g_dComIfG_gameInfo.play.setItemLifeCount(amount, type); @@ -2024,7 +2060,16 @@ 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) { +inline void dComIfGp_onCameraAttentionStatus(int i, u32 flag) { + g_dComIfG_gameInfo.play.onCameraAttentionStatus(i, flag); +} + +inline void dComIfGp_offCameraAttentionStatus(int i, u32 flag) { + g_dComIfG_gameInfo.play.offCameraAttentionStatus(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); } @@ -2064,6 +2109,14 @@ inline int dComIfGp_getOxygen() { return g_dComIfG_gameInfo.play.getOxygen(); } +inline int dComIfGp_getNowOxygen() { + return g_dComIfG_gameInfo.play.getNowOxygen(); +} + +inline u8 dComIfGp_getOxygenShowFlag() { + return g_dComIfG_gameInfo.play.getOxygenShowFlag(); +} + inline u8 dComIfGp_getNeedLightDropNum() { return g_dComIfG_gameInfo.play.getNeedLightDropNum(); } @@ -2112,6 +2165,10 @@ inline void dComIfGp_setMesgCancelButton(u8 button) { g_dComIfG_gameInfo.play.setMesgCancelButton(button); } +inline void dComIfGp_setMesgBgmOn() { + g_dComIfG_gameInfo.play.setMesgBgm(1); +} + inline s32 dComIfGp_checkStatus(u16 flags) { return g_dComIfG_gameInfo.play.checkStatus(flags); } @@ -2136,6 +2193,10 @@ inline f32 dComIfGp_getItemLifeCount() { return g_dComIfG_gameInfo.play.getItemLifeCount(); } +inline s16 dComIfGp_getItemMaxArrowNumCount() { + return g_dComIfG_gameInfo.play.getItemMaxArrowNumCount(); +} + inline void dComIfGp_clearItemMaxLifeCount() { g_dComIfG_gameInfo.play.clearItemMaxLifeCount(); } @@ -2152,6 +2213,14 @@ inline int dComIfGp_getMessageCountNumber() { return g_dComIfG_gameInfo.play.getMessageCountNumber(); } +inline u8 dComIfGp_getMesgFaceAnimeAttrInfo() { + return g_dComIfG_gameInfo.play.getFaceAnimeID(); +} + +inline u8 dComIfGp_getMesgAnimeAttrInfo() { + return g_dComIfG_gameInfo.play.getBaseAnimeID(); +} + inline void dComIfGp_setCameraParamFileName(int i, char* name) { g_dComIfG_gameInfo.play.setCameraParamFileName(i, name); } @@ -2168,6 +2237,10 @@ inline void dComIfGp_setWindowNum(int num) { g_dComIfG_gameInfo.play.setWindowNum(num); } +inline int dComIfGp_getWindowNum() { + return g_dComIfG_gameInfo.play.getWindowNum(); +} + inline dDlst_window_c* dComIfGp_getWindow(int i) { return g_dComIfG_gameInfo.play.getWindow(i); } @@ -2288,7 +2361,8 @@ inline int dComIfGp_event_moveApproval(void* 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); + 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) { @@ -2436,10 +2510,10 @@ 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) { +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); @@ -2454,20 +2528,29 @@ inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tev param_9, param_10, param_11, 1.0f); } +inline u32 dComIfGp_particle_set(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_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_0, const cXyz* param_1, const csXyz* param_2, const cXyz* param_3) { return dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL, 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) { +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) { +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); } @@ -2496,7 +2579,6 @@ int dComIfGd_setShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3 f32 param_5, f32 param_6, f32 param_7, cBgS_PolyInfo& param_8, dKy_tevstr_c* param_9, s16 param_10, f32 param_11, _GXTexObj* param_12); - inline int dComIfGd_setRealShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4, f32 param_5, dKy_tevstr_c* param_6) { return g_dComIfG_gameInfo.drawlist.setRealShadow(param_0, param_1, param_2, param_3, param_4, @@ -2522,6 +2604,10 @@ inline void dComIfGd_set2DOpa(dDlst_base_c* dlst) { g_dComIfG_gameInfo.drawlist.set2DOpa(dlst); } +inline void dComIfGd_set2DXlu(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.set2DXlu(dlst); +} + inline void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) { g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst); } @@ -2530,6 +2616,13 @@ inline view_class* dComIfGd_getView() { return g_dComIfG_gameInfo.drawlist.getView(); } +inline MtxP dComIfGd_getViewRotMtx() { + return ((camera_process_class*)g_dComIfG_gameInfo.drawlist.getView())->mViewMtxNoTrans; +} +inline MtxP dComIfGd_getViewMtx() { + return ((camera_process_class*)g_dComIfG_gameInfo.drawlist.getView())->mViewMtx; +} + inline J3DDrawBuffer* dComIfGd_getListFilter() { return g_dComIfG_gameInfo.drawlist.getOpaListFilter(); } @@ -2562,6 +2655,11 @@ inline void dComIfGd_setListItem3D() { g_dComIfG_gameInfo.drawlist.setXluListItem3D(); } +inline void dComIfGd_setList3Dlast() { + g_dComIfG_gameInfo.drawlist.setOpaList3Dlast(); + g_dComIfG_gameInfo.drawlist.setXluList3Dlast(); +} + 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 2268d3081a..ba51a8f505 100644 --- a/include/d/com/d_com_static.h +++ b/include/d/com/d_com_static.h @@ -11,30 +11,46 @@ public: class data_c { public: /* 80030F14 */ void set(s8, cXyz const&, cXyz const&, u8, u8, u8); - /* 80030FBC */ void reset(); - /* 80030FCC */ void isSwitch(); - /* 800310C8 */ void check(fopAc_ac_c*); - /* 80031038 */ void check(cXyz const&); + /* 80030FBC */ data_c* reset(); + /* 80030FCC */ u8 isSwitch(); + /* 800310C8 */ u8 check(fopAc_ac_c*); + /* 80031038 */ bool check(cXyz const&); /* 80031150 */ void execute(); /* 80031F28 */ ~data_c(); /* 80031F64 */ data_c(); - }; + + void setNext(data_c* i_next) { mpNext = i_next; } + data_c* getNext() { return mpNext; } + u8 getType() { return mType; } + + /* 0x00 */ s8 mRoomNo; + /* 0x01 */ bool field_0x1; + /* 0x02 */ u8 field_0x2; + /* 0x03 */ u8 field_0x3; + /* 0x04 */ u8 mType; + /* 0x08 */ cXyz field_0x8; + /* 0x14 */ cXyz field_0x14; + /* 0x20 */ data_c* mpNext; + }; // Size: 0x24 class room_c { public: /* 80031190 */ void add(daSus_c::data_c*); /* 800311FC */ void reset(); /* 80031EE4 */ room_c(); - }; + + /* 0x0 */ data_c* mpData; + }; // Size: 0x4 /* 80031248 */ void newData(s8, cXyz const&, cXyz const&, u8, u8, u8); /* 800313BC */ void reset(); /* 800314D4 */ static void check(fopAc_ac_c*); - /* 80031434 */ static bool check(s8, cXyz const&); + /* 80031434 */ static bool check(s8 i_roomNo, cXyz const& i_pos); /* 800315A4 */ static void execute(); static u8 mData[1152]; static u8 mRoom[256]; + static s16 mSetTop; }; #endif /* D_COM_D_COM_STATIC_H */ diff --git a/include/d/d_attention.h b/include/d/d_attention.h index d0c674f904..7551d7327c 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -10,32 +10,32 @@ class dAttHint_c { public: dAttHint_c() {} - /* 800738B4 */ void getPId(void*); - /* 800738CC */ void convPId(unsigned int); - /* 800738FC */ void request(fopAc_ac_c*, int); + /* 800738B4 */ u32 getPId(void*); + /* 800738CC */ fopAc_ac_c* convPId(unsigned int); + /* 800738FC */ int request(fopAc_ac_c*, int); /* 80073958 */ void init(); /* 80073970 */ void proc(); private: /* 0x0 */ u32 mHintActorID; - /* 0x4 */ u32 mPriority; + /* 0x4 */ int mPriority; /* 0x8 */ u32 field_0x8; }; class dAttCatch_c { public: dAttCatch_c() {} - s32 convPId(unsigned int); + fopAc_ac_c* convPId(unsigned int); void init(); void proc(); void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int); - s32 getCatghTarget() { return convPId(mCatghTargetID); } + fopAc_ac_c* getCatghTarget() { return convPId(mCatghTargetID); } u8 getChangeItem() { return mChangeItem; } private: - /* 0x00 */ void* field_0x0; - /* 0x04 */ f32 field_0x4; + /* 0x00 */ u32 field_0x0; + /* 0x04 */ int field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ u8 field_0xc; /* 0x0D */ u8 field_0xd; @@ -47,11 +47,7 @@ private: class dAttParam_c { public: - dAttParam_c() {} - /* 80070038 */ dAttParam_c(s32); - -private: - /* 0x00 */ u16 field_0x0; + /* 0x00 */ u16 mFlags; /* 0x04 */ f32 field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 field_0xc; @@ -66,21 +62,23 @@ private: /* 0x30 */ f32 mAttnCursorOffsetY; /* 0x34 */ u8 mAttnCursorAppearFrames; /* 0x35 */ u8 mAttnCursorDisappearFrames; + /* 0x38 */ f32 field_0x38; + /* 0x3C */ f32 field_0x3c; public: - /* 80070110 */ virtual ~dAttParam_c(); - /* 0x38 vtable */ + dAttParam_c() {} + /* 80070038 */ dAttParam_c(s32); -private: - /* 0x3C */ f32 mSelCursorAnmSpeed; - /* 0x40 */ f32 mAttnCursorAnmSpeed; - /* 0x44 */ u32 mDispPosX; - /* 0x48 */ u32 mDispPosY; -}; // Size = 0x4C + /* 80070110 */ virtual ~dAttParam_c(); + + bool CheckFlag(u16 flag) { return mFlags & flag; } + + /* 0x40 vtable */ +}; // Size: 0x44 class dAttLook_c { public: - /* 80073CA4 */ void convPId(unsigned int); + /* 80073CA4 */ fopAc_ac_c* convPId(unsigned int); /* 80073CD4 */ void init(); /* 80073CEC */ void proc(); /* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int); @@ -96,10 +94,11 @@ class dAttList_c { public: /* 800304D0 */ ~dAttList_c() {} /* 8003050C */ dAttList_c() {} - /* 80073864 */ void getActor(); + /* 80073864 */ fopAc_ac_c* getActor(); /* 80073898 */ void setActor(fopAc_ac_c*); -private: + u32 getPid() { return mActorID; } + /* 0x00 */ f32 mWeight; /* 0x04 */ f32 mDistance; /* 0x08 */ cSAngle mAngle; @@ -117,15 +116,15 @@ public: /* 800732B0 */ void draw(cXyz&, f32 (*)[4]); /* 0x000 */ J3DModel* mModel[2]; - /* 0x008 */ mDoExt_bckAnm bckAnm[2]; - /* 0x040 */ mDoExt_bpkAnm bpkAnm[2]; - /* 0x070 */ mDoExt_brkAnm brkAnm[2]; - /* 0x0A0 */ mDoExt_brkAnm brkAnm2[2]; - /* 0x0D0 */ mDoExt_btkAnm btkAnm[2]; - /* 0x100 */ mDoExt_bckAnm bckAnm2; - /* 0x11C */ mDoExt_bpkAnm bpkAnm2; - /* 0x134 */ mDoExt_brkAnm brkAnm3; - /* 0x14C */ mDoExt_btkAnm btkAnm2; + /* 0x008 */ mDoExt_bckAnm mNoticeCursorBck[2]; + /* 0x040 */ mDoExt_bpkAnm mNoticeCursorBpk[2]; + /* 0x070 */ mDoExt_brkAnm mNoticeCursorBrk[2]; + /* 0x0A0 */ mDoExt_brkAnm mNoticeCursor02Brk[2]; + /* 0x0D0 */ mDoExt_btkAnm mNoticeCursorBtk[2]; + /* 0x100 */ mDoExt_bckAnm mImpactBck; + /* 0x11C */ mDoExt_bpkAnm mImpactBpk; + /* 0x134 */ mDoExt_brkAnm mImpactBrk; + /* 0x14C */ mDoExt_btkAnm mImpactBtk; /* 0x164 */ cXyz field_0x164; /* 0x170 */ u8 field_0x170; /* 0x171 */ u8 field_0x171; @@ -152,45 +151,56 @@ struct dist_entry { u32 field_0x18; }; // Size: 0x1C +struct type_tbl_entry { + s16 field_0x0; + u16 field_0x2; +}; + class dAttention_c { public: + enum EState { + ST_NONE, + ST_LOCK, + ST_RELEASE, + }; + dAttention_c() {} /* 80070198 */ dAttention_c(fopAc_ac_c*, u32); /* 80070774 */ ~dAttention_c(); - /* 80070844 */ void GetLockonList(s32); - /* 80070880 */ void getActionBtnB(); - /* 80070974 */ void getActionBtnXY(); - /* 80070A70 */ void chkAttMask(u32, u32); - /* 80070E90 */ void calcWeight(int, fopAc_ac_c*, f32, s16, s16, u32*); + /* 80070844 */ dAttList_c* GetLockonList(s32); + /* 80070880 */ dAttList_c* getActionBtnB(); + /* 80070974 */ dAttList_c* getActionBtnXY(); + /* 80070A70 */ int chkAttMask(u32, u32); + /* 80070E90 */ f32 calcWeight(int, fopAc_ac_c*, f32, s16, s16, u32*); /* 800710C0 */ void setList(int, fopAc_ac_c*, f32, f32, cSAngle, u32); /* 80071240 */ void initList(u32); - /* 800713CC */ void makeList(); + /* 800713CC */ int makeList(); /* 80071424 */ void setOwnerAttentionPos(); - /* 80071488 */ void SelectAttention(fopAc_ac_c*); + /* 80071488 */ int SelectAttention(fopAc_ac_c*); /* 800716B8 */ void sortList(); /* 800718A4 */ void stockAttention(); - /* 80071960 */ void nextAttention(); - /* 80071A68 */ void freeAttention(); - /* 80071A98 */ void chaseAttention(); - /* 80071CC0 */ void EnemyDistance(fopAc_ac_c*); + /* 80071960 */ fopAc_ac_c* nextAttention(); + /* 80071A68 */ int freeAttention(); + /* 80071A98 */ bool chaseAttention(); + /* 80071CC0 */ f32 EnemyDistance(fopAc_ac_c*); /* 80071DEC */ void runSoundProc(); /* 80071E84 */ void runDrawProc(); /* 800720F4 */ void runDebugDisp(); /* 800720F8 */ void checkButton(); - /* 800722A0 */ void triggerProc(); - /* 800722EC */ void lostCheck(); + /* 800722A0 */ bool triggerProc(); + /* 800722EC */ int lostCheck(); /* 80072344 */ void judgementStatus4Hold(); /* 800725F0 */ void judgementStatus4Switch(); - /* 80072924 */ void Run(); + /* 80072924 */ int Run(); /* 80072BD4 */ void Draw(); /* 80072D80 */ void lockSoundStart(u32); - /* 8007353C */ void LockonTarget(s32); - /* 800735DC */ void LockonReleaseDistanse(); - /* 800736CC */ void LockonTargetPId(s32); - /* 80073734 */ void ActionTarget(s32); - /* 8007378C */ void CheckObjectTarget(s32); + /* 8007353C */ fopAc_ac_c* LockonTarget(s32); + /* 800735DC */ f32 LockonReleaseDistanse(); + /* 800736CC */ u32 LockonTargetPId(s32); + /* 80073734 */ fopAc_ac_c* ActionTarget(s32); + /* 8007378C */ fopAc_ac_c* CheckObjectTarget(s32); /* 800737E4 */ bool LockonTruth(); - /* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32); + /* 80073838 */ int checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32); /* 8016E424 */ void LockEdge(); /* 80182994 */ void GetCheckObjectCount(); /* 80182AD0 */ void keepLock(int); @@ -199,6 +209,10 @@ public: dAttCatch_c& getCatghTarget() { return mCatghTarget; } u8 getCatchChgItem() { return mCatghTarget.getChangeItem(); } BOOL chkFlag(u32 flag) { return mFlags & flag; } + void setFlag(u32 flag) { mFlags |= flag; } + void clrFlag(u32 flag) { mFlags &= ~flag; } + int GetActionCount() { return mActionCount; } + int GetLockonCount() { return mLockonCount; } s8 Lockon() { /* s32 chk = true; if (!LockonTruth() && !chkFlag(0x20000000)) { @@ -209,28 +223,28 @@ public: return !LockonTruth() && !chkFlag(0x20000000); } - static u8 loc_type_tbl[12]; - static u8 act_type_tbl[20]; + static type_tbl_entry loc_type_tbl[3]; + static type_tbl_entry act_type_tbl[5]; static dist_entry dist_table[234]; - static u32 loc_type_num; - static u32 act_type_num; - static u32 chk_type_tbl; - static u32 chk_type_num; + static int loc_type_num; + static int act_type_num; + static type_tbl_entry chk_type_tbl[1]; + static int chk_type_num; public: /* 0x000 */ fopAc_ac_c* mpPlayer; /* 0x004 */ u32 mLockTargetID; /* 0x008 */ dAttDraw_CallBack_c mpDrawCallback; - /* 0x00C */ u32 field_0xc; + /* 0x00C */ u32 mPadNo; /* 0x010 */ u32 field_0x10; /* 0x014 */ u8 field_0x14[4]; /* 0x018 */ JKRSolidHeap* heap; - /* 0x01C */ cXyz field_0x1c; + /* 0x01C */ cXyz mDrawAttnPos; /* 0x028 */ dAttDraw_c draw[2]; - /* 0x318 */ int field_0x318; - /* 0x31C */ cXyz field_0x31c; - /* 0x328 */ u8 field_0x328; - /* 0x329 */ u8 field_0x329; + /* 0x318 */ u32 mTargetActorID; + /* 0x31C */ cXyz mOwnerAttnPos; + /* 0x328 */ s8 field_0x328; + /* 0x329 */ u8 mAttnStatus; /* 0x32A */ u8 field_0x32a; /* 0x32B */ u8 field_0x32b; /* 0x32C */ u8 field_0x32c; @@ -248,22 +262,17 @@ public: /* 0x3E0 */ dAttList_c mActionList[4]; /* 0x430 */ int mActionCount; /* 0x434 */ int mActionOffset; - /* 0x438 */ dAttList_c field_0x438[4]; + /* 0x438 */ dAttList_c mCheckObjectList[4]; /* 0x488 */ int mCheckObjectCount; - /* 0x48C */ int field_0x48c; + /* 0x48C */ int mCheckObjectOffset; /* 0x490 */ dAttHint_c mZHintTarget; /* 0x49C */ dAttCatch_c mCatghTarget; /* 0x4B4 */ dAttLook_c mLookTarget; - /* 0x4C4 */ int field_0x4c4; - /* 0x4C8 */ u8 field_0x4c8; - /* 0x4C9 */ u8 field_0x4c9; - /* 0x4CA */ u8 field_0x4ca; - /* 0x4CB */ u8 field_0x4cb; - /* 0x4CC */ u8 field_0x4cc; - /* 0x4CD */ u8 field_0x4cd; - /* 0x4CE */ u8 field_0x4ce; - /* 0x4CF */ u8 field_0x4cf; - /* 0x4D0 */ dAttParam_c mAttParam; + /* 0x4C4 */ int mAttnBlockTimer; + /* 0x4C8 */ dAttParam_c mAttParam; + /* 0x50C */ u8 field_0x50c[0x514 - 0x50c]; + /* 0x514 */ u32 mEnemyActorID; + /* 0x518 */ f32 mEnemyDist; }; // Size: 0x51C STATIC_ASSERT(sizeof(dAttention_c) == 0x51C); diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 584e24cc85..15d09fb5cd 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -52,15 +52,15 @@ public: class dDemo_actor_c : public JStage::TActor { public: /* 80038020 */ dDemo_actor_c(); - /* 80038128 */ void getActor(); + /* 80038128 */ fopAc_ac_c* getActor(); /* 8003815C */ void setActor(fopAc_ac_c*); - /* 8003819C */ void getPrm_Morf(); + /* 8003819C */ f32 getPrm_Morf(); /* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*); /* 80038098 */ virtual ~dDemo_actor_c(); /* 800387EC */ virtual void JSGSetData(u32, void const*, u32); - /* 8003A05C */ virtual void JSGFindNodeID(char const*) const; - /* 8003A088 */ virtual void JSGGetNodeTransformation(u32, f32 (*)[4]) const; + /* 8003A05C */ virtual s32 JSGFindNodeID(char const*) const; + /* 8003A088 */ virtual int JSGGetNodeTransformation(u32, f32 (*)[4]) const; /* 8003A0D8 */ virtual void JSGGetTranslation(Vec*) const; /* 80038920 */ virtual void JSGSetTranslation(Vec const&); /* 8003A0F4 */ virtual void JSGGetScaling(Vec*) const; @@ -77,6 +77,16 @@ public: /* 8003A0D0 */ virtual f32 JSGGetTextureAnimationFrameMax() const; void setModel(J3DModel* p_model) { mModel = p_model; } + u8 checkEnable(u16 flag) { return mFlags & flag; } + void onEnable(u16 flag) { mFlags |= flag; } + cXyz& getTrans() { return mTrans; } + cXyz& getScale() { return mScale; } + csXyz& getRatate() { return mRotate; } + u32 getAnmId() { return mAnmId; } + u32 getOldAnmId() { return mOldAnmId; } + void setOldAnmId(u32 id) { mOldAnmId = id; } + void setAnmFrameMax(f32 max) { mAnmFrameMax = max; } + f32 getAnmFrame() { return mAnmFrame; } private: /* 0x04 */ u16 mFlags; @@ -136,6 +146,8 @@ public: /* 80038EA8 */ virtual void JSGSetAngleAttenuation(f32, GXSpotFn); /* 80038EC0 */ virtual void JSGSetDirection(Vec const&); + void onEnable(u8 flag) { mFlags |= flag; } + private: /* 0x04 */ u8 mFlags; /* 0x08 */ JStage::TELight mLightType; @@ -161,6 +173,8 @@ public: /* 80038F10 */ virtual void JSGSetEndZ(f32); /* 80038F24 */ virtual void JSGSetColor(GXColor); + void onEnable(u8 flag) { mFlags |= flag; } + private: /* 0x04 */ u8 mFlags; /* 0x05 */ u8 mFogType; @@ -193,6 +207,8 @@ public: /* 80038D84 */ virtual f32 JSGGetViewRoll() const; /* 80038DDC */ virtual void JSGSetViewRoll(f32); + void onEnable(u8 flag) { mFlags |= flag; } + private: /* 0x04 */ u8 mFlags; /* 0x08 */ f32 mProjNear; @@ -214,6 +230,8 @@ public: /* 800394C8 */ virtual ~dDemo_ambient_c(); /* 80038DF0 */ virtual void JSGSetColor(GXColor); + void onEnable(u8 flag) { mFlags |= flag; } + private: /* 0x04 */ u8 mFlags; /* 0x05 */ GXColor mColor; @@ -255,6 +273,8 @@ public: static s32 getMode() { return m_mode; } static JStudio::stb::TControl* getControl() { return m_control; } static bool isStatus(u32 status) { return m_status & status; } + static void onStatus(u32 status) { m_status |= status; } + static void offStatus(u32 status) { m_status &= ~status; } static void setBranchData(const u8* p_data) { m_branchData = p_data; } static s16 m_branchId; diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 4a4abb8f91..423383e051 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -226,6 +226,7 @@ public: /* 80051ADC */ void setScissor(f32, f32, f32, f32); void setCameraID(int id) { mCameraID = id; } + s8 getCameraID() { return mCameraID; } void setMode(int mode) { mMode = mode; } f32 getViewPort() { return mXOrig; } @@ -284,6 +285,7 @@ public: void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); } void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); } + void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluSet[0], mp2DXluSet[1], dlst); } view_class* getView() { return mView; } void setView(view_class* view) { mView = view; } void setWindow(dDlst_window_c* window) { mWindow = window; } @@ -303,6 +305,8 @@ public: void setXluListItem3D() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_ITEM3D]); } void setXluListBG() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_BG]); } void setOpaListBG() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_BG]); } + void setOpaList3Dlast() { setOpaDrawList(mDrawBuffers[DB_LIST_3D_LAST]); } + void setXluList3Dlast() { setXluDrawList(mDrawBuffers[DB_LIST_3D_LAST]); } void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); } void peekZdata() { mPeekZ.peekData(); } diff --git a/include/d/d_lib.h b/include/d/d_lib.h index 121bff182e..0f87597d27 100644 --- a/include/d/d_lib.h +++ b/include/d/d_lib.h @@ -2,6 +2,7 @@ #define D_D_LIB_H #include "dolphin/types.h" +#include "dolphin/os/OS.h" struct JKRAramArchive; u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName); @@ -71,12 +72,13 @@ struct CSTControl : public STControl { }; struct dLib_time_c { - /* 80032804 */ void getTime(); + /* 80032804 */ static OSTime getTime(); /* 80032880 */ static void stopTime(); /* 800328BC */ static void startTime(); - static u8 m_diffTime[4]; - static u8 m_stopTime[4]; + static OSTime m_diffTime; + static OSTime m_stopTime; + static bool m_timeStopped; }; #endif /* D_D_LIB_H */ diff --git a/include/d/d_path.h b/include/d/d_path.h index 6e4187ba36..c30446e949 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -2,18 +2,22 @@ #define D_D_PATH_H #include "dolphin/types.h" +#include "d/d_stage.h" -class dStage_dPnt_c; - -struct dPath { +class dPath { +public: /* 0x0 */ u16 m_num; /* 0x2 */ u16 m_nextID; /* 0x4 */ u8 field_0x4; /* 0x5 */ u8 m_closed; /* 0x6 */ u8 field_0x6; /* 0x8 */ dStage_dPnt_c* m_points; + }; +// should be move to dlib TU per chn debug +inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); } + dPath* dPath_GetRoomPath(int path_index, int room_no); #endif /* D_D_PATH_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index edc02abc6a..9055acf9af 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -255,7 +255,7 @@ public: // PPNT struct dStage_dPnt_c { /* 0x0 */ int field_0x0; - /* 0xC */ cXyz m_position; + /* 0x4 */ cXyz m_position; }; // Size: 0x10 struct dStage_FloorInfo_c { @@ -900,13 +900,14 @@ static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*); static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*); s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int); -int dStage_changeScene(int, f32, u32, s8, s16, int); +int dStage_changeScene(int i_exitId, f32 i_speed, u32 i_mode, s8 i_roomNo, s16 i_angle, int i_layerOverride); 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); + u32 mode, s16 angle, int param_7); void dStage_Create(); +static s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0); inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) { return data.field_0x2 & 8; diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h index 04a9a610cb..3b2eb2e9bb 100644 --- a/include/d/event/d_event.h +++ b/include/d/event/d_event.h @@ -103,7 +103,9 @@ public: void setPtI_Id(unsigned int id); void setPtD(void* ptr); void setGtItm(u8 itemNo); - void isOrderOK(); + BOOL isOrderOK(); + /* 807DFAD8 */ void checkSkipEdge(); + /* 807E2908 */ void startCheckSkipEdge(void*); u16 chkFlag2(u16 flag) { return flag & mFlag2; } bool runCheck() { return mEventStatus != 0; } diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index bf07ea3be1..3088f04487 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -49,6 +49,10 @@ class dMeter2_c; class J2DPicture; class dMeterMap_c; +enum dMeter2Info_warpStatus { + /* 0x3 */ WARP_DECIDED = 3, +}; + class dMeter2Info_c { public: class WarpInfo_c { @@ -246,6 +250,8 @@ void dMeter2Info_setCloth(u8 i_clothId, bool param_1); void dMeter2Info_setShield(u8 i_itemId, bool param_1); void dMeter2Info_set2DVibration(); void dMeter2Info_set2DVibrationM(); +static void dMeter2Info_setFloatingMessage(u16 pMessageID, s16 pMessageTimer, bool pWakuVisible); +static void dMeter2Info_offUseButton(int pButton); inline void dMeter2Info_Initialize() { g_meter2_info.init(); @@ -495,6 +501,10 @@ inline void dMeter2Info_onDirectUseItem(int param_0) { g_meter2_info.onDirectUseItem(param_0); } +inline void dMeter2Info_setFloatingFlow(u16 param_0, s16 param_1, bool param_2) { + g_meter2_info.setFloatingFlow(param_0, param_1, param_2); +} + char* dMeter2Info_getNumberTextureName(int pIndex); void dMeter2Info_recieveLetter(); u8 dMeter2Info_getNewLetterNum(); diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h index dbf173e88b..fedaa1cef2 100644 --- a/include/d/msg/d_msg_object.h +++ b/include/d/msg/d_msg_object.h @@ -133,7 +133,7 @@ public: /* 80238320 */ static void onMsgSend(); /* 8023834C */ void offMsgSend(); /* 80238378 */ void isMsgSend(); - /* 802383A4 */ void isMouthCheck(); + /* 802383A4 */ bool isMouthCheck(); /* 802383D0 */ static u32 getMessageID(); /* 802383E4 */ void getSmellTypeMessageID(); /* 80238410 */ static void setSmellType(u8); @@ -273,6 +273,10 @@ inline void dMsgObject_readMessageGroup(mDoDvdThd_mountXArchive_c** param_0) { dMsgObject_getMsgObjectClass()->readMessageGroup(param_0); } +inline void dMsgObject_setDemoMessage(u32 param_0) { + dMsgObject_getMsgObjectClass()->setDemoMessage(param_0); +} + inline void dMsgObject_setShopWaitTimer(u8 timer) { dMsgObject_c::setShopWaitTimer(timer); } diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index d4a8cc965d..270c1347d0 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -2,9 +2,9 @@ #define D_PARTICLE_D_PARTICLE_H #include "JSystem/JParticle/JPAParticle.h" +#include "d/particle/d_particle_name.h" #include "dolphin/types.h" #include "f_op/f_op_actor.h" -#include "d/particle/d_particle_name.h" class dPa_levelEcallBack : public JPAEmitterCallBack { public: @@ -138,8 +138,8 @@ public: /* 8004AB1C */ void create(u8); /* 8004ABC4 */ void remove(); - /* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, - u8); + /* 8004AC00 */ static void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, + void*, u8, u8); /* 8004AC90 */ void resetModel(JPABaseEmitter*); /* 8004ACC0 */ void setupModel(JPABaseEmitter*); /* 8004ACEC */ void drawModel(JPABaseEmitter*, f32 (*)[4]); @@ -152,7 +152,15 @@ public: /* 80050014 */ virtual void drawAfter(JPABaseEmitter*); /* 8004AAA8 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - static u8 mEcallback[4]; + static void setModel(JPABaseEmitter* param_0, J3DModelData* param_1, + const dKy_tevstr_c& param_2, u8 param_3, J3DAnmTexPattern* param_4, + u8 param_5) { + setModel(param_0, param_1, param_2, param_3, param_4, param_5); + } + + static dPa_modelEcallBack* getEcallback() { return mEcallback; } + + static dPa_modelEcallBack* mEcallback; static u8 mPcallback[4]; static J3DModel* mModel; }; @@ -207,7 +215,6 @@ public: /* 8004FE6C */ virtual ~dPa_fsenthPcallBack(); /* 8004DCA0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 8004DD0C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); - }; class dPa_simpleData_c { @@ -244,7 +251,7 @@ public: void offActive() { mStatus &= ~1; } bool isActive() { return mStatus & 1; } - + private: /* 0x00 */ u32 mId; /* 0x04 */ u16 mNameId; @@ -341,6 +348,10 @@ public: static void offStatus(u8 status) { mStatus &= ~status; } static bool isStatus(u8 status) { return mStatus & status; } + static dPa_selectTexEcallBack* getTsuboSelectTexEcallBack(int idx) { + return ((dPa_selectTexEcallBack*)mTsubo) + idx; + } + static u8 mTsubo[64]; static u8 mLifeBall[24]; static Mtx mWindViewMatrix; diff --git a/include/dolphin/ar/ar.h b/include/dolphin/ar/ar.h index 1a76e3b209..4e7621c45d 100644 --- a/include/dolphin/ar/ar.h +++ b/include/dolphin/ar/ar.h @@ -3,10 +3,16 @@ #include "dolphin/types.h" +#ifdef __cplusplus extern "C" { +#endif + u32 ARInit(u32*, u32); u32 ARAlloc(u32); u32 ARGetSize(void); -} + +#ifdef __cplusplus +}; +#endif #endif /* AR_H */ diff --git a/include/dolphin/ar/arq.h b/include/dolphin/ar/arq.h index 49f8f4e08b..b34cf555a1 100644 --- a/include/dolphin/ar/arq.h +++ b/include/dolphin/ar/arq.h @@ -3,10 +3,14 @@ #include "dolphin/types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef void (*ARQCallback)(u32 request_address); -struct ARQRequest { - ARQRequest* next; +typedef struct ARQRequest { + struct ARQRequest* next; u32 owner; u32 type; u32 priority; @@ -14,12 +18,14 @@ struct ARQRequest { u32 destination; u32 length; ARQCallback callback; -}; +} ARQRequest; -extern "C" { void ARQInit(void); void ARQPostRequest(ARQRequest* task, u32 owner, u32 type, u32 priority, u32 source, u32 destination, u32 length, ARQCallback callback); -} + +#ifdef __cplusplus +}; +#endif #endif /* ARQ_H */ diff --git a/include/dolphin/base/PPCArch.h b/include/dolphin/base/PPCArch.h index 4af0a94b33..d721eb225c 100644 --- a/include/dolphin/base/PPCArch.h +++ b/include/dolphin/base/PPCArch.h @@ -3,4 +3,12 @@ #include "dolphin/types.h" +union FpscrUnion { + f64 f; + struct { + u32 fpscr_pad; + u32 fpscr; + } u; +}; + #endif /* PPCARCH_H */ diff --git a/include/dolphin/dvd/dvd.h b/include/dolphin/dvd/dvd.h index 12316f432f..bdf0da3b33 100644 --- a/include/dolphin/dvd/dvd.h +++ b/include/dolphin/dvd/dvd.h @@ -3,7 +3,9 @@ #include "dolphin/types.h" +#ifdef __cplusplus extern "C" { +#endif typedef enum DVDState { DVD_STATE_END = 0x0, @@ -19,38 +21,37 @@ typedef enum DVDState { DVD_STATE_RETRY = 0xb, DVD_STATE_FATAL_ERROR = -1, } DVDState; -} -struct DVDDirectory { +typedef struct DVDDirectory { u32 entry_number; u32 location; u32 next; -}; +} DVDDirectory; -struct DVDDirectoryEntry { +typedef struct DVDDirectoryEntry { u32 entry_number; BOOL is_directory; char* name; -}; +} DVDDirectoryEntry; -struct DVDDiskID { - char game_name[4]; - char company[2]; - u8 disk_number; - u8 game_version; - u8 is_streaming; - u8 streaming_buffer_size; - u8 padding[22]; -}; +typedef struct DVDDiskID { + /* 0x00 */ char game_name[4]; + /* 0x04 */ char company[2]; + /* 0x06 */ u8 disk_number; + /* 0x07 */ u8 game_version; + /* 0x08 */ u8 is_streaming; + /* 0x09 */ u8 streaming_buffer_size; + /* 0x0A */ u8 padding[22]; +} DVDDiskID; struct DVDFileInfo; struct DVDCommandBlock; -typedef void (*DVDCBCallback)(s32 result, DVDCommandBlock* block); -typedef void (*DVDCallback)(s32 result, DVDFileInfo* info); +typedef void (*DVDCBCallback)(s32 result, struct DVDCommandBlock* block); +typedef void (*DVDCallback)(s32 result, struct DVDFileInfo* info); -struct DVDCommandBlock { - DVDCommandBlock* next; - DVDCommandBlock* prev; +typedef struct DVDCommandBlock { + struct DVDCommandBlock* next; + struct DVDCommandBlock* prev; u32 command; s32 state; u32 offset; @@ -61,31 +62,46 @@ struct DVDCommandBlock { DVDDiskID* disk_id; DVDCBCallback callback; void* user_data; -}; +} DVDCommandBlock; -struct DVDFileInfo { +typedef struct DVDFileInfo { DVDCommandBlock block; u32 start_address; u32 length; DVDCallback callback; -}; +} DVDFileInfo; -extern "C" { -s32 DVDOpen(const char*, DVDFileInfo*); -s32 DVDClose(DVDFileInfo*); -s32 DVDReadPrio(DVDFileInfo*, void*, s32, s32, s32); +typedef struct DVDDriveInfo { + /* 0x00 */ u16 field_0x0; + /* 0x02 */ u16 device_code; + /* 0x04 */ u32 field_0x4; + /* 0x08 */ u32 field_0x8; + /* 0x0C */ u32 field_0xc; + /* 0x10 */ u32 field_0x10; + /* 0x14 */ u32 field_0x14; + /* 0x18 */ u32 field_0x18; + /* 0x1C */ u32 field_0x1c; +} DVDDriveInfo; + +void DVDInit(void); +BOOL DVDOpen(const char* filename, DVDFileInfo* fileinfo); +BOOL DVDClose(DVDFileInfo* fileinfo); +BOOL DVDReadPrio(DVDFileInfo* fileinfo, void*, s32, s32, s32); DVDDiskID* DVDGetCurrentDiskID(void); -s32 DVDFastOpen(long, DVDFileInfo*); -int DVDGetCommandBlockStatus(DVDCommandBlock*); -s32 DVDReadAsyncPrio(DVDFileInfo*, void*, long, long, DVDCallback, long); -s32 DVDConvertPathToEntrynum(const char*); +BOOL DVDFastOpen(long, DVDFileInfo* fileinfo); +BOOL DVDGetCommandBlockStatus(DVDCommandBlock*); +BOOL DVDReadAsyncPrio(DVDFileInfo* fileinfo, void*, long, long, DVDCallback, long); +BOOL DVDConvertPathToEntrynum(const char*); DVDState DVDGetDriveStatus(void); -s32 DVDCheckDisk(void); +BOOL DVDCheckDisk(void); -BOOL DVDChangeDir(const char*); -BOOL DVDCloseDir(DVDDirectory*); -BOOL DVDOpenDir(const char*, DVDDirectory*); -BOOL DVDReadDir(DVDDirectory*, DVDDirectoryEntry*); -} +BOOL DVDChangeDir(const char* dirname); +BOOL DVDCloseDir(DVDDirectory* dir); +BOOL DVDOpenDir(const char*, DVDDirectory* dir); +BOOL DVDReadDir(DVDDirectory* dir, DVDDirectoryEntry* entry); + +#ifdef __cplusplus +}; +#endif #endif /* DVD_H */ diff --git a/include/dolphin/gd/GDBase.h b/include/dolphin/gd/GDBase.h index 31f61bf11a..417b8b0586 100644 --- a/include/dolphin/gd/GDBase.h +++ b/include/dolphin/gd/GDBase.h @@ -3,12 +3,16 @@ #include "dolphin/types.h" -struct GDLObj { +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct GDLObj { /* 0x0 */ u8* start; /* 0x4 */ u32 length; /* 0x8 */ u8* ptr; /* 0xC */ u8* end; -}; // Size: 0x10 +} GDLObj; // Size: 0x10 extern GDLObj* __GDCurrentDL; @@ -20,11 +24,14 @@ inline u32 GDGetGDLObjOffset(GDLObj* obj) { return (u32)(obj->ptr - obj->start); } -extern "C" { - void GDInitGDLObj(GDLObj*, u8*, u32); void GDFlushCurrToMem(); void GDPadCurr32(); -} + +typedef void (*GDOverflowCallback)(void); + +#ifdef __cplusplus +}; +#endif #endif /* GDBASE_H */ diff --git a/include/dolphin/gd/GDGeometry.h b/include/dolphin/gd/GDGeometry.h index 2d09d0f246..078eb39d70 100644 --- a/include/dolphin/gd/GDGeometry.h +++ b/include/dolphin/gd/GDGeometry.h @@ -4,11 +4,16 @@ #include "dolphin/gx/GX.h" #include "dolphin/types.h" +#ifdef __cplusplus extern "C" { +#endif void GDSetVtxDescv(GXVtxDescList*); void GDSetArray(GXAttr attr, const void* data, u8 stride); void GDSetArrayRaw(GXAttr attr, u32 data, u8 stride); -} + +#ifdef __cplusplus +}; +#endif #endif /* GDGEOMETRY_H */ diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index 3659f4e461..eb8e47bafc 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -1,235 +1,46 @@ #ifndef GX_H_ #define GX_H_ +#include "dolphin/gx/GXInit.h" +#include "dolphin/gx/GXAttr.h" +#include "dolphin/gx/GXBump.h" #include "dolphin/gx/GXDisplayList.h" -#include "dolphin/gx/GXStruct.h" -#include "dolphin/gx/GXEnum.h" -#include "dolphin/mtx/mtx.h" -#include "dolphin/mtx/mtx44.h" -#include "dolphin/types.h" -#include "global.h" +#include "dolphin/gx/GXFifo.h" +#include "dolphin/gx/GXFrameBuf.h" +#include "dolphin/gx/GXGeometry.h" +#include "dolphin/gx/GXLight.h" +#include "dolphin/gx/GXMisc.h" +#include "dolphin/gx/GXPerf.h" +#include "dolphin/gx/GXPixel.h" +#include "dolphin/gx/GXTev.h" +#include "dolphin/gx/GXTexture.h" +#include "dolphin/gx/GXTransform.h" #ifdef __cplusplus extern "C" { #endif -typedef struct _GXVtxDescList { - /* 0x0 */ GXAttr attr; - /* 0x4 */ GXAttrType type; -} GXVtxDescList; // Size: 0x08 - -typedef struct _GXVtxAttrFmtList { - /* 0x00 */ GXAttr mAttrib; - /* 0x04 */ GXCompCnt mCompCnt; - /* 0x08 */ GXCompType mCompType; - /* 0x0C */ u8 mCompShift; -} GXVtxAttrFmtList; // Size: 0x10 - -typedef GXTexRegion (*GXTexRegionCallback)(void); -typedef u32 (*GXTlutRegionCallback)(u32); - -typedef struct _GXData { - /* 0x000 */ u16 field_0x0; - /* 0x002 */ u16 field_0x2; - /* 0x004 */ u16 field_0x4; - /* 0x006 */ u16 field_0x6; - /* 0x008 */ u32 field_0x8; - /* 0x00C */ u32 field_0xc; - /* 0x010 */ u32 field_0x10; - /* 0x014 */ GXAttrType field_0x14; - /* 0x018 */ GXAttrType field_0x18; - /* 0x01C */ GXCompCnt field_0x1c[8]; - /* 0x03C */ GXCompCnt field_0x3c[8]; - /* 0x05C */ u32 field_0x5c[8]; - /* 0x07C */ u32 field_0x7c; - /* 0x080 */ u32 field_0x80; - /* 0x084 */ u32 field_0x84; - /* 0x088 */ u8 field_0x88[0xA8 - 0x88]; - /* 0x0A8 */ u32 field_0xa8[2]; - /* 0x0B0 */ u32 field_0xb0[2]; - /* 0x0B8 */ u32 field_0xb8[8]; // GX_MAX_TEXCOORD - /* 0x0D8 */ u32 field_0xd8[8]; // GX_MAX_TEXCOORD - /* 0x0F8 */ u32 field_0xf8; - /* 0x0FC */ u32 field_0xfc; - /* 0x100 */ u32 field_0x100[GX_MAX_TEVSTAGE / 2]; - /* 0x120 */ u32 field_0x120; - /* 0x124 */ u32 field_0x124; - /* 0x128 */ u8 field_0x128[0x130 - 0x128]; - /* 0x130 */ u32 field_0x130[GX_MAX_TEVSTAGE]; - /* 0x170 */ u32 field_0x170[GX_MAX_TEVSTAGE]; - /* 0x1B0 */ u32 field_0x1b0[GX_MAX_TEVSTAGE / 2]; - /* 0x1D0 */ u32 field_0x1d0; - /* 0x1D4 */ u32 field_0x1d4; - /* 0x1D8 */ u32 field_0x1d8; - /* 0x1DC */ u32 field_0x1dc; - /* 0x1E0 */ u32 field_0x1e0; - /* 0x1E4 */ u32 field_0x1e4; - /* 0x1E8 */ u32 field_0x1e8; - /* 0x1EC */ u32 field_0x1ec; - /* 0x1F0 */ u32 field_0x1f0; - /* 0x1F4 */ u32 field_0x1f4; - /* 0x1F8 */ u32 field_0x1f8; - /* 0x1FC */ u32 field_0x1fc; - /* 0x200 */ u8 field_0x200; - /* 0x204 */ u32 field_0x204; - /* 0x208 */ GXTexRegion field_0x208[8]; - /* 0x288 */ GXTexRegion field_0x288[8]; - /* 0x308 */ GXTexRegion field_0x308[8]; - /* 0x388 */ GXTlutRegion field_0x388[16]; - /* 0x488 */ GXTlutRegion field_0x488[4]; - /* 0x4C8 */ GXTexRegionCallback field_0x4c8; - /* 0x4CC */ GXTlutRegionCallback field_0x4cc; - /* 0x4D0 */ GXAttrType field_0x4d0; - /* 0x4D4 */ u8 field_0x4d4; - /* 0x4D5 */ u8 field_0x4d5; - /* 0x4D8 */ GXProjectionType field_0x4d8; - /* 0x4DC */ Mtx field_0x4dc; - /* 0x50C */ f32 field_0x50c; - /* 0x510 */ f32 field_0x510; - /* 0x514 */ u32 field_0x514[8]; - /* 0x534 */ u32 field_0x534[8]; - /* 0x554 */ u32 field_0x554; - /* 0x558 */ u32 field_0x558[8]; - /* 0x578 */ u8 field_0x578[0x594 - 0x578]; - /* 0x594 */ u32 field_0x594; - /* 0x598 */ u32 field_0x598; - /* 0x59C */ u32 field_0x59c; - /* 0x5A0 */ u8 field_0x5a0[4]; - /* 0x5A4 */ u32 field_0x5a4; - /* 0x5A8 */ u8 field_0x5a8; - /* 0x5A9 */ u8 field_0x5a9; - /* 0x5AA */ u8 field_0x5aa; - /* 0x5AB */ u8 field_0x5ab; - /* 0x5AC */ u32 field_0x5ac; -} GXData; // Size: 0x5B0 - -STATIC_ASSERT(sizeof(GXData) == 0x5B0); - -extern GXData* __GXData; - -extern u32* __piReg; -extern u16* __cpReg; +// Pack value into bitfield +// Pack value into bitfield +#define GX_BITFIELD_SET(field, pos, size, value) (field) = __rlwimi((field), (value), 31 - (pos) - (size) + 1, (pos), (pos) + (size)-1) #define GX_LOAD_BP_REG 0x61 #define GX_NOP 0 -f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height); -u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale); +typedef union { + u8 u8; + u16 u16; + u32 u32; + u64 u64; + s8 s8; + s16 s16; + s32 s32; + s64 s64; + f32 f32; + f64 f64; +} PPCWGPipe; -void GXBegin(GXPrimitive, GXVtxFmt, u16); -void GXLoadTexObj(GXTexObj*, GXTexMapID); -void GXInitTexObjLOD(GXTexObj*, GXTexFilter, GXTexFilter, f32, f32, f32, GXBool, GXBool, - GXAnisotropy); -void GXInitTexObj(GXTexObj*, void*, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, GXBool); -void GXInitTlutObj(GXTlutObj*, void*, GXTlutFmt, u16); -void GXLoadTlut(GXTlutObj*, u32); -void GXInitTexObjCI(GXTexObj*, void*, u16, u16, GXCITexFmt, GXTexWrapMode, GXTexWrapMode, GXBool, - u32); -void GXSetNumChans(u8); -void GXSetNumTevStages(u8); -void GXSetNumTexGens(u8); -void GXSetTevOrder(GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID); -void GXSetChanCtrl(GXChannelID, GXBool, GXColorSrc, GXColorSrc, u32, GXDiffuseFn, GXAttnFn); -void GXSetTevOp(GXTevStageID, GXTevMode); -void GXSetTevColor(GXTevRegID, GXColor); -void GXSetTevColorIn(GXTevStageID, GXTevColorArg, GXTevColorArg, GXTevColorArg, GXTevColorArg); -void GXSetTevAlphaIn(GXTevStageID, GXTevAlphaArg, GXTevAlphaArg, GXTevAlphaArg, GXTevAlphaArg); -void GXSetTevColorOp(GXTevStageID, GXTevOp, GXTevBias, GXTevScale, GXBool, GXTevRegID); -void GXSetTevAlphaOp(GXTevStageID, GXTevOp, GXTevBias, GXTevScale, GXBool, GXTevRegID); -void GXSetTevIndirect(GXTevStageID, _GXIndTexStageID, GXIndTexFormat, GXIndTexBiasSel, - GXIndTexMtxID, GXIndTexWrap, GXIndTexWrap, GXBool, GXBool, GXIndTexAlphaSel); -void GXSetBlendMode(GXBlendMode, GXBlendFactor, GXBlendFactor, GXLogicOp); -void GXSetVtxAttrFmt(GXVtxFmt, GXAttr, GXCompCnt, GXCompType, u32); -void GXClearVtxDesc(void); -void GXSetVtxDesc(GXAttr, GXAttrType); -void GXSetArray(GXAttr, void*, u8); -typedef void (*GXDrawDoneCallback)(void); -void GXSetDrawDoneCallback(GXDrawDoneCallback); -void GXDrawDone(void); -void GXAbortFrame(void); -void GXFlush(void); -void GXSetCopyClear(GXColor, u32); -void GXSetDispCopySrc(u16, u16, u16, u16); -void GXSetDispCopyDst(u16, u16); -u32 GXSetDispCopyYScale(f32); -void GXSetCopyClamp(GXFBClamp); -void GXSetDispCopyGamma(GXGamma); -void GXCopyDisp(void*, GXBool); -void GXSetPixelFmt(GXPixelFmt, GXZFmt16); - -struct OSThread; -OSThread* GXSetCurrentGXThread(void); -OSThread* GXGetCurrentGXThread(void); - -void GXCopyTex(void*, GXBool); -void GXGetProjectionv(f32*); -u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool is_mip_map, u8 max_lod); -void GXGetViewportv(f32*); -void GXInitLightColor(GXLightObj*, GXColor); -void GXInitLightDir(GXLightObj*, f32, f32, f32); -void GXInitLightDistAttn(GXLightObj*, f32, f32, GXDistAttnFn); -void GXInitLightPos(GXLightObj*, f32, f32, f32); -void GXInitLightSpot(GXLightObj*, f32, GXSpotFn); -void GXInvalidateTexAll(void); -void GXInitLightAttn(GXLightObj*, f32, f32, f32, f32, f32, f32); -void GXLoadLightObjImm(GXLightObj*, GXLightID); -void GXLoadPosMtxImm(Mtx, u32); -void GXLoadNrmMtxImm(Mtx, u32); -void GXLoadTexMtxImm(Mtx, u32, GXTexMtxType); -void GXPixModeSync(void); -void GXProject(f32, f32, f32, Mtx, f32*, f32*, f32*, f32*, f32*); -void GXSetAlphaCompare(GXCompare, u8, GXAlphaOp, GXCompare, u8); -void GXSetAlphaUpdate(GXBool); -void GXSetChanAmbColor(GXChannelID, GXColor); -void GXSetChanMatColor(GXChannelID, GXColor); -void GXSetClipMode(GXClipMode); -void GXSetCoPlanar(GXBool); -void GXSetColorUpdate(GXBool); -void GXSetCopyFilter(GXBool, u8[12][2], GXBool, u8[7]); -void GXSetCullMode(GXCullMode); -void GXSetCurrentMtx(u32); -void GXSetDither(GXBool); -void GXSetFog(GXFogType, f32, f32, f32, f32, GXColor); -void GXSetFogRangeAdj(GXBool, u16, GXFogAdjTable*); -void GXSetNumIndStages(u8); -void GXSetProjection(Mtx44, GXProjectionType); -void GXSetScissor(u32, u32, u32, u32); -void GXSetTevColorS10(GXTevRegID, GXColorS10); -void GXSetTevKAlphaSel(GXTevStageID, GXTevKAlphaSel); -void GXSetTevSwapMode(GXTevStageID, GXTevSwapSel, GXTevSwapSel); -void GXSetTevSwapModeTable(GXTevSwapSel, GXTevColor, GXTevColor, GXTevColor, GXTevColor); -void GXSetTexCoordGen2(GXTexCoordID, GXTexGenType, GXTexGenSrc, u32, GXBool, u32); -void GXSetTexCopyDst(u16, u16, GXTexFmt, GXBool); -void GXSetTexCopySrc(u16, u16, u16, u16); -void GXSetViewport(f32, f32, f32, f32, f32, f32); -void GXSetZCompLoc(GXBool); -void GXSetZMode(GXBool, GXCompare, GXBool); -void GXSetZTexture(GXZTexOp, GXTexFmt, u32); -void GXSetPointSize(u8, GXTexOffset); -void GXSetLineWidth(u8, GXTexOffset); -void GXSetTevDirect(GXTevStageID); -void GXSetTevKColor(GXTevKColorID, GXColor); -void GXSetTevKColorSel(GXTevStageID, GXTevKColorSel); -void GXGetScissor(u32*, u32*, u32*, u32*); -void GXSetIndTexMtx(GXIndTexMtxID, Mtx23, s8); -void GXSetIndTexCoordScale(GXIndTexStageID, GXIndTexScale, GXIndTexScale); -void GXSetIndTexOrder(GXIndTexStageID, GXTexCoordID, GXTexMapID); -void GXEnableTexOffsets(GXTexCoordID, GXBool, GXBool); -void GXSetDstAlpha(GXBool, u8); -u32 GXGetFifoSize(GXFifoObj*); -void* GXGetFifoBase(GXFifoObj*); -GXFifoObj* GXInit(void*, u32); -GXFifoObj* GXGetCPUFifo(void); -void GXGetGPStatus(GXBool*, GXBool*, GXBool*, GXBool*, GXBool*); -void GXReadXfRasMetric(u32*, u32*, u32*, u32*); -void GXInitFifoBase(GXFifoObj*, void*, u32); -void GXInitFifoPtrs(GXFifoObj*, void*, void*); -void GXSaveCPUFifo(GXFifoObj*); -void GXSetMisc(u32 opt, u32 val); -void GXInitTexCacheRegion(GXTexRegion* region, GXBool, u32, GXTexCacheSize, u32, GXTexCacheSize); -void GXPeekZ(u16 x, u16 y, u32* dst); -void __GXSetDirtyState(void); -void __GXSendFlushPrim(void); +volatile PPCWGPipe GXFIFO : 0xCC008000; #define GFX_FIFO(T) (*(volatile T*)0xCC008000) diff --git a/include/dolphin/gx/GXAttr.h b/include/dolphin/gx/GXAttr.h index 9280e4a584..9b9bbdf4ee 100644 --- a/include/dolphin/gx/GXAttr.h +++ b/include/dolphin/gx/GXAttr.h @@ -1,6 +1,39 @@ #ifndef GXATTR_H #define GXATTR_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _GXVtxDescList { + /* 0x0 */ GXAttr attr; + /* 0x4 */ GXAttrType type; +} GXVtxDescList; // Size: 0x08 + +typedef struct _GXVtxAttrFmtList { + /* 0x00 */ GXAttr mAttrib; + /* 0x04 */ GXCompCnt mCompCnt; + /* 0x08 */ GXCompType mCompType; + /* 0x0C */ u8 mCompShift; +} GXVtxAttrFmtList; // Size: 0x10 + +void GXSetVtxDesc(GXAttr attr, GXAttrType type); +void GXSetVtxDescv(GXVtxDescList* list); +void __GXSetVCD(void); +void __GXCalculateVLim(void); +void GXClearVtxDesc(void); +void GXSetVtxAttrFmt(GXVtxFmt fmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u32); +void GXSetVtxAttrFmtv(GXVtxFmt fmt, GXVtxAttrFmtList* list); +void __GXSetVAT(void); +void GXSetArray(GXAttr attr, void* base, u8); +void GXInvalidateVtxCache(void); +void GXSetTexCoordGen2(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32 mtx, GXBool renormalize, u32 pt_mtx); +void GXSetNumTexGens(u8 numTexGens); + +#ifdef __cplusplus +}; +#endif #endif /* GXATTR_H */ diff --git a/include/dolphin/gx/GXBump.h b/include/dolphin/gx/GXBump.h index 79ed20bb9d..29337920c7 100644 --- a/include/dolphin/gx/GXBump.h +++ b/include/dolphin/gx/GXBump.h @@ -1,6 +1,24 @@ #ifndef GXBUMP_H #define GXBUMP_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/mtx/mtx.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXSetTevIndirect(GXTevStageID tevStage, GXIndTexStageID texStage, GXIndTexFormat texFmt, + GXIndTexBiasSel biasSel, GXIndTexMtxID mtxID, GXIndTexWrap wrapS, + GXIndTexWrap wrapT, u8 addPrev, u8 utcLod, GXIndTexAlphaSel alphaSel); +void GXSetIndTexMtx(GXIndTexMtxID mtxID, f32 offset[6], s8 scale_exp); +void GXSetIndTexCoordScale(GXIndTexStageID texStage, GXIndTexScale scaleS, GXIndTexScale scaleT); +void GXSetIndTexOrder(GXIndTexStageID stage, GXTexCoordID coord, GXTexMapID map); +void GXSetNumIndStages(u8 num); +void GXSetTevDirect(GXTevStageID stage); + +#ifdef __cplusplus +}; +#endif #endif /* GXBUMP_H */ diff --git a/include/dolphin/gx/GXDisplayList.h b/include/dolphin/gx/GXDisplayList.h index 54845d6a46..fc8a4d5358 100644 --- a/include/dolphin/gx/GXDisplayList.h +++ b/include/dolphin/gx/GXDisplayList.h @@ -3,10 +3,16 @@ #include "dolphin/types.h" +#ifdef __cplusplus extern "C" { +#endif + void GXBeginDisplayList(void* list, u32 capacity); void GXEndDisplayList(void); void GXCallDisplayList(void* list, u32 nbytes); + +#ifdef __cplusplus }; +#endif #endif /* GXDISPLAYLIST_H */ diff --git a/include/dolphin/gx/GXEnum.h b/include/dolphin/gx/GXEnum.h index b8ab1cb40c..591f873efd 100644 --- a/include/dolphin/gx/GXEnum.h +++ b/include/dolphin/gx/GXEnum.h @@ -20,12 +20,14 @@ typedef enum _GXCullMode { /* 0x3 */ GX_CULL_ALL } GXCullMode; -typedef enum _GXBool { +typedef enum _GXBoolVal { /* 0x0 */ GX_FALSE, /* 0x1 */ GX_TRUE, /* 0x0 */ GX_DISABLE = 0, /* 0x1 */ GX_ENABLE -} GXBool; +} GXBoolVal; + +typedef u8 GXBool; typedef enum _GXTexMapID { /* 0x000 */ GX_TEXMAP0, @@ -429,11 +431,11 @@ typedef enum _GXAnisotropy { /* 0x3 */ GX_MAX_ANISOTROPY, } GXAnisotropy; -enum GXCITexFmt { +typedef enum _GXCITexFmt { /* 0x8 */ GX_TF_C4 = 8, /* 0x8 */ GX_TF_C8, /* 0xA */ GX_TF_C14X2 -}; +} GXCITexFmt; typedef enum _GXTexMtxType { /* 0x0 */ GX_MTX3x4, @@ -619,9 +621,11 @@ typedef enum _GXIndTexMtxID { /* 0x1 */ GX_ITM_0, /* 0x2 */ GX_ITM_1, /* 0x3 */ GX_ITM_2, + /* 0x4 */ GX_ITM_3, /* 0x5 */ GX_ITM_S0 = 5, /* 0x6 */ GX_ITM_S1, /* 0x7 */ GX_ITM_S2, + /* 0x8 */ GX_ITM_S3, /* 0x9 */ GX_ITM_T0 = 9, /* 0xA */ GX_ITM_T1, /* 0xB */ GX_ITM_T2, @@ -711,7 +715,7 @@ typedef enum _GXTexMtx { GX_TEXMTX8 = 30 + 8 * 3, GX_TEXMTX9 = 30 + 9 * 3, GX_IDENTITY = 60, -}; +} GXTexMtx; typedef enum _GXPTTexMtx { GX_PTTEXMTX0 = 64 + 0 * 3, @@ -735,7 +739,7 @@ typedef enum _GXPTTexMtx { GX_PTTEXMTX18 = 64 + 18 * 3, GX_PTTEXMTX19 = 64 + 19 * 3, GX_PTIDENTITY = 125, -}; +} GXPTTexMtx; typedef enum _GXFBClamp { /* 0x0 */ GX_CLAMP_NONE, @@ -776,4 +780,30 @@ typedef enum _GXClipMode { /* 0x1 */ GX_CLIP_DISABLE, } GXClipMode; +typedef enum _GXCopyMode { + /* 0x0 */ GX_COPY_PROGRESSIVE, + /* 0x1 */ GX_COPY_INTLC_EVEN, + /* 0x2 */ GX_COPY_INTLC_ODD, +} GXCopyMode; + +typedef enum _GXAlphaReadMode { + /* 0x0 */ GX_READ_00, + /* 0x1 */ GX_READ_FF, + /* 0x2 */ GX_READ_NONE, +} GXAlphaReadMode; + +typedef enum _GXTlutSize { + /* 0x001 */ GX_TLUT_16 = 1, + /* 0x002 */ GX_TLUT_32 = 2, + /* 0x004 */ GX_TLUT_64 = 4, + /* 0x008 */ GX_TLUT_128 = 8, + /* 0x010 */ GX_TLUT_256 = 16, + /* 0x020 */ GX_TLUT_512 = 32, + /* 0x040 */ GX_TLUT_1K = 64, + /* 0x080 */ GX_TLUT_2K = 128, + /* 0x100 */ GX_TLUT_4K = 256, + /* 0x200 */ GX_TLUT_8K = 512, + /* 0x400 */ GX_TLUT_16K = 1024, +} GXTlutSize; + #endif /* GXENUM_H */ \ No newline at end of file diff --git a/include/dolphin/gx/GXFifo.h b/include/dolphin/gx/GXFifo.h index 8de5a88972..68f955e826 100644 --- a/include/dolphin/gx/GXFifo.h +++ b/include/dolphin/gx/GXFifo.h @@ -1,6 +1,38 @@ #ifndef GXFIFO_H #define GXFIFO_H -#include "dolphin/types.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/os/OS.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXInitFifoBase(GXFifoObj* fifo, void* base, u32 size); +void GXInitFifoPtrs(GXFifoObj* fifo, void* read_ptr, void* write_ptr); +void GXSetCPUFifo(void); +void GXSetGPFifo(void); +void GXSaveCPUFifo(GXFifoObj* fifo); +void __GXSaveCPUFifoAux(GXFifoObj* fifo); +void GXGetGPStatus(GXBool* overhi, GXBool* underlo, GXBool* read_idle, GXBool* cmd_idle, GXBool* breakpoint); +void* GXGetFifoBase(GXFifoObj* fifo); +u32 GXGetFifoSize(GXFifoObj* fifo); +void GXSetBreakPtCallback(void); +void __GXFifoInit(void); +void __GXFifoReadEnable(void); +void __GXFifoReadDisable(void); +void __GXFifoLink(u8); +void __GXWriteFifoIntEnable(u8, u8); +void __GXWriteFifoIntReset(u8, u8); +void __GXCleanGPFifo(void); +OSThread* GXSetCurrentGXThread(void); +OSThread* GXGetCurrentGXThread(void); +GXFifoObj* GXGetCPUFifo(void); +u32 GXGetGPFifo(void); + +#ifdef __cplusplus +}; +#endif #endif /* GXFIFO_H */ diff --git a/include/dolphin/gx/GXFrameBuf.h b/include/dolphin/gx/GXFrameBuf.h index 91f4e49604..ffa428cb59 100644 --- a/include/dolphin/gx/GXFrameBuf.h +++ b/include/dolphin/gx/GXFrameBuf.h @@ -1,6 +1,31 @@ #ifndef GXFRAMEBUF_H #define GXFRAMEBUF_H -#include "dolphin/types.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GXEnum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXSetDispCopySrc(u16 left, u16 top, u16 width, u16 height); +void GXSetTexCopySrc(u16 left, u16 top, u16 width, u16 height); +void GXSetDispCopyDst(u16 width, u16 height); +void GXSetTexCopyDst(u16 width, u16 height, GXTexFmt fmt, GXBool mipmap); +void GXSetDispCopyFrame2Field(GXCopyMode mode); +void GXSetCopyClamp(GXFBClamp clamp); +u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale); +f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height); +u32 GXSetDispCopyYScale(f32 y_scale); +void GXSetCopyClear(GXColor color, u32 clear_z); +void GXSetCopyFilter(GXBool antialias, u8 pattern[12][2], GXBool vf, u8 vfilter[7]); +void GXSetDispCopyGamma(GXGamma gamma); +void GXCopyDisp(void* dst, GXBool clear); +void GXCopyTex(void* dst, GXBool clear); +void GXClearBoundingBox(void); + +#ifdef __cplusplus +}; +#endif #endif /* GXFRAMEBUF_H */ diff --git a/include/dolphin/gx/GXGeometry.h b/include/dolphin/gx/GXGeometry.h index 0adddc6fdb..49315693f3 100644 --- a/include/dolphin/gx/GXGeometry.h +++ b/include/dolphin/gx/GXGeometry.h @@ -1,6 +1,25 @@ #ifndef GXGEOMETRY_H #define GXGEOMETRY_H -#include "dolphin/types.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GXEnum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void __GXSetDirtyState(void); +void GXBegin(GXPrimitive type, GXVtxFmt fmt, u16 vert_num); +void __GXSendFlushPrim(void); +void GXSetLineWidth(u8 width, GXTexOffset offsets); +void GXSetPointSize(u8 size, GXTexOffset offsets); +void GXEnableTexOffsets(GXTexCoordID coord, GXBool line, GXBool point); +void GXSetCullMode(GXCullMode mode); +void GXSetCoPlanar(GXBool enable); +void __GXSetGenMode(void); + +#ifdef __cplusplus +}; +#endif #endif /* GXGEOMETRY_H */ diff --git a/include/dolphin/gx/GXInit.h b/include/dolphin/gx/GXInit.h index 0fe7f0caf3..881ee2c24a 100644 --- a/include/dolphin/gx/GXInit.h +++ b/include/dolphin/gx/GXInit.h @@ -1,6 +1,118 @@ #ifndef GXINIT_H #define GXINIT_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/mtx/mtx.h" +#include "global.h" + +typedef GXTexRegion (*GXTexRegionCallback)(GXTexObj* obj); +typedef GXTlutRegion* (*GXTlutRegionCallback)(u32 name); + +typedef struct _GXData { + /* 0x000 */ u16 field_0x0; + /* 0x002 */ u16 field_0x2; + /* 0x004 */ u16 field_0x4; + /* 0x006 */ u16 field_0x6; + /* 0x008 */ u32 field_0x8; + /* 0x00C */ u32 field_0xc; + /* 0x010 */ u32 field_0x10; + /* 0x014 */ u32 field_0x14; + /* 0x018 */ GXAttrType field_0x18; + /* 0x01C */ GXCompCnt field_0x1c[8]; + /* 0x03C */ GXCompCnt field_0x3c[8]; + /* 0x05C */ u32 field_0x5c[8]; + /* 0x07C */ u32 field_0x7c; + /* 0x080 */ u32 field_0x80; + /* 0x084 */ u32 field_0x84; + /* 0x088 */ u8 field_0x88[0xA8 - 0x88]; + /* 0x0A8 */ GXColor ambColors[2]; + /* 0x0B0 */ GXColor matColors[2]; + /* 0x0B8 */ u32 field_0xb8[8]; // GX_MAX_TEXCOORD + /* 0x0D8 */ u32 field_0xd8[8]; // GX_MAX_TEXCOORD + /* 0x0F8 */ u32 field_0xf8; + /* 0x0FC */ u32 field_0xfc; + /* 0x100 */ u32 field_0x100[GX_MAX_TEVSTAGE / 2]; + /* 0x120 */ u32 field_0x120; + /* 0x124 */ u32 field_0x124; + /* 0x128 */ u32 field_0x128; + /* 0x12C */ u32 field_0x12c; + /* 0x130 */ u32 field_0x130[GX_MAX_TEVSTAGE]; + /* 0x170 */ u32 field_0x170[GX_MAX_TEVSTAGE]; + /* 0x1B0 */ u32 field_0x1b0[GX_MAX_TEVSTAGE / 2]; + /* 0x1D0 */ u32 field_0x1d0; + /* 0x1D4 */ u32 field_0x1d4; + /* 0x1D8 */ u32 field_0x1d8; + /* 0x1DC */ u32 field_0x1dc; + /* 0x1E0 */ u32 field_0x1e0; + /* 0x1E4 */ u32 field_0x1e4; + /* 0x1E8 */ u32 field_0x1e8; + /* 0x1EC */ u32 field_0x1ec; + /* 0x1F0 */ u32 field_0x1f0; + /* 0x1F4 */ u32 field_0x1f4; + /* 0x1F8 */ u32 field_0x1f8; + /* 0x1FC */ u32 field_0x1fc; + /* 0x200 */ u8 field_0x200; + /* 0x204 */ u32 field_0x204; + /* 0x208 */ GXTexRegion field_0x208[8]; + /* 0x288 */ GXTexRegion field_0x288[8]; + /* 0x308 */ GXTexRegion field_0x308[8]; + /* 0x388 */ GXTlutRegion field_0x388[16]; + /* 0x488 */ GXTlutRegion field_0x488[4]; + /* 0x4C8 */ GXTexRegionCallback field_0x4c8; + /* 0x4CC */ GXTlutRegionCallback field_0x4cc; + /* 0x4D0 */ GXAttrType field_0x4d0; + /* 0x4D4 */ u8 field_0x4d4; + /* 0x4D5 */ u8 field_0x4d5; + /* 0x4D8 */ GXProjectionType field_0x4d8; + /* 0x4DC */ Mtx field_0x4dc; + /* 0x50C */ f32 field_0x50c; + /* 0x510 */ f32 field_0x510; + /* 0x514 */ u32 field_0x514[8]; + /* 0x534 */ u32 field_0x534[8]; + /* 0x554 */ u32 field_0x554; + /* 0x558 */ u32 field_0x558[8]; + /* 0x578 */ u8 field_0x578[0x594 - 0x578]; + /* 0x594 */ u32 field_0x594; + /* 0x598 */ u32 field_0x598; + /* 0x59C */ u32 field_0x59c; + /* 0x5A0 */ u8 field_0x5a0[4]; + /* 0x5A4 */ u32 field_0x5a4; + /* 0x5A8 */ u8 field_0x5a8; + /* 0x5A9 */ u8 field_0x5a9; + /* 0x5AA */ u8 field_0x5aa; + /* 0x5AB */ u8 field_0x5ab; + /* 0x5AC */ u32 field_0x5ac; +} GXData; // Size: 0x5B0 + +STATIC_ASSERT(sizeof(GXData) == 0x5B0); + +extern GXData* __GXData; + +extern u32* __piReg; +extern u16* __cpReg; +extern u8 __peReg[4]; +extern u8 __memReg[4]; + +inline void GXSetWasteFlags() { + GXData* data = __GXData; + data->field_0x5ac |= 0x3; + data->field_0x2 = 0; +} + +#ifdef __cplusplus +extern "C" { +#endif + +GXTexRegion* __GXDefaultTexRegionCallback(GXTexObj* obj, GXTexMapID mapID); +GXTlutRegion* __GXDefaultTlutRegionCallback(u32 tlut); +void __GXShutdown(s32); +void __GXInitRevisionBits(void); +GXFifoObj* GXInit(void* base, u32 size); +void __GXInitGX(void); + +#ifdef __cplusplus +}; +#endif #endif /* GXINIT_H */ diff --git a/include/dolphin/gx/GXLight.h b/include/dolphin/gx/GXLight.h index 817b2cb816..82fd78a1b0 100644 --- a/include/dolphin/gx/GXLight.h +++ b/include/dolphin/gx/GXLight.h @@ -1,6 +1,27 @@ #ifndef GXLIGHT_H #define GXLIGHT_H -#include "dolphin/types.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GXEnum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXInitLightAttn(GXLightObj* obj, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2); +void GXInitLightSpot(GXLightObj* obj, f32 cutoff, GXSpotFn spot_fn); +void GXInitLightDistAttn(GXLightObj* obj, f32 dist, f32 brightness, GXDistAttnFn dist_fn); +void GXInitLightPos(GXLightObj* obj, f32 x, f32 y, f32 z); +void GXInitLightDir(GXLightObj* obj, f32 x, f32 y, f32 z); +void GXInitLightColor(GXLightObj* obj, GXColor color); +void GXLoadLightObjImm(GXLightObj* obj, GXLightID light); +void GXSetChanAmbColor(GXChannelID channel, GXColor color); +void GXSetChanMatColor(GXChannelID channel, GXColor color); +void GXSetNumChans(u8 chan_num); +void GXSetChanCtrl(GXChannelID channel, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, u32 light_mask, GXDiffuseFn diff_fn, GXAttnFn attn_fn); + +#ifdef __cplusplus +}; +#endif #endif /* GXLIGHT_H */ diff --git a/include/dolphin/gx/GXMisc.h b/include/dolphin/gx/GXMisc.h index d5deba0820..5a22f30cc8 100644 --- a/include/dolphin/gx/GXMisc.h +++ b/include/dolphin/gx/GXMisc.h @@ -1,6 +1,38 @@ #ifndef GXMISC_H #define GXMISC_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXSetMisc(u32 id, u32 value); +void GXFlush(void); +void __GXAbort(void); +void GXAbortFrame(void); +void GXSetDrawDone(void); +void GXDrawDone(void); +void GXPixModeSync(void); +void GXPokeAlphaMode(GXCompare comp, u8 threshold); +void GXPokeAlphaRead(GXAlphaReadMode mode); +void GXPokeAlphaUpdate(GXBool enable_update); +void GXPokeBlendMode(GXBlendMode mode, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op); +void GXPokeColorUpdate(GXBool enable_update); +void GXPokeDstAlpha(GXBool enable, u8 alpha); +void GXPokeDither(GXBool enable); +void GXPokeZMode(GXBool enable_compare, GXCompare comp); +void GXPeekZ(u16 x, u16 y, u32* z); + +typedef void (*GXDrawSyncCallback)(u16 token); +void GXSetDrawSyncCallback(GXDrawSyncCallback callback); + +typedef void (*GXDrawDoneCallback)(void); +void GXSetDrawDoneCallback(GXDrawDoneCallback callback); +void __GXPEInit(void); + +#ifdef __cplusplus +}; +#endif #endif /* GXMISC_H */ diff --git a/include/dolphin/gx/GXPerf.h b/include/dolphin/gx/GXPerf.h index e03b2baf38..821c81b2b5 100644 --- a/include/dolphin/gx/GXPerf.h +++ b/include/dolphin/gx/GXPerf.h @@ -3,4 +3,16 @@ #include "dolphin/types.h" +#ifdef __cplusplus +extern "C" { +#endif + +void GXSetGPMetric(u32 perf0, u32 perf1); +void GXClearGPMetric(void); +void GXReadXfRasMetric(u32*, u32*, u32*, u32*); + +#ifdef __cplusplus +}; +#endif + #endif /* GXPERF_H */ diff --git a/include/dolphin/gx/GXPixel.h b/include/dolphin/gx/GXPixel.h index e95981c69b..b9b3d3a60b 100644 --- a/include/dolphin/gx/GXPixel.h +++ b/include/dolphin/gx/GXPixel.h @@ -1,6 +1,28 @@ #ifndef GXPIXEL_H #define GXPIXEL_H -#include "dolphin/types.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GXEnum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXSetFog(GXFogType type, f32 startZ, f32 endZ, f32 nearZ, f32 farZ, GXColor color); +void GXSetFogRangeAdj(GXBool enable, u16 center, GXFogAdjTable* table); +void GXSetBlendMode(GXBlendMode mode, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op); +void GXSetColorUpdate(GXBool enable_update); +void GXSetAlphaUpdate(GXBool enable_update); +void GXSetZMode(GXBool enable_compare, GXCompare comp, GXBool enable_update); +void GXSetZCompLoc(GXBool z_buf_before_tex); +void GXSetPixelFmt(GXPixelFmt pixel_fmt, GXZFmt16 z_fmt); +void GXSetDither(GXBool enable_dither); +void GXSetDstAlpha(GXBool enable, u8 alpha); +void GXSetFieldMask(GXBool odd_mask, GXBool even_mask); +void GXSetFieldMode(GXBool field_mode, GXBool half_aspect_ratio); + +#ifdef __cplusplus +}; +#endif #endif /* GXPIXEL_H */ diff --git a/include/dolphin/gx/GXStruct.h b/include/dolphin/gx/GXStruct.h index 4d15b6694f..236a370ca4 100644 --- a/include/dolphin/gx/GXStruct.h +++ b/include/dolphin/gx/GXStruct.h @@ -34,7 +34,7 @@ typedef struct _GXRenderModeObj { /* 0x32 */ u8 vfilter[7]; } GXRenderModeObj; -STATIC_ASSERT(sizeof(_GXRenderModeObj) == 60); +STATIC_ASSERT(sizeof(GXRenderModeObj) == 60); typedef struct _GXTexObj { /* 0x00 */ u32 texture_filter; @@ -56,7 +56,20 @@ typedef struct _GXTlutObj { } GXTlutObj; typedef struct _GXLightObj { - /* 0x0 */ u32 data[16]; + /* 0x00 */ u8 field_0x0[0xc]; + /* 0x0C */ GXColor color; + /* 0x10 */ f32 a0; + /* 0x14 */ f32 a1; + /* 0x18 */ f32 a2; + /* 0x1C */ f32 k0; + /* 0x20 */ f32 k1; + /* 0x24 */ f32 k2; + /* 0x28 */ f32 posX; + /* 0x2C */ f32 posY; + /* 0x30 */ f32 posZ; + /* 0x34 */ f32 dirX; + /* 0x38 */ f32 dirY; + /* 0x3C */ f32 dirZ; } GXLightObj; typedef struct _GXFogAdjTable { diff --git a/include/dolphin/gx/GXTev.h b/include/dolphin/gx/GXTev.h index 08ce1ee1b8..20da7b3850 100644 --- a/include/dolphin/gx/GXTev.h +++ b/include/dolphin/gx/GXTev.h @@ -1,6 +1,37 @@ #ifndef GXTEV_H #define GXTEV_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXSetTevOp(GXTevStageID id, GXTevMode mode); +void GXSetTevColorIn(GXTevStageID stage, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, + GXTevColorArg d); +void GXSetTevAlphaIn(GXTevStageID stage, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, + GXTevAlphaArg d); +void GXSetTevColorOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, + GXTevRegID out_reg); +void GXSetTevAlphaOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, GXBool clamp, + GXTevRegID out_reg); +void GXSetTevColor(GXTevRegID id, GXColor color); +void GXSetTevColorS10(GXTevRegID id, GXColorS10 color); +void GXSetTevKColor(GXTevKColorID id, GXColor color); +void GXSetTevKColorSel(GXTevStageID stage, GXTevKColorSel color_sel); +void GXSetTevKAlphaSel(GXTevStageID stage, GXTevKAlphaSel alpha_sel); +void GXSetTevSwapMode(GXTevStageID stage, GXTevSwapSel ras_sel, GXTevSwapSel tex_sel); +void GXSetTevSwapModeTable(GXTevSwapSel select, GXTevColor r, GXTevColor g, GXTevColor b, + GXTevColor a); +void GXSetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1); +void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias); +void GXSetTevOrder(GXTevStageID stage, GXTexCoordID coord, GXTexMapID map, GXChannelID color); +void GXSetNumTevStages(u8 num_stages); + +#ifdef __cplusplus +}; +#endif #endif /* GXTEV_H */ diff --git a/include/dolphin/gx/GXTexture.h b/include/dolphin/gx/GXTexture.h index 2f2bbfb6e0..d4d8efdb38 100644 --- a/include/dolphin/gx/GXTexture.h +++ b/include/dolphin/gx/GXTexture.h @@ -1,6 +1,49 @@ #ifndef GXTEXTURE_H #define GXTEXTURE_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GXInit.h" + +#ifdef __cplusplus +extern "C" { +#endif + +u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod); +void __GetImageTileCount(); +void GXInitTexObj(GXTexObj* obj, void* image, u16 width, u16 height, GXTexFmt fmt, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap); +void GXInitTexObjCI(GXTexObj* obj, void* image, u16 width, u16 height, GXCITexFmt format, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap, u32 tlut_name); +void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filter, GXTexFilter max_filter, f32 min_lod, + f32 max_lod, f32 lod_bias, GXBool bias_clamp, GXBool edge_lod, + GXAnisotropy aniso); +u16 GXGetTexObjWidth(GXTexObj* obj); +u16 GXGetTexObjHeight(GXTexObj* obj); +GXTexFmt GXGetTexObjFmt(GXTexObj* obj); +GXTexWrapMode GXGetTexObjWrapS(GXTexObj* obj); +GXTexWrapMode GXGetTexObjWrapT(GXTexObj* obj); +GXBool GXGetTexObjMipMap(GXTexObj* obj); +u32 GXGetTexObjTlut(GXTexObj* obj); +void GXLoadTexObj(GXTexObj* obj, GXTexMapID id); +void GXInitTlutObj(GXTlutObj* obj, void* lut, GXTlutFmt fmt, u16 entry_num); +void GXLoadTlut(GXTlutObj* obj, u32 tlut_name); +void GXInitTexCacheRegion(GXTexRegion* region, GXBool is_32b_mipmap, u32 tmem_even, + GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd); +void GXInitTlutRegion(GXTlutRegion* region, u32 tmem_addr, GXTlutSize tlut_size); +void GXInvalidateTexAll(void); + +GXTexRegionCallback GXSetTexRegionCallback(GXTexRegionCallback callback); +GXTlutRegionCallback GXSetTlutRegionCallback(GXTlutRegionCallback callback); + +void GXSetTexCoordScaleManually(GXTexCoordID coord, GXBool enable, u16 s_scale, u16 t_scale); + +void __SetSURegs(); +void __GXSetSUTexRegs(); +void __GXSetTmemConfig(); + +#ifdef __cplusplus +}; +#endif #endif /* GXTEXTURE_H */ diff --git a/include/dolphin/gx/GXTransform.h b/include/dolphin/gx/GXTransform.h index 5ea01f339b..66175f257c 100644 --- a/include/dolphin/gx/GXTransform.h +++ b/include/dolphin/gx/GXTransform.h @@ -1,6 +1,32 @@ #ifndef GXTRANSFORM_H #define GXTRANSFORM_H -#include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/mtx/mtx.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void GXProject(f32 model_x, f32 model_y, f32 model_z, Mtx model_mtx, f32* proj_mtx, f32* viewpoint, + f32* screen_x, f32* screen_y, f32* screen_z); +void GXSetProjection(Mtx44 mtx, GXProjectionType type); +void GXSetProjectionv(f32* p); +void GXGetProjectionv(f32* p); +void GXLoadPosMtxImm(Mtx mtx, u32 id); +void GXLoadNrmMtxImm(Mtx mtx, u32 id); +void GXSetCurrentMtx(u32 id); +void GXLoadTexMtxImm(Mtx mtx, u32 id, GXTexMtxType type); +void GXSetViewport(f32 x_orig, f32 y_orig, f32 width, f32 height, f32 near_z, f32 far_z); +void GXGetViewportv(f32* p); +void GXSetScissor(u32 left, u32 top, u32 width, u32 height); +void GXGetScissor(u32* left, u32* top, u32* width, u32* height); +void GXSetScissorBoxOffset(u32 x_offset, u32 y_offset); +void GXSetClipMode(GXClipMode mode); + +#ifdef __cplusplus +}; +#endif #endif /* GXTRANSFORM_H */ diff --git a/include/dolphin/mtx/mtx.h b/include/dolphin/mtx/mtx.h index 0cf5da75ff..edd5dab9f6 100644 --- a/include/dolphin/mtx/mtx.h +++ b/include/dolphin/mtx/mtx.h @@ -6,13 +6,16 @@ #include "dolphin/mtx/vec.h" #include "dolphin/types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef f32 Mtx[3][4]; typedef f32 Mtx33[3][3]; typedef f32 Mtx23[2][3]; typedef f32 (*MtxP)[4]; typedef const f32 (*CMtxP)[4]; // Change name later? -extern "C" { void PSMTXIdentity(Mtx m); void PSMTXCopy(const Mtx src, Mtx dst); void PSMTXConcat(const Mtx a, const Mtx b, Mtx ab); @@ -21,23 +24,20 @@ void PSMTXRotRad(Mtx m, u8 axis, f32 rad); void PSMTXRotTrig(Mtx m, u8 axis, f32 sin, f32 cos); f64 __PSMTXRotAxisRadInternal(f64 param_1, f64 param_2, int param_3, int param_4); void PSMTXRotAxisRad(Mtx m, const Vec* axis, f32 rad); -void PSMTXTrans(Mtx m, f32 x_trans, f32 y_trans, f32 z_trans); +void PSMTXTrans(Mtx m, f32 x, f32 y, f32 z); void PSMTXTransApply(const Mtx src, Mtx dst, f32 x, f32 y, f32 z); -void PSMTXScale(Mtx m, f32 x_scale, f32 y_scale, f32 z_scale); -void PSMTXScaleApply(const Mtx src, Mtx dst, f32 x_scale, f32 y_scale, f32 z_scale); +void PSMTXScale(Mtx m, f32 x, f32 y, f32 z); +void PSMTXScaleApply(const Mtx src, Mtx dst, f32 x, f32 y, f32 z); void PSMTXQuat(Mtx m, const Quaternion* q); -void PSMTXMultVec(const Mtx m, const Vec* src, Vec* dst); -void PSMTXMultVecSR(const Mtx m, const Vec* src, Vec* dst); -void PSMTXMultVec(const Mtx m, const Vec* src, Vec* dst); -void PSMTXMultVecArray(const Mtx m, const Vec* srcBase, Vec* dstBase, u32 count); -void PSMTXMultVecSR(const Mtx m, const Vec* src, Vec* dst); -void PSMTXMultVecArraySR(const Mtx m, const Vec* srcBase, Vec* dstBase, u32 count); void C_MTXLookAt(Mtx m, const Vec* camPos, const Vec* camUp, const Vec* target); void C_MTXLightPerspective(Mtx m, f32 fovY, f32 aspect, f32 scale_s, f32 scale_t, f32 trans_s, f32 trans_t); void C_MTXLightOrtho(Mtx m, f32 top, f32 bottom, f32 left, f32 right, f32 scale_s, f32 scale_t, f32 trans_s, f32 trans_t); -} + +#ifdef __cplusplus +}; +#endif #endif /* MTX_H */ diff --git a/include/dolphin/mtx/mtx44.h b/include/dolphin/mtx/mtx44.h index 69e2cc84f7..44ed7c7e22 100644 --- a/include/dolphin/mtx/mtx44.h +++ b/include/dolphin/mtx/mtx44.h @@ -3,11 +3,17 @@ #include "dolphin/types.h" -typedef float Mtx44[4][4]; +typedef f32 Mtx44[4][4]; +#ifdef __cplusplus extern "C" { +#endif + void C_MTXPerspective(Mtx44 m, f32 fovy, f32 aspect, f32 near, f32 far); void C_MTXOrtho(Mtx44 m, f32 top, f32 bottom, f32 left, f32 right, f32 near, f32 far); -} + +#ifdef __cplusplus +}; +#endif #endif /* MTX44_H */ diff --git a/include/dolphin/mtx/mtxvec.h b/include/dolphin/mtx/mtxvec.h index 171add0e61..add098aac3 100644 --- a/include/dolphin/mtx/mtxvec.h +++ b/include/dolphin/mtx/mtxvec.h @@ -2,14 +2,18 @@ #define MTXVEC_H #include "dolphin/mtx/mtx.h" -#include "dolphin/mtx/vec.h" -#include "dolphin/types.h" +#ifdef __cplusplus extern "C" { -void PSMTXMultVec(const Mtx matrix, const Vec* src, Vec* dst); -void PSMTXMultVecArray(const Mtx matrix, const Vec* src, Vec* dst, u32 count); -void PSMTXMultVecSR(const Mtx matrix, const Vec* src, Vec* dst); -void PSMTXMultVecArraySR(const Mtx matrix, const Vec* src, Vec* dst, u32 count); -} +#endif + +void PSMTXMultVec(const Mtx m, const Vec* src, Vec* dst); +void PSMTXMultVecSR(const Mtx m, const Vec* src, Vec* dst); +void PSMTXMultVecArray(const Mtx m, const Vec* srcBase, Vec* dstBase, u32 count); +void PSMTXMultVecArraySR(const Mtx m, const Vec* srcBase, Vec* dstBase, u32 count); + +#ifdef __cplusplus +}; +#endif #endif /* MTXVEC_H */ diff --git a/include/dolphin/mtx/quat.h b/include/dolphin/mtx/quat.h index 832c04eef1..42477bb63e 100644 --- a/include/dolphin/mtx/quat.h +++ b/include/dolphin/mtx/quat.h @@ -2,16 +2,21 @@ #define QUAT_H #include "dolphin/mtx/vec.h" -#include "dolphin/types.h" - -struct Quaternion { - f32 x, y, z, w; -}; +#ifdef __cplusplus extern "C" { -void PSQUATMultiply(const Quaternion* src_a, const Quaternion* src_b, Quaternion* dst); +#endif + +typedef struct Quaternion { + f32 x, y, z, w; +} Quaternion; + +void PSQUATMultiply(const Quaternion* a, const Quaternion* b, Quaternion* ab); void C_QUATRotAxisRad(Quaternion* q, const Vec* axis, f32 rad); void C_QUATSlerp(const Quaternion* p, const Quaternion* q, Quaternion* r, f32 t); -} + +#ifdef __cplusplus +}; +#endif #endif /* QUAT_H */ diff --git a/include/dolphin/mtx/vec.h b/include/dolphin/mtx/vec.h index d52c79d450..29b3961af7 100644 --- a/include/dolphin/mtx/vec.h +++ b/include/dolphin/mtx/vec.h @@ -3,47 +3,22 @@ #include "dolphin/types.h" -struct Vec { +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct Vec { f32 x, y, z; - f32 GetX() const { return x; } - f32 GetY() const { return y; } - f32 GetZ() const { return z; } - f32 getXDiff(const Vec* other) const { return x - other->x; } - f32 getYDiff(const Vec* other) const { return y - other->y; } - f32 getZDiff(const Vec* other) const { return z - other->z; } - void set(f32 pX, f32 pY, f32 pZ) { - x = pX; - y = pY; - z = pZ; - } - void set(const Vec& other) { - x = other.x; - y = other.y; - z = other.z; - } -}; +} Vec; typedef Vec* VecPtr; typedef Vec Point3d; typedef Vec* Point3dPtr; -struct SVec { +typedef struct SVec { s16 x, y, z; +} SVec; - void set(s16 oX, s16 oY, s16 oZ) { - x = oX; - y = oY; - z = oZ; - } - - void setall(s16 val) { - x = val; - y = val; - z = val; - } -}; - -extern "C" { void PSVECAdd(const Vec* a, const Vec* b, Vec* ab); void PSVECSubtract(const Vec* a, const Vec* b, Vec* a_b); void PSVECScale(const Vec* src, Vec* dst, f32 scale); @@ -57,6 +32,9 @@ f32 PSVECDistance(const Vec* a, const Vec* b); void C_VECHalfAngle(const Vec* a, const Vec* b, Vec* half); void C_VECReflect(const Vec* src, const Vec* normal, Vec* dst); -} + +#ifdef __cplusplus +}; +#endif #endif /* VEC_H */ diff --git a/include/dolphin/os/OS.h b/include/dolphin/os/OS.h index 84c3e63522..d3516b8c06 100644 --- a/include/dolphin/os/OS.h +++ b/include/dolphin/os/OS.h @@ -2,6 +2,8 @@ #define OS_H_ #include "Runtime.PPCEABI.H/__va_arg.h" +#include "dolphin/dvd/dvd.h" + #include "dolphin/os/OSAlarm.h" #include "dolphin/os/OSAlloc.h" #include "dolphin/os/OSArena.h" @@ -35,6 +37,20 @@ extern "C" { #define OS_MESSAGE_NON_BLOCKING 0 #define OS_MESSAGE_BLOCKING 1 +volatile u16 __OSDeviceCode : 0x800030E6; + +volatile u32 OS_PI_INTR_CAUSE : 0xCC003000; +volatile u32 OS_PI_INTR_MASK : 0xCC003004; + +volatile u16 OS_MI_INTR_MASK : 0xCC00401C; + +volatile u16 OS_DSP_DMA_ADDR_HI : 0xCC005030; +volatile u16 OS_DSP_DMA_ADDR_LO : 0xCC005032; +volatile u16 OS_DSP_INTR_MASK : 0xCC00500A; + +volatile u16 OS_ARAM_DMA_ADDR_HI : 0xCC005020; +volatile u16 OS_ARAM_DMA_ADDR_LO : 0xCC005022; + BOOL OSIsThreadSuspended(OSThread* thread); u32 OSGetConsoleType(void); @@ -58,20 +74,20 @@ void OSReportInit__Fv(void); // needed for inline asm u8* OSGetStackPointer(void); void __OSFPRInit(void); -static void InquiryCallback(u32 param_0, void* param_1); +static void InquiryCallback(u32 param_0, DVDCommandBlock* param_1); void OSInit(void); static void OSExceptionInit(void); void __OSDBIntegrator(void); void __OSDBJump(void); typedef void (*OSExceptionHandler)(OSException, OSContext*); -OSExceptionHandler __OSSetExceptionHandler(OSException exception, OSExceptionHandler handler); -OSExceptionHandler __OSGetExceptionHandler(OSException exception); +OSExceptionHandler __OSSetExceptionHandler(__OSException exception, OSExceptionHandler handler); +OSExceptionHandler __OSGetExceptionHandler(__OSException exception); static void OSExceptionVector(void); void __DBVECTOR(); void __OSEVSetNumber(); void __OSEVEnd(); -static void OSDefaultExceptionHandler(OSException exception, OSContext* context); +static void OSDefaultExceptionHandler(__OSException exception, OSContext* context); void __OSPSInit(void); void __OSGetDIConfig(void); void OSRegisterVersion(char* version); @@ -132,7 +148,17 @@ inline void i_OSInitFastCast(void) { // clang-format on } -#include "dolphin/dvd/dvd.h" +typedef struct OSBootInfo { + /* 0x00 */ DVDDiskID disk_info; + /* 0x20 */ u32 boot_code; + /* 0x24 */ u32 version; + /* 0x28 */ u32 memory_size; + /* 0x2C */ u32 console_type; + /* 0x30 */ void* arena_lo; + /* 0x34 */ void* arena_hi; + /* 0x38 */ void* fst_location; + /* 0x3C */ u32 fst_max_length; +} OSBootInfo; struct GLOBAL_MEMORY { DVDDiskID disk; diff --git a/include/dolphin/os/OSAlarm.h b/include/dolphin/os/OSAlarm.h index 536931baa8..56cf7975de 100644 --- a/include/dolphin/os/OSAlarm.h +++ b/include/dolphin/os/OSAlarm.h @@ -1,7 +1,6 @@ #ifndef OSALARM_H #define OSALARM_H -#include "dolphin/types.h" #include "dolphin/os/OSTime.h" #include "dolphin/os/OSError.h" @@ -14,7 +13,8 @@ typedef struct OSAlarmLink { /* 0x4 */ struct OSAlarm* next; } OSAlarmLink; -typedef void (*OSAlarmHandler)(struct OSAlarm* alarm, struct OSContext* context); +typedef struct OSAlarm; +typedef void (*OSAlarmHandler)(struct OSAlarm* alarm, OSContext* context); typedef struct OSAlarm { /* 0x00 */ OSAlarmHandler handler; @@ -31,8 +31,8 @@ static void InsertAlarm(OSAlarm* alarm, s64 time, OSAlarmHandler* handler); void OSSetAlarm(OSAlarm* alarm, s64 time, OSAlarmHandler* handler); void OSSetPeriodicAlarm(OSAlarm* alarm, s64 start, s64 period, OSAlarmHandler* handler); void OSCancelAlarm(OSAlarm* alarm); -static void DecrementerExceptionCallback(OSException* exception, struct OSContext* context); -static void DecrementerExceptionHandler(OSException* exception, struct OSContext* context); +static void DecrementerExceptionCallback(__OSException exception, OSContext* context); +static void DecrementerExceptionHandler(__OSException exception, OSContext* context); static s32 OnReset(s32 param_0); #ifdef __cplusplus diff --git a/include/dolphin/os/OSAlloc.h b/include/dolphin/os/OSAlloc.h index b5af8dbf2a..5a5ff4c3f5 100644 --- a/include/dolphin/os/OSAlloc.h +++ b/include/dolphin/os/OSAlloc.h @@ -7,11 +7,34 @@ extern "C" { #endif +typedef struct OSHeapDescriptor { + /* 0x0 */ s32 size; + /* 0x4 */ struct OSHeapCell* freeList; + /* 0x8 */ struct OSHeapCell* usedList; +} OSHeapDescriptor; + +typedef struct OSHeapCell { + /* 0x00 */ struct OSHeapCell* prev; + /* 0x04 */ struct OSHeapCell* next; + /* 0x08 */ s32 size; + /* 0x0C */ struct OSHeapDescriptor* hd; + /* 0x10 */ s32 usedSize; + /* 0x14 */ char field_0x14[0x20 - 0x14]; +} OSHeapCell; + typedef u32 OSHeapHandle; -static void* DLInsert(void* param_0, void* param_1); -void OSFreeToHeap(OSHeapHandle heap, void* ptr); -void OSSetCurrentHeap(OSHeapHandle heap); +extern volatile s32 __OSCurrHeap; + +#define OSRoundUp(x, align) (((x) + (align)-1) & (-(align))) +#define OSRoundUpPtr(x, align) ((void*)((((u32)(x)) + (align)-1) & (~((align)-1)))) + +#define OSRoundDown(x, align) ((x) & (-(align))) +#define OSRoundDownPtr(x, align) ((void*)(((u32)(x)) & (~((align)-1)))) + +static OSHeapCell* DLInsert(OSHeapCell* list, OSHeapCell* child); +void OSFreeToHeap(OSHeapHandle handle, void* ptr); +s32 OSSetCurrentHeap(OSHeapHandle handle); void* OSInitAlloc(void* lo, void* hi, s32 maxHeaps); OSHeapHandle OSCreateHeap(void* start, void* end); diff --git a/include/dolphin/os/OSContext.h b/include/dolphin/os/OSContext.h index 0de4725bde..7a22d6b231 100644 --- a/include/dolphin/os/OSContext.h +++ b/include/dolphin/os/OSContext.h @@ -7,8 +7,6 @@ extern "C" { #endif -typedef void (*OSSwitchThreadCallback)(struct OSThread* from, struct OSThread* to); - typedef struct OSContext { /* 0x000 */ u32 gpr[32]; /* 0x080 */ u32 cr; @@ -16,7 +14,7 @@ typedef struct OSContext { /* 0x088 */ u32 ctr; /* 0x08C */ u32 xer; /* 0x090 */ f64 fpr[32]; - /* 0x190 */ u32 padding_1; + /* 0x190 */ u32 field_0x190; /* 0x194 */ u32 fpscr; /* 0x198 */ u32 srr0; /* 0x19C */ u32 srr1; @@ -26,8 +24,11 @@ typedef struct OSContext { /* 0x1C4 */ f64 ps[32]; } OSContext; +OSContext* OS_CURRENT_CONTEXT : 0x800000D4; +OSContext* OS_CURRENT_FPU_CONTEXT : 0x800000D8; + void __OSLoadFPUContext(void); -void __OSSaveFPUContext(OSContext* context); +void __OSSaveFPUContext(s32 unused0, s32 unused1, OSContext* context); void OSSaveFPUContext(OSContext* context); void OSSetCurrentContext(OSContext* context); OSContext* OSGetCurrentContext(void); @@ -36,7 +37,7 @@ void OSLoadContext(OSContext* context); void OSClearContext(OSContext* context); void OSInitContext(OSContext* context, u32 pc, u32 lr); void OSDumpContext(OSContext* context); -static void OSSwitchFPUContext(OSContext* context); +static void OSSwitchFPUContext(u8 err, OSContext* context); void __OSContextInit(void); void OSFillFPUContext(OSContext* context); diff --git a/include/dolphin/os/OSError.h b/include/dolphin/os/OSError.h index 7333e207a4..6f5b41f57d 100644 --- a/include/dolphin/os/OSError.h +++ b/include/dolphin/os/OSError.h @@ -1,18 +1,14 @@ #ifndef OSERROR_H #define OSERROR_H -#include "dolphin/types.h" +#include "dolphin/os/OSContext.h" #ifdef __cplusplus extern "C" { #endif -struct OSContext; - extern u32 __OSFpscrEnableBits; - typedef u16 OSError; -typedef void (*OSErrorHandler)(OSError error, OSContext* context, u32, u32); #define OS_ERROR_SYSTEM_RESET 0 #define OS_ERROR_MACHINE_CHECK 1 @@ -32,7 +28,7 @@ typedef void (*OSErrorHandler)(OSError error, OSContext* context, u32, u32); #define OS_ERROR_MEMORY_PROTECTION 15 #define OS_ERROR_FLOATING_POINT_EXCEPTION 16 -typedef enum OSException { +typedef enum { EXCEPTION_SYSTEM_RESET, EXCEPTION_MACHINE_CHECK, EXCEPTION_DSI, @@ -52,6 +48,10 @@ typedef enum OSException { EXCEPTION_FLOATING_POINT_EXCEPTION, } OSException; +typedef u8 __OSException; + +typedef void (*OSErrorHandler)(OSError error, OSContext* context, u32, u32); + OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler); void __OSUnhandledException(OSException exception, OSContext* context, u32 dsisr, u32 dar); diff --git a/include/dolphin/os/OSInterrupt.h b/include/dolphin/os/OSInterrupt.h index 130ed6255d..ac5ccf9779 100644 --- a/include/dolphin/os/OSInterrupt.h +++ b/include/dolphin/os/OSInterrupt.h @@ -1,15 +1,52 @@ #ifndef OSINTERRUPT_H #define OSINTERRUPT_H -#include "dolphin/types.h" +#include "dolphin/os/OSContext.h" #ifdef __cplusplus extern "C" { #endif +typedef enum { + OS_INTR_MEM_0, + OS_INTR_MEM_1, + OS_INTR_MEM_2, + OS_INTR_MEM_3, + OS_INTR_MEM_ADDRESS, + OS_INTR_DSP_AI, + OS_INTR_DSP_ARAM, + OS_INTR_DSP_DSP, + OS_INTR_AI_AI, + OS_INTR_EXI_0_EXI, + OS_INTR_EXI_0_TC, + OS_INTR_EXI_0_EXT, + OS_INTR_EXI_1_EXI, + OS_INTR_EXI_1_TC, + OS_INTR_EXI_1_EXT, + OS_INTR_EXI_2_EXI, + OS_INTR_EXI_2_TC, + OS_INTR_PI_CP, + OS_INTR_PI_PE_TOKEN, + OS_INTR_PI_PE_FINISH, + OS_INTR_PI_SI, + OS_INTR_PI_DI, + OS_INTR_PI_RSW, + OS_INTR_PI_ERROR, + OS_INTR_PI_VI, + OS_INTR_PI_DEBUG, + OS_INTR_PI_HSP, + OS_INTR_PI_ACR, + OS_INTR_28, + OS_INTR_29, + OS_INTR_30, + OS_INTR_31, + + OS_INTR_MAX +} OSInterruptType; + typedef s16 OSInterrupt; typedef u32 OSInterruptMask; -typedef void (*OSInterruptHandler)(OSInterrupt interrupt, struct OSContext* context); +typedef void (*OSInterruptHandler)(OSInterrupt interrupt, OSContext* context); BOOL OSDisableInterrupts(void); void __RAS_OSDisableInterrupts_end(void); @@ -21,8 +58,11 @@ void __OSInterruptInit(void); static OSInterruptMask SetInterruptMask(OSInterruptMask param_0, OSInterruptMask param_1); OSInterruptMask __OSMaskInterrupts(OSInterruptMask mask); OSInterruptMask __OSUnmaskInterrupts(OSInterruptMask mask); -void __OSDispatchInterrupt(OSInterrupt interrupt, struct OSContext* context); -static void ExternalInterruptHandler(OSInterrupt interrupt, struct OSContext* context); +void __OSDispatchInterrupt(OSInterrupt interrupt, OSContext* context); +static void ExternalInterruptHandler(OSInterrupt interrupt, OSContext* context); + +void __RAS_OSDisableInterrupts_begin(void); +void __RAS_OSDisableInterrupts_end(void); #ifdef __cplusplus }; diff --git a/include/dolphin/os/OSLink.h b/include/dolphin/os/OSLink.h index 454e6d04f8..06f1bb3015 100644 --- a/include/dolphin/os/OSLink.h +++ b/include/dolphin/os/OSLink.h @@ -7,6 +7,14 @@ extern "C" { #endif +typedef struct OSModuleQueue { + int* first; + int* last; +} OSModuleQueue; + +OSModuleQueue __OSModuleList : 0x800030C8; +void* __OSStringTable : 0x800030D0; + typedef struct OSSectionInfo { u32 mOffset; u32 mSize; diff --git a/include/dolphin/os/OSMemory.h b/include/dolphin/os/OSMemory.h index e91de88948..7a1be5185c 100644 --- a/include/dolphin/os/OSMemory.h +++ b/include/dolphin/os/OSMemory.h @@ -13,7 +13,7 @@ static void MEMIntrruptHandler(OSInterrupt interrupt, struct OSContext* context) void OSProtectRange(u32 channel, void* address, u32 nBytes, u32 control); static void Config24MB(void); static void Config48MB(void); -static void RealMode(void); +static void RealMode(void* config); void __OSInitMemoryProtection(void); #ifdef __cplusplus diff --git a/include/dolphin/os/OSMessage.h b/include/dolphin/os/OSMessage.h index d8a42deeda..d4ab6b3601 100644 --- a/include/dolphin/os/OSMessage.h +++ b/include/dolphin/os/OSMessage.h @@ -1,7 +1,6 @@ #ifndef OSMESSAGE_H #define OSMESSAGE_H -#include "dolphin/types.h" #include "dolphin/os/OSThread.h" #ifdef __cplusplus diff --git a/include/dolphin/os/OSMutex.h b/include/dolphin/os/OSMutex.h index 81d2c75435..a3815e294a 100644 --- a/include/dolphin/os/OSMutex.h +++ b/include/dolphin/os/OSMutex.h @@ -1,24 +1,30 @@ #ifndef OSMUTEX_H #define OSMUTEX_H -#include "dolphin/types.h" #include "dolphin/os/OSThread.h" #ifdef __cplusplus extern "C" { #endif -void OSInitMutex(struct OSMutex* mutex); -void OSLockMutex(struct OSMutex* mutex); -void OSUnlockMutex(struct OSMutex* mutex); -void __OSUnlockAllMutex(struct OSThread* thread); -s32 OSTryLockMutex(struct OSMutex* mutex); -void OSInitCond(struct OSCond* cond); -void OSWaitCond(struct OSCond* cond, struct OSMutex* mutex); -void OSSignalCond(struct OSCond* cond); -s32 __OSCheckMutex(struct OSThread* thread); -BOOL __OSCheckDeadLock(struct OSThread* thread); -BOOL __OSCheckMutexes(struct OSThread* thread); +typedef struct OSMutex { + /* 0x00 */ OSThreadQueue queue; + /* 0x08 */ OSThread* thread; + /* 0x0C */ s32 count; + /* 0x10 */ OSMutexLink link; +} OSMutex; // Size: 0x18 + +void OSInitMutex(OSMutex* mutex); +void OSLockMutex(OSMutex* mutex); +void OSUnlockMutex(OSMutex* mutex); +void __OSUnlockAllMutex(OSThread* thread); +s32 OSTryLockMutex(OSMutex* mutex); +void OSInitCond(OSCond* cond); +void OSWaitCond(OSCond* cond, OSMutex* mutex); +void OSSignalCond(OSCond* cond); +s32 __OSCheckMutex(OSThread* thread); +BOOL __OSCheckDeadLock(OSThread* thread); +BOOL __OSCheckMutexes(OSThread* thread); #ifdef __cplusplus }; diff --git a/include/dolphin/os/OSReboot.h b/include/dolphin/os/OSReboot.h index 4b9438a1ac..4c9be11c43 100644 --- a/include/dolphin/os/OSReboot.h +++ b/include/dolphin/os/OSReboot.h @@ -9,7 +9,7 @@ extern "C" { void __OSReboot(u32 param_0, u32 param_1); void OSSetSaveRegion(void* start, void* end); -void OSGetSaveRegion(void* start, void* end); +void OSGetSaveRegion(void** start, void** end); #ifdef __cplusplus }; diff --git a/include/dolphin/os/OSSync.h b/include/dolphin/os/OSSync.h index d7fcc930f5..880f44dd90 100644 --- a/include/dolphin/os/OSSync.h +++ b/include/dolphin/os/OSSync.h @@ -10,6 +10,8 @@ extern "C" { static void SystemCallVector(void); void __OSInitSystemCall(void); +void __OSSystemCallVectorEnd(void); + #ifdef __cplusplus }; #endif diff --git a/include/dolphin/os/OSThread.h b/include/dolphin/os/OSThread.h index 0776ded1c1..5b77de9412 100644 --- a/include/dolphin/os/OSThread.h +++ b/include/dolphin/os/OSThread.h @@ -1,8 +1,6 @@ #ifndef OSTHREAD_H #define OSTHREAD_H -#include "dolphin/types.h" -#include "dolphin/os/OSMutex.h" #include "dolphin/os/OSContext.h" #ifdef __cplusplus @@ -16,24 +14,6 @@ typedef u16 OSThreadState; #define OS_THREAD_STATE_WAITING 4 #define OS_THREAD_STATE_DEAD 8 -typedef struct OSMutexLink { - struct OSMutex* prev; - struct OSMutex* next; -} OSMutexLink; - -typedef struct OSMutexQueue { - struct OSMutex* prev; - struct OSMutex* next; -} OSMutexQueue; - -typedef struct OSMutex { - /* 0x00 */ //OSThreadQueue queue; - /* 0x08 */ //OSThread* thread; - /* 0x0C */ //s32 count; - /* 0x10 */ //OSMutexLink link; - u8 unk[24]; -} OSMutex; // Size: 0x18 - typedef struct OSThreadLink { struct OSThread* prev; struct OSThread* next; @@ -44,32 +24,45 @@ typedef struct OSThreadQueue { /* 0x4 */ struct OSThread* tail; } OSThreadQueue; +typedef struct OSMutexLink { + struct OSMutex* prev; + struct OSMutex* next; +} OSMutexLink; + +typedef struct OSMutexQueue { + struct OSMutex* prev; + struct OSMutex* next; +} OSMutexQueue; + typedef struct OSCond { - struct OSThreadQueue queue; + OSThreadQueue queue; } OSCond; -typedef void (*OSSwitchThreadCallback)(struct OSThread* from, struct OSThread* to); - typedef struct OSThread { - struct OSContext context; + OSContext context; OSThreadState state; u16 attributes; s32 suspend_count; - u32 effective_priority; + s32 effective_priority; u32 base_priority; void* exit_value; - struct OSThreadQueue* queue; - struct OSThreadLink link; - struct OSThreadQueue join_queue; + OSThreadQueue* queue; + OSThreadLink link; + OSThreadQueue join_queue; struct OSMutex* mutex; OSMutexQueue owned_mutexes; - struct OSThreadLink active_threads_link; + OSThreadLink active_threads_link; u8* stack_base; u8* stack_end; u8* error_code; void* data[2]; } OSThread; +typedef void (*OSSwitchThreadCallback)(OSThread* from, OSThread* to); + +OSThreadQueue OS_THREAD_QUEUE : 0x800000DC; +OSThread* OS_CURRENT_THREAD : 0x800000E4; + static void DefaultSwitchThreadCallback(OSThread* from, OSThread* to); OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback func); void __OSThreadInit(void); diff --git a/include/dolphin/os/OSTime.h b/include/dolphin/os/OSTime.h index ea432f587f..38470ad781 100644 --- a/include/dolphin/os/OSTime.h +++ b/include/dolphin/os/OSTime.h @@ -10,6 +10,8 @@ extern "C" { typedef s64 OSTime; typedef u32 OSTick; +OSTime OS_SYSTEM_TIME : 0x800030D8; + typedef struct OSCalendarTime { /* 0x00 */ s32 seconds; /* 0x04 */ s32 minutes; diff --git a/include/dolphin/pad/Pad.h b/include/dolphin/pad/Pad.h index db289f7102..984b69b2f6 100644 --- a/include/dolphin/pad/Pad.h +++ b/include/dolphin/pad/Pad.h @@ -3,12 +3,11 @@ #include "dolphin/types.h" -typedef enum PADMask { - // PAD_CHAN3_BIT = (1 << 0), - // PAD_CHAN2_BIT = (1 << 1), - // PAD_CHAN1_BIT = (1 << 2), - // PAD_CHAN0_BIT = (1 << 3), +#ifdef __cplusplus +extern "C" { +#endif +typedef enum PADMask { PAD_CHAN3_BIT = (1 << 28), PAD_CHAN2_BIT = (1 << 29), PAD_CHAN1_BIT = (1 << 30), @@ -28,16 +27,18 @@ typedef struct PADStatus { /* 0xA */ s8 error; } PADStatus; -extern "C" { u32 PADInit(void); void PADSetAnalogMode(u32 mode); void PADSetSpec(int spec); -s32 PADReset(PADMask mask); +BOOL PADReset(u32 mask); void PADClampCircle(PADStatus* status); void PADClamp(PADStatus* status); -u32 PADRead(PADStatus* status); +void PADRead(PADStatus* status); void PADControlMotor(s32 channel, u32 command); -s32 PADRecalibrate(PADMask mask); -} +BOOL PADRecalibrate(u32 mask); + +#ifdef __cplusplus +}; +#endif #endif /* PAD_H */ diff --git a/include/dolphin/vi/vi.h b/include/dolphin/vi/vi.h index 350f64483d..e3eb7c8902 100644 --- a/include/dolphin/vi/vi.h +++ b/include/dolphin/vi/vi.h @@ -4,18 +4,26 @@ #include "dolphin/gx/GX.h" #include "dolphin/types.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef void (*VIRetraceCallback)(u32); -extern "C" void VIWaitForRetrace(void); -extern "C" void VISetNextFrameBuffer(void*); -extern "C" VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback); -extern "C" VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback); -extern "C" void VIInit(); -extern "C" void VIConfigure(GXRenderModeObj*); -extern "C" void VIFlush(); -extern "C" void* VIGetNextFrameBuffer(); -extern "C" void* VIGetCurrentFrameBuffer(); -extern "C" void VISetBlack(BOOL); -extern "C" u32 VIGetRetraceCount(); +void VIWaitForRetrace(void); +void VISetNextFrameBuffer(void*); +VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback); +VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback); +void VIInit(); +void VIConfigure(GXRenderModeObj*); +void VIFlush(); +void* VIGetNextFrameBuffer(); +void* VIGetCurrentFrameBuffer(); +void VISetBlack(BOOL); +u32 VIGetRetraceCount(); + +#ifdef __cplusplus +}; +#endif #endif /* VI_H */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index e85f70bf2c..a7fe695e1d 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -26,6 +26,7 @@ public: void setMapToolId(u8 id) { mMapToolId = id; } void setEventId(s16 id) { mEventId = id; } void setCondition(u16 condition) { mCondition = condition; } + u16 getCondition() { return mCondition; } void setArchiveName(char* name) { mArchiveName = name; } u8 getMapToolId() { return mMapToolId; } s16 getEventId() { return mEventId; } @@ -134,6 +135,28 @@ public: s8 getRoomNo() const { return current.mRoomNo; } }; // Size: 0x568 +class fopEn_enemy_c : public fopAc_ac_c { +public: + /* 80019404 */ void initBallModel(); + /* 800194FC */ void checkBallModelDraw(); + /* 80019520 */ void setBallModelEffect(dKy_tevstr_c*); + /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); + + /* 0x568 */ cXyz mDownPos; + /* 0x574 */ cXyz mHeadLockPos; + /* 0x580 */ J3DModel* mBallModel; + /* 0x584 */ J3DAnmTextureSRTKey* mBtk; + /* 0x588 */ J3DAnmTevRegKey* mBrk; + /* 0x58C */ u8 field_0x58c; + /* 0x58D */ u8 mThrowMode; + /* 0x58E */ u16 mFlags; + /* 0x590 */ f32 field_0x590; + /* 0x594 */ u32 mEffectID1; + /* 0x598 */ u32 mEffectID2; + /* 0x59C */ u32 mMidnaBindID[3]; + /* 0x5A8 */ u8 field_0x5a8; +}; // Size: 0x5AC + s32 fopAc_IsActor(void* actor); #endif diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 0fd60a1a98..867380a90d 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -116,6 +116,10 @@ inline s16 fopAcM_GetName(void* pActor) { return fpcM_GetName(pActor); } +inline MtxP fopAcM_GetMtx(const fopAc_ac_c* pActor) { + return pActor->mCullMtx; +} + inline u32 fopAcM_checkStatus(fopAc_ac_c* pActor, u32 status) { return pActor->mStatus & status; } @@ -412,6 +416,7 @@ s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16); void* fopAcM_getTalkEventPartner(const fopAc_ac_c*); void* fopAcM_getItemEventPartner(const fopAc_ac_c*); void* fopAcM_getEventPartner(const fopAc_ac_c*); +static void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1); 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); @@ -459,7 +464,7 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const s32 fopAcM_createBokkuri(u16, const cXyz*, int, int, int, const cXyz*, int, int); s32 fopAcM_createWarpHole(const cXyz*, const csXyz*, int, u8, u8, u8); -void fopAcM_myRoomSearchEnemy(s8 roomNo); +fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo); s32 fopAcM_createDisappear(const fopAc_ac_c*, const cXyz*, u8, u8, u8); void fopAcM_setCarryNow(fopAc_ac_c*, int); diff --git a/include/f_pc/f_pc_executor.h b/include/f_pc/f_pc_executor.h index eaf0a22751..fca6a858c1 100644 --- a/include/f_pc/f_pc_executor.h +++ b/include/f_pc/f_pc_executor.h @@ -16,6 +16,10 @@ s32 fpcEx_Execute(base_process_class* pProc); s32 fpcEx_ToExecuteQ(base_process_class* pProc); void fpcEx_Handler(fpcLnIt_QueueFunc pFunc); +inline base_process_class* fpcM_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData) { + return fpcEx_Search(pFunc, pUserData); +} + extern "C" { void fpcEx_IsExist__FUi(void); } diff --git a/include/global.h b/include/global.h index fb78565981..8f0e1a3a78 100644 --- a/include/global.h +++ b/include/global.h @@ -31,11 +31,6 @@ #define STATIC_ASSERT(...) #endif -struct JUTWarn { - JUTWarn& operator<<(const char*) { return *this; } - JUTWarn& operator<<(long) { return *this; } -}; - // hack to make functions that return comparisons as int match extern int __cntlzw(unsigned int); inline BOOL checkEqual(s32 a, s32 b) { diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index fe95da6259..f205d388d1 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -42,13 +42,24 @@ void mDoAud_resetProcess(); bool mDoAud_resetRecover(); void mDoAud_setSceneName(char const* spot, s32 room, s32 layer); s32 mDoAud_load1stDynamicWave(); +static void mDoAud_setLinkGroupInfo(u8 param_0); +static void mDoAud_setLinkHp(s32 param_0, s32 param_1); +static void mDoAud_seStartLevel(u32 param_0, Vec const* param_1, u32 param_2, s8 param_3); inline void mDoAud_bgmSetSwordUsing(s32 id) { Z2AudioMgr::getInterface()->mSeqMgr.bgmSetSwordUsing(id); } -inline void mDoAud_bgmStart(u32 id) { - Z2AudioMgr::getInterface()->mSeqMgr.bgmStart(id, 0, 0); +inline void mDoAud_bgmStart(u32 i_bgmID) { + Z2AudioMgr::getInterface()->mSeqMgr.bgmStart(i_bgmID, 0, 0); +} + +inline void mDoAud_subBgmStart(u32 i_bgmID) { + Z2AudioMgr::getInterface()->mSeqMgr.subBgmStart(i_bgmID); +} + +inline void mDoAud_bgmNowBattle(f32 param_0) { + Z2AudioMgr::getInterface()->mSeqMgr.bgmNowBattle(param_0); } inline void mDoAud_bgmStreamPrepare(u32 param_0) { @@ -75,13 +86,13 @@ inline void mDoAud_setInDarkness(bool state) { Z2AudioMgr::getInterface()->mSceneMgr.setInDarkness(state); } -inline void mDoAud_seStart(u32 sfx_id, const Vec* param_1, u32 param_2, s8 param_3) { - Z2AudioMgr::getInterface()->mSeMgr.seStart(sfx_id, param_1, param_2, param_3, 1.0f, 1.0f, -1.0f, +inline void mDoAud_seStart(u32 i_sfxID, const Vec* i_sePos, u32 param_2, s8 i_reverb) { + Z2AudioMgr::getInterface()->mSeMgr.seStart(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0); } -inline void i_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, +inline void i_mDoAud_seStartLevel(u32 i_sfxID, const Vec* i_sePos, u32 param_2, s8 i_reverb) { + Z2AudioMgr::getInterface()->mSeMgr.seStartLevel(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0); } diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index ab055c090c..b9e22e443d 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -46,17 +46,21 @@ private: class mDoExt_btkAnm : public mDoExt_baseAnm { public: mDoExt_btkAnm() { mpAnm = 0; } - /* 8000D63C */ int init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); + /* 8000D63C */ int init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6); + /* 8000D6D8 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame); - void entry(J3DModelData* data) { entry(data, getFrame()); } - void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); } - int init(J3DModelData* data, J3DAnmTextureSRTKey* key, int param_2, int param_3, f32 param_4, - s16 param_5, s16 param_6) { - return init(&data->getMaterialTable(), key, param_2, param_3, param_4, param_5, param_6); + void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } + void entry(J3DModelData* i_modelData, f32 i_frame) { + entry(&i_modelData->getMaterialTable(), i_frame); + } + int init(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, int i_attribute, + f32 i_rate, s16 i_start, s16 param_6) { + return init(&i_modelData->getMaterialTable(), i_btk, i_anmPlay, i_attribute, i_rate, + i_start, param_6); } - int remove(J3DModelData* data) { return data->removeTexMtxAnimator(mpAnm); } + int remove(J3DModelData* i_modelData) { return i_modelData->removeTexMtxAnimator(mpAnm); } private: /* 0x14 */ J3DAnmTextureSRTKey* mpAnm; @@ -67,18 +71,22 @@ STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18); class mDoExt_brkAnm : public mDoExt_baseAnm { public: mDoExt_brkAnm() { mpAnm = 0; } - /* 8000D70C */ int init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); + /* 8000D70C */ int init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay, + int i_attribute, f32 i_rate, s16 i_start, s16 param_6); + /* 8000D7A8 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame); - void entry(J3DModelData* data) { entry(data, getFrame()); } - void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); } - - int init(J3DModelData* data, J3DAnmTevRegKey* anmKey, int param_2, int param_3, f32 param_4, - s16 param_5, s16 param_6) { - return init(&data->getMaterialTable(), anmKey, param_2, param_3, param_4, param_5, param_6); + void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } + void entry(J3DModelData* i_modelData, f32 i_frame) { + entry(&i_modelData->getMaterialTable(), i_frame); } - int remove(J3DModelData* data) { return data->removeTevRegAnimator(mpAnm); } + int init(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int i_anmPlay, int i_attribute, + f32 i_rate, s16 i_start, s16 param_6) { + return init(&i_modelData->getMaterialTable(), i_brk, i_anmPlay, i_attribute, i_rate, + i_start, param_6); + } + + int remove(J3DModelData* i_modelData) { return i_modelData->removeTevRegAnimator(mpAnm); } private: /* 0x14 */ J3DAnmTevRegKey* mpAnm; @@ -93,16 +101,18 @@ public: int i_attribute, f32 i_rate, s16 i_start, s16 param_6); /* 8000D518 */ void entry(J3DMaterialTable* i_matTable, f32 i_frame); - void entry(J3DModelData* data) { entry(data, getFrame()); } - void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); } - - int init(J3DModelData* data, J3DAnmColor* anmColor, int param_2, int param_3, f32 param_4, - s16 param_5, s16 param_6) { - return init(&data->getMaterialTable(), anmColor, param_2, param_3, param_4, param_5, - param_6); + void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } + void entry(J3DModelData* i_modelData, f32 i_frame) { + entry(&i_modelData->getMaterialTable(), i_frame); } - int remove(J3DModelData* data) { return data->removeMatColorAnimator(mpAnm); } + int init(J3DModelData* i_modelData, J3DAnmColor* i_bpk, int i_anmPlay, int i_attribute, + f32 i_rate, s16 i_start, s16 param_6) { + return init(&i_modelData->getMaterialTable(), i_bpk, i_anmPlay, i_attribute, i_rate, + i_start, param_6); + } + + int remove(J3DModelData* i_modelData) { return i_modelData->removeMatColorAnimator(mpAnm); } private: /* 0x14 */ J3DAnmColor* mpAnm; @@ -115,12 +125,16 @@ public: mDoExt_bckAnm() { mpMtxCalc = NULL; } /* 8000D7DC */ int init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate, s16 i_startF, s16 i_endF, bool i_modify); - /* 8000D990 */ void changeBckOnly(J3DAnmTransform*); - /* 8000D9CC */ void entry(J3DModelData*, f32); - /* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32); + /* 8000D990 */ void changeBckOnly(J3DAnmTransform* i_bck); + /* 8000D9CC */ void entry(J3DModelData* i_modelData, f32 i_frame); + /* 8000D9E8 */ void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame); - void entry(J3DModelData* data) { entry(data, getFrame()); } + void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } J3DAnmTransform* getBckAnm() { return mAnm; } + void removeJoint (J3DModelData* i_modelData, u16 i_idx) { + J3DJoint* mpJnt = i_modelData->getJointNodePointer(i_idx); + mpJnt->setMtxCalc(0); + } private: /* 0x14 */ J3DAnmTransform* mAnm; @@ -136,16 +150,18 @@ public: int i_attribute, f32 i_rate, s16 i_start, s16 param_6); /* 8000D5E8 */ void entry(J3DMaterialTable* i_matTable, s16 i_frame); - void entry(J3DModelData* data) { entry(data, getFrame()); } - void entry(J3DModelData* data, s16 frame) { entry(&data->getMaterialTable(), frame); } - - int init(J3DModelData* data, J3DAnmTexPattern* anmPattern, int param_2, int param_3, - f32 param_4, s16 param_5, s16 param_6) { - return init(&data->getMaterialTable(), anmPattern, param_2, param_3, param_4, param_5, - param_6); + void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); } + void entry(J3DModelData* i_modelData, s16 i_frame) { + entry(&i_modelData->getMaterialTable(), i_frame); } - int remove(J3DModelData* data) { return data->removeTexNoAnimator(mpAnm); } + int init(J3DModelData* i_modelData, J3DAnmTexPattern* i_btk, int i_anmPlay, int i_attribute, + f32 i_rate, s16 i_start, s16 param_6) { + return init(&i_modelData->getMaterialTable(), i_btk, i_anmPlay, i_attribute, i_rate, + i_start, param_6); + } + + int remove(J3DModelData* i_modelData) { return i_modelData->removeTexNoAnimator(mpAnm); } private: /* 0x14 */ J3DAnmTexPattern* mpAnm; @@ -156,6 +172,8 @@ public: /* 8000DA08 */ int init(J3DDeformData* i_deformData, J3DAnmCluster* i_blk, int i_anmPlay, int i_attribute, f32 i_rate, s16 i_start, s16 param_6); + J3DAnmCluster* getBlkAnm() { return mpAnm; } + private: /* 0x14 */ J3DAnmCluster* mpAnm; }; @@ -197,7 +215,7 @@ private: class mDoExt_invisibleModel { public: - /* 8000E53C */ int create(J3DModel*, u8); + /* 8000E53C */ int create(J3DModel* i_model, u8 param_1); /* 8000E6C8 */ void entryJoint(cXyz*); /* 8000E7C0 */ void entryDL(cXyz*); @@ -219,15 +237,18 @@ class mDoExt_morf_c { // inheritance causing issues, fix later public: /* 8000F950 */ mDoExt_morf_c(); - /* 8000FB7C */ void setMorf(f32); + /* 8000FB7C */ void setMorf(f32 i_morf); /* 8000FBC0 */ void frameUpdate(); /* 8000FAE8 */ virtual ~mDoExt_morf_c(); void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); } - f32 getPlaySpeed() { return mFrameCtrl.getRate(); } f32 getFrame() { return mFrameCtrl.getFrame(); } + u8 getPlayMode() { return mFrameCtrl.getAttribute(); } + bool isLoop() { return mFrameCtrl.checkState(2); } + void setFrame(f32 frame) { mFrameCtrl.setFrame((s16)frame); } + f32 getEndFrame() { return mFrameCtrl.getEnd(); } bool isStop() { bool stopped = true; @@ -297,6 +318,8 @@ public: /* 8000FD10 */ virtual ~mDoExt_McaMorf(); /* 80010074 */ virtual void calc(); + J3DModel* getModel() { return mpModel; } + private: /* 0x38 */ mDoExt_McaMorfCallBack1_c* mpCallback1; /* 0x3C */ mDoExt_McaMorfCallBack2_c* mpCallback2; @@ -365,7 +388,7 @@ struct mDoExt_MtxCalcAnmBlendTblOld }; // Size: 0xC struct mDoExt_MtxCalcAnmBlendTbl : public mDoExt_MtxCalcAnmBlendTblOld { - /* 800D00BC */ void getAnm(int); + /* 800D00BC */ J3DAnmTransform* getAnm(int); /* 80014F3C */ virtual ~mDoExt_MtxCalcAnmBlendTbl(); /* 8000F26C */ virtual void calc(); diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 32b4acb8e8..d989cefe34 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -36,6 +36,7 @@ public: /* 80007F90 */ static void beginRender(); /* 800080D0 */ static void fadeOut(f32); /* 80007FD8 */ static void fadeOut(f32, _GXColor&); + /* 807DFAB4 */ static void fadeIn(f32, _GXColor&); /* 80008028 */ static void fadeOut_f(f32, _GXColor&); /* 800080A0 */ static void onBlure(const Mtx); /* 80008078 */ static void onBlure(); diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 123a7d17b8..1f9d82853c 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -4,6 +4,7 @@ #include "SSystem/SComponent/c_sxyz.h" #include "SSystem/SComponent/c_xyz.h" #include "dolphin/mtx/mtx.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/mtx/quat.h" #include "dolphin/types.h" @@ -54,7 +55,7 @@ public: 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 void copy(const Mtx m) { PSMTXCopy(m, now); } + static void copy(Mtx m) { PSMTXCopy(now, m); } static Mtx now; static Mtx buffer[16]; diff --git a/include/rel/d/a/d_a_alldie/d_a_alldie.h b/include/rel/d/a/d_a_alldie/d_a_alldie.h index 9e194ee137..37bbe764a9 100644 --- a/include/rel/d/a/d_a_alldie/d_a_alldie.h +++ b/include/rel/d/a/d_a_alldie/d_a_alldie.h @@ -1,6 +1,36 @@ #ifndef D_A_ALLDIE_H #define D_A_ALLDIE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class daAlldie_c : public fopAc_ac_c { +public: + enum EAction { + /* 0x0 */ ACT_WAIT, + /* 0x1 */ ACT_CHECK, + /* 0x2 */ ACT_TIMER, + /* 0x3 */ ACT_ORDER, + /* 0x4 */ ACT_NEXT, + /* 0x5 */ ACT_EVENT, + }; + + /* 804D5818 */ u8 getEventNo(); + /* 804D5824 */ u8 getSwbit(); + /* 804D5830 */ int actionWait(); + /* 804D5838 */ int actionCheck(); + /* 804D5888 */ int actionTimer(); + /* 804D5938 */ int actionOrder(); + /* 804D59A0 */ int actionEvent(); + /* 804D5A44 */ int actionNext(); + /* 804D5B10 */ int execute(); + + inline int create(); + + /* 0x568 */ u8 mAction; + /* 0x56A */ s16 mTimer; + /* 0x56C */ s16 mEventIdx; + /* 0x56E */ s16 mNextEventIdx; + /* 0x570 */ s16 mMapToolID; +}; // Size: 0x574 #endif /* D_A_ALLDIE_H */ diff --git a/include/rel/d/a/d_a_boomerang/d_a_boomerang.h b/include/rel/d/a/d_a_boomerang/d_a_boomerang.h index cd39bb9e4f..e3f802d51b 100644 --- a/include/rel/d/a/d_a_boomerang/d_a_boomerang.h +++ b/include/rel/d/a/d_a_boomerang/d_a_boomerang.h @@ -90,6 +90,8 @@ public: void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; } void onWindCatch() { onStateFlg0(WIND_CATCH); } + bool checkForceDelete() const { return mForceDelete; } + bool checkCharge() const { return true; } private: /* 0x568 */ daMirror_c* field_0x568; @@ -114,7 +116,7 @@ private: /* 0x953 */ u8 field_0x953; /* 0x954 */ u8 field_0x954; /* 0x955 */ u8 field_0x955; - /* 0x956 */ u8 field_0x956; + /* 0x956 */ bool mForceDelete; /* 0x957 */ u8 field_0x957; /* 0x958 */ s16 field_0x958; /* 0x95A */ s16 field_0x95a; 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 fc9d8433af..b109ebe2f7 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 @@ -149,7 +149,7 @@ public: /* 80844CB0 */ daHorse_c(); bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; } - bool checkResetStateFlg0(daHorse_RFLG0 flag) { return mResetStateFlg0 & flag; } + bool checkResetStateFlg0(daHorse_RFLG0 flag) const { return mResetStateFlg0 & flag; } bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; } bool checkStateFlg0(daHorse_FLG0 flag) { return mStateFlg0 & flag; } f32 getNormalMaxSpeedF() { return mNormalMaxSpeedF; } @@ -157,6 +157,10 @@ public: 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; } + void i_setHorsePosAndAngle(cXyz const* i_pos, s16 i_angle) { (this->*mpSetHorsePosAngleFn)(i_pos, i_angle); } + + bool checkTurnStandCamera() const { return checkResetStateFlg0(TURN_STAND_CAMERA); } + bool checkTurnStand() const { return checkResetStateFlg0(TURN_STAND); } static u8 const m_footJointTable[8]; static f32 const m_callLimitDistance2; @@ -220,6 +224,15 @@ public: /* 0x1790 */ f32 mLashMaxSpeedF; /* 0x1794 */ u8 field_0x1794[0x30]; /* 0x17C4 */ cXyz mDemoPos0; + /* 0x17D0 */ u8 field_0x17d0[0x18A4 - 0x17D0]; + /* 0x18A4 */ int (daHorse_c::*mpProcFn)(); + /* 0x18A4 */ int (daHorse_c::*mpCheckSpecialWallHitFn)(const cXyz&); + /* 0x18A4 */ void (daHorse_c::*mpSetReinPosHandFn)(int); + /* 0x18A4 */ void (daHorse_c::*mpSetReinPosNormalFn)(); + /* 0x18A4 */ int (daHorse_c::*mpCallHorseFn)(const cXyz*); + /* 0x18A4 */ int (daHorse_c::*mpSetHorsePosAngleFn)(const cXyz* i_pos, s16 i_angle); + /* 0x18A4 */ void (daHorse_c::*mpOnRideFlgFn)(); + /* 0x18A4 */ void (daHorse_c::*mpOffRideFlgFn)(); }; #endif /* D_A_HORSE_H */ diff --git a/include/rel/d/a/d_a_movie_player/d_a_movie_player.h b/include/rel/d/a/d_a_movie_player/d_a_movie_player.h index 848f6787a1..8461581f8b 100644 --- a/include/rel/d/a/d_a_movie_player/d_a_movie_player.h +++ b/include/rel/d/a/d_a_movie_player/d_a_movie_player.h @@ -4,14 +4,12 @@ #include "dolphin/types.h" #include "f_op/f_op_actor.h" -typedef void (*daMP_Func)(); - class daMP_c : public fopAc_ac_c { public: - /* 80031AD0 */ static void daMP_c_THPPlayerPlay(); - /* 80031B24 */ void daMP_c_THPPlayerPause(); - /* 80031A78 */ void daMP_c_Get_MovieRestFrame(); - /* 80031AA4 */ void daMP_c_Set_PercentMovieVolume(f32); + /* 80031AD0 */ static int daMP_c_THPPlayerPlay(); + /* 80031B24 */ static void daMP_c_THPPlayerPause(); + /* 80031A78 */ static int daMP_c_Get_MovieRestFrame(); + /* 80031AA4 */ static void daMP_c_Set_PercentMovieVolume(f32); /* 80878BB8 */ void daMP_c_Get_arg_demoNo(); /* 80878C04 */ void daMP_c_Get_arg_movieNo(); /* 80878C28 */ void daMP_c_Init(); @@ -24,15 +22,15 @@ public: /* 80878F38 */ void daMP_c_Callback_Main(daMP_c*); /* 80878F70 */ void daMP_c_Callback_Draw(daMP_c*); - static u8 m_myObj[4]; + static daMP_c* m_myObj; private: - /* 0x568 */ daMP_Func mpGetMovieRestFrame; - /* 0x56C */ daMP_Func mpSetPercentMovieVol; - /* 0x570 */ daMP_Func mpTHPGetTotalFrame; - /* 0x574 */ daMP_Func mpTHPPlay; - /* 0x578 */ daMP_Func mpTHPStop; - /* 0x57C */ daMP_Func mpTHPPause; + /* 0x568 */ int (*mpGetMovieRestFrame)(void); + /* 0x56C */ void (*mpSetPercentMovieVol)(f32); + /* 0x570 */ int (*mpTHPGetTotalFrame)(void); + /* 0x574 */ int (*mpTHPPlay)(void); + /* 0x578 */ void (*mpTHPStop)(void); + /* 0x57C */ int (*mpTHPPause)(void); }; // Size: 0x580 #endif /* D_A_MOVIE_PLAYER_H */ diff --git a/include/rel/d/a/d_a_tboxSw/d_a_tboxSw.h b/include/rel/d/a/d_a_tboxSw/d_a_tboxSw.h index 21506b62d5..d3a0c3cbd1 100644 --- a/include/rel/d/a/d_a_tboxSw/d_a_tboxSw.h +++ b/include/rel/d/a/d_a_tboxSw/d_a_tboxSw.h @@ -1,6 +1,20 @@ #ifndef D_A_TBOXSW_H #define D_A_TBOXSW_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTboxSw_c : public fopAc_ac_c { +public: + /* 80D66858 */ int Create(); + /* 80D66860 */ int create(); + /* 80D668C8 */ int execute(); + /* 80D66938 */ int draw(); + /* 80D66940 */ int _delete(); +}; + +namespace daTboxSw_prm { + inline u8 getTboxNo(daTboxSw_c* p_tbox) { return fopAcM_GetParam(p_tbox) & 0x3F; } + inline u8 getSwNo(daTboxSw_c* p_tbox) { return fopAcM_GetParam(p_tbox) >> 8; } +}; #endif /* D_A_TBOXSW_H */ diff --git a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h index 0f5478c59d..e752b8586a 100644 --- a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h +++ b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h @@ -4,8 +4,17 @@ #include "Z2AudioLib/Z2Creature.h" #include "dolphin/types.h" #include "rel/d/a/d_a_horse/d_a_horse.h" +#include "SSystem/SComponent/c_phase.h" +#include "d/cc/d_cc_uty.h" -class e_wb_class : public fopAc_ac_c { +enum daE_wb_ACT { + /* 0x00 */ ACT_WAIT, + /* 0x15 */ ACT_S_DAMAGE = 0x15, + /* 0x65 */ ACT_PL_RIDE = 0x65, + /* 0x67 */ ACT_PL_RIDE_NOW = 0x67, +}; + +class e_wb_class : public fopEn_enemy_c { public: BOOL checkWait(); void setPlayerRideNow(); @@ -16,38 +25,133 @@ public: void setRunRideMode(); private: - /* 0x0568 */ u8 field_0x568[0x4C]; + /* 0x05AC */ request_of_phase_process_class mPhase; /* 0x05B4 */ s16 field_0x5b4; - /* 0x05B6 */ u8 unk1462[9]; + /* 0x05B8 */ char* mResName; + /* 0x05BC */ u8 field_0x5bc; + /* 0x05BD */ u8 field_0x5bd; + /* 0x05BE */ u8 field_0x5be; /* 0x05BF */ bool field_0x5bf; - /* 0x05C0 */ u8 field_0x5c0[0x20]; - /* 0x05E0 */ void* field_0x5e0; - /* 0x05E4 */ u8 field_0x5e4[8]; + /* 0x05C0 */ u8 field_0x5c0; + /* 0x05C4 */ cXyz field_0x5c4; + /* 0x05D0 */ cXyz field_0x5d0; + /* 0x05DC */ s16 field_0x5dc; + /* 0x05DE */ s16 field_0x5de; + /* 0x05E0 */ mDoExt_McaMorfSO* field_0x5e0; + /* 0x05E4 */ f32 field_0x5e4; + /* 0x05E8 */ int mAnmID; /* 0x05EC */ Z2CreatureRide mZ2Ride; - /* 0x0688 */ u8 unk1673[6]; + /* 0x0688 */ u8 field_0x688[4]; + /* 0x068C */ s8 field_0x68c; /* 0x068E */ s16 field_0x68e; - /* 0x0690 */ s16 field_0x690; + /* 0x0690 */ s16 mActionID; /* 0x0692 */ u16 field_0x692; - /* 0x0694 */ u8 unk1684[0xc]; + /* 0x0694 */ u32 field_0x694; + /* 0x0698 */ s16 field_0x698[4]; /* 0x06A0 */ s16 field_0x6a0; - /* 0x06A2 */ u8 field_0x6a2[0xc]; + /* 0x06A2 */ u8 field_0x6a2[0x6ae - 0x6a2]; /* 0x06AE */ s16 field_0x6ae; /* 0x06B0 */ s16 field_0x6b0; - /* 0x06B2 */ u8 field_0x6b2[0xc]; + /* 0x06B2 */ s16 field_0x6b2; + /* 0x06B4 */ u8 field_0x6b4[0x6b6 - 0x6b4]; + /* 0x06B6 */ s16 field_0x6b6; + /* 0x06B8 */ u8 field_0x6b8[0x6ba - 0x6b8]; + /* 0x06BA */ s16 field_0x6ba; + /* 0x06BC */ u8 field_0x6bc; + /* 0x06BD */ u8 field_0x6bd; /* 0x06BE */ u16 field_0x6be; - /* 0x06C0 */ u8 field_0x6c0[0xdd]; - /* 0x079D */ u8 field_0x79d; - /* 0x079E */ u8 field_0x79e[0x4e]; + /* 0x06C0 */ s8 field_0x6c0; + /* 0x06C4 */ cXyz field_0x6c4; + /* 0x06D0 */ s16 field_0x6d0; + /* 0x06D2 */ s16 field_0x6d2; + /* 0x06D4 */ s16 field_0x6d4; + /* 0x06D6 */ s16 field_0x6d6; + /* 0x06D8 */ u8 field_0x6d8[0x6da - 0x6d8]; + /* 0x06DA */ s16 field_0x6da; + /* 0x06DC */ s16 field_0x6dc; + /* 0x06DE */ u8 field_0x6de[0x6e4 - 0x6de]; + /* 0x06E4 */ u8 field_0x6e4; + /* 0x06E5 */ u8 field_0x6e5[0x79a - 0x6e5]; + /* 0x079A */ s16 field_0x79a; + /* 0x079C */ u8 field_0x79c; + /* 0x079D */ s8 field_0x79d; + /* 0x079E */ s8 field_0x79e; + /* 0x079F */ s8 field_0x79f; + /* 0x07A0 */ s16 field_0x7a0; + /* 0x07A2 */ s8 field_0x7a2; + /* 0x07A4 */ s16 field_0x7a4; + /* 0x07A6 */ s8 field_0x7a6; + /* 0x07A7 */ s8 field_0x7a7; + /* 0x07A8 */ f32 field_0x7a8; + /* 0x07AC */ dBgS_AcchCir field_0x7ac; /* 0x07EC */ dBgS_Acch field_0x7ec; - /* 0x09C4 */ cXyz field_0x9c4; - /* 0x09D0 */ u8 field_0x9d0[0xa5f]; - /* 0x142F */ u8 field_0x142f; - /* 0x1430 */ u8 field_0x1430; + /* 0x09C4 */ dCcD_Stts field_0x9c4; + /* 0x0A00 */ dCcD_Sph field_0xa00[7]; + /* 0x1288 */ dCcD_Sph field_0x1288; + /* 0x13C0 */ dCcU_AtInfo field_0x13c0; + /* 0x13E4 */ u8 field_0x13e4; + /* 0x13E8 */ u32 field_0x13e8; + /* 0x13EC */ u32 field_0x13ec; + /* 0x13F0 */ u32 field_0x13f0; + /* 0x13F4 */ u32 field_0x13f4; + /* 0x13F8 */ u32 field_0x13f8; + /* 0x13FC */ u32 field_0x13fc; + /* 0x1400 */ u32 field_0x1400; + /* 0x1404 */ u32 field_0x1404; + /* 0x1408 */ u32 field_0x1408; + /* 0x140C */ u32 field_0x140c; + /* 0x1410 */ u32 field_0x1410; + /* 0x1414 */ u32 field_0x1414; + /* 0x1418 */ u32 field_0x1418; + /* 0x141C */ u32 field_0x141c; + /* 0x1420 */ u32 field_0x1420[3]; + /* 0x142C */ u8 field_0x142c; + /* 0x142D */ u8 field_0x142d; + /* 0x142E */ u8 field_0x142e; + /* 0x142F */ s8 field_0x142f; + /* 0x1430 */ s8 field_0x1430; /* 0x1432 */ s16 field_0x1432; - /* 0x1434 */ u8 field_0x1434[0x250]; + /* 0x1434 */ u32 field_0x1434; // Some actor ID + /* 0x1438 */ cXyz field_0x1438; + /* 0x1444 */ cXyz field_0x1444; + /* 0x1450 */ u8 field_0x1450[0x15d0 - 0x1450]; + /* 0x15D0 */ mDoExt_3DlineMat1_c field_0x15d0; + /* 0x160C */ mDoExt_3DlineMat1_c field_0x160c; + /* 0x1648 */ mDoExt_3DlineMat1_c field_0x1648; /* 0x1684 */ f32 field_0x1684; - /* 0x1688 */ u8 field_0x1688[0x16]; + /* 0x1688 */ u8 field_0x1688; + /* 0x168A */ u16 field_0x168a; + /* 0x168C */ f32 field_0x168c; + /* 0x1690 */ f32 field_0x1690; + /* 0x1694 */ u8 field_0x1694[0x169e - 0x1694]; /* 0x169E */ s16 field_0x169e; + /* 0x16A0 */ s16 field_0x16a0; + /* 0x16A4 */ cXyz field_0x16a4; + /* 0x16B0 */ cXyz field_0x16b0; + /* 0x16BC */ cXyz field_0x16bc; + /* 0x16C8 */ cXyz field_0x16c8; + /* 0x16D4 */ cXyz field_0x16d4; + /* 0x16E0 */ cXyz field_0x16e0; + /* 0x16EC */ cXyz field_0x16ec; + /* 0x16F8 */ cXyz field_0x16f8; + /* 0x1704 */ s16 field_0x1704; + /* 0x1708 */ f32 field_0x1708; + /* 0x170C */ f32 field_0x170c; + /* 0x1710 */ f32 field_0x1710; + /* 0x1714 */ f32 field_0x1714; + /* 0x1718 */ f32 field_0x1718; + /* 0x171C */ u8 field_0x171c[0x1720 - 0x171c]; + /* 0x1720 */ s8 field_0x1720; + /* 0x1721 */ s8 field_0x1721; + /* 0x1722 */ s8 field_0x1722; + /* 0x1723 */ u8 field_0x1723[0x17c4 - 0x1723]; + /* 0x17C4 */ u32 field_0x17c4; + /* 0x17D0 */ u32 field_0x17d0[4]; + /* 0x17E0 */ u8 field_0x17e0; + /* 0x17E1 */ u8 field_0x17e1; + /* 0x17E2 */ s16 mWaitRollAngle; + /* 0x17E4 */ u8 field_0x17e4[0x17e8 - 0x17e4]; + /* 0x17E8 */ f32 mSpeedRate; }; #endif /* D_A_E_WB_H */ diff --git a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h index 46761aaa2e..78d5363285 100644 --- a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h +++ b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h @@ -2,5 +2,140 @@ #define D_A_E_YC_H #include "dolphin/types.h" +#include "f_op/f_op_actor.h" +#include "Z2AudioLib/Z2Creature.h" +#include "d/com/d_com_inf_game.h" +// #include "d/bg/d_bg_s_acch.h" +// #include "d/cc/d_cc_d.h" + +// struct dCcD_GStts { +// /* 80083760 */ dCcD_GStts(); +// /* 80083830 */ void Move(); +// }; + +// struct dCcD_Stts { +// /* 80083860 */ void Init(int, int, fopAc_ac_c*); +// }; + +// struct dCcD_SrcSph {}; + +// struct dCcD_Sph { +// /* 80084A34 */ void Set(dCcD_SrcSph const&); +// }; + +// struct cCcD_Obj {}; + +// struct dCcD_GObjInf { +// /* 80083A28 */ dCcD_GObjInf(); +// /* 80084460 */ int ChkTgHit(); +// /* 800844F8 */ cCcD_Obj* GetTgHitObj(); +// }; + +// struct dBgS_PolyPassChk { +// /* 80078E68 */ void SetObj(); +// }; + +// struct dBgS_ObjAcch { +// /* 807F274C */ ~dBgS_ObjAcch(); +// }; + +// struct dBgS_AcchCir { +// /* 80075EAC */ dBgS_AcchCir(); +// /* 80075F58 */ void SetWall(f32, f32); +// }; + +// struct dBgS {}; + +// struct dBgS_Acch { +// /* 80075F94 */ ~dBgS_Acch(); +// /* 800760A0 */ dBgS_Acch(); +// /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); +// /* 80076AAC */ void CrrPos(dBgS&); +// }; + +// struct cM3dGSph { +// /* 8026F648 */ void SetC(cXyz const&); +// /* 8026F708 */ void SetR(f32); +// /* 807F26BC */ ~cM3dGSph(); +// }; + +// struct cM3dGAab { +// /* 807F2704 */ ~cM3dGAab(); +// }; + +// struct cCcS { +// /* 80264BA8 */ void Set(cCcD_Obj*); +// }; + +// struct request_of_phase_process_class {}; + +// struct mDoMtx_stack_c { +// /* 8000CE38 */ void scaleM(f32, f32, f32); + +// static u8 now[48]; +// }; + +struct daE_YC_HIO_c { + /* 807EFECC */ daE_YC_HIO_c(); + /* 807F27BC */ ~daE_YC_HIO_c(); +}; + +// struct dVibration_c { +// /* 8006FA24 */ void StartShock(int, int, cXyz); +// }; + +// struct dPa_levelEcallBack {}; + +// struct dPa_control_c { +// struct level_c { +// /* 8004B918 */ void getEmitter(u32); +// }; + +// /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, 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); +// /* 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); +// }; + +class e_yc_class : public fopAc_ac_c { +public: + /* 0x568 */ u8 field_0x568[80]; + /* 0x5B8 */ int field_0x5B8; + /* 0x5BC */ Z2CreatureEnemy mEnemy; + /* 0x660 */ int mAnm; + /* 0x664 */ int field_0x664; + /* 0x668 */ u8 field_0x668[6]; + /* 0x66E */ s16 mCurrentAction; + /* 0x670 */ s16 field_0x670; + /* 0x672 */ u8 field_0x672[2]; + /* 0x674 */ f32 field_0x674; + /* 0x678 */ f32 field_0x678; + /* 0x67C */ f32 field_0x67C; + /* 0x680 */ s16 field_0x680; + /* 0x682 */ u8 field_0x682[2]; + /* 0x684 */ f32 field_0x684; + /* 0x688 */ u32 field_0x688; + /* 0x68C */ u8 field_0x68C[4]; + /* 0x690 */ f32 field_0x690; + /* 0x694 */ u8 field_0x694[28]; + /* 0x69C */ f32 field_0x69C; + /* 0x6A0 */ s16 field_0x6A0; + /* 0x6A2 */ s16 field_0x6A2; + /* 0x6A4 */ s16 field_0x6A4; + /* 0x6A6 */ s16 field_0x6A6; + /* 0x6A8 */ s16 field_0x6A8; + /* 0x6AA */ s16 field_0x6AA; + /* 0x6AC */ void* field_0x6AC; + /* 0x6B0 */ u8 field_0x6B0[72]; + /* 0x6F4 */ dBgS_Acch mBgS_Acch; + /* 0x8CC */ u8 field_0x8CC[28]; + /* 0x8E8 */ dCcD_GStts mCcD_GStts; + /* 0x908 */ dCcD_GObjInf mCcD_GObjInf; + /* 0xA0C */ u8 field_0xA0C[364]; + /* 0xB78 */ cCcD_Obj* mpTgHitObj; +}; #endif /* D_A_E_YC_H */ diff --git a/include/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h b/include/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h index 0be29bb18c..84b6ffaa30 100644 --- a/include/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h +++ b/include/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h @@ -1,6 +1,17 @@ #ifndef D_A_KYTAG14_H #define D_A_KYTAG14_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class kytag14_class : public fopAc_ac_c { +public: + /* 0x568 */ s8 mSaveRoomNo; + /* 0x569 */ u8 mSavePoint; + /* 0x56A */ u16 mEventID1; + /* 0x56C */ u16 mEventID2; + /* 0x56E */ u8 mSwitchNo1; + /* 0x56F */ u8 mSwitchNo2; +}; + #endif /* D_A_KYTAG14_H */ diff --git a/include/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h b/include/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h index e698f6908a..6600a090b5 100644 --- a/include/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h +++ b/include/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h @@ -1,6 +1,18 @@ #ifndef D_A_TAG_GSTART_H #define D_A_TAG_GSTART_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class daTagGstart_c : public fopAc_ac_c { +public: + /* 805A3478 */ int create(); + /* 805A3514 */ ~daTagGstart_c(); + /* 805A3590 */ int execute(); + + /* 0x568 */ u8 mSwNo; + /* 0x569 */ u8 mSwNo2; + /* 0x56A */ u8 field_0x56a; + /* 0x56B */ u8 mType; +}; #endif /* D_A_TAG_GSTART_H */ diff --git a/include/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h b/include/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h index 2dd21960c8..0e13a0c6f3 100644 --- a/include/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h +++ b/include/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h @@ -1,6 +1,26 @@ #ifndef D_A_TAG_HSTOP_H #define D_A_TAG_HSTOP_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" +#include "d/msg/d_msg_flow.h" + +class daTagHstop_c : public fopAc_ac_c { +public: + /* 805A43EC */ int create(); + /* 805A45F8 */ ~daTagHstop_c(); + /* 805A46B8 */ void setActive(); + /* 805A475C */ int execute(); + + static daTagHstop_c* m_top; + static dMsgFlow_c m_msgFlow; + + /* 0x568 */ daTagHstop_c* mNext; + /* 0x568 */ daTagHstop_c* mPrev; + /* 0x570 */ u8 mPrm0; + /* 0x571 */ bool mActive; + /* 0x572 */ u8 mPrm1; + /* 0x573 */ u8 field_0x573; + /* 0x574 */ int field_0x574; +}; #endif /* D_A_TAG_HSTOP_H */ diff --git a/include/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.h b/include/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.h index 5e28eadbf0..37637780d9 100644 --- a/include/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.h +++ b/include/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.h @@ -1,6 +1,8 @@ #ifndef D_A_TAG_INSTRUCTION_H #define D_A_TAG_INSTRUCTION_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTagInst_c : public fopAc_ac_c {}; #endif /* D_A_TAG_INSTRUCTION_H */ diff --git a/libs/JSystem/J2DGraph/J2DTevs.cpp b/libs/JSystem/J2DGraph/J2DTevs.cpp index e476ca3bc5..1c1e3bba44 100644 --- a/libs/JSystem/J2DGraph/J2DTevs.cpp +++ b/libs/JSystem/J2DGraph/J2DTevs.cpp @@ -159,7 +159,7 @@ void J2DIndTevStage::load(u8 tevStage) { /* 802EA098-802EA0CC 2E49D8 0034+00 0/0 1/1 0/0 .text load__12J2DIndTexMtxFUc */ void J2DIndTexMtx::load(u8 indTexMtx) { - GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + indTexMtx), mIndTexMtxInfo.mMtx, + GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + indTexMtx), (f32*)mIndTexMtxInfo.mMtx, mIndTexMtxInfo.mScaleExp); } diff --git a/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp b/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp index caec400fce..f4e4df32c4 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp @@ -49,14 +49,12 @@ extern "C" u8 sWorkArea_MtxReg__13J3DSkinDeform[2048 + 8 /* padding */]; // SECTION_INIT void memcpy(); -extern "C" void OSReport(); extern "C" void* __nwa__FUl(); extern "C" void* __nwa__FUli(); extern "C" void __dl__FPv(); extern "C" void J3DGQRSetup7__FUlUlUlUl(); extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f(); extern "C" void makeVcdVatCmd__8J3DShapeFv(); -extern "C" void DCStoreRange(); extern "C" void __construct_new_array(); extern "C" void __save_gpr(); extern "C" void _savegpr_17(); diff --git a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp index 35f960d888..371059303c 100644 --- a/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp +++ b/libs/JSystem/J3DGraphBase/J3DDrawBuffer.cpp @@ -7,7 +7,6 @@ #include "JSystem/JKernel/JKRHeap.h" #include "dol2asm.h" #include "dolphin/types.h" - #include "JSystem/J3DGraphBase/J3DPacket.h" // @@ -58,21 +57,15 @@ extern "C" void _restgpr_28(); /* 80456400-80456404 004A00 0004+00 2/2 0/0 0/0 .sdata2 @781 */ SECTION_SDATA2 static f32 lit_781 = 1.0f; -/* 80456404-80456408 004A04 0004+00 1/1 0/0 0/0 .sdata2 @782 */ -SECTION_SDATA2 static f32 lit_782 = 10000.0f; - -/* 80456408-80456410 004A08 0008+00 2/2 0/0 0/0 .sdata2 @784 */ -SECTION_SDATA2 static f64 lit_784 = 4503599627370496.0 /* cast u32 to float */; - void J3DDrawBuffer::calcZRatio() { mZRatio = (mZFar - mZNear) / (f32)mBufSize; } void J3DDrawBuffer::initialize() { - mDrawType = 0; - mSortType = 0; + mDrawType = DRAW_HEAD; + mSortType = SORT_MAT; mZNear = lit_781; - mZFar = lit_782; + mZFar = 10000.0f; mpZMtx = NULL; mpCallBackPacket = NULL; mBufSize = 0x20; @@ -123,7 +116,7 @@ asm void J3DDrawBuffer::frameInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DDrawBuffer::entryMatSort(J3DMatPacket* param_0) { +asm int J3DDrawBuffer::entryMatSort(J3DMatPacket* param_0) { nofralloc #include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryMatSort__13J3DDrawBufferFP12J3DMatPacket.s" } @@ -134,199 +127,161 @@ asm void J3DDrawBuffer::entryMatSort(J3DMatPacket* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DDrawBuffer::entryMatAnmSort(J3DMatPacket* param_0) { +asm int J3DDrawBuffer::entryMatAnmSort(J3DMatPacket* param_0) { nofralloc #include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryMatAnmSort__13J3DDrawBufferFP12J3DMatPacket.s" } #pragma pop +inline f32 J3DCalcZValue(register MtxP m, register Vec v) { + register f32 out; + + // clang-format off + asm { + lfs f1, lit_781(r2) + psq_l f0, 8(v), 0, 0 /* qr0 */ + lfs f2, 0x10(v) + psq_l f4, 32(m), 0, 0 /* qr0 */ + psq_l out, 40(m), 0, 0 /* qr0 */ + ps_merge00 f2, f2, f1 + ps_mul f4, f0, f4 + ps_madd out, f2, out, f4 + ps_sum0 out, out, out, out + } + // clang-format on + + return out; +} + /* 8032529C-803253B4 31FBDC 0118+00 1/0 0/0 0/0 .text entryZSort__13J3DDrawBufferFP12J3DMatPacket */ +// J3DCalcZValue needs work with the asm registers +#ifdef NONMATCHING +int J3DDrawBuffer::entryZSort(J3DMatPacket* i_packet) { + i_packet->drawClear(); + i_packet->getShapePacket()->drawClear(); + + Vec tmp; + tmp.x = mpZMtx[0][3]; + tmp.y = mpZMtx[1][3]; + tmp.z = mpZMtx[2][3]; + + f32 value = -J3DCalcZValue(j3dSys.getViewMtx(), tmp); + + u32 uvar4; + if (mZNear + mZRatio < value) { + if (mZFar - mZRatio > value) { + uvar4 = value / mZRatio; + } else { + uvar4 = mBufSize - 1; + } + } else { + uvar4 = 0; + } + + u32 idx = (mBufSize - 1) - uvar4; + i_packet->setNextPacket(mpBuf[idx]); + mpBuf[idx] = i_packet; + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DDrawBuffer::entryZSort(J3DMatPacket* param_0) { +asm int J3DDrawBuffer::entryZSort(J3DMatPacket* param_0) { nofralloc #include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryZSort__13J3DDrawBufferFP12J3DMatPacket.s" } #pragma pop +#endif /* 803253B4-80325404 31FCF4 0050+00 1/0 0/0 0/0 .text * entryModelSort__13J3DDrawBufferFP12J3DMatPacket */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DDrawBuffer::entryModelSort(J3DMatPacket* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryModelSort__13J3DDrawBufferFP12J3DMatPacket.s" +int J3DDrawBuffer::entryModelSort(J3DMatPacket* i_packet) { + i_packet->drawClear(); + i_packet->getShapePacket()->drawClear(); + + if (mpCallBackPacket != NULL) { + mpCallBackPacket->addChildPacket(i_packet); + return 1; + } + + return 0; } -#pragma pop /* 80325404-80325458 31FD44 0054+00 1/0 0/0 0/0 .text * entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DDrawBuffer::entryInvalidSort(J3DMatPacket* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket.s" -} -#pragma pop +int J3DDrawBuffer::entryInvalidSort(J3DMatPacket* i_packet) { + i_packet->drawClear(); + i_packet->getShapePacket()->drawClear(); -bool J3DDrawBuffer::entryNonSort(J3DMatPacket* pMat) { - pMat->clear(); - pMat->mpShapePacket->clear(); + if (mpCallBackPacket != NULL) { + mpCallBackPacket->addChildPacket(i_packet->getShapePacket()); + return 1; + } - // inlined copy of entryImm, add to start of buf - pMat->mpNextSibling = mpBuf[0]; - mpBuf[0] = pMat; - return true; + return 0; } -bool J3DDrawBuffer::entryImm(J3DPacket* pPacket, u16 index) { - pPacket->mpNextSibling = mpBuf[index]; - mpBuf[index] = pPacket; - return true; +int J3DDrawBuffer::entryNonSort(J3DMatPacket* i_packet) { + i_packet->drawClear(); + i_packet->mpShapePacket->drawClear(); + + i_packet->setNextPacket(mpBuf[0]); + mpBuf[0] = i_packet; + + return 1; } -/* ############################################################################################## */ -/* 803CEBE8-803CEBF4 -00001 000C+00 1/1 0/0 0/0 .data @992 */ -SECTION_DATA static void* lit_992[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)entryMatSort__13J3DDrawBufferFP12J3DMatPacket, -}; +int J3DDrawBuffer::entryImm(J3DPacket* i_packet, u16 index) { + i_packet->setNextPacket(mpBuf[index]); + mpBuf[index] = i_packet; -/* 803CEBF4-803CEC00 -00001 000C+00 0/1 0/0 0/0 .data @993 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_993[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)entryMatAnmSort__13J3DDrawBufferFP12J3DMatPacket, -}; -#pragma pop - -/* 803CEC00-803CEC0C -00001 000C+00 0/1 0/0 0/0 .data @994 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_994[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)entryZSort__13J3DDrawBufferFP12J3DMatPacket, -}; -#pragma pop - -/* 803CEC0C-803CEC18 -00001 000C+00 0/1 0/0 0/0 .data @995 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_995[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)entryModelSort__13J3DDrawBufferFP12J3DMatPacket, -}; -#pragma pop - -/* 803CEC18-803CEC24 -00001 000C+00 0/1 0/0 0/0 .data @996 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_996[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)entryInvalidSort__13J3DDrawBufferFP12J3DMatPacket, -}; -#pragma pop - -/* 803CEC24-803CEC30 -00001 000C+00 0/1 0/0 0/0 .data @997 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_997[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)entryNonSort__13J3DDrawBufferFP12J3DMatPacket, -}; -#pragma pop + return 1; +} /* 803CEC30-803CEC78 02BD50 0048+00 0/1 1/1 0/0 .data sortFuncTable__13J3DDrawBuffer */ -SECTION_DATA u8 J3DDrawBuffer::sortFuncTable[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA sortFunc J3DDrawBuffer::sortFuncTable[6] = { + &J3DDrawBuffer::entryMatSort, &J3DDrawBuffer::entryMatAnmSort, &J3DDrawBuffer::entryZSort, + &J3DDrawBuffer::entryModelSort, &J3DDrawBuffer::entryInvalidSort, &J3DDrawBuffer::entryNonSort, }; -/* 803CEC78-803CEC84 -00001 000C+00 0/1 0/0 0/0 .data @998 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_998[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)drawHead__13J3DDrawBufferCFv, -}; -#pragma pop - -/* 803CEC84-803CEC90 -00001 000C+00 0/1 0/0 0/0 .data @999 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_999[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)drawTail__13J3DDrawBufferCFv, -}; -#pragma pop - /* 803CEC90-803CECA8 02BDB0 0018+00 1/2 0/0 0/0 .data drawFuncTable__13J3DDrawBuffer */ -SECTION_DATA u8 J3DDrawBuffer::drawFuncTable[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA drawFunc J3DDrawBuffer::drawFuncTable[2] = { + &J3DDrawBuffer::drawHead, + &J3DDrawBuffer::drawTail, }; /* 803254AC-80325500 31FDEC 0054+00 0/0 2/2 0/0 .text draw__13J3DDrawBufferCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DDrawBuffer::draw() const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/draw__13J3DDrawBufferCFv.s" +void J3DDrawBuffer::draw() const { + drawFunc func = drawFuncTable[mDrawType]; + (this->*func)(); } -#pragma pop /* 80325500-80325578 31FE40 0078+00 1/0 0/0 0/0 .text drawHead__13J3DDrawBufferCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DDrawBuffer::drawHead() const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawHead__13J3DDrawBufferCFv.s" +void J3DDrawBuffer::drawHead() const { + u32 size = mBufSize; + J3DPacket** buf = mpBuf; + + for (u32 i = 0; i < size; i++) { + for (J3DPacket* packet = buf[i]; packet != NULL; packet = packet->getNextPacket()) { + packet->draw(); + } + } } -#pragma pop /* 80325578-803255F0 31FEB8 0078+00 1/0 0/0 0/0 .text drawTail__13J3DDrawBufferCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DDrawBuffer::drawTail() const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/drawTail__13J3DDrawBufferCFv.s" -} -#pragma pop +void J3DDrawBuffer::drawTail() const { + int num = mBufSize - 1; -/* 803255F0-803256C4 31FF30 00D4+00 0/0 1/0 0/0 .text __sinit_J3DDrawBuffer_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_J3DDrawBuffer_cpp() { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/__sinit_J3DDrawBuffer_cpp.s" + for (int i = num; i >= 0; i--) { + for (J3DPacket* packet = mpBuf[i]; packet != NULL; packet = packet->getNextPacket()) { + packet->draw(); + } + } } -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x803255F0, __sinit_J3DDrawBuffer_cpp); -#pragma pop /* ############################################################################################## */ /* 804515E0-804515E8 000AE0 0004+04 0/0 1/1 0/0 .sbss entryNum__13J3DDrawBuffer */ -u8 J3DDrawBuffer::entryNum[4 + 4 /* padding */]; +int J3DDrawBuffer::entryNum; diff --git a/libs/JSystem/J3DGraphBase/J3DGD.cpp b/libs/JSystem/J3DGraphBase/J3DGD.cpp index 1e3a42fdac..50729c4045 100644 --- a/libs/JSystem/J3DGraphBase/J3DGD.cpp +++ b/libs/JSystem/J3DGraphBase/J3DGD.cpp @@ -7,12 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct _GXTlutSize {}; - // // Forward References: // diff --git a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp index d4814e1ae3..20dd9a32ab 100644 --- a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp +++ b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp @@ -484,7 +484,6 @@ extern "C" extern char const* const J3DMatBlock__stringBase0; // SECTION_INIT void memcpy(); -extern "C" void OSReport(); extern "C" void patchTexNoAndTexCoordScale__11J3DTevBlockFv(); extern "C" void patch__10J3DPEBlockFv(); extern "C" void patch__11J3DTevBlockFv(); @@ -577,7 +576,6 @@ extern "C" void patchTexNo_PtrToIdx__FUlRCUs(); extern "C" void __as__16J3DIndTexMtxInfoFRC16J3DIndTexMtxInfo(); extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo(); extern "C" void __as__15J3DNBTScaleInfoFRC15J3DNBTScaleInfo(); -extern "C" void DCStoreRange(); extern "C" void GDOverflowed(); extern "C" void __destroy_arr(); extern "C" void _savegpr_24(); diff --git a/libs/JSystem/J3DGraphBase/J3DPacket.cpp b/libs/JSystem/J3DGraphBase/J3DPacket.cpp index 581f924969..bf734f1710 100644 --- a/libs/JSystem/J3DGraphBase/J3DPacket.cpp +++ b/libs/JSystem/J3DGraphBase/J3DPacket.cpp @@ -5,6 +5,7 @@ #include "JSystem/J3DGraphBase/J3DPacket.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphBase/J3DDrawBuffer.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "JSystem/J3DGraphBase/J3DShape.h" #include "JSystem/J3DGraphBase/J3DShapeMtx.h" @@ -18,14 +19,6 @@ #include "dolphin/types.h" #include "global.h" -// -// Types: -// - -struct J3DDrawBuffer { - static u8 sortFuncTable[72]; -}; - // // Forward References: // @@ -97,8 +90,10 @@ J3DError J3DDisplayListObj::newDisplayList(u32 capacity) { mpData[0] = new (0x20) char[mCapacity]; mpData[1] = new (0x20) char[mCapacity]; mSize = 0; + if (mpData[0] == NULL || mpData[1] == NULL) return kJ3DError_Alloc; + return kJ3DError_Success; } @@ -107,8 +102,10 @@ J3DError J3DDisplayListObj::newSingleDisplayList(u32 capacity) { mpData[0] = new (0x20) char[mCapacity]; mpData[1] = mpData[0]; mSize = 0; + if (mpData[0] == NULL) return kJ3DError_Alloc; + return kJ3DError_Success; } @@ -116,8 +113,10 @@ J3DError J3DDisplayListObj::newSingleDisplayList(u32 capacity) { J3DError J3DDisplayListObj::single_To_Double() { if (mpData[0] == mpData[1]) { mpData[1] = new (0x20) char[mCapacity]; + if (mpData[1] == NULL) return kJ3DError_Alloc; + memcpy(mpData[1], mpData[0], mCapacity); DCStoreRange(mpData[1], mCapacity); } @@ -182,61 +181,28 @@ u32 J3DDisplayListObj::endPatch() { } /* 80312750-80312758 30D090 0008+00 3/0 16/0 10/0 .text entry__9J3DPacketFP13J3DDrawBuffer */ -bool J3DPacket::entry(J3DDrawBuffer* param_0) { - return true; +int J3DPacket::entry(J3DDrawBuffer*) { + return 1; } void J3DPacket::addChildPacket(J3DPacket* pPacket) { if (mpFirstChild == NULL) { mpFirstChild = pPacket; } else { - pPacket->mpNextSibling = mpFirstChild; + pPacket->mpNextPacket = mpFirstChild; mpFirstChild = pPacket; } } /* ############################################################################################## */ /* 803CD900-803CD920 02AA20 0020+00 1/1 0/0 0/0 .data sDifferedRegister */ -SECTION_DATA static u32 sDifferedRegister[8] = {0x00000004, 0x00000001, 0x00000002, 0x01000000, - 0x10000000, 0x20000000, 0x02000000, 0x08000000}; +SECTION_DATA static u32 sDifferedRegister[8] = { + 0x00000004, 0x00000001, 0x00000002, 0x01000000, 0x10000000, 0x20000000, 0x02000000, 0x08000000, +}; /* 803CD920-803CD940 02AA40 0020+00 1/1 0/0 0/0 .data sSizeOfDiffered */ -SECTION_DATA static s32 sSizeOfDiffered[8] = {13, 13, 21, 120, 55, 15, 19, 45}; - -/* 803CD940-803CD954 02AA60 0014+00 2/2 0/0 0/0 .data __vt__14J3DShapePacket */ -SECTION_DATA extern void* __vt__14J3DShapePacket[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__14J3DShapePacketFv, - (void*)__dt__14J3DShapePacketFv, -}; - -/* 803CD954-803CD968 02AA74 0014+00 2/2 0/0 0/0 .data __vt__12J3DMatPacket */ -SECTION_DATA extern void* __vt__12J3DMatPacket[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__12J3DMatPacketFP13J3DDrawBuffer, - (void*)draw__12J3DMatPacketFv, - (void*)__dt__12J3DMatPacketFv, -}; - -/* 803CD968-803CD97C 02AA88 0014+00 2/2 0/0 0/0 .data __vt__13J3DDrawPacket */ -SECTION_DATA extern void* __vt__13J3DDrawPacket[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__13J3DDrawPacketFv, - (void*)__dt__13J3DDrawPacketFv, -}; - -/* 803CD97C-803CD990 02AA9C 0014+00 2/2 34/34 23/23 .data __vt__9J3DPacket */ -SECTION_DATA extern void* __vt__9J3DPacket[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__9J3DPacketFv, - (void*)__dt__9J3DPacketFv, +SECTION_DATA static s32 sSizeOfDiffered[8] = { + 13, 13, 21, 120, 55, 15, 19, 45, }; /* 80312778-803127B0 30D0B8 0038+00 2/2 0/0 0/0 .text __ct__13J3DDrawPacketFv */ @@ -287,7 +253,7 @@ J3DMatPacket::J3DMatPacket() { mpInitShapePacket = NULL; mpShapePacket = NULL; mpMaterial = NULL; - mSortFlags = -1; + mDiffFlag = -1; mpTexture = NULL; mpMaterialAnm = NULL; } @@ -299,7 +265,7 @@ void J3DMatPacket::addShapePacket(J3DShapePacket* pShape) { if (mpShapePacket == NULL) { mpShapePacket = pShape; } else { - pShape->mpNextSibling = mpShapePacket; + pShape->mpNextPacket = mpShapePacket; mpShapePacket = pShape; } } @@ -316,7 +282,7 @@ void J3DMatPacket::endDiff() { bool J3DMatPacket::isSame(J3DMatPacket* pOther) const { bool isSame = false; - if (mSortFlags == pOther->mSortFlags && !(mSortFlags >> 0x1F)) { + if (mDiffFlag == pOther->mDiffFlag && !(mDiffFlag >> 0x1F)) { isSame = true; } return isSame; @@ -430,6 +396,7 @@ asm void J3DShapePacket::prepareDraw() const { void J3DShapePacket::draw() { if (!checkFlag(J3DShpFlag_Hidden) && mpShape != NULL) { prepareDraw(); + if (mpTexMtx != NULL) { J3DMaterial* material = mpShape->getMaterial(); J3DDifferedTexMtx::sTexGenBlock = material->getTexGenBlock(); @@ -437,9 +404,11 @@ void J3DShapePacket::draw() { } else { J3DDifferedTexMtx::sTexGenBlock = NULL; } + if (mpDisplayListObj != NULL) { mpDisplayListObj->callDL(); } + mpShape->draw(); } } @@ -448,6 +417,7 @@ void J3DShapePacket::draw() { void J3DShapePacket::drawFast() { if (!checkFlag(J3DShpFlag_Hidden) && mpShape != NULL) { prepareDraw(); + if (mpTexMtx != NULL) { J3DMaterial* material = mpShape->getMaterial(); J3DDifferedTexMtx::sTexGenBlock = material->getTexGenBlock(); @@ -455,21 +425,16 @@ void J3DShapePacket::drawFast() { } else { J3DDifferedTexMtx::sTexGenBlock = NULL; } + mpShape->drawFast(); } } /* 80313044-80313048 30D984 0004+00 1/0 0/0 0/0 .text draw__9J3DPacketFv */ -void J3DPacket::draw() { - /* empty function */ -} +void J3DPacket::draw() {} /* 80313048-803130A8 30D988 0060+00 1/0 0/0 0/0 .text entry__12J3DMatPacketFP13J3DDrawBuffer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J3DMatPacket::entry(J3DDrawBuffer* param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DPacket/entry__12J3DMatPacketFP13J3DDrawBuffer.s" +int J3DMatPacket::entry(J3DDrawBuffer* i_buffer) { + sortFunc func = J3DDrawBuffer::sortFuncTable[i_buffer->mSortType]; + return (i_buffer->*func)(this); } -#pragma pop diff --git a/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp b/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp index dc735608ca..94b407be05 100644 --- a/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp @@ -26,7 +26,7 @@ u32 J3DShapeDraw::countVertex(u32 stride) { u32 count = 0; u32 dlStart = (u32)getDisplayList(); for (u8* dl = (u8*)dlStart; ((u32)dl - dlStart) < getDisplayListSize();) { - if (*dl != 0xA0 && *dl != 0x98) + if (*dl != GX_TRIANGLEFAN && *dl != GX_TRIANGLESTRIP) break; u16 vtxNum = *((u16*)(dl + 1)); count += vtxNum; @@ -50,7 +50,7 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) { u8 h = *oldDL; *newDL++ = h; - if (h != 0xA0 && h != 0x98) + if (h != GX_TRIANGLEFAN && h != GX_TRIANGLESTRIP) break; // Copy count @@ -82,7 +82,6 @@ void J3DShapeDraw::addTexMtxIndexInDL(u32 stride, u32 attrOffs, u32 valueBase) { DCStoreRange(newDLStart, mDisplayListSize); } #else - #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -91,7 +90,6 @@ asm void J3DShapeDraw::addTexMtxIndexInDL(u32 param_0, u32 param_1, u32 param_2) #include "asm/JSystem/J3DGraphBase/J3DShapeDraw/addTexMtxIndexInDL__12J3DShapeDrawFUlUlUl.s" } #pragma pop - #endif /* 80314ABC-80314AD4 30F3FC 0018+00 0/0 1/1 0/0 .text __ct__12J3DShapeDrawFPCUcUl */ diff --git a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp index 839a949253..86d52ff500 100644 --- a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp +++ b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp @@ -719,7 +719,7 @@ u32 J3DShapeMtxMultiConcatView::getUseMtxNum() const { /* 8031469C-803146AC 30EFDC 0010+00 1/0 0/0 0/0 .text * getUseMtxIndex__26J3DShapeMtxMultiConcatViewCFUs */ u32 J3DShapeMtxMultiConcatView::getUseMtxIndex(u16 no) const { - return mUseMtxIndex[no]; + return mUseMtxIndexTable[no]; } /* 803146AC-803146B0 30EFEC 0004+00 1/0 0/0 0/0 .text @@ -752,7 +752,7 @@ u32 J3DShapeMtxMulti::getUseMtxNum() const { /* 80314720-80314730 30F060 0010+00 1/0 0/0 0/0 .text getUseMtxIndex__16J3DShapeMtxMultiCFUs */ u32 J3DShapeMtxMulti::getUseMtxIndex(u16 no) const { - return mUseMtxIndex[no]; + return mUseMtxIndexTable[no]; } /* 80314730-8031478C 30F070 005C+00 1/0 0/0 0/0 .text __dt__21J3DShapeMtxConcatViewFv */ diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp index f9c1f4e7dd..2b326a72b0 100644 --- a/libs/JSystem/J3DGraphBase/J3DSys.cpp +++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp @@ -198,7 +198,7 @@ void J3DSys::drawInit() { u8 i; for (i = 0; i < 3; i++) - GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + i), indTexMtx, 1); + GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + i), (f32*)indTexMtx, 1); GXSetChanMatColor(GX_COLOR0A0, j3dDefaultColInfo); GXSetChanMatColor(GX_COLOR1A1, j3dDefaultColInfo); @@ -380,9 +380,9 @@ void J3DSys::reinitIndStages() { GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE3, GX_ITS_1, GX_ITS_1); - GXSetIndTexMtx(GX_ITM_0, IndMtx, 1); - GXSetIndTexMtx(GX_ITM_1, IndMtx, 1); - GXSetIndTexMtx(GX_ITM_2, IndMtx, 1); + GXSetIndTexMtx(GX_ITM_0, (f32*)IndMtx, 1); + GXSetIndTexMtx(GX_ITM_1, (f32*)IndMtx, 1); + GXSetIndTexMtx(GX_ITM_2, (f32*)IndMtx, 1); } /* 80310E3C-80310ED0 30B77C 0094+00 1/1 0/0 0/0 .text reinitPixelProc__6J3DSysFv */ diff --git a/libs/JSystem/J3DGraphBase/J3DVertex.cpp b/libs/JSystem/J3DGraphBase/J3DVertex.cpp index 94affe40c9..1356041e34 100644 --- a/libs/JSystem/J3DGraphBase/J3DVertex.cpp +++ b/libs/JSystem/J3DGraphBase/J3DVertex.cpp @@ -97,7 +97,7 @@ void J3DVertexBuffer::setArray() const { s32 J3DVertexBuffer::copyLocalVtxPosArray(u32 flag) { if (flag & 1) { for (int i = 0; i < 2; i++) { - mVtxPosArray[i] = new (0x20) VertexPosition[mVtxData->getVtxNum()]; + mVtxPosArray[i] = new (0x20) Vec[mVtxData->getVtxNum()]; if (mVtxPosArray[i] == NULL) { return kJ3DError_Alloc; @@ -109,7 +109,7 @@ s32 J3DVertexBuffer::copyLocalVtxPosArray(u32 flag) { mVtxPosArray[0] = mVtxData->getVtxPosArray(); if (mVtxPosArray[1] == NULL) { - mVtxPosArray[1] = new (0x20) VertexPosition[mVtxData->getVtxNum()]; + mVtxPosArray[1] = new (0x20) Vec[mVtxData->getVtxNum()]; if (mVtxPosArray[1] == NULL) { return kJ3DError_Alloc; } @@ -209,7 +209,7 @@ s32 J3DVertexBuffer::allocTransformedVtxPosArray() { for (int i = 0; i < 2; i++) { if (i == 0 || mTransformedVtxPosArray[i] == NULL) { - mTransformedVtxPosArray[i] = new (0x20) VertexPosition[mVtxData->getVtxNum()]; + mTransformedVtxPosArray[i] = new (0x20) Vec[mVtxData->getVtxNum()]; if (mTransformedVtxPosArray[i] == NULL) return kJ3DError_Alloc; } diff --git a/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp b/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp index 5960abff0d..e676e41344 100644 --- a/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp @@ -4,6 +4,8 @@ // #include "JSystem/J3DGraphLoader/J3DJointFactory.h" +#include "JSystem/J3DGraphAnimator/J3DJoint.h" +#include "JSystem/JSupport/JSupport.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -11,64 +13,31 @@ // Types: // -struct J3DJointBlock {}; - -struct J3DJointFactory { - /* 80337178 */ J3DJointFactory(J3DJointBlock const&); - /* 803371D0 */ void create(int); -}; - -struct J3DJoint { - /* 8032F170 */ J3DJoint(); -}; - -// -// Forward References: -// - -extern "C" void __ct__15J3DJointFactoryFRC13J3DJointBlock(); -extern "C" void create__15J3DJointFactoryFi(); -extern "C" void func_80337338(void* _this, void const*, u32); - -// -// External References: -// - -extern "C" void* __nw__FUl(); -extern "C" void __ct__8J3DJointFv(); -extern "C" void func_8033677C(void* _this, void const*, u32); - -// -// Declarations: -// +extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr /* 80337178-803371D0 331AB8 0058+00 0/0 1/1 0/0 .text __ct__15J3DJointFactoryFRC13J3DJointBlock */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DJointFactory::J3DJointFactory(J3DJointBlock const& param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DJointFactory/__ct__15J3DJointFactoryFRC13J3DJointBlock.s" +J3DJointFactory::J3DJointFactory(J3DJointBlock const& block) { + mJointInitData = JSUConvertOffsetToPtr(&block, block.mJointInitData); + + // Fix when we have our ODR working. + // mIndexTable = JSUConvertOffsetToPtr(&block, block.mIndexTable); + mIndexTable = func_8033677C(&block, block.mIndexTable); } -#pragma pop /* 803371D0-80337338 331B10 0168+00 0/0 1/1 0/0 .text create__15J3DJointFactoryFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DJointFactory::create(int param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DJointFactory/create__15J3DJointFactoryFi.s" -} -#pragma pop +J3DJoint* J3DJointFactory::create(int no) { + J3DJoint* joint = new J3DJoint(); + joint->mJntNo = no; + joint->mKind = getKind(no); + joint->mScaleCompensate = getScaleCompensate(no); + joint->mTransformInfo = getTransformInfo(no); + joint->mBoundingSphereRadius = getRadius(no); + joint->mMin = getMin(no); + joint->mMax = getMax(no); + joint->mMtxCalc = NULL; -/* 80337338-80337350 331C78 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<16J3DJointInitData>__FPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80337338(void* _this, void const* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DJointFactory/func_80337338.s" -} -#pragma pop + if (joint->mScaleCompensate == 0xFF) + joint->mScaleCompensate = 0; + + return joint; +} \ No newline at end of file diff --git a/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp b/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp index 1f872b3228..6a21b67580 100644 --- a/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp +++ b/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp @@ -4,36 +4,13 @@ // #include "JSystem/J3DGraphLoader/J3DShapeFactory.h" +#include "JSystem/J3DGraphBase/J3DShape.h" +#include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JSupport/JSupport.h" #include "dol2asm.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" -// -// Types: -// - -struct _GXVtxDescList {}; - -struct J3DShapeBlock {}; - -struct J3DShapeFactory { - /* 80337350 */ J3DShapeFactory(J3DShapeBlock const&); - /* 80337400 */ void create(int, u32, _GXVtxDescList*); - /* 803375BC */ void newShapeMtx(u32, int, int) const; - /* 8033784C */ void newShapeDraw(int, int) const; - /* 803378D8 */ void allocVcdVatCmdBuffer(u32); - /* 80337944 */ void calcSize(int, u32); - /* 803379D8 */ void calcSizeVcdVatCmdBuffer(u32); - /* 803379E8 */ void calcSizeShapeMtx(u32, int, int) const; -}; - -struct J3DShapeDraw { - /* 80314ABC */ J3DShapeDraw(u8 const*, u32); -}; - -struct J3DShape { - /* 80314B48 */ void initialize(); -}; - // // Forward References: // @@ -56,14 +33,15 @@ extern "C" extern char const* const J3DShapeFactory__stringBase0; // External References: // -extern "C" void OSReport(); +extern "C" J3DShapeInitData* func_80336764(const void*, + const void*); // JSUConvertOffsetToPtr +extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr + extern "C" void* __nw__FUl(); extern "C" void* __nwa__FUl(); extern "C" void* __nwa__FUli(); extern "C" void __ct__12J3DShapeDrawFPCUcUl(); extern "C" void initialize__8J3DShapeFv(); -extern "C" void func_80336764(void* _this, void const*, u32); -extern "C" void func_8033677C(void* _this, void const*, u32); extern "C" void _savegpr_26(); extern "C" void _savegpr_29(); extern "C" void _restgpr_26(); @@ -81,141 +59,203 @@ extern "C" extern void* __vt__8J3DShape[6]; // /* 80337350-80337400 331C90 00B0+00 0/0 2/2 0/0 .text __ct__15J3DShapeFactoryFRC13J3DShapeBlock */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DShapeFactory::J3DShapeFactory(J3DShapeBlock const& param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/__ct__15J3DShapeFactoryFRC13J3DShapeBlock.s" +J3DShapeFactory::J3DShapeFactory(J3DShapeBlock const& block) { + // mShapeInitData = JSUConvertOffsetToPtr(&block, block.mShapeInitData); + mShapeInitData = func_80336764(&block, block.mShapeInitData); + // mIndexTable = JSUConvertOffsetToPtr(&block, block.mIndexTable); + mIndexTable = func_8033677C(&block, block.mIndexTable); + mVtxDescList = JSUConvertOffsetToPtr(&block, block.mVtxDescList); + // mMtxTable = JSUConvertOffsetToPtr(&block, block.mMtxTable); + mMtxTable = func_8033677C(&block, block.mMtxTable); + mDisplayListData = JSUConvertOffsetToPtr(&block, block.mDisplayListData); + mMtxInitData = JSUConvertOffsetToPtr(&block, block.mMtxInitData); + mDrawInitData = JSUConvertOffsetToPtr(&block, block.mDrawInitData); + mVcdVatCmdBuffer = NULL; } -#pragma pop /* 80337400-803375BC 331D40 01BC+00 0/0 1/1 0/0 .text * create__15J3DShapeFactoryFiUlP14_GXVtxDescList */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapeFactory::create(int param_0, u32 param_1, _GXVtxDescList* param_2) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/create__15J3DShapeFactoryFiUlP14_GXVtxDescList.s" -} -#pragma pop +J3DShape* J3DShapeFactory::create(int no, u32 flag, GXVtxDescList* vtxDesc) { + J3DShape* shape = new J3DShape; + shape->mMtxGroupNum = getMtxGroupNum(no); + shape->mRadius = getRadius(no); + shape->mVtxDesc = getVtxDescList(no); + shape->mShapeMtx = new J3DShapeMtx*[shape->mMtxGroupNum]; + shape->mShapeDraw = new J3DShapeDraw*[shape->mMtxGroupNum]; + shape->mMin = getMin(no); + shape->mMax = getMax(no); + shape->mVcdVatCmd = mVcdVatCmdBuffer + no * J3DShape::kVcdVatDLSize; -/* ############################################################################################## */ -/* 803A2100-803A2100 02E760 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803A2100 = - "WRONG SHAPE MATRIX TYPE (J3DModelInit.cpp)\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_803A212C = "\0\0\0"; -#pragma pop + for (s32 i = 0; i < shape->mMtxGroupNum; i++) { + shape->mShapeMtx[i] = newShapeMtx(flag, no, i); + shape->mShapeDraw[i] = newShapeDraw(no, i); + } + + shape->mIndex = no; + return shape; +} + +static inline u32 getMdlDataFlag_MtxLoadType(u32 flag) { + return flag & 0x10; +} + +enum { + J3DMdlDataFlag_ConcatView = 0x10, +}; + +enum { + J3DShapeMtxType_Mtx = 0x00, + J3DShapeMtxType_BBoard = 0x01, + J3DShapeMtxType_YBBoard = 0x02, + J3DShapeMtxType_Multi = 0x03, +}; /* 803375BC-8033784C 331EFC 0290+00 1/1 0/0 0/0 .text newShapeMtx__15J3DShapeFactoryCFUlii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapeFactory::newShapeMtx(u32 param_0, int param_1, int param_2) const { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeMtx__15J3DShapeFactoryCFUlii.s" +J3DShapeMtx* J3DShapeFactory::newShapeMtx(u32 flag, int shapeNo, int mtxGroupNo) const { + J3DShapeMtx* ret = NULL; + const J3DShapeInitData& shapeInitData = mShapeInitData[mIndexTable[shapeNo]]; + const J3DShapeMtxInitData& mtxInitData = + (&mMtxInitData[shapeInitData.mMtxInitDataIndex])[mtxGroupNo]; + + switch (getMdlDataFlag_MtxLoadType(flag)) { + case J3DMdlDataFlag_ConcatView: + switch (shapeInitData.mShapeMtxType) { + case J3DShapeMtxType_Mtx: + ret = new J3DShapeMtxConcatView(mtxInitData.mUseMtxIndex); + break; + case J3DShapeMtxType_BBoard: + ret = new J3DShapeMtxBBoardConcatView(mtxInitData.mUseMtxIndex); + break; + case J3DShapeMtxType_YBBoard: + ret = new J3DShapeMtxYBBoardConcatView(mtxInitData.mUseMtxIndex); + break; + case J3DShapeMtxType_Multi: + ret = new J3DShapeMtxMultiConcatView(mtxInitData.mUseMtxIndex, mtxInitData.mUseMtxCount, + &mMtxTable[mtxInitData.mFirstUseMtxIndex]); + break; + default: + OSReport("WRONG SHAPE MATRIX TYPE (J3DModelInit.cpp)\n"); + break; + } + break; + + case 0: + default: + switch (shapeInitData.mShapeMtxType) { + case J3DShapeMtxType_Mtx: + case J3DShapeMtxType_BBoard: + case J3DShapeMtxType_YBBoard: + ret = new J3DShapeMtx(mtxInitData.mUseMtxIndex); + break; + case J3DShapeMtxType_Multi: + ret = new J3DShapeMtxMulti(mtxInitData.mUseMtxIndex, mtxInitData.mUseMtxCount, + &mMtxTable[mtxInitData.mFirstUseMtxIndex]); + break; + default: + OSReport("WRONG SHAPE MATRIX TYPE (J3DModelInit.cpp)\n"); + break; + } + break; + } + + return ret; } -#pragma pop /* 8033784C-803378D8 33218C 008C+00 1/1 0/0 0/0 .text newShapeDraw__15J3DShapeFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapeFactory::newShapeDraw(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/newShapeDraw__15J3DShapeFactoryCFii.s" +J3DShapeDraw* J3DShapeFactory::newShapeDraw(int shapeNo, int mtxGroupNo) const { + const J3DShapeInitData& shapeInitData = mShapeInitData[mIndexTable[shapeNo]]; + const J3DShapeDrawInitData& drawInitData = + (&mDrawInitData[shapeInitData.mDrawInitDataIndex])[mtxGroupNo]; + return new J3DShapeDraw(&mDisplayListData[drawInitData.mDisplayListIndex], + drawInitData.mDisplayListSize); } -#pragma pop /* 803378D8-80337944 332218 006C+00 0/0 1/1 0/0 .text allocVcdVatCmdBuffer__15J3DShapeFactoryFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapeFactory::allocVcdVatCmdBuffer(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/allocVcdVatCmdBuffer__15J3DShapeFactoryFUl.s" +void J3DShapeFactory::allocVcdVatCmdBuffer(u32 count) { + mVcdVatCmdBuffer = new (0x20) u8[J3DShape::kVcdVatDLSize * count]; + for (u32 i = 0; i < (J3DShape::kVcdVatDLSize * count) / 4; i++) + ((u32*)mVcdVatCmdBuffer)[i] = 0; } -#pragma pop /* 80337944-803379D8 332284 0094+00 0/0 1/1 0/0 .text calcSize__15J3DShapeFactoryFiUl */ +#ifdef NONMATCHING +s32 J3DShapeFactory::calcSize(int shapeNo, u32 flag) { + s32 size = 0x68; + + // regalloc + u32 mtxGroupNo = getMtxGroupNum(shapeNo); + size += mtxGroupNo * 4; + size += mtxGroupNo * 4; + + for (u32 i = 0; i < mtxGroupNo; i++) { + s32 shapeMtxSize = calcSizeShapeMtx(flag, shapeNo, i); + size += shapeMtxSize; + size += 0x0C; + } + + return size; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DShapeFactory::calcSize(int param_0, u32 param_1) { +asm s32 J3DShapeFactory::calcSize(int param_0, u32 param_1) { nofralloc #include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSize__15J3DShapeFactoryFiUl.s" } #pragma pop +#endif /* 803379D8-803379E8 332318 0010+00 0/0 1/1 0/0 .text * calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapeFactory::calcSizeVcdVatCmdBuffer(u32 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl.s" +s32 J3DShapeFactory::calcSizeVcdVatCmdBuffer(u32 count) { + return ALIGN_NEXT(count * J3DShape::kVcdVatDLSize, 0x20); } -#pragma pop /* 803379E8-80337AE0 332328 00F8+00 1/1 0/0 0/0 .text calcSizeShapeMtx__15J3DShapeFactoryCFUlii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DShapeFactory::calcSizeShapeMtx(u32 param_0, int param_1, int param_2) const { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/calcSizeShapeMtx__15J3DShapeFactoryCFUlii.s" -} -#pragma pop +s32 J3DShapeFactory::calcSizeShapeMtx(u32 flag, int shapeNo, int mtxGroupNo) const { + const J3DShapeInitData& shapeInitData = mShapeInitData[mIndexTable[shapeNo]]; + u32 ret = 0; -/* 80337AE0-80337AF8 332420 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<20J3DShapeDrawInitData>__FPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80337AE0(void* _this, void const* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AE0.s" -} -#pragma pop + u32 mtxLoadType = getMdlDataFlag_MtxLoadType(flag); + switch (mtxLoadType) { + case J3DMdlDataFlag_ConcatView: + switch (shapeInitData.mShapeMtxType) { + case J3DShapeMtxType_Mtx: + ret = 0x08; + break; + case J3DShapeMtxType_BBoard: + ret = 0x08; + break; + case J3DShapeMtxType_YBBoard: + ret = 0x08; + break; + case J3DShapeMtxType_Multi: + ret = 0x10; + break; + default: + OSReport("WRONG SHAPE MATRIX TYPE (J3DModelInit.cpp)\n"); + } + break; -/* 80337AF8-80337B10 332438 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<19J3DShapeMtxInitData>__FPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80337AF8(void* _this, void const* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337AF8.s" -} -#pragma pop + case 0: + default: + switch (shapeInitData.mShapeMtxType) { + case J3DShapeMtxType_Mtx: + case J3DShapeMtxType_BBoard: + case J3DShapeMtxType_YBBoard: + ret = 0x08; + break; + case J3DShapeMtxType_Multi: + ret = 0x10; + break; + default: + OSReport("WRONG SHAPE MATRIX TYPE (J3DModelInit.cpp)\n"); + } + break; + } -/* 80337B10-80337B28 332450 0018+00 1/1 0/0 0/0 .text JSUConvertOffsetToPtr__FPCvUl - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80337B10(void* _this, void const* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B10.s" -} -#pragma pop - -/* 80337B28-80337B40 332468 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<14_GXVtxDescList>__FPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_80337B28(void* _this, void const* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/J3DGraphLoader/J3DShapeFactory/func_80337B28.s" -} -#pragma pop - -/* 803A2100-803A2100 02E760 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ + return ret; +} \ No newline at end of file diff --git a/libs/JSystem/JParticle/JPABaseShape.cpp b/libs/JSystem/JParticle/JPABaseShape.cpp index 025aadaa10..7f385824f9 100644 --- a/libs/JSystem/JParticle/JPABaseShape.cpp +++ b/libs/JSystem/JParticle/JPABaseShape.cpp @@ -7,6 +7,7 @@ #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAResource.h" #include "JSystem/JParticle/JPAResourceManager.h" +#include "dolphin/mtx/mtxvec.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/JSystem/JParticle/JPAEmitter.cpp b/libs/JSystem/JParticle/JPAEmitter.cpp index e8b601f4c8..105a616948 100644 --- a/libs/JSystem/JParticle/JPAEmitter.cpp +++ b/libs/JSystem/JParticle/JPAEmitter.cpp @@ -10,6 +10,7 @@ #include "JSystem/JParticle/JPAResourceManager.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" // diff --git a/libs/JSystem/JParticle/JPAParticle.cpp b/libs/JSystem/JParticle/JPAParticle.cpp index c4345888df..f317236969 100644 --- a/libs/JSystem/JParticle/JPAParticle.cpp +++ b/libs/JSystem/JParticle/JPAParticle.cpp @@ -4,6 +4,7 @@ // #include "JSystem/JParticle/JPAParticle.h" +#include "dolphin/mtx/mtxvec.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/JSystem/JParticle/JPAResource.cpp b/libs/JSystem/JParticle/JPAResource.cpp index 3195955b8f..d9430992d6 100644 --- a/libs/JSystem/JParticle/JPAResource.cpp +++ b/libs/JSystem/JParticle/JPAResource.cpp @@ -9,6 +9,7 @@ #include "JSystem/JParticle/JPAParticle.h" #include "dol2asm.h" #include "dolphin/mtx/mtx.h" +#include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" // diff --git a/libs/JSystem/JStudio/JStudio/functionvalue.cpp b/libs/JSystem/JStudio/JStudio/functionvalue.cpp index b71f773d01..a79c09925d 100644 --- a/libs/JSystem/JStudio/JStudio/functionvalue.cpp +++ b/libs/JSystem/JStudio/JStudio/functionvalue.cpp @@ -4,6 +4,7 @@ // #include "JSystem/JStudio/JStudio/functionvalue.h" +#include "JSystem/JUtility/JUTException.h" #include "MSL_C/math.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/JSystem/JStudio/JStudio/fvb.cpp b/libs/JSystem/JStudio/JStudio/fvb.cpp index 3cbafd02f7..f822d7cd09 100644 --- a/libs/JSystem/JStudio/JStudio/fvb.cpp +++ b/libs/JSystem/JStudio/JStudio/fvb.cpp @@ -4,6 +4,7 @@ // #include "JSystem/JStudio/JStudio/fvb.h" +#include "JSystem/JUtility/JUTException.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/JSystem/JStudio/JStudio/stb.cpp b/libs/JSystem/JStudio/JStudio/stb.cpp index 3ff947cc70..e624ce6b73 100644 --- a/libs/JSystem/JStudio/JStudio/stb.cpp +++ b/libs/JSystem/JStudio/JStudio/stb.cpp @@ -1,4 +1,5 @@ #include "JSystem/JStudio/JStudio/stb.h" +#include "JSystem/JUtility/JUTException.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/MSL_C/MSL_Common/Src/abort_exit.c b/libs/MSL_C/MSL_Common/Src/abort_exit.c index 4dc61f92d3..4685d60803 100644 --- a/libs/MSL_C/MSL_Common/Src/abort_exit.c +++ b/libs/MSL_C/MSL_Common/Src/abort_exit.c @@ -24,8 +24,8 @@ void __destroy_global_chain(); void __end_critical_region(); void __begin_critical_region(); void __kill_critical_regions(); -void raise(); -SECTION_DTORS10 extern void* const __destroy_global_chain_reference; +void raise(int); +SECTION_DTORS10 extern void (*__destroy_global_chain_reference[])(void); // // Declarations: @@ -33,7 +33,7 @@ SECTION_DTORS10 extern void* const __destroy_global_chain_reference; /* ############################################################################################## */ /* 8044D440-8044D540 07A160 0100+00 2/2 0/0 0/0 .bss __atexit_funcs */ -static u8 __atexit_funcs[256]; +static void (*__atexit_funcs[64])(void); /* ############################################################################################## */ /* 804519A0-804519A8 000EA0 0008+00 0/0 1/1 0/0 .sbss None */ @@ -41,34 +41,71 @@ extern u8 data_804519A0[8]; u8 data_804519A0[8]; /* 8045199C-804519A0 000E9C 0004+00 2/2 0/0 0/0 .sbss __console_exit */ -static u8 __console_exit[4]; +static void (*__console_exit)(void); /* 80451998-8045199C 000E98 0004+00 1/1 1/1 0/0 .sbss __stdio_exit */ -extern u8 __stdio_exit[4]; -u8 __stdio_exit[4]; +extern void (*__stdio_exit)(void); +void (*__stdio_exit)(void); /* 80451994-80451998 000E94 0004+00 2/2 0/0 0/0 .sbss __atexit_curr_func */ -static u8 __atexit_curr_func[4]; +static int __atexit_curr_func; /* 80451990-80451994 000E90 0004+00 2/2 0/0 0/0 .sbss __aborting */ -static u8 __aborting[4]; +static int __aborting; /* 803629CC-80362ABC 35D30C 00F0+00 0/0 2/2 0/0 .text exit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void exit() { - nofralloc -#include "asm/MSL_C/MSL_Common/Src/abort_exit/exit.s" +void exit(int status) { + int i; + void (**dtor)(void); + + if (!__aborting) { + __begin_critical_region(0); + __end_critical_region(0); + __destroy_global_chain(); + + dtor = __destroy_global_chain_reference; + while (*dtor != NULL) { + (*dtor)(); + dtor++; + } + + if (__stdio_exit != NULL) { + __stdio_exit(); + __stdio_exit = NULL; + } + } + + __begin_critical_region(0); + while (__atexit_curr_func > 0) + __atexit_funcs[--__atexit_curr_func](); + + __end_critical_region(0); + __kill_critical_regions(); + + if (__console_exit != NULL) { + __console_exit(); + __console_exit = NULL; + } + + _ExitProcess(); } -#pragma pop /* 80362ABC-80362B58 35D3FC 009C+00 0/0 9/9 0/0 .text abort */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void abort() { - nofralloc -#include "asm/MSL_C/MSL_Common/Src/abort_exit/abort.s" +void abort(void) { + raise(1); + __aborting = 1; + __begin_critical_region(0); + + while (__atexit_curr_func > 0) + __atexit_funcs[--__atexit_curr_func](); + + __end_critical_region(0); + __kill_critical_regions(); + + if (__console_exit != NULL) { + __console_exit(); + __console_exit = NULL; + } + + _ExitProcess(); } -#pragma pop diff --git a/libs/MSL_C/Makefile b/libs/MSL_C/Makefile index e5ab9f3fbd..52659a9d8a 100644 --- a/libs/MSL_C/Makefile +++ b/libs/MSL_C/Makefile @@ -121,6 +121,8 @@ LIBMSL_C_PPCEABI_BARE_H_A_O_FILES := \ LIBMSL_C_PPCEABI_BARE_H_A_CFLAGS := \ -O4,p \ -lang=c \ + -fp_contract on \ + -use_lmw_stmw on \ LIBMSL_C_PPCEABI_BARE_H_A_LDFLAGS := \ -nodefaults \ diff --git a/libs/MSL_C/Math/Double_precision/e_acos.c b/libs/MSL_C/Math/Double_precision/e_acos.c index f23b7f0463..38d048cd48 100644 --- a/libs/MSL_C/Math/Double_precision/e_acos.c +++ b/libs/MSL_C/Math/Double_precision/e_acos.c @@ -1,89 +1,106 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_acos -// -#include "MSL_C/Math/Double_precision/e_acos.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)e_acos.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -// -// Forward References: -// +/* __ieee754_acos(x) + * Method : + * acos(x) = pi/2 - asin(x) + * acos(-x) = pi/2 + asin(x) + * For |x|<=0.5 + * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) + * For x>0.5 + * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) + * = 2asin(sqrt((1-x)/2)) + * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) + * = 2f + (2c + 2s*z*R(z)) + * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term + * for f so that f+c ~ sqrt(z). + * For x<-0.5 + * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) + * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) + * + * Special cases: + * if x is NaN, return x itself; + * if |x|>1, return NaN with invalid signal. + * + * Function needed: sqrt + */ -void __ieee754_acos(); +#include "fdlibm.h" +#include "MSL_C/math.h" -// -// External References: -// +#ifdef __STDC__ +static const double +#else +static double +#endif +one= 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ +pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ +pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ +pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ +pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ +pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ +pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ +pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ +pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ +pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ +qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ +qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ +qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ +qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ -void sqrt(); -extern u32 __float_nan; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80456678-80456680 004C78 0008+00 1/1 0/0 0/0 .sdata2 @83 */ -SECTION_SDATA2 static u8 lit_83[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80456680-80456688 004C80 0008+00 1/1 0/0 0/0 .sdata2 @84 */ -SECTION_SDATA2 static f64 lit_84 = 3.141592653589793; - -/* 80456688-80456690 004C88 0008+00 1/1 0/0 0/0 .sdata2 @85 */ -SECTION_SDATA2 static f64 lit_85 = 1.5707963267948966; - -/* 80456690-80456698 004C90 0008+00 1/1 0/0 0/0 .sdata2 @86 */ -SECTION_SDATA2 static f64 lit_86 = 6.123233995736766e-17; - -/* 80456698-804566A0 004C98 0008+00 1/1 0/0 0/0 .sdata2 @87 */ -SECTION_SDATA2 static f64 lit_87 = 1.0 / 6.0; - -/* 804566A0-804566A8 004CA0 0008+00 1/1 0/0 0/0 .sdata2 @88 */ -SECTION_SDATA2 static f64 lit_88 = -0.3255658186224009; - -/* 804566A8-804566B0 004CA8 0008+00 1/1 0/0 0/0 .sdata2 @89 */ -SECTION_SDATA2 static f64 lit_89 = 0.20121253213486293; - -/* 804566B0-804566B8 004CB0 0008+00 1/1 0/0 0/0 .sdata2 @90 */ -SECTION_SDATA2 static f64 lit_90 = -0.04005553450067941; - -/* 804566B8-804566C0 004CB8 0008+00 1/1 0/0 0/0 .sdata2 @91 */ -SECTION_SDATA2 static f64 lit_91 = 0.0007915349942898145; - -/* 804566C0-804566C8 004CC0 0008+00 1/1 0/0 0/0 .sdata2 @92 */ -SECTION_SDATA2 static f64 lit_92 = 3.479331075960212e-05; - -/* 804566C8-804566D0 004CC8 0008+00 1/1 0/0 0/0 .sdata2 @93 */ -SECTION_SDATA2 static f64 lit_93 = 1.0; - -/* 804566D0-804566D8 004CD0 0008+00 1/1 0/0 0/0 .sdata2 @94 */ -SECTION_SDATA2 static f64 lit_94 = -2.403394911734414; - -/* 804566D8-804566E0 004CD8 0008+00 1/1 0/0 0/0 .sdata2 @95 */ -SECTION_SDATA2 static f64 lit_95 = 2.0209457602335057; - -/* 804566E0-804566E8 004CE0 0008+00 1/1 0/0 0/0 .sdata2 @96 */ -SECTION_SDATA2 static f64 lit_96 = -0.6882839716054533; - -/* 804566E8-804566F0 004CE8 0008+00 1/1 0/0 0/0 .sdata2 @97 */ -SECTION_SDATA2 static f64 lit_97 = 0.07703815055590194; - -/* 804566F0-804566F8 004CF0 0008+00 1/1 0/0 0/0 .sdata2 @98 */ -SECTION_SDATA2 static f64 lit_98 = 0.5; - -/* 804566F8-80456700 004CF8 0008+00 1/1 0/0 0/0 .sdata2 @99 */ -SECTION_SDATA2 static f64 lit_99 = 2.0; - -/* 80369274-803694B0 363BB4 023C+00 0/0 1/1 0/0 .text __ieee754_acos */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_acos() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_acos/__ieee754_acos.s" -} -#pragma pop +#ifdef __STDC__ + double __ieee754_acos(double x) +#else + double __ieee754_acos(x) + double x; +#endif +{ + double z,p,q,r,w,s,c,df; + int hx,ix; + hx = __HI(x); + ix = hx&0x7fffffff; + if(ix>=0x3ff00000) { /* |x| >= 1 */ + if(((ix-0x3ff00000)|__LO(x))==0) { /* |x|==1 */ + if(hx>0) return 0.0; /* acos(1) = 0 */ + else return pi+2.0*pio2_lo; /* acos(-1)= pi */ + } + return *__float_nan; /* acos(|x|>1) is NaN */ + } + if(ix<0x3fe00000) { /* |x| < 0.5 */ + if(ix<=0x3c600000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/ + z = x*x; + p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); + q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); + r = p/q; + return pio2_hi - (x - (pio2_lo-x*r)); + } else if (hx<0) { /* x < -0.5 */ + z = (one+x)*0.5; + p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); + q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); + s = sqrt(z); + r = p/q; + w = r*s-pio2_lo; + return pi - 2.0*(s+w); + } else { /* x > 0.5 */ + z = (one-x)*0.5; + s = sqrt(z); + df = s; + __LO(df) = 0; + c = (z-df*df)/(s+df); + p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); + q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); + r = p/q; + w = r*s+c; + return 2.0*(df+w); + } +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/e_asin.c b/libs/MSL_C/Math/Double_precision/e_asin.c index fa5656cf07..e67a887f53 100644 --- a/libs/MSL_C/Math/Double_precision/e_asin.c +++ b/libs/MSL_C/Math/Double_precision/e_asin.c @@ -1,87 +1,117 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_asin -// -#include "MSL_C/Math/Double_precision/e_asin.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)e_asin.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -// -// Forward References: -// +/* __ieee754_asin(x) + * Method : + * Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ... + * we approximate asin(x) on [0,0.5] by + * asin(x) = x + x*x^2*R(x^2) + * where + * R(x^2) is a rational approximation of (asin(x)-x)/x^3 + * and its remez error is bounded by + * |(asin(x)-x)/x^3 - R(x^2)| < 2^(-58.75) + * + * For x in [0.5,1] + * asin(x) = pi/2-2*asin(sqrt((1-x)/2)) + * Let y = (1-x), z = y/2, s := sqrt(z), and pio2_hi+pio2_lo=pi/2; + * then for x>0.98 + * asin(x) = pi/2 - 2*(s+s*z*R(z)) + * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) + * For x<=0.98, let pio4_hi = pio2_hi/2, then + * f = hi part of s; + * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) + * and + * asin(x) = pi/2 - 2*(s+s*z*R(z)) + * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) + * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) + * + * Special cases: + * if x is NaN, return x itself; + * if |x|>1, return NaN with invalid signal. + * + */ -void __ieee754_asin(); +#include "fdlibm.h" +#include "MSL_C/math.h" -// -// External References: -// +#ifdef __STDC__ +static const double +#else +static double +#endif + one + = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ + huge = 1.000e+300, pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ + pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ + pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ + /* coefficient for R(x^2) */ + pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ + pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ + pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ + pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ + pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ + pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ + qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ + qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ + qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ + qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ -void sqrt(); -extern u32 __float_nan; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80456700-80456708 004D00 0008+00 1/1 0/0 0/0 .sdata2 @94 */ -SECTION_SDATA2 static f64 lit_94 = 1.5707963267948966; - -/* 80456708-80456710 004D08 0008+00 1/1 0/0 0/0 .sdata2 @95 */ -SECTION_SDATA2 static f64 lit_95 = 6.123233995736766e-17; - -/* 80456710-80456718 004D10 0008+00 1/1 0/0 0/0 .sdata2 @96 */ -SECTION_SDATA2 static f64 lit_96 = 1e+300; - -/* 80456718-80456720 004D18 0008+00 1/1 0/0 0/0 .sdata2 @97 */ -SECTION_SDATA2 static f64 lit_97 = 1.0; - -/* 80456720-80456728 004D20 0008+00 1/1 0/0 0/0 .sdata2 @98 */ -SECTION_SDATA2 static f64 lit_98 = 1.0 / 6.0; - -/* 80456728-80456730 004D28 0008+00 1/1 0/0 0/0 .sdata2 @99 */ -SECTION_SDATA2 static f64 lit_99 = -0.3255658186224009; - -/* 80456730-80456738 004D30 0008+00 1/1 0/0 0/0 .sdata2 @100 */ -SECTION_SDATA2 static f64 lit_100 = 0.20121253213486293; - -/* 80456738-80456740 004D38 0008+00 1/1 0/0 0/0 .sdata2 @101 */ -SECTION_SDATA2 static f64 lit_101 = -0.04005553450067941; - -/* 80456740-80456748 004D40 0008+00 1/1 0/0 0/0 .sdata2 @102 */ -SECTION_SDATA2 static f64 lit_102 = 0.0007915349942898145; - -/* 80456748-80456750 004D48 0008+00 1/1 0/0 0/0 .sdata2 @103 */ -SECTION_SDATA2 static f64 lit_103 = 3.479331075960212e-05; - -/* 80456750-80456758 004D50 0008+00 1/1 0/0 0/0 .sdata2 @104 */ -SECTION_SDATA2 static f64 lit_104 = -2.403394911734414; - -/* 80456758-80456760 004D58 0008+00 1/1 0/0 0/0 .sdata2 @105 */ -SECTION_SDATA2 static f64 lit_105 = 2.0209457602335057; - -/* 80456760-80456768 004D60 0008+00 1/1 0/0 0/0 .sdata2 @106 */ -SECTION_SDATA2 static f64 lit_106 = -0.6882839716054533; - -/* 80456768-80456770 004D68 0008+00 1/1 0/0 0/0 .sdata2 @107 */ -SECTION_SDATA2 static f64 lit_107 = 0.07703815055590194; - -/* 80456770-80456778 004D70 0008+00 1/1 0/0 0/0 .sdata2 @108 */ -SECTION_SDATA2 static f64 lit_108 = 0.5; - -/* 80456778-80456780 004D78 0008+00 1/1 0/0 0/0 .sdata2 @109 */ -SECTION_SDATA2 static f64 lit_109 = 2.0; - -/* 80456780-80456788 004D80 0008+00 1/1 0/0 0/0 .sdata2 @110 */ -SECTION_SDATA2 static f64 lit_110 = 0.7853981633974483; - -/* 803694B0-803696E8 363DF0 0238+00 0/0 1/1 0/0 .text __ieee754_asin */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_asin() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_asin/__ieee754_asin.s" -} -#pragma pop +#ifdef __STDC__ +double __ieee754_asin(double x) +#else +double __ieee754_asin(x) double x; +#endif +{ + double t, w, p, q, c, r, s; + int hx, ix; + hx = __HI(x); + ix = hx & 0x7fffffff; + if (ix >= 0x3ff00000) { /* |x|>= 1 */ + if (((ix - 0x3ff00000) | __LO(x)) == 0) + /* asin(1)=+-pi/2 with inexact */ + return x * pio2_hi + x * pio2_lo; + return *__float_nan; /* asin(|x|>1) is NaN */ + } else if (ix < 0x3fe00000) { /* |x|<0.5 */ + if (ix < 0x3e400000) { /* if |x| < 2**-27 */ + if (huge + x > one) + return x; /* return x with inexact if x!=0*/ + } else + t = x * x; + p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); + q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); + w = p / q; + return x + x * w; + } + /* 1> |x|>= 0.5 */ + w = one - fabs(x); + t = w * 0.5; + p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); + q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); + s = sqrt(t); + if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ + w = p / q; + t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); + } else { + w = s; + __LO(w) = 0; + c = (t - w * w) / (s + w); + r = p / q; + p = 2.0 * s * r - (pio2_lo - 2.0 * c); + q = pio4_hi - 2.0 * w; + t = pio4_hi - (p - q); + } + if (hx > 0) + return t; + else + return -t; +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/e_atan2.c b/libs/MSL_C/Math/Double_precision/e_atan2.c index db6f4e8742..5a7863be09 100644 --- a/libs/MSL_C/Math/Double_precision/e_atan2.c +++ b/libs/MSL_C/Math/Double_precision/e_atan2.c @@ -1,70 +1,143 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_atan2 -// -#include "MSL_C/Math/Double_precision/e_atan2.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)e_atan2.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ -// -// Forward References: -// +/* __ieee754_atan2(y,x) + * Method : + * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). + * 2. Reduce x to positive by (if x and y are unexceptional): + * ARG (x+iy) = arctan(y/x) ... if x > 0, + * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, + * + * Special cases: + * + * ATAN2((anything), NaN ) is NaN; + * ATAN2(NAN , (anything) ) is NaN; + * ATAN2(+-0, +(anything but NaN)) is +-0 ; + * ATAN2(+-0, -(anything but NaN)) is +-pi ; + * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; + * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; + * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; + * ATAN2(+-INF,+INF ) is +-pi/4 ; + * ATAN2(+-INF,-INF ) is +-3pi/4; + * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; + * + * Constants: + * The hexadecimal values are the intended ones for the following + * constants. The decimal values may be used, provided that the + * compiler will convert from decimal to binary accurately enough + * to produce the hexadecimal values shown. + */ -void __ieee754_atan2(); +#include "fdlibm.h" -// -// External References: -// +#ifdef __STDC__ +static const double +#else +static double +#endif + tiny + = 1.0e-300, + zero = 0.0, pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ + pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ + pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */ + pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ -void atan(); +#ifdef __STDC__ +double __ieee754_atan2(double y, double x) +#else +double __ieee754_atan2(y, x) double y, x; +#endif +{ + double z; + int k, m, hx, hy, ix, iy; + unsigned lx, ly; -// -// Declarations: -// + hx = __HI(x); + ix = hx & 0x7fffffff; + lx = __LO(x); + hy = __HI(y); + iy = hy & 0x7fffffff; + ly = __LO(y); + if (((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000)) /* x or y is NaN */ + return x + y; + if ((hx - 0x3ff00000 | lx) == 0) + return atan(y); /* x=1.0 */ + m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ -/* ############################################################################################## */ -/* 80456788-80456790 004D88 0008+00 1/1 0/0 0/0 .sdata2 @145 */ -SECTION_SDATA2 static f64 lit_145 = 3.141592653589793; + /* when y = 0 */ + if ((iy | ly) == 0) { + switch (m) { + case 0: + case 1: + return y; /* atan(+-0,+anything)=+-0 */ + case 2: + return pi + tiny; /* atan(+0,-anything) = pi */ + case 3: + return -pi - tiny; /* atan(-0,-anything) =-pi */ + } + } + /* when x = 0 */ + if ((ix | lx) == 0) + return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; -/* 80456790-80456798 004D90 0008+00 1/1 0/0 0/0 .sdata2 @146 */ -SECTION_SDATA2 static f64 lit_146 = -3.141592653589793; + /* when x is INF */ + if (ix == 0x7ff00000) { + if (iy == 0x7ff00000) { + switch (m) { + case 0: + return pi_o_4 + tiny; /* atan(+INF,+INF) */ + case 1: + return -pi_o_4 - tiny; /* atan(-INF,+INF) */ + case 2: + return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ + case 3: + return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ + } + } else { + switch (m) { + case 0: + return zero; /* atan(+...,+INF) */ + case 1: + return -zero; /* atan(-...,+INF) */ + case 2: + return pi + tiny; /* atan(+...,-INF) */ + case 3: + return -pi - tiny; /* atan(-...,-INF) */ + } + } + } + /* when y is INF */ + if (iy == 0x7ff00000) + return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; -/* 80456798-804567A0 004D98 0008+00 1/1 0/0 0/0 .sdata2 @147 */ -SECTION_SDATA2 static f64 lit_147 = -1.5707963267948966; - -/* 804567A0-804567A8 004DA0 0008+00 1/1 0/0 0/0 .sdata2 @148 */ -SECTION_SDATA2 static f64 lit_148 = 1.5707963267948966; - -/* 804567A8-804567B0 004DA8 0008+00 1/1 0/0 0/0 .sdata2 @149 */ -SECTION_SDATA2 static f64 lit_149 = 0.7853981633974483; - -/* 804567B0-804567B8 004DB0 0008+00 1/1 0/0 0/0 .sdata2 @150 */ -SECTION_SDATA2 static f64 lit_150 = -0.7853981633974483; - -/* 804567B8-804567C0 004DB8 0008+00 1/1 0/0 0/0 .sdata2 @151 */ -SECTION_SDATA2 static f64 lit_151 = 2.356194490192345; - -/* 804567C0-804567C8 004DC0 0008+00 1/1 0/0 0/0 .sdata2 @152 */ -SECTION_SDATA2 static f64 lit_152 = -2.356194490192345; - -/* 804567C8-804567D0 004DC8 0008+00 1/1 0/0 0/0 .sdata2 @153 */ -SECTION_SDATA2 static u8 lit_153[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 804567D0-804567D8 004DD0 0008+00 1/1 0/0 0/0 .sdata2 @154 */ -SECTION_SDATA2 static f64 lit_154 = -0.0; - -/* 804567D8-804567E0 004DD8 0008+00 1/1 0/0 0/0 .sdata2 @155 */ -SECTION_SDATA2 static f64 lit_155 = 1.2246467991473532e-16; - -/* 803696E8-80369978 364028 0290+00 0/0 1/1 0/0 .text __ieee754_atan2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_atan2() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_atan2/__ieee754_atan2.s" -} -#pragma pop + /* compute y/x */ + k = (iy - ix) >> 20; + if (k > 60) + z = pi_o_2 + 0.5 * pi_lo; /* |y/x| > 2**60 */ + else if (hx < 0 && k < -60) + z = 0.0; /* |y|/x < -2**60 */ + else + z = atan(__fabs(y / x)); /* safe to do y/x */ + switch (m) { + case 0: + return z; /* atan(+,+) */ + case 1: + __HI(z) ^= 0x80000000; + return z; /* atan(-,+) */ + case 2: + return pi - (z - pi_lo); /* atan(+,-) */ + default: /* case 3 */ + return (z - pi_lo) - pi; /* atan(-,-) */ + } +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/e_exp.c b/libs/MSL_C/Math/Double_precision/e_exp.c index 97c162b682..4a2b28c81f 100644 --- a/libs/MSL_C/Math/Double_precision/e_exp.c +++ b/libs/MSL_C/Math/Double_precision/e_exp.c @@ -1,104 +1,162 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_exp -// -#include "MSL_C/Math/Double_precision/e_exp.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)e_exp.c 1.6 04/04/22 */ +/* + * ==================================================== + * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved. + * + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -// -// Forward References: -// +/* __ieee754_exp(x) + * Returns the exponential of x. + * + * Method + * 1. Argument reduction: + * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. + * Given x, find r and integer k such that + * + * x = k*ln2 + r, |r| <= 0.5*ln2. + * + * Here r will be represented as r = hi-lo for better + * accuracy. + * + * 2. Approximation of exp(r) by a special rational function on + * the interval [0,0.34658]: + * Write + * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... + * We use a special Remes algorithm on [0,0.34658] to generate + * a polynomial of degree 5 to approximate R. The maximum error + * of this polynomial approximation is bounded by 2**-59. In + * other words, + * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 + * (where z=r*r, and the values of P1 to P5 are listed below) + * and + * | 5 | -59 + * | 2.0+P1*z+...+P5*z - R(z) | <= 2 + * | | + * The computation of exp(r) thus becomes + * 2*r + * exp(r) = 1 + ------- + * R - r + * r*R1(r) + * = 1 + r + ----------- (for better accuracy) + * 2 - R1(r) + * where + * 2 4 10 + * R1(r) = r - (P1*r + P2*r + ... + P5*r ). + * + * 3. Scale back to obtain exp(x): + * From step 1, we have + * exp(x) = 2^k * exp(r) + * + * Special cases: + * exp(INF) is INF, exp(NaN) is NaN; + * exp(-INF) is 0, and + * for finite argument, only exp(0)=1 is exact. + * + * Accuracy: + * according to an error analysis, the error is always less than + * 1 ulp (unit in the last place). + * + * Misc. info. + * For IEEE double + * if x > 7.09782712893383973096e+02 then exp(x) overflow + * if x < -7.45133219101941108420e+02 then exp(x) underflow + * + * Constants: + * The hexadecimal values are the intended ones for the following + * constants. The decimal values may be used, provided that the + * compiler will convert from decimal to binary accurately enough + * to produce the hexadecimal values shown. + */ -void __ieee754_exp(); +#include "fdlibm.h" -// -// External References: -// +#ifdef __STDC__ +static const double +#else +static double +#endif +one = 1.0, +halF[2] = {0.5,-0.5,}, +huge = 1.0e+300, +twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ +o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ +u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */ +ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */ + -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */ +ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */ + -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */ +invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */ +P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ +P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ +P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ +P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ +P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */ -// -// Declarations: -// +#ifdef __STDC__ +double __ieee754_exp(double x) /* default IEEE double exp */ +#else +double __ieee754_exp(x) /* default IEEE double exp */ + double x; +#endif +{ + double y, hi, lo, c, t; + int k, xsb; + unsigned hx; -/* ############################################################################################## */ -/* 803A2340-803A2350 02E9A0 0010+00 1/1 0/0 0/0 .rodata halF */ -SECTION_RODATA static u8 const halF[16] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A2340, &halF); + hx = __HI(x); /* high word of x */ + xsb = (hx >> 31) & 1; /* sign bit of x */ + hx &= 0x7fffffff; /* high word of |x| */ -/* 803A2350-803A2360 02E9B0 0010+00 0/1 0/0 0/0 .rodata ln2HI */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const ln2HI[16] = { - 0x3F, 0xE6, 0x2E, 0x42, 0xFE, 0xE0, 0x00, 0x00, 0xBF, 0xE6, 0x2E, 0x42, 0xFE, 0xE0, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A2350, &ln2HI); -#pragma pop + /* filter out non-finite argument */ + if (hx >= 0x40862E42) { /* if |x|>=709.78... */ + if (hx >= 0x7ff00000) { + if (((hx & 0xfffff) | __LO(x)) != 0) + return x + x; /* NaN */ + else + return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ + } + if (x > o_threshold) + return huge * huge; /* overflow */ + if (x < u_threshold) + return twom1000 * twom1000; /* underflow */ + } -/* 803A2360-803A2370 02E9C0 0010+00 0/1 0/0 0/0 .rodata ln2LO */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const ln2LO[16] = { - 0x3D, 0xEA, 0x39, 0xEF, 0x35, 0x79, 0x3C, 0x76, 0xBD, 0xEA, 0x39, 0xEF, 0x35, 0x79, 0x3C, 0x76, -}; -COMPILER_STRIP_GATE(0x803A2360, &ln2LO); -#pragma pop + /* argument reduction */ + if (hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */ + if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ + hi = x - ln2HI[xsb]; + lo = ln2LO[xsb]; + k = 1 - xsb - xsb; + } else { + k = (int)(invln2 * x + halF[xsb]); + t = k; + hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ + lo = t * ln2LO[0]; + } + x = hi - lo; + } else if (hx < 0x3e300000) { /* when |x|<2**-28 */ + if (huge + x > one) + return one + x; /* trigger inexact */ + } else + k = 0; -/* 804567E0-804567E8 004DE0 0008+00 1/1 0/0 0/0 .sdata2 @115 */ -SECTION_SDATA2 static u8 lit_115[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 804567E8-804567F0 004DE8 0008+00 1/1 0/0 0/0 .sdata2 @116 */ -SECTION_SDATA2 static f64 lit_116 = 709.782712893384; - -/* 804567F0-804567F8 004DF0 0008+00 1/1 0/0 0/0 .sdata2 @117 */ -SECTION_SDATA2 static f64 lit_117 = DOUBLE_INF; - -/* 804567F8-80456800 004DF8 0008+00 1/1 0/0 0/0 .sdata2 @118 */ -SECTION_SDATA2 static f64 lit_118 = -745.1332191019411; - -/* 80456800-80456808 004E00 0008+00 1/1 0/0 0/0 .sdata2 @119 */ -SECTION_SDATA2 static f64 lit_119 = 1.4426950408889634; - -/* 80456808-80456810 004E08 0008+00 1/1 0/0 0/0 .sdata2 @120 */ -SECTION_SDATA2 static f64 lit_120 = 1e+300; - -/* 80456810-80456818 004E10 0008+00 1/1 0/0 0/0 .sdata2 @121 */ -SECTION_SDATA2 static f64 lit_121 = 1.0; - -/* 80456818-80456820 004E18 0008+00 1/1 0/0 0/0 .sdata2 @122 */ -SECTION_SDATA2 static f64 lit_122 = 0.16666666666666602; - -/* 80456820-80456828 004E20 0008+00 1/1 0/0 0/0 .sdata2 @123 */ -SECTION_SDATA2 static f64 lit_123 = -0.0027777777777015593; - -/* 80456828-80456830 004E28 0008+00 1/1 0/0 0/0 .sdata2 @124 */ -SECTION_SDATA2 static f64 lit_124 = 6.613756321437934e-05; - -/* 80456830-80456838 004E30 0008+00 1/1 0/0 0/0 .sdata2 @125 */ -SECTION_SDATA2 static f64 lit_125 = -1.6533902205465252e-06; - -/* 80456838-80456840 004E38 0008+00 1/1 0/0 0/0 .sdata2 @126 */ -SECTION_SDATA2 static f64 lit_126 = 4.1381367970572385e-08; - -/* 80456840-80456848 004E40 0008+00 1/1 0/0 0/0 .sdata2 @127 */ -SECTION_SDATA2 static f64 lit_127 = 2.0; - -/* 80456848-80456850 004E48 0008+00 1/1 0/0 0/0 .sdata2 @128 */ -SECTION_SDATA2 static f64 lit_128 = 9.332636185032189e-302; - -/* 80456850-80456858 004E50 0008+00 1/1 0/0 0/0 .sdata2 @131 */ -SECTION_SDATA2 static f64 lit_131 = 4503601774854144.0 /* cast s32 to float */; - -/* 80369978-80369B9C 3642B8 0224+00 0/0 1/1 0/0 .text __ieee754_exp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_exp() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_exp/__ieee754_exp.s" -} -#pragma pop + /* x is now in primary range */ + t = x * x; + c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); + if (k == 0) + return one - ((x * c) / (c - 2.0) - x); + else + y = one - ((lo - (x * c) / (2.0 - c)) - hi); + if (k >= -1021) { + __HI(y) += (k << 20); /* add k to y's exponent */ + return y; + } else { + __HI(y) += ((k + 1000) << 20); /* add k to y's exponent */ + return y * twom1000; + } +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/e_pow.c b/libs/MSL_C/Math/Double_precision/e_pow.c index 77445aff0b..e1bf8cf234 100644 --- a/libs/MSL_C/Math/Double_precision/e_pow.c +++ b/libs/MSL_C/Math/Double_precision/e_pow.c @@ -1,166 +1,408 @@ +//======================================================================== // -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_pow +// e_pow.c // - -#include "MSL_C/Math/Double_precision/e_pow.h" -#include "dol2asm.h" -#include "dolphin/types.h" - +// Part of the standard mathematical function library // -// Forward References: +//======================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. // - -void __ieee754_pow(); - +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. // -// External References: +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. // - -void ldexp(); -void sqrt(); -extern u32 __float_nan; -extern u8 errno[4 + 4 /* padding */]; - +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. // -// Declarations: +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. // +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//======================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jlarmour +// Contributors: +// Date: 2001-07-20 +// Purpose: +// Description: +// Usage: +// +//####DESCRIPTIONEND#### +// +//======================================================================== -/* ############################################################################################## */ -/* 803A2380-803A2390 02E9E0 0010+00 1/1 0/0 0/0 .rodata bp */ -SECTION_RODATA static u8 const bp[16] = { - 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A2380, &bp); +// CONFIGURATION -/* 803A2390-803A23A0 02E9F0 0010+00 0/1 0/0 0/0 .rodata dp_h */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const dp_h[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xE2, 0xB8, 0x03, 0x40, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A2390, &dp_h); -#pragma pop +/* @(#)e_pow.c 5.1 93/09/24 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -/* 803A23A0-803A23B0 02EA00 0010+00 0/1 0/0 0/0 .rodata dp_l */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const dp_l[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x4C, 0xFD, 0xEB, 0x43, 0xCF, 0xD0, 0x06, -}; -COMPILER_STRIP_GATE(0x803A23A0, &dp_l); -#pragma pop +/* __ieee754_pow(x,y) return x**y + * + * n + * Method: Let x = 2 * (1+f) + * 1. Compute and return log2(x) in two pieces: + * log2(x) = w1 + w2, + * where w1 has 53-24 = 29 bit trailing zeros. + * 2. Perform y*log2(x) = n+y' by simulating muti-precision + * arithmetic, where |y'|<=0.5. + * 3. Return x**y = 2**n*exp(y'*log2) + * + * Special cases: + * 1. (anything) ** 0 is 1 + * 2. (anything) ** 1 is itself + * 3. (anything) ** NAN is NAN + * 4. NAN ** (anything except 0) is NAN + * 5. +-(|x| > 1) ** +INF is +INF + * 6. +-(|x| > 1) ** -INF is +0 + * 7. +-(|x| < 1) ** +INF is +0 + * 8. +-(|x| < 1) ** -INF is +INF + * 9. +-1 ** +-INF is NAN + * 10. +0 ** (+anything except 0, NAN) is +0 + * 11. -0 ** (+anything except 0, NAN, odd integer) is +0 + * 12. +0 ** (-anything except 0, NAN) is +INF + * 13. -0 ** (-anything except 0, NAN, odd integer) is +INF + * 14. -0 ** (odd integer) = -( +0 ** (odd integer) ) + * 15. +INF ** (+anything except 0,NAN) is +INF + * 16. +INF ** (-anything except 0,NAN) is +0 + * 17. -INF ** (anything) = -0 ** (-anything) + * 18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer) + * 19. (-anything except 0 and inf) ** (non-integer) is NAN + * + * Accuracy: + * pow(x,y) returns x**y nearly rounded. In particular + * pow(integer,integer) + * always returns the correct integer provided it is + * representable. + * + * Constants : + * The hexadecimal values are the intended ones for the following + * constants. The decimal values may be used, provided that the + * compiler will convert from decimal to binary accurately enough + * to produce the hexadecimal values shown. + */ -/* 80456858-80456860 004E58 0008+00 1/1 0/0 0/0 .sdata2 @336 */ -SECTION_SDATA2 static f64 lit_336 = 1.0; +#include "types.h" +#include "errno.h" +#include "MSL_C/math.h" +#include "fdlibm.h" -/* 80456860-80456868 004E60 0008+00 1/1 0/0 0/0 .sdata2 @337 */ -SECTION_SDATA2 static u8 lit_337[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +#ifndef _DOUBLE_IS_32BITS -/* 80456868-80456870 004E68 0008+00 1/1 0/0 0/0 .sdata2 @338 */ -SECTION_SDATA2 static f64 lit_338 = DOUBLE_INF; +#ifdef __STDC__ +static const double +#else +static double +#endif +bp[] = {1.0, 1.5,}, +dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */ +dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */ +zero = 0.0, +one = 1.0, +two = 2.0, +two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */ +huge = 1.0e300, +tiny = 1.0e-300, + /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */ +L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */ +L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */ +L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */ +L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */ +L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */ +L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */ +P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ +P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ +P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ +P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ +P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ +lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ +lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */ +lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */ +ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */ +cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */ +cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */ +cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/ +ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */ +ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/ +ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/ -/* 80456870-80456878 004E70 0008+00 1/1 0/0 0/0 .sdata2 @339 */ -SECTION_SDATA2 static f64 lit_339 = 0.5; +#ifdef __STDC__ +double __ieee754_pow(double x, double y) +#else +double __ieee754_pow(x, y) double x, y; +#endif +{ + double z, ax, z_h, z_l, p_h, p_l; + double y1, t1, t2, r, s, t, u, v, w; + double qqq; // necessary temp + int i0, i1, i, j, k, yisint, n; + int hx, hy, ix, iy; + u32 lx, ly; -/* 80456878-80456880 004E78 0008+00 1/1 0/0 0/0 .sdata2 @340 */ -SECTION_SDATA2 static f64 lit_340 = 1.0 / 3.0; + i0 = ((*(int*)&one) >> 29) ^ 1; + i1 = 1 - i0; + hx = __HI(x); + lx = __LO(x); + hy = __HI(y); + ly = __LO(y); + ix = hx & 0x7fffffff; + iy = hy & 0x7fffffff; -/* 80456880-80456888 004E80 0008+00 1/1 0/0 0/0 .sdata2 @341 */ -SECTION_SDATA2 static f64 lit_341 = 0.25; + /* y==zero: x**0 = 1 */ + if ((iy | ly) == 0) + return one; -/* 80456888-80456890 004E88 0008+00 1/1 0/0 0/0 .sdata2 @342 */ -SECTION_SDATA2 static f64 lit_342 = 1.4426950216293335; + /* +-NaN return x+y */ + if (ix > 0x7ff00000 || ((ix == 0x7ff00000) && (lx != 0)) || iy > 0x7ff00000 || ((iy == 0x7ff00000) && (ly != 0))) + return x + y; -/* 80456890-80456898 004E90 0008+00 1/1 0/0 0/0 .sdata2 @343 */ -SECTION_SDATA2 static f64 lit_343 = 1.9259629911266175e-08; + /* determine if y is an odd int when x < 0 + * yisint = 0 ... y is not an integer + * yisint = 1 ... y is an odd int + * yisint = 2 ... y is an even int + */ + yisint = 0; + if (hx < 0) { + if (iy >= 0x43400000) + yisint = 2; /* even integer y */ + else if (iy >= 0x3ff00000) { + k = (iy >> 20) - 0x3ff; /* exponent */ + if (k > 20) { + j = ly >> (52 - k); + if ((j << (52 - k)) == ly) + yisint = 2 - (j & 1); + } else if (ly == 0) { + j = iy >> (20 - k); + if ((j << (20 - k)) == iy) + yisint = 2 - (j & 1); + } + } + } -/* 80456898-804568A0 004E98 0008+00 1/1 0/0 0/0 .sdata2 @344 */ -SECTION_SDATA2 static f64 lit_344 = 1.4426950408889634; + /* special value of y */ + if (ly == 0) { + if (iy == 0x7ff00000) { /* y is +-inf */ + if (((ix - 0x3ff00000) | lx) == 0) + return y - y; /* inf**+-1 is NaN */ + else if (ix >= 0x3ff00000) /* (|x|>1)**+-inf = inf,0 */ + return (hy >= 0) ? y : zero; + else /* (|x|<1)**-,+inf = inf,0 */ + return (hy < 0) ? -y : zero; + } + if (iy == 0x3ff00000) { /* y is +-1 */ + if (hy < 0) + return one / x; + else + return x; + } + if (hy == 0x40000000) + return x * x; /* y is 2 */ + if (hy == 0x3fe00000) { /* y is 0.5 */ + if (hx >= 0) /* x >= +0 */ + return sqrt(x); + } + } -/* 804568A0-804568A8 004EA0 0008+00 1/1 0/0 0/0 .sdata2 @345 */ -SECTION_SDATA2 static f64 lit_345 = 9007199254740992.0; + ax = __fabs(x); + qqq = ax; /*x is +-0,+-inf,+-1*/ + /* special value of x */ + if (lx == 0) { + if (ix == 0x7ff00000 || ix == 0 || ix == 0x3ff00000) { + z = qqq; /*x is +-0,+-inf,+-1*/ + if (hy < 0) + z = one / z; /* z = (1/|x|) */ + if (hx < 0) { + if (((ix - 0x3ff00000) | yisint) == 0) { + z = (z - z) / (z - z); /* (-1)**non-int is NaN */ + } else if (yisint == 1) + z = -z; /* (x<0)**odd = -(|x|**odd) */ + } + return z; + } + } -/* 804568A8-804568B0 004EA8 0008+00 1/1 0/0 0/0 .sdata2 @346 */ -SECTION_SDATA2 static f64 lit_346 = 0.5999999999999946; + /* (x<0)**(non-int) is NaN */ + /* CYGNUS LOCAL: This used to be + if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x); + but ANSI C says a right shift of a signed negative quantity is + implementation defined. */ -/* 804568B0-804568B8 004EB0 0008+00 1/1 0/0 0/0 .sdata2 @347 */ -SECTION_SDATA2 static f64 lit_347 = 0.4285714285785502; + if (((((int)hx >> 31) + 1) | yisint) == 0) { + errno = 33; + return (double)*__float_nan; + }; -/* 804568B8-804568C0 004EB8 0008+00 1/1 0/0 0/0 .sdata2 @348 */ -SECTION_SDATA2 static f64 lit_348 = 0.33333332981837743; + /* |y| is huge */ + if (iy > 0x41e00000) { /* if |y| > 2**31 */ + if (iy > 0x43f00000) { /* if |y| > 2**64, must o/uflow */ + if (ix <= 0x3fefffff) + return (hy < 0) ? huge * huge : tiny * tiny; + if (ix >= 0x3ff00000) + return (hy > 0) ? huge * huge : tiny * tiny; + } + /* over/underflow if x is not close to one */ + if (ix < 0x3fefffff) + return (hy < 0) ? huge * huge : tiny * tiny; + if (ix > 0x3ff00000) + return (hy > 0) ? huge * huge : tiny * tiny; + /* now |1-x| is tiny <= 2**-20, suffice to compute + log(x) by x-x^2/2+x^3/3-x^4/4 */ + t = x - 1; /* t has 20 trailing zeros */ + w = (t * t) * (0.5 - t * (0.3333333333333333333333 - t * 0.25)); + u = ivln2_h * t; /* ivln2_h has 21 sig. bits */ + v = t * ivln2_l - w * ivln2; + t1 = u + v; + __LO(t1) = 0; + t2 = v - (t1 - u); + } else { + double s2, s_h, s_l, t_h, t_l; + n = 0; + /* take care subnormal number */ + if (ix < 0x00100000) { + ax *= two53; + n -= 53; + ix = __HI(ax); + } + n += ((ix) >> 20) - 0x3ff; + j = ix & 0x000fffff; + /* determine interval */ + ix = j | 0x3ff00000; /* normalize ix */ + if (j <= 0x3988E) + k = 0; /* |x|> 1) | 0x20000000) + 0x00080000 + (k << 18); + t_l = ax - (t_h - bp[k]); + s_l = v * ((u - s_h * t_h) - s_h * t_l); + /* compute log(ax) */ + s2 = s * s; + r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); + r += s_l * (s_h + s); + s2 = s_h * s_h; + t_h = 3.0 + s2 + r; + __LO(t_h) = 0; + t_l = r - ((t_h - 3.0) - s2); + /* u+v = s*(1+...) */ + u = s_h * t_h; + v = s_l * t_h + t_l * s; + /* 2/(3log2)*(s+...) */ + p_h = u + v; + __LO(p_h) = 0; + p_l = v - (p_h - u); + z_h = cp_h * p_h; /* cp_h+cp_l = 2/(3*log2) */ + z_l = cp_l * p_h + p_l * cp + dp_l[k]; + /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */ + t = (double)n; + t1 = (((z_h + z_l) + dp_h[k]) + t); + __LO(t1) = 0; + t2 = z_l - (((t1 - t) - dp_h[k]) - z_h); + } -/* 804568C8-804568D0 004EC8 0008+00 1/1 0/0 0/0 .sdata2 @350 */ -SECTION_SDATA2 static f64 lit_350 = 0.23066074577556175; + s = one; /* s (sign of result -ve**odd) = -1 else = 1 */ + if (((((int)hx >> 31) + 1) | (yisint - 1)) == 0) + s = -one; /* (-ve)**(odd int) */ -/* 804568D0-804568D8 004ED0 0008+00 1/1 0/0 0/0 .sdata2 @351 */ -SECTION_SDATA2 static f64 lit_351 = 0.20697501780033842; - -/* 804568D8-804568E0 004ED8 0008+00 1/1 0/0 0/0 .sdata2 @352 */ -SECTION_SDATA2 static f64 lit_352 = 3.0; - -/* 804568E0-804568E8 004EE0 0008+00 1/1 0/0 0/0 .sdata2 @353 */ -SECTION_SDATA2 static f64 lit_353 = 0.9617967009544373; - -/* 804568E8-804568F0 004EE8 0008+00 1/1 0/0 0/0 .sdata2 @354 */ -SECTION_SDATA2 static f64 lit_354 = -7.028461650952758e-09; - -/* 804568F0-804568F8 004EF0 0008+00 1/1 0/0 0/0 .sdata2 @355 */ -SECTION_SDATA2 static f64 lit_355 = 0.9617966939259756; - -/* 804568F8-80456900 004EF8 0008+00 1/1 0/0 0/0 .sdata2 @356 */ -SECTION_SDATA2 static f64 lit_356 = -1.0; - -/* 80456900-80456908 004F00 0008+00 1/1 0/0 0/0 .sdata2 @357 */ -SECTION_SDATA2 static f64 lit_357 = 1e+300; - -/* 80456908-80456910 004F08 0008+00 1/1 0/0 0/0 .sdata2 @358 */ -SECTION_SDATA2 static f64 lit_358 = 8.008566259537294e-17; - -/* 80456910-80456918 004F10 0008+00 1/1 0/0 0/0 .sdata2 @359 */ -SECTION_SDATA2 static f64 lit_359 = 1e-300; - -/* 80456918-80456920 004F18 0008+00 1/1 0/0 0/0 .sdata2 @360 */ -SECTION_SDATA2 static f64 lit_360 = 0.6931471824645996; - -/* 80456920-80456928 004F20 0008+00 1/1 0/0 0/0 .sdata2 @361 */ -SECTION_SDATA2 static f64 lit_361 = 0.6931471805599453; - -/* 80456928-80456930 004F28 0008+00 1/1 0/0 0/0 .sdata2 @362 */ -SECTION_SDATA2 static f64 lit_362 = -1.904654299957768e-09; - -/* 80456930-80456938 004F30 0008+00 1/1 0/0 0/0 .sdata2 @363 */ -SECTION_SDATA2 static f64 lit_363 = 0.16666666666666602; - -/* 80456938-80456940 004F38 0008+00 1/1 0/0 0/0 .sdata2 @364 */ -SECTION_SDATA2 static f64 lit_364 = -0.0027777777777015593; - -/* 80456940-80456948 004F40 0008+00 1/1 0/0 0/0 .sdata2 @365 */ -SECTION_SDATA2 static f64 lit_365 = 6.613756321437934e-05; - -/* 80456948-80456950 004F48 0008+00 1/1 0/0 0/0 .sdata2 @366 */ -SECTION_SDATA2 static f64 lit_366 = -1.6533902205465252e-06; - -/* 80456950-80456958 004F50 0008+00 1/1 0/0 0/0 .sdata2 @367 */ -SECTION_SDATA2 static f64 lit_367 = 4.1381367970572385e-08; - -/* 80456958-80456960 004F58 0008+00 1/1 0/0 0/0 .sdata2 @368 */ -SECTION_SDATA2 static f64 lit_368 = 2.0; - -/* 80456960-80456968 004F60 0008+00 1/1 0/0 0/0 .sdata2 @370 */ -SECTION_SDATA2 static f64 lit_370 = 4503601774854144.0 /* cast s32 to float */; - -/* 80369ED8-8036A708 364818 0830+00 0/0 1/1 0/0 .text __ieee754_pow */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_pow() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_pow/__ieee754_pow.s" + /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ + y1 = y; + __LO(y1) = 0; + p_l = (y - y1) * t1 + y * t2; + p_h = y1 * t1; + z = p_l + p_h; + j = __HI(z); + i = __LO(z); + if (j >= 0x40900000) { /* z >= 1024 */ + if (((j - 0x40900000) | i) != 0) /* if z > 1024 */ + return s * huge * huge; /* overflow */ + else { + if (p_l + ovt > z - p_h) + return s * huge * huge; /* overflow */ + } + } else if ((j & 0x7fffffff) >= 0x4090cc00) { /* z <= -1075 */ + if (((j - 0xc090cc00) | i) != 0) /* z < -1075 */ + return s * tiny * tiny; /* underflow */ + else { + if (p_l <= z - p_h) + return s * tiny * tiny; /* underflow */ + } + } + /* + * compute 2**(p_h+p_l) + */ + i = j & 0x7fffffff; + k = (i >> 20) - 0x3ff; + n = 0; + if (i > 0x3fe00000) { /* if |z| > 0.5, set n = [z+0.5] */ + n = j + (0x00100000 >> (k + 1)); + k = ((n & 0x7fffffff) >> 20) - 0x3ff; /* new k for n */ + t = zero; + __HI(t) = (n & ~(0x000fffff >> k)); + n = ((n & 0x000fffff) | 0x00100000) >> (20 - k); + if (j < 0) + n = -n; + p_h -= t; + } + t = p_l + p_h; + __LO(t) = 0; + u = t * lg2_h; + v = (p_l - (t - p_h)) * lg2 + t * lg2_l; + z = u + v; + w = v - (z - u); + t = z * z; + t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); + r = (z * t1) / (t1 - two) - (w + z * w); + z = one - (r - z); + j = __HI(z); + j += (n << 20); + if ((j >> 20) <= 0) + z = ldexp(z, n); /* subnormal output */ + else + __HI(z) += (n << 20); + return s * z; } -#pragma pop + +#endif /* defined(_DOUBLE_IS_32BITS) */ + +// EOF e_pow.c \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/e_rem_pio2.c b/libs/MSL_C/Math/Double_precision/e_rem_pio2.c index d2d70f9f87..ed82fba215 100644 --- a/libs/MSL_C/Math/Double_precision/e_rem_pio2.c +++ b/libs/MSL_C/Math/Double_precision/e_rem_pio2.c @@ -1,105 +1,181 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_rem_pio2 -// -#include "MSL_C/Math/Double_precision/e_rem_pio2.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)e_rem_pio2.c 1.4 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ -// -// Forward References: -// +/* __ieee754_rem_pio2(x,y) + * + * return the remainder of x rem pi/2 in y[0]+y[1] + * use __kernel_rem_pio2() + */ -void __ieee754_rem_pio2(); +#include "fdlibm.h" +#include "MSL_C/math.h" -// -// External References: -// - -void __kernel_rem_pio2(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A23B0-803A24B8 02EA10 0108+00 1/1 0/0 0/0 .rodata two_over_pi */ -SECTION_RODATA static u8 const two_over_pi[264] = { - 0x00, 0xA2, 0xF9, 0x83, 0x00, 0x6E, 0x4E, 0x44, 0x00, 0x15, 0x29, 0xFC, 0x00, 0x27, 0x57, 0xD1, - 0x00, 0xF5, 0x34, 0xDD, 0x00, 0xC0, 0xDB, 0x62, 0x00, 0x95, 0x99, 0x3C, 0x00, 0x43, 0x90, 0x41, - 0x00, 0xFE, 0x51, 0x63, 0x00, 0xAB, 0xDE, 0xBB, 0x00, 0xC5, 0x61, 0xB7, 0x00, 0x24, 0x6E, 0x3A, - 0x00, 0x42, 0x4D, 0xD2, 0x00, 0xE0, 0x06, 0x49, 0x00, 0x2E, 0xEA, 0x09, 0x00, 0xD1, 0x92, 0x1C, - 0x00, 0xFE, 0x1D, 0xEB, 0x00, 0x1C, 0xB1, 0x29, 0x00, 0xA7, 0x3E, 0xE8, 0x00, 0x82, 0x35, 0xF5, - 0x00, 0x2E, 0xBB, 0x44, 0x00, 0x84, 0xE9, 0x9C, 0x00, 0x70, 0x26, 0xB4, 0x00, 0x5F, 0x7E, 0x41, - 0x00, 0x39, 0x91, 0xD6, 0x00, 0x39, 0x83, 0x53, 0x00, 0x39, 0xF4, 0x9C, 0x00, 0x84, 0x5F, 0x8B, - 0x00, 0xBD, 0xF9, 0x28, 0x00, 0x3B, 0x1F, 0xF8, 0x00, 0x97, 0xFF, 0xDE, 0x00, 0x05, 0x98, 0x0F, - 0x00, 0xEF, 0x2F, 0x11, 0x00, 0x8B, 0x5A, 0x0A, 0x00, 0x6D, 0x1F, 0x6D, 0x00, 0x36, 0x7E, 0xCF, - 0x00, 0x27, 0xCB, 0x09, 0x00, 0xB7, 0x4F, 0x46, 0x00, 0x3F, 0x66, 0x9E, 0x00, 0x5F, 0xEA, 0x2D, - 0x00, 0x75, 0x27, 0xBA, 0x00, 0xC7, 0xEB, 0xE5, 0x00, 0xF1, 0x7B, 0x3D, 0x00, 0x07, 0x39, 0xF7, - 0x00, 0x8A, 0x52, 0x92, 0x00, 0xEA, 0x6B, 0xFB, 0x00, 0x5F, 0xB1, 0x1F, 0x00, 0x8D, 0x5D, 0x08, - 0x00, 0x56, 0x03, 0x30, 0x00, 0x46, 0xFC, 0x7B, 0x00, 0x6B, 0xAB, 0xF0, 0x00, 0xCF, 0xBC, 0x20, - 0x00, 0x9A, 0xF4, 0x36, 0x00, 0x1D, 0xA9, 0xE3, 0x00, 0x91, 0x61, 0x5E, 0x00, 0xE6, 0x1B, 0x08, - 0x00, 0x65, 0x99, 0x85, 0x00, 0x5F, 0x14, 0xA0, 0x00, 0x68, 0x40, 0x8D, 0x00, 0xFF, 0xD8, 0x80, - 0x00, 0x4D, 0x73, 0x27, 0x00, 0x31, 0x06, 0x06, 0x00, 0x15, 0x56, 0xCA, 0x00, 0x73, 0xA8, 0xC9, - 0x00, 0x60, 0xE2, 0x7B, 0x00, 0xC0, 0x8C, 0x6B, -}; -COMPILER_STRIP_GATE(0x803A23B0, &two_over_pi); - -/* 803A24B8-803A2538 02EB18 0080+00 1/1 0/0 0/0 .rodata npio2_hw */ -SECTION_RODATA static u8 const npio2_hw[128] = { - 0x3F, 0xF9, 0x21, 0xFB, 0x40, 0x09, 0x21, 0xFB, 0x40, 0x12, 0xD9, 0x7C, 0x40, 0x19, 0x21, 0xFB, - 0x40, 0x1F, 0x6A, 0x7A, 0x40, 0x22, 0xD9, 0x7C, 0x40, 0x25, 0xFD, 0xBB, 0x40, 0x29, 0x21, 0xFB, - 0x40, 0x2C, 0x46, 0x3A, 0x40, 0x2F, 0x6A, 0x7A, 0x40, 0x31, 0x47, 0x5C, 0x40, 0x32, 0xD9, 0x7C, - 0x40, 0x34, 0x6B, 0x9C, 0x40, 0x35, 0xFD, 0xBB, 0x40, 0x37, 0x8F, 0xDB, 0x40, 0x39, 0x21, 0xFB, - 0x40, 0x3A, 0xB4, 0x1B, 0x40, 0x3C, 0x46, 0x3A, 0x40, 0x3D, 0xD8, 0x5A, 0x40, 0x3F, 0x6A, 0x7A, - 0x40, 0x40, 0x7E, 0x4C, 0x40, 0x41, 0x47, 0x5C, 0x40, 0x42, 0x10, 0x6C, 0x40, 0x42, 0xD9, 0x7C, - 0x40, 0x43, 0xA2, 0x8C, 0x40, 0x44, 0x6B, 0x9C, 0x40, 0x45, 0x34, 0xAC, 0x40, 0x45, 0xFD, 0xBB, - 0x40, 0x46, 0xC6, 0xCB, 0x40, 0x47, 0x8F, 0xDB, 0x40, 0x48, 0x58, 0xEB, 0x40, 0x49, 0x21, 0xFB, -}; -COMPILER_STRIP_GATE(0x803A24B8, &npio2_hw); - -/* 80456968-80456970 004F68 0008+00 1/1 0/0 0/0 .sdata2 @145 */ -SECTION_SDATA2 static u8 lit_145[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +/* + * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi + */ +#ifdef __STDC__ +static const int two_over_pi[] = { +#else +static int two_over_pi[] = { +#endif + 0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62, 0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, + 0x246E3A, 0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129, 0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, + 0x7026B4, 0x5F7E41, 0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8, 0x97FFDE, 0x05980F, 0xEF2F11, + 0x8B5A0A, 0x6D1F6D, 0x367ECF, 0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5, 0xF17B3D, 0x0739F7, + 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08, 0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3, 0x91615E, + 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880, 0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B, }; -/* 80456970-80456978 004F70 0008+00 1/1 0/0 0/0 .sdata2 @146 */ -SECTION_SDATA2 static f64 lit_146 = 1.5707963267341256; +#ifdef __STDC__ +static const int npio2_hw[] = { +#else +static int npio2_hw[] = { +#endif + 0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C, 0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, + 0x4032D97C, 0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A, 0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, + 0x4042106C, 0x4042D97C, 0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB, 0x404858EB, 0x404921FB, +}; -/* 80456978-80456980 004F78 0008+00 1/1 0/0 0/0 .sdata2 @147 */ -SECTION_SDATA2 static f64 lit_147 = 6.077100506506192e-11; +/* + * invpio2: 53 bits of 2/pi + * pio2_1: first 33 bit of pi/2 + * pio2_1t: pi/2 - pio2_1 + * pio2_2: second 33 bit of pi/2 + * pio2_2t: pi/2 - (pio2_1+pio2_2) + * pio2_3: third 33 bit of pi/2 + * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) + */ -/* 80456980-80456988 004F80 0008+00 1/1 0/0 0/0 .sdata2 @148 */ -SECTION_SDATA2 static f64 lit_148 = 6.077100506303966e-11; +#ifdef __STDC__ +static const double +#else +static double +#endif + zero + = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ + half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ + two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ + invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ + pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ + pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ + pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ + pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ + pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ + pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ -/* 80456988-80456990 004F88 0008+00 1/1 0/0 0/0 .sdata2 @149 */ -SECTION_SDATA2 static f64 lit_149 = 2.0222662487959506e-21; +#ifdef __STDC__ +int __ieee754_rem_pio2(double x, double* y) +#else +int __ieee754_rem_pio2(x, y) double x, y[]; +#endif +{ + double z, w, t, r, fn; + double tx[3]; + int e0, i, j, nx, n, ix, hx; -/* 80456990-80456998 004F90 0008+00 1/1 0/0 0/0 .sdata2 @150 */ -SECTION_SDATA2 static f64 lit_150 = 0.5; - -/* 80456998-804569A0 004F98 0008+00 1/1 0/0 0/0 .sdata2 @151 */ -SECTION_SDATA2 static f64 lit_151 = 0.6366197723675814; - -/* 804569A0-804569A8 004FA0 0008+00 1/1 0/0 0/0 .sdata2 @152 */ -SECTION_SDATA2 static f64 lit_152 = 2.0222662487111665e-21; - -/* 804569A8-804569B0 004FA8 0008+00 1/1 0/0 0/0 .sdata2 @153 */ -SECTION_SDATA2 static f64 lit_153 = 8.4784276603689e-32; - -/* 804569B0-804569B8 004FB0 0008+00 1/1 0/0 0/0 .sdata2 @154 */ -SECTION_SDATA2 static f64 lit_154 = 16777216.0; - -/* 804569B8-804569C0 004FB8 0008+00 1/1 0/0 0/0 .sdata2 @157 */ -SECTION_SDATA2 static f64 lit_157 = 4503601774854144.0 /* cast s32 to float */; - -/* 8036A708-8036AAA8 365048 03A0+00 0/0 3/3 0/0 .text __ieee754_rem_pio2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_rem_pio2() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_rem_pio2/__ieee754_rem_pio2.s" -} -#pragma pop + hx = __HI(x); /* high word of x */ + ix = hx & 0x7fffffff; + if (ix <= 0x3fe921fb) /* |x| ~<= pi/4 , no need for reduction */ + { + y[0] = x; + y[1] = 0; + return 0; + } + if (ix < 0x4002d97c) { /* |x| < 3pi/4, special case with n=+-1 */ + if (hx > 0) { + z = x - pio2_1; + if (ix != 0x3ff921fb) { /* 33+53 bit pi is good enough */ + y[0] = z - pio2_1t; + y[1] = (z - y[0]) - pio2_1t; + } else { /* near pi/2, use 33+33+53 bit pi */ + z -= pio2_2; + y[0] = z - pio2_2t; + y[1] = (z - y[0]) - pio2_2t; + } + return 1; + } else { /* negative x */ + z = x + pio2_1; + if (ix != 0x3ff921fb) { /* 33+53 bit pi is good enough */ + y[0] = z + pio2_1t; + y[1] = (z - y[0]) + pio2_1t; + } else { /* near pi/2, use 33+33+53 bit pi */ + z += pio2_2; + y[0] = z + pio2_2t; + y[1] = (z - y[0]) + pio2_2t; + } + return -1; + } + } + if (ix <= 0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */ + t = fabs(x); + n = (int)(t * invpio2 + half); + fn = (double)n; + r = t - fn * pio2_1; + w = fn * pio2_1t; /* 1st round good to 85 bit */ + if (n < 32 && ix != npio2_hw[n - 1]) { + y[0] = r - w; /* quick check no cancellation */ + } else { + j = ix >> 20; + y[0] = r - w; + i = j - (((__HI(y[0])) >> 20) & 0x7ff); + if (i > 16) { /* 2nd iteration needed, good to 118 */ + t = r; + r = t - fn * pio2_2; + w = fn * pio2_2t - ((t - r) - fn * pio2_2); + y[0] = r - w; + i = j - (((__HI(y[0])) >> 20) & 0x7ff); + if (i > 49) { /* 3rd iteration need, 151 bits acc */ + t = r; /* will cover all possible cases */ + w = fn * pio2_3; + r = t - w; + w = fn * pio2_3t - ((t - r) - w); + y[0] = r - w; + } + } + } + y[1] = (r - y[0]) - w; + if (hx < 0) { + y[0] = -y[0]; + y[1] = -y[1]; + return -n; + } else + return n; + } + /* + * all other (large) arguments + */ + if (ix >= 0x7ff00000) { /* x is inf or NaN */ + y[0] = y[1] = x - x; + return 0; + } + /* set z = scalbn(|x|,ilogb(x)-23) */ + __LO(z) = __LO(x); + e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ + __HI(z) = ix - (e0 << 20); + for (i = 0; i < 2; i++) { + tx[i] = (double)((int)(z)); + z = (z - tx[i]) * two24; + } + tx[2] = z; + nx = 3; + while (tx[nx - 1] == zero) + nx--; /* skip zero term */ + n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); + if (hx < 0) { + y[0] = -y[0]; + y[1] = -y[1]; + return -n; + } + return n; +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/e_sqrt.c b/libs/MSL_C/Math/Double_precision/e_sqrt.c index 744a175515..8eaf17d90f 100644 --- a/libs/MSL_C/Math/Double_precision/e_sqrt.c +++ b/libs/MSL_C/Math/Double_precision/e_sqrt.c @@ -1,39 +1,462 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/e_sqrt -// +/* @(#)e_sqrt.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -#include "MSL_C/Math/Double_precision/e_sqrt.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* __ieee754_sqrt(x) + * Return correctly rounded sqrt. + * ------------------------------------------ + * | Use the hardware sqrt if you have one | + * ------------------------------------------ + * Method: + * Bit by bit method using integer arithmetic. (Slow, but portable) + * 1. Normalization + * Scale x to y in [1,4) with even powers of 2: + * find an integer k such that 1 <= (y=x*2^(2k)) < 4, then + * sqrt(x) = 2^k * sqrt(y) + * 2. Bit by bit computation + * Let q = sqrt(y) truncated to i bit after binary point (q = 1), + * i 0 + * i+1 2 + * s = 2*q , and y = 2 * ( y - q ). (1) + * i i i i + * + * To compute q from q , one checks whether + * i+1 i + * + * -(i+1) 2 + * (q + 2 ) <= y. (2) + * i + * -(i+1) + * If (2) is false, then q = q ; otherwise q = q + 2 . + * i+1 i i+1 i + * + * With some algebric manipulation, it is not difficult to see + * that (2) is equivalent to + * -(i+1) + * s + 2 <= y (3) + * i i + * + * The advantage of (3) is that s and y can be computed by + * i i + * the following recurrence formula: + * if (3) is false + * + * s = s , y = y ; (4) + * i+1 i i+1 i + * + * otherwise, + * -i -(i+1) + * s = s + 2 , y = y - s - 2 (5) + * i+1 i i+1 i i + * + * One may easily use induction to prove (4) and (5). + * Note. Since the left hand side of (3) contain only i+2 bits, + * it does not necessary to do a full (53-bit) comparison + * in (3). + * 3. Final rounding + * After generating the 53 bits result, we compute one more bit. + * Together with the remainder, we can decide whether the + * result is exact, bigger than 1/2ulp, or less than 1/2ulp + * (it will never equal to 1/2ulp). + * The rounding mode can be detected by checking whether + * huge + tiny is equal to huge, and whether huge - tiny is + * equal to huge for some floating point number "huge" and "tiny". + * + * Special cases: + * sqrt(+-0) = +-0 ... exact + * sqrt(inf) = inf + * sqrt(-ve) = NaN ... with invalid signal + * sqrt(NaN) = NaN ... with invalid signal for signaling NaN + * + * Other methods : see the appended file at the end of the program below. + *--------------- + */ -// -// Forward References: -// +#include "fdlibm.h" +#include "errno.h" +#include "MSL_C/math.h" -void __ieee754_sqrt(); +#ifdef __STDC__ +static const double one = 1.0, tiny = 1.0e-300; +#else +static double one = 1.0, tiny = 1.0e-300; +#endif -// -// External References: -// +#ifdef __STDC__ +double __ieee754_sqrt(double x) +#else +double __ieee754_sqrt(x) double x; +#endif +{ + double z; + int sign = (int)0x80000000; + unsigned r, t1, s1, ix1, q1; + int ix0, s0, q, m, t, i; -extern u32 __float_nan; -extern u8 errno[4 + 4 /* padding */]; + ix0 = __HI(x); /* high word of x */ + ix1 = __LO(x); /* low word of x */ -// -// Declarations: -// + /* take care of Inf and NaN */ + if ((ix0 & 0x7ff00000) == 0x7ff00000) { + errno = 33; + return x * x + x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf + sqrt(-inf)=sNaN */ + } + /* take care of zero */ + if (ix0 <= 0) { + if (((ix0 & (~sign)) | ix1) == 0) + return x; /* sqrt(+-0) = +-0 */ + else if (ix0 < 0) { + errno = 33; + return *__float_nan; + } /* sqrt(-ve) = sNaN */ + } + /* normalize x */ + m = (ix0 >> 20); + if (m == 0) { /* subnormal x */ + while (ix0 == 0) { + m -= 21; + ix0 |= (ix1 >> 11); + ix1 <<= 21; + } + for (i = 0; (ix0 & 0x00100000) == 0; i++) + ix0 <<= 1; + m -= i - 1; + ix0 |= (ix1 >> (32 - i)); + ix1 <<= i; + } + m -= 1023; /* unbias exponent */ + ix0 = (ix0 & 0x000fffff) | 0x00100000; + if (m & 1) { /* odd m, double x to make it even */ + ix0 += ix0 + ((ix1 & sign) >> 31); + ix1 += ix1; + } + m >>= 1; /* m = [m/2] */ -/* ############################################################################################## */ -/* 80456B48-80456B50 005148 0008+00 1/1 0/0 0/0 .sdata2 @164 */ -SECTION_SDATA2 static f64 lit_164 = 1.0; + /* generate sqrt(x) bit by bit */ + ix0 += ix0 + ((ix1 & sign) >> 31); + ix1 += ix1; + q = q1 = s0 = s1 = 0; /* [q,q1] = sqrt(x) */ + r = 0x00200000; /* r = moving bit from right to left */ -/* 8036C7A0-8036C9C4 3670E0 0224+00 0/0 1/1 0/0 .text __ieee754_sqrt */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ieee754_sqrt() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/e_sqrt/__ieee754_sqrt.s" + while (r != 0) { + t = s0 + r; + if (t <= ix0) { + s0 = t + r; + ix0 -= t; + q += r; + } + ix0 += ix0 + ((ix1 & sign) >> 31); + ix1 += ix1; + r >>= 1; + } + + r = sign; + while (r != 0) { + t1 = s1 + r; + t = s0; + if ((t < ix0) || ((t == ix0) && (t1 <= ix1))) { + s1 = t1 + r; + if (((t1 & sign) == sign) && (s1 & sign) == 0) + s0 += 1; + ix0 -= t; + if (ix1 < t1) + ix0 -= 1; + ix1 -= t1; + q1 += r; + } + ix0 += ix0 + ((ix1 & sign) >> 31); + ix1 += ix1; + r >>= 1; + } + + /* use floating add to find out rounding direction */ + if ((ix0 | ix1) != 0) { + z = one - tiny; /* trigger inexact flag */ + if (z >= one) { + z = one + tiny; + if (q1 == (unsigned)0xffffffff) { + q1 = 0; + q += 1; + } else if (z > one) { + if (q1 == (unsigned)0xfffffffe) + q += 1; + q1 += 2; + } else + q1 += (q1 & 1); + } + } + ix0 = (q >> 1) + 0x3fe00000; + ix1 = q1 >> 1; + if ((q & 1) == 1) + ix1 |= sign; + ix0 += (m << 20); + __HI(z) = ix0; + __LO(z) = ix1; + return z; } -#pragma pop + +/* +Other methods (use floating-point arithmetic) +------------- +(This is a copy of a drafted paper by Prof W. Kahan +and K.C. Ng, written in May, 1986) + + Two algorithms are given here to implement sqrt(x) + (IEEE double precision arithmetic) in software. + Both supply sqrt(x) correctly rounded. The first algorithm (in + Section A) uses newton iterations and involves four divisions. + The second one uses reciproot iterations to avoid division, but + requires more multiplications. Both algorithms need the ability + to chop results of arithmetic operations instead of round them, + and the INEXACT flag to indicate when an arithmetic operation + is executed exactly with no roundoff error, all part of the + standard (IEEE 754-1985). The ability to perform shift, add, + subtract and logical AND operations upon 32-bit words is needed + too, though not part of the standard. + +A. sqrt(x) by Newton Iteration + + (1) Initial approximation + + Let x0 and x1 be the leading and the trailing 32-bit words of + a floating point number x (in IEEE double format) respectively + + 1 11 52 ...widths + ------------------------------------------------------ + x: |s| e | f | + ------------------------------------------------------ + msb lsb msb lsb ...order + + + ------------------------ ------------------------ + x0: |s| e | f1 | x1: | f2 | + ------------------------ ------------------------ + + By performing shifts and subtracts on x0 and x1 (both regarded + as integers), we obtain an 8-bit approximation of sqrt(x) as + follows. + + k := (x0>>1) + 0x1ff80000; + y0 := k - T1[31&(k>>15)]. ... y ~ sqrt(x) to 8 bits + Here k is a 32-bit integer and T1[] is an integer array containing + correction terms. Now magically the floating value of y (y's + leading 32-bit word is y0, the value of its trailing word is 0) + approximates sqrt(x) to almost 8-bit. + + Value of T1: + static int T1[32]= { + 0, 1024, 3062, 5746, 9193, 13348, 18162, 23592, + 29598, 36145, 43202, 50740, 58733, 67158, 75992, 85215, + 83599, 71378, 60428, 50647, 41945, 34246, 27478, 21581, + 16499, 12183, 8588, 5674, 3403, 1742, 661, 130,}; + + (2) Iterative refinement + + Apply Heron's rule three times to y, we have y approximates + sqrt(x) to within 1 ulp (Unit in the Last Place): + + y := (y+x/y)/2 ... almost 17 sig. bits + y := (y+x/y)/2 ... almost 35 sig. bits + y := y-(y-x/y)/2 ... within 1 ulp + + + Remark 1. + Another way to improve y to within 1 ulp is: + + y := (y+x/y) ... almost 17 sig. bits to 2*sqrt(x) + y := y - 0x00100006 ... almost 18 sig. bits to sqrt(x) + + 2 + (x-y )*y + y := y + 2* ---------- ...within 1 ulp + 2 + 3y + x + + + This formula has one division fewer than the one above; however, + it requires more multiplications and additions. Also x must be + scaled in advance to avoid spurious overflow in evaluating the + expression 3y*y+x. Hence it is not recommended uless division + is slow. If division is very slow, then one should use the + reciproot algorithm given in section B. + + (3) Final adjustment + + By twiddling y's last bit it is possible to force y to be + correctly rounded according to the prevailing rounding mode + as follows. Let r and i be copies of the rounding mode and + inexact flag before entering the square root program. Also we + use the expression y+-ulp for the next representable floating + numbers (up and down) of y. Note that y+-ulp = either fixed + point y+-1, or multiply y by nextafter(1,+-inf) in chopped + mode. + + I := FALSE; ... reset INEXACT flag I + R := RZ; ... set rounding mode to round-toward-zero + z := x/y; ... chopped quotient, possibly inexact + If(not I) then { ... if the quotient is exact + if(z=y) { + I := i; ... restore inexact flag + R := r; ... restore rounded mode + return sqrt(x):=y. + } else { + z := z - ulp; ... special rounding + } + } + i := TRUE; ... sqrt(x) is inexact + If (r=RN) then z=z+ulp ... rounded-to-nearest + If (r=RP) then { ... round-toward-+inf + y = y+ulp; z=z+ulp; + } + y := y+z; ... chopped sum + y0:=y0-0x00100000; ... y := y/2 is correctly rounded. + I := i; ... restore inexact flag + R := r; ... restore rounded mode + return sqrt(x):=y. + + (4) Special cases + + Square root of +inf, +-0, or NaN is itself; + Square root of a negative number is NaN with invalid signal. + + +B. sqrt(x) by Reciproot Iteration + + (1) Initial approximation + + Let x0 and x1 be the leading and the trailing 32-bit words of + a floating point number x (in IEEE double format) respectively + (see section A). By performing shifs and subtracts on x0 and y0, + we obtain a 7.8-bit approximation of 1/sqrt(x) as follows. + + k := 0x5fe80000 - (x0>>1); + y0:= k - T2[63&(k>>14)]. ... y ~ 1/sqrt(x) to 7.8 bits + + Here k is a 32-bit integer and T2[] is an integer array + containing correction terms. Now magically the floating + value of y (y's leading 32-bit word is y0, the value of + its trailing word y1 is set to zero) approximates 1/sqrt(x) + to almost 7.8-bit. + + Value of T2: + static int T2[64]= { + 0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866, + 0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f, + 0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d, + 0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0, + 0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989, + 0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd, + 0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e, + 0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd,}; + + (2) Iterative refinement + + Apply Reciproot iteration three times to y and multiply the + result by x to get an approximation z that matches sqrt(x) + to about 1 ulp. To be exact, we will have + -1ulp < sqrt(x)-z<1.0625ulp. + + ... set rounding mode to Round-to-nearest + y := y*(1.5-0.5*x*y*y) ... almost 15 sig. bits to 1/sqrt(x) + y := y*((1.5-2^-30)+0.5*x*y*y)... about 29 sig. bits to 1/sqrt(x) + ... special arrangement for better accuracy + z := x*y ... 29 bits to sqrt(x), with z*y<1 + z := z + 0.5*z*(1-z*y) ... about 1 ulp to sqrt(x) + + Remark 2. The constant 1.5-2^-30 is chosen to bias the error so that + (a) the term z*y in the final iteration is always less than 1; + (b) the error in the final result is biased upward so that + -1 ulp < sqrt(x) - z < 1.0625 ulp + instead of |sqrt(x)-z|<1.03125ulp. + + (3) Final adjustment + + By twiddling y's last bit it is possible to force y to be + correctly rounded according to the prevailing rounding mode + as follows. Let r and i be copies of the rounding mode and + inexact flag before entering the square root program. Also we + use the expression y+-ulp for the next representable floating + numbers (up and down) of y. Note that y+-ulp = either fixed + point y+-1, or multiply y by nextafter(1,+-inf) in chopped + mode. + + R := RZ; ... set rounding mode to round-toward-zero + switch(r) { + case RN: ... round-to-nearest + if(x<= z*(z-ulp)...chopped) z = z - ulp; else + if(x<= z*(z+ulp)...chopped) z = z; else z = z+ulp; + break; + case RZ:case RM: ... round-to-zero or round-to--inf + R:=RP; ... reset rounding mod to round-to-+inf + if(x=(z+ulp)*(z+ulp) ...rounded up) z = z+ulp; + break; + case RP: ... round-to-+inf + if(x>(z+ulp)*(z+ulp)...chopped) z = z+2*ulp; else + if(x>z*z ...chopped) z = z+ulp; + break; + } + + Remark 3. The above comparisons can be done in fixed point. For + example, to compare x and w=z*z chopped, it suffices to compare + x1 and w1 (the trailing parts of x and w), regarding them as + two's complement integers. + + ...Is z an exact square root? + To determine whether z is an exact square root of x, let z1 be the + trailing part of z, and also let x0 and x1 be the leading and + trailing parts of x. + + If ((z1&0x03ffffff)!=0) ... not exact if trailing 26 bits of z!=0 + I := 1; ... Raise Inexact flag: z is not exact + else { + j := 1 - [(x0>>20)&1] ... j = logb(x) mod 2 + k := z1 >> 26; ... get z's 25-th and 26-th + fraction bits + I := i or (k&j) or ((k&(j+j+1))!=(x1&3)); + } + R:= r ... restore rounded mode + return sqrt(x):=z. + + If multiplication is cheaper then the foregoing red tape, the + Inexact flag can be evaluated by + + I := i; + I := (z*z!=x) or I. + + Note that z*z can overwrite I; this value must be sensed if it is + True. + + Remark 4. If z*z = x exactly, then bit 25 to bit 0 of z1 must be + zero. + + -------------------- + z1: | f2 | + -------------------- + bit 31 bit 0 + + Further more, bit 27 and 26 of z1, bit 0 and 1 of x1, and the odd + or even of logb(x) have the following relations: + + ------------------------------------------------- + bit 27,26 of z1 bit 1,0 of x1 logb(x) + ------------------------------------------------- + 00 00 odd and even + 01 01 even + 10 10 odd + 10 00 even + 11 01 even + ------------------------------------------------- + + (4) Special cases (see (4) of Section A). + + */ \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/k_cos.c b/libs/MSL_C/Math/Double_precision/k_cos.c index 1707287c24..5db423ec49 100644 --- a/libs/MSL_C/Math/Double_precision/k_cos.c +++ b/libs/MSL_C/Math/Double_precision/k_cos.c @@ -1,60 +1,93 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/k_cos -// -#include "MSL_C/Math/Double_precision/k_cos.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)k_cos.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -// -// Forward References: -// +/* + * __kernel_cos( x, y ) + * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 + * Input x is assumed to be bounded by ~pi/4 in magnitude. + * Input y is the tail of x. + * + * Algorithm + * 1. Since cos(-x) = cos(x), we need only to consider positive x. + * 2. if x < 2^-27 (hx<0x3e400000 0), return 1 with inexact if x!=0. + * 3. cos(x) is approximated by a polynomial of degree 14 on + * [0,pi/4] + * 4 14 + * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x + * where the remez error is + * + * | 2 4 6 8 10 12 14 | -58 + * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 + * | | + * + * 4 6 8 10 12 14 + * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then + * cos(x) = 1 - x*x/2 + r + * since cos(x+y) ~ cos(x) - sin(x)*y + * ~ cos(x) - x*y, + * a correction term is necessary in cos(x) and hence + * cos(x+y) = 1 - (x*x/2 - (r - x*y)) + * For better accuracy when x > 0.3, let qx = |x|/4 with + * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. + * Then + * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). + * Note that 1-qx and (x*x/2-qx) is EXACT here, and the + * magnitude of the latter is at least a quarter of x*x/2, + * thus, reducing the rounding error in the subtraction. + */ -void __kernel_cos(); +#include "fdlibm.h" -// -// External References: -// +#ifdef __STDC__ +static const double +#else +static double +#endif + one + = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ + C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ + C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ + C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ + C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ + C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ + C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ -// -// Declarations: -// - -/* ############################################################################################## */ -/* 804569C0-804569C8 004FC0 0008+00 1/1 0/0 0/0 .sdata2 @65 */ -SECTION_SDATA2 static f64 lit_65 = 1.0; - -/* 804569C8-804569D0 004FC8 0008+00 1/1 0/0 0/0 .sdata2 @66 */ -SECTION_SDATA2 static f64 lit_66 = 0.0416666666666666; - -/* 804569D0-804569D8 004FD0 0008+00 1/1 0/0 0/0 .sdata2 @67 */ -SECTION_SDATA2 static f64 lit_67 = -0.001388888888887411; - -/* 804569D8-804569E0 004FD8 0008+00 1/1 0/0 0/0 .sdata2 @68 */ -SECTION_SDATA2 static f64 lit_68 = 2.480158728947673e-05; - -/* 804569E0-804569E8 004FE0 0008+00 1/1 0/0 0/0 .sdata2 @69 */ -SECTION_SDATA2 static f64 lit_69 = -2.7557314351390663e-07; - -/* 804569E8-804569F0 004FE8 0008+00 1/1 0/0 0/0 .sdata2 @70 */ -SECTION_SDATA2 static f64 lit_70 = 2.087572321298175e-09; - -/* 804569F0-804569F8 004FF0 0008+00 1/1 0/0 0/0 .sdata2 @71 */ -SECTION_SDATA2 static f64 lit_71 = -1.1359647557788195e-11; - -/* 804569F8-80456A00 004FF8 0008+00 1/1 0/0 0/0 .sdata2 @72 */ -SECTION_SDATA2 static f64 lit_72 = 0.5; - -/* 80456A00-80456A08 005000 0008+00 1/1 0/0 0/0 .sdata2 @73 */ -SECTION_SDATA2 static f64 lit_73 = 0.28125; - -/* 8036AAA8-8036AB9C 3653E8 00F4+00 0/0 2/2 0/0 .text __kernel_cos */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __kernel_cos() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/k_cos/__kernel_cos.s" -} -#pragma pop +#ifdef __STDC__ +double __kernel_cos(double x, double y) +#else +double __kernel_cos(x, y) double x, y; +#endif +{ + double a, hz, z, r, qx; + int ix; + ix = __HI(x) & 0x7fffffff; /* ix = |x|'s high word*/ + if (ix < 0x3e400000) { /* if x < 2**27 */ + if (((int)x) == 0) + return one; /* generate inexact */ + } + z = x * x; + r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); + if (ix < 0x3FD33333) /* if |x| < 0.3 */ + return one - (0.5 * z - (z * r - x * y)); + else { + if (ix > 0x3fe90000) { /* x > 0.78125 */ + qx = 0.28125; + } else { + __HI(qx) = ix - 0x00200000; /* x/4 */ + __LO(qx) = 0; + } + hz = 0.5 * z - qx; + a = one - qx; + return a - (hz - (z * r - x * y)); + } +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/k_rem_pio2.c b/libs/MSL_C/Math/Double_precision/k_rem_pio2.c index e09d2b995b..b08e3c9dee 100644 --- a/libs/MSL_C/Math/Double_precision/k_rem_pio2.c +++ b/libs/MSL_C/Math/Double_precision/k_rem_pio2.c @@ -1,79 +1,353 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/k_rem_pio2 -// -#include "MSL_C/Math/Double_precision/k_rem_pio2.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)k_rem_pio2.c 1.2 95/01/04 */ +/* $Id: k_rem_pio2.c,v 1.2.14.1 2002/01/31 15:24:13 ceciliar Exp $ */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -// -// Forward References: -// +/* + * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) + * double x[],y[]; int e0,nx,prec; int ipio2[]; + * + * __kernel_rem_pio2 return the last three digits of N with + * y = x - N*pi/2 + * so that |y| < pi/2. + * + * The method is to compute the integer (mod 8) and fraction parts of + * (2/pi)*x without doing the full multiplication. In general we + * skip the part of the product that are known to be a huge integer ( + * more accurately, = 0 mod 8 ). Thus the number of operations are + * independent of the exponent of the input. + * + * (2/pi) is represented by an array of 24-bit integers in ipio2[]. + * + * Input parameters: + * x[] The input value (must be positive) is broken into nx + * pieces of 24-bit integers in double precision format. + * x[i] will be the i-th 24 bit of x. The scaled exponent + * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 + * match x's up to 24 bits. + * + * Example of breaking a double positive z into x[0]+x[1]+x[2]: + * e0 = ilogb(z)-23 + * z = ldexp(z,-e0) + * for i = 0,1,2 + * x[i] = floor(z) + * z = (z-x[i])*2**24 + * + * + * y[] ouput result in an array of double precision numbers. + * The dimension of y[] is: + * 24-bit precision 1 + * 53-bit precision 2 + * 64-bit precision 2 + * 113-bit precision 3 + * The actual value is the sum of them. Thus for 113-bit + * precison, one may have to do something like: + * + * long double t,w,r_head, r_tail; + * t = (long double)y[2] + (long double)y[1]; + * w = (long double)y[0]; + * r_head = t+w; + * r_tail = w - (r_head - t); + * + * e0 The exponent of x[0] + * + * nx dimension of x[] + * + * prec an integer indicating the precision: + * 0 24 bits (single) + * 1 53 bits (double) + * 2 64 bits (extended) + * 3 113 bits (quad) + * + * ipio2[] + * integer array, contains the (24*i)-th to (24*i+23)-th + * bit of 2/pi after binary point. The corresponding + * floating value is + * + * ipio2[i] * 2^(-24(i+1)). + * + * External function: + * double ldexp(), floor(); + * + * + * Here is the description of some local variables: + * + * jk jk+1 is the initial number of terms of ipio2[] needed + * in the computation. The recommended value is 2,3,4, + * 6 for single, double, extended,and quad. + * + * jz local integer variable indicating the number of + * terms of ipio2[] used. + * + * jx nx - 1 + * + * jv index for pointing to the suitable ipio2[] for the + * computation. In general, we want + * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 + * is an integer. Thus + * e0-3-24*jv >= 0 or (e0-3)/24 >= jv + * Hence jv = max(0,(e0-3)/24). + * + * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. + * + * q[] double array with integral value, representing the + * 24-bits chunk of the product of x and 2/pi. + * + * q0 the corresponding exponent of q[0]. Note that the + * exponent for q[i] would be q0-24*i. + * + * PIo2[] double precision array, obtained by cutting pi/2 + * into 24 bits chunks. + * + * f[] ipio2[] in floating point + * + * iq[] integer array by breaking up q[] in 24-bits chunk. + * + * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] + * + * ih integer. If >0 it indicates q[] is >= 0.5, hence + * it also indicates the *sign* of the result. + * + */ -void __kernel_rem_pio2(); +/* + * Constants: + * The hexadecimal values are the intended ones for the following + * constants. The decimal values may be used, provided that the + * compiler will convert from decimal to binary accurately enough + * to produce the hexadecimal values shown. + */ -// -// External References: -// +#include "fdlibm.h" -void _savefpr_25(); -void _restfpr_25(); -void floor(); -void ldexp(); +#ifdef __STDC__ +static const int init_jk[] = { 2, 3, 4, 6 }; +/* initial value for jk */ /*- cc 020130 -*/ +#else +static int init_jk[] = { 2, 3, 4, 6 }; /*- cc 020130 -*/ +#endif -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A2538-803A2548 02EB98 0010+00 1/1 0/0 0/0 .rodata init_jk */ -SECTION_RODATA static u8 const init_jk[16] = { - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, -}; -COMPILER_STRIP_GATE(0x803A2538, &init_jk); - -/* 803A2548-803A2588 02EBA8 0040+00 1/1 0/0 0/0 .rodata PIo2 */ -SECTION_RODATA static u8 const PIo2[64] = { - 0x3F, 0xF9, 0x21, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x3E, 0x74, 0x44, 0x2D, 0x00, 0x00, 0x00, 0x00, - 0x3C, 0xF8, 0x46, 0x98, 0x80, 0x00, 0x00, 0x00, 0x3B, 0x78, 0xCC, 0x51, 0x60, 0x00, 0x00, 0x00, - 0x39, 0xF0, 0x1B, 0x83, 0x80, 0x00, 0x00, 0x00, 0x38, 0x7A, 0x25, 0x20, 0x40, 0x00, 0x00, 0x00, - 0x36, 0xE3, 0x82, 0x22, 0x80, 0x00, 0x00, 0x00, 0x35, 0x69, 0xF3, 0x1D, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x803A2548, &PIo2); - -/* 80456A08-80456A10 005008 0008+00 1/1 0/0 0/0 .sdata2 @436 */ -SECTION_SDATA2 static u8 lit_436[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#ifdef __STDC__ +static const double PIo2[] = { +#else +static double PIo2[] = { +#endif + 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ + 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ + 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ + 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ + 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ + 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ + 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ + 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ }; -/* 80456A10-80456A18 005010 0008+00 1/1 0/0 0/0 .sdata2 @437 */ -SECTION_SDATA2 static f64 lit_437 = 5.960464477539063e-08; +#ifdef __STDC__ +static const double +#else +static double +#endif + zero + = 0.0, + one = 1.0, two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ + twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ -/* 80456A18-80456A20 005018 0008+00 1/1 0/0 0/0 .sdata2 @438 */ -SECTION_SDATA2 static f64 lit_438 = 16777216.0; +#ifdef __STDC__ +int __kernel_rem_pio2(double* x, double* y, int e0, int nx, int prec, const int* ipio2) /*- cc 020130 -*/ +#else +int __kernel_rem_pio2(x, y, e0, nx, prec, ipio2) /*- cc 020130 -*/ + double x[], + y[]; +int e0, nx, prec; +int ipio2[]; /*- cc 020130 -*/ +#endif +{ + int jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; /*- cc 020130 -*/ + double z, fw, f[20], fq[20], q[20]; -/* 80456A20-80456A28 005020 0008+00 1/1 0/0 0/0 .sdata2 @439 */ -SECTION_SDATA2 static f64 lit_439 = 8.0; + /* initialize jk*/ + jk = init_jk[prec]; + jp = jk; -/* 80456A28-80456A30 005028 0008+00 1/1 0/0 0/0 .sdata2 @440 */ -SECTION_SDATA2 static f64 lit_440 = 0.125; + /* determine jx,jv,q0, note that 3>q0 */ + jx = nx - 1; + jv = (e0 - 3) / 24; + if (jv < 0) + jv = 0; + q0 = e0 - 24 * (jv + 1); -/* 80456A30-80456A38 005030 0008+00 1/1 0/0 0/0 .sdata2 @441 */ -SECTION_SDATA2 static f64 lit_441 = 0.5; + /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ + j = jv - jx; + m = jx + jk; + for (i = 0; i <= m; i++, j++) + f[i] = (j < 0) ? zero : (double)ipio2[j]; -/* 80456A38-80456A40 005038 0008+00 1/1 0/0 0/0 .sdata2 @442 */ -SECTION_SDATA2 static f64 lit_442 = 1.0; + /* compute q[0],q[1],...q[jk] */ + for (i = 0; i <= jk; i++) { + for (j = 0, fw = 0.0; j <= jx; j++) + fw += x[j] * f[jx + i - j]; + q[i] = fw; + } -/* 80456A40-80456A48 005040 0008+00 1/1 0/0 0/0 .sdata2 @445 */ -SECTION_SDATA2 static f64 lit_445 = 4503601774854144.0 /* cast s32 to float */; + jz = jk; +recompute: + /* distill q[] into iq[] reversingly */ + for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { + fw = (double)((int)(twon24 * z)); /*- cc 020130 -*/ + iq[i] = (int)(z - two24 * fw); /*- cc 020130 -*/ + z = q[j - 1] + fw; + } -/* 8036AB9C-8036B9F0 3654DC 0E54+00 0/0 1/1 0/0 .text __kernel_rem_pio2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __kernel_rem_pio2() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/k_rem_pio2/__kernel_rem_pio2.s" -} -#pragma pop + /* compute n */ + z = ldexp(z, q0); /* actual value of z */ + z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ + n = (int)z; /*- cc 020130 -*/ + z -= (double)n; + ih = 0; + if (q0 > 0) { /* need iq[jz-1] to determine n */ + i = (iq[jz - 1] >> (24 - q0)); + n += i; + iq[jz - 1] -= i << (24 - q0); + ih = iq[jz - 1] >> (23 - q0); + } else if (q0 == 0) + ih = iq[jz - 1] >> 23; + else if (z >= 0.5) + ih = 2; + + if (ih > 0) { /* q > 0.5 */ + n += 1; + carry = 0; + for (i = 0; i < jz; i++) { /* compute 1-q */ + j = iq[i]; + if (carry == 0) { + if (j != 0) { + carry = 1; + iq[i] = 0x1000000 - j; + } + } else + iq[i] = 0xffffff - j; + } + if (q0 > 0) { /* rare case: chance is 1 in 12 */ + switch (q0) { + case 1: + iq[jz - 1] &= 0x7fffff; + break; + case 2: + iq[jz - 1] &= 0x3fffff; + break; + } + } + if (ih == 2) { + z = one - z; + if (carry != 0) + z -= ldexp(one, q0); + } + } + + /* check if recomputation is needed */ + if (z == zero) { + j = 0; + for (i = jz - 1; i >= jk; i--) + j |= iq[i]; + if (j == 0) { /* need recomputation */ + for (k = 1; iq[jk - k] == 0; k++) + ; /* k = no. of terms needed */ + + for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ + f[jx + i] = (double)ipio2[jv + i]; + for (j = 0, fw = 0.0; j <= jx; j++) + fw += x[j] * f[jx + i - j]; + q[i] = fw; + } + jz += k; + goto recompute; + } + } + + /* chop off zero terms */ + if (z == 0.0) { + jz -= 1; + q0 -= 24; + while (iq[jz] == 0) { + jz--; + q0 -= 24; + } + } else { /* break z into 24-bit if necessary */ + z = ldexp(z, -q0); + if (z >= two24) { + fw = (double)((int)(twon24 * z)); /*- cc 020130 -*/ + iq[jz] = (int)(z - two24 * fw); /*- cc 020130 -*/ + jz += 1; + q0 += 24; + iq[jz] = (int)fw; /*- cc 020130 -*/ + } else + iq[jz] = (int)z; /*- cc 020130 -*/ + } + + /* convert integer "bit" chunk to floating-point value */ + fw = ldexp(one, q0); + for (i = jz; i >= 0; i--) { + q[i] = fw * (double)iq[i]; + fw *= twon24; + } + + /* compute PIo2[0,...,jp]*q[jz,...,0] */ + for (i = jz; i >= 0; i--) { + for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) + fw += PIo2[k] * q[i + k]; + fq[jz - i] = fw; + } + + /* compress fq[] into y[] */ + switch (prec) { + case 0: + fw = 0.0; + for (i = jz; i >= 0; i--) + fw += fq[i]; + y[0] = (ih == 0) ? fw : -fw; + break; + case 1: + case 2: + fw = 0.0; + for (i = jz; i >= 0; i--) + fw += fq[i]; + y[0] = (ih == 0) ? fw : -fw; + fw = fq[0] - fw; + for (i = 1; i <= jz; i++) + fw += fq[i]; + y[1] = (ih == 0) ? fw : -fw; + break; + case 3: /* painful */ + for (i = jz; i > 0; i--) { + fw = fq[i - 1] + fq[i]; + fq[i] += fq[i - 1] - fw; + fq[i - 1] = fw; + } + for (i = jz; i > 1; i--) { + fw = fq[i - 1] + fq[i]; + fq[i] += fq[i - 1] - fw; + fq[i - 1] = fw; + } + for (fw = 0.0, i = jz; i >= 2; i--) + fw += fq[i]; + if (ih == 0) { + y[0] = fq[0]; + y[1] = fq[1]; + y[2] = fw; + } else { + y[0] = -fq[0]; + y[1] = -fq[1]; + y[2] = -fw; + } + } + return n & 7; +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/k_sin.c b/libs/MSL_C/Math/Double_precision/k_sin.c index 7e4bd136d9..3d18dff320 100644 --- a/libs/MSL_C/Math/Double_precision/k_sin.c +++ b/libs/MSL_C/Math/Double_precision/k_sin.c @@ -1,54 +1,80 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/k_sin -// -#include "MSL_C/Math/Double_precision/k_sin.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)k_sin.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -// -// Forward References: -// +/* __kernel_sin( x, y, iy) + * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 + * Input x is assumed to be bounded by ~pi/4 in magnitude. + * Input y is the tail of x. + * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). + * + * Algorithm + * 1. Since sin(-x) = -sin(x), we need only to consider positive x. + * 2. if x < 2^-27 (hx<0x3e400000 0), return x with inexact if x!=0. + * 3. sin(x) is approximated by a polynomial of degree 13 on + * [0,pi/4] + * 3 13 + * sin(x) ~ x + S1*x + ... + S6*x + * where + * + * |sin(x) 2 4 6 8 10 12 | -58 + * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 + * | x | + * + * 4. sin(x+y) = sin(x) + sin'(x')*y + * ~ sin(x) + (1-x*x/2)*y + * For better accuracy, let + * 3 2 2 2 2 + * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) + * then 3 2 + * sin(x) = x + (S1*x + (x *(r-y/2)+y)) + */ -void __kernel_sin(); +#include "fdlibm.h" -// -// External References: -// +#ifdef __STDC__ +static const double +#else +static double +#endif + half + = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ + S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ + S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ + S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ + S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ + S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ + S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80456A48-80456A50 005048 0008+00 1/1 0/0 0/0 .sdata2 @60 */ -SECTION_SDATA2 static f64 lit_60 = 0.00833333333332249; - -/* 80456A50-80456A58 005050 0008+00 1/1 0/0 0/0 .sdata2 @61 */ -SECTION_SDATA2 static f64 lit_61 = -0.0001984126982985795; - -/* 80456A58-80456A60 005058 0008+00 1/1 0/0 0/0 .sdata2 @62 */ -SECTION_SDATA2 static f64 lit_62 = 2.7557313707070068e-06; - -/* 80456A60-80456A68 005060 0008+00 1/1 0/0 0/0 .sdata2 @63 */ -SECTION_SDATA2 static f64 lit_63 = -2.5050760253406863e-08; - -/* 80456A68-80456A70 005068 0008+00 1/1 0/0 0/0 .sdata2 @64 */ -SECTION_SDATA2 static f64 lit_64 = 1.58969099521155e-10; - -/* 80456A70-80456A78 005070 0008+00 1/1 0/0 0/0 .sdata2 @65 */ -SECTION_SDATA2 static f64 lit_65 = -0.16666666666666632; - -/* 80456A78-80456A80 005078 0008+00 1/1 0/0 0/0 .sdata2 @66 */ -SECTION_SDATA2 static f64 lit_66 = 0.5; - -/* 8036B9F0-8036BA90 366330 00A0+00 0/0 2/2 0/0 .text __kernel_sin */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __kernel_sin() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/k_sin/__kernel_sin.s" -} -#pragma pop +#ifdef __STDC__ +double __kernel_sin(double x, double y, int iy) +#else +double __kernel_sin(x, y, iy) double x, y; +int iy; /* iy=0 if y is zero */ +#endif +{ + double z, r, v; + int ix; + ix = __HI(x) & 0x7fffffff; /* high word of x */ + if (ix < 0x3e400000) /* |x| < 2**-27 */ + { + if ((int)x == 0) + return x; + } /* generate inexact */ + z = x * x; + v = z * x; + r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); + if (iy == 0) + return x + v * (S1 + z * r); + else + return x - ((z * (half * y - v * r) - y) - v * S1); +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/k_tan.c b/libs/MSL_C/Math/Double_precision/k_tan.c index 04f0eed1b7..973be1c0e3 100644 --- a/libs/MSL_C/Math/Double_precision/k_tan.c +++ b/libs/MSL_C/Math/Double_precision/k_tan.c @@ -1,68 +1,181 @@ +//=========================================================================== // -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/k_tan +// k_tan.c // - -#include "MSL_C/Math/Double_precision/k_tan.h" -#include "dol2asm.h" -#include "dolphin/types.h" - +// Part of the standard mathematical function library // -// Forward References: +//=========================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. // - -void __kernel_tan(); - +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. // -// External References: +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. // - +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. // -// Declarations: +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. // +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//=========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): jlarmour +// Contributors: jlarmour +// Date: 1998-02-13 +// Purpose: +// Description: +// Usage: +// +//####DESCRIPTIONEND#### +// +//=========================================================================== -/* ############################################################################################## */ -/* 803A2588-803A25F0 02EBE8 0068+00 1/1 0/0 0/0 .rodata T */ -SECTION_RODATA static u8 const T[104] = { - 0x3F, 0xD5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x63, 0x3F, 0xC1, 0x11, 0x11, 0x11, 0x10, 0xFE, - 0x7A, 0x3F, 0xAB, 0xA1, 0xBA, 0x1B, 0xB3, 0x41, 0xFE, 0x3F, 0x96, 0x64, 0xF4, 0x84, 0x06, - 0xD6, 0x37, 0x3F, 0x82, 0x26, 0xE3, 0xE9, 0x6E, 0x84, 0x93, 0x3F, 0x6D, 0x6D, 0x22, 0xC9, - 0x56, 0x03, 0x28, 0x3F, 0x57, 0xDB, 0xC8, 0xFE, 0xE0, 0x83, 0x15, 0x3F, 0x43, 0x44, 0xD8, - 0xF2, 0xF2, 0x65, 0x01, 0x3F, 0x30, 0x26, 0xF7, 0x1A, 0x8D, 0x10, 0x68, 0x3F, 0x14, 0x7E, - 0x88, 0xA0, 0x37, 0x92, 0xA6, 0x3F, 0x12, 0xB8, 0x0F, 0x32, 0xF0, 0xA7, 0xE9, 0xBE, 0xF3, - 0x75, 0xCB, 0xDB, 0x60, 0x53, 0x73, 0x3E, 0xFB, 0x2A, 0x70, 0x74, 0xBF, 0x7A, 0xD4, -}; -COMPILER_STRIP_GATE(0x803A2588, &T); +// Derived from code with the following copyright -/* 80456A80-80456A88 005080 0008+00 1/1 0/0 0/0 .sdata2 @94 */ -SECTION_SDATA2 static f64 lit_94 = 1.0; +/* @(#)k_tan.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -/* 80456A88-80456A90 005088 0008+00 1/1 0/0 0/0 .sdata2 @95 */ -SECTION_SDATA2 static f64 lit_95 = -1.0; +/* __kernel_tan( x, y, k ) + * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 + * Input x is assumed to be bounded by ~pi/4 in magnitude. + * Input y is the tail of x. + * Input k indicates whether tan (if k=1) or + * -1/tan (if k= -1) is returned. + * + * Algorithm + * 1. Since tan(-x) = -tan(x), we need only to consider positive x. + * 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0. + * 3. tan(x) is approximated by a odd polynomial of degree 27 on + * [0,0.67434] + * 3 27 + * tan(x) ~ x + T1*x + ... + T13*x + * where + * + * |tan(x) 2 4 26 | -59.2 + * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 + * | x | + * + * Note: tan(x+y) = tan(x) + tan'(x)*y + * ~ tan(x) + (1+x*x)*y + * Therefore, for better accuracy in computing tan(x+y), let + * 3 2 2 2 2 + * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) + * then + * 3 2 + * tan(x+y) = x + (T1*x + (x *(r+y)+y)) + * + * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then + * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) + * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) + */ -/* 80456A90-80456A98 005090 0008+00 1/1 0/0 0/0 .sdata2 @96 */ -SECTION_SDATA2 static f64 lit_96 = 0.7853981633974483; +#include "fdlibm.h" +#include "MSL_C/math.h" +static const double one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ + pio4 = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ + pio4lo = 3.06161699786838301793e-17, /* 0x3C81A626, 0x33145C07 */ + T[] = { + 3.33333333333334091986e-01, /* 0x3FD55555, 0x55555563 */ + 1.33333333333201242699e-01, /* 0x3FC11111, 0x1110FE7A */ + 5.39682539762260521377e-02, /* 0x3FABA1BA, 0x1BB341FE */ + 2.18694882948595424599e-02, /* 0x3F9664F4, 0x8406D637 */ + 8.86323982359930005737e-03, /* 0x3F8226E3, 0xE96E8493 */ + 3.59207910759131235356e-03, /* 0x3F6D6D22, 0xC9560328 */ + 1.45620945432529025516e-03, /* 0x3F57DBC8, 0xFEE08315 */ + 5.88041240820264096874e-04, /* 0x3F4344D8, 0xF2F26501 */ + 2.46463134818469906812e-04, /* 0x3F3026F7, 0x1A8D1068 */ + 7.81794442939557092300e-05, /* 0x3F147E88, 0xA03792A6 */ + 7.14072491382608190305e-05, /* 0x3F12B80F, 0x32F0A7E9 */ + -1.85586374855275456654e-05, /* 0xBEF375CB, 0xDB605373 */ + 2.59073051863633712884e-05, /* 0x3EFB2A70, 0x74BF7AD4 */ + }; -/* 80456A98-80456AA0 005098 0008+00 1/1 0/0 0/0 .sdata2 @97 */ -SECTION_SDATA2 static f64 lit_97 = 3.061616997868383e-17; - -/* 80456AA0-80456AA8 0050A0 0008+00 1/1 0/0 0/0 .sdata2 @98 */ -SECTION_SDATA2 static u8 lit_98[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80456AA8-80456AB0 0050A8 0008+00 1/1 0/0 0/0 .sdata2 @99 */ -SECTION_SDATA2 static f64 lit_99 = 2.0; - -/* 80456AB0-80456AB8 0050B0 0008+00 1/1 0/0 0/0 .sdata2 @101 */ -SECTION_SDATA2 static f64 lit_101 = 4503601774854144.0 /* cast s32 to float */; - -/* 8036BA90-8036BCA4 3663D0 0214+00 0/0 1/1 0/0 .text __kernel_tan */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __kernel_tan() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/k_tan/__kernel_tan.s" +double __kernel_tan(double x, double y, int iy) +{ + double z, r, v, w, s; + int ix, hx; + hx = __HI(x); /* high word of x */ + ix = hx & 0x7fffffff; /* high word of |x| */ + if (ix < 0x3e300000) /* x < 2**-28 */ + { + if ((int)x == 0) { /* generate inexact */ + if (((ix | __LO(x)) | (iy + 1)) == 0) { + double ret = fabs(x); + return one / ret; + } else + return (iy == 1) ? x : -one / x; + } + } + if (ix >= 0x3FE59428) { /* |x|>=0.6744 */ + if (hx < 0) { + x = -x; + y = -y; + } + z = pio4 - x; + w = pio4lo - y; + x = z + w; + y = 0.0; + } + z = x * x; + w = z * z; + /* Break x^5*(T[1]+x^2*T[2]+...) into + * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + + * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) + */ + r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); + v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); + s = z * x; + r = y + z * (s * (r + v) + y); + r += T[0] * s; + w = x + r; + if (ix >= 0x3FE59428) { + v = (double)iy; + return (double)(1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); + } + if (iy == 1) + return w; + else { /* if allow error up to 2 ulp, + simply return -1.0/(x+r) here */ + /* compute -1.0/(x+r) accurately */ + double a, t; + z = w; + __LO(z) = 0; + v = r - (z - x); /* z+v = r+x */ + t = a = -1.0 / w; /* a = -1.0/w */ + __LO(t) = 0; + s = 1.0 + t * z; + return t + a * (s + t * v); + } } -#pragma pop + +// EOF k_tan.c \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/s_atan.c b/libs/MSL_C/Math/Double_precision/s_atan.c index f77db189e7..0f88ef2fc1 100644 --- a/libs/MSL_C/Math/Double_precision/s_atan.c +++ b/libs/MSL_C/Math/Double_precision/s_atan.c @@ -1,79 +1,143 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/s_atan -// -#include "MSL_C/Math/Double_precision/s_atan.h" -#include "dol2asm.h" -#include "dolphin/types.h" +/* @(#)s_atan.c 1.3 95/01/18 */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunSoft, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ -// -// Forward References: -// +/* atan(x) + * Method + * 1. Reduce x to positive by atan(x) = -atan(-x). + * 2. According to the integer k=4t+0.25 chopped, t=x, the argument + * is further reduced to one of the following intervals and the + * arctangent of t is evaluated by the corresponding formula: + * + * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) + * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) + * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) + * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) + * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) + * + * Constants: + * The hexadecimal values are the intended ones for the following + * constants. The decimal values may be used, provided that the + * compiler will convert from decimal to binary accurately enough + * to produce the hexadecimal values shown. + */ -void atan(); +#include "fdlibm.h" -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A25F0-803A2610 02EC50 0020+00 1/1 0/0 0/0 .rodata atanhi */ -SECTION_RODATA static u8 const atanhi[32] = { - 0x3F, 0xDD, 0xAC, 0x67, 0x05, 0x61, 0xBB, 0x4F, 0x3F, 0xE9, 0x21, 0xFB, 0x54, 0x44, 0x2D, 0x18, - 0x3F, 0xEF, 0x73, 0x0B, 0xD2, 0x81, 0xF6, 0x9B, 0x3F, 0xF9, 0x21, 0xFB, 0x54, 0x44, 0x2D, 0x18, +#ifdef __STDC__ +static const double atanhi[] = { +#else +static double atanhi[] = { +#endif + 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ + 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ + 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ + 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ }; -COMPILER_STRIP_GATE(0x803A25F0, &atanhi); -/* 803A2610-803A2630 02EC70 0020+00 0/1 0/0 0/0 .rodata atanlo */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const atanlo[32] = { - 0x3C, 0x7A, 0x2B, 0x7F, 0x22, 0x2F, 0x65, 0xE2, 0x3C, 0x81, 0xA6, 0x26, 0x33, 0x14, 0x5C, 0x07, - 0x3C, 0x70, 0x07, 0x88, 0x7A, 0xF0, 0xCB, 0xBD, 0x3C, 0x91, 0xA6, 0x26, 0x33, 0x14, 0x5C, 0x07, +#ifdef __STDC__ +static const double atanlo[] = { +#else +static double atanlo[] = { +#endif + 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ + 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ + 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ + 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ }; -COMPILER_STRIP_GATE(0x803A2610, &atanlo); -#pragma pop -/* 803A2630-803A2688 02EC90 0058+00 0/1 0/0 0/0 .rodata aT */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const aT[88] = { - 0x3F, 0xD5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x0D, 0xBF, 0xC9, 0x99, 0x99, 0x99, 0x98, 0xEB, - 0xC4, 0x3F, 0xC2, 0x49, 0x24, 0x92, 0x00, 0x83, 0xFF, 0xBF, 0xBC, 0x71, 0xC6, 0xFE, 0x23, - 0x16, 0x71, 0x3F, 0xB7, 0x45, 0xCD, 0xC5, 0x4C, 0x20, 0x6E, 0xBF, 0xB3, 0xB0, 0xF2, 0xAF, - 0x74, 0x9A, 0x6D, 0x3F, 0xB1, 0x0D, 0x66, 0xA0, 0xD0, 0x3D, 0x51, 0xBF, 0xAD, 0xDE, 0x2D, - 0x52, 0xDE, 0xFD, 0x9A, 0x3F, 0xA9, 0x7B, 0x4B, 0x24, 0x76, 0x0D, 0xEB, 0xBF, 0xA2, 0xB4, - 0x44, 0x2C, 0x6A, 0x6C, 0x2F, 0x3F, 0x90, 0xAD, 0x3A, 0xE3, 0x22, 0xDA, 0x11, +#ifdef __STDC__ +static const double aT[] = { +#else +static double aT[] = { +#endif + 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ + -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ + 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ + -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ + 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ + -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ + 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ + -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ + 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ + -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ + 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ }; -COMPILER_STRIP_GATE(0x803A2630, &aT); -#pragma pop -/* 80456AB8-80456AC0 0050B8 0008+00 1/1 0/0 0/0 .sdata2 @115 */ -SECTION_SDATA2 static f64 lit_115 = 1e+300; +#ifdef __STDC__ +static const double +#else +static double +#endif + one + = 1.0, + huge = 1.0e300; -/* 80456AC0-80456AC8 0050C0 0008+00 1/1 0/0 0/0 .sdata2 @116 */ -SECTION_SDATA2 static f64 lit_116 = 1.0; +#ifdef __STDC__ +double atan(double x) +#else +double atan(x) double x; +#endif +{ + double w, s1, s2, z; + int ix, hx, id; -/* 80456AC8-80456AD0 0050C8 0008+00 1/1 0/0 0/0 .sdata2 @117 */ -SECTION_SDATA2 static f64 lit_117 = 2.0; - -/* 80456AD0-80456AD8 0050D0 0008+00 1/1 0/0 0/0 .sdata2 @118 */ -SECTION_SDATA2 static f64 lit_118 = 1.5; - -/* 80456AD8-80456AE0 0050D8 0008+00 1/1 0/0 0/0 .sdata2 @119 */ -SECTION_SDATA2 static f64 lit_119 = -1.0; - -/* 8036BCA4-8036BEBC 3665E4 0218+00 0/0 2/2 0/0 .text atan */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void atan() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/s_atan/atan.s" -} -#pragma pop + hx = __HI(x); + ix = hx & 0x7fffffff; + if (ix >= 0x44100000) { /* if |x| >= 2^66 */ + if (ix > 0x7ff00000 || (ix == 0x7ff00000 && (__LO(x) != 0))) + return x + x; /* NaN */ + if (hx > 0) + return atanhi[3] + atanlo[3]; + else + return -atanhi[3] - atanlo[3]; + } + if (ix < 0x3fdc0000) { /* |x| < 0.4375 */ + if (ix < 0x3e200000) { /* |x| < 2^-29 */ + if (huge + x > one) + return x; /* raise inexact */ + } + id = -1; + } else { + x = __fabs(x); + if (ix < 0x3ff30000) { /* |x| < 1.1875 */ + if (ix < 0x3fe60000) { /* 7/16 <=|x|<11/16 */ + id = 0; + x = (2.0 * x - one) / (2.0 + x); + } else { /* 11/16<=|x|< 19/16 */ + id = 1; + x = (x - one) / (x + one); + } + } else { + if (ix < 0x40038000) { /* |x| < 2.4375 */ + id = 2; + x = (x - 1.5) / (one + 1.5 * x); + } else { /* 2.4375 <= |x| < 2^66 */ + id = 3; + x = -1.0 / x; + } + } + } + /* end of argument reduction */ + z = x * x; + w = z * z; + /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ + s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); + s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); + if (id < 0) + return x - x * (s1 + s2); + else { + z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); + return (hx < 0) ? -z : z; + } +} \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/s_ceil.c b/libs/MSL_C/Math/Double_precision/s_ceil.c index 91d3d34734..d7f8c17d71 100644 --- a/libs/MSL_C/Math/Double_precision/s_ceil.c +++ b/libs/MSL_C/Math/Double_precision/s_ceil.c @@ -34,57 +34,57 @@ double ceil(double x) double ceil(x) double x; #endif { - int i0, i1, j0; - unsigned i, j; - i0 = __HI(x); - i1 = __LO(x); - j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; - if (j0 < 20) { - if (j0 < 0) { /* raise inexact if x != 0 */ - if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ - if (i0 < 0) { - i0 = 0x80000000; - i1 = 0; - } else if ((i0 | i1) != 0) { - i0 = 0x3ff00000; - i1 = 0; - } - } - } else { - i = (0x000fffff) >> j0; - if (((i0 & i) | i1) == 0) - return x; /* x is integral */ - if (huge + x > 0.0) { /* raise inexact flag */ - if (i0 > 0) - i0 += (0x00100000) >> j0; - i0 &= (~i); - i1 = 0; - } - } - } else if (j0 > 51) { - if (j0 == 0x400) - return x + x; /* inf or NaN */ - else - return x; /* x is integral */ - } else { - i = ((unsigned)(0xffffffff)) >> (j0 - 20); - if ((i1 & i) == 0) - return x; /* x is integral */ - if (huge + x > 0.0) { /* raise inexact flag */ - if (i0 > 0) { - if (j0 == 20) - i0 += 1; - else { - j = i1 + (1 << (52 - j0)); - if (j < i1) - i0 += 1; /* got a carry */ - i1 = j; - } - } - i1 &= (~i); - } - } - __HI(x) = i0; - __LO(x) = i1; - return x; + int i0, i1, j0; + unsigned i, j; + i0 = __HI(x); + i1 = __LO(x); + j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; + if (j0 < 20) { + if (j0 < 0) { /* raise inexact if x != 0 */ + if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ + if (i0 < 0) { + i0 = 0x80000000; + i1 = 0; + } else if ((i0 | i1) != 0) { + i0 = 0x3ff00000; + i1 = 0; + } + } + } else { + i = (0x000fffff) >> j0; + if (((i0 & i) | i1) == 0) + return x; /* x is integral */ + if (huge + x > 0.0) { /* raise inexact flag */ + if (i0 > 0) + i0 += (0x00100000) >> j0; + i0 &= (~i); + i1 = 0; + } + } + } else if (j0 > 51) { + if (j0 == 0x400) + return x + x; /* inf or NaN */ + else + return x; /* x is integral */ + } else { + i = ((unsigned)(0xffffffff)) >> (j0 - 20); + if ((i1 & i) == 0) + return x; /* x is integral */ + if (huge + x > 0.0) { /* raise inexact flag */ + if (i0 > 0) { + if (j0 == 20) + i0 += 1; + else { + j = i1 + (1 << (52 - j0)); + if (j < i1) + i0 += 1; /* got a carry */ + i1 = j; + } + } + i1 &= (~i); + } + } + __HI(x) = i0; + __LO(x) = i1; + return x; } \ No newline at end of file diff --git a/libs/MSL_C/Math/Double_precision/s_ldexp.c b/libs/MSL_C/Math/Double_precision/s_ldexp.c index 11de93eec0..ef927feb43 100644 --- a/libs/MSL_C/Math/Double_precision/s_ldexp.c +++ b/libs/MSL_C/Math/Double_precision/s_ldexp.c @@ -1,52 +1,59 @@ -// -// Generated By: dol2asm -// Translation Unit: Math/Double_precision/s_ldexp -// +/* @(#)s_ldexp.c 1.2 95/01/04 */ +/* $Id: s_ldexp.c,v 1.3.14.1 2002/01/31 15:24:14 ceciliar Exp $ */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ -#include "MSL_C/Math/Double_precision/s_ldexp.h" -#include "dol2asm.h" -#include "dolphin/types.h" +#include "fdlibm.h" +#include "MSL_C/math.h" /* for isfinite macro */ +static const double -// -// Forward References: -// + two54 + = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ + twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */ + big = 1.0e+300, tiny = 1.0e-300; -void ldexp(); +double ldexp(double x, int n) +{ + s32 k, hx, lx; /*- cc 020130 -*/ + if (!isfinite(x) || x == 0.0) + return x; -// -// External References: -// - -void copysign(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80456B10-80456B18 005110 0008+00 1/1 0/0 0/0 .sdata2 @91 */ -SECTION_SDATA2 static u8 lit_91[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80456B18-80456B20 005118 0008+00 1/1 0/0 0/0 .sdata2 @92 */ -SECTION_SDATA2 static f64 lit_92 = 1.8014398509481984e+16; - -/* 80456B20-80456B28 005120 0008+00 1/1 0/0 0/0 .sdata2 @93 */ -SECTION_SDATA2 static f64 lit_93 = 1e-300; - -/* 80456B28-80456B30 005128 0008+00 1/1 0/0 0/0 .sdata2 @94 */ -SECTION_SDATA2 static f64 lit_94 = 1e+300; - -/* 80456B30-80456B38 005130 0008+00 1/1 0/0 0/0 .sdata2 @95 */ -SECTION_SDATA2 static f64 lit_95 = 5.551115123125783e-17; - -/* 8036C2D0-8036C494 366C10 01C4+00 0/0 3/3 0/0 .text ldexp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ldexp() { - nofralloc -#include "asm/MSL_C/Math/Double_precision/s_ldexp/ldexp.s" -} -#pragma pop + hx = __HI(x); + lx = __LO(x); + k = (hx & 0x7ff00000) >> 20; /* extract exponent */ + if (k == 0) { /* 0 or subnormal x */ + if ((lx | (hx & 0x7fffffff)) == 0) + return x; /* +-0 */ + x *= two54; + hx = __HI(x); + k = ((hx & 0x7ff00000) >> 20) - 54; + if (n < -50000) + return tiny * x; /*underflow*/ + } + if (k == 0x7ff) + return x + x; /* NaN or Inf */ + k = k + n; + if (k > 0x7fe) + return big * copysign(big, x); /* overflow */ + if (k > 0) /* normal result */ + { + __HI(x) = (hx & 0x800fffff) | (k << 20); + return x; + } + if (k <= -54) + if (n > 50000) /* in case integer overflow in n+k */ + return big * copysign(big, x); /*overflow*/ + else + return tiny * copysign(tiny, x); /*underflow*/ + k += 54; /* subnormal result */ + __HI(x) = (hx & 0x800fffff) | (k << 20); + return x * twom54; +} \ No newline at end of file diff --git a/libs/Runtime.PPCEABI.H/CPlusLibPPC.cpp b/libs/Runtime.PPCEABI.H/CPlusLibPPC.cpp index 918645632e..4d775b002f 100644 --- a/libs/Runtime.PPCEABI.H/CPlusLibPPC.cpp +++ b/libs/Runtime.PPCEABI.H/CPlusLibPPC.cpp @@ -1,32 +1,18 @@ -// -// Generated By: dol2asm -// Translation Unit: CPlusLibPPC -// - #include "Runtime.PPCEABI.H/CPlusLibPPC.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __copy(); - -// -// External References: -// - -// -// Declarations: -// /* 80361C3C-80361C6C 35C57C 0030+00 0/0 0/0 4/4 .text __copy */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __copy() { - nofralloc -#include "asm/Runtime.PPCEABI.H/CPlusLibPPC/__copy.s" +extern "C" void* __copy(char *dest, char *src, size_t size) { + char *p; + + if (dest && size) { + p = dest; + do { + *p = *src; + ++p; + ++src; + --size; + } while (size); + } + + return(dest); } -#pragma pop diff --git a/libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.c b/libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.c new file mode 100644 index 0000000000..b56b0fbc4e --- /dev/null +++ b/libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.c @@ -0,0 +1,36 @@ +/** + * GCN_Mem_Alloc.c + * Description: + */ + +#include "Runtime.PPCEABI.H/GCN_mem_alloc.h" +#include "dolphin/os/OS.h" + +inline static void InitDefaultHeap(void) { + void* arenaLo; + void* arenaHi; + + OSReport("GCN_Mem_Alloc.c : InitDefaultHeap. No Heap Available\n"); + OSReport("Metrowerks CW runtime library initializing default heap\n"); + + arenaLo = OSGetArenaLo(); + arenaHi = OSGetArenaHi(); + + arenaLo = OSInitAlloc(arenaLo, arenaHi, 1); + OSSetArenaLo(arenaLo); + + arenaLo = OSRoundUpPtr(arenaLo, 0x20); + arenaHi = OSRoundDownPtr(arenaHi, 0x20); + + OSSetCurrentHeap(OSCreateHeap(arenaLo, arenaHi)); + OSSetArenaLo(arenaLo = arenaHi); +} + +/* 80362914-803629CC 35D254 00B8+00 0/0 1/1 0/0 .text __sys_free */ +void __sys_free(void* p) { + if (__OSCurrHeap == -1) { + InitDefaultHeap(); + } + + OSFreeToHeap(__OSCurrHeap, p); +} diff --git a/libs/Runtime.PPCEABI.H/GCN_mem_alloc.cpp b/libs/Runtime.PPCEABI.H/GCN_mem_alloc.cpp deleted file mode 100644 index 02c0c4d2f6..0000000000 --- a/libs/Runtime.PPCEABI.H/GCN_mem_alloc.cpp +++ /dev/null @@ -1,175 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: GCN_mem_alloc -// - -#include "Runtime.PPCEABI.H/GCN_mem_alloc.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __sys_free(); - -// -// External References: -// - -extern "C" void OSReport(); -extern "C" void OSFreeToHeap(); -extern "C" void OSSetCurrentHeap(); -extern "C" void OSInitAlloc(); -extern "C" void OSCreateHeap(); -extern "C" void OSGetArenaHi(); -extern "C" void OSGetArenaLo(); -extern "C" void OSSetArenaLo(); -extern "C" extern u32 __OSCurrHeap[1 + 1 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A21A8-803A21E0 02E808 0036+02 1/1 0/0 0/0 .rodata @55 */ -SECTION_RODATA static u8 const lit_55[54 + 2 /* padding */] = { - 0x47, - 0x43, - 0x4E, - 0x5F, - 0x4D, - 0x65, - 0x6D, - 0x5F, - 0x41, - 0x6C, - 0x6C, - 0x6F, - 0x63, - 0x2E, - 0x63, - 0x20, - 0x3A, - 0x20, - 0x49, - 0x6E, - 0x69, - 0x74, - 0x44, - 0x65, - 0x66, - 0x61, - 0x75, - 0x6C, - 0x74, - 0x48, - 0x65, - 0x61, - 0x70, - 0x2E, - 0x20, - 0x4E, - 0x6F, - 0x20, - 0x48, - 0x65, - 0x61, - 0x70, - 0x20, - 0x41, - 0x76, - 0x61, - 0x69, - 0x6C, - 0x61, - 0x62, - 0x6C, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A21A8, &lit_55); - -/* 803A21E0-803A2220 02E840 0039+07 1/1 0/0 0/0 .rodata @56 */ -SECTION_RODATA static u8 const lit_56[57 + 7 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x77, - 0x65, - 0x72, - 0x6B, - 0x73, - 0x20, - 0x43, - 0x57, - 0x20, - 0x72, - 0x75, - 0x6E, - 0x74, - 0x69, - 0x6D, - 0x65, - 0x20, - 0x6C, - 0x69, - 0x62, - 0x72, - 0x61, - 0x72, - 0x79, - 0x20, - 0x69, - 0x6E, - 0x69, - 0x74, - 0x69, - 0x61, - 0x6C, - 0x69, - 0x7A, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x64, - 0x65, - 0x66, - 0x61, - 0x75, - 0x6C, - 0x74, - 0x20, - 0x68, - 0x65, - 0x61, - 0x70, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A21E0, &lit_56); - -/* 80362914-803629CC 35D254 00B8+00 0/0 1/1 0/0 .text __sys_free */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sys_free() { - nofralloc -#include "asm/Runtime.PPCEABI.H/GCN_mem_alloc/__sys_free.s" -} -#pragma pop diff --git a/libs/Runtime.PPCEABI.H/Makefile b/libs/Runtime.PPCEABI.H/Makefile index ef6d4d7d73..1bb02dc552 100644 --- a/libs/Runtime.PPCEABI.H/Makefile +++ b/libs/Runtime.PPCEABI.H/Makefile @@ -3,15 +3,15 @@ # LIBRUNTIME_PPCEABI_H_A_CPP_FILES := \ - libs/Runtime.PPCEABI.H/__va_arg.cpp \ + libs/Runtime.PPCEABI.H/__va_arg.c \ libs/Runtime.PPCEABI.H/global_destructor_chain.cpp \ libs/Runtime.PPCEABI.H/CPlusLibPPC.cpp \ libs/Runtime.PPCEABI.H/NMWException.cpp \ - libs/Runtime.PPCEABI.H/ptmf.cpp \ + libs/Runtime.PPCEABI.H/ptmf.c \ libs/Runtime.PPCEABI.H/runtime.cpp \ libs/Runtime.PPCEABI.H/__init_cpp_exceptions.cpp \ libs/Runtime.PPCEABI.H/Gecko_ExceptionPPC.cpp \ - libs/Runtime.PPCEABI.H/GCN_mem_alloc.cpp \ + libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.c \ LIBRUNTIME_PPCEABI_H_A_O_FILES := \ $(BUILD_DIR)/libs/Runtime.PPCEABI.H/__va_arg.o \ @@ -22,9 +22,10 @@ LIBRUNTIME_PPCEABI_H_A_O_FILES := \ $(BUILD_DIR)/libs/Runtime.PPCEABI.H/runtime.o \ $(BUILD_DIR)/libs/Runtime.PPCEABI.H/__init_cpp_exceptions.o \ $(BUILD_DIR)/libs/Runtime.PPCEABI.H/Gecko_ExceptionPPC.o \ - $(BUILD_DIR)/libs/Runtime.PPCEABI.H/GCN_mem_alloc.o \ + $(BUILD_DIR)/libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.o \ LIBRUNTIME_PPCEABI_H_A_CFLAGS := \ + -O4,p \ LIBRUNTIME_PPCEABI_H_A_LDFLAGS := \ -nodefaults \ @@ -32,6 +33,10 @@ LIBRUNTIME_PPCEABI_H_A_LDFLAGS := \ -proc gekko \ -linkmode moreram \ +$(BUILD_DIR)/libs/Runtime.PPCEABI.H/GCN_Mem_Alloc.o: CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str readonly -RTTI off -maxerrors 5 -enum int $(INCLUDES) -lang=c +$(BUILD_DIR)/libs/Runtime.PPCEABI.H/__va_arg.o: CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str pool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES) -lang=c + + $(BUILD_DIR)/libRuntime.PPCEABI.H.a: $(LIBRUNTIME_PPCEABI_H_A_O_FILES) @echo linking... $(BUILD_DIR)/libRuntime.PPCEABI.H.a @echo $(LIBRUNTIME_PPCEABI_H_A_O_FILES) > build/LIBRUNTIME_PPCEABI_H_A_ofiles @@ -43,3 +48,8 @@ $(BUILD_DIR)/libs/Runtime.PPCEABI.H/%.o: libs/Runtime.PPCEABI.H/%.cpp @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp @$(CC) $(CFLAGS) $(LIBRUNTIME_PPCEABI_H_A_CFLAGS) -c -o $@ $(basename $@).cpp +$(BUILD_DIR)/libs/Runtime.PPCEABI.H/%.o: libs/Runtime.PPCEABI.H/%.c + @mkdir -p $(@D) + @echo building... $< + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(CC) $(CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/Runtime.PPCEABI.H/__init_cpp_exceptions.cpp b/libs/Runtime.PPCEABI.H/__init_cpp_exceptions.cpp index 5cfd89a6ed..f50a546019 100644 --- a/libs/Runtime.PPCEABI.H/__init_cpp_exceptions.cpp +++ b/libs/Runtime.PPCEABI.H/__init_cpp_exceptions.cpp @@ -52,11 +52,7 @@ SECTION_DTORS15 extern void* const __dtors_null_terminator = (void*)NULL; /* ############################################################################################## */ /* 80450AD0-80450AD8 000550 0004+04 2/2 0/0 0/0 .sdata fragmentID */ -SECTION_SDATA static u32 fragmentID[1 + 1 /* padding */] = { - 0xFFFFFFFE, - /* padding */ - 0x00000000, -}; +SECTION_SDATA static int fragmentID = -2; /* 8036283C-80362870 35D17C 0034+00 1/0 1/0 0/0 .text __fini_cpp_exceptions */ #pragma push diff --git a/libs/Runtime.PPCEABI.H/__va_arg.c b/libs/Runtime.PPCEABI.H/__va_arg.c new file mode 100644 index 0000000000..c6e8bc63d8 --- /dev/null +++ b/libs/Runtime.PPCEABI.H/__va_arg.c @@ -0,0 +1,50 @@ +#include "Runtime.PPCEABI.H/__va_arg.h" + +#undef __va_arg + +/* 80361B14-80361BDC 35C454 00C8+00 0/0 3/3 0/0 .text __va_arg */ +void* __va_arg(_va_list_struct* list, int type) { + char* addr; + char* reg = &(list->gpr); + int g_reg = list->gpr; + int maxsize = 8; + int size = 4; + int increment = 1; + int even = 0; + int fpr_offset = 0; + int regsize = 4; + + if (type == 3) { + reg = &(list->fpr); + g_reg = list->fpr; + size = 8; + fpr_offset = 32; + regsize = 8; + } + + if (type == 2) { + size = 8; + maxsize--; + if (g_reg & 1) { + even = 1; + } + increment = 2; + } + + if (g_reg < maxsize) { + g_reg += even; + addr = list->reg_save_area + fpr_offset + (g_reg * regsize); + *reg = g_reg + increment; + } else { + *reg = 8; + addr = list->input_arg_area; + addr = (char*)(((u32)(addr) + ((size)-1)) & ~((size)-1)); + list->input_arg_area = addr + size; + } + + if (type == 0) { + addr = *((char**)addr); + } + + return addr; +} diff --git a/libs/Runtime.PPCEABI.H/__va_arg.cpp b/libs/Runtime.PPCEABI.H/__va_arg.cpp deleted file mode 100644 index 968677be65..0000000000 --- a/libs/Runtime.PPCEABI.H/__va_arg.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: __va_arg -// - -#include "Runtime.PPCEABI.H/__va_arg.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -#undef __va_arg - -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - -/* 80361B14-80361BDC 35C454 00C8+00 0/0 3/3 0/0 .text __va_arg */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __va_arg(void*, int) { - nofralloc -#include "asm/Runtime.PPCEABI.H/__va_arg/__va_arg.s" -} -#pragma pop diff --git a/libs/Runtime.PPCEABI.H/ptmf.c b/libs/Runtime.PPCEABI.H/ptmf.c new file mode 100644 index 0000000000..28cac8b026 --- /dev/null +++ b/libs/Runtime.PPCEABI.H/ptmf.c @@ -0,0 +1,73 @@ +#include "Runtime.PPCEABI.H/ptmf.h" + +/* ############################################################################################## */ +/* 803A2180-803A2190 02E7E0 000C+04 0/0 23/23 249/249 .rodata __ptmf_null */ +__ptmf const __ptmf_null = { + 0, + 0, + 0, +}; + +/* 80362018-80362048 35C958 0030+00 0/0 10/10 345/345 .text __ptmf_test */ +asm long __ptmf_test(register __ptmf* ptmf) { + // clang-format off + nofralloc + + lwz r5, __ptmf.this_delta(r3) + lwz r6, __ptmf.v_offset(r3) + lwz r7, __ptmf.f_data(r3) + li r3, 1 + cmpwi r5, 0 + cmpwi cr6, r6, 0 + cmpwi cr7, r7, 0 + bnelr + bnelr cr6 + bnelr cr7 + li r3, 0 + blr + // clang-format on +} + +/* 80362048-80362084 35C988 003C+00 0/0 0/0 217/217 .text __ptmf_cmpr */ +asm long __ptmf_cmpr(void) { + // clang-format off + nofralloc + + lwz r5, 0(r3) + lwz r6, 0(r4) + lwz r7, 4(r3) + lwz r8, 4(r4) + lwz r9, 8(r3) + lwz r10, 8(r4) + li r3, 1 + cmpw r5, r6 + cmpw cr6, r7, r8 + cmpw cr7, r9, r10 + bnelr + bnelr cr6 + bnelr cr7 + li r3, 0 + blr + // clang-format on +} + +/* 80362084-803620AC 35C9C4 0028+00 0/0 125/125 741/741 .text __ptmf_scall */ +asm void __ptmf_scall(...) { + // clang-format off + nofralloc + + lwz r0, 0(r12) + lwz r11, 4(r12) + lwz r12, 8(r12) + add r3, r3, r0 + cmpwi r11, 0 + blt lbl_803620A4 + + lwzx r12, r3, r12 + lwzx r12, r12, r11 + +lbl_803620A4: + mtctr r12 + bctr + // clang-format on +} \ No newline at end of file diff --git a/libs/Runtime.PPCEABI.H/ptmf.cpp b/libs/Runtime.PPCEABI.H/ptmf.cpp deleted file mode 100644 index 56f8a6becf..0000000000 --- a/libs/Runtime.PPCEABI.H/ptmf.cpp +++ /dev/null @@ -1,78 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: ptmf -// - -#include "Runtime.PPCEABI.H/ptmf.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; - -// -// External References: -// - -// -// Declarations: -// - -/* 80362018-80362048 35C958 0030+00 0/0 10/10 345/345 .text __ptmf_test */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ptmf_test() { - nofralloc -#include "asm/Runtime.PPCEABI.H/ptmf/__ptmf_test.s" -} -#pragma pop - -/* 80362048-80362084 35C988 003C+00 0/0 0/0 217/217 .text __ptmf_cmpr */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ptmf_cmpr() { - nofralloc -#include "asm/Runtime.PPCEABI.H/ptmf/__ptmf_cmpr.s" -} -#pragma pop - -/* 80362084-803620AC 35C9C4 0028+00 0/0 125/125 741/741 .text __ptmf_scall */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __ptmf_scall() { - nofralloc -#include "asm/Runtime.PPCEABI.H/ptmf/__ptmf_scall.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803A2180-803A2190 02E7E0 000C+04 0/0 23/23 249/249 .rodata __ptmf_null */ -SECTION_RODATA extern u8 const __ptmf_null[12 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2180, &__ptmf_null); diff --git a/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp b/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp index 7789d948c9..94b906a520 100644 --- a/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp +++ b/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp @@ -24,7 +24,7 @@ cBgS_LinChk::~cBgS_LinChk() {} /* 80267E48-80267ED0 262788 0088+00 1/1 0/0 0/0 .text ct__11cBgS_LinChkFv */ void cBgS_LinChk::ct() { cXyz xyz(cXyz::Zero); - mLinP.SetStartEnd(xyz, xyz); + mLin.SetStartEnd(xyz, xyz); field_0x40 = xyz; setActorPid(0xFFFFFFFF); field_0x4c = 0; @@ -34,7 +34,7 @@ void cBgS_LinChk::ct() { /* 80267ED0-80267F40 262810 0070+00 0/0 2/2 0/0 .text Set2__11cBgS_LinChkFPC4cXyzPC4cXyzUi */ void cBgS_LinChk::Set2(cXyz const* pStart, cXyz const* pEnd, unsigned int actorPid) { - mLinP.SetStartEnd(*pStart, *pEnd); + mLin.SetStartEnd(*pStart, *pEnd); field_0x40 = *pEnd; setActorPid(actorPid); field_0x4c &= ~0x10; diff --git a/libs/SSystem/SComponent/c_lib.cpp b/libs/SSystem/SComponent/c_lib.cpp index 69eeddf81a..f789657c2b 100644 --- a/libs/SSystem/SComponent/c_lib.cpp +++ b/libs/SSystem/SComponent/c_lib.cpp @@ -334,7 +334,7 @@ s16 cLib_targetAngleY(const Vec& lhs, const Vec& rhs) { s16 cLib_targetAngleX(cXyz const* param_0, cXyz const* param_1) { cXyz diff = *param_1 - *param_0; f32 f1 = sqrtf(diff.getMagXZ()); - return cM_atan2s(diff.GetY(), f1); + return cM_atan2s(diff.y, f1); } /* 80270DC0-80270E24 26B700 0064+00 0/0 2/2 118/118 .text cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index 914fb6b6f9..6fd69c5e49 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -317,17 +317,17 @@ bool cM3d_Cross_AabCyl(const cM3dGAab* pAab, const cM3dGCyl* pCyl) { #ifdef NONMATCHING bool cM3d_Cross_AabSph(const cM3dGAab* pAab, const cM3dGSph* pSph) { f32 radius = pSph->GetR(); - if (pAab->GetMinX() > pSph->GetC().GetX() + radius) { // addition registers are flipped + if (pAab->GetMinX() > pSph->GetC().x + radius) { // addition registers are flipped return false; - } else if (pAab->GetMaxX() < pSph->GetC().GetX() - radius) { + } else if (pAab->GetMaxX() < pSph->GetC().x - radius) { return false; - } else if (pAab->GetMinZ() > pSph->GetC().GetZ() + radius) { + } else if (pAab->GetMinZ() > pSph->GetC().z + radius) { return false; - } else if (pAab->GetMaxZ() < pSph->GetC().GetZ() - radius) { + } else if (pAab->GetMaxZ() < pSph->GetC().z - radius) { return false; - } else if (pAab->GetMinY() > pSph->GetC().GetY() + radius) { + } else if (pAab->GetMinY() > pSph->GetC().y + radius) { return false; - } else if (pAab->GetMaxY() < pSph->GetC().GetY() - radius) { + } else if (pAab->GetMaxY() < pSph->GetC().y - radius) { return false; } else { return true; @@ -564,51 +564,51 @@ asm bool cM3d_Cross_MinMaxBoxLine(Vec const* param_0, Vec const* param_1, Vec co bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec* pVecA, const Vec* pVecB, const Vec* pVecC, const Vec* pVecD, f32 pF) { f32 min, max; - if (pVecA->GetX() < pVecB->GetX()) { - min = pVecA->GetX(); - max = pVecB->GetX(); + if (pVecA->x < pVecB->x) { + min = pVecA->x; + max = pVecB->x; } else { - min = pVecB->GetX(); - max = pVecA->GetX(); + min = pVecB->x; + max = pVecA->x; } - if (min > pVecC->GetX()) { - min = pVecC->GetX(); - } else if (max < pVecC->GetX()) { - max = pVecC->GetX(); + if (min > pVecC->x) { + min = pVecC->x; + } else if (max < pVecC->x) { + max = pVecC->x; } - if (min - pF > pVecD->GetX() || max + pF < pVecD->GetX()) { + if (min - pF > pVecD->x || max + pF < pVecD->x) { return false; } - if (pVecA->GetZ() < pVecB->GetZ()) { - min = pVecA->GetZ(); - max = pVecB->GetZ(); + if (pVecA->z < pVecB->z) { + min = pVecA->z; + max = pVecB->z; } else { - min = pVecB->GetZ(); - max = pVecA->GetZ(); + min = pVecB->z; + max = pVecA->z; } - if (min > pVecC->GetZ()) { - min = pVecC->GetZ(); - } else if (max < pVecC->GetZ()) { - max = pVecC->GetZ(); + if (min > pVecC->z) { + min = pVecC->z; + } else if (max < pVecC->z) { + max = pVecC->z; } - if (min - pF > pVecD->GetZ() || max + pF < pVecD->GetZ()) { + if (min - pF > pVecD->z || max + pF < pVecD->z) { return false; } - if (pVecA->GetY() < pVecB->GetY()) { - min = pVecA->GetY(); - max = pVecB->GetY(); + if (pVecA->y < pVecB->y) { + min = pVecA->y; + max = pVecB->y; } else { - min = pVecB->GetY(); - max = pVecA->GetY(); + min = pVecB->y; + max = pVecA->y; } - if (min > pVecC->GetY()) { - min = pVecC->GetY(); - } else if (max < pVecC->GetY()) { - max = pVecC->GetY(); + if (min > pVecC->y) { + min = pVecC->y; + } else if (max < pVecC->y) { + max = pVecC->y; } - if (min - pF > pVecD->GetY() || max + pF < pVecD->GetY()) { + if (min - pF > pVecD->y || max + pF < pVecD->y) { return false; } return true; diff --git a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.cpp b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c similarity index 56% rename from libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.cpp rename to libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c index 32ef6ffef9..6e85dc3925 100644 --- a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c @@ -11,38 +11,51 @@ // Forward References: // -extern "C" void ddh_cc_initinterrupts(); -extern "C" void ddh_cc_peek(); -extern "C" void ddh_cc_post_stop(); -extern "C" void ddh_cc_pre_continue(); -extern "C" void ddh_cc_write(); -extern "C" void ddh_cc_read(); -extern "C" bool ddh_cc_close(); -extern "C" void ddh_cc_open(); -extern "C" bool ddh_cc_shutdown(); -extern "C" void ddh_cc_initialize(); +void ddh_cc_initinterrupts(); +void ddh_cc_peek(); +void ddh_cc_post_stop(); +void ddh_cc_pre_continue(); +void ddh_cc_write(); +void ddh_cc_read(); +u8 ddh_cc_close(); +void ddh_cc_open(); +u8 ddh_cc_shutdown(); +void ddh_cc_initialize(); // // External References: // -extern "C" void CircleBufferReadBytes(); -extern "C" void CircleBufferWriteBytes(); -extern "C" void CircleBufferInitialize(); -extern "C" void CBGetBytesAvailableForRead(); -extern "C" void MWTRACE(); -extern "C" void EXI2_Init(); -extern "C" void EXI2_EnableInterrupts(); -extern "C" bool EXI2_Poll(); -extern "C" bool EXI2_ReadN(); -extern "C" bool EXI2_WriteN(); -extern "C" void EXI2_Reserve(); -extern "C" void EXI2_Unreserve(); +void CircleBufferReadBytes(); +void CircleBufferWriteBytes(); +void CircleBufferInitialize(); +void CBGetBytesAvailableForRead(); +void MWTRACE(); +void EXI2_Init(); +void EXI2_EnableInterrupts(); +u8 EXI2_Poll(); +u8 EXI2_ReadN(); +u8 EXI2_WriteN(); +void EXI2_Reserve(); +void EXI2_Unreserve(); // // Declarations: // +/* ############################################################################################## */ +/* 8044F830-80450030 07C550 0800+00 1/1 0/0 0/0 .bss gRecvBuf */ +static u8 gRecvBuf[2048]; + +/* 80450030-80450050 07CD50 001C+04 3/3 0/0 0/0 .bss gRecvCB */ +static u8 gRecvCB[28 + 4 /* padding */]; + +// copied from pikmin2. should try to find a real fix +static makeMainBSSOrderingWork() { + u8 buff[0x500]; + memcpy(buff, gRecvBuf, 0x500); +} + /* 8037235C-80372380 36CC9C 0024+00 0/0 1/1 0/0 .text ddh_cc_initinterrupts */ #pragma push #pragma optimization_level 0 @@ -53,13 +66,6 @@ asm void ddh_cc_initinterrupts() { } #pragma pop -/* ############################################################################################## */ -/* 8044F830-80450030 07C550 0800+00 1/1 0/0 0/0 .bss gRecvBuf */ -static u8 gRecvBuf[2048]; - -/* 80450030-80450050 07CD50 001C+04 3/3 0/0 0/0 .bss gRecvCB */ -static u8 gRecvCB[28 + 4 /* padding */]; - /* 80372380-803723F0 36CCC0 0070+00 0/0 1/1 0/0 .text ddh_cc_peek */ #pragma push #pragma optimization_level 0 @@ -92,72 +98,20 @@ asm void ddh_cc_pre_continue() { /* ############################################################################################## */ /* 803A2D10-803A2D24 02F370 0014+00 1/1 0/0 0/0 .rodata @318 */ -SECTION_RODATA static u8 const lit_318[20] = { - 0x63, 0x63, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x69, 0x6E, 0x69, - 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x64, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_318[] = "cc not initialized\n"; COMPILER_STRIP_GATE(0x803A2D10, &lit_318); /* 803A2D24-803A2D50 02F384 0029+03 0/1 0/0 0/0 .rodata @319 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_319[41 + 3 /* padding */] = { - 0x63, - 0x63, - 0x5F, - 0x77, - 0x72, - 0x69, - 0x74, - 0x65, - 0x20, - 0x3A, - 0x20, - 0x4F, - 0x75, - 0x74, - 0x70, - 0x75, - 0x74, - 0x20, - 0x64, - 0x61, - 0x74, - 0x61, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_319[] = "cc_write : Output data 0x%08x %ld bytes\n"; COMPILER_STRIP_GATE(0x803A2D24, &lit_319); #pragma pop /* 803A2D50-803A2D6C 02F3B0 001C+00 0/1 0/0 0/0 .rodata @320 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_320[28] = { - 0x63, 0x63, 0x5F, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x65, 0x6E, 0x64, 0x69, - 0x6E, 0x67, 0x20, 0x25, 0x6C, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_320[] = "cc_write sending %ld bytes\n"; COMPILER_STRIP_GATE(0x803A2D50, &lit_320); #pragma pop @@ -176,103 +130,11 @@ asm void ddh_cc_write() { /* ############################################################################################## */ /* 803A2D6C-803A2D94 02F3CC 0025+03 1/1 0/0 0/0 .rodata @342 */ -SECTION_RODATA static u8 const lit_342[37 + 3 /* padding */] = { - 0x45, - 0x78, - 0x70, - 0x65, - 0x63, - 0x74, - 0x65, - 0x64, - 0x20, - 0x70, - 0x61, - 0x63, - 0x6B, - 0x65, - 0x74, - 0x20, - 0x73, - 0x69, - 0x7A, - 0x65, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x28, - 0x25, - 0x6C, - 0x64, - 0x29, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_342[] = "Expected packet size : 0x%08x (%ld)\n"; COMPILER_STRIP_GATE(0x803A2D6C, &lit_342); /* 803A2D94-803A2DC4 02F3F4 002D+03 1/1 0/0 0/0 .rodata @343 */ -SECTION_RODATA static u8 const lit_343[45 + 3 /* padding */] = { - 0x63, - 0x63, - 0x5F, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3A, - 0x20, - 0x65, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x20, - 0x72, - 0x65, - 0x61, - 0x64, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x20, - 0x66, - 0x72, - 0x6F, - 0x6D, - 0x20, - 0x45, - 0x58, - 0x49, - 0x32, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_343[] = "cc_read : error reading bytes from EXI2 %ld\n"; COMPILER_STRIP_GATE(0x803A2D94, &lit_343); /* 803724F8-803725E4 36CE38 00EC+00 0/0 1/1 0/0 .text ddh_cc_read */ @@ -286,8 +148,8 @@ asm void ddh_cc_read() { #pragma pop /* 803725E4-803725EC 36CF24 0008+00 0/0 1/1 0/0 .text ddh_cc_close */ -bool ddh_cc_close() { - return false; +u8 ddh_cc_close() { + return 0; } /* 803725EC-80372610 36CF2C 0024+00 0/0 1/1 0/0 .text ddh_cc_open */ @@ -301,42 +163,17 @@ asm void ddh_cc_open() { #pragma pop /* 80372610-80372618 36CF50 0008+00 0/0 1/1 0/0 .text ddh_cc_shutdown */ -bool ddh_cc_shutdown() { - return false; +u8 ddh_cc_shutdown() { + return 0; } /* ############################################################################################## */ /* 803A2DC4-803A2DD8 02F424 0013+01 1/1 0/0 0/0 .rodata @349 */ -SECTION_RODATA static u8 const lit_349[19 + 1 /* padding */] = { - 0x43, - 0x41, - 0x4C, - 0x4C, - 0x49, - 0x4E, - 0x47, - 0x20, - 0x45, - 0x58, - 0x49, - 0x32, - 0x5F, - 0x49, - 0x6E, - 0x69, - 0x74, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_349[] = "CALLING EXI2_Init\n"; COMPILER_STRIP_GATE(0x803A2DC4, &lit_349); /* 803A2DD8-803A2DF0 02F438 0018+00 1/1 0/0 0/0 .rodata @350 */ -SECTION_RODATA static u8 const lit_350[24] = { - 0x44, 0x4F, 0x4E, 0x45, 0x20, 0x43, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x47, - 0x20, 0x45, 0x58, 0x49, 0x32, 0x5F, 0x49, 0x6E, 0x69, 0x74, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_350[] = "DONE CALLING EXI2_Init\n"; COMPILER_STRIP_GATE(0x803A2DD8, &lit_350); /* 80372618-803726A0 36CF58 0088+00 0/0 1/1 0/0 .text ddh_cc_initialize */ diff --git a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.cpp b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c similarity index 57% rename from libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.cpp rename to libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c index d962b4cce6..d1d349c3ca 100644 --- a/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c @@ -11,38 +11,51 @@ // Forward References: // -extern "C" void gdev_cc_initinterrupts(); -extern "C" void gdev_cc_peek(); -extern "C" void gdev_cc_post_stop(); -extern "C" void gdev_cc_pre_continue(); -extern "C" void gdev_cc_write(); -extern "C" void gdev_cc_read(); -extern "C" bool gdev_cc_close(); -extern "C" void gdev_cc_open(); -extern "C" bool gdev_cc_shutdown(); -extern "C" void gdev_cc_initialize(); +void gdev_cc_initinterrupts(); +void gdev_cc_peek(); +void gdev_cc_post_stop(); +void gdev_cc_pre_continue(); +void gdev_cc_write(); +void gdev_cc_read(); +u8 gdev_cc_close(); +void gdev_cc_open(); +u8 gdev_cc_shutdown(); +void gdev_cc_initialize(); // // External References: // -extern "C" void CircleBufferReadBytes(); -extern "C" void CircleBufferWriteBytes(); -extern "C" void CircleBufferInitialize(); -extern "C" void CBGetBytesAvailableForRead(); -extern "C" void MWTRACE(); -extern "C" void DBClose(); -extern "C" void DBOpen(); -extern "C" void DBWrite(); -extern "C" void DBRead(); -extern "C" void DBQueryData(); -extern "C" void DBInitInterrupts(); -extern "C" void DBInitComm(); +void CircleBufferReadBytes(); +void CircleBufferWriteBytes(); +void CircleBufferInitialize(); +void CBGetBytesAvailableForRead(); +void MWTRACE(); +void DBClose(); +void DBOpen(); +void DBWrite(); +void DBRead(); +void DBQueryData(); +void DBInitInterrupts(); +void DBInitComm(); // // Declarations: // +/* ############################################################################################## */ +/* 80450050-80450550 07CD70 0500+00 1/1 0/0 0/0 .bss gRecvBuf */ +static u8 gRecvBuf[1280]; + +/* 80450550-8045056C 07D270 001C+00 3/3 0/0 0/0 .bss gRecvCB */ +static u8 gRecvCB[28]; + +// copied from pikmin2. should try to find a real fix +static makeMainBSSOrderingWork() { + u8 buff[0x500]; + memcpy(buff, gRecvBuf, 0x500); +} + /* 80372908-8037292C 36D248 0024+00 0/0 1/1 0/0 .text gdev_cc_initinterrupts */ #pragma push #pragma optimization_level 0 @@ -53,13 +66,6 @@ asm void gdev_cc_initinterrupts() { } #pragma pop -/* ############################################################################################## */ -/* 80450050-80450550 07CD70 0500+00 1/1 0/0 0/0 .bss gRecvBuf */ -static u8 gRecvBuf[1280]; - -/* 80450550-8045056C 07D270 001C+00 3/3 0/0 0/0 .bss gRecvCB */ -static u8 gRecvCB[28]; - /* 8037292C-8037299C 36D26C 0070+00 0/0 1/1 0/0 .text gdev_cc_peek */ #pragma push #pragma optimization_level 0 @@ -92,72 +98,20 @@ asm void gdev_cc_pre_continue() { /* ############################################################################################## */ /* 803A2DF0-803A2E04 02F450 0014+00 1/1 0/0 0/0 .rodata @318 */ -SECTION_RODATA static u8 const lit_318[20] = { - 0x63, 0x63, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x69, 0x6E, 0x69, - 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x64, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_318[] = "cc not initialized\n"; COMPILER_STRIP_GATE(0x803A2DF0, &lit_318); /* 803A2E04-803A2E30 02F464 0029+03 0/1 0/0 0/0 .rodata @319 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_319[41 + 3 /* padding */] = { - 0x63, - 0x63, - 0x5F, - 0x77, - 0x72, - 0x69, - 0x74, - 0x65, - 0x20, - 0x3A, - 0x20, - 0x4F, - 0x75, - 0x74, - 0x70, - 0x75, - 0x74, - 0x20, - 0x64, - 0x61, - 0x74, - 0x61, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_319[] = "cc_write : Output data 0x%08x %ld bytes\n"; COMPILER_STRIP_GATE(0x803A2E04, &lit_319); #pragma pop /* 803A2E30-803A2E4C 02F490 001C+00 0/1 0/0 0/0 .rodata @320 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_320[28] = { - 0x63, 0x63, 0x5F, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x65, 0x6E, 0x64, 0x69, - 0x6E, 0x67, 0x20, 0x25, 0x6C, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0A, 0x00, -}; +SECTION_RODATA static u8 const lit_320[] = "cc_write sending %ld bytes\n"; COMPILER_STRIP_GATE(0x803A2E30, &lit_320); #pragma pop @@ -176,103 +130,11 @@ asm void gdev_cc_write() { /* ############################################################################################## */ /* 803A2E4C-803A2E74 02F4AC 0025+03 1/1 0/0 0/0 .rodata @341 */ -SECTION_RODATA static u8 const lit_341[37 + 3 /* padding */] = { - 0x45, - 0x78, - 0x70, - 0x65, - 0x63, - 0x74, - 0x65, - 0x64, - 0x20, - 0x70, - 0x61, - 0x63, - 0x6B, - 0x65, - 0x74, - 0x20, - 0x73, - 0x69, - 0x7A, - 0x65, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x28, - 0x25, - 0x6C, - 0x64, - 0x29, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_341[] = "Expected packet size : 0x%08x (%ld)\n"; COMPILER_STRIP_GATE(0x803A2E4C, &lit_341); /* 803A2E74-803A2EA4 02F4D4 002D+03 1/1 0/0 0/0 .rodata @342 */ -SECTION_RODATA static u8 const lit_342[45 + 3 /* padding */] = { - 0x63, - 0x63, - 0x5F, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3A, - 0x20, - 0x65, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x20, - 0x72, - 0x65, - 0x61, - 0x64, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x20, - 0x66, - 0x72, - 0x6F, - 0x6D, - 0x20, - 0x45, - 0x58, - 0x49, - 0x32, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_342[] = "cc_read : error reading bytes from EXI2 %ld\n"; COMPILER_STRIP_GATE(0x803A2E74, &lit_342); /* 80372AA4-80372B98 36D3E4 00F4+00 0/0 1/1 0/0 .text gdev_cc_read */ @@ -286,8 +148,8 @@ asm void gdev_cc_read() { #pragma pop /* 80372B98-80372BA0 36D4D8 0008+00 0/0 1/1 0/0 .text gdev_cc_close */ -bool gdev_cc_close() { - return false; +u8 gdev_cc_close() { + return 0; } /* 80372BA0-80372BC4 36D4E0 0024+00 0/0 1/1 0/0 .text gdev_cc_open */ @@ -301,42 +163,17 @@ asm void gdev_cc_open() { #pragma pop /* 80372BC4-80372BCC 36D504 0008+00 0/0 1/1 0/0 .text gdev_cc_shutdown */ -bool gdev_cc_shutdown() { - return false; +u8 gdev_cc_shutdown() { + return 0; } /* ############################################################################################## */ /* 803A2EA4-803A2EB8 02F504 0013+01 1/1 0/0 0/0 .rodata @348 */ -SECTION_RODATA static u8 const lit_348[19 + 1 /* padding */] = { - 0x43, - 0x41, - 0x4C, - 0x4C, - 0x49, - 0x4E, - 0x47, - 0x20, - 0x45, - 0x58, - 0x49, - 0x32, - 0x5F, - 0x49, - 0x6E, - 0x69, - 0x74, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_348[] = "CALLING EXI2_Init\n"; COMPILER_STRIP_GATE(0x803A2EA4, &lit_348); /* 803A2EB8-803A2ED0 02F518 0018+00 1/1 0/0 0/0 .rodata @349 */ -SECTION_RODATA static u8 const lit_349[24] = { - 0x44, 0x4F, 0x4E, 0x45, 0x20, 0x43, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x47, - 0x20, 0x45, 0x58, 0x49, 0x32, 0x5F, 0x49, 0x6E, 0x69, 0x74, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_349[] = "DONE CALLING EXI2_Init\n"; COMPILER_STRIP_GATE(0x803A2EB8, &lit_349); /* 80372BCC-80372C54 36D50C 0088+00 0/0 1/1 0/0 .text gdev_cc_initialize */ diff --git a/libs/TRK_MINNOW_DOLPHIN/Makefile b/libs/TRK_MINNOW_DOLPHIN/Makefile index 525f37c7ed..a53fe1194e 100644 --- a/libs/TRK_MINNOW_DOLPHIN/Makefile +++ b/libs/TRK_MINNOW_DOLPHIN/Makefile @@ -3,35 +3,35 @@ # LIBTRK_MINNOW_DOLPHIN_A_CPP_FILES := \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.cpp \ - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.cpp \ - libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.cpp \ - libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.cpp \ - libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.cpp \ - libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.cpp \ - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.cpp \ - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.cpp \ - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.cpp \ - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.cpp \ - libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.cpp \ - libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.cpp \ - libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.cpp \ - libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.cpp \ - libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.cpp \ - libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.cpp \ - libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.cpp \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c \ + libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c \ + libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.c \ + libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c \ + libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.c \ + libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c \ + libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c \ + libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c \ + libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c \ + libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c \ + libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c \ + libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.c \ + libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_DDH_GCN/main.c \ + libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c \ + libs/TRK_MINNOW_DOLPHIN/GCN/EXI2_GDEV_GCN/main.c \ + libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.c \ + libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c \ LIBTRK_MINNOW_DOLPHIN_A_O_FILES := \ $(BUILD_DIR)/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.o \ @@ -65,6 +65,9 @@ LIBTRK_MINNOW_DOLPHIN_A_O_FILES := \ $(BUILD_DIR)/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.o \ LIBTRK_MINNOW_DOLPHIN_A_CFLAGS := \ + -O4,p \ + -lang=c \ + -rostr LIBTRK_MINNOW_DOLPHIN_A_LDFLAGS := \ -nodefaults \ @@ -72,14 +75,15 @@ LIBTRK_MINNOW_DOLPHIN_A_LDFLAGS := \ -proc gekko \ -linkmode moreram \ +$(BUILD_DIR)/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.o: CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES) -lang=c + $(BUILD_DIR)/libTRK_MINNOW_DOLPHIN.a: $(LIBTRK_MINNOW_DOLPHIN_A_O_FILES) @echo linking... $(BUILD_DIR)/libTRK_MINNOW_DOLPHIN.a @echo $(LIBTRK_MINNOW_DOLPHIN_A_O_FILES) > build/LIBTRK_MINNOW_DOLPHIN_A_ofiles @$(LD) -xm l $(LIBTRK_MINNOW_DOLPHIN_A_LDFLAGS) -o $(BUILD_DIR)/libTRK_MINNOW_DOLPHIN.a @build/LIBTRK_MINNOW_DOLPHIN_A_ofiles -$(BUILD_DIR)/libs/TRK_MINNOW_DOLPHIN/%.o: libs/TRK_MINNOW_DOLPHIN/%.cpp +$(BUILD_DIR)/libs/TRK_MINNOW_DOLPHIN/%.o: libs/TRK_MINNOW_DOLPHIN/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBTRK_MINNOW_DOLPHIN_A_CFLAGS) -c -o $@ $(basename $@).cpp - + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(CC) $(CFLAGS) $(LIBTRK_MINNOW_DOLPHIN_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c similarity index 82% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c index 03aa9b01c8..52b5cc51c5 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c @@ -11,16 +11,16 @@ // Forward References: // -extern "C" void __TRK_write_console(); -extern "C" void __read_console(); +void __TRK_write_console(); +void __read_console(); // // External References: // -extern "C" void GetTRKConnected(); -extern "C" void TRKAccessFile(); -extern "C" void GetUseSerialIO(); +void GetTRKConnected(); +void TRKAccessFile(); +void GetUseSerialIO(); // // Declarations: diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c new file mode 100644 index 0000000000..93a881c070 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c @@ -0,0 +1,70 @@ +/** + * dispatch.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" +#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" + +/* 8036DB9C-8036DD0C 3684DC 0170+00 1/0 1/1 0/0 .text TRKDispatchMessage */ +s32 TRKDispatchMessage(TRKBuffer* buffer) { + u32 ret; + + ret = 0x500; + TRKSetBufferPosition(buffer, 0); + MWTRACE(1, "Dispatch command 0x%08x\n", buffer->m_buffer[0]); + + switch (buffer->m_buffer[0]) { + case TRK_DISPATCH_CMD_CONNECT: + ret = TRKDoConnect(buffer); + break; + case TRK_DISPATCH_CMD_DISCONNECT: + ret = TRKDoDisconnect(buffer); + break; + case TRK_DISPATCH_CMD_RESET: + ret = TRKDoReset(buffer); + break; + case TRK_DISPATCH_CMD_OVERRIDE: + ret = TRKDoOverride(buffer); + break; + case TRK_DISPATCH_CMD_GETVERSION: + ret = TRKDoVersions(buffer); + break; + case TRK_DISPATCH_CMD_GETSUPPORTMASK: + ret = TRKDoSupportMask(buffer); + break; + case TRK_DISPATCH_CMD_READMEM: + ret = TRKDoReadMemory(buffer); + break; + case TRK_DISPATCH_CMD_WRITEMEM: + ret = TRKDoWriteMemory(buffer); + break; + case TRK_DISPATCH_CMD_READREGS: + ret = TRKDoReadRegisters(buffer); + break; + case TRK_DISPATCH_CMD_WRITEREGS: + ret = TRKDoWriteRegisters(buffer); + break; + case TRK_DISPATCH_CMD_CONTINUE: + ret = TRKDoContinue(buffer); + break; + case TRK_DISPATCH_CMD_STEP: + ret = TRKDoStep(buffer); + break; + case TRK_DISPATCH_CMD_STOP: + ret = TRKDoStop(buffer); + break; + case TRK_DISPATCH_CMD_SETOPTION: + ret = TRKDoSetOption(buffer); + break; + } + + MWTRACE(1, "Dispatch complete err = %ld\n", ret); + return ret; +} + +/* 8036DD0C-8036DD14 36864C 0008+00 0/0 1/1 0/0 .text TRKInitializeDispatcher */ +u8 TRKInitializeDispatcher() { + return 0; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.cpp deleted file mode 100644 index e5408392f7..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.cpp +++ /dev/null @@ -1,165 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: MetroTRK/Portable/dispatch -// - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRKDispatchMessage(); -extern "C" bool TRKInitializeDispatcher(); - -// -// External References: -// - -extern "C" void TRKSetBufferPosition(); -extern "C" void TRKDoSetOption(); -extern "C" void TRKDoStop(); -extern "C" void TRKDoStep(); -extern "C" void TRKDoContinue(); -extern "C" void TRKDoWriteRegisters(); -extern "C" void TRKDoReadRegisters(); -extern "C" void TRKDoWriteMemory(); -extern "C" void TRKDoReadMemory(); -extern "C" bool TRKDoSupportMask(); -extern "C" bool TRKDoVersions(); -extern "C" void TRKDoOverride(); -extern "C" void TRKDoReset(); -extern "C" void TRKDoDisconnect(); -extern "C" void TRKDoConnect(); -extern "C" void MWTRACE(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A2890-803A28AC 02EEF0 0019+03 1/1 0/0 0/0 .rodata @126 */ -SECTION_RODATA static u8 const lit_126[25 + 3 /* padding */] = { - 0x44, - 0x69, - 0x73, - 0x70, - 0x61, - 0x74, - 0x63, - 0x68, - 0x20, - 0x63, - 0x6F, - 0x6D, - 0x6D, - 0x61, - 0x6E, - 0x64, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2890, &lit_126); - -/* 803A28AC-803A28D0 02EF0C 001D+07 1/1 0/0 0/0 .rodata @127 */ -SECTION_RODATA static u8 const lit_127[29 + 7 /* padding */] = { - 0x44, - 0x69, - 0x73, - 0x70, - 0x61, - 0x74, - 0x63, - 0x68, - 0x20, - 0x63, - 0x6F, - 0x6D, - 0x70, - 0x6C, - 0x65, - 0x74, - 0x65, - 0x20, - 0x65, - 0x72, - 0x72, - 0x20, - 0x3D, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A28AC, &lit_127); - -/* 803D3190-803D3200 -00001 006C+04 1/1 0/0 0/0 .data @128 */ -SECTION_DATA static void* lit_128[27 + 1 /* padding */] = { - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x60), - (void*)(((char*)TRKDispatchMessage) + 0x70), - (void*)(((char*)TRKDispatchMessage) + 0x80), - (void*)(((char*)TRKDispatchMessage) + 0xA0), - (void*)(((char*)TRKDispatchMessage) + 0xB0), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x90), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0xC0), - (void*)(((char*)TRKDispatchMessage) + 0xD0), - (void*)(((char*)TRKDispatchMessage) + 0xE0), - (void*)(((char*)TRKDispatchMessage) + 0xF0), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x13C), - (void*)(((char*)TRKDispatchMessage) + 0x130), - (void*)(((char*)TRKDispatchMessage) + 0x100), - (void*)(((char*)TRKDispatchMessage) + 0x110), - (void*)(((char*)TRKDispatchMessage) + 0x120), - /* padding */ - NULL, -}; - -/* 8036DB9C-8036DD0C 3684DC 0170+00 1/0 1/1 0/0 .text TRKDispatchMessage */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKDispatchMessage() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch/TRKDispatchMessage.s" -} -#pragma pop - -/* 8036DD0C-8036DD14 36864C 0008+00 0/0 1/1 0/0 .text TRKInitializeDispatcher */ -bool TRKInitializeDispatcher() { - return false; -} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c new file mode 100644 index 0000000000..3ad956fbd0 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c @@ -0,0 +1,27 @@ +/** + * main_TRK.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h" +#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" +#include "dol2asm.h" + +/* 8044F818-8044F820 07C538 0004+04 1/1 0/0 0/0 .bss TRK_mainError */ +SECTION_BSS static s32 TRK_mainError; + +/* 80371B9C-80371BF4 36C4DC 0058+00 0/0 2/2 0/0 .text TRK_main */ +s32 TRK_main(void) { + MWTRACE(1, "TRK_Main \n"); + TRK_mainError = TRKInitializeNub(); + + if (!TRK_mainError) { + TRKNubWelcome(); + TRKNubMainLoop(); + } + + TRK_mainError = TRKTerminateNub(); + return TRK_mainError; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.cpp deleted file mode 100644 index a0ef2082ab..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: MetroTRK/Portable/main_TRK -// - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRK_main(); - -// -// External References: -// - -extern "C" void TRKNubMainLoop(); -extern "C" void TRKNubWelcome(); -extern "C" void TRKTerminateNub(); -extern "C" void TRKInitializeNub(); -extern "C" void MWTRACE(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A2BF8-803A2C08 02F258 000B+05 1/1 0/0 0/0 .rodata @80 */ -SECTION_RODATA static u8 const lit_80[11 + 5 /* padding */] = { - 0x54, - 0x52, - 0x4B, - 0x5F, - 0x4D, - 0x61, - 0x69, - 0x6E, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2BF8, &lit_80); - -/* 8044F818-8044F820 07C538 0004+04 1/1 0/0 0/0 .bss TRK_mainError */ -SECTION_BSS static u8 TRK_mainError[4 + 4 /* padding */]; - -/* 80371B9C-80371BF4 36C4DC 0058+00 0/0 2/2 0/0 .text TRK_main */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRK_main() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK/TRK_main.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c similarity index 51% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c index a1259e658b..a136e2c212 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c @@ -7,26 +7,20 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void TRKNubMainLoop(); - // // External References: // -extern "C" void TRKDestructEvent(); -extern "C" void TRKGetNextEvent(); -extern "C" void TRKGetBuffer(); -extern "C" void TRKGetInput(); -extern "C" void TRKDispatchMessage(); -extern "C" void TRKTargetStopped(); -extern "C" void TRKTargetSupportRequest(); -extern "C" void TRKTargetInterrupt(); -extern "C" void TRKTargetContinue(); -extern "C" extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; +void TRKDestructEvent(); +void TRKGetNextEvent(); +void TRKGetBuffer(); +void TRKGetInput(); +void TRKDispatchMessage(); +void TRKTargetStopped(); +void TRKTargetSupportRequest(); +void TRKTargetInterrupt(); +void TRKTargetContinue(); +extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; // // Declarations: @@ -36,7 +30,7 @@ extern "C" extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKNubMainLoop() { +asm void TRKNubMainLoop(void) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop/TRKNubMainLoop.s" } diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.c new file mode 100644 index 0000000000..22bf22e511 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.c @@ -0,0 +1,58 @@ +/** + * mem_TRK.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h" + +/* 8036F580-8036F638 369EC0 00B8+00 0/0 1/1 0/0 .text TRK_fill_mem */ +void TRK_fill_mem(void* dst, int val, u32 n) { + u32 v, i, j; + v = (u8)val; + + ((u8*)dst) = ((u8*)dst) - 1; + + if (n >= 32) { + i = (~(u32)dst) & 3; + + if (i) { + n -= i; + + do { + *++(((u8*)dst)) = v; + } while (--i); + } + + if (v) + v |= v << 24 | v << 16 | v << 8; + + ((u32*)dst) = ((u32*)(((u8*)dst) + 4)) - 1; + ((u32*)dst) = ((u32*)(((u8*)dst) + 1)) - 1; + + i = n / 32; + + if (i) { + do { + for (j = 0; j < 8; j++) + *++((u32*)dst) = v; + } while (--i); + } + + i = (n / 4) % 8; + + if (i) { + do { + *++((u32*)dst) = v; + } while (--i); + } + + ((u8*)dst) = ((u8*)(((u32*)dst) + 1)) - 1; + + n %= 4; + } + + if (n) + do { + *++((u8*)dst) = v; + } while (--n); +} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.cpp deleted file mode 100644 index ad6d5cecdc..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: MetroTRK/Portable/mem_TRK -// - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRK_fill_mem(); - -// -// External References: -// - -// -// Declarations: -// - -/* 8036F580-8036F638 369EC0 00B8+00 0/0 1/1 0/0 .text TRK_fill_mem */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRK_fill_mem() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mem_TRK/TRK_fill_mem.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.c new file mode 100644 index 0000000000..590c7e1f14 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.c @@ -0,0 +1,15 @@ +/** + * msg.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h" +#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" +#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" + +/* 8036CFD8-8036D01C 367918 0044+00 0/0 6/6 0/0 .text TRKMessageSend */ +s32 TRKMessageSend(TRK_Msg* msg) { + u32 write_val = TRKWriteUARTN(&msg->m_msg, msg->m_msgLength); + MWTRACE(1, "MessageSend : cc_write returned %ld\n", write_val); + return 0; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.cpp deleted file mode 100644 index c9f077189a..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: MetroTRK/Portable/msg -// - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRKMessageSend(); - -// -// External References: -// - -extern "C" void TRKWriteUARTN(); -extern "C" void MWTRACE(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803A26B8-803A26E0 02ED18 0025+03 1/1 0/0 0/0 .rodata @98 */ -SECTION_RODATA static u8 const lit_98[37 + 3 /* padding */] = { - 0x4D, - 0x65, - 0x73, - 0x73, - 0x61, - 0x67, - 0x65, - 0x53, - 0x65, - 0x6E, - 0x64, - 0x20, - 0x3A, - 0x20, - 0x63, - 0x63, - 0x5F, - 0x77, - 0x72, - 0x69, - 0x74, - 0x65, - 0x20, - 0x72, - 0x65, - 0x74, - 0x75, - 0x72, - 0x6E, - 0x65, - 0x64, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A26B8, &lit_98); - -/* 8036CFD8-8036D01C 367918 0044+00 0/0 6/6 0/0 .text TRKMessageSend */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKMessageSend() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msg/TRKMessageSend.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c similarity index 81% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c index ec176bd4bf..c42ce909d5 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c @@ -11,20 +11,19 @@ // Forward References: // -extern "C" void TRKReadBuffer_ui32(); -extern "C" void TRKReadBuffer_ui8(); -extern "C" void TRKReadBuffer1_ui64(); -extern "C" void TRKAppendBuffer_ui32(); -extern "C" void TRKAppendBuffer_ui8(); -extern "C" void TRKAppendBuffer1_ui64(); -extern "C" void TRKReadBuffer(); -extern "C" void TRKAppendBuffer(); -extern "C" void TRKSetBufferPosition(); -extern "C" void TRKResetBuffer(); -extern "C" void TRKReleaseBuffer(); -extern "C" void TRKGetBuffer(); -extern "C" void TRKGetFreeBuffer(); -extern "C" void TRKInitializeMessageBuffers(); +void TRKReadBuffer_ui32(); +void TRKReadBuffer_ui8(); +void TRKReadBuffer1_ui64(); +void TRKAppendBuffer_ui32(); +void TRKAppendBuffer_ui8(); +void TRKAppendBuffer1_ui64(); +void TRKReadBuffer(); +void TRKAppendBuffer(); +void TRKResetBuffer(); +void TRKReleaseBuffer(); +void TRKGetBuffer(); +void TRKGetFreeBuffer(); +void TRKInitializeMessageBuffers(); // // External References: @@ -32,10 +31,10 @@ extern "C" void TRKInitializeMessageBuffers(); SECTION_INIT void TRK_memset(); SECTION_INIT void TRK_memcpy(); -extern "C" void usr_puts_serial(); -extern "C" bool TRKReleaseMutex(); -extern "C" bool TRKAcquireMutex(); -extern "C" bool TRKInitializeMutex(); +void usr_puts_serial(); +u8 TRKReleaseMutex(); +u8 TRKAcquireMutex(); +u8 TRKInitializeMutex(); SECTION_BSS extern u8 gTRKBigEndian[4 + 4 /* padding */]; // @@ -126,7 +125,7 @@ asm void TRKAppendBuffer() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKSetBufferPosition() { +asm s32 TRKSetBufferPosition(TRKBuffer*, u32) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf/TRKSetBufferPosition.s" } @@ -168,41 +167,7 @@ asm void TRKGetBuffer() { /* ############################################################################################## */ /* 803A26E0-803A2700 02ED40 001D+03 1/1 0/0 0/0 .rodata @618 */ -SECTION_RODATA static u8 const lit_618[29 + 3 /* padding */] = { - 0x45, - 0x52, - 0x52, - 0x4F, - 0x52, - 0x20, - 0x3A, - 0x20, - 0x4E, - 0x6F, - 0x20, - 0x62, - 0x75, - 0x66, - 0x66, - 0x65, - 0x72, - 0x20, - 0x61, - 0x76, - 0x61, - 0x69, - 0x6C, - 0x61, - 0x62, - 0x6C, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_618[] = "ERROR : No buffer available\n"; COMPILER_STRIP_GATE(0x803A26E0, &lit_618); /* 8036D71C-8036D7E4 36805C 00C8+00 0/0 6/6 0/0 .text TRKGetFreeBuffer */ diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c similarity index 53% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c index f0b55bf1fe..0dc5b184d1 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c @@ -11,23 +11,7 @@ // Forward References: // -extern "C" void TRKDoSetOption(); -extern "C" void TRKDoStop(); -extern "C" void TRKDoStep(); -extern "C" void TRKDoContinue(); -extern "C" void TRKDoWriteRegisters(); -extern "C" void TRKDoReadRegisters(); -extern "C" void TRKDoWriteMemory(); -extern "C" void TRKDoReadMemory(); -extern "C" bool TRKDoSupportMask(); -extern "C" bool TRKDoVersions(); -extern "C" void TRKDoOverride(); -extern "C" void TRKDoReset(); -extern "C" void TRKDoDisconnect(); -extern "C" void TRKDoConnect(); -extern "C" void SetTRKConnected(); -extern "C" void GetTRKConnected(); -extern "C" void OutputData(); +void OutputData(); // // External References: @@ -35,31 +19,30 @@ extern "C" void OutputData(); SECTION_INIT void memset(); SECTION_INIT void __TRK_reset(); -extern "C" void TRKConstructEvent(); -extern "C" void TRKPostEvent(); -extern "C" void TRKMessageSend(); -extern "C" void TRKAppendBuffer_ui8(); -extern "C" void TRKReadBuffer(); -extern "C" void TRKAppendBuffer(); -extern "C" void TRKSetBufferPosition(); -extern "C" void TRKResetBuffer(); -extern "C" void usr_puts_serial(); -extern "C" void TRKTargetAccessARAM(); -extern "C" void TRKTargetStop(); -extern "C" void TRKTargetStopped(); -extern "C" void TRKTargetGetPC(); -extern "C" void TRKTargetStepOutOfRange(); -extern "C" void TRKTargetSingleStep(); -extern "C" void TRKTargetAccessExtended2(); -extern "C" void TRKTargetAccessExtended1(); -extern "C" void TRKTargetAccessFP(); -extern "C" void TRKTargetAccessDefault(); -extern "C" void TRKTargetAccessMemory(); -extern "C" void __TRK_copy_vectors(); -extern "C" void TRKWriteUARTN(); -extern "C" void TRKTargetContinue(); -extern "C" void SetUseSerialIO(); -extern "C" void MWTRACE(); +void TRKConstructEvent(); +void TRKPostEvent(); +void TRKMessageSend(); +void TRKAppendBuffer_ui8(); +void TRKReadBuffer(); +void TRKAppendBuffer(); +void TRKResetBuffer(); +void usr_puts_serial(); +void TRKTargetAccessARAM(); +void TRKTargetStop(); +void TRKTargetStopped(); +void TRKTargetGetPC(); +void TRKTargetStepOutOfRange(); +void TRKTargetSingleStep(); +void TRKTargetAccessExtended2(); +void TRKTargetAccessExtended1(); +void TRKTargetAccessFP(); +void TRKTargetAccessDefault(); +void TRKTargetAccessMemory(); +void __TRK_copy_vectors(); +void TRKWriteUARTN(); +void TRKTargetContinue(); +void SetUseSerialIO(); +void MWTRACE(); // // Declarations: @@ -67,70 +50,20 @@ extern "C" void MWTRACE(); /* ############################################################################################## */ /* 803A28D0-803A28F0 02EF30 001F+01 4/4 0/0 0/0 .rodata @321 */ -SECTION_RODATA static u8 const lit_321[31 + 1 /* padding */] = { - 0x0A, - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x4F, - 0x70, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x3A, - 0x20, - 0x53, - 0x65, - 0x72, - 0x69, - 0x61, - 0x6C, - 0x49, - 0x4F, - 0x20, - 0x2D, - 0x20, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_321[] = "\nMetroTRK Option : SerialIO - "; COMPILER_STRIP_GATE(0x803A28D0, &lit_321); /* 803A28F0-803A28F8 02EF50 0008+00 0/1 0/0 0/0 .rodata @322 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_322[8] = { - 0x45, 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_322[] = "Enable\n"; COMPILER_STRIP_GATE(0x803A28F0, &lit_322); #pragma pop /* 803A28F8-803A2904 02EF58 0009+03 0/1 0/0 0/0 .rodata @323 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_323[9 + 3 /* padding */] = { - 0x44, - 0x69, - 0x73, - 0x61, - 0x62, - 0x6C, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_323[] = "Disable\n"; COMPILER_STRIP_GATE(0x803A28F8, &lit_323); #pragma pop @@ -138,7 +71,7 @@ COMPILER_STRIP_GATE(0x803A28F8, &lit_323); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoSetOption() { +asm s32 TRKDoSetOption(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoSetOption.s" } @@ -148,7 +81,7 @@ asm void TRKDoSetOption() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoStop() { +asm s32 TRKDoStop(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoStop.s" } @@ -158,7 +91,7 @@ asm void TRKDoStop() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoStep() { +asm s32 TRKDoStep(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoStep.s" } @@ -166,16 +99,14 @@ asm void TRKDoStep() { /* ############################################################################################## */ /* 803A2904-803A2910 02EF64 000C+00 1/1 0/0 0/0 .rodata @370 */ -SECTION_RODATA static u8 const lit_370[12] = { - 0x44, 0x6F, 0x43, 0x6F, 0x6E, 0x74, 0x69, 0x6E, 0x75, 0x65, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_370[] = "DoContinue\n"; COMPILER_STRIP_GATE(0x803A2904, &lit_370); /* 8036E084-8036E134 3689C4 00B0+00 0/0 1/1 0/0 .text TRKDoContinue */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoContinue() { +asm s32 TRKDoContinue(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoContinue.s" } @@ -185,117 +116,23 @@ asm void TRKDoContinue() { /* 803A2910-803A2930 02EF70 001F+01 0/0 0/0 0/0 .rodata @402 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_402[31 + 1 /* padding */] = { - 0x44, - 0x6F, - 0x46, - 0x6C, - 0x75, - 0x73, - 0x68, - 0x43, - 0x61, - 0x63, - 0x68, - 0x65, - 0x20, - 0x75, - 0x6E, - 0x69, - 0x6D, - 0x70, - 0x6C, - 0x65, - 0x6D, - 0x65, - 0x6E, - 0x74, - 0x65, - 0x64, - 0x21, - 0x21, - 0x21, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_402[] = "DoFlushCache unimplemented!!!\n"; COMPILER_STRIP_GATE(0x803A2910, &lit_402); #pragma pop /* 803A2930-803A2950 02EF90 001F+01 1/4 0/0 0/0 .rodata @403 */ -SECTION_RODATA static u8 const lit_403[31 + 1 /* padding */] = { - 0x53, - 0x65, - 0x6E, - 0x64, - 0x41, - 0x43, - 0x4B, - 0x20, - 0x3A, - 0x20, - 0x43, - 0x61, - 0x6C, - 0x6C, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x4D, - 0x65, - 0x73, - 0x73, - 0x61, - 0x67, - 0x65, - 0x53, - 0x65, - 0x6E, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_403[] = "SendACK : Calling MessageSend\n"; COMPILER_STRIP_GATE(0x803A2930, &lit_403); /* 803A2950-803A2968 02EFB0 0017+01 1/4 0/0 0/0 .rodata @404 */ -SECTION_RODATA static u8 const lit_404[23 + 1 /* padding */] = { - 0x4D, - 0x65, - 0x73, - 0x73, - 0x61, - 0x67, - 0x65, - 0x53, - 0x65, - 0x6E, - 0x64, - 0x20, - 0x65, - 0x72, - 0x72, - 0x20, - 0x3A, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_404[] = "MessageSend err : %ld\n"; COMPILER_STRIP_GATE(0x803A2950, &lit_404); /* 8036E134-8036E3C4 368A74 0290+00 0/0 1/1 0/0 .text TRKDoWriteRegisters */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoWriteRegisters() { +asm s32 TRKDoWriteRegisters(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoWriteRegisters.s" } @@ -305,201 +142,35 @@ asm void TRKDoWriteRegisters() { /* 803A2968-803A2990 02EFC8 0028+00 0/1 0/0 0/0 .rodata @462 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_462[40] = { - 0x44, 0x6F, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x20, 0x3A, 0x20, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x6C, 0x65, 0x6E, - 0x67, 0x74, 0x68, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_462[] = "DoReadRegisters : Buffer length 0x%08x\n"; COMPILER_STRIP_GATE(0x803A2968, &lit_462); #pragma pop /* 803A2990-803A29C8 02EFF0 0036+02 0/1 0/0 0/0 .rodata @463 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_463[54 + 2 /* padding */] = { - 0x44, - 0x6F, - 0x52, - 0x65, - 0x61, - 0x64, - 0x52, - 0x65, - 0x67, - 0x69, - 0x73, - 0x74, - 0x65, - 0x72, - 0x73, - 0x20, - 0x3A, - 0x20, - 0x45, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x20, - 0x72, - 0x65, - 0x61, - 0x64, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x20, - 0x64, - 0x65, - 0x66, - 0x61, - 0x75, - 0x6C, - 0x74, - 0x20, - 0x72, - 0x65, - 0x67, - 0x73, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_463[] = "DoReadRegisters : Error reading default regs 0x%08x\n"; COMPILER_STRIP_GATE(0x803A2990, &lit_463); #pragma pop /* 803A29C8-803A29F0 02F028 0028+00 0/1 0/0 0/0 .rodata @464 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_464[40] = { - 0x44, 0x6F, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x20, 0x3A, 0x20, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x46, 0x50, 0x20, 0x72, - 0x65, 0x67, 0x73, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_464[] = "DoReadRegisters : Error FP regs 0x%08x\n"; COMPILER_STRIP_GATE(0x803A29C8, &lit_464); #pragma pop /* 803A29F0-803A2A20 02F050 002F+01 0/1 0/0 0/0 .rodata @465 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_465[47 + 1 /* padding */] = { - 0x44, - 0x6F, - 0x52, - 0x65, - 0x61, - 0x64, - 0x52, - 0x65, - 0x67, - 0x69, - 0x73, - 0x74, - 0x65, - 0x72, - 0x73, - 0x20, - 0x3A, - 0x20, - 0x45, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x20, - 0x65, - 0x78, - 0x74, - 0x65, - 0x6E, - 0x64, - 0x65, - 0x64, - 0x31, - 0x20, - 0x72, - 0x65, - 0x67, - 0x73, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_465[] = "DoReadRegisters : Error extended1 regs 0x%08x\n"; COMPILER_STRIP_GATE(0x803A29F0, &lit_465); #pragma pop /* 803A2A20-803A2A50 02F080 002F+01 0/1 0/0 0/0 .rodata @466 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_466[47 + 1 /* padding */] = { - 0x44, - 0x6F, - 0x52, - 0x65, - 0x61, - 0x64, - 0x52, - 0x65, - 0x67, - 0x69, - 0x73, - 0x74, - 0x65, - 0x72, - 0x73, - 0x20, - 0x3A, - 0x20, - 0x45, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x20, - 0x65, - 0x78, - 0x74, - 0x65, - 0x6E, - 0x64, - 0x65, - 0x64, - 0x32, - 0x20, - 0x72, - 0x65, - 0x67, - 0x73, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_466[] = "DoReadRegisters : Error extended2 regs 0x%08x\n"; COMPILER_STRIP_GATE(0x803A2A20, &lit_466); #pragma pop @@ -507,7 +178,7 @@ COMPILER_STRIP_GATE(0x803A2A20, &lit_466); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoReadRegisters() { +asm s32 TRKDoReadRegisters(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoReadRegisters.s" } @@ -517,57 +188,7 @@ asm void TRKDoReadRegisters() { /* 803A2A50-803A2A80 02F0B0 002D+03 0/1 0/0 0/0 .rodata @498 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_498[45 + 3 /* padding */] = { - 0x57, - 0x72, - 0x69, - 0x74, - 0x65, - 0x4D, - 0x65, - 0x6D, - 0x6F, - 0x72, - 0x79, - 0x20, - 0x28, - 0x30, - 0x78, - 0x25, - 0x30, - 0x32, - 0x78, - 0x29, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_498[] = "WriteMemory (0x%02x) : 0x%08x 0x%08x 0x%08x\n"; COMPILER_STRIP_GATE(0x803A2A50, &lit_498); #pragma pop @@ -583,7 +204,7 @@ SECTION_DATA static void* lit_499[7] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoWriteMemory() { +asm s32 TRKDoWriteMemory(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoWriteMemory.s" } @@ -593,11 +214,7 @@ asm void TRKDoWriteMemory() { /* 803A2A80-803A2AAC 02F0E0 002C+00 0/1 0/0 0/0 .rodata @535 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_535[44] = { - 0x52, 0x65, 0x61, 0x64, 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x28, 0x30, 0x78, 0x25, - 0x30, 0x32, 0x78, 0x29, 0x20, 0x3A, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x30, - 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_535[] = "ReadMemory (0x%02x) : 0x%08x 0x%08x 0x%08x\n"; COMPILER_STRIP_GATE(0x803A2A80, &lit_535); #pragma pop @@ -613,27 +230,27 @@ SECTION_DATA static void* lit_536[7] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoReadMemory() { +asm s32 TRKDoReadMemory(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoReadMemory.s" } #pragma pop /* 8036EB24-8036EB2C 369464 0008+00 0/0 1/1 0/0 .text TRKDoSupportMask */ -bool TRKDoSupportMask() { - return false; +s32 TRKDoSupportMask(TRKBuffer*) { + return 0; } /* 8036EB2C-8036EB34 36946C 0008+00 0/0 1/1 0/0 .text TRKDoVersions */ -bool TRKDoVersions() { - return false; +s32 TRKDoVersions(TRKBuffer*) { + return 0; } /* 8036EB34-8036EB8C 369474 0058+00 0/0 1/1 0/0 .text TRKDoOverride */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoOverride() { +asm s32 TRKDoOverride(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoOverride.s" } @@ -643,7 +260,7 @@ asm void TRKDoOverride() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoReset() { +asm s32 TRKDoReset(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoReset.s" } @@ -657,7 +274,7 @@ SECTION_BSS static u8 IsTRKConnected[4 + 4 /* padding */]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoDisconnect() { +asm s32 TRKDoDisconnect(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoDisconnect.s" } @@ -667,7 +284,7 @@ asm void TRKDoDisconnect() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKDoConnect() { +asm s32 TRKDoConnect(TRKBuffer*) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/TRKDoConnect.s" } @@ -677,7 +294,7 @@ asm void TRKDoConnect() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void SetTRKConnected() { +asm void SetTRKConnected(BOOL) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/SetTRKConnected.s" } @@ -687,7 +304,7 @@ asm void SetTRKConnected() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GetTRKConnected() { +asm BOOL GetTRKConnected(void) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr/GetTRKConnected.s" } @@ -695,25 +312,11 @@ asm void GetTRKConnected() { /* ############################################################################################## */ /* 803A2AAC-803A2AB4 02F10C 0006+02 1/1 0/0 0/0 .rodata @573 */ -SECTION_RODATA static u8 const lit_573[6 + 2 /* padding */] = { - 0x25, - 0x30, - 0x32, - 0x78, - 0x20, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_573[] = "%02x "; COMPILER_STRIP_GATE(0x803A2AAC, &lit_573); /* 803A2AB4-803A2AB8 02F114 0002+02 1/1 0/0 0/0 .rodata @574 */ -SECTION_RODATA static u16 const lit_574[1 + 1 /* padding */] = { - 0x0A00, - /* padding */ - 0x0000, -}; +SECTION_RODATA static char const lit_574[] = "\n"; COMPILER_STRIP_GATE(0x803A2AB4, &lit_574); /* 8036ECDC-8036ED84 36961C 00A8+00 0/0 1/1 0/0 .text OutputData */ diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.c new file mode 100644 index 0000000000..dc8dc05bb6 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.c @@ -0,0 +1,21 @@ +/** + * mutex_TRK.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h" + +/* 8036F498-8036F4A0 369DD8 0008+00 0/0 6/6 0/0 .text TRKReleaseMutex */ +u8 TRKReleaseMutex() { + return 0; +} + +/* 8036F4A0-8036F4A8 369DE0 0008+00 0/0 6/6 0/0 .text TRKAcquireMutex */ +u8 TRKAcquireMutex() { + return 0; +} + +/* 8036F4A8-8036F4B0 369DE8 0008+00 0/0 2/2 0/0 .text TRKInitializeMutex */ +u8 TRKInitializeMutex() { + return 0; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.cpp deleted file mode 100644 index c68739b11f..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: MetroTRK/Portable/mutex_TRK -// - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" bool TRKReleaseMutex(); -extern "C" bool TRKAcquireMutex(); -extern "C" bool TRKInitializeMutex(); - -// -// External References: -// - -// -// Declarations: -// - -/* 8036F498-8036F4A0 369DD8 0008+00 0/0 6/6 0/0 .text TRKReleaseMutex */ -bool TRKReleaseMutex() { - return false; -} - -/* 8036F4A0-8036F4A8 369DE0 0008+00 0/0 6/6 0/0 .text TRKAcquireMutex */ -bool TRKAcquireMutex() { - return false; -} - -/* 8036F4A8-8036F4B0 369DE8 0008+00 0/0 2/2 0/0 .text TRKInitializeMutex */ -bool TRKInitializeMutex() { - return false; -} diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c similarity index 71% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c index 9470a2f196..c2c56c21df 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c @@ -11,17 +11,17 @@ // Forward References: // -extern "C" void TRKDoNotifyStopped(); +void TRKDoNotifyStopped(); // // External References: // -extern "C" void TRKReleaseBuffer(); -extern "C" void TRKGetFreeBuffer(); -extern "C" void TRKRequestSend(); -extern "C" void TRKTargetAddExceptionInfo(); -extern "C" void TRKTargetAddStopInfo(); +void TRKReleaseBuffer(); +void TRKGetFreeBuffer(); +void TRKRequestSend(); +void TRKTargetAddExceptionInfo(); +void TRKTargetAddStopInfo(); // // Declarations: diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c similarity index 85% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c index dbb5a4a88b..b812ae39b2 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c @@ -11,21 +11,21 @@ // Forward References: // -extern "C" void TRKDestructEvent(); -extern "C" void TRKConstructEvent(); -extern "C" void TRKPostEvent(); -extern "C" void TRKGetNextEvent(); -extern "C" void TRKInitializeEventQueue(); +void TRKDestructEvent(); +void TRKConstructEvent(); +void TRKPostEvent(); +void TRKGetNextEvent(); +void TRKInitializeEventQueue(); // // External References: // SECTION_INIT void TRK_memcpy(); -extern "C" void TRKReleaseBuffer(); -extern "C" bool TRKReleaseMutex(); -extern "C" bool TRKAcquireMutex(); -extern "C" bool TRKInitializeMutex(); +void TRKReleaseBuffer(); +u8 TRKReleaseMutex(); +u8 TRKAcquireMutex(); +u8 TRKInitializeMutex(); // // Declarations: diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c similarity index 53% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c index 14981865cb..5ccaf088b6 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c @@ -7,31 +7,23 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void TRKNubWelcome(); -extern "C" void TRKTerminateNub(); -extern "C" void TRKInitializeNub(); - // // External References: // -extern "C" void TRKInitializeEventQueue(); -extern "C" void TRKInitializeMessageBuffers(); -extern "C" bool TRKTerminateSerialHandler(); -extern "C" void TRKInitializeSerialHandler(); -extern "C" void usr_put_initialize(); -extern "C" bool TRKInitializeDispatcher(); -extern "C" void TRKTargetSetInputPendingPtr(); -extern "C" void TRKInitializeTarget(); -extern "C" void InitializeProgramEndTrap(); -extern "C" void TRK_board_display(); -extern "C" void TRKInitializeIntDrivenUART(); -extern "C" void MWTRACE(); -extern "C" extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; +void TRKInitializeEventQueue(); +void TRKInitializeMessageBuffers(); +u8 TRKTerminateSerialHandler(); +void TRKInitializeSerialHandler(); +void usr_put_initialize(); +u8 TRKInitializeDispatcher(); +void TRKTargetSetInputPendingPtr(); +void TRKInitializeTarget(); +void InitializeProgramEndTrap(); +void TRK_board_display(); +void TRKInitializeIntDrivenUART(); +void MWTRACE(); +extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; // // Declarations: @@ -39,44 +31,14 @@ extern "C" extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; /* ############################################################################################## */ /* 803A2688-803A26A4 02ECE8 001B+01 1/1 0/0 0/0 .rodata @133 */ -SECTION_RODATA static u8 const lit_133[27 + 1 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x66, - 0x6F, - 0x72, - 0x20, - 0x47, - 0x41, - 0x4D, - 0x45, - 0x43, - 0x55, - 0x42, - 0x45, - 0x20, - 0x76, - 0x32, - 0x2E, - 0x36, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_133[] = "MetroTRK for GAMECUBE v2.6"; COMPILER_STRIP_GATE(0x803A2688, &lit_133); /* 8036CE40-8036CE68 367780 0028+00 0/0 1/1 0/0 .text TRKNubWelcome */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKNubWelcome() { +asm void TRKNubWelcome(void) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKNubWelcome.s" } @@ -86,7 +48,7 @@ asm void TRKNubWelcome() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKTerminateNub() { +asm s32 TRKTerminateNub(void) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKTerminateNub.s" } @@ -94,29 +56,7 @@ asm void TRKTerminateNub() { /* ############################################################################################## */ /* 803A26A4-803A26B8 02ED04 0010+04 1/1 0/0 0/0 .rodata @154 */ -SECTION_RODATA static u8 const lit_154[16 + 4 /* padding */] = { - 0x49, - 0x6E, - 0x69, - 0x74, - 0x69, - 0x61, - 0x6C, - 0x69, - 0x7A, - 0x65, - 0x20, - 0x4E, - 0x55, - 0x42, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_154[] = "Initialize NUB\n"; COMPILER_STRIP_GATE(0x803A26A4, &lit_154); /* 8044D8B8-8044D8C0 07A5D8 0004+04 1/1 4/4 0/0 .bss gTRKBigEndian */ @@ -127,7 +67,7 @@ SECTION_BSS u8 gTRKBigEndian[4 + 4 /* padding */]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKInitializeNub() { +asm s32 TRKInitializeNub(void) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit/TRKInitializeNub.s" } diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c new file mode 100644 index 0000000000..ba0deef4de --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c @@ -0,0 +1,167 @@ +// +// Generated By: dol2asm +// Translation Unit: MetroTRK/Portable/serpoll +// + +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" +#include "dol2asm.h" +#include "dolphin/types.h" + +// +// Forward References: +// + +u8 TRKTerminateSerialHandler(); +void TRKInitializeSerialHandler(); +void TRKProcessInput(); +void TRKGetInput(); +void TRKTestForPacket(); +extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; + +// +// External References: +// + +void TRKConstructEvent(); +void TRKPostEvent(); +void TRKAppendBuffer_ui8(); +void TRKSetBufferPosition(); +void TRKReleaseBuffer(); +void TRKGetBuffer(); +void TRKGetFreeBuffer(); +void TRKReadUARTN(); +void TRKPollUART(); +void MWTRACE(); + +// +// Declarations: +// + +/* 8036D858-8036D860 368198 0008+00 0/0 1/1 0/0 .text TRKTerminateSerialHandler */ +u8 TRKTerminateSerialHandler() { + return 0; +} + +/* ############################################################################################## */ +/* 803A2700-803A2724 02ED60 0022+02 2/2 0/0 0/0 .rodata @121 */ +SECTION_RODATA static char const lit_121[] = "TRK_Packet_Header \t %ld bytes\n"; +COMPILER_STRIP_GATE(0x803A2700, &lit_121); + +/* 803A2724-803A2748 02ED84 0022+02 0/1 0/0 0/0 .rodata @122 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_122[] = "TRK_CMD_ReadMemory %ld bytes\n"; +COMPILER_STRIP_GATE(0x803A2724, &lit_122); +#pragma pop + +/* 803A2748-803A276C 02EDA8 0022+02 0/1 0/0 0/0 .rodata @123 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_123[] = "TRK_CMD_WriteMemory %ld bytes\n"; +COMPILER_STRIP_GATE(0x803A2748, &lit_123); +#pragma pop + +/* 803A276C-803A278C 02EDCC 0020+00 0/1 0/0 0/0 .rodata @124 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_124[] = "TRK_CMD_Connect \t %ld bytes\n"; +COMPILER_STRIP_GATE(0x803A276C, &lit_124); +#pragma pop + +/* 803A278C-803A27AC 02EDEC 0020+00 0/1 0/0 0/0 .rodata @125 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_125[] = "TRK_CMD_ReplyAck\t %ld bytes\n"; +COMPILER_STRIP_GATE(0x803A278C, &lit_125); +#pragma pop + +/* 803A27AC-803A27D0 02EE0C 0021+03 0/1 0/0 0/0 .rodata @126 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_126[] = "TRK_CMD_ReadRegisters\t%ld bytes\n"; +COMPILER_STRIP_GATE(0x803A27AC, &lit_126); +#pragma pop + +/* 8044F270-8044F288 07BF90 0014+04 3/3 0/0 0/0 .bss gTRKFramingState */ +static u8 gTRKFramingState[20 + 4 /* padding */]; + +/* 8036D860-8036D924 3681A0 00C4+00 0/0 1/1 0/0 .text TRKInitializeSerialHandler */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void TRKInitializeSerialHandler() { + nofralloc +#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKInitializeSerialHandler.s" +} +#pragma pop + +/* 8036D924-8036D974 368264 0050+00 0/0 1/1 0/0 .text TRKProcessInput */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void TRKProcessInput() { + nofralloc +#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKProcessInput.s" +} +#pragma pop + +/* 8036D974-8036D9D4 3682B4 0060+00 0/0 1/1 0/0 .text TRKGetInput */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void TRKGetInput() { + nofralloc +#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKGetInput.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803A27D0-803A27F4 02EE30 0024+00 0/1 0/0 0/0 .rodata @146 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_146[] = "TestForPacket : FreeBuffer is %ld\n"; +COMPILER_STRIP_GATE(0x803A27D0, &lit_146); +#pragma pop + +/* 803A27F4-803A2810 02EE54 001B+01 0/1 0/0 0/0 .rodata @147 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_147[] = "Reading payload %ld bytes\n"; +COMPILER_STRIP_GATE(0x803A27F4, &lit_147); +#pragma pop + +/* 803A2810-803A2844 02EE70 0031+03 0/1 0/0 0/0 .rodata @148 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_148[] = "TestForPacket : Invalid size of packet hdr.size\n"; +COMPILER_STRIP_GATE(0x803A2810, &lit_148); +#pragma pop + +/* 803A2844-803A286C 02EEA4 0028+00 0/1 0/0 0/0 .rodata @149 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_149[] = "TestForPacket : Invalid size of packet\n"; +COMPILER_STRIP_GATE(0x803A2844, &lit_149); +#pragma pop + +/* 803A286C-803A2890 02EECC 001D+07 0/1 0/0 0/0 .rodata @150 */ +#pragma push +#pragma force_active on +SECTION_RODATA static char const lit_150[] = "TestForPacket returning %ld\n"; +COMPILER_STRIP_GATE(0x803A286C, &lit_150); +#pragma pop + +/* 8036D9D4-8036DB10 368314 013C+00 1/1 1/1 0/0 .text TRKTestForPacket */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void TRKTestForPacket() { + nofralloc +#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKTestForPacket.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 804519B8-804519C0 000EB8 0004+04 0/0 2/2 0/0 .sbss gTRKInputPendingPtr */ +extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; +u8 gTRKInputPendingPtr[4 + 4 /* padding */]; diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.cpp deleted file mode 100644 index f661ad44ec..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.cpp +++ /dev/null @@ -1,455 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: MetroTRK/Portable/serpoll -// - -#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" bool TRKTerminateSerialHandler(); -extern "C" void TRKInitializeSerialHandler(); -extern "C" void TRKProcessInput(); -extern "C" void TRKGetInput(); -extern "C" void TRKTestForPacket(); -extern "C" extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void TRKConstructEvent(); -extern "C" void TRKPostEvent(); -extern "C" void TRKAppendBuffer_ui8(); -extern "C" void TRKSetBufferPosition(); -extern "C" void TRKReleaseBuffer(); -extern "C" void TRKGetBuffer(); -extern "C" void TRKGetFreeBuffer(); -extern "C" void TRKReadUARTN(); -extern "C" void TRKPollUART(); -extern "C" void MWTRACE(); - -// -// Declarations: -// - -/* 8036D858-8036D860 368198 0008+00 0/0 1/1 0/0 .text TRKTerminateSerialHandler */ -bool TRKTerminateSerialHandler() { - return false; -} - -/* ############################################################################################## */ -/* 803A2700-803A2724 02ED60 0022+02 2/2 0/0 0/0 .rodata @121 */ -SECTION_RODATA static u8 const lit_121[34 + 2 /* padding */] = { - 0x54, - 0x52, - 0x4B, - 0x5F, - 0x50, - 0x61, - 0x63, - 0x6B, - 0x65, - 0x74, - 0x5F, - 0x48, - 0x65, - 0x61, - 0x64, - 0x65, - 0x72, - 0x20, - 0x09, - 0x20, - 0x20, - 0x20, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2700, &lit_121); - -/* 803A2724-803A2748 02ED84 0022+02 0/1 0/0 0/0 .rodata @122 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_122[34 + 2 /* padding */] = { - 0x54, - 0x52, - 0x4B, - 0x5F, - 0x43, - 0x4D, - 0x44, - 0x5F, - 0x52, - 0x65, - 0x61, - 0x64, - 0x4D, - 0x65, - 0x6D, - 0x6F, - 0x72, - 0x79, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2724, &lit_122); -#pragma pop - -/* 803A2748-803A276C 02EDA8 0022+02 0/1 0/0 0/0 .rodata @123 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_123[34 + 2 /* padding */] = { - 0x54, - 0x52, - 0x4B, - 0x5F, - 0x43, - 0x4D, - 0x44, - 0x5F, - 0x57, - 0x72, - 0x69, - 0x74, - 0x65, - 0x4D, - 0x65, - 0x6D, - 0x6F, - 0x72, - 0x79, - 0x20, - 0x20, - 0x20, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2748, &lit_123); -#pragma pop - -/* 803A276C-803A278C 02EDCC 0020+00 0/1 0/0 0/0 .rodata @124 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_124[32] = { - 0x54, 0x52, 0x4B, 0x5F, 0x43, 0x4D, 0x44, 0x5F, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, - 0x09, 0x20, 0x20, 0x20, 0x20, 0x25, 0x6C, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0A, 0x00, -}; -COMPILER_STRIP_GATE(0x803A276C, &lit_124); -#pragma pop - -/* 803A278C-803A27AC 02EDEC 0020+00 0/1 0/0 0/0 .rodata @125 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_125[32] = { - 0x54, 0x52, 0x4B, 0x5F, 0x43, 0x4D, 0x44, 0x5F, 0x52, 0x65, 0x70, 0x6C, 0x79, 0x41, 0x63, 0x6B, - 0x09, 0x20, 0x20, 0x20, 0x20, 0x25, 0x6C, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0A, 0x00, -}; -COMPILER_STRIP_GATE(0x803A278C, &lit_125); -#pragma pop - -/* 803A27AC-803A27D0 02EE0C 0021+03 0/1 0/0 0/0 .rodata @126 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_126[33 + 3 /* padding */] = { - 0x54, - 0x52, - 0x4B, - 0x5F, - 0x43, - 0x4D, - 0x44, - 0x5F, - 0x52, - 0x65, - 0x61, - 0x64, - 0x52, - 0x65, - 0x67, - 0x69, - 0x73, - 0x74, - 0x65, - 0x72, - 0x73, - 0x09, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A27AC, &lit_126); -#pragma pop - -/* 8044F270-8044F288 07BF90 0014+04 3/3 0/0 0/0 .bss gTRKFramingState */ -static u8 gTRKFramingState[20 + 4 /* padding */]; - -/* 8036D860-8036D924 3681A0 00C4+00 0/0 1/1 0/0 .text TRKInitializeSerialHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKInitializeSerialHandler() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKInitializeSerialHandler.s" -} -#pragma pop - -/* 8036D924-8036D974 368264 0050+00 0/0 1/1 0/0 .text TRKProcessInput */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKProcessInput() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKProcessInput.s" -} -#pragma pop - -/* 8036D974-8036D9D4 3682B4 0060+00 0/0 1/1 0/0 .text TRKGetInput */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKGetInput() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKGetInput.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803A27D0-803A27F4 02EE30 0024+00 0/1 0/0 0/0 .rodata @146 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_146[36] = { - 0x54, 0x65, 0x73, 0x74, 0x46, 0x6F, 0x72, 0x50, 0x61, 0x63, 0x6B, 0x65, - 0x74, 0x20, 0x3A, 0x20, 0x46, 0x72, 0x65, 0x65, 0x42, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x20, 0x25, 0x6C, 0x64, 0x0A, 0x00, -}; -COMPILER_STRIP_GATE(0x803A27D0, &lit_146); -#pragma pop - -/* 803A27F4-803A2810 02EE54 001B+01 0/1 0/0 0/0 .rodata @147 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_147[27 + 1 /* padding */] = { - 0x52, - 0x65, - 0x61, - 0x64, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x70, - 0x61, - 0x79, - 0x6C, - 0x6F, - 0x61, - 0x64, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x20, - 0x62, - 0x79, - 0x74, - 0x65, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -COMPILER_STRIP_GATE(0x803A27F4, &lit_147); -#pragma pop - -/* 803A2810-803A2844 02EE70 0031+03 0/1 0/0 0/0 .rodata @148 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_148[49 + 3 /* padding */] = { - 0x54, - 0x65, - 0x73, - 0x74, - 0x46, - 0x6F, - 0x72, - 0x50, - 0x61, - 0x63, - 0x6B, - 0x65, - 0x74, - 0x20, - 0x3A, - 0x20, - 0x49, - 0x6E, - 0x76, - 0x61, - 0x6C, - 0x69, - 0x64, - 0x20, - 0x73, - 0x69, - 0x7A, - 0x65, - 0x20, - 0x6F, - 0x66, - 0x20, - 0x70, - 0x61, - 0x63, - 0x6B, - 0x65, - 0x74, - 0x20, - 0x68, - 0x64, - 0x72, - 0x2E, - 0x73, - 0x69, - 0x7A, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A2810, &lit_148); -#pragma pop - -/* 803A2844-803A286C 02EEA4 0028+00 0/1 0/0 0/0 .rodata @149 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_149[40] = { - 0x54, 0x65, 0x73, 0x74, 0x46, 0x6F, 0x72, 0x50, 0x61, 0x63, 0x6B, 0x65, 0x74, 0x20, - 0x3A, 0x20, 0x49, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x73, 0x69, 0x7A, 0x65, - 0x20, 0x6F, 0x66, 0x20, 0x70, 0x61, 0x63, 0x6B, 0x65, 0x74, 0x0A, 0x00, -}; -COMPILER_STRIP_GATE(0x803A2844, &lit_149); -#pragma pop - -/* 803A286C-803A2890 02EECC 001D+07 0/1 0/0 0/0 .rodata @150 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_150[29 + 7 /* padding */] = { - 0x54, - 0x65, - 0x73, - 0x74, - 0x46, - 0x6F, - 0x72, - 0x50, - 0x61, - 0x63, - 0x6B, - 0x65, - 0x74, - 0x20, - 0x72, - 0x65, - 0x74, - 0x75, - 0x72, - 0x6E, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x803A286C, &lit_150); -#pragma pop - -/* 8036D9D4-8036DB10 368314 013C+00 1/1 1/1 0/0 .text TRKTestForPacket */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKTestForPacket() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll/TRKTestForPacket.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804519B8-804519C0 000EB8 0004+04 0/0 2/2 0/0 .sbss gTRKInputPendingPtr */ -extern u8 gTRKInputPendingPtr[4 + 4 /* padding */]; -u8 gTRKInputPendingPtr[4 + 4 /* padding */]; diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.cpp b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c similarity index 52% rename from libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.cpp rename to libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c index e4eb9f644b..0b9efe1083 100644 --- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c @@ -11,29 +11,29 @@ // Forward References: // -extern "C" void HandlePositionFileSupportRequest(); -extern "C" void HandleCloseFileSupportRequest(); -extern "C" void HandleOpenFileSupportRequest(); -extern "C" void TRKRequestSend(); -extern "C" void TRKSuppAccessFile(); +void HandlePositionFileSupportRequest(); +void HandleCloseFileSupportRequest(); +void HandleOpenFileSupportRequest(); +void TRKRequestSend(); +void TRKSuppAccessFile(); // // External References: // SECTION_INIT void memset(); -extern "C" void strlen(); -extern "C" void TRKMessageSend(); -extern "C" void TRKReadBuffer_ui8(); -extern "C" void TRKAppendBuffer_ui8(); -extern "C" void TRKSetBufferPosition(); -extern "C" void TRKReleaseBuffer(); -extern "C" void TRKGetBuffer(); -extern "C" void TRKGetFreeBuffer(); -extern "C" void TRKProcessInput(); -extern "C" void TRKTestForPacket(); -extern "C" void OutputData(); -extern "C" void MWTRACE(); +void strlen(); +void TRKMessageSend(); +void TRKReadBuffer_ui8(); +void TRKAppendBuffer_ui8(); +void TRKSetBufferPosition(); +void TRKReleaseBuffer(); +void TRKGetBuffer(); +void TRKGetFreeBuffer(); +void TRKProcessInput(); +void TRKTestForPacket(); +void OutputData(); +void MWTRACE(); // // Declarations: @@ -71,146 +71,27 @@ asm void HandleOpenFileSupportRequest() { /* ############################################################################################## */ /* 803A2AB8-803A2AD0 02F118 0015+03 1/1 0/0 0/0 .rodata @274 */ -SECTION_RODATA static u8 const lit_274[21 + 3 /* padding */] = { - 0x43, - 0x61, - 0x6C, - 0x6C, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x4D, - 0x65, - 0x73, - 0x73, - 0x61, - 0x67, - 0x65, - 0x53, - 0x65, - 0x6E, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_274[] = "Calling MessageSend\n"; COMPILER_STRIP_GATE(0x803A2AB8, &lit_274); /* 803A2AD0-803A2AF8 02F130 0028+00 0/1 0/0 0/0 .rodata @275 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_275[40] = { - 0x6D, 0x73, 0x67, 0x5F, 0x63, 0x6F, 0x6D, 0x6D, 0x61, 0x6E, 0x64, 0x20, 0x3A, 0x20, - 0x30, 0x78, 0x25, 0x30, 0x32, 0x78, 0x20, 0x68, 0x64, 0x72, 0x2D, 0x3E, 0x63, 0x6D, - 0x64, 0x49, 0x44, 0x20, 0x30, 0x78, 0x25, 0x30, 0x32, 0x78, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_275[] = "msg_command : 0x%02x hdr->cmdID 0x%02x\n"; COMPILER_STRIP_GATE(0x803A2AD0, &lit_275); #pragma pop /* 803A2AF8-803A2B0C 02F158 0014+00 0/1 0/0 0/0 .rodata @276 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_276[20] = { - 0x6D, 0x73, 0x67, 0x5F, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, - 0x3A, 0x20, 0x30, 0x78, 0x25, 0x30, 0x32, 0x78, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_276[] = "msg_error : 0x%02x\n"; COMPILER_STRIP_GATE(0x803A2AF8, &lit_276); #pragma pop /* 803A2B0C-803A2B60 02F16C 0051+03 0/1 0/0 0/0 .rodata @277 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_277[81 + 3 /* padding */] = { - 0x52, - 0x65, - 0x71, - 0x75, - 0x65, - 0x73, - 0x74, - 0x53, - 0x65, - 0x6E, - 0x64, - 0x20, - 0x3A, - 0x20, - 0x42, - 0x61, - 0x64, - 0x20, - 0x61, - 0x63, - 0x6B, - 0x20, - 0x6F, - 0x72, - 0x20, - 0x6E, - 0x6F, - 0x6E, - 0x20, - 0x61, - 0x63, - 0x6B, - 0x20, - 0x72, - 0x65, - 0x63, - 0x65, - 0x69, - 0x76, - 0x65, - 0x64, - 0x20, - 0x6D, - 0x73, - 0x67, - 0x5F, - 0x63, - 0x6F, - 0x6D, - 0x6D, - 0x61, - 0x6E, - 0x64, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x32, - 0x78, - 0x20, - 0x6D, - 0x73, - 0x67, - 0x5F, - 0x65, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x32, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_277[] = "RequestSend : Bad ack or non ack received msg_command : 0x%02x msg_error 0x%02x\n"; COMPILER_STRIP_GATE(0x803A2B0C, &lit_277); #pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.cpp b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.c similarity index 54% rename from libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.cpp rename to libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.c index c5d5da84b1..fe8aa33c74 100644 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.c @@ -1,75 +1,51 @@ -// -// Generated By: dol2asm -// Translation Unit: Os/dolphin/UDP_Stubs -// +/** + * UDP_Stubs.c + * Description: + */ #include "TRK_MINNOW_DOLPHIN/Os/dolphin/UDP_Stubs.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" s32 udp_cc_post_stop(); -extern "C" s32 udp_cc_pre_continue(); -extern "C" bool udp_cc_peek(); -extern "C" bool udp_cc_write(); -extern "C" bool udp_cc_read(); -extern "C" s32 udp_cc_close(); -extern "C" s32 udp_cc_open(); -extern "C" s32 udp_cc_shutdown(); -extern "C" s32 udp_cc_initialize(); - -// -// External References: -// - -// -// Declarations: -// /* 80372314-8037231C 36CC54 0008+00 0/0 1/1 0/0 .text udp_cc_post_stop */ -s32 udp_cc_post_stop() { +s32 udp_cc_post_stop(void) { return -1; } /* 8037231C-80372324 36CC5C 0008+00 0/0 1/1 0/0 .text udp_cc_pre_continue */ -s32 udp_cc_pre_continue() { +s32 udp_cc_pre_continue(void) { return -1; } /* 80372324-8037232C 36CC64 0008+00 0/0 1/1 0/0 .text udp_cc_peek */ -bool udp_cc_peek() { - return false; +u8 udp_cc_peek(void) { + return 0; } /* 8037232C-80372334 36CC6C 0008+00 0/0 1/1 0/0 .text udp_cc_write */ -bool udp_cc_write() { - return false; +u8 udp_cc_write(void) { + return 0; } /* 80372334-8037233C 36CC74 0008+00 0/0 1/1 0/0 .text udp_cc_read */ -bool udp_cc_read() { - return false; +u8 udp_cc_read(void) { + return 0; } /* 8037233C-80372344 36CC7C 0008+00 0/0 1/1 0/0 .text udp_cc_close */ -s32 udp_cc_close() { +s32 udp_cc_close(void) { return -1; } /* 80372344-8037234C 36CC84 0008+00 0/0 1/1 0/0 .text udp_cc_open */ -s32 udp_cc_open() { +s32 udp_cc_open(void) { return -1; } /* 8037234C-80372354 36CC8C 0008+00 0/0 1/1 0/0 .text udp_cc_shutdown */ -s32 udp_cc_shutdown() { +s32 udp_cc_shutdown(void) { return -1; } /* 80372354-8037235C 36CC94 0008+00 0/0 1/1 0/0 .text udp_cc_initialize */ -s32 udp_cc_initialize() { +s32 udp_cc_initialize(void) { return -1; } diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.cpp b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c similarity index 80% rename from libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.cpp rename to libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c index 26e7041fcb..c65da3b2b7 100644 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c @@ -7,48 +7,38 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dBgW {}; - -struct daBgObj_c { - /* 80459BB4 */ void regist(dBgW*); -}; - // // Forward References: // -extern "C" void InitMetroTRK(); -extern "C" void InitMetroTRK_BBA(); -extern "C" void TRK__write_aram(); -extern "C" void TRK__read_aram(); -extern "C" void TRKInitializeTarget(); -extern "C" void __TRK_copy_vectors(); -extern "C" void TRKTargetTranslate(); -extern "C" void EnableMetroTRKInterrupts(); +void InitMetroTRK(); +void InitMetroTRK_BBA(); +void TRK__write_aram(); +void TRK__read_aram(); +void TRKInitializeTarget(); +void __TRK_copy_vectors(); +void TRKTargetTranslate(); +void EnableMetroTRKInterrupts(); // // External References: // SECTION_INIT void TRK_memcpy(); -extern "C" extern u8 const __TRK_unknown_data[7988]; -extern "C" void ARGetDMAStatus(); -extern "C" void ARStartDMA(); -extern "C" void __ARClearInterrupt(); -extern "C" void __ARGetInterruptStatus(); -extern "C" void TRK_flush_cache(); -extern "C" void __TRK_get_MSR(); -extern "C" void TRKSaveExtended1Block(); -extern "C" void TRK_main(); -extern "C" void EnableEXI2Interrupts(); -extern "C" void InitMetroTRKCommTable(); -extern "C" extern u8 gTRKState[164]; -extern "C" extern u8 gTRKCPUState[1072]; -extern "C" void regist__9daBgObj_cFP4dBgW(); +extern u8 const __TRK_unknown_data[7988]; +void ARGetDMAStatus(); +void ARStartDMA(); +void __ARClearInterrupt(); +void __ARGetInterruptStatus(); +void TRK_flush_cache(); +void __TRK_get_MSR(); +void TRKSaveExtended1Block(); +void TRK_main(); +void EnableEXI2Interrupts(); +void InitMetroTRKCommTable(); +extern u8 gTRKState[164]; +extern u8 gTRKCPUState[1072]; +void regist__9daBgObj_cFP4dBgW(); // // Declarations: diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.cpp b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c similarity index 58% rename from libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.cpp rename to libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c index bcc7fb4ff6..9caf7bb7b3 100644 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c @@ -11,19 +11,16 @@ // Forward References: // -extern "C" static void TRKLoadContext(); -extern "C" void TRKUARTInterruptHandler(); -extern "C" void InitializeProgramEndTrap(); -extern "C" void TRK_board_display(); -extern "C" void UnreserveEXI2Port(); -extern "C" void ReserveEXI2Port(); -extern "C" void TRKWriteUARTN(); -extern "C" void TRKReadUARTN(); -extern "C" void TRKPollUART(); -extern "C" void EnableEXI2Interrupts(); -extern "C" void TRKInitializeIntDrivenUART(); -extern "C" void InitMetroTRKCommTable(); -extern "C" static void TRKEXICallBack(); +static void TRKLoadContext(); +void TRKUARTInterruptHandler(); +void InitializeProgramEndTrap(); +void TRK_board_display(); +void TRKReadUARTN(); +void TRKPollUART(); +void EnableEXI2Interrupts(); +void TRKInitializeIntDrivenUART(); +void InitMetroTRKCommTable(); +static void TRKEXICallBack(); SECTION_BSS extern u8 data_8044F828[8]; // @@ -31,43 +28,43 @@ SECTION_BSS extern u8 data_8044F828[8]; // SECTION_INIT void TRK_memcpy(); -extern "C" void OSReport(); -extern "C" void PPCHalt(); -extern "C" void DCFlushRange(); -extern "C" void ICInvalidateRange(); -extern "C" void OSEnableScheduler(); -extern "C" void TRKInterruptHandler(); -extern "C" s32 udp_cc_post_stop(); -extern "C" s32 udp_cc_pre_continue(); -extern "C" bool udp_cc_peek(); -extern "C" bool udp_cc_write(); -extern "C" bool udp_cc_read(); -extern "C" s32 udp_cc_close(); -extern "C" s32 udp_cc_open(); -extern "C" s32 udp_cc_shutdown(); -extern "C" s32 udp_cc_initialize(); -extern "C" void ddh_cc_initinterrupts(); -extern "C" void ddh_cc_peek(); -extern "C" void ddh_cc_post_stop(); -extern "C" void ddh_cc_pre_continue(); -extern "C" void ddh_cc_write(); -extern "C" void ddh_cc_read(); -extern "C" bool ddh_cc_close(); -extern "C" void ddh_cc_open(); -extern "C" bool ddh_cc_shutdown(); -extern "C" void ddh_cc_initialize(); -extern "C" void gdev_cc_initinterrupts(); -extern "C" void gdev_cc_peek(); -extern "C" void gdev_cc_post_stop(); -extern "C" void gdev_cc_pre_continue(); -extern "C" void gdev_cc_write(); -extern "C" void gdev_cc_read(); -extern "C" bool gdev_cc_close(); -extern "C" void gdev_cc_open(); -extern "C" bool gdev_cc_shutdown(); -extern "C" void gdev_cc_initialize(); -extern "C" bool AMC_IsStub(); -extern "C" bool Hu_IsStub(); +void OSReport(); +void PPCHalt(); +void DCFlushRange(); +void ICInvalidateRange(); +void OSEnableScheduler(); +void TRKInterruptHandler(); +s32 udp_cc_post_stop(); +s32 udp_cc_pre_continue(); +u8 udp_cc_peek(); +u8 udp_cc_write(); +u8 udp_cc_read(); +s32 udp_cc_close(); +s32 udp_cc_open(); +s32 udp_cc_shutdown(); +s32 udp_cc_initialize(); +void ddh_cc_initinterrupts(); +void ddh_cc_peek(); +void ddh_cc_post_stop(); +void ddh_cc_pre_continue(); +void ddh_cc_write(); +void ddh_cc_read(); +u8 ddh_cc_close(); +void ddh_cc_open(); +u8 ddh_cc_shutdown(); +void ddh_cc_initialize(); +void gdev_cc_initinterrupts(); +void gdev_cc_peek(); +void gdev_cc_post_stop(); +void gdev_cc_pre_continue(); +void gdev_cc_write(); +void gdev_cc_read(); +u8 gdev_cc_close(); +void gdev_cc_open(); +u8 gdev_cc_shutdown(); +void gdev_cc_initialize(); +u8 AMC_IsStub(); +u8 Hu_IsStub(); // // Declarations: @@ -110,7 +107,7 @@ asm void InitializeProgramEndTrap() { /* ############################################################################################## */ /* 803A2C0C-803A2C10 02F26C 0004+00 1/1 0/0 0/0 .rodata @165 */ -SECTION_RODATA static u32 const lit_165 = 0x25730A00; +SECTION_RODATA static char const lit_165[] = "%s\n"; COMPILER_STRIP_GATE(0x803A2C0C, &lit_165); /* 80371CD8-80371D08 36C618 0030+00 0/0 1/1 0/0 .text TRK_board_display */ @@ -155,7 +152,7 @@ asm void ReserveEXI2Port() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKWriteUARTN() { +asm s32 TRKWriteUARTN(const void*, u32) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue/TRKWriteUARTN.s" } @@ -209,285 +206,49 @@ asm void TRKInitializeIntDrivenUART() { /* 803A2C10-803A2C28 02F270 0015+03 0/1 0/0 0/0 .rodata @215 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_215[21 + 3 /* padding */] = { - 0x44, - 0x65, - 0x76, - 0x6B, - 0x69, - 0x74, - 0x20, - 0x73, - 0x65, - 0x74, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x3A, - 0x20, - 0x25, - 0x6C, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_215[] = "Devkit set to : %ld\n"; COMPILER_STRIP_GATE(0x803A2C10, &lit_215); #pragma pop /* 803A2C28-803A2C40 02F288 0017+01 0/1 0/0 0/0 .rodata @216 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_216[23 + 1 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x3A, - 0x20, - 0x53, - 0x65, - 0x74, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x42, - 0x42, - 0x41, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_216[] = "MetroTRK : Set to BBA\n"; COMPILER_STRIP_GATE(0x803A2C28, &lit_216); #pragma pop /* 803A2C40-803A2C64 02F2A0 0021+03 0/1 0/0 0/0 .rodata @217 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_217[33 + 3 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x3A, - 0x20, - 0x53, - 0x65, - 0x74, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x47, - 0x44, - 0x45, - 0x56, - 0x20, - 0x68, - 0x61, - 0x72, - 0x64, - 0x77, - 0x61, - 0x72, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_217[] = "MetroTRK : Set to GDEV hardware\n"; COMPILER_STRIP_GATE(0x803A2C40, &lit_217); #pragma pop /* 803A2C64-803A2C88 02F2C4 0024+00 0/1 0/0 0/0 .rodata @218 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_218[36] = { - 0x4D, 0x65, 0x74, 0x72, 0x6F, 0x54, 0x52, 0x4B, 0x20, 0x3A, 0x20, 0x53, - 0x65, 0x74, 0x20, 0x74, 0x6F, 0x20, 0x41, 0x4D, 0x43, 0x20, 0x44, 0x44, - 0x48, 0x20, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_218[] = "MetroTRK : Set to AMC DDH hardware\n"; COMPILER_STRIP_GATE(0x803A2C64, &lit_218); #pragma pop /* 803A2C88-803A2CB4 02F2E8 002B+01 0/1 0/0 0/0 .rodata @219 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_219[43 + 1 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x3A, - 0x20, - 0x53, - 0x65, - 0x74, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x55, - 0x4E, - 0x4B, - 0x4E, - 0x4F, - 0x57, - 0x4E, - 0x20, - 0x68, - 0x61, - 0x72, - 0x64, - 0x77, - 0x61, - 0x72, - 0x65, - 0x2E, - 0x20, - 0x28, - 0x25, - 0x6C, - 0x64, - 0x29, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_219[] = "MetroTRK : Set to UNKNOWN hardware. (%ld)\n"; COMPILER_STRIP_GATE(0x803A2C88, &lit_219); #pragma pop /* 803A2CB4-803A2CE4 02F314 002F+01 0/1 0/0 0/0 .rodata @220 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_220[47 + 1 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x3A, - 0x20, - 0x49, - 0x6E, - 0x76, - 0x61, - 0x6C, - 0x69, - 0x64, - 0x20, - 0x68, - 0x61, - 0x72, - 0x64, - 0x77, - 0x61, - 0x72, - 0x65, - 0x20, - 0x49, - 0x44, - 0x20, - 0x70, - 0x61, - 0x73, - 0x73, - 0x65, - 0x64, - 0x20, - 0x66, - 0x72, - 0x6F, - 0x6D, - 0x20, - 0x4F, - 0x53, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_RODATA static char const lit_220[] = "MetroTRK : Invalid hardware ID passed from OS\n"; COMPILER_STRIP_GATE(0x803A2CB4, &lit_220); #pragma pop /* 803A2CE4-803A2D10 02F344 0028+04 0/1 0/0 0/0 .rodata @221 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_221[40 + 4 /* padding */] = { - 0x4D, - 0x65, - 0x74, - 0x72, - 0x6F, - 0x54, - 0x52, - 0x4B, - 0x20, - 0x3A, - 0x20, - 0x44, - 0x65, - 0x66, - 0x61, - 0x75, - 0x6C, - 0x74, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x47, - 0x44, - 0x45, - 0x56, - 0x20, - 0x48, - 0x61, - 0x72, - 0x64, - 0x77, - 0x61, - 0x72, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_RODATA static char const lit_221[] = "MetroTRK : Defaulting to GDEV Hardware\n"; COMPILER_STRIP_GATE(0x803A2CE4, &lit_221); #pragma pop @@ -512,12 +273,9 @@ static asm void TRKEXICallBack() { #pragma pop /* ############################################################################################## */ -/* 8044F824-8044F828 07C544 0004+00 0/0 0/0 0/0 .bss _MetroTRK_Has_Framing */ -#pragma push -#pragma force_active on -SECTION_BSS static u8 _MetroTRK_Has_Framing[4]; -#pragma pop - /* 8044F828-8044F830 07C548 0008+00 0/0 2/2 0/0 .bss None */ SECTION_BSS extern u8 data_8044F828[8]; SECTION_BSS u8 data_8044F828[8]; + +/* 8044F824-8044F828 07C544 0004+00 0/0 0/0 0/0 .bss _MetroTRK_Has_Framing */ +SECTION_BSS /* static */ u8 _MetroTRK_Has_Framing[4]; diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c new file mode 100644 index 0000000000..6fc1c4dea6 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c @@ -0,0 +1,17 @@ +/** + * targcont.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h" +#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h" +#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" + +/* 8037214C-80372180 36CA8C 0034+00 0/0 2/2 0/0 .text TRKTargetContinue */ +s32 TRKTargetContinue(void) { + TRKTargetSetStopped(0); + UnreserveEXI2Port(); + TRKSwapAndGo(); + ReserveEXI2Port(); + return 0; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.cpp b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.cpp deleted file mode 100644 index ae3c0c02a4..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: Os/dolphin/targcont -// - -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRKTargetContinue(); - -// -// External References: -// - -extern "C" void TRKSwapAndGo(); -extern "C" void TRKTargetSetStopped(); -extern "C" void UnreserveEXI2Port(); -extern "C" void ReserveEXI2Port(); - -// -// Declarations: -// - -/* 8037214C-80372180 36CA8C 0034+00 0/0 2/2 0/0 .text TRKTargetContinue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRKTargetContinue() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont/TRKTargetContinue.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c new file mode 100644 index 0000000000..94afce762f --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c @@ -0,0 +1,19 @@ +/** + * target_options.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h" +#include "dol2asm.h" + +SECTION_BSS static u8 useSerialIO; + +/* 80372180-80372190 36CAC0 0010+00 0/0 2/2 0/0 .text GetUseSerialIO */ +u8 GetUseSerialIO(void) { + return useSerialIO; +} + +/* 80372190-8037219C 36CAD0 000C+00 0/0 1/1 0/0 .text SetUseSerialIO */ +void SetUseSerialIO(u8 serialIO) { + useSerialIO = serialIO; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.cpp b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.cpp deleted file mode 100644 index 09f2df228c..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: Os/dolphin/target_options -// - -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void GetUseSerialIO(); -extern "C" void SetUseSerialIO(); - -// -// External References: -// - -SECTION_BSS extern u8 data_8044F828[8]; - -// -// Declarations: -// - -/* 80372180-80372190 36CAC0 0010+00 0/0 2/2 0/0 .text GetUseSerialIO */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GetUseSerialIO() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/GetUseSerialIO.s" -} -#pragma pop - -/* 80372190-8037219C 36CAD0 000C+00 0/0 1/1 0/0 .text SetUseSerialIO */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void SetUseSerialIO() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/target_options/SetUseSerialIO.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.c b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.c new file mode 100644 index 0000000000..67c6a862d6 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.c @@ -0,0 +1,45 @@ +/** + * usr_put.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h" +#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h" +// #include "dolphin/os/OS.h" + +// +// External References: +// + +// void OSReport(char* fmt, ...) causes extra crclr instruction. +// look into issue later +void OSReport(char* fmt); + +// +// Declarations: +// + +/* 8036DB10-8036DB14 368450 0004+00 0/0 1/1 0/0 .text usr_put_initialize */ +void usr_put_initialize() {} + +/* 8036DB14-8036DB9C 368454 0088+00 0/0 2/2 0/0 .text usr_puts_serial */ +BOOL usr_puts_serial(const char* msg) { + BOOL connect_ = FALSE; + char c; + char buf[2]; + + while (!connect_ && (c = *msg++) != '\0') { + BOOL connect = GetTRKConnected(); + + buf[0] = c; + buf[1] = '\0'; + + SetTRKConnected(FALSE); + OSReport(buf); + + SetTRKConnected(connect); + connect_ = FALSE; + } + + return connect_; +} diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.cpp b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.cpp deleted file mode 100644 index cfaca6299a..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: Os/dolphin/usr_put -// - -#include "TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void usr_put_initialize(); -extern "C" void usr_puts_serial(); - -// -// External References: -// - -extern "C" void OSReport(); -extern "C" void SetTRKConnected(); -extern "C" void GetTRKConnected(); - -// -// Declarations: -// - -/* 8036DB10-8036DB14 368450 0004+00 0/0 1/1 0/0 .text usr_put_initialize */ -void usr_put_initialize() { - /* empty function */ -} - -/* 8036DB14-8036DB9C 368454 0088+00 0/0 2/2 0/0 .text usr_puts_serial */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void usr_puts_serial() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/Os/dolphin/usr_put/usr_puts_serial.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.cpp b/libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.c similarity index 72% rename from libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.cpp rename to libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.c index 7d068f57ab..fa77d20ce7 100644 --- a/libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.c @@ -1,28 +1,9 @@ -// -// Generated By: dol2asm -// Translation Unit: ppc/Export/targsupp -// +/** + * targsupp.c + * Description: + */ #include "TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRKAccessFile(); -extern "C" void TRKOpenFile(); -extern "C" void TRKCloseFile(); -extern "C" void TRKPositionFile(); - -// -// External References: -// - -// -// Declarations: -// /* 803711D0-803711D8 -00001 0008+00 0/0 0/0 0/0 .text TRKAccessFile */ #pragma push diff --git a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c new file mode 100644 index 0000000000..1525938056 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c @@ -0,0 +1,31 @@ +/** + * flush_cache.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h" + +/* 8036F548-8036F580 369E88 0038+00 0/0 5/5 0/0 .text TRK_flush_cache */ +asm void TRK_flush_cache(void) { + // clang-format off + nofralloc + + lis r5, 0xFFFF + ori r5, r5, 0xFFF1 + and r5, r5, r3 + subf r3, r5, r3 + add r4, r4, r3 + +loop: + dcbst 0, r5 + dcbf 0, r5 + sync + icbi 0, r5 + addic r5, r5, 8 + addic. r4, r4, -8 + bge loop + + isync + blr + // clang-format on +} diff --git a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.cpp b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.cpp deleted file mode 100644 index 4c9467347d..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: ppc/Generic/flush_cache -// - -#include "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void TRK_flush_cache(); - -// -// External References: -// - -// -// Declarations: -// - -/* 8036F548-8036F580 369E88 0038+00 0/0 5/5 0/0 .text TRK_flush_cache */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void TRK_flush_cache() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache/TRK_flush_cache.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.cpp b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c similarity index 82% rename from libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.cpp rename to libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c index fc4d115887..18bc4fe337 100644 --- a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c @@ -11,15 +11,15 @@ // Forward References: // -extern "C" void TRKSaveExtended1Block(); -extern "C" void TRKRestoreExtended1Block(); +void TRKSaveExtended1Block(); +void TRKRestoreExtended1Block(); // // External References: // -extern "C" extern u8 gTRKRestoreFlags[9 + 3 /* padding */]; -extern "C" extern u8 gTRKCPUState[1072]; +extern u8 gTRKRestoreFlags[9 + 3 /* padding */]; +extern u8 gTRKCPUState[1072]; // // Declarations: diff --git a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.cpp b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c similarity index 84% rename from libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.cpp rename to libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c index 4bce50be5b..eb3b4b282b 100644 --- a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c @@ -11,61 +11,59 @@ // Forward References: // -extern "C" void __TRK_get_MSR(); -extern "C" void __TRK_set_MSR(); -extern "C" static void TRK_ppc_memcpy(); -extern "C" void TRKInterruptHandler(); -extern "C" static void TRKExceptionHandler(); -extern "C" void TRKSwapAndGo(); -extern "C" static void TRKInterruptHandlerEnableInterrupts(); -extern "C" static void ReadFPSCR(); -extern "C" static void WriteFPSCR(); -extern "C" void TRKTargetAccessARAM(); -extern "C" void TRKTargetSetInputPendingPtr(); -extern "C" void TRKTargetStop(); -extern "C" void TRKTargetSetStopped(); -extern "C" void TRKTargetStopped(); -extern "C" void TRKTargetSupportRequest(); -extern "C" void TRKTargetGetPC(); -extern "C" void TRKTargetStepOutOfRange(); -extern "C" void TRKTargetSingleStep(); -extern "C" void TRKTargetAddExceptionInfo(); -extern "C" void TRKTargetAddStopInfo(); -extern "C" void TRKTargetInterrupt(); -extern "C" static void TRKPostInterruptEvent(); -extern "C" void TRKTargetAccessExtended2(); -extern "C" void TRKTargetAccessExtended1(); -extern "C" void TRKTargetAccessFP(); -extern "C" void TRKTargetAccessDefault(); -extern "C" static void TRKTargetReadInstruction(); -extern "C" void TRKTargetAccessMemory(); -extern "C" static void TRKValidMemory32(); +void __TRK_get_MSR(); +void __TRK_set_MSR(); +static void TRK_ppc_memcpy(); +void TRKInterruptHandler(); +static void TRKExceptionHandler(); +static void TRKInterruptHandlerEnableInterrupts(); +static void ReadFPSCR(); +static void WriteFPSCR(); +void TRKTargetAccessARAM(); +void TRKTargetSetInputPendingPtr(); +void TRKTargetStop(); +void TRKTargetStopped(); +void TRKTargetSupportRequest(); +void TRKTargetGetPC(); +void TRKTargetStepOutOfRange(); +void TRKTargetSingleStep(); +void TRKTargetAddExceptionInfo(); +void TRKTargetAddStopInfo(); +void TRKTargetInterrupt(); +static void TRKPostInterruptEvent(); +void TRKTargetAccessExtended2(); +void TRKTargetAccessExtended1(); +void TRKTargetAccessFP(); +void TRKTargetAccessDefault(); +static void TRKTargetReadInstruction(); +void TRKTargetAccessMemory(); +static void TRKValidMemory32(); // // External References: // SECTION_INIT void memset(); -extern "C" void TRKConstructEvent(); -extern "C" void TRKPostEvent(); -extern "C" void TRKReadBuffer_ui32(); -extern "C" void TRKReadBuffer1_ui64(); -extern "C" void TRKAppendBuffer_ui32(); -extern "C" void TRKAppendBuffer_ui8(); -extern "C" void TRKAppendBuffer1_ui64(); -extern "C" void HandlePositionFileSupportRequest(); -extern "C" void HandleCloseFileSupportRequest(); -extern "C" void HandleOpenFileSupportRequest(); -extern "C" void TRKSuppAccessFile(); -extern "C" void TRKDoNotifyStopped(); -extern "C" void TRK_flush_cache(); -extern "C" void TRKSaveExtended1Block(); -extern "C" void TRKRestoreExtended1Block(); -extern "C" void TRK__write_aram(); -extern "C" void TRK__read_aram(); -extern "C" void TRKTargetTranslate(); -extern "C" void TRKUARTInterruptHandler(); -extern "C" void MWTRACE(); +void TRKConstructEvent(); +void TRKPostEvent(); +void TRKReadBuffer_ui32(); +void TRKReadBuffer1_ui64(); +void TRKAppendBuffer_ui32(); +void TRKAppendBuffer_ui8(); +void TRKAppendBuffer1_ui64(); +void HandlePositionFileSupportRequest(); +void HandleCloseFileSupportRequest(); +void HandleOpenFileSupportRequest(); +void TRKSuppAccessFile(); +void TRKDoNotifyStopped(); +void TRK_flush_cache(); +void TRKSaveExtended1Block(); +void TRKRestoreExtended1Block(); +void TRK__write_aram(); +void TRK__read_aram(); +void TRKTargetTranslate(); +void TRKUARTInterruptHandler(); +void MWTRACE(); // // Declarations: @@ -123,7 +121,7 @@ SECTION_DATA static u8 gTRKExceptionStatus[16] = { }; /* 8044F290-8044F294 07BFB0 0002+02 1/1 0/0 0/0 .bss TRK_saved_exceptionID */ -SECTION_BSS static u8 TRK_saved_exceptionID[2 + 2 /* padding */]; +SECTION_BSS static s32 TRK_saved_exceptionID = 0; /* 8044F294-8044F338 07BFB4 00A4+00 11/11 1/1 0/0 .bss gTRKState */ extern u8 gTRKState[164]; @@ -231,7 +229,7 @@ asm void TRKTargetStop() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void TRKTargetSetStopped() { +asm void TRKTargetSetStopped(s32) { nofralloc #include "asm/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl/TRKTargetSetStopped.s" } @@ -299,9 +297,7 @@ SECTION_RODATA static u8 const lit_290[40] = { COMPILER_STRIP_GATE(0x803A2BC0, &lit_290); /* 803A2BE8-803A2BF8 02F248 0010+00 3/3 0/0 0/0 .rodata @422 */ -SECTION_RODATA static u8 const lit_422[16] = { - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x6F, 0x53, 0x74, 0x65, 0x70, 0x28, 0x29, 0x0A, 0x00, -}; +SECTION_RODATA static char const lit_422[] = "TargetDoStep()\n"; COMPILER_STRIP_GATE(0x803A2BE8, &lit_422); /* 803D3254-803D3268 030374 0014+00 3/3 0/0 0/0 .data gTRKStepStatus */ diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.cpp b/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c similarity index 83% rename from libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.cpp rename to libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c index 5271a3cc3c..593a601247 100644 --- a/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.cpp +++ b/libs/TRK_MINNOW_DOLPHIN/utils/common/CircleBuffer.c @@ -11,19 +11,19 @@ // Forward References: // -extern "C" void CircleBufferReadBytes(); -extern "C" void CircleBufferWriteBytes(); -extern "C" void CircleBufferInitialize(); -extern "C" void CBGetBytesAvailableForRead(); +void CircleBufferReadBytes(); +void CircleBufferWriteBytes(); +void CircleBufferInitialize(); +void CBGetBytesAvailableForRead(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void MWExitCriticalSection(); -extern "C" void MWEnterCriticalSection(); -extern "C" void MWInitializeCriticalSection(); +void MWExitCriticalSection(); +void MWEnterCriticalSection(); +void MWInitializeCriticalSection(); // // Declarations: diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.c b/libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.c new file mode 100644 index 0000000000..ffdc366e2e --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.c @@ -0,0 +1,9 @@ +/** + * MWTrace.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" + +/* 80372C54-80372CA4 36D594 0050+00 0/0 22/22 0/0 .text MWTRACE */ +void MWTRACE(u8, char*, ...) {} diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.cpp b/libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.cpp deleted file mode 100644 index bfcf3739bf..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/utils/common/MWTrace.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: utils/common/MWTrace -// - -#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void MWTRACE(); - -// -// External References: -// - -// -// Declarations: -// - -/* 80372C54-80372CA4 36D594 0050+00 0/0 22/22 0/0 .text MWTRACE */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void MWTRACE() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/common/MWTrace/MWTRACE.s" -} -#pragma pop diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c b/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c new file mode 100644 index 0000000000..80fab2ebb7 --- /dev/null +++ b/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.c @@ -0,0 +1,31 @@ +/** + * MWCriticalSection_gc.c + * Description: + */ + +#include "TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h" +#include "dolphin/os/OS.h" + +/* 80372CA4-80372CC8 36D5E4 0024+00 0/0 2/2 0/0 .text MWExitCriticalSection */ +void MWExitCriticalSection(u32* section) { + OSRestoreInterrupts(*section); +} + +/* 80372CC8-80372CF8 36D608 0030+00 0/0 2/2 0/0 .text MWEnterCriticalSection */ +#ifdef NONMATCHING +void MWEnterCriticalSection(u32* section) { + *section = OSDisableInterrupts(); +} +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void MWEnterCriticalSection(u32* section) { + nofralloc +#include "asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s" +} +#pragma pop +#endif + +/* 80372CF8-80372CFC 36D638 0004+00 0/0 1/1 0/0 .text MWInitializeCriticalSection */ +void MWInitializeCriticalSection() {} diff --git a/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.cpp b/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.cpp deleted file mode 100644 index 4f97f19c05..0000000000 --- a/libs/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: utils/gc/MWCriticalSection_gc -// - -#include "TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void MWExitCriticalSection(); -extern "C" void MWEnterCriticalSection(); -extern "C" void MWInitializeCriticalSection(); - -// -// External References: -// - -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); - -// -// Declarations: -// - -/* 80372CA4-80372CC8 36D5E4 0024+00 0/0 2/2 0/0 .text MWExitCriticalSection */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void MWExitCriticalSection() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWExitCriticalSection.s" -} -#pragma pop - -/* 80372CC8-80372CF8 36D608 0030+00 0/0 2/2 0/0 .text MWEnterCriticalSection */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void MWEnterCriticalSection() { - nofralloc -#include "asm/TRK_MINNOW_DOLPHIN/utils/gc/MWCriticalSection_gc/MWEnterCriticalSection.s" -} -#pragma pop - -/* 80372CF8-80372CFC 36D638 0004+00 0/0 1/1 0/0 .text MWInitializeCriticalSection */ -void MWInitializeCriticalSection() { - /* empty function */ -} diff --git a/libs/amcstubs/AmcExi2Stubs.c b/libs/amcstubs/AmcExi2Stubs.c new file mode 100644 index 0000000000..41cfa15a4a --- /dev/null +++ b/libs/amcstubs/AmcExi2Stubs.c @@ -0,0 +1,38 @@ +/** + * AmcExi2Stubs.c + * Description: + */ + +#include "amcstubs/AmcExi2Stubs.h" + +/* 80372CFC-80372D00 36D63C 0004+00 0/0 1/1 0/0 .text EXI2_Init */ +void EXI2_Init(void) {} + +/* 80372D00-80372D04 36D640 0004+00 0/0 1/1 0/0 .text EXI2_EnableInterrupts */ +void EXI2_EnableInterrupts(void) {} + +/* 80372D04-80372D0C 36D644 0008+00 0/0 2/2 0/0 .text EXI2_Poll */ +u8 EXI2_Poll(void) { + return 0; +} + +/* 80372D0C-80372D14 36D64C 0008+00 0/0 2/2 0/0 .text EXI2_ReadN */ +u8 EXI2_ReadN(void*, u32) { + return 0; +} + +/* 80372D14-80372D1C 36D654 0008+00 0/0 1/1 0/0 .text EXI2_WriteN */ +u8 EXI2_WriteN(void*, u32) { + return 0; +} + +/* 80372D1C-80372D20 36D65C 0004+00 0/0 1/1 0/0 .text EXI2_Reserve */ +void EXI2_Reserve(void) {} + +/* 80372D20-80372D24 36D660 0004+00 0/0 1/1 0/0 .text EXI2_Unreserve */ +void EXI2_Unreserve(void) {} + +/* 80372D24-80372D2C 36D664 0008+00 0/0 1/1 0/0 .text AMC_IsStub */ +u8 AMC_IsStub(void) { + return 1; +} diff --git a/libs/amcstubs/AmcExi2Stubs.cpp b/libs/amcstubs/AmcExi2Stubs.cpp deleted file mode 100644 index 8f01cddfaa..0000000000 --- a/libs/amcstubs/AmcExi2Stubs.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: AmcExi2Stubs -// - -#include "amcstubs/AmcExi2Stubs.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void EXI2_Init(); -extern "C" void EXI2_EnableInterrupts(); -extern "C" bool EXI2_Poll(); -extern "C" bool EXI2_ReadN(); -extern "C" bool EXI2_WriteN(); -extern "C" void EXI2_Reserve(); -extern "C" void EXI2_Unreserve(); -extern "C" bool AMC_IsStub(); - -// -// External References: -// - -// -// Declarations: -// - -/* 80372CFC-80372D00 36D63C 0004+00 0/0 1/1 0/0 .text EXI2_Init */ -void EXI2_Init() { - /* empty function */ -} - -/* 80372D00-80372D04 36D640 0004+00 0/0 1/1 0/0 .text EXI2_EnableInterrupts */ -void EXI2_EnableInterrupts() { - /* empty function */ -} - -/* 80372D04-80372D0C 36D644 0008+00 0/0 2/2 0/0 .text EXI2_Poll */ -bool EXI2_Poll() { - return false; -} - -/* 80372D0C-80372D14 36D64C 0008+00 0/0 2/2 0/0 .text EXI2_ReadN */ -bool EXI2_ReadN() { - return false; -} - -/* 80372D14-80372D1C 36D654 0008+00 0/0 1/1 0/0 .text EXI2_WriteN */ -bool EXI2_WriteN() { - return false; -} - -/* 80372D1C-80372D20 36D65C 0004+00 0/0 1/1 0/0 .text EXI2_Reserve */ -void EXI2_Reserve() { - /* empty function */ -} - -/* 80372D20-80372D24 36D660 0004+00 0/0 1/1 0/0 .text EXI2_Unreserve */ -void EXI2_Unreserve() { - /* empty function */ -} - -/* 80372D24-80372D2C 36D664 0008+00 0/0 1/1 0/0 .text AMC_IsStub */ -bool AMC_IsStub() { - return true; -} diff --git a/libs/amcstubs/Makefile b/libs/amcstubs/Makefile index 30b800e534..ec8f5ba003 100644 --- a/libs/amcstubs/Makefile +++ b/libs/amcstubs/Makefile @@ -3,12 +3,14 @@ # LIBAMCSTUBS_A_CPP_FILES := \ - libs/amcstubs/AmcExi2Stubs.cpp \ + libs/amcstubs/AmcExi2Stubs.c \ LIBAMCSTUBS_A_O_FILES := \ $(BUILD_DIR)/libs/amcstubs/AmcExi2Stubs.o \ LIBAMCSTUBS_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBAMCSTUBS_A_LDFLAGS := \ -nodefaults \ @@ -21,9 +23,9 @@ $(BUILD_DIR)/libamcstubs.a: $(LIBAMCSTUBS_A_O_FILES) @echo $(LIBAMCSTUBS_A_O_FILES) > build/LIBAMCSTUBS_A_ofiles @$(LD) -xm l $(LIBAMCSTUBS_A_LDFLAGS) -o $(BUILD_DIR)/libamcstubs.a @build/LIBAMCSTUBS_A_ofiles -$(BUILD_DIR)/libs/amcstubs/%.o: libs/amcstubs/%.cpp +$(BUILD_DIR)/libs/amcstubs/%.o: libs/amcstubs/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBAMCSTUBS_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(CC) $(CFLAGS) $(LIBAMCSTUBS_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/ai/Makefile b/libs/dolphin/ai/Makefile index ac04dae90d..4e1b30c82b 100644 --- a/libs/dolphin/ai/Makefile +++ b/libs/dolphin/ai/Makefile @@ -3,12 +3,14 @@ # LIBAI_A_CPP_FILES := \ - libs/dolphin/ai/ai.cpp \ + libs/dolphin/ai/ai.c \ LIBAI_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/ai/ai.o \ LIBAI_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBAI_A_LDFLAGS := \ -nodefaults \ @@ -21,9 +23,8 @@ $(BUILD_DIR)/libai.a: $(LIBAI_A_O_FILES) @echo $(LIBAI_A_O_FILES) > build/LIBAI_A_ofiles @$(LD) -xm l $(LIBAI_A_LDFLAGS) -o $(BUILD_DIR)/libai.a @build/LIBAI_A_ofiles -$(BUILD_DIR)/libs/dolphin/ai/%.o: libs/dolphin/ai/%.cpp +$(BUILD_DIR)/libs/dolphin/ai/%.o: libs/dolphin/ai/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBAI_A_CFLAGS) -c -o $@ $(basename $@).cpp - + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBAI_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/ai/ai.cpp b/libs/dolphin/ai/ai.c similarity index 80% rename from libs/dolphin/ai/ai.cpp rename to libs/dolphin/ai/ai.c index 48cf43246f..091025ddb6 100644 --- a/libs/dolphin/ai/ai.cpp +++ b/libs/dolphin/ai/ai.c @@ -11,38 +11,38 @@ // Forward References: // -extern "C" void AIRegisterDMACallback(); -extern "C" void AIInitDMA(); -extern "C" void AIStartDMA(); -extern "C" void AIStopDMA(); -extern "C" void AISetStreamPlayState(); -extern "C" static void AIGetStreamPlayState(); -extern "C" void AISetDSPSampleRate(); -extern "C" void AIGetDSPSampleRate(); -extern "C" void __AI_set_stream_sample_rate(); -extern "C" static void AIGetStreamSampleRate(); -extern "C" void AISetStreamVolLeft(); -extern "C" static void AIGetStreamVolLeft(); -extern "C" void AISetStreamVolRight(); -extern "C" static void AIGetStreamVolRight(); -extern "C" void AIInit(); -extern "C" void __AISHandler(); -extern "C" void __AIDHandler(); -extern "C" void __AICallbackStackSwitch(); -extern "C" void __AI_SRC_INIT(); +void AIRegisterDMACallback(); +void AIInitDMA(); +void AIStartDMA(); +void AIStopDMA(); +void AISetStreamPlayState(); +static void AIGetStreamPlayState(); +void AISetDSPSampleRate(); +void AIGetDSPSampleRate(); +void __AI_set_stream_sample_rate(); +static void AIGetStreamSampleRate(); +void AISetStreamVolLeft(); +static void AIGetStreamVolLeft(); +void AISetStreamVolRight(); +static void AIGetStreamVolRight(); +void AIInit(); +void __AISHandler(); +void __AIDHandler(); +void __AICallbackStackSwitch(); +void __AI_SRC_INIT(); // // External References: // -extern "C" void OSRegisterVersion(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void OSGetTime(); +void OSRegisterVersion(); +void OSSetCurrentContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSUnmaskInterrupts(); +void OSGetTime(); // // Declarations: @@ -197,81 +197,7 @@ static asm void AIGetStreamVolRight() { /* ############################################################################################## */ /* 803D1BA0-803D1BE8 02ECC0 0044+04 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[68 + 4 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x41, - 0x49, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x35, - 0x3A, - 0x30, - 0x32, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - AI\trelease build: Apr 5 2004 04:15:02 (0x2301) >>"; /* 80450A40-80450A48 -00001 0004+04 1/1 0/0 0/0 .sdata __AIVersion */ SECTION_SDATA static void* __AIVersion[1 + 1 /* padding */] = { diff --git a/libs/dolphin/ar/Makefile b/libs/dolphin/ar/Makefile index 032caaf45e..26a079b70e 100644 --- a/libs/dolphin/ar/Makefile +++ b/libs/dolphin/ar/Makefile @@ -3,14 +3,16 @@ # LIBAR_A_CPP_FILES := \ - libs/dolphin/ar/ar.cpp \ - libs/dolphin/ar/arq.cpp \ + libs/dolphin/ar/ar.c \ + libs/dolphin/ar/arq.c \ LIBAR_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/ar/ar.o \ $(BUILD_DIR)/libs/dolphin/ar/arq.o \ LIBAR_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBAR_A_LDFLAGS := \ -nodefaults \ @@ -23,9 +25,9 @@ $(BUILD_DIR)/libar.a: $(LIBAR_A_O_FILES) @echo $(LIBAR_A_O_FILES) > build/LIBAR_A_ofiles @$(LD) -xm l $(LIBAR_A_LDFLAGS) -o $(BUILD_DIR)/libar.a @build/LIBAR_A_ofiles -$(BUILD_DIR)/libs/dolphin/ar/%.o: libs/dolphin/ar/%.cpp +$(BUILD_DIR)/libs/dolphin/ar/%.o: libs/dolphin/ar/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBAR_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBAR_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/ar/ar.cpp b/libs/dolphin/ar/ar.c similarity index 74% rename from libs/dolphin/ar/ar.cpp rename to libs/dolphin/ar/ar.c index 68c93cc222..58eae0f455 100644 --- a/libs/dolphin/ar/ar.cpp +++ b/libs/dolphin/ar/ar.c @@ -11,29 +11,29 @@ // Forward References: // -extern "C" void ARRegisterDMACallback(); -extern "C" void ARGetDMAStatus(); -extern "C" void ARStartDMA(); -extern "C" void __ARHandler(); -extern "C" void __ARClearInterrupt(); -extern "C" void __ARGetInterruptStatus(); -extern "C" void __ARChecksize(); +void ARRegisterDMACallback(); +void ARGetDMAStatus(); +void ARStartDMA(); +void __ARHandler(); +void __ARClearInterrupt(); +void __ARGetInterruptStatus(); +void __ARChecksize(); // // External References: // SECTION_INIT void memset(); -extern "C" void PPCSync(); -extern "C" void OSRegisterVersion(); -extern "C" void DCInvalidateRange(); -extern "C" void DCFlushRange(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); +void PPCSync(); +void OSRegisterVersion(); +void DCInvalidateRange(); +void DCFlushRange(); +void OSSetCurrentContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSUnmaskInterrupts(); // // Declarations: @@ -104,81 +104,7 @@ asm u32 ARAlloc(u32) { /* ############################################################################################## */ /* 803D1BE8-803D1C30 02ED08 0044+04 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[68 + 4 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x41, - 0x52, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x35, - 0x3A, - 0x30, - 0x33, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - AR\trelease build: Apr 5 2004 04:15:03 (0x2301) >>"; /* 80450A48-80450A50 -00001 0004+04 1/1 0/0 0/0 .sdata __ARVersion */ SECTION_SDATA static void* __ARVersion[1 + 1 /* padding */] = { diff --git a/libs/dolphin/ar/arq.cpp b/libs/dolphin/ar/arq.c similarity index 74% rename from libs/dolphin/ar/arq.cpp rename to libs/dolphin/ar/arq.c index 2c268c9efb..e068cea863 100644 --- a/libs/dolphin/ar/arq.cpp +++ b/libs/dolphin/ar/arq.c @@ -11,20 +11,20 @@ // Forward References: // -extern "C" void __ARQServiceQueueLo(); -extern "C" void __ARQCallbackHack(); -extern "C" void __ARQInterruptServiceRoutine(); -extern "C" void ARQInit(); +void __ARQServiceQueueLo(); +void __ARQCallbackHack(); +void __ARQInterruptServiceRoutine(); +void ARQInit(); // // External References: // -extern "C" void OSRegisterVersion(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void ARRegisterDMACallback(); -extern "C" void ARStartDMA(); +void OSRegisterVersion(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void ARRegisterDMACallback(); +void ARStartDMA(); // // Declarations: @@ -85,81 +85,7 @@ asm void __ARQInterruptServiceRoutine() { /* ############################################################################################## */ /* 803D1C30-803D1C78 02ED50 0045+03 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x41, - 0x52, - 0x51, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x35, - 0x3A, - 0x30, - 0x34, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - ARQ\trelease build: Apr 5 2004 04:15:04 (0x2301) >>"; /* 80450A50-80450A58 -00001 0004+04 1/1 0/0 0/0 .sdata __ARQVersion */ SECTION_SDATA static void* __ARQVersion[1 + 1 /* padding */] = { diff --git a/libs/dolphin/base/Makefile b/libs/dolphin/base/Makefile index 947eb4c808..96c4fd0c8e 100644 --- a/libs/dolphin/base/Makefile +++ b/libs/dolphin/base/Makefile @@ -3,12 +3,14 @@ # LIBBASE_A_CPP_FILES := \ - libs/dolphin/base/PPCArch.cpp \ + libs/dolphin/base/PPCArch.c \ LIBBASE_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/base/PPCArch.o \ LIBBASE_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBBASE_A_LDFLAGS := \ -nodefaults \ @@ -16,14 +18,16 @@ LIBBASE_A_LDFLAGS := \ -proc gekko \ -linkmode moreram \ +$(BUILD_DIR)/libs/dolphin/base/PPCArch.o: MWCC_VERSION := 1.2.5 + $(BUILD_DIR)/libbase.a: $(LIBBASE_A_O_FILES) @echo linking... $(BUILD_DIR)/libbase.a @echo $(LIBBASE_A_O_FILES) > build/LIBBASE_A_ofiles @$(LD) -xm l $(LIBBASE_A_LDFLAGS) -o $(BUILD_DIR)/libbase.a @build/LIBBASE_A_ofiles -$(BUILD_DIR)/libs/dolphin/base/%.o: libs/dolphin/base/%.cpp +$(BUILD_DIR)/libs/dolphin/base/%.o: libs/dolphin/base/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBBASE_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(CC) $(CFLAGS) $(LIBBASE_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/base/PPCArch.cpp b/libs/dolphin/base/PPCArch.c similarity index 84% rename from libs/dolphin/base/PPCArch.cpp rename to libs/dolphin/base/PPCArch.c index 379badcf1f..bc7319b47b 100644 --- a/libs/dolphin/base/PPCArch.cpp +++ b/libs/dolphin/base/PPCArch.c @@ -11,28 +11,28 @@ // Forward References: // -extern "C" void PPCMfmsr(); -extern "C" void PPCMtmsr(); -extern "C" void PPCMfhid0(); -extern "C" void PPCMthid0(); -extern "C" void PPCMfl2cr(); -extern "C" void PPCMtl2cr(); -extern "C" void PPCMtdec(); -extern "C" void PPCSync(); -extern "C" void PPCHalt(); -extern "C" void PPCMtmmcr0(); -extern "C" void PPCMtmmcr1(); -extern "C" void PPCMtpmc1(); -extern "C" void PPCMtpmc2(); -extern "C" void PPCMtpmc3(); -extern "C" void PPCMtpmc4(); -extern "C" void PPCMffpscr(); -extern "C" void PPCMtfpscr(); -extern "C" void PPCMfhid2(); -extern "C" void PPCMthid2(); -extern "C" void PPCMtwpar(); -extern "C" void PPCDisableSpeculation(); -extern "C" void PPCSetFpNonIEEEMode(); +extern void PPCMfmsr(); +extern void PPCMtmsr(); +extern void PPCMfhid0(); +extern void PPCMthid0(); +extern void PPCMfl2cr(); +extern void PPCMtl2cr(); +extern void PPCMtdec(); +extern void PPCSync(); +extern void PPCHalt(); +extern void PPCMtmmcr0(); +extern void PPCMtmmcr1(); +extern void PPCMtpmc1(); +extern void PPCMtpmc2(); +extern void PPCMtpmc3(); +extern void PPCMtpmc4(); +extern u32 PPCMffpscr(); +extern void PPCMtfpscr(); +extern void PPCMfhid2(); +extern void PPCMthid2(); +extern void PPCMtwpar(); +extern void PPCDisableSpeculation(); +extern void PPCSetFpNonIEEEMode(); // // External References: @@ -115,14 +115,17 @@ asm void PPCSync() { } /* 80339D00-80339D14 334640 0014+00 0/0 7/7 0/0 .text PPCHalt */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PPCHalt() { +asm void PPCHalt(void) { + // clang-format off nofralloc -#include "asm/dolphin/base/PPCArch/PPCHalt.s" + sync +_spin: + nop + li r3, 0 + nop + b _spin + // clang-format on } -#pragma pop /* 80339D14-80339D1C -00001 0008+00 0/0 0/0 0/0 .text PPCMtmmcr0 */ asm void PPCMtmmcr0() { @@ -182,7 +185,7 @@ asm void PPCMtpmc4() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PPCMffpscr() { +asm u32 PPCMffpscr() { nofralloc #include "asm/dolphin/base/PPCArch/PPCMffpscr.s" } diff --git a/libs/dolphin/card/CARDBios.cpp b/libs/dolphin/card/CARDBios.c similarity index 76% rename from libs/dolphin/card/CARDBios.cpp rename to libs/dolphin/card/CARDBios.c index 374d2be96b..c4c2bcada9 100644 --- a/libs/dolphin/card/CARDBios.cpp +++ b/libs/dolphin/card/CARDBios.c @@ -11,63 +11,63 @@ // Forward References: // -extern "C" void __CARDDefaultApiCallback(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDExtHandler(); -extern "C" void __CARDExiHandler(); -extern "C" void __CARDTxHandler(); -extern "C" void __CARDUnlockedHandler(); -extern "C" void __CARDEnableInterrupt(); -extern "C" void __CARDReadStatus(); -extern "C" void __CARDReadVendorID(); -extern "C" void __CARDClearStatus(); -extern "C" static void TimeoutHandler(); -extern "C" static void Retry(); -extern "C" static void UnlockedCallback(); -extern "C" void __CARDStart(); -extern "C" void __CARDReadSegment(); -extern "C" void __CARDWritePage(); -extern "C" void __CARDEraseSector(); -extern "C" void CARDInit(); -extern "C" void __CARDGetFontEncode(); -extern "C" void __CARDSetDiskID(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void CARDFreeBlocks(); -extern "C" void __CARDSync(); -extern "C" static void OnReset(); -extern "C" void CARDGetFastMode(); +void __CARDDefaultApiCallback(); +void __CARDSyncCallback(); +void __CARDExtHandler(); +void __CARDExiHandler(); +void __CARDTxHandler(); +void __CARDUnlockedHandler(); +void __CARDEnableInterrupt(); +void __CARDReadStatus(); +void __CARDReadVendorID(); +void __CARDClearStatus(); +static void TimeoutHandler(); +static void Retry(); +static void UnlockedCallback(); +void __CARDStart(); +void __CARDReadSegment(); +void __CARDWritePage(); +void __CARDEraseSector(); +void CARDInit(); +void __CARDGetFontEncode(); +void __CARDSetDiskID(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void CARDFreeBlocks(); +void __CARDSync(); +static void OnReset(); +void CARDGetFastMode(); // // External References: // -extern "C" void OSRegisterVersion(); -extern "C" void OSInitAlarm(); -extern "C" void OSCreateAlarm(); -extern "C" void OSSetAlarm(); -extern "C" void OSCancelAlarm(); -extern "C" void OSGetFontEncode(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSRegisterResetFunction(); -extern "C" void OSInitThreadQueue(); -extern "C" void OSSleepThread(); -extern "C" void OSWakeupThread(); -extern "C" void EXIImm(); -extern "C" void EXIImmEx(); -extern "C" void EXIDma(); -extern "C" void EXISync(); -extern "C" void EXISetExiCallback(); -extern "C" void EXIProbe(); -extern "C" void EXISelect(); -extern "C" void EXIDeselect(); -extern "C" void EXILock(); -extern "C" void EXIUnlock(); -extern "C" void DSPInit(); -extern "C" void __CARDGetFatBlock(); -extern "C" void __CARDGetDirBlock(); -extern "C" void CARDUnmount(); +void OSRegisterVersion(); +void OSInitAlarm(); +void OSCreateAlarm(); +void OSSetAlarm(); +void OSCancelAlarm(); +void OSGetFontEncode(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void OSRegisterResetFunction(); +void OSInitThreadQueue(); +void OSSleepThread(); +void OSWakeupThread(); +void EXIImm(); +void EXIImmEx(); +void EXIDma(); +void EXISync(); +void EXISetExiCallback(); +void EXIProbe(); +void EXISelect(); +void EXIDeselect(); +void EXILock(); +void EXIUnlock(); +void DSPInit(); +void __CARDGetFatBlock(); +void __CARDGetDirBlock(); +void CARDUnmount(); // // Declarations: @@ -78,6 +78,11 @@ void __CARDDefaultApiCallback() { /* empty function */ } +/* ############################################################################################## */ +/* 8044CDE0-8044CE00 079B00 0020+00 0/1 3/3 0/0 .bss __CARDDiskNone */ +extern u8 __CARDDiskNone[32]; +u8 __CARDDiskNone[32]; + /* ############################################################################################## */ /* 8044CBC0-8044CDE0 0798E0 0220+00 16/16 27/27 0/0 .bss __CARDBlock */ extern u8 __CARDBlock[544]; @@ -245,81 +250,7 @@ asm void __CARDEraseSector() { /* ############################################################################################## */ /* 803D1E38-803D1E80 02EF58 0046+02 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[70 + 2 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x43, - 0x41, - 0x52, - 0x44, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x35, - 0x3A, - 0x33, - 0x35, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - CARD\trelease build: Apr 5 2004 04:15:35 (0x2301) >>"; /* 803D1E80-803D1EA0 -00001 0010+10 1/1 0/0 0/0 .data ResetFunctionInfo */ SECTION_DATA static void* ResetFunctionInfo[4 + 4 /* padding */] = { @@ -366,11 +297,6 @@ asm void __CARDGetFontEncode() { } #pragma pop -/* ############################################################################################## */ -/* 8044CDE0-8044CE00 079B00 0020+00 0/1 3/3 0/0 .bss __CARDDiskNone */ -extern u8 __CARDDiskNone[32]; -u8 __CARDDiskNone[32]; - /* 80353B7C-80353BB4 34E4BC 0038+00 1/1 0/0 0/0 .text __CARDSetDiskID */ #pragma push #pragma optimization_level 0 diff --git a/libs/dolphin/card/CARDBlock.cpp b/libs/dolphin/card/CARDBlock.c similarity index 80% rename from libs/dolphin/card/CARDBlock.cpp rename to libs/dolphin/card/CARDBlock.c index f1fd0be486..9fd492ece3 100644 --- a/libs/dolphin/card/CARDBlock.cpp +++ b/libs/dolphin/card/CARDBlock.c @@ -11,23 +11,23 @@ // Forward References: // -extern "C" void __CARDGetFatBlock(); -extern "C" static void WriteCallback(); -extern "C" static void EraseCallback(); -extern "C" void __CARDAllocBlock(); -extern "C" void __CARDUpdateFatBlock(); +void __CARDGetFatBlock(); +static void WriteCallback(); +static void EraseCallback(); +void __CARDAllocBlock(); +void __CARDUpdateFatBlock(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void DCStoreRange(); -extern "C" void __CARDEraseSector(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDWrite(); -extern "C" void __CARDCheckSum(); -extern "C" extern u8 __CARDBlock[544]; +void DCStoreRange(); +void __CARDEraseSector(); +void __CARDPutControlBlock(); +void __CARDWrite(); +void __CARDCheckSum(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDCheck.cpp b/libs/dolphin/card/CARDCheck.c similarity index 74% rename from libs/dolphin/card/CARDCheck.cpp rename to libs/dolphin/card/CARDCheck.c index 86c6a0e81d..12531f4116 100644 --- a/libs/dolphin/card/CARDCheck.cpp +++ b/libs/dolphin/card/CARDCheck.c @@ -11,13 +11,13 @@ // Forward References: // -extern "C" void __CARDCheckSum(); -extern "C" static void VerifyID(); -extern "C" static void VerifyDir(); -extern "C" static void VerifyFAT(); -extern "C" void __CARDVerify(); -extern "C" static void CARDCheckExAsync(); -extern "C" void CARDCheck(); +void __CARDCheckSum(); +static void VerifyID(); +static void VerifyDir(); +static void VerifyFAT(); +void __CARDVerify(); +static void CARDCheckExAsync(); +void CARDCheck(); // // External References: @@ -25,19 +25,19 @@ extern "C" void CARDCheck(); SECTION_INIT void memset(); SECTION_INIT void memcpy(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSLockSramEx(); -extern "C" void __OSUnlockSramEx(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDGetFontEncode(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void __CARDUpdateFatBlock(); -extern "C" void __CARDUpdateDir(); -extern "C" void __shr2i(); -extern "C" extern u8 __CARDBlock[544]; +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSLockSramEx(); +void __OSUnlockSramEx(); +void __CARDSyncCallback(); +void __CARDGetFontEncode(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDSync(); +void __CARDUpdateFatBlock(); +void __CARDUpdateDir(); +void __shr2i(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDCreate.cpp b/libs/dolphin/card/CARDCreate.c similarity index 61% rename from libs/dolphin/card/CARDCreate.cpp rename to libs/dolphin/card/CARDCreate.c index 436a23d22f..4b96229d48 100644 --- a/libs/dolphin/card/CARDCreate.cpp +++ b/libs/dolphin/card/CARDCreate.c @@ -11,31 +11,31 @@ // Forward References: // -extern "C" static void CreateCallbackFat(); -extern "C" static void CARDCreateAsync(); -extern "C" void CARDCreate(); +static void CreateCallbackFat(); +static void CARDCreateAsync(); +void CARDCreate(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void OSGetTime(); -extern "C" void __CARDDefaultApiCallback(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void __CARDGetFatBlock(); -extern "C" void __CARDAllocBlock(); -extern "C" void __CARDGetDirBlock(); -extern "C" void __CARDUpdateDir(); -extern "C" void __CARDCompareFileName(); -extern "C" void __div2i(); -extern "C" void memcmp(); -extern "C" void strncpy(); -extern "C" void strlen(); -extern "C" extern u8 __CARDBlock[544]; +void OSGetTime(); +void __CARDDefaultApiCallback(); +void __CARDSyncCallback(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDSync(); +void __CARDGetFatBlock(); +void __CARDAllocBlock(); +void __CARDGetDirBlock(); +void __CARDUpdateDir(); +void __CARDCompareFileName(); +void __div2i(); +void memcmp(); +void strncpy(); +void strlen(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDDir.cpp b/libs/dolphin/card/CARDDir.c similarity index 78% rename from libs/dolphin/card/CARDDir.cpp rename to libs/dolphin/card/CARDDir.c index b21bc8dd00..0bd2900be9 100644 --- a/libs/dolphin/card/CARDDir.cpp +++ b/libs/dolphin/card/CARDDir.c @@ -11,22 +11,22 @@ // Forward References: // -extern "C" void __CARDGetDirBlock(); -extern "C" static void WriteCallback(); -extern "C" static void EraseCallback(); -extern "C" void __CARDUpdateDir(); +void __CARDGetDirBlock(); +static void WriteCallback(); +static void EraseCallback(); +void __CARDUpdateDir(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void DCStoreRange(); -extern "C" void __CARDEraseSector(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDWrite(); -extern "C" void __CARDCheckSum(); -extern "C" extern u8 __CARDBlock[544]; +void DCStoreRange(); +void __CARDEraseSector(); +void __CARDPutControlBlock(); +void __CARDWrite(); +void __CARDCheckSum(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDFormat.cpp b/libs/dolphin/card/CARDFormat.c similarity index 60% rename from libs/dolphin/card/CARDFormat.cpp rename to libs/dolphin/card/CARDFormat.c index cc6137bc35..b5c87f0dcb 100644 --- a/libs/dolphin/card/CARDFormat.cpp +++ b/libs/dolphin/card/CARDFormat.c @@ -11,9 +11,9 @@ // Forward References: // -extern "C" static void FormatCallback(); -extern "C" void __CARDFormatRegionAsync(); -extern "C" void CARDFormat(); +static void FormatCallback(); +void __CARDFormatRegionAsync(); +void CARDFormat(); // // External References: @@ -21,23 +21,23 @@ extern "C" void CARDFormat(); SECTION_INIT void memset(); SECTION_INIT void memcpy(); -extern "C" void DCStoreRange(); -extern "C" void __OSLockSram(); -extern "C" void __OSLockSramEx(); -extern "C" void __OSUnlockSram(); -extern "C" void __OSUnlockSramEx(); -extern "C" void OSGetTime(); -extern "C" void __CARDDefaultApiCallback(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDEraseSector(); -extern "C" void __CARDGetFontEncode(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void __CARDWrite(); -extern "C" void __CARDCheckSum(); -extern "C" void __shr2i(); -extern "C" extern u8 __CARDBlock[544]; +void DCStoreRange(); +void __OSLockSram(); +void __OSLockSramEx(); +void __OSUnlockSram(); +void __OSUnlockSramEx(); +void OSGetTime(); +void __CARDDefaultApiCallback(); +void __CARDSyncCallback(); +void __CARDEraseSector(); +void __CARDGetFontEncode(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDSync(); +void __CARDWrite(); +void __CARDCheckSum(); +void __shr2i(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDMount.cpp b/libs/dolphin/card/CARDMount.c similarity index 70% rename from libs/dolphin/card/CARDMount.cpp rename to libs/dolphin/card/CARDMount.c index b46f8a4eaa..88cc8d4163 100644 --- a/libs/dolphin/card/CARDMount.cpp +++ b/libs/dolphin/card/CARDMount.c @@ -11,53 +11,53 @@ // Forward References: // -extern "C" static void IsCard(); -extern "C" void CARDProbe(); -extern "C" void CARDProbeEx(); -extern "C" static void DoMount(); -extern "C" void __CARDMountCallback(); -extern "C" static void CARDMountAsync(); -extern "C" void CARDMount(); -extern "C" static void DoUnmount(); -extern "C" void CARDUnmount(); +static void IsCard(); +void CARDProbe(); +void CARDProbeEx(); +static void DoMount(); +void __CARDMountCallback(); +static void CARDMountAsync(); +void CARDMount(); +static void DoUnmount(); +void CARDUnmount(); // // External References: // -extern "C" void OSCancelAlarm(); -extern "C" void DCInvalidateRange(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSLockSramEx(); -extern "C" void __OSUnlockSramEx(); -extern "C" void EXISetExiCallback(); -extern "C" void EXIProbe(); -extern "C" void EXIProbeEx(); -extern "C" void EXIAttach(); -extern "C" void EXIDetach(); -extern "C" void EXILock(); -extern "C" void EXIUnlock(); -extern "C" void EXIGetState(); -extern "C" void EXIGetID(); -extern "C" void __CARDDefaultApiCallback(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDExtHandler(); -extern "C" void __CARDExiHandler(); -extern "C" void __CARDUnlockedHandler(); -extern "C" void __CARDEnableInterrupt(); -extern "C" void __CARDReadStatus(); -extern "C" void __CARDReadVendorID(); -extern "C" void __CARDClearStatus(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void CARDGetFastMode(); -extern "C" void __CARDUnlock(); -extern "C" void __CARDRead(); -extern "C" void __CARDVerify(); -extern "C" extern u8 __CARDBlock[544]; -extern "C" extern u8 struct_80450A70[8]; +void OSCancelAlarm(); +void DCInvalidateRange(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSLockSramEx(); +void __OSUnlockSramEx(); +void EXISetExiCallback(); +void EXIProbe(); +void EXIProbeEx(); +void EXIAttach(); +void EXIDetach(); +void EXILock(); +void EXIUnlock(); +void EXIGetState(); +void EXIGetID(); +void __CARDDefaultApiCallback(); +void __CARDSyncCallback(); +void __CARDExtHandler(); +void __CARDExiHandler(); +void __CARDUnlockedHandler(); +void __CARDEnableInterrupt(); +void __CARDReadStatus(); +void __CARDReadVendorID(); +void __CARDClearStatus(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDSync(); +void CARDGetFastMode(); +void __CARDUnlock(); +void __CARDRead(); +void __CARDVerify(); +extern u8 __CARDBlock[544]; +extern u8 struct_80450A70[8]; // // Declarations: diff --git a/libs/dolphin/card/CARDNet.cpp b/libs/dolphin/card/CARDNet.c similarity index 85% rename from libs/dolphin/card/CARDNet.cpp rename to libs/dolphin/card/CARDNet.c index 92ac40b8ef..8c87a4acc4 100644 --- a/libs/dolphin/card/CARDNet.cpp +++ b/libs/dolphin/card/CARDNet.c @@ -11,15 +11,15 @@ // Forward References: // -extern "C" void CARDGetSerialNo(); -extern "C" extern u8 struct_80450A70[8]; +void CARDGetSerialNo(); +extern u8 struct_80450A70[8]; // // External References: // -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); // // Declarations: diff --git a/libs/dolphin/card/CARDOpen.cpp b/libs/dolphin/card/CARDOpen.c similarity index 80% rename from libs/dolphin/card/CARDOpen.cpp rename to libs/dolphin/card/CARDOpen.c index 986e1fda02..78b2264e9c 100644 --- a/libs/dolphin/card/CARDOpen.cpp +++ b/libs/dolphin/card/CARDOpen.c @@ -11,23 +11,23 @@ // Forward References: // -extern "C" void __CARDCompareFileName(); -extern "C" void __CARDAccess(); -extern "C" void __CARDIsWritable(); -extern "C" void __CARDIsReadable(); -extern "C" void CARDOpen(); -extern "C" void CARDClose(); +void __CARDCompareFileName(); +void __CARDAccess(); +void __CARDIsWritable(); +void __CARDIsReadable(); +void CARDOpen(); +void CARDClose(); // // External References: // -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDGetDirBlock(); -extern "C" void memcmp(); -extern "C" extern u8 __CARDDiskNone[32]; -extern "C" extern u8 struct_80450A70[8]; +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDGetDirBlock(); +void memcmp(); +extern u8 __CARDDiskNone[32]; +extern u8 struct_80450A70[8]; // // Declarations: diff --git a/libs/dolphin/card/CARDRdwr.cpp b/libs/dolphin/card/CARDRdwr.c similarity index 81% rename from libs/dolphin/card/CARDRdwr.cpp rename to libs/dolphin/card/CARDRdwr.c index 6fce3a0c3c..5e2565a384 100644 --- a/libs/dolphin/card/CARDRdwr.cpp +++ b/libs/dolphin/card/CARDRdwr.c @@ -11,19 +11,19 @@ // Forward References: // -extern "C" static void BlockReadCallback(); -extern "C" void __CARDRead(); -extern "C" static void BlockWriteCallback(); -extern "C" void __CARDWrite(); +static void BlockReadCallback(); +void __CARDRead(); +static void BlockWriteCallback(); +void __CARDWrite(); // // External References: // -extern "C" void __CARDReadSegment(); -extern "C" void __CARDWritePage(); -extern "C" void __CARDPutControlBlock(); -extern "C" extern u8 __CARDBlock[544]; +void __CARDReadSegment(); +void __CARDWritePage(); +void __CARDPutControlBlock(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDRead.cpp b/libs/dolphin/card/CARDRead.c similarity index 69% rename from libs/dolphin/card/CARDRead.cpp rename to libs/dolphin/card/CARDRead.c index 610badce89..3f6ae72bb9 100644 --- a/libs/dolphin/card/CARDRead.cpp +++ b/libs/dolphin/card/CARDRead.c @@ -11,26 +11,26 @@ // Forward References: // -extern "C" void __CARDSeek(); -extern "C" static void ReadCallback(); -extern "C" static void CARDReadAsync(); -extern "C" void CARDRead(); +void __CARDSeek(); +static void ReadCallback(); +static void CARDReadAsync(); +void CARDRead(); // // External References: // -extern "C" void DCInvalidateRange(); -extern "C" void __CARDDefaultApiCallback(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void __CARDRead(); -extern "C" void __CARDGetFatBlock(); -extern "C" void __CARDGetDirBlock(); -extern "C" void __CARDIsReadable(); -extern "C" extern u8 __CARDBlock[544]; +void DCInvalidateRange(); +void __CARDDefaultApiCallback(); +void __CARDSyncCallback(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDSync(); +void __CARDRead(); +void __CARDGetFatBlock(); +void __CARDGetDirBlock(); +void __CARDIsReadable(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDStat.cpp b/libs/dolphin/card/CARDStat.c similarity index 72% rename from libs/dolphin/card/CARDStat.cpp rename to libs/dolphin/card/CARDStat.c index cf84177e07..340690a561 100644 --- a/libs/dolphin/card/CARDStat.cpp +++ b/libs/dolphin/card/CARDStat.c @@ -11,26 +11,26 @@ // Forward References: // -extern "C" static void UpdateIconOffsets(); -extern "C" void CARDGetStatus(); -extern "C" static void CARDSetStatusAsync(); -extern "C" void CARDSetStatus(); +static void UpdateIconOffsets(); +void CARDGetStatus(); +static void CARDSetStatusAsync(); +void CARDSetStatus(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void OSGetTime(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDGetControlBlock(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void __CARDGetDirBlock(); -extern "C" void __CARDUpdateDir(); -extern "C" void __CARDIsWritable(); -extern "C" void __CARDIsReadable(); -extern "C" void __div2i(); +void OSGetTime(); +void __CARDSyncCallback(); +void __CARDGetControlBlock(); +void __CARDPutControlBlock(); +void __CARDSync(); +void __CARDGetDirBlock(); +void __CARDUpdateDir(); +void __CARDIsWritable(); +void __CARDIsReadable(); +void __div2i(); // // Declarations: diff --git a/libs/dolphin/card/CARDUnlock.cpp b/libs/dolphin/card/CARDUnlock.c similarity index 86% rename from libs/dolphin/card/CARDUnlock.cpp rename to libs/dolphin/card/CARDUnlock.c index 0ece7c87a1..9a039ba191 100644 --- a/libs/dolphin/card/CARDUnlock.cpp +++ b/libs/dolphin/card/CARDUnlock.c @@ -11,32 +11,32 @@ // Forward References: // -extern "C" static void bitrev(); -extern "C" static void ReadArrayUnlock(); -extern "C" static void DummyLen(); -extern "C" void __CARDUnlock(); -extern "C" static void InitCallback(); -extern "C" static void DoneCallback(); +static void bitrev(); +static void ReadArrayUnlock(); +static void DummyLen(); +void __CARDUnlock(); +static void InitCallback(); +static void DoneCallback(); // // External References: // SECTION_INIT void memset(); -extern "C" void DSPAddTask(); -extern "C" void DCInvalidateRange(); -extern "C" void DCFlushRange(); -extern "C" void OSGetTick(); -extern "C" void EXIImmEx(); -extern "C" void EXIProbe(); -extern "C" void EXISelect(); -extern "C" void EXIDeselect(); -extern "C" void EXIUnlock(); -extern "C" void DSPCheckMailToDSP(); -extern "C" void DSPSendMailToDSP(); -extern "C" void __CARDReadStatus(); -extern "C" void __CARDMountCallback(); -extern "C" extern u8 __CARDBlock[544]; +void DSPAddTask(); +void DCInvalidateRange(); +void DCFlushRange(); +void OSGetTick(); +void EXIImmEx(); +void EXIProbe(); +void EXISelect(); +void EXIDeselect(); +void EXIUnlock(); +void DSPCheckMailToDSP(); +void DSPSendMailToDSP(); +void __CARDReadStatus(); +void __CARDMountCallback(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/CARDWrite.cpp b/libs/dolphin/card/CARDWrite.c similarity index 65% rename from libs/dolphin/card/CARDWrite.cpp rename to libs/dolphin/card/CARDWrite.c index 18c8bd5b98..144e7d3080 100644 --- a/libs/dolphin/card/CARDWrite.cpp +++ b/libs/dolphin/card/CARDWrite.c @@ -11,30 +11,30 @@ // Forward References: // -extern "C" static void WriteCallback(); -extern "C" static void EraseCallback(); -extern "C" static void CARDWriteAsync(); -extern "C" void CARDWrite(); +static void WriteCallback(); +static void EraseCallback(); +static void CARDWriteAsync(); +void CARDWrite(); // // External References: // -extern "C" void DCStoreRange(); -extern "C" void OSGetTime(); -extern "C" void __CARDDefaultApiCallback(); -extern "C" void __CARDSyncCallback(); -extern "C" void __CARDEraseSector(); -extern "C" void __CARDPutControlBlock(); -extern "C" void __CARDSync(); -extern "C" void __CARDWrite(); -extern "C" void __CARDGetFatBlock(); -extern "C" void __CARDGetDirBlock(); -extern "C" void __CARDUpdateDir(); -extern "C" void __CARDIsWritable(); -extern "C" void __CARDSeek(); -extern "C" void __div2i(); -extern "C" extern u8 __CARDBlock[544]; +void DCStoreRange(); +void OSGetTime(); +void __CARDDefaultApiCallback(); +void __CARDSyncCallback(); +void __CARDEraseSector(); +void __CARDPutControlBlock(); +void __CARDSync(); +void __CARDWrite(); +void __CARDGetFatBlock(); +void __CARDGetDirBlock(); +void __CARDUpdateDir(); +void __CARDIsWritable(); +void __CARDSeek(); +void __div2i(); +extern u8 __CARDBlock[544]; // // Declarations: diff --git a/libs/dolphin/card/Makefile b/libs/dolphin/card/Makefile index e6e68d4938..962ff91442 100644 --- a/libs/dolphin/card/Makefile +++ b/libs/dolphin/card/Makefile @@ -3,20 +3,20 @@ # LIBCARD_A_CPP_FILES := \ - libs/dolphin/card/CARDBios.cpp \ - libs/dolphin/card/CARDUnlock.cpp \ - libs/dolphin/card/CARDRdwr.cpp \ - libs/dolphin/card/CARDBlock.cpp \ - libs/dolphin/card/CARDDir.cpp \ - libs/dolphin/card/CARDCheck.cpp \ - libs/dolphin/card/CARDMount.cpp \ - libs/dolphin/card/CARDFormat.cpp \ - libs/dolphin/card/CARDOpen.cpp \ - libs/dolphin/card/CARDCreate.cpp \ - libs/dolphin/card/CARDRead.cpp \ - libs/dolphin/card/CARDWrite.cpp \ - libs/dolphin/card/CARDStat.cpp \ - libs/dolphin/card/CARDNet.cpp \ + libs/dolphin/card/CARDBios.c \ + libs/dolphin/card/CARDUnlock.c \ + libs/dolphin/card/CARDRdwr.c \ + libs/dolphin/card/CARDBlock.c \ + libs/dolphin/card/CARDDir.c \ + libs/dolphin/card/CARDCheck.c \ + libs/dolphin/card/CARDMount.c \ + libs/dolphin/card/CARDFormat.c \ + libs/dolphin/card/CARDOpen.c \ + libs/dolphin/card/CARDCreate.c \ + libs/dolphin/card/CARDRead.c \ + libs/dolphin/card/CARDWrite.c \ + libs/dolphin/card/CARDStat.c \ + libs/dolphin/card/CARDNet.c \ LIBCARD_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/card/CARDBios.o \ @@ -35,6 +35,8 @@ LIBCARD_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/card/CARDNet.o \ LIBCARD_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBCARD_A_LDFLAGS := \ -nodefaults \ @@ -47,9 +49,9 @@ $(BUILD_DIR)/libcard.a: $(LIBCARD_A_O_FILES) @echo $(LIBCARD_A_O_FILES) > build/LIBCARD_A_ofiles @$(LD) -xm l $(LIBCARD_A_LDFLAGS) -o $(BUILD_DIR)/libcard.a @build/LIBCARD_A_ofiles -$(BUILD_DIR)/libs/dolphin/card/%.o: libs/dolphin/card/%.cpp +$(BUILD_DIR)/libs/dolphin/card/%.o: libs/dolphin/card/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBCARD_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBCARD_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/db/Makefile b/libs/dolphin/db/Makefile index aaf31529b8..4bcef9c0fb 100644 --- a/libs/dolphin/db/Makefile +++ b/libs/dolphin/db/Makefile @@ -3,12 +3,14 @@ # LIBDB_A_CPP_FILES := \ - libs/dolphin/db/db.cpp \ + libs/dolphin/db/db.c \ LIBDB_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/db/db.o \ LIBDB_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBDB_A_LDFLAGS := \ -nodefaults \ @@ -21,9 +23,9 @@ $(BUILD_DIR)/libdb.a: $(LIBDB_A_O_FILES) @echo $(LIBDB_A_O_FILES) > build/LIBDB_A_ofiles @$(LD) -xm l $(LIBDB_A_LDFLAGS) -o $(BUILD_DIR)/libdb.a @build/LIBDB_A_ofiles -$(BUILD_DIR)/libs/dolphin/db/%.o: libs/dolphin/db/%.cpp +$(BUILD_DIR)/libs/dolphin/db/%.o: libs/dolphin/db/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBDB_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBDB_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/db/db.cpp b/libs/dolphin/db/db.c similarity index 81% rename from libs/dolphin/db/db.cpp rename to libs/dolphin/db/db.c index cb0db52bcc..66f131c1d1 100644 --- a/libs/dolphin/db/db.cpp +++ b/libs/dolphin/db/db.c @@ -11,19 +11,19 @@ // Forward References: // -extern "C" void DBInit(); -extern "C" void __DBExceptionDestinationAux(); -extern "C" void __DBExceptionDestination(); -extern "C" void __DBIsExceptionMarked(); -extern "C" void DBPrintf(); +void DBInit(); +void __DBExceptionDestinationAux(); +void __DBExceptionDestination(); +void __DBIsExceptionMarked(); +void DBPrintf(); // // External References: // -extern "C" void OSReport(); -extern "C" void PPCHalt(); -extern "C" void OSDumpContext(); +void OSReport(); +void PPCHalt(); +void OSDumpContext(); // // Declarations: @@ -48,10 +48,7 @@ asm void DBInit() { /* ############################################################################################## */ /* 803D1368-803D1380 02E488 0018+00 1/1 0/0 0/0 .data @9 */ -SECTION_DATA static u8 lit_9[24] = { - 0x44, 0x42, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x44, - 0x65, 0x73, 0x74, 0x69, 0x6E, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x0A, 0x00, -}; +SECTION_DATA static char lit_9[] = "DBExceptionDestination\n";; /* 803463C0-80346408 340D00 0048+00 1/1 0/0 0/0 .text __DBExceptionDestinationAux */ #pragma push diff --git a/libs/dolphin/dsp/Makefile b/libs/dolphin/dsp/Makefile index 9b85f6c13b..e4040f765b 100644 --- a/libs/dolphin/dsp/Makefile +++ b/libs/dolphin/dsp/Makefile @@ -3,9 +3,9 @@ # LIBDSP_A_CPP_FILES := \ - libs/dolphin/dsp/dsp.cpp \ - libs/dolphin/dsp/dsp_debug.cpp \ - libs/dolphin/dsp/dsp_task.cpp \ + libs/dolphin/dsp/dsp.c \ + libs/dolphin/dsp/dsp_debug.c \ + libs/dolphin/dsp/dsp_task.c \ LIBDSP_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/dsp/dsp.o \ @@ -13,6 +13,8 @@ LIBDSP_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/dsp/dsp_task.o \ LIBDSP_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBDSP_A_LDFLAGS := \ -nodefaults \ @@ -25,9 +27,9 @@ $(BUILD_DIR)/libdsp.a: $(LIBDSP_A_O_FILES) @echo $(LIBDSP_A_O_FILES) > build/LIBDSP_A_ofiles @$(LD) -xm l $(LIBDSP_A_LDFLAGS) -o $(BUILD_DIR)/libdsp.a @build/LIBDSP_A_ofiles -$(BUILD_DIR)/libs/dolphin/dsp/%.o: libs/dolphin/dsp/%.cpp +$(BUILD_DIR)/libs/dolphin/dsp/%.o: libs/dolphin/dsp/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBDSP_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBDSP_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/dsp/dsp.cpp b/libs/dolphin/dsp/dsp.c similarity index 55% rename from libs/dolphin/dsp/dsp.cpp rename to libs/dolphin/dsp/dsp.c index e47ddbbfd2..4e1118a6fe 100644 --- a/libs/dolphin/dsp/dsp.cpp +++ b/libs/dolphin/dsp/dsp.c @@ -11,28 +11,28 @@ // Forward References: // -extern "C" void DSPCheckMailToDSP(); -extern "C" void DSPCheckMailFromDSP(); -extern "C" void DSPReadMailFromDSP(); -extern "C" void DSPSendMailToDSP(); -extern "C" void DSPAssertInt(); -extern "C" void DSPInit(); +void DSPCheckMailToDSP(); +void DSPCheckMailFromDSP(); +void DSPReadMailFromDSP(); +void DSPSendMailToDSP(); +void DSPAssertInt(); +void DSPInit(); // // External References: // -extern "C" void __DSPHandler(); -extern "C" void OSRegisterVersion(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void __DSP_debug_printf(); -extern "C" extern u8 __DSP_tmp_task[4]; -extern "C" extern u8 __DSP_last_task[4]; -extern "C" extern u8 __DSP_first_task[4]; -extern "C" extern u8 __DSP_curr_task[4]; +void __DSPHandler(); +void OSRegisterVersion(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSUnmaskInterrupts(); +void __DSP_debug_printf(); +extern u8 __DSP_tmp_task[4]; +extern u8 __DSP_last_task[4]; +extern u8 __DSP_first_task[4]; +extern u8 __DSP_curr_task[4]; // // Declarations: @@ -90,148 +90,24 @@ asm void DSPAssertInt() { /* ############################################################################################## */ /* 803D1C78-803D1CC0 02ED98 0045+03 2/1 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x44, - 0x53, - 0x50, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x35, - 0x3A, - 0x33, - 0x32, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - DSP\trelease build: Apr 5 2004 04:15:32 (0x2301) >>"; /* 803D1CC0-803D1CE0 02EDE0 001E+02 0/1 0/0 0/0 .data @19 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_19[30 + 2 /* padding */] = { - 0x44, - 0x53, - 0x50, - 0x49, - 0x6E, - 0x69, - 0x74, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x42, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x20, - 0x44, - 0x61, - 0x74, - 0x65, - 0x3A, - 0x20, - 0x25, - 0x73, - 0x20, - 0x25, - 0x73, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_19[] = "DSPInit(): Build Date: %s %s\n"; #pragma pop /* 803D1CE0-803D1CEC 02EE00 000C+00 0/1 0/0 0/0 .data @20 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_20[12] = { - 0x41, 0x70, 0x72, 0x20, 0x20, 0x35, 0x20, 0x32, 0x30, 0x30, 0x34, 0x00, -}; +SECTION_DATA static char lit_20[] = "Apr 5 2004"; #pragma pop /* 803D1CEC-803D1CF8 02EE0C 0009+03 0/1 0/0 0/0 .data @21 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_21[9 + 3 /* padding */] = { - 0x30, - 0x34, - 0x3A, - 0x31, - 0x35, - 0x3A, - 0x33, - 0x32, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_21[] = "04:15:32"; #pragma pop /* 80450A58-80450A60 -00001 0004+04 1/1 0/0 0/0 .sdata __DSPVersion */ diff --git a/libs/dolphin/dsp/dsp_debug.cpp b/libs/dolphin/dsp/dsp_debug.c similarity index 93% rename from libs/dolphin/dsp/dsp_debug.cpp rename to libs/dolphin/dsp/dsp_debug.c index 179cd6d28b..8255a1a364 100644 --- a/libs/dolphin/dsp/dsp_debug.cpp +++ b/libs/dolphin/dsp/dsp_debug.c @@ -11,7 +11,7 @@ // Forward References: // -extern "C" void __DSP_debug_printf(); +void __DSP_debug_printf(); // // External References: diff --git a/libs/dolphin/dsp/dsp_task.c b/libs/dolphin/dsp/dsp_task.c new file mode 100644 index 0000000000..032a0357b4 --- /dev/null +++ b/libs/dolphin/dsp/dsp_task.c @@ -0,0 +1,129 @@ +// +// Generated By: dol2asm +// Translation Unit: dsp_task +// + +#include "dolphin/dsp/dsp_task.h" +#include "dol2asm.h" +#include "dolphin/types.h" + +// +// Forward References: +// + +void __DSP_exec_task(); +void __DSP_boot_task(); +void __DSP_insert_task(); +void __DSP_remove_task(); + +// +// External References: +// + +void DSPCheckMailToDSP(); +void DSPCheckMailFromDSP(); +void DSPReadMailFromDSP(); +void DSPSendMailToDSP(); +void __DSP_debug_printf(); + +// +// Declarations: +// + +/* 803525D0-80352770 34CF10 01A0+00 0/0 1/1 0/0 .text __DSP_exec_task */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __DSP_exec_task() { + nofralloc +#include "asm/dolphin/dsp/dsp_task/__DSP_exec_task.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803D1CF8-803D1D18 02EE18 001D+03 1/1 0/0 0/0 .data @266 */ +SECTION_DATA static char lit_266[] = "DSP is booting task: 0x%08X\n"; + +/* 803D1D18-803D1D48 02EE38 002D+03 0/1 0/0 0/0 .data @267 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_267[] = "__DSP_boot_task() : IRAM MMEM ADDR: 0x%08X\n"; +#pragma pop + +/* 803D1D48-803D1D78 02EE68 002D+03 0/1 0/0 0/0 .data @268 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_268[] = "__DSP_boot_task() : IRAM DSP ADDR : 0x%08X\n"; +#pragma pop + +/* 803D1D78-803D1DA8 02EE98 002D+03 0/1 0/0 0/0 .data @269 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_269[] = "__DSP_boot_task() : IRAM LENGTH : 0x%08X\n"; +#pragma pop + +/* 803D1DA8-803D1DD8 02EEC8 002D+03 0/1 0/0 0/0 .data @270 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_270[] = "__DSP_boot_task() : DRAM MMEM ADDR: 0x%08X\n"; +#pragma pop + +/* 803D1DD8-803D1E08 02EEF8 002D+03 0/1 0/0 0/0 .data @271 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_271[] = "__DSP_boot_task() : Start Vector : 0x%08X\n"; +#pragma pop + +/* 80352770-803528FC 34D0B0 018C+00 0/0 1/1 0/0 .text __DSP_boot_task */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __DSP_boot_task() { + nofralloc +#include "asm/dolphin/dsp/dsp_task/__DSP_boot_task.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 80451914-80451918 000E14 0004+00 2/2 2/2 0/0 .sbss __DSP_curr_task */ +extern u8 __DSP_curr_task[4]; +u8 __DSP_curr_task[4]; + +/* 80451910-80451914 000E10 0004+00 2/2 2/2 0/0 .sbss __DSP_first_task */ +extern u8 __DSP_first_task[4]; +u8 __DSP_first_task[4]; + +/* 8045190C-80451910 000E0C 0004+00 2/2 1/1 0/0 .sbss __DSP_last_task */ +extern u8 __DSP_last_task[4]; +u8 __DSP_last_task[4]; + +/* 80451908-8045190C 000E08 0004+00 0/0 1/1 0/0 .sbss __DSP_tmp_task */ +extern u8 __DSP_tmp_task[4]; +u8 __DSP_tmp_task[4]; + +/* 803528FC-8035299C 34D23C 00A0+00 0/0 1/1 0/0 .text __DSP_insert_task */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __DSP_insert_task() { + nofralloc +#include "asm/dolphin/dsp/dsp_task/__DSP_insert_task.s" +} +#pragma pop + +/* 8035299C-80352A30 34D2DC 0094+00 0/0 1/1 0/0 .text __DSP_remove_task */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __DSP_remove_task() { + nofralloc +#include "asm/dolphin/dsp/dsp_task/__DSP_remove_task.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803D1E08-803D1E38 02EF28 002B+05 0/0 0/0 0/0 .data @294 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_294[] = "__DSP_add_task() : Added task : 0x%08X\n"; +#pragma pop diff --git a/libs/dolphin/dsp/dsp_task.cpp b/libs/dolphin/dsp/dsp_task.cpp deleted file mode 100644 index 9792913724..0000000000 --- a/libs/dolphin/dsp/dsp_task.cpp +++ /dev/null @@ -1,463 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: dsp_task -// - -#include "dolphin/dsp/dsp_task.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __DSP_exec_task(); -extern "C" void __DSP_boot_task(); -extern "C" void __DSP_insert_task(); -extern "C" void __DSP_remove_task(); - -// -// External References: -// - -extern "C" void DSPCheckMailToDSP(); -extern "C" void DSPCheckMailFromDSP(); -extern "C" void DSPReadMailFromDSP(); -extern "C" void DSPSendMailToDSP(); -extern "C" void __DSP_debug_printf(); - -// -// Declarations: -// - -/* 803525D0-80352770 34CF10 01A0+00 0/0 1/1 0/0 .text __DSP_exec_task */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DSP_exec_task() { - nofralloc -#include "asm/dolphin/dsp/dsp_task/__DSP_exec_task.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803D1CF8-803D1D18 02EE18 001D+03 1/1 0/0 0/0 .data @266 */ -SECTION_DATA static u8 lit_266[29 + 3 /* padding */] = { - 0x44, - 0x53, - 0x50, - 0x20, - 0x69, - 0x73, - 0x20, - 0x62, - 0x6F, - 0x6F, - 0x74, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; - -/* 803D1D18-803D1D48 02EE38 002D+03 0/1 0/0 0/0 .data @267 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_267[45 + 3 /* padding */] = { - 0x5F, - 0x5F, - 0x44, - 0x53, - 0x50, - 0x5F, - 0x62, - 0x6F, - 0x6F, - 0x74, - 0x5F, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x28, - 0x29, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x49, - 0x52, - 0x41, - 0x4D, - 0x20, - 0x4D, - 0x4D, - 0x45, - 0x4D, - 0x20, - 0x41, - 0x44, - 0x44, - 0x52, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D1D48-803D1D78 02EE68 002D+03 0/1 0/0 0/0 .data @268 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_268[45 + 3 /* padding */] = { - 0x5F, - 0x5F, - 0x44, - 0x53, - 0x50, - 0x5F, - 0x62, - 0x6F, - 0x6F, - 0x74, - 0x5F, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x28, - 0x29, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x49, - 0x52, - 0x41, - 0x4D, - 0x20, - 0x44, - 0x53, - 0x50, - 0x20, - 0x41, - 0x44, - 0x44, - 0x52, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D1D78-803D1DA8 02EE98 002D+03 0/1 0/0 0/0 .data @269 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_269[45 + 3 /* padding */] = { - 0x5F, - 0x5F, - 0x44, - 0x53, - 0x50, - 0x5F, - 0x62, - 0x6F, - 0x6F, - 0x74, - 0x5F, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x28, - 0x29, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x49, - 0x52, - 0x41, - 0x4D, - 0x20, - 0x4C, - 0x45, - 0x4E, - 0x47, - 0x54, - 0x48, - 0x20, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D1DA8-803D1DD8 02EEC8 002D+03 0/1 0/0 0/0 .data @270 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_270[45 + 3 /* padding */] = { - 0x5F, - 0x5F, - 0x44, - 0x53, - 0x50, - 0x5F, - 0x62, - 0x6F, - 0x6F, - 0x74, - 0x5F, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x28, - 0x29, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x44, - 0x52, - 0x41, - 0x4D, - 0x20, - 0x4D, - 0x4D, - 0x45, - 0x4D, - 0x20, - 0x41, - 0x44, - 0x44, - 0x52, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D1DD8-803D1E08 02EEF8 002D+03 0/1 0/0 0/0 .data @271 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_271[45 + 3 /* padding */] = { - 0x5F, - 0x5F, - 0x44, - 0x53, - 0x50, - 0x5F, - 0x62, - 0x6F, - 0x6F, - 0x74, - 0x5F, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x28, - 0x29, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x53, - 0x74, - 0x61, - 0x72, - 0x74, - 0x20, - 0x56, - 0x65, - 0x63, - 0x74, - 0x6F, - 0x72, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 80352770-803528FC 34D0B0 018C+00 0/0 1/1 0/0 .text __DSP_boot_task */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DSP_boot_task() { - nofralloc -#include "asm/dolphin/dsp/dsp_task/__DSP_boot_task.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80451908-8045190C 000E08 0004+00 0/0 1/1 0/0 .sbss __DSP_tmp_task */ -extern u8 __DSP_tmp_task[4]; -u8 __DSP_tmp_task[4]; - -/* 8045190C-80451910 000E0C 0004+00 2/2 1/1 0/0 .sbss __DSP_last_task */ -extern u8 __DSP_last_task[4]; -u8 __DSP_last_task[4]; - -/* 80451910-80451914 000E10 0004+00 2/2 2/2 0/0 .sbss __DSP_first_task */ -extern u8 __DSP_first_task[4]; -u8 __DSP_first_task[4]; - -/* 80451914-80451918 000E14 0004+00 2/2 2/2 0/0 .sbss __DSP_curr_task */ -extern u8 __DSP_curr_task[4]; -u8 __DSP_curr_task[4]; - -/* 803528FC-8035299C 34D23C 00A0+00 0/0 1/1 0/0 .text __DSP_insert_task */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DSP_insert_task() { - nofralloc -#include "asm/dolphin/dsp/dsp_task/__DSP_insert_task.s" -} -#pragma pop - -/* 8035299C-80352A30 34D2DC 0094+00 0/0 1/1 0/0 .text __DSP_remove_task */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DSP_remove_task() { - nofralloc -#include "asm/dolphin/dsp/dsp_task/__DSP_remove_task.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803D1E08-803D1E38 02EF28 002B+05 0/0 0/0 0/0 .data @294 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_294[43 + 5 /* padding */] = { - 0x5F, - 0x5F, - 0x44, - 0x53, - 0x50, - 0x5F, - 0x61, - 0x64, - 0x64, - 0x5F, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x28, - 0x29, - 0x20, - 0x3A, - 0x20, - 0x41, - 0x64, - 0x64, - 0x65, - 0x64, - 0x20, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x20, - 0x20, - 0x20, - 0x20, - 0x3A, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x58, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -#pragma pop diff --git a/libs/dolphin/dvd/Makefile b/libs/dolphin/dvd/Makefile index 89a730f084..cc820f8960 100644 --- a/libs/dolphin/dvd/Makefile +++ b/libs/dolphin/dvd/Makefile @@ -3,14 +3,14 @@ # LIBDVD_A_CPP_FILES := \ - libs/dolphin/dvd/dvdlow.cpp \ - libs/dolphin/dvd/dvdfs.cpp \ - libs/dolphin/dvd/dvd.cpp \ - libs/dolphin/dvd/dvdqueue.cpp \ - libs/dolphin/dvd/dvderror.cpp \ - libs/dolphin/dvd/dvdidutils.cpp \ - libs/dolphin/dvd/dvdFatal.cpp \ - libs/dolphin/dvd/fstload.cpp \ + libs/dolphin/dvd/dvdlow.c \ + libs/dolphin/dvd/dvdfs.c \ + libs/dolphin/dvd/dvd.c \ + libs/dolphin/dvd/dvdqueue.c \ + libs/dolphin/dvd/dvderror.c \ + libs/dolphin/dvd/dvdidutils.c \ + libs/dolphin/dvd/dvdFatal.c \ + libs/dolphin/dvd/fstload.c \ LIBDVD_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/dvd/dvdlow.o \ @@ -23,6 +23,8 @@ LIBDVD_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/dvd/fstload.o \ LIBDVD_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBDVD_A_LDFLAGS := \ -nodefaults \ @@ -35,9 +37,9 @@ $(BUILD_DIR)/libdvd.a: $(LIBDVD_A_O_FILES) @echo $(LIBDVD_A_O_FILES) > build/LIBDVD_A_ofiles @$(LD) -xm l $(LIBDVD_A_LDFLAGS) -o $(BUILD_DIR)/libdvd.a @build/LIBDVD_A_ofiles -$(BUILD_DIR)/libs/dolphin/dvd/%.o: libs/dolphin/dvd/%.cpp +$(BUILD_DIR)/libs/dolphin/dvd/%.o: libs/dolphin/dvd/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBDVD_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBDVD_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/dvd/dvd.cpp b/libs/dolphin/dvd/dvd.c similarity index 77% rename from libs/dolphin/dvd/dvd.cpp rename to libs/dolphin/dvd/dvd.c index 8c1c9b20bc..1167b07ae1 100644 --- a/libs/dolphin/dvd/dvd.cpp +++ b/libs/dolphin/dvd/dvd.c @@ -11,96 +11,95 @@ // Forward References: // -extern "C" static void defaultOptionalCommandChecker(); -extern "C" void DVDInit(); -extern "C" static void stateReadingFST(); -extern "C" static void cbForStateReadingFST(); -extern "C" static void cbForStateError(); -extern "C" static void stateTimeout(); -extern "C" static void stateGettingError(); -extern "C" static void CategorizeError(); -extern "C" static void cbForStateGettingError(); -extern "C" static void cbForUnrecoveredError(); -extern "C" static void cbForUnrecoveredErrorRetry(); -extern "C" static void stateGoToRetry(); -extern "C" static void cbForStateGoToRetry(); -extern "C" static void stateCheckID(); -extern "C" static void stateCheckID3(); -extern "C" static void stateCheckID2a(); -extern "C" static void cbForStateCheckID2a(); -extern "C" static void stateCheckID2(); -extern "C" static void cbForStateCheckID1(); -extern "C" static void cbForStateCheckID2(); -extern "C" static void cbForStateCheckID3(); -extern "C" static void AlarmHandler(); -extern "C" static void stateCoverClosed(); -extern "C" static void stateCoverClosed_CMD(); -extern "C" static void cbForStateCoverClosed(); -extern "C" static void stateMotorStopped(); -extern "C" static void cbForStateMotorStopped(); -extern "C" static void stateReady(); -extern "C" static void stateBusy(); -extern "C" static void cbForStateBusy(); -extern "C" void DVDReadAbsAsyncPrio(); -extern "C" void DVDReadAbsAsyncForBS(); -extern "C" void DVDReadDiskID(); -extern "C" void DVDCancelStreamAsync(); -extern "C" void DVDInquiryAsync(); -extern "C" void DVDReset(); -extern "C" void DVDSetAutoInvalidation(); -extern "C" void DVDResume(); -extern "C" static void DVDCancelAsync(); -extern "C" void DVDCancel(); -extern "C" static void cbForCancelSync(); -extern "C" void __DVDPrepareResetAsync(); -extern "C" void __DVDTestAlarm(); +static void defaultOptionalCommandChecker(); +static void stateReadingFST(); +static void cbForStateReadingFST(); +static void cbForStateError(); +static void stateTimeout(); +static void stateGettingError(); +static void CategorizeError(); +static void cbForStateGettingError(); +static void cbForUnrecoveredError(); +static void cbForUnrecoveredErrorRetry(); +static void stateGoToRetry(); +static void cbForStateGoToRetry(); +static void stateCheckID(); +static void stateCheckID3(); +static void stateCheckID2a(); +static void cbForStateCheckID2a(); +static void stateCheckID2(); +static void cbForStateCheckID1(); +static void cbForStateCheckID2(); +static void cbForStateCheckID3(); +static void AlarmHandler(); +static void stateCoverClosed(); +static void stateCoverClosed_CMD(); +static void cbForStateCoverClosed(); +static void stateMotorStopped(); +static void cbForStateMotorStopped(); +static void stateReady(); +static void stateBusy(); +static void cbForStateBusy(); +void DVDReadAbsAsyncPrio(); +void DVDReadAbsAsyncForBS(); +void DVDReadDiskID(); +void DVDCancelStreamAsync(); +void DVDInquiryAsync(); +void DVDReset(); +void DVDSetAutoInvalidation(); +void DVDResume(); +static void DVDCancelAsync(); +void DVDCancel(); +static void cbForCancelSync(); +void __DVDPrepareResetAsync(); +void __DVDTestAlarm(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void OSReport(); -extern "C" void OSPanic(); -extern "C" void OSRegisterVersion(); -extern "C" void OSCreateAlarm(); -extern "C" void OSSetAlarm(); -extern "C" void DCInvalidateRange(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void OSInitThreadQueue(); -extern "C" void OSSleepThread(); -extern "C" void OSWakeupThread(); -extern "C" void __DVDInitWA(); -extern "C" void __DVDInterruptHandler(); -extern "C" void DVDLowRead(); -extern "C" void DVDLowSeek(); -extern "C" void DVDLowWaitCoverClose(); -extern "C" void DVDLowReadDiskID(); -extern "C" void DVDLowStopMotor(); -extern "C" void DVDLowRequestError(); -extern "C" void DVDLowInquiry(); -extern "C" void DVDLowAudioStream(); -extern "C" void DVDLowRequestAudioStatus(); -extern "C" void DVDLowAudioBufferConfig(); -extern "C" void DVDLowReset(); -extern "C" void DVDLowBreak(); -extern "C" void DVDLowClearCallback(); -extern "C" void __DVDLowTestAlarm(); -extern "C" void __DVDFSInit(); -extern "C" void __DVDClearWaitingQueue(); -extern "C" void __DVDPushWaitingQueue(); -extern "C" void __DVDPopWaitingQueue(); -extern "C" void __DVDCheckWaitingQueue(); -extern "C" void __DVDDequeueWaitingQueue(); -extern "C" void __DVDStoreErrorCode(); -extern "C" void DVDCompareDiskID(); -extern "C" void __DVDPrintFatalMessage(); -extern "C" void __fstLoad(); -extern "C" void memcmp(); -extern "C" extern u8 __DVDThreadQueue[8]; +void OSReport(); +void OSPanic(); +void OSRegisterVersion(); +void OSCreateAlarm(); +void OSSetAlarm(); +void DCInvalidateRange(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSUnmaskInterrupts(); +void OSInitThreadQueue(); +void OSSleepThread(); +void OSWakeupThread(); +void __DVDInitWA(); +void __DVDInterruptHandler(); +void DVDLowRead(); +void DVDLowSeek(); +void DVDLowWaitCoverClose(); +void DVDLowReadDiskID(); +void DVDLowStopMotor(); +void DVDLowRequestError(); +void DVDLowInquiry(); +void DVDLowAudioStream(); +void DVDLowRequestAudioStatus(); +void DVDLowAudioBufferConfig(); +void DVDLowReset(); +void DVDLowBreak(); +void DVDLowClearCallback(); +void __DVDLowTestAlarm(); +void __DVDFSInit(); +void __DVDClearWaitingQueue(); +void __DVDPushWaitingQueue(); +void __DVDPopWaitingQueue(); +void __DVDCheckWaitingQueue(); +void __DVDDequeueWaitingQueue(); +void __DVDStoreErrorCode(); +void DVDCompareDiskID(); +void __DVDPrintFatalMessage(); +void __fstLoad(); +void memcmp(); +extern u8 __DVDThreadQueue[8]; // // Declarations: @@ -113,98 +112,10 @@ static void defaultOptionalCommandChecker() { /* ############################################################################################## */ /* 803D1520-803D1568 02E640 0045+03 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x44, - 0x56, - 0x44, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x34, - 0x3A, - 0x35, - 0x31, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - DVD\trelease build: Apr 5 2004 04:14:51 (0x2301) >>"; /* 803D1568-803D1574 02E688 000A+02 1/1 0/0 0/0 .data @18 */ -SECTION_DATA static u8 lit_18[10 + 2 /* padding */] = { - 0x6C, - 0x6F, - 0x61, - 0x64, - 0x20, - 0x66, - 0x73, - 0x74, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_18[] = "load fst\n"; /* 804509E8-804509EC -00001 0004+00 1/1 0/0 0/0 .sdata __DVDVersion */ SECTION_SDATA static void* __DVDVersion = (void*)&lit_1; @@ -267,7 +178,7 @@ static u8 DVDInitialized[4]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void DVDInit() { +asm void DVDInit(void) { nofralloc #include "asm/dolphin/dvd/dvd/DVDInit.s" } @@ -275,12 +186,7 @@ asm void DVDInit() { /* ############################################################################################## */ /* 803D1574-803D15A8 02E694 0034+00 2/2 0/0 0/0 .data @24 */ -SECTION_DATA static u8 lit_24[52] = { - 0x44, 0x56, 0x44, 0x43, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x44, 0x69, 0x73, 0x6B, - 0x28, 0x29, 0x3A, 0x20, 0x46, 0x53, 0x54, 0x20, 0x69, 0x6E, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6E, 0x65, 0x77, 0x20, 0x64, 0x69, 0x73, 0x63, 0x20, 0x69, 0x73, - 0x20, 0x74, 0x6F, 0x6F, 0x20, 0x62, 0x69, 0x67, 0x2E, 0x20, 0x20, 0x20, 0x00, -}; +SECTION_DATA static char lit_24[] = "DVDChangeDisk(): FST in the new disc is too big. "; /* 8044C900-8044C920 079620 0020+00 8/8 0/0 0/0 .bss BB2 */ static u8 BB2[32]; @@ -292,17 +198,7 @@ SECTION_SDATA static u32 autoInvalidation = 0x00000001; SECTION_SDATA static void* checkOptionalCommand = (void*)defaultOptionalCommandChecker; /* 804509F4-804509FC 000474 0006+02 2/2 0/0 0/0 .sdata @23 */ -SECTION_SDATA static u8 lit_23[6 + 2 /* padding */] = { - 0x64, - 0x76, - 0x64, - 0x2E, - 0x63, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_SDATA static char lit_23[] = "dvd.c"; /* 804517C0-804517C8 000CC0 0004+04 6/6 0/0 0/0 .sbss LastState */ static u8 LastState[4 + 4 /* padding */]; @@ -725,77 +621,7 @@ asm void DVDResume() { /* 803D15F8-803D163C 02E718 0041+03 0/0 0/0 0/0 .data @789 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_789[65 + 3 /* padding */] = { - 0x44, - 0x56, - 0x44, - 0x43, - 0x68, - 0x61, - 0x6E, - 0x67, - 0x65, - 0x44, - 0x69, - 0x73, - 0x6B, - 0x41, - 0x73, - 0x79, - 0x6E, - 0x63, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x59, - 0x6F, - 0x75, - 0x20, - 0x63, - 0x61, - 0x6E, - 0x27, - 0x74, - 0x20, - 0x73, - 0x70, - 0x65, - 0x63, - 0x69, - 0x66, - 0x79, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x63, - 0x6F, - 0x6D, - 0x70, - 0x61, - 0x6E, - 0x79, - 0x20, - 0x6E, - 0x61, - 0x6D, - 0x65, - 0x2E, - 0x20, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_789[] = "DVDChangeDiskAsync(): You can't specify NULL to company name. \n"; #pragma pop /* 803D163C-803D1670 -00001 0034+00 1/1 0/0 0/0 .data @956 */ @@ -873,7 +699,7 @@ SECTION_DATA static void* lit_1060[13 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s32 DVDCheckDisk() { +asm BOOL DVDCheckDisk() { nofralloc #include "asm/dolphin/dvd/dvd/DVDCheckDisk.s" } diff --git a/libs/dolphin/dvd/dvdFatal.cpp b/libs/dolphin/dvd/dvdFatal.c similarity index 94% rename from libs/dolphin/dvd/dvdFatal.cpp rename to libs/dolphin/dvd/dvdFatal.c index 2a6e85c89c..29b0376a64 100644 --- a/libs/dolphin/dvd/dvdFatal.cpp +++ b/libs/dolphin/dvd/dvdFatal.c @@ -11,7 +11,7 @@ // Forward References: // -extern "C" void __DVDPrintFatalMessage(); +void __DVDPrintFatalMessage(); // // External References: diff --git a/libs/dolphin/dvd/dvderror.cpp b/libs/dolphin/dvd/dvderror.c similarity index 90% rename from libs/dolphin/dvd/dvderror.cpp rename to libs/dolphin/dvd/dvderror.c index 4711f3ae52..9183c16a13 100644 --- a/libs/dolphin/dvd/dvderror.cpp +++ b/libs/dolphin/dvd/dvderror.c @@ -11,15 +11,15 @@ // Forward References: // -extern "C" static void ErrorCode2Num(); -extern "C" void __DVDStoreErrorCode(); +static void ErrorCode2Num(); +void __DVDStoreErrorCode(); // // External References: // -extern "C" void __OSLockSramEx(); -extern "C" void __OSUnlockSramEx(); +void __OSLockSramEx(); +void __OSUnlockSramEx(); // // Declarations: diff --git a/libs/dolphin/dvd/dvdfs.cpp b/libs/dolphin/dvd/dvdfs.c similarity index 57% rename from libs/dolphin/dvd/dvdfs.cpp rename to libs/dolphin/dvd/dvdfs.c index e9372e8ea1..4a32ab3ace 100644 --- a/libs/dolphin/dvd/dvdfs.cpp +++ b/libs/dolphin/dvd/dvdfs.c @@ -11,36 +11,36 @@ // Forward References: // -extern "C" void __DVDFSInit(); -extern "C" void DVDConvertPathToEntrynum(); -extern "C" void DVDFastOpen(); -extern "C" void DVDOpen(); -extern "C" void DVDClose(); -extern "C" static void entryToPath(); -extern "C" static void DVDConvertEntrynumToPath(); -extern "C" static void DVDGetCurrentDir(); -extern "C" void DVDChangeDir(); -extern "C" void DVDReadAsyncPrio(); -extern "C" static void cbForReadAsync(); -extern "C" void DVDReadPrio(); -extern "C" static void cbForReadSync(); -extern "C" void DVDOpenDir(); -extern "C" void DVDReadDir(); -extern "C" bool DVDCloseDir(); +void __DVDFSInit(); +void DVDConvertPathToEntrynum(); +void DVDFastOpen(); +void DVDOpen(); +void DVDClose(); +static void entryToPath(); +static void DVDConvertEntrynumToPath(); +static void DVDGetCurrentDir(); +void DVDChangeDir(); +void DVDReadAsyncPrio(); +static void cbForReadAsync(); +void DVDReadPrio(); +static void cbForReadSync(); +void DVDOpenDir(); +void DVDReadDir(); +u8 DVDCloseDir(); // // External References: // -extern "C" void OSReport(); -extern "C" void OSPanic(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSSleepThread(); -extern "C" void OSWakeupThread(); -extern "C" void DVDReadAbsAsyncPrio(); -extern "C" void DVDCancel(); -extern "C" void tolower(); +void OSReport(); +void OSPanic(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void OSSleepThread(); +void OSWakeupThread(); +void DVDReadAbsAsyncPrio(); +void DVDCancel(); +void tolower(); // // Declarations: @@ -71,30 +71,21 @@ asm void __DVDFSInit() { /* ############################################################################################## */ /* 803D1380-803D1448 02E4A0 00C8+00 1/1 0/0 0/0 .data @119 */ -SECTION_DATA static u8 lit_119[200] = { - 0x44, 0x56, 0x44, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x6E, - 0x75, 0x6D, 0x54, 0x6F, 0x50, 0x61, 0x74, 0x68, 0x28, 0x70, 0x6F, 0x73, 0x73, 0x69, 0x62, 0x6C, - 0x79, 0x20, 0x44, 0x56, 0x44, 0x4F, 0x70, 0x65, 0x6E, 0x20, 0x6F, 0x72, 0x20, 0x44, 0x56, 0x44, - 0x43, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x44, 0x69, 0x72, 0x20, 0x6F, 0x72, 0x20, 0x44, 0x56, 0x44, - 0x4F, 0x70, 0x65, 0x6E, 0x44, 0x69, 0x72, 0x29, 0x3A, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x20, 0x6F, 0x72, - 0x20, 0x66, 0x69, 0x6C, 0x65, 0x20, 0x28, 0x25, 0x73, 0x29, 0x20, 0x64, 0x6F, 0x65, 0x73, 0x6E, - 0x27, 0x74, 0x20, 0x6D, 0x61, 0x74, 0x63, 0x68, 0x20, 0x73, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, - 0x64, 0x20, 0x38, 0x2E, 0x33, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x2E, 0x20, 0x54, 0x68, - 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x6D, 0x70, 0x6F, 0x72, 0x61, 0x72, - 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x61, 0x6E, - 0x64, 0x20, 0x77, 0x69, 0x6C, 0x6C, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6D, 0x6F, 0x76, 0x65, - 0x64, 0x20, 0x73, 0x6F, 0x6F, 0x6E, 0x0A, 0x00, -}; +SECTION_DATA static char lit_119[] = + "DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): specified directory " + "or file (%s) doesn't match standard 8.3 format. This is a temporary restriction and will be " + "removed soon\n"; /* 804509E0-804509E8 000460 0008+00 3/3 0/0 0/0 .sdata @118 */ -SECTION_SDATA static u8 lit_118[8] = { - 0x64, 0x76, 0x64, 0x66, 0x73, 0x2E, 0x63, 0x00, -}; +SECTION_SDATA static char lit_118[] = "dvdfs.c"; /* 80451768-8045176C 000C68 0004+00 4/4 0/0 0/0 .sbss currentDirectory */ static u8 currentDirectory[4]; +/* 80451770-80451778 000C70 0008+00 2/2 3/3 0/0 .sbss __DVDThreadQueue */ +extern u8 __DVDThreadQueue[8]; +u8 __DVDThreadQueue[8]; + /* 8045176C-80451770 000C6C 0004+00 1/1 1/1 0/0 .sbss __DVDLongFileNameFlag */ extern u8 __DVDLongFileNameFlag[4]; u8 __DVDLongFileNameFlag[4]; @@ -121,65 +112,7 @@ asm void DVDFastOpen() { /* ############################################################################################## */ /* 803D1448-803D1480 02E568 0037+01 1/1 0/0 0/0 .data @140 */ -SECTION_DATA static u8 lit_140[55 + 1 /* padding */] = { - 0x57, - 0x61, - 0x72, - 0x6E, - 0x69, - 0x6E, - 0x67, - 0x3A, - 0x20, - 0x44, - 0x56, - 0x44, - 0x4F, - 0x70, - 0x65, - 0x6E, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x66, - 0x69, - 0x6C, - 0x65, - 0x20, - 0x27, - 0x25, - 0x73, - 0x27, - 0x20, - 0x77, - 0x61, - 0x73, - 0x20, - 0x6E, - 0x6F, - 0x74, - 0x20, - 0x66, - 0x6F, - 0x75, - 0x6E, - 0x64, - 0x20, - 0x75, - 0x6E, - 0x64, - 0x65, - 0x72, - 0x20, - 0x25, - 0x73, - 0x2E, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_DATA static char lit_140[] = "Warning: DVDOpen(): file '%s' was not found under %s.\n"; /* 80348890-80348958 3431D0 00C8+00 0/0 3/3 1/1 .text DVDOpen */ #pragma push @@ -243,12 +176,7 @@ asm void DVDChangeDir() { /* ############################################################################################## */ /* 803D1480-803D14B4 02E5A0 0034+00 1/1 0/0 0/0 .data @239 */ -SECTION_DATA static u8 lit_239[52] = { - 0x44, 0x56, 0x44, 0x52, 0x65, 0x61, 0x64, 0x41, 0x73, 0x79, 0x6E, 0x63, 0x28, - 0x29, 0x3A, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x61, 0x72, 0x65, 0x61, 0x20, 0x69, 0x73, 0x20, 0x6F, 0x75, 0x74, 0x20, 0x6F, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6C, 0x65, 0x20, 0x20, 0x00, -}; +SECTION_DATA static char lit_239[] = "DVDReadAsync(): specified area is out of the file "; /* 80348D54-80348E14 343694 00C0+00 0/0 2/2 0/0 .text DVDReadAsyncPrio */ #pragma push @@ -272,61 +200,7 @@ static asm void cbForReadAsync() { /* ############################################################################################## */ /* 803D14B4-803D14E4 02E5D4 002F+01 1/1 0/0 0/0 .data @265 */ -SECTION_DATA static u8 lit_265[47 + 1 /* padding */] = { - 0x44, - 0x56, - 0x44, - 0x52, - 0x65, - 0x61, - 0x64, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x73, - 0x70, - 0x65, - 0x63, - 0x69, - 0x66, - 0x69, - 0x65, - 0x64, - 0x20, - 0x61, - 0x72, - 0x65, - 0x61, - 0x20, - 0x69, - 0x73, - 0x20, - 0x6F, - 0x75, - 0x74, - 0x20, - 0x6F, - 0x66, - 0x20, - 0x74, - 0x68, - 0x65, - 0x20, - 0x66, - 0x69, - 0x6C, - 0x65, - 0x20, - 0x20, - 0x00, - /* padding */ - 0x00, -}; - -/* 80451770-80451778 000C70 0008+00 2/2 3/3 0/0 .sbss __DVDThreadQueue */ -extern u8 __DVDThreadQueue[8]; -u8 __DVDThreadQueue[8]; +SECTION_DATA static char lit_265[] = "DVDRead(): specified area is out of the file "; /* 80348E44-80348F5C 343784 0118+00 0/0 9/9 3/3 .text DVDReadPrio */ #pragma push @@ -350,69 +224,7 @@ static asm void cbForReadSync() { /* ############################################################################################## */ /* 803D14E4-803D1520 02E604 003A+02 1/1 0/0 0/0 .data @311 */ -SECTION_DATA static u8 lit_311[58 + 2 /* padding */] = { - 0x57, - 0x61, - 0x72, - 0x6E, - 0x69, - 0x6E, - 0x67, - 0x3A, - 0x20, - 0x44, - 0x56, - 0x44, - 0x4F, - 0x70, - 0x65, - 0x6E, - 0x44, - 0x69, - 0x72, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x66, - 0x69, - 0x6C, - 0x65, - 0x20, - 0x27, - 0x25, - 0x73, - 0x27, - 0x20, - 0x77, - 0x61, - 0x73, - 0x20, - 0x6E, - 0x6F, - 0x74, - 0x20, - 0x66, - 0x6F, - 0x75, - 0x6E, - 0x64, - 0x20, - 0x75, - 0x6E, - 0x64, - 0x65, - 0x72, - 0x20, - 0x25, - 0x73, - 0x2E, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_311[] = "Warning: DVDOpenDir(): file '%s' was not found under %s.\n"; /* 80348F80-80349040 3438C0 00C0+00 0/0 3/3 0/0 .text DVDOpenDir */ #pragma push @@ -435,6 +247,6 @@ asm void DVDReadDir() { #pragma pop /* 803490E4-803490EC 343A24 0008+00 0/0 3/3 0/0 .text DVDCloseDir */ -bool DVDCloseDir() { - return true; +u8 DVDCloseDir() { + return 1; } diff --git a/libs/dolphin/dvd/dvdidutils.cpp b/libs/dolphin/dvd/dvdidutils.c similarity index 88% rename from libs/dolphin/dvd/dvdidutils.cpp rename to libs/dolphin/dvd/dvdidutils.c index ee30874d05..5b5b1cc636 100644 --- a/libs/dolphin/dvd/dvdidutils.cpp +++ b/libs/dolphin/dvd/dvdidutils.c @@ -11,13 +11,13 @@ // Forward References: // -extern "C" void DVDCompareDiskID(); +void DVDCompareDiskID(); // // External References: // -extern "C" void strncmp(); +void strncmp(); // // Declarations: diff --git a/libs/dolphin/dvd/dvdlow.cpp b/libs/dolphin/dvd/dvdlow.c similarity index 88% rename from libs/dolphin/dvd/dvdlow.cpp rename to libs/dolphin/dvd/dvdlow.c index 065334dbad..d928e81efe 100644 --- a/libs/dolphin/dvd/dvdlow.cpp +++ b/libs/dolphin/dvd/dvdlow.c @@ -11,43 +11,43 @@ // Forward References: // -extern "C" void __DVDInitWA(); -extern "C" void __DVDInterruptHandler(); -extern "C" static void AlarmHandler(); -extern "C" static void AlarmHandlerForTimeout(); -extern "C" static void Read(); -extern "C" static void SeekTwiceBeforeRead(); -extern "C" void DVDLowRead(); -extern "C" void DVDLowSeek(); -extern "C" void DVDLowWaitCoverClose(); -extern "C" void DVDLowReadDiskID(); -extern "C" void DVDLowStopMotor(); -extern "C" void DVDLowRequestError(); -extern "C" void DVDLowInquiry(); -extern "C" void DVDLowAudioStream(); -extern "C" void DVDLowRequestAudioStatus(); -extern "C" void DVDLowAudioBufferConfig(); -extern "C" void DVDLowReset(); -extern "C" void DVDLowBreak(); -extern "C" void DVDLowClearCallback(); -extern "C" void __DVDLowSetWAType(); -extern "C" void __DVDLowTestAlarm(); +void __DVDInitWA(); +void __DVDInterruptHandler(); +static void AlarmHandler(); +static void AlarmHandlerForTimeout(); +static void Read(); +static void SeekTwiceBeforeRead(); +void DVDLowRead(); +void DVDLowSeek(); +void DVDLowWaitCoverClose(); +void DVDLowReadDiskID(); +void DVDLowStopMotor(); +void DVDLowRequestError(); +void DVDLowInquiry(); +void DVDLowAudioStream(); +void DVDLowRequestAudioStatus(); +void DVDLowAudioBufferConfig(); +void DVDLowReset(); +void DVDLowBreak(); +void DVDLowClearCallback(); +void __DVDLowSetWAType(); +void __DVDLowTestAlarm(); // // External References: // -extern "C" void OSInitAlarm(); -extern "C" void OSCreateAlarm(); -extern "C" void OSSetAlarm(); -extern "C" void OSCancelAlarm(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSMaskInterrupts(); -extern "C" void __OSGetSystemTime(); -extern "C" void DVDGetCurrentDiskID(); +void OSInitAlarm(); +void OSCreateAlarm(); +void OSSetAlarm(); +void OSCancelAlarm(); +void OSSetCurrentContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSMaskInterrupts(); +void __OSGetSystemTime(); +void DVDGetCurrentDiskID(); // // Declarations: diff --git a/libs/dolphin/dvd/dvdqueue.cpp b/libs/dolphin/dvd/dvdqueue.c similarity index 86% rename from libs/dolphin/dvd/dvdqueue.cpp rename to libs/dolphin/dvd/dvdqueue.c index f5ca812af7..07e41a615b 100644 --- a/libs/dolphin/dvd/dvdqueue.cpp +++ b/libs/dolphin/dvd/dvdqueue.c @@ -11,18 +11,18 @@ // Forward References: // -extern "C" void __DVDClearWaitingQueue(); -extern "C" void __DVDPushWaitingQueue(); -extern "C" void __DVDPopWaitingQueue(); -extern "C" void __DVDCheckWaitingQueue(); -extern "C" void __DVDDequeueWaitingQueue(); +void __DVDClearWaitingQueue(); +void __DVDPushWaitingQueue(); +void __DVDPopWaitingQueue(); +void __DVDCheckWaitingQueue(); +void __DVDDequeueWaitingQueue(); // // External References: // -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); // // Declarations: diff --git a/libs/dolphin/dvd/fstload.cpp b/libs/dolphin/dvd/fstload.c similarity index 55% rename from libs/dolphin/dvd/fstload.cpp rename to libs/dolphin/dvd/fstload.c index ea82a7c34c..80795a70a1 100644 --- a/libs/dolphin/dvd/fstload.cpp +++ b/libs/dolphin/dvd/fstload.c @@ -11,21 +11,21 @@ // Forward References: // -extern "C" static void cb(); -extern "C" void __fstLoad(); +static void cb(); +void __fstLoad(); // // External References: // SECTION_INIT void memcpy(); -extern "C" void OSReport(); -extern "C" void OSGetArenaHi(); -extern "C" void OSSetArenaHi(); -extern "C" void DVDReadAbsAsyncForBS(); -extern "C" void DVDReadDiskID(); -extern "C" void DVDReset(); -extern "C" void DVDGetDriveStatus(); +void OSReport(); +void OSGetArenaHi(); +void OSSetArenaHi(); +void DVDReadAbsAsyncForBS(); +void DVDReadDiskID(); +void DVDReset(); +void DVDGetDriveStatus(); // // Declarations: @@ -53,95 +53,30 @@ static asm void cb() { /* ############################################################################################## */ /* 803D16F0-803D170C 02E810 001A+02 1/1 0/0 0/0 .data @38 */ -SECTION_DATA static u8 lit_38[26 + 2 /* padding */] = { - 0x20, - 0x20, - 0x47, - 0x61, - 0x6D, - 0x65, - 0x20, - 0x4E, - 0x61, - 0x6D, - 0x65, - 0x20, - 0x2E, - 0x2E, - 0x2E, - 0x20, - 0x25, - 0x63, - 0x25, - 0x63, - 0x25, - 0x63, - 0x25, - 0x63, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_38[] = " Game Name ... %c%c%c%c\n"; /* 803D170C-803D1724 02E82C 0016+02 0/1 0/0 0/0 .data @39 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_39[22 + 2 /* padding */] = { - 0x20, - 0x20, - 0x43, - 0x6F, - 0x6D, - 0x70, - 0x61, - 0x6E, - 0x79, - 0x20, - 0x2E, - 0x2E, - 0x2E, - 0x2E, - 0x2E, - 0x20, - 0x25, - 0x63, - 0x25, - 0x63, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_39[] = " Company ..... %c%c\n"; #pragma pop /* 803D1724-803D1738 02E844 0014+00 0/1 0/0 0/0 .data @40 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_40[20] = { - 0x20, 0x20, 0x44, 0x69, 0x73, 0x6B, 0x20, 0x23, 0x20, 0x2E, - 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x20, 0x25, 0x64, 0x0A, 0x00, -}; +SECTION_DATA static char lit_40[] = " Disk # ...... %d\n"; #pragma pop /* 803D1738-803D174C 02E858 0014+00 0/1 0/0 0/0 .data @41 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_41[20] = { - 0x20, 0x20, 0x47, 0x61, 0x6D, 0x65, 0x20, 0x76, 0x65, 0x72, - 0x20, 0x2E, 0x2E, 0x2E, 0x2E, 0x20, 0x25, 0x64, 0x0A, 0x00, -}; +SECTION_DATA static char lit_41[] = " Game ver .... %d\n"; #pragma pop /* 803D174C-803D1760 02E86C 0014+00 0/1 0/0 0/0 .data @44 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_44[20] = { - 0x20, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6D, 0x69, 0x6E, - 0x67, 0x20, 0x2E, 0x2E, 0x2E, 0x20, 0x25, 0x73, 0x0A, 0x00, -}; +SECTION_DATA static char lit_44[] = " Streaming ... %s\n"; #pragma pop /* 8044C9B8-8044C9F8 0796D8 003F+01 1/1 0/0 0/0 .bss bb2Buf */ @@ -151,27 +86,13 @@ static u8 bb2Buf[63 + 1 /* padding */]; static u8 block[48]; /* 80450A00-80450A04 000480 0002+02 1/1 0/0 0/0 .sdata @37 */ -SECTION_SDATA static u16 lit_37[1 + 1 /* padding */] = { - 0x0A00, - /* padding */ - 0x0000, -}; +SECTION_SDATA static char lit_37[] = "\n"; /* 80450A04-80450A08 000484 0004+00 1/1 0/0 0/0 .sdata @42 */ -SECTION_SDATA static u32 lit_42 = 0x4F464600; +SECTION_SDATA static char lit_42[] = "OFF"; /* 80450A08-80450A10 000488 0003+05 1/1 0/0 0/0 .sdata @43 */ -SECTION_SDATA static u8 lit_43[3 + 5 /* padding */] = { - 0x4F, - 0x4E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA static char lit_43[] = "ON"; /* 8034BE04-8034BF6C 346744 0168+00 0/0 1/1 0/0 .text __fstLoad */ #pragma push diff --git a/libs/dolphin/gd/GDBase.c b/libs/dolphin/gd/GDBase.c new file mode 100644 index 0000000000..700d63635d --- /dev/null +++ b/libs/dolphin/gd/GDBase.c @@ -0,0 +1,50 @@ +/** + * GDBase.c + * Description: + */ + +#include "dolphin/gd/GDBase.h" +#include "dolphin/os/OS.h" + +/* 80360F98-80360FB0 35B8D8 0018+00 0/0 6/6 0/0 .text GDInitGDLObj */ +void GDInitGDLObj(GDLObj* obj, u8* start, u32 len) { + obj->start = start; + obj->ptr = start; + obj->end = start + len; + obj->length = len; +} + +/* ############################################################################################## */ +/* 80451980-80451984 000E80 0004+00 2/2 100/100 0/0 .sbss __GDCurrentDL */ +GDLObj* __GDCurrentDL = NULL; + +/* ############################################################################################## */ +/* 80451984-80451988 000E84 0004+00 1/1 0/0 0/0 .sbss overflowcb */ +static GDOverflowCallback overflowcb = NULL; + +/* 80360FB0-80360FDC 35B8F0 002C+00 0/0 2/2 0/0 .text GDFlushCurrToMem */ +void GDFlushCurrToMem(void) { + DCFlushRange(__GDCurrentDL->start, __GDCurrentDL->length); +} + +static inline void __GDWrite(u8 data) { + *__GDCurrentDL->ptr++ = data; +} + +/* 80360FDC-803610D4 35B91C 00F8+00 0/0 2/2 0/0 .text GDPadCurr32 */ +void GDPadCurr32(void) { + u32 i = ((u32)__GDCurrentDL->ptr & 31); + + if (i) { + for (i; i < 32; i++) { + __GDWrite(0); + } + } +} + +/* 803610D4-80361104 35BA14 0030+00 0/0 41/41 0/0 .text GDOverflowed */ +void GDOverflowed(void) { + if (overflowcb != NULL) { + overflowcb(); + } +} diff --git a/libs/dolphin/gd/GDBase.cpp b/libs/dolphin/gd/GDBase.cpp deleted file mode 100644 index d75b7ad02e..0000000000 --- a/libs/dolphin/gd/GDBase.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: GDBase -// - -#include "dolphin/gd/GDBase.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void GDFlushCurrToMem(); -extern "C" void GDPadCurr32(); -extern "C" void GDOverflowed(); - -// -// External References: -// - -extern "C" void DCFlushRange(); - -// -// Declarations: -// - -/* 80360F98-80360FB0 35B8D8 0018+00 0/0 6/6 0/0 .text GDInitGDLObj */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GDInitGDLObj(GDLObj* obj, u8* start, u32 len) { - nofralloc -#include "asm/dolphin/gd/GDBase/GDInitGDLObj.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80451980-80451984 000E80 0004+00 2/2 100/100 0/0 .sbss __GDCurrentDL */ -GDLObj* __GDCurrentDL; - -/* 80360FB0-80360FDC 35B8F0 002C+00 0/0 2/2 0/0 .text GDFlushCurrToMem */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GDFlushCurrToMem() { - nofralloc -#include "asm/dolphin/gd/GDBase/GDFlushCurrToMem.s" -} -#pragma pop - -/* 80360FDC-803610D4 35B91C 00F8+00 0/0 2/2 0/0 .text GDPadCurr32 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GDPadCurr32() { - nofralloc -#include "asm/dolphin/gd/GDBase/GDPadCurr32.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80451984-80451988 000E84 0004+00 1/1 0/0 0/0 .sbss overflowcb */ -static u8 overflowcb[4]; - -/* 803610D4-80361104 35BA14 0030+00 0/0 41/41 0/0 .text GDOverflowed */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GDOverflowed() { - nofralloc -#include "asm/dolphin/gd/GDBase/GDOverflowed.s" -} -#pragma pop diff --git a/libs/dolphin/gd/GDGeometry.cpp b/libs/dolphin/gd/GDGeometry.c similarity index 93% rename from libs/dolphin/gd/GDGeometry.cpp rename to libs/dolphin/gd/GDGeometry.c index b86e162780..f25b2adc87 100644 --- a/libs/dolphin/gd/GDGeometry.cpp +++ b/libs/dolphin/gd/GDGeometry.c @@ -10,16 +10,16 @@ // Forward References: // -extern "C" void GDSetVtxDescv(); -extern "C" void GDSetArray(); -extern "C" void GDSetArrayRaw(); +void GDSetVtxDescv(); +void GDSetArray(); +void GDSetArrayRaw(); // // External References: // -extern "C" void GDOverflowed(); -extern "C" extern u8 __GDCurrentDL[4]; +void GDOverflowed(); +extern u8 __GDCurrentDL[4]; // // Declarations: diff --git a/libs/dolphin/gd/Makefile b/libs/dolphin/gd/Makefile index ee7580b9e6..630a6cf106 100644 --- a/libs/dolphin/gd/Makefile +++ b/libs/dolphin/gd/Makefile @@ -3,14 +3,16 @@ # LIBGD_A_CPP_FILES := \ - libs/dolphin/gd/GDBase.cpp \ - libs/dolphin/gd/GDGeometry.cpp \ + libs/dolphin/gd/GDBase.c \ + libs/dolphin/gd/GDGeometry.c \ LIBGD_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/gd/GDBase.o \ $(BUILD_DIR)/libs/dolphin/gd/GDGeometry.o \ LIBGD_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBGD_A_LDFLAGS := \ -nodefaults \ @@ -23,9 +25,9 @@ $(BUILD_DIR)/libgd.a: $(LIBGD_A_O_FILES) @echo $(LIBGD_A_O_FILES) > build/LIBGD_A_ofiles @$(LD) -xm l $(LIBGD_A_LDFLAGS) -o $(BUILD_DIR)/libgd.a @build/LIBGD_A_ofiles -$(BUILD_DIR)/libs/dolphin/gd/%.o: libs/dolphin/gd/%.cpp +$(BUILD_DIR)/libs/dolphin/gd/%.o: libs/dolphin/gd/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBGD_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBGD_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/gx/GXAttr.cpp b/libs/dolphin/gx/GXAttr.c similarity index 91% rename from libs/dolphin/gx/GXAttr.cpp rename to libs/dolphin/gx/GXAttr.c index 9833c030a7..229a52e157 100644 --- a/libs/dolphin/gx/GXAttr.cpp +++ b/libs/dolphin/gx/GXAttr.c @@ -4,32 +4,28 @@ // #include "dolphin/gx/GXAttr.h" +#include "dolphin/gx/GXInit.h" #include "dol2asm.h" -#include "dolphin/types.h" // // Forward References: // -extern "C" void GXSetVtxDesc(); -extern "C" void GXSetVtxDescv(); -extern "C" void __GXSetVCD(); -extern "C" void __GXCalculateVLim(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmt(); -extern "C" void GXSetVtxAttrFmtv(); -extern "C" void __GXSetVAT(); -extern "C" void GXSetArray(); -extern "C" void GXInvalidateVtxCache(); -extern "C" void GXSetTexCoordGen2(); -extern "C" void GXSetNumTexGens(); +void GXSetVtxDesc(); +void GXSetVtxDescv(); +void __GXSetVCD(); +void __GXCalculateVLim(); +void GXClearVtxDesc(); +void GXSetVtxAttrFmt(); +void GXSetVtxAttrFmtv(); +void __GXSetVAT(); +void GXInvalidateVtxCache(); // // External References: // -extern "C" void __GXSetMatrixIndex(); -extern "C" extern void* __GXData; +void __GXSetMatrixIndex(); // // Declarations: @@ -57,7 +53,7 @@ SECTION_DATA static void* lit_176[26] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetVtxDesc() { +asm void GXSetVtxDesc(GXAttr attr, GXAttrType type) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetVtxDesc.s" } @@ -85,7 +81,7 @@ SECTION_DATA static void* lit_223[26] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetVtxDescv() { +asm void GXSetVtxDescv(GXVtxDescList* list) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetVtxDescv.s" } @@ -95,7 +91,7 @@ asm void GXSetVtxDescv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXSetVCD() { +asm void __GXSetVCD(void) { nofralloc #include "asm/dolphin/gx/GXAttr/__GXSetVCD.s" } @@ -135,7 +131,7 @@ SECTION_SDATA static u8 tbl3[4 + 4 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXCalculateVLim() { +asm void __GXCalculateVLim(void) { nofralloc #include "asm/dolphin/gx/GXAttr/__GXCalculateVLim.s" } @@ -145,7 +141,7 @@ asm void __GXCalculateVLim() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXClearVtxDesc() { +asm void GXClearVtxDesc(void) { nofralloc #include "asm/dolphin/gx/GXAttr/GXClearVtxDesc.s" } @@ -169,7 +165,7 @@ SECTION_DATA static void* lit_476[17] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetVtxAttrFmt() { +asm void GXSetVtxAttrFmt(GXVtxFmt fmt, GXAttr attr, GXCompCnt cnt, GXCompType type, u32) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetVtxAttrFmt.s" } @@ -193,7 +189,7 @@ SECTION_DATA static void* lit_503[17] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetVtxAttrFmtv() { +asm void GXSetVtxAttrFmtv(GXVtxFmt fmt, GXVtxAttrFmtList* list) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetVtxAttrFmtv.s" } @@ -203,7 +199,7 @@ asm void GXSetVtxAttrFmtv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXSetVAT() { +asm void __GXSetVAT(void) { nofralloc #include "asm/dolphin/gx/GXAttr/__GXSetVAT.s" } @@ -213,7 +209,7 @@ asm void __GXSetVAT() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetArray() { +asm void GXSetArray(GXAttr attr, void* base, u8) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetArray.s" } @@ -223,7 +219,7 @@ asm void GXSetArray() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInvalidateVtxCache() { +asm void GXInvalidateVtxCache(void) { nofralloc #include "asm/dolphin/gx/GXAttr/GXInvalidateVtxCache.s" } @@ -257,7 +253,7 @@ SECTION_DATA static void* lit_739[21] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTexCoordGen2() { +asm void GXSetTexCoordGen2(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32 mtx, GXBool renormalize, u32 pt_mtx) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetTexCoordGen2.s" } @@ -267,7 +263,7 @@ asm void GXSetTexCoordGen2() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetNumTexGens() { +asm void GXSetNumTexGens(u8 numTexGens) { nofralloc #include "asm/dolphin/gx/GXAttr/GXSetNumTexGens.s" } diff --git a/libs/dolphin/gx/GXBump.c b/libs/dolphin/gx/GXBump.c new file mode 100644 index 0000000000..4a9fe9421e --- /dev/null +++ b/libs/dolphin/gx/GXBump.c @@ -0,0 +1,204 @@ +/** + * GXBump.c + * Description: + */ + +#include "dolphin/gx/GXBump.h" +#include "dolphin/gx/GX.h" +#include "dolphin/gx/GXInit.h" + +/* 8035ECC0-8035ED2C 359600 006C+00 1/1 3/3 0/0 .text GXSetTevIndirect */ +void GXSetTevIndirect(GXTevStageID tevStage, GXIndTexStageID texStage, GXIndTexFormat texFmt, + GXIndTexBiasSel biasSel, GXIndTexMtxID mtxID, GXIndTexWrap wrapS, + GXIndTexWrap wrapT, u8 addPrev, u8 utcLod, GXIndTexAlphaSel alphaSel) { + u32 field = 0; + u32 stage = tevStage + 0x10; + + GX_BITFIELD_SET(field, 30, 2, texStage); + GX_BITFIELD_SET(field, 28, 2, texFmt); + GX_BITFIELD_SET(field, 25, 3, biasSel); + GX_BITFIELD_SET(field, 23, 2, alphaSel); + GX_BITFIELD_SET(field, 19, 4, mtxID); + GX_BITFIELD_SET(field, 16, 3, wrapS); + GX_BITFIELD_SET(field, 13, 3, wrapT); + GX_BITFIELD_SET(field, 12, 1, utcLod); + GX_BITFIELD_SET(field, 11, 1, addPrev); + GX_BITFIELD_SET(field, 0, 8, stage); + + GXFIFO.u8 = 0x61; + GXFIFO.s32 = field; + + __GXData->field_0x2 = 0; +} + +/* 8035ED2C-8035EEA4 35966C 0178+00 0/0 4/4 1/1 .text GXSetIndTexMtx */ +void GXSetIndTexMtx(GXIndTexMtxID mtxID, f32 offset[6], s8 scale_exp) { + u32 val; + u32 field; + f32 mtx2[6]; + + scale_exp += 17; + + switch (mtxID) { + case GX_ITM_0: + case GX_ITM_1: + case GX_ITM_2: + val = mtxID - 1; + break; + case GX_ITM_S0: + case GX_ITM_S1: + case GX_ITM_S2: + val = mtxID - 5; + break; + case GX_ITM_T0: + case GX_ITM_T1: + case GX_ITM_T2: + val = mtxID - 9; + break; + case GX_ITM_3: + case GX_ITM_S3: + default: + val = 0; + } + + field = 0; + GX_BITFIELD_SET(field, 21, 11, 1024.0f * offset[0]); + GX_BITFIELD_SET(field, 10, 11, 1024.0f * offset[3]); + GX_BITFIELD_SET(field, 8, 2, (scale_exp >> 0) & 3); + GX_BITFIELD_SET(field, 0, 8, val * 3 + 6); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = field; + + field = 0; + GX_BITFIELD_SET(field, 21, 11, 1024.0f * offset[1]); + GX_BITFIELD_SET(field, 10, 11, 1024.0f * offset[4]); + GX_BITFIELD_SET(field, 8, 2, (scale_exp >> 2) & 3); + GX_BITFIELD_SET(field, 0, 8, val * 3 + 7); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = field; + + field = 0; + GX_BITFIELD_SET(field, 21, 11, 1024.0f * offset[2]); + GX_BITFIELD_SET(field, 10, 11, 1024.0f * offset[5]); + GX_BITFIELD_SET(field, 8, 2, (scale_exp >> 4) & 3); + GX_BITFIELD_SET(field, 0, 8, val * 3 + 8); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = field; + + __GXData->field_0x2 = 0; +} + +/* 8035EEA4-8035EFE8 3597E4 0144+00 0/0 5/5 0/0 .text GXSetIndTexCoordScale */ +void GXSetIndTexCoordScale(GXIndTexStageID texStage, GXIndTexScale scaleS, GXIndTexScale scaleT) { + GXData* data; + + switch (texStage) { + case GX_INDTEXSTAGE0: + data = __GXData; + GX_BITFIELD_SET(data->field_0x128, 28, 4, scaleS); + GX_BITFIELD_SET(data->field_0x128, 24, 4, scaleT); + GX_BITFIELD_SET(data->field_0x128, 0, 8, 0x25); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = data->field_0x128; + break; + case GX_INDTEXSTAGE1: + data = __GXData; + GX_BITFIELD_SET(data->field_0x128, 20, 4, scaleS); + GX_BITFIELD_SET(data->field_0x128, 16, 4, scaleT); + GX_BITFIELD_SET(data->field_0x128, 0, 8, 0x25); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = data->field_0x128; + break; + case GX_INDTEXSTAGE2: + data = __GXData; + GX_BITFIELD_SET(data->field_0x12c, 28, 4, scaleS); + GX_BITFIELD_SET(data->field_0x12c, 24, 4, scaleT); + GX_BITFIELD_SET(data->field_0x12c, 0, 8, 0x26); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = data->field_0x12c; + break; + case GX_INDTEXSTAGE3: + data = __GXData; + GX_BITFIELD_SET(data->field_0x12c, 20, 4, scaleS); + GX_BITFIELD_SET(data->field_0x12c, 16, 4, scaleT); + GX_BITFIELD_SET(data->field_0x12c, 0, 8, 0x26); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = data->field_0x12c; + break; + } + + __GXData->field_0x2 = 0; +} + +/* 8035EFE8-8035F0D4 359928 00EC+00 0/0 3/3 0/0 .text GXSetIndTexOrder */ +void GXSetIndTexOrder(GXIndTexStageID stage, GXTexCoordID coord, GXTexMapID map) { + GXData* data; + + if (map == 0xFF) { + map = GX_TEXMAP0; + } + + if (coord == 0xFF) { + coord = GX_TEXCOORD0; + } + + switch (stage) { + case GX_INDTEXSTAGE0: + data = __GXData; + GX_BITFIELD_SET(data->field_0x120, 29, 3, map); + GX_BITFIELD_SET(data->field_0x120, 26, 3, coord); + break; + case GX_INDTEXSTAGE1: + data = __GXData; + GX_BITFIELD_SET(data->field_0x120, 23, 3, map); + GX_BITFIELD_SET(data->field_0x120, 20, 3, coord); + break; + case GX_INDTEXSTAGE2: + data = __GXData; + GX_BITFIELD_SET(data->field_0x120, 17, 3, map); + GX_BITFIELD_SET(data->field_0x120, 14, 3, coord); + break; + case GX_INDTEXSTAGE3: + data = __GXData; + GX_BITFIELD_SET(data->field_0x120, 11, 3, map); + GX_BITFIELD_SET(data->field_0x120, 8, 3, coord); + break; + } + + GXFIFO.u8 = 0x61; + GXFIFO.s32 = __GXData->field_0x120; + GXSetWasteFlags(); +} + +/* 8035F0D4-8035F0F8 359A14 0024+00 0/0 43/43 7/7 .text GXSetNumIndStages */ +void GXSetNumIndStages(u8 num) { + GXData* data = __GXData; + GX_BITFIELD_SET(data->field_0x204, 13, 3, num); + data->field_0x5ac |= 0x6; +} + +/* 8035F0F8-8035F140 359A38 0048+00 0/0 16/16 0/0 .text GXSetTevDirect */ +void GXSetTevDirect(GXTevStageID stage) { + GXSetTevIndirect(stage, GX_INDTEXSTAGE0, GX_ITF_8, GX_ITB_NONE, GX_ITM_OFF, GX_ITW_OFF, + GX_ITW_OFF, FALSE, FALSE, GX_ITBA_OFF); +} + +/* 8035F140-8035F144 359A80 0004+00 0/0 2/2 0/0 .text __GXUpdateBPMask */ +void __GXUpdateBPMask(void) {} + +/* 8035F144-8035F174 359A84 0030+00 0/0 1/1 0/0 .text __GXSetIndirectMask */ +void __GXSetIndirectMask(u32 mask) { + GXData* data = __GXData; + + GX_BITFIELD_SET(data->field_0x124, 24, 8, mask); + GXFIFO.u8 = 0x61; + GXFIFO.s32 = data->field_0x124; + data->field_0x2 = 0; +} + +/* 8035F174-8035F198 359AB4 0024+00 0/0 4/4 0/0 .text __GXFlushTextureState */ +void __GXFlushTextureState(void) { + GXFIFO.u8 = 0x61; + GXFIFO.s32 = __GXData->field_0x124; + __GXData->field_0x2 = 0; +} diff --git a/libs/dolphin/gx/GXBump.cpp b/libs/dolphin/gx/GXBump.cpp deleted file mode 100644 index 4e4c14303e..0000000000 --- a/libs/dolphin/gx/GXBump.cpp +++ /dev/null @@ -1,125 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: GXBump -// - -#include "dolphin/gx/GXBump.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void GXSetTevIndirect(); -extern "C" void GXSetIndTexMtx(); -extern "C" void GXSetIndTexCoordScale(); -extern "C" void GXSetIndTexOrder(); -extern "C" void GXSetNumIndStages(); -extern "C" void GXSetTevDirect(); -extern "C" void __GXUpdateBPMask(); -extern "C" void __GXSetIndirectMask(); -extern "C" void __GXFlushTextureState(); - -// -// External References: -// - -extern "C" extern void* __GXData; - -// -// Declarations: -// - -/* 8035ECC0-8035ED2C 359600 006C+00 1/1 3/3 0/0 .text GXSetTevIndirect */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetTevIndirect() { - nofralloc -#include "asm/dolphin/gx/GXBump/GXSetTevIndirect.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80456610-80456618 004C10 0004+04 1/1 0/0 0/0 .sdata2 @149 */ -SECTION_SDATA2 static f32 lit_149[1 + 1 /* padding */] = { - 1024.0f, - /* padding */ - 0.0f, -}; - -/* 8035ED2C-8035EEA4 35966C 0178+00 0/0 4/4 1/1 .text GXSetIndTexMtx */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetIndTexMtx() { - nofralloc -#include "asm/dolphin/gx/GXBump/GXSetIndTexMtx.s" -} -#pragma pop - -/* 8035EEA4-8035EFE8 3597E4 0144+00 0/0 5/5 0/0 .text GXSetIndTexCoordScale */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetIndTexCoordScale() { - nofralloc -#include "asm/dolphin/gx/GXBump/GXSetIndTexCoordScale.s" -} -#pragma pop - -/* 8035EFE8-8035F0D4 359928 00EC+00 0/0 3/3 0/0 .text GXSetIndTexOrder */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetIndTexOrder() { - nofralloc -#include "asm/dolphin/gx/GXBump/GXSetIndTexOrder.s" -} -#pragma pop - -/* 8035F0D4-8035F0F8 359A14 0024+00 0/0 43/43 7/7 .text GXSetNumIndStages */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetNumIndStages() { - nofralloc -#include "asm/dolphin/gx/GXBump/GXSetNumIndStages.s" -} -#pragma pop - -/* 8035F0F8-8035F140 359A38 0048+00 0/0 16/16 0/0 .text GXSetTevDirect */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetTevDirect() { - nofralloc -#include "asm/dolphin/gx/GXBump/GXSetTevDirect.s" -} -#pragma pop - -/* 8035F140-8035F144 359A80 0004+00 0/0 2/2 0/0 .text __GXUpdateBPMask */ -void __GXUpdateBPMask() { - /* empty function */ -} - -/* 8035F144-8035F174 359A84 0030+00 0/0 1/1 0/0 .text __GXSetIndirectMask */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __GXSetIndirectMask() { - nofralloc -#include "asm/dolphin/gx/GXBump/__GXSetIndirectMask.s" -} -#pragma pop - -/* 8035F174-8035F198 359AB4 0024+00 0/0 4/4 0/0 .text __GXFlushTextureState */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __GXFlushTextureState() { - nofralloc -#include "asm/dolphin/gx/GXBump/__GXFlushTextureState.s" -} -#pragma pop diff --git a/libs/dolphin/gx/GXDisplayList.cpp b/libs/dolphin/gx/GXDisplayList.c similarity index 89% rename from libs/dolphin/gx/GXDisplayList.cpp rename to libs/dolphin/gx/GXDisplayList.c index a04d3196da..f797a33f6d 100644 --- a/libs/dolphin/gx/GXDisplayList.cpp +++ b/libs/dolphin/gx/GXDisplayList.c @@ -1,7 +1,10 @@ +/** + * GXDisplayList.c + * Description: + */ + #include "dolphin/gx/GXDisplayList.h" #include "dolphin/gx/GX.h" -#include "dol2asm.h" -#include "dolphin/types.h" /* 8035FEF0-8035FF60 35A830 0070+00 0/0 20/20 4/4 .text GXCallDisplayList */ void GXCallDisplayList(void* list, u32 nbytes) { diff --git a/libs/dolphin/gx/GXFifo.cpp b/libs/dolphin/gx/GXFifo.c similarity index 78% rename from libs/dolphin/gx/GXFifo.cpp rename to libs/dolphin/gx/GXFifo.c index d170807548..8755ba3f01 100644 --- a/libs/dolphin/gx/GXFifo.cpp +++ b/libs/dolphin/gx/GXFifo.c @@ -5,37 +5,34 @@ #include "dolphin/gx/GXFifo.h" #include "dolphin/gx/GX.h" -#include "dolphin/os/OS.h" #include "dol2asm.h" -#include "dolphin/types.h" // // Forward References: // -extern "C" static void GXCPInterruptHandler(OSInterrupt, OSContext* ctx); -extern "C" static void GXInitFifoLimits(void); -extern "C" void GXSetCPUFifo(void); -extern "C" void GXSetGPFifo(void); -extern "C" void __GXSaveCPUFifoAux(void); -extern "C" void GXSetBreakPtCallback(void); -extern "C" void __GXFifoInit(void); -extern "C" void __GXFifoReadEnable(void); -extern "C" void __GXFifoReadDisable(void); -extern "C" void __GXFifoLink(u8); -extern "C" void __GXWriteFifoIntEnable(u8, u8); -extern "C" void __GXWriteFifoIntReset(u8, u8); -extern "C" void __GXCleanGPFifo(void); -extern "C" u32 GXGetGPFifo(void); +static void GXCPInterruptHandler(OSInterrupt, OSContext* ctx); +static void GXInitFifoLimits(GXFifoObj* fifo, u32 hi_watermark, u32 lo_watermark); +void GXSetCPUFifo(void); +void GXSetGPFifo(void); +void GXSetBreakPtCallback(void); +void __GXFifoInit(void); +void __GXFifoReadEnable(void); +void __GXFifoReadDisable(void); +void __GXFifoLink(u8); +void __GXWriteFifoIntEnable(u8, u8); +void __GXWriteFifoIntReset(u8, u8); +void __GXCleanGPFifo(void); +u32 GXGetGPFifo(void); // // External References: // -extern "C" void PPCSync(void); -extern "C" void OSSetCurrentContext(OSContext*); -extern "C" void OSClearContext(OSContext*); -extern "C" void GXFlush(void); +void PPCSync(void); +void OSSetCurrentContext(OSContext*); +void OSClearContext(OSContext*); +void GXFlush(void); // // Declarations: @@ -110,7 +107,7 @@ static asm void GXCPInterruptHandler(OSInterrupt, OSContext* ctx) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitFifoBase(GXFifoObj*, void*, u32) { +asm void GXInitFifoBase(GXFifoObj* fifo, void* base, u32 size) { nofralloc #include "asm/dolphin/gx/GXFifo/GXInitFifoBase.s" } @@ -120,21 +117,17 @@ asm void GXInitFifoBase(GXFifoObj*, void*, u32) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitFifoPtrs(GXFifoObj*, void*, void*) { +asm void GXInitFifoPtrs(GXFifoObj* fifo, void* read_ptr, void* write_ptr) { nofralloc #include "asm/dolphin/gx/GXFifo/GXInitFifoPtrs.s" } #pragma pop /* 8035A7B8-8035A7C4 3550F8 000C+00 1/1 0/0 0/0 .text GXInitFifoLimits */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void GXInitFifoLimits(void) { - nofralloc -#include "asm/dolphin/gx/GXFifo/GXInitFifoLimits.s" +static void GXInitFifoLimits(GXFifoObj* fifo, u32 hi_watermark, u32 lo_watermark) { + fifo->high_wtrmark = hi_watermark; + fifo->low_wtrmark = lo_watermark; } -#pragma pop /* 8035A7C4-8035A8EC 355104 0128+00 1/1 1/1 0/0 .text GXSetCPUFifo */ #pragma push @@ -157,20 +150,16 @@ asm void GXSetGPFifo(void) { #pragma pop /* 8035AA8C-8035AAC0 3553CC 0034+00 0/0 1/1 0/0 .text GXSaveCPUFifo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSaveCPUFifo(GXFifoObj*) { - nofralloc -#include "asm/dolphin/gx/GXFifo/GXSaveCPUFifo.s" +void GXSaveCPUFifo(GXFifoObj* fifo) { + GXFlush(); + __GXSaveCPUFifoAux(fifo); } -#pragma pop /* 8035AAC0-8035AB88 355400 00C8+00 1/1 0/0 0/0 .text __GXSaveCPUFifoAux */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXSaveCPUFifoAux(void) { +asm void __GXSaveCPUFifoAux(GXFifoObj* fifo) { nofralloc #include "asm/dolphin/gx/GXFifo/__GXSaveCPUFifoAux.s" } @@ -180,31 +169,21 @@ asm void __GXSaveCPUFifoAux(void) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetGPStatus(GXBool*, GXBool*, GXBool*, GXBool*, GXBool*) { +asm void GXGetGPStatus(GXBool* overhi, GXBool* underlo, GXBool* read_idle, GXBool* cmd_idle, GXBool* breakpoint) { nofralloc #include "asm/dolphin/gx/GXFifo/GXGetGPStatus.s" } #pragma pop /* 8035ABD8-8035ABE0 355518 0008+00 0/0 1/1 0/0 .text GXGetFifoBase */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* GXGetFifoBase(GXFifoObj*) { - nofralloc -#include "asm/dolphin/gx/GXFifo/GXGetFifoBase.s" +void* GXGetFifoBase(GXFifoObj* fifo) { + return fifo->base; } -#pragma pop /* 8035ABE0-8035ABE8 355520 0008+00 0/0 1/1 0/0 .text GXGetFifoSize */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 GXGetFifoSize(GXFifoObj*) { - nofralloc -#include "asm/dolphin/gx/GXFifo/GXGetFifoSize.s" +u32 GXGetFifoSize(GXFifoObj* fifo) { + return fifo->size; } -#pragma pop /* 8035ABE8-8035AC2C 355528 0044+00 0/0 1/1 0/0 .text GXSetBreakPtCallback */ #pragma push @@ -217,14 +196,14 @@ asm void GXSetBreakPtCallback(void) { #pragma pop /* 8035AC2C-8035AC78 35556C 004C+00 0/0 1/1 0/0 .text __GXFifoInit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __GXFifoInit(void) { - nofralloc -#include "asm/dolphin/gx/GXFifo/__GXFifoInit.s" +void __GXFifoInit(void) { + __OSSetInterruptHandler(0x11, GXCPInterruptHandler); + __OSUnmaskInterrupts(0x4000); + __GXCurrentThread = OSGetCurrentThread(); + GXOverflowSuspendInProgress = 0; + CPUFifo = NULL; + GPFifo = NULL; } -#pragma pop /* 8035AC78-8035AC9C 3555B8 0024+00 1/1 0/0 0/0 .text __GXFifoReadEnable */ #pragma push diff --git a/libs/dolphin/gx/GXFrameBuf.cpp b/libs/dolphin/gx/GXFrameBuf.c similarity index 84% rename from libs/dolphin/gx/GXFrameBuf.cpp rename to libs/dolphin/gx/GXFrameBuf.c index 61e1dfff6e..b5504ae0cb 100644 --- a/libs/dolphin/gx/GXFrameBuf.cpp +++ b/libs/dolphin/gx/GXFrameBuf.c @@ -11,34 +11,24 @@ // Forward References: // -extern "C" void GXSetDispCopySrc(); -extern "C" void GXSetTexCopySrc(); -extern "C" void GXSetDispCopyDst(); -extern "C" void GXSetTexCopyDst(); -extern "C" void GXSetDispCopyFrame2Field(); -extern "C" void GXSetCopyClamp(); -extern "C" void GXGetNumXfbLines(); -extern "C" void GXGetYScaleFactor(); -extern "C" void GXSetDispCopyYScale(); -extern "C" void GXSetCopyClear(); -extern "C" void GXSetCopyFilter(); -extern "C" void GXSetDispCopyGamma(); -extern "C" void GXCopyDisp(); -extern "C" void GXCopyTex(); -extern "C" void GXClearBoundingBox(); -extern "C" extern u8 GXNtsc480IntDf[60]; -extern "C" extern u8 GXNtsc480Int[60]; -extern "C" extern u8 GXMpal480IntDf[60]; -extern "C" extern u8 GXPal528IntDf[60]; -extern "C" extern u8 GXEurgb60Hz480IntDf[60 + 4 /* padding */]; +void GXSetDispCopyFrame2Field(); +void GXSetCopyClamp(); +void GXSetCopyClear(); +void GXSetDispCopyGamma(); +void GXClearBoundingBox(); +extern u8 GXNtsc480IntDf[60]; +extern u8 GXNtsc480Int[60]; +extern u8 GXMpal480IntDf[60]; +extern u8 GXPal528IntDf[60]; +extern u8 GXEurgb60Hz480IntDf[60 + 4 /* padding */]; // // External References: // -extern "C" void __GetImageTileCount(); -extern "C" void __cvt_fp2unsigned(); -extern "C" extern void* __GXData; +void __GetImageTileCount(); +void __cvt_fp2unsigned(); +extern void* __GXData; // // Declarations: @@ -48,7 +38,7 @@ extern "C" extern void* __GXData; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDispCopySrc() { +asm void GXSetDispCopySrc(u16 left, u16 top, u16 width, u16 height) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopySrc.s" } @@ -58,7 +48,7 @@ asm void GXSetDispCopySrc() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTexCopySrc() { +asm void GXSetTexCopySrc(u16 left, u16 top, u16 width, u16 height) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetTexCopySrc.s" } @@ -68,7 +58,7 @@ asm void GXSetTexCopySrc() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDispCopyDst() { +asm void GXSetDispCopyDst(u16 width, u16 height) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyDst.s" } @@ -78,7 +68,7 @@ asm void GXSetDispCopyDst() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTexCopyDst() { +asm void GXSetTexCopyDst(u16 width, u16 height, GXTexFmt fmt, GXBool mipmap) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetTexCopyDst.s" } @@ -88,7 +78,7 @@ asm void GXSetTexCopyDst() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDispCopyFrame2Field() { +asm void GXSetDispCopyFrame2Field(GXCopyMode mode) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyFrame2Field.s" } @@ -98,7 +88,7 @@ asm void GXSetDispCopyFrame2Field() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetCopyClamp() { +asm void GXSetCopyClamp(GXFBClamp clamp) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetCopyClamp.s" } @@ -116,7 +106,7 @@ SECTION_SDATA2 static f32 lit_179[1 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetNumXfbLines() { +asm u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXGetNumXfbLines.s" } @@ -130,7 +120,7 @@ SECTION_SDATA2 static f64 lit_234 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetYScaleFactor() { +asm f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXGetYScaleFactor.s" } @@ -140,7 +130,7 @@ asm void GXGetYScaleFactor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDispCopyYScale() { +asm u32 GXSetDispCopyYScale(f32 y_scale) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyYScale.s" } @@ -150,7 +140,7 @@ asm void GXSetDispCopyYScale() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetCopyClear() { +asm void GXSetCopyClear(GXColor color, u32 clear_z) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetCopyClear.s" } @@ -160,7 +150,7 @@ asm void GXSetCopyClear() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetCopyFilter() { +asm void GXSetCopyFilter(GXBool antialias, u8 pattern[12][2], GXBool vf, u8 vfilter[7]) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetCopyFilter.s" } @@ -170,7 +160,7 @@ asm void GXSetCopyFilter() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDispCopyGamma() { +asm void GXSetDispCopyGamma(GXGamma gamma) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXSetDispCopyGamma.s" } @@ -180,7 +170,7 @@ asm void GXSetDispCopyGamma() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXCopyDisp() { +asm void GXCopyDisp(void* dst, GXBool clear) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXCopyDisp.s" } @@ -190,7 +180,7 @@ asm void GXCopyDisp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXCopyTex() { +asm void GXCopyTex(void* dst, GXBool clear) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXCopyTex.s" } @@ -200,7 +190,7 @@ asm void GXCopyTex() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXClearBoundingBox() { +asm void GXClearBoundingBox(void) { nofralloc #include "asm/dolphin/gx/GXFrameBuf/GXClearBoundingBox.s" } diff --git a/libs/dolphin/gx/GXGeometry.c b/libs/dolphin/gx/GXGeometry.c new file mode 100644 index 0000000000..78efffbc1e --- /dev/null +++ b/libs/dolphin/gx/GXGeometry.c @@ -0,0 +1,166 @@ +/** + * GXGeometry.c + * Description: + */ + +#include "dolphin/gx/GXGeometry.h" +#include "dolphin/gx/GX.h" + +/* 8035C6E4-8035C764 357024 0080+00 0/0 4/4 0/0 .text __GXSetDirtyState */ +void __GXSetDirtyState(void) { + u32 dirtyFlags = __GXData->field_0x5ac; + + if (dirtyFlags & 1) { + __GXSetSUTexRegs(); + } + + if (dirtyFlags & 2) { + __GXUpdateBPMask(); + } + + if (dirtyFlags & 4) { + __GXSetGenMode(); + } + + if (dirtyFlags & 8) { + __GXSetVCD(); + } + + if (dirtyFlags & 0x10) { + __GXSetVAT(); + } + + if (dirtyFlags & 0x18) { + __GXCalculateVLim(); + } + + __GXData->field_0x5ac = 0; +} + +/* 8035C764-8035C834 3570A4 00D0+00 0/0 66/66 3/3 .text GXBegin */ +void GXBegin(GXPrimitive type, GXVtxFmt fmt, u16 vert_num) { + GXData* data = __GXData; + u32 dirtyFlags = data->field_0x5ac; + + if (data->field_0x5ac != 0) { + if (dirtyFlags & 1) { + __GXSetSUTexRegs(); + } + + if (dirtyFlags & 2) { + __GXUpdateBPMask(); + } + + if (dirtyFlags & 4) { + __GXSetGenMode(); + } + + if (dirtyFlags & 8) { + __GXSetVCD(); + } + + if (dirtyFlags & 0x10) { + __GXSetVAT(); + } + + if (dirtyFlags & 0x18) { + __GXCalculateVLim(); + } + + __GXData->field_0x5ac = 0; + } + + if (*(u32*)__GXData == 0) { + __GXSendFlushPrim(); + } + + GXFIFO.u8 = fmt | type; + GXFIFO.u16 = vert_num; +} + +/* 8035C834-8035C8BC 357174 0088+00 1/1 1/1 0/0 .text __GXSendFlushPrim */ +void __GXSendFlushPrim(void) { + u32 i; + u32 sz = __GXData->field_0x4 * __GXData->field_0x6; + + GXFIFO.u8 = 0x98; + GXFIFO.u16 = __GXData->field_0x4; + + for (i = 0; i < sz; i += 4) { + GXFIFO.s32 = 0; + } + + __GXData->field_0x2 = 1; +} + +/* 8035C8BC-8035C8FC 3571FC 0040+00 0/0 8/8 0/0 .text GXSetLineWidth */ +void GXSetLineWidth(u8 width, GXTexOffset offsets) { + GXData* data = __GXData; + + GX_BITFIELD_SET(data->field_0x7c, 24, 8, width); + GX_BITFIELD_SET(data->field_0x7c, 13, 3, offsets); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = data->field_0x7c; + data->field_0x2 = 0; +} + +/* 8035C8FC-8035C93C 35723C 0040+00 0/0 5/5 0/0 .text GXSetPointSize */ +void GXSetPointSize(u8 size, GXTexOffset offsets) { + GXData* data = __GXData; + + GX_BITFIELD_SET(data->field_0x7c, 16, 8, size); + GX_BITFIELD_SET(data->field_0x7c, 10, 3, offsets); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = data->field_0x7c; + data->field_0x2 = 0; +} + +/* 8035C93C-8035C984 35727C 0048+00 0/0 3/3 0/0 .text GXEnableTexOffsets */ +void GXEnableTexOffsets(GXTexCoordID coord, GXBool line, GXBool point) { + GXData* data = __GXData; + + GX_BITFIELD_SET(data->field_0xb8[coord], 13, 1, line); + GX_BITFIELD_SET(data->field_0xb8[coord], 12, 1, point); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = data->field_0xb8[coord]; + data->field_0x2 = 0; +} + +/* 8035C984-8035C9AC 3572C4 0028+00 0/0 33/33 5/5 .text GXSetCullMode */ +// extra mr +#ifdef NONMATCHING +void GXSetCullMode(GXCullMode mode) { + GXData* data = __GXData; + + mode = (mode << 1 & 2 | mode >> 1 & 1); + GX_BITFIELD_SET(data->field_0x204, 16, 2, mode); + data->field_0x5ac |= 4; +} +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void GXSetCullMode(GXCullMode mode) { + nofralloc +#include "asm/dolphin/gx/GXGeometry/GXSetCullMode.s" +} +#pragma pop +#endif + +/* 8035C9AC-8035C9E0 3572EC 0034+00 0/0 6/6 0/0 .text GXSetCoPlanar */ +void GXSetCoPlanar(GXBool enable) { + GXData* data = __GXData; + + GX_BITFIELD_SET(data->field_0x204, 12, 1, enable); + GXFIFO.u8 = 0x61; + GXFIFO.u32 = 0xFE080000; + GXFIFO.u8 = 0x61; + GXFIFO.u32 = data->field_0x204; +} + +/* 8035C9E0-8035CA04 357320 0024+00 2/2 0/0 0/0 .text __GXSetGenMode */ +void __GXSetGenMode(void) { + GXFIFO.u8 = 0x61; + GXFIFO.u32 = __GXData->field_0x204; + __GXData->field_0x2 = 0; +} diff --git a/libs/dolphin/gx/GXGeometry.cpp b/libs/dolphin/gx/GXGeometry.cpp deleted file mode 100644 index 6edd3bab01..0000000000 --- a/libs/dolphin/gx/GXGeometry.cpp +++ /dev/null @@ -1,127 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: GXGeometry -// - -#include "dolphin/gx/GXGeometry.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void __GXSetDirtyState(); -extern "C" void GXBegin(); -extern "C" void __GXSendFlushPrim(); -extern "C" void GXSetLineWidth(); -extern "C" void GXSetPointSize(); -extern "C" void GXEnableTexOffsets(); -extern "C" void GXSetCullMode(); -extern "C" void GXSetCoPlanar(); -extern "C" void __GXSetGenMode(); - -// -// External References: -// - -extern "C" void __GXSetVCD(); -extern "C" void __GXCalculateVLim(); -extern "C" void __GXSetVAT(); -extern "C" void __GXSetSUTexRegs(); -extern "C" void __GXUpdateBPMask(); -extern "C" extern void* __GXData; - -// -// Declarations: -// - -/* 8035C6E4-8035C764 357024 0080+00 0/0 4/4 0/0 .text __GXSetDirtyState */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __GXSetDirtyState() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/__GXSetDirtyState.s" -} -#pragma pop - -/* 8035C764-8035C834 3570A4 00D0+00 0/0 66/66 3/3 .text GXBegin */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXBegin() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXBegin.s" -} -#pragma pop - -/* 8035C834-8035C8BC 357174 0088+00 1/1 1/1 0/0 .text __GXSendFlushPrim */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __GXSendFlushPrim() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/__GXSendFlushPrim.s" -} -#pragma pop - -/* 8035C8BC-8035C8FC 3571FC 0040+00 0/0 8/8 0/0 .text GXSetLineWidth */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetLineWidth() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXSetLineWidth.s" -} -#pragma pop - -/* 8035C8FC-8035C93C 35723C 0040+00 0/0 5/5 0/0 .text GXSetPointSize */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetPointSize() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXSetPointSize.s" -} -#pragma pop - -/* 8035C93C-8035C984 35727C 0048+00 0/0 3/3 0/0 .text GXEnableTexOffsets */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXEnableTexOffsets() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXEnableTexOffsets.s" -} -#pragma pop - -/* 8035C984-8035C9AC 3572C4 0028+00 0/0 33/33 5/5 .text GXSetCullMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetCullMode() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXSetCullMode.s" -} -#pragma pop - -/* 8035C9AC-8035C9E0 3572EC 0034+00 0/0 6/6 0/0 .text GXSetCoPlanar */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetCoPlanar() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/GXSetCoPlanar.s" -} -#pragma pop - -/* 8035C9E0-8035CA04 357320 0024+00 2/2 0/0 0/0 .text __GXSetGenMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __GXSetGenMode() { - nofralloc -#include "asm/dolphin/gx/GXGeometry/__GXSetGenMode.s" -} -#pragma pop diff --git a/libs/dolphin/gx/GXInit.cpp b/libs/dolphin/gx/GXInit.c similarity index 78% rename from libs/dolphin/gx/GXInit.cpp rename to libs/dolphin/gx/GXInit.c index 609b8eeba3..bcde238428 100644 --- a/libs/dolphin/gx/GXInit.cpp +++ b/libs/dolphin/gx/GXInit.c @@ -12,63 +12,48 @@ // Forward References: // -extern "C" void __GXDefaultTexRegionCallback(); -extern "C" void __GXDefaultTlutRegionCallback(); -extern "C" void __GXShutdown(); -extern "C" void __GXInitRevisionBits(); -extern "C" void __GXInitGX(); +void __GXShutdown(); +void __GXInitRevisionBits(); +void __GXInitGX(); // // External References: // -extern "C" void PPCSync(); -extern "C" void PPCMfhid2(); -extern "C" void PPCMthid2(); -extern "C" void PPCMtwpar(); -extern "C" void OSRegisterVersion(); -extern "C" void OSRegisterResetFunction(); -extern "C" void OSGetTime(); -extern "C" void VIGetTvFormat(); -extern "C" void GXSetCPUFifo(); -extern "C" void GXSetGPFifo(); -extern "C" void GXSetBreakPtCallback(); -extern "C" void __GXFifoInit(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXSetVtxAttrFmtv(); -extern "C" void GXInvalidateVtxCache(); -extern "C" void __GXAbort(); -extern "C" void GXPokeAlphaMode(); -extern "C" void GXPokeAlphaRead(); -extern "C" void GXPokeAlphaUpdate(); -extern "C" void GXPokeBlendMode(); -extern "C" void GXPokeColorUpdate(); -extern "C" void GXPokeDstAlpha(); -extern "C" void GXPokeDither(); -extern "C" void GXPokeZMode(); -extern "C" void GXSetDrawSyncCallback(); -extern "C" void __GXPEInit(); -extern "C" void GXSetDispCopyFrame2Field(); -extern "C" void GXClearBoundingBox(); -extern "C" void GXGetTexObjFmt(); -extern "C" void GXGetTexObjMipMap(); -extern "C" void GXInitTlutRegion(); -extern "C" void GXInvalidateTexAll(); -extern "C" void GXSetTexRegionCallback(); -extern "C" void GXSetTlutRegionCallback(); -extern "C" void __GXSetTmemConfig(); -extern "C" void __GXSetIndirectMask(); -extern "C" void __GXFlushTextureState(); -extern "C" void GXSetFieldMask(); -extern "C" void GXSetFieldMode(); -extern "C" void GXSetProjectionv(); -extern "C" void GXSetScissorBoxOffset(); -extern "C" void GXSetGPMetric(); -extern "C" void GXClearGPMetric(); -extern "C" extern u8 GXNtsc480IntDf[60]; -extern "C" extern u8 GXMpal480IntDf[60]; -extern "C" extern u8 GXPal528IntDf[60]; -extern "C" extern u8 GXEurgb60Hz480IntDf[60 + 4 /* padding */]; +void PPCSync(); +void PPCMfhid2(); +void PPCMthid2(); +void PPCMtwpar(); +void OSRegisterVersion(); +void OSRegisterResetFunction(); +void VIGetTvFormat(); +void GXSetCPUFifo(); +void GXSetGPFifo(); +void GXSetBreakPtCallback(); +void __GXFifoInit(); +void GXClearVtxDesc(); +void GXSetVtxAttrFmtv(); +void GXInvalidateVtxCache(); +void __GXAbort(); +void GXPokeAlphaRead(); +void GXPokeBlendMode(); +void GXSetDrawSyncCallback(); +void __GXPEInit(); +void GXSetDispCopyFrame2Field(); +void GXClearBoundingBox(); +void GXInitTlutRegion(); +void GXInvalidateTexAll(); +void __GXSetTmemConfig(); +void __GXSetIndirectMask(); +void __GXFlushTextureState(); +void GXSetProjectionv(); +void GXSetScissorBoxOffset(); +void GXSetGPMetric(); +void GXClearGPMetric(); +extern u8 GXNtsc480IntDf[60]; +extern u8 GXMpal480IntDf[60]; +extern u8 GXPal528IntDf[60]; +extern u8 GXEurgb60Hz480IntDf[60 + 4 /* padding */]; // // Declarations: @@ -88,54 +73,70 @@ SECTION_SDATA2 extern GXData* __GXData = &gxData; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXDefaultTexRegionCallback() { +asm GXTexRegion* __GXDefaultTexRegionCallback(GXTexObj* obj, GXTexMapID mapID) { nofralloc #include "asm/dolphin/gx/GXInit/__GXDefaultTexRegionCallback.s" } #pragma pop /* 80359318-8035933C 353C58 0024+00 1/1 0/0 0/0 .text __GXDefaultTlutRegionCallback */ +// blr instead of b +#ifdef NONMATCHING +GXTlutRegion* __GXDefaultTlutRegionCallback(u32 tlut) { + GXTlutRegion* region; + + if (tlut >= 20) { + region = NULL; + } else { + region = &__GXData->field_0x388[tlut]; + } + + return region; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXDefaultTlutRegionCallback() { +asm GXTlutRegion* __GXDefaultTlutRegionCallback(u32 tlut) { nofralloc #include "asm/dolphin/gx/GXInit/__GXDefaultTlutRegionCallback.s" } #pragma pop +#endif + +/* 80451944-80451948 000E44 0004+00 1/1 0/0 0/0 .sbss resetFuncRegistered$145 */ +/* static */ u8 resetFuncRegistered[4]; + +/* 80451940-80451944 000E40 0004+00 1/1 0/0 0/0 .sbss calledOnce$37 */ +/* static */ u8 calledOnce[4]; + +/* 8045193C-80451940 000E3C 0004+00 1/1 0/0 0/0 .sbss None */ +/* static */ u8 data_8045193C[4]; + +/* 80451938-8045193C 000E38 0004+00 1/1 0/0 0/0 .sbss time$36 */ +/* static */ u8 time[4]; + +/* 80451930-80451938 000E30 0004+04 1/1 0/0 0/0 .sbss peCount$35 */ +/* static */ u8 peCount[4 + 4 /* padding */]; + +/* 8045192C-80451930 000E2C 0004+00 2/2 2/2 0/0 .sbss __memReg */ +u8 __memReg[4]; + +/* 80451928-8045192C 000E28 0004+00 1/1 11/11 0/0 .sbss __peReg */ +u8 __peReg[4]; + +/* 80451924-80451928 000E24 0004+00 2/2 12/12 0/0 .sbss __cpReg */ +u16* __cpReg; /* ############################################################################################## */ /* 80451920-80451924 000E20 0004+00 1/1 2/2 0/0 .sbss __piReg */ u32* __piReg; -/* 80451924-80451928 000E24 0004+00 2/2 12/12 0/0 .sbss __cpReg */ -u16* __cpReg; - -/* 80451928-8045192C 000E28 0004+00 1/1 11/11 0/0 .sbss __peReg */ -extern u8 __peReg[4]; -u8 __peReg[4]; - -/* 8045192C-80451930 000E2C 0004+00 2/2 2/2 0/0 .sbss __memReg */ -extern u8 __memReg[4]; -u8 __memReg[4]; - -/* 80451930-80451938 000E30 0004+04 1/1 0/0 0/0 .sbss peCount$35 */ -static u8 peCount[4 + 4 /* padding */]; - -/* 80451938-8045193C 000E38 0004+00 1/1 0/0 0/0 .sbss time$36 */ -static u8 time[4]; - -/* 8045193C-80451940 000E3C 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_8045193C[4]; - -/* 80451940-80451944 000E40 0004+00 1/1 0/0 0/0 .sbss calledOnce$37 */ -static u8 calledOnce[4]; - /* 8035933C-803594CC 353C7C 0190+00 1/0 0/0 0/0 .text __GXShutdown */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXShutdown() { +asm void __GXShutdown(s32) { nofralloc #include "asm/dolphin/gx/GXInit/__GXShutdown.s" } @@ -145,7 +146,7 @@ asm void __GXShutdown() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXInitRevisionBits() { +asm void __GXInitRevisionBits(void) { nofralloc #include "asm/dolphin/gx/GXInit/__GXInitRevisionBits.s" } @@ -222,9 +223,6 @@ SECTION_DATA static void* GXResetFuncInfo[4 + 1 /* padding */] = { /* 80450A78-80450A80 -00001 0004+04 1/1 0/0 0/0 .sdata __GXVersion */ SECTION_SDATA static const char* __GXVersion = lit_1; -/* 80451944-80451948 000E44 0004+00 1/1 0/0 0/0 .sbss resetFuncRegistered$145 */ -static u8 resetFuncRegistered[4]; - /* 80456584-80456588 004B84 0004+00 1/1 0/0 0/0 .sdata2 @267 */ SECTION_SDATA2 static f32 lit_267 = 16777216.0f; @@ -240,7 +238,7 @@ SECTION_SDATA2 static u8 lit_268[4] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm GXFifoObj* GXInit(void*, u32) { +asm GXFifoObj* GXInit(void* base, u32 size) { nofralloc #include "asm/dolphin/gx/GXInit/GXInit.s" } @@ -274,7 +272,7 @@ SECTION_SDATA2 static f64 lit_334 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXInitGX() { +asm void __GXInitGX(void) { nofralloc #include "asm/dolphin/gx/GXInit/__GXInitGX.s" } diff --git a/libs/dolphin/gx/GXLight.c b/libs/dolphin/gx/GXLight.c new file mode 100644 index 0000000000..60d857b207 --- /dev/null +++ b/libs/dolphin/gx/GXLight.c @@ -0,0 +1,232 @@ +/** + * GXLight.c + * Description: + */ + +#include "dolphin/gx/GXLight.h" +#include "MSL_C/math.h" +#include "dolphin/gx/GX.h" + +/* 8035D630-8035D64C 357F70 001C+00 0/0 1/1 0/0 .text GXInitLightAttn */ +void GXInitLightAttn(GXLightObj* obj, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2) { + obj->a0 = a0; + obj->a1 = a1; + obj->a2 = a2; + obj->k0 = k0; + obj->k1 = k1; + obj->k2 = k2; +} + +/* 8035D64C-8035D7DC 357F8C 0190+00 1/0 2/2 0/0 .text GXInitLightSpot */ +void GXInitLightSpot(GXLightObj* obj, f32 cutoff, GXSpotFn spot_fn) { + f32 rad; + f32 a, b, c, d; + + if (cutoff <= 0.0f || cutoff > 90.0f) { + spot_fn = GX_SP_OFF; + } + + rad = cosf((3.1415927f * cutoff) / 180.0f); + + switch (spot_fn) { + case GX_SP_FLAT: + a = -1000.0f * rad; + b = 1000.0f; + c = 0.0f; + break; + case GX_SP_COS: + b = 1.0f / (1.0f - rad); + a = -rad * b; + c = 0.0f; + break; + case GX_SP_COS2: + c = 1.0f / (1.0f - rad); + a = 0.0f; + b = -rad * c; + break; + case GX_SP_SHARP: + d = 1.0f / ((1.0f - rad) * (1.0f - rad)); + a = (rad * (rad - 2.0f)) * d; + b = 2.0f * d; + c = -d; + break; + case GX_SP_RING1: + d = 1.0f / ((1.0f - rad) * (1.0f - rad)); + c = -4.0f * d; + a = c * rad; + b = 4.0f * (1.0f + rad) * d; + break; + case GX_SP_RING2: + d = 1.0f / ((1.0f - rad) * (1.0f - rad)); + a = 1.0f - 2.0f * rad * rad * d; + b = 4.0f * rad * d; + c = -2.0f * d; + break; + case GX_SP_OFF: + default: + a = 1.0f; + b = 0.0f; + c = 0.0f; + break; + } + + obj->a0 = a; + obj->a1 = b; + obj->a2 = c; +} + +/* 8035D7DC-8035D8AC 35811C 00D0+00 0/0 2/2 0/0 .text GXInitLightDistAttn */ +void GXInitLightDistAttn(GXLightObj* obj, f32 dist, f32 brightness, GXDistAttnFn dist_fn) { + f32 a, b, c; + + if (dist < 0.0f) { + dist_fn = GX_DA_OFF; + } + + if (brightness <= 0.0f || brightness >= 1.0f) { + dist_fn = GX_DA_OFF; + } + + switch (dist_fn) { + case GX_DA_GENTLE: + a = 1.0f; + b = (1.0f - brightness) / (brightness * dist); + c = 0.0f; + break; + case GX_DA_MEDIUM: + a = 1.0f; + b = (0.5f * (1.0f - brightness)) / (brightness * dist); + c = (0.5f * (1.0f - brightness)) / (dist * (brightness * dist)); + break; + case GX_DA_STEEP: + a = 1.0f; + b = 0.0f; + c = (1.0f - brightness) / (dist * (brightness * dist)); + break; + case GX_DA_OFF: + default: + a = 1.0f; + b = 0.0f; + c = 0.0f; + break; + } + + obj->k0 = a; + obj->k1 = b; + obj->k2 = c; +} + +/* 8035D8AC-8035D8BC 3581EC 0010+00 0/0 3/3 0/0 .text GXInitLightPos */ +void GXInitLightPos(GXLightObj* obj, f32 x, f32 y, f32 z) { + obj->posX = x; + obj->posY = y; + obj->posZ = z; +} + +/* 8035D8BC-8035D8D8 3581FC 001C+00 0/0 3/3 0/0 .text GXInitLightDir */ +void GXInitLightDir(GXLightObj* obj, f32 x, f32 y, f32 z) { + obj->dirX = -x; + obj->dirY = -y; + obj->dirZ = -z; +} + +/* 8035D8D8-8035D8E4 358218 000C+00 0/0 3/3 0/0 .text GXInitLightColor */ +void GXInitLightColor(GXLightObj* obj, GXColor color) { + *(u32*)&obj->color = *(u32*)&color; +} + +/* 8035D8E4-8035D960 358224 007C+00 0/0 4/4 2/2 .text GXLoadLightObjImm */ +asm void GXLoadLightObjImm(register GXLightObj* obj, register GXLightID id) { + // clang-format off + nofralloc + + cntlzw r0, id + subfic r0, r0, 0x1f + rlwinm r5, r0, 4, 0x19, 0x1b + lis r4, 0xCC01 + li r0, 0x10 + addi r5, r5, 0x600 + stb r0, 0x8000(r4) + oris r0, r5, 0xf + stwu r0, -0x8000(r4) + lwz r0, 0xc(r3) + xor r6, r6, r6 + psq_l f5, 16(obj), 0, 0 + psq_l f4, 24(obj), 0, 0 + psq_l f3, 32(obj), 0, 0 + psq_l f2, 40(obj), 0, 0 + psq_l f1, 48(obj), 0, 0 + psq_l f0, 56(obj), 0, 0 + stw r6, 0(r4) + stw r6, 0(r4) + stw r6, 0(r4) + stw r0, 0(r4) + psq_st f5, 0(r4), 0, 0 + psq_st f4, 0(r4), 0, 0 + psq_st f3, 0(r4), 0, 0 + psq_st f2, 0(r4), 0, 0 + psq_st f1, 0(r4), 0, 0 + psq_st f0, 0(r4), 0, 0 + + lwz r3, __GXData(r2) + li r0, 1 + sth r0, 2(r3) + + blr + // clang-format on +} + +/* 8035D960-8035DA48 3582A0 00E8+00 0/0 7/7 4/4 .text GXSetChanAmbColor */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void GXSetChanAmbColor(GXChannelID channel, GXColor color) { + nofralloc +#include "asm/dolphin/gx/GXLight/GXSetChanAmbColor.s" +} +#pragma pop + +/* 8035DA48-8035DB30 358388 00E8+00 0/0 20/20 2/2 .text GXSetChanMatColor */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void GXSetChanMatColor(GXChannelID channel, GXColor color) { + nofralloc +#include "asm/dolphin/gx/GXLight/GXSetChanMatColor.s" +} +#pragma pop + +/* 8035DB30-8035DB6C 358470 003C+00 0/0 51/51 6/6 .text GXSetNumChans */ +// 1 wrong reg +#ifdef NONMATCHING +void GXSetNumChans(u8 chan_num) { + GXData* data = __GXData; + GX_BITFIELD_SET(data->field_0x204, 25, 3, chan_num); + + GXFIFO.u8 = 0x10; + GXFIFO.s32 = 0x1009; + GXFIFO.s32 = chan_num; + + data->field_0x5ac |= 0x4; +} +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void GXSetNumChans(u8 chan_num) { + nofralloc +#include "asm/dolphin/gx/GXLight/GXSetNumChans.s" +} +#pragma pop +#endif + +/* 8035DB6C-8035DC1C 3584AC 00B0+00 0/0 34/34 4/4 .text GXSetChanCtrl */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void GXSetChanCtrl(GXChannelID channel, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src, + u32 light_mask, GXDiffuseFn diff_fn, GXAttnFn attn_fn) { + nofralloc +#include "asm/dolphin/gx/GXLight/GXSetChanCtrl.s" +} +#pragma pop diff --git a/libs/dolphin/gx/GXLight.cpp b/libs/dolphin/gx/GXLight.cpp deleted file mode 100644 index 56681864f2..0000000000 --- a/libs/dolphin/gx/GXLight.cpp +++ /dev/null @@ -1,201 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: GXLight -// - -#include "dolphin/gx/GXLight.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Forward References: -// - -extern "C" void GXInitLightAttn(); -extern "C" void GXInitLightSpot(); -extern "C" void GXInitLightDistAttn(); -extern "C" void GXInitLightPos(); -extern "C" void GXInitLightDir(); -extern "C" void GXInitLightColor(); -extern "C" void GXLoadLightObjImm(); -extern "C" void GXSetChanAmbColor(); -extern "C" void GXSetChanMatColor(); -extern "C" void GXSetNumChans(); -extern "C" void GXSetChanCtrl(); - -// -// External References: -// - -extern "C" void cosf(); -extern "C" extern void* __GXData; - -// -// Declarations: -// - -/* 8035D630-8035D64C 357F70 001C+00 0/0 1/1 0/0 .text GXInitLightAttn */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXInitLightAttn() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXInitLightAttn.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803D2578-803D2598 -00001 001C+04 1/1 0/0 0/0 .data @145 */ -SECTION_DATA static void* lit_145[7 + 1 /* padding */] = { - (void*)(((char*)GXInitLightSpot) + 0x160), - (void*)(((char*)GXInitLightSpot) + 0x70), - (void*)(((char*)GXInitLightSpot) + 0x84), - (void*)(((char*)GXInitLightSpot) + 0xA4), - (void*)(((char*)GXInitLightSpot) + 0xC4), - (void*)(((char*)GXInitLightSpot) + 0xF0), - (void*)(((char*)GXInitLightSpot) + 0x124), - /* padding */ - NULL, -}; - -/* 804565B8-804565BC 004BB8 0004+00 2/2 0/0 0/0 .sdata2 @134 */ -SECTION_SDATA2 static u8 lit_134[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 804565BC-804565C0 004BBC 0004+00 1/1 0/0 0/0 .sdata2 @135 */ -SECTION_SDATA2 static f32 lit_135 = 90.0f; - -/* 804565C0-804565C4 004BC0 0004+00 1/1 0/0 0/0 .sdata2 @136 */ -SECTION_SDATA2 static f32 lit_136 = 3.1415927410125732f; - -/* 804565C4-804565C8 004BC4 0004+00 1/1 0/0 0/0 .sdata2 @137 */ -SECTION_SDATA2 static f32 lit_137 = 180.0f; - -/* 804565C8-804565CC 004BC8 0004+00 1/1 0/0 0/0 .sdata2 @138 */ -SECTION_SDATA2 static f32 lit_138 = -1000.0f; - -/* 804565CC-804565D0 004BCC 0004+00 1/1 0/0 0/0 .sdata2 @139 */ -SECTION_SDATA2 static f32 lit_139 = 1000.0f; - -/* 804565D0-804565D4 004BD0 0004+00 2/2 0/0 0/0 .sdata2 @140 */ -SECTION_SDATA2 static f32 lit_140 = 1.0f; - -/* 804565D4-804565D8 004BD4 0004+00 1/1 0/0 0/0 .sdata2 @141 */ -SECTION_SDATA2 static f32 lit_141 = 2.0f; - -/* 804565D8-804565DC 004BD8 0004+00 1/1 0/0 0/0 .sdata2 @142 */ -SECTION_SDATA2 static f32 lit_142 = -4.0f; - -/* 804565DC-804565E0 004BDC 0004+00 1/1 0/0 0/0 .sdata2 @143 */ -SECTION_SDATA2 static f32 lit_143 = 4.0f; - -/* 804565E0-804565E4 004BE0 0004+00 1/1 0/0 0/0 .sdata2 @144 */ -SECTION_SDATA2 static f32 lit_144 = -2.0f; - -/* 8035D64C-8035D7DC 357F8C 0190+00 1/0 2/2 0/0 .text GXInitLightSpot */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXInitLightSpot() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXInitLightSpot.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804565E4-804565E8 004BE4 0004+00 1/1 0/0 0/0 .sdata2 @160 */ -SECTION_SDATA2 static f32 lit_160 = 0.5f; - -/* 8035D7DC-8035D8AC 35811C 00D0+00 0/0 2/2 0/0 .text GXInitLightDistAttn */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXInitLightDistAttn() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXInitLightDistAttn.s" -} -#pragma pop - -/* 8035D8AC-8035D8BC 3581EC 0010+00 0/0 3/3 0/0 .text GXInitLightPos */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXInitLightPos() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXInitLightPos.s" -} -#pragma pop - -/* 8035D8BC-8035D8D8 3581FC 001C+00 0/0 3/3 0/0 .text GXInitLightDir */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXInitLightDir() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXInitLightDir.s" -} -#pragma pop - -/* 8035D8D8-8035D8E4 358218 000C+00 0/0 3/3 0/0 .text GXInitLightColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXInitLightColor() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXInitLightColor.s" -} -#pragma pop - -/* 8035D8E4-8035D960 358224 007C+00 0/0 4/4 2/2 .text GXLoadLightObjImm */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXLoadLightObjImm() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXLoadLightObjImm.s" -} -#pragma pop - -/* 8035D960-8035DA48 3582A0 00E8+00 0/0 7/7 4/4 .text GXSetChanAmbColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetChanAmbColor() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXSetChanAmbColor.s" -} -#pragma pop - -/* 8035DA48-8035DB30 358388 00E8+00 0/0 20/20 2/2 .text GXSetChanMatColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetChanMatColor() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXSetChanMatColor.s" -} -#pragma pop - -/* 8035DB30-8035DB6C 358470 003C+00 0/0 51/51 6/6 .text GXSetNumChans */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetNumChans() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXSetNumChans.s" -} -#pragma pop - -/* 8035DB6C-8035DC1C 3584AC 00B0+00 0/0 34/34 4/4 .text GXSetChanCtrl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GXSetChanCtrl() { - nofralloc -#include "asm/dolphin/gx/GXLight/GXSetChanCtrl.s" -} -#pragma pop diff --git a/libs/dolphin/gx/GXMisc.cpp b/libs/dolphin/gx/GXMisc.c similarity index 76% rename from libs/dolphin/gx/GXMisc.cpp rename to libs/dolphin/gx/GXMisc.c index efe46362cc..ed320eef64 100644 --- a/libs/dolphin/gx/GXMisc.cpp +++ b/libs/dolphin/gx/GXMisc.c @@ -11,50 +11,43 @@ // Forward References: // -extern "C" void GXSetMisc(); -extern "C" void GXFlush(); -extern "C" void __GXAbort(); -extern "C" void GXAbortFrame(); -extern "C" void GXSetDrawDone(); -extern "C" void GXDrawDone(); -extern "C" void GXPixModeSync(); -extern "C" void GXPokeAlphaMode(); -extern "C" void GXPokeAlphaRead(); -extern "C" void GXPokeAlphaUpdate(); -extern "C" void GXPokeBlendMode(); -extern "C" void GXPokeColorUpdate(); -extern "C" void GXPokeDstAlpha(); -extern "C" void GXPokeDither(); -extern "C" void GXPokeZMode(); -extern "C" void GXPeekZ(); -extern "C" void GXSetDrawSyncCallback(); -extern "C" static void GXTokenInterruptHandler(); -extern "C" void GXSetDrawDoneCallback(); -extern "C" static void GXFinishInterruptHandler(); -extern "C" void __GXPEInit(); +void GXSetMisc(); +void GXFlush(); +void __GXAbort(); +void GXAbortFrame(); +void GXSetDrawDone(); +void GXDrawDone(); +void GXPixModeSync(); +void GXPokeAlphaRead(); +void GXPokeBlendMode(); +void GXSetDrawSyncCallback(); +static void GXTokenInterruptHandler(); +void GXSetDrawDoneCallback(); +static void GXFinishInterruptHandler(); +void __GXPEInit(); // // External References: // -extern "C" void PPCSync(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void OSInitThreadQueue(); -extern "C" void OSSleepThread(); -extern "C" void OSWakeupThread(); -extern "C" void OSGetTime(); -extern "C" void __GXInitRevisionBits(); -extern "C" void __GXCleanGPFifo(); -extern "C" void GXGetGPFifo(); -extern "C" void __GXSetDirtyState(); -extern "C" extern u8 __peReg[4]; -extern "C" extern u8 __memReg[4]; -extern "C" extern void* __GXData; +void PPCSync(); +void OSSetCurrentContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSUnmaskInterrupts(); +void OSInitThreadQueue(); +void OSSleepThread(); +void OSWakeupThread(); +void OSGetTime(); +void __GXInitRevisionBits(); +void __GXCleanGPFifo(); +void GXGetGPFifo(); +void __GXSetDirtyState(); +extern u8 __peReg[4]; +extern u8 __memReg[4]; +extern void* __GXData; // // Declarations: @@ -64,7 +57,7 @@ extern "C" extern void* __GXData; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetMisc() { +asm void GXSetMisc(u32 id, u32 value) { nofralloc #include "asm/dolphin/gx/GXMisc/GXSetMisc.s" } @@ -74,7 +67,7 @@ asm void GXSetMisc() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXFlush() { +asm void GXFlush(void) { nofralloc #include "asm/dolphin/gx/GXMisc/GXFlush.s" } @@ -84,7 +77,7 @@ asm void GXFlush() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXAbort() { +asm void __GXAbort(void) { nofralloc #include "asm/dolphin/gx/GXMisc/__GXAbort.s" } @@ -94,7 +87,7 @@ asm void __GXAbort() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXAbortFrame() { +asm void GXAbortFrame(void) { nofralloc #include "asm/dolphin/gx/GXMisc/GXAbortFrame.s" } @@ -114,7 +107,7 @@ static u8 data_80451970[4]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDrawDone() { +asm void GXSetDrawDone(void) { nofralloc #include "asm/dolphin/gx/GXMisc/GXSetDrawDone.s" } @@ -128,7 +121,7 @@ static u8 FinishQueue[8]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXDrawDone() { +asm void GXDrawDone(void) { nofralloc #include "asm/dolphin/gx/GXMisc/GXDrawDone.s" } @@ -138,7 +131,7 @@ asm void GXDrawDone() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPixModeSync() { +asm void GXPixModeSync(void) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPixModeSync.s" } @@ -148,7 +141,7 @@ asm void GXPixModeSync() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeAlphaMode() { +asm void GXPokeAlphaMode(GXCompare comp, u8 threshold) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeAlphaMode.s" } @@ -158,7 +151,7 @@ asm void GXPokeAlphaMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeAlphaRead() { +asm void GXPokeAlphaRead(GXAlphaReadMode mode) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeAlphaRead.s" } @@ -168,7 +161,7 @@ asm void GXPokeAlphaRead() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeAlphaUpdate() { +asm void GXPokeAlphaUpdate(GXBool enable_update) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeAlphaUpdate.s" } @@ -178,7 +171,7 @@ asm void GXPokeAlphaUpdate() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeBlendMode() { +asm void GXPokeBlendMode(GXBlendMode mode, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeBlendMode.s" } @@ -188,7 +181,7 @@ asm void GXPokeBlendMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeColorUpdate() { +asm void GXPokeColorUpdate(GXBool enable_update) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeColorUpdate.s" } @@ -198,7 +191,7 @@ asm void GXPokeColorUpdate() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeDstAlpha() { +asm void GXPokeDstAlpha(GXBool enable, u8 alpha) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeDstAlpha.s" } @@ -208,7 +201,7 @@ asm void GXPokeDstAlpha() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeDither() { +asm void GXPokeDither(GXBool enable) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeDither.s" } @@ -218,7 +211,7 @@ asm void GXPokeDither() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPokeZMode() { +asm void GXPokeZMode(GXBool enable_compare, GXCompare comp) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPokeZMode.s" } @@ -228,7 +221,7 @@ asm void GXPokeZMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXPeekZ() { +asm void GXPeekZ(u16 x, u16 y, u32* z) { nofralloc #include "asm/dolphin/gx/GXMisc/GXPeekZ.s" } @@ -238,7 +231,7 @@ asm void GXPeekZ() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDrawSyncCallback() { +asm void GXSetDrawSyncCallback(GXDrawSyncCallback callback) { nofralloc #include "asm/dolphin/gx/GXMisc/GXSetDrawSyncCallback.s" } @@ -258,7 +251,7 @@ static asm void GXTokenInterruptHandler() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDrawDoneCallback() { +asm void GXSetDrawDoneCallback(GXDrawDoneCallback callback) { nofralloc #include "asm/dolphin/gx/GXMisc/GXSetDrawDoneCallback.s" } @@ -278,7 +271,7 @@ static asm void GXFinishInterruptHandler() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXPEInit() { +asm void __GXPEInit(void) { nofralloc #include "asm/dolphin/gx/GXMisc/__GXPEInit.s" } diff --git a/libs/dolphin/gx/GXPerf.cpp b/libs/dolphin/gx/GXPerf.c similarity index 93% rename from libs/dolphin/gx/GXPerf.cpp rename to libs/dolphin/gx/GXPerf.c index f436e2daa2..c1b0c59cc8 100644 --- a/libs/dolphin/gx/GXPerf.cpp +++ b/libs/dolphin/gx/GXPerf.c @@ -11,16 +11,16 @@ // Forward References: // -extern "C" void GXSetGPMetric(); -extern "C" void GXClearGPMetric(); -extern "C" void GXReadXfRasMetric(); +void GXSetGPMetric(); +void GXClearGPMetric(); +void GXReadXfRasMetric(); // // External References: // -extern "C" extern u8 __cpReg[4]; -extern "C" extern void* __GXData; +extern u8 __cpReg[4]; +extern void* __GXData; // // Declarations: @@ -89,7 +89,7 @@ SECTION_DATA static void* lit_181[36 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetGPMetric() { +asm void GXSetGPMetric(u32 perf0, u32 perf1) { nofralloc #include "asm/dolphin/gx/GXPerf/GXSetGPMetric.s" } @@ -99,7 +99,7 @@ asm void GXSetGPMetric() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXClearGPMetric() { +asm void GXClearGPMetric(void) { nofralloc #include "asm/dolphin/gx/GXPerf/GXClearGPMetric.s" } @@ -109,7 +109,7 @@ asm void GXClearGPMetric() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXReadXfRasMetric() { +asm void GXReadXfRasMetric(u32* param_0, u32* param_1, u32* param_2, u32* param_3) { nofralloc #include "asm/dolphin/gx/GXPerf/GXReadXfRasMetric.s" } diff --git a/libs/dolphin/gx/GXPixel.cpp b/libs/dolphin/gx/GXPixel.c similarity index 83% rename from libs/dolphin/gx/GXPixel.cpp rename to libs/dolphin/gx/GXPixel.c index 01e2fef9ee..c2b5037907 100644 --- a/libs/dolphin/gx/GXPixel.cpp +++ b/libs/dolphin/gx/GXPixel.c @@ -11,26 +11,16 @@ // Forward References: // -extern "C" void GXSetFog(); -extern "C" void GXSetFogRangeAdj(); -extern "C" void GXSetBlendMode(); -extern "C" void GXSetColorUpdate(); -extern "C" void GXSetAlphaUpdate(); -extern "C" void GXSetZMode(); -extern "C" void GXSetZCompLoc(); -extern "C" void GXSetPixelFmt(); -extern "C" void GXSetDither(); -extern "C" void GXSetDstAlpha(); -extern "C" void GXSetFieldMask(); -extern "C" void GXSetFieldMode(); +void GXSetBlendMode(); +void GXSetPixelFmt(); // // External References: // -extern "C" void __GXFlushTextureState(); -extern "C" void __cvt_fp2unsigned(); -extern "C" extern void* __GXData; +void __GXFlushTextureState(); +void __cvt_fp2unsigned(); +extern void* __GXData; // // Declarations: @@ -82,7 +72,7 @@ SECTION_SDATA2 static f64 lit_219 = 4503601774854144.0 /* cast s32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetFog() { +asm void GXSetFog(GXFogType type, f32 startZ, f32 endZ, f32 nearZ, f32 farZ, GXColor color) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetFog.s" } @@ -92,7 +82,7 @@ asm void GXSetFog() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetFogRangeAdj() { +asm void GXSetFogRangeAdj(GXBool enable, u16 center, GXFogAdjTable* table) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetFogRangeAdj.s" } @@ -102,7 +92,7 @@ asm void GXSetFogRangeAdj() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetBlendMode() { +asm void GXSetBlendMode(GXBlendMode mode, GXBlendFactor src_factor, GXBlendFactor dst_factor, GXLogicOp op) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetBlendMode.s" } @@ -112,7 +102,7 @@ asm void GXSetBlendMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetColorUpdate() { +asm void GXSetColorUpdate(GXBool enable_update) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetColorUpdate.s" } @@ -122,7 +112,7 @@ asm void GXSetColorUpdate() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetAlphaUpdate() { +asm void GXSetAlphaUpdate(GXBool enable_update) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetAlphaUpdate.s" } @@ -132,7 +122,7 @@ asm void GXSetAlphaUpdate() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetZMode() { +asm void GXSetZMode(GXBool enable_compare, GXCompare comp, GXBool enable_update) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetZMode.s" } @@ -142,7 +132,7 @@ asm void GXSetZMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetZCompLoc() { +asm void GXSetZCompLoc(GXBool z_buf_before_tex) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetZCompLoc.s" } @@ -159,7 +149,7 @@ SECTION_DATA static u8 p2f[32] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetPixelFmt() { +asm void GXSetPixelFmt(GXPixelFmt pixel_fmt, GXZFmt16 z_fmt) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetPixelFmt.s" } @@ -169,7 +159,7 @@ asm void GXSetPixelFmt() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDither() { +asm void GXSetDither(GXBool enable_dither) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetDither.s" } @@ -179,7 +169,7 @@ asm void GXSetDither() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetDstAlpha() { +asm void GXSetDstAlpha(GXBool enable, u8 alpha) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetDstAlpha.s" } @@ -189,7 +179,7 @@ asm void GXSetDstAlpha() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetFieldMask() { +asm void GXSetFieldMask(GXBool odd_mask, GXBool even_mask) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetFieldMask.s" } @@ -199,7 +189,7 @@ asm void GXSetFieldMask() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetFieldMode() { +asm void GXSetFieldMode(GXBool field_mode, GXBool half_aspect_ratio) { nofralloc #include "asm/dolphin/gx/GXPixel/GXSetFieldMode.s" } diff --git a/libs/dolphin/gx/GXTev.cpp b/libs/dolphin/gx/GXTev.c similarity index 76% rename from libs/dolphin/gx/GXTev.cpp rename to libs/dolphin/gx/GXTev.c index cb029509c4..9848efcf12 100644 --- a/libs/dolphin/gx/GXTev.cpp +++ b/libs/dolphin/gx/GXTev.c @@ -11,28 +11,24 @@ // Forward References: // -extern "C" void GXSetTevOp(); -extern "C" void GXSetTevColorIn(); -extern "C" void GXSetTevAlphaIn(); -extern "C" void GXSetTevColorOp(); -extern "C" void GXSetTevAlphaOp(); -extern "C" void GXSetTevColor(); -extern "C" void GXSetTevColorS10(); -extern "C" void GXSetTevKColor(); -extern "C" void GXSetTevKColorSel(); -extern "C" void GXSetTevKAlphaSel(); -extern "C" void GXSetTevSwapMode(); -extern "C" void GXSetTevSwapModeTable(); -extern "C" void GXSetAlphaCompare(); -extern "C" void GXSetZTexture(); -extern "C" void GXSetTevOrder(); -extern "C" void GXSetNumTevStages(); +void GXSetTevOp(); +void GXSetTevColorIn(); +void GXSetTevAlphaIn(); +void GXSetTevColor(); +void GXSetTevColorS10(); +void GXSetTevKColor(); +void GXSetTevKColorSel(); +void GXSetTevKAlphaSel(); +void GXSetTevSwapMode(); +void GXSetTevSwapModeTable(); +void GXSetZTexture(); +void GXSetTevOrder(); // // External References: // -extern "C" extern void* __GXData; +extern void* __GXData; // // Declarations: @@ -49,7 +45,7 @@ SECTION_DATA static u8 TEVCOpTableST0[20] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevOp() { +asm void GXSetTevOp(GXTevStageID id, GXTevMode mode) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevOp.s" } @@ -59,7 +55,8 @@ asm void GXSetTevOp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevColorIn() { +asm void GXSetTevColorIn(GXTevStageID stage, GXTevColorArg a, GXTevColorArg b, GXTevColorArg c, + GXTevColorArg d) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevColorIn.s" } @@ -69,7 +66,8 @@ asm void GXSetTevColorIn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevAlphaIn() { +asm void GXSetTevAlphaIn(GXTevStageID stage, GXTevAlphaArg a, GXTevAlphaArg b, GXTevAlphaArg c, + GXTevAlphaArg d) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevAlphaIn.s" } @@ -79,7 +77,8 @@ asm void GXSetTevAlphaIn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevColorOp() { +asm void GXSetTevColorOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, + GXBool clamp, GXTevRegID out_reg) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevColorOp.s" } @@ -89,7 +88,8 @@ asm void GXSetTevColorOp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevAlphaOp() { +asm void GXSetTevAlphaOp(GXTevStageID stage, GXTevOp op, GXTevBias bias, GXTevScale scale, + GXBool clamp, GXTevRegID out_reg) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevAlphaOp.s" } @@ -99,7 +99,7 @@ asm void GXSetTevAlphaOp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevColor() { +asm void GXSetTevColor(GXTevRegID id, GXColor color) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevColor.s" } @@ -109,7 +109,7 @@ asm void GXSetTevColor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevColorS10() { +asm void GXSetTevColorS10(GXTevRegID id, GXColorS10 color) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevColorS10.s" } @@ -119,7 +119,7 @@ asm void GXSetTevColorS10() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevKColor() { +asm void GXSetTevKColor(GXTevKColorID id, GXColor color) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevKColor.s" } @@ -129,7 +129,7 @@ asm void GXSetTevKColor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevKColorSel() { +asm void GXSetTevKColorSel(GXTevStageID stage, GXTevKColorSel color_sel) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevKColorSel.s" } @@ -139,7 +139,7 @@ asm void GXSetTevKColorSel() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevKAlphaSel() { +asm void GXSetTevKAlphaSel(GXTevStageID stage, GXTevKAlphaSel alpha_sel) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevKAlphaSel.s" } @@ -149,7 +149,7 @@ asm void GXSetTevKAlphaSel() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevSwapMode() { +asm void GXSetTevSwapMode(GXTevStageID stage, GXTevSwapSel ras_sel, GXTevSwapSel tex_sel) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevSwapMode.s" } @@ -159,7 +159,8 @@ asm void GXSetTevSwapMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevSwapModeTable() { +asm void GXSetTevSwapModeTable(GXTevSwapSel select, GXTevColor r, GXTevColor g, GXTevColor b, + GXTevColor a) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevSwapModeTable.s" } @@ -169,7 +170,7 @@ asm void GXSetTevSwapModeTable() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetAlphaCompare() { +asm void GXSetAlphaCompare(GXCompare comp0, u8 ref0, GXAlphaOp op, GXCompare comp1, u8 ref1) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetAlphaCompare.s" } @@ -179,7 +180,7 @@ asm void GXSetAlphaCompare() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetZTexture() { +asm void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetZTexture.s" } @@ -262,7 +263,7 @@ SECTION_DATA static u8 c2r[36 + 4 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTevOrder() { +asm void GXSetTevOrder(GXTevStageID stage, GXTexCoordID coord, GXTexMapID map, GXChannelID color) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetTevOrder.s" } @@ -272,7 +273,7 @@ asm void GXSetTevOrder() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetNumTevStages() { +asm void GXSetNumTevStages(u8 num_stages) { nofralloc #include "asm/dolphin/gx/GXTev/GXSetNumTevStages.s" } diff --git a/libs/dolphin/gx/GXTexture.cpp b/libs/dolphin/gx/GXTexture.c similarity index 88% rename from libs/dolphin/gx/GXTexture.cpp rename to libs/dolphin/gx/GXTexture.c index b526a5e8d1..dc89a7ffb1 100644 --- a/libs/dolphin/gx/GXTexture.cpp +++ b/libs/dolphin/gx/GXTexture.c @@ -11,39 +11,22 @@ // Forward References: // -extern "C" void GXGetTexBufferSize(); -extern "C" void __GetImageTileCount(); -extern "C" void GXInitTexObj(); -extern "C" void GXInitTexObjCI(); -extern "C" void GXInitTexObjLOD(); -extern "C" void GXGetTexObjWidth(); -extern "C" void GXGetTexObjHeight(); -extern "C" void GXGetTexObjFmt(); -extern "C" void GXGetTexObjWrapS(); -extern "C" void GXGetTexObjWrapT(); -extern "C" void GXGetTexObjMipMap(); -extern "C" void GXGetTexObjTlut(); -extern "C" static void GXLoadTexObjPreLoaded(); -extern "C" void GXLoadTexObj(); -extern "C" void GXInitTlutObj(); -extern "C" void GXLoadTlut(); -extern "C" void GXInitTexCacheRegion(); -extern "C" void GXInitTlutRegion(); -extern "C" void GXInvalidateTexAll(); -extern "C" void GXSetTexRegionCallback(); -extern "C" void GXSetTlutRegionCallback(); -extern "C" void GXSetTexCoordScaleManually(); -extern "C" void __SetSURegs(); -extern "C" void __GXSetSUTexRegs(); -extern "C" void __GXSetTmemConfig(); +void __GetImageTileCount(); +static void GXLoadTexObjPreLoaded(); +void GXLoadTexObj(); +void GXLoadTlut(); +void GXInitTlutRegion(); +void GXInvalidateTexAll(); +void __SetSURegs(); +void __GXSetSUTexRegs(); +void __GXSetTmemConfig(); // // External References: // SECTION_INIT void memset(); -extern "C" void __GXFlushTextureState(); -extern "C" extern void* __GXData; +void __GXFlushTextureState(); // // Declarations: @@ -89,7 +72,7 @@ SECTION_DATA static void* lit_104[61] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexBufferSize() { +asm u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexBufferSize.s" } @@ -177,7 +160,8 @@ SECTION_SDATA2 static f64 lit_222 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitTexObj() { +asm void GXInitTexObj(GXTexObj* obj, void* image, u16 width, u16 height, GXTexFmt fmt, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexObj.s" } @@ -187,7 +171,8 @@ asm void GXInitTexObj() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitTexObjCI() { +asm void GXInitTexObjCI(GXTexObj* obj, void* image, u16 width, u16 height, GXCITexFmt format, + GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap, u32 tlut_name) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexObjCI.s" } @@ -269,7 +254,9 @@ SECTION_SDATA2 static f32 lit_293 = 10.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitTexObjLOD() { +asm void GXInitTexObjLOD(GXTexObj* obj, GXTexFilter min_filter, GXTexFilter max_filter, f32 min_lod, + f32 max_lod, f32 lod_bias, GXBool bias_clamp, GXBool edge_lod, + GXAnisotropy aniso) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexObjLOD.s" } @@ -279,7 +266,7 @@ asm void GXInitTexObjLOD() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjWidth() { +asm u16 GXGetTexObjWidth(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjWidth.s" } @@ -289,7 +276,7 @@ asm void GXGetTexObjWidth() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjHeight() { +asm u16 GXGetTexObjHeight(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjHeight.s" } @@ -299,7 +286,7 @@ asm void GXGetTexObjHeight() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjFmt() { +asm GXTexFmt GXGetTexObjFmt(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjFmt.s" } @@ -309,7 +296,7 @@ asm void GXGetTexObjFmt() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjWrapS() { +asm GXTexWrapMode GXGetTexObjWrapS(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjWrapS.s" } @@ -319,7 +306,7 @@ asm void GXGetTexObjWrapS() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjWrapT() { +asm GXTexWrapMode GXGetTexObjWrapT(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjWrapT.s" } @@ -329,7 +316,7 @@ asm void GXGetTexObjWrapT() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjMipMap() { +asm GXBool GXGetTexObjMipMap(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjMipMap.s" } @@ -339,7 +326,7 @@ asm void GXGetTexObjMipMap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetTexObjTlut() { +asm u32 GXGetTexObjTlut(GXTexObj* obj) { nofralloc #include "asm/dolphin/gx/GXTexture/GXGetTexObjTlut.s" } @@ -349,7 +336,7 @@ asm void GXGetTexObjTlut() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void GXLoadTexObjPreLoaded() { +static asm void GXLoadTexObjPreLoaded(GXTexObj* obj, GXTexRegion* region, GXTexMapID id) { nofralloc #include "asm/dolphin/gx/GXTexture/GXLoadTexObjPreLoaded.s" } @@ -359,7 +346,7 @@ static asm void GXLoadTexObjPreLoaded() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXLoadTexObj() { +asm void GXLoadTexObj(GXTexObj* obj, GXTexMapID id) { nofralloc #include "asm/dolphin/gx/GXTexture/GXLoadTexObj.s" } @@ -369,7 +356,7 @@ asm void GXLoadTexObj() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitTlutObj() { +asm void GXInitTlutObj(GXTlutObj* obj, void* lut, GXTlutFmt fmt, u16 entry_num) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTlutObj.s" } @@ -379,7 +366,7 @@ asm void GXInitTlutObj() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXLoadTlut() { +asm void GXLoadTlut(GXTlutObj* obj, u32 tlut_name) { nofralloc #include "asm/dolphin/gx/GXTexture/GXLoadTlut.s" } @@ -389,7 +376,8 @@ asm void GXLoadTlut() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitTexCacheRegion() { +asm void GXInitTexCacheRegion(GXTexRegion* region, GXBool is_32b_mipmap, u32 tmem_even, + GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTexCacheRegion.s" } @@ -399,7 +387,7 @@ asm void GXInitTexCacheRegion() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInitTlutRegion() { +asm void GXInitTlutRegion(GXTlutRegion* region, u32 tmem_addr, GXTlutSize tlut_size) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInitTlutRegion.s" } @@ -409,7 +397,7 @@ asm void GXInitTlutRegion() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXInvalidateTexAll() { +asm void GXInvalidateTexAll(void) { nofralloc #include "asm/dolphin/gx/GXTexture/GXInvalidateTexAll.s" } @@ -419,7 +407,7 @@ asm void GXInvalidateTexAll() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTexRegionCallback() { +asm GXTexRegionCallback GXSetTexRegionCallback(GXTexRegionCallback callback) { nofralloc #include "asm/dolphin/gx/GXTexture/GXSetTexRegionCallback.s" } @@ -429,7 +417,7 @@ asm void GXSetTexRegionCallback() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTlutRegionCallback() { +asm GXTlutRegionCallback GXSetTlutRegionCallback(GXTlutRegionCallback callback) { nofralloc #include "asm/dolphin/gx/GXTexture/GXSetTlutRegionCallback.s" } @@ -439,7 +427,7 @@ asm void GXSetTlutRegionCallback() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetTexCoordScaleManually() { +asm void GXSetTexCoordScaleManually(GXTexCoordID coord, GXBool enable, u16 s_scale, u16 t_scale) { nofralloc #include "asm/dolphin/gx/GXTexture/GXSetTexCoordScaleManually.s" } diff --git a/libs/dolphin/gx/GXTransform.cpp b/libs/dolphin/gx/GXTransform.c similarity index 78% rename from libs/dolphin/gx/GXTransform.cpp rename to libs/dolphin/gx/GXTransform.c index df252e6c19..c4c36e207b 100644 --- a/libs/dolphin/gx/GXTransform.cpp +++ b/libs/dolphin/gx/GXTransform.c @@ -11,28 +11,26 @@ // Forward References: // -extern "C" void GXProject(); -extern "C" void GXSetProjection(); -extern "C" void GXSetProjectionv(); -extern "C" void GXGetProjectionv(); -extern "C" void GXLoadPosMtxImm(); -extern "C" void GXLoadNrmMtxImm(); -extern "C" void GXSetCurrentMtx(); -extern "C" void GXLoadTexMtxImm(); -extern "C" void __GXSetViewport(); -extern "C" void GXSetViewport(); -extern "C" void GXGetViewportv(); -extern "C" void GXSetScissor(); -extern "C" void GXGetScissor(); -extern "C" void GXSetScissorBoxOffset(); -extern "C" void GXSetClipMode(); -extern "C" void __GXSetMatrixIndex(); +void GXSetProjection(); +void GXSetProjectionv(); +void GXGetProjectionv(); +void GXLoadPosMtxImm(); +void GXLoadNrmMtxImm(); +void GXSetCurrentMtx(); +void GXLoadTexMtxImm(); +void __GXSetViewport(); +void GXGetViewportv(); +void GXSetScissor(); +void GXGetScissor(); +void GXSetScissorBoxOffset(); +void GXSetClipMode(); +void __GXSetMatrixIndex(); // // External References: // -extern "C" extern void* __GXData; +extern void* __GXData; // // Declarations: @@ -57,7 +55,8 @@ SECTION_SDATA2 static f32 lit_28 = 0.5f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXProject() { +asm void GXProject(f32 model_x, f32 model_y, f32 model_z, Mtx model_mtx, f32* proj_mtx, + f32* viewpoint, f32* screen_x, f32* screen_y, f32* screen_z) { nofralloc #include "asm/dolphin/gx/GXTransform/GXProject.s" } @@ -67,7 +66,7 @@ asm void GXProject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetProjection() { +asm void GXSetProjection(Mtx44 mtx, GXProjectionType type) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetProjection.s" } @@ -77,7 +76,7 @@ asm void GXSetProjection() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetProjectionv() { +asm void GXSetProjectionv(f32* p) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetProjectionv.s" } @@ -87,7 +86,7 @@ asm void GXSetProjectionv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetProjectionv() { +asm void GXGetProjectionv(f32* p) { nofralloc #include "asm/dolphin/gx/GXTransform/GXGetProjectionv.s" } @@ -97,7 +96,7 @@ asm void GXGetProjectionv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXLoadPosMtxImm() { +asm void GXLoadPosMtxImm(Mtx mtx, u32 id) { nofralloc #include "asm/dolphin/gx/GXTransform/GXLoadPosMtxImm.s" } @@ -107,7 +106,7 @@ asm void GXLoadPosMtxImm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXLoadNrmMtxImm() { +asm void GXLoadNrmMtxImm(Mtx mtx, u32 id) { nofralloc #include "asm/dolphin/gx/GXTransform/GXLoadNrmMtxImm.s" } @@ -117,7 +116,7 @@ asm void GXLoadNrmMtxImm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetCurrentMtx() { +asm void GXSetCurrentMtx(u32 id) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetCurrentMtx.s" } @@ -127,7 +126,7 @@ asm void GXSetCurrentMtx() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXLoadTexMtxImm() { +asm void GXLoadTexMtxImm(Mtx mtx, u32 id, GXTexMtxType type) { nofralloc #include "asm/dolphin/gx/GXTransform/GXLoadTexMtxImm.s" } @@ -141,7 +140,7 @@ SECTION_SDATA2 static f32 lit_201 = 342.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXSetViewport() { +asm void __GXSetViewport(void) { nofralloc #include "asm/dolphin/gx/GXTransform/__GXSetViewport.s" } @@ -151,7 +150,7 @@ asm void __GXSetViewport() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetViewport() { +asm void GXSetViewport(f32 x_orig, f32 y_orig, f32 width, f32 height, f32 near_z, f32 far_z) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetViewport.s" } @@ -161,7 +160,7 @@ asm void GXSetViewport() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetViewportv() { +asm void GXGetViewportv(f32* p) { nofralloc #include "asm/dolphin/gx/GXTransform/GXGetViewportv.s" } @@ -171,7 +170,7 @@ asm void GXGetViewportv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetScissor() { +asm void GXSetScissor(u32 left, u32 top, u32 width, u32 height) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetScissor.s" } @@ -181,7 +180,7 @@ asm void GXSetScissor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXGetScissor() { +asm void GXGetScissor(u32* left, u32* top, u32* width, u32* height) { nofralloc #include "asm/dolphin/gx/GXTransform/GXGetScissor.s" } @@ -191,7 +190,7 @@ asm void GXGetScissor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetScissorBoxOffset() { +asm void GXSetScissorBoxOffset(u32 x_offset, u32 y_offset) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetScissorBoxOffset.s" } @@ -201,7 +200,7 @@ asm void GXSetScissorBoxOffset() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void GXSetClipMode() { +asm void GXSetClipMode(GXClipMode mode) { nofralloc #include "asm/dolphin/gx/GXTransform/GXSetClipMode.s" } @@ -211,7 +210,7 @@ asm void GXSetClipMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __GXSetMatrixIndex() { +asm void __GXSetMatrixIndex(u32 id) { nofralloc #include "asm/dolphin/gx/GXTransform/__GXSetMatrixIndex.s" } diff --git a/libs/dolphin/gx/Makefile b/libs/dolphin/gx/Makefile index 0b972d775e..0f00f994e3 100644 --- a/libs/dolphin/gx/Makefile +++ b/libs/dolphin/gx/Makefile @@ -3,20 +3,20 @@ # LIBGX_A_CPP_FILES := \ - libs/dolphin/gx/GXInit.cpp \ - libs/dolphin/gx/GXFifo.cpp \ - libs/dolphin/gx/GXAttr.cpp \ - libs/dolphin/gx/GXMisc.cpp \ - libs/dolphin/gx/GXGeometry.cpp \ - libs/dolphin/gx/GXFrameBuf.cpp \ - libs/dolphin/gx/GXLight.cpp \ - libs/dolphin/gx/GXTexture.cpp \ - libs/dolphin/gx/GXBump.cpp \ - libs/dolphin/gx/GXTev.cpp \ - libs/dolphin/gx/GXPixel.cpp \ - libs/dolphin/gx/GXDisplayList.cpp \ - libs/dolphin/gx/GXTransform.cpp \ - libs/dolphin/gx/GXPerf.cpp \ + libs/dolphin/gx/GXInit.c \ + libs/dolphin/gx/GXFifo.c \ + libs/dolphin/gx/GXAttr.c \ + libs/dolphin/gx/GXMisc.c \ + libs/dolphin/gx/GXGeometry.c \ + libs/dolphin/gx/GXFrameBuf.c \ + libs/dolphin/gx/GXLight.c \ + libs/dolphin/gx/GXTexture.c \ + libs/dolphin/gx/GXBump.c \ + libs/dolphin/gx/GXTev.c \ + libs/dolphin/gx/GXPixel.c \ + libs/dolphin/gx/GXDisplayList.c \ + libs/dolphin/gx/GXTransform.c \ + libs/dolphin/gx/GXPerf.c \ LIBGX_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/gx/GXInit.o \ @@ -36,6 +36,7 @@ LIBGX_A_O_FILES := \ LIBGX_A_CFLAGS := \ -O4,p \ + -lang=c \ LIBGX_A_LDFLAGS := \ -nodefaults \ @@ -48,9 +49,9 @@ $(BUILD_DIR)/libgx.a: $(LIBGX_A_O_FILES) @echo $(LIBGX_A_O_FILES) > build/LIBGX_A_ofiles @$(LD) -xm l $(LIBGX_A_LDFLAGS) -o $(BUILD_DIR)/libgx.a @build/LIBGX_A_ofiles -$(BUILD_DIR)/libs/dolphin/gx/%.o: libs/dolphin/gx/%.cpp +$(BUILD_DIR)/libs/dolphin/gx/%.o: libs/dolphin/gx/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBGX_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBGX_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/mtx/Makefile b/libs/dolphin/mtx/Makefile index 0f488dad09..65c6ad64d1 100644 --- a/libs/dolphin/mtx/Makefile +++ b/libs/dolphin/mtx/Makefile @@ -3,11 +3,11 @@ # LIBMTX_A_CPP_FILES := \ - libs/dolphin/mtx/mtx.cpp \ - libs/dolphin/mtx/mtxvec.cpp \ - libs/dolphin/mtx/mtx44.cpp \ - libs/dolphin/mtx/vec.cpp \ - libs/dolphin/mtx/quat.cpp \ + libs/dolphin/mtx/mtx.c \ + libs/dolphin/mtx/mtxvec.c \ + libs/dolphin/mtx/mtx44.c \ + libs/dolphin/mtx/vec.c \ + libs/dolphin/mtx/quat.c \ LIBMTX_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/mtx/mtx.o \ @@ -17,6 +17,8 @@ LIBMTX_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/mtx/quat.o \ LIBMTX_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBMTX_A_LDFLAGS := \ -nodefaults \ @@ -29,9 +31,9 @@ $(BUILD_DIR)/libmtx.a: $(LIBMTX_A_O_FILES) @echo $(LIBMTX_A_O_FILES) > build/LIBMTX_A_ofiles @$(LD) -xm l $(LIBMTX_A_LDFLAGS) -o $(BUILD_DIR)/libmtx.a @build/LIBMTX_A_ofiles -$(BUILD_DIR)/libs/dolphin/mtx/%.o: libs/dolphin/mtx/%.cpp +$(BUILD_DIR)/libs/dolphin/mtx/%.o: libs/dolphin/mtx/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBMTX_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBMTX_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/mtx/mtx.c b/libs/dolphin/mtx/mtx.c new file mode 100644 index 0000000000..5b44c151bf --- /dev/null +++ b/libs/dolphin/mtx/mtx.c @@ -0,0 +1,533 @@ +// +// Generated By: dol2asm +// Translation Unit: mtx +// + +#include "dolphin/mtx/mtx.h" +#include "MSL_C/math.h" +#include "dol2asm.h" +#include "dolphin/mtx/mtxvec.h" + +// +// Declarations: +// + +/* ############################################################################################## */ +/* 80456508-8045650C 004B08 0004+00 6/6 0/0 0/0 .sdata2 @96 */ +SECTION_SDATA2 static f32 lit_96 = 1.0f; + +/* 8045650C-80456510 004B0C 0004+00 6/6 0/0 0/0 .sdata2 @97 */ +SECTION_SDATA2 static u8 lit_97[4] = { + 0x00, + 0x00, + 0x00, + 0x00, +}; + +/* 80346484-803464B0 340DC4 002C+00 0/0 27/27 13/13 .text PSMTXIdentity */ +asm void PSMTXIdentity(register Mtx m) { + // clang-format off + nofralloc + + lfs f0, lit_97(r2) + lfs f1, lit_96(r2) + psq_st f0, 8(m), 0, 0 + ps_merge01 f2, f0, f1 + psq_st f0, 24(m), 0, 0 + ps_merge10 f1, f1, f0 + psq_st f0, 32(m), 0, 0 + psq_st f2, 16(m), 0, 0 + psq_st f1, 0(m), 0, 0 + psq_st f1, 40(m), 0, 0 + blr + // clang-format on +} + +/* 803464B0-803464E4 340DF0 0034+00 0/0 119/119 1436/1436 .text PSMTXCopy */ +asm void PSMTXCopy(register const Mtx src, register Mtx dst) { + // clang-format off + nofralloc + + psq_l f0, 0(src), 0, 0 + psq_st f0, 0(dst), 0, 0 + psq_l f1, 8(src), 0, 0 + psq_st f1, 8(dst), 0, 0 + psq_l f2, 16(src), 0, 0 + psq_st f2, 16(dst), 0, 0 + psq_l f3, 24(src), 0, 0 + psq_st f3, 24(dst), 0, 0 + psq_l f4, 32(src), 0, 0 + psq_st f4, 32(dst), 0, 0 + psq_l f5, 40(src), 0, 0 + psq_st f5, 40(dst), 0, 0 + blr + // clang-format on +} + +/* ############################################################################################## */ +/* 804509D0-804509D8 000450 0008+00 1/1 0/0 0/0 .sdata Unit01 */ +static f32 Unit01[2] = { + 0.0f, 1.0f, +}; + +/* 803464E4-803465B0 340E24 00CC+00 0/0 109/109 30/30 .text PSMTXConcat */ +asm void PSMTXConcat(register const Mtx a, register const Mtx b, register Mtx ab) { + // clang-format off + nofralloc + + stwu r1, -0x40(r1) + psq_l f0, 0(a), 0, 0 + stfd f14, 8(r1) + psq_l f6, 0(b), 0, 0 + lis r6, Unit01@ha + psq_l f7, 8(b), 0, 0 + stfd f15, 0x10(r1) + addi r6, r6, Unit01@l + stfd f31, 0x28(r1) + psq_l f8, 16(b), 0, 0 + ps_muls0 f12, f6, f0 + psq_l f2, 16(a), 0, 0 + ps_muls0 f13, f7, f0 + psq_l f31, 0(r6), 0, 0 + ps_muls0 f14, f6, f2 + psq_l f9, 24(b), 0, 0 + ps_muls0 f15, f7, f2 + psq_l f1, 8(a), 0, 0 + ps_madds1 f12, f8, f0, f12 + psq_l f3, 24(a), 0, 0 + ps_madds1 f14, f8, f2, f14 + psq_l f10, 32(b), 0, 0 + ps_madds1 f13, f9, f0, f13 + psq_l f11, 40(b), 0, 0 + ps_madds1 f15, f9, f2, f15 + psq_l f4, 32(a), 0, 0 + psq_l f5, 40(a), 0, 0 + ps_madds0 f12, f10, f1, f12 + ps_madds0 f13, f11, f1, f13 + ps_madds0 f14, f10, f3, f14 + ps_madds0 f15, f11, f3, f15 + psq_st f12, 0(ab), 0, 0 + ps_muls0 f2, f6, f4 + ps_madds1 f13, f31, f1, f13 + ps_muls0 f0, f7, f4 + psq_st f14, 16(ab), 0, 0 + ps_madds1 f15, f31, f3, f15 + psq_st f13, 8(ab), 0, 0 + ps_madds1 f2, f8, f4, f2 + ps_madds1 f0, f9, f4, f0 + ps_madds0 f2, f10, f5, f2 + lfd f14, 8(r1) + psq_st f15, 24(ab), 0, 0 + ps_madds0 f0, f11, f5, f0 + psq_st f2, 32(ab), 0, 0 + ps_madds1 f0, f31, f5, f0 + lfd f15, 0x10(r1) + psq_st f0, 40(ab), 0, 0 + lfd f31, 0x28(r1) + addi r1, r1, 0x40 + blr + // clang-format on +} + +/* 803465B0-803466A8 340EF0 00F8+00 0/0 43/43 39/39 .text PSMTXInverse */ +asm u32 PSMTXInverse(register const Mtx src, register Mtx inv) { + // clang-format off + nofralloc + + psq_l f0, 0(src), 1, 0 + psq_l f1, 4(src), 0, 0 + psq_l f2, 16(src), 1, 0 + ps_merge10 f6, f1, f0 + psq_l f3, 20(src), 0, 0 + psq_l f4, 32(src), 1, 0 + ps_merge10 f7, f3, f2 + psq_l f5, 36(src), 0, 0 + ps_mul f11, f3, f6 + ps_mul f13, f5, f7 + ps_merge10 f8, f5, f4 + ps_msub f11, f1, f7, f11 + ps_mul f12, f1, f8 + ps_msub f13, f3, f8, f13 + ps_mul f10, f3, f4 + ps_msub f12, f5, f6, f12 + ps_mul f9, f0, f5 + ps_mul f8, f1, f2 + ps_sub f6, f6, f6 + ps_msub f10, f2, f5, f10 + ps_mul f7, f0, f13 + ps_msub f9, f1, f4, f9 + ps_madd f7, f2, f12, f7 + ps_msub f8, f0, f3, f8 + ps_madd f7, f4, f11, f7 + ps_cmpo0 cr0, f7, f6 + bne lbl_80346624 + + li r3, 0 + blr + +lbl_80346624: + fres f0, f7 + ps_add f6, f0, f0 + ps_mul f5, f0, f0 + ps_nmsub f0, f7, f5, f6 + lfs f1, 0xc(src) + ps_muls0 f13, f13, f0 + lfs f2, 0x1c(src) + ps_muls0 f12, f12, f0 + lfs f3, 0x2c(src) + ps_muls0 f11, f11, f0 + ps_merge00 f5, f13, f12 + ps_muls0 f10, f10, f0 + ps_merge11 f4, f13, f12 + ps_muls0 f9, f9, f0 + psq_st f5, 0(inv), 0, 0 + ps_mul f6, f13, f1 + psq_st f4, 16(inv), 0, 0 + ps_muls0 f8, f8, f0 + ps_madd f6, f12, f2, f6 + psq_st f10, 32(inv), 1, 0 + ps_nmadd f6, f11, f3, f6 + psq_st f9, 36(inv), 1, 0 + ps_mul f7, f10, f1 + ps_merge00 f5, f11, f6 + psq_st f8, 40(inv), 1, 0 + ps_merge11 f4, f11, f6 + psq_st f5, 8(inv), 0, 0 + ps_madd f7, f9, f2, f7 + psq_st f4, 24(inv), 0, 0 + ps_nmadd f7, f8, f3, f7 + li r3, 1 + psq_st f7, 44(inv), 1, 0 + blr + // clang-format on +} + +/* 803466A8-80346718 340FE8 0070+00 0/0 17/17 0/0 .text PSMTXRotRad */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void PSMTXRotRad(Mtx m, u8 axis, f32 rad) { + nofralloc +#include "asm/dolphin/mtx/mtx/PSMTXRotRad.s" +} +#pragma pop + +/* 80346718-803467C8 341058 00B0+00 1/1 0/0 0/0 .text PSMTXRotTrig */ +asm void PSMTXRotTrig(register Mtx m, u8 axis, f32 sin, f32 cos) { + // clang-format off + nofralloc + + frsp f5, f1 + frsp f4, f2 + lfs f0, lit_97(r2) + lfs f1, lit_96(r2) + ori r0, r4, 0x20 + ps_neg f2, f5 + cmplwi r0, 0x78 + beq lbl_8034674C + cmplwi r0, 0x79 + beq lbl_80346774 + cmplwi r0, 0x7a + beq lbl_803467A0 + b lbl_803467C4 + +lbl_8034674C: + psq_st f1, 0(m), 1, 0 + psq_st f0, 4(m), 0, 0 + ps_merge00 f3, f5, f4 + psq_st f0, 12(m), 0, 0 + ps_merge00 f1, f4, f2 + psq_st f0, 28(m), 0, 0 + psq_st f0, 44(m), 1, 0 + psq_st f3, 36(m), 0, 0 + psq_st f1, 20(m), 0, 0 + b lbl_803467C4 + +lbl_80346774: + ps_merge00 f3, f4, f0 + ps_merge00 f1, f0, f1 + psq_st f0, 24(m), 0, 0 + psq_st f3, 0(m), 0, 0 + ps_merge00 f2, f2, f0 + ps_merge00 f0, f5, f0 + psq_st f3, 40(m), 0, 0 + psq_st f1, 16(m), 0, 0 + psq_st f0, 8(m), 0, 0 + psq_st f2, 32(m), 0, 0 + b lbl_803467C4 + +lbl_803467A0: + psq_st f0, 8(m), 0, 0 + ps_merge00 f3, f5, f4 + ps_merge00 f2, f4, f2 + psq_st f0, 24(m), 0, 0 + psq_st f0, 32(m), 0, 0 + ps_merge00 f1, f1, f0 + psq_st f3, 16(m), 0, 0 + psq_st f2, 0(m), 0, 0 + psq_st f1, 40(m), 0, 0 + +lbl_803467C4: + blr + // clang-format on +} + +/* ############################################################################################## */ +/* 80456510-80456514 004B10 0004+00 2/2 0/0 0/0 .sdata2 @190 */ +SECTION_SDATA2 static f32 lit_190 = 0.5f; + +/* 80456514-80456518 004B14 0004+00 1/1 0/0 0/0 .sdata2 @191 */ +SECTION_SDATA2 static f32 lit_191 = 3.0f; + +/* 803467C8-80346878 341108 00B0+00 1/1 0/0 0/0 .text __PSMTXRotAxisRadInternal */ +asm f64 __PSMTXRotAxisRadInternal(f64 param_1, f64 param_2, int param_3, int param_4) { + // clang-format off + nofralloc + + lfs f10, lit_190(r2) + lfs f9, lit_191(r2) + frsp f11, f2 + psq_l f2, 0(r4), 0, 0 + frsp f12, f1 + lfs f3, 8(r4) + ps_mul f4, f2, f2 + fadds f8, f10, f10 + ps_madd f5, f3, f3, f4 + fsubs f1, f10, f10 + ps_sum0 f6, f5, f3, f4 + fsubs f0, f8, f11 + frsqrte f7, f6 + fmuls f4, f7, f7 + fmuls f5, f7, f10 + fnmsubs f4, f4, f6, f9 + fmuls f7, f4, f5 + ps_merge00 f11, f11, f11 + ps_muls0 f2, f2, f7 + ps_muls0 f3, f3, f7 + ps_muls0 f6, f2, f0 + ps_muls0 f10, f2, f12 + ps_muls0 f7, f3, f0 + ps_muls1 f5, f6, f2 + ps_muls0 f4, f6, f2 + ps_muls0 f6, f6, f3 + fnmsubs f0, f3, f12, f5 + fmadds f8, f3, f12, f5 + ps_neg f2, f10 + ps_sum0 f9, f6, f1, f10 + ps_sum0 f4, f4, f0, f11 + ps_sum1 f5, f11, f8, f5 + ps_sum0 f0, f2, f1, f6 + psq_st f9, 8(r3), 0, 0 + ps_sum0 f2, f6, f6, f2 + psq_st f4, 0(r3), 0, 0 + ps_muls0 f7, f7, f3 + psq_st f5, 16(r3), 0, 0 + ps_sum1 f6, f10, f2, f6 + psq_st f0, 24(r3), 0, 0 + ps_sum0 f7, f7, f1, f11 + psq_st f6, 32(r3), 0, 0 + psq_st f7, 40(r3), 0, 0 + blr + // clang-format on +} + +/* 80346878-803468E8 3411B8 0070+00 0/0 6/6 8/8 .text PSMTXRotAxisRad */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void PSMTXRotAxisRad(Mtx m, const Vec* axis, f32 rad) { + nofralloc +#include "asm/dolphin/mtx/mtx/PSMTXRotAxisRad.s" +} +#pragma pop + +/* 803468E8-8034691C 341228 0034+00 0/0 38/38 471/471 .text PSMTXTrans */ +asm void PSMTXTrans(register Mtx m, f32 x, f32 y, f32 z) { + // clang-format off + nofralloc + + lfs f0, lit_97(r2) + lfs f4, lit_96(r2) + stfs f1, 0xc(m) + stfs f2, 0x1c(m) + psq_st f0, 4(m), 0, 0 + psq_st f0, 32(m), 0, 0 + stfs f0, 0x10(m) + stfs f4, 0x14(m) + stfs f0, 0x18(m) + stfs f4, 0x28(m) + stfs f3, 0x2c(m) + stfs f4, 0(m) + blr + // clang-format on +} + +/* 8034691C-80346968 34125C 004C+00 0/0 3/3 0/0 .text PSMTXTransApply */ +asm void PSMTXTransApply(register const Mtx src, register Mtx dst, f32 x, f32 y, f32 z) { + // clang-format off + nofralloc + + psq_l f4, 0(src), 0, 0 + frsp f1, f1 + psq_l f5, 8(src), 0, 0 + frsp f2, f2 + psq_l f7, 24(src), 0, 0 + frsp f3, f3 + psq_l f8, 40(src), 0, 0 + psq_st f4, 0(dst), 0, 0 + ps_sum1 f5, f1, f5, f5 + psq_l f6, 16(src), 0, 0 + psq_st f5, 8(dst), 0, 0 + ps_sum1 f7, f2, f7, f7 + psq_l f9, 32(src), 0, 0 + psq_st f6, 16(dst), 0, 0 + ps_sum1 f8, f3, f8, f8 + psq_st f7, 24(dst), 0, 0 + psq_st f9, 32(dst), 0, 0 + psq_st f8, 40(dst), 0, 0 + blr + // clang-format on +} + +/* 80346968-80346990 3412A8 0028+00 0/0 14/14 8/8 .text PSMTXScale */ +asm void PSMTXScale(register Mtx m, f32 x, f32 y, f32 z) { + // clang-format off + nofralloc + + lfs f0, lit_97(r2) + stfs f1, 0(m) + psq_st f0, 4(m), 0, 0 + psq_st f0, 12(m), 0, 0 + stfs f2, 0x14(m) + psq_st f0, 24(m), 0, 0 + psq_st f0, 32(m), 0, 0 + stfs f3, 0x28(m) + stfs f0, 0x2c(m) + blr + // clang-format on +} + +/* 80346990-803469E8 3412D0 0058+00 0/0 1/1 0/0 .text PSMTXScaleApply */ +asm void PSMTXScaleApply(register const Mtx src, register Mtx dst, f32 x, f32 y, f32 z) { + // clang-format off + nofralloc + + frsp f1, f1 + psq_l f4, 0(src), 0, 0 + frsp f2, f2 + psq_l f5, 8(src), 0, 0 + frsp f3, f3 + ps_muls0 f4, f4, f1 + psq_l f6, 16(src), 0, 0 + ps_muls0 f5, f5, f1 + psq_l f7, 24(src), 0, 0 + ps_muls0 f6, f6, f2 + psq_l f8, 32(src), 0, 0 + psq_st f4, 0(dst), 0, 0 + ps_muls0 f7, f7, f2 + psq_l f2, 40(src), 0, 0 + psq_st f5, 8(dst), 0, 0 + ps_muls0 f8, f8, f3 + psq_st f6, 16(dst), 0, 0 + ps_muls0 f2, f2, f3 + psq_st f7, 24(dst), 0, 0 + psq_st f8, 32(dst), 0, 0 + psq_st f2, 40(dst), 0, 0 + blr + // clang-format on +} + +/* 803469E8-80346A8C 341328 00A4+00 0/0 8/8 2/2 .text PSMTXQuat */ +asm void PSMTXQuat(register Mtx m, register const Quaternion* q) { + // clang-format off + nofralloc + + lfs f1, lit_96(r2) + psq_l f4, 0(q), 0, 0 + psq_l f5, 8(q), 0, 0 + fsubs f0, f1, f1 + fadds f2, f1, f1 + ps_mul f6, f4, f4 + ps_merge10 f9, f4, f4 + ps_madd f8, f5, f5, f6 + ps_mul f7, f5, f5 + ps_sum0 f3, f8, f8, f8 + ps_muls1 f10, f9, f5 + fres f11, f3 + ps_sum1 f8, f7, f8, f6 + ps_nmsub f3, f3, f11, f2 + ps_muls1 f7, f5, f5 + ps_mul f3, f11, f3 + ps_sum0 f6, f6, f6, f6 + fmuls f3, f3, f2 + ps_madd f11, f4, f9, f7 + ps_msub f7, f4, f9, f7 + psq_st f0, 12(m), 1, 0 + ps_nmsub f6, f6, f3, f1 + ps_nmsub f8, f8, f3, f1 + psq_st f0, 44(m), 1, 0 + ps_mul f11, f11, f3 + ps_mul f7, f7, f3 + psq_st f6, 40(m), 1, 0 + ps_madds0 f9, f4, f5, f10 + ps_merge00 f5, f11, f8 + ps_nmsub f10, f10, f2, f9 + ps_merge10 f4, f8, f7 + psq_st f5, 16(m), 0, 0 + ps_mul f9, f9, f3 + ps_mul f10, f10, f3 + psq_st f4, 0(m), 0, 0 + psq_st f9, 8(m), 1, 0 + ps_merge10 f7, f10, f0 + ps_merge01 f11, f10, f9 + psq_st f7, 24(m), 0, 0 + psq_st f11, 32(m), 0, 0 + blr + // clang-format on +} + +/* 80346A8C-80346C18 3413CC 018C+00 0/0 2/2 0/0 .text C_MTXLookAt */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void C_MTXLookAt(Mtx m, const Vec* camPos, const Vec* camUp, const Vec* target) { + nofralloc +#include "asm/dolphin/mtx/mtx/C_MTXLookAt.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 80456518-8045651C 004B18 0004+00 1/1 0/0 0/0 .sdata2 @206 */ +SECTION_SDATA2 static f32 lit_206 = 2.0f; + +/* 8045651C-80456520 004B1C 0004+00 1/1 0/0 0/0 .sdata2 @227 */ +SECTION_SDATA2 static f32 lit_227 = -1.0f; + +/* 80456520-80456528 004B20 0004+04 1/1 0/0 0/0 .sdata2 @230 */ +SECTION_SDATA2 static f32 lit_230[1 + 1 /* padding */] = { + 0.01745329238474369f, + /* padding */ + 0.0f, +}; + +/* 80346C18-80346CE4 341558 00CC+00 0/0 4/4 7/7 .text C_MTXLightPerspective */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void C_MTXLightPerspective(Mtx m, f32 fovY, f32 aspect, f32 scale_s, f32 scale_t, f32 trans_s, + f32 trans_t) { + nofralloc +#include "asm/dolphin/mtx/mtx/C_MTXLightPerspective.s" +} +#pragma pop + +/* 80346CE4-80346D6C 341624 0088+00 0/0 2/2 5/5 .text C_MTXLightOrtho */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void C_MTXLightOrtho(Mtx m, f32 top, f32 bottom, f32 left, f32 right, f32 scale_s, f32 scale_t, + f32 trans_s, f32 trans_t) { + nofralloc +#include "asm/dolphin/mtx/mtx/C_MTXLightOrtho.s" +} +#pragma pop diff --git a/libs/dolphin/mtx/mtx.cpp b/libs/dolphin/mtx/mtx.cpp deleted file mode 100644 index aabe3642ec..0000000000 --- a/libs/dolphin/mtx/mtx.cpp +++ /dev/null @@ -1,215 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: mtx -// - -#include "dolphin/mtx/mtx.h" -#include "MSL_C/math.h" -#include "dol2asm.h" -#include "dolphin/mtx/mtxvec.h" -#include "dolphin/types.h" - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80456508-8045650C 004B08 0004+00 6/6 0/0 0/0 .sdata2 @96 */ -SECTION_SDATA2 static f32 lit_96 = 1.0f; - -/* 8045650C-80456510 004B0C 0004+00 6/6 0/0 0/0 .sdata2 @97 */ -SECTION_SDATA2 static u8 lit_97[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80346484-803464B0 340DC4 002C+00 0/0 27/27 13/13 .text PSMTXIdentity */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXIdentity(Mtx matrix) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXIdentity.s" -} -#pragma pop - -/* 803464B0-803464E4 340DF0 0034+00 0/0 119/119 1436/1436 .text PSMTXCopy */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXCopy(const Mtx src, Mtx dst) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXCopy.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804509D0-804509D8 000450 0008+00 1/1 0/0 0/0 .sdata Unit01 */ -SECTION_SDATA static u8 Unit01[8] = { - 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, -}; - -/* 803464E4-803465B0 340E24 00CC+00 0/0 109/109 30/30 .text PSMTXConcat */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXConcat(const Mtx src_a, const Mtx src_b, Mtx dst) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXConcat.s" -} -#pragma pop - -/* 803465B0-803466A8 340EF0 00F8+00 0/0 43/43 39/39 .text PSMTXInverse */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 PSMTXInverse(const Mtx src, Mtx dst) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXInverse.s" -} -#pragma pop - -/* 803466A8-80346718 340FE8 0070+00 0/0 17/17 0/0 .text PSMTXRotRad */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXRotRad(Mtx matrix, u8 axis, float rad) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXRotRad.s" -} -#pragma pop - -/* 80346718-803467C8 341058 00B0+00 1/1 0/0 0/0 .text PSMTXRotTrig */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXRotTrig(Mtx matrix, u8 axis, float sin, float cos) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXRotTrig.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80456510-80456514 004B10 0004+00 2/2 0/0 0/0 .sdata2 @190 */ -SECTION_SDATA2 static f32 lit_190 = 0.5f; - -/* 80456514-80456518 004B14 0004+00 1/1 0/0 0/0 .sdata2 @191 */ -SECTION_SDATA2 static f32 lit_191 = 3.0f; - -/* 803467C8-80346878 341108 00B0+00 1/1 0/0 0/0 .text __PSMTXRotAxisRadInternal */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm double __PSMTXRotAxisRadInternal(double param_1, double param_2, int param_3, int param_4) { - nofralloc -#include "asm/dolphin/mtx/mtx/__PSMTXRotAxisRadInternal.s" -} -#pragma pop - -/* 80346878-803468E8 3411B8 0070+00 0/0 6/6 8/8 .text PSMTXRotAxisRad */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXRotAxisRad(Mtx matrix, const Vec* axis, float rad) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXRotAxisRad.s" -} -#pragma pop - -/* 803468E8-8034691C 341228 0034+00 0/0 38/38 471/471 .text PSMTXTrans */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXTrans(Mtx matrix, float x_trans, float y_trans, float z_trans) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXTrans.s" -} -#pragma pop - -/* 8034691C-80346968 34125C 004C+00 0/0 3/3 0/0 .text PSMTXTransApply */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXTransApply(const Mtx src, Mtx dst, float x, float y, float z) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXTransApply.s" -} -#pragma pop - -/* 80346968-80346990 3412A8 0028+00 0/0 14/14 8/8 .text PSMTXScale */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXScale(Mtx matrix, float x_scale, float y_scale, float z_scale) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXScale.s" -} -#pragma pop - -/* 80346990-803469E8 3412D0 0058+00 0/0 1/1 0/0 .text PSMTXScaleApply */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXScaleApply(const Mtx src, Mtx dst, float x_scale, float y_scale, float z_scale) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXScaleApply.s" -} -#pragma pop - -/* 803469E8-80346A8C 341328 00A4+00 0/0 8/8 2/2 .text PSMTXQuat */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXQuat(Mtx matrix, const Quaternion* quat) { - nofralloc -#include "asm/dolphin/mtx/mtx/PSMTXQuat.s" -} -#pragma pop - -/* 80346A8C-80346C18 3413CC 018C+00 0/0 2/2 0/0 .text C_MTXLookAt */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void C_MTXLookAt(Mtx param_1, const Vec* param_2, const Vec* param_3, const Vec* param_4) { - nofralloc -#include "asm/dolphin/mtx/mtx/C_MTXLookAt.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80456518-8045651C 004B18 0004+00 1/1 0/0 0/0 .sdata2 @206 */ -SECTION_SDATA2 static f32 lit_206 = 2.0f; - -/* 8045651C-80456520 004B1C 0004+00 1/1 0/0 0/0 .sdata2 @227 */ -SECTION_SDATA2 static f32 lit_227 = -1.0f; - -/* 80456520-80456528 004B20 0004+04 1/1 0/0 0/0 .sdata2 @230 */ -SECTION_SDATA2 static f32 lit_230[1 + 1 /* padding */] = { - 0.01745329238474369f, - /* padding */ - 0.0f, -}; - -/* 80346C18-80346CE4 341558 00CC+00 0/0 4/4 7/7 .text C_MTXLightPerspective */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void C_MTXLightPerspective(Mtx matrix, float fov_y, float aspect, float scale_s, float scale_t, - float trans_s, float trans_t) { - nofralloc -#include "asm/dolphin/mtx/mtx/C_MTXLightPerspective.s" -} -#pragma pop - -/* 80346CE4-80346D6C 341624 0088+00 0/0 2/2 5/5 .text C_MTXLightOrtho */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void C_MTXLightOrtho(Mtx matrix, float top, float bottom, float left, float right, - float scale_s, float scale_t, float trans_s, float trans_t) { - nofralloc -#include "asm/dolphin/mtx/mtx/C_MTXLightOrtho.s" -} -#pragma pop diff --git a/libs/dolphin/mtx/mtx44.cpp b/libs/dolphin/mtx/mtx44.c similarity index 85% rename from libs/dolphin/mtx/mtx44.cpp rename to libs/dolphin/mtx/mtx44.c index 3952c5507c..bf7efb33b5 100644 --- a/libs/dolphin/mtx/mtx44.cpp +++ b/libs/dolphin/mtx/mtx44.c @@ -6,7 +6,6 @@ #include "dolphin/mtx/mtx44.h" #include "MSL_C/math.h" #include "dol2asm.h" -#include "dolphin/types.h" // // Declarations: @@ -40,7 +39,7 @@ SECTION_SDATA2 static f32 lit_106 = 0.01745329238474369f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void C_MTXPerspective(Mtx44 matrix, float fov_y, float aspect, float near, float far) { +asm void C_MTXPerspective(Mtx44 m, f32 fovy, f32 aspect, f32 near, f32 far) { nofralloc #include "asm/dolphin/mtx/mtx44/C_MTXPerspective.s" } @@ -50,8 +49,7 @@ asm void C_MTXPerspective(Mtx44 matrix, float fov_y, float aspect, float near, f #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void C_MTXOrtho(Mtx44 matrix, float top, float bottom, float left, float right, float near, - float far) { +asm void C_MTXOrtho(Mtx44 m, f32 top, f32 bottom, f32 left, f32 right, f32 near, f32 far) { nofralloc #include "asm/dolphin/mtx/mtx44/C_MTXOrtho.s" } diff --git a/libs/dolphin/mtx/mtxvec.c b/libs/dolphin/mtx/mtxvec.c new file mode 100644 index 0000000000..7e858b1493 --- /dev/null +++ b/libs/dolphin/mtx/mtxvec.c @@ -0,0 +1,157 @@ +/** + * mtxvec.c + * Description: + */ + +#include "dolphin/mtx/mtxvec.h" + +/* 80346D6C-80346DC0 3416AC 0054+00 0/0 158/158 826/826 .text PSMTXMultVec */ +asm void PSMTXMultVec(register const Mtx m, register const Vec* src, register Vec* dst) { + // clang-format off + nofralloc + + psq_l f0, 0(src), 0, 0 + psq_l f2, 0(m), 0, 0 + psq_l f1, 8(src), 1, 0 + ps_mul f4, f2, f0 + psq_l f3, 8(m), 0, 0 + ps_madd f5, f3, f1, f4 + psq_l f8, 16(m), 0, 0 + ps_sum0 f6, f5, f6, f5 + psq_l f9, 24(m), 0, 0 + ps_mul f10, f8, f0 + psq_st f6, 0(dst), 1, 0 + ps_madd f11, f9, f1, f10 + psq_l f2, 32(m), 0, 0 + ps_sum0 f12, f11, f12, f11 + psq_l f3, 40(m), 0, 0 + ps_mul f4, f2, f0 + psq_st f12, 4(dst), 1, 0 + ps_madd f5, f3, f1, f4 + ps_sum0 f6, f5, f6, f5 + psq_st f6, 8(dst), 1, 0 + blr + // clang-format on +} + +/* 80346DC0-80346E4C 341700 008C+00 0/0 2/2 3/3 .text PSMTXMultVecArray */ +asm void PSMTXMultVecArray(register const Mtx m, register const Vec* srcBase, register Vec* dstBase, + register u32 count) { + // clang-format off + nofralloc + + psq_l f13, 0(m), 0, 0 + psq_l f12, 16(m), 0, 0 + addi count, count, -1 + psq_l f11, 8(m), 0, 0 + ps_merge00 f0, f13, f12 + addi dstBase, dstBase, -4 + psq_l f10, 24(m), 0, 0 + ps_merge11 f1, f13, f12 + mtctr count + psq_l f4, 32(m), 0, 0 + ps_merge00 f2, f11, f10 + psq_l f5, 40(m), 0, 0 + ps_merge11 f3, f11, f10 + psq_l f6, 0(srcBase), 0, 0 + psq_lu f7, 8(srcBase), 1, 0 + ps_madds0 f8, f0, f6, f3 + ps_mul f9, f4, f6 + ps_madds1 f8, f1, f6, f8 + ps_madd f10, f5, f7, f9 + +lbl_80346E0C: + psq_lu f6, 4(srcBase), 0, 0 + ps_madds0 f12, f2, f7, f8 + psq_lu f7, 8(srcBase), 1, 0 + ps_sum0 f13, f10, f9, f10 + ps_madds0 f8, f0, f6, f3 + ps_mul f9, f4, f6 + psq_stu f12, 4(dstBase), 0, 0 + ps_madds1 f8, f1, f6, f8 + psq_stu f13, 8(dstBase), 1, 0 + ps_madd f10, f5, f7, f9 + bdnz lbl_80346E0C + + ps_madds0 f12, f2, f7, f8 + ps_sum0 f13, f10, f9, f10 + psq_stu f12, 4(dstBase), 0, 0 + psq_stu f13, 8(dstBase), 1, 0 + blr + // clang-format on +} + +/* 80346E4C-80346EA0 34178C 0054+00 0/0 47/47 9/9 .text PSMTXMultVecSR */ +asm void PSMTXMultVecSR(register const Mtx m, register const Vec* src, register Vec* dst) { + // clang-format off + nofralloc + + psq_l f0, 0(m), 0, 0 + psq_l f6, 0(src), 0, 0 + psq_l f2, 16(m), 0, 0 + ps_mul f8, f0, f6 + psq_l f4, 32(m), 0, 0 + ps_mul f10, f2, f6 + psq_l f7, 8(src), 1, 0 + ps_mul f12, f4, f6 + psq_l f3, 24(m), 0, 0 + ps_sum0 f8, f8, f8, f8 + psq_l f5, 40(m), 0, 0 + ps_sum0 f10, f10, f10, f10 + psq_l f1, 8(m), 0, 0 + ps_sum0 f12, f12, f12, f12 + ps_madd f9, f1, f7, f8 + psq_st f9, 0(dst), 1, 0 + ps_madd f11, f3, f7, f10 + psq_st f11, 4(dst), 1, 0 + ps_madd f13, f5, f7, f12 + psq_st f13, 8(dst), 1, 0 + blr + // clang-format on +} + +/* 80346EA0-80346F28 3417E0 0088+00 0/0 2/2 0/0 .text PSMTXMultVecArraySR */ +asm void PSMTXMultVecArraySR(register const Mtx m, register const Vec* srcBase, + register Vec* dstBase, register u32 count) { + // clang-format off + nofralloc + + psq_l f13, 0(m), 0, 0 + psq_l f12, 16(m), 0, 0 + addi count, count, -1 + psq_l f11, 8(m), 1, 0 + ps_merge00 f0, f13, f12 + addi dstBase, dstBase, -4 + psq_l f10, 24(m), 1, 0 + ps_merge11 f1, f13, f12 + mtctr count + psq_l f3, 32(m), 0, 0 + ps_merge00 f2, f11, f10 + psq_l f4, 40(m), 1, 0 + psq_l f6, 0(srcBase), 0, 0 + psq_lu f7, 8(srcBase), 1, 0 + ps_muls0 f8, f0, f6 + ps_mul f9, f3, f6 + ps_madds1 f8, f1, f6, f8 + ps_madd f10, f4, f7, f9 + +lbl_80346EE8: + psq_lu f6, 4(srcBase), 0, 0 + ps_madds0 f12, f2, f7, f8 + psq_lu f7, 8(srcBase), 1, 0 + ps_sum0 f13, f10, f9, f9 + ps_muls0 f8, f0, f6 + ps_mul f9, f3, f6 + psq_stu f12, 4(dstBase), 0, 0 + ps_madds1 f8, f1, f6, f8 + psq_stu f13, 8(dstBase), 1, 0 + ps_madd f10, f4, f7, f9 + bdnz lbl_80346EE8 + + ps_madds0 f12, f2, f7, f8 + ps_sum0 f13, f10, f9, f9 + psq_stu f12, 4(dstBase), 0, 0 + psq_stu f13, 8(dstBase), 1, 0 + blr + // clang-format on +} diff --git a/libs/dolphin/mtx/mtxvec.cpp b/libs/dolphin/mtx/mtxvec.cpp deleted file mode 100644 index b23654fa58..0000000000 --- a/libs/dolphin/mtx/mtxvec.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: mtxvec -// - -#include "dolphin/mtx/mtxvec.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Declarations: -// - -/* 80346D6C-80346DC0 3416AC 0054+00 0/0 158/158 826/826 .text PSMTXMultVec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXMultVec(const Mtx matrix, const Vec* src, Vec* dst) { - nofralloc -#include "asm/dolphin/mtx/mtxvec/PSMTXMultVec.s" -} -#pragma pop - -/* 80346DC0-80346E4C 341700 008C+00 0/0 2/2 3/3 .text PSMTXMultVecArray */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXMultVecArray(const Mtx matrix, const Vec* src, Vec* dst, u32 count) { - nofralloc -#include "asm/dolphin/mtx/mtxvec/PSMTXMultVecArray.s" -} -#pragma pop - -/* 80346E4C-80346EA0 34178C 0054+00 0/0 47/47 9/9 .text PSMTXMultVecSR */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXMultVecSR(const Mtx matrix, const Vec* src, Vec* dst) { - nofralloc -#include "asm/dolphin/mtx/mtxvec/PSMTXMultVecSR.s" -} -#pragma pop - -/* 80346EA0-80346F28 3417E0 0088+00 0/0 2/2 0/0 .text PSMTXMultVecArraySR */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void PSMTXMultVecArraySR(const Mtx matrix, const Vec* src, Vec* dst, u32 count) { - nofralloc -#include "asm/dolphin/mtx/mtxvec/PSMTXMultVecArraySR.s" -} -#pragma pop diff --git a/libs/dolphin/mtx/quat.cpp b/libs/dolphin/mtx/quat.c similarity index 88% rename from libs/dolphin/mtx/quat.cpp rename to libs/dolphin/mtx/quat.c index 42764c6a01..484aa625f2 100644 --- a/libs/dolphin/mtx/quat.cpp +++ b/libs/dolphin/mtx/quat.c @@ -6,7 +6,6 @@ #include "dolphin/mtx/quat.h" #include "MSL_C/math.h" #include "dol2asm.h" -#include "dolphin/types.h" // // Declarations: @@ -16,7 +15,7 @@ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PSQUATMultiply(const Quaternion* src_a, const Quaternion* src_b, Quaternion* dst) { +asm void PSQUATMultiply(const Quaternion* a, const Quaternion* b, Quaternion* ab) { nofralloc #include "asm/dolphin/mtx/quat/PSQUATMultiply.s" } @@ -41,7 +40,7 @@ SECTION_SDATA2 static f32 lit_135 = 0.5f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void C_QUATRotAxisRad(Quaternion* quat, const Vec* axis, float rad) { +asm void C_QUATRotAxisRad(Quaternion* q, const Vec* axis, f32 rad) { nofralloc #include "asm/dolphin/mtx/quat/C_QUATRotAxisRad.s" } @@ -55,7 +54,7 @@ SECTION_SDATA2 static f32 lit_261 = 0.9999899864196777f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void C_QUATSlerp(const Quaternion* p, const Quaternion* q, Quaternion* r, float t) { +asm void C_QUATSlerp(const Quaternion* p, const Quaternion* q, Quaternion* r, f32 t) { nofralloc #include "asm/dolphin/mtx/quat/C_QUATSlerp.s" } diff --git a/libs/dolphin/mtx/vec.cpp b/libs/dolphin/mtx/vec.c similarity index 83% rename from libs/dolphin/mtx/vec.cpp rename to libs/dolphin/mtx/vec.c index 603490abce..256d8b52cd 100644 --- a/libs/dolphin/mtx/vec.cpp +++ b/libs/dolphin/mtx/vec.c @@ -15,7 +15,7 @@ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PSVECAdd(const Vec* src_a, const Vec* src_b, Vec* dst) { +asm void PSVECAdd(const Vec* a, const Vec* b, Vec* ab) { nofralloc #include "asm/dolphin/mtx/vec/PSVECAdd.s" } @@ -25,7 +25,7 @@ asm void PSVECAdd(const Vec* src_a, const Vec* src_b, Vec* dst) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PSVECSubtract(const Vec* a, const Vec* b, Vec* dst) { +asm void PSVECSubtract(const Vec* a, const Vec* b, Vec* a_b) { nofralloc #include "asm/dolphin/mtx/vec/PSVECSubtract.s" } @@ -35,7 +35,7 @@ asm void PSVECSubtract(const Vec* a, const Vec* b, Vec* dst) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PSVECScale(const Vec* src, Vec* dst, float scale) { +asm void PSVECScale(const Vec* src, Vec* dst, f32 scale) { nofralloc #include "asm/dolphin/mtx/vec/PSVECScale.s" } @@ -60,7 +60,7 @@ SECTION_SDATA2 static f32 lit_119 = 3.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PSVECNormalize(const Vec* src, Vec* dst) { +asm void PSVECNormalize(const Vec* src, Vec* unit) { nofralloc #include "asm/dolphin/mtx/vec/PSVECNormalize.s" } @@ -70,7 +70,7 @@ asm void PSVECNormalize(const Vec* src, Vec* dst) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm float PSVECSquareMag(const Vec* vec) { +asm f32 PSVECSquareMag(const Vec* v) { nofralloc #include "asm/dolphin/mtx/vec/PSVECSquareMag.s" } @@ -80,7 +80,7 @@ asm float PSVECSquareMag(const Vec* vec) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm float PSVECMag(const Vec* data) { +asm f32 PSVECMag(const Vec* v) { nofralloc #include "asm/dolphin/mtx/vec/PSVECMag.s" } @@ -90,7 +90,7 @@ asm float PSVECMag(const Vec* data) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm float PSVECDotProduct(const Vec* a, const Vec* b) { +asm f32 PSVECDotProduct(const Vec* a, const Vec* b) { nofralloc #include "asm/dolphin/mtx/vec/PSVECDotProduct.s" } @@ -100,7 +100,7 @@ asm float PSVECDotProduct(const Vec* a, const Vec* b) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PSVECCrossProduct(const Vec* src_a, const Vec* src_b, Vec* dst) { +asm void PSVECCrossProduct(const Vec* a, const Vec* b, Vec* axb) { nofralloc #include "asm/dolphin/mtx/vec/PSVECCrossProduct.s" } @@ -110,7 +110,7 @@ asm void PSVECCrossProduct(const Vec* src_a, const Vec* src_b, Vec* dst) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void C_VECHalfAngle(const Vec* incident, const Vec* line_of_sight, Vec* out_half) { +asm void C_VECHalfAngle(const Vec* a, const Vec* b, Vec* half) { nofralloc #include "asm/dolphin/mtx/vec/C_VECHalfAngle.s" } @@ -124,7 +124,7 @@ SECTION_SDATA2 static f32 lit_161 = 2.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void C_VECReflect(const Vec* src, const Vec* surface_normal, Vec* dst) { +asm void C_VECReflect(const Vec* src, const Vec* normal, Vec* dst) { nofralloc #include "asm/dolphin/mtx/vec/C_VECReflect.s" } @@ -134,7 +134,7 @@ asm void C_VECReflect(const Vec* src, const Vec* surface_normal, Vec* dst) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm float PSVECSquareDistance(const Vec* a, const Vec* b) { +asm f32 PSVECSquareDistance(const Vec* a, const Vec* b) { nofralloc #include "asm/dolphin/mtx/vec/PSVECSquareDistance.s" } @@ -144,7 +144,7 @@ asm float PSVECSquareDistance(const Vec* a, const Vec* b) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm float PSVECDistance(const Vec* a, const Vec* b) { +asm f32 PSVECDistance(const Vec* a, const Vec* b) { nofralloc #include "asm/dolphin/mtx/vec/PSVECDistance.s" } diff --git a/libs/dolphin/os/Makefile b/libs/dolphin/os/Makefile index 0899b99d02..916f20e5ba 100644 --- a/libs/dolphin/os/Makefile +++ b/libs/dolphin/os/Makefile @@ -3,29 +3,29 @@ # LIBOS_A_CPP_FILES := \ - libs/dolphin/os/OS.cpp \ - libs/dolphin/os/OSAlarm.cpp \ - libs/dolphin/os/OSAlloc.cpp \ - libs/dolphin/os/OSArena.cpp \ - libs/dolphin/os/OSAudioSystem.cpp \ - libs/dolphin/os/OSCache.cpp \ - libs/dolphin/os/OSContext.cpp \ - libs/dolphin/os/OSError.cpp \ - libs/dolphin/os/OSExec.cpp \ - libs/dolphin/os/OSFont.cpp \ - libs/dolphin/os/OSInterrupt.cpp \ - libs/dolphin/os/OSLink.cpp \ - libs/dolphin/os/OSMessage.cpp \ - libs/dolphin/os/OSMemory.cpp \ - libs/dolphin/os/OSMutex.cpp \ - libs/dolphin/os/OSReboot.cpp \ - libs/dolphin/os/OSReset.cpp \ - libs/dolphin/os/OSResetSW.cpp \ - libs/dolphin/os/OSRtc.cpp \ - libs/dolphin/os/OSSync.cpp \ - libs/dolphin/os/OSThread.cpp \ - libs/dolphin/os/OSTime.cpp \ - libs/dolphin/os/__ppc_eabi_init.cpp \ + libs/dolphin/os/OS.c \ + libs/dolphin/os/OSAlarm.c \ + libs/dolphin/os/OSAlloc.c \ + libs/dolphin/os/OSArena.c \ + libs/dolphin/os/OSAudioSystem.c \ + libs/dolphin/os/OSCache.c \ + libs/dolphin/os/OSContext.c \ + libs/dolphin/os/OSError.c \ + libs/dolphin/os/OSExec.c \ + libs/dolphin/os/OSFont.c \ + libs/dolphin/os/OSInterrupt.c \ + libs/dolphin/os/OSLink.c \ + libs/dolphin/os/OSMessage.c \ + libs/dolphin/os/OSMemory.c \ + libs/dolphin/os/OSMutex.c \ + libs/dolphin/os/OSReboot.c \ + libs/dolphin/os/OSReset.c \ + libs/dolphin/os/OSResetSW.c \ + libs/dolphin/os/OSRtc.c \ + libs/dolphin/os/OSSync.c \ + libs/dolphin/os/OSThread.c \ + libs/dolphin/os/OSTime.c \ + libs/dolphin/os/__ppc_eabi_init.c \ LIBOS_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/os/OS.o \ @@ -54,6 +54,7 @@ LIBOS_A_O_FILES := \ LIBOS_A_CFLAGS := \ -O4,p \ + -lang=c \ LIBOS_A_LDFLAGS := \ -nodefaults \ @@ -66,9 +67,9 @@ $(BUILD_DIR)/libos.a: $(LIBOS_A_O_FILES) @echo $(LIBOS_A_O_FILES) > build/LIBOS_A_ofiles @$(LD) -xm l $(LIBOS_A_LDFLAGS) -o $(BUILD_DIR)/libos.a @build/LIBOS_A_ofiles -$(BUILD_DIR)/libs/dolphin/os/%.o: libs/dolphin/os/%.cpp +$(BUILD_DIR)/libs/dolphin/os/%.o: libs/dolphin/os/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBOS_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBOS_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/os/OS.cpp b/libs/dolphin/os/OS.c similarity index 55% rename from libs/dolphin/os/OS.cpp rename to libs/dolphin/os/OS.c index 9d93ce9f8d..ba545478b6 100644 --- a/libs/dolphin/os/OS.cpp +++ b/libs/dolphin/os/OS.c @@ -13,38 +13,38 @@ SECTION_INIT void memset(); SECTION_INIT void memcpy(); -extern "C" void PPCMtmmcr0(); -extern "C" void PPCMtmmcr1(); -extern "C" void PPCMtpmc1(); -extern "C" void PPCMtpmc2(); -extern "C" void PPCMtpmc3(); -extern "C" void PPCMtpmc4(); -extern "C" void PPCMfhid2(); -extern "C" void PPCMthid2(); -extern "C" void PPCDisableSpeculation(); -extern "C" void PPCSetFpNonIEEEMode(); -extern "C" void OSInitAlarm(); -extern "C" void __OSInitAudioSystem(); -extern "C" void __OSCacheInit(); -extern "C" void __OSContextInit(); -extern "C" void __OSInterruptInit(); -extern "C" void __OSModuleInit(); -extern "C" void __OSInitMemoryProtection(); -extern "C" void __OSResetSWInterruptHandler(); -extern "C" void __OSInitSram(); -extern "C" void __OSInitSystemCall(); -extern "C" void __OSThreadInit(); -extern "C" void EXIInit(); -extern "C" void SIInit(); -extern "C" void __DBIsExceptionMarked(); -extern "C" void DBPrintf(); -extern "C" void DVDInit(); -extern "C" void DVDInquiryAsync(); -extern "C" void EnableMetroTRKInterrupts(); -extern "C" extern u8 __DVDLongFileNameFlag[4]; -extern "C" extern u8 __PADSpec[4 + 4 /* padding */]; -extern "C" void _epilog(); -extern "C" void regist__9daBgObj_cFP4dBgW(); +void PPCMtmmcr0(); +void PPCMtmmcr1(); +void PPCMtpmc1(); +void PPCMtpmc2(); +void PPCMtpmc3(); +void PPCMtpmc4(); +void PPCMfhid2(); +void PPCMthid2(); +void PPCDisableSpeculation(); +void PPCSetFpNonIEEEMode(); +void OSInitAlarm(); +void __OSInitAudioSystem(); +void __OSCacheInit(); +void __OSContextInit(); +void __OSInterruptInit(); +void __OSModuleInit(); +void __OSInitMemoryProtection(); +void __OSResetSWInterruptHandler(); +void __OSInitSram(); +void __OSInitSystemCall(); +void __OSThreadInit(); +void EXIInit(); +void SIInit(); +void __DBIsExceptionMarked(); +void DBPrintf(); +void DVDInit(); +void DVDInquiryAsync(); +void EnableMetroTRKInterrupts(); +extern u8 __DVDLongFileNameFlag[4]; +extern u8 __PADSpec[4 + 4 /* padding */]; +void _epilog(); +void regist__9daBgObj_cFP4dBgW(); // // Declarations: @@ -52,61 +52,158 @@ extern "C" void regist__9daBgObj_cFP4dBgW(); /* ############################################################################################## */ /* 80451600-80451604 000B00 0004+00 2/2 0/0 0/0 .sbss BootInfo */ -static u8 BootInfo[4]; +static OSBootInfo* BootInfo; /* 80451604-80451608 000B04 0004+00 2/2 0/0 0/0 .sbss BI2DebugFlag */ -static u8 BI2DebugFlag[4]; +static volatile u32* BI2DebugFlag; /* 80451608-8045160C 000B08 0004+00 1/1 0/0 0/0 .sbss BI2DebugFlagHolder */ -static u8 BI2DebugFlagHolder[4]; +static u32* BI2DebugFlagHolder; -/* 8045160C-80451610 000B0C 0004+00 1/1 1/1 0/0 .sbss __OSIsGcam */ -extern u8 __OSIsGcam[4]; -u8 __OSIsGcam[4]; +/* 80451630-80451634 000B30 0004+00 1/1 1/1 0/0 .sbss __OSStartTime */ +extern OSTime __OSStartTime; +OSTime __OSStartTime; -/* 80451610-80451618 000B10 0008+00 1/1 0/0 0/0 .sbss ZeroF */ -static f64 ZeroF; +/* 80451628-80451630 000B28 0004+04 1/1 1/1 0/0 .sbss __OSInIPL */ +extern BOOL __OSInIPL; +BOOL __OSInIPL; + +/* 80451624-80451628 000B24 0004+00 3/3 0/0 0/0 .sbss OSExceptionTable */ +extern OSExceptionHandler* OSExceptionTable; +OSExceptionHandler* OSExceptionTable; + +/* 80451620-80451624 000B20 0004+00 1/1 0/0 0/0 .sbss AreWeInitialized */ +extern BOOL AreWeInitialized; +BOOL AreWeInitialized; /* 80451618-80451620 000B18 0008+00 1/1 0/0 0/0 .sbss ZeroPS */ -static u8 ZeroPS[8]; +extern f64 ZeroPS; +f64 ZeroPS; + +/* 80451610-80451618 000B10 0008+00 1/1 0/0 0/0 .sbss ZeroF */ +extern f64 ZeroF; +f64 ZeroF; + +/* 8045160C-80451610 000B0C 0004+00 1/1 1/1 0/0 .sbss __OSIsGcam */ +extern BOOL __OSIsGcam; +BOOL __OSIsGcam; /* 80339DD4-80339EFC 334714 0128+00 0/0 1/1 0/0 .text __OSFPRInit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off asm void __OSFPRInit(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OS/__OSFPRInit.s" + + mfmsr r3 + ori r3, r3, 0x2000 + mtmsr r3 + + mfspr r3, 0x398 + rlwinm. r3, r3, 3, 0x1f, 0x1f + beq skip_ps_init + + lis r3, ZeroPS@ha + addi r3, r3, ZeroPS@l + psq_l f0, 0(r3), 0, 0 + ps_mr f1, f0 + ps_mr f2, f0 + ps_mr f3, f0 + ps_mr f4, f0 + ps_mr f5, f0 + ps_mr f6, f0 + ps_mr f7, f0 + ps_mr f8, f0 + ps_mr f9, f0 + ps_mr f10, f0 + ps_mr f11, f0 + ps_mr f12, f0 + ps_mr f13, f0 + ps_mr f14, f0 + ps_mr f15, f0 + ps_mr f16, f0 + ps_mr f17, f0 + ps_mr f18, f0 + ps_mr f19, f0 + ps_mr f20, f0 + ps_mr f21, f0 + ps_mr f22, f0 + ps_mr f23, f0 + ps_mr f24, f0 + ps_mr f25, f0 + ps_mr f26, f0 + ps_mr f27, f0 + ps_mr f28, f0 + ps_mr f29, f0 + ps_mr f30, f0 + ps_mr f31, f0 + +skip_ps_init: + lfd f0, ZeroF(r13) + fmr f1, f0 + fmr f2, f0 + fmr f3, f0 + fmr f4, f0 + fmr f5, f0 + fmr f6, f0 + fmr f7, f0 + fmr f8, f0 + fmr f9, f0 + fmr f10, f0 + fmr f11, f0 + fmr f12, f0 + fmr f13, f0 + fmr f14, f0 + fmr f15, f0 + fmr f16, f0 + fmr f17, f0 + fmr f18, f0 + fmr f19, f0 + fmr f20, f0 + fmr f21, f0 + fmr f22, f0 + fmr f23, f0 + fmr f24, f0 + fmr f25, f0 + fmr f26, f0 + fmr f27, f0 + fmr f28, f0 + fmr f29, f0 + fmr f30, f0 + fmr f31, f0 + + mtfsf 0xff, f0 + blr + // clang-format on } -#pragma pop /* 80339EFC-80339F24 33483C 0028+00 0/0 5/5 0/0 .text OSGetConsoleType */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 OSGetConsoleType(void) { - nofralloc -#include "asm/dolphin/os/OS/OSGetConsoleType.s" +u32 OSGetConsoleType(void) { + if (BootInfo == NULL || BootInfo->console_type == 0) { + return 0x10000002; // default console type + } + + return BootInfo->console_type; } -#pragma pop /* ############################################################################################## */ /* 8044BA60-8044BA80 078780 0020+00 2/2 0/0 0/0 .bss DriveInfo */ -static u8 DriveInfo[32]; +static DVDDriveInfo DriveInfo; /* 80339F24-80339F60 334864 003C+00 1/1 0/0 0/0 .text InquiryCallback */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void InquiryCallback(u32 param_0, void* param_1) { - nofralloc -#include "asm/dolphin/os/OS/InquiryCallback.s" +static void InquiryCallback(u32 result, DVDCommandBlock* block) { + switch (block->state) { + case 0: + __OSDeviceCode = (u16)(0x8000 | DriveInfo.device_code); + break; + default: + __OSDeviceCode = 1; + break; + } } -#pragma pop /* ############################################################################################## */ /* 803CF288-803CF2CC 02C3A8 0044+00 3/2 0/0 0/0 .data @1 */ -SECTION_DATA static char lit_1[68] = "<< Dolphin SDK - OS release build: Nov 10 2004 06:26:41 (0x2301) >>"; +SECTION_DATA static char lit_1[68] = + "<< Dolphin SDK - OS release build: Nov 10 2004 06:26:41 (0x2301) >>"; /* 803CF2CC-803CF2DC 02C3EC 000D+03 0/1 0/0 0/0 .data @105 */ #pragma push @@ -202,24 +299,6 @@ SECTION_SDATA static void* __OSVersion = (void*)&lit_1; /* 80450984-8045098C 000404 0006+02 1/1 0/0 0/0 .sdata @116 */ SECTION_SDATA static char lit_116[6] = "%08x\n"; -/* 80451620-80451624 000B20 0004+00 1/1 0/0 0/0 .sbss AreWeInitialized */ -static u8 AreWeInitialized[4]; - -/* 80451624-80451628 000B24 0004+00 3/3 0/0 0/0 .sbss OSExceptionTable */ -static u8 OSExceptionTable[4]; - -/* 80451628-80451630 000B28 0004+04 1/1 1/1 0/0 .sbss __OSInIPL */ -extern u8 __OSInIPL[4 + 4 /* padding */]; -u8 __OSInIPL[4 + 4 /* padding */]; - -/* 80451630-80451634 000B30 0004+00 1/1 1/1 0/0 .sbss __OSStartTime */ -extern u8 __OSStartTime[4]; -u8 __OSStartTime[4]; - -/* 80451634-80451638 000B34 0004+00 1/1 1/1 0/0 .sbss None */ -extern u8 data_80451634[4]; -u8 data_80451634[4]; - extern void* __ArenaHi; extern void* _stack_end; @@ -237,11 +316,22 @@ asm void OSInit(void) { /* 803CF3AC-803CF3E8 02C4CC 003C+00 0/1 0/0 0/0 .data __OSExceptionLocations */ #pragma push #pragma force_active on -SECTION_DATA static u8 __OSExceptionLocations[60] = { - 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, +SECTION_DATA static u32 __OSExceptionLocations[] = { + 0x00000100, // 0 System reset + 0x00000200, // 1 Machine check + 0x00000300, // 2 DSI - seg fault or DABR + 0x00000400, // 3 ISI + 0x00000500, // 4 External interrupt + 0x00000600, // 5 Alignment + 0x00000700, // 6 Program + 0x00000800, // 7 FP Unavailable + 0x00000900, // 8 Decrementer + 0x00000C00, // 9 System call + 0x00000D00, // 10 Trace + 0x00000F00, // 11 Performance monitor + 0x00001300, // 12 Instruction address breakpoint. + 0x00001400, // 13 System management interrupt + 0x00001700 // 14 Thermal interrupt }; #pragma pop @@ -280,107 +370,168 @@ static asm void OSExceptionInit(void) { #pragma pop /* 8033A6C0-8033A6E4 335000 0024+00 1/1 0/0 0/0 .text __OSDBIntegrator */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off asm void __OSDBIntegrator(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OS/__OSDBIntegrator.s" + + li r5, 0x40 + mflr r3 + stw r3, 0xc(r5) + lwz r3, 8(r5) + oris r3, r3, 0x8000 + mtlr r3 + li r3, 0x30 + mtmsr r3 + blr + // clang-format on } -#pragma pop /* 8033A6E4-8033A6E8 335024 0004+00 1/1 0/0 0/0 .text __OSDBJump */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSDBJump(void) { +asm void __OSDBJump(void){ + // clang-format off nofralloc -#include "asm/dolphin/os/OS/__OSDBJump.s" + + bla 0x60 + // clang-format on } -#pragma pop /* 8033A6E8-8033A704 335028 001C+00 1/1 3/3 0/0 .text __OSSetExceptionHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSExceptionHandler __OSSetExceptionHandler(OSException exception, OSExceptionHandler handler) { - nofralloc -#include "asm/dolphin/os/OS/__OSSetExceptionHandler.s" +OSExceptionHandler __OSSetExceptionHandler(__OSException exception, OSExceptionHandler handler) { + OSExceptionHandler old = OSExceptionTable[exception]; + OSExceptionTable[exception] = handler; + return old; } -#pragma pop /* 8033A704-8033A718 335044 0014+00 0/0 1/1 0/0 .text __OSGetExceptionHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSExceptionHandler __OSGetExceptionHandler(OSException exception) { - nofralloc -#include "asm/dolphin/os/OS/__OSGetExceptionHandler.s" +OSExceptionHandler __OSGetExceptionHandler(__OSException exception) { + return OSExceptionTable[exception]; } -#pragma pop /* 8033A718-8033A770 335058 0058+00 1/1 0/0 0/0 .text OSExceptionVector */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off static asm void OSExceptionVector(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OS/OSExceptionVector.s" -} -#pragma pop -// fake function? -/* 8033A770-8033A780 3350B0 0010+00 1/1 0/0 0/0 .text __DBVECTOR */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __DBVECTOR() { - nofralloc -#include "asm/dolphin/os/OS/__DBVECTOR.s" -} -#pragma pop + mtspr 0x110, r4 -// fake function? -/* 8033A780-8033A7B0 3350C0 0030+00 1/1 0/0 0/0 .text __OSEVSetNumber */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSEVSetNumber() { - nofralloc -#include "asm/dolphin/os/OS/__OSEVSetNumber.s" -} -#pragma pop + lwz r4, 0xc0(r0) -/* 8033A7B0-8033A7B4 3350F0 0004+00 1/1 0/0 0/0 .text __OSEVEnd */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSEVEnd() { - nofralloc -#include "asm/dolphin/os/OS/__OSEVEnd.s" -} -#pragma pop + stw r3, 0xc(r4) + mfspr r3, 0x110 + stw r3, 0x10(r4) + stw r5, 0x14(r4) + + lhz r3, 0x1a2(r4) + ori r3, r3, 2 + sth r3, 0x1a2(r4) + + mfcr r3 + stw r3, 0x80(r4) + mflr r3 + stw r3, 0x84(r4) + mfctr r3 + stw r3, 0x88(r4) + mfxer r3 + stw r3, 0x8c(r4) + mfspr r3, 0x1a + stw r3, 0x198(r4) + mfspr r3, 0x1b + stw r3, 0x19c(r4) + mr r5, r3 + +entry __DBVECTOR + nop + + mfmsr r3 + ori r3, r3, 0x30 + mtspr 0x1b, r3 + +entry __OSEVSetNumber + li r3, 0 + + lwz r4, 0xd4(r0) + + rlwinm. r5, r5, 0, 0x1e, 0x1e + bne recoverable + lis r5, OSDefaultExceptionHandler@ha + addi r5, r5, OSDefaultExceptionHandler@l + mtspr 0x1a, r5 + rfi + +recoverable: + rlwinm r5, r3, 2, 0x16, 0x1d + lwz r5, 0x3000(r5) + mtspr 0x1a, r5 + rfi + +entry __OSEVEnd + nop + // clang-format on +} -// fake function? /* 8033A7B4-8033A80C 3350F4 0058+00 2/2 0/0 0/0 .text OSDefaultExceptionHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void OSDefaultExceptionHandler(OSException exception, OSContext* context) { +static asm void OSDefaultExceptionHandler(register __OSException exception, + register OSContext* context) { + // clang-format off nofralloc -#include "asm/dolphin/os/OS/OSDefaultExceptionHandler.s" + + stw r0, 0(context) + stw r1, 4(context) + stw r2, 8(context) + stmw r6, 0x18(context) + mfspr r0, 0x391 + stw r0, 0x1a8(context) + mfspr r0, 0x392 + stw r0, 0x1ac(context) + mfspr r0, 0x393 + stw r0, 0x1b0(context) + mfspr r0, 0x394 + stw r0, 0x1b4(context) + mfspr r0, 0x395 + stw r0, 0x1b8(context) + mfspr r0, 0x396 + stw r0, 0x1bc(context) + mfspr r0, 0x397 + stw r0, 0x1c0(context) + + mfdsisr r5 + mfdar r6 + + stwu r1, -8(r1) + b __OSUnhandledException + // clang-format on } -#pragma pop /* 8033A80C-8033A860 33514C 0054+00 0/0 1/1 0/0 .text __OSPSInit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off asm void __OSPSInit(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OS/__OSPSInit.s" + + mflr r0 + stw r0, 4(r1) + stwu r1, -8(r1) + bl PPCMfhid2 + oris r3, r3, 0xa000 + bl PPCMthid2 + bl ICFlashInvalidate + sync + + li r3, 0 + mtspr 0x390, r3 + mtspr 0x391, r3 + mtspr 0x392, r3 + mtspr 0x393, r3 + mtspr 0x394, r3 + mtspr 0x395, r3 + mtspr 0x396, r3 + mtspr 0x397, r3 + + lwz r0, 0xc(r1) + addi r1, r1, 8 + mtlr r0 + blr + // clang-format on } -#pragma pop /* 8033A860-8033A874 3351A0 0014+00 0/0 1/1 0/0 .text __OSGetDIConfig */ #pragma push diff --git a/libs/dolphin/os/OSAlarm.cpp b/libs/dolphin/os/OSAlarm.c similarity index 66% rename from libs/dolphin/os/OSAlarm.cpp rename to libs/dolphin/os/OSAlarm.c index bccb9a21ba..3ae3df79fb 100644 --- a/libs/dolphin/os/OSAlarm.cpp +++ b/libs/dolphin/os/OSAlarm.c @@ -5,26 +5,27 @@ #include "dolphin/os/OSAlarm.h" #include "dol2asm.h" +#include "dolphin/os/OSReset.h" #include "dolphin/types.h" // // External References: // -extern "C" void PPCMtdec(); -extern "C" void __OSSetExceptionHandler(); -extern "C" void __OSGetExceptionHandler(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSLoadContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSRegisterResetFunction(); -extern "C" void OSDisableScheduler(); -extern "C" void OSEnableScheduler(); -extern "C" void __OSReschedule(); -extern "C" void __DVDTestAlarm(); -extern "C" void __div2i(); +void PPCMtdec(); +void __OSSetExceptionHandler(); +void __OSGetExceptionHandler(); +void OSSetCurrentContext(); +void OSLoadContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void OSRegisterResetFunction(); +void OSDisableScheduler(); +void OSEnableScheduler(); +void __OSReschedule(); +void __DVDTestAlarm(); +void __div2i(); // // Declarations: @@ -32,11 +33,11 @@ extern "C" void __div2i(); /* ############################################################################################## */ /* 803CF480-803CF490 -00001 0010+00 1/1 0/0 0/0 .data ResetFunctionInfo */ -SECTION_DATA static void* ResetFunctionInfo[4] = { - (void*)OnReset, - (void*)0xFFFFFFFF, - (void*)NULL, - (void*)NULL, +static OSResetFunctionInfo ResetFunctionInfo = { + OnReset, + 0xFFFFFFFF, + NULL, + NULL, }; /* 80451638-80451640 000B38 0008+00 5/5 0/0 0/0 .sbss AlarmQueue */ @@ -53,14 +54,10 @@ asm void OSInitAlarm(void) { #pragma pop /* 8033A8F8-8033A908 335238 0010+00 0/0 17/17 0/0 .text OSCreateAlarm */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSCreateAlarm(OSAlarm* alarm) { - nofralloc -#include "asm/dolphin/os/OSAlarm/OSCreateAlarm.s" +void OSCreateAlarm(OSAlarm* alarm) { + alarm->handler = NULL; + alarm->tag = 0; } -#pragma pop /* 8033A908-8033AB58 335248 0250+00 3/3 0/0 0/0 .text InsertAlarm */ #pragma push @@ -106,21 +103,40 @@ asm void OSCancelAlarm(OSAlarm* alarm) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void DecrementerExceptionCallback(OSException* exception, struct OSContext* context) { +static asm void DecrementerExceptionCallback(__OSException exception, OSContext* context) { nofralloc #include "asm/dolphin/os/OSAlarm/DecrementerExceptionCallback.s" } #pragma pop /* 8033AF88-8033AFD8 3358C8 0050+00 1/1 0/0 0/0 .text DecrementerExceptionHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void DecrementerExceptionHandler(OSException* exception, struct OSContext* context) { +static asm void DecrementerExceptionHandler(register __OSException exception, + register OSContext* context) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSAlarm/DecrementerExceptionHandler.s" + + stw r0, 0(context) + stw r1, 4(context) + stw r2, 8(context) + stmw r6, 0x18(context) + mfspr r0, 0x391 + stw r0, 0x1a8(context) + mfspr r0, 0x392 + stw r0, 0x1ac(context) + mfspr r0, 0x393 + stw r0, 0x1b0(context) + mfspr r0, 0x394 + stw r0, 0x1b4(context) + mfspr r0, 0x395 + stw r0, 0x1b8(context) + mfspr r0, 0x396 + stw r0, 0x1bc(context) + mfspr r0, 0x397 + stw r0, 0x1c0(context) + stwu r1, -8(r1) + b DecrementerExceptionCallback + // clang-format on } -#pragma pop /* 8033AFD8-8033B078 335918 00A0+00 1/0 0/0 0/0 .text OnReset */ #pragma push diff --git a/libs/dolphin/os/OSAlloc.c b/libs/dolphin/os/OSAlloc.c new file mode 100644 index 0000000000..6f5ff3c4ec --- /dev/null +++ b/libs/dolphin/os/OSAlloc.c @@ -0,0 +1,144 @@ +// +// Translation Unit: OSAlloc +// + +#include "dolphin/os/OSAlloc.h" + +/* 8033B078-8033B124 3359B8 00AC+00 1/1 0/0 0/0 .text DLInsert */ +static OSHeapCell* DLInsert(OSHeapCell* list, OSHeapCell* child) { + OSHeapCell* prev = NULL; + OSHeapCell* next = list; + + for (; next != NULL; prev = next, next = next->next) { + if ((char*)child <= (char*)next) { + break; + } + } + + child->next = next; + child->prev = prev; + + if (next != NULL) { + next->prev = child; + + if ((char*)child + child->size == (char*)next) { + child->size += next->size; + next = next->next; + child->next = next; + if (next != NULL) { + next->prev = child; + } + } + } + + if (prev != NULL) { + prev->next = child; + + if ((char*)prev + prev->size == (char*)child) { + prev->size += child->size; + prev->next = next; + if (next != NULL) { + next->prev = prev; + } + } + + return list; + } else { + return child; + } +} + +inline OSHeapCell* DLExtract(OSHeapCell* list, OSHeapCell* child) { + if (child->next != NULL) { + child->next->prev = child->prev; + } + + if (child->prev == NULL) { + return child->next; + } + + child->prev->next = child->next; + return list; +} + +/* ############################################################################################## */ +/* 80451640-80451644 000B40 0004+00 3/3 0/0 0/0 .sbss HeapArray */ +static OSHeapDescriptor* HeapArray; + +/* 8033B124-8033B1A0 335A64 007C+00 0/0 1/1 0/0 .text OSFreeToHeap */ +void OSFreeToHeap(OSHeapHandle handle, void* ptr) { + OSHeapDescriptor* hd = &HeapArray[handle]; + OSHeapCell* cell = (OSHeapCell*)((char*)ptr - sizeof(OSHeapCell)); + hd->usedList = DLExtract(hd->usedList, cell); + hd->freeList = DLInsert(hd->freeList, cell); +} + +/* ############################################################################################## */ +/* 80450990-80450998 000410 0004+04 2/2 1/1 0/0 .sdata __OSCurrHeap */ +volatile s32 __OSCurrHeap = -1; + +/* 8033B1A0-8033B1B0 335AE0 0010+00 0/0 1/1 0/0 .text OSSetCurrentHeap */ +s32 OSSetCurrentHeap(OSHeapHandle handle) { + s32 old = __OSCurrHeap; + __OSCurrHeap = handle; + return old; +} + +/* ############################################################################################## */ +/* 80451644-80451648 000B44 0004+00 2/2 0/0 0/0 .sbss NumHeaps */ +static s32 NumHeaps; + +/* 80451648-8045164C 000B48 0004+00 1/1 0/0 0/0 .sbss ArenaStart */ +static void* ArenaStart; + +/* 8045164C-80451650 000B4C 0004+00 1/1 0/0 0/0 .sbss ArenaEnd */ +static void* ArenaEnd; + +/* 8033B1B0-8033B220 335AF0 0070+00 0/0 2/2 0/0 .text OSInitAlloc */ +void* OSInitAlloc(void* lo, void* hi, s32 maxHeaps) { + u32 totalSize = maxHeaps * sizeof(OSHeapDescriptor); + int i; + + HeapArray = lo; + NumHeaps = maxHeaps; + + for (i = 0; i < NumHeaps; i++) { + OSHeapDescriptor* hd = &HeapArray[i]; + hd->size = -1; + + hd->freeList = hd->usedList = NULL; + } + + __OSCurrHeap = -1; + + lo = (u8*)HeapArray + totalSize; + lo = OSRoundUpPtr(lo, 0x20); + + ArenaStart = lo; + ArenaEnd = OSRoundDownPtr(hi, 0x20); + + return ArenaStart; +} + +/* 8033B220-8033B28C 335B60 006C+00 0/0 1/1 0/0 .text OSCreateHeap */ +OSHeapHandle OSCreateHeap(void* start, void* end) { + int i; + OSHeapCell* cell = OSRoundUpPtr(start, 0x20); + end = OSRoundDownPtr(end, 0x20); + + for (i = 0; i < NumHeaps; i++) { + OSHeapDescriptor* hd = &HeapArray[i]; + + if (hd->size < 0) { + hd->size = (u8*)end - (u8*)cell; + cell->prev = NULL; + cell->next = NULL; + cell->size = hd->size; + hd->freeList = cell; + hd->usedList = NULL; + return i; + } + } + + return -1; +} diff --git a/libs/dolphin/os/OSAlloc.cpp b/libs/dolphin/os/OSAlloc.cpp deleted file mode 100644 index 0083e26f35..0000000000 --- a/libs/dolphin/os/OSAlloc.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: OSAlloc -// - -#include "dolphin/os/OSAlloc.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Declarations: -// - -/* 8033B078-8033B124 3359B8 00AC+00 1/1 0/0 0/0 .text DLInsert */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void* DLInsert(void* param_0, void* param_1) { - nofralloc -#include "asm/dolphin/os/OSAlloc/DLInsert.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80451640-80451644 000B40 0004+00 3/3 0/0 0/0 .sbss HeapArray */ -static u8 HeapArray[4]; - -/* 8033B124-8033B1A0 335A64 007C+00 0/0 1/1 0/0 .text OSFreeToHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSFreeToHeap(OSHeapHandle heap, void* ptr) { - nofralloc -#include "asm/dolphin/os/OSAlloc/OSFreeToHeap.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80450990-80450998 000410 0004+04 2/2 1/1 0/0 .sdata __OSCurrHeap */ -SECTION_SDATA extern u32 __OSCurrHeap[1 + 1 /* padding */] = { - 0xFFFFFFFF, - /* padding */ - 0x00000000, -}; - -/* 8033B1A0-8033B1B0 335AE0 0010+00 0/0 1/1 0/0 .text OSSetCurrentHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetCurrentHeap(OSHeapHandle heap) { - nofralloc -#include "asm/dolphin/os/OSAlloc/OSSetCurrentHeap.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80451644-80451648 000B44 0004+00 2/2 0/0 0/0 .sbss NumHeaps */ -static u8 NumHeaps[4]; - -/* 80451648-8045164C 000B48 0004+00 1/1 0/0 0/0 .sbss ArenaStart */ -static u8 ArenaStart[4]; - -/* 8045164C-80451650 000B4C 0004+00 1/1 0/0 0/0 .sbss ArenaEnd */ -static u8 ArenaEnd[4]; - -/* 8033B1B0-8033B220 335AF0 0070+00 0/0 2/2 0/0 .text OSInitAlloc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* OSInitAlloc(void* lo, void* hi, s32 maxHeaps) { - nofralloc -#include "asm/dolphin/os/OSAlloc/OSInitAlloc.s" -} -#pragma pop - -/* 8033B220-8033B28C 335B60 006C+00 0/0 1/1 0/0 .text OSCreateHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSHeapHandle OSCreateHeap(void* start, void* end) { - nofralloc -#include "asm/dolphin/os/OSAlloc/OSCreateHeap.s" -} -#pragma pop diff --git a/libs/dolphin/os/OSArena.cpp b/libs/dolphin/os/OSArena.c similarity index 54% rename from libs/dolphin/os/OSArena.cpp rename to libs/dolphin/os/OSArena.c index 1baf49fa83..8afdc5ff72 100644 --- a/libs/dolphin/os/OSArena.cpp +++ b/libs/dolphin/os/OSArena.c @@ -1,15 +1,9 @@ // -// Generated By: dol2asm // Translation Unit: OSArena // #include "dolphin/os/OSArena.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Declarations: -// +#include "dolphin/os/OSAlloc.h" /* ############################################################################################## */ /* 80451650-80451658 000B50 0004+04 2/1 0/0 0/0 .sbss __OSArenaHi */ @@ -17,44 +11,34 @@ static void* __OSArenaHi; /* 8033B28C-8033B294 -00001 0008+00 0/0 0/0 0/0 .text OSGetArenaHi */ void* OSGetArenaHi(void) { - return &*(u32*)__OSArenaHi; + return __OSArenaHi; } /* ############################################################################################## */ /* 80450998-804509A0 000418 0004+04 3/2 0/0 0/0 .sdata __OSArenaLo */ -SECTION_SDATA static u32 __OSArenaLo = 0xFFFFFFFF; +static void* __OSArenaLo = (void*)0xFFFFFFFF; /* 8033B294-8033B29C -00001 0008+00 0/0 0/0 0/0 .text OSGetArenaLo */ void* OSGetArenaLo(void) { - return &*(u32*)__OSArenaLo; + return __OSArenaLo; } /* 8033B29C-8033B2A4 335BDC 0008+00 0/0 5/5 0/0 .text OSSetArenaHi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetArenaHi(void* hi) { - nofralloc -#include "asm/dolphin/os/OSArena/OSSetArenaHi.s" +void OSSetArenaHi(void* hi) { + __OSArenaHi = hi; } -#pragma pop /* 8033B2A4-8033B2AC 335BE4 0008+00 0/0 5/5 0/0 .text OSSetArenaLo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetArenaLo(void* lo) { - nofralloc -#include "asm/dolphin/os/OSArena/OSSetArenaLo.s" +void OSSetArenaLo(void* lo) { + __OSArenaLo = lo; } -#pragma pop /* 8033B2AC-8033B2D8 335BEC 002C+00 0/0 4/4 0/0 .text OSAllocFromArenaLo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* OSAllocFromArenaLo(u32 size, s32 alignment) { - nofralloc -#include "asm/dolphin/os/OSArena/OSAllocFromArenaLo.s" +void* OSAllocFromArenaLo(u32 size, s32 alignment) { + u8* blk_start = OSRoundUpPtr(__OSArenaLo, alignment); + u8* blk_end = blk_start + size; + blk_end = OSRoundUpPtr(blk_end, alignment); + + __OSArenaLo = blk_end; + return blk_start; } -#pragma pop diff --git a/libs/dolphin/os/OSAudioSystem.cpp b/libs/dolphin/os/OSAudioSystem.c similarity index 92% rename from libs/dolphin/os/OSAudioSystem.cpp rename to libs/dolphin/os/OSAudioSystem.c index b72088fa95..2e851bb3cf 100644 --- a/libs/dolphin/os/OSAudioSystem.cpp +++ b/libs/dolphin/os/OSAudioSystem.c @@ -12,9 +12,9 @@ // SECTION_INIT void memcpy(); -extern "C" void OSGetArenaHi(); -extern "C" void DCFlushRange(); -extern "C" void OSGetTick(); +void OSGetArenaHi(); +void DCFlushRange(); +void OSGetTick(); // // Declarations: @@ -22,7 +22,7 @@ extern "C" void OSGetTick(); /* ############################################################################################## */ /* 803CF490-803CF510 02C5B0 0080+00 1/1 0/0 0/0 .data DSPInitCode */ -SECTION_DATA static u8 DSPInitCode[128] = { +static u8 DSPInitCode[128] = { 0x02, 0x9F, 0x00, 0x10, 0x02, 0x9F, 0x00, 0x33, 0x02, 0x9F, 0x00, 0x34, 0x02, 0x9F, 0x00, 0x35, 0x02, 0x9F, 0x00, 0x36, 0x02, 0x9F, 0x00, 0x37, 0x02, 0x9F, 0x00, 0x38, 0x02, 0x9F, 0x00, 0x39, 0x12, 0x06, 0x12, 0x03, 0x12, 0x04, 0x12, 0x05, 0x00, 0x80, 0x80, 0x00, 0x00, 0x88, 0xFF, 0xFF, diff --git a/libs/dolphin/os/OSCache.c b/libs/dolphin/os/OSCache.c new file mode 100644 index 0000000000..8b7b018f4c --- /dev/null +++ b/libs/dolphin/os/OSCache.c @@ -0,0 +1,513 @@ +// +// Generated By: dol2asm +// Translation Unit: OSCache +// + +#include "dolphin/os/OSCache.h" +#include "dol2asm.h" +#include "dolphin/os/OSError.h" +#include "dolphin/os/OSInterrupt.h" + +// +// External References: +// + +void OSReport(); +void PPCMfmsr(); +void PPCMtmsr(); +void PPCMfhid0(); +void PPCMfl2cr(); +void PPCMtl2cr(); +void PPCHalt(); +void PPCMfhid2(); +void PPCMthid2(); +void OSDumpContext(); +void DBPrintf(); + +// +// Declarations: +// + +/* 8033B56C-8033B580 335EAC 0014+00 1/1 0/0 0/0 .text DCEnable */ +static asm void DCEnable(void) { + // clang-format off + nofralloc + + sync + mfspr r3, 0x3F0 + ori r3, r3, 0x4000 + mtspr 0x3F0, r3 + + blr + // clang-format on +} + +/* 8033B580-8033B5AC 335EC0 002C+00 0/0 30/30 1/1 .text DCInvalidateRange */ +asm void DCInvalidateRange(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_invalidate: + dcbi 0, start + addi start, start, 0x20 + bdnz do_invalidate + + blr + // clang-format on +} + +/* 8033B5AC-8033B5DC 335EEC 0030+00 0/0 11/11 0/0 .text DCFlushRange */ +asm void DCFlushRange(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_flush: + dcbf 0, start + addi start, start, 0x20 + bdnz do_flush + sc + + blr + // clang-format on +} + +/* 8033B5DC-8033B60C 335F1C 0030+00 0/0 54/54 1/1 .text DCStoreRange */ +asm void DCStoreRange(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_store: + dcbst 0, start + addi start, start, 0x20 + bdnz do_store + sc + + blr + // clang-format on +} + +/* 8033B60C-8033B638 335F4C 002C+00 0/0 2/2 0/0 .text DCFlushRangeNoSync */ +asm void DCFlushRangeNoSync(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_flush: + dcbf 0, start + addi start, start, 0x20 + bdnz do_flush + + blr + // clang-format on +} + +/* 8033B638-8033B664 335F78 002C+00 0/0 13/13 3/3 .text DCStoreRangeNoSync */ +asm void DCStoreRangeNoSync(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_store: + dcbst 0, start + addi start, start, 0x20 + bdnz do_store + + blr + // clang-format on +} + +/* 8033B664-8033B690 335FA4 002C+00 0/0 1/1 1/1 .text DCZeroRange */ +asm void DCZeroRange(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_zero: + dcbz 0, start + addi start, start, 0x20 + bdnz do_zero + + blr + // clang-format on +} + +/* 8033B690-8033B6C4 335FD0 0034+00 0/0 6/6 0/0 .text ICInvalidateRange */ +asm void ICInvalidateRange(register void* start, register u32 nBytes) { + // clang-format off + nofralloc + + cmplwi nBytes, 0 + blelr + + clrlwi r5, start, 0x1B + add nBytes, nBytes, r5 + addi nBytes, nBytes, 0x1F + srwi nBytes, nBytes, 5 + mtctr nBytes + +do_invalidate: + icbi 0, start + addi start, start, 0x20 + bdnz do_invalidate + + sync + isync + + blr + // clang-format on +} + +/* 8033B6C4-8033B6D4 336004 0010+00 0/0 5/5 0/0 .text ICFlashInvalidate */ +asm void ICFlashInvalidate(void) { + // clang-format off + nofralloc + + mfspr r3, 0x3F0 + ori r3, r3, 0x800 + mtspr 0x3F0, r3 + + blr + // clang-format on +} + +/* 8033B6D4-8033B6E8 336014 0014+00 1/1 0/0 0/0 .text ICEnable */ +static asm void ICEnable(void) { + // clang-format off + nofralloc + + isync + mfspr r3, 0x3F0 + ori r3, r3, 0x8000 + mtspr 0x3F0, r3 + + blr + // clang-format on +} + +/* 8033B6E8-8033B7B4 336028 00CC+00 1/1 0/0 0/0 .text __LCEnable */ +asm void __LCEnable(void) { + // clang-format off + nofralloc + + mfmsr r5 + ori r5, r5, 0x1000 + mtmsr r5 + + lis r3, 0x8000 + li r4, 0x400 + mtctr r4 + +do_store: + dcbt 0, r3 + dcbst 0, r3 + addi r3, r3, 0x20 + bdnz do_store + + mfspr r4, 0x398 + oris r4, r4, 0x100F + mtspr 0x398, r4 + + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + + lis r3, 0xE000 + ori r3, r3, 0x0002 + mtdbatl 3, r3 + ori r3, r3, 0x1FE + mtdbatu 3, r3 + isync + + lis r3, 0xE000 + li r6, 0x200 + mtctr r6 + li r6, 0 +do_load: + dcbz_l r6, r3 + addi r3, r3, 0x0020 + bdnz do_load + + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + + blr + // clang-format on +} + +/* 8033B7B4-8033B7EC 3360F4 0038+00 0/0 0/0 1/1 .text LCEnable */ +void LCEnable(void) { + BOOL interrupt = OSDisableInterrupts(); + __LCEnable(); + OSRestoreInterrupts(interrupt); +} + +/* 8033B7EC-8033B814 33612C 0028+00 0/0 2/2 1/1 .text LCDisable */ +asm void LCDisable(void) { + // clang-format off + nofralloc + + lis r3, 0xE000 + li r4, 0x200 + mtctr r4 +do_invalidate: + dcbi 0, r3 + addi r3, r3, 0x20 + bdnz do_invalidate + + mfspr r4, 0x398 + rlwinm r4, r4, 0, 4, 2 + mtspr 0x398, r4 + + blr + // clang-format on +} + +/* 8033B814-8033B838 336154 0024+00 1/1 0/0 0/0 .text LCStoreBlocks */ +static asm void LCStoreBlocks(register void* destAddr, register void* srcAddr, + register u32 blockNum) { + // clang-format off + nofralloc + + rlwinm r6, blockNum, 0x1E, 0x1B, 0x1F + clrlwi destAddr, destAddr, 4 + or r6, r6, destAddr + mtspr 0x39A, r6 + rlwinm r6, blockNum, 2, 0x1C, 0x1D + or r6, r6, srcAddr + ori r6, r6, 2 + mtspr 0x39B, r6 + + blr + // clang-format on +} +/* 8033B838-8033B8E4 336178 00AC+00 0/0 0/0 3/3 .text LCStoreData */ +// matches with mwcc 1.2.5e +#ifdef NONMATCHING +u32 LCStoreData(void* destAddr, void* srcAddr, u32 nBytes) { + u32 blocks = (nBytes + 31) / 32; + u32 ret = (blocks + 127) / 128; + + while (blocks > 0) { + if (blocks < 128) { + LCStoreBlocks(destAddr, srcAddr, blocks); + blocks = 0; + } else { + LCStoreBlocks(destAddr, srcAddr, 0); + blocks -= 128; + + destAddr = (char*)destAddr + 0x1000; + srcAddr = (char*)srcAddr + 0x1000; + } + } + + return ret; +} +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm u32 LCStoreData(void* destAddr, void* srcAddr, u32 nBytes) { + nofralloc +#include "asm/dolphin/os/OSCache/LCStoreData.s" +} +#pragma pop +#endif + +/* 8033B8E4-8033B8F8 336224 0014+00 0/0 0/0 3/3 .text LCQueueWait */ +asm void LCQueueWait(register u32 len){ + // clang-format off + nofralloc + + mfspr r4, 0x398 + rlwinm r4, r4, 8, 28, 31 + cmpw r4, len + bgt LCQueueWait + + blr + // clang-format on +} + +/* ############################################################################################## */ +/* 803CF510-803CF53C 02C630 0029+03 3/3 0/0 0/0 .data @63 */ +SECTION_DATA static char lit_63[] = ">>> L2 INVALIDATE : SHOULD NEVER HAPPEN\n"; + +/* 8033B8F8-8033B990 336238 0098+00 1/1 0/0 0/0 .text L2GlobalInvalidate */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void L2GlobalInvalidate(void) { + nofralloc +#include "asm/dolphin/os/OSCache/L2GlobalInvalidate.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803CF53C-803CF554 02C65C 0018+00 0/1 0/0 0/0 .data @84 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_84[] = "Machine check received\n"; +#pragma pop + +/* 803CF554-803CF570 02C674 001B+01 0/1 0/0 0/0 .data @85 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_85[] = "HID2 = 0x%x SRR1 = 0x%x\n"; +#pragma pop + +/* 803CF570-803CF5A0 02C690 0030+00 0/1 0/0 0/0 .data @86 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_86[] = "Machine check was not DMA/locked cache related\n"; +#pragma pop + +/* 803CF5A0-803CF5DC 02C6C0 003C+00 0/1 0/0 0/0 .data @87 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_87[] = "DMAErrorHandler(): An error occurred while processing DMA.\n"; +#pragma pop + +/* 803CF5DC-803CF614 02C6FC 0037+01 0/1 0/0 0/0 .data @88 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_88[] = "The following errors have been detected and cleared :\n"; +#pragma pop + +/* 803CF614-803CF654 02C734 003F+01 0/1 0/0 0/0 .data @89 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_89[] = + "\t- Requested a locked cache tag that was already in the cache\n"; +#pragma pop + +/* 803CF654-803CF680 02C774 0029+03 0/1 0/0 0/0 .data @90 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_90[] = "\t- DMA attempted to access normal cache\n"; +#pragma pop + +/* 803CF680-803CF6A0 02C7A0 001D+03 0/1 0/0 0/0 .data @91 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_91[] = "\t- DMA missed in data cache\n"; +#pragma pop + +/* 803CF6A0-803CF6BC 02C7C0 0019+03 0/1 0/0 0/0 .data @92 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_92[] = "\t- DMA queue overflowed\n"; +#pragma pop + +/* 8033B990-8033BAF0 3362D0 0160+00 1/1 0/0 0/0 .text DMAErrorHandler */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void DMAErrorHandler(s32 error, OSContext* context) { + nofralloc +#include "asm/dolphin/os/OSCache/DMAErrorHandler.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803CF6BC-803CF6D8 02C7DC 0019+03 0/1 0/0 0/0 .data @104 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_104[] = "L1 i-caches initialized\n"; +#pragma pop + +/* 803CF6D8-803CF6F4 02C7F8 0019+03 0/1 0/0 0/0 .data @105 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_105[] = "L1 d-caches initialized\n"; +#pragma pop + +/* 803CF6F4-803CF70C 02C814 0016+02 0/1 0/0 0/0 .data @106 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_106[] = "L2 cache initialized\n"; +#pragma pop + +/* 803CF70C-803CF740 02C82C 002E+06 0/1 0/0 0/0 .data @107 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_107[] = "Locked cache machine check handler installed\n"; +#pragma pop + +/* 8033BAF0-8033BBE4 336430 00F4+00 0/0 2/2 0/0 .text __OSCacheInit */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __OSCacheInit(void) { + nofralloc +#include "asm/dolphin/os/OSCache/__OSCacheInit.s" +} +#pragma pop diff --git a/libs/dolphin/os/OSCache.cpp b/libs/dolphin/os/OSCache.cpp deleted file mode 100644 index 44defbaca4..0000000000 --- a/libs/dolphin/os/OSCache.cpp +++ /dev/null @@ -1,767 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: OSCache -// - -#include "dolphin/os/OSCache.h" -#include "dol2asm.h" -#include "dolphin/os/OSError.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" void OSReport(); -extern "C" void PPCMfmsr(); -extern "C" void PPCMtmsr(); -extern "C" void PPCMfhid0(); -extern "C" void PPCMfl2cr(); -extern "C" void PPCMtl2cr(); -extern "C" void PPCHalt(); -extern "C" void PPCMfhid2(); -extern "C" void PPCMthid2(); -extern "C" void OSDumpContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void DBPrintf(); - -// -// Declarations: -// - -/* 8033B56C-8033B580 335EAC 0014+00 1/1 0/0 0/0 .text DCEnable */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void DCEnable(void) { - nofralloc -#include "asm/dolphin/os/OSCache/DCEnable.s" -} -#pragma pop - -/* 8033B580-8033B5AC 335EC0 002C+00 0/0 30/30 1/1 .text DCInvalidateRange */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DCInvalidateRange(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/DCInvalidateRange.s" -} -#pragma pop - -/* 8033B5AC-8033B5DC 335EEC 0030+00 0/0 11/11 0/0 .text DCFlushRange */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DCFlushRange(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/DCFlushRange.s" -} -#pragma pop - -/* 8033B5DC-8033B60C 335F1C 0030+00 0/0 54/54 1/1 .text DCStoreRange */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DCStoreRange(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/DCStoreRange.s" -} -#pragma pop - -/* 8033B60C-8033B638 335F4C 002C+00 0/0 2/2 0/0 .text DCFlushRangeNoSync */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DCFlushRangeNoSync(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/DCFlushRangeNoSync.s" -} -#pragma pop - -/* 8033B638-8033B664 335F78 002C+00 0/0 13/13 3/3 .text DCStoreRangeNoSync */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DCStoreRangeNoSync(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/DCStoreRangeNoSync.s" -} -#pragma pop - -/* 8033B664-8033B690 335FA4 002C+00 0/0 1/1 1/1 .text DCZeroRange */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void DCZeroRange(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/DCZeroRange.s" -} -#pragma pop - -/* 8033B690-8033B6C4 335FD0 0034+00 0/0 6/6 0/0 .text ICInvalidateRange */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ICInvalidateRange(void* start, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/ICInvalidateRange.s" -} -#pragma pop - -/* 8033B6C4-8033B6D4 336004 0010+00 0/0 5/5 0/0 .text ICFlashInvalidate */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void ICFlashInvalidate(void) { - nofralloc -#include "asm/dolphin/os/OSCache/ICFlashInvalidate.s" -} -#pragma pop - -/* 8033B6D4-8033B6E8 336014 0014+00 1/1 0/0 0/0 .text ICEnable */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void ICEnable(void) { - nofralloc -#include "asm/dolphin/os/OSCache/ICEnable.s" -} -#pragma pop - -/* 8033B6E8-8033B7B4 336028 00CC+00 1/1 0/0 0/0 .text __LCEnable */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __LCEnable(void) { - nofralloc -#include "asm/dolphin/os/OSCache/__LCEnable.s" -} -#pragma pop - -/* 8033B7B4-8033B7EC 3360F4 0038+00 0/0 0/0 1/1 .text LCEnable */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void LCEnable() { - nofralloc -#include "asm/dolphin/os/OSCache/LCEnable.s" -} -#pragma pop - -/* 8033B7EC-8033B814 33612C 0028+00 0/0 2/2 1/1 .text LCDisable */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void LCDisable(void) { - nofralloc -#include "asm/dolphin/os/OSCache/LCDisable.s" -} -#pragma pop - -/* 8033B814-8033B838 336154 0024+00 1/1 0/0 0/0 .text LCStoreBlocks */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void LCStoreBlocks(void* destAddr, void* srcAddr, u32 blockNum) { - nofralloc -#include "asm/dolphin/os/OSCache/LCStoreBlocks.s" -} -#pragma pop - -/* 8033B838-8033B8E4 336178 00AC+00 0/0 0/0 3/3 .text LCStoreData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 LCStoreData(void* destAddr, void* srcAddr, u32 nBytes) { - nofralloc -#include "asm/dolphin/os/OSCache/LCStoreData.s" -} -#pragma pop - -/* 8033B8E4-8033B8F8 336224 0014+00 0/0 0/0 3/3 .text LCQueueWait */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void LCQueueWait(u32 len) { - nofralloc -#include "asm/dolphin/os/OSCache/LCQueueWait.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CF510-803CF53C 02C630 0029+03 3/3 0/0 0/0 .data @63 */ -SECTION_DATA static u8 lit_63[41 + 3 /* padding */] = { - 0x3E, - 0x3E, - 0x3E, - 0x20, - 0x4C, - 0x32, - 0x20, - 0x49, - 0x4E, - 0x56, - 0x41, - 0x4C, - 0x49, - 0x44, - 0x41, - 0x54, - 0x45, - 0x20, - 0x3A, - 0x20, - 0x53, - 0x48, - 0x4F, - 0x55, - 0x4C, - 0x44, - 0x20, - 0x4E, - 0x45, - 0x56, - 0x45, - 0x52, - 0x20, - 0x48, - 0x41, - 0x50, - 0x50, - 0x45, - 0x4E, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; - -/* 8033B8F8-8033B990 336238 0098+00 1/1 0/0 0/0 .text L2GlobalInvalidate */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void L2GlobalInvalidate(void) { - nofralloc -#include "asm/dolphin/os/OSCache/L2GlobalInvalidate.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CF53C-803CF554 02C65C 0018+00 0/1 0/0 0/0 .data @84 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_84[24] = { - 0x4D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6B, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x0A, 0x00, -}; -#pragma pop - -/* 803CF554-803CF570 02C674 001B+01 0/1 0/0 0/0 .data @85 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_85[27 + 1 /* padding */] = { - 0x48, - 0x49, - 0x44, - 0x32, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x78, - 0x20, - 0x20, - 0x20, - 0x53, - 0x52, - 0x52, - 0x31, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CF570-803CF5A0 02C690 0030+00 0/1 0/0 0/0 .data @86 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_86[48] = { - 0x4D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6B, 0x20, 0x77, 0x61, - 0x73, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x44, 0x4D, 0x41, 0x2F, 0x6C, 0x6F, 0x63, 0x6B, 0x65, 0x64, - 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6C, 0x61, 0x74, 0x65, 0x64, 0x0A, 0x00, -}; -#pragma pop - -/* 803CF5A0-803CF5DC 02C6C0 003C+00 0/1 0/0 0/0 .data @87 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_87[60] = { - 0x44, 0x4D, 0x41, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, - 0x28, 0x29, 0x3A, 0x20, 0x41, 0x6E, 0x20, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x6F, 0x63, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x69, 0x6C, 0x65, 0x20, 0x70, 0x72, - 0x6F, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6E, 0x67, 0x20, 0x44, 0x4D, 0x41, 0x2E, 0x0A, 0x00, -}; -#pragma pop - -/* 803CF5DC-803CF614 02C6FC 0037+01 0/1 0/0 0/0 .data @88 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_88[55 + 1 /* padding */] = { - 0x54, - 0x68, - 0x65, - 0x20, - 0x66, - 0x6F, - 0x6C, - 0x6C, - 0x6F, - 0x77, - 0x69, - 0x6E, - 0x67, - 0x20, - 0x65, - 0x72, - 0x72, - 0x6F, - 0x72, - 0x73, - 0x20, - 0x68, - 0x61, - 0x76, - 0x65, - 0x20, - 0x62, - 0x65, - 0x65, - 0x6E, - 0x20, - 0x64, - 0x65, - 0x74, - 0x65, - 0x63, - 0x74, - 0x65, - 0x64, - 0x20, - 0x61, - 0x6E, - 0x64, - 0x20, - 0x63, - 0x6C, - 0x65, - 0x61, - 0x72, - 0x65, - 0x64, - 0x20, - 0x3A, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CF614-803CF654 02C734 003F+01 0/1 0/0 0/0 .data @89 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_89[63 + 1 /* padding */] = { - 0x09, - 0x2D, - 0x20, - 0x52, - 0x65, - 0x71, - 0x75, - 0x65, - 0x73, - 0x74, - 0x65, - 0x64, - 0x20, - 0x61, - 0x20, - 0x6C, - 0x6F, - 0x63, - 0x6B, - 0x65, - 0x64, - 0x20, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x20, - 0x74, - 0x61, - 0x67, - 0x20, - 0x74, - 0x68, - 0x61, - 0x74, - 0x20, - 0x77, - 0x61, - 0x73, - 0x20, - 0x61, - 0x6C, - 0x72, - 0x65, - 0x61, - 0x64, - 0x79, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x74, - 0x68, - 0x65, - 0x20, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CF654-803CF680 02C774 0029+03 0/1 0/0 0/0 .data @90 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_90[41 + 3 /* padding */] = { - 0x09, - 0x2D, - 0x20, - 0x44, - 0x4D, - 0x41, - 0x20, - 0x61, - 0x74, - 0x74, - 0x65, - 0x6D, - 0x70, - 0x74, - 0x65, - 0x64, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x61, - 0x63, - 0x63, - 0x65, - 0x73, - 0x73, - 0x20, - 0x6E, - 0x6F, - 0x72, - 0x6D, - 0x61, - 0x6C, - 0x20, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF680-803CF6A0 02C7A0 001D+03 0/1 0/0 0/0 .data @91 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_91[29 + 3 /* padding */] = { - 0x09, - 0x2D, - 0x20, - 0x44, - 0x4D, - 0x41, - 0x20, - 0x6D, - 0x69, - 0x73, - 0x73, - 0x65, - 0x64, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x64, - 0x61, - 0x74, - 0x61, - 0x20, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF6A0-803CF6BC 02C7C0 0019+03 0/1 0/0 0/0 .data @92 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_92[25 + 3 /* padding */] = { - 0x09, - 0x2D, - 0x20, - 0x44, - 0x4D, - 0x41, - 0x20, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x20, - 0x6F, - 0x76, - 0x65, - 0x72, - 0x66, - 0x6C, - 0x6F, - 0x77, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 8033B990-8033BAF0 3362D0 0160+00 1/1 0/0 0/0 .text DMAErrorHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void DMAErrorHandler(s32 error, OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSCache/DMAErrorHandler.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CF6BC-803CF6D8 02C7DC 0019+03 0/1 0/0 0/0 .data @104 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_104[25 + 3 /* padding */] = { - 0x4C, - 0x31, - 0x20, - 0x69, - 0x2D, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x73, - 0x20, - 0x69, - 0x6E, - 0x69, - 0x74, - 0x69, - 0x61, - 0x6C, - 0x69, - 0x7A, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF6D8-803CF6F4 02C7F8 0019+03 0/1 0/0 0/0 .data @105 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_105[25 + 3 /* padding */] = { - 0x4C, - 0x31, - 0x20, - 0x64, - 0x2D, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x73, - 0x20, - 0x69, - 0x6E, - 0x69, - 0x74, - 0x69, - 0x61, - 0x6C, - 0x69, - 0x7A, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF6F4-803CF70C 02C814 0016+02 0/1 0/0 0/0 .data @106 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_106[22 + 2 /* padding */] = { - 0x4C, - 0x32, - 0x20, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x20, - 0x69, - 0x6E, - 0x69, - 0x74, - 0x69, - 0x61, - 0x6C, - 0x69, - 0x7A, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF70C-803CF740 02C82C 002E+06 0/1 0/0 0/0 .data @107 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_107[46 + 6 /* padding */] = { - 0x4C, - 0x6F, - 0x63, - 0x6B, - 0x65, - 0x64, - 0x20, - 0x63, - 0x61, - 0x63, - 0x68, - 0x65, - 0x20, - 0x6D, - 0x61, - 0x63, - 0x68, - 0x69, - 0x6E, - 0x65, - 0x20, - 0x63, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x20, - 0x68, - 0x61, - 0x6E, - 0x64, - 0x6C, - 0x65, - 0x72, - 0x20, - 0x69, - 0x6E, - 0x73, - 0x74, - 0x61, - 0x6C, - 0x6C, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 8033BAF0-8033BBE4 336430 00F4+00 0/0 2/2 0/0 .text __OSCacheInit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSCacheInit(void) { - nofralloc -#include "asm/dolphin/os/OSCache/__OSCacheInit.s" -} -#pragma pop diff --git a/libs/dolphin/os/OSContext.c b/libs/dolphin/os/OSContext.c new file mode 100644 index 0000000000..f07a80e95d --- /dev/null +++ b/libs/dolphin/os/OSContext.c @@ -0,0 +1,660 @@ +// +// Generated By: dol2asm +// Translation Unit: OSContext +// + +#include "dolphin/os/OSContext.h" +#include "dol2asm.h" +#include "dolphin/os/OS.h" +#include "dolphin/os/OSInterrupt.h" +#include "dolphin/types.h" + +// +// External References: +// + +void __RAS_OSDisableInterrupts_end(); +void DBPrintf(); +void __cvt_fp2unsigned(); + +// +// Declarations: +// + +/* 8033BBE4-8033BD08 336524 0124+00 1/1 0/0 0/0 .text __OSLoadFPUContext */ +asm void __OSLoadFPUContext(void) { + // clang-format off + nofralloc + + lhz r5, 0x1A2(r4) + clrlwi. r5, r5, 0x1f + beq exit + + lfd f0, 0x190(r4) + mtfsf 0xFF, f0 + mfspr r5, 0x398 + rlwinm. r5, r5, 3, 0x1F, 0x1F + beq load_fprs + + psq_l f0, 0x1C8(r4), 0, 0 + psq_l f1, 0x1D0(r4), 0, 0 + psq_l f2, 0x1D8(r4), 0, 0 + psq_l f3, 0x1E0(r4), 0, 0 + psq_l f4, 0x1E8(r4), 0, 0 + psq_l f5, 0x1F0(r4), 0, 0 + psq_l f6, 0x1F8(r4), 0, 0 + psq_l f7, 0x200(r4), 0, 0 + psq_l f8, 0x208(r4), 0, 0 + psq_l f9, 0x210(r4), 0, 0 + psq_l f10, 0x218(r4), 0, 0 + psq_l f11, 0x220(r4), 0, 0 + psq_l f12, 0x228(r4), 0, 0 + psq_l f13, 0x230(r4), 0, 0 + psq_l f14, 0x238(r4), 0, 0 + psq_l f15, 0x240(r4), 0, 0 + psq_l f16, 0x248(r4), 0, 0 + psq_l f17, 0x250(r4), 0, 0 + psq_l f18, 0x258(r4), 0, 0 + psq_l f19, 0x260(r4), 0, 0 + psq_l f20, 0x268(r4), 0, 0 + psq_l f21, 0x270(r4), 0, 0 + psq_l f22, 0x278(r4), 0, 0 + psq_l f23, 0x280(r4), 0, 0 + psq_l f24, 0x288(r4), 0, 0 + psq_l f25, 0x290(r4), 0, 0 + psq_l f26, 0x298(r4), 0, 0 + psq_l f27, 0x2A0(r4), 0, 0 + psq_l f28, 0x2A8(r4), 0, 0 + psq_l f29, 0x2B0(r4), 0, 0 + psq_l f30, 0x2B8(r4), 0, 0 + psq_l f31, 0x2C0(r4), 0, 0 + +load_fprs: + lfd f0, 0x90(r4) + lfd f1, 0x98(r4) + lfd f2, 0xA0(r4) + lfd f3, 0xA8(r4) + lfd f4, 0xB0(r4) + lfd f5, 0xB8(r4) + lfd f6, 0xC0(r4) + lfd f7, 0xC8(r4) + lfd f8, 0xD0(r4) + lfd f9, 0xD8(r4) + lfd f10, 0xE0(r4) + lfd f11, 0xE8(r4) + lfd f12, 0xF0(r4) + lfd f13, 0xF8(r4) + lfd f14, 0x100(r4) + lfd f15, 0x108(r4) + lfd f16, 0x110(r4) + lfd f17, 0x118(r4) + lfd f18, 0x120(r4) + lfd f19, 0x128(r4) + lfd f20, 0x130(r4) + lfd f21, 0x138(r4) + lfd f22, 0x140(r4) + lfd f23, 0x148(r4) + lfd f24, 0x150(r4) + lfd f25, 0x158(r4) + lfd f26, 0x160(r4) + lfd f27, 0x168(r4) + lfd f28, 0x170(r4) + lfd f29, 0x178(r4) + lfd f30, 0x180(r4) + lfd f31, 0x188(r4) + +exit: + blr + // clang-format on +} + +/* 8033BD08-8033BE30 336648 0128+00 2/2 0/0 0/0 .text __OSSaveFPUContext */ +asm void __OSSaveFPUContext(s32 unused0, s32 unused1, register OSContext* context) { + // clang-format off + nofralloc + + lhz r3, 0x1A2(context) + ori r3, r3, 1 + sth r3, 0x1A2(context) + + stfd f0, 0x90(context) + stfd f1, 0x98(context) + stfd f2, 0xa0(context) + stfd f3, 0xa8(context) + stfd f4, 0xb0(context) + stfd f5, 0xb8(context) + stfd f6, 0xc0(context) + stfd f7, 0xc8(context) + stfd f8, 0xd0(context) + stfd f9, 0xd8(context) + stfd f10, 0xe0(context) + stfd f11, 0xe8(context) + stfd f12, 0xf0(context) + stfd f13, 0xf8(context) + stfd f14, 0x100(context) + stfd f15, 0x108(context) + stfd f16, 0x110(context) + stfd f17, 0x118(context) + stfd f18, 0x120(context) + stfd f19, 0x128(context) + stfd f20, 0x130(context) + stfd f21, 0x138(context) + stfd f22, 0x140(context) + stfd f23, 0x148(context) + stfd f24, 0x150(context) + stfd f25, 0x158(context) + stfd f26, 0x160(context) + stfd f27, 0x168(context) + stfd f28, 0x170(context) + stfd f29, 0x178(context) + stfd f30, 0x180(context) + stfd f31, 0x188(context) + + mffs f0 + stfd f0, 0x190(context) + lfd f0, 0x90(context) + mfspr r3, 0x398 + rlwinm. r3, r3, 3, 0x1f, 0x1f + beq exit + + psq_st f0, 456(context), 0, 0 + psq_st f1, 464(context), 0, 0 + psq_st f2, 472(context), 0, 0 + psq_st f3, 480(context), 0, 0 + psq_st f4, 488(context), 0, 0 + psq_st f5, 496(context), 0, 0 + psq_st f6, 504(context), 0, 0 + psq_st f7, 512(context), 0, 0 + psq_st f8, 520(context), 0, 0 + psq_st f9, 528(context), 0, 0 + psq_st f10, 536(context), 0, 0 + psq_st f11, 544(context), 0, 0 + psq_st f12, 552(context), 0, 0 + psq_st f13, 560(context), 0, 0 + psq_st f14, 568(context), 0, 0 + psq_st f15, 576(context), 0, 0 + psq_st f16, 584(context), 0, 0 + psq_st f17, 592(context), 0, 0 + psq_st f18, 600(context), 0, 0 + psq_st f19, 608(context), 0, 0 + psq_st f20, 616(context), 0, 0 + psq_st f21, 624(context), 0, 0 + psq_st f22, 632(context), 0, 0 + psq_st f23, 640(context), 0, 0 + psq_st f24, 648(context), 0, 0 + psq_st f25, 656(context), 0, 0 + psq_st f26, 664(context), 0, 0 + psq_st f27, 672(context), 0, 0 + psq_st f28, 680(context), 0, 0 + psq_st f29, 688(context), 0, 0 + psq_st f30, 696(context), 0, 0 + psq_st f31, 704(context), 0, 0 + +exit: + blr + // clang-format on +} + +/* 8033BE30-8033BE38 336770 0008+00 0/0 1/1 0/0 .text OSSaveFPUContext */ +asm void OSSaveFPUContext(register OSContext* context) { + // clang-format off + nofralloc + + addi r5, context, 0 + b __OSSaveFPUContext + // clang-format on +} + +/* 8033BE38-8033BE94 336778 005C+00 1/1 18/18 0/0 .text OSSetCurrentContext */ +asm void OSSetCurrentContext(register OSContext* context) { + // clang-format off + nofralloc + + lis r4, OS_CURRENT_CONTEXT@ha + stw context, OS_CURRENT_CONTEXT@l(r4) + clrlwi r5, context, 2 + stw r5, 0xc0(r4) + lwz r5, 0xd8(r4) + cmpw r5, context + bne lbl_800EE9AC + lwz r6, 0x19c(context) + ori r6, r6, 0x2000 + stw r6, 0x19c(context) + mfmsr r6 + ori r6, r6, 2 + mtmsr r6 + blr + +lbl_800EE9AC: + lwz r6, 0x19c(context) + rlwinm r6, r6, 0, 0x13, 0x11 + stw r6, 0x19c(context) + mfmsr r6 + rlwinm r6, r6, 0, 0x13, 0x11 + ori r6, r6, 2 + mtmsr r6 + isync + blr + // clang-format on +} + +/* 8033BE94-8033BEA0 3367D4 000C+00 0/0 2/2 0/0 .text OSGetCurrentContext */ +OSContext* OSGetCurrentContext(void) { + return OS_CURRENT_CONTEXT; +} + +/* 8033BEA0-8033BF20 3367E0 0080+00 0/0 1/1 0/0 .text OSSaveContext */ +asm void OSSaveContext(register OSContext* context) { + // clang-format off + nofralloc + + stmw r13, 0x34(context) + + mfspr r0, GQR1 + stw r0, 0x1a8(context) + mfspr r0, GQR2 + stw r0, 0x1ac(context) + mfspr r0, GQR3 + stw r0, 0x1b0(context) + mfspr r0, GQR4 + stw r0, 0x1b4(context) + mfspr r0, GQR5 + stw r0, 0x1b8(context) + mfspr r0, GQR6 + stw r0, 0x1bc(context) + mfspr r0, GQR7 + stw r0, 0x1c0(context) + + mfcr r0 + stw r0, 0x80(context) + mflr r0 + stw r0, 0x84(context) + stw r0, 0x198(context) + mfmsr r0 + stw r0, 0x19c(context) + mfctr r0 + stw r0, 0x88(context) + mfxer r0 + stw r0, 0x8c(context) + + stw r1, 4(context) + stw r2, 8(context) + + li r0, 1 + stw r0, 0xc(context) + + li r3, 0 + blr + // clang-format on +} + +/* 8033BF20-8033BFF8 336860 00D8+00 0/0 4/4 0/0 .text OSLoadContext */ +asm void OSLoadContext(register OSContext* context) { + // clang-format off + nofralloc + + lis r4, OSDisableInterrupts@ha + lwz r6, 0x198(context) + addi r5, r4, OSDisableInterrupts@l + cmplw r6, r5 + ble srr0_not_in_disableintr + lis r4, __RAS_OSDisableInterrupts_end@ha + addi r0, r4, __RAS_OSDisableInterrupts_end@l + cmplw r6, r0 + bge srr0_not_in_disableintr + stw r5, 0x198(context) + +srr0_not_in_disableintr: + lwz r0, 0(context) + lwz r1, 4(context) + lwz r2, 8(context) + lhz r4, 0x1a2(context) + rlwinm. r5, r4, 0, 0x1e, 0x1e + beq load_saved_gprs + rlwinm r4, r4, 0, 0x1f, 0x1d + sth r4, 0x1a2(context) + lmw r5, 0x14(context) + b load_special_regs + +load_saved_gprs: + lmw r13, 0x34(context) + +load_special_regs: + lwz r4, 0x1a8(context) + mtspr 0x391, r4 + lwz r4, 0x1ac(context) + mtspr 0x392, r4 + lwz r4, 0x1b0(context) + mtspr 0x393, r4 + lwz r4, 0x1b4(context) + mtspr 0x394, r4 + lwz r4, 0x1b8(context) + mtspr 0x395, r4 + lwz r4, 0x1bc(context) + mtspr 0x396, r4 + lwz r4, 0x1c0(context) + mtspr 0x397, r4 + lwz r4, 0x80(context) + mtcrf 0xff, r4 + lwz r4, 0x84(context) + mtlr r4 + lwz r4, 0x88(context) + mtctr r4 + lwz r4, 0x8c(context) + mtxer r4 + mfmsr r4 + rlwinm r4, r4, 0, 0x11, 0xf + rlwinm r4, r4, 0, 0x1f, 0x1d + mtmsr r4 + lwz r4, 0x198(context) + mtspr 0x1a, r4 + lwz r4, 0x19c(context) + mtspr 0x1b, r4 + lwz r4, 0x10(context) + lwz context, 0xc(context) + rfi + // clang-format on +} + +/* 8033BFF8-8033C000 336938 0008+00 0/0 5/5 0/0 .text OSGetStackPointer */ +asm u8* OSGetStackPointer(void) { + // clang-format off + nofralloc + + mr r3, r1 + blr + // clang-format on +} + +/* 8033C000-8033C024 336940 0024+00 1/1 20/20 0/0 .text OSClearContext */ +void OSClearContext(OSContext* context) { + context->mode = 0; + context->state = 0; + + if (context == OS_CURRENT_FPU_CONTEXT) { + OS_CURRENT_FPU_CONTEXT = NULL; + } +} + +/* 8033C024-8033C0E0 336964 00BC+00 0/0 1/1 0/0 .text OSInitContext */ +asm void OSInitContext(register OSContext* context, register u32 srr0, register u32 stack){ + // clang-format off + nofralloc + + stw srr0, 0x198(context) + stw stack, 4(context) + li r11, 0 + ori r11, r11, 0x9032 + stw r11, 0x19c(context) + li r0, 0 + stw r0, 0x80(context) + stw r0, 0x8c(context) + stw r2, 8(context) + stw r13, 0x34(context) + stw r0, 0xc(context) + stw r0, 0x10(context) + stw r0, 0x14(context) + stw r0, 0x18(context) + stw r0, 0x1c(context) + stw r0, 0x20(context) + stw r0, 0x24(context) + stw r0, 0x28(context) + stw r0, 0x2c(context) + stw r0, 0x30(context) + stw r0, 0x38(context) + stw r0, 0x3c(context) + stw r0, 0x40(context) + stw r0, 0x44(context) + stw r0, 0x48(context) + stw r0, 0x4c(context) + stw r0, 0x50(context) + stw r0, 0x54(context) + stw r0, 0x58(context) + stw r0, 0x5c(context) + stw r0, 0x60(context) + stw r0, 0x64(context) + stw r0, 0x68(context) + stw r0, 0x6c(context) + stw r0, 0x70(context) + stw r0, 0x74(context) + stw r0, 0x78(context) + stw r0, 0x7c(context) + stw r0, 0x1a4(context) + stw r0, 0x1a8(context) + stw r0, 0x1ac(context) + stw r0, 0x1b0(context) + stw r0, 0x1b4(context) + stw r0, 0x1b8(context) + stw r0, 0x1bc(context) + stw r0, 0x1c0(context) + + b OSClearContext + // clang-format on +} + +/* ############################################################################################## */ +/* 803CF740-803CF784 02C860 0044+00 1/1 0/0 0/0 .data @61 */ +SECTION_DATA + static char lit_61[] = "------------------------- Context 0x%08x -------------------------\n"; + +/* 803CF784-803CF7B4 02C8A4 0030+00 0/1 0/0 0/0 .data @62 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_62[] = "r%-2d = 0x%08x (%14d) r%-2d = 0x%08x (%14d)\n"; + +/* 803CF7B4-803CF7E4 02C8D4 002F+01 0/1 0/0 0/0 .data @63 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_63[] = "LR = 0x%08x CR = 0x%08x\n"; +#pragma pop + +/* 803CF7E4-803CF814 02C904 002F+01 0/1 0/0 0/0 .data @64 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_64[] = "SRR0 = 0x%08x SRR1 = 0x%08x\n"; +#pragma pop + +/* 803CF814-803CF828 02C934 0011+03 0/1 0/0 0/0 .data @65 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_65[] = "\nGQRs----------\n"; +#pragma pop + +/* 803CF828-803CF84C 02C948 0021+03 0/1 0/0 0/0 .data @66 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_66[] = "gqr%d = 0x%08x \t gqr%d = 0x%08x\n"; +#pragma pop + +/* 803CF84C-803CF860 02C96C 0012+02 0/1 0/0 0/0 .data @67 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_67[] = "\n\nFPRs----------\n"; +#pragma pop + +/* 803CF860-803CF87C 02C980 0019+03 0/1 0/0 0/0 .data @68 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_68[] = "fr%d \t= %d \t fr%d \t= %d\n"; +#pragma pop + +/* 803CF87C-803CF890 02C99C 0012+02 0/1 0/0 0/0 .data @69 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_69[] = "\n\nPSFs----------\n"; +#pragma pop + +/* 803CF890-803CF8B0 02C9B0 001D+03 0/1 0/0 0/0 .data @70 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_70[] = "ps%d \t= 0x%x \t ps%d \t= 0x%x\n"; +#pragma pop + +/* 803CF8B0-803CF8D8 02C9D0 0026+02 0/1 0/0 0/0 .data @71 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_71[] = "\nAddress: Back Chain LR Save\n"; +#pragma pop + +/* 803CF8D8-803CF8F4 02C9F8 001C+00 0/1 0/0 0/0 .data @72 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_72[] = "0x%08x: 0x%08x 0x%08x\n"; +#pragma pop + +/* 8033C0E0-8033C388 336A20 02A8+00 0/0 3/3 0/0 .text OSDumpContext */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSDumpContext(OSContext* context) { + nofralloc +#include "asm/dolphin/os/OSContext/OSDumpContext.s" +} +#pragma pop + +/* 8033C388-8033C40C 336CC8 0084+00 1/1 0/0 0/0 .text OSSwitchFPUContext */ +static asm void OSSwitchFPUContext(register u8 err, register OSContext* context) { + // clang-format off + nofralloc + + mfmsr r5 + ori r5, r5, 0x2000 + mtmsr r5 + isync + lwz r5, 0x19c(context) + ori r5, r5, 0x2000 + mtspr 0x1b, r5 + lis r3, OS_CURRENT_FPU_CONTEXT@ha + lwz r5, OS_CURRENT_FPU_CONTEXT@l(r3) + stw context, 0xd8(r3) + cmpw r5, context + beq context_is_curr_fpu_context + cmpwi r5, 0 + beq context_is_null + bl __OSSaveFPUContext + +context_is_null: + bl __OSLoadFPUContext + +context_is_curr_fpu_context: + lwz r3, 0x80(context) + mtcrf 0xff, r3 + lwz r3, 0x84(context) + mtlr r3 + lwz r3, 0x198(context) + mtspr 0x1a, r3 + lwz r3, 0x88(context) + mtctr r3 + lwz r3, 0x8c(context) + mtxer r3 + lhz r3, 0x1a2(context) + rlwinm r3, r3, 0, 0x1f, 0x1d + sth r3, 0x1a2(context) + lwz r5, 0x14(context) + lwz r3, 0xc(context) + lwz context, 0x10(context) + rfi + // clang-format on +} + +/* ############################################################################################## */ +/* 803CF8F4-803CF918 02CA14 0023+01 1/1 0/0 0/0 .data @76 */ +SECTION_DATA static char lit_76[] = "FPU-unavailable handler installed\n"; + +/* 8033C40C-8033C454 336D4C 0048+00 0/0 1/1 0/0 .text __OSContextInit */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __OSContextInit(void) { + nofralloc +#include "asm/dolphin/os/OSContext/__OSContextInit.s" +} +#pragma pop + +/* 8033C454-8033C580 336D94 012C+00 0/0 1/1 0/0 .text OSFillFPUContext */ +asm void OSFillFPUContext(register OSContext* context) { + // clang-format off + nofralloc + + mfmsr r5 + ori r5, r5, 0x2000 + mtmsr r5 + isync + + stfd f0, 0x90(context) + stfd f1, 0x98(context) + stfd f2, 0xa0(context) + stfd f3, 0xa8(context) + stfd f4, 0xb0(context) + stfd f5, 0xb8(context) + stfd f6, 0xc0(context) + stfd f7, 0xc8(context) + stfd f8, 0xd0(context) + stfd f9, 0xd8(context) + stfd f10, 0xe0(context) + stfd f11, 0xe8(context) + stfd f12, 0xf0(context) + stfd f13, 0xf8(context) + stfd f14, 0x100(context) + stfd f15, 0x108(context) + stfd f16, 0x110(context) + stfd f17, 0x118(context) + stfd f18, 0x120(context) + stfd f19, 0x128(context) + stfd f20, 0x130(context) + stfd f21, 0x138(context) + stfd f22, 0x140(context) + stfd f23, 0x148(context) + stfd f24, 0x150(context) + stfd f25, 0x158(context) + stfd f26, 0x160(context) + stfd f27, 0x168(context) + stfd f28, 0x170(context) + stfd f29, 0x178(context) + stfd f30, 0x180(context) + stfd f31, 0x188(context) + + mffs f0 + stfd f0, 0x190(context) + lfd f0, 0x90(context) + mfspr r5, 0x398 + rlwinm. r5, r5, 3, 0x1f, 0x1f + beq exit + + psq_st f0, 456(context), 0, 0 + psq_st f1, 464(context), 0, 0 + psq_st f2, 472(context), 0, 0 + psq_st f3, 480(context), 0, 0 + psq_st f4, 488(context), 0, 0 + psq_st f5, 496(context), 0, 0 + psq_st f6, 504(context), 0, 0 + psq_st f7, 512(context), 0, 0 + psq_st f8, 520(context), 0, 0 + psq_st f9, 528(context), 0, 0 + psq_st f10, 536(context), 0, 0 + psq_st f11, 544(context), 0, 0 + psq_st f12, 552(context), 0, 0 + psq_st f13, 560(context), 0, 0 + psq_st f14, 568(context), 0, 0 + psq_st f15, 576(context), 0, 0 + psq_st f16, 584(context), 0, 0 + psq_st f17, 592(context), 0, 0 + psq_st f18, 600(context), 0, 0 + psq_st f19, 608(context), 0, 0 + psq_st f20, 616(context), 0, 0 + psq_st f21, 624(context), 0, 0 + psq_st f22, 632(context), 0, 0 + psq_st f23, 640(context), 0, 0 + psq_st f24, 648(context), 0, 0 + psq_st f25, 656(context), 0, 0 + psq_st f26, 664(context), 0, 0 + psq_st f27, 672(context), 0, 0 + psq_st f28, 680(context), 0, 0 + psq_st f29, 688(context), 0, 0 + psq_st f30, 696(context), 0, 0 + psq_st f31, 704(context), 0, 0 + +exit: + blr + // clang-format on +} diff --git a/libs/dolphin/os/OSContext.cpp b/libs/dolphin/os/OSContext.cpp deleted file mode 100644 index 3cc5f31414..0000000000 --- a/libs/dolphin/os/OSContext.cpp +++ /dev/null @@ -1,597 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: OSContext -// - -#include "dolphin/os/OSContext.h" -#include "dolphin/os/OSInterrupt.h" -#include "dolphin/os/OS.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" void __RAS_OSDisableInterrupts_end(); -extern "C" void DBPrintf(); -extern "C" void __cvt_fp2unsigned(); - -// -// Declarations: -// - -/* 8033BBE4-8033BD08 336524 0124+00 1/1 0/0 0/0 .text __OSLoadFPUContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSLoadFPUContext(void) { - nofralloc -#include "asm/dolphin/os/OSContext/__OSLoadFPUContext.s" -} -#pragma pop - -/* 8033BD08-8033BE30 336648 0128+00 2/2 0/0 0/0 .text __OSSaveFPUContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSSaveFPUContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/__OSSaveFPUContext.s" -} -#pragma pop - -/* 8033BE30-8033BE38 336770 0008+00 0/0 1/1 0/0 .text OSSaveFPUContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSaveFPUContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSSaveFPUContext.s" -} -#pragma pop - -/* 8033BE38-8033BE94 336778 005C+00 1/1 18/18 0/0 .text OSSetCurrentContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetCurrentContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSSetCurrentContext.s" -} -#pragma pop - -/* 8033BE94-8033BEA0 3367D4 000C+00 0/0 2/2 0/0 .text OSGetCurrentContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSContext* OSGetCurrentContext(void) { - nofralloc -#include "asm/dolphin/os/OSContext/OSGetCurrentContext.s" -} -#pragma pop - -/* 8033BEA0-8033BF20 3367E0 0080+00 0/0 1/1 0/0 .text OSSaveContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSaveContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSSaveContext.s" -} -#pragma pop - -/* 8033BF20-8033BFF8 336860 00D8+00 0/0 4/4 0/0 .text OSLoadContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSLoadContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSLoadContext.s" -} -#pragma pop - -/* 8033BFF8-8033C000 336938 0008+00 0/0 5/5 0/0 .text OSGetStackPointer */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8* OSGetStackPointer(void) { - nofralloc -#include "asm/dolphin/os/OSContext/OSGetStackPointer.s" -} -#pragma pop - -/* 8033C000-8033C024 336940 0024+00 1/1 20/20 0/0 .text OSClearContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSClearContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSClearContext.s" -} -#pragma pop - -/* 8033C024-8033C0E0 336964 00BC+00 0/0 1/1 0/0 .text OSInitContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSInitContext(OSContext* context, u32 pc, u32 lr) { - nofralloc -#include "asm/dolphin/os/OSContext/OSInitContext.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CF740-803CF784 02C860 0044+00 1/1 0/0 0/0 .data @61 */ -SECTION_DATA static u8 lit_61[68] = { - 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, - 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x20, 0x43, 0x6F, - 0x6E, 0x74, 0x65, 0x78, 0x74, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x2D, - 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, - 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x0A, 0x00, -}; - -/* 803CF784-803CF7B4 02C8A4 0030+00 0/1 0/0 0/0 .data @62 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_62[48] = { - 0x72, 0x25, 0x2D, 0x32, 0x64, 0x20, 0x20, 0x3D, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, - 0x28, 0x25, 0x31, 0x34, 0x64, 0x29, 0x20, 0x20, 0x72, 0x25, 0x2D, 0x32, 0x64, 0x20, 0x20, 0x3D, - 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x28, 0x25, 0x31, 0x34, 0x64, 0x29, 0x0A, 0x00, -}; -#pragma pop - -/* 803CF7B4-803CF7E4 02C8D4 002F+01 0/1 0/0 0/0 .data @63 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_63[47 + 1 /* padding */] = { - 0x4C, - 0x52, - 0x20, - 0x20, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x43, - 0x52, - 0x20, - 0x20, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CF7E4-803CF814 02C904 002F+01 0/1 0/0 0/0 .data @64 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_64[47 + 1 /* padding */] = { - 0x53, - 0x52, - 0x52, - 0x30, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x53, - 0x52, - 0x52, - 0x31, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CF814-803CF828 02C934 0011+03 0/1 0/0 0/0 .data @65 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_65[17 + 3 /* padding */] = { - 0x0A, - 0x47, - 0x51, - 0x52, - 0x73, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF828-803CF84C 02C948 0021+03 0/1 0/0 0/0 .data @66 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_66[33 + 3 /* padding */] = { - 0x67, - 0x71, - 0x72, - 0x25, - 0x64, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x09, - 0x20, - 0x67, - 0x71, - 0x72, - 0x25, - 0x64, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF84C-803CF860 02C96C 0012+02 0/1 0/0 0/0 .data @67 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_67[18 + 2 /* padding */] = { - 0x0A, - 0x0A, - 0x46, - 0x50, - 0x52, - 0x73, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF860-803CF87C 02C980 0019+03 0/1 0/0 0/0 .data @68 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_68[25 + 3 /* padding */] = { - 0x66, - 0x72, - 0x25, - 0x64, - 0x20, - 0x09, - 0x3D, - 0x20, - 0x25, - 0x64, - 0x20, - 0x09, - 0x20, - 0x66, - 0x72, - 0x25, - 0x64, - 0x20, - 0x09, - 0x3D, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF87C-803CF890 02C99C 0012+02 0/1 0/0 0/0 .data @69 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_69[18 + 2 /* padding */] = { - 0x0A, - 0x0A, - 0x50, - 0x53, - 0x46, - 0x73, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x2D, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF890-803CF8B0 02C9B0 001D+03 0/1 0/0 0/0 .data @70 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_70[29 + 3 /* padding */] = { - 0x70, - 0x73, - 0x25, - 0x64, - 0x20, - 0x09, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x78, - 0x20, - 0x09, - 0x20, - 0x70, - 0x73, - 0x25, - 0x64, - 0x20, - 0x09, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF8B0-803CF8D8 02C9D0 0026+02 0/1 0/0 0/0 .data @71 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_71[38 + 2 /* padding */] = { - 0x0A, - 0x41, - 0x64, - 0x64, - 0x72, - 0x65, - 0x73, - 0x73, - 0x3A, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x42, - 0x61, - 0x63, - 0x6B, - 0x20, - 0x43, - 0x68, - 0x61, - 0x69, - 0x6E, - 0x20, - 0x20, - 0x20, - 0x20, - 0x4C, - 0x52, - 0x20, - 0x53, - 0x61, - 0x76, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF8D8-803CF8F4 02C9F8 001C+00 0/1 0/0 0/0 .data @72 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_72[28] = { - 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x3A, 0x20, 0x20, 0x20, 0x30, 0x78, 0x25, 0x30, - 0x38, 0x78, 0x20, 0x20, 0x20, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0A, 0x00, -}; -#pragma pop - -/* 8033C0E0-8033C388 336A20 02A8+00 0/0 3/3 0/0 .text OSDumpContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSDumpContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSDumpContext.s" -} -#pragma pop - -/* 8033C388-8033C40C 336CC8 0084+00 1/1 0/0 0/0 .text OSSwitchFPUContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void OSSwitchFPUContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSSwitchFPUContext.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CF8F4-803CF918 02CA14 0023+01 1/1 0/0 0/0 .data @76 */ -SECTION_DATA static u8 lit_76[35 + 1 /* padding */] = { - 0x46, - 0x50, - 0x55, - 0x2D, - 0x75, - 0x6E, - 0x61, - 0x76, - 0x61, - 0x69, - 0x6C, - 0x61, - 0x62, - 0x6C, - 0x65, - 0x20, - 0x68, - 0x61, - 0x6E, - 0x64, - 0x6C, - 0x65, - 0x72, - 0x20, - 0x69, - 0x6E, - 0x73, - 0x74, - 0x61, - 0x6C, - 0x6C, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; - -/* 8033C40C-8033C454 336D4C 0048+00 0/0 1/1 0/0 .text __OSContextInit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSContextInit(void) { - nofralloc -#include "asm/dolphin/os/OSContext/__OSContextInit.s" -} -#pragma pop - -/* 8033C454-8033C580 336D94 012C+00 0/0 1/1 0/0 .text OSFillFPUContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSFillFPUContext(OSContext* context) { - nofralloc -#include "asm/dolphin/os/OSContext/OSFillFPUContext.s" -} -#pragma pop diff --git a/libs/dolphin/os/OSError.c b/libs/dolphin/os/OSError.c new file mode 100644 index 0000000000..e3c503ffba --- /dev/null +++ b/libs/dolphin/os/OSError.c @@ -0,0 +1,177 @@ +// +// Generated By: dol2asm +// Translation Unit: OSError +// + +#include "dolphin/os/OSError.h" +#include "dol2asm.h" +#include "dolphin/types.h" + +// +// External References: +// + +void OSReport(); +void PPCMfmsr(); +void PPCMtmsr(); +void PPCHalt(); +void PPCMffpscr(); +void PPCMtfpscr(); +void OSSaveFPUContext(); +void OSLoadContext(); +void OSDumpContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void OSDisableScheduler(); +void OSEnableScheduler(); +void __OSReschedule(); +void OSGetTime(); +extern u8 __OSLastInterruptSrr0[4]; +extern u8 __OSLastInterrupt[2 + 6 /* padding */]; +extern u8 __OSLastInterruptTime[4]; +extern u8 data_80451684[4]; + +// +// Declarations: +// + +/* ############################################################################################## */ +/* 8044BAD0-8044BB20 0787F0 0044+0C 2/2 2/2 0/0 .bss __OSErrorTable */ +extern OSErrorHandler __OSErrorTable[17 + 3 /* padding */]; +OSErrorHandler __OSErrorTable[17 + 3 /* padding */]; + +/* 804509A0-804509A4 000420 0004+00 1/1 2/2 0/0 .sdata __OSFpscrEnableBits */ +SECTION_SDATA extern u32 __OSFpscrEnableBits = 0xF8; + +/* 8033C580-8033C798 336EC0 0218+00 0/0 4/4 0/0 .text OSSetErrorHandler */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) { + nofralloc +#include "asm/dolphin/os/OSError/OSSetErrorHandler.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803CF918-803CF930 02CA38 0016+02 1/1 0/0 0/0 .data @13 */ +SECTION_DATA static char lit_13[] = " in \"%s\" on line %d.\n"; + +/* 803CF930-803CF958 02CA50 0026+02 0/0 0/0 0/0 .data @14 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_14[] = "\nAddress: Back Chain LR Save\n"; +#pragma pop + +/* 803CF958-803CF974 02CA78 001C+00 0/0 0/0 0/0 .data @15 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_15[] = "0x%08x: 0x%08x 0x%08x\n"; +#pragma pop + +/* 803CF974-803CF994 02CA94 001D+03 0/1 0/0 0/0 .data @74 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_74[] = "Non-recoverable Exception %d"; +#pragma pop + +/* 803CF994-803CF9AC 02CAB4 0017+01 0/1 0/0 0/0 .data @75 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_75[] = "Unhandled Exception %d"; +#pragma pop + +/* 803CF9AC-803CF9E0 02CACC 0031+03 0/1 0/0 0/0 .data @77 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_77[] = "\nDSISR = 0x%08x DAR = 0x%08x\n"; +#pragma pop + +/* 803CF9E0-803CF9F0 02CB00 0010+00 0/1 0/0 0/0 .data @78 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_78[] = "TB = 0x%016llx\n"; +#pragma pop + +/* 803CF9F0-803CFA50 02CB10 0060+00 0/1 0/0 0/0 .data @79 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_79[] = "\nInstruction at 0x%x (read from SRR0) attempted to access invalid address 0x%x (read from DAR)\n"; +#pragma pop + +/* 803CFA50-803CFA9C 02CB70 004C+00 0/0 0/0 0/0 .data @80 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_80[] = "\nAttempted to fetch instruction from invalid address 0x%x (read from SRR0)\n"; +#pragma pop + +/* 803CFA9C-803CFB00 02CBBC 0062+02 0/0 0/0 0/0 .data @81 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_81[] = "\nInstruction at 0x%x (read from SRR0) attempted to access unaligned address 0x%x (read from DAR)\n"; +#pragma pop + +/* 803CFB00-803CFB60 02CC20 0060+00 0/0 0/0 0/0 .data @82 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_82[] = "\nProgram exception : Possible illegal instruction/operation at or around 0x%x (read from SRR0)\n"; +#pragma pop + +/* 803CFB60-803CFB80 02CC80 001F+01 0/0 0/0 0/0 .data @83 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_83[] = "AI DMA Address = 0x%04x%04x\n"; +#pragma pop + +/* 803CFB80-803CFBA0 02CCA0 001F+01 0/0 0/0 0/0 .data @84 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_84[] = "ARAM DMA Address = 0x%04x%04x\n"; +#pragma pop + +/* 803CFBA0-803CFBBC 02CCC0 001B+01 0/0 0/0 0/0 .data @85 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_85[] = "DI DMA Address = 0x%08x\n"; +#pragma pop + +/* 803CFBBC-803CFBF4 02CCDC 0035+03 0/1 0/0 0/0 .data @86 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_86[] = "\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n"; +#pragma pop + +/* 803CFBF4-803CFC38 -00001 0040+04 1/1 0/0 0/0 .data @87 */ +SECTION_DATA static void* lit_87[16 + 1 /* padding */] = { + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x20C), + (void*)(((char*)__OSUnhandledException) + 0x224), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x238), + (void*)(((char*)__OSUnhandledException) + 0x250), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x2B4), + (void*)(((char*)__OSUnhandledException) + 0x268), + /* padding */ + NULL, +}; + +/* 804509A4-804509A8 000424 0002+02 1/1 0/0 0/0 .sdata @76 */ +SECTION_SDATA static char lit_76[] = "\n"; + +/* 8033C798-8033CA80 3370D8 02E8+00 1/0 2/2 0/0 .text __OSUnhandledException */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __OSUnhandledException(OSException exception, OSContext* context, u32 dsisr, u32 dar) { + nofralloc +#include "asm/dolphin/os/OSError/__OSUnhandledException.s" +} +#pragma pop diff --git a/libs/dolphin/os/OSError.cpp b/libs/dolphin/os/OSError.cpp deleted file mode 100644 index 950c2c5160..0000000000 --- a/libs/dolphin/os/OSError.cpp +++ /dev/null @@ -1,646 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: OSError -// - -#include "dolphin/os/OSError.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" void OSReport(); -extern "C" void PPCMfmsr(); -extern "C" void PPCMtmsr(); -extern "C" void PPCHalt(); -extern "C" void PPCMffpscr(); -extern "C" void PPCMtfpscr(); -extern "C" void OSSaveFPUContext(); -extern "C" void OSLoadContext(); -extern "C" void OSDumpContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSDisableScheduler(); -extern "C" void OSEnableScheduler(); -extern "C" void __OSReschedule(); -extern "C" void OSGetTime(); -extern "C" extern u8 __OSLastInterruptSrr0[4]; -extern "C" extern u8 __OSLastInterrupt[2 + 6 /* padding */]; -extern "C" extern u8 __OSLastInterruptTime[4]; -extern "C" extern u8 data_80451684[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 8044BAD0-8044BB20 0787F0 0044+0C 2/2 2/2 0/0 .bss __OSErrorTable */ -extern u8 __OSErrorTable[68 + 12 /* padding */]; -u8 __OSErrorTable[68 + 12 /* padding */]; - -/* 804509A0-804509A4 000420 0004+00 1/1 2/2 0/0 .sdata __OSFpscrEnableBits */ -SECTION_SDATA extern u32 __OSFpscrEnableBits = 0x000000F8; - -/* 8033C580-8033C798 336EC0 0218+00 0/0 4/4 0/0 .text OSSetErrorHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) { - nofralloc -#include "asm/dolphin/os/OSError/OSSetErrorHandler.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803CF918-803CF930 02CA38 0016+02 1/1 0/0 0/0 .data @13 */ -SECTION_DATA static u8 lit_13[22 + 2 /* padding */] = { - 0x20, - 0x69, - 0x6E, - 0x20, - 0x22, - 0x25, - 0x73, - 0x22, - 0x20, - 0x6F, - 0x6E, - 0x20, - 0x6C, - 0x69, - 0x6E, - 0x65, - 0x20, - 0x25, - 0x64, - 0x2E, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; - -/* 803CF930-803CF958 02CA50 0026+02 0/0 0/0 0/0 .data @14 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_14[38 + 2 /* padding */] = { - 0x0A, - 0x41, - 0x64, - 0x64, - 0x72, - 0x65, - 0x73, - 0x73, - 0x3A, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x42, - 0x61, - 0x63, - 0x6B, - 0x20, - 0x43, - 0x68, - 0x61, - 0x69, - 0x6E, - 0x20, - 0x20, - 0x20, - 0x20, - 0x4C, - 0x52, - 0x20, - 0x53, - 0x61, - 0x76, - 0x65, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF958-803CF974 02CA78 001C+00 0/0 0/0 0/0 .data @15 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_15[28] = { - 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x3A, 0x20, 0x20, 0x20, 0x30, 0x78, 0x25, 0x30, - 0x38, 0x78, 0x20, 0x20, 0x20, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0A, 0x00, -}; -#pragma pop - -/* 803CF974-803CF994 02CA94 001D+03 0/1 0/0 0/0 .data @74 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_74[29 + 3 /* padding */] = { - 0x4E, - 0x6F, - 0x6E, - 0x2D, - 0x72, - 0x65, - 0x63, - 0x6F, - 0x76, - 0x65, - 0x72, - 0x61, - 0x62, - 0x6C, - 0x65, - 0x20, - 0x45, - 0x78, - 0x63, - 0x65, - 0x70, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF994-803CF9AC 02CAB4 0017+01 0/1 0/0 0/0 .data @75 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_75[23 + 1 /* padding */] = { - 0x55, - 0x6E, - 0x68, - 0x61, - 0x6E, - 0x64, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x45, - 0x78, - 0x63, - 0x65, - 0x70, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CF9AC-803CF9E0 02CACC 0031+03 0/1 0/0 0/0 .data @77 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_77[49 + 3 /* padding */] = { - 0x0A, - 0x44, - 0x53, - 0x49, - 0x53, - 0x52, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x44, - 0x41, - 0x52, - 0x20, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CF9E0-803CF9F0 02CB00 0010+00 0/1 0/0 0/0 .data @78 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_78[16] = { - 0x54, 0x42, 0x20, 0x3D, 0x20, 0x30, 0x78, 0x25, 0x30, 0x31, 0x36, 0x6C, 0x6C, 0x78, 0x0A, 0x00, -}; -#pragma pop - -/* 803CF9F0-803CFA50 02CB10 0060+00 0/1 0/0 0/0 .data @79 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_79[96] = { - 0x0A, 0x49, 0x6E, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x61, 0x74, 0x20, - 0x30, 0x78, 0x25, 0x78, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, - 0x53, 0x52, 0x52, 0x30, 0x29, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6D, 0x70, 0x74, 0x65, 0x64, 0x20, - 0x74, 0x6F, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x69, 0x6E, 0x76, 0x61, 0x6C, 0x69, - 0x64, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x28, - 0x72, 0x65, 0x61, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x44, 0x41, 0x52, 0x29, 0x0A, 0x00, -}; -#pragma pop - -/* 803CFA50-803CFA9C 02CB70 004C+00 0/0 0/0 0/0 .data @80 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_80[76] = { - 0x0A, 0x41, 0x74, 0x74, 0x65, 0x6D, 0x70, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6F, 0x20, 0x66, 0x65, - 0x74, 0x63, 0x68, 0x20, 0x69, 0x6E, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, - 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x69, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x20, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x20, - 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x53, 0x52, 0x52, 0x30, 0x29, 0x0A, 0x00, -}; -#pragma pop - -/* 803CFA9C-803CFB00 02CBBC 0062+02 0/0 0/0 0/0 .data @81 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_81[98 + 2 /* padding */] = { - 0x0A, - 0x49, - 0x6E, - 0x73, - 0x74, - 0x72, - 0x75, - 0x63, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x61, - 0x74, - 0x20, - 0x30, - 0x78, - 0x25, - 0x78, - 0x20, - 0x28, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x66, - 0x72, - 0x6F, - 0x6D, - 0x20, - 0x53, - 0x52, - 0x52, - 0x30, - 0x29, - 0x20, - 0x61, - 0x74, - 0x74, - 0x65, - 0x6D, - 0x70, - 0x74, - 0x65, - 0x64, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x61, - 0x63, - 0x63, - 0x65, - 0x73, - 0x73, - 0x20, - 0x75, - 0x6E, - 0x61, - 0x6C, - 0x69, - 0x67, - 0x6E, - 0x65, - 0x64, - 0x20, - 0x61, - 0x64, - 0x64, - 0x72, - 0x65, - 0x73, - 0x73, - 0x20, - 0x30, - 0x78, - 0x25, - 0x78, - 0x20, - 0x28, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x66, - 0x72, - 0x6F, - 0x6D, - 0x20, - 0x44, - 0x41, - 0x52, - 0x29, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803CFB00-803CFB60 02CC20 0060+00 0/0 0/0 0/0 .data @82 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_82[96] = { - 0x0A, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, - 0x6F, 0x6E, 0x20, 0x3A, 0x20, 0x50, 0x6F, 0x73, 0x73, 0x69, 0x62, 0x6C, 0x65, 0x20, 0x69, 0x6C, - 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x69, 0x6E, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6F, - 0x6E, 0x2F, 0x6F, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x61, 0x74, 0x20, 0x6F, - 0x72, 0x20, 0x61, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x28, 0x72, - 0x65, 0x61, 0x64, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x53, 0x52, 0x52, 0x30, 0x29, 0x0A, 0x00, -}; -#pragma pop - -/* 803CFB60-803CFB80 02CC80 001F+01 0/0 0/0 0/0 .data @83 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_83[31 + 1 /* padding */] = { - 0x41, - 0x49, - 0x20, - 0x44, - 0x4D, - 0x41, - 0x20, - 0x41, - 0x64, - 0x64, - 0x72, - 0x65, - 0x73, - 0x73, - 0x20, - 0x3D, - 0x20, - 0x20, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x34, - 0x78, - 0x25, - 0x30, - 0x34, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CFB80-803CFBA0 02CCA0 001F+01 0/0 0/0 0/0 .data @84 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_84[31 + 1 /* padding */] = { - 0x41, - 0x52, - 0x41, - 0x4D, - 0x20, - 0x44, - 0x4D, - 0x41, - 0x20, - 0x41, - 0x64, - 0x64, - 0x72, - 0x65, - 0x73, - 0x73, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x34, - 0x78, - 0x25, - 0x30, - 0x34, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CFBA0-803CFBBC 02CCC0 001B+01 0/0 0/0 0/0 .data @85 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_85[27 + 1 /* padding */] = { - 0x44, - 0x49, - 0x20, - 0x44, - 0x4D, - 0x41, - 0x20, - 0x41, - 0x64, - 0x64, - 0x72, - 0x65, - 0x73, - 0x73, - 0x20, - 0x3D, - 0x20, - 0x20, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803CFBBC-803CFBF4 02CCDC 0035+03 0/1 0/0 0/0 .data @86 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_86[53 + 3 /* padding */] = { - 0x0A, - 0x4C, - 0x61, - 0x73, - 0x74, - 0x20, - 0x69, - 0x6E, - 0x74, - 0x65, - 0x72, - 0x72, - 0x75, - 0x70, - 0x74, - 0x20, - 0x28, - 0x25, - 0x64, - 0x29, - 0x3A, - 0x20, - 0x53, - 0x52, - 0x52, - 0x30, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x38, - 0x78, - 0x20, - 0x20, - 0x54, - 0x42, - 0x20, - 0x3D, - 0x20, - 0x30, - 0x78, - 0x25, - 0x30, - 0x31, - 0x36, - 0x6C, - 0x6C, - 0x78, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803CFBF4-803CFC38 -00001 0040+04 1/1 0/0 0/0 .data @87 */ -SECTION_DATA static void* lit_87[16 + 1 /* padding */] = { - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x20C), - (void*)(((char*)__OSUnhandledException) + 0x224), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x238), - (void*)(((char*)__OSUnhandledException) + 0x250), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x2B4), - (void*)(((char*)__OSUnhandledException) + 0x268), - /* padding */ - NULL, -}; - -/* 804509A4-804509A8 000424 0002+02 1/1 0/0 0/0 .sdata @76 */ -SECTION_SDATA static u16 lit_76[1 + 1 /* padding */] = { - 0x0A00, - /* padding */ - 0x0000, -}; - -/* 8033C798-8033CA80 3370D8 02E8+00 1/0 2/2 0/0 .text __OSUnhandledException */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSUnhandledException(OSException exception, OSContext* context, u32 dsisr, u32 dar) { - nofralloc -#include "asm/dolphin/os/OSError/__OSUnhandledException.s" -} -#pragma pop diff --git a/libs/dolphin/os/OSExec.cpp b/libs/dolphin/os/OSExec.c similarity index 63% rename from libs/dolphin/os/OSExec.cpp rename to libs/dolphin/os/OSExec.c index 877c7257c5..e014d256dd 100644 --- a/libs/dolphin/os/OSExec.cpp +++ b/libs/dolphin/os/OSExec.c @@ -13,34 +13,34 @@ SECTION_INIT void memset(); SECTION_INIT void memcpy(); -extern "C" void OSReport(); -extern "C" void OSSetArenaLo(); -extern "C" void OSAllocFromArenaLo(); -extern "C" void ICInvalidateRange(); -extern "C" void ICFlashInvalidate(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSEnableInterrupts(); -extern "C" void __OSMaskInterrupts(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void OSGetSaveRegion(); -extern "C" void __OSDoHotReset(); -extern "C" void DVDInit(); -extern "C" void DVDReadAbsAsyncPrio(); -extern "C" void DVDCancelStreamAsync(); -extern "C" void DVDGetCommandBlockStatus(); -extern "C" void DVDSetAutoInvalidation(); -extern "C" void DVDResume(); -extern "C" void DVDGetCurrentDiskID(); -extern "C" void DVDCheckDisk(); -extern "C" void __DVDPrepareResetAsync(); -extern "C" void AISetStreamPlayState(); -extern "C" void AISetStreamVolLeft(); -extern "C" void AISetStreamVolRight(); -extern "C" void sprintf(); -extern "C" void strncmp(); -extern "C" void strcpy(); -extern "C" void strlen(); -extern "C" extern u8 __OSIsGcam[4]; +void OSReport(); +void OSSetArenaLo(); +void OSAllocFromArenaLo(); +void ICInvalidateRange(); +void ICFlashInvalidate(); +void OSDisableInterrupts(); +void OSEnableInterrupts(); +void __OSMaskInterrupts(); +void __OSUnmaskInterrupts(); +void OSGetSaveRegion(); +void __OSDoHotReset(); +void DVDInit(); +void DVDReadAbsAsyncPrio(); +void DVDCancelStreamAsync(); +void DVDGetCommandBlockStatus(); +void DVDSetAutoInvalidation(); +void DVDResume(); +void DVDGetCurrentDiskID(); +void DVDCheckDisk(); +void __DVDPrepareResetAsync(); +void AISetStreamPlayState(); +void AISetStreamVolLeft(); +void AISetStreamVolRight(); +void sprintf(); +void strncmp(); +void strcpy(); +void strlen(); +extern u8 __OSIsGcam[4]; // // Declarations: @@ -57,14 +57,28 @@ static asm s32 PackArgs(void* param_0, u32 param_1, void* param_2) { #pragma pop /* 8033CC08-8033CC44 337548 003C+00 1/1 0/0 0/0 .text Run */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off static asm void Run(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSExec/Run.s" + + mflr r0 + stw r0, 4(r1) + stwu r1, -0x18(r1) + stw r31, 0x14(r1) + mr r31, r3 + bl ICFlashInvalidate + sync + isync + mtlr r31 + blr + + lwz r0, 0x1c(r1) + lwz r31, 0x14(r1) + addi r1, r1, 0x18 + mtlr r0 + blr + // clang-format on } -#pragma pop /* 8033CC44-8033CCB0 337584 006C+00 1/1 0/0 0/0 .text ReadDisc */ #pragma push @@ -78,17 +92,12 @@ static asm void ReadDisc(void* param_0, s32 param_1, s32 param_2) { /* ############################################################################################## */ /* 80451658-8045165C 000B58 0004+00 2/2 0/0 0/0 .sbss Prepared */ -static u8 Prepared[4]; +static BOOL Prepared; /* 8033CCB0-8033CCBC 3375F0 000C+00 1/1 0/0 0/0 .text Callback */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void Callback(void) { - nofralloc -#include "asm/dolphin/os/OSExec/Callback.s" +static void Callback(void) { + Prepared = TRUE; } -#pragma pop /* 8033CCBC-8033CCFC 3375FC 0040+00 0/0 1/1 0/0 .text __OSGetExecParams */ #pragma push @@ -102,7 +111,7 @@ asm void __OSGetExecParams(void* param_0) { /* ############################################################################################## */ /* 8045165C-80451660 000B5C 0004+00 2/2 0/0 0/0 .sbss apploaderPosition$69 */ -static u8 apploaderPosition[4]; +static s32 apploaderPosition; /* 8033CCFC-8033CDC0 33763C 00C4+00 1/1 0/0 0/0 .text GetApploaderPosition */ #pragma push @@ -116,25 +125,7 @@ static asm void GetApploaderPosition(void) { /* ############################################################################################## */ /* 803CFC38-803CFC48 02CD58 000B+05 1/1 0/0 0/0 .data @115 */ -SECTION_DATA static u8 lit_115[11 + 5 /* padding */] = { - 0x32, - 0x30, - 0x30, - 0x34, - 0x2F, - 0x30, - 0x32, - 0x2F, - 0x30, - 0x31, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_115[] = "2004/02/01"; /* 8033CDC0-8033D244 337700 0484+00 1/1 0/0 0/0 .text __OSBootDolSimple */ #pragma push @@ -148,17 +139,7 @@ asm void __OSBootDolSimple(u32 param_0, u32 param_1, void* param_2, void* param_ /* ############################################################################################## */ /* 804509A8-804509B0 000428 0003+05 1/1 0/0 0/0 .sdata @213 */ -SECTION_SDATA static u8 lit_213[3 + 5 /* padding */] = { - 0x25, - 0x64, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA static char lit_213[] = "%d"; /* 8033D244-8033D3E0 337B84 019C+00 0/0 1/1 0/0 .text __OSBootDol */ #pragma push diff --git a/libs/dolphin/os/OSFont.c b/libs/dolphin/os/OSFont.c new file mode 100644 index 0000000000..21df6608e0 --- /dev/null +++ b/libs/dolphin/os/OSFont.c @@ -0,0 +1,242 @@ +// +// Generated By: dol2asm +// Translation Unit: OSFont +// + +#include "dolphin/os/OSFont.h" +#include "dol2asm.h" +#include "dolphin/types.h" + +// +// Declarations: +// + +/* ############################################################################################## */ +/* 803CFC48-803CFDC8 02CD68 0180+00 1/1 0/0 0/0 .data HankakuToCode */ +SECTION_DATA static u8 HankakuToCode[384] = { + 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, + 0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x1A, 0x02, 0x1B, + 0x02, 0x1C, 0x02, 0x1D, 0x02, 0x1E, 0x02, 0x1F, 0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, + 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, + 0x02, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x33, + 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, 0x3B, + 0x02, 0x3C, 0x02, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, + 0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 0x02, 0x4A, 0x02, 0x4B, + 0x02, 0x4C, 0x02, 0x4D, 0x02, 0x4E, 0x02, 0x4F, 0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, + 0x02, 0x54, 0x02, 0x55, 0x02, 0x56, 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5A, 0x02, 0x5B, + 0x02, 0x5C, 0x02, 0x5D, 0x02, 0x5E, 0x02, 0x5F, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x63, + 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, 0x68, 0x02, 0x69, 0x02, 0x6A, 0x02, 0x0C, + 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, + 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, + 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, + 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, + 0x02, 0x0C, 0x02, 0x6B, 0x02, 0x6C, 0x02, 0x6D, 0x02, 0x6E, 0x02, 0x6F, 0x02, 0x70, 0x02, 0x71, + 0x02, 0x72, 0x02, 0x73, 0x02, 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, + 0x02, 0x7A, 0x02, 0x7B, 0x02, 0x7C, 0x02, 0x7D, 0x02, 0x7E, 0x02, 0x7F, 0x02, 0x80, 0x02, 0x81, + 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, + 0x02, 0x8A, 0x02, 0x8B, 0x02, 0x8C, 0x02, 0x8D, 0x02, 0x8E, 0x02, 0x8F, 0x02, 0x90, 0x02, 0x91, + 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, 0x95, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, + 0x02, 0x9A, 0x02, 0x9B, 0x02, 0x9C, 0x02, 0x9D, 0x02, 0x9E, 0x02, 0x9F, 0x02, 0xA0, 0x02, 0xA1, + 0x02, 0xA2, 0x02, 0xA3, 0x02, 0xA4, 0x02, 0xA5, 0x02, 0xA6, 0x02, 0xA7, 0x02, 0xA8, 0x02, 0xA9, +}; + +/* 803CFDC8-803D0758 02CEE8 098A+06 1/1 0/0 0/0 .data Zenkaku2Code */ +SECTION_DATA static u8 Zenkaku2Code[2442] = { + 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, + 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, + 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, + 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, + 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, + 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, + 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, + 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, + 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, + 0x00, 0x48, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4F, + 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, + 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5F, + 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, + 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x81, + 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, + 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8D, 0x00, 0x8E, 0x00, 0x8F, 0x00, 0x90, 0x00, 0x91, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, + 0x00, 0x98, 0x00, 0x99, 0x00, 0x9A, 0x00, 0x9B, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0x9F, 0x00, 0xA0, + 0x00, 0xA1, 0x00, 0xA2, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA7, 0x00, 0xA8, + 0x00, 0xA9, 0x00, 0xAA, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xAD, 0x00, 0xAE, 0x00, 0xAF, 0x00, 0xB0, + 0x00, 0xB1, 0x00, 0xB2, 0x00, 0xB3, 0x00, 0xB4, 0x00, 0xB5, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x00, 0xB8, 0x00, 0xB9, 0x00, 0xBA, + 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xC2, + 0x00, 0xC3, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xC7, 0x00, 0xC8, 0x00, 0xC9, 0x00, 0xCA, + 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xCD, 0x00, 0xCE, 0x00, 0xCF, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x00, 0xD2, 0x00, 0xD3, 0x00, 0xD4, 0x00, 0xD5, 0x00, 0xD6, + 0x00, 0xD7, 0x00, 0xD8, 0x00, 0xD9, 0x00, 0xDA, 0x00, 0xDB, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDE, + 0x00, 0xDF, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE6, + 0x00, 0xE7, 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, + 0x00, 0xEF, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0xF6, + 0x00, 0xF7, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFC, 0x00, 0xFD, 0x00, 0xFE, + 0x00, 0xFF, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, + 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01, 0x0E, + 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, + 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1A, 0x01, 0x1B, 0x01, 0x1C, 0x01, 0x1D, 0x01, 0x1E, + 0x01, 0x1F, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2A, 0x01, 0x2B, + 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x2F, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, + 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3A, 0x01, 0x3B, + 0x01, 0x3C, 0x01, 0x3D, 0x01, 0x3E, 0x01, 0x3F, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, + 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4A, 0x01, 0x4B, + 0x01, 0x4C, 0x01, 0x4D, 0x01, 0x4E, 0x01, 0x4F, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, + 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5A, 0x01, 0x5B, + 0x01, 0x5C, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0x5F, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, + 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, + 0x01, 0x6C, 0x01, 0x6D, 0x01, 0x6E, 0x01, 0x6F, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, + 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7A, 0x01, 0x7B, + 0x01, 0x7C, 0x01, 0x7D, 0x01, 0x7E, 0x01, 0x7F, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, + 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8A, 0x01, 0x8B, + 0x01, 0x8C, 0x01, 0x8D, 0x01, 0x8E, 0x01, 0x8F, 0x01, 0x90, 0x01, 0x91, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x92, 0x01, 0x93, + 0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9A, 0x01, 0x9B, + 0x01, 0x9C, 0x01, 0x9D, 0x01, 0x9E, 0x01, 0x9F, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA2, 0x01, 0xA3, + 0x01, 0xA4, 0x01, 0xA5, 0x01, 0xA6, 0x01, 0xA7, 0x01, 0xA8, 0x01, 0xA9, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAA, 0x01, 0xAB, 0x01, 0xAC, 0x01, 0xAD, + 0x01, 0xAE, 0x01, 0xAF, 0x01, 0xB0, 0x01, 0xB1, 0x01, 0xB2, 0x01, 0xB3, 0x01, 0xB4, 0x01, 0xB5, + 0x01, 0xB6, 0x01, 0xB7, 0x01, 0xB8, 0x01, 0xB9, 0x01, 0xBA, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xBD, + 0x01, 0xBE, 0x01, 0xBF, 0x01, 0xC0, 0x01, 0xC1, 0x01, 0xC2, 0x01, 0xC3, 0x01, 0xC4, 0x01, 0xC5, + 0x01, 0xC6, 0x01, 0xC7, 0x01, 0xC8, 0x01, 0xC9, 0x01, 0xCA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCB, 0x01, 0xCC, 0x01, 0xCD, 0x01, 0xCE, + 0x01, 0xCF, 0x01, 0xD0, 0x01, 0xD1, 0x01, 0xD2, 0x01, 0xD3, 0x01, 0xD4, 0x01, 0xD5, 0x01, 0xD6, + 0x01, 0xD7, 0x01, 0xD8, 0x01, 0xD9, 0x01, 0xDA, 0x01, 0xDB, 0x01, 0xDC, 0x01, 0xDD, 0x01, 0xDE, + 0x01, 0xDF, 0x01, 0xE0, 0x01, 0xE1, 0x01, 0xE2, 0x01, 0xE3, 0x01, 0xE4, 0x01, 0xE5, 0x01, 0xE6, + 0x01, 0xE7, 0x01, 0xE8, 0x01, 0xE9, 0x01, 0xEA, 0x01, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xEC, 0x01, 0xED, 0x01, 0xEE, 0x01, 0xEF, 0x01, 0xF0, 0x01, 0xF1, + 0x01, 0xF2, 0x01, 0xF3, 0x01, 0xF4, 0x01, 0xF5, 0x01, 0xF6, 0x01, 0xF7, 0x01, 0xF8, 0x01, 0xF9, + 0x01, 0xFA, 0x01, 0xFB, 0x01, 0xFC, 0x01, 0xFD, 0x01, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x02, 0x01, + 0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, + 0x02, 0x0A, 0x02, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0C, + 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x14, + 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x1A, 0x02, 0x1B, 0x02, 0x1C, + 0x02, 0x1D, 0x02, 0x1E, 0x02, 0x1F, 0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, 0x02, 0x24, + 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, 0x02, 0x2C, + 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x33, 0x02, 0x34, + 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, 0x3B, 0x02, 0x3C, + 0x02, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, 0x02, 0x44, + 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 0x02, 0x4A, 0x02, 0x4B, 0x02, 0x4C, + 0x02, 0x4D, 0x02, 0x4E, 0x02, 0x4F, 0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x54, + 0x02, 0x55, 0x02, 0x56, 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5A, 0x02, 0x5B, 0x02, 0x5C, + 0x02, 0x5D, 0x02, 0x5E, 0x02, 0x5F, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x63, 0x02, 0x64, + 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, 0x68, 0x02, 0x69, 0x02, 0x6A, 0x02, 0x6B, 0x02, 0x6C, + 0x02, 0x6D, 0x02, 0x6E, 0x02, 0x6F, 0x02, 0x70, 0x02, 0x71, 0x02, 0x72, 0x02, 0x73, 0x02, 0x74, + 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, 0x02, 0x7A, 0x02, 0x7B, 0x02, 0x7C, + 0x02, 0x7D, 0x02, 0x7E, 0x02, 0x7F, 0x02, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, + 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, 0x02, 0x8A, 0x02, 0x8B, 0x02, 0x8C, + 0x02, 0x8D, 0x02, 0x8E, 0x02, 0x8F, 0x02, 0x90, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, + 0x02, 0x95, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x9A, 0x02, 0x9B, 0x02, 0x9C, + 0x02, 0x9D, 0x02, 0x9E, 0x02, 0x9F, 0x02, 0xA0, 0x02, 0xA1, 0x02, 0xA2, 0x02, 0xA3, 0x02, 0xA4, + 0x02, 0xA5, 0x02, 0xA6, 0x02, 0xA7, 0x02, 0xA8, 0x02, 0xA9, 0x02, 0xAA, 0x02, 0xAB, 0x02, 0xAC, + 0x02, 0xAD, 0x02, 0xAE, 0x02, 0xAF, 0x02, 0xB0, 0x02, 0xB1, 0x02, 0xB2, 0x02, 0xB3, 0x02, 0xB4, + 0x02, 0xB5, 0x02, 0xB6, 0x02, 0xB7, 0x02, 0xB8, 0x02, 0xB9, 0x02, 0xBA, 0x02, 0xBB, 0x02, 0xBC, + 0x02, 0xBD, 0x02, 0xBE, 0x02, 0xBF, 0x02, 0xC0, 0x02, 0xC1, 0x02, 0xC2, 0x02, 0xC3, 0x02, 0xC4, + 0x02, 0xC5, 0x02, 0xC6, 0x02, 0xC7, 0x02, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0xC9, 0x02, 0xCA, 0x02, 0xCB, 0x02, 0xCC, 0x02, 0xCD, 0x02, 0xCE, 0x02, 0xCF, 0x02, 0xD0, + 0x02, 0xD1, 0x02, 0xD2, 0x02, 0xD3, 0x02, 0xD4, 0x02, 0xD5, 0x02, 0xD6, 0x02, 0xD7, 0x02, 0xD8, + 0x02, 0xD9, 0x02, 0xDA, 0x02, 0xDB, 0x02, 0xDC, 0x02, 0xDD, 0x02, 0xDE, 0x02, 0xDF, 0x02, 0xE0, + 0x02, 0xE1, 0x02, 0xE2, 0x02, 0xE3, 0x02, 0xE4, 0x02, 0xE5, 0x02, 0xE6, 0x00, 0x00, 0x02, 0xE7, + 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02, 0xEE, 0x02, 0xEF, + 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02, 0xF4, 0x02, 0xF5, 0x02, 0xF6, 0x02, 0xF7, + 0x02, 0xF8, 0x02, 0xF9, 0x02, 0xFA, 0x02, 0xFB, 0x02, 0xFC, 0x02, 0xFD, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x02, 0xFF, + 0x03, 0x00, 0x03, 0x01, 0x03, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x05, 0x03, 0x06, 0x03, 0x07, + 0x03, 0x08, 0x03, 0x09, 0x03, 0x0A, 0x03, 0x0B, 0x03, 0x0C, 0x03, 0x0D, 0x03, 0x0E, 0x03, 0x0F, + 0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x03, 0x16, 0x03, 0x17, + 0x03, 0x18, 0x03, 0x19, 0x03, 0x1A, 0x03, 0x1B, 0x00, 0x00, +}; + +/* 8033D3E0-8033D554 337D20 0174+00 1/1 0/0 0/0 .text GetFontCode */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm u32 GetFontCode(s16 param_0, u32 param_1) { + nofralloc +#include "asm/dolphin/os/OSFont/GetFontCode.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 804509B0-804509B8 000430 0002+06 1/1 0/0 0/0 .sdata FontEncode */ +SECTION_SDATA static u16 FontEncode = 0xFFFF; + +/* 80451660-80451664 000B60 0004+00 1/1 0/0 0/0 .sbss FontDataAnsi */ +static u8 FontDataAnsi[4]; + +/* 80451664-80451668 000B64 0004+00 1/1 0/0 0/0 .sbss FontDataSjis */ +static u8 FontDataSjis[4]; + +/* 80451668-80451670 000B68 0004+04 1/1 0/0 0/0 .sbss ParseString */ +static void* ParseString; + +/* 8033D554-8033D5B8 337E94 0064+00 0/0 1/1 0/0 .text OSGetFontEncode */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm u16 OSGetFontEncode(void) { + nofralloc +#include "asm/dolphin/os/OSFont/OSGetFontEncode.s" +} +#pragma pop + +/* 8033D5B8-8033D6F4 337EF8 013C+00 1/1 0/0 0/0 .text ParseStringS */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm char* ParseStringS(s16 param_0, char* param_1, void* param_2, u32* param_3, u32 param_4, + void* param_5) { + nofralloc +#include "asm/dolphin/os/OSFont/ParseStringS.s" +} +#pragma pop diff --git a/libs/dolphin/os/OSFont.cpp b/libs/dolphin/os/OSFont.cpp deleted file mode 100644 index 830e3fca6a..0000000000 --- a/libs/dolphin/os/OSFont.cpp +++ /dev/null @@ -1,2543 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: OSFont -// - -#include "dolphin/os/OSFont.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803CFC48-803CFDC8 02CD68 0180+00 1/1 0/0 0/0 .data HankakuToCode */ -SECTION_DATA static u8 HankakuToCode[384] = { - 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, - 0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x18, 0x02, 0x19, 0x02, 0x1A, 0x02, 0x1B, - 0x02, 0x1C, 0x02, 0x1D, 0x02, 0x1E, 0x02, 0x1F, 0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, - 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2A, 0x02, 0x2B, - 0x02, 0x2C, 0x02, 0x2D, 0x02, 0x2E, 0x02, 0x2F, 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x33, - 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x3A, 0x02, 0x3B, - 0x02, 0x3C, 0x02, 0x3D, 0x02, 0x3E, 0x02, 0x3F, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, - 0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 0x02, 0x4A, 0x02, 0x4B, - 0x02, 0x4C, 0x02, 0x4D, 0x02, 0x4E, 0x02, 0x4F, 0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, - 0x02, 0x54, 0x02, 0x55, 0x02, 0x56, 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5A, 0x02, 0x5B, - 0x02, 0x5C, 0x02, 0x5D, 0x02, 0x5E, 0x02, 0x5F, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x63, - 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, 0x68, 0x02, 0x69, 0x02, 0x6A, 0x02, 0x0C, - 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, - 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, - 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, - 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, 0x02, 0x0C, - 0x02, 0x0C, 0x02, 0x6B, 0x02, 0x6C, 0x02, 0x6D, 0x02, 0x6E, 0x02, 0x6F, 0x02, 0x70, 0x02, 0x71, - 0x02, 0x72, 0x02, 0x73, 0x02, 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, - 0x02, 0x7A, 0x02, 0x7B, 0x02, 0x7C, 0x02, 0x7D, 0x02, 0x7E, 0x02, 0x7F, 0x02, 0x80, 0x02, 0x81, - 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, 0x02, 0x85, 0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, - 0x02, 0x8A, 0x02, 0x8B, 0x02, 0x8C, 0x02, 0x8D, 0x02, 0x8E, 0x02, 0x8F, 0x02, 0x90, 0x02, 0x91, - 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, 0x95, 0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, - 0x02, 0x9A, 0x02, 0x9B, 0x02, 0x9C, 0x02, 0x9D, 0x02, 0x9E, 0x02, 0x9F, 0x02, 0xA0, 0x02, 0xA1, - 0x02, 0xA2, 0x02, 0xA3, 0x02, 0xA4, 0x02, 0xA5, 0x02, 0xA6, 0x02, 0xA7, 0x02, 0xA8, 0x02, 0xA9, -}; - -/* 803CFDC8-803D0758 02CEE8 098A+06 1/1 0/0 0/0 .data Zenkaku2Code */ -SECTION_DATA static u8 Zenkaku2Code[2442 + 6 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x02, - 0x00, - 0x03, - 0x00, - 0x04, - 0x00, - 0x05, - 0x00, - 0x06, - 0x00, - 0x07, - 0x00, - 0x08, - 0x00, - 0x09, - 0x00, - 0x0A, - 0x00, - 0x0B, - 0x00, - 0x0C, - 0x00, - 0x0D, - 0x00, - 0x0E, - 0x00, - 0x0F, - 0x00, - 0x10, - 0x00, - 0x11, - 0x00, - 0x12, - 0x00, - 0x13, - 0x00, - 0x14, - 0x00, - 0x15, - 0x00, - 0x16, - 0x00, - 0x17, - 0x00, - 0x18, - 0x00, - 0x19, - 0x00, - 0x1A, - 0x00, - 0x1B, - 0x00, - 0x1C, - 0x00, - 0x1D, - 0x00, - 0x1E, - 0x00, - 0x1F, - 0x00, - 0x20, - 0x00, - 0x21, - 0x00, - 0x22, - 0x00, - 0x23, - 0x00, - 0x24, - 0x00, - 0x25, - 0x00, - 0x26, - 0x00, - 0x27, - 0x00, - 0x28, - 0x00, - 0x29, - 0x00, - 0x2A, - 0x00, - 0x2B, - 0x00, - 0x2C, - 0x00, - 0x2D, - 0x00, - 0x2E, - 0x00, - 0x2F, - 0x00, - 0x30, - 0x00, - 0x31, - 0x00, - 0x32, - 0x00, - 0x33, - 0x00, - 0x34, - 0x00, - 0x35, - 0x00, - 0x36, - 0x00, - 0x37, - 0x00, - 0x38, - 0x00, - 0x39, - 0x00, - 0x3A, - 0x00, - 0x3B, - 0x00, - 0x3C, - 0x00, - 0x3D, - 0x00, - 0x3E, - 0x00, - 0x3F, - 0x00, - 0x40, - 0x00, - 0x41, - 0x00, - 0x42, - 0x00, - 0x43, - 0x00, - 0x44, - 0x00, - 0x45, - 0x00, - 0x46, - 0x00, - 0x47, - 0x00, - 0x48, - 0x00, - 0x49, - 0x00, - 0x4A, - 0x00, - 0x4B, - 0x00, - 0x4C, - 0x00, - 0x4D, - 0x00, - 0x4E, - 0x00, - 0x4F, - 0x00, - 0x50, - 0x00, - 0x51, - 0x00, - 0x52, - 0x00, - 0x53, - 0x00, - 0x54, - 0x00, - 0x55, - 0x00, - 0x56, - 0x00, - 0x57, - 0x00, - 0x58, - 0x00, - 0x59, - 0x00, - 0x5A, - 0x00, - 0x5B, - 0x00, - 0x5C, - 0x00, - 0x5D, - 0x00, - 0x5E, - 0x00, - 0x5F, - 0x00, - 0x60, - 0x00, - 0x61, - 0x00, - 0x62, - 0x00, - 0x63, - 0x00, - 0x64, - 0x00, - 0x65, - 0x00, - 0x66, - 0x00, - 0x67, - 0x00, - 0x68, - 0x00, - 0x69, - 0x00, - 0x6A, - 0x00, - 0x6B, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x6C, - 0x00, - 0x6D, - 0x00, - 0x6E, - 0x00, - 0x6F, - 0x00, - 0x70, - 0x00, - 0x71, - 0x00, - 0x72, - 0x00, - 0x73, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x74, - 0x00, - 0x75, - 0x00, - 0x76, - 0x00, - 0x77, - 0x00, - 0x78, - 0x00, - 0x79, - 0x00, - 0x7A, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x7B, - 0x00, - 0x7C, - 0x00, - 0x7D, - 0x00, - 0x7E, - 0x00, - 0x7F, - 0x00, - 0x80, - 0x00, - 0x81, - 0x00, - 0x82, - 0x00, - 0x83, - 0x00, - 0x84, - 0x00, - 0x85, - 0x00, - 0x86, - 0x00, - 0x87, - 0x00, - 0x88, - 0x00, - 0x89, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x8A, - 0x00, - 0x8B, - 0x00, - 0x8C, - 0x00, - 0x8D, - 0x00, - 0x8E, - 0x00, - 0x8F, - 0x00, - 0x90, - 0x00, - 0x91, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x92, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x93, - 0x00, - 0x94, - 0x00, - 0x95, - 0x00, - 0x96, - 0x00, - 0x97, - 0x00, - 0x98, - 0x00, - 0x99, - 0x00, - 0x9A, - 0x00, - 0x9B, - 0x00, - 0x9C, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x9D, - 0x00, - 0x9E, - 0x00, - 0x9F, - 0x00, - 0xA0, - 0x00, - 0xA1, - 0x00, - 0xA2, - 0x00, - 0xA3, - 0x00, - 0xA4, - 0x00, - 0xA5, - 0x00, - 0xA6, - 0x00, - 0xA7, - 0x00, - 0xA8, - 0x00, - 0xA9, - 0x00, - 0xAA, - 0x00, - 0xAB, - 0x00, - 0xAC, - 0x00, - 0xAD, - 0x00, - 0xAE, - 0x00, - 0xAF, - 0x00, - 0xB0, - 0x00, - 0xB1, - 0x00, - 0xB2, - 0x00, - 0xB3, - 0x00, - 0xB4, - 0x00, - 0xB5, - 0x00, - 0xB6, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xB7, - 0x00, - 0xB8, - 0x00, - 0xB9, - 0x00, - 0xBA, - 0x00, - 0xBB, - 0x00, - 0xBC, - 0x00, - 0xBD, - 0x00, - 0xBE, - 0x00, - 0xBF, - 0x00, - 0xC0, - 0x00, - 0xC1, - 0x00, - 0xC2, - 0x00, - 0xC3, - 0x00, - 0xC4, - 0x00, - 0xC5, - 0x00, - 0xC6, - 0x00, - 0xC7, - 0x00, - 0xC8, - 0x00, - 0xC9, - 0x00, - 0xCA, - 0x00, - 0xCB, - 0x00, - 0xCC, - 0x00, - 0xCD, - 0x00, - 0xCE, - 0x00, - 0xCF, - 0x00, - 0xD0, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0xD1, - 0x00, - 0xD2, - 0x00, - 0xD3, - 0x00, - 0xD4, - 0x00, - 0xD5, - 0x00, - 0xD6, - 0x00, - 0xD7, - 0x00, - 0xD8, - 0x00, - 0xD9, - 0x00, - 0xDA, - 0x00, - 0xDB, - 0x00, - 0xDC, - 0x00, - 0xDD, - 0x00, - 0xDE, - 0x00, - 0xDF, - 0x00, - 0xE0, - 0x00, - 0xE1, - 0x00, - 0xE2, - 0x00, - 0xE3, - 0x00, - 0xE4, - 0x00, - 0xE5, - 0x00, - 0xE6, - 0x00, - 0xE7, - 0x00, - 0xE8, - 0x00, - 0xE9, - 0x00, - 0xEA, - 0x00, - 0xEB, - 0x00, - 0xEC, - 0x00, - 0xED, - 0x00, - 0xEE, - 0x00, - 0xEF, - 0x00, - 0xF0, - 0x00, - 0xF1, - 0x00, - 0xF2, - 0x00, - 0xF3, - 0x00, - 0xF4, - 0x00, - 0xF5, - 0x00, - 0xF6, - 0x00, - 0xF7, - 0x00, - 0xF8, - 0x00, - 0xF9, - 0x00, - 0xFA, - 0x00, - 0xFB, - 0x00, - 0xFC, - 0x00, - 0xFD, - 0x00, - 0xFE, - 0x00, - 0xFF, - 0x01, - 0x00, - 0x01, - 0x01, - 0x01, - 0x02, - 0x01, - 0x03, - 0x01, - 0x04, - 0x01, - 0x05, - 0x01, - 0x06, - 0x01, - 0x07, - 0x01, - 0x08, - 0x01, - 0x09, - 0x01, - 0x0A, - 0x01, - 0x0B, - 0x01, - 0x0C, - 0x01, - 0x0D, - 0x01, - 0x0E, - 0x01, - 0x0F, - 0x01, - 0x10, - 0x01, - 0x11, - 0x01, - 0x12, - 0x01, - 0x13, - 0x01, - 0x14, - 0x01, - 0x15, - 0x01, - 0x16, - 0x01, - 0x17, - 0x01, - 0x18, - 0x01, - 0x19, - 0x01, - 0x1A, - 0x01, - 0x1B, - 0x01, - 0x1C, - 0x01, - 0x1D, - 0x01, - 0x1E, - 0x01, - 0x1F, - 0x01, - 0x20, - 0x01, - 0x21, - 0x01, - 0x22, - 0x01, - 0x23, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x24, - 0x01, - 0x25, - 0x01, - 0x26, - 0x01, - 0x27, - 0x01, - 0x28, - 0x01, - 0x29, - 0x01, - 0x2A, - 0x01, - 0x2B, - 0x01, - 0x2C, - 0x01, - 0x2D, - 0x01, - 0x2E, - 0x01, - 0x2F, - 0x01, - 0x30, - 0x01, - 0x31, - 0x01, - 0x32, - 0x01, - 0x33, - 0x01, - 0x34, - 0x01, - 0x35, - 0x01, - 0x36, - 0x01, - 0x37, - 0x01, - 0x38, - 0x01, - 0x39, - 0x01, - 0x3A, - 0x01, - 0x3B, - 0x01, - 0x3C, - 0x01, - 0x3D, - 0x01, - 0x3E, - 0x01, - 0x3F, - 0x01, - 0x40, - 0x01, - 0x41, - 0x01, - 0x42, - 0x01, - 0x43, - 0x01, - 0x44, - 0x01, - 0x45, - 0x01, - 0x46, - 0x01, - 0x47, - 0x01, - 0x48, - 0x01, - 0x49, - 0x01, - 0x4A, - 0x01, - 0x4B, - 0x01, - 0x4C, - 0x01, - 0x4D, - 0x01, - 0x4E, - 0x01, - 0x4F, - 0x01, - 0x50, - 0x01, - 0x51, - 0x01, - 0x52, - 0x01, - 0x53, - 0x01, - 0x54, - 0x01, - 0x55, - 0x01, - 0x56, - 0x01, - 0x57, - 0x01, - 0x58, - 0x01, - 0x59, - 0x01, - 0x5A, - 0x01, - 0x5B, - 0x01, - 0x5C, - 0x01, - 0x5D, - 0x01, - 0x5E, - 0x01, - 0x5F, - 0x01, - 0x60, - 0x01, - 0x61, - 0x01, - 0x62, - 0x01, - 0x63, - 0x01, - 0x64, - 0x01, - 0x65, - 0x01, - 0x66, - 0x01, - 0x67, - 0x01, - 0x68, - 0x01, - 0x69, - 0x01, - 0x6A, - 0x01, - 0x6B, - 0x01, - 0x6C, - 0x01, - 0x6D, - 0x01, - 0x6E, - 0x01, - 0x6F, - 0x01, - 0x70, - 0x01, - 0x71, - 0x01, - 0x72, - 0x01, - 0x73, - 0x01, - 0x74, - 0x01, - 0x75, - 0x01, - 0x76, - 0x01, - 0x77, - 0x01, - 0x78, - 0x01, - 0x79, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x7A, - 0x01, - 0x7B, - 0x01, - 0x7C, - 0x01, - 0x7D, - 0x01, - 0x7E, - 0x01, - 0x7F, - 0x01, - 0x80, - 0x01, - 0x81, - 0x01, - 0x82, - 0x01, - 0x83, - 0x01, - 0x84, - 0x01, - 0x85, - 0x01, - 0x86, - 0x01, - 0x87, - 0x01, - 0x88, - 0x01, - 0x89, - 0x01, - 0x8A, - 0x01, - 0x8B, - 0x01, - 0x8C, - 0x01, - 0x8D, - 0x01, - 0x8E, - 0x01, - 0x8F, - 0x01, - 0x90, - 0x01, - 0x91, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x92, - 0x01, - 0x93, - 0x01, - 0x94, - 0x01, - 0x95, - 0x01, - 0x96, - 0x01, - 0x97, - 0x01, - 0x98, - 0x01, - 0x99, - 0x01, - 0x9A, - 0x01, - 0x9B, - 0x01, - 0x9C, - 0x01, - 0x9D, - 0x01, - 0x9E, - 0x01, - 0x9F, - 0x01, - 0xA0, - 0x01, - 0xA1, - 0x01, - 0xA2, - 0x01, - 0xA3, - 0x01, - 0xA4, - 0x01, - 0xA5, - 0x01, - 0xA6, - 0x01, - 0xA7, - 0x01, - 0xA8, - 0x01, - 0xA9, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0xAA, - 0x01, - 0xAB, - 0x01, - 0xAC, - 0x01, - 0xAD, - 0x01, - 0xAE, - 0x01, - 0xAF, - 0x01, - 0xB0, - 0x01, - 0xB1, - 0x01, - 0xB2, - 0x01, - 0xB3, - 0x01, - 0xB4, - 0x01, - 0xB5, - 0x01, - 0xB6, - 0x01, - 0xB7, - 0x01, - 0xB8, - 0x01, - 0xB9, - 0x01, - 0xBA, - 0x01, - 0xBB, - 0x01, - 0xBC, - 0x01, - 0xBD, - 0x01, - 0xBE, - 0x01, - 0xBF, - 0x01, - 0xC0, - 0x01, - 0xC1, - 0x01, - 0xC2, - 0x01, - 0xC3, - 0x01, - 0xC4, - 0x01, - 0xC5, - 0x01, - 0xC6, - 0x01, - 0xC7, - 0x01, - 0xC8, - 0x01, - 0xC9, - 0x01, - 0xCA, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0xCB, - 0x01, - 0xCC, - 0x01, - 0xCD, - 0x01, - 0xCE, - 0x01, - 0xCF, - 0x01, - 0xD0, - 0x01, - 0xD1, - 0x01, - 0xD2, - 0x01, - 0xD3, - 0x01, - 0xD4, - 0x01, - 0xD5, - 0x01, - 0xD6, - 0x01, - 0xD7, - 0x01, - 0xD8, - 0x01, - 0xD9, - 0x01, - 0xDA, - 0x01, - 0xDB, - 0x01, - 0xDC, - 0x01, - 0xDD, - 0x01, - 0xDE, - 0x01, - 0xDF, - 0x01, - 0xE0, - 0x01, - 0xE1, - 0x01, - 0xE2, - 0x01, - 0xE3, - 0x01, - 0xE4, - 0x01, - 0xE5, - 0x01, - 0xE6, - 0x01, - 0xE7, - 0x01, - 0xE8, - 0x01, - 0xE9, - 0x01, - 0xEA, - 0x01, - 0xEB, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0xEC, - 0x01, - 0xED, - 0x01, - 0xEE, - 0x01, - 0xEF, - 0x01, - 0xF0, - 0x01, - 0xF1, - 0x01, - 0xF2, - 0x01, - 0xF3, - 0x01, - 0xF4, - 0x01, - 0xF5, - 0x01, - 0xF6, - 0x01, - 0xF7, - 0x01, - 0xF8, - 0x01, - 0xF9, - 0x01, - 0xFA, - 0x01, - 0xFB, - 0x01, - 0xFC, - 0x01, - 0xFD, - 0x01, - 0xFE, - 0x01, - 0xFF, - 0x02, - 0x00, - 0x02, - 0x01, - 0x02, - 0x02, - 0x02, - 0x03, - 0x02, - 0x04, - 0x02, - 0x05, - 0x02, - 0x06, - 0x02, - 0x07, - 0x02, - 0x08, - 0x02, - 0x09, - 0x02, - 0x0A, - 0x02, - 0x0B, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0x0C, - 0x02, - 0x0D, - 0x02, - 0x0E, - 0x02, - 0x0F, - 0x02, - 0x10, - 0x02, - 0x11, - 0x02, - 0x12, - 0x02, - 0x13, - 0x02, - 0x14, - 0x02, - 0x15, - 0x02, - 0x16, - 0x02, - 0x17, - 0x02, - 0x18, - 0x02, - 0x19, - 0x02, - 0x1A, - 0x02, - 0x1B, - 0x02, - 0x1C, - 0x02, - 0x1D, - 0x02, - 0x1E, - 0x02, - 0x1F, - 0x02, - 0x20, - 0x02, - 0x21, - 0x02, - 0x22, - 0x02, - 0x23, - 0x02, - 0x24, - 0x02, - 0x25, - 0x02, - 0x26, - 0x02, - 0x27, - 0x02, - 0x28, - 0x02, - 0x29, - 0x02, - 0x2A, - 0x02, - 0x2B, - 0x02, - 0x2C, - 0x02, - 0x2D, - 0x02, - 0x2E, - 0x02, - 0x2F, - 0x02, - 0x30, - 0x02, - 0x31, - 0x02, - 0x32, - 0x02, - 0x33, - 0x02, - 0x34, - 0x02, - 0x35, - 0x02, - 0x36, - 0x02, - 0x37, - 0x02, - 0x38, - 0x02, - 0x39, - 0x02, - 0x3A, - 0x02, - 0x3B, - 0x02, - 0x3C, - 0x02, - 0x3D, - 0x02, - 0x3E, - 0x02, - 0x3F, - 0x02, - 0x40, - 0x02, - 0x41, - 0x02, - 0x42, - 0x02, - 0x43, - 0x02, - 0x44, - 0x02, - 0x45, - 0x02, - 0x46, - 0x02, - 0x47, - 0x02, - 0x48, - 0x02, - 0x49, - 0x02, - 0x4A, - 0x02, - 0x4B, - 0x02, - 0x4C, - 0x02, - 0x4D, - 0x02, - 0x4E, - 0x02, - 0x4F, - 0x02, - 0x50, - 0x02, - 0x51, - 0x02, - 0x52, - 0x02, - 0x53, - 0x02, - 0x54, - 0x02, - 0x55, - 0x02, - 0x56, - 0x02, - 0x57, - 0x02, - 0x58, - 0x02, - 0x59, - 0x02, - 0x5A, - 0x02, - 0x5B, - 0x02, - 0x5C, - 0x02, - 0x5D, - 0x02, - 0x5E, - 0x02, - 0x5F, - 0x02, - 0x60, - 0x02, - 0x61, - 0x02, - 0x62, - 0x02, - 0x63, - 0x02, - 0x64, - 0x02, - 0x65, - 0x02, - 0x66, - 0x02, - 0x67, - 0x02, - 0x68, - 0x02, - 0x69, - 0x02, - 0x6A, - 0x02, - 0x6B, - 0x02, - 0x6C, - 0x02, - 0x6D, - 0x02, - 0x6E, - 0x02, - 0x6F, - 0x02, - 0x70, - 0x02, - 0x71, - 0x02, - 0x72, - 0x02, - 0x73, - 0x02, - 0x74, - 0x02, - 0x75, - 0x02, - 0x76, - 0x02, - 0x77, - 0x02, - 0x78, - 0x02, - 0x79, - 0x02, - 0x7A, - 0x02, - 0x7B, - 0x02, - 0x7C, - 0x02, - 0x7D, - 0x02, - 0x7E, - 0x02, - 0x7F, - 0x02, - 0x80, - 0x02, - 0x81, - 0x02, - 0x82, - 0x02, - 0x83, - 0x02, - 0x84, - 0x02, - 0x85, - 0x02, - 0x86, - 0x02, - 0x87, - 0x02, - 0x88, - 0x02, - 0x89, - 0x02, - 0x8A, - 0x02, - 0x8B, - 0x02, - 0x8C, - 0x02, - 0x8D, - 0x02, - 0x8E, - 0x02, - 0x8F, - 0x02, - 0x90, - 0x02, - 0x91, - 0x02, - 0x92, - 0x02, - 0x93, - 0x02, - 0x94, - 0x02, - 0x95, - 0x02, - 0x96, - 0x02, - 0x97, - 0x02, - 0x98, - 0x02, - 0x99, - 0x02, - 0x9A, - 0x02, - 0x9B, - 0x02, - 0x9C, - 0x02, - 0x9D, - 0x02, - 0x9E, - 0x02, - 0x9F, - 0x02, - 0xA0, - 0x02, - 0xA1, - 0x02, - 0xA2, - 0x02, - 0xA3, - 0x02, - 0xA4, - 0x02, - 0xA5, - 0x02, - 0xA6, - 0x02, - 0xA7, - 0x02, - 0xA8, - 0x02, - 0xA9, - 0x02, - 0xAA, - 0x02, - 0xAB, - 0x02, - 0xAC, - 0x02, - 0xAD, - 0x02, - 0xAE, - 0x02, - 0xAF, - 0x02, - 0xB0, - 0x02, - 0xB1, - 0x02, - 0xB2, - 0x02, - 0xB3, - 0x02, - 0xB4, - 0x02, - 0xB5, - 0x02, - 0xB6, - 0x02, - 0xB7, - 0x02, - 0xB8, - 0x02, - 0xB9, - 0x02, - 0xBA, - 0x02, - 0xBB, - 0x02, - 0xBC, - 0x02, - 0xBD, - 0x02, - 0xBE, - 0x02, - 0xBF, - 0x02, - 0xC0, - 0x02, - 0xC1, - 0x02, - 0xC2, - 0x02, - 0xC3, - 0x02, - 0xC4, - 0x02, - 0xC5, - 0x02, - 0xC6, - 0x02, - 0xC7, - 0x02, - 0xC8, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0xC9, - 0x02, - 0xCA, - 0x02, - 0xCB, - 0x02, - 0xCC, - 0x02, - 0xCD, - 0x02, - 0xCE, - 0x02, - 0xCF, - 0x02, - 0xD0, - 0x02, - 0xD1, - 0x02, - 0xD2, - 0x02, - 0xD3, - 0x02, - 0xD4, - 0x02, - 0xD5, - 0x02, - 0xD6, - 0x02, - 0xD7, - 0x02, - 0xD8, - 0x02, - 0xD9, - 0x02, - 0xDA, - 0x02, - 0xDB, - 0x02, - 0xDC, - 0x02, - 0xDD, - 0x02, - 0xDE, - 0x02, - 0xDF, - 0x02, - 0xE0, - 0x02, - 0xE1, - 0x02, - 0xE2, - 0x02, - 0xE3, - 0x02, - 0xE4, - 0x02, - 0xE5, - 0x02, - 0xE6, - 0x00, - 0x00, - 0x02, - 0xE7, - 0x02, - 0xE8, - 0x02, - 0xE9, - 0x02, - 0xEA, - 0x02, - 0xEB, - 0x02, - 0xEC, - 0x02, - 0xED, - 0x02, - 0xEE, - 0x02, - 0xEF, - 0x02, - 0xF0, - 0x02, - 0xF1, - 0x02, - 0xF2, - 0x02, - 0xF3, - 0x02, - 0xF4, - 0x02, - 0xF5, - 0x02, - 0xF6, - 0x02, - 0xF7, - 0x02, - 0xF8, - 0x02, - 0xF9, - 0x02, - 0xFA, - 0x02, - 0xFB, - 0x02, - 0xFC, - 0x02, - 0xFD, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0xFE, - 0x02, - 0xFF, - 0x03, - 0x00, - 0x03, - 0x01, - 0x03, - 0x02, - 0x03, - 0x03, - 0x03, - 0x04, - 0x03, - 0x05, - 0x03, - 0x06, - 0x03, - 0x07, - 0x03, - 0x08, - 0x03, - 0x09, - 0x03, - 0x0A, - 0x03, - 0x0B, - 0x03, - 0x0C, - 0x03, - 0x0D, - 0x03, - 0x0E, - 0x03, - 0x0F, - 0x03, - 0x10, - 0x03, - 0x11, - 0x03, - 0x12, - 0x03, - 0x13, - 0x03, - 0x14, - 0x03, - 0x15, - 0x03, - 0x16, - 0x03, - 0x17, - 0x03, - 0x18, - 0x03, - 0x19, - 0x03, - 0x1A, - 0x03, - 0x1B, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8033D3E0-8033D554 337D20 0174+00 1/1 0/0 0/0 .text GetFontCode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm u32 GetFontCode(s16 param_0, u32 param_1) { - nofralloc -#include "asm/dolphin/os/OSFont/GetFontCode.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804509B0-804509B8 000430 0002+06 1/1 0/0 0/0 .sdata FontEncode */ -SECTION_SDATA static u16 FontEncode[1 + 3 /* padding */] = { - 0xFFFF, - /* padding */ - 0x0000, - 0x0000, - 0x0000, -}; - -/* 80451660-80451664 000B60 0004+00 1/1 0/0 0/0 .sbss FontDataAnsi */ -static u8 FontDataAnsi[4]; - -/* 80451664-80451668 000B64 0004+00 1/1 0/0 0/0 .sbss FontDataSjis */ -static u8 FontDataSjis[4]; - -/* 80451668-80451670 000B68 0004+04 1/1 0/0 0/0 .sbss ParseString */ -static u8 ParseString[4 + 4 /* padding */]; - -/* 8033D554-8033D5B8 337E94 0064+00 0/0 1/1 0/0 .text OSGetFontEncode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u16 OSGetFontEncode(void) { - nofralloc -#include "asm/dolphin/os/OSFont/OSGetFontEncode.s" -} -#pragma pop - -/* 8033D5B8-8033D6F4 337EF8 013C+00 1/1 0/0 0/0 .text ParseStringS */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm char* ParseStringS(s16 param_0, char* param_1, void* param_2, u32* param_3, u32 param_4, void* param_5) { - nofralloc -#include "asm/dolphin/os/OSFont/ParseStringS.s" -} -#pragma pop diff --git a/libs/dolphin/os/OSInterrupt.cpp b/libs/dolphin/os/OSInterrupt.c similarity index 52% rename from libs/dolphin/os/OSInterrupt.cpp rename to libs/dolphin/os/OSInterrupt.c index 7af70988f5..e888111599 100644 --- a/libs/dolphin/os/OSInterrupt.cpp +++ b/libs/dolphin/os/OSInterrupt.c @@ -5,6 +5,7 @@ #include "dolphin/os/OSInterrupt.h" #include "dol2asm.h" +#include "dolphin/os/OS.h" #include "dolphin/types.h" // @@ -12,80 +13,89 @@ // SECTION_INIT void memset(); -extern "C" void __OSSetExceptionHandler(); -extern "C" void OSLoadContext(); -extern "C" void OSDisableScheduler(); -extern "C" void OSEnableScheduler(); -extern "C" void __OSReschedule(); -extern "C" void OSGetTime(); +void OSLoadContext(); +void __OSReschedule(); // // Declarations: // /* 8033D6F4-8033D700 338034 000C+00 2/2 200/200 5/5 .text OSDisableInterrupts */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off asm BOOL OSDisableInterrupts(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s" -} -#pragma pop -/* 8033D700-8033D708 338040 0008+00 0/0 1/1 0/0 .text __RAS_OSDisableInterrupts_end */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __RAS_OSDisableInterrupts_end(void) { - nofralloc -#include "asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s" + entry __RAS_OSDisableInterrupts_begin + + mfmsr r3 + // Clear external interrupts bit + rlwinm r4, r3, 0, 17, 15 + mtmsr r4 + + entry __RAS_OSDisableInterrupts_end + + // Return old interrupt status + rlwinm r3, r3, 17, 31, 31 + blr + // clang-format on } -#pragma pop /* 8033D708-8033D71C 338048 0014+00 0/0 10/10 1/1 .text OSEnableInterrupts */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off asm BOOL OSEnableInterrupts(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s" + + mfmsr r3 + // Set external interrupts bit + ori r4, r3, (1 << 15) + mtmsr r4 + + // Return old interrupt status + rlwinm r3, r3, 17, 31, 31 + blr + // clang-format on } -#pragma pop /* 8033D71C-8033D740 33805C 0024+00 2/2 197/197 6/6 .text OSRestoreInterrupts */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL OSRestoreInterrupts(BOOL enable) { +asm BOOL OSRestoreInterrupts(register BOOL status) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s" + + cmpwi status, 0 + mfmsr r4 + beq disable + + // Set external interrupts bit + ori r5, r4, (1 << 15) + b set_msr + +disable: + // Clear external interrupts bit + rlwinm r5, r4, 0, 17, 15 + +set_msr: + mtmsr r5 + // Return old interrupt status + rlwinm r3, r4, 17, 31, 31 + blr + // clang-format on } -#pragma pop /* ############################################################################################## */ /* 80451670-80451674 000B70 0004+00 4/4 0/0 0/0 .sbss InterruptHandlerTable */ -static u8 InterruptHandlerTable[4]; +static OSInterruptHandler* InterruptHandlerTable; /* 8033D740-8033D75C 338080 001C+00 0/0 12/12 0/0 .text __OSSetInterruptHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSInterruptHandler __OSSetInterruptHandler(OSInterrupt interrupt, OSInterruptHandler handler) { - nofralloc -#include "asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s" +OSInterruptHandler __OSSetInterruptHandler(OSInterrupt type, OSInterruptHandler handler) { + OSInterruptHandler old = InterruptHandlerTable[type]; + InterruptHandlerTable[type] = handler; + return old; } -#pragma pop /* 8033D75C-8033D770 33809C 0014+00 0/0 1/1 0/0 .text __OSGetInterruptHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSInterruptHandler __OSGetInterruptHandler(s16 index) { - nofralloc -#include "asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s" +OSInterruptHandler __OSGetInterruptHandler(OSInterrupt type) { + return InterruptHandlerTable[type]; } -#pragma pop /* 8033D770-8033D7E4 3380B0 0074+00 0/0 1/1 0/0 .text __OSInterruptInit */ #pragma push @@ -129,90 +139,59 @@ asm OSInterruptMask __OSUnmaskInterrupts(OSInterruptMask mask) { /* ############################################################################################## */ /* 803D0758-803D0788 02D878 002C+04 1/1 0/0 0/0 .data InterruptPrioTable */ -SECTION_DATA static u8 InterruptPrioTable[44 + 4 /* padding */] = { - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x40, - 0xF8, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x00, - 0x80, - 0x00, - 0x00, - 0x30, - 0x00, - 0x00, - 0x00, - 0x00, - 0x20, - 0x03, - 0xFF, - 0x8C, - 0x00, - 0x04, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x40, - 0x00, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, +static u32 InterruptPrioTable[] = { + 0x00000100, 0x00000040, 0xF8000000, 0x00000200, 0x00000080, 0x00003000, + 0x00000020, 0x03FF8C00, 0x04000000, 0x00004000, 0xFFFFFFFF, }; -/* 80451674-80451678 000B74 0004+00 1/1 1/1 0/0 .sbss __OSLastInterruptSrr0 */ -extern u8 __OSLastInterruptSrr0[4]; -u8 __OSLastInterruptSrr0[4]; +/* 80451680-80451684 000B80 0004+00 1/1 1/1 0/0 .sbss __OSLastInterruptTime */ +extern OSTime __OSLastInterruptTime; +OSTime __OSLastInterruptTime; /* 80451678-80451680 000B78 0002+06 1/1 1/1 0/0 .sbss __OSLastInterrupt */ -extern u8 __OSLastInterrupt[2 + 6 /* padding */]; -u8 __OSLastInterrupt[2 + 6 /* padding */]; +extern s16 __OSLastInterrupt; +s16 __OSLastInterrupt; -/* 80451680-80451684 000B80 0004+00 1/1 1/1 0/0 .sbss __OSLastInterruptTime */ -extern u8 __OSLastInterruptTime[4]; -u8 __OSLastInterruptTime[4]; - -/* 80451684-80451688 000B84 0004+00 1/1 1/1 0/0 .sbss None */ -extern u8 data_80451684[4]; -u8 data_80451684[4]; +/* 80451674-80451678 000B74 0004+00 1/1 1/1 0/0 .sbss __OSLastInterruptSrr0 */ +extern u32 __OSLastInterruptSrr0; +u32 __OSLastInterruptSrr0; /* 8033DBCC-8033DF10 33850C 0344+00 1/1 0/0 0/0 .text __OSDispatchInterrupt */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __OSDispatchInterrupt(OSInterrupt interrupt, struct OSContext* context) { +asm void __OSDispatchInterrupt(OSInterrupt interrupt, OSContext* context) { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s" } #pragma pop /* 8033DF10-8033DF60 338850 0050+00 1/1 0/0 0/0 .text ExternalInterruptHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void ExternalInterruptHandler(OSInterrupt interrupt, struct OSContext* context) { +static asm void ExternalInterruptHandler(register OSInterrupt type, register OSContext* context) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s" + + stw r0, context->gpr[0] + stw r1, context->gpr[1] + stw r2, context->gpr[2] + stmw r6, context->gpr[6] + + mfspr r0, GQR1 + stw r0, context->gqr[1] + mfspr r0, GQR2 + stw r0, context->gqr[2] + mfspr r0, GQR3 + stw r0, context->gqr[3] + mfspr r0, GQR4 + stw r0, context->gqr[4] + mfspr r0, GQR5 + stw r0, context->gqr[5] + mfspr r0, GQR6 + stw r0, context->gqr[6] + mfspr r0, GQR7 + stw r0, context->gqr[7] + + stwu r1, -8(r1) + b __OSDispatchInterrupt + // clang-format on } -#pragma pop diff --git a/libs/dolphin/os/OSLink.cpp b/libs/dolphin/os/OSLink.c similarity index 62% rename from libs/dolphin/os/OSLink.cpp rename to libs/dolphin/os/OSLink.c index b9e6f5a727..371d33dfd2 100644 --- a/libs/dolphin/os/OSLink.cpp +++ b/libs/dolphin/os/OSLink.c @@ -12,79 +12,28 @@ // SECTION_INIT void memset(); -extern "C" void OSReport(); -extern "C" void DCFlushRange(); -extern "C" void ICInvalidateRange(); +void OSReport(); +void DCFlushRange(); +void ICInvalidateRange(); // // Declarations: // /* 8033DF60-8033DF64 3388A0 0004+00 1/1 0/0 0/0 .text OSNotifyLink */ -static void OSNotifyLink(void) { - /* empty function */ -} +static void OSNotifyLink(void) {} /* 8033DF64-8033DF68 3388A4 0004+00 1/1 0/0 0/0 .text OSNotifyUnlink */ -static void OSNotifyUnlink(void) { - /* empty function */ -} +static void OSNotifyUnlink(void) {} /* 8033DF68-8033DF74 3388A8 000C+00 0/0 1/1 0/0 .text OSSetStringTable */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetStringTable(void* string_table) { - nofralloc -#include "asm/dolphin/os/OSLink/OSSetStringTable.s" +void OSSetStringTable(void* string_table) { + __OSStringTable = string_table; } -#pragma pop /* ############################################################################################## */ /* 803D0788-803D07B0 02D8A8 0025+03 1/1 0/0 0/0 .data @62 */ -SECTION_DATA static u8 lit_62[37 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x4C, - 0x69, - 0x6E, - 0x6B, - 0x3A, - 0x20, - 0x75, - 0x6E, - 0x6B, - 0x6E, - 0x6F, - 0x77, - 0x6E, - 0x20, - 0x72, - 0x65, - 0x6C, - 0x6F, - 0x63, - 0x61, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x74, - 0x79, - 0x70, - 0x65, - 0x20, - 0x25, - 0x33, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_62[] = "OSLink: unknown relocation type %3d\n"; /* 8033DF74-8033E230 3388B4 02BC+00 1/1 0/0 0/0 .text Relocate */ #pragma push @@ -128,49 +77,7 @@ asm BOOL OSLinkFixed(OSModuleInfo* module, u32 param_1) { /* ############################################################################################## */ /* 803D07B0-803D07D8 02D8D0 0027+01 1/1 0/0 0/0 .data @189 */ -SECTION_DATA static u8 lit_189[39 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x55, - 0x6E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x3A, - 0x20, - 0x75, - 0x6E, - 0x6B, - 0x6E, - 0x6F, - 0x77, - 0x6E, - 0x20, - 0x72, - 0x65, - 0x6C, - 0x6F, - 0x63, - 0x61, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x74, - 0x79, - 0x70, - 0x65, - 0x20, - 0x25, - 0x33, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_DATA static char lit_189[] = "OSUnlink: unknown relocation type %3d\n"; /* 8033E570-8033E7A8 338EB0 0238+00 1/1 0/0 0/0 .text Undo */ #pragma push @@ -193,11 +100,8 @@ asm BOOL OSUnlink(OSModuleInfo* module) { #pragma pop /* 8033E97C-8033E994 3392BC 0018+00 0/0 1/1 0/0 .text __OSModuleInit */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSModuleInit(void) { - nofralloc -#include "asm/dolphin/os/OSLink/__OSModuleInit.s" +void __OSModuleInit(void) { + __OSModuleList.last = NULL; + __OSModuleList.first = NULL; + __OSStringTable = NULL; } -#pragma pop diff --git a/libs/dolphin/os/OSMemory.cpp b/libs/dolphin/os/OSMemory.c similarity index 53% rename from libs/dolphin/os/OSMemory.cpp rename to libs/dolphin/os/OSMemory.c index 193581d506..14b9398454 100644 --- a/libs/dolphin/os/OSMemory.cpp +++ b/libs/dolphin/os/OSMemory.c @@ -5,17 +5,18 @@ #include "dolphin/os/OSMemory.h" #include "dol2asm.h" +#include "dolphin/os/OSReset.h" #include "dolphin/types.h" // // External References: // -extern "C" void DCInvalidateRange(); -extern "C" void DCFlushRange(); -extern "C" void __OSUnhandledException(); -extern "C" void OSRegisterResetFunction(); -extern "C" extern u8 __OSErrorTable[68 + 12 /* padding */]; +void DCInvalidateRange(); +void DCFlushRange(); +void __OSUnhandledException(); +void OSRegisterResetFunction(); +extern u8 __OSErrorTable[68 + 12 /* padding */]; // // Declarations: @@ -52,42 +53,106 @@ asm void OSProtectRange(u32 channel, void* address, u32 nBytes, u32 control) { #pragma pop /* 8033EDD8-8033EE58 339718 0080+00 1/1 0/0 0/0 .text Config24MB */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off static asm void Config24MB(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSMemory/Config24MB.s" + + li r7, 0 + lis r4, 0x0000 + addi r4, r4, 0x0002 + lis r3, 0x8000 + addi r3, r3, 0x01FF + lis r6, 0x0100 + addi r6, r6, 0x0002 + lis r5, 0x8100 + addi r5, r5, 0x00FF + isync + mtdbatu 0, r7 + mtdbatl 0, r4 + mtdbatu 0, r3 + isync + mtibatu 0, r7 + mtibatl 0, r4 + mtibatu 0, r3 + isync + mtdbatu 2, r7 + mtdbatl 2, r6 + mtdbatu 2, r5 + isync + mtibatu 2, r7 + mtibatl 2, r6 + mtibatu 2, r5 + isync + mfmsr r3 + ori r3, r3, 0x30 + mtspr 0x1b, r3 + mflr r3 + mtspr 0x1a, r3 + rfi + // clang-format on } -#pragma pop /* 8033EE58-8033EED8 339798 0080+00 1/1 0/0 0/0 .text Config48MB */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off static asm void Config48MB(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSMemory/Config48MB.s" + + li r7, 0 + lis r4, 0x0000 + addi r4, r4, 0x0002 + lis r3, 0x8000 + addi r3, r3, 0x03FF + lis r6, 0x0200 + addi r6, r6, 0x0002 + lis r5, 0x8200 + addi r5, r5, 0x01FF + isync + mtdbatu 0, r7 + mtdbatl 0, r4 + mtdbatu 0, r3 + isync + mtibatu 0, r7 + mtibatl 0, r4 + mtibatu 0, r3 + isync + mtdbatu 2, r7 + mtdbatl 2, r6 + mtdbatu 2, r5 + isync + mtibatu 2, r7 + mtibatl 2, r6 + mtibatu 2, r5 + isync + mfmsr r3 + ori r3, r3, 0x30 + mtspr 0x1b, r3 + mflr r3 + mtspr 0x1a, r3 + rfi + // clang-format on } -#pragma pop /* 8033EED8-8033EEF0 339818 0018+00 1/1 0/0 0/0 .text RealMode */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void RealMode(void) { +static asm void RealMode(register void* config){ + // clang-format off nofralloc -#include "asm/dolphin/os/OSMemory/RealMode.s" + + clrlwi config, config, 2 + mtspr 0x1a, config + mfmsr config + rlwinm config, config, 0, 0x1c, 0x19 + mtspr 0x1b, config + rfi + // clang-format on } -#pragma pop /* ############################################################################################## */ /* 803D07D8-803D07E8 -00001 0010+00 1/1 0/0 0/0 .data ResetFunctionInfo */ -SECTION_DATA static void* ResetFunctionInfo[4] = { - (void*)OnReset, - (void*)0x0000007F, - (void*)NULL, - (void*)NULL, +static OSResetFunctionInfo ResetFunctionInfo = { + OnReset, + 0x7F, + NULL, + NULL, }; /* 8033EEF0-8033F008 339830 0118+00 0/0 1/1 0/0 .text __OSInitMemoryProtection */ diff --git a/libs/dolphin/os/OSMessage.cpp b/libs/dolphin/os/OSMessage.c similarity index 94% rename from libs/dolphin/os/OSMessage.cpp rename to libs/dolphin/os/OSMessage.c index 162fc8a489..024b6f3d02 100644 --- a/libs/dolphin/os/OSMessage.cpp +++ b/libs/dolphin/os/OSMessage.c @@ -11,8 +11,8 @@ // External References: // -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); // // Declarations: diff --git a/libs/dolphin/os/OSMutex.cpp b/libs/dolphin/os/OSMutex.c similarity index 97% rename from libs/dolphin/os/OSMutex.cpp rename to libs/dolphin/os/OSMutex.c index a6126138d5..a6a8cb80b0 100644 --- a/libs/dolphin/os/OSMutex.cpp +++ b/libs/dolphin/os/OSMutex.c @@ -11,8 +11,8 @@ // External References: // -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); // // Declarations: diff --git a/libs/dolphin/os/OSReboot.cpp b/libs/dolphin/os/OSReboot.c similarity index 58% rename from libs/dolphin/os/OSReboot.cpp rename to libs/dolphin/os/OSReboot.c index 6088530534..fb4c209232 100644 --- a/libs/dolphin/os/OSReboot.cpp +++ b/libs/dolphin/os/OSReboot.c @@ -11,12 +11,12 @@ // External References: // -extern "C" void OSSetArenaHi(); -extern "C" void OSSetArenaLo(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void __OSBootDol(); -extern "C" void OSDisableInterrupts(); +void OSSetArenaHi(); +void OSSetArenaLo(); +void OSSetCurrentContext(); +void OSClearContext(); +void __OSBootDol(); +void OSDisableInterrupts(); // // Declarations: @@ -34,27 +34,19 @@ asm void __OSReboot(u32 param_0, u32 param_1) { /* ############################################################################################## */ /* 80451688-8045168C 000B88 0004+00 2/2 0/0 0/0 .sbss SaveStart */ -static u8 SaveStart[4]; +static void* SaveStart; /* 8045168C-80451690 000B8C 0004+00 2/2 0/0 0/0 .sbss SaveEnd */ -static u8 SaveEnd[4]; +static void* SaveEnd; /* 8033F640-8033F64C 339F80 000C+00 0/0 1/1 0/0 .text OSSetSaveRegion */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSetSaveRegion(void* start, void* end) { - nofralloc -#include "asm/dolphin/os/OSReboot/OSSetSaveRegion.s" +void OSSetSaveRegion(void* start, void* end) { + SaveStart = start; + SaveEnd = end; } -#pragma pop /* 8033F64C-8033F660 339F8C 0014+00 0/0 1/1 0/0 .text OSGetSaveRegion */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSGetSaveRegion(void* start, void* end) { - nofralloc -#include "asm/dolphin/os/OSReboot/OSGetSaveRegion.s" +void OSGetSaveRegion(void** start, void** end) { + *start = SaveStart; + *end = SaveEnd; } -#pragma pop diff --git a/libs/dolphin/os/OSReset.cpp b/libs/dolphin/os/OSReset.c similarity index 62% rename from libs/dolphin/os/OSReset.cpp rename to libs/dolphin/os/OSReset.c index af54cf94a2..f3b5332749 100644 --- a/libs/dolphin/os/OSReset.cpp +++ b/libs/dolphin/os/OSReset.c @@ -12,20 +12,20 @@ // SECTION_INIT void memset(); -extern "C" void OSReport(); -extern "C" void __OSStopAudioSystem(); -extern "C" void ICFlashInvalidate(); -extern "C" void LCDisable(); -extern "C" void OSDisableInterrupts(); -extern "C" void __OSReboot(); -extern "C" void __OSLockSram(); -extern "C" void __OSUnlockSram(); -extern "C" void __OSSyncSram(); -extern "C" void OSDisableScheduler(); -extern "C" void OSEnableScheduler(); -extern "C" void OSCancelThread(); -extern "C" void __PADDisableRecalibration(); -extern "C" extern u8 __OSRebootParams[28 + 4 /* padding */]; +void OSReport(); +void __OSStopAudioSystem(); +void ICFlashInvalidate(); +void LCDisable(); +void OSDisableInterrupts(); +void __OSReboot(); +void __OSLockSram(); +void __OSUnlockSram(); +void __OSSyncSram(); +void OSDisableScheduler(); +void OSEnableScheduler(); +void OSCancelThread(); +void __PADDisableRecalibration(); +extern u8 __OSRebootParams[28 + 4 /* padding */]; // // Declarations: @@ -56,14 +56,58 @@ asm BOOL __OSCallResetFunctions(s32 param_0) { #pragma pop /* 8033F78C-8033F7FC 33A0CC 0070+00 2/2 0/0 0/0 .text Reset */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void Reset(s32 param_0) { +static asm void Reset(register s32 param_0) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSReset/Reset.s" + + b lbl_8033F7AC + +lbl_8033F790: + mfspr r8, 0x3f0 + ori r8, r8, 8 + mtspr 0x3f0, r8 + isync + sync + nop + b lbl_8033F7B0 + +lbl_8033F7AC: + b lbl_8033F7CC + +lbl_8033F7B0: + mftb r5, 0x10c + +lbl_8033F7B4: + mftb r6, 0x10c + subf r7, r5, r6 + cmplwi r7, 0x1124 + blt lbl_8033F7B4 + nop + b lbl_8033F7D0 + +lbl_8033F7CC: + b lbl_8033F7EC + +lbl_8033F7D0: + lis r8, 0xCC00 + ori r8, r8, 0x3000 + li r4, 3 + stw r4, 0x24(r8) + stw param_0, 0x24(r8) + nop + b lbl_8033F7F0 + +lbl_8033F7EC: + b lbl_8033F7F8 + +lbl_8033F7F0: + nop + b lbl_8033F7F0 + +lbl_8033F7F8: + b lbl_8033F790 + // clang-format on } -#pragma pop /* 8033F7FC-8033F864 33A13C 0068+00 1/1 0/0 0/0 .text KillThreads */ #pragma push @@ -87,89 +131,7 @@ asm void __OSDoHotReset(s32 param_0) { /* ############################################################################################## */ /* 803D07E8-803D0838 02D908 004E+02 1/1 0/0 0/0 .data @153 */ -SECTION_DATA static u8 lit_153[78 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x52, - 0x65, - 0x73, - 0x65, - 0x74, - 0x53, - 0x79, - 0x73, - 0x74, - 0x65, - 0x6D, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x59, - 0x6F, - 0x75, - 0x20, - 0x63, - 0x61, - 0x6E, - 0x27, - 0x74, - 0x20, - 0x73, - 0x70, - 0x65, - 0x63, - 0x69, - 0x66, - 0x79, - 0x20, - 0x54, - 0x52, - 0x55, - 0x45, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x66, - 0x6F, - 0x72, - 0x63, - 0x65, - 0x4D, - 0x65, - 0x6E, - 0x75, - 0x20, - 0x69, - 0x66, - 0x20, - 0x79, - 0x6F, - 0x75, - 0x20, - 0x72, - 0x65, - 0x73, - 0x74, - 0x61, - 0x72, - 0x74, - 0x2E, - 0x20, - 0x49, - 0x67, - 0x6E, - 0x6F, - 0x72, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_153[] = "OSResetSystem(): You can't specify TRUE to forceMenu if you restart. Ignored\n"; /* 80451698-804516A0 000B98 0004+04 1/1 0/0 0/0 .sbss bootThisDol */ static u8 bootThisDol[4 + 4 /* padding */]; diff --git a/libs/dolphin/os/OSResetSW.cpp b/libs/dolphin/os/OSResetSW.c similarity index 88% rename from libs/dolphin/os/OSResetSW.cpp rename to libs/dolphin/os/OSResetSW.c index 00cd383eab..d6c7707ae6 100644 --- a/libs/dolphin/os/OSResetSW.cpp +++ b/libs/dolphin/os/OSResetSW.c @@ -11,13 +11,12 @@ // External References: // -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSMaskInterrupts(); -extern "C" void __OSGetSystemTime(); -extern "C" void __div2i(); -extern "C" extern u8 __OSStartTime[4]; -extern "C" extern u8 data_80451634[4]; +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSMaskInterrupts(); +void __OSGetSystemTime(); +void __div2i(); +extern u8 __OSStartTime[4]; // // Declarations: diff --git a/libs/dolphin/os/OSRtc.cpp b/libs/dolphin/os/OSRtc.c similarity index 93% rename from libs/dolphin/os/OSRtc.cpp rename to libs/dolphin/os/OSRtc.c index aa3e393e92..9b84faf09a 100644 --- a/libs/dolphin/os/OSRtc.cpp +++ b/libs/dolphin/os/OSRtc.c @@ -11,17 +11,17 @@ // External References: // -extern "C" void DCInvalidateRange(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void EXIImm(); -extern "C" void EXIImmEx(); -extern "C" void EXIDma(); -extern "C" void EXISync(); -extern "C" void EXISelect(); -extern "C" void EXIDeselect(); -extern "C" void EXILock(); -extern "C" void EXIUnlock(); +void DCInvalidateRange(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void EXIImm(); +void EXIImmEx(); +void EXIDma(); +void EXISync(); +void EXISelect(); +void EXIDeselect(); +void EXILock(); +void EXIUnlock(); // // Declarations: diff --git a/libs/dolphin/os/OSSync.cpp b/libs/dolphin/os/OSSync.c similarity index 55% rename from libs/dolphin/os/OSSync.cpp rename to libs/dolphin/os/OSSync.c index e0d3042d3f..2a38584f78 100644 --- a/libs/dolphin/os/OSSync.cpp +++ b/libs/dolphin/os/OSSync.c @@ -12,33 +12,30 @@ // SECTION_INIT void memcpy(); -extern "C" void DCFlushRangeNoSync(); -extern "C" void ICInvalidateRange(); +void DCFlushRangeNoSync(); +void ICInvalidateRange(); // // Declarations: // /* 80340A20-80340A3C 33B360 001C+00 1/1 0/0 0/0 .text SystemCallVector */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off static asm void SystemCallVector(void) { + // clang-format off nofralloc -#include "asm/dolphin/os/OSSync/SystemCallVector.s" -} -#pragma pop -// fake function? -/* 80340A3C-80340A40 33B37C 0004+00 1/1 0/0 0/0 .text __OSSystemCallVectorEnd */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSSystemCallVectorEnd(void) { - nofralloc -#include "asm/dolphin/os/OSSync/__OSSystemCallVectorEnd.s" + mfspr r9, 0x3F0 + ori r10, r9, 8 + mtspr 0x3F0, r10 + isync + sync + mtspr 0x3F0, r9 + rfi + + entry __OSSystemCallVectorEnd + nop + // clang-format on } -#pragma pop /* 80340A40-80340AA4 33B380 0064+00 0/0 1/1 0/0 .text __OSInitSystemCall */ #pragma push diff --git a/libs/dolphin/os/OSThread.c b/libs/dolphin/os/OSThread.c new file mode 100644 index 0000000000..8553c04032 --- /dev/null +++ b/libs/dolphin/os/OSThread.c @@ -0,0 +1,502 @@ +// +// Generated By: dol2asm +// Translation Unit: OSThread +// + +#include "dolphin/os/OSThread.h" +#include "dol2asm.h" +#include "dolphin/os/OSMutex.h" +#include "dolphin/types.h" + +// +// External References: +// + +void OSReport(); +void OSPanic(); +void OSGetStackPointer(); +void OSDisableInterrupts(); +void OSEnableInterrupts(); +void OSRestoreInterrupts(); +extern u8 __OSErrorTable[68 + 12 /* padding */]; +extern u32 __OSFpscrEnableBits; +void _epilog(); + +// +// Declarations: +// + +/* 80340AA4-80340AA8 33B3E4 0004+00 2/1 0/0 0/0 .text DefaultSwitchThreadCallback */ +static void DefaultSwitchThreadCallback(OSThread* from, OSThread* to) {} + +/* ############################################################################################## */ +/* 804509B8-804509BC -00001 0004+00 3/3 0/0 0/0 .sdata SwitchThreadCallback */ +SECTION_SDATA static OSSwitchThreadCallback SwitchThreadCallback = DefaultSwitchThreadCallback; + +/* 80340AA8-80340B1C 33B3E8 0074+00 0/0 1/1 0/0 .text OSSetSwitchThreadCallback */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback func) { + nofralloc +#include "asm/dolphin/os/OSThread/OSSetSwitchThreadCallback.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 8044BB78-8044BC78 078898 0100+00 6/6 0/0 0/0 .bss RunQueue */ +static OSThreadQueue RunQueue[32]; + +/* 8044BC78-8044BF90 078998 0318+00 0/0 0/0 0/0 .bss IdleThread */ +#pragma push +#pragma force_active on +static OSThread IdleThread; +#pragma pop + +/* 8044BF90-8044C2A8 078CB0 0318+00 0/1 0/0 0/0 .bss DefaultThread */ +#pragma push +#pragma force_active on +static OSThread DefaultThread; +#pragma pop + +/* 8044C2A8-8044C570 078FC8 02C8+00 0/2 0/0 0/0 .bss IdleContext */ +#pragma push +#pragma force_active on +static OSContext IdleContext; +#pragma pop + +/* 804516C0-804516C4 000BC0 0004+00 7/7 0/0 0/0 .sbss RunQueueBits */ +static u32 RunQueueBits; + +/* 804516C4-804516C8 000BC4 0004+00 11/11 0/0 0/0 .sbss RunQueueHint */ +static BOOL RunQueueHint; + +/* 804516C8-804516D0 000BC8 0004+04 4/4 0/0 0/0 .sbss Reschedule */ +static u8 Reschedule[4 + 4 /* padding */]; + +/* 80340B1C-80340C74 33B45C 0158+00 0/0 1/1 0/0 .text __OSThreadInit */ + +extern void* _stack_end; + +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __OSThreadInit(void) { + nofralloc +#include "asm/dolphin/os/OSThread/__OSThreadInit.s" +} +#pragma pop + +/* 80340C74-80340C84 33B5B4 0010+00 1/1 9/9 0/0 .text OSInitThreadQueue */ +void OSInitThreadQueue(OSThreadQueue* queue) { + queue->tail = NULL; + queue->head = NULL; +} + +/* 80340C84-80340C90 33B5C4 000C+00 0/0 20/20 0/0 .text OSGetCurrentThread */ +OSThread* OSGetCurrentThread(void) { + return OS_CURRENT_THREAD; +} + +/* 80340C90-80340CC4 33B5D0 0034+00 0/0 1/1 0/0 .text OSIsThreadTerminated */ +BOOL OSIsThreadTerminated(OSThread* thread) { + return thread->state == OS_THREAD_STATE_DEAD || thread->state == OS_THREAD_STATE_UNINITIALIZED ? + TRUE : + FALSE; +} + +/* 80340CC4-80340D04 33B604 0040+00 0/0 8/8 0/0 .text OSDisableScheduler */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm s32 OSDisableScheduler(void) { + nofralloc +#include "asm/dolphin/os/OSThread/OSDisableScheduler.s" +} +#pragma pop + +/* 80340D04-80340D44 33B644 0040+00 0/0 10/10 0/0 .text OSEnableScheduler */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm s32 OSEnableScheduler(void) { + nofralloc +#include "asm/dolphin/os/OSThread/OSEnableScheduler.s" +} +#pragma pop + +/* 80340D44-80340DAC 33B684 0068+00 3/3 0/0 0/0 .text UnsetRun */ +static void UnsetRun(OSThread* thread) { + OSThreadQueue* queue; + OSThread* next; + OSThread* prev; + + prev = thread->link.prev; + queue = thread->queue; + next = thread->link.next; + + if (prev == NULL) { + queue->tail = next; + } else { + prev->link.next = next; + } + + if (next == NULL) { + queue->head = prev; + } else { + next->link.prev = prev; + } + + if (queue->head == NULL) { + RunQueueBits &= ~(1 << 31 - thread->effective_priority); + } + + thread->queue = NULL; +} + +/* 80340DAC-80340DE8 33B6EC 003C+00 4/4 2/2 0/0 .text __OSGetEffectivePriority */ +s32 __OSGetEffectivePriority(OSThread* thread) { + s32 prio = thread->base_priority; + + OSMutex* mutex; + for (mutex = thread->owned_mutexes.prev; mutex != NULL; mutex = mutex->link.prev) { + OSThread* mutexThread = mutex->queue.head; + if (mutexThread != NULL && mutexThread->effective_priority < prio) { + prio = mutexThread->effective_priority; + } + } + + return prio; +} + +/* 80340DE8-80340FA8 33B728 01C0+00 5/5 0/0 0/0 .text SetEffectivePriority */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void SetEffectivePriority(OSThread* thread, s32 priority) { + nofralloc +#include "asm/dolphin/os/OSThread/SetEffectivePriority.s" +} +#pragma pop + +/* 80340FA8-80340FF8 33B8E8 0050+00 0/0 1/1 0/0 .text __OSPromoteThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __OSPromoteThread(OSThread* thread, s32 priority) { + nofralloc +#include "asm/dolphin/os/OSThread/__OSPromoteThread.s" +} +#pragma pop + +/* 80340FF8-80341220 33B938 0228+00 9/9 0/0 0/0 .text SelectThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void SelectThread(OSThread* thread) { + nofralloc +#include "asm/dolphin/os/OSThread/SelectThread.s" +} +#pragma pop + +/* 80341220-80341250 33BB60 0030+00 0/0 3/3 0/0 .text __OSReschedule */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void __OSReschedule(void) { + nofralloc +#include "asm/dolphin/os/OSThread/__OSReschedule.s" +} +#pragma pop + +/* 80341250-8034128C 33BB90 003C+00 0/0 2/2 0/0 .text OSYieldThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSYieldThread(void) { + nofralloc +#include "asm/dolphin/os/OSThread/OSYieldThread.s" +} +#pragma pop + +/* 8034128C-80341474 33BBCC 01E8+00 0/0 5/5 3/3 .text OSCreateThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm BOOL OSCreateThread(OSThread* thread, void* func, void* param, void* stackBase, u32 stackSize, + s32 priority, u16 attribute) { + nofralloc +#include "asm/dolphin/os/OSThread/OSCreateThread.s" +} +#pragma pop + +/* 80341474-80341558 33BDB4 00E4+00 1/1 1/1 0/0 .text OSExitThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSExitThread(void* exitValue) { + nofralloc +#include "asm/dolphin/os/OSThread/OSExitThread.s" +} +#pragma pop + +/* 80341558-80341714 33BE98 01BC+00 0/0 4/4 3/3 .text OSCancelThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSCancelThread(OSThread* thread) { + nofralloc +#include "asm/dolphin/os/OSThread/OSCancelThread.s" +} +#pragma pop + +/* 80341714-803417B4 33C054 00A0+00 0/0 2/2 0/0 .text OSDetachThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSDetachThread(OSThread* thread) { + nofralloc +#include "asm/dolphin/os/OSThread/OSDetachThread.s" +} +#pragma pop + +/* 803417B4-80341A3C 33C0F4 0288+00 0/0 13/13 3/3 .text OSResumeThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm s32 OSResumeThread(OSThread* thread) { + nofralloc +#include "asm/dolphin/os/OSThread/OSResumeThread.s" +} +#pragma pop + +/* 80341A3C-80341BAC 33C37C 0170+00 0/0 7/7 4/4 .text OSSuspendThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm s32 OSSuspendThread(OSThread* thread) { + nofralloc +#include "asm/dolphin/os/OSThread/OSSuspendThread.s" +} +#pragma pop + +/* 80341BAC-80341C98 33C4EC 00EC+00 0/0 12/12 0/0 .text OSSleepThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSSleepThread(OSThreadQueue* queue) { + nofralloc +#include "asm/dolphin/os/OSThread/OSSleepThread.s" +} +#pragma pop + +/* 80341C98-80341D9C 33C5D8 0104+00 3/3 13/13 0/0 .text OSWakeupThread */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm void OSWakeupThread(OSThreadQueue* queue) { + nofralloc +#include "asm/dolphin/os/OSThread/OSWakeupThread.s" +} +#pragma pop + +/* 80341D9C-80341E5C 33C6DC 00C0+00 0/0 1/1 0/0 .text OSSetThreadPriority */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm s32 OSSetThreadPriority(OSThread* thread, s32 priority) { + nofralloc +#include "asm/dolphin/os/OSThread/OSSetThreadPriority.s" +} +#pragma pop + +/* 80341E5C-80341E64 33C79C 0008+00 0/0 4/4 0/0 .text OSGetThreadPriority */ +s32 OSGetThreadPriority(OSThread* thread) { + return thread->base_priority; +} + +/* 80341E64-80341F00 33C7A4 009C+00 1/1 0/0 0/0 .text CheckThreadQueue */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm s32 CheckThreadQueue(OSThread* thread) { + nofralloc +#include "asm/dolphin/os/OSThread/CheckThreadQueue.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 803D0838-803D0898 02D958 005F+01 1/1 0/0 0/0 .data @831 */ +SECTION_DATA static char lit_831[] = "OSCheckActiveThreads: Failed RunQueue[prio].head != NULL && RunQueue[prio].tail != NULL in %d\n"; + +/* 803D0898-803D08A4 02D9B8 000B+01 0/1 0/0 0/0 .data @832 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_832[] = "OSThread.c"; +#pragma pop + +/* 803D08A4-803D0904 02D9C4 005F+01 0/1 0/0 0/0 .data @834 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_834[] = "OSCheckActiveThreads: Failed RunQueue[prio].head == NULL && RunQueue[prio].tail == NULL in %d\n"; +#pragma pop + +/* 803D0904-803D094C 02DA24 0046+02 0/1 0/0 0/0 .data @835 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_835[] = "OSCheckActiveThreads: Failed CheckThreadQueue(&RunQueue[prio]) in %d\n"; +#pragma pop + +/* 803D094C-803D09CC 02DA6C 007E+02 0/1 0/0 0/0 .data @836 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_836[] = "OSCheckActiveThreads: Failed __OSActiveThreadQueue.head == NULL || __OSActiveThreadQueue.head->linkActive.prev == NULL in %d\n"; +#pragma pop + +/* 803D09CC-803D0A4C 02DAEC 007E+02 0/1 0/0 0/0 .data @837 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_837[] = "OSCheckActiveThreads: Failed __OSActiveThreadQueue.tail == NULL || __OSActiveThreadQueue.tail->linkActive.next == NULL in %d\n"; +#pragma pop + +/* 803D0A4C-803D0AC8 02DB6C 007A+02 0/1 0/0 0/0 .data @838 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_838[] = "OSCheckActiveThreads: Failed thread->linkActive.next == NULL || thread == thread->linkActive.next->linkActive.prev in %d\n"; +#pragma pop + +/* 803D0AC8-803D0B44 02DBE8 007A+02 0/1 0/0 0/0 .data @839 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_839[] = "OSCheckActiveThreads: Failed thread->linkActive.prev == NULL || thread == thread->linkActive.prev->linkActive.next in %d\n"; +#pragma pop + +/* 803D0B44-803D0B98 02DC64 0051+03 0/1 0/0 0/0 .data @840 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_840[] = "OSCheckActiveThreads: Failed *(thread->stackEnd) == OS_THREAD_STACK_MAGIC in %d\n"; +#pragma pop + +/* 803D0B98-803D0C0C 02DCB8 0071+03 0/1 0/0 0/0 .data @841 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_841[] = "OSCheckActiveThreads: Failed OS_PRIORITY_MIN <= thread->priority && thread->priority <= OS_PRIORITY_MAX+1 in %d\n"; +#pragma pop + +/* 803D0C0C-803D0C48 02DD2C 0039+03 0/1 0/0 0/0 .data @842 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_842[] = "OSCheckActiveThreads: Failed 0 <= thread->suspend in %d\n"; +#pragma pop + +/* 803D0C48-803D0C94 02DD68 0049+03 0/1 0/0 0/0 .data @843 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_843[] = "OSCheckActiveThreads: Failed CheckThreadQueue(&thread->queueJoin) in %d\n"; +#pragma pop + +/* 803D0C94-803D0CE8 02DDB4 0051+03 0/1 0/0 0/0 .data @844 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_844[] = "OSCheckActiveThreads: Failed thread->queue == &RunQueue[thread->priority] in %d\n"; +#pragma pop + +/* 803D0CE8-803D0D3C 02DE08 0052+02 0/1 0/0 0/0 .data @845 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_845[] = "OSCheckActiveThreads: Failed IsMember(&RunQueue[thread->priority], thread) in %d\n"; +#pragma pop + +/* 803D0D3C-803D0D98 02DE5C 0059+03 0/1 0/0 0/0 .data @846 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_846[] = "OSCheckActiveThreads: Failed thread->priority == __OSGetEffectivePriority(thread) in %d\n"; +#pragma pop + +/* 803D0D98-803D0DDC 02DEB8 0042+02 0/1 0/0 0/0 .data @847 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_847[] = "OSCheckActiveThreads: Failed !IsSuspended(thread->suspend) in %d\n"; +#pragma pop + +/* 803D0DDC-803D0E18 02DEFC 003A+02 0/1 0/0 0/0 .data @848 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_848[] = "OSCheckActiveThreads: Failed thread->queue == NULL in %d\n"; +#pragma pop + +/* 803D0E18-803D0E54 02DF38 003A+02 0/1 0/0 0/0 .data @849 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_849[] = "OSCheckActiveThreads: Failed thread->queue != NULL in %d\n"; +#pragma pop + +/* 803D0E54-803D0E98 02DF74 0044+00 0/1 0/0 0/0 .data @850 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_850[] = "OSCheckActiveThreads: Failed CheckThreadQueue(thread->queue) in %d\n"; +#pragma pop + +/* 803D0E98-803D0EDC 02DFB8 0044+00 0/1 0/0 0/0 .data @851 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_851[] = "OSCheckActiveThreads: Failed IsMember(thread->queue, thread) in %d\n"; +#pragma pop + +/* 803D0EDC-803D0F18 02DFFC 003B+01 0/1 0/0 0/0 .data @852 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_852[] = "OSCheckActiveThreads: Failed thread->priority == 32 in %d\n"; +#pragma pop + +/* 803D0F18-803D0F58 02E038 003F+01 0/1 0/0 0/0 .data @853 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_853[] = "OSCheckActiveThreads: Failed !__OSCheckDeadLock(thread) in %d\n"; +#pragma pop + +/* 803D0F58-803D0FC0 02E078 0067+01 0/1 0/0 0/0 .data @854 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_854[] = "OSCheckActiveThreads: Failed thread->queueMutex.head == NULL && thread->queueMutex.tail == NULL in %d\n"; +#pragma pop + +/* 803D0FC0-803D1008 02E0E0 0045+03 0/1 0/0 0/0 .data @855 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_855[] = "OSCheckActiveThreads: Failed. unkown thread state (%d) of thread %p\n"; +#pragma pop + +/* 803D1008-803D1048 02E128 003D+03 0/1 0/0 0/0 .data @856 */ +#pragma push +#pragma force_active on +SECTION_DATA static char lit_856[] = "OSCheckActiveThreads: Failed __OSCheckMutexes(thread) in %d\n"; +#pragma pop + +/* 804509BC-804509C0 00043C 0001+03 1/1 0/0 0/0 .sdata @833 */ +SECTION_SDATA static char lit_833[] = ""; + +/* 80341F00-80342650 33C840 0750+00 0/0 1/1 0/0 .text OSCheckActiveThreads */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +asm s32 OSCheckActiveThreads(void) { + nofralloc +#include "asm/dolphin/os/OSThread/OSCheckActiveThreads.s" +} +#pragma pop + +/* 80342650-803426FC 33CF90 00AC+00 1/1 0/0 0/0 .text OSClearStack */ +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +static asm void OSClearStack(u32 value) { + nofralloc +#include "asm/dolphin/os/OSThread/OSClearStack.s" +} +#pragma pop + +/* ############################################################################################## */ +/* 804516D0-804516D8 000BD0 0008+00 0/0 2/1 0/0 .sbss None */ +extern u8 data_804516D0[8]; +u8 data_804516D0[8]; diff --git a/libs/dolphin/os/OSThread.cpp b/libs/dolphin/os/OSThread.cpp deleted file mode 100644 index 72965e7423..0000000000 --- a/libs/dolphin/os/OSThread.cpp +++ /dev/null @@ -1,2488 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: OSThread -// - -#include "dolphin/os/OSThread.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// External References: -// - -extern "C" void OSReport(); -extern "C" void OSPanic(); -extern "C" void OSGetStackPointer(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSEnableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" extern u8 __OSErrorTable[68 + 12 /* padding */]; -extern "C" extern u32 __OSFpscrEnableBits; -extern "C" void _epilog(); - -// -// Declarations: -// - -/* 80340AA4-80340AA8 33B3E4 0004+00 2/1 0/0 0/0 .text DefaultSwitchThreadCallback */ -static void DefaultSwitchThreadCallback(OSThread* from, OSThread* to) { - /* empty function */ -} - -/* ############################################################################################## */ -/* 804509B8-804509BC -00001 0004+00 3/3 0/0 0/0 .sdata SwitchThreadCallback */ -SECTION_SDATA static void* SwitchThreadCallback = (void*)DefaultSwitchThreadCallback; - -/* 80340AA8-80340B1C 33B3E8 0074+00 0/0 1/1 0/0 .text OSSetSwitchThreadCallback */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback func) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSetSwitchThreadCallback.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 8044BB78-8044BC78 078898 0100+00 6/6 0/0 0/0 .bss RunQueue */ -static u8 RunQueue[256]; - -/* 8044BC78-8044BF90 078998 0318+00 0/0 0/0 0/0 .bss IdleThread */ -#pragma push -#pragma force_active on -static u8 IdleThread[792]; -#pragma pop - -/* 8044BF90-8044C2A8 078CB0 0318+00 0/1 0/0 0/0 .bss DefaultThread */ -#pragma push -#pragma force_active on -static u8 DefaultThread[792]; -#pragma pop - -/* 8044C2A8-8044C570 078FC8 02C8+00 0/2 0/0 0/0 .bss IdleContext */ -#pragma push -#pragma force_active on -static u8 IdleContext[712]; -#pragma pop - -/* 804516C0-804516C4 000BC0 0004+00 7/7 0/0 0/0 .sbss RunQueueBits */ -static u8 RunQueueBits[4]; - -/* 804516C4-804516C8 000BC4 0004+00 11/11 0/0 0/0 .sbss RunQueueHint */ -static u8 RunQueueHint[4]; - -/* 804516C8-804516D0 000BC8 0004+04 4/4 0/0 0/0 .sbss Reschedule */ -static u8 Reschedule[4 + 4 /* padding */]; - -/* 80340B1C-80340C74 33B45C 0158+00 0/0 1/1 0/0 .text __OSThreadInit */ - -extern void* _stack_end; - -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSThreadInit(void) { - nofralloc -#include "asm/dolphin/os/OSThread/__OSThreadInit.s" -} -#pragma pop - -/* 80340C74-80340C84 33B5B4 0010+00 1/1 9/9 0/0 .text OSInitThreadQueue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSInitThreadQueue(OSThreadQueue* queue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSInitThreadQueue.s" -} -#pragma pop - -/* 80340C84-80340C90 33B5C4 000C+00 0/0 20/20 0/0 .text OSGetCurrentThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm OSThread* OSGetCurrentThread(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSGetCurrentThread.s" -} -#pragma pop - -/* 80340C90-80340CC4 33B5D0 0034+00 0/0 1/1 0/0 .text OSIsThreadTerminated */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL OSIsThreadTerminated(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSIsThreadTerminated.s" -} -#pragma pop - -/* 80340CC4-80340D04 33B604 0040+00 0/0 8/8 0/0 .text OSDisableScheduler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSDisableScheduler(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSDisableScheduler.s" -} -#pragma pop - -/* 80340D04-80340D44 33B644 0040+00 0/0 10/10 0/0 .text OSEnableScheduler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSEnableScheduler(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSEnableScheduler.s" -} -#pragma pop - -/* 80340D44-80340DAC 33B684 0068+00 3/3 0/0 0/0 .text UnsetRun */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void UnsetRun(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/UnsetRun.s" -} -#pragma pop - -/* 80340DAC-80340DE8 33B6EC 003C+00 4/4 2/2 0/0 .text __OSGetEffectivePriority */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 __OSGetEffectivePriority(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/__OSGetEffectivePriority.s" -} -#pragma pop - -/* 80340DE8-80340FA8 33B728 01C0+00 5/5 0/0 0/0 .text SetEffectivePriority */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void SetEffectivePriority(OSThread* thread, s32 priority) { - nofralloc -#include "asm/dolphin/os/OSThread/SetEffectivePriority.s" -} -#pragma pop - -/* 80340FA8-80340FF8 33B8E8 0050+00 0/0 1/1 0/0 .text __OSPromoteThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSPromoteThread(OSThread* thread, s32 priority) { - nofralloc -#include "asm/dolphin/os/OSThread/__OSPromoteThread.s" -} -#pragma pop - -/* 80340FF8-80341220 33B938 0228+00 9/9 0/0 0/0 .text SelectThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void SelectThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/SelectThread.s" -} -#pragma pop - -/* 80341220-80341250 33BB60 0030+00 0/0 3/3 0/0 .text __OSReschedule */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __OSReschedule(void) { - nofralloc -#include "asm/dolphin/os/OSThread/__OSReschedule.s" -} -#pragma pop - -/* 80341250-8034128C 33BB90 003C+00 0/0 2/2 0/0 .text OSYieldThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSYieldThread(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSYieldThread.s" -} -#pragma pop - -/* 8034128C-80341474 33BBCC 01E8+00 0/0 5/5 3/3 .text OSCreateThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL OSCreateThread(OSThread* thread, void* func, void* param, void* stackBase, - u32 stackSize, s32 priority, u16 attribute) { - nofralloc -#include "asm/dolphin/os/OSThread/OSCreateThread.s" -} -#pragma pop - -/* 80341474-80341558 33BDB4 00E4+00 1/1 1/1 0/0 .text OSExitThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSExitThread(void* exitValue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSExitThread.s" -} -#pragma pop - -/* 80341558-80341714 33BE98 01BC+00 0/0 4/4 3/3 .text OSCancelThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSCancelThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSCancelThread.s" -} -#pragma pop - -/* 80341714-803417B4 33C054 00A0+00 0/0 2/2 0/0 .text OSDetachThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSDetachThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSDetachThread.s" -} -#pragma pop - -/* 803417B4-80341A3C 33C0F4 0288+00 0/0 13/13 3/3 .text OSResumeThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSResumeThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSResumeThread.s" -} -#pragma pop - -/* 80341A3C-80341BAC 33C37C 0170+00 0/0 7/7 4/4 .text OSSuspendThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSSuspendThread(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSuspendThread.s" -} -#pragma pop - -/* 80341BAC-80341C98 33C4EC 00EC+00 0/0 12/12 0/0 .text OSSleepThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSSleepThread(OSThreadQueue* queue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSleepThread.s" -} -#pragma pop - -/* 80341C98-80341D9C 33C5D8 0104+00 3/3 13/13 0/0 .text OSWakeupThread */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void OSWakeupThread(OSThreadQueue* queue) { - nofralloc -#include "asm/dolphin/os/OSThread/OSWakeupThread.s" -} -#pragma pop - -/* 80341D9C-80341E5C 33C6DC 00C0+00 0/0 1/1 0/0 .text OSSetThreadPriority */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSSetThreadPriority(OSThread* thread, s32 priority) { - nofralloc -#include "asm/dolphin/os/OSThread/OSSetThreadPriority.s" -} -#pragma pop - -/* 80341E5C-80341E64 33C79C 0008+00 0/0 4/4 0/0 .text OSGetThreadPriority */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSGetThreadPriority(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/OSGetThreadPriority.s" -} -#pragma pop - -/* 80341E64-80341F00 33C7A4 009C+00 1/1 0/0 0/0 .text CheckThreadQueue */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm s32 CheckThreadQueue(OSThread* thread) { - nofralloc -#include "asm/dolphin/os/OSThread/CheckThreadQueue.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 803D0838-803D0898 02D958 005F+01 1/1 0/0 0/0 .data @831 */ -SECTION_DATA static u8 lit_831[95 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x5D, - 0x2E, - 0x68, - 0x65, - 0x61, - 0x64, - 0x20, - 0x21, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x26, - 0x26, - 0x20, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x5D, - 0x2E, - 0x74, - 0x61, - 0x69, - 0x6C, - 0x20, - 0x21, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; - -/* 803D0898-803D08A4 02D9B8 000B+01 0/1 0/0 0/0 .data @832 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_832[11 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2E, - 0x63, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803D08A4-803D0904 02D9C4 005F+01 0/1 0/0 0/0 .data @834 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_834[95 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x5D, - 0x2E, - 0x68, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x26, - 0x26, - 0x20, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x5D, - 0x2E, - 0x74, - 0x61, - 0x69, - 0x6C, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803D0904-803D094C 02DA24 0046+02 0/1 0/0 0/0 .data @835 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_835[70 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x28, - 0x26, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x5D, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D094C-803D09CC 02DA6C 007E+02 0/1 0/0 0/0 .data @836 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_836[126 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x2E, - 0x68, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x7C, - 0x7C, - 0x20, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x2E, - 0x68, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x70, - 0x72, - 0x65, - 0x76, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D09CC-803D0A4C 02DAEC 007E+02 0/1 0/0 0/0 .data @837 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_837[126 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x2E, - 0x74, - 0x61, - 0x69, - 0x6C, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x7C, - 0x7C, - 0x20, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x2E, - 0x74, - 0x61, - 0x69, - 0x6C, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x6E, - 0x65, - 0x78, - 0x74, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0A4C-803D0AC8 02DB6C 007A+02 0/1 0/0 0/0 .data @838 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_838[122 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x6E, - 0x65, - 0x78, - 0x74, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x7C, - 0x7C, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x6E, - 0x65, - 0x78, - 0x74, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x70, - 0x72, - 0x65, - 0x76, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0AC8-803D0B44 02DBE8 007A+02 0/1 0/0 0/0 .data @839 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_839[122 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x70, - 0x72, - 0x65, - 0x76, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x7C, - 0x7C, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x70, - 0x72, - 0x65, - 0x76, - 0x2D, - 0x3E, - 0x6C, - 0x69, - 0x6E, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x2E, - 0x6E, - 0x65, - 0x78, - 0x74, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0B44-803D0B98 02DC64 0051+03 0/1 0/0 0/0 .data @840 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_840[81 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x2A, - 0x28, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x73, - 0x74, - 0x61, - 0x63, - 0x6B, - 0x45, - 0x6E, - 0x64, - 0x29, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4F, - 0x53, - 0x5F, - 0x54, - 0x48, - 0x52, - 0x45, - 0x41, - 0x44, - 0x5F, - 0x53, - 0x54, - 0x41, - 0x43, - 0x4B, - 0x5F, - 0x4D, - 0x41, - 0x47, - 0x49, - 0x43, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0B98-803D0C0C 02DCB8 0071+03 0/1 0/0 0/0 .data @841 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_841[113 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x4F, - 0x53, - 0x5F, - 0x50, - 0x52, - 0x49, - 0x4F, - 0x52, - 0x49, - 0x54, - 0x59, - 0x5F, - 0x4D, - 0x49, - 0x4E, - 0x20, - 0x3C, - 0x3D, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x20, - 0x26, - 0x26, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x20, - 0x3C, - 0x3D, - 0x20, - 0x4F, - 0x53, - 0x5F, - 0x50, - 0x52, - 0x49, - 0x4F, - 0x52, - 0x49, - 0x54, - 0x59, - 0x5F, - 0x4D, - 0x41, - 0x58, - 0x2B, - 0x31, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0C0C-803D0C48 02DD2C 0039+03 0/1 0/0 0/0 .data @842 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_842[57 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x30, - 0x20, - 0x3C, - 0x3D, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x73, - 0x75, - 0x73, - 0x70, - 0x65, - 0x6E, - 0x64, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0C48-803D0C94 02DD68 0049+03 0/1 0/0 0/0 .data @843 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_843[73 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x28, - 0x26, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x4A, - 0x6F, - 0x69, - 0x6E, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0C94-803D0CE8 02DDB4 0051+03 0/1 0/0 0/0 .data @844 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_844[81 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x26, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x5D, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0CE8-803D0D3C 02DE08 0052+02 0/1 0/0 0/0 .data @845 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_845[82 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x49, - 0x73, - 0x4D, - 0x65, - 0x6D, - 0x62, - 0x65, - 0x72, - 0x28, - 0x26, - 0x52, - 0x75, - 0x6E, - 0x51, - 0x75, - 0x65, - 0x75, - 0x65, - 0x5B, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x5D, - 0x2C, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0D3C-803D0D98 02DE5C 0059+03 0/1 0/0 0/0 .data @846 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_846[89 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x47, - 0x65, - 0x74, - 0x45, - 0x66, - 0x66, - 0x65, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x50, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x28, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0D98-803D0DDC 02DEB8 0042+02 0/1 0/0 0/0 .data @847 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_847[66 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x21, - 0x49, - 0x73, - 0x53, - 0x75, - 0x73, - 0x70, - 0x65, - 0x6E, - 0x64, - 0x65, - 0x64, - 0x28, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x73, - 0x75, - 0x73, - 0x70, - 0x65, - 0x6E, - 0x64, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0DDC-803D0E18 02DEFC 003A+02 0/1 0/0 0/0 .data @848 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_848[58 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0E18-803D0E54 02DF38 003A+02 0/1 0/0 0/0 .data @849 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_849[58 + 2 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x20, - 0x21, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 803D0E54-803D0E98 02DF74 0044+00 0/1 0/0 0/0 .data @850 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_850[68] = { - 0x4F, 0x53, 0x43, 0x68, 0x65, 0x63, 0x6B, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x3A, 0x20, 0x46, 0x61, 0x69, 0x6C, 0x65, 0x64, - 0x20, 0x43, 0x68, 0x65, 0x63, 0x6B, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x28, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x2D, 0x3E, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x29, 0x20, 0x69, 0x6E, 0x20, 0x25, 0x64, 0x0A, 0x00, -}; -#pragma pop - -/* 803D0E98-803D0EDC 02DFB8 0044+00 0/1 0/0 0/0 .data @851 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_851[68] = { - 0x4F, 0x53, 0x43, 0x68, 0x65, 0x63, 0x6B, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x3A, 0x20, 0x46, 0x61, 0x69, 0x6C, 0x65, 0x64, - 0x20, 0x49, 0x73, 0x4D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x28, 0x74, 0x68, 0x72, 0x65, - 0x61, 0x64, 0x2D, 0x3E, 0x71, 0x75, 0x65, 0x75, 0x65, 0x2C, 0x20, 0x74, 0x68, 0x72, - 0x65, 0x61, 0x64, 0x29, 0x20, 0x69, 0x6E, 0x20, 0x25, 0x64, 0x0A, 0x00, -}; -#pragma pop - -/* 803D0EDC-803D0F18 02DFFC 003B+01 0/1 0/0 0/0 .data @852 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_852[59 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x69, - 0x74, - 0x79, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x33, - 0x32, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803D0F18-803D0F58 02E038 003F+01 0/1 0/0 0/0 .data @853 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_853[63 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x21, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x44, - 0x65, - 0x61, - 0x64, - 0x4C, - 0x6F, - 0x63, - 0x6B, - 0x28, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803D0F58-803D0FC0 02E078 0067+01 0/1 0/0 0/0 .data @854 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_854[103 + 1 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x4D, - 0x75, - 0x74, - 0x65, - 0x78, - 0x2E, - 0x68, - 0x65, - 0x61, - 0x64, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x26, - 0x26, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x2D, - 0x3E, - 0x71, - 0x75, - 0x65, - 0x75, - 0x65, - 0x4D, - 0x75, - 0x74, - 0x65, - 0x78, - 0x2E, - 0x74, - 0x61, - 0x69, - 0x6C, - 0x20, - 0x3D, - 0x3D, - 0x20, - 0x4E, - 0x55, - 0x4C, - 0x4C, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; -#pragma pop - -/* 803D0FC0-803D1008 02E0E0 0045+03 0/1 0/0 0/0 .data @855 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_855[69 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x2E, - 0x20, - 0x75, - 0x6E, - 0x6B, - 0x6F, - 0x77, - 0x6E, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x73, - 0x74, - 0x61, - 0x74, - 0x65, - 0x20, - 0x28, - 0x25, - 0x64, - 0x29, - 0x20, - 0x6F, - 0x66, - 0x20, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x20, - 0x25, - 0x70, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 803D1008-803D1048 02E128 003D+03 0/1 0/0 0/0 .data @856 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 lit_856[61 + 3 /* padding */] = { - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x41, - 0x63, - 0x74, - 0x69, - 0x76, - 0x65, - 0x54, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x73, - 0x3A, - 0x20, - 0x46, - 0x61, - 0x69, - 0x6C, - 0x65, - 0x64, - 0x20, - 0x5F, - 0x5F, - 0x4F, - 0x53, - 0x43, - 0x68, - 0x65, - 0x63, - 0x6B, - 0x4D, - 0x75, - 0x74, - 0x65, - 0x78, - 0x65, - 0x73, - 0x28, - 0x74, - 0x68, - 0x72, - 0x65, - 0x61, - 0x64, - 0x29, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x25, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; -#pragma pop - -/* 804509BC-804509C0 00043C 0001+03 1/1 0/0 0/0 .sdata @833 */ -SECTION_SDATA static u8 lit_833[1 + 3 /* padding */] = { - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; - -/* 80341F00-80342650 33C840 0750+00 0/0 1/1 0/0 .text OSCheckActiveThreads */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 OSCheckActiveThreads(void) { - nofralloc -#include "asm/dolphin/os/OSThread/OSCheckActiveThreads.s" -} -#pragma pop - -/* 80342650-803426FC 33CF90 00AC+00 1/1 0/0 0/0 .text OSClearStack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void OSClearStack(u32 value) { - nofralloc -#include "asm/dolphin/os/OSThread/OSClearStack.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804516D0-804516D8 000BD0 0008+00 0/0 2/1 0/0 .sbss None */ -extern u8 data_804516D0[8]; -u8 data_804516D0[8]; diff --git a/libs/dolphin/os/OSTime.cpp b/libs/dolphin/os/OSTime.c similarity index 64% rename from libs/dolphin/os/OSTime.cpp rename to libs/dolphin/os/OSTime.c index 470cd3e677..0d7b86abe0 100644 --- a/libs/dolphin/os/OSTime.cpp +++ b/libs/dolphin/os/OSTime.c @@ -5,41 +5,56 @@ #include "dolphin/os/OSTime.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "dolphin/os/OSInterrupt.h" // // External References: // -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __div2i(); -extern "C" void __mod2i(); +void __div2i(); +void __mod2i(); // // Declarations: // /* 803426FC-80342714 33D03C 0018+00 1/1 33/33 0/0 .text OSGetTime */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off asm OSTime OSGetTime(void) { - nofralloc -#include "asm/dolphin/os/OSTime/OSGetTime.s" -} -#pragma pop - -/* 80342714-8034271C -00001 0008+00 0/0 0/0 0/0 .text OSGetTick */ -asm OSTick OSGetTick(void) { // clang-format off nofralloc - mftb r3, 0x10c + + mftbu r3 + mftb r4, 0x10C + + mftbu r5 + cmpw r3, r5 + bne OSGetTime + + blr + // clang-format on +} + +/* 80342714-8034271C -00001 0008+00 0/0 0/0 0/0 .text OSGetTick */ +asm OSTick OSGetTick(void){ + // clang-format off + nofralloc + + mftb r3, 0x10C blr // clang-format on } /* 8034271C-80342780 33D05C 0064+00 0/0 16/16 0/0 .text __OSGetSystemTime */ +// matches with mwcc 1.2.5e +#ifdef NONMATCHING +OSTime __OSGetSystemTime(void) { + s32 pad; + const BOOL intr = OSDisableInterrupts(); + const OSTime time = OSGetTime() + OS_SYSTEM_TIME; + OSRestoreInterrupts(intr); + return time; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -48,6 +63,7 @@ asm OSTime __OSGetSystemTime(void) { #include "asm/dolphin/os/OSTime/__OSGetSystemTime.s" } #pragma pop +#endif /* 80342780-803427D8 33D0C0 0058+00 0/0 1/1 0/0 .text __OSTimeToSystemTime */ #pragma push @@ -61,17 +77,15 @@ asm OSTime __OSTimeToSystemTime(OSTime time) { /* ############################################################################################## */ /* 803D1048-803D1078 02E168 0030+00 1/1 0/0 0/0 .data YearDays */ -SECTION_DATA static u8 YearDays[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x5A, - 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xD4, - 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x01, 0x11, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00, 0x01, 0x4E, +// End of each month in standard year +static s32 YearDays[] = { + 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, }; /* 803D1078-803D10A8 02E198 0030+00 1/1 0/0 0/0 .data LeapYearDays */ -SECTION_DATA static u8 LeapYearDays[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x5B, - 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0xD5, - 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x01, 0x31, 0x00, 0x00, 0x01, 0x4F, +// End of each month in leap year +static s32 LeapYearDays[] = { + 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, }; /* 803427D8-80342974 33D118 019C+00 1/1 0/0 0/0 .text GetDates */ diff --git a/libs/dolphin/os/__ppc_eabi_init.cpp b/libs/dolphin/os/__ppc_eabi_init.c similarity index 90% rename from libs/dolphin/os/__ppc_eabi_init.cpp rename to libs/dolphin/os/__ppc_eabi_init.c index 758c52fc96..8aef493899 100644 --- a/libs/dolphin/os/__ppc_eabi_init.cpp +++ b/libs/dolphin/os/__ppc_eabi_init.c @@ -11,15 +11,15 @@ // Forward References: // -extern "C" void __init_user(); -extern "C" void __init_cpp(); -extern "C" void _ExitProcess(); +void __init_user(); +void __init_cpp(); +void _ExitProcess(); // // External References: // -extern "C" void PPCHalt(); +void PPCHalt(); SECTION_CTORS10 extern void* const __init_cpp_exceptions_reference; // diff --git a/libs/dolphin/pad/Makefile b/libs/dolphin/pad/Makefile index e49e2cc240..18a8251032 100644 --- a/libs/dolphin/pad/Makefile +++ b/libs/dolphin/pad/Makefile @@ -3,14 +3,16 @@ # LIBPAD_A_CPP_FILES := \ - libs/dolphin/pad/Padclamp.cpp \ - libs/dolphin/pad/Pad.cpp \ + libs/dolphin/pad/Padclamp.c \ + libs/dolphin/pad/Pad.c \ LIBPAD_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/pad/Padclamp.o \ $(BUILD_DIR)/libs/dolphin/pad/Pad.o \ LIBPAD_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBPAD_A_LDFLAGS := \ -nodefaults \ @@ -23,9 +25,9 @@ $(BUILD_DIR)/libpad.a: $(LIBPAD_A_O_FILES) @echo $(LIBPAD_A_O_FILES) > build/LIBPAD_A_ofiles @$(LD) -xm l $(LIBPAD_A_LDFLAGS) -o $(BUILD_DIR)/libpad.a @build/LIBPAD_A_ofiles -$(BUILD_DIR)/libs/dolphin/pad/%.o: libs/dolphin/pad/%.cpp +$(BUILD_DIR)/libs/dolphin/pad/%.o: libs/dolphin/pad/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBPAD_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBPAD_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/pad/Pad.cpp b/libs/dolphin/pad/Pad.c similarity index 79% rename from libs/dolphin/pad/Pad.cpp rename to libs/dolphin/pad/Pad.c index da12bfaa2e..b963c96a2c 100644 --- a/libs/dolphin/pad/Pad.cpp +++ b/libs/dolphin/pad/Pad.c @@ -11,49 +11,49 @@ // Forward References: // -extern "C" static void UpdateOrigin(); -extern "C" static void PADOriginCallback(); -extern "C" static void PADOriginUpdateCallback(); -extern "C" static void PADProbeCallback(); -extern "C" static void PADTypeAndStatusCallback(); -extern "C" static void PADReceiveCheckCallback(); -extern "C" static void SPEC0_MakeStatus(); -extern "C" static void SPEC1_MakeStatus(); -extern "C" static void SPEC2_MakeStatus(); -extern "C" static void OnReset(); -extern "C" static void SamplingHandler(); -extern "C" static void PADSetSamplingCallback(); -extern "C" void __PADDisableRecalibration(); +static void UpdateOrigin(); +static void PADOriginCallback(); +static void PADOriginUpdateCallback(); +static void PADProbeCallback(); +static void PADTypeAndStatusCallback(); +static void PADReceiveCheckCallback(); +static void SPEC0_MakeStatus(); +static void SPEC1_MakeStatus(); +static void SPEC2_MakeStatus(); +static void OnReset(); +static void SamplingHandler(); +static void PADSetSamplingCallback(); +void __PADDisableRecalibration(); // // External References: // SECTION_INIT void memset(); -extern "C" void OSRegisterVersion(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void OSRegisterResetFunction(); -extern "C" void OSSetWirelessID(); -extern "C" void OSGetTime(); -extern "C" void SIBusy(); -extern "C" void SIIsChanBusy(); -extern "C" void SIRegisterPollingHandler(); -extern "C" void SIUnregisterPollingHandler(); -extern "C" void SIGetStatus(); -extern "C" void SISetCommand(); -extern "C" void SITransferCommands(); -extern "C" void SIEnablePolling(); -extern "C" void SIDisablePolling(); -extern "C" void SIGetResponse(); -extern "C" void SITransfer(); -extern "C" void SIGetType(); -extern "C" void SIGetTypeAsync(); -extern "C" void SIRefreshSamplingRate(); -extern "C" void __shr2i(); -extern "C" extern u8 __PADFixBits[4 + 4 /* padding */]; +void OSRegisterVersion(); +void OSSetCurrentContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void OSRegisterResetFunction(); +void OSSetWirelessID(); +void OSGetTime(); +void SIBusy(); +void SIIsChanBusy(); +void SIRegisterPollingHandler(); +void SIUnregisterPollingHandler(); +void SIGetStatus(); +void SISetCommand(); +void SITransferCommands(); +void SIEnablePolling(); +void SIDisablePolling(); +void SIGetResponse(); +void SITransfer(); +void SIGetType(); +void SIGetTypeAsync(); +void SIRefreshSamplingRate(); +void __shr2i(); +extern u8 __PADFixBits[4 + 4 /* padding */]; // // Declarations: @@ -61,81 +61,7 @@ extern "C" extern u8 __PADFixBits[4 + 4 /* padding */]; /* ############################################################################################## */ /* 803D1B48-803D1B90 02EC68 0045+03 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x50, - 0x41, - 0x44, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x34, - 0x3A, - 0x34, - 0x39, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - PAD\trelease build: Apr 5 2004 04:14:49 (0x2301) >>"; /* 8044CB70-8044CB80 079890 0010+00 3/3 0/0 0/0 .bss Type */ static u8 Type[16]; @@ -258,7 +184,7 @@ static asm void PADReceiveCheckCallback() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s32 PADReset(PADMask mask) { +asm BOOL PADReset(u32 mask) { nofralloc #include "asm/dolphin/pad/Pad/PADReset.s" } @@ -268,7 +194,7 @@ asm s32 PADReset(PADMask mask) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm s32 PADRecalibrate(PADMask mask) { +asm BOOL PADRecalibrate(u32 mask) { nofralloc #include "asm/dolphin/pad/Pad/PADRecalibrate.s" } @@ -313,7 +239,7 @@ asm u32 PADInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm u32 PADRead(PADStatus*) { +asm void PADRead(PADStatus* status) { nofralloc #include "asm/dolphin/pad/Pad/PADRead.s" } diff --git a/libs/dolphin/pad/Padclamp.cpp b/libs/dolphin/pad/Padclamp.c similarity index 94% rename from libs/dolphin/pad/Padclamp.cpp rename to libs/dolphin/pad/Padclamp.c index 2c7f8f6703..aa5e4a5136 100644 --- a/libs/dolphin/pad/Padclamp.cpp +++ b/libs/dolphin/pad/Padclamp.c @@ -11,10 +11,10 @@ // Forward References: // -extern "C" static void ClampStick(); -extern "C" static void ClampCircle(); -extern "C" void PADClamp(); -extern "C" void PADClampCircle(); +static void ClampStick(); +static void ClampCircle(); +void PADClamp(); +void PADClampCircle(); // // External References: diff --git a/libs/dolphin/si/Makefile b/libs/dolphin/si/Makefile index 0102fb62ac..f79ca0af02 100644 --- a/libs/dolphin/si/Makefile +++ b/libs/dolphin/si/Makefile @@ -3,14 +3,16 @@ # LIBSI_A_CPP_FILES := \ - libs/dolphin/si/SIBios.cpp \ - libs/dolphin/si/SISamplingRate.cpp \ + libs/dolphin/si/SIBios.c \ + libs/dolphin/si/SISamplingRate.c \ LIBSI_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/si/SIBios.o \ $(BUILD_DIR)/libs/dolphin/si/SISamplingRate.o \ LIBSI_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBSI_A_LDFLAGS := \ -nodefaults \ @@ -23,9 +25,9 @@ $(BUILD_DIR)/libsi.a: $(LIBSI_A_O_FILES) @echo $(LIBSI_A_O_FILES) > build/LIBSI_A_ofiles @$(LD) -xm l $(LIBSI_A_LDFLAGS) -o $(BUILD_DIR)/libsi.a @build/LIBSI_A_ofiles -$(BUILD_DIR)/libs/dolphin/si/%.o: libs/dolphin/si/%.cpp +$(BUILD_DIR)/libs/dolphin/si/%.o: libs/dolphin/si/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBSI_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBSI_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/si/SIBios.cpp b/libs/dolphin/si/SIBios.c similarity index 72% rename from libs/dolphin/si/SIBios.cpp rename to libs/dolphin/si/SIBios.c index c8a5e9656d..3b9e8044a6 100644 --- a/libs/dolphin/si/SIBios.cpp +++ b/libs/dolphin/si/SIBios.c @@ -11,45 +11,45 @@ // Forward References: // -extern "C" void SIBusy(); -extern "C" void SIIsChanBusy(); -extern "C" static void CompleteTransfer(); -extern "C" static void SIInterruptHandler(); -extern "C" static void SIEnablePollingInterrupt(); -extern "C" void SIRegisterPollingHandler(); -extern "C" void SIUnregisterPollingHandler(); -extern "C" void SIInit(); -extern "C" void __SITransfer(); -extern "C" void SIGetStatus(); -extern "C" void SISetCommand(); -extern "C" void SITransferCommands(); -extern "C" void SISetXY(); -extern "C" void SIEnablePolling(); -extern "C" void SIDisablePolling(); -extern "C" static void SIGetResponseRaw(); -extern "C" void SIGetResponse(); -extern "C" static void AlarmHandler(); -extern "C" void SITransfer(); -extern "C" static void GetTypeCallback(); -extern "C" void SIGetType(); -extern "C" void SIGetTypeAsync(); +void SIBusy(); +void SIIsChanBusy(); +static void CompleteTransfer(); +static void SIInterruptHandler(); +static void SIEnablePollingInterrupt(); +void SIRegisterPollingHandler(); +void SIUnregisterPollingHandler(); +void SIInit(); +void __SITransfer(); +void SIGetStatus(); +void SISetCommand(); +void SITransferCommands(); +void SISetXY(); +void SIEnablePolling(); +void SIDisablePolling(); +static void SIGetResponseRaw(); +void SIGetResponse(); +static void AlarmHandler(); +void SITransfer(); +static void GetTypeCallback(); +void SIGetType(); +void SIGetTypeAsync(); // // External References: // -extern "C" void OSRegisterVersion(); -extern "C" void OSSetAlarm(); -extern "C" void OSCancelAlarm(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void OSGetWirelessID(); -extern "C" void OSSetWirelessID(); -extern "C" void __OSGetSystemTime(); -extern "C" void SISetSamplingRate(); -extern "C" void VIGetCurrentLine(); +void OSRegisterVersion(); +void OSSetAlarm(); +void OSCancelAlarm(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSUnmaskInterrupts(); +void OSGetWirelessID(); +void OSSetWirelessID(); +void __OSGetSystemTime(); +void SISetSamplingRate(); +void VIGetCurrentLine(); // // Declarations: @@ -57,13 +57,7 @@ extern "C" void VIGetCurrentLine(); /* ############################################################################################## */ /* 803D11B8-803D11FC 02E2D8 0044+00 4/3 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[68] = { - 0x3C, 0x3C, 0x20, 0x44, 0x6F, 0x6C, 0x70, 0x68, 0x69, 0x6E, 0x20, 0x53, 0x44, 0x4B, - 0x20, 0x2D, 0x20, 0x53, 0x49, 0x09, 0x72, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, - 0x62, 0x75, 0x69, 0x6C, 0x64, 0x3A, 0x20, 0x41, 0x70, 0x72, 0x20, 0x20, 0x35, 0x20, - 0x32, 0x30, 0x30, 0x34, 0x20, 0x30, 0x34, 0x3A, 0x31, 0x34, 0x3A, 0x31, 0x36, 0x20, - 0x28, 0x30, 0x78, 0x32, 0x33, 0x30, 0x31, 0x29, 0x20, 0x3E, 0x3E, 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - SI\trelease build: Apr 5 2004 04:14:16 (0x2301) >>"; /* 803D11FC-803D1210 02E31C 0014+00 8/11 0/0 0/0 .data Si */ SECTION_DATA static u8 Si[20] = { @@ -359,199 +353,67 @@ asm void SIGetTypeAsync() { /* 803D1220-803D122C 02E340 000C+00 0/0 0/0 0/0 .data @457 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_457[12] = { - 0x4E, 0x6F, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x00, -}; +SECTION_DATA static char lit_457[] = "No response"; #pragma pop /* 803D122C-803D123C 02E34C 000F+01 0/0 0/0 0/0 .data @459 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_459[15 + 1 /* padding */] = { - 0x4E, - 0x36, - 0x34, - 0x20, - 0x63, - 0x6F, - 0x6E, - 0x74, - 0x72, - 0x6F, - 0x6C, - 0x6C, - 0x65, - 0x72, - 0x00, - /* padding */ - 0x00, -}; +SECTION_DATA static char lit_459[] = "N64 controller"; #pragma pop /* 803D123C-803D124C 02E35C 000F+01 0/0 0/0 0/0 .data @460 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_460[15 + 1 /* padding */] = { - 0x4E, - 0x36, - 0x34, - 0x20, - 0x6D, - 0x69, - 0x63, - 0x72, - 0x6F, - 0x70, - 0x68, - 0x6F, - 0x6E, - 0x65, - 0x00, - /* padding */ - 0x00, -}; +SECTION_DATA static char lit_460[] = "N64 microphone"; #pragma pop /* 803D124C-803D125C 02E36C 000D+03 0/0 0/0 0/0 .data @461 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_461[13 + 3 /* padding */] = { - 0x4E, - 0x36, - 0x34, - 0x20, - 0x6B, - 0x65, - 0x79, - 0x62, - 0x6F, - 0x61, - 0x72, - 0x64, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_461[] = "N64 keyboard"; #pragma pop /* 803D125C-803D1268 02E37C 000A+02 0/0 0/0 0/0 .data @462 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_462[10 + 2 /* padding */] = { - 0x4E, - 0x36, - 0x34, - 0x20, - 0x6D, - 0x6F, - 0x75, - 0x73, - 0x65, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_462[] = "N64 mouse"; #pragma pop /* 803D1268-803D1278 02E388 0010+00 0/0 0/0 0/0 .data @463 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_463[16] = { - 0x47, 0x61, 0x6D, 0x65, 0x42, 0x6F, 0x79, 0x20, 0x41, 0x64, 0x76, 0x61, 0x6E, 0x63, 0x65, 0x00, -}; +SECTION_DATA static char lit_463[] = "GameBoy Advance"; #pragma pop /* 803D1278-803D128C 02E398 0014+00 0/0 0/0 0/0 .data @464 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_464[20] = { - 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x63, - 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x72, 0x00, -}; +SECTION_DATA static char lit_464[] = "Standard controller"; #pragma pop /* 803D128C-803D12A0 02E3AC 0012+02 0/0 0/0 0/0 .data @465 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_465[18 + 2 /* padding */] = { - 0x57, - 0x69, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x73, - 0x73, - 0x20, - 0x72, - 0x65, - 0x63, - 0x65, - 0x69, - 0x76, - 0x65, - 0x72, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_465[] = "Wireless receiver"; #pragma pop /* 803D12A0-803D12B4 02E3C0 0014+00 0/0 0/0 0/0 .data @466 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_466[20] = { - 0x57, 0x61, 0x76, 0x65, 0x42, 0x69, 0x72, 0x64, 0x20, 0x63, - 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x72, 0x00, -}; +SECTION_DATA static char lit_466[] = "WaveBird controller"; #pragma pop /* 803D12B4-803D12C0 02E3D4 0009+03 0/0 0/0 0/0 .data @467 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_467[9 + 3 /* padding */] = { - 0x4B, - 0x65, - 0x79, - 0x62, - 0x6F, - 0x61, - 0x72, - 0x64, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_467[] = "Keyboard"; #pragma pop /* 803D12C0-803D12D0 02E3E0 0009+07 0/0 0/0 0/0 .data @468 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_468[9 + 7 /* padding */] = { - 0x53, - 0x74, - 0x65, - 0x65, - 0x72, - 0x69, - 0x6E, - 0x67, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_468[] = "Steering"; #pragma pop /* 8044C820-8044C830 079540 0010+00 0/0 0/0 0/0 .bss cmdFixDevice$327 */ diff --git a/libs/dolphin/si/SISamplingRate.cpp b/libs/dolphin/si/SISamplingRate.c similarity index 69% rename from libs/dolphin/si/SISamplingRate.cpp rename to libs/dolphin/si/SISamplingRate.c index bb7b4b4bdc..4bf5ca3d4a 100644 --- a/libs/dolphin/si/SISamplingRate.cpp +++ b/libs/dolphin/si/SISamplingRate.c @@ -11,18 +11,18 @@ // Forward References: // -extern "C" void SISetSamplingRate(); -extern "C" void SIRefreshSamplingRate(); +void SISetSamplingRate(); +void SIRefreshSamplingRate(); // // External References: // -extern "C" void OSReport(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void SISetXY(); -extern "C" void VIGetTvFormat(); +void OSReport(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void SISetXY(); +void VIGetTvFormat(); // // Declarations: @@ -49,65 +49,7 @@ SECTION_DATA static u8 XYPAL[48] = { /* 803D1330-803D1368 02E450 0033+05 0/1 0/0 0/0 .data @16 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_16[51 + 5 /* padding */] = { - 0x53, - 0x49, - 0x53, - 0x65, - 0x74, - 0x53, - 0x61, - 0x6D, - 0x70, - 0x6C, - 0x69, - 0x6E, - 0x67, - 0x52, - 0x61, - 0x74, - 0x65, - 0x3A, - 0x20, - 0x75, - 0x6E, - 0x6B, - 0x6E, - 0x6F, - 0x77, - 0x6E, - 0x20, - 0x54, - 0x56, - 0x20, - 0x66, - 0x6F, - 0x72, - 0x6D, - 0x61, - 0x74, - 0x2E, - 0x20, - 0x55, - 0x73, - 0x65, - 0x20, - 0x64, - 0x65, - 0x66, - 0x61, - 0x75, - 0x6C, - 0x74, - 0x2E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_16[] = "SISetSamplingRate: unknown TV format. Use default."; #pragma pop /* 80451700-80451708 000C00 0004+04 2/2 0/0 0/0 .sbss SamplingRate */ diff --git a/libs/dolphin/vi/Makefile b/libs/dolphin/vi/Makefile index dd66f4e1a5..08cfcd0805 100644 --- a/libs/dolphin/vi/Makefile +++ b/libs/dolphin/vi/Makefile @@ -3,12 +3,14 @@ # LIBVI_A_CPP_FILES := \ - libs/dolphin/vi/vi.cpp \ + libs/dolphin/vi/vi.c \ LIBVI_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/vi/vi.o \ LIBVI_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBVI_A_LDFLAGS := \ -nodefaults \ @@ -21,9 +23,9 @@ $(BUILD_DIR)/libvi.a: $(LIBVI_A_O_FILES) @echo $(LIBVI_A_O_FILES) > build/LIBVI_A_ofiles @$(LD) -xm l $(LIBVI_A_LDFLAGS) -o $(BUILD_DIR)/libvi.a @build/LIBVI_A_ofiles -$(BUILD_DIR)/libs/dolphin/vi/%.o: libs/dolphin/vi/%.cpp +$(BUILD_DIR)/libs/dolphin/vi/%.o: libs/dolphin/vi/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBVI_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBVI_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/libs/dolphin/vi/vi.cpp b/libs/dolphin/vi/vi.c similarity index 73% rename from libs/dolphin/vi/vi.cpp rename to libs/dolphin/vi/vi.c index 5807dfcf2f..0fec2d2804 100644 --- a/libs/dolphin/vi/vi.cpp +++ b/libs/dolphin/vi/vi.c @@ -11,42 +11,28 @@ // Forward References: // -extern "C" void __VIRetraceHandler(); -extern "C" static void getTiming(); -extern "C" void __VIInit(); -extern "C" static void setFbbRegs(); -extern "C" static void setVerticalRegs(); -extern "C" u32 VIGetRetraceCount(); -extern "C" static void GetCurrentDisplayPosition(); -extern "C" static void getCurrentFieldEvenOdd(); -extern "C" void VIGetNextField(); -extern "C" void VIGetCurrentLine(); -extern "C" void VIGetTvFormat(); -extern "C" void VIGetDTVStatus(); -extern "C" void __VIDisplayPositionToXY(); -extern "C" void __VIGetCurrentPosition(); +void __VIRetraceHandler(); +static void getTiming(); +void __VIInit(); +static void setFbbRegs(); +static void setVerticalRegs(); +u32 VIGetRetraceCount(); +static void GetCurrentDisplayPosition(); +static void getCurrentFieldEvenOdd(); +void VIGetNextField(); +void VIGetCurrentLine(); +void VIGetTvFormat(); +void VIGetDTVStatus(); +void __VIDisplayPositionToXY(); +void __VIGetCurrentPosition(); // // External References: // -extern "C" void OSReport(); -extern "C" void OSPanic(); -extern "C" void OSRegisterVersion(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void __OSLockSram(); -extern "C" void __OSUnlockSram(); -extern "C" void OSInitThreadQueue(); -extern "C" void OSSleepThread(); -extern "C" void OSWakeupThread(); -extern "C" void SIRefreshSamplingRate(); -extern "C" void __shl2i(); -extern "C" void __shr2u(); +void SIRefreshSamplingRate(); +void __shl2i(); +void __shr2u(); // // Declarations: @@ -147,13 +133,7 @@ asm VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback) { /* ############################################################################################## */ /* 803D1760-803D17A4 02E880 0044+00 4/3 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[68] = { - 0x3C, 0x3C, 0x20, 0x44, 0x6F, 0x6C, 0x70, 0x68, 0x69, 0x6E, 0x20, 0x53, 0x44, 0x4B, - 0x20, 0x2D, 0x20, 0x56, 0x49, 0x09, 0x72, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, - 0x62, 0x75, 0x69, 0x6C, 0x64, 0x3A, 0x20, 0x41, 0x70, 0x72, 0x20, 0x20, 0x37, 0x20, - 0x32, 0x30, 0x30, 0x34, 0x20, 0x30, 0x34, 0x3A, 0x31, 0x33, 0x3A, 0x35, 0x39, 0x20, - 0x28, 0x30, 0x78, 0x32, 0x33, 0x30, 0x31, 0x29, 0x20, 0x3E, 0x3E, 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - VI\trelease build: Apr 7 2004 04:13:59 (0x2301) >>"; /* 803D17A4-803D1920 02E8C4 017C+00 0/1 0/0 0/0 .data timing */ #pragma push @@ -349,411 +329,47 @@ static asm void setVerticalRegs() { /* 803D19D0-803D19FC 02EAF0 0029+03 0/1 0/0 0/0 .data @355 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_355[41 + 3 /* padding */] = { - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x2A, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_355[] = "***************************************\n"; #pragma pop /* 803D19FC-803D1A28 02EB1C 0029+03 0/1 0/0 0/0 .data @356 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_356[41 + 3 /* padding */] = { - 0x20, - 0x21, - 0x20, - 0x21, - 0x20, - 0x21, - 0x20, - 0x43, - 0x20, - 0x41, - 0x20, - 0x55, - 0x20, - 0x54, - 0x20, - 0x49, - 0x20, - 0x4F, - 0x20, - 0x4E, - 0x20, - 0x21, - 0x20, - 0x21, - 0x20, - 0x21, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_356[] = " ! ! ! C A U T I O N ! ! ! \n"; #pragma pop /* 803D1A28-803D1A54 02EB48 0029+03 0/1 0/0 0/0 .data @357 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_357[41 + 3 /* padding */] = { - 0x54, - 0x68, - 0x69, - 0x73, - 0x20, - 0x54, - 0x56, - 0x20, - 0x66, - 0x6F, - 0x72, - 0x6D, - 0x61, - 0x74, - 0x20, - 0x22, - 0x44, - 0x45, - 0x42, - 0x55, - 0x47, - 0x5F, - 0x50, - 0x41, - 0x4C, - 0x22, - 0x20, - 0x69, - 0x73, - 0x20, - 0x6F, - 0x6E, - 0x6C, - 0x79, - 0x20, - 0x66, - 0x6F, - 0x72, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_357[] = "This TV format \"DEBUG_PAL\" is only for \n"; #pragma pop /* 803D1A54-803D1A80 02EB74 0029+03 0/1 0/0 0/0 .data @358 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_358[41 + 3 /* padding */] = { - 0x74, - 0x65, - 0x6D, - 0x70, - 0x6F, - 0x72, - 0x61, - 0x72, - 0x79, - 0x20, - 0x73, - 0x6F, - 0x6C, - 0x75, - 0x74, - 0x69, - 0x6F, - 0x6E, - 0x20, - 0x75, - 0x6E, - 0x74, - 0x69, - 0x6C, - 0x20, - 0x50, - 0x41, - 0x4C, - 0x20, - 0x44, - 0x41, - 0x43, - 0x20, - 0x62, - 0x6F, - 0x61, - 0x72, - 0x64, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_358[] = "temporary solution until PAL DAC board \n"; #pragma pop /* 803D1A80-803D1AAC 02EBA0 0029+03 0/1 0/0 0/0 .data @359 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_359[41 + 3 /* padding */] = { - 0x69, - 0x73, - 0x20, - 0x61, - 0x76, - 0x61, - 0x69, - 0x6C, - 0x61, - 0x62, - 0x6C, - 0x65, - 0x2E, - 0x20, - 0x50, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x64, - 0x6F, - 0x20, - 0x4E, - 0x4F, - 0x54, - 0x20, - 0x75, - 0x73, - 0x65, - 0x20, - 0x74, - 0x68, - 0x69, - 0x73, - 0x20, - 0x20, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_359[] = "is available. Please do NOT use this \n"; #pragma pop /* 803D1AAC-803D1AD8 02EBCC 0029+03 0/1 0/0 0/0 .data @360 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_360[41 + 3 /* padding */] = { - 0x6D, - 0x6F, - 0x64, - 0x65, - 0x20, - 0x69, - 0x6E, - 0x20, - 0x72, - 0x65, - 0x61, - 0x6C, - 0x20, - 0x67, - 0x61, - 0x6D, - 0x65, - 0x73, - 0x21, - 0x21, - 0x21, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x20, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_360[] = "mode in real games!!! \n"; #pragma pop /* 803D1AD8-803D1B24 02EBF8 004B+01 0/1 0/0 0/0 .data @538 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_538[75 + 1 /* padding */] = { - 0x56, - 0x49, - 0x43, - 0x6F, - 0x6E, - 0x66, - 0x69, - 0x67, - 0x75, - 0x72, - 0x65, - 0x28, - 0x29, - 0x3A, - 0x20, - 0x54, - 0x72, - 0x69, - 0x65, - 0x64, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x63, - 0x68, - 0x61, - 0x6E, - 0x67, - 0x65, - 0x20, - 0x6D, - 0x6F, - 0x64, - 0x65, - 0x20, - 0x66, - 0x72, - 0x6F, - 0x6D, - 0x20, - 0x28, - 0x25, - 0x64, - 0x29, - 0x20, - 0x74, - 0x6F, - 0x20, - 0x28, - 0x25, - 0x64, - 0x29, - 0x2C, - 0x20, - 0x77, - 0x68, - 0x69, - 0x63, - 0x68, - 0x20, - 0x69, - 0x73, - 0x20, - 0x66, - 0x6F, - 0x72, - 0x62, - 0x69, - 0x64, - 0x64, - 0x65, - 0x6E, - 0x0A, - 0x00, - /* padding */ - 0x00, -}; +SECTION_DATA static char lit_538[] = "VIConfigure(): Tried to change mode from (%d) to (%d), which is forbidden\n"; #pragma pop /* 80450A14-80450A1C 000494 0005+03 1/1 0/0 0/0 .sdata @537 */ -SECTION_SDATA static u8 lit_537[5 + 3 /* padding */] = { - 0x76, - 0x69, - 0x2E, - 0x63, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA static char lit_537[] = "vi.c"; /* 80451840-80451848 000D40 0004+04 1/1 0/0 0/0 .sbss message$351 */ static u8 message[4 + 4 /* padding */]; diff --git a/libs/exi/EXIBios.cpp b/libs/exi/EXIBios.c similarity index 63% rename from libs/exi/EXIBios.cpp rename to libs/exi/EXIBios.c index 1d4b332681..b857b70927 100644 --- a/libs/exi/EXIBios.cpp +++ b/libs/exi/EXIBios.c @@ -11,50 +11,50 @@ // Forward References: // -extern "C" static void SetExiInterruptMask(); -extern "C" void EXIImm(); -extern "C" void EXIImmEx(); -extern "C" void EXIDma(); -extern "C" void EXISync(); -extern "C" static void EXIClearInterrupts(); -extern "C" void EXISetExiCallback(); -extern "C" void __EXIProbe(); -extern "C" void EXIProbe(); -extern "C" void EXIProbeEx(); -extern "C" void EXIAttach(); -extern "C" void EXIDetach(); -extern "C" void EXISelect(); -extern "C" void EXIDeselect(); -extern "C" static void EXIIntrruptHandler(); -extern "C" static void TCIntrruptHandler(); -extern "C" static void EXTIntrruptHandler(); -extern "C" void EXIInit(); -extern "C" void EXILock(); -extern "C" void EXIUnlock(); -extern "C" void EXIGetState(); -extern "C" static void UnlockedHandler(); -extern "C" void EXIGetID(); +static void SetExiInterruptMask(); +void EXIImm(); +void EXIImmEx(); +void EXIDma(); +void EXISync(); +static void EXIClearInterrupts(); +void EXISetExiCallback(); +void __EXIProbe(); +void EXIProbe(); +void EXIProbeEx(); +void EXIAttach(); +void EXIDetach(); +void EXISelect(); +void EXIDeselect(); +static void EXIIntrruptHandler(); +static void TCIntrruptHandler(); +static void EXTIntrruptHandler(); +void EXIInit(); +void EXILock(); +void EXIUnlock(); +void EXIGetState(); +static void UnlockedHandler(); +void EXIGetID(); // // External References: // -extern "C" void OSGetConsoleType(); -extern "C" void __OSGetDIConfig(); -extern "C" void OSRegisterVersion(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __OSSetInterruptHandler(); -extern "C" void __OSGetInterruptHandler(); -extern "C" void __OSMaskInterrupts(); -extern "C" void __OSUnmaskInterrupts(); -extern "C" void OSGetTime(); -extern "C" void __OSEnableBarnacle(); -extern "C" void __div2i(); -extern "C" void memmove(); -extern "C" extern u8 __OSInIPL[4 + 4 /* padding */]; +void OSGetConsoleType(); +void __OSGetDIConfig(); +void OSRegisterVersion(); +void OSSetCurrentContext(); +void OSClearContext(); +void OSDisableInterrupts(); +void OSRestoreInterrupts(); +void __OSSetInterruptHandler(); +void __OSGetInterruptHandler(); +void __OSMaskInterrupts(); +void __OSUnmaskInterrupts(); +void OSGetTime(); +void __OSEnableBarnacle(); +void __div2i(); +void memmove(); +extern u8 __OSInIPL[4 + 4 /* padding */]; // // Declarations: @@ -236,81 +236,7 @@ static asm void EXTIntrruptHandler() { /* ############################################################################################## */ /* 803D10A8-803D10F0 02E1C8 0045+03 1/0 0/0 0/0 .data @1 */ -SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = { - 0x3C, - 0x3C, - 0x20, - 0x44, - 0x6F, - 0x6C, - 0x70, - 0x68, - 0x69, - 0x6E, - 0x20, - 0x53, - 0x44, - 0x4B, - 0x20, - 0x2D, - 0x20, - 0x45, - 0x58, - 0x49, - 0x09, - 0x72, - 0x65, - 0x6C, - 0x65, - 0x61, - 0x73, - 0x65, - 0x20, - 0x62, - 0x75, - 0x69, - 0x6C, - 0x64, - 0x3A, - 0x20, - 0x41, - 0x70, - 0x72, - 0x20, - 0x20, - 0x35, - 0x20, - 0x32, - 0x30, - 0x30, - 0x34, - 0x20, - 0x30, - 0x34, - 0x3A, - 0x31, - 0x34, - 0x3A, - 0x31, - 0x34, - 0x20, - 0x28, - 0x30, - 0x78, - 0x32, - 0x33, - 0x30, - 0x31, - 0x29, - 0x20, - 0x3E, - 0x3E, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_1[] = "<< Dolphin SDK - EXI\trelease build: Apr 5 2004 04:14:14 (0x2301) >>"; /* 804509C0-804509C8 -00001 0004+04 1/1 0/0 0/0 .sdata __EXIVersion */ SECTION_SDATA static void* __EXIVersion[1 + 1 /* padding */] = { @@ -386,235 +312,71 @@ asm void EXIGetID() { /* 803D10F0-803D1100 02E210 000F+01 0/0 0/0 0/0 .data @473 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_473[15 + 1 /* padding */] = { - 0x4D, - 0x65, - 0x6D, - 0x6F, - 0x72, - 0x79, - 0x20, - 0x43, - 0x61, - 0x72, - 0x64, - 0x20, - 0x35, - 0x39, - 0x00, - /* padding */ - 0x00, -}; +SECTION_DATA static char lit_473[] = "Memory Card 59"; #pragma pop /* 803D1100-803D1110 02E220 0010+00 0/0 0/0 0/0 .data @474 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_474[16] = { - 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x43, 0x61, 0x72, 0x64, 0x20, 0x31, 0x32, 0x33, 0x00, -}; +SECTION_DATA static char lit_474[] = "Memory Card 123"; #pragma pop /* 803D1110-803D1120 02E230 0010+00 0/0 0/0 0/0 .data @475 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_475[16] = { - 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x43, 0x61, 0x72, 0x64, 0x20, 0x32, 0x35, 0x31, 0x00, -}; +SECTION_DATA static char lit_475[] = "Memory Card 251"; #pragma pop /* 803D1120-803D1130 02E240 0010+00 0/0 0/0 0/0 .data @476 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_476[16] = { - 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x43, 0x61, 0x72, 0x64, 0x20, 0x35, 0x30, 0x37, 0x00, -}; +SECTION_DATA static char lit_476[] = "Memory Card 507"; #pragma pop /* 803D1130-803D1144 02E250 0011+03 0/0 0/0 0/0 .data @477 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_477[17 + 3 /* padding */] = { - 0x4D, - 0x65, - 0x6D, - 0x6F, - 0x72, - 0x79, - 0x20, - 0x43, - 0x61, - 0x72, - 0x64, - 0x20, - 0x31, - 0x30, - 0x31, - 0x39, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_477[] = "Memory Card 1019"; #pragma pop /* 803D1144-803D1158 02E264 0011+03 0/0 0/0 0/0 .data @478 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_478[17 + 3 /* padding */] = { - 0x4D, - 0x65, - 0x6D, - 0x6F, - 0x72, - 0x79, - 0x20, - 0x43, - 0x61, - 0x72, - 0x64, - 0x20, - 0x32, - 0x30, - 0x34, - 0x33, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_478[] = "Memory Card 2043"; #pragma pop /* 803D1158-803D1164 02E278 000C+00 0/0 0/0 0/0 .data @479 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_479[12] = { - 0x55, 0x53, 0x42, 0x20, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x00, -}; +SECTION_DATA static char lit_479[] = "USB Adapter"; #pragma pop /* 803D1164-803D1170 02E284 0009+03 0/0 0/0 0/0 .data @485 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_485[9 + 3 /* padding */] = { - 0x4E, - 0x65, - 0x74, - 0x20, - 0x43, - 0x61, - 0x72, - 0x64, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_485[] = "Net Card"; #pragma pop /* 803D1170-803D1180 02E290 000D+03 0/0 0/0 0/0 .data @486 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_486[13 + 3 /* padding */] = { - 0x41, - 0x72, - 0x74, - 0x69, - 0x73, - 0x74, - 0x20, - 0x45, - 0x74, - 0x68, - 0x65, - 0x72, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_486[] = "Artist Ether"; #pragma pop /* 803D1180-803D1194 02E2A0 0012+02 0/0 0/0 0/0 .data @487 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_487[18 + 2 /* padding */] = { - 0x42, - 0x72, - 0x6F, - 0x61, - 0x64, - 0x62, - 0x61, - 0x6E, - 0x64, - 0x20, - 0x41, - 0x64, - 0x61, - 0x70, - 0x74, - 0x65, - 0x72, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_487[] = "Broadband Adapter"; #pragma pop /* 803D1194-803D11A4 02E2B4 000E+02 0/0 0/0 0/0 .data @489 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_489[14 + 2 /* padding */] = { - 0x53, - 0x74, - 0x72, - 0x65, - 0x61, - 0x6D, - 0x20, - 0x48, - 0x61, - 0x6E, - 0x67, - 0x65, - 0x72, - 0x00, - /* padding */ - 0x00, - 0x00, -}; +SECTION_DATA static char lit_489[] = "Stream Hanger"; #pragma pop /* 803D11A4-803D11B8 02E2C4 000E+06 0/0 0/0 0/0 .data @490 */ #pragma push #pragma force_active on -SECTION_DATA static u8 lit_490[14 + 6 /* padding */] = { - 0x49, - 0x53, - 0x2D, - 0x44, - 0x4F, - 0x4C, - 0x2D, - 0x56, - 0x49, - 0x45, - 0x57, - 0x45, - 0x52, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_DATA static char lit_490[] = "IS-DOL-VIEWER"; #pragma pop diff --git a/libs/exi/EXIUart.cpp b/libs/exi/EXIUart.c similarity index 80% rename from libs/exi/EXIUart.cpp rename to libs/exi/EXIUart.c index 5849104eb1..16da2210a0 100644 --- a/libs/exi/EXIUart.cpp +++ b/libs/exi/EXIUart.c @@ -11,25 +11,25 @@ // Forward References: // -extern "C" static void ProbeBarnacle(); -extern "C" void __OSEnableBarnacle(); -extern "C" void InitializeUART(); -extern "C" void WriteUARTN(); +static void ProbeBarnacle(); +void __OSEnableBarnacle(); +void InitializeUART(); +void WriteUARTN(); // // External References: // -extern "C" void OSGetConsoleType(); -extern "C" void EXIImm(); -extern "C" void EXISync(); -extern "C" void EXIAttach(); -extern "C" void EXIDetach(); -extern "C" void EXISelect(); -extern "C" void EXIDeselect(); -extern "C" void EXILock(); -extern "C" void EXIUnlock(); -extern "C" void EXIGetID(); +void OSGetConsoleType(); +void EXIImm(); +void EXISync(); +void EXIAttach(); +void EXIDetach(); +void EXISelect(); +void EXIDeselect(); +void EXILock(); +void EXIUnlock(); +void EXIGetID(); // // Declarations: diff --git a/libs/exi/Makefile b/libs/exi/Makefile index 56e5b8f9a8..f8ea01c439 100644 --- a/libs/exi/Makefile +++ b/libs/exi/Makefile @@ -3,14 +3,16 @@ # LIBEXI_A_CPP_FILES := \ - libs/exi/EXIBios.cpp \ - libs/exi/EXIUart.cpp \ + libs/exi/EXIBios.c \ + libs/exi/EXIUart.c \ LIBEXI_A_O_FILES := \ $(BUILD_DIR)/libs/exi/EXIBios.o \ $(BUILD_DIR)/libs/exi/EXIUart.o \ LIBEXI_A_CFLAGS := \ + -O4,p \ + -lang=c \ LIBEXI_A_LDFLAGS := \ -nodefaults \ @@ -23,9 +25,9 @@ $(BUILD_DIR)/libexi.a: $(LIBEXI_A_O_FILES) @echo $(LIBEXI_A_O_FILES) > build/LIBEXI_A_ofiles @$(LD) -xm l $(LIBEXI_A_LDFLAGS) -o $(BUILD_DIR)/libexi.a @build/LIBEXI_A_ofiles -$(BUILD_DIR)/libs/exi/%.o: libs/exi/%.cpp +$(BUILD_DIR)/libs/exi/%.o: libs/exi/%.c @mkdir -p $(@D) @echo building... $< - @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).cpp - @$(CC) $(CFLAGS) $(LIBEXI_A_CFLAGS) -c -o $@ $(basename $@).cpp + @$(ICONV) -f UTF-8 -t CP932 < $< > $(basename $@).c + @$(WINE) tools/mwcc_compiler/1.2.5/mwcceppc.exe $(CFLAGS) $(LIBEXI_A_CFLAGS) -c -o $@ $(basename $@).c diff --git a/rel/d/a/d_a_alldie/d_a_alldie.cpp b/rel/d/a/d_a_alldie/d_a_alldie.cpp index ddaeef7621..333d8087b5 100644 --- a/rel/d/a/d_a_alldie/d_a_alldie.cpp +++ b/rel/d/a/d_a_alldie/d_a_alldie.cpp @@ -6,221 +6,218 @@ #include "rel/d/a/d_a_alldie/d_a_alldie.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daAlldie_c { - /* 804D5818 */ void getEventNo(); - /* 804D5824 */ void getSwbit(); - /* 804D5830 */ bool actionWait(); - /* 804D5838 */ void actionCheck(); - /* 804D5888 */ void actionTimer(); - /* 804D5938 */ void actionOrder(); - /* 804D59A0 */ void actionEvent(); - /* 804D5A44 */ void actionNext(); - /* 804D5B10 */ void execute(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80043500 */ void searchMapEventData(u8, s32); -}; - -struct dEvent_manager_c { - /* 80047698 */ void getEventIdx(fopAc_ac_c*, u8); - /* 80047A78 */ void endCheck(s16); -}; - -// -// Forward References: -// - -extern "C" void getEventNo__10daAlldie_cFv(); -extern "C" void getSwbit__10daAlldie_cFv(); -extern "C" bool actionWait__10daAlldie_cFv(); -extern "C" void actionCheck__10daAlldie_cFv(); -extern "C" void actionTimer__10daAlldie_cFv(); -extern "C" void actionOrder__10daAlldie_cFv(); -extern "C" void actionEvent__10daAlldie_cFv(); -extern "C" void actionNext__10daAlldie_cFv(); -extern "C" void execute__10daAlldie_cFv(); -extern "C" static bool daAlldie_Draw__FP10daAlldie_c(); -extern "C" static void daAlldie_Execute__FP10daAlldie_c(); -extern "C" static bool daAlldie_IsDelete__FP10daAlldie_c(); -extern "C" static void daAlldie_Delete__FP10daAlldie_c(); -extern "C" static void daAlldie_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_ALLDIE[12]; +#include "d/com/d_com_inf_game.h" // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_myRoomSearchEnemy__FSc(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void searchMapEventData__14dEvt_control_cFUcl(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -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" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: // /* 804D5818-804D5824 000078 000C+00 2/2 0/0 0/0 .text getEventNo__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::getEventNo() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/getEventNo__10daAlldie_cFv.s" +u8 daAlldie_c::getEventNo() { + return fopAcM_GetParam(this) >> 0x18; } -#pragma pop /* 804D5824-804D5830 000084 000C+00 2/2 0/0 0/0 .text getSwbit__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::getSwbit() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/getSwbit__10daAlldie_cFv.s" +u8 daAlldie_c::getSwbit() { + return fopAcM_GetParam(this) >> 0x8; } -#pragma pop /* 804D5830-804D5838 000090 0008+00 1/1 0/0 0/0 .text actionWait__10daAlldie_cFv */ -bool daAlldie_c::actionWait() { - return true; +int daAlldie_c::actionWait() { + return 1; } /* 804D5838-804D5888 000098 0050+00 1/1 0/0 0/0 .text actionCheck__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::actionCheck() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/actionCheck__10daAlldie_cFv.s" +int daAlldie_c::actionCheck() { + s8 roomNo = fopAcM_GetRoomNo(this); + + if (fopAcM_myRoomSearchEnemy(roomNo) == NULL) { + mAction = ACT_TIMER; + mTimer = 65; + } + + return 1; } -#pragma pop /* 804D5888-804D5938 0000E8 00B0+00 1/1 0/0 0/0 .text actionTimer__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::actionTimer() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/actionTimer__10daAlldie_cFv.s" +int daAlldie_c::actionTimer() { + s8 roomNo = fopAcM_GetRoomNo(this); + + if (fopAcM_myRoomSearchEnemy(roomNo) != NULL) { + mAction = ACT_CHECK; + } else { + if (mTimer > 0) { + mTimer--; + } else { + if (mEventIdx == -1) { + mAction = ACT_WAIT; + } else { + mAction = ACT_ORDER; + } + + dComIfGs_onSwitch(getSwbit(), fopAcM_GetRoomNo(this)); + } + } + + return 1; } -#pragma pop /* 804D5938-804D59A0 000198 0068+00 1/1 0/0 0/0 .text actionOrder__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::actionOrder() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/actionOrder__10daAlldie_cFv.s" +int daAlldie_c::actionOrder() { + if (mEvtInfo.checkCommandDemoAccrpt()) { + mAction = ACT_EVENT; + } else { + fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), -1, 0, 1); + } + + return 1; } -#pragma pop /* 804D59A0-804D5A44 000200 00A4+00 2/2 0/0 0/0 .text actionEvent__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::actionEvent() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/actionEvent__10daAlldie_cFv.s" +int daAlldie_c::actionEvent() { + if (dComIfGp_evmng_endCheck(mEventIdx)) { + i_dComIfGp_getEvent().reset(); + + if (mNextEventIdx != -1) { + mAction = ACT_NEXT; + fopAcM_orderOtherEventId(this, mNextEventIdx, mMapToolID, -1, 0, 1); + } else { + mAction = ACT_WAIT; + mMapToolID = -1; + } + } + + return 1; } -#pragma pop /* 804D5A44-804D5B10 0002A4 00CC+00 1/1 0/0 0/0 .text actionNext__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::actionNext() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/actionNext__10daAlldie_cFv.s" +int daAlldie_c::actionNext() { + if (mEvtInfo.checkCommandDemoAccrpt()) { + mEventIdx = mNextEventIdx; + s8 roomNo = fopAcM_GetRoomNo(this); + + mNextEventIdx = -1; + dStage_MapEvent_dt_c* map_evt = dEvt_control_c::searchMapEventData(mMapToolID, roomNo); + + if (map_evt != NULL) { + mMapToolID = map_evt->field_0x5; + mNextEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, mMapToolID); + } else { + mMapToolID = -1; + } + + mAction = ACT_EVENT; + actionEvent(); + } else { + fopAcM_orderOtherEventId(this, mNextEventIdx, mMapToolID, -1, 0, 1); + } + + return 1; } -#pragma pop /* 804D5B10-804D5B8C 000370 007C+00 1/1 0/0 0/0 .text execute__10daAlldie_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlldie_c::execute() { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/execute__10daAlldie_cFv.s" +int daAlldie_c::execute() { + switch (mAction) { + case ACT_CHECK: + actionCheck(); + break; + case ACT_TIMER: + actionTimer(); + break; + case ACT_ORDER: + actionOrder(); + break; + case ACT_EVENT: + actionEvent(); + break; + case ACT_NEXT: + actionNext(); + break; + default: + actionWait(); + break; + } + + return 1; } -#pragma pop /* 804D5B8C-804D5B94 0003EC 0008+00 1/0 0/0 0/0 .text daAlldie_Draw__FP10daAlldie_c */ -static bool daAlldie_Draw(daAlldie_c* param_0) { - return true; +static int daAlldie_Draw(daAlldie_c*) { + return 1; } /* 804D5B94-804D5BB8 0003F4 0024+00 1/0 0/0 0/0 .text daAlldie_Execute__FP10daAlldie_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlldie_Execute(daAlldie_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Execute__FP10daAlldie_c.s" +static int daAlldie_Execute(daAlldie_c* i_this) { + i_this->execute(); + return 1; } -#pragma pop /* 804D5BB8-804D5BC0 000418 0008+00 1/0 0/0 0/0 .text daAlldie_IsDelete__FP10daAlldie_c */ -static bool daAlldie_IsDelete(daAlldie_c* param_0) { - return true; +static int daAlldie_IsDelete(daAlldie_c*) { + return 1; } /* 804D5BC0-804D5BF0 000420 0030+00 1/0 0/0 0/0 .text daAlldie_Delete__FP10daAlldie_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlldie_Delete(daAlldie_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Delete__FP10daAlldie_c.s" +static int daAlldie_Delete(daAlldie_c* i_this) { + i_this->~daAlldie_c(); + return 1; } -#pragma pop /* 804D5BF0-804D5D1C 000450 012C+00 1/0 0/0 0/0 .text daAlldie_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlldie_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_alldie/d_a_alldie/daAlldie_Create__FP10fopAc_ac_c.s" +int daAlldie_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daAlldie_c(); + fopAcM_OnCondition(this, 8); + } + + s8 roomNo = fopAcM_GetRoomNo(this); + + if (!dComIfGs_isSwitch(getSwbit(), roomNo)) { + mAction = ACT_CHECK; + } else { + mAction = ACT_WAIT; + } + + mCollisionRot.z = 0; + mCollisionRot.x = 0; + current.angle.z = 0; + current.angle.x = 0; + + mEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, getEventNo()); + mMapToolID = -1; + mNextEventIdx = -1; + + dStage_MapEvent_dt_c* map_evt = dEvt_control_c::searchMapEventData(getEventNo(), roomNo); + if (map_evt != NULL) { + mMapToolID = map_evt->field_0x5; + mNextEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, mMapToolID); + } + + mEvtInfo.setEventId(mEventIdx); + mEvtInfo.setMapToolId(getEventNo()); + + return cPhs_COMPLEATE_e; +} + +static int daAlldie_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* ############################################################################################## */ /* 804D5D24-804D5D44 -00001 0020+00 1/0 0/0 0/0 .data l_daAlldie_Method */ SECTION_DATA static void* l_daAlldie_Method[8] = { - (void*)daAlldie_Create__FP10fopAc_ac_c, - (void*)daAlldie_Delete__FP10daAlldie_c, - (void*)daAlldie_Execute__FP10daAlldie_c, - (void*)daAlldie_IsDelete__FP10daAlldie_c, - (void*)daAlldie_Draw__FP10daAlldie_c, + (void*)daAlldie_Create, + (void*)daAlldie_Delete, + (void*)daAlldie_Execute, + (void*)daAlldie_IsDelete, + (void*)daAlldie_Draw, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/d_a_arrow/d_a_arrow.cpp b/rel/d/a/d_a_arrow/d_a_arrow.cpp index de09620152..e4e0cf05ba 100644 --- a/rel/d/a/d_a_arrow/d_a_arrow.cpp +++ b/rel/d/a/d_a_arrow/d_a_arrow.cpp @@ -518,7 +518,7 @@ extern "C" extern u32 __float_nan; extern "C" extern u32 __float_max; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; -extern "C" extern u8 struct_80450D88[4]; +extern "C" extern u8 m_count__9daArrow_c[4]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); 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 af0f885222..5bd6f439f4 100644 --- a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp +++ b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp @@ -346,7 +346,7 @@ extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" f32 mRoofY__11fopAcM_rc_c; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 struct_8045101C[4]; +extern "C" extern u8 m_dropAngleY__20daPy_boomerangMove_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // diff --git a/rel/d/a/d_a_swc00/d_a_swc00.cpp b/rel/d/a/d_a_swc00/d_a_swc00.cpp index 061b7df3db..4c32ca25a0 100644 --- a/rel/d/a/d_a_swc00/d_a_swc00.cpp +++ b/rel/d/a/d_a_swc00/d_a_swc00.cpp @@ -6,47 +6,25 @@ #include "rel/d/a/d_a_swc00/d_a_swc00.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" // // Types: // -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daSwc00_c { - /* 805A15FC */ void execute(); +class daSwc00_c : public fopAc_ac_c { +public: + /* 805A15FC */ int execute(); /* 805A18E8 */ void event_proc_call(); /* 805A19A4 */ void actionWait(); /* 805A1A28 */ void actionOrderEvent(); /* 805A1A94 */ void actionEvent(); /* 805A1AF0 */ void actionDead(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dEvent_manager_c { - /* 80047698 */ void getEventIdx(fopAc_ac_c*, u8); - /* 80047A78 */ void endCheck(s16); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; + + /* 0x568 */ cXyz field_0x568; + /* 0x574 */ cXyz field_0x574; + /* 0x580 */ u16 mEventID; + /* 0x582 */ u8 mAction; }; // @@ -71,7 +49,6 @@ extern "C" extern void* g_profile_SWC00[12]; // External References: // -extern "C" void OSReport_Error(); extern "C" void mDoMtx_YrotS__FPA4_fs(); extern "C" void __ct__10fopAc_ac_cFv(); extern "C" void fopAcM_delete__FP10fopAc_ac_c(); @@ -84,12 +61,9 @@ extern "C" void reset__14dEvt_control_cFv(); extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); extern "C" void endCheck__16dEvent_manager_cFs(); extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void PSMTXMultVec(); extern "C" void __ptmf_scall(); 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 data_805A1F28[4]; // @@ -101,25 +75,71 @@ extern "C" extern u8 data_805A1F28[4]; SECTION_RODATA static f32 const lit_3708 = -100.0f; COMPILER_STRIP_GATE(0x805A1D94, &lit_3708); +inline u8 daSwc00_getCondition(daSwc00_c* i_this) { + return i_this->mCollisionRot.x; +} + +inline int daSwc00_getShape(daSwc00_c* i_this) { + return (fopAcM_GetParam(i_this) >> 0x12) & 3; +} + /* 805A13F8-805A15DC 000078 01E4+00 1/1 0/0 0/0 .text hitCheck__FP9daSwc00_c */ +// r30 / r31 swap +#ifdef NONMATCHING +static bool hitCheck(daSwc00_c* i_swc) { + fopAc_ac_c* playerAc = daPy_getPlayerActorClass(); + fopAc_ac_c* player; + + if (daSwc00_getCondition(i_swc) == 2) { + player = (fopAc_ac_c*)i_dComIfGp_getHorseActor(); + } else { + player = playerAc; + } + + if (player == NULL) { + return false; + } + + int shape = daSwc00_getShape(i_swc); + if (shape == 3) { + f32 xz_dist = fopAcM_searchActorDistanceXZ2(i_swc, player); + f32 y_dist = fopAcM_searchActorDistanceY(i_swc, player); + + if (xz_dist < i_swc->mScale.x && -100.0f < y_dist && y_dist < i_swc->mScale.y) { + return true; + } + } else if (shape == 0) { + cXyz tmp1 = i_swc->field_0x568 - i_swc->current.pos; + cXyz tmp2 = i_swc->field_0x574 - i_swc->current.pos; + cXyz player_dist = player->current.pos - i_swc->current.pos; + + mDoMtx_stack_c::YrotS(-i_swc->current.angle.y); + mDoMtx_stack_c::multVec(&player_dist, &player_dist); + + if ((tmp1.x <= player_dist.x && player_dist.x <= tmp2.x) && + (tmp1.y <= player_dist.y && player_dist.y <= tmp2.y) && + (tmp1.z <= player_dist.z && player_dist.z <= tmp2.z)) { + return true; + } + } + + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void hitCheck(daSwc00_c* param_0) { +static asm bool hitCheck(daSwc00_c* param_0) { nofralloc #include "asm/rel/d/a/d_a_swc00/d_a_swc00/hitCheck__FP9daSwc00_c.s" } #pragma pop +#endif /* 805A15DC-805A15FC 00025C 0020+00 1/0 0/0 0/0 .text daSwc00_Execute__FP9daSwc00_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daSwc00_Execute(daSwc00_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_swc00/d_a_swc00/daSwc00_Execute__FP9daSwc00_c.s" +static int daSwc00_Execute(daSwc00_c* i_this) { + return i_this->execute(); } -#pragma pop /* ############################################################################################## */ /* 805A1DAC-805A1DAC 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -127,6 +147,7 @@ static asm void daSwc00_Execute(daSwc00_c* param_0) { #pragma force_active on SECTION_DEAD static char const* const stringBase_805A1DAC = "領域スイッチ:引数0が不正値<%d>です\n"; + // "Area Switch: arg 0 is an invalid value <%d>\n"; #pragma pop /* 805A1DD4-805A1DE0 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ @@ -171,7 +192,7 @@ SECTION_DATA static void* lit_3812[16] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daSwc00_c::execute() { +asm int daSwc00_c::execute() { nofralloc #include "asm/rel/d/a/d_a_swc00/d_a_swc00/execute__9daSwc00_cFv.s" } diff --git a/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp b/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp index 5b3b0a667d..367c674780 100644 --- a/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp +++ b/rel/d/a/d_a_tboxSw/d_a_tboxSw.cpp @@ -6,145 +6,85 @@ #include "rel/d/a/d_a_tboxSw/d_a_tboxSw.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTboxSw_c { - /* 80D66858 */ bool Create(); - /* 80D66860 */ void create(); - /* 80D668C8 */ void execute(); - /* 80D66938 */ bool draw(); - /* 80D66940 */ bool _delete(); -}; - -struct dSv_memBit_c { - /* 800347E8 */ void isTbox(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); -}; - -// -// Forward References: -// - -extern "C" bool Create__10daTboxSw_cFv(); -extern "C" void create__10daTboxSw_cFv(); -extern "C" void execute__10daTboxSw_cFv(); -extern "C" bool draw__10daTboxSw_cFv(); -extern "C" bool _delete__10daTboxSw_cFv(); -extern "C" static void daTboxSw_Draw__FP10daTboxSw_c(); -extern "C" static void daTboxSw_Execute__FP10daTboxSw_c(); -extern "C" static void daTboxSw_Delete__FP10daTboxSw_c(); -extern "C" static void daTboxSw_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_TBOX_SW[12]; +#include "d/com/d_com_inf_game.h" // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void isTbox__12dSv_memBit_cCFi(); -extern "C" void onSwitch__10dSv_info_cFii(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: // /* 80D66858-80D66860 000078 0008+00 1/1 0/0 0/0 .text Create__10daTboxSw_cFv */ -bool daTboxSw_c::Create() { - return true; +int daTboxSw_c::Create() { + return 1; } /* 80D66860-80D668C8 000080 0068+00 1/1 0/0 0/0 .text create__10daTboxSw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTboxSw_c::create() { - nofralloc -#include "asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/create__10daTboxSw_cFv.s" +int daTboxSw_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTboxSw_c(); + fopAcM_OnCondition(this, 8); + } + + if (!Create()) { + return cPhs_ERROR_e; + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D668C8-80D66938 0000E8 0070+00 1/1 0/0 0/0 .text execute__10daTboxSw_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTboxSw_c::execute() { - nofralloc -#include "asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/execute__10daTboxSw_cFv.s" +int daTboxSw_c::execute() { + if (dComIfGs_isTbox(daTboxSw_prm::getTboxNo(this))) { + dComIfGs_onSwitch(daTboxSw_prm::getSwNo(this), fopAcM_GetHomeRoomNo(this)); + fopAcM_delete(this); + } + + return 1; } -#pragma pop /* 80D66938-80D66940 000158 0008+00 1/1 0/0 0/0 .text draw__10daTboxSw_cFv */ -bool daTboxSw_c::draw() { - return true; +int daTboxSw_c::draw() { + return 1; } /* 80D66940-80D66948 000160 0008+00 1/1 0/0 0/0 .text _delete__10daTboxSw_cFv */ -bool daTboxSw_c::_delete() { - return true; +int daTboxSw_c::_delete() { + return 1; } /* 80D66948-80D66968 000168 0020+00 1/0 0/0 0/0 .text daTboxSw_Draw__FP10daTboxSw_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTboxSw_Draw(daTboxSw_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Draw__FP10daTboxSw_c.s" +static int daTboxSw_Draw(daTboxSw_c* i_this) { + return i_this->draw(); } -#pragma pop /* 80D66968-80D66988 000188 0020+00 1/0 0/0 0/0 .text daTboxSw_Execute__FP10daTboxSw_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTboxSw_Execute(daTboxSw_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Execute__FP10daTboxSw_c.s" +static int daTboxSw_Execute(daTboxSw_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80D66988-80D669A8 0001A8 0020+00 1/0 0/0 0/0 .text daTboxSw_Delete__FP10daTboxSw_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTboxSw_Delete(daTboxSw_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Delete__FP10daTboxSw_c.s" +static int daTboxSw_Delete(daTboxSw_c* i_this) { + return i_this->_delete(); } -#pragma pop /* 80D669A8-80D669C8 0001C8 0020+00 1/0 0/0 0/0 .text daTboxSw_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTboxSw_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_tboxSw/d_a_tboxSw/daTboxSw_Create__FP10fopAc_ac_c.s" +static int daTboxSw_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* ############################################################################################## */ /* 80D669D0-80D669F0 -00001 0020+00 1/0 0/0 0/0 .data l_daTboxSw_Method */ SECTION_DATA static void* l_daTboxSw_Method[8] = { - (void*)daTboxSw_Create__FP10fopAc_ac_c, - (void*)daTboxSw_Delete__FP10daTboxSw_c, - (void*)daTboxSw_Execute__FP10daTboxSw_c, + (void*)daTboxSw_Create, + (void*)daTboxSw_Delete, + (void*)daTboxSw_Execute, (void*)NULL, - (void*)daTboxSw_Draw__FP10daTboxSw_c, + (void*)daTboxSw_Draw, (void*)NULL, (void*)NULL, (void*)NULL, 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 77a356fabe..fc951ee7e7 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 @@ -3,6 +3,7 @@ // Translation Unit: d_a_e_wb // + #include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -15,24 +16,6 @@ namespace std { /* 807E2350 */ void fabsf(f32); }; -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 807E2858 */ void multVec(Vec const*, Vec*); - /* 807E288C */ void YrotS(s16); - - static u8 now[48]; -}; - -struct mDoGph_gInf_c { - /* 80007FD8 */ void fadeOut(f32, _GXColor&); - /* 807DFAB4 */ void fadeIn(f32, _GXColor&); -}; - -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - struct himo_s { /* 807E1CCC */ ~himo_s(); /* 807E1D2C */ himo_s(); @@ -52,71 +35,10 @@ struct daE_WB_HIO_c { /* 807E20DC */ ~daE_WB_HIO_c(); }; -struct daAlink_c { - /* 800ED0D4 */ void getHorseReinHandPos(cXyz*, cXyz*); - /* 800ED1F0 */ void checkHorseNotGrab() const; -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); - /* 8006FB10 */ void StartQuake(int, int, cXyz); - /* 8006FD94 */ void StopQuake(int); -}; - -struct dPa_levelEcallBack {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, 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); - /* 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 dMsgObject_c { /* 8023822C */ void getStatus(); }; -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 807DFAD8 */ void checkSkipEdge(); - /* 807E2908 */ void startCheckSkipEdge(void*); -}; - -struct dEvent_manager_c { - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 800480EC */ void getMySubstanceP(int, char const*, int); - /* 8004817C */ void cutEnd(int); -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcU_AtInfo {}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180B40 */ void Set(cXyz, cXyz, s16, f32); - /* 80180BA0 */ void Reset(cXyz, cXyz, f32, s16); - /* 80180C18 */ void Reset(cXyz, cXyz); -}; - -struct camera_class {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - // // Forward References: // @@ -211,8 +133,8 @@ extern "C" void changeDemoParam2__9daPy_py_cFs(); extern "C" void fabsf__3stdFf(); extern "C" void __ct__4cXyzFRC4cXyz(); extern "C" static void cMtx_YrotS__FPA4_fs(); -extern "C" static void fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c(); -extern "C" static void dComIfGs_onEventBit__FUs(); +extern "C" static void fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c(fopAc_ac_c const* param_0); +extern "C" static void dComIfGs_onEventBit__FUs(u16); extern "C" static void Z2GetAudioMgr__Fv(); extern "C" void cancelOriginalDemo__9daPy_py_cFv(); extern "C" static void dComIfGp_event_reset__Fv(); @@ -226,15 +148,16 @@ extern "C" void checkCommandDemoAccrpt__11dEvt_info_cFv(); extern "C" void __ct__4cXyzFv(); extern "C" static void fopAcM_SearchByName__Fs(); extern "C" static void fopAcM_SearchByID__FUi(unsigned int); -extern "C" static void dComIfGp_getHorseActor__Fv(); -extern "C" static void dComIfGp_getPlayer__Fi(); -extern "C" static void dComIfGp_getCamera__Fi(); +extern "C" static daHorse_c* dComIfGp_getHorseActor__Fv(); +extern "C" static void dComIfGp_getPlayer__Fi(int); +extern "C" static void dComIfGp_getCamera__Fi(int); extern "C" static void dComIfGp_getPlayerCameraID__Fi(); extern "C" static void dMsgObject_isTalkNowCheck__Fv(); extern "C" void abs__4cXyzCFv(); extern "C" static void cMtx_XrotM__FPA4_fs(); extern "C" static void JMAFastSqrt__Ff(); -extern "C" static void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz(); +extern "C" static void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz(u32 param_0, u16 param_1, cXyz const* param_2, + csXyz const* param_3, cXyz const* param_4); extern "C" void cancelOriginalDemo__9daHorse_cFv(); extern "C" void __ct__10JAISoundIDFUl(u32* this_replacement, u32 param_0); extern "C" static void dComIfGp_getVibration__Fv(); @@ -242,8 +165,8 @@ extern "C" void __ct__4cXyzFfff(); extern "C" void onDemoJumpDistance__9daHorse_cFff(); extern "C" void __as__4cXyzFRC4cXyz(); extern "C" void __apl__4cXyzFRC3Vec(); -extern "C" void multVec__14mDoMtx_stack_cFPC3VecP3Vec(); -extern "C" void YrotS__14mDoMtx_stack_cFs(); +extern "C" void multVec__14mDoMtx_stack_cFPC3VecP3Vec(Vec const* param_0, Vec* param_1); +extern "C" void YrotS__14mDoMtx_stack_cFs(s16); extern "C" void changeDemoPos0__9daHorse_cFPC4cXyz(); extern "C" void changeDemoMode__9daHorse_cFUli(); extern "C" void setHorsePosAndAngle__9daHorse_cFPC4cXyzs(); @@ -437,11 +360,9 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; 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" 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 u8 struct_80450C98[4]; extern "C" f32 mGroundY__11fopAcM_gc_c; @@ -4679,7 +4600,7 @@ static asm void cMtx_YrotS(f32 (*param_0)[4], s16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { +static asm void fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c(fopAc_ac_c const* param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/fopAcM_searchPlayerAngleY__FPC10fopAc_ac_c.s" } @@ -4689,7 +4610,7 @@ static asm void fopAcM_searchPlayerAngleY(fopAc_ac_c const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGs_onEventBit(u16 param_0) { +static asm void dComIfGs_onEventBit__FUs(u16 param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGs_onEventBit__FUs.s" } @@ -4740,7 +4661,7 @@ asm void daPy_py_c::changeOriginalDemo() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daPy_getPlayerActorClass() { +static asm void daPy_getPlayerActorClass__Fv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/daPy_getPlayerActorClass__Fv.s" } @@ -4831,7 +4752,7 @@ extern "C" static asm void fopAcM_SearchByID__FUi(unsigned int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getHorseActor() { +static asm daHorse_c* dComIfGp_getHorseActor__Fv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_getHorseActor__Fv.s" } @@ -4841,7 +4762,7 @@ static asm void dComIfGp_getHorseActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getPlayer(int param_0) { +static asm void dComIfGp_getPlayer__Fi(int param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_getPlayer__Fi.s" } @@ -4851,7 +4772,7 @@ static asm void dComIfGp_getPlayer(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getCamera(int param_0) { +static asm void dComIfGp_getCamera__Fi(int param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_getCamera__Fi.s" } @@ -4861,7 +4782,7 @@ static asm void dComIfGp_getCamera(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getPlayerCameraID(int param_0) { +static asm s8 dComIfGp_getPlayerCameraID(int param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_getPlayerCameraID__Fi.s" } @@ -4913,7 +4834,7 @@ static asm void JMAFastSqrt(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_particle_set(u32 param_0, u16 param_1, cXyz const* param_2, +static asm void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz(u32 param_0, u16 param_1, cXyz const* param_2, csXyz const* param_3, cXyz const* param_4) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz.s" @@ -4939,7 +4860,7 @@ extern "C" void __ct__10JAISoundIDFUl(u32* this_replacement, u32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getVibration() { +static asm void dComIfGp_getVibration__Fv() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_getVibration__Fv.s" } @@ -4993,7 +4914,7 @@ extern "C" asm void __apl__4cXyzFRC3Vec() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoMtx_stack_c::multVec(Vec const* param_0, Vec* param_1) { +asm void multVec__14mDoMtx_stack_cFPC3VecP3Vec(Vec const* param_0, Vec* param_1) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/multVec__14mDoMtx_stack_cFPC3VecP3Vec.s" } @@ -5003,7 +4924,7 @@ asm void mDoMtx_stack_c::multVec(Vec const* param_0, Vec* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoMtx_stack_c::YrotS(s16 param_0) { +asm void YrotS__14mDoMtx_stack_cFs(s16 param_0) { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/YrotS__14mDoMtx_stack_cFs.s" } @@ -5054,7 +4975,7 @@ asm void dEvt_control_c::startCheckSkipEdge(void* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getEvent() { +static asm dEvt_control_c& dComIfGp_getEvent() { nofralloc #include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/dComIfGp_getEvent__Fv.s" } diff --git a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp index 4d47bde9df..2ed1d13fe2 100644 --- a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp +++ b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp @@ -7,180 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -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 fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct e_yc_class {}; - -struct daE_YC_HIO_c { - /* 807EFECC */ daE_YC_HIO_c(); - /* 807F27BC */ ~daE_YC_HIO_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dKy_tevstr_c {}; - -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 dPa_levelEcallBack {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, 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); - /* 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 dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 807F274C */ ~dBgS_ObjAcch(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 807F26BC */ ~cM3dGSph(); -}; - -struct cM3dGAab { - /* 807F2704 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_PolyInfo {}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 8032842C */ void checkPass(f32); -}; - // // Forward References: // @@ -282,11 +108,6 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); @@ -298,19 +119,15 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); 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" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; 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_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; +// extern "C" extern void* calc_mtx[1 + 1 /* padding */]; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -513,6 +330,19 @@ static asm void daE_YC_Draw(e_yc_class* param_0) { #pragma pop /* 807F00BC-807F01AC 0002DC 00F0+00 1/1 0/0 0/0 .text damage_check__FP10e_yc_class */ +#ifdef NONMATCHING +static void damage_check(e_yc_class* param_0) { + param_0->mCcD_GStts.Move(); + fopAc_ac_c* player = dComIfGp_getPlayer(0); + if (param_0->field_0x6AA == 0 && !param_0->mCcD_GObjInf.ChkTgHit()) { + param_0->mpTgHitObj = param_0->mCcD_GObjInf.GetTgHitObj(); + + if (((daAlink_c*)player)->getCutType() != 0x2c) { + return; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -521,6 +351,7 @@ static asm void damage_check(e_yc_class* param_0) { #include "asm/rel/d/a/e/d_a_e_yc/d_a_e_yc/damage_check__FP10e_yc_class.s" } #pragma pop +#endif /* ############################################################################################## */ /* 807F2878-807F287C 000014 0004+00 0/2 0/0 0/0 .rodata @3859 */ diff --git a/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp b/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp index 01faa09370..0bc51a37ab 100644 --- a/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp +++ b/rel/d/a/kytag/d_a_kytag14/d_a_kytag14.cpp @@ -1,64 +1,18 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_kytag14 -// +/** + * d_a_kytag14.cpp + * Savmem + * Sets savefile spawn location + */ #include "rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct kytag14_class {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct dSv_player_return_place_c { - /* 80032D1C */ void set(char const*, s8, u8); -}; - -struct dSv_info_c { - /* 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; -}; - -// -// Forward References: -// - -extern "C" static bool daKytag14_Draw__FP13kytag14_class(); -extern "C" static void daKytag14_Execute__FP13kytag14_class(); -extern "C" static bool daKytag14_IsDelete__FP13kytag14_class(); -extern "C" static bool daKytag14_Delete__FP13kytag14_class(); -extern "C" static void daKytag14_Create__FP10fopAc_ac_c(); -extern "C" extern void* g_profile_KYTAG14[12]; // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void set__25dSv_player_return_place_cFPCcScUc(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void _savegpr_27(); -extern "C" void _restgpr_27(); 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" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; // // Declarations: @@ -66,49 +20,104 @@ extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; /* 80529998-805299A0 000078 0008+00 1/0 0/0 0/0 .text daKytag14_Draw__FP13kytag14_class */ -static bool daKytag14_Draw(kytag14_class* param_0) { - return true; +static int daKytag14_Draw(kytag14_class*) { + return 1; } /* 805299A0-80529B34 000080 0194+00 1/0 0/0 0/0 .text daKytag14_Execute__FP13kytag14_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag14_Execute(kytag14_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Execute__FP13kytag14_class.s" +static int daKytag14_Execute(kytag14_class* i_this) { + BOOL event1_set = true; + BOOL event2_unset = true; + BOOL switch1_set = true; + BOOL switch2_unset = true; + + if (dComIfGs_isTmpBit(0x1301)) { + return 1; + } + + if (i_this->mEventID1 != 0xFFFF) { + if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_this->mEventID1])) { + event1_set = true; + } else { + event1_set = false; + } + } + + if (i_this->mEventID2 != 0xFFFF) { + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_this->mEventID2])) { + event2_unset = true; + } else { + event2_unset = false; + } + } + + if (i_this->mSwitchNo1 != 0xFF) { + s32 stayNo = dComIfGp_roomControl_getStayNo(); + if (dComIfGs_isSwitch(i_this->mSwitchNo1, stayNo)) { + switch1_set = true; + } else { + switch1_set = false; + } + } + + if (i_this->mSwitchNo2 != 0xFF) { + s32 stayNo = dComIfGp_roomControl_getStayNo(); + if (!dComIfGs_isSwitch(i_this->mSwitchNo2, stayNo)) { + switch2_unset = true; + } else { + switch2_unset = false; + } + } + + if (event1_set == true && event2_unset == true && switch1_set == true && switch2_unset == true) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().set( + dComIfGp_getStartStageName(), i_this->mSaveRoomNo, i_this->mSavePoint); + } + + return 1; } -#pragma pop /* 80529B34-80529B3C 000214 0008+00 1/0 0/0 0/0 .text daKytag14_IsDelete__FP13kytag14_class */ -static bool daKytag14_IsDelete(kytag14_class* param_0) { - return true; +static int daKytag14_IsDelete(kytag14_class*) { + return 1; } /* 80529B3C-80529B44 00021C 0008+00 1/0 0/0 0/0 .text daKytag14_Delete__FP13kytag14_class */ -static bool daKytag14_Delete(kytag14_class* param_0) { - return true; +static int daKytag14_Delete(kytag14_class*) { + return 1; } /* 80529B44-80529BE0 000224 009C+00 1/0 0/0 0/0 .text daKytag14_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag14_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag14/d_a_kytag14/daKytag14_Create__FP10fopAc_ac_c.s" +static int daKytag14_Create(fopAc_ac_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) kytag14_class(); + fopAcM_OnCondition(i_this, 8); + } + kytag14_class* kytag = static_cast(i_this); + + kytag->mSavePoint = fopAcM_GetParam(kytag); + kytag->mSaveRoomNo = (fopAcM_GetParam(kytag) >> 8) & 0xFF; + kytag->mEventID1 = kytag->current.angle.x; + kytag->mEventID2 = kytag->current.angle.y; + kytag->mSwitchNo1 = kytag->current.angle.z; + kytag->mSwitchNo2 = (kytag->current.angle.z >> 8) & 0xFF; + + if (kytag->orig.mRoomNo != -1) { + kytag->mSaveRoomNo = kytag->orig.mRoomNo; + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* ############################################################################################## */ /* 80529BE8-80529C08 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag14_Method */ SECTION_DATA static void* l_daKytag14_Method[8] = { - (void*)daKytag14_Create__FP10fopAc_ac_c, - (void*)daKytag14_Delete__FP13kytag14_class, - (void*)daKytag14_Execute__FP13kytag14_class, - (void*)daKytag14_IsDelete__FP13kytag14_class, - (void*)daKytag14_Draw__FP13kytag14_class, + (void*)daKytag14_Create, + (void*)daKytag14_Delete, + (void*)daKytag14_Execute, + (void*)daKytag14_IsDelete, + (void*)daKytag14_Draw, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp b/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp index cf68a8d26a..016702e8ca 100644 --- a/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp +++ b/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.cpp @@ -4,132 +4,81 @@ // #include "rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagGstart_c { - /* 805A3478 */ void create(); - /* 805A3514 */ ~daTagGstart_c(); - /* 805A3590 */ void execute(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -// -// Forward References: -// - -extern "C" void create__13daTagGstart_cFv(); -extern "C" static void daTagGstart_Create__FP10fopAc_ac_c(); -extern "C" void __dt__13daTagGstart_cFv(); -extern "C" static void daTagGstart_Delete__FP13daTagGstart_c(); -extern "C" void execute__13daTagGstart_cFv(); -extern "C" static void daTagGstart_Execute__FP13daTagGstart_c(); -extern "C" static bool daTagGstart_Draw__FP13daTagGstart_c(); -extern "C" extern void* g_profile_Tag_Gstart[12]; - // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void __dl__FPv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: // /* 805A3478-805A34F4 000078 007C+00 1/1 0/0 0/0 .text create__13daTagGstart_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagGstart_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/create__13daTagGstart_cFv.s" +int daTagGstart_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagGstart_c(); + fopAcM_OnCondition(this, 8); + } + + mSwNo = fopAcM_GetParam(this); + mSwNo2 = fopAcM_GetParam(this) >> 8; + field_0x56a = fopAcM_GetParam(this) >> 0x10; + mType = (fopAcM_GetParam(this) >> 0x18) & 0xF; + + return cPhs_COMPLEATE_e; } -#pragma pop /* 805A34F4-805A3514 0000F4 0020+00 1/0 0/0 0/0 .text daTagGstart_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGstart_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Create__FP10fopAc_ac_c.s" +static int daTagGstart_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 805A3514-805A3568 000114 0054+00 1/1 0/0 0/0 .text __dt__13daTagGstart_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagGstart_c::~daTagGstart_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/__dt__13daTagGstart_cFv.s" -} -#pragma pop +daTagGstart_c::~daTagGstart_c() {} /* 805A3568-805A3590 000168 0028+00 1/0 0/0 0/0 .text daTagGstart_Delete__FP13daTagGstart_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGstart_Delete(daTagGstart_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Delete__FP13daTagGstart_c.s" +static int daTagGstart_Delete(daTagGstart_c* i_this) { + i_this->~daTagGstart_c(); + return 1; } -#pragma pop /* 805A3590-805A3658 000190 00C8+00 1/1 0/0 0/0 .text execute__13daTagGstart_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagGstart_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/execute__13daTagGstart_cFv.s" +int daTagGstart_c::execute() { + if ((mSwNo == 0xFF || dComIfGs_isSwitch(mSwNo, fopAcM_GetHomeRoomNo(this))) && + (mSwNo2 == 0xFF || !dComIfGs_isSwitch(mSwNo2, fopAcM_GetHomeRoomNo(this)))) { + if (mType != 0 || dComIfGp_getLinkPlayer()->i_checkWolf()) { + dComIfGp_getLinkPlayer()->onSceneChangeDead(field_0x56a, fopAcM_GetRoomNo(this)); + } + } + + return 1; } -#pragma pop /* 805A3658-805A3678 000258 0020+00 1/0 0/0 0/0 .text daTagGstart_Execute__FP13daTagGstart_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGstart_Execute(daTagGstart_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart/daTagGstart_Execute__FP13daTagGstart_c.s" +static int daTagGstart_Execute(daTagGstart_c* i_this) { + return i_this->execute(); } -#pragma pop /* 805A3678-805A3680 000278 0008+00 1/0 0/0 0/0 .text daTagGstart_Draw__FP13daTagGstart_c */ -static bool daTagGstart_Draw(daTagGstart_c* param_0) { - return true; +static int daTagGstart_Draw(daTagGstart_c*) { + return 1; } /* ############################################################################################## */ /* 805A3688-805A36A8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagGstart_Method */ SECTION_DATA static void* l_daTagGstart_Method[8] = { - (void*)daTagGstart_Create__FP10fopAc_ac_c, - (void*)daTagGstart_Delete__FP13daTagGstart_c, - (void*)daTagGstart_Execute__FP13daTagGstart_c, + (void*)daTagGstart_Create, + (void*)daTagGstart_Delete, + (void*)daTagGstart_Execute, (void*)NULL, - (void*)daTagGstart_Draw__FP13daTagGstart_c, + (void*)daTagGstart_Draw, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp b/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp index 7740d4f0ff..50d9b5f318 100644 --- a/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp +++ b/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp @@ -4,211 +4,202 @@ // #include "rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagHstop_c { - /* 805A43EC */ void create(); - /* 805A45F8 */ ~daTagHstop_c(); - /* 805A46B8 */ void setActive(); - /* 805A475C */ void execute(); - - static u8 m_top[4 + 4 /* padding */]; - static u8 m_msgFlow[76]; -}; - -struct daPy_py_c { - /* 8015F660 */ void checkRoomRestartStart(); -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 800352B0 */ void offSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F48 */ ~dMsgFlow_c(); - /* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**); - /* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int); -}; - -struct dMeter2Info_c { - /* 8021C11C */ void setFloatingFlow(u16, s16, bool); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -// -// Forward References: -// - -extern "C" void create__12daTagHstop_cFv(); -extern "C" static void daTagHstop_Create__FP10fopAc_ac_c(); -extern "C" void __dt__12daTagHstop_cFv(); -extern "C" static void daTagHstop_Delete__FP12daTagHstop_c(); -extern "C" void setActive__12daTagHstop_cFv(); -extern "C" void execute__12daTagHstop_cFv(); -extern "C" static void daTagHstop_Execute__FP12daTagHstop_c(); -extern "C" static bool daTagHstop_Draw__FP12daTagHstop_c(); -extern "C" void __sinit_d_a_tag_hstop_cpp(); -extern "C" extern void* g_profile_Tag_Hstop[12]; -extern "C" u8 m_msgFlow__12daTagHstop_c[76]; +#include "rel/d/a/d_a_horse/d_a_horse.h" // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void checkRoomRestartStart__9daPy_py_cFv(); -extern "C" void setFloatingFlow__13dMeter2Info_cFUssb(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void __dl__FPv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_meter2_info[248]; -extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */]; -extern "C" void __register_global_object(); // // Declarations: // -/* ############################################################################################## */ -/* 805A4B20-805A4B24 000000 0004+00 1/1 0/0 0/0 .rodata @3782 */ -SECTION_RODATA static f32 const lit_3782 = 100.0f; -COMPILER_STRIP_GATE(0x805A4B20, &lit_3782); - /* 805A43EC-805A45D8 0000EC 01EC+00 1/1 0/0 0/0 .text create__12daTagHstop_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagHstop_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/create__12daTagHstop_cFv.s" +int daTagHstop_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagHstop_c(); + fopAcM_OnCondition(this, 8); + } + + mScale.x *= 100.0f; + mScale.y *= 100.0f; + mScale.z *= 100.0f; + + if (m_top != NULL) { + daTagHstop_c* last = m_top; + + while (last->mNext != NULL) { + last = last->mNext; + } + + last->mNext = this; + mPrev = last; + } else { + m_top = this; + } + + mPrm0 = fopAcM_GetParam(this); + mPrm1 = (fopAcM_GetParam(this) >> 8) & 0xF; + + if (mPrm1 == 15) { + mPrm1 = 0; + } + + setActive(); + + if (mPrm1 == 2) { + if (daPy_py_c::checkRoomRestartStart()) { + if (!dComIfGs_isSwitch(0x8A, fopAcM_GetHomeRoomNo(this))) { + dComIfGs_onSwitch(0x8A, fopAcM_GetHomeRoomNo(this)); + } else if (!dComIfGs_isSwitch(0x8B, fopAcM_GetHomeRoomNo(this))) { + dComIfGs_onSwitch(0x8B, fopAcM_GetHomeRoomNo(this)); + } else if (!dComIfGs_isSwitch(0x8C, fopAcM_GetHomeRoomNo(this))) { + dComIfGs_onSwitch(0x8C, fopAcM_GetHomeRoomNo(this)); + } + } + + if (dComIfGs_isSwitch(0x8C, fopAcM_GetHomeRoomNo(this))) { + field_0x574 = 0; + } else { + field_0x574 = 1200; + } + } else { + field_0x574 = 0; + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 805A45D8-805A45F8 0002D8 0020+00 1/0 0/0 0/0 .text daTagHstop_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagHstop_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Create__FP10fopAc_ac_c.s" +static int daTagHstop_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 805A45F8-805A4690 0002F8 0098+00 1/1 0/0 0/0 .text __dt__12daTagHstop_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagHstop_c::~daTagHstop_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__dt__12daTagHstop_cFv.s" +daTagHstop_c::~daTagHstop_c() { + if (mPrev != NULL) { + mPrev->mNext = mNext; + } + + if (mNext != NULL) { + mNext->mPrev = mPrev; + } + + if (m_top == this) { + m_top = mNext; + } } -#pragma pop /* 805A4690-805A46B8 000390 0028+00 1/0 0/0 0/0 .text daTagHstop_Delete__FP12daTagHstop_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagHstop_Delete(daTagHstop_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Delete__FP12daTagHstop_c.s" +static int daTagHstop_Delete(daTagHstop_c* i_this) { + static_cast(i_this)->~daTagHstop_c(); + return 1; } -#pragma pop /* 805A46B8-805A475C 0003B8 00A4+00 2/2 0/0 0/0 .text setActive__12daTagHstop_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagHstop_c::setActive() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/setActive__12daTagHstop_cFv.s" +void daTagHstop_c::setActive() { + if (mPrm0 == 0xFF || mPrm1 == 2 || + (mPrm1 == 0 && dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this))) || + (mPrm1 == 1 && !dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this)))) { + mActive = true; + } else { + mActive = false; + } } -#pragma pop - -/* ############################################################################################## */ -/* 805A4B80-805A4B8C 000008 000C+00 1/1 0/0 0/0 .bss @3686 */ -static u8 lit_3686[12]; /* 805A4B8C-805A4BD8 000014 004C+00 2/2 0/0 0/0 .bss m_msgFlow__12daTagHstop_c */ -u8 daTagHstop_c::m_msgFlow[76]; +dMsgFlow_c daTagHstop_c::m_msgFlow; /* 805A475C-805A4AA8 00045C 034C+00 1/1 0/0 0/0 .text execute__12daTagHstop_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagHstop_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/execute__12daTagHstop_cFv.s" +int daTagHstop_c::execute() { + if (mEvtInfo.checkCommandTalk()) { + if (field_0x573 == 2) { + m_msgFlow.init(this, (u16)mCollisionRot.z, 0, NULL); + field_0x573 = 3; + } else if (m_msgFlow.doFlow(this, NULL, 0)) { + i_dComIfGp_getEvent().reset(); + field_0x573 = 0; + + s16 arrow_num = dComIfGp_getItemMaxArrowNumCount(); + dComIfGp_setItemArrowNumCount(arrow_num); + dComIfGs_onSwitch(0x8D, fopAcM_GetHomeRoomNo(this)); + } + } else { + if (field_0x574 != 0) { + if (dComIfGs_isSwitch(0x8F, fopAcM_GetHomeRoomNo(this))) { + field_0x574 = 0; + } else if (dComIfGp_getLinkPlayer()->checkSingleBoarBattleSecondBowReady()) { + dComIfGs_onSwitch(0x8F, fopAcM_GetHomeRoomNo(this)); + field_0x574 = 0; + } else { + field_0x574--; + } + } + + setActive(); + + if (field_0x573) { + daHorse_c* horse_p = i_dComIfGp_getHorseActor(); + + if (mPrm1 != 2 || dComIfGs_getArrowNum() != 0 || horse_p == NULL) { + field_0x573 = 0; + } else if (field_0x573 == 1) { + if (i_dComIfGp_getHorseActor()->checkTurnStand() && + !i_dComIfGp_getHorseActor()->checkTurnStandCamera()) { + field_0x573 = 2; + } + } else if (field_0x573 == 2 && !i_dComIfGp_getHorseActor()->checkTurnStand()) { + fopAcM_orderSpeakEvent(this, 0, 0); + mEvtInfo.i_onCondition(1); + } + } else if (mPrm1 == 2 && !i_dComIfGp_event_runCheck()) { + if (dComIfGs_getArrowNum() == 0 && + !dComIfGs_isSwitch(0x8D, fopAcM_GetHomeRoomNo(this))) { + dComIfGs_onSwitch(0x8D, fopAcM_GetHomeRoomNo(this)); + dMeter2Info_setFloatingFlow(43, 90, true); + + if (!dComIfGs_isSwitch(0x8F, fopAcM_GetHomeRoomNo(this))) { + field_0x574 = 1200; + dComIfGs_offSwitch(0x8A, fopAcM_GetHomeRoomNo(this)); + dComIfGs_offSwitch(0x8B, fopAcM_GetHomeRoomNo(this)); + dComIfGs_offSwitch(0x8C, fopAcM_GetHomeRoomNo(this)); + } + } else if (field_0x574 == 0 && !dComIfGs_isSwitch(0x8F, fopAcM_GetHomeRoomNo(this))) { + dComIfGs_onSwitch(0x8F, fopAcM_GetHomeRoomNo(this)); + dComIfGs_onSwitch(0x8E, fopAcM_GetHomeRoomNo(this)); + } + } + } + + return 1; } -#pragma pop /* 805A4AA8-805A4AC8 0007A8 0020+00 1/0 0/0 0/0 .text daTagHstop_Execute__FP12daTagHstop_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagHstop_Execute(daTagHstop_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/daTagHstop_Execute__FP12daTagHstop_c.s" +static int daTagHstop_Execute(daTagHstop_c* i_this) { + return i_this->execute(); } -#pragma pop /* 805A4AC8-805A4AD0 0007C8 0008+00 1/0 0/0 0/0 .text daTagHstop_Draw__FP12daTagHstop_c */ -static bool daTagHstop_Draw(daTagHstop_c* param_0) { - return true; +static int daTagHstop_Draw(daTagHstop_c*) { + return 1; } -/* 805A4AD0-805A4B0C 0007D0 003C+00 0/0 1/0 0/0 .text __sinit_d_a_tag_hstop_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_tag_hstop_cpp() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop/__sinit_d_a_tag_hstop_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x805A4AD0, __sinit_d_a_tag_hstop_cpp); -#pragma pop - /* ############################################################################################## */ /* 805A4B24-805A4B44 -00001 0020+00 1/0 0/0 0/0 .data l_daTagHstop_Method */ SECTION_DATA static void* l_daTagHstop_Method[8] = { - (void*)daTagHstop_Create__FP10fopAc_ac_c, - (void*)daTagHstop_Delete__FP12daTagHstop_c, - (void*)daTagHstop_Execute__FP12daTagHstop_c, + (void*)daTagHstop_Create, + (void*)daTagHstop_Delete, + (void*)daTagHstop_Execute, (void*)NULL, - (void*)daTagHstop_Draw__FP12daTagHstop_c, + (void*)daTagHstop_Draw, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp b/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp index fc472c08b2..a9ade42469 100644 --- a/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp +++ b/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.cpp @@ -7,64 +7,38 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagInst_c {}; - -// -// Forward References: -// - -extern "C" static void daTagInst_Create__FP10fopAc_ac_c(); -extern "C" static void daTagInst_Delete__FP11daTagInst_c(); -extern "C" extern void* g_profile_Tag_Instruction[12]; - // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; // // Declarations: // /* 80D59AF8-80D59B48 000078 0050+00 1/0 0/0 0/0 .text daTagInst_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagInst_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Create__FP10fopAc_ac_c.s" +static int daTagInst_Create(fopAc_ac_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daTagInst_c(); + fopAcM_OnCondition(i_this, 8); + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D59B48-80D59B78 0000C8 0030+00 1/0 0/0 0/0 .text daTagInst_Delete__FP11daTagInst_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagInst_Delete(daTagInst_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction/daTagInst_Delete__FP11daTagInst_c.s" +static int daTagInst_Delete(daTagInst_c* i_this) { + i_this->~daTagInst_c(); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80D59B80-80D59BA0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagInst_Method */ SECTION_DATA static void* l_daTagInst_Method[8] = { - (void*)daTagInst_Create__FP10fopAc_ac_c, - (void*)daTagInst_Delete__FP11daTagInst_c, + (void*)daTagInst_Create, + (void*)daTagInst_Delete, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.cpp b/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.cpp index 1bdccecf6b..d870cfe188 100644 --- a/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.cpp +++ b/rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.cpp @@ -77,7 +77,7 @@ 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 struct_80450DC0[4]; +extern "C" extern u8 mPlayerNo__11daTagMist_c[4]; // // Declarations: diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index ba0a913339..787cc79044 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -33,8 +33,6 @@ // Types: // -struct fopEn_enemy_c {}; - struct daTagMist_c { /* 80031CF0 */ void getPlayerNo(); }; @@ -574,6 +572,7 @@ extern "C" static void dComIfGp_getRStatus__Fv(); extern "C" void checkAttentionLock__9daAlink_cFv(); extern "C" void dComIfGp_setItemLifeCount__FfUc(f32, u8); extern "C" static void cMtx_multVec__FPA4_CfPC3VecP3Vec(); +static void cMtx_multVec(f32 const (*param_0)[4], Vec const* param_1, Vec* param_2); extern "C" void getAnmMtx__8J3DModelFi(); extern "C" void setBaseTRMtx__8J3DModelFPA4_f(); extern "C" void checkFmChainGrabAnime__9daAlink_cCFv(); @@ -3094,7 +3093,7 @@ extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" extern u8 struct_80450FB8[4]; extern "C" extern u8 struct_80450FBC[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" extern u8 struct_8045101C[4]; +extern "C" extern u8 m_dropAngleY__20daPy_boomerangMove_c[4]; extern "C" u8 Zero__5csXyz[4]; extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -4973,19 +4972,22 @@ COMPILER_STRIP_GATE(0x8038FB5C, &l_wolfFootOnFrame); /* 8038FBBC-8038FBD4 01C21C 0018+00 1/1 0/0 0/0 .rodata l_insectNameList */ SECTION_RODATA static s16 const l_insectNameList[12] = { - 0x0140, 0x0141, 0x0142, 0x0149, 0x0143, 0x0144, 0x0145, 0x0146, 0x014B, 0x014A, 0x0147, 0x0148, + PROC_Obj_Kabuto, PROC_Obj_Cho, PROC_Obj_Kuw, + PROC_Obj_Batta, PROC_Obj_Nan, PROC_Obj_Dan, + PROC_Obj_Kam, PROC_Obj_Ten, PROC_Obj_Kat, + PROC_Obj_Tombo, PROC_Obj_Ari, PROC_Obj_Kag, }; COMPILER_STRIP_GATE(0x8038FBBC, &l_insectNameList); /* 8038FBD4-8038FC24 01C234 0050+00 0/1 0/0 0/0 .rodata m_mainBckShield__9daAlink_c */ #pragma push #pragma force_active on -SECTION_RODATA u8 const daAlink_c::m_mainBckShield[80] = { - 0x00, 0x25, 0x00, 0x25, 0x00, 0x23, 0x00, 0x23, 0x00, 0x12, 0x00, 0x1B, 0x00, 0x10, 0x00, 0x1B, - 0x00, 0x21, 0x00, 0x21, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x2C, 0x00, 0x2C, - 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x30, 0x00, 0x28, 0x00, 0x28, - 0x00, 0x32, 0x00, 0x32, 0x00, 0x2A, 0x00, 0x2A, 0x02, 0x74, 0x00, 0x1B, 0x00, 0x20, 0x00, 0x1B, - 0x00, 0x1B, 0x00, 0x1B, 0x00, 0x26, 0x00, 0x26, 0x02, 0x77, 0x00, 0x1B, 0x00, 0xCD, 0x00, 0x1B, +SECTION_RODATA daAlink_BckData const daAlink_c::m_mainBckShield[20] = { + {0x0025, 0x0025}, {0x0023, 0x0023}, {0x0012, 0x001B}, {0x0010, 0x001B}, + {0x0021, 0x0021}, {0x001E, 0x001E}, {0x003C, 0x003C}, {0x002C, 0x002C}, + {0x003E, 0x003E}, {0x002E, 0x002E}, {0x0030, 0x0030}, {0x0028, 0x0028}, + {0x0032, 0x0032}, {0x002A, 0x002A}, {0x0274, 0x001B}, {0x0020, 0x001B}, + {0x001B, 0x001B}, {0x0026, 0x0026}, {0x0277, 0x001B}, {0x00CD, 0x001B}, }; COMPILER_STRIP_GATE(0x8038FBD4, &daAlink_c::m_mainBckShield); #pragma pop @@ -4993,9 +4995,9 @@ COMPILER_STRIP_GATE(0x8038FBD4, &daAlink_c::m_mainBckShield); /* 8038FC24-8038FC38 01C284 0014+00 0/1 0/0 0/0 .rodata m_mainBckSword__9daAlink_c */ #pragma push #pragma force_active on -SECTION_RODATA u8 const daAlink_c::m_mainBckSword[20] = { - 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1C, 0x00, 0x1C, 0x02, 0x77, - 0x02, 0x77, 0x00, 0xCD, 0x00, 0xCD, 0x02, 0x43, 0x02, 0x44, +SECTION_RODATA daAlink_BckData const daAlink_c::m_mainBckSword[5] = { + {0x001A, 0x001A}, {0x001C, 0x001C}, + {0x0277, 0x0277}, {0x00CD, 0x00CD}, {0x0243, 0x0244}, }; COMPILER_STRIP_GATE(0x8038FC24, &daAlink_c::m_mainBckSword); #pragma pop @@ -5003,14 +5005,14 @@ COMPILER_STRIP_GATE(0x8038FC24, &daAlink_c::m_mainBckSword); /* 8038FC38-8038FCA8 01C298 0070+00 0/1 0/0 0/0 .rodata m_mainBckFishing__9daAlink_c */ #pragma push #pragma force_active on -SECTION_RODATA u8 const daAlink_c::m_mainBckFishing[112] = { - 0x00, 0x25, 0x02, 0x73, 0x00, 0x23, 0x00, 0xC8, 0x00, 0x12, 0x02, 0x73, 0x00, 0x10, 0x00, 0xC8, - 0x00, 0x21, 0x02, 0x73, 0x00, 0x1E, 0x00, 0xC8, 0x00, 0x3C, 0x02, 0x73, 0x00, 0x2C, 0x02, 0x73, - 0x00, 0x3E, 0x02, 0x73, 0x00, 0x2E, 0x02, 0x73, 0x00, 0x30, 0x00, 0xC8, 0x00, 0x28, 0x00, 0xC8, - 0x00, 0x32, 0x00, 0xC8, 0x00, 0x2A, 0x00, 0xC8, 0x02, 0x74, 0x02, 0x73, 0x00, 0x20, 0x02, 0x73, - 0x00, 0x1A, 0x02, 0x73, 0x00, 0x1C, 0x02, 0x73, 0x02, 0x77, 0x02, 0x73, 0x00, 0xCD, 0x00, 0xC8, - 0x02, 0x43, 0x02, 0x44, 0x02, 0x33, 0x02, 0x73, 0x02, 0x34, 0x02, 0x73, 0x02, 0x33, 0x02, 0x73, - 0x02, 0x34, 0x02, 0x73, 0x02, 0x6A, 0x02, 0x73, 0x02, 0x56, 0x02, 0x73, 0x02, 0x57, 0x02, 0x73, +SECTION_RODATA daAlink_BckData const daAlink_c::m_mainBckFishing[28] = { + {0x0025, 0x0273}, {0x0023, 0x00C8}, {0x0012, 0x0273}, {0x0010, 0x00C8}, + {0x0021, 0x0273}, {0x001E, 0x00C8}, {0x003C, 0x0273}, {0x002C, 0x0273}, + {0x003E, 0x0273}, {0x002E, 0x0273}, {0x0030, 0x00C8}, {0x0028, 0x00C8}, + {0x0032, 0x00C8}, {0x002A, 0x00C8}, {0x0274, 0x0273}, {0x0020, 0x0273}, + {0x001A, 0x0273}, {0x001C, 0x0273}, {0x0277, 0x0273}, {0x00CD, 0x00C8}, + {0x0243, 0x0244}, {0x0233, 0x0273}, {0x0234, 0x0273}, {0x0233, 0x0273}, + {0x0234, 0x0273}, {0x026A, 0x0273}, {0x0256, 0x0273}, {0x0257, 0x0273}, }; COMPILER_STRIP_GATE(0x8038FC38, &daAlink_c::m_mainBckFishing); #pragma pop @@ -6448,46 +6450,40 @@ JKRHeap* daAlink_c::setItemHeap() { return mItemHeap[field_0x2fa0].setAnimeHeap(); } +/** + * Sets the animation archive ID and resource ID based on combined ID + * The left most digit is the arcNo if not 0 + * The latter 3 digits are the resource ID + */ /* 800A3CE4-800A3D0C 09E624 0028+00 4/4 0/0 0/0 .text setIdxMask__9daAlink_cFPUsPUs */ -void daAlink_c::setIdxMask(u16* param_0, u16* param_1) { - if (*param_0 == 0xFFFF) { - u16 tmp = (*param_1 >> 12) & 0xF; - *param_1 &= 0xFFF; +void daAlink_c::setIdxMask(u16* o_arcNo, u16* o_resID) { + if (*o_arcNo == 0xFFFF) { + u16 arc_id = (*o_resID >> 12) & 0xF; + *o_resID &= 0xFFF; - if (tmp != 0) { - *param_0 = tmp; + if (arc_id != 0) { + *o_arcNo = arc_id; } } } /* 800A3D0C-800A3D7C 09E64C 0070+00 5/5 0/0 0/0 .text * getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl */ -// setIdxMask param loads backwards -#ifdef NONMATCHING -void* daAlink_c::getAnimeResource(daPy_anmHeap_c* p_anmHeap, u16 param_1, u32 buf_size) { +void* daAlink_c::getAnimeResource(daPy_anmHeap_c* p_anmHeap, u16 i_anmID, u32 buf_size) { + u16 arcNo; + u16 resID = i_anmID; + p_anmHeap->setBufferSize(buf_size); + arcNo = 0xFFFF; - u16 tmp2 = 0xFFFF; - u16* tmp1 = ¶m_1; + setIdxMask(&arcNo, &resID); - setIdxMask(tmp1, &tmp2); - - if (tmp2 == 0xFFFF) { - return p_anmHeap->loadDataIdx(*tmp1); - } else { - return p_anmHeap->loadDataDemoRID(*tmp1, tmp2); + if (arcNo == 0xFFFF) { + return p_anmHeap->loadDataIdx(resID); } + + return p_anmHeap->loadDataDemoRID(resID, arcNo); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* daAlink_c::getAnimeResource(daPy_anmHeap_c* param_0, u16 param_1, u32 param_2) { - nofralloc -#include "asm/d/a/d_a_alink/getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl.s" -} -#pragma pop -#endif /* 800A3D7C-800A3E30 09E6BC 00B4+00 16/16 0/0 0/0 .text initModel__9daAlink_cFP12J3DModelDataUlUl */ @@ -12196,7 +12192,7 @@ bool daPy_py_c::checkWoodSwordEquip() { } BOOL daPy_py_c::i_checkSwordGet() { - return dComIfGs_getSelectEquipSword() != 0xFF; + return dComIfGs_getSelectEquipSword() != NO_ITEM; } /* 800A4910-800A4BC8 09F250 02B8+00 5/5 0/0 0/0 .text setSelectEquipItem__9daAlink_cFi */ @@ -12229,7 +12225,7 @@ void daAlink_c::setSelectEquipItem(int param_0) { } if (mClothesChangeWaitTimer == 0 && - (temp != mSwordModel || i_checkNoResetFlg2(STATUS_WINDOW_DRAW))) { + (temp != mSwordModel || i_checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW))) { if (temp != mSwordModel) { mSwordChangeWaitTimer = 5; } @@ -12368,16 +12364,16 @@ void daAlink_c::playerInit() { 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); + u8* underBuf = mUnderAnmHeap[0].getBuffer(); + mUnderAnmHeap[i].setBuffer(underBuf + (i * 0x2C00)); + mUnderAnmHeap[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_3); } - mUpperAnime[0].setBuffer(mUnderAnime[0].getBuffer() + 0x8400); + mUpperAnmHeap[0].setBuffer(mUnderAnmHeap[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); + u8* upperBuf = mUpperAnmHeap[0].getBuffer(); + mUpperAnmHeap[i].setBuffer(upperBuf + (i * 0x2C00)); + mUpperAnmHeap[i].createHeap(daPy_anmHeap_c::HEAP_TYPE_3); } mAnmHeap5.createHeap(daPy_anmHeap_c::HEAP_TYPE_1); @@ -12422,7 +12418,7 @@ void daAlink_c::playerInit() { field_0x3184 = -1; mExitID = 0x3F; - i_onNoResetFlg0(0x100); + i_onNoResetFlg0(FLG0_UNK_100); offOxygenTimer(); int startMode = getStartMode(); @@ -12501,7 +12497,7 @@ void daAlink_c::playerInit() { setSelectEquipItem(0); if (checkStageName("D_MN08") || checkStageName("D_MN08B") || checkStageName("D_MN08C")) { - i_onNoResetFlg3(0x40000000); + i_onNoResetFlg3(FLG3_UNK_40000000); } } @@ -12602,7 +12598,7 @@ int daAlink_c::create() { mAttentionInfo.mPosition.set(current.pos.x + cM_ssin(mCollisionRot.y) * 70.0f, current.pos.y + 80.0f, current.pos.z + cM_scos(mCollisionRot.y) * 70.0f); - i_onNoResetFlg1(0x2000000); + i_onNoResetFlg1(FLG1_IS_WOLF); } else if (horseStart) { mAttentionInfo.mPosition.y = current.pos.y + 150.0f; } else { @@ -12680,21 +12676,21 @@ int daAlink_c::create() { if (checkStageName("F_SP102") && fopAcM_GetRoomNo(this) == 0 && dComIfG_play_c::getLayerNo(0) == 4) { - i_onNoResetFlg2(0x800000); + i_onNoResetFlg2(FLG2_UNK_800000); } else if (checkStageName("F_SP123") && fopAcM_GetRoomNo(this) == 13 && dComIfG_play_c::getLayerNo(0) == 0) { - i_onNoResetFlg2(0x1000000); + i_onNoResetFlg2(FLG2_UNK_1000000); } J3DAnmTransform* at1; J3DAnmTransform* at2; - getUnderUpperAnime(ANM_IDLE, &at1, &at2, 0, 0x2C00); - field_0x1f28[0].setAnmTransform(at1); + getUnderUpperAnime(ANM_WAIT, &at1, &at2, 0, 0x2C00); + mNowAnmPackUnder[0].setAnmTransform(at1); if (at2 != NULL) { - mNowAnmPack[0].setAnmTransform(at2); + mNowAnmPackUpper[0].setAnmTransform(at2); } else { - mNowAnmPack[0].setAnmTransform(at1); + mNowAnmPackUpper[0].setAnmTransform(at1); } int prm = setStartProcInit(); @@ -12865,14 +12861,9 @@ asm void daAlink_c::checkWindSpeedOnAngleAnime(int param_0) const { #pragma pop /* 800A7A5C-800A7ABC 0A239C 0060+00 7/7 0/0 0/0 .text checkDashAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkDashAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkDashAnime__9daAlink_cCFv.s" +bool daAlink_c::checkDashAnime() const { + return checkUnderMove0BckNoArc(ANM_RUN) || checkUnderMove0BckNoArc(ANM_RUN_B); } -#pragma pop /* 800A7ABC-800A7CB0 0A23FC 01F4+00 1/1 0/0 0/0 .text checkWindWallRate__9daAlink_cFRC4cXyz */ #pragma push @@ -13000,7 +12991,7 @@ 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); + i_onEndResetFlg0(ERFLG0_UNK_100); return 1; } @@ -13165,14 +13156,39 @@ asm void daAlink_c::setMatrix() { #pragma pop /* 800A9248-800A92F0 0A3B88 00A8+00 15/15 0/0 5/5 .text simpleAnmPlay__9daAlink_cFP10J3DAnmBase */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::simpleAnmPlay(J3DAnmBase* i_anm) { + if (i_anm == NULL) { + return 0; + } + + int ret = 0; + f32 frame = i_anm->getFrame() + 1.0f; + + if (frame >= i_anm->getFrameMax()) { + if (i_anm->getAttribute() == 2) { + frame -= i_anm->getFrameMax(); + } else { + frame = i_anm->getFrameMax(); + ret = 1; + } + } + + i_anm->setFrame(frame); + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::simpleAnmPlay(J3DAnmBase* param_0) { +asm int daAlink_c::simpleAnmPlay(J3DAnmBase* param_0) { nofralloc #include "asm/d/a/d_a_alink/simpleAnmPlay__9daAlink_cFP10J3DAnmBase.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80391FF8-80392004 01E658 000C+00 0/1 0/0 0/0 .rodata swordMoveLocal0$60438 */ @@ -13278,9 +13294,9 @@ asm void daAlink_c::setWolfItemMatrix() { /* 800AA2BC-800AA2E0 0A4BFC 0024+00 3/3 0/0 0/0 .text * setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM */ -void daAlink_c::setHandIndex(daAlink_c::daAlink_ANM anmID) { - field_0x2f92 = getAnmData(anmID)->field_0x4; - field_0x2f93 = getAnmData(anmID)->field_0x5; +void daAlink_c::setHandIndex(daAlink_c::daAlink_ANM i_anmID) { + field_0x2f92 = getAnmData(i_anmID)->field_0x4; + field_0x2f93 = getAnmData(i_anmID)->field_0x5; } /* 800AA2E0-800AA5E8 0A4C20 0308+00 1/1 0/0 0/0 .text setSwordAtCollision__9daAlink_cFi @@ -13421,98 +13437,148 @@ asm void daAlink_c::setCollision() { #pragma pop /* 800AC328-800AC378 0A6C68 0050+00 1/0 0/0 0/0 .text getBaseAnimeFrame__9daAlink_cCFv */ +// matches with literals +#ifdef NONMATCHING +f32 daAlink_c::getBaseAnimeFrame() const { + if (mProcID == PROC_SUMOU_ACTION && mSpeedModifier > 0.0f) { + return mCommonCounter; + } + + return mUnderFrameCtrl[0].getFrame(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm float daAlink_c::getBaseAnimeFrame() const { +asm f32 daAlink_c::getBaseAnimeFrame() const { nofralloc #include "asm/d/a/d_a_alink/getBaseAnimeFrame__9daAlink_cCFv.s" } #pragma pop +#endif /* 800AC378-800AC394 0A6CB8 001C+00 1/0 0/0 0/0 .text setAnimeFrame__9daAlink_cFf */ void daAlink_c::setAnimeFrame(f32 frame) { - mFrameCtrl1[0].setFrame(frame); - mFrameCtrl1[1].setFrame(frame); - mFrameCtrl1[2].setFrame(frame); - mFrameCtrl2[0].setFrame(frame); - mFrameCtrl2[1].setFrame(frame); - mFrameCtrl2[2].setFrame(frame); + mUnderFrameCtrl[0].setFrame(frame); + mUnderFrameCtrl[1].setFrame(frame); + mUnderFrameCtrl[2].setFrame(frame); + mUpperFrameCtrl[0].setFrame(frame); + mUpperFrameCtrl[1].setFrame(frame); + mUpperFrameCtrl[2].setFrame(frame); } /* 800AC394-800AC450 0A6CD4 00BC+00 6/6 0/0 0/0 .text * setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff */ void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* p_ctrl, u8 attr, s16 start, s16 end, f32 rate, f32 frame) { - if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) { + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; } else { rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate; } } + p_ctrl->setFrameCtrl(attr, start, end, rate, frame); } /* ############################################################################################## */ /* 80453278-80453280 001878 0008+00 1/1 0/0 0/0 .sdata2 kandelaarAnm$62207 */ -SECTION_SDATA2 static u8 kandelaarAnm[8] = { - 0x02, 0x6A, 0x02, 0x68, 0x02, 0x66, 0x02, 0x64, +SECTION_SDATA2 static daAlink_BckData kandelaarAnm[2] = { + {0x026A, 0x0268}, // waits, waitk + {0x0266, 0x0264}, // waiths, waithk }; /* 800AC450-800AC558 0A6D90 0108+00 23/23 0/0 0/0 .text * getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getMainBckData(daAlink_c::daAlink_ANM param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s" +const daAlink_BckData* daAlink_c::getMainBckData(daAlink_c::daAlink_ANM i_anmID) const { + if (mEquipItem == KANTERA) { + if (i_anmID == ANM_WAIT) { + return &kandelaarAnm[0]; + } + + if (i_anmID == ANM_HORSE_WAIT) { + return &kandelaarAnm[1]; + } + } + + if (checkUpperGuardAnime() && i_anmID < 0x14) { + return &m_mainBckShield[i_anmID]; + } + + if ((mEquipItem == 0x103 && i_anmID < 0x15 && i_anmID >= 0x10) || (i_anmID == ANM_SWIM_WAIT && mEquipItem != NO_ITEM)) { + return &m_mainBckSword[i_anmID - 0x10]; + } + + if (checkFishingRodAndLureItem() && i_anmID < 0x1C) { + return &m_mainBckFishing[i_anmID]; + } + + return &m_anmDataTable[i_anmID].field_0x0; } -#pragma pop + /* 800AC558-800AC5B4 0A6E98 005C+00 51/51 0/0 2/2 .text * checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM.s" +BOOL daAlink_c::checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM i_anmID) const { + return mUnderAnmHeap[0].checkNoSetArcNo() && mUnderAnmHeap[0].getIdx() == getMainBckData(i_anmID)->m_underID; } -#pragma pop /* 800AC5B4-800AC610 0A6EF4 005C+00 4/4 0/0 0/0 .text * checkUnderMove1BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/func_800AC5B4.s" +BOOL daAlink_c::checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM i_anmID) const { + return mUnderAnmHeap[1].checkNoSetArcNo() && mUnderAnmHeap[1].getIdx() == getMainBckData(i_anmID)->m_underID; } -#pragma pop /* 800AC610-800AC738 0A6F50 0128+00 3/3 0/0 0/0 .text * getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getUnderUpperAnime(daAlink_c::daAlink_ANM param_0, J3DAnmTransform** param_1, - J3DAnmTransform** param_2, int param_3, u32 param_4) { - nofralloc -#include "asm/d/a/d_a_alink/getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl.s" +int daAlink_c::getUnderUpperAnime(daAlink_c::daAlink_ANM i_anmID, J3DAnmTransform** i_underBck, + J3DAnmTransform** i_upperBck, int i_anmPackID, u32 i_bufSize) { + s32 var_r31; + + const daAlink_BckData* bck_data = getMainBckData(i_anmID); + i_offNoResetFlg0(FLG0_UNK_2); + + *i_underBck = (J3DAnmTransform*)getAnimeResource(&mUnderAnmHeap[i_anmPackID], bck_data->m_underID, i_bufSize); + + if (*i_underBck != NULL) { + var_r31 = 1; + } else { + *i_underBck = getNowAnmPackUnder((daAlink_UNDER)i_anmPackID); + var_r31 = 0; + } + + if (bck_data->m_underID != bck_data->m_upperID) { + if (i_bufSize == 0x10800) { + i_bufSize = (3 - i_anmPackID) * 0x2C00; + } + + *i_upperBck = (J3DAnmTransform*)getAnimeResource(&mUpperAnmHeap[i_anmPackID], bck_data->m_upperID, i_bufSize); + if (*i_upperBck != NULL) { + var_r31 |= 1; + } else { + *i_upperBck = getNowAnmPackUpper((daAlink_UPPER)i_anmPackID); + } + } else { + if (!mUpperAnmHeap[i_anmPackID].checkNoSetIdx()) { + var_r31 |= 1; + } + + *i_upperBck = NULL; + mUpperAnmHeap[i_anmPackID].resetIdx(); + } + + return var_r31; } -#pragma pop /* 800AC738-800AC754 0A7078 001C+00 7/7 0/0 0/0 .text setDoubleAnimeBlendRatio__9daAlink_cFf */ void daAlink_c::setDoubleAnimeBlendRatio(f32 param_0) { f32 tmp = lit_6040; // remove later - field_0x1f28[0].setRatio(tmp - param_0); - field_0x1f28[1].setRatio(param_0); - mNowAnmPack[0].setRatio(tmp - param_0); - mNowAnmPack[1].setRatio(param_0); + mNowAnmPackUnder[0].setRatio(tmp - param_0); + mNowAnmPackUnder[1].setRatio(param_0); + mNowAnmPackUpper[0].setRatio(tmp - param_0); + mNowAnmPackUpper[1].setRatio(param_0); } /* 800AC754-800ACA14 0A7094 02C0+00 2/2 0/0 0/0 .text @@ -13556,64 +13622,112 @@ asm void daAlink_c::commonSingleAnime(J3DAnmTransform* param_0, J3DAnmTransform* /* 800ACF80-800ACFB0 0A78C0 0030+00 88/88 0/0 0/0 .text * setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM */ -void daAlink_c::setSingleAnimeBase(daAlink_c::daAlink_ANM anm) { - setSingleAnime(anm, lit_6040, FLOAT_LABEL(lit_6108), -1, lit_6109); +void daAlink_c::setSingleAnimeBase(daAlink_c::daAlink_ANM i_anmID) { + setSingleAnime(i_anmID, lit_6040, FLOAT_LABEL(lit_6108), -1, lit_6109); } /* 800ACFB0-800ACFE0 0A78F0 0030+00 27/27 0/0 0/0 .text * setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf */ -void daAlink_c::setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM anm, f32 param_1) { - setSingleAnime(anm, lit_6040, FLOAT_LABEL(lit_6108), -1, param_1); +void daAlink_c::setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM i_anmID, f32 param_1) { + setSingleAnime(i_anmID, lit_6040, FLOAT_LABEL(lit_6108), -1, param_1); } /* 800ACFE0-800AD00C 0A7920 002C+00 77/77 0/0 0/0 .text * setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff */ -void daAlink_c::setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM anm, f32 param_1, f32 param_2) { - setSingleAnime(anm, param_1, FLOAT_LABEL(lit_6108), -1, param_2); +void daAlink_c::setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM i_anmID, f32 param_1, f32 param_2) { + setSingleAnime(i_anmID, param_1, FLOAT_LABEL(lit_6108), -1, param_2); } /* 800AD00C-800AD0F4 0A794C 00E8+00 58/58 0/0 0/0 .text * setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSingleAnime(daAlink_c::daAlink_ANM param_0, f32 param_1, f32 param_2, - s16 param_3, f32 param_4) { - nofralloc -#include "asm/d/a/d_a_alink/setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf.s" +int daAlink_c::setSingleAnime(daAlink_c::daAlink_ANM i_anmID, f32 i_rate, f32 i_start, + s16 i_end, f32 i_morf) { + J3DAnmTransform* under_bck; + J3DAnmTransform* upper_bck; + + getUnderUpperAnime(i_anmID, &under_bck, &upper_bck, 0, 0x10800); + commonSingleAnime(under_bck, upper_bck, i_rate, i_start, i_end); + + if (i_morf >= FLOAT_LABEL(lit_6108)) { + field_0x2060->initOldFrameMorf(i_morf, 0, 35); + } + + setHandIndex(i_anmID); + setFaceBasicAnime(i_anmID); + + return 1; } -#pragma pop /* 800AD0F4-800AD128 0A7A34 0034+00 93/93 0/0 0/0 .text * setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSingleAnimeParam(daAlink_c::daAlink_ANM param_0, - daAlinkHIO_anm_c const* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c.s" +int daAlink_c::setSingleAnimeParam(daAlink_c::daAlink_ANM i_anmID, + daAlinkHIO_anm_c const* i_anmData) { + return setSingleAnime(i_anmID, i_anmData->mRate, i_anmData->mStart, i_anmData->mEndF, i_anmData->mInterpolation); } -#pragma pop /* 800AD128-800AD170 0A7A68 0048+00 1/1 0/0 0/0 .text * animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c */ -void daAlink_c::animePlay(J3DAnmTransform* param_0, daPy_frameCtrl_c* param_1) { - if (param_0 != NULL) { - param_1->updateFrame(); - param_0->setFrame(param_1->getFrame()); +void daAlink_c::animePlay(J3DAnmTransform* i_anm, daPy_frameCtrl_c* i_frameCtrl) { + if (i_anm != NULL) { + i_frameCtrl->updateFrame(); + i_anm->setFrame(i_frameCtrl->getFrame()); } } /* 800AD170-800AD2D8 0A7AB0 0168+00 2/2 0/0 0/0 .text allAnimePlay__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::allAnimePlay() { - nofralloc -#include "asm/d/a/d_a_alink/allAnimePlay__9daAlink_cFv.s" +void daAlink_c::allAnimePlay() { + J3DAnmTransform* under0_bck = getNowAnmPackUnder(UNDER_0); + J3DAnmTransform* under1_bck = getNowAnmPackUnder(UNDER_1); + J3DAnmTransform* upper0_bck = getNowAnmPackUpper(UPPER_0); + J3DAnmTransform* upper1_bck = getNowAnmPackUpper(UPPER_1); + + if (i_checkWolf()) { + setWolfAnmVoice(); + } + + for (int i = 0; i < 3; i++) { + animePlay(getNowAnmPackUnder((daAlink_UNDER)i), &mUnderFrameCtrl[i]); + } + + if (upper0_bck != under0_bck) { + animePlay(upper0_bck, &mUpperFrameCtrl[0]); + } + + if (upper1_bck != under1_bck) { + animePlay(upper1_bck, &mUpperFrameCtrl[1]); + } + + animePlay(getNowAnmPackUpper((daAlink_UPPER)2), &mUpperFrameCtrl[2]); + + if (field_0x2f92 == 0xFB && mpDemoHLTmpBck != NULL) { + mpDemoHLTmpBck->play(); + } + + if (field_0x2f93 == 0xFB && mpDemoHRTmpBck != NULL) { + mpDemoHRTmpBck->play(); + } + + if (i_checkNoResetFlg1(FLG1_UNK_10)) { + if (field_0x069c != NULL && field_0x069c->getBlkAnm() != NULL) { + simpleAnmPlay(field_0x069c->getBlkAnm()); + } + + if (field_0x068c != NULL) { + simpleAnmPlay(field_0x068c); + } + + if (mpDemoFCTmpBck != NULL) { + mpDemoFCTmpBck->play(); + } + } + + if (mpDemoHDTmpBck != NULL) { + mpDemoHDTmpBck->play(); + } + + simpleAnmPlay(field_0x06f4); + simpleAnmPlay(field_0x06f8); } -#pragma pop /* 800AD2D8-800AD340 0A7C18 0068+00 2/2 0/0 0/0 .text setUpperAnimeMorf__9daAlink_cFf */ #pragma push @@ -13706,7 +13820,7 @@ asm void daAlink_c::setUnderAnimeMorf(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setUnderAnime(u16 param_0, daAlink_c::daAlink_UNDER param_1, f32 param_2, +asm int daAlink_c::setUnderAnime(u16 param_0, daAlink_c::daAlink_UNDER param_1, f32 param_2, f32 param_3, s16 param_4, f32 param_5) { nofralloc #include "asm/d/a/d_a_alink/setUnderAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERffsf.s" @@ -13715,15 +13829,10 @@ asm void daAlink_c::setUnderAnime(u16 param_0, daAlink_c::daAlink_UNDER param_1, /* 800ADAB8-800ADAEC 0A83F8 0034+00 2/2 0/0 0/0 .text * setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setUnderAnimeParam(u16 param_0, daAlink_c::daAlink_UNDER param_1, - daAlinkHIO_anm_c const* param_2) { - nofralloc -#include "asm/d/a/d_a_alink/setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c.s" +int daAlink_c::setUnderAnimeParam(u16 i_resID, daAlink_c::daAlink_UNDER i_packIdx, + daAlinkHIO_anm_c const* i_anmData) { + return setUnderAnime(i_resID, i_packIdx, i_anmData->mRate, i_anmData->mStart, i_anmData->mEndF, i_anmData->mInterpolation); } -#pragma pop /* 800ADAEC-800ADB78 0A842C 008C+00 17/17 0/0 0/0 .text * resetUnderAnime__9daAlink_cFQ29daAlink_c13daAlink_UNDERf */ @@ -13747,34 +13856,35 @@ asm void daAlink_c::setOldRootQuaternion(s16 param_0, s16 param_1, s16 param_2) #pragma pop /* 800ADC50-800ADCEC 0A8590 009C+00 2/2 0/0 0/0 .text checkAtnLeftAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkAtnLeftAnime() { - nofralloc -#include "asm/d/a/d_a_alink/checkAtnLeftAnime__9daAlink_cFv.s" +BOOL daAlink_c::checkAtnLeftAnime() { + return checkUnderMove0BckNoArc(ANM_ATN_WAIT_LEFT) || + checkUnderMove0BckNoArc(ANM_ATN_WALK_LEFT) || + checkUnderMove0BckNoArc(ANM_ATN_RUN_LEFT) || + checkUnderMove0BckNoArc(ANM_ATN_LOCK_WALK_LEFT) || + checkUnderMove0BckNoArc(ANM_ATN_LOCK_RUN_LEFT); } -#pragma pop /* 800ADCEC-800ADD88 0A862C 009C+00 1/1 0/0 0/0 .text checkAtnRightAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkAtnRightAnime() { - nofralloc -#include "asm/d/a/d_a_alink/checkAtnRightAnime__9daAlink_cFv.s" +BOOL daAlink_c::checkAtnRightAnime() { + return checkUnderMove0BckNoArc(ANM_ATN_WAIT_RIGHT) || + checkUnderMove0BckNoArc(ANM_ATN_WALK_RIGHT) || + checkUnderMove0BckNoArc(ANM_ATN_RUN_RIGHT) || + checkUnderMove0BckNoArc(ANM_ATN_LOCK_WALK_RIGHT) || + checkUnderMove0BckNoArc(ANM_ATN_LOCK_RUN_RIGHT); } -#pragma pop /* 800ADD88-800ADE14 0A86C8 008C+00 3/3 0/0 0/0 .text getMoveGroundAngleSpeedRate__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getMoveGroundAngleSpeedRate() { - nofralloc -#include "asm/d/a/d_a_alink/getMoveGroundAngleSpeedRate__9daAlink_cFv.s" +f32 daAlink_c::getMoveGroundAngleSpeedRate() { + s16 gnd_angle; + + if (field_0x3174 == 8 || i_checkMagneBootsOn() || !mLinkAcch.ChkGroundHit()) { + gnd_angle = 0; + } else { + gnd_angle = getGroundAngle(&mLinkAcch.m_gnd, current.angle.y); + } + + return fabsf((mNormalSpeed * cM_scos(gnd_angle)) / field_0x594); } -#pragma pop /* 800ADE14-800AEA70 0A8754 0C5C+00 20/20 0/0 0/0 .text setBlendMoveAnime__9daAlink_cFf */ @@ -13959,14 +14069,30 @@ asm void daAlink_c::playFaceTextureAnime() { /* 800B0098-800B0150 0AA9D8 00B8+00 14/14 0/0 0/0 .text * getGroundAngle__9daAlink_cFP13cBgS_PolyInfos */ +// matches but causes data issues +#ifdef NONMATCHING +s16 daAlink_c::getGroundAngle(cBgS_PolyInfo* i_poly, s16 i_angle) { + if (!dComIfG_Bgsp().ChkPolySafe(*i_poly)) { + return 0; + } + + cM3dGPla plane; + if (!dComIfG_Bgsp().GetTriPla(*i_poly, &plane) || !cBgW_CheckBGround(plane.mNormal.y)) { + return 0; + } + + return fopAcM_getPolygonAngle(&plane, i_angle); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { +asm s16 daAlink_c::getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { nofralloc #include "asm/d/a/d_a_alink/getGroundAngle__9daAlink_cFP13cBgS_PolyInfos.s" } #pragma pop +#endif /* 800B0150-800B01FC 0AAA90 00AC+00 1/1 0/0 0/0 .text getRoofAngle__9daAlink_cFP13cBgS_PolyInfos */ @@ -14042,14 +14168,13 @@ asm void daAlink_c::setHangWaterY() { #pragma pop /* 800B172C-800B1770 0AC06C 0044+00 3/3 0/0 0/0 .text setSandDownBgCheckWallH__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSandDownBgCheckWallH() { - nofralloc -#include "asm/d/a/d_a_alink/setSandDownBgCheckWallH__9daAlink_cFv.s" +void daAlink_c::setSandDownBgCheckWallH() { + if (!i_checkModeFlg(0x400)) { + for (int i = 0; i < 3; i++) { + field_0x18B0[i].SetWallH(field_0x2bac[i] + mSinkShapeOffset); + } + } } -#pragma pop /* ############################################################################################## */ /* 80453294-80453298 001894 0004+00 1/1 0/0 0/0 .sdata2 @64592 */ @@ -14109,15 +14234,15 @@ asm void daAlink_c::setSandShapeOffset() { #pragma pop /* 800B1FB8-800B1FD8 0AC8F8 0020+00 2/2 0/0 0/0 .text checkLv2MiddleBossBgRide__9daAlink_cFs */ -bool daAlink_c::checkLv2MiddleBossBgRide(short param_0) { - return param_0 == 0x7B || param_0 == 0x7D; +bool daAlink_c::checkLv2MiddleBossBgRide(s16 i_procName) { + return i_procName == PROC_OBJ_MSIMA || i_procName == PROC_B_ZANTS; } /* 800B1FD8-800B21EC 0AC918 0214+00 11/11 0/0 0/0 .text getSlidePolygon__9daAlink_cFP8cM3dGPla */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getSlidePolygon(cM3dGPla* param_0) { +asm bool daAlink_c::getSlidePolygon(cM3dGPla* param_0) { nofralloc #include "asm/d/a/d_a_alink/getSlidePolygon__9daAlink_cFP8cM3dGPla.s" } @@ -14130,8 +14255,6 @@ BOOL daAlink_c::checkSlope() const { /* 800B221C-800B23FC 0ACB5C 01E0+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi */ -// need to figure out member function pointer calls -#ifdef NONMATCHING void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2) { if (checkEventRun() || param_2 != 0 || mSpecialMode != 0) { if (p_pos != NULL) { @@ -14159,29 +14282,19 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2 field_0x3118 = mCollisionRot.y; } - if (checkHorseRide() || checkSpinnerRide()) { + if (checkHorseRide()) { + i_dComIfGp_getHorseActor()->i_setHorsePosAndAngle(¤t.pos, mCollisionRot.y); + } else if (checkSpinnerRide()) { fopAc_ac_c* rideAc = mRideAcKeep.getActor(); rideAc->current.pos = current.pos; rideAc->mCollisionRot.y = mCollisionRot.y; rideAc->current.angle.y = mCollisionRot.y; rideAc->mSpeed.y = FLOAT_LABEL(lit_6108); - } else { - i_dComIfGp_getHorseActor()->setHorsePosAndAngle(¤t.pos, mCollisionRot.y); } field_0x814.ClrCcMove(); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setPlayerPosAndAngle(cXyz const* param_0, s16 param_1, int param_2) { - nofralloc -#include "asm/d/a/d_a_alink/setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi.s" -} -#pragma pop -#endif /* 800B23FC-800B24F4 0ACD3C 00F8+00 1/0 0/0 0/0 .text * setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz */ @@ -14318,7 +14431,7 @@ void daAlink_c::setStickData() { field_0x33ac = 0.0f; mStickAngle = 0; dComIfGp_2dShowOff(); - i_onNoResetFlg2(0x80); + i_onNoResetFlg2(FLG2_UNK_80); var_r31 = 1; field_0x2fe4 = mCollisionRot.y; } else { @@ -14409,7 +14522,7 @@ void daAlink_c::setStickData() { mItemButton |= BTN_R; } - if (checkHeavyStateOn(1, 1) && (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(0x800000))) { + if (checkHeavyStateOn(1, 1) && (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(FLG0_UNDERWATER))) { if (i_checkWolf() && checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mInputFactor * 0.4f; } else { @@ -14425,7 +14538,7 @@ void daAlink_c::setStickData() { field_0x33a8 *= mHeavySpeedMultiplier; } else if (i_checkWolf() && ((field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11)) { - i_onNoResetFlg0(0x40000000); + i_onNoResetFlg0(FLG0_UNK_40000000); field_0x33a8 *= daAlinkHIO_wolf_c0::m.mSwampInputRate; mHeavySpeedMultiplier = daAlinkHIO_wolf_c0::m.mSwampInputRate; } @@ -14447,11 +14560,11 @@ void daAlink_c::setStickData() { } if (!doButton()) { - i_offNoResetFlg0(0x10000000); + i_offNoResetFlg0(FLG0_UNK_10000000); } - if (!var_r31 && checkNoResetFlg2(0x80)) { - i_offNoResetFlg2(0x80); + if (!var_r31 && checkNoResetFlg2(FLG2_UNK_80)) { + i_offNoResetFlg2(FLG2_UNK_80); dComIfGp_2dShowOn(); } } @@ -14646,14 +14759,13 @@ asm void daAlink_c::setSpeedAndAngleAtn() { /* 800B477C-800B47B4 0AF0BC 0038+00 2/2 0/0 0/0 .text * checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkRequestTalkActor(dAttList_c* param_0, fopAc_ac_c* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c.s" +int daAlink_c::checkRequestTalkActor(dAttList_c* param_0, fopAc_ac_c* param_1) { + if (param_0 != NULL && (param_0->mType == 3 || (param_0->mType == 1 && mTargetedActor == param_1))) { + return true; + } + + return false; } -#pragma pop /* 800B47B4-800B48D0 0AF0F4 011C+00 4/4 0/0 0/0 .text checkServiceWaitMode__9daAlink_cFv */ @@ -14697,33 +14809,60 @@ void daAlink_c::setMidnaMsg() { } /* 800B4950-800B4A08 0AF290 00B8+00 3/3 0/0 0/0 .text notTalk__9daAlink_cFv */ -bool daAlink_c::notTalk() { - BOOL chk; +BOOL daAlink_c::notTalk() { + BOOL safe_poly; if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dBgS_CheckBGroundPoly(mLinkAcch.m_gnd)) { - chk = true; + safe_poly = true; } else { - chk = false; + safe_poly = false; } if ((mMidnaTalkDelayTimer != 0 || (i_checkMagneBootsOn() && !cBgW_CheckBGround(mMagneBootsTopVec.y))) || !i_checkModeFlg(MODE_SWIMMING | MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING | MODE_NO_COLLISION | MODE_CLIMB | MODE_JUMP) && - !chk) { + !safe_poly) { return true; } return false; } /* 800B4A08-800B4B2C 0AF348 0124+00 11/11 0/0 0/0 .text setTalkStatus__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setTalkStatus() { - nofralloc -#include "asm/d/a/d_a_alink/setTalkStatus__9daAlink_cFv.s" +BOOL daAlink_c::setTalkStatus() { + if (i_checkEndResetFlg0(ERFLG0_UNK_400000) || field_0x27f4 == NULL) { + return 0; + } + + if (checkRequestTalkActor(mAttList, field_0x27f4)) { + if (notTalk()) { + setDoStatus(0x90); + } else { + if (field_0x27f4->mAttentionInfo.mFlags & 0x2000000) { + return 0; + } + + if (field_0x27f4->mAttentionInfo.mFlags & 0x800000) { + setDoStatus(0x3B); + } else if (field_0x27f4->mAttentionInfo.mFlags & 0x20000000) { + if (fopAcM_GetName(field_0x27f4) == PROC_OBJ_SSDRINK) { + setDoStatus(0x3C); + } else { + setDoStatus(8); + } + } else if (field_0x27f4->mAttentionInfo.mFlags & 0x40000000) { + setDoStatus(0x80); + } else if (field_0x27f4->mAttentionInfo.mFlags & 0x8000000) { + setDoStatus(0x1B); + } else { + setDoStatus(0x1C); + } + } + + return 1; + } + + return 0; } -#pragma pop /* 800B4B2C-800B4B7C 0AF46C 0050+00 1/1 0/0 0/0 .text getFrontRollRate__9daAlink_cFv */ f32 daAlink_c::getFrontRollRate() { @@ -14777,7 +14916,7 @@ void daAlink_c::setFallVoice() { void daAlink_c::setLandPassiveData() { if (field_0x30f0 == 0) { if (doTrigger()) { - field_0x30f0 = 0x41; + field_0x30f0 = 65; } } else { field_0x30f0--; @@ -14786,7 +14925,7 @@ void daAlink_c::setLandPassiveData() { /* 800B5C64-800B5CCC 0B05A4 0068+00 5/5 0/0 0/0 .text setStepLandVibration__9daAlink_cFv */ -// cXyz issues +// matches with literals #ifdef NONMATCHING void daAlink_c::setStepLandVibration() { int shock; @@ -14795,9 +14934,8 @@ void daAlink_c::setStepLandVibration() { } else { shock = 1; } - cXyz xyz(0.0f, 1.0f, 0.0f); - dComIfGp_getVibration().StartShock(shock, 15, xyz); + dComIfGp_getVibration().StartShock(shock, 15, cXyz(0.0f, 1.0f, 0.0f)); } #else #pragma push @@ -14835,7 +14973,7 @@ asm BOOL daAlink_c::checkSlideAction() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkAutoJumpAction() { +asm BOOL daAlink_c::checkAutoJumpAction() { nofralloc #include "asm/d/a/d_a_alink/checkAutoJumpAction__9daAlink_cFv.s" } @@ -14984,14 +15122,36 @@ void daAlink_c::orderPeep() { SECTION_SDATA2 static u16 itemTalkType[2] = {6, 7}; /* 800B7BF8-800B7D4C 0B2538 0154+00 13/13 0/0 0/0 .text orderTalk__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::orderTalk(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/orderTalk__9daAlink_cFi.s" +int daAlink_c::orderTalk(int i_checkZTalk) { + if (notTalk()) { + return 0; + } + + if ((i_dComIfGp_getDoStatus() == 0x1C || i_dComIfGp_getDoStatus() == 0x1B || i_dComIfGp_getDoStatus() == 0x80 || + i_dComIfGp_getDoStatus() == 0x3B || i_dComIfGp_getDoStatus() == 0x3C || i_dComIfGp_getDoStatus() == 0x8) && + talkTrigger()) { + fopAcM_orderTalkEvent(this, field_0x27f4, 0, 0); + return 1; + } + + if (!i_checkWolf() && checkRequestTalkActor(mAttList2, field_0x27f8)) { + for (int i = 0; i < 2; i++) { + u8 item = dComIfGp_getSelectItem(i); + + // check if pressed X or Y and if item on button is a trade item + if (checkTradeItem(item) && itemTriggerCheck(1 << i)) { + fopAcM_orderTalkItemBtnEvent(itemTalkType[i], this, field_0x27f8, 0, 0); + return 1; + } + } + } + + if (i_checkZTalk) { + return orderZTalk(); + } + + return 0; } -#pragma pop /* ############################################################################################## */ /* 804532B4-804532B8 0018B4 0004+00 1/1 0/0 0/0 .sdata2 @67554 */ @@ -15021,7 +15181,7 @@ static asm void daAlink_searchKolin(fopAc_ac_c* param_0, void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::orderZTalk() { +asm int daAlink_c::orderZTalk() { nofralloc #include "asm/d/a/d_a_alink/orderZTalk__9daAlink_cFv.s" } @@ -15153,7 +15313,7 @@ asm BOOL daAlink_c::checkEquipAnime() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkWindDashAnime() const { +asm BOOL daAlink_c::checkWindDashAnime() const { nofralloc #include "asm/d/a/d_a_alink/checkWindDashAnime__9daAlink_cCFv.s" } @@ -15199,7 +15359,7 @@ void daAlink_c::itemEquip(u16 item_id) { if (mThrowBoomerangAcKeep.getActor() == NULL || item_id != BOOMERANG) { field_0x2fde = item_id; dComIfGp_clearPlayerStatus0(0, 0x400000); - i_offNoResetFlg3(0x40000); + i_offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); itemUnequip(field_0x2fde, lit_6041); } } @@ -15414,9 +15574,9 @@ asm void daAlink_c::initGravity() { */ void daAlink_c::setSpecialGravity(f32 gravity, f32 speed, int param_2) { if (param_2 != 0) { - i_offNoResetFlg3(0x4000); + i_offNoResetFlg3(FLG3_UNK_4000); } else { - i_onNoResetFlg3(0x4000); + i_onNoResetFlg3(FLG3_UNK_4000); } mGravity = gravity; mMaxFallSpeed = speed; @@ -15570,7 +15730,7 @@ SECTION_DEAD static char const* const stringBase_803925BA = "F_SP114"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkRestartRoom() { +asm bool daAlink_c::checkRestartRoom() { nofralloc #include "asm/d/a/d_a_alink/checkRestartRoom__9daAlink_cFv.s" } @@ -15670,7 +15830,7 @@ int daAlink_c::checkSceneChange(int exitID) { exitMode = 1; } else if (i_checkModeFlg(0x1000000)) { exitSpeed = field_0x33a8; - if (mFrameCtrl1[0].getRate() >= 0.0f) { + if (mUnderFrameCtrl[0].getRate() >= 0.0f) { exitMode = 2; } else { exitMode = 3; @@ -15694,7 +15854,7 @@ int daAlink_c::checkSceneChange(int exitID) { sceneChanged = dStage_changeScene(mExitID, exitSpeed, exitMode, fopAcM_GetRoomNo(this), mCollisionRot.y, -1); if (sceneChanged) { - i_onNoResetFlg2(0x8000); + i_onNoResetFlg2(FLG2_SCN_CHG_START); if (mpScnChg != NULL && fopAcM_GetName(mpScnChg) == PROC_SCENE_EXIT) { mpScnChg->setSceneChangeOK(); } @@ -15713,13 +15873,13 @@ int daAlink_c::checkSceneChange(int exitID) { } if (sceneChanged) { - i_onNoResetFlg0(0x4000); + i_onNoResetFlg0(FLG0_UNK_4000); if (!mEvtInfo.i_checkCommandDoor()) { mDemo.setOriginalDemoType(); if (checkUpperReadyThrowAnime()) { - resetUpperAnime(UPPER_NOW, 3.0f); + resetUpperAnime(UPPER_2, 3.0f); } if (field_0x3174 == 5) { @@ -15982,7 +16142,7 @@ BOOL daAlink_c::setItemActor() { if (actor == NULL) { if (checkIronBallWaitAnime()) { - resetUpperAnime(UPPER_NOW, -1.0f); + resetUpperAnime(UPPER_2, -1.0f); } deleteEquipItem(FALSE, FALSE); return 0; @@ -16074,7 +16234,7 @@ BOOL daAlink_c::checkZoraWearAbility() const { wear_zora = true; } - if (wear_zora && !i_checkNoResetFlg2(UNK_ARMOR)) { + if (wear_zora && !i_checkNoResetFlg2(FLG2_UNK_80000)) { ret = true; } @@ -16101,7 +16261,7 @@ BOOL daAlink_c::checkMagicArmorWearAbility() const { wear_armor = true; } - if (wear_armor && !i_checkNoResetFlg2(UNK_ARMOR)) { + if (wear_armor && !i_checkNoResetFlg2(FLG2_UNK_80000)) { ret = true; } @@ -16393,9 +16553,9 @@ MtxP daAlink_c::getModelJointMtx(u16 param_0) { /* 800C1DE0-800C1E0C 0BC720 002C+00 1/0 0/0 0/0 .text onFrollCrashFlg__9daAlink_cFUci */ void daAlink_c::onFrollCrashFlg(u8 param_0, int param_1) { if (param_1 != 0) { - i_onNoResetFlg0(UNK_F_ROLL_CRASH_2); + i_onNoResetFlg0(FLG0_UNK_10); } else { - i_onNoResetFlg0(UNK_F_ROLL_CRASH_1); + i_onNoResetFlg0(FLG0_UNK_8); } mRollCrashFlg = param_0; } @@ -16708,7 +16868,7 @@ void daAlink_c::setClothesChange(int param_0) { return; } - i_onNoResetFlg2(0x200000); + i_onNoResetFlg2(FLG2_UNK_200000); } /* 80140064-80140070 13A9A4 000C+00 0/0 1/1 0/0 .text setShieldChange__9daAlink_cFv */ @@ -17091,7 +17251,7 @@ int dComIfGs_isItemFirstBit(u8 i_no) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { +static asm s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { nofralloc #include "asm/d/a/d_a_alink/dStage_stagInfo_GetSaveTbl__FP21stage_stag_info_class.s" } @@ -17101,7 +17261,7 @@ static asm u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getStage() { +static asm dStage_stageDt_c* dComIfGp_getStage() { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_getStage__Fv.s" } @@ -17109,8 +17269,8 @@ static asm void dComIfGp_getStage() { /* 801412B0-801412BC 13BBF0 000C+00 1/1 0/0 0/0 .text checkEquipHeavyBoots__9daPy_py_cCFv */ -BOOL daPy_py_c::checkEquipHeavyBoots() const { - return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); +u32 daPy_py_c::checkEquipHeavyBoots() const { + return i_checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); } /* 801412BC-801412C4 13BBFC 0008+00 1/1 4/4 0/0 .text fopAcM_GetName__FPv */ @@ -17134,7 +17294,7 @@ void daPy_py_c::onNoResetFlg0(daPy_FLG0 pFlag) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dEvt_control_c::isOrderOK() { +asm BOOL dEvt_control_c::isOrderOK() { nofralloc #include "asm/d/a/d_a_alink/isOrderOK__14dEvt_control_cFv.s" } @@ -17144,7 +17304,7 @@ asm void dEvt_control_c::isOrderOK() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getEvent() { +static asm dEvt_control_c& dComIfGp_getEvent() { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_getEvent__Fv.s" } @@ -17155,7 +17315,7 @@ static asm void dComIfGp_getEvent() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) { +static asm u32 dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_checkPlayerStatus0__FiUl.s" } @@ -17166,7 +17326,7 @@ static asm void dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_checkPlayerStatus1(int param_0, u32 param_1) { +static asm u32 dComIfGp_checkPlayerStatus1(int param_0, u32 param_1) { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_checkPlayerStatus1__FiUl.s" } @@ -17174,7 +17334,7 @@ static asm void dComIfGp_checkPlayerStatus1(int param_0, u32 param_1) { /* 80141340-8014134C 13BC80 000C+00 1/1 0/0 0/0 .text * checkEndResetFlg1__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG1 */ -int daPy_py_c::checkEndResetFlg1(daPy_ERFLG1 pFlag) const { +u32 daPy_py_c::checkEndResetFlg1(daPy_ERFLG1 pFlag) const { return mEndResetFlg1 & pFlag; } @@ -17235,8 +17395,8 @@ BOOL dComIfGs_isEventBit(u16 id) { } /* 801413CC-801413D8 13BD0C 000C+00 1/1 0/0 0/0 .text checkWolf__9daPy_py_cCFv */ -int daPy_py_c::checkWolf() const { - return i_checkNoResetFlg1(IS_WOLF); +u32 daPy_py_c::checkWolf() const { + return i_checkNoResetFlg1(FLG1_IS_WOLF); } /* 801413D8-801413F8 13BD18 0020+00 1/1 0/0 0/0 .text checkSwordGet__9daPy_py_cFv */ @@ -17246,7 +17406,7 @@ BOOL daPy_py_c::checkSwordGet() { /* 801413F8-80141404 13BD38 000C+00 1/1 0/0 0/0 .text * checkResetFlg0__9daPy_py_cCFQ29daPy_py_c10daPy_RFLG0 */ -int daPy_py_c::checkResetFlg0(daPy_RFLG0 pFlag) const { +u32 daPy_py_c::checkResetFlg0(daPy_RFLG0 pFlag) const { return mResetFlg0 & pFlag; } @@ -17257,7 +17417,7 @@ bool dBgS_Acch::ChkGroundHit() const { /* 80141410-8014141C 13BD50 000C+00 1/1 0/0 0/0 .text * checkNoResetFlg0__9daPy_py_cCFQ29daPy_py_c9daPy_FLG0 */ -int daPy_py_c::checkNoResetFlg0(daPy_FLG0 pFlag) const { +u32 daPy_py_c::checkNoResetFlg0(daPy_FLG0 pFlag) const { return mNoResetFlg0 & pFlag; } @@ -17270,7 +17430,7 @@ static s32 dComIfGp_getPlayerCameraID(int i) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getPlayerCameraID(int param_0) { +static asm s8 dComIfGp_getPlayerCameraID(int param_0) { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_getPlayerCameraID__Fi.s" } @@ -17301,13 +17461,13 @@ static BOOL dComIfGp_event_runCheck() { /* 801414C0-801414CC 13BE00 000C+00 1/1 0/0 0/0 .text * checkNoResetFlg2__9daPy_py_cCFQ29daPy_py_c9daPy_FLG2 */ -int daPy_py_c::checkNoResetFlg2(daPy_FLG2 pFlag) const { +u32 daPy_py_c::checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; } /* 801414CC-801414D8 13BE0C 000C+00 1/1 2/2 0/0 .text checkMagneBootsOn__9daPy_py_cCFv */ -int daPy_py_c::checkMagneBootsOn() const { - return i_checkNoResetFlg0(MAGNE_BOOTS_ON); +u32 daPy_py_c::checkMagneBootsOn() const { + return i_checkNoResetFlg0(FLG0_MAGNE_BOOTS_ON); } /* 801414D8-801414E8 13BE18 0010+00 1/1 2/2 0/0 .text dComIfGp_getHorseActor__Fv */ @@ -17316,13 +17476,13 @@ daHorse_c* dComIfGp_getHorseActor() { } /* 801414E8-801414F4 13BE28 000C+00 1/1 0/0 0/0 .text checkBoarSingleBattle__9daPy_py_cCFv */ -int daPy_py_c::checkBoarSingleBattle() const { - return i_checkNoResetFlg2(BOAR_SINGLE_BATTLE); +u32 daPy_py_c::checkBoarSingleBattle() const { + return i_checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); } /* 801414F4-80141500 13BE34 000C+00 1/1 0/0 0/0 .text * checkEndResetFlg0__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG0 */ -int daPy_py_c::checkEndResetFlg0(daPy_ERFLG0 pFlag) const { +u32 daPy_py_c::checkEndResetFlg0(daPy_ERFLG0 pFlag) const { return mEndResetFlg0 & pFlag; } @@ -18160,7 +18320,7 @@ fopAc_ac_c* daHorse_c::getZeldaActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_getDoStatus() { +static asm u8 dComIfGp_getDoStatus() { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_getDoStatus__Fv.s" } @@ -18214,18 +18374,18 @@ static void dMeter2Info_setFloatingMessage(u16 pMessageID, s16 pMessageTimer, bo /* 801419F4-80141A04 13C334 0010+00 1/1 0/0 0/0 .text onForcePanic__9daMidna_cFv */ void daMidna_c::onForcePanic() { - onEndResetStateFlg0(FORCE_PANIC); + onEndResetStateFlg0(ERFLG0_FORCE_PANIC); } /* 80141A04-80141A10 13C344 000C+00 1/1 0/0 0/0 .text checkForceNormalColor__9daMidna_cCFv */ u32 daMidna_c::checkForceNormalColor() const { - return checkStateFlg1(FORCE_NORMAL_COLOR); + return checkStateFlg1(FLG1_FORCE_NORMAL_COL); } /* 80141A10-80141A1C 13C350 000C+00 1/1 0/0 0/0 .text checkForceTiredColor__9daMidna_cCFv */ u32 daMidna_c::checkForceTiredColor() const { - return checkStateFlg1(FORCE_TIRED_COLOR); + return checkStateFlg1(FLG1_FORCE_TIRED_COL); } /* 80141A1C-80141A84 13C35C 0068+00 1/1 0/0 0/0 .text checkMidnaTired__9daMidna_cFv */ @@ -18240,7 +18400,7 @@ asm bool daMidna_c::checkMidnaTired() { /* 80141A84-80141A94 13C3C4 0010+00 1/1 0/0 0/0 .text onNoServiceWait__9daMidna_cFv */ void daMidna_c::onNoServiceWait() { - onEndResetStateFlg0(NO_SERVICE_WAIT); + onEndResetStateFlg0(ERFLG0_NO_SERVICE_WAIT); } /* 80141A94-80141ACC 13C3D4 0038+00 1/1 0/0 0/0 .text setControllActorData__8daCrod_cFv diff --git a/src/d/a/d_a_alink_boom.inc b/src/d/a/d_a_alink_boom.inc index 73e3a79c57..258657501e 100644 --- a/src/d/a/d_a_alink_boom.inc +++ b/src/d/a/d_a_alink_boom.inc @@ -1,3 +1,5 @@ +#include "rel/d/a/d_a_boomerang/d_a_boomerang.h" + /* 800DFFE0-800E0010 0DA920 0030+00 0/0 0/0 1/1 .text checkBoomerangLockAccept__9daAlink_cFv */ BOOL daAlink_c::checkBoomerangLockAccept() { return mSight.getDrawFlg() && i_dComIfGp_checkPlayerStatus0(0, 0x80000); @@ -9,9 +11,9 @@ BOOL daAlink_c::checkBoomerangLockAccept() { f32 daAlink_c::getBoomSpeed() { f32 speed; if (checkBoomerangChargeEndWait()) { - speed = daAlinkHIO_boom_c0::m.field_0x38; + speed = daAlinkHIO_boom_c0::m.mFlySpeed2; } else { - speed = daAlinkHIO_boom_c0::m.field_0x34; + speed = daAlinkHIO_boom_c0::m.mFlySpeed; } if (i_checkModeFlg(0x400) && mRideAcKeep.getActor() != NULL && mSpeedF > FLOAT_LABEL(lit_6108)) { @@ -39,22 +41,22 @@ f32 daAlink_c::getBoomCatchSpeed() const { /* 800E00C0-800E011C 0DAA00 005C+00 1/1 0/0 1/1 .text getBoomFlyMax__9daAlink_cCFv */ f32 daAlink_c::getBoomFlyMax() const { if (i_checkModeFlg(0x400) && !checkCanoeRide()) { - return daAlinkHIO_boom_c0::m.field_0x40; + return daAlinkHIO_boom_c0::m.mHorsebackFlyDistMax; } else { - return daAlinkHIO_boom_c0::m.field_0x3c; + return daAlinkHIO_boom_c0::m.mFlyDistMax; } } /* 800E011C-800E0190 0DAA5C 0074+00 1/1 0/0 2/2 .text getBoomLockMax__9daAlink_cFv */ f32 daAlink_c::getBoomLockMax() { - f32 max = getBoomFlyMax(); + f32 fly_max = getBoomFlyMax(); if (checkBossBabaRoom()) { return lit_12475; - } else if (daAlinkHIO_boom_c0::m.field_0x44 > max) { - return daAlinkHIO_boom_c0::m.field_0x44; + } else if (daAlinkHIO_boom_c0::m.mLockDistMax > fly_max) { + return daAlinkHIO_boom_c0::m.mLockDistMax; } else { - return max; + return fly_max; } } @@ -94,21 +96,25 @@ fopAc_ac_c* daAlink_c::getBoomerangActor() { } /* 800E0244-800E02B8 0DAB84 0074+00 0/0 1/1 0/0 .text checkBoomerangChargeEnd__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkBoomerangChargeEnd() { - nofralloc -#include "asm/d/a/d_a_alink/checkBoomerangChargeEnd__9daAlink_cFv.s" +bool daAlink_c::checkBoomerangChargeEnd() { + if (checkBoomerangChargeEndWait()) { + return true; + } + + daBoomerang_c* boomerang = (daBoomerang_c*)getBoomerangActor(); + if (boomerang != NULL && boomerang->checkCharge()) { + return true; + } + + return false; } -#pragma pop /* 800E02B8-800E03D0 0DABF8 0118+00 0/0 1/1 0/0 .text * checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) { +asm BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s" } @@ -120,11 +126,11 @@ void daAlink_c::initBoomerangUpperAnimeSpeed(int param_0) { if (!checkBoomerangThrowAnime()) { if (param_0 != 0) { f32 tmp = FLOAT_LABEL(lit_6108); - mFrameCtrl2[2].setRate(tmp); - mFrameCtrl2[2].setFrame(tmp); - getNowAnmPackUpper(UPPER_NOW)->setFrame(tmp); + mUpperFrameCtrl[2].setRate(tmp); + mUpperFrameCtrl[2].setFrame(tmp); + getNowAnmPackUpper(UPPER_2)->setFrame(tmp); } else { - mFrameCtrl2[2].setRate(daAlinkHIO_boom_c0::m.field_0x2c); + mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed); } } } @@ -136,14 +142,9 @@ BOOL daAlink_c::checkBoomerangAnime() const { } /* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkBoomerangThrowAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkBoomerangThrowAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkBoomerangThrowAnime() const { + return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) && checkUpperAnime(0x53); } -#pragma pop /* 800E04E8-800E055C 0DAE28 0074+00 1/1 0/0 0/0 .text setBoomerangReadyQuake__9daAlink_cFv */ #pragma push @@ -167,13 +168,13 @@ asm void daAlink_c::setBoomerangReadyAnime() { /* 800E05E8-800E0630 0DAF28 0048+00 2/2 0/0 0/0 .text setThrowBoomerangAnime__9daAlink_cFv */ void daAlink_c::setThrowBoomerangAnime() { - setUpperAnimeParam(0x53, UPPER_NOW, &daAlinkHIO_boom_c0::m.mThrowAnm); + setUpperAnimeParam(0x53, UPPER_2, &daAlinkHIO_boom_c0::m.mThrowAnm); cancelItemUseQuake(0); } /* 800E0630-800E06B8 0DAF70 0088+00 2/2 0/0 0/0 .text setBoomerangCatchAnime__9daAlink_cFv */ void daAlink_c::setBoomerangCatchAnime() { - setUpperAnimeParam(0x52, UPPER_NOW, &daAlinkHIO_boom_c0::m.mCatchAnm); + setUpperAnimeParam(0x52, UPPER_2, &daAlinkHIO_boom_c0::m.mCatchAnm); setFacePriBck(0xE8); field_0x2f97 = 254; if (mEquipItem != COPY_ROD) { diff --git a/src/d/a/d_a_alink_canoe.inc b/src/d/a/d_a_alink_canoe.inc index 2fd44bf446..4e36f7cca9 100644 --- a/src/d/a/d_a_alink_canoe.inc +++ b/src/d/a/d_a_alink_canoe.inc @@ -85,7 +85,7 @@ asm void daAlink_c::checkCanoeRideTandem() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkFishingRodAndLureItem() const { +asm BOOL daAlink_c::checkFishingRodAndLureItem() const { nofralloc #include "asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s" } diff --git a/src/d/a/d_a_alink_copyrod.inc b/src/d/a/d_a_alink_copyrod.inc index b712bfb650..6c4044c00f 100644 --- a/src/d/a/d_a_alink_copyrod.inc +++ b/src/d/a/d_a_alink_copyrod.inc @@ -56,11 +56,11 @@ asm void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { /* void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { if (checkCopyRodThrowAnime()) { if (param_1 == 0) { - mFrameCtrl2[2].setRate(); + mUpperFrameCtrl[2].setRate(); } f32 tmp = FLOAT_LABEL(lit_6108); - mFrameCtrl2[2].setRate(tmp); - mFrameCtrl2[2].setFrame(tmp); + mUpperFrameCtrl[2].setRate(tmp); + mUpperFrameCtrl[2].setFrame(tmp); } } */ @@ -173,7 +173,7 @@ void daAlink_c::throwCopyRod() { if (checkCopyRodTopUse()) { copy_rod->setThrow(); mCopyRodAcKeep = mItemAcKeep; - i_onNoResetFlg3(COPY_ROD_THROW_AFTER); + i_onNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); mItemAcKeep.clearData(); } dComIfGp_clearPlayerStatus0(0, 0x80); @@ -203,7 +203,7 @@ asm void daAlink_c::returnCopyRod() { #pragma pop /* void daAlink_c::returnCopyRod() { - i_offNoResetFlg3(COPY_ROD_THROW_AFTER); + i_offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); if (mEquipItem == 0x46) { mItemAcKeep = mCopyRodAcKeep; diff --git a/src/d/a/d_a_alink_cut.inc b/src/d/a/d_a_alink_cut.inc index 50bbdadf28..1fe5d47af8 100644 --- a/src/d/a/d_a_alink_cut.inc +++ b/src/d/a/d_a_alink_cut.inc @@ -92,7 +92,7 @@ void daAlink_c::changeCutFast() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkCutFastReady() { +asm bool daAlink_c::checkCutFastReady() { nofralloc #include "asm/d/a/d_a_alink/checkCutFastReady__9daAlink_cFv.s" } @@ -128,10 +128,28 @@ void daAlink_c::offSwordModel() { */ BOOL daAlink_c::checkCutTypeNoBlur() const { return mCutType == TYPE_CUT_STAB || mCutType == TYPE_CUT_STAB_COMBO || - mCutType == TYPE_CUT_STAB_FINISH || i_checkNoResetFlg0(UNDER_WATER_MOVEMENT); + mCutType == TYPE_CUT_STAB_FINISH || i_checkNoResetFlg0(FLG0_UNDERWATER); } /* 800D13E4-800D1424 0CBD24 0040+00 7/7 0/0 0/0 .text checkCutTurnInput__9daAlink_cCFv */ +#ifdef NONMATCHING +u32 daAlink_c::checkCutTurnInput() const { + + s32 unk0; + int unk1; + int unk2; + int unk3; + + unk0 = abs(field_0x3180); + s16 ex = -2048; + unk1 = unk0 ^ (u32)ex; + unk2 = (unk1 & unk0); + unk3 = (unk1 >> 1); + + + return (u32)(unk3 -= unk2) >> 0x1FU; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -140,6 +158,7 @@ asm bool daAlink_c::checkCutTurnInput() const { #include "asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s" } #pragma pop +#endif /* 800D1424-800D1430 0CBD64 000C+00 7/7 0/0 0/0 .text getCutTurnDirection__9daAlink_cCFv */ @@ -283,13 +302,13 @@ void daAlink_c::setComboReserb() { field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; } if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) { - i_onNoResetFlg2(UNK_FLG2_2); + i_onNoResetFlg2(FLG2_UNK_2); } } /* 800D2188-800D21D0 0CCAC8 0048+00 1/1 0/0 0/0 .text checkComboReserb__9daAlink_cFv */ BOOL daAlink_c::checkComboReserb() { - return i_checkNoResetFlg2(UNK_FLG2_2) && !checkEventRun(); + return i_checkNoResetFlg2(FLG2_UNK_2) && !checkEventRun(); } /* 800D21D0-800D2284 0CCB10 00B4+00 1/1 0/0 0/0 .text commonCutAction__9daAlink_cFv */ @@ -316,7 +335,7 @@ bool daAlink_c::commonCutAction() { /* 800D2284-800D22BC 0CCBC4 0038+00 13/13 0/0 0/0 .text setSwordVoiceSe__9daAlink_cFUl */ void daAlink_c::setSwordVoiceSe(u32 sfx_id) { - if (!i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) { + if (!i_checkNoResetFlg0(FLG0_UNDERWATER)) { voiceStart(sfx_id); } } @@ -477,7 +496,7 @@ asm void daAlink_c::checkCutAtnActorChange() { // literals, and small issue with JMAFastSqrt instructions #ifdef NONMATCHING void daAlink_c::setCutJumpSpeed(int cut_type) { - if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) { + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; } else if (checkHeavyStateOn(1, 1)) { @@ -666,7 +685,7 @@ bool daAlink_c::procCutJump() { } if (mLinkAcch.ChkGroundHit()) { procCutJumpLandInit(field_0x3198); - } else if (mFrameCtrl1[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) { + } else if (mUnderFrameCtrl[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) { if (!i_checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); } @@ -883,7 +902,7 @@ asm void daAlink_c::procCutLargeJumpInit() { /* 800D6484-800D66C0 0D0DC4 023C+00 1/0 0/0 0/0 .text procCutLargeJump__9daAlink_cFv */ bool daAlink_c::procCutLargeJump() { - daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0]; + daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; if (field_0x3010 != 0) { field_0x2f99 = 4; diff --git a/src/d/a/d_a_alink_damage.inc b/src/d/a/d_a_alink_damage.inc index 21a74d5e90..a36565f3d9 100644 --- a/src/d/a/d_a_alink_damage.inc +++ b/src/d/a/d_a_alink_damage.inc @@ -116,7 +116,7 @@ asm bool daAlink_c::setThrowDamage(s16 param_0, f32 param_1, f32 param_2, int pa #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::damageMagnification(int param_0, int param_1) { +asm f32 daAlink_c::damageMagnification(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s" } @@ -189,7 +189,7 @@ asm void daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkMagicArmorNoDamage() { +asm BOOL daAlink_c::checkMagicArmorNoDamage() { nofralloc #include "asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s" } @@ -228,8 +228,8 @@ void daAlink_c::damageTimerCount() { i_offNoResetFlg1(1); } - if (checkDkCaught2Anime() && i_checkNoResetFlg0(0x20000)) { - i_offNoResetFlg0(0x20000); + if (checkDkCaught2Anime() && i_checkNoResetFlg0(FLG0_UNK_20000)) { + i_offNoResetFlg0(FLG0_UNK_20000); } } else if (mDamageColorTime != 0) { mDamageColorTime--; @@ -273,7 +273,7 @@ asm void daAlink_c::checkLargeAttack(int param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkDamageAction() { +asm BOOL daAlink_c::checkDamageAction() { nofralloc #include "asm/d/a/d_a_alink/checkDamageAction__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_demo.inc b/src/d/a/d_a_alink_demo.inc index 93f76df74b..b9b983841f 100644 --- a/src/d/a/d_a_alink_demo.inc +++ b/src/d/a/d_a_alink_demo.inc @@ -29,7 +29,7 @@ asm bool daAlink_c::checkSetNpcTks(cXyz* param_0, int param_1, int param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkDemoAction() { +asm int daAlink_c::checkDemoAction() { nofralloc #include "asm/d/a/d_a_alink/checkDemoAction__9daAlink_cFv.s" } @@ -131,7 +131,7 @@ asm void daAlink_c::getDemoLookActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkFlyAtnWait() { +asm bool daAlink_c::checkFlyAtnWait() { nofralloc #include "asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s" } @@ -263,50 +263,50 @@ asm void daAlink_c::setDemoBodyBck(dDemo_actor_c* param_0, u16 param_1) { #pragma pop /* 80118AD0-80118B34 113410 0064+00 1/1 0/0 0/0 .text checkFinalBattle__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkFinalBattle() { - nofralloc -#include "asm/d/a/d_a_alink/checkFinalBattle__9daAlink_cFv.s" +BOOL daAlink_c::checkFinalBattle() { + return checkStageName("D_MN09B") && dComIfGs_isSaveDunSwitch(1); } -#pragma pop /* 80118B34-80118BF4 113474 00C0+00 3/3 0/0 0/0 .text checkRestartDead__9daAlink_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkRestartDead(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/checkRestartDead__9daAlink_cFii.s" +BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int param_1) { + i_dmgAmount *= (int)damageMagnification(param_1, 1); + + if (mProcID != PROC_DEAD && i_dmgAmount >= i_dComIfGs_getLife() && !checkMagicArmorNoDamage() && + !dComIfGs_checkBottle(FAIRY)) { + i_onNoResetFlg2(FLG2_UNK_40000); + procCoDeadInit(0); + return 1; + } + + return 0; } -#pragma pop /* 80118BF4-80118C98 113534 00A4+00 2/2 0/0 0/0 .text setDeadRideSyncPos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setDeadRideSyncPos() { - nofralloc -#include "asm/d/a/d_a_alink/setDeadRideSyncPos__9daAlink_cFv.s" +void daAlink_c::setDeadRideSyncPos() { + if (i_checkModeFlg(MODE_RIDING) && mRideAcKeep.getActor() != NULL) { + if (i_checkReinRide()) { + setSyncRidePos(); + } else if (checkSpinnerRide()) { + s16 old_angle = mCollisionRot.y; + setSpinnerSyncPos(); + mCollisionRot.y = old_angle; + } + } } -#pragma pop /* 80118C98-80118D7C 1135D8 00E4+00 5/5 0/0 0/0 .text checkDeadHP__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkDeadHP() { - nofralloc -#include "asm/d/a/d_a_alink/checkDeadHP__9daAlink_cFv.s" +BOOL daAlink_c::checkDeadHP() { + return ((i_dComIfGs_getLife() == 0 && !i_checkResetFlg0(RFLG0_UNK_400)) && + !dComIfGs_checkBottle(FAIRY)) || + i_checkNoResetFlg2(FLG2_UNK_40000) || + (dComIfGp_getOxygenShowFlag() && dComIfGp_getNowOxygen() == 0); } -#pragma pop /* 80118D7C-80118FF8 1136BC 027C+00 3/3 0/0 0/0 .text checkDeadAction__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkDeadAction(int param_0) { +asm BOOL daAlink_c::checkDeadAction(int param_0) { nofralloc #include "asm/d/a/d_a_alink/checkDeadAction__9daAlink_cFi.s" } @@ -374,14 +374,10 @@ static asm void daAlink_c_getDemoIDData(dDemo_actor_c* param_0, int* param_1, in #pragma pop /* 801195C0-801195F8 113F00 0038+00 7/0 0/0 0/0 .text procDemoCommon__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procDemoCommon() { - nofralloc -#include "asm/d/a/d_a_alink/procDemoCommon__9daAlink_cFv.s" +int daAlink_c::procDemoCommon() { + dComIfGp_evmng_cutEnd(field_0x3184); + return 1; } -#pragma pop /* 801195F8-801196D8 113F38 00E0+00 1/1 0/0 0/0 .text procCoToolDemoInit__9daAlink_cFv */ #pragma push @@ -464,14 +460,18 @@ asm void daAlink_c::procCoUnequip() { #pragma pop /* 8011A688-8011A6FC 114FC8 0074+00 4/4 0/0 0/0 .text setGetSubBgm__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setGetSubBgm(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setGetSubBgm__9daAlink_cFi.s" +void daAlink_c::setGetSubBgm(int param_0) { + u32 se_type = getSeType[param_0]; + + if (se_type == 3 && field_0x3010 == 0) { + se_type = 7; + } + + if (se_type != 8) { + mDoAud_subBgmStart(bgmLabel[se_type]); + dComIfGp_setMesgBgmOn(); + } } -#pragma pop /* 8011A6FC-8011A798 11503C 009C+00 1/0 0/0 0/0 .text checkTreasureRupeeReturn__9daAlink_cCFi */ // register issues. probably wrong order of operations @@ -919,14 +919,14 @@ asm void daAlink_c::procCoTwGateInit() { #pragma pop /* 8011D7D4-8011D82C 118114 0058+00 1/0 0/0 0/0 .text procCoTwGate__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoTwGate() { - nofralloc -#include "asm/d/a/d_a_alink/procCoTwGate__9daAlink_cFv.s" +int daAlink_c::procCoTwGate() { + if (mUnderFrameCtrl[0].checkAnmEnd()) { + dComIfGp_evmng_cutEnd(field_0x3184); + } + + field_0x2f99 = 7; + return 1; } -#pragma pop /* 8011D82C-8011D8F8 11816C 00CC+00 1/0 0/0 0/0 .text procWolfSnowEscapeInit__9daAlink_cFv */ #pragma push @@ -1102,10 +1102,10 @@ asm void daAlink_c::procGanonFinishInit() { /* 8011EA78-8011EAE8 1193B8 0070+00 1/0 0/0 0/0 .text procGanonFinish__9daAlink_cFv */ bool daAlink_c::procGanonFinish() { - i_onEndResetFlg1(GANON_FINISH); + i_onEndResetFlg1(ERFLG1_GANON_FINISH); current.pos = field_0x37c8; - if (mFrameCtrl1[0].checkAnmEnd()) { - setSingleAnimeBaseMorf(ANM_GANON_FINISH, lit_6041); + if (mUnderFrameCtrl[0].checkAnmEnd()) { + setSingleAnimeBaseMorf(ANM_GANON_FINISH_WAIT, lit_6041); } return true; } @@ -1122,14 +1122,13 @@ asm void daAlink_c::procCutFastReadyInit() { #pragma pop /* 8011EB8C-8011EBDC 1194CC 0050+00 1/0 0/0 0/0 .text procCutFastReady__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutFastReady() { - nofralloc -#include "asm/d/a/d_a_alink/procCutFastReady__9daAlink_cFv.s" +int daAlink_c::procCutFastReady() { + if (mUpperFrameCtrl[2].checkAnmEnd()) { + dComIfGp_evmng_cutEnd(field_0x3184); + } + + return 1; } -#pragma pop /* 8011EBDC-8011EC60 11951C 0084+00 1/0 0/0 0/0 .text procMasterSwordStickInit__9daAlink_cFv */ int daAlink_c::procMasterSwordStickInit() { @@ -1137,7 +1136,7 @@ int daAlink_c::procMasterSwordStickInit() { return 0; } - setSingleAnimeBase(ANM_MASTER_SWORD_STICK_INIT); + setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_STICK); voiceStart(Z2SE_AL_V_MSTR_SW_STICK); mNormalSpeed = FLOAT_LABEL(lit_6108); current.angle.y = mCollisionRot.y; @@ -1149,13 +1148,13 @@ int daAlink_c::procMasterSwordStickInit() { /* 8011EC60-8011ED18 1195A0 00B8+00 1/0 0/0 0/0 .text procMasterSwordStick__9daAlink_cFv */ int daAlink_c::procMasterSwordStick() { - daPy_frameCtrl_c* fCtrl = &mFrameCtrl1[0]; + daPy_frameCtrl_c* fCtrl = &mUnderFrameCtrl[0]; if (mCommonCounter != 0) { dComIfGp_evmng_cutEnd(field_0x3184); } else if (fCtrl->checkAnmEnd()) { mCommonCounter = 1; - setSingleAnimeBaseMorf(ANM_MASTER_SWORD_STICK, lit_6041); + setSingleAnimeBaseMorf(ANM_DEMO_MASTER_SWORD_WAIT, lit_6041); dComIfGp_evmng_cutEnd(field_0x3184); } else if (fCtrl->getFrame() >= lit_14621) { field_0x2f93 = 5; @@ -1170,7 +1169,7 @@ int daAlink_c::procMasterSwordPullInit() { return 0; } - setSingleAnimeBase(ANM_MASTER_SWORD_PULL_INIT); + setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_PULL); voiceStart(Z2SE_AL_V_MSTR_SW_PULLOUT); field_0x3010 = 0; @@ -1202,9 +1201,11 @@ int daAlink_c::procDungeonWarpReadyInit() { u32 id; if (checkItemSetButton(DUNGEON_EXIT) != 2) { - id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, + NULL, -1); } else { - id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, + NULL, -1); } if (id == -1) { @@ -1213,7 +1214,7 @@ int daAlink_c::procDungeonWarpReadyInit() { mDemo.i_setSpecialDemoType(); commonProcInit(PROC_DUNGEON_WARP_READY); - setSingleAnimeBase(ANM_DUNGEON_WARP_READY_INIT); + setSingleAnimeBase(ANM_TRADE_ITEM_PULL_OUT); mNormalSpeed = FLOAT_LABEL(lit_6108); current.angle.y = mCollisionRot.y; field_0x32cc = id; @@ -1290,7 +1291,8 @@ int daAlink_c::procDungeonWarp() { if (mScale.x < 0.01f) { i_onNoResetFlg0(FLG0_UNK_8000000); if (checkItemGet(DUNGEON_EXIT, 1)) { - int escape = dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo()); + int escape = + dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo()); dStage_changeScene(escape, 0.0f, 12, -1, mCollisionRot.y, -1); dMeter2Info_warpOutProc(); } else { @@ -1345,16 +1347,55 @@ asm void daAlink_c::procDungeonWarpSceneStart() { #pragma pop /* 8011F5D4-8011F658 119F14 0084+00 2/2 0/0 0/0 .text daAlink_searchPortal__FP10fopAc_ac_cPv */ +// matches with literals +#ifdef NONMATCHING +static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* i_actor, void* i_data) { + if (fopAcM_GetName(i_actor) == PROC_KYTAG04) { + cXyz* pos = (cXyz*)i_data; + if (i_actor->current.pos.abs2XZ(*pos) < 1.0f) { + return i_actor; + } + } + + return NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) { +static asm fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) { nofralloc #include "asm/d/a/d_a_alink/daAlink_searchPortal__FP10fopAc_ac_cPv.s" } #pragma pop +#endif /* 8011F658-8011F7D8 119F98 0180+00 1/1 0/0 0/0 .text checkAcceptWarp__9daAlink_cFv */ +// r3/r4 swap loading midna ptr +#ifdef NONMATCHING +bool daAlink_c::checkAcceptWarp() { + cM3dGPla plane; + + if (mLinkAcch.ChkGroundHit() && !i_checkModeFlg(MODE_PLAYER_FLY) && + !i_checkNoResetFlg0(FLG0_UNDERWATER)) { + if (!getSlidePolygon(&plane) && !checkForestOldCentury()) { + if (i_checkMidnaRide() || getMidnaActor()->checkPortalObjRide()) { + if ((checkField() || checkCastleTown()) && !checkStageName("R_SP161")) { + if ((i_checkWolf() && + (i_checkModeFlg(MODE_UNK_1000) || i_dComIfGp_checkPlayerStatus0(0, 0x10))) || + (!i_checkWolf() && + (checkEventRun() || getMidnaActor()->checkMetamorphoseEnable()) && + (i_checkModeFlg(4) || i_dComIfGp_checkPlayerStatus0(0, 0x10)))) { + return true; + } + } + } + } + } + + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1363,6 +1404,7 @@ asm bool daAlink_c::checkAcceptWarp() { #include "asm/d/a/d_a_alink/checkAcceptWarp__9daAlink_cFv.s" } #pragma pop +#endif /* 8011F7D8-8011F8B8 11A118 00E0+00 2/2 0/0 0/0 .text dungeonReturnWarp__9daAlink_cFv */ void daAlink_c::dungeonReturnWarp() { @@ -1405,9 +1447,9 @@ void daAlink_c::skipPortalObjWarp() { /* 8011F9EC-8011FBC0 11A32C 01D4+00 1/1 0/0 0/0 .text checkWarpStart__9daAlink_cFv */ void daAlink_c::checkWarpStart() { if (dMeter2Info_getWarpStatus() != 0) { - if (dMeter2Info_getWarpStatus() == 3 || dComIfGp_event_compulsory(this, 0, 0xFFFF)) { - i_onNoResetFlg0(0x4000); - if (dMeter2Info_getWarpStatus() == 3) { + if (dMeter2Info_getWarpStatus() == WARP_DECIDED || dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + i_onNoResetFlg0(FLG0_UNK_4000); + if (dMeter2Info_getWarpStatus() == WARP_DECIDED) { const char* portal; if (!i_checkMidnaRide()) { if (dComIfGp_TargetWarpPt_get() == 3) { @@ -1434,8 +1476,8 @@ void daAlink_c::checkWarpStart() { mDemo.i_setSpecialDemoType(); if (dMeter2Info_getWarpStatus() == 1) { stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); - u32 tmp = dStage_stagInfo_GetEscapeWarp(stag_info); - dStage_changeScene(tmp, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1); + u32 exitID = dStage_stagInfo_GetEscapeWarp(stag_info); + dStage_changeScene(exitID, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1); } else { dungeonReturnWarp(); } diff --git a/src/d/a/d_a_alink_grab.inc b/src/d/a/d_a_alink_grab.inc index f98beeb25f..8afa86684a 100644 --- a/src/d/a/d_a_alink_grab.inc +++ b/src/d/a/d_a_alink_grab.inc @@ -193,7 +193,7 @@ asm void daAlink_c::setGrabUpperAnime(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkGrabRooster() { +asm BOOL daAlink_c::checkGrabRooster() { nofralloc #include "asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s" } @@ -558,7 +558,7 @@ asm void daAlink_c::procInsectCatchInit() { /* 800E71D4-800E7254 0E1B14 0080+00 1/0 0/0 0/0 .text procInsectCatch__9daAlink_cFv */ bool daAlink_c::procInsectCatch() { - daPy_frameCtrl_c* tmp = &mFrameCtrl1[0]; + daPy_frameCtrl_c* tmp = &mUnderFrameCtrl[0]; if (tmp->checkAnmEnd()) { checkNextAction(0); @@ -652,7 +652,7 @@ asm s16 daAlink_c::getChainStickAngleY(s16 param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkChainEmphasys() { +asm u8 daAlink_c::checkChainEmphasys() { nofralloc #include "asm/d/a/d_a_alink/checkChainEmphasys__9daAlink_cFv.s" } @@ -685,8 +685,8 @@ bool daAlink_c::checkChainBlockPushPull() { fopAc_ac_c* actor = field_0x2844.getActor(); if (actor != NULL) { s16 name = fopAcM_GetName(actor); - // actor is Cblock || chainSw || Cwall - if (name == 0x7E || name == 0x16F || name == 0x7F) { + if (name == PROC_Obj_ChainBlock || name == PROC_Obj_SwChain || + name == PROC_Obj_ChainWall) { return true; } } @@ -750,7 +750,7 @@ asm void daAlink_c::setWallGrabStatus(u8 param_0, u8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getWallGrabStatus() { +asm int daAlink_c::getWallGrabStatus() { nofralloc #include "asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_guard.inc b/src/d/a/d_a_alink_guard.inc index 11cf410082..13ee2abf87 100644 --- a/src/d/a/d_a_alink_guard.inc +++ b/src/d/a/d_a_alink_guard.inc @@ -23,7 +23,7 @@ asm BOOL daAlink_c::checkSpecialNpc(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkShieldAttackEmphasys() { +asm bool daAlink_c::checkShieldAttackEmphasys() { nofralloc #include "asm/d/a/d_a_alink/checkShieldAttackEmphasys__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_hook.inc b/src/d/a/d_a_alink_hook.inc index 4d2dd35e96..c2fe6d7661 100644 --- a/src/d/a/d_a_alink_hook.inc +++ b/src/d/a/d_a_alink_hook.inc @@ -271,7 +271,7 @@ bool daAlink_c::cancelHookshotMove() { if (mFastShotTime == 0 && mHookshotMode == 0) { if (checkHookshotAnime() && (mTargetedActor == NULL && !i_checkAttentionLock() || !itemButton())) { - resetUpperAnime(UPPER_NOW, -1.0f); + resetUpperAnime(UPPER_2, -1.0f); return 1; } } diff --git a/src/d/a/d_a_alink_kandelaar.inc b/src/d/a/d_a_alink_kandelaar.inc index 0167abe920..c0bf0c4263 100644 --- a/src/d/a/d_a_alink_kandelaar.inc +++ b/src/d/a/d_a_alink_kandelaar.inc @@ -120,7 +120,7 @@ asm bool daAlink_c::getKandelaarFlamePos() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkKandelaarEquipAnime() const { +asm BOOL daAlink_c::checkKandelaarEquipAnime() const { nofralloc #include "asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s" } diff --git a/src/d/a/d_a_alink_link.inc b/src/d/a/d_a_alink_link.inc index ecbcda371c..4d4b6e1097 100644 --- a/src/d/a/d_a_alink_link.inc +++ b/src/d/a/d_a_alink_link.inc @@ -62,7 +62,7 @@ int daAlink_c::procServiceWaitInit() { /* 800C30F0-800C3224 0BDA30 0134+00 1/0 0/0 0/0 .text procServiceWait__9daAlink_cFv */ int daAlink_c::procServiceWait() { - J3DFrameCtrl* ctrl = &mFrameCtrl1[0]; + J3DFrameCtrl* ctrl = &mUnderFrameCtrl[0]; if ((!checkNextAction(0) && !checkFrontWallTypeAction()) && (checkEventRun() || checkGuardActionChange() || mCollisionRot.y != field_0x2fe6)) { ctrl->setRate(FLOAT_LABEL(lit_6108)); @@ -91,10 +91,10 @@ asm void daAlink_c::procTiredWaitInit() { /* 800C3338-800C33B8 0BDC78 0080+00 1/0 0/0 0/0 .text procTiredWait__9daAlink_cFv */ int daAlink_c::procTiredWait() { - daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0]; + daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; if (!checkNextAction(0)) { if (ctrl->checkAnmEnd()) { - setSingleAnimeBase(ANM_TIRED_WAIT); + setSingleAnimeBase(ANM_WAIT_TIRED); } else if (ctrl->getAttribute() == 2) { setTiredVoice(ctrl); } @@ -243,7 +243,7 @@ int daAlink_c::procWaitTurnInit() { return 0; } - setSingleAnimeBaseSpeed(ANM_WAIT_TURN, daAlinkHIO_basic_c0::m.mWaitTurnSpeed, + setSingleAnimeBaseSpeed(ANM_STEP_TURN, daAlinkHIO_basic_c0::m.mWaitTurnSpeed, daAlinkHIO_basic_c0::m.mAnmBlendFactor); if (checkEventRun()) { mNormalSpeed = FLOAT_LABEL(lit_6108); @@ -339,10 +339,10 @@ int daAlink_c::procSideStepInit(int jump_type) { } else { daAlink_ANM anm_id; if (field_0x2f98 == 2) { - anm_id = ANM_SIDE_STEP_LEFT; + anm_id = ANM_SIDE_JUMP_LEFT; current.angle.y = mCollisionRot.y + 0x4000; } else { - anm_id = ANM_SIDE_STEP_RIGHT; + anm_id = ANM_SIDE_JUMP_RIGHT; current.angle.y = mCollisionRot.y - 0x4000; } setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm); @@ -350,7 +350,7 @@ int daAlink_c::procSideStepInit(int jump_type) { mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV; field_0x300a = 1; } - if (i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) { + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; } @@ -412,10 +412,10 @@ int daAlink_c::procSideStepLandInit() { daAlink_ANM anm_id; u16 uvar3; if (field_0x2f98 == 2) { - anm_id = ANM_SIDE_STEP_LEFT_LAND; + anm_id = ANM_SIDE_JUMP_LEFT_LAND; uvar3 = 0x3F; } else { - anm_id = ANM_SIDE_STEP_RIGHT_LAND; + anm_id = ANM_SIDE_JUMP_RIGHT_LAND; uvar3 = 0x40; } setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideLandAnm); @@ -440,7 +440,7 @@ int daAlink_c::procSideStepLandInit() { /* 800C4278-800C4378 0BEBB8 0100+00 1/0 0/0 0/0 .text procSideStepLand__9daAlink_cFv */ int daAlink_c::procSideStepLand() { - daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0]; + daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; i_onEndResetFlg0(ERFLG0_UNK_8000000); if (field_0x2fcc != 0) { field_0x2fcc = 10; @@ -482,7 +482,7 @@ int daAlink_c::procSlideInit(s16 param_0) { if (cLib_distanceAngleS(param_0, mCollisionRot.y) < 0x3800 || field_0x300e != 0) { field_0x3198 = 1; - setSingleAnimeParam(ANM_FORWARD_SLIDE, &daAlinkHIO_slide_c0::m.mForwardSlideAnm); + setSingleAnimeParam(ANM_SLIDE_FORWARD, &daAlinkHIO_slide_c0::m.mForwardSlideAnm); dComIfGp_setPlayerStatus1(0, 0x100); onModeFlg(MODE_UNK_8000); onModeFlg(MODE_UNK_2000000); @@ -490,11 +490,11 @@ int daAlink_c::procSlideInit(s16 param_0) { mNormalSpeed = FLOAT_LABEL(lit_6108); field_0x2f9d = 4; setUpperAnimeBaseMorf(0xCE, lit_6041); - i_onNoResetFlg1(0x10000000); + i_onNoResetFlg1(FLG1_UNK_10000000); setFootEffectProcType(0); } else { field_0x3198 = 0; - setSingleAnimeParam(ANM_BACKWARD_SLIDE, &daAlinkHIO_slide_c0::m.mBackwardSlideAnm); + setSingleAnimeParam(ANM_SLIDE_BACKWARD, &daAlinkHIO_slide_c0::m.mBackwardSlideAnm); dComIfGp_setPlayerStatus1(0, 0x200); field_0x2f9d = 0x60; setFootEffectProcType(1); @@ -525,13 +525,13 @@ int daAlink_c::procSlideLandInit(int param_0) { commonProcInit(PROC_SLIDE_LAND); if (param_0 != 0) { - setSingleAnimeParam(ANM_BACKWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mForwardLandAnm); + setSingleAnimeParam(ANM_SLIDE_FORWARD_END, &daAlinkHIO_slide_c0::m.mForwardLandAnm); field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.field_0x10; field_0x3198 = 1; field_0x2f99 = 4; field_0x3588 = l_waitBaseAnime; } else { - setSingleAnimeParam(ANM_FORWARD_SLIDE_LAND, &daAlinkHIO_slide_c0::m.mBackwardLandAnm); + setSingleAnimeParam(ANM_SLIDE_BACKWARD_END, &daAlinkHIO_slide_c0::m.mBackwardLandAnm); field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.field_0x10; field_0x3198 = 0; } @@ -542,7 +542,7 @@ int daAlink_c::procSlideLandInit(int param_0) { /* 800C4894-800C494C 0BF1D4 00B8+00 1/0 0/0 0/0 .text procSlideLand__9daAlink_cFv */ int daAlink_c::procSlideLand() { - daPy_frameCtrl_c* ctrl = &mFrameCtrl1[0]; + daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_7450); if (field_0x3198 != 0) { @@ -592,7 +592,7 @@ int daAlink_c::procFrontRollInit() { mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mMinSpeed; } - if (!i_checkNoResetFlg0(UNDER_WATER_MOVEMENT)) { + if (!i_checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkHeavyStateOn(1, 1)) { mNormalSpeed *= mHeavySpeedMultiplier; } @@ -1025,7 +1025,7 @@ int daAlink_c::procCoMetamorphoseInit() { if (i_checkWolf()) { // Transform Wolf -> Human - setSingleAnimeWolfBase(ANM_TRANFORM_HUMAN); + setSingleAnimeWolfBase(WANM_TRANSFORM_TO_HUMAN); field_0x3588 = l_wolfBaseAnime; field_0x347c = 0.5f; field_0x3480 = daAlinkHIO_basic_c0::m.mWolfLinkTransformSpeed; @@ -1041,7 +1041,7 @@ int daAlink_c::procCoMetamorphoseInit() { if (mDemo.getDemoMode() == 0x39 && mDemo.getParam1() == 1) { voiceStart(Z2SE_AL_V_TRANSFORM); } - setSingleAnimeBase(ANM_TRANSFORM_WOLF); + setSingleAnimeBase(ANM_TRANSFORM_TO_WOLF); setMetamorphoseModel(1); field_0x3588 = l_waitBaseAnime; field_0x3480 = daAlinkHIO_basic_c0::m.mLinkWolfTransformSpeed; @@ -1235,8 +1235,8 @@ COMPILER_STRIP_GATE(0x8039207C, &lit_74748); /* 80392088-80392094 01E6E8 000C+00 0/1 0/0 0/0 .rodata localBoomCatchPos$74910 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const localBoomCatchPos[12] = { - 0x41, 0x95, 0x99, 0x9A, 0x43, 0x12, 0x4C, 0xCD, 0x42, 0x8A, 0x66, 0x66, +SECTION_RODATA static Vec const localBoomCatchPos = { + 18.7f, 146.3f, 69.2f, }; COMPILER_STRIP_GATE(0x80392088, &localBoomCatchPos); #pragma pop @@ -1258,14 +1258,940 @@ SECTION_DEAD static char const* const pad_8039263C = "\0\0\0"; #pragma pop /* 800C8700-800CAFA8 0C3040 28A8+00 1/1 0/0 0/0 .text execute__9daAlink_cFv */ +#ifdef NONMATCHING +int daAlink_c::execute() { + loadModelDVD(); + + if (checkEndResetFlg0(ERFLG0_UNK_2000000) && getMidnaActor() != NULL) { + getMidnaActor()->onNoServiceWait(); + } + + if (field_0x30fe != 0) { + *field_0x814.GetCCMoveP() = field_0x372c * (1.0f / (f32)field_0x30fe); + } + + if (checkHorseRide() && checkBoarSingleBattle() && dComIfGp_getHorseActor() != NULL) { + mCollisionRot.y = dComIfGp_getHorseActor()->mCollisionRot.y; + current.angle.y = mCollisionRot.y; + } else if (checkMagneBootsOn()) { + mCollisionRot.y = field_0x3118; + } else if (checkModeFlg(MODE_VINE_CLIMB) || checkCargoCarry()) { + mCollisionRot.y = field_0x3108; + } + + if (checkNoResetFlg2(FLG2_UNK_1) && mEquipItem != KANTERA && checkItemSetButton(KANTERA) == 2) { + offKandelaarModel(); + } + + mSwordChangeWaitTimer = 0; + setSelectEquipItem(0); + + if (dComIfGp_event_runCheck()) { + field_0x3184 = dComIfGp_evmng_getMyStaffId("Alink", this, 0); + + if (mEvtInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(4) && mEquipItem == 0x102) { + deleteEquipItem(FALSE, FALSE); + } + } + + if (mSwordUpTimer != 0) { + mSwordUpTimer--; + } + + field_0x317c = dComIfGp_getPlayerCameraID(0); + field_0x3510 = current.pos; + + if (checkMagneBootsOn()) { + if (checkNoResetFlg0(FLG0_UNK_2000) && dComIfG_Bgsp().ChkPolySafe(mMagneLineChk) && dComIfG_Bgsp().ChkMoveBG(mMagneLineChk)) { + s16 shape_angle_y = mCollisionRot.y; + s16 angle_y = current.angle.y; + f32 pos_y = current.pos.y; + + dComIfG_Bgsp().MoveBgCrrPos(mMagneLineChk, true, ¤t.pos, ¤t.angle, &mCollisionRot, false, false); + + if (field_0x3114 > 0x6000 || field_0x3114 == -0x8000) { + mCollisionRot.y = shape_angle_y - (s16)(mCollisionRot.y - shape_angle_y); + current.angle.y = angle_y - (s16)(current.angle.y - angle_y); + } + + dComIfG_Bgsp().MoveBgCrrPos(mMagneLineChk, true, &next.pos, NULL, NULL, false, false); + + if (getMoveBGActorName(mMagneLineChk, 0) == PROC_Obj_MagneArm) { + field_0x34c8.y += current.pos.y - pos_y; + } else { + field_0x34c8.y += (current.pos.y - pos_y) * 0.1f; + } + } + } else if (mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(MODE_VINE_CLIMB | MODE_UNK_800) && mProcID != PROC_TOOL_DEMO && + mLinkAcch.GetGroundH() != -1000000000.0f && + dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) { + bool uvar23; + if (mProcID == PROC_SPINNER_READY) { + uvar23 = true; + } else { + uvar23 = mLinkAcch.ChkGroundHit(); + } + f32 pos_y = current.pos.y; + + dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, uvar23, ¤t.pos, ¤t.angle, &mCollisionRot, false, false); + dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, uvar23, &next.pos, NULL, NULL, false, false); + field_0x34c8.y += (current.pos.y - pos_y) * 0.1f; + } + + field_0x3798 = next.pos; + field_0x2fe6 = mCollisionRot.y; + field_0x307c = mStickAngle; + field_0x33a4 = field_0x33ac; + + if (checkResetFlg0(RFLG0_UNK_8000000) && !checkCutDashAnime()) { + mCutType = 0; + } + + mResetFlg0 = 0; + mResetFlg1 = 0; + + daAlink_matAnm_c::decMorfFrame(); + field_0x2180[0]->offSetFlg(); + field_0x2180[1]->offSetFlg(); + + field_0x2f99 = 0; + field_0x2f9d = 0; + field_0x2fc1 = 6; + + if (!checkSwordGet() && mEquipItem == 0x103) { + deleteEquipItem(FALSE, FALSE); + } + + field_0x2fae = 0; + + setDoStatus(0); + setRStatus(0); + set3DStatus(0, 0); + setMidnaTalkStatus(0); + + if (checkWolf()) { + setBStatus(ACTION_STR_ATTACK); + setWolfDigStatus(ACTION_STR_NONE); + + // Have wolf sense ability + if (dComIfGs_isEventBit(0x4308)) { + setWolfSenceStatus(ACTION_STR_SENSE); + } else { + setWolfSenceStatus(ACTION_STR_NONE); + } + } else { + if (checkCanoeRide() && checkStageName("F_SP127")) { + setBStatus(ACTION_STR_NONE5); + } else if (checkSwordGet()) { + setBStatus(ACTION_STR_NONE3); + } else { + setBStatus(ACTION_STR_NONE); + } + } + + field_0x2f91 = 0; + + if (mProcID == PROC_BOTTLE_SWING && mEvtInfo.checkCommandCatch()) { + mDemo.setSpecialDemoType(); + } + + field_0x280c.setActor(); + mRideAcKeep.setActor(); + + if (checkNoResetFlg2(FLG2_UNK_58)) { + field_0x281c.setActor(); + if (field_0x281c.getActor() == NULL) { + offNoResetFlg2(FLG2_UNK_58); + } + } else { + field_0x281c.clearData(); + } + + field_0x2844.setActor(); + mThrowBoomerangAcKeep.setActor(); + mCopyRodAcKeep.setActor(); + + if (mCopyRodAcKeep.getActor() != NULL) { + static_cast(mCopyRodAcKeep.getActor())->setControllActorData(); + } + + mGrabItemAcKeep.setActor(); + field_0x284c.setActor(); + field_0x285c.setActor(); + + if (checkFishingRodAndLureItem() && mItemAcKeep.getActor() == NULL) { + fopAc_ac_c* item_actor = fopAcM_SearchByID(mItemAcKeep.getID()); + if (item_actor != NULL) { + mItemAcKeep.setData(item_actor); + } + } else { + mItemAcKeep.setActor(); + } + + if (checkWolf()) { + checkWolfLockData(); + } + + setAtnList(); + setDemoData(); + setStickData(); + + if (mFastShotTime < 0) { + mFastShotTime = 0; + } + + checkOxygenTimer(); + + if (field_0x2fce != 0) { + field_0x2fce--; + } + + if (field_0x2fcd != 0) { + field_0x2fcd--; + } + + if (field_0x3000 != 0) { + field_0x3000--; + } + + if (field_0x30fc != 0) { + field_0x30fc--; + } + + if (field_0x2fb4 != 0) { + field_0x2fb4--; + } + + if (field_0x30a4 != 0) { + field_0x30a4--; + } + + if (field_0x30a6 != 0) { + field_0x30a6--; + } + + if (field_0x30ec != 0) { + field_0x30ec--; + } + + if (mSwordFlourishTimer != 0) { + mSwordFlourishTimer--; + } + + if (field_0x3100 != 0) { + field_0x3100--; + } + + if (field_0x2fc4 != 0) { + field_0x2fc4--; + } + + if (field_0x30d2 != 0) { + field_0x30d2--; + } + + if (field_0x30d0 != 0) { + field_0x30d0--; + } else { + offNoResetFlg1(FLG1_UNK_400000); + } + + if (field_0x2fd2 != 0) { + field_0x2fd2--; + } + + if (field_0x2fd3 != 0 && mProcID != PROC_BOTTLE_DRINK && mProcID != PROC_CANOE_BOTTLE_DRINK && mProcID != PROC_HORSE_BOTTLE_DRINK) { + field_0x2fd3--; + } + + if (field_0x2fd4 != 0 && mProcID != PROC_GUARD_SLIP) { + field_0x2fd4--; + + if (field_0x2fd4 == 0) { + field_0x2fd5 = 0; + } + } + + if (checkWolfEyeUp()) { + fopAc_ac_c* partner = (fopAc_ac_c*)fopAcM_getTalkEventPartner(this); + + const char* event_name; + if (checkEventRun()) { + event_name = dComIfGp_getEventManager().getRunEventName(); + } else { + event_name = NULL; + } + + if (event_name != NULL) { + if (!strcmp(event_name, "kiko_yami") || !strcmp(event_name, "fire_insect") || + (checkStageName("F_SP108") && (!strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "yami_mog"))) || + (checkStageName("R_SP109") && (!strcmp(event_name, "MapToolCamera1") || !strcmp(event_name, "MapToolCamera2") || !strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "fire_insect"))) || + (checkStageName("F_SP115") && !strcmp(event_name, "MapToolCamera23"))) { + mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime + 1; + } + } + + if (checkEndResetFlg1(ERFLG1_UNK_200) || (checkDungeon() && mEvtInfo.checkCommandDoor()) || + mProcID == PROC_WOLF_GET_SMELL || mProcID == PROC_WOLF_DIG || mProcID == PROC_WOLF_DIG_THROUGH || + checkNoResetFlg0(FLG0_UNK_4000) || dComIfGp_checkPlayerStatus1(0, 0x1000000) || + (checkEventRun() && partner != NULL && (partner->mAttentionInfo.mFlags & 0x400000)) || + !strcmp(dComIfGp_getEventManager().getRunEventName(), l_defaultGetEventName)) { + mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime; + } else if (mTargetedActor != NULL || dComIfGp_checkPlayerStatus0(0, 0x2000)) { + mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime - 1; + } else if (!dComIfGp_getEvent().isOrderOK() && mProcID != PROC_GET_ITEM && + mWolfEyeUp <= daAlinkHIO_wolf_c0::m.mSensesLingerTime) { + offWolfEyeUp(); + } else { + mWolfEyeUp = 1; + } + } + + if (checkEndResetFlg0(ERFLG0_UNK_1000000) && mEquipItem == 0x103) { + mSwordFlourishTimer = daAlinkHIO_cut_c0::m.mFlourishTime; + } + + if ((checkWolf() && field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11) { + onNoResetFlg0(FLG0_UNK_40000000); + } + + fopAc_ac_c* item_actor = mGrabItemAcKeep.getActor(); + if (item_actor != NULL && (!fopAcM_checkCarryNow(item_actor) || (checkNoResetFlg0(FLG0_UNDERWATER) && (checkGrabRooster() || fopAcM_GetName(item_actor) == PROC_E_NEST || checkGrabCarryActor())))) { + freeGrabItem(); + } + + allAnimePlay(); + + if (mDamageTimer != 0) { + damageTimerCount(); + } + + if (checkEquipHeavyBoots()) { + int temp_r3_22 = checkItemSetButton(HVY_BOOTS); + if (temp_r3_22 == 2 || checkNotHeavyBootsStage()) { + if (!dComIfGp_checkPlayerStatus1(0, 0x10000) || !checkHookshotRoofLv7Boss()) { + setHeavyBoots(0); + } + } else { + dMeter2Info_onDirectUseItem(temp_r3_22); + } + } + + checkWarpStart(); + + if (!checkSpecialDemoMode() && mClothesChangeWaitTimer == 0) { + if (!checkDemoAction() && !checkDeadAction(0) && !checkNoResetFlg0(FLG0_UNK_100000) && !checkAutoJumpAction()) { + checkSwimAction(0); + } + + if (checkDamageAction() && mProcID == PROC_LARGE_DAMAGE && checkMagneBootsOn()) { + cancelMagneBootsOn(); + } + + checkBoomerangCatchAction(); + } + + offNoResetFlg1(FLG1_UNK_20); + + if (checkWolf()) { + checkWolfComboCnt(); + + if (checkWolfEnemyThrowAnime()) { + checkWolfEnemyThrowAction(); + } + } else { + checkItemButtonChange(); + setItemAction(); + checkComboCnt(); + setShieldGuard(); + + if (checkCutFastReady()) { + if (checkNoUpperAnime()) { + setUpperAnime(0x255, UPPER_2, daAlinkHIO_cut_c0::m.mEquipAnm.mRate, 12.0f, daAlinkHIO_cut_c0::m.mEquipAnm.mEndF, daAlinkHIO_cut_c0::m.mEquipAnm.mInterpolation); + onNoResetFlg0(FLG0_UNK_1000000); + } + } else if (checkNoResetFlg0(FLG0_UNK_1000000)) { + resetUpperAnime(UPPER_2, 5.0f); + } + + if (mEquipItem == KANTERA && checkNoUpperAnime() && !checkKandelaarEquipAnime() && (checkModeFlg(MODE_UNK_1000) || mProcID == PROC_CROUCH)) { + if (checkReinRide()) { + setUpperAnimeBase(0x264); + } else { + setUpperAnimeBase(0x268); + } + + mNowAnmPackUpper[2].setRatio(0.0f); + } + } + + checkLightSwordMtrl(); + (this->*mpProcFunc)(); + + if (!checkEndResetFlg0(ERFLG0_UNK_2000) && checkWindDashAnime()) { + resetUpperAnime(UPPER_2, 3.0f); + } + + playFaceTextureAnime(); + + cXyz old_pos = current.pos; + posMove(); + + if (checkWolf()) { + wolfBgCheck(); + } else if (checkModeFlg(MODE_SWIMMING)) { + swimBgCheck(120.0f); + } + + cXyz pos = current.pos; + field_0x3528 = mSpeed; + + mLinkAcch.ClrGroundHit(); + mLinkAcch.CrrPos(dComIfG_Bgsp()); + + if (checkMagneBootsOn()) { + current.pos = pos; + } + + if (!mLinkAcch.ChkGroundHit() && !mLinkAcch.ChkRoofHit() && getZoraSwim()) { + current.pos.y = pos.y; + } + + iceSlipBgCheck(); + setWaterY(); + autoGroundHit(); + + if (checkNoResetFlg0(FLG0_UNDERWATER) || (checkPossibleWaterInMode() && !checkNoResetFlg0(FLG0_UNK_100))) { + f32 var_f31; + if (mProcID == PROC_HOOKSHOT_FLY) { + var_f31 = current.pos.y - (field_0x598 * 0.5f); + } else if (dComIfGp_checkPlayerStatus1(0, 0x2000000)) { + var_f31 = (-65.0f + current.pos.y) - daAlinkHIO_swim_c0::m.mInitHeight; + } else { + var_f31 = current.pos.y; + } + + if (!checkNoResetFlg0(FLG0_UNK_80) || mWaterY - var_f31 <= daAlinkHIO_swim_c0::m.mInitHeight) { + swimOutAfter(0); + } + } + + if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { + J3DTransformInfo ti; + field_0x1f20->getAnm(0)->getTransform(0, &ti); + mDoMtx_stack_c::transS(old_pos); + mDoMtx_stack_c::YrotM(mCollisionRot.y); + + Vec tmp; + mDoMtx_stack_c::multVec(&tmp, ¤t.pos); + mSpeed.y = 0.0f; + + if (field_0x3198 != 0) { + if (mLinkAcch.GetGroundH() != -1000000000.0f) { + current.pos.y = mLinkAcch.GetGroundH(); + } + } + } else if (mProcID == PROC_HOOKSHOT_FLY || mProcID == PROC_MAGNE_BOOTS_FLY || (checkModeFlg(MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING) && mProcID != PROC_HORSE_GETOFF && mProcID != PROC_WOLF_CHAIN_READY && !checkBoardRide())) { + current.pos = pos; + } else if (checkModeFlg(MODE_UNK_4000)) { + if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) { + current.pos.y = old_pos.y; + mSpeed.y = 0.0f; + } + current.pos.x = pos.x; + current.pos.z = pos.z; + } else if (checkFlyAtnWait() || mProcID == PROC_WARP) { + current.pos.y = old_pos.y; + mSpeed.y = 0.0f; + } + + field_0x3178 = field_0x3174; + + if (mLinkAcch.GetGroundH() != -1000000000.0f) { + setRoomInfo(); + + if (!checkModeFlg(MODE_PLAYER_FLY) && !checkMagneBootsOn() && mProcID != PROC_TOOL_DEMO && mProcID != PROC_GANON_FINISH && mProcID != PROC_DUNGEON_WARP && (field_0x2f8c == 1 || field_0x2f8c == 3)) { + setStepsOffset(); + } else { + field_0x2b9c = 0.0f; + if (!checkModeFlg(MODE_SWIMMING)) { + field_0x2b98 = 0.0f; + } + } + + if (checkModeFlg(MODE_UNK_2000000)) { + setShapeAngleOnGround(); + } + + if (!checkRestartRoom() && !checkDeadHP()) { + checkSceneChange(dComIfG_Bgsp().GetExitId(mLinkAcch.m_gnd)); + } + + if (mLinkAcch.ChkGroundHit()) { + if (dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) { + dComIfG_Bgsp().MoveBgTransPos(mLinkAcch.m_gnd, true, &field_0x34ec, NULL, NULL); + } + + if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && mWaterY >= mLinkAcch.GetGroundH()) { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); + } else if (checkEndResetFlg0(ERFLG0_UNK_200000)) { + mPolySound = 11; + } else { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_gnd); + } + + field_0x2ff0 = getGroundAngle(&mLinkAcch.m_gnd, mCollisionRot.y); + } else { + if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { + if (checkNoResetFlg0(FLG0_UNK_80) && mWaterY >= mLinkAcch.GetGroundH()) { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); + } else if (checkEndResetFlg0(ERFLG0_UNK_200000)) { + mPolySound = 11; + } else { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_gnd); + } + } else if (checkModeFlg(MODE_SWIMMING) && checkNoResetFlg0(FLG0_UNK_80)) { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); + } else { + mPolySound = 0; + } + + field_0x2ff0 = 0; + } + mDoAud_setLinkGroupInfo(dComIfG_Bgsp().GetGrpSoundId(mLinkAcch.m_gnd)); + } else { + field_0x3174 = -1; + field_0x2ff0 = 0; + field_0x2fbb = 16; + field_0x2fbd = 0; + field_0x2fa8 = 0; + + if (checkModeFlg(MODE_SWIMMING) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr)) { + mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); + } else { + mPolySound = 0; + } + + if (!checkRestartRoom() && !checkDeadHP()) { + checkSceneChange(0x3F); + } + } + + if (checkMagneBootsOn()) { + field_0x2fbd = 0; + field_0x2f5c.mPosition = current.pos; + field_0x2f5c.mPow = 100.0f; + + if (checkNoResetFlg0(FLG0_UNK_2000)) { + mPolySound = dKy_pol_sound_get(&mMagneLineChk); + field_0x2ff0 = 0; + field_0x3174 = dComIfG_Bgsp().GetGroundCode(mMagneLineChk); + field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mMagneLineChk); + field_0x2fa8 = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk); + setMagneBootsMtx(&mMagneLineChk, 0); + } else { + mPolySound = 0; + field_0x2ff0 = 0; + field_0x3174 = -1; + field_0x2fbb = 16; + field_0x2fa8 = 0; + } + } else { + field_0x2f5c.mPow = 0.0f; + if (mProcID != PROC_MAGNE_BOOTS_FLY) { + mMagneBootsTopVec = cXyz::BaseY; + } + } + + if (dComIfGp_evmng_startCheck(l_peepEventName)) { + if (field_0x2ff2 > 0) { + field_0x2ff2--; + } else if (dComIfGp_evmng_startCheck(l_peepEventName)) { + startPeepChange(); + } + } + + if (checkModeFlg(MODE_VINE_CLIMB) && mCommonCounter != 0 && dComIfG_Bgsp().ChkPolySafe(mPolyInfo1)) { + mZ2Link.framework(dKy_pol_sound_get(&mPolyInfo1), mVoiceReverbIntensity); + } else { + mZ2Link.framework(mPolySound, mVoiceReverbIntensity); + } + + if (field_0x2d7c != NULL) { + mZ2Link.updateAnime(field_0x2d7c->getFrame(), field_0x2d7c->getRate()); + } + + if (mProcID != PROC_DAMAGE && mProcID != PROC_SWIM_DAMAGE && mProcID != PROC_HORSE_DAMAGE) { + setMoveSlantAngle(); + + if (checkReinRide() && checkUpperGuardAnime()) { + setBodyAngleRideReadyAnime(); + } else if (!checkSmallUpperGuardAnime() && !checkWolf()) { + if (!checkModeFlg(MODE_UNK_20000000)) { + if (checkUpperGuardAnime()) { + setBodyAngleXReadyAnime(0); + } else if (!checkUpperReadyThrowAnime()) { + cLib_addCalcAngleS(&mLookAngleY, 0, 4, 0x0C00, 0x0180); + } + } + + if (!checkModeFlg(MODE_UNK_40000000)) { + cLib_addCalcAngleS(&field_0x59e, 0, 4, 0x0C00, 0x0180); + } + } + } + + setMatrix(); + setNeckAngle(); + + if (field_0x2fcc != 0) { + field_0x2fcc--; + } + + if (!checkWolf()) { + setHatAngle(); + + if (field_0x2fb0 != 0) { + field_0x2fb0--; + } + + footBgCheck(); + handBgCheck(); + + field_0x30c8 = field_0x59e >> 1; + modelCalc(mpLinkModel); + + if (field_0x2fcb != 0) { + if (checkWoodShieldEquip() && mWaterY < mShieldModel->getBaseTRMtx()[1][3]) { + field_0x2fcb--; + + if (field_0x2fcb == 0) { + dMeter2Info_setShield(NO_ITEM, true); + stickArrowIncrement(1); + setWoodShieldBurnOutEffect(); + + // "Your shield burned up..." + dMeter2Info_setFloatingMessage(2047, 90, false); + + stage_stag_info_class* pstag = dComIfGp_getStage()->getStagInfo(); + if (dStage_stagInfo_GetSaveTbl(pstag) == 0x11 && !dComIfGs_isItemFirstBit(HYLIA_SHIELD)) { + fopAcM_onSwitch(this, 0x6F); + } + seStartOnlyReverb(Z2SE_AL_WOOD_SHIELD_BURN); + } + } else { + clearWoodShieldBurnEffect(); + } + } + + if (checkShieldGet() && !checkWoodShieldEquip()) { + stickArrowIncrement(1); + } + setItemMatrix(0); + } else { + daMidna_c* pmidna = getMidnaActor(); + + if (mClothesChangeWaitTimer == 0) { + if ((pmidna->checkMidnaTired() || pmidna->checkForceTiredColor()) && !pmidna->checkForceNormalColor()) { + field_0x79c->getModelData()->entryTevRegAnimator(field_0x7ac); + mpWlMidnaHatModel->getModelData()->entryTevRegAnimator(field_0x7b0); + field_0x7a4->getModelData()->entryTevRegAnimator(field_0x7b4); + mpWlMidnaHairModel->getModelData()->entryTevRegAnimator(field_0x7b8); + } else { + field_0x79c->getModelData()->removeTevRegAnimator(field_0x7ac); + mpWlMidnaHatModel->getModelData()->removeTevRegAnimator(field_0x7b0); + field_0x7a4->getModelData()->removeTevRegAnimator(field_0x7b4); + mpWlMidnaHairModel->getModelData()->removeTevRegAnimator(field_0x7b8); + } + } + + wolfFootBgCheck(); + setWolfTailAngle(); + modelCalc(mpLinkModel); + checkWolfUseAbility(); + + if (checkWolfEyeUp() != 0) { + mWolfEyeUpTimer++; + if (mWolfEyeUpTimer > 30) { + mWolfEyeUpTimer = 30; + } + } else if (mWolfEyeUpTimer != 0) { + mWolfEyeUpTimer--; + } + + setWolfItemMatrix(); + } + + if (checkFmChainGrabAnime()) { + mNowAnmPackUpper[2].setRatio(1.0f); + } + + setBodyPartPos(); + + if (!checkWolf() && checkEndResetFlg0(ERFLG0_UNK_800000)) { + setHatAngle(); + modelCalc(mpLinkModel); + } + + setHangWaterY(); + setCollision(); + setAttentionPos(); + setLight(); + setEffect(); + + if (mClothesChangeWaitTimer != 0) { + mDoMtx_stack_c::copy(mpLinkModel->getBaseTRMtx()); + + if (!checkWolf()) { + mDoMtx_stack_c::transM(0.0f, 0.0f, 30.0f); + } + + mpWlChangeModel->setBaseTRMtx(mDoMtx_stack_c::get()); + mpWlChangeModel->calc(); + } + + mSight.mLockCursor.update(); + setGrabItemPos(); + + checkRoofRestart(); + mExitID = 0x3F; + mpScnChg = NULL; + + cMtx_multVec(mpLinkModel->getAnmMtx(0), &localBoomCatchPos, &field_0x3534); + + if (checkResetFlg0(RFLG0_UNK_10)) { + mZ2Link.setResumeAttack(true); + } else { + mZ2Link.setResumeAttack(false); + } + + if (!checkEventRun() && checkNoResetFlg0(FLG0_UNK_80) && (mWaterY > current.pos.y + 40.0f || checkModeFlg(MODE_SWIMMING)) && getMoveBGActorName(mLinkAcch.m_wtr, 1) == PROC_Obj_Onsen) { + if (mHotspringRecoverTimer != 0) { + mHotspringRecoverTimer--; + } else { + mHotspringRecoverTimer = daAlinkHIO_basic_c0::m.mHotspringRecoverTime; + dComIfGp_setItemLifeCount(1.0f, 1); + } + } else { + mHotspringRecoverTimer = daAlinkHIO_basic_c0::m.mHotspringRecoverTime; + } + + if ((checkAttentionLock() || !checkUpperReadyThrowAnime()) && mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_ROOF_SHOOT) { + mFastShotTime = 0; + } + + if (checkDeadHP()) { + mEvtInfo.offCondition(2); + } else if (!checkMagneBootsOn()) { + f32 var_f31_2; + if (mLinkAcch.ChkGroundHit()) { + cM3dGPla plane; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &plane); + var_f31_2 = plane.mNormal.y; + } else { + var_f31_2 = -1.0f; + } + + if (cBgW_CheckBGround(var_f31_2) && !checkModeFlg(MODE_PLAYER_FLY)) { + mEvtInfo.onCondition(0x5D); + } else if (checkModeFlg(MODE_SWIMMING) || mProcID == PROC_WOLF_ROPE_MOVE || + ((checkReinRide() || checkCanoeRide() || checkSpinnerRide()) && + !checkNoResetFlg3(FLG3_UNK_80000) && !checkModeFlg(MODE_JUMP))) { + mEvtInfo.onCondition(1); + if (checkReinRide() || checkCanoeRide()) { + mEvtInfo.onCondition(8); + } + } + } else if (checkMagneBootsOn() && cBgW_CheckBGround(mMagneBootsTopVec.y)) { + mEvtInfo.onCondition(1); + } + + if (checkEndResetFlg1(ERFLG1_UNK_40000) && checkMidnaRide() && checkWolf()) { + getMidnaActor()->onForcePanic(); + } + + field_0x30fe = 0; + field_0x372c = cXyz::Zero; + field_0x2fb8 = 0; + + if (checkMagicArmorWearAbility() && mClothesChangeWaitTimer == 0) { + if (checkMagicArmorNoDamage() && !checkEventRun()) { + if (field_0x2fc3 == 0) { + field_0x2fc3 = 10; + dComIfGp_setItemRupeeCount(-1); + } else { + field_0x2fc3--; + } + } + + if (dComIfGs_getRupee() == 0 && field_0x2fd7 != 0) { + setMagicArmorBrk(0); + seStartOnlyReverb(Z2SE_AL_M_ARMER_TURNOFF); + mZ2Link.setLinkState(5); + } else if (dComIfGs_getRupee() == 0 && field_0x2fd7 == 0) { + setMagicArmorBrk(1); + seStartOnlyReverb(Z2SE_AL_M_ARMER_RECOVER); + mZ2Link.setLinkState(4); + } + } + + if (!checkWolf()) { + for (int i = 0; i < 2; i++) { + u8 tmp = (i + 1) & 1; + if (dComIfGp_getSelectItem(i) == EMPTY_BOTTLE && (field_0x2fae & (1 << i)) && dComIfGp_getSelectItem(tmp) == EMPTY_BOTTLE) { + field_0x2fae |= (1 << tmp); + } + } + } + + for (int i = 0; i < 2; i++) { + if (!(field_0x2fae & (1 << i)) && !(field_0x2faf & (1 << i))) { + dMeter2Info_offUseButton(4 << i); + } + } + + if (!(field_0x2fae & 0x40) && !(field_0x2faf & 0x40)) { + dMeter2Info_offUseButton(0x40); + } + + if (!(field_0x2fae & 0x8) && !(field_0x2faf & 0x8)) { + dMeter2Info_offUseButton(2); + if (getSumouMode()) { + dMeter2Info_offUseButton(1); + } + } + + field_0x2faf = field_0x2fae; + + for (int i = 0; i < 4; i++) { + cXyz tmp(current.pos.x + 500.0f, current.pos.y + 500.0f, current.pos.z + 500.0f); + if (i != field_0x2fa3 - 1) { + field_0x354c[i] = tmp; + } + } + + if (checkEventRun()) { + if (mProcID != PROC_GRASS_WHISTLE_WAIT) { + setDoStatus(0); + } + setRStatus(0); + } else if (dComIfGp_getDoStatus() == 0x86 || dComIfGp_getDoStatus() == 0x8B) { + setDoStatus(3); + } else if (dComIfGp_getDoStatus() == 0x89) { + setDoStatus(8); + } else if (dComIfGp_getDoStatus() == 0x93) { + setDoStatusEmphasys(0x19); + } else if (dComIfGp_getDoStatus() == 0x8E) { + setDoStatusEmphasys(0x15); + } else { + if (dComIfGp_getDoStatus() == 0x8C) { + setDoStatus(0); + } else if (checkStageName("F_SP127") && checkCanoeRide() && dComIfGp_getDoStatus() == 4) { + setDoStatus(0); + } else if (dComIfGp_getDoStatus() == 0x90) { + setDoStatus(0); + } else if (dComIfGp_getDoStatus() == 0x98) { + setDoStatusEmphasys(0x39); + } else if (dComIfGp_getDoStatus() == 0x99) { + setDoStatusEmphasys(0x15); + } else if (dComIfGp_getDoStatus() == 0x91) { + if (checkWolf() || (field_0x27f4 != NULL && (field_0x27f4->mSpeedF > 0.1f || (checkGoatCatchActor(field_0x27f4) && fopAcM_GetName(field_0x27f4) != PROC_COW)))) { + setDoStatusEmphasys(0x15); + } else { + setDoStatus(0); + } + } else if (dComIfGp_getDoStatus() == 0x97) { + if (current.pos.y + 200.0f < mWaterY) { + setDoStatus(0x4C); + } else { + setDoStatus(0); + } + } else if (dComIfGp_getDoStatus() == 0x19 && dComIfGp_getHorseActor() != NULL && dComIfGp_getHorseActor()->getZeldaActor() != NULL) { + setDoStatus(0x19); + } else if (dComIfGp_getDoStatus() == 5 && field_0x27f4 != NULL && (fopAcM_GetName(field_0x27f4) == PROC_Obj_WindStone || fopAcM_GetName(field_0x27f4) == PROC_Obj_SmWStone)) { + setDoStatusEmphasys(0x3B); + } else if (dComIfGp_getDoStatus() == 0x14) { + if (checkEndResetFlg1(ERFLG1_UNK_4000000)) { + setDoStatusEmphasys(0x61); + } else if (checkEndResetFlg1(ERFLG1_UNK_10000000)) { + setDoStatusEmphasys(0x14); + } + } + + int grab_status = getWallGrabStatus(); + if (checkWolf()) { + if (grab_status == 0x15) { + setWallGrabStatus(0x3F, 2); + } else if (grab_status == 0x96) { + setWallGrabStatus(0xC, checkChainEmphasys()); + } + } else { + if (grab_status == 0x96) { + setWallGrabStatus(0x15, checkChainEmphasys()); + } + + if (dComIfGp_getRStatus() == 0x3A && checkShieldAttackEmphasys() == 0) { + setRStatus(0); + } + } + } + + mDoAud_setLinkHp(dComIfGs_getLife(), dComIfGs_getMaxLifeGauge()); + + if (dComIfGp_att_getCatghTarget() != NULL && !checkWolf()) { + if (checkRideOn() && checkCastleTownUseItem(EMPTY_BOTTLE) ) { + dComIfGp_setBottleStatus(0x6C, 0); + } + } + + if (checkEndResetFlg2(ERFLG2_UNK_20) && dComIfGp_checkPlayerStatus0(0, 0x200000) && (field_0x310e != field_0x310a || field_0x3110 != field_0x310c)) { + mDoAud_seStartLevel(Z2SE_AL_HAWK_EYE_PAN, NULL, 0, 0); + } + + offNoResetFlg0(FLG0_UNK_40000000); + mEndResetFlg0 = 0; + + if (checkEndResetFlg1(ERFLG1_UNK_4)) { + onNoResetFlg2(FLG2_UNK_20000); + } else { + offNoResetFlg2(FLG2_UNK_20000); + } + + mEndResetFlg1 = 0; + mEndResetFlg2 = 0; + + field_0x3540 = next.pos; + field_0x3108 = mCollisionRot.y; + + if (checkHorseRide() && checkBoarSingleBattle()) { + if (abs(mCollisionRot.y) < 0x4000) { + mCollisionRot.y = 0; + } else { + mCollisionRot.y = -0x8000; + } + } else if (checkMagneBootsOn()) { + field_0x3118 = mCollisionRot.y; + mCollisionRot.y = getMagneBootsLocalAngleY(mCollisionRot.y, 0); + } else if (checkModeFlg(MODE_VINE_CLIMB)) { + field_0x3108 = mCollisionRot.y; + mCollisionRot.y += field_0x308c; + } else if (checkCargoCarry() && mCargoCarryAcKeep.getActor() != NULL) { + field_0x3108 = mCollisionRot.y; + mCollisionRot.y = mCargoCarryAcKeep.getActor()->mCollisionRot.y; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::execute() { +asm int daAlink_c::execute() { nofralloc #include "asm/d/a/d_a_alink/execute__9daAlink_cFv.s" } #pragma pop +#endif /* 800CAFA8-800CAFC8 0C58E8 0020+00 1/0 0/0 0/0 .text daAlink_Execute__FP9daAlink_c */ static void daAlink_Execute(daAlink_c* pLinkPtr) { @@ -1710,7 +2636,7 @@ MtxP daAlink_c::getRightItemMatrix() { /* 800CF344-800CF380 0C9C84 003C+00 1/0 0/0 0/0 .text checkPlayerNoDraw__9daAlink_cFv */ BOOL daAlink_c::checkPlayerNoDraw() { return dComIfGp_checkCameraAttentionStatus(field_0x317c, 2) || - i_checkNoResetFlg0(PLAYER_NO_DRAW); + i_checkNoResetFlg0(FLG0_PLAYER_NO_DRAW); } /* 800CF380-800CFC3C 0C9CC0 08BC+00 1/1 0/0 0/0 .text __ct__9daAlink_cFv */ @@ -1789,7 +2715,7 @@ static s32 dComIfGp_att_getCatghTarget() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_att_getCatghTarget() { +static asm dAttCatch_c* dComIfGp_att_getCatghTarget() { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_att_getCatghTarget__Fv.s" } @@ -1850,7 +2776,7 @@ void J3DModel::setBaseTRMtx(MtxP matrix) { /* 800D0020-800D0048 0CA960 0028+00 1/1 0/0 0/0 .text checkFmChainGrabAnime__9daAlink_cCFv */ BOOL daAlink_c::checkFmChainGrabAnime() const { - return checkUpperAnime(ANM_HUMAN_CHAIN_GRAB) || checkUpperAnime(ANM_WOLF_CHAIN_GRAB); + return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); } /* 800D0048-800D005C 0CA988 0014+00 1/1 0/0 0/0 .text checkSmallUpperGuardAnime__9daAlink_cCFv */ @@ -1862,7 +2788,7 @@ BOOL daAlink_c::checkSmallUpperGuardAnime() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfGp_evmng_startCheck(char const* param_0) { +static asm bool dComIfGp_evmng_startCheck(char const* param_0) { nofralloc #include "asm/d/a/d_a_alink/dComIfGp_evmng_startCheck__FPCc.s" } @@ -1879,7 +2805,7 @@ static void mDoAud_setLinkGroupInfo(u8 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoExt_MtxCalcAnmBlendTbl::getAnm(int param_0) { +asm J3DAnmTransform* mDoExt_MtxCalcAnmBlendTbl::getAnm(int param_0) { nofralloc #include "asm/d/a/d_a_alink/getAnm__25mDoExt_MtxCalcAnmBlendTblFi.s" } @@ -1896,19 +2822,19 @@ void dBgS_Acch::ClrGroundHit() { } /* 800D00EC-800D0110 0CAA2C 0024+00 1/1 0/0 0/0 .text checkReinRide__9daAlink_cCFv */ -BOOL daAlink_c::checkReinRide() const { +u32 daAlink_c::checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } /* 800D0110-800D0138 0CAA50 0028+00 1/1 0/0 0/0 .text checkWolfEnemyThrowAnime__9daAlink_cCFv */ BOOL daAlink_c::checkWolfEnemyThrowAnime() const { - return checkUpperAnime(ANM_WOLF_ENEMY_THROW_LEFT) || - checkUpperAnime(ANM_WOLF_ENEMY_THROW_RIGHT); + return checkUpperAnime(0x2BD) || + checkUpperAnime(0x2BE); } /* 800D0138-800D014C 0CAA78 0014+00 1/1 0/0 0/0 .text checkSpecialDemoMode__9daAlink_cCFv */ -u16 daAlink_c::checkSpecialDemoMode() const { +int daAlink_c::checkSpecialDemoMode() const { return mDemo.getDemoType() == 5; } @@ -2039,7 +2965,7 @@ f32 daAlink_c::getGroundY() { /* 800D0358-800D0360 0CAC98 0008+00 1/0 0/0 0/0 .text getBaseAnimeFrameRate__9daAlink_cCFv */ f32 daAlink_c::getBaseAnimeFrameRate() const { - return mFrameCtrl1[0].getRate(); + return mUnderFrameCtrl[0].getRate(); } /* 800D0360-800D0368 0CACA0 0008+00 1/0 0/0 0/0 .text getAtnActorID__9daAlink_cCFv */ @@ -2065,7 +2991,7 @@ s32 daAlink_c::getGrabActorID() const { */ void daAlink_c::setForcePutPos(cXyz const& pPutPos) { mForcePutPos = pPutPos; - i_onEndResetFlg1(UNK_FORCE_PUT_POS); + i_onEndResetFlg1(ERFLG1_UNK_2000); } /* 800D03B4-800D03C8 0CACF4 0014+00 1/0 0/0 0/0 .text checkPlayerFly__9daAlink_cCFv */ @@ -2463,7 +3389,7 @@ Z2WolfHowlMgr* daAlink_c::getWolfHowlMgrP() { /* 800D0AA4-800D0AC8 0CB3E4 0024+00 1/0 0/0 0/0 .text checkWolfHowlSuccessAnime__9daAlink_cCFv */ BOOL daAlink_c::checkWolfHowlSuccessAnime() const { - return checkUnderMove0BckNoArcWolf(ANM_WOLF_HOWL_SUCCESS); + return checkUnderMove0BckNoArcWolf(WANM_HOWL_SUCCESS); } /* 800D0AC8-800D0AF0 0CB408 0028+00 1/0 0/0 0/0 .text checkOctaIealHang__9daAlink_cCFv */ diff --git a/src/d/a/d_a_alink_spinner.inc b/src/d/a/d_a_alink_spinner.inc index d8a7da3b70..b5f5632282 100644 --- a/src/d/a/d_a_alink_spinner.inc +++ b/src/d/a/d_a_alink_spinner.inc @@ -133,7 +133,7 @@ int daAlink_c::procSpinnerReadyInit() { commonProcInit(PROC_SPINNER_READY); mRideAcKeep.setData(spinner); - setSingleAnime(ANM_BOARD_SPINNER, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f, + setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndF, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation); mNormalSpeed = 0.0f; @@ -205,7 +205,7 @@ int daAlink_c::procSpinnerWaitInit() { mRideStatus = 5; setBgCheckParam(); - setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f); + setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f); mSpeed.y = 0.0f; setSpecialGravity(0.0f, mMaxFallSpeed, 0); mNormalSpeed = 0.0f; @@ -213,7 +213,7 @@ int daAlink_c::procSpinnerWaitInit() { field_0x300e = mCollisionRot.y; field_0x3010 = 0; - field_0x3198 = ANM_SPINNER_RIDE; + field_0x3198 = ANM_RIDE_CROUCH; field_0x33b0 = 70.0f; field_0x3012 = 0; field_0x37a4 = mRideAcKeep.getActor()->current.pos; @@ -277,7 +277,7 @@ int daAlink_c::procSpinnerWait() { return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); } - daPy_frameCtrl_c* frameCtrl = mFrameCtrl1; + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; dMeter2Info_onDirectUseItem(itemSetBtn); if (spinner->checkPathMoveNow() == NULL) { @@ -295,10 +295,10 @@ int daAlink_c::procSpinnerWait() { field_0x3012 = 1; setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); - if (field_0x3198 != ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) { - setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed, + if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) { + setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, daAlinkHIO_board_c0::m.mFastPushInterpolation); - field_0x3198 = ANM_SPINNER_PUSH; + field_0x3198 = ANM_RIDE_KICK; fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0); } } else if (spinner->checkSpinnerTagInto()) { @@ -308,35 +308,35 @@ int daAlink_c::procSpinnerWait() { setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT); } - if ((field_0x3198 == ANM_SPINNER_PUSH && field_0x2060->getOldFrameRate() < 0.01f) || - (field_0x3198 != ANM_SPINNER_PUSH && field_0x3198 != ANM_SPINNER_STAND)) { - setSingleAnimeBaseSpeed(ANM_SPINNER_STAND, daAlinkHIO_board_c0::m.mStandAnmSpeed, + if ((field_0x3198 == ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) || + (field_0x3198 != ANM_RIDE_KICK && field_0x3198 != ANM_RIDE_WAIT)) { + setSingleAnimeBaseSpeed(ANM_RIDE_WAIT, daAlinkHIO_board_c0::m.mStandAnmSpeed, daAlinkHIO_board_c0::m.mStandInterpolation); - field_0x3198 = ANM_SPINNER_STAND; + field_0x3198 = ANM_RIDE_WAIT; } - } else if (spinner->getButtonJump() && field_0x3198 != ANM_SPINNER_ATTACK) { - field_0x3198 = ANM_SPINNER_ATTACK; - setSingleAnime(ANM_SPINNER_ATTACK, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStart, + } else if (spinner->getButtonJump() && field_0x3198 != ANM_RIDE_JUMP) { + field_0x3198 = ANM_RIDE_JUMP; + setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStart, daAlinkHIO_board_c0::m.mAirborneAnm.mEndF, daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); field_0x3010 = 0; - } else if (field_0x3198 == ANM_SPINNER_ATTACK) { + } else if (field_0x3198 == ANM_RIDE_JUMP) { if (!spinner->getJumpFlg()) { - setSingleAnime(ANM_SPINNER_ATTACK_LAND, daAlinkHIO_board_c0::m.mLandAnm.mRate, + setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mRate, daAlinkHIO_board_c0::m.mLandAnm.mStart, 16, daAlinkHIO_board_c0::m.mLandAnm.mInterpolation); - field_0x3198 = ANM_SPINNER_ATTACK_LAND; + field_0x3198 = ANM_RIDE_JUMP_LAND; } else if (field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) { - setSingleAnime(ANM_SPINNER_ATTACK, daAlinkHIO_board_c0::m.mAirborneAnm.mRate, + setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mRate, daAlinkHIO_board_c0::m.mAirborneAnm.mStart, daAlinkHIO_board_c0::m.mAirborneAnm.mEndF, -1.0f); field_0x3010 = 1; } - } else if ((field_0x3198 == ANM_SPINNER_ATTACK_LAND && frameCtrl->checkAnmEnd()) || - (field_0x3198 != ANM_SPINNER_ATTACK_LAND && field_0x3198 != ANM_SPINNER_RIDE)) { - setSingleAnimeBaseSpeed(ANM_SPINNER_RIDE, daAlinkHIO_board_c0::m.mSitAnmSpeed, + } else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) || + (field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) { + setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, daAlinkHIO_board_c0::m.mSitInterpolation); - field_0x3198 = ANM_SPINNER_RIDE; + field_0x3198 = ANM_RIDE_CROUCH; } } diff --git a/src/d/a/d_a_alink_swim.inc b/src/d/a/d_a_alink_swim.inc index 06b28b32ee..271cd34233 100644 --- a/src/d/a/d_a_alink_swim.inc +++ b/src/d/a/d_a_alink_swim.inc @@ -33,7 +33,7 @@ asm void daAlink_c::swimDeleteItem() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getZoraSwim() const { +asm bool daAlink_c::getZoraSwim() const { nofralloc #include "asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s" } @@ -85,7 +85,7 @@ asm void daAlink_c::offOxygenTimer() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkPossibleWaterInMode() const { +asm bool daAlink_c::checkPossibleWaterInMode() const { nofralloc #include "asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s" } diff --git a/src/d/a/d_a_alink_swindow.inc b/src/d/a/d_a_alink_swindow.inc index 6d5e0d1742..f7214b8ffd 100644 --- a/src/d/a/d_a_alink_swindow.inc +++ b/src/d/a/d_a_alink_swindow.inc @@ -76,7 +76,7 @@ void daAlink_c::statusWindowDraw() { /* 80140AC8-80140B88 13B408 00C0+00 0/0 1/1 0/0 .text resetStatusWindow__9daAlink_cFv */ void daAlink_c::resetStatusWindow() { - i_offNoResetFlg2(0x400000); + i_offNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); if (i_checkWolf()) { changeModelDataDirectWolf(1); @@ -86,7 +86,7 @@ void daAlink_c::resetStatusWindow() { setMatrix(); mpLinkModel->calc(); - i_onNoResetFlg2(0x400000); + i_onNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); setSelectEquipItem(0); if (i_checkWolf()) { @@ -95,6 +95,6 @@ void daAlink_c::resetStatusWindow() { setItemMatrix(0); } - i_offNoResetFlg2(0x400000); + i_offNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); m_sWindowBck = NULL; } \ No newline at end of file diff --git a/src/d/a/d_a_alink_whistle.inc b/src/d/a/d_a_alink_whistle.inc index cc553bbc41..9a4692f698 100644 --- a/src/d/a/d_a_alink_whistle.inc +++ b/src/d/a/d_a_alink_whistle.inc @@ -62,7 +62,7 @@ int daAlink_c::procGrassWhistleGetInit() { current.angle.y = mCollisionRot.y; field_0x2f98 = 4; - setSingleAnimeParam(ANM_GRASS_WHISTLE_GRAB, &daAlinkHIO_bottle_c0::m.field_0x50); + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.field_0x50); field_0x2f92 = 0xFE; field_0x280c.setData(field_0x27f4); @@ -91,7 +91,7 @@ asm int daAlink_c::procGrassWhistleGetInit() { /* 801119D8-80111A9C 10C318 00C4+00 1/0 0/0 0/0 .text procGrassWhistleGet__9daAlink_cFv */ int daAlink_c::procGrassWhistleGet() { - daPy_frameCtrl_c* frameCtrl = mFrameCtrl1; + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; if (frameCtrl->checkAnmEnd()) { procGrassWhistleWaitInit(mCommonCounter, field_0x300e, field_0x3010, field_0x3012, &field_0x37c8); diff --git a/src/d/a/d_a_alink_wolf.inc b/src/d/a/d_a_alink_wolf.inc index b429fb80e9..7beb3b7252 100644 --- a/src/d/a/d_a_alink_wolf.inc +++ b/src/d/a/d_a_alink_wolf.inc @@ -138,8 +138,8 @@ asm void daAlink_c::checkWolfAtnWait() { /* 8012880C-80128844 12314C 0038+00 27/27 0/0 0/0 .text * checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM */ BOOL daAlink_c::checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM anm_id) const { - return mUnderAnime[0].checkNoSetArcNo() && - m_wlAnmDataTable[anm_id].field_0x0 == mUnderAnime[0].getIdx(); + return mUnderAnmHeap[0].checkNoSetArcNo() && + m_wlAnmDataTable[anm_id].field_0x0 == mUnderAnmHeap[0].getIdx(); } /* 80128844-80128F0C 123184 06C8+00 11/11 0/0 0/0 .text setBlendWolfMoveAnime__9daAlink_cFf */ diff --git a/src/d/a/d_a_horse_static.cpp b/src/d/a/d_a_horse_static.cpp index 8f7a8a18e9..9e64804270 100644 --- a/src/d/a/d_a_horse_static.cpp +++ b/src/d/a/d_a_horse_static.cpp @@ -12,13 +12,13 @@ BOOL e_wb_class::checkWait() { } void e_wb_class::setPlayerRideNow() { - field_0x690 = 0x67; + mActionID = ACT_PL_RIDE_NOW; field_0x5b4 = 0; field_0x6be |= 3; } void e_wb_class::setPlayerRide() { - field_0x690 = 0x65; + mActionID = ACT_PL_RIDE; field_0x5b4 = 0; field_0x6be |= 3; @@ -26,28 +26,29 @@ void e_wb_class::setPlayerRide() { } void e_wb_class::getOff() { - if (!checkDownDamage() || field_0x690 == 0x67) { - field_0x690 = 0; + if (!checkDownDamage() || mActionID == ACT_PL_RIDE_NOW) { + mActionID = 0; } else { field_0x692 = 0; } + field_0x5b4 = 0; - field_0x6be &= 0xfffc; + field_0x6be &= ~3; mZ2Ride.setLinkRiding(false); } BOOL e_wb_class::checkDownDamage() { - return field_0x690 != 0x65 && field_0x690 != 0x66 && field_0x690 != 0x15; + return mActionID != ACT_PL_RIDE && mActionID != 0x66 && mActionID != ACT_S_DAMAGE; } u8 e_wb_class::checkNormalRideMode() const { - return field_0x690 != 0x66 || field_0x5b4 < 1; + return mActionID != 0x66 || field_0x5b4 < 1; } void e_wb_class::setRunRideMode() { - if (field_0x690 == 0x65) { + if (mActionID == ACT_PL_RIDE) { field_0x5b4 = 0; - field_0x690 = 0x15; + mActionID = ACT_S_DAMAGE; field_0x692 = 0x65; } } diff --git a/src/d/a/d_a_itembase.cpp b/src/d/a/d_a_itembase.cpp index 4a589f4cfc..9811545c17 100644 --- a/src/d/a/d_a_itembase.cpp +++ b/src/d/a/d_a_itembase.cpp @@ -99,14 +99,14 @@ int daItemBase_c::CreateItemHeap(char const* arcName, s16 bmdName, s16 btkName, if (brkName > 0) { J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, brkName); s8 tevFrm = getTevFrm(); - int tmp = 1; + int anmPlay = 1; if (tevFrm != -1) { - tmp = 0; + anmPlay = 0; } mpBrkAnm = new mDoExt_brkAnm(); - if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, tmp, 2, 1.0f, 0, -1)) { + if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, anmPlay, 2, 1.0f, 0, -1)) { return 0; } } @@ -176,8 +176,7 @@ void daItemBase_c::setShadow() { if (!chkFlag(0x10)) { if (getShadowSize() != 0.0f) { - dComIfGd_setSimpleShadow(¤t.pos, mAcch.GetGroundH(), scale, - mAcch.m_gnd, 0, 1.0f, + dComIfGd_setSimpleShadow(¤t.pos, mAcch.GetGroundH(), scale, mAcch.m_gnd, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } else { @@ -186,10 +185,9 @@ void daItemBase_c::setShadow() { shadowSize = 150.0f; } - field_0x91c = - dComIfGd_setShadow(field_0x91c, 3, mpModel, ¤t.pos, shadowSize, 0.0f, - current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, - &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); + field_0x91c = dComIfGd_setShadow(field_0x91c, 3, mpModel, ¤t.pos, shadowSize, 0.0f, + current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &mTevStr, + 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 7c37fc147f..580ee36e2e 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -4,191 +4,14 @@ // #include "d/a/d_a_npc.h" +#include "d/a/d_a_player.h" #include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/types.h" #include "m_Do/m_Do_mtx.h" #include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h" - -// -// Types: -// - -struct daNpcT_Hermite_c { - /* 8014CBAC */ ~daNpcT_Hermite_c(); -}; - -struct daNpcT_Path_c { - /* 80145B7C */ void hermite(cXyz&, cXyz&, cXyz&, cXyz&, daNpcT_Hermite_c&, cXyz&); - /* 80145C40 */ void initialize(); - /* 80145C74 */ void setPathInfo(u8, s8, u8); - /* 80145D2C */ void setNextPathInfo(s8, u8); - /* 80145DA0 */ void reverse(); - /* 80145DD0 */ void setNextIdx(int); - /* 80145E38 */ void getDstPos(cXyz, cXyz*, int); - /* 80145FB4 */ void getDstPosH(cXyz, cXyz*, int, int); - /* 80146188 */ void chkPassed1(cXyz, int); - /* 801464D8 */ void chkPassed2(cXyz, cXyz*, int, int); -}; - -struct daNpcT_MatAnm_c { - /* 80145764 */ void initialize(); - /* 80145788 */ void calc(J3DMaterial*) const; - /* 8014D24C */ ~daNpcT_MatAnm_c(); -}; - -struct dPath {}; - -struct daNpcF_SPCurve_c { - /* 80150870 */ void initialize(dPath*, int); -}; - -struct daNpcF_Path_c { - /* 80150900 */ void initialize(); - /* 8015095C */ void setPathInfo(u8, s8, u8); - /* 80150A24 */ void chkPassed(cXyz); - /* 80150A7C */ void chkPassedDst(cXyz); - /* 80150BBC */ void reverse(); - /* 80150BE0 */ void setNextIdx(); - /* 80150C18 */ void getNextIdx(); - /* 80150C60 */ void getBeforeIdx(); - /* 80150CA8 */ void getBeforePos(cXyz&); - /* 80150D44 */ void getNextPos(cXyz&); - /* 80150DE0 */ void getDstPos(cXyz, cXyz&); - /* 80150EB4 */ void setNextIdxDst(cXyz); -}; - -struct daNpcF_MoveBgActor_c { - /* 80155B54 */ ~daNpcF_MoveBgActor_c(); - /* 80155E88 */ bool CreateHeap(); - /* 80155E90 */ bool Create(); - /* 80155E98 */ bool Delete(); - /* 80155EA0 */ bool Execute(f32 (**)[3][4]); - /* 80155EA8 */ bool Draw(); - /* 80155EB0 */ bool IsDelete(); - /* 80155EB8 */ bool ToFore(); - /* 80155EC0 */ bool ToBack(); -}; - -struct daNpcF_MatAnm_c { - /* 80150738 */ void initialize(); - /* 8015075C */ void calc(J3DMaterial*) const; - /* 80155ED0 */ ~daNpcF_MatAnm_c(); -}; - -struct daNpcF_Lookat_c { - /* 80151038 */ void initialize(); - /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, - cXyz*); - /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); - /* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16); - /* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int); - /* 80151A54 */ void update(cXyz*, csXyz*, f32*); - /* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int); - /* 80151F54 */ void setRotAngle(); - /* 80151FE0 */ void clrRotAngle(); -}; - -struct daBaseNpc_path_c { - /* 8014D998 */ daBaseNpc_path_c(); - /* 8014D9A8 */ void isPath(); - /* 8014D9BC */ void setPathInfo(u8, s8, s8); - /* 8014DA48 */ void reverseDir(); - /* 8014DA64 */ void chkPnt(cXyz); - /* 8014DAC4 */ void setNextPnt(); - /* 8014DB04 */ void getIdx(); - /* 8014DB0C */ void setIdx(u16); - /* 8014DB14 */ void getPntPos(u16); - /* 801503FC */ ~daBaseNpc_path_c(); -}; - -struct daBaseNpc_moveBgActor_c { - /* 8014F4B4 */ daBaseNpc_moveBgActor_c(); - /* 8014F518 */ void MoveBGCreateHeap(); - /* 8014F60C */ void - MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*), u32); - /* 8014F6FC */ void MoveBGDelete(); - /* 8014F770 */ void MoveBGExecute(); - /* 801503BC */ bool CreateHeap(); - /* 801503C4 */ bool Create(); - /* 801503CC */ bool Delete(); - /* 801503D4 */ bool Execute(f32 (**)[3][4]); - /* 801503DC */ bool Draw(); - /* 801503E4 */ bool IsDelete(); - /* 801503EC */ bool ToFore(); - /* 801503F4 */ bool ToBack(); - /* 80155FB0 */ ~daBaseNpc_moveBgActor_c(); - - static u8 m_name[4]; - static u8 m_dzb_id[4]; - static u8 m_set_func[4]; -}; - -struct daBaseNpc_matAnm_c { - /* 8014D884 */ void calc(J3DMaterial*) const; - /* 80150444 */ ~daBaseNpc_matAnm_c(); -}; - -struct daBaseNpc_lookat_c { - /* 8014DB40 */ void limitter(s16, s16*, s16, s16); - /* 8014DBB4 */ void calc(fopAc_ac_c*, f32 (*)[4], s16); - /* 8014E634 */ void setMaxJntLmt(csXyz, int); - /* 8014E658 */ void setMinJntLmt(csXyz, int); - /* 8014E67C */ void setJntPos(cXyz, int); - /* 8014E6A0 */ void setAttnPos(cXyz*); - /* 8014E6AC */ void getRot(int); - /* 801502EC */ ~daBaseNpc_lookat_c(); -}; - -struct daBaseNpc_c { - /* 8014E6C8 */ daBaseNpc_c(); - /* 8014E89C */ ~daBaseNpc_c(); - /* 8014EAD0 */ void execute(); - /* 8014EC50 */ void draw(f32); - /* 8014EE3C */ bool getResName(); - /* 8014EE44 */ void getTrnsfrmKeyAnmP(char*, int); - /* 8014EE80 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 8014EF28 */ void getTexPtrnAnmP(char*, int); - /* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 8014EFA4 */ void attnSttsOn(int, int); - /* 8014EFF0 */ void setParam(); - /* 8014EFF4 */ void orderEvent(int, char*); - /* 8014F09C */ void mainProc(); - /* 8014F0A0 */ void setEnvTevColor(); - /* 8014F0FC */ void setRoomNo(); - /* 8014F140 */ bool btkCtrl(); - /* 8014F148 */ void checkEndAnm(f32); - /* 8014F1C8 */ void checkEndAnm(J3DFrameCtrl*); - /* 8014F228 */ void allAnmPlay(); - /* 8014F38C */ void adjustShapeAngle(); - /* 8014F390 */ void setMtx(int); - /* 8014F4A0 */ void setCollisions(); - /* 8014F4A4 */ void setAttnPos(); - /* 8014F4A8 */ void drawOtherMdls(); - /* 8014F4AC */ bool dbgDraw(); - - static u8 const mCcDObj[48]; - static u8 mCcDCyl[68]; - static u8 mCcDSph[64]; -}; - -struct daBaseNpc_acMngr_c { - /* 8014D804 */ daBaseNpc_acMngr_c(); - /* 8014D81C */ void entry(fopAc_ac_c*); - /* 8014D838 */ void getActor(); - /* 80150524 */ ~daBaseNpc_acMngr_c(); -}; - -struct dPnt {}; - -struct dMsgObject_c { - /* 8023819C */ void getActor(); - /* 802382C8 */ void offMsgSendControl(); - /* 802382F4 */ void isMsgSendControl(); - /* 802383A4 */ void isMouthCheck(); -}; +#include "SSystem/SComponent/c_math.h" +#include "m_Do/m_Do_lib.h" // // Forward References: @@ -819,14 +642,16 @@ SECTION_SDATA2 static u8 lit_4116[4] = { /* 80145764-80145788 1400A4 0024+00 0/0 0/0 103/103 .text initialize__15daNpcT_MatAnm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_MatAnm_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__15daNpcT_MatAnm_cFv.s" +void daNpcT_MatAnm_c::initialize() { + f32 value = FLOAT_LABEL(lit_4116); + + field_0xF4 = value; + field_0xF8 = value; + mTranslationX = value; + mTranslationY = value; + field_0x104 = 0; + field_0x105 = 0; } -#pragma pop /* ############################################################################################## */ /* 804533DC-804533E0 0019DC 0004+00 25/25 0/0 0/0 .sdata2 @4140 */ @@ -836,6 +661,35 @@ SECTION_SDATA2 static f32 lit_4140 = 1.0f; SECTION_SDATA2 static f64 lit_4142 = 4503601774854144.0 /* cast s32 to float */; /* 80145788-80145898 1400C8 0110+00 1/0 0/0 0/0 .text calc__15daNpcT_MatAnm_cCFP11J3DMaterial */ +#ifdef NONMATCHING +// 1 instruction in wrong place + float literals +void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { + J3DMaterialAnm::calc(param_0); + + for (u32 i = 0; i < 8; i++) { + if (getTexMtxAnm(i).getAnmFlag()) { + J3DTexMtxInfo* curr_mtx_info = ¶m_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo(); + + if (field_0x104 != 0) { + curr_mtx_info->mSRT.mTranslationX = mTranslationX; + curr_mtx_info->mSRT.mTranslationY = mTranslationY; + } + + if (field_0x105 != 0) { + f32 tmp8 = 1.0f / (field_0x105 + 1); + f32 tmp9 = (1.0f - tmp8); + + curr_mtx_info->mSRT.mTranslationX = field_0xF4 * tmp9 + curr_mtx_info->mSRT.mTranslationX * tmp8; + curr_mtx_info->mSRT.mTranslationY = field_0xF8 * tmp9 + curr_mtx_info->mSRT.mTranslationY * tmp8; + + } + + field_0xF4 = curr_mtx_info->mSRT.mTranslationX; + field_0xF8 = curr_mtx_info->mSRT.mTranslationY; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -844,6 +698,7 @@ asm void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { #include "asm/d/a/d_a_npc/calc__15daNpcT_MatAnm_cCFP11J3DMaterial.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804533E8-804533EC 0019E8 0004+00 13/13 0/0 0/0 .sdata2 @4148 */ @@ -883,7 +738,7 @@ int daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) { *param_1 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0; *param_2 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x2; - if (field_0x14 == -1 && -1.0f < field_0x18) { + if (field_0x14 == -1 && FLOAT_LABEL(lit_4148) < field_0x18) { *param_2 = field_0x18; } ret = 1; @@ -913,127 +768,265 @@ s32 daNpcT_MotionSeqMngr_c::checkEndSequence() { } /* 80145A38-80145A78 140378 0040+00 2/2 0/0 0/0 .text daNpcT_addIdx__FiiRUsi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcT_addIdx(int param_0, int param_1, u16& param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_addIdx__FiiRUsi.s" +static int daNpcT_addIdx(int param_0, int param_1, u16& param_2, int param_3) { + int tmp = 0; + int tmp2 = param_2; + tmp2 += param_0; + + if (param_1 <= tmp2) { + if (param_3) { + int tmp3 = tmp2 / param_1; + tmp2 -= (tmp3 * param_1); + } else { + tmp2 = param_1 + -1; + tmp = 1; + } + } + + param_2 = tmp2; + return tmp; } -#pragma pop /* 80145A78-80145AC4 1403B8 004C+00 2/2 0/0 0/0 .text daNpcT_subIdx__FiiRUsi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcT_subIdx(int param_0, int param_1, u16& param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_subIdx__FiiRUsi.s" +static int daNpcT_subIdx(int param_0, int param_1, u16& param_2, int param_3) { + int tmp = 0; + int tmp2 = param_2; + tmp2 -= param_0; + + if (0 > tmp2) { + if (param_3) { + int tmp3 = tmp2 / param_1; + int tmp4 = tmp2 - tmp3 * param_1; + param_0 = param_1 + tmp4; + + int tmp5 = param_0 / param_1; + tmp2 = param_0 - (tmp5 * param_1); + + } else { + tmp2 = 0; + tmp = 1; + } + } + + param_2 = tmp2; + return tmp; } -#pragma pop /* 80145AC4-80145B20 140404 005C+00 5/5 0/0 0/0 .text daNpcT_incIdx__FiRUsii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcT_incIdx(int param_0, u16& param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_incIdx__FiRUsii.s" +static void daNpcT_incIdx(int param_0, u16& param_1, int param_2, int param_3) { + param_3 ? daNpcT_subIdx(1,param_0,param_1,param_2) : daNpcT_addIdx(1,param_0,param_1,param_2); } -#pragma pop /* 80145B20-80145B7C 140460 005C+00 3/3 0/0 0/0 .text daNpcT_decIdx__FiRUsii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcT_decIdx(int param_0, u16& param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_decIdx__FiRUsii.s" +static void daNpcT_decIdx(int param_0, u16& param_1, int param_2, int param_3) { + param_3 ? daNpcT_addIdx(1,param_0,param_1,param_2) : daNpcT_subIdx(1,param_0,param_1,param_2); } -#pragma pop /* 80145B7C-80145C40 1404BC 00C4+00 1/1 0/0 0/0 .text * hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_Path_c::hermite(cXyz& param_0, cXyz& param_1, cXyz& param_2, cXyz& param_3, +void daNpcT_Path_c::hermite(cXyz& param_0, cXyz& param_1, cXyz& param_2, cXyz& param_3, daNpcT_Hermite_c& param_4, cXyz& param_5) { - nofralloc -#include "asm/d/a/d_a_npc/hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz.s" + param_5.x = param_0.x * param_4.mPosition.x + + param_2.x * param_4.mPosition.y + + param_1.x * param_4.mPosition.z + + param_3.x * param_4.field_0x10; + + param_5.y = param_0.y * param_4.mPosition.x + + param_2.y * param_4.mPosition.y + + param_1.y * param_4.mPosition.z + + param_3.y * param_4.field_0x10; + + + param_5.z = param_0.z * param_4.mPosition.x + + param_2.z * param_4.mPosition.y + + param_1.z * param_4.mPosition.z + + param_3.z * param_4.field_0x10; } -#pragma pop + /* 80145C40-80145C74 140580 0034+00 0/0 0/0 44/44 .text initialize__13daNpcT_Path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_Path_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__13daNpcT_Path_cFv.s" +void daNpcT_Path_c::initialize() { + mpRoomPath = 0; + + f32 value = FLOAT_LABEL(lit_4116); + mPosition.x = value; + mPosition.y = value; + mPosition.z = value; + field_0x10 = value; + field_0x14 = value; + field_0x18 = value; + + mIdx = 0; + mDirection = 0; + mIsClosed = 0; } -#pragma pop /* 80145C74-80145D2C 1405B4 00B8+00 0/0 0/0 18/18 .text setPathInfo__13daNpcT_Path_cFUcScUc */ +#ifdef NONMATCHING +// something wrong with the getPntPos inline +int daNpcT_Path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, u8 i_direction) { + mpRoomPath = 0; + mIdx = 0; + mDirection = i_direction; + + if (i_pathIdx != 0xFF) { + mpRoomPath = dPath_GetRoomPath(i_pathIdx,i_roomNo); + if (!mpRoomPath) { + return 0; + } + + mIsClosed = mpRoomPath->m_closed & 1; + int tmpidx = getIdx(); + mPosition = *getPntPos(tmpidx); + } + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { +asm int daNpcT_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { nofralloc #include "asm/d/a/d_a_npc/setPathInfo__13daNpcT_Path_cFUcScUc.s" } #pragma pop +#endif /* 80145D2C-80145DA0 14066C 0074+00 0/0 0/0 1/1 .text setNextPathInfo__13daNpcT_Path_cFScUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_Path_c::setNextPathInfo(s8 param_0, u8 param_1) { - nofralloc -#include "asm/d/a/d_a_npc/setNextPathInfo__13daNpcT_Path_cFScUc.s" +int daNpcT_Path_c::setNextPathInfo(s8 param_0, u8 i_direction) { + mIdx = 0; + mDirection = i_direction; + u16 next_id = mpRoomPath->m_nextID; + + if (next_id != 65535) { + mpRoomPath = dPath_GetRoomPath(next_id,param_0); + if (!mpRoomPath) { + return 0; + } + + mIsClosed = mpRoomPath->m_closed & 1; + } + return 1; } -#pragma pop /* 80145DA0-80145DD0 1406E0 0030+00 0/0 0/0 1/1 .text reverse__13daNpcT_Path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_Path_c::reverse() { - nofralloc -#include "asm/d/a/d_a_npc/reverse__13daNpcT_Path_cFv.s" +void daNpcT_Path_c::reverse() { + if (mDirection == 1) { + mDirection = 0; + field_0x1E = 1; + return; + } + mDirection = 1; + field_0x1E = 1; + } -#pragma pop /* 80145DD0-80145E38 140710 0068+00 2/2 0/0 8/8 .text setNextIdx__13daNpcT_Path_cFi */ +#ifdef NONMATCHING +// getNumPnts inline appears to be wrong +int daNpcT_Path_c::setNextIdx(int param_0) { + u16 numPnts = getNumPnts(); + + if (chkClose() != 0 && numPnts == param_0) { + daNpcT_incIdx(param_0,mIdx,1,mDirection); + return; + } + + daNpcT_incIdx(param_0,mIdx,0,mDirection); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_Path_c::setNextIdx(int param_0) { +asm int daNpcT_Path_c::setNextIdx(int param_0) { nofralloc #include "asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s" } #pragma pop +#endif /* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */ +#ifdef NONMATCHING +int daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int i_idx) { + cXyz* curr_room_pos = &mpRoomPath->m_points[mIdx].m_position; + + if (i_idx == mIdx) { + mIdx--; + + param_1 = curr_room_pos; + + } else { + do { + int ret = chkPassed1(param_0,i_idx); + + if (ret == 0) { + param_1 = curr_room_pos; + break; + } + + field_0x1E = 1; + + } while (setNextIdx(i_idx) == 0); + + mIdx = i_idx; + mIdx--; + + param_1 = curr_room_pos; + } + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int param_2) { +asm int daNpcT_Path_c::getDstPos(cXyz param_0, cXyz* param_1, int param_2) { nofralloc #include "asm/d/a/d_a_npc/getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi.s" } #pragma pop +#endif /* 80145FB4-80146188 1408F4 01D4+00 0/0 0/0 10/10 .text getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii */ +#ifdef NONMATCHING +int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int param_2, int param_3) { + cXyz* curr_room_pos = &mpRoomPath->m_points[mIdx].m_position; + + if (i_idx == mIdx) { + mIdx--; + + param_1 = curr_room_pos; + + } else { + do { + int ret = chkPassed1(param_0,i_idx); + + if (ret == 0) { + param_1 = curr_room_pos; + break; + } + + field_0x1E = 1; + + } while (setNextIdx(i_idx) == 0); + + mIdx = i_idx; + mIdx--; + + param_1 = curr_room_pos; + } + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int param_2, int param_3) { +asm int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int param_2, int param_3) { nofralloc #include "asm/d/a/d_a_npc/getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804533EC-804533F0 0019EC 0004+00 1/1 0/0 0/0 .sdata2 @4513 */ @@ -1041,14 +1034,99 @@ SECTION_SDATA2 static f32 lit_4513 = 100.0f; /* 80146188-801464D8 140AC8 0350+00 2/2 0/0 2/2 .text chkPassed1__13daNpcT_Path_cF4cXyzi */ +#ifdef NONMATCHING +int daNpcT_Path_c::chkPassed1(cXyz param_0, int param_1) { + u16 idx = mIdx; + u16 tmpIdx1 = idx; + u16 tmpIdx2 = idx; + + u8 tmp; + + cXyz l_pos1; + cXyz l_pos2; + cXyz l_pos3; + cXyz l_pos4; + cXyz l_pos5; + cXyz l_pos6; + cXyz l_pos7; + + f32 l_float1; + f32 l_float2; + f32 l_float3; + f32 l_float4; + f32 l_float5; + f32 l_float6; + + Vec l_vec; + + + if ((mpRoomPath->m_closed & 1) == 0 || param_1 == mpRoomPath->m_num) { + tmp = mDirection == 1; + daNpcT_decIdx(param_1,tmpIdx2,1,tmp); + + tmp = mDirection == 1; + daNpcT_incIdx(param_1,tmpIdx1,0,tmp); + } else { + tmp = mDirection == 1; + daNpcT_decIdx(tmp,tmpIdx1,0,tmp); + + tmp = mDirection == 1; + daNpcT_incIdx(mpRoomPath->m_num,tmpIdx2,1,tmp); + } + + tmp = tmpIdx2; + + l_pos5 = mpRoomPath->m_points[idx].m_position; + l_pos6 = mpRoomPath->m_points[mIdx].m_position; + l_pos7 = mpRoomPath->m_points[mIdx].m_position; + + l_pos1 = l_pos7; + l_pos2 = l_pos6; + l_pos3 = l_pos5; + + + if (tmp == mIdx) { + l_vec.x = 0.0f; + l_vec.y = 0.0f; + l_vec.z = 100.0f; + + s16 angle = cLib_targetAngleY(&l_pos1,&l_pos2); + mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now,angle); + PSMTXMultVec((MtxP)&mDoMtx_stack_c::now,&l_vec,&l_vec); + l_pos4 = (cXyz)l_vec + l_pos2; + l_pos3 = l_pos4; + } + + if (mIdx == tmpIdx1) { + l_vec.x = 0.0f; + l_vec.y = 0.0f; + l_vec.z = 100.0f; + + s16 angle = cLib_targetAngleY(&l_pos3,&l_pos2); + mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now,angle); + PSMTXMultVec((MtxP)&mDoMtx_stack_c::now,&l_vec,&l_vec); + l_pos5 = (cXyz)l_vec + l_pos2; + l_pos1 = l_pos5; + } + + if (cM3d_Len2dSqPntAndSegLine(param_0.x,param_0.z,l_pos3.x,l_pos3.z,l_pos1.x,l_pos1.z,&l_float1,&l_float2,&l_float3) + && cM3d_Len2dSqPntAndSegLine(l_pos2.x,l_pos2.z,l_pos3.x,l_pos3.z,l_pos1.x,l_pos1.z,&l_float4,&l_float5,&l_float6)) { + if (0x4000 < abs(cM_atan2s(l_pos1.x - l_pos3.x, l_pos1.z - l_pos3.z) - cM_atan2s(l_float4 - l_float1, l_float5 - l_float2))) { + return 1; + } + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_Path_c::chkPassed1(cXyz param_0, int param_1) { +asm int daNpcT_Path_c::chkPassed1(cXyz param_0, int param_1) { nofralloc #include "asm/d/a/d_a_npc/chkPassed1__13daNpcT_Path_cF4cXyzi.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803B36A8-803B36B4 0107C8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ @@ -1406,7 +1484,7 @@ SECTION_SDATA2 static f64 lit_4677 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_Path_c::chkPassed2(cXyz param_0, cXyz* param_1, int param_2, int param_3) { +asm int daNpcT_Path_c::chkPassed2(cXyz param_0, cXyz* param_1, int param_2, int param_3) { nofralloc #include "asm/d/a/d_a_npc/chkPassed2__13daNpcT_Path_cF4cXyzP4cXyzii.s" } @@ -1501,14 +1579,14 @@ SECTION_SDATA2 static f32 lit_5423 = 7281.0f; /* 80147DCC-80147E3C 14270C 0070+00 0/0 0/0 28/28 .text * setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_DmgStagger_c::setParam(fopAc_ac_c* param_0, fopAc_ac_c* param_1, s16 param_2) { - nofralloc -#include "asm/d/a/d_a_npc/setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs.s" +void daNpcT_DmgStagger_c::setParam(fopAc_ac_c* i_actor1, fopAc_ac_c* i_actor2, s16 i_angle) { + if (i_actor2 && i_actor1) { + field_0xc = FLOAT_LABEL(lit_5422); + field_0x10 = FLOAT_LABEL(lit_5423); + field_0x16 = fopAcM_searchActorAngleY(i_actor1,i_actor2) - i_angle; + mStagger = 0x4000; + } } -#pragma pop /* ############################################################################################## */ /* 80453438-8045343C 001A38 0004+00 1/1 0/0 0/0 .sdata2 @5459 */ @@ -1690,8 +1768,6 @@ void daNpcT_c::deleteRes(s8 const* resNoList, char const** resNameList) { SECTION_SDATA2 static f32 lit_5667 = -1000000000.0f; /* 8014852C-8014886C 142E6C 0340+00 0/0 0/0 59/59 .text execute__8daNpcT_cFv */ -// matches with literals -#ifdef NONMATCHING int daNpcT_c::execute() { setParam(); if (!evtProc()) { @@ -1704,7 +1780,7 @@ int daNpcT_c::execute() { field_0x930 = field_0x68c.m_gnd; field_0xdca = fopAcM_getPolygonAngle(field_0x930, current.angle.y); field_0xdf4 = field_0x68c.GetGroundH(); - if (field_0xdf4 != -1000000000.0f) { + if (FLOAT_LABEL(lit_5667) != field_0xdf4) { field_0xda8 = dKy_pol_sound_get(&field_0x68c.m_gnd); field_0xe24 = dComIfGp_getReverb(field_0x864.GetRoomId()); @@ -1714,7 +1790,7 @@ int daNpcT_c::execute() { } afterMoved(); - if (field_0xdf4 != -1000000000.0f) { + if (FLOAT_LABEL(lit_5667) != field_0xdf4) { setEnvTevColor(); setRoomNo(); } @@ -1733,12 +1809,12 @@ int daNpcT_c::execute() { ctrlSubFaceMotion(0); ctrlMotion(); setAttnPos(); - cLib_chaseF(&field_0xdfc, 0.0f, 1.0f); + cLib_chaseF(&field_0xdfc, FLOAT_LABEL(lit_4116), FLOAT_LABEL(lit_4140)); twilight(); setCollision(); if (!field_0xe2c) { - if ((field_0xe33 && dComIfGp_getEvent().i_isOrderOK()) || !i_dComIfGp_event_runCheck()) { + if ((field_0xe33 && i_dComIfGp_getEvent().i_isOrderOK()) || !i_dComIfGp_event_runCheck()) { evtOrder(); } } @@ -1747,23 +1823,13 @@ int daNpcT_c::execute() { decTmr(); return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcT_c::execute() { - nofralloc -#include "asm/d/a/d_a_npc/execute__8daNpcT_cFv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80453444-80453448 001A44 0004+00 3/3 0/0 0/0 .sdata2 @5794 */ SECTION_SDATA2 static f32 lit_5794 = 20.0f; /* 8014886C-80148C70 1431AC 0404+00 0/0 0/0 58/58 .text draw__8daNpcT_cFiifP11_GXColorS10fiii */ -// close. literals + few wrong areas +// regalloc + literals #ifdef NONMATCHING int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 param_4, int param_5, int param_6, int param_7) { @@ -1787,13 +1853,14 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 mTevStr.mFogColor.a = color->a; } - if (field_0xdb8 != 0 && mTimer != 0) { + if (field_0xdb8 && mTimer) { f32 r = (f32)field_0xdb8 / (f32)mTimer; - if (!cM3d_IsZero(r)) { + + if (cM3d_IsZero_inverted(r)) { mTevStr.mFogColor.r = r * 20.0f; } } else if (param_0 != 0) { - mTevStr.field_0x35a = 20; + mTevStr.mFogColor.g = 20; } if (field_0xd98 & 0x800) { @@ -1820,13 +1887,13 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 drawGhost(); } else if (field_0xa89 != 0) { g_env_light.settingTevStruct(4, ¤t.pos, &mTevStr); - g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr); + g_env_light.setLightTevColorType_MAJI(model->getModelData(), &mTevStr); dComIfGd_setListDark(); mMcaMorfAnm[0]->entryDL(); dComIfGd_setList(); } else { g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); - g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr); + g_env_light.setLightTevColorType_MAJI(model->getModelData(), &mTevStr); mMcaMorfAnm[0]->entryDL(); } @@ -1887,14 +1954,47 @@ void daNpcT_c::setRoomNo() { } /* 80148D10-80148DD0 143650 00C0+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFf */ +#ifdef NONMATCHING +int daNpcT_c::checkEndAnm(f32 param_0) { + bool ret; + u8 play_mode = mMcaMorfAnm[0]->getPlayMode(); + int tmp = 2; + + if (play_mode == tmp || play_mode < tmp) { + tmp = 0; + if (play_mode < tmp) { + ret = 0; + } else { + return mMcaMorfAnm[0]->isLoop(); + } + } + + if (ret == 0 && cM3d_IsZero_inverted(mMcaMorfAnm[0]->getPlaySpeed())) { + if (cM3d_IsZero_inverted(param_0)) { + play_mode = 1; + } + } + + if (!mMcaMorfAnm[0]->mFrameCtrl.checkState(1) && mMcaMorfAnm[0]->mFrameCtrl.getRate() != 0.0f) { + ret = 1; + } + + if (play_mode = 1 && cM3d_IsZero_inverted(param_0)) { + ret = 1; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::checkEndAnm(f32 param_0) { +asm int daNpcT_c::checkEndAnm(f32 param_0) { nofralloc #include "asm/d/a/d_a_npc/checkEndAnm__8daNpcT_cFf.s" } #pragma pop +#endif /* 80148DD0-80148E4C 143710 007C+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFP12J3DFrameCtrlf */ #pragma push @@ -1951,16 +2051,68 @@ void daNpcT_c::setMtx() { } /* 8014924C-80149300 143B8C 00B4+00 1/1 0/0 0/0 .text ctrlFaceMotion__8daNpcT_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::ctrlFaceMotion() { - nofralloc -#include "asm/d/a/d_a_npc/ctrlFaceMotion__8daNpcT_cFv.s" +void daNpcT_c::ctrlFaceMotion() { + int l_int; + f32 l_float; + + if (field_0xb50.play(field_0xe20,&l_int,&l_float)) { + setFaceMotionAnm(l_int,true); + + if (l_float < FLOAT_LABEL(lit_4116)) { + mMcaMorfAnm[0]->setMorf(field_0xa80); + field_0xdfc = field_0xa80; + + if (mMcaMorfAnm[1]) { + mMcaMorfAnm[1]->setMorf(field_0xa80); + } + } else { + mMcaMorfAnm[0]->setMorf(l_float); + field_0xdfc = l_float; + + if (mMcaMorfAnm[1]) { + mMcaMorfAnm[1]->setMorf(l_float); + } + } + } } -#pragma pop /* 80149300-801493B8 143C40 00B8+00 1/1 0/0 0/0 .text ctrlMotion__8daNpcT_cFv */ +#ifdef NONMATCHING +// 1 instruction in the wrong place + 1 register wrong +void daNpcT_c::ctrlMotion() { + int l_int; + int l_int2; + f32 l_float; + + if (field_0xb74.play(field_0xe1e,&l_int,&l_float)) { + l_int2 = 0; + + if (l_float < FLOAT_LABEL(lit_4148)) { + l_int2 = 1; + } + + int l_int3 = l_int; + + if (l_float < FLOAT_LABEL(lit_4116)) { + setMotionAnm(l_int3,field_0xa84,l_int2); + } + + f32 tmp = FLOAT_LABEL(lit_4116); + field_0xdfc = tmp; + + if (field_0xa88) { + mMcaMorfAnm[0]->setMorf(tmp); + + f32 tmp2 = FLOAT_LABEL(lit_4116); + field_0xdfc = tmp2; + + if (mMcaMorfAnm[1]) { + mMcaMorfAnm[1]->setMorf(tmp2); + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1969,16 +2121,73 @@ asm void daNpcT_c::ctrlMotion() { #include "asm/d/a/d_a_npc/ctrlMotion__8daNpcT_cFv.s" } #pragma pop +#endif /* 801493B8-8014951C 143CF8 0164+00 1/1 0/0 2/2 .text ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci */ +#ifdef NONMATCHING +// few extra mr instructions + regalloc nightmare +int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int param_3) { + int* tmp0 = param_0; + int* tmp1 = param_1; + fopAc_ac_c* tmp2 = param_2; + int tmp3 = param_3; + + *param_0 = -1; + *param_1 = -1; + + if (tmp3 != 0 || mEvtInfo.checkCommandTalk() || field_0xdac != -1) { + fopAc_ac_c* talk_partner = (fopAc_ac_c*)dComIfGp_event_getTalkPartner(); + dMsgObject_c* talk_partner_conv = (dMsgObject_c*)talk_partner; + + if (tmp2 == talk_partner) { + u16 actor_command = talk_partner_conv->getActor()->mEvtInfo.mCommand; + + if (actor_command == 2 || actor_command == 3) { + mSubMtd = (profile_method_class*)-1; + } else if (actor_command == 6) { + if (talk_partner->mSubMtd != mSubMtd) { + *tmp0 = dComIfGp_getMesgFaceAnimeAttrInfo(); + *tmp1 = dComIfGp_getMesgAnimeAttrInfo(); + mSubMtd = talk_partner->mSubMtd; + } + + if (talk_partner_conv->isMouthCheck()) { + field_0xd98 &= 0xffffbfff; + } else { + field_0xd98 |= 0x4000; + } + + field_0xdb4 = 0x14; + } else { + if (field_0xd98 & 0x4000) { + field_0xd98 &= 0xffffbfff; + } + mSubMtd = (profile_method_class*)-1; + } + } else { + mSubMtd = (profile_method_class*)-1; + if (field_0xdb4) { + field_0xdb4 = 1; + } + } + + if (tmp3 == 0) { + cLib_calcTimer(&field_0xdb4); + } + + return field_0xdb4; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int param_3) { +asm int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int param_3) { nofralloc #include "asm/d/a/d_a_npc/ctrlMsgAnm__8daNpcT_cFPiPiP10fopAc_ac_ci.s" } #pragma pop +#endif /* 8014951C-8014997C 143E5C 0460+00 1/0 1/0 59/0 .text ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel */ @@ -2333,14 +2542,18 @@ asm void daNpcT_c::getActorDistance(fopAc_ac_c* param_0, int param_1, int param_ #pragma pop /* 8014BBF0-8014BC78 146530 0088+00 0/0 1/1 180/180 .text initTalk__8daNpcT_cFiPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/d/a/d_a_npc/initTalk__8daNpcT_cFiPP10fopAc_ac_c.s" +int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) { + mFlow.init(this,param_0,0,param_1); + field_0xdc8 = fopAcM_searchPlayerAngleY(this); + if (checkStep()) { + mStepNo = 0; + } + + f32 tmp = FLOAT_LABEL(lit_4116); + mSpeedF = tmp; + mSpeed.set(tmp,tmp,tmp); + return 1; } -#pragma pop /* 8014BC78-8014BE2C 1465B8 01B4+00 0/0 0/0 169/169 .text talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci */ @@ -2378,14 +2591,42 @@ asm void daNpcT_c::getEvtAreaTagP(int param_0, int param_1) { #pragma pop /* 8014BFB0-8014C030 1468F0 0080+00 0/0 0/0 5/5 .text getShopItemTagP__8daNpcT_cFv */ +#ifdef NONMATCHING +// few instructions off + regalloc +u32 daNpcT_c::getShopItemTagP() { + mFindCount = 0; + mSrchName = 0x127; + fpcM_Search((fopAcIt_JudgeFunc)srchActor,(void*)this); + + int i = 0; + + for (;;) { + + if (0 >= mFindCount) { + break; + } + + u16 param = fopAcM_GetParam(mFindActorPtrs[i]); + + if (param == 0xf0000000) { + return param; + } + + i++; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcT_c::getShopItemTagP() { +asm u32 daNpcT_c::getShopItemTagP() { nofralloc #include "asm/d/a/d_a_npc/getShopItemTagP__8daNpcT_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80453480-80453484 001A80 0004+00 1/1 0/0 0/0 .sdata2 id$7388 */ @@ -2418,6 +2659,49 @@ SECTION_SDATA2 static f32 lit_7551 = 448.0f; /* 8014C200-8014C384 146B40 0184+00 0/0 0/0 2/2 .text * daNpcT_chkActorInScreen__FP10fopAc_ac_cfffffffi */ +#ifdef NONMATCHING +bool daNpcT_chkActorInScreen(fopAc_ac_c* i_ActorP, f32 param_1, f32 param_2, f32 param_3, + f32 param_4, f32 param_5, f32 param_6, f32 param_7, int param_8) { + bool ret = false; + cXyz pos_array[4]; + cXyz pos1; + cXyz pos2; + cXyz pos3; + cXyz pos4; + + if (fopAcM_GetMtx(i_ActorP)) { + ret = false; + } else { + pos_array[0].set(param_1,param_4,param_2); + pos_array[1].set(param_3,param_4,param_2); + pos_array[2].set(param_1,param_4,param_6); + pos_array[3].set(param_3,param_4,param_5); + + pos1.set(param_1,param_2,param_3); + pos2.set(param_3,param_1,param_2); + pos3.set(param_1,param_2,param_6); + pos4.set(param_3,param_1,param_6); + + mDoMtx_stack_c::copy(fopAcM_GetMtx(i_ActorP)); + mDoMtx_stack_c::transM(FLOAT_LABEL(lit_4116),param_6,FLOAT_LABEL(lit_4116)); + PSMTXMultVec((MtxP)&mDoMtx_stack_c::now,&pos_array[0],&pos_array[0]); + + if (param_8) { + for (int i = 0; i < 8; i++) { + mDoLib_project(&pos_array[i],&pos4); + if (true) { + ret = false; + } + } + ret = true; + } else { + ret = false; + } + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2427,8 +2711,36 @@ asm void daNpcT_chkActorInScreen(fopAc_ac_c* param_0, f32 param_1, f32 param_2, #include "asm/d/a/d_a_npc/daNpcT_chkActorInScreen__FP10fopAc_ac_cfffffffi.s" } #pragma pop +#endif /* 8014C384-8014C500 146CC4 017C+00 1/1 0/0 3/3 .text daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi */ +#ifdef NONMATCHING +bool daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4) { + bool ret; + cXyz l_pos; + + mDoMtx_stack_c::YrotS(-param_3); + mDoMtx_stack_c::transM(-param_1.x,-param_1.y,-param_1.z); + mDoMtx_stack_c::multVec(¶m_0,&l_pos); + + f32 l_float1 = fabsf(param_2.x); + f32 l_float2 = fabsf(param_2.z); + f32 l_float3 = fabsf(l_pos.x); + f32 l_float4 = fabsf(l_pos.z); + + + l_pos = param_0 - param_1; + if (param_4 != 0 || (FLOAT_LABEL(lit_4116) <= l_pos.y && l_pos.y > param_2.y)) { + ret = false; + } else { + f32 tmp1 = (l_float3 * l_float3) / (l_float1 * l_float1); + f32 tmp2 = (l_float4 * l_float4) / (l_float2 * l_float2); + tmp1 + tmp2 <= FLOAT_LABEL(lit_4140) ? ret = true : ret = false; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2437,6 +2749,7 @@ asm void daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 par #include "asm/d/a/d_a_npc/daNpcT_chkPointInArea__F4cXyz4cXyz4cXyzsi.s" } #pragma pop +#endif /* 8014C500-8014C5E0 146E40 00E0+00 0/0 0/0 29/29 .text * daNpcT_getPlayerInfoFromPlayerList__FiiP4cXyzP5csXyz */ @@ -2451,14 +2764,30 @@ asm void daNpcT_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz* para #pragma pop /* 8014C5E0-8014C700 146F20 0120+00 0/0 0/0 5/5 .text daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_chkDoBtnIsSpeak(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c.s" +bool daNpcT_chkDoBtnIsSpeak(fopAc_ac_c* i_ActorP) { + bool ret = 0; + + if (i_dComIfGp_getDoStatus() == 0x1c) { + if (daPy_getPlayerActorClass()->checkPriActorOwn(i_ActorP)) { + for (int i = 0; i < dComIfGp_getAttention().GetActionCount(); i++) { + if (dComIfGp_getAttention().ActionTarget(i) == i_ActorP && + dComIfGp_getAttention().getActionBtnB() && + dComIfGp_getAttention().getActionBtnB()->mType == 3) { + ret = 1; + }; + } + + for (int i = 0; i < dComIfGp_getAttention().GetLockonCount(); i++) { + if (dComIfGp_getAttention().LockonTarget(i) == i_ActorP && + dComIfGp_getAttention().getActionBtnB() && + dComIfGp_getAttention().getActionBtnB()->mType == 1) { + ret = 1; + }; + } + } + } + return ret; } -#pragma pop /* 8014C700-8014CA18 147040 0318+00 0/0 0/0 2/2 .text * daNpcT_judgeRace__FP5dPathPP10fopAc_ac_cP16daNpcT_pntData_ciPi */ @@ -2473,74 +2802,39 @@ asm void daNpcT_judgeRace(dPath* param_0, fopAc_ac_c** param_1, daNpcT_pntData_c #pragma pop /* 8014CA18-8014CA2C 147358 0014+00 0/0 0/0 61/61 .text daNpcT_getDistTableIdx__Fii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_getDistTableIdx(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_getDistTableIdx__Fii.s" +u8 daNpcT_getDistTableIdx(int param_0, int param_1) { + return param_0 + param_1 * 0x14 + 0x5e; } -#pragma pop /* 8014CA2C-8014CA6C 14736C 0040+00 0/0 0/0 25/25 .text daNpcT_onEvtBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_onEvtBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_onEvtBit__FUl.s" +void daNpcT_onEvtBit(u32 i_idx) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } -#pragma pop /* 8014CA6C-8014CAAC 1473AC 0040+00 0/0 0/0 1/1 .text daNpcT_offEvtBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_offEvtBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_offEvtBit__FUl.s" +void daNpcT_offEvtBit(u32 i_idx) { + dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } -#pragma pop /* 8014CAAC-8014CAEC 1473EC 0040+00 0/0 0/0 155/155 .text daNpcT_chkEvtBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_chkEvtBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_chkEvtBit__FUl.s" +void daNpcT_chkEvtBit(u32 i_idx) { + i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } -#pragma pop /* 8014CAEC-8014CB2C 14742C 0040+00 0/0 0/0 26/26 .text daNpcT_onTmpBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_onTmpBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_onTmpBit__FUl.s" +void daNpcT_onTmpBit(u32 i_idx) { + dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } -#pragma pop /* 8014CB2C-8014CB6C 14746C 0040+00 0/0 0/0 78/78 .text daNpcT_offTmpBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_offTmpBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_offTmpBit__FUl.s" +void daNpcT_offTmpBit(u32 i_idx) { + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } -#pragma pop /* 8014CB6C-8014CBAC 1474AC 0040+00 0/0 0/0 38/38 .text daNpcT_chkTmpBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcT_chkTmpBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcT_chkTmpBit__FUl.s" +void daNpcT_chkTmpBit(u32 i_idx) { + dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } -#pragma pop /* 8014CBAC-8014CBF4 1474EC 0048+00 1/0 0/0 0/0 .text __dt__16daNpcT_Hermite_cFv */ #pragma push @@ -2870,6 +3164,28 @@ REGISTER_CTORS(0x8014D3D8, __sinit_d_a_npc_cpp); #pragma pop /* 8014D538-8014D584 147E78 004C+00 2/2 0/0 0/0 .text daBaseNpc_addIdx__FiiPUsi */ +#ifdef NONMATCHING +static int daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int param_3) { + int tmp; + int ret; + + ret = 0; + tmp = *param_2 - param_0; + + if (0 >= tmp) { + if (param_3 != 0) { + tmp += param_1 * (tmp / param_1 + 1); + } + else { + tmp = 0; + ret = 1; + } + } + + *param_2 = (u16)tmp; + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2878,8 +3194,31 @@ static asm void daBaseNpc_addIdx(int param_0, int param_1, u16* param_2, int par #include "asm/d/a/d_a_npc/daBaseNpc_addIdx__FiiPUsi.s" } #pragma pop +#endif /* 8014D584-8014D5C4 147EC4 0040+00 2/2 0/0 0/0 .text daBaseNpc_subIdx__FiiPUsi */ +#ifdef NONMATCHING +static int daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int param_3) { + int tmp; + int ret; + + ret = 0; + tmp = *param_2 - param_0; + + if (0 >= tmp) { + if (param_3 != 0) { + tmp += param_1 * (tmp / param_1 + 1); + } + else { + tmp = 0; + ret = 1; + } + } + + *param_2 = (u16)tmp; + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2888,26 +3227,25 @@ static asm void daBaseNpc_subIdx(int param_0, int param_1, u16* param_2, int par #include "asm/d/a/d_a_npc/daBaseNpc_subIdx__FiiPUsi.s" } #pragma pop +#endif /* 8014D5C4-8014D620 147F04 005C+00 2/2 0/0 0/0 .text daBaseNpc_incIdx__FiPUsii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBaseNpc_incIdx(int param_0, u16* param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daBaseNpc_incIdx__FiPUsii.s" +static void daBaseNpc_incIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection) { + if (i_pathDirection < 0) { + daBaseNpc_subIdx(1,i_pathNo,i_pathIdx,i_pathClosed); + } else { + daBaseNpc_addIdx(1,i_pathNo,i_pathIdx,i_pathClosed);; + } } -#pragma pop /* 8014D620-8014D67C 147F60 005C+00 1/1 0/0 0/0 .text daBaseNpc_decIdx__FiPUsii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daBaseNpc_decIdx(int param_0, u16* param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daBaseNpc_decIdx__FiPUsii.s" +static void daBaseNpc_decIdx(int i_pathNo, u16* i_pathIdx, int i_pathClosed, int i_pathDirection) { + if (i_pathDirection < 0) { + daBaseNpc_addIdx(1,i_pathNo,i_pathIdx,i_pathClosed); + } else { + daBaseNpc_subIdx(1,i_pathNo,i_pathIdx,i_pathClosed);; + } } -#pragma pop /* 8014D67C-8014D804 147FBC 0188+00 1/1 0/0 0/0 .text daNpcBase_BBasis__FiiiPi */ #pragma push @@ -2930,6 +3268,11 @@ asm daBaseNpc_acMngr_c::daBaseNpc_acMngr_c() { #pragma pop /* 8014D81C-8014D838 14815C 001C+00 0/0 0/0 9/9 .text entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c */ +#ifndef NONMATCHING +void daBaseNpc_acMngr_c::entry(fopAc_ac_c* i_ActorP) { + mActorId = fopAcM_GetID(i_ActorP); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2938,16 +3281,31 @@ asm void daBaseNpc_acMngr_c::entry(fopAc_ac_c* param_0) { #include "asm/d/a/d_a_npc/entry__18daBaseNpc_acMngr_cFP10fopAc_ac_c.s" } #pragma pop +#endif /* 8014D838-8014D884 148178 004C+00 0/0 0/0 6/6 .text getActor__18daBaseNpc_acMngr_cFv */ +#ifdef NONMATCHING +// finish +fopAc_ac_c* daBaseNpc_acMngr_c::getActor() { + fopAc_ac_c* ret[4]; + ret[0] = 0; + u32 searched_actor_id = fopAcM_SearchByID(mActorId,ret); + if (!searched_actor_id || ret[0]) { + ret[0] = 0; + } + + return ret[0]; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daBaseNpc_acMngr_c::getActor() { +asm fopAc_ac_c* daBaseNpc_acMngr_c::getActor() { nofralloc #include "asm/d/a/d_a_npc/getActor__18daBaseNpc_acMngr_cFv.s" } #pragma pop +#endif /* 8014D884-8014D998 1481C4 0114+00 1/0 0/0 0/0 .text calc__18daBaseNpc_matAnm_cCFP11J3DMaterial */ @@ -2971,36 +3329,60 @@ asm daBaseNpc_path_c::daBaseNpc_path_c() { #pragma pop /* 8014D9A8-8014D9BC 1482E8 0014+00 1/1 0/0 4/4 .text isPath__16daBaseNpc_path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_path_c::isPath() { - nofralloc -#include "asm/d/a/d_a_npc/isPath__16daBaseNpc_path_cFv.s" +BOOL daBaseNpc_path_c::isPath() { + return mpRoomPath != 0; } -#pragma pop /* 8014D9BC-8014DA48 1482FC 008C+00 0/0 0/0 1/1 .text setPathInfo__16daBaseNpc_path_cFUcScSc */ +#ifdef NONMATCHING + +typedef dStage_dPnt_c dPnt; +static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, + int param_4); + +int daBaseNpc_path_c::setPathInfo(u8 i_pathIdx, s8 i_roomNo, s8 i_direction) { + dPath* room_path; + + mRoomPath = 0; + mIdx = 0; + mDirection = i_direction; + + if (i_pathIdx != 0xFF) { + mRoomPath = dPath_GetRoomPath(i_pathIdx,i_roomNo); + room_path = mRoomPath; + if (!room_path) { + return 0; + } + + field_0xa0e = daBaseNpc_putNurbs(room_path->m_points,room_path->m_num,0xA0,field_0xc,room_path->m_closed & 1); + } + return isPath(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daBaseNpc_path_c::setPathInfo(u8 param_0, s8 param_1, s8 param_2) { +asm int daBaseNpc_path_c::setPathInfo(u8 param_0, s8 param_1, s8 param_2) { nofralloc #include "asm/d/a/d_a_npc/setPathInfo__16daBaseNpc_path_cFUcScSc.s" } #pragma pop +#endif /* 8014DA48-8014DA64 148388 001C+00 0/0 0/0 1/1 .text reverseDir__16daBaseNpc_path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_path_c::reverseDir() { - nofralloc -#include "asm/d/a/d_a_npc/reverseDir__16daBaseNpc_path_cFv.s" +void daBaseNpc_path_c::reverseDir() { + s8 tmp_direction; + mDirection > 0 ? tmp_direction = -1 : tmp_direction = 1; + mDirection = tmp_direction; } -#pragma pop /* 8014DA64-8014DAC4 1483A4 0060+00 0/0 0/0 3/3 .text chkPnt__16daBaseNpc_path_cF4cXyz */ +#ifdef NONMATCHING +void daBaseNpc_path_c::chkPnt(cXyz i_pos) { + int curr_path = mRoomPath; + daBaseNpc_chkPnt(i_pos,(dPnt*)curr_path,mIdx,curr_path,(curr_path+5)&1,(int)mDirection); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3009,8 +3391,22 @@ asm void daBaseNpc_path_c::chkPnt(cXyz param_0) { #include "asm/d/a/d_a_npc/chkPnt__16daBaseNpc_path_cF4cXyz.s" } #pragma pop +#endif /* 8014DAC4-8014DB04 148404 0040+00 0/0 0/0 3/3 .text setNextPnt__16daBaseNpc_path_cFv */ +#ifdef NONMATCHING +// some instructions switched around +void daBaseNpc_path_c::setNextPnt() { + + u16 arg1 = mpRoomPath->m_num; + u16* arg2 = &mIdx; + u8 arg3 = mpRoomPath->m_closed & 1; + s8 arg4 = mDirection; + + + daBaseNpc_incIdx(arg1,arg2,arg3,arg4); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3019,23 +3415,29 @@ asm void daBaseNpc_path_c::setNextPnt() { #include "asm/d/a/d_a_npc/setNextPnt__16daBaseNpc_path_cFv.s" } #pragma pop +#endif /* 8014DB04-8014DB0C 148444 0008+00 0/0 0/0 3/3 .text getIdx__16daBaseNpc_path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_path_c::getIdx() { - nofralloc -#include "asm/d/a/d_a_npc/getIdx__16daBaseNpc_path_cFv.s" +u16 daBaseNpc_path_c::getIdx() { + return mIdx; } -#pragma pop /* 8014DB0C-8014DB14 -00001 0008+00 0/0 0/0 0/0 .text setIdx__16daBaseNpc_path_cFUs */ -void daBaseNpc_path_c::setIdx(u16 param_0) { - *(u16*)(((u8*)this) + 2576) /* this->field_0xa10 */ = (u16)(param_0); +void daBaseNpc_path_c::setIdx(u16 i_idx) { + mIdx = i_idx; } /* 8014DB14-8014DB40 148454 002C+00 0/0 0/0 4/4 .text getPntPos__16daBaseNpc_path_cFUs */ +#ifdef NONMATCHING +void daBaseNpc_path_c::getPntPos(u16 param_0) { + dStage_dPnt_c* pnt = mpRoomPath->m_points; // get the points on the path + dStage_dPnt_c pnt2 = pnt[param_0*16]; // probably a cast (& 0xFFFF0); + + field_0x0 = pnt2.m_position.x; + mpRoomPath = 0; + field_0x8 = pnt2.m_position.z; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3044,16 +3446,36 @@ asm void daBaseNpc_path_c::getPntPos(u16 param_0) { #include "asm/d/a/d_a_npc/getPntPos__16daBaseNpc_path_cFUs.s" } #pragma pop +#endif /* 8014DB40-8014DBB4 148480 0074+00 1/1 0/0 0/0 .text limitter__18daBaseNpc_lookat_cFsPsss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_lookat_c::limitter(s16 param_0, s16* param_1, s16 param_2, s16 param_3) { - nofralloc -#include "asm/d/a/d_a_npc/limitter__18daBaseNpc_lookat_cFsPsss.s" +void daBaseNpc_lookat_c::limitter(s16 param_1, s16* param_2, s16 param_3, s16 param_4) { + int tmp = param_1; + int tmp2 = tmp + *param_2; + + + if (param_3 < tmp2) { + if (tmp < param_3) { + *param_2 -= tmp2 - param_3; + } + else { + *param_2 = 0; + } + } + + tmp += *param_2; + + if (tmp >= (s16)param_4) { + return; + } + + if (param_4 < param_1) { + *param_2 -= (int)(tmp - param_4); + return; + } + + *param_2 = 0; } -#pragma pop /* ############################################################################################## */ /* 80453490-80453494 001A90 0004+00 2/2 0/0 0/0 .sdata2 @8404 */ @@ -3074,48 +3496,53 @@ asm void daBaseNpc_lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], s16 pa #pragma pop /* 8014E634-8014E658 148F74 0024+00 0/0 0/0 1/1 .text setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_lookat_c::setMaxJntLmt(csXyz param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi.s" + */ +void daBaseNpc_lookat_c::setMaxJntLmt(csXyz i_pos, int i_modifier) { + mMaxJntLmt[i_modifier].x = i_pos.x; + mMaxJntLmt[i_modifier].y = i_pos.y; + mMaxJntLmt[i_modifier].z = i_pos.z; } -#pragma pop /* 8014E658-8014E67C 148F98 0024+00 0/0 0/0 1/1 .text setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_lookat_c::setMinJntLmt(csXyz param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi.s" +*/ +void daBaseNpc_lookat_c::setMinJntLmt(csXyz i_pos, int i_modifier) { + mMinJntLmt[i_modifier].x = i_pos.x; + mMinJntLmt[i_modifier].y = i_pos.y; + mMinJntLmt[i_modifier].z = i_pos.z; } -#pragma pop /* 8014E67C-8014E6A0 148FBC 0024+00 0/0 0/0 1/1 .text setJntPos__18daBaseNpc_lookat_cF4cXyzi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_lookat_c::setJntPos(cXyz param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/setJntPos__18daBaseNpc_lookat_cF4cXyzi.s" +void daBaseNpc_lookat_c::setJntPos(cXyz i_pos, int i_modifier) { + mJntPos[i_modifier].x = i_pos.x; + mJntPos[i_modifier].y = i_pos.y; + mJntPos[i_modifier].z = i_pos.z; } -#pragma pop /* 8014E6A0-8014E6AC 148FE0 000C+00 0/0 0/0 1/1 .text setAttnPos__18daBaseNpc_lookat_cFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_lookat_c::setAttnPos(cXyz* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/setAttnPos__18daBaseNpc_lookat_cFP4cXyz.s" +int daBaseNpc_lookat_c::setAttnPos(cXyz* i_pos) { + mpAttnPos = i_pos; + return 1; } -#pragma pop /* 8014E6AC-8014E6C8 148FEC 001C+00 0/0 0/0 1/1 .text getRot__18daBaseNpc_lookat_cFi */ +#ifdef NONMATCHING + +// 2 instructions off + +struct someType { + u8 unk[0x7c]; + int someMember; + u16 someMember2; +}; + +void daBaseNpc_lookat_c::getRot(int param_0) { + someType* tmp = (someType*)(this + param_0); + + field_0x00 = tmp->someMember; + mMaxJntLmt[0].x = tmp->someMember2; + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3124,6 +3551,7 @@ asm void daBaseNpc_lookat_c::getRot(int param_0) { #include "asm/d/a/d_a_npc/getRot__18daBaseNpc_lookat_cFi.s" } #pragma pop +#endif /* 8014E6C8-8014E89C 149008 01D4+00 1/1 0/0 0/0 .text __ct__11daBaseNpc_cFv */ #pragma push @@ -3171,14 +3599,9 @@ bool daBaseNpc_c::getResName() { } /* 8014EE44-8014EE80 149784 003C+00 0/0 0/0 2/2 .text getTrnsfrmKeyAnmP__11daBaseNpc_cFPci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::getTrnsfrmKeyAnmP(char* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__11daBaseNpc_cFPci.s" +J3DAnmTransform* daBaseNpc_c::getTrnsfrmKeyAnmP(char* param_0, int param_1) { + return (J3DAnmTransform*)dComIfG_getObjectRes(param_0,param_1); } -#pragma pop /* 8014EE80-8014EEE4 1497C0 0064+00 0/0 0/0 1/1 .text * setMcaMorfAnm__11daBaseNpc_cFP18J3DAnmTransformKeyffiii */ @@ -3194,48 +3617,43 @@ asm void daBaseNpc_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f3 /* 8014EEE4-8014EF28 149824 0044+00 0/0 0/0 1/1 .text * setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::setBckAnm(J3DAnmTransform* param_0, f32 param_1, int param_2, int param_3, +void daBaseNpc_c::setBckAnm(J3DAnmTransform* param_0, f32 param_1, int param_2, int param_3, int param_4, bool param_5) { - nofralloc -#include "asm/d/a/d_a_npc/setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib.s" + mBckAnm.init(param_0,1,param_2,param_1,param_3,param_4,param_5); } -#pragma pop /* 8014EF28-8014EF64 149868 003C+00 0/0 0/0 1/1 .text getTexPtrnAnmP__11daBaseNpc_cFPci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::getTexPtrnAnmP(char* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getTexPtrnAnmP__11daBaseNpc_cFPci.s" +J3DAnmTransform* daBaseNpc_c::getTexPtrnAnmP(char* param_0, int param_1) { + return (J3DAnmTransform*)dComIfG_getObjectRes(param_0,param_1); } -#pragma pop /* 8014EF64-8014EFA4 1498A4 0040+00 0/0 0/0 1/1 .text * setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi.s" + void daBaseNpc_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2, + int param_3) { + mBtpAnm.init(¶m_1->getMaterialTable(), param_0, 1, param_3, param_2, 0, -1); } -#pragma pop /* 8014EFA4-8014EFF0 1498E4 004C+00 2/0 0/0 2/0 .text attnSttsOn__11daBaseNpc_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::attnSttsOn(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/attnSttsOn__11daBaseNpc_cFii.s" +void daBaseNpc_c::attnSttsOn(int param_0, int param_1) { + u32 tmp; + + if (dComIfGp_getLinkPlayer()->i_checkWolf()) { + if (param_1 != 0) { + tmp = 10; + } + else { + tmp = 1; + } + } else if (param_0 != 0) { + tmp = 10; + } else { + tmp = 1; + } + + mAttentionInfo.mFlags = tmp; } -#pragma pop /* 8014EFF0-8014EFF4 149930 0004+00 2/0 0/0 1/0 .text setParam__11daBaseNpc_cFv */ void daBaseNpc_c::setParam() { @@ -3243,39 +3661,33 @@ void daBaseNpc_c::setParam() { } /* 8014EFF4-8014F09C 149934 00A8+00 0/0 0/0 1/1 .text orderEvent__11daBaseNpc_cFiPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::orderEvent(int param_0, char* param_1) { - nofralloc -#include "asm/d/a/d_a_npc/orderEvent__11daBaseNpc_cFiPc.s" +void daBaseNpc_c::orderEvent(int param_0, char* i_evtName) { + if (i_evtName) { + mEvtIdx = i_dComIfGp_getEventManager().getEventIdx(this,i_evtName,-1); + fopAcM_orderOtherEventId(this, mEvtIdx, -1, -1, 0, 1); + } else { + if ((mUnk >= 0 && mAttentionInfo.mFlags == 10) && (mEvtInfo.mCondition |= 1,param_0 != 0)) { + fopAcM_orderSpeakEvent(this,0,0); + } + } } -#pragma pop - /* 8014F09C-8014F0A0 1499DC 0004+00 2/0 0/0 1/0 .text mainProc__11daBaseNpc_cFv */ void daBaseNpc_c::mainProc() { /* empty function */ } /* 8014F0A0-8014F0FC 1499E0 005C+00 1/1 0/0 2/2 .text setEnvTevColor__11daBaseNpc_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::setEnvTevColor() { - nofralloc -#include "asm/d/a/d_a_npc/setEnvTevColor__11daBaseNpc_cFv.s" +void daBaseNpc_c::setEnvTevColor() { + mTevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(mBgSPolyInfo); + mTevStr.mRoomNo = dComIfG_Bgsp().GetRoomId(mBgSPolyInfo); } -#pragma pop /* 8014F0FC-8014F140 149A3C 0044+00 1/1 0/0 2/2 .text setRoomNo__11daBaseNpc_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::setRoomNo() { - nofralloc -#include "asm/d/a/d_a_npc/setRoomNo__11daBaseNpc_cFv.s" +void daBaseNpc_c::setRoomNo() { + s32 room_id = dComIfG_Bgsp().GetRoomId(mBgSPolyInfo); + current.mRoomNo = room_id; + mRoomId = room_id; } -#pragma pop /* 8014F140-8014F148 149A80 0008+00 2/0 0/0 2/0 .text btkCtrl__11daBaseNpc_cFv */ bool daBaseNpc_c::btkCtrl() { @@ -3283,25 +3695,68 @@ bool daBaseNpc_c::btkCtrl() { } /* 8014F148-8014F1C8 149A88 0080+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFf */ +#ifdef NONMATCHING +int daBaseNpc_c::checkEndAnm(f32 param_0) { + u32 state; + u8 play_mode = mpMorf->getPlayMode(); + + if (play_mode != 2) { + state = mpMorf->isLoop(); + } else if (play_mode < 2) { + state = 0; + + if (!mpMorf->isStop() && param_0 != mpMorf->getPlaySpeed()) { + state = 1; + } + + } else { + state = 0; + } + + return state; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daBaseNpc_c::checkEndAnm(f32 param_0) { +asm int daBaseNpc_c::checkEndAnm(f32 param_0) { nofralloc #include "asm/d/a/d_a_npc/checkEndAnm__11daBaseNpc_cFf.s" } #pragma pop +#endif /* 8014F1C8-8014F228 149B08 0060+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFP12J3DFrameCtrl */ +#ifdef NONMATCHING +int daBaseNpc_c::checkEndAnm(J3DFrameCtrl* param_0) { + int tmp; + int tmp_attr = param_0->getAttribute(); + + if (tmp_attr == 2) { + tmp_attr = param_0->checkState(2); + } else if (2 > tmp_attr) { + tmp = 1; + if (((param_0->checkState(1) == 0) && (param_0->getRate() != 0.0f))) { + tmp = 0; + } + } else { + tmp = 0; + } + + return tmp; + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daBaseNpc_c::checkEndAnm(J3DFrameCtrl* param_0) { +asm int daBaseNpc_c::checkEndAnm(J3DFrameCtrl* param_0) { nofralloc #include "asm/d/a/d_a_npc/checkEndAnm__11daBaseNpc_cFP12J3DFrameCtrl.s" } #pragma pop +#endif /* 8014F228-8014F38C 149B68 0164+00 2/0 0/0 2/0 .text allAnmPlay__11daBaseNpc_cFv */ #pragma push @@ -3320,14 +3775,43 @@ void daBaseNpc_c::adjustShapeAngle() { } /* 8014F390-8014F4A0 149CD0 0110+00 2/0 0/0 1/0 .text setMtx__11daBaseNpc_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daBaseNpc_c::setMtx(int param_0) { - nofralloc -#include "asm/d/a/d_a_npc/setMtx__11daBaseNpc_cFi.s" +void daBaseNpc_c::setMtx(int param_0) { + J3DModel* model = mMcaMorfAnm[0]->getModel();; + J3DModelData* modelData = model->getModelData(); + + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(field_0x91a); + mDoMtx_stack_c::scaleM(mScale); + + model->i_setBaseTRMtx(mDoMtx_stack_c::get()); + + if (param_0) { + model->setUserArea((u32)this); + } else { + model->setUserArea(0); + } + + if ((field_0x840 & 0x10) && field_0x83c) { + u16 tmp = 0; + + while (field_0x83c[tmp] != 0xffff) { + mBckAnm.entryJoint(modelData,field_0x83c[tmp],mBckAnm.getFrame()); + tmp++; + } + + mMcaMorfAnm[0]->modelCalc(); + + u16 tmp2 = 0; + + while (field_0x83c[tmp2] != 0xffff) { + mBckAnm.removeJoint(modelData,field_0x83c[tmp2]); + tmp2++; + } + + } else { + mMcaMorfAnm[0]->modelCalc(); + } } -#pragma pop /* 8014F4A0-8014F4A4 149DE0 0004+00 2/0 0/0 1/0 .text setCollisions__11daBaseNpc_cFv */ void daBaseNpc_c::setCollisions() { @@ -3351,24 +3835,15 @@ bool daBaseNpc_c::dbgDraw() { /* 8014F4B4-8014F4F8 149DF4 0044+00 0/0 0/0 1/1 .text __ct__23daBaseNpc_moveBgActor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() { - nofralloc -#include "asm/d/a/d_a_npc/__ct__23daBaseNpc_moveBgActor_cFv.s" +// this probably has a more correct solution +daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() { + setVtable(&__vt__23daBaseNpc_moveBgActor_c); + field_0xa14 = 0; } -#pragma pop - /* 8014F4F8-8014F518 149E38 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void CheckCreateHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/CheckCreateHeap__FP10fopAc_ac_c.s" +static void CheckCreateHeap(fopAc_ac_c* i_bgActor) { + ((daBaseNpc_moveBgActor_c*)i_bgActor)->MoveBGCreateHeap(); } -#pragma pop /* ############################################################################################## */ /* 80450FE0-80450FE4 0004E0 0004+00 2/2 0/0 0/0 .sbss m_name__23daBaseNpc_moveBgActor_c @@ -3446,7 +3921,7 @@ static asm void daBaseNpc_PntVsLineSegmentLengthSquare2D(f32 param_0, f32 param_ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, +static asm int daBaseNpc_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4) { nofralloc #include "asm/d/a/d_a_npc/daBaseNpc_putNurbs__FP4dPntiiP4dPnti.s" @@ -3562,103 +4037,146 @@ asm daBaseNpc_acMngr_c::~daBaseNpc_acMngr_c() { #pragma pop /* 8015056C-801505AC 14AEAC 0040+00 2/2 0/0 0/0 .text daNpcF_addIdx__FiiRUsi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcF_addIdx(int param_0, int param_1, u16& param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_addIdx__FiiRUsi.s" +// may be able to simplify this more +static int daNpcF_addIdx(int param_0, int param_1, u16& param_2, int param_3) { + int tmp = 0; + int tmp2 = param_2; + tmp2 += param_0; + + if (param_1 <= tmp2) { + if (param_3) { + int tmp3 = tmp2 / param_1; + tmp2 -= (tmp3 * param_1); + } else { + tmp2 = param_1 + -1; + tmp = 1; + } + } + + param_2 = tmp2; + return tmp; } -#pragma pop + + + /* 801505AC-801505F8 14AEEC 004C+00 2/2 0/0 0/0 .text daNpcF_subIdx__FiiRUsi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcF_subIdx(int param_0, int param_1, u16& param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_subIdx__FiiRUsi.s" +// may be able to simplify this more +static int daNpcF_subIdx(int param_0, int param_1, u16& param_2, int param_3) { + int tmp = 0; + int tmp2 = param_2; + tmp2 -= param_0; + + if (0 > tmp2) { + if (param_3) { + int tmp3 = tmp2 / param_1; + int tmp4 = tmp2 - tmp3 * param_1; + param_0 = param_1 + tmp4; + + int tmp5 = param_0 / param_1; + tmp2 = param_0 - (tmp5 * param_1); + + } else { + tmp2 = 0; + tmp = 1; + } + } + + param_2 = tmp2; + return tmp; } -#pragma pop /* 801505F8-80150654 14AF38 005C+00 4/4 0/0 0/0 .text daNpcF_incIdx__FiRUsii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcF_incIdx(int param_0, u16& param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_incIdx__FiRUsii.s" +static void daNpcF_incIdx(int param_0, u16& param_1, int param_2, int param_3) { + param_3 ? daNpcF_subIdx(1,param_0,param_1,param_2) : daNpcF_addIdx(1,param_0,param_1,param_2); } -#pragma pop /* 80150654-801506B0 14AF94 005C+00 3/3 0/0 0/0 .text daNpcF_decIdx__FiRUsii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daNpcF_decIdx(int param_0, u16& param_1, int param_2, int param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_decIdx__FiRUsii.s" +static void daNpcF_decIdx(int param_0, u16& param_1, int param_2, int param_3) { + param_3 ? daNpcF_addIdx(1,param_0,param_1,param_2) : daNpcF_subIdx(1,param_0,param_1,param_2); } -#pragma pop /* 801506B0-801506BC 14AFF0 000C+00 0/0 0/0 130/130 .text initialize__18daNpcF_ActorMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_ActorMngr_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__18daNpcF_ActorMngr_cFv.s" +void daNpcF_ActorMngr_c::initialize() { + mActorID = -1; } -#pragma pop /* 801506BC-801506D8 14AFFC 001C+00 1/1 0/0 130/130 .text * entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_ActorMngr_c::entry(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c.s" +void daNpcF_ActorMngr_c::entry(fopAc_ac_c* i_actor) { + u32 actor_id; + + i_actor ? actor_id = i_actor->mBase.mBsPcId : actor_id = -1; + mActorID = actor_id; } -#pragma pop /* 801506D8-801506E0 -00001 0008+00 0/0 0/0 0/0 .text entry__18daNpcF_ActorMngr_cFUi */ -void daNpcF_ActorMngr_c::entry(unsigned int param_0) { - *(u32*)this = (u32)(param_0); +void daNpcF_ActorMngr_c::entry(unsigned int i_actorID) { + mActorID = i_actorID; } /* 801506E0-801506EC 14B020 000C+00 2/2 0/0 55/55 .text remove__18daNpcF_ActorMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_ActorMngr_c::remove() { - nofralloc -#include "asm/d/a/d_a_npc/remove__18daNpcF_ActorMngr_cFv.s" +void daNpcF_ActorMngr_c::remove() { + mActorID = -1; } -#pragma pop /* 801506EC-80150738 14B02C 004C+00 1/1 0/0 135/135 .text getActorP__18daNpcF_ActorMngr_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_ActorMngr_c::getActorP() { - nofralloc -#include "asm/d/a/d_a_npc/getActorP__18daNpcF_ActorMngr_cFv.s" +fopAc_ac_c* daNpcF_ActorMngr_c::getActorP() { + fopAc_ac_c* actor = NULL; + + if (fopAcM_SearchByID(mActorID, &actor) == 1 && actor != NULL) { + return actor; + } + + return NULL; } -#pragma pop /* 80150738-8015075C 14B078 0024+00 0/0 0/0 48/48 .text initialize__15daNpcF_MatAnm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_MatAnm_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__15daNpcF_MatAnm_cFv.s" +void daNpcF_MatAnm_c::initialize() { + f32 value = FLOAT_LABEL(lit_4116); + + field_0xF4 = value; + field_0xF8 = value; + mTranslationX = value; + mTranslationY = value; + field_0x104 = 0; + field_0x105 = 0; } -#pragma pop /* 8015075C-80150870 14B09C 0114+00 1/0 0/0 0/0 .text calc__15daNpcF_MatAnm_cCFP11J3DMaterial */ +#ifdef NONMATCHING +// matches if you make daNpcF_MatAnm_c inherit J3DMaterialAnm +// But doing so causes the dol overall to not match +// something obvious here i'm missing +void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { + J3DMaterialAnm::calc(param_0); + + for (u32 i = 0; i < 8; i++) { + if (J3DMaterialAnm::getTexMtxAnm(i).getAnmFlag()) { + J3DTexMtxInfo* curr_mtx_info = ¶m_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo(); + + if (field_0x105 != 0) { + f32 tmp8 = 1.0f / (field_0x105 + 1); + f32 tmp9 = (1.0f - tmp8); + f32 tmp10 = field_0xF4 * (1.0f - tmp8); + + curr_mtx_info->mSRT.mTranslationX = tmp10 + curr_mtx_info->mSRT.mTranslationX * tmp8; + curr_mtx_info->mSRT.mTranslationY = field_0xF8 * tmp9 + curr_mtx_info->mSRT.mTranslationY * tmp8; + + } else { + if (field_0x104 != 0) { + curr_mtx_info->mSRT.mTranslationX = mTranslationX; + curr_mtx_info->mSRT.mTranslationY = mTranslationY; + } + } + + field_0xF4 = curr_mtx_info->mSRT.mTranslationX; + field_0xF8 = curr_mtx_info->mSRT.mTranslationY; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3667,8 +4185,31 @@ asm void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { #include "asm/d/a/d_a_npc/calc__15daNpcF_MatAnm_cCFP11J3DMaterial.s" } #pragma pop +#endif /* 80150870-80150900 14B1B0 0090+00 2/2 0/0 8/8 .text initialize__16daNpcF_SPCurve_cFP5dPathi */ +#ifdef NONMATCHING +static u16 daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param_3, int param_4); + +void daNpcF_SPCurve_c::initialize(dPath* i_path, int param_1) { + mNurbs = 0; + field_0x02 = 0; + field_0x04 = param_1; + mIsClosed = 0; + f32 lit = 1.0f; // correct to lit_4116 later + + for (int i = 0; i < 96; i++) { + mPoints[i].m_position.x = lit; + mPoints[i].m_position.y = lit; + mPoints[i].m_position.z = lit; + } + + if (i_path) { + mIsClosed = i_path->m_closed & 1; + mNurbs = daNpcF_putNurbs(i_path->m_points,i_path->m_num, 0x60, mPoints,mIsClosed); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3677,36 +4218,72 @@ asm void daNpcF_SPCurve_c::initialize(dPath* param_0, int param_1) { #include "asm/d/a/d_a_npc/initialize__16daNpcF_SPCurve_cFP5dPathi.s" } #pragma pop +#endif /* 80150900-8015095C 14B240 005C+00 0/0 0/0 20/20 .text initialize__13daNpcF_Path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_Path_c::initialize() { - nofralloc -#include "asm/d/a/d_a_npc/initialize__13daNpcF_Path_cFv.s" +void daNpcF_Path_c::initialize() { + mIdx = 0; + field_0x02 = 0; + mIsClosed = 0; + mpRoomPath = 0; + + mSPCurve.initialize(0,0); + + f32 value = FLOAT_LABEL(lit_4116); + field_0x08 = value; + field_0x0C = value; + field_0x10 = value; } -#pragma pop /* 8015095C-80150A24 14B29C 00C8+00 0/0 0/0 12/12 .text setPathInfo__13daNpcF_Path_cFUcScUc */ +#ifdef NONMATCHING +// bunch of regalloc issues. There is an inline function at the end that needs to be defined +int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { + mpRoomPath = 0; + field_0x00 = 0; + field_0x02 = param_2; + dStage_dPnt_c point; + + if (param_0 != 0xFF) { + mpRoomPath = dPath_GetRoomPath(param_0,param_1); + if (!mpRoomPath) { + return 0; + } + mSPCurve.initialize(mpRoomPath,field_0x02); + mIsClosed = mpRoomPath->m_closed & 1; + + int idx = field_0x00; + point = mpRoomPath->m_points[idx]; + + f32 x = point.m_position.x; + f32 y = point.m_position.y; + f32 z = point.m_position.z; + + mPosition.x = x; + mPosition.y = y; + mPosition.z = z; + } + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { +asm int daNpcF_Path_c::setPathInfo(u8 param_0, s8 param_1, u8 param_2) { nofralloc #include "asm/d/a/d_a_npc/setPathInfo__13daNpcF_Path_cFUcScUc.s" } #pragma pop +#endif /* 80150A24-80150A7C 14B364 0058+00 1/1 0/0 1/1 .text chkPassed__13daNpcF_Path_cF4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_Path_c::chkPassed(cXyz param_0) { - nofralloc -#include "asm/d/a/d_a_npc/chkPassed__13daNpcF_Path_cF4cXyz.s" +// forward decleration +int daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4, + int param_5); + +int daNpcF_Path_c::chkPassed(cXyz param_0) { + return daNpcF_chkPassed(param_0, (dPnt*)mpRoomPath->m_points,mIdx,mpRoomPath->m_num,(int)mIsClosed,(int)field_0x02); } -#pragma pop /* 80150A7C-80150BBC 14B3BC 0140+00 0/0 0/0 4/4 .text chkPassedDst__13daNpcF_Path_cF4cXyz */ @@ -3720,46 +4297,98 @@ asm void daNpcF_Path_c::chkPassedDst(cXyz param_0) { #pragma pop /* 80150BBC-80150BE0 14B4FC 0024+00 0/0 0/0 8/8 .text reverse__13daNpcF_Path_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_Path_c::reverse() { - nofralloc -#include "asm/d/a/d_a_npc/reverse__13daNpcF_Path_cFv.s" +void daNpcF_Path_c::reverse() { + if (field_0x02 == 1) { + field_0x02 = 0; + return; + } + field_0x02 = 1; + return; } -#pragma pop /* 80150BE0-80150C18 14B520 0038+00 2/2 0/0 6/6 .text setNextIdx__13daNpcF_Path_cFv */ +#ifdef NONMATCHING +// 1 instruction off, params being loaded out of order? +void daNpcF_Path_c::setNextIdx() { + int a = mpRoomPath->m_num; + int c = mpRoomPath->m_closed & 1; + u16& b = field_0x00; + u8 d = field_0x02; + + daNpcF_incIdx(a,b,c,d); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_Path_c::setNextIdx() { +asm int daNpcF_Path_c::setNextIdx() { nofralloc #include "asm/d/a/d_a_npc/setNextIdx__13daNpcF_Path_cFv.s" } #pragma pop +#endif /* 80150C18-80150C60 14B558 0048+00 0/0 0/0 9/9 .text getNextIdx__13daNpcF_Path_cFv */ +#ifdef NONMATCHING +// same problem as above +u16 daNpcF_Path_c::getNextIdx() { + u16 ret = mIdx; + + daNpcF_incIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_Path_c::getNextIdx() { +asm u16 daNpcF_Path_c::getNextIdx() { nofralloc #include "asm/d/a/d_a_npc/getNextIdx__13daNpcF_Path_cFv.s" } #pragma pop +#endif /* 80150C60-80150CA8 14B5A0 0048+00 0/0 0/0 3/3 .text getBeforeIdx__13daNpcF_Path_cFv */ +#ifdef NONMATCHING +// same problem as above +u16 daNpcF_Path_c::getBeforeIdx() { + u16 ret = mIdx; + + daNpcF_decIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_Path_c::getBeforeIdx() { +asm u16 daNpcF_Path_c::getBeforeIdx() { nofralloc #include "asm/d/a/d_a_npc/getBeforeIdx__13daNpcF_Path_cFv.s" } #pragma pop +#endif /* 80150CA8-80150D44 14B5E8 009C+00 0/0 0/0 1/1 .text getBeforePos__13daNpcF_Path_cFR4cXyz */ +#ifdef NONMATCHING +// many regalloc issues +void daNpcF_Path_c::getBeforePos(cXyz& param_0) { + u16 ret = mIdx; + dStage_dPnt_c* points; + + daNpcF_decIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + + int idx = mIdx; + points = mpRoomPath->m_points; + + f32 x = points[mIdx].m_position.x; + f32 y = points[mIdx].m_position.y; + f32 z = points[mIdx].m_position.z; + + mPosition.x = x; + mPosition.y = y; + mPosition.z = z; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3768,9 +4397,30 @@ asm void daNpcF_Path_c::getBeforePos(cXyz& param_0) { #include "asm/d/a/d_a_npc/getBeforePos__13daNpcF_Path_cFR4cXyz.s" } #pragma pop +#endif /* 80150D44-80150DE0 14B684 009C+00 0/0 0/0 1/1 .text getNextPos__13daNpcF_Path_cFR4cXyz */ +// many regalloc issues +#ifdef NONMATCHING +void daNpcF_Path_c::getNextPos(cXyz& param_0) { + u16 ret = mIdx; + dStage_dPnt_c* points; + + daNpcF_incIdx(mpRoomPath->m_num,ret,mpRoomPath->m_closed & 1, field_0x02); + + int idx = mIdx; + points = mpRoomPath->m_points; + + f32 x = points[mIdx].m_position.x; + f32 y = points[mIdx].m_position.y; + f32 z = points[mIdx].m_position.z; + + mPosition.x = x; + mPosition.y = y; + mPosition.z = z; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3779,16 +4429,48 @@ asm void daNpcF_Path_c::getNextPos(cXyz& param_0) { #include "asm/d/a/d_a_npc/getNextPos__13daNpcF_Path_cFR4cXyz.s" } #pragma pop +#endif /* 80150DE0-80150EB4 14B720 00D4+00 0/0 0/0 16/16 .text getDstPos__13daNpcF_Path_cF4cXyzR4cXyz */ +#ifdef NONMATCHING +int daNpcF_Path_c::getDstPos(cXyz i_pos1, cXyz& i_pos2) { + int ret = 0; + + while (true) { + int curr_index = getIdx(); + cXyz* curr_room_pos = &mpRoomPath->m_points[curr_index].m_position; + + i_pos2.x = curr_room_pos->x; + i_pos2.y = curr_room_pos->y; + i_pos2.z = curr_room_pos->x; + + cXyz local_pos; + local_pos.x = i_pos1.x; + local_pos.y = i_pos1.y; + local_pos.z = i_pos1.z; + + if (!chkPassed(local_pos)) { break; }; + + if (setNextIdx()) { + ret = 1; + } + + if (ret != 0) { + return ret; + } + } + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_Path_c::getDstPos(cXyz param_0, cXyz& param_1) { +asm int daNpcF_Path_c::getDstPos(cXyz param_0, cXyz& param_1) { nofralloc #include "asm/d/a/d_a_npc/getDstPos__13daNpcF_Path_cF4cXyzR4cXyz.s" } #pragma pop +#endif /* 80150EB4-80151038 14B7F4 0184+00 0/0 0/0 2/2 .text setNextIdxDst__13daNpcF_Path_cF4cXyz */ #pragma push @@ -3816,7 +4498,7 @@ asm void daNpcF_Lookat_c::initialize() { static u8 lit_9946[12]; /* 804257DC-804257E8 0524FC 000C+00 1/1 0/0 0/0 .bss vec$9945 */ -static u8 vec[12]; +static Vec vec; /* 80450FEC-80450FF0 0004EC 0004+00 1/1 0/0 0/0 .sbss None */ static u8 data_80450FEC[4]; @@ -3826,6 +4508,38 @@ SECTION_SDATA2 static f32 lit_9971 = 32.0f; /* 801510B8-80151350 14B9F8 0298+00 0/0 0/0 34/34 .text * setParam__15daNpcF_Lookat_cFffffffffffffsP4cXyz */ +#ifdef NONMATCHING +void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, + f32 param_5, f32 param_6, f32 param_7, f32 param_8, f32 param_9, + f32 param_10, f32 param_11, s16 param_12, cXyz* param_13) { + f32 l_float0 = param_0; + f32 l_float1 = param_1; + f32 l_float2 = param_2; + f32 l_float3 = param_3; + u32 tmp = 0; + + if (!data_80450FEC) { + f32 value = FLOAT_LABEL(lit_9971); + + // vec.set(0.0f,0.0f,value); + FLOAT_LABEL(data_80450FEC) = 1.0f; + } + + field_0x00[0] = *param_13; + field_0x4c[0].set((cM_deg2s(-param_1) - 0x4000),cM_deg2s(param_2),0); + field_0x64[0].set((cM_deg2s(-param_0) - 0x4000),cM_deg2s(param_3),0); + + field_0x00[1].set(param_12,param_12,param_12); + field_0x4c[1].set(cM_deg2s(-0x4000),param_8,param_8); + field_0x64[1].set(-0x4000,param_8,param_8); + + field_0x00[2].set(param_9,param_9,param_9); + field_0x4c[2].set(-0x4000,param_11,param_11); + field_0x64[2].set(-0x4000,param_11,param_11); + + +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3836,9 +4550,52 @@ asm void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 pa #include "asm/d/a/d_a_npc/setParam__15daNpcF_Lookat_cFffffffffffffsP4cXyz.s" } #pragma pop +#endif /* 80151350-801515D4 14BC90 0284+00 0/0 0/0 34/34 .text * calc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fPP5csXyziii */ +#ifdef NONMATCHING +void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], csXyz** param_2, int param_3, + int param_4, int param_5) { + int tmp = 0; + int tmp2; + + if (field_0x30) { + initCalc(param_0,param_1,(cXyz*)param_2,*param_2,*param_1,(cXyz&)param_2,param_5); + + for (int i = 2; i >= -1; i--) { + update((cXyz*)param_2,*param_2,(float*)param_4); + if (0 <= i) { + calcMoveDisAngle(i,(cXyz*)param_2,*param_2,(cXyz&)param_2,param_4,param_5); + } + } + setRotAngle(); + + } else { + clrRotAngle(); + } + + tmp2 = 1; + + for (int i = 2; i >= -1; i-- ) { + if (param_3) { + cLib_addCalc2((float*)param_2,(float)field_0x7c[0].y,0.25f,(0x800/ (float)tmp2)); + cLib_addCalc2((float*)param_2,(float)field_0x7c[0].y,0.25f,(0x800/ (float)tmp2)); + + if (0 < param_4 && (field_0x7c[0].y - param_2[i]->y) > 0.0f) { + param_2[i]->y = field_0x7c[0].y; + } + + if (0 < param_4 && (field_0x7c[0].y - param_2[i]->y) > 0.0f) { + param_2[i]->y = field_0x7c[0].y; + } + + } else { + param_2[8] = field_0x7c; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3848,9 +4605,39 @@ asm void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], csXyz** p #include "asm/d/a/d_a_npc/calc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fPP5csXyziii.s" } #pragma pop +#endif /* 801515D4-80151648 14BF14 0074+00 1/1 0/0 0/0 .text adjustMoveDisAngle__15daNpcF_Lookat_cFRssss */ +#ifdef NONMATCHING +// regalloc +void daNpcF_Lookat_c::adjustMoveDisAngle(s16& param_0, s16 param_1, s16 param_2, s16 param_3) { + int tmp2 = param_1; + int tmp = tmp2 + param_0; + + + if (param_3 < tmp) { + if (tmp2 < param_3) { + param_0 -= (tmp - param_3); + } else { + param_0 = 0; + } + } + + tmp2 += param_0; + + if (tmp2 >= param_2) { + return; + } + + if (param_2 < param_1) { + param_0 -= (tmp2 - param_2); + return; + } + + param_0 = 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -3859,6 +4646,7 @@ asm void daNpcF_Lookat_c::adjustMoveDisAngle(s16& param_0, s16 param_1, s16 para #include "asm/d/a/d_a_npc/adjustMoveDisAngle__15daNpcF_Lookat_cFRssss.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8045349C-804534A0 001A9C 0004+00 1/1 0/0 0/0 .sdata2 @10253 */ @@ -3955,7 +4743,7 @@ asm void daNpcF_c::tgHitCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fop u8 daNpcF_c::mFindActorPList[400]; /* 80450FF0-80450FF4 0004F0 0004+00 4/4 0/0 0/0 .sbss mFindCount__8daNpcF_c */ -u8 daNpcF_c::mFindCount[4]; +s32 daNpcF_c::mFindCount; /* 80152654-801526E8 14CF94 0094+00 0/0 0/0 12/12 .text srchAttnActor1__8daNpcF_cFPvPv */ #pragma push @@ -3969,13 +4757,13 @@ asm void daNpcF_c::srchAttnActor1(void* param_0, void* param_1) { /* ############################################################################################## */ /* 80450FF4-80450FF8 0004F4 0002+02 2/2 0/0 0/0 .sbss mSrchActorName__8daNpcF_c */ -u8 daNpcF_c::mSrchActorName[2 + 2 /* padding */]; +s16 daNpcF_c::mSrchActorName; /* 801526E8-8015276C 14D028 0084+00 1/1 0/0 0/0 .text srchActor__8daNpcF_cFPvPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::srchActor(void* param_0, void* param_1) { +asm void* daNpcF_c::srchActor(void* param_0, void* param_1) { nofralloc #include "asm/d/a/d_a_npc/srchActor__8daNpcF_cFPvPv.s" } @@ -4299,14 +5087,15 @@ asm void daNpcF_c::chkActorInAttnArea(fopAc_ac_c* param_0, fopAc_ac_c* param_1, #pragma pop /* 80153D1C-80153D84 14E65C 0068+00 0/0 0/0 118/118 .text initTalk__8daNpcF_cFiPP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) { - nofralloc -#include "asm/d/a/d_a_npc/initTalk__8daNpcF_cFiPP10fopAc_ac_c.s" +int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) { + mFlow.init(this,param_0,0,param_1); + f32 tmp = FLOAT_LABEL(lit_4116); + mSpeedF = tmp; + mSpeed.set(tmp,tmp,tmp); + field_0x9e9 = 0; + field_0x9ec = 0; + return 1; } -#pragma pop /* 80153D84-80153EF4 14E6C4 0170+00 0/0 0/0 119/119 .text talkProc__8daNpcF_cFPiiPP10fopAc_ac_c */ #pragma push @@ -4349,24 +5138,37 @@ asm void daNpcF_c::setAngle(s16 param_0) { #pragma pop /* 80154278-801542A0 14EBB8 0028+00 0/0 0/0 36/36 .text getDistTableIdx__8daNpcF_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::getDistTableIdx(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/getDistTableIdx__8daNpcF_cFii.s" +u8 daNpcF_getDistTableIdx(int param_0, int param_1); //fwd dec to get a match + +void daNpcF_c::getDistTableIdx(int param_0, int param_1) { + daNpcF_getDistTableIdx(param_0,param_1); } -#pragma pop /* 801542A0-8015436C 14EBE0 00CC+00 0/0 0/0 6/6 .text getEvtAreaTagP__8daNpcF_cFii */ +#ifdef NONMATCHING +int daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { + mFindCount = 0; + mSrchActorName = PROC_TAG_EVTAREA; + fpcM_Search((fpcLyIt_JudgeFunc)this->srchActor,(void*)this); + + for (int i = 0; mFindCount >= 0; mFindCount--) { + if (param_0 == mFindActorPList[i] && param_1 == mFindActorPList[i]) { + return mFindActorPList[i]; + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { +asm int daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_npc/getEvtAreaTagP__8daNpcF_cFii.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804534B0-804534B4 001AB0 0004+00 1/1 0/0 0/0 .sdata2 @11605 */ @@ -4397,36 +5199,61 @@ asm void daNpcF_c::chkActorInSight2(fopAc_ac_c* param_0, f32 param_1, s16 param_ #pragma pop /* 80154834-801548F4 14F174 00C0+00 2/2 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyzfffs */ +#ifdef NONMATCHING +bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, + s16 param_5) { + cXyz tmp_pos1; + cXyz tmp_pos2; + cXyz tmp_pos3; + + f32 tmp_float1 = param_3; + + if (param_3 < param_4) { + tmp_float1 = param_4; + param_4 = param_3; + } + + f32 result1 = fabsf(tmp_float1 - param_4); + f32 result = FLOAT_LABEL(lit_11253) * result1; + tmp_pos1.set(param_2,result,param_2); + + f32 result2 = param_1.y + param_4 + tmp_pos1.y; + tmp_pos2.set(param_1.x,result2,param_1.z); + + tmp_pos3 = param_0; + + return chkPointInArea(tmp_pos3,tmp_pos2,tmp_pos1,param_5); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, +asm bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 param_3, f32 param_4, s16 param_5) { nofralloc #include "asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyzfffs.s" } #pragma pop +#endif /* 801548F4-8015496C 14F234 0078+00 1/1 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { - nofralloc -#include "asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs.s" +bool daNpcF_chkPointInArea(cXyz,cXyz,cXyz,s16); // fwd reference + +bool daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { + return daNpcF_chkPointInArea(param_0,param_1,param_2,param_3); } -#pragma pop /* 8015496C-801549E0 14F2AC 0074+00 3/3 0/0 0/0 .text getAttentionPos__8daNpcF_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_c::getAttentionPos(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/getAttentionPos__8daNpcF_cFP10fopAc_ac_c.s" +cXyz daNpcF_c::getAttentionPos(fopAc_ac_c* i_ActorP) { + cXyz pos = i_ActorP->mAttentionInfo.mPosition; + + if (fopAcM_GetName(i_ActorP) == PROC_ALINK) { + pos.y -= daPy_py_c::getAttentionOffsetY(); + } + + return pos; } -#pragma pop /* 801549E0-80154BD8 14F320 01F8+00 0/0 0/0 18/18 .text chkFindPlayer2__8daNpcF_cFis */ #pragma push @@ -4459,16 +5286,37 @@ asm void daNpcF_c::setHitodamaPrtcl() { /* 80154DA8-80154E54 14F6E8 00AC+00 1/1 0/0 1/1 .text * daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_pntVsLineSegmentLengthSquare2D(f32 param_0, f32 param_1, f32 param_2, f32 param_3, +int daNpcF_pntVsLineSegmentLengthSquare2D(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, f32* param_6, f32* param_7, f32* param_8) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf.s" + f32 l_float3; + f32 l_float1; + f32 l_float2; + + int ret; + + ret = 0; + l_float1 = (param_4 - param_2); + l_float2 = (param_5 - param_3); + l_float3 = (l_float1 * l_float1) + (l_float2 * l_float2); + + if (FLOAT_LABEL(lit_4116) == l_float3) { + *param_8 = FLOAT_LABEL(lit_4116); + return 0; + } + + l_float3 = (l_float1 * (param_0 - param_2) + l_float2 * (param_1 - param_3)) / l_float3; + + if (FLOAT_LABEL(lit_4116) <= l_float3 && l_float3 <= FLOAT_LABEL(lit_4140)) { + ret = 1; + } + + *param_6 = (param_2 + (l_float1 * l_float3)); + *param_7 = (param_3 + (l_float2 * l_float3)); + l_float1 = (*param_6 - param_0); + *param_8 = (l_float1 * l_float1) + ((*param_7 - param_1) * (*param_6 - param_1)); + return ret; } -#pragma pop /* 80154E54-80154E5C 14F794 0008+00 1/1 0/0 0/0 .text daNpcF_putNurbs__FP4dPntiiP4dPnti */ @@ -4480,7 +5328,7 @@ static bool daNpcF_putNurbs(dPnt* param_0, int param_1, int param_2, dPnt* param #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4, +asm int daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, int param_4, int param_5) { nofralloc #include "asm/d/a/d_a_npc/daNpcF_chkPassed__F4cXyzP4dPntUsUsii.s" @@ -4488,6 +5336,25 @@ asm void daNpcF_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 param_3, #pragma pop /* 8015556C-80155634 14FEAC 00C8+00 1/1 0/0 8/8 .text daNpcF_getGroundAngle__FP13cBgS_PolyInfos */ +#ifdef NONMATCHING +int daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { + cM3dGPla tmp; + f32 l_float; + int ret; + + if (dComIfG_Bgsp().ChkPolySafe(*param_0)) { + if (dComIfG_Bgsp().GetTriPla(*param_0,&tmp) && !cBgW_CheckBGround(l_float)) { + ret = fopAcM_getPolygonAngle(&tmp,(int)param_1); + } else { + ret = 0; + } + } else { + ret = 0; + } + + return ret; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -4496,108 +5363,146 @@ asm void daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { #include "asm/d/a/d_a_npc/daNpcF_getGroundAngle__FP13cBgS_PolyInfos.s" } #pragma pop +#endif /* 80155634-80155674 14FF74 0040+00 0/0 0/0 69/69 .text daNpcF_chkEvtBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_chkEvtBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_chkEvtBit__FUl.s" +void daNpcF_chkEvtBit(u32 i_idx) { + i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } -#pragma pop /* 80155674-801556B4 14FFB4 0040+00 0/0 0/0 13/13 .text daNpcF_onEvtBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_onEvtBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_onEvtBit__FUl.s" +void daNpcF_onEvtBit(u32 i_idx) { + dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[i_idx]); } -#pragma pop /* 801556B4-801556F4 14FFF4 0040+00 0/0 0/0 6/6 .text daNpcF_chkTmpBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_chkTmpBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_chkTmpBit__FUl.s" +void daNpcF_chkTmpBit(u32 i_idx) { + dComIfGs_isTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } -#pragma pop /* 801556F4-80155734 150034 0040+00 0/0 0/0 6/6 .text daNpcF_onTmpBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_onTmpBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_onTmpBit__FUl.s" +void daNpcF_onTmpBit(u32 i_idx) { + dComIfGs_onTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } -#pragma pop /* 80155734-80155774 150074 0040+00 1/1 0/0 36/36 .text daNpcF_offTmpBit__FUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_offTmpBit(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_offTmpBit__FUl.s" +void daNpcF_offTmpBit(u32 i_idx) { + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[i_idx]); } -#pragma pop /* 80155774-80155854 1500B4 00E0+00 0/0 2/2 5/5 .text * daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz */ +#ifdef NONMATCHING +int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3) { + int i = 0; + + dStage_roomStatus_c* roomP = dComIfGp_roomControl_getStatusRoomDt(i_roomNo); + stage_actor_data_class* entries = roomP->mRoomDt.getPlayer()->mEntries; + + while (true) { + if (param_0 == entries->mEnemyNo) { + break; + } + } + + param_2 = entries->mSpawnPos; + param_3 = entries->mAngle; + + i++; + + if (roomP->mRoomDt.getPlayerNum() >= i) { + return 0; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daNpcF_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz& param_2, +asm int daNpcF_getPlayerInfoFromPlayerList(int param_0, int param_1, cXyz& param_2, csXyz& param_3) { nofralloc #include "asm/d/a/d_a_npc/daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz.s" } #pragma pop +#endif /* 80155854-80155968 150194 0114+00 0/0 0/0 1/1 .text daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c.s" +bool daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_ActorP) { + bool ret = 0; + + if (daPy_getPlayerActorClass()->checkPriActorOwn(i_ActorP)) { + for (int i = 0; i < dComIfGp_getAttention().GetActionCount(); i++) { + if (dComIfGp_getAttention().ActionTarget(i) == i_ActorP && + dComIfGp_getAttention().getActionBtnB() && + dComIfGp_getAttention().getActionBtnB()->mType == 3) { + ret = 1; + }; + } + + for (int i = 0; i < dComIfGp_getAttention().GetLockonCount(); i++) { + if (dComIfGp_getAttention().LockonTarget(i) == i_ActorP && + dComIfGp_getAttention().getActionBtnB() && + dComIfGp_getAttention().getActionBtnB()->mType == 1) { + ret = 1; + }; + } + } + return ret; } -#pragma pop /* 80155968-80155AD4 1502A8 016C+00 1/1 0/0 2/2 .text daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs.s" +bool daNpcF_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) { + bool ret = 0; + Vec l_vec; + f32 l_float1; + f32 l_float2; + f32 l_float3; + f32 l_float4; + cXyz l_pos; + + mDoMtx_YrotS((MtxP)&mDoMtx_stack_c::now,-param_3); + mDoMtx_stack_c::transM(-param_1.x,-param_1.y,-param_1.z); + PSMTXMultVec((MtxP)&mDoMtx_stack_c::now,(Vec*)¶m_0,&l_vec); + + l_float1 = fabsf(param_2.x); + l_float2 = fabsf(param_2.z); + l_float3 = fabsf(l_vec.x); + l_float4 = fabsf(l_vec.z); + + l_pos = param_1 - param_0; + + if (l_pos.y <= -param_2.y || param_2.y <= l_pos.y) { + ret = 0; + } else { + f32 tmp_float1 = (l_float3 * l_float3) / (l_float1 * l_float1); + f32 tmp_float2 = (l_float4 * l_float4) / (l_float2 * l_float2); + f32 tmp_float3 = tmp_float1 + tmp_float2; + ret = tmp_float3 <= FLOAT_LABEL(lit_4140); + } + + return ret; } -#pragma pop /* 80155AD4-80155AE8 150414 0014+00 1/1 0/0 1/1 .text daNpcF_getDistTableIdx__Fii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_getDistTableIdx(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_getDistTableIdx__Fii.s" +u8 daNpcF_getDistTableIdx(int param_0, int param_1) { + return param_0 + param_1 * 0x14 + 0x5e; } -#pragma pop /* 80155AE8-80155B54 150428 006C+00 0/0 0/0 6/6 .text daNpcF_clearMessageTmpBit__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcF_clearMessageTmpBit() { - nofralloc -#include "asm/d/a/d_a_npc/daNpcF_clearMessageTmpBit__Fv.s" +void daNpcF_clearMessageTmpBit() { + daNpcF_offTmpBit(0xb); + daNpcF_offTmpBit(0xc); + daNpcF_offTmpBit(0xd); + daNpcF_offTmpBit(0xe); + daNpcF_offTmpBit(0xf); + daNpcF_offTmpBit(0x33); + daNpcF_offTmpBit(0x34); + daNpcF_offTmpBit(0x35); + daNpcF_offTmpBit(0x36); + daNpcF_offTmpBit(0x37); } -#pragma pop /* 80155B54-80155BB4 150494 0060+00 1/0 0/0 0/0 .text __dt__20daNpcF_MoveBgActor_cFv */ #pragma push diff --git a/src/d/a/d_a_obj.cpp b/src/d/a/d_a_obj.cpp index 3f57f80659..7149519432 100644 --- a/src/d/a/d_a_obj.cpp +++ b/src/d/a/d_a_obj.cpp @@ -4,110 +4,25 @@ // #include "d/a/d_a_obj.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // - -struct fopAc_ac_c {}; - -struct daPy_py_c { - /* 8015F398 */ void checkMasterSwordEquip(); -}; - -struct dCcD_GObjInf { - /* 800844F8 */ void GetTgHitObj(); - /* 8008457C */ void GetTgHitObjSe(); -}; - -struct Quaternion {}; - -struct Vec {}; - -struct cXyz { - /* 80009184 */ ~cXyz(); - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266C18 */ void operator/(f32) const; - /* 80266CBC */ void outprod(Vec const&) const; - - static f32 Zero[3]; - static u8 BaseY[12]; -}; - -struct daObj { - /* 80037038 */ void eff_break_tsubo(fopAc_ac_c*, cXyz, int); - /* 80037180 */ void make_eff_break_kotubo(fopAc_ac_c*); - /* 80037210 */ void make_eff_break_kotubo2(fopAc_ac_c*); - /* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*); - /* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*); - /* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32); - /* 80037620 */ void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*, - f32, f32, cXyz const*); - /* 80037788 */ void quat_rotBaseY(Quaternion*, cXyz const&); - /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct JPABaseEmitter {}; - -struct dPa_modelEcallBack { - /* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, - u8); - - static u8 mEcallback[4]; -}; - -struct dPa_levelEcallBack {}; - -struct csXyz {}; - -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); - - static u8 mTsubo[64]; -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct cCcD_SphAttr { - /* 80037A54 */ void GetCoCP(); -}; - -struct cCcD_CylAttr { - /* 80037A4C */ void GetCoCP(); -}; - -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]; -}; +namespace daObj { +/* 80037038 */ void eff_break_tsubo(fopAc_ac_c*, cXyz, int); +/* 80037180 */ void make_eff_break_kotubo(fopAc_ac_c*); +/* 80037210 */ void make_eff_break_kotubo2(fopAc_ac_c*); +/* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*); +/* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*); +/* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32); +/* 80037620 */ void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*, + f32, f32, cXyz const*); +/* 80037788 */ void quat_rotBaseY(Quaternion*, cXyz const&); +/* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32); +}; // namespace daObj // // Forward References: @@ -151,12 +66,6 @@ extern "C" void outprod__4cXyzCFRC3Vec(); extern "C" void cM_atan2s__Fff(); extern "C" void cM3d_CrawVec__FRC3VecRC3VecP3Vec(); extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECDotProduct(); -extern "C" void C_QUATRotAxisRad(); extern "C" void __register_global_object(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); @@ -166,8 +75,6 @@ extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void acos(); -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mTsubo__13dPa_control_c[64]; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 BaseY__4cXyz[12]; @@ -194,6 +101,22 @@ SECTION_SDATA2 static f32 lit_3671 = 1.0f; /* 80037038-80037180 031978 0148+00 4/4 0/0 0/0 .text eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi */ +#ifdef NONMATCHING +void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2) { + J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20); + J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42); + + JPABaseEmitter* emitter = (JPABaseEmitter*)dComIfGp_particle_set( + 0x15C, ¶m_0->current.pos, NULL, NULL, 0xFF, dPa_modelEcallBack::getEcallback(), + fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1); + + dPa_modelEcallBack::setModel(emitter, tubo_bmd, param_0->mTevStr, 3, tubo_btp, 0, param_2); + + dComIfGp_particle_set(0x15D, ¶m_0->current.pos, NULL, NULL, 0xFF, + dPa_control_c::getTsuboSelectTexEcallBack(param_2), + fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -202,6 +125,7 @@ asm void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2) #include "asm/d/a/d_a_obj/eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804245E8-804245F4 051308 000C+00 1/1 0/0 0/0 .bss @3677 */ @@ -212,6 +136,14 @@ static f32 scale_3676[3]; /* 80037180-80037210 031AC0 0090+00 0/0 0/0 2/2 .text make_eff_break_kotubo__5daObjFP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +void daObj::make_eff_break_kotubo(fopAc_ac_c* param_0) { + static cXyz scale(1.0f, 1.0f, 1.0f); + + eff_break_tsubo(param_0, scale, 0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -220,6 +152,7 @@ asm void daObj::make_eff_break_kotubo(fopAc_ac_c* param_0) { #include "asm/d/a/d_a_obj/make_eff_break_kotubo__5daObjFP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80424600-8042460C 051320 000C+00 1/1 0/0 0/0 .bss @3692 */ @@ -230,6 +163,14 @@ static f32 scale_3691[3]; /* 80037210-800372A0 031B50 0090+00 0/0 0/0 2/2 .text make_eff_break_kotubo2__5daObjFP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +void daObj::make_eff_break_kotubo2(fopAc_ac_c* param_0) { + static cXyz scale(1.0f, 1.0f, 1.0f); + + eff_break_tsubo(param_0, scale, 1); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -238,6 +179,7 @@ asm void daObj::make_eff_break_kotubo2(fopAc_ac_c* param_0) { #include "asm/d/a/d_a_obj/make_eff_break_kotubo2__5daObjFP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80424618-80424624 051338 000C+00 1/1 0/0 0/0 .bss @3719 */ @@ -248,6 +190,14 @@ static f32 scale_3718[3]; /* 800372A0-80037330 031BE0 0090+00 0/0 0/0 1/1 .text * make_eff_break_gm_kotubo__5daObjFP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +void daObj::make_eff_break_gm_kotubo(fopAc_ac_c* param_0) { + static cXyz scale(1.0f, 1.0f, 1.0f); + + eff_break_tsubo(param_0, scale, 3); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -256,6 +206,7 @@ asm void daObj::make_eff_break_gm_kotubo(fopAc_ac_c* param_0) { #include "asm/d/a/d_a_obj/make_eff_break_gm_kotubo__5daObjFP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80424630-8042463C 051350 000C+00 1/1 0/0 0/0 .bss @3732 */ @@ -269,6 +220,14 @@ SECTION_SDATA2 static f32 lit_3714 = 2.0f; /* 80037330-800373C0 031C70 0090+00 0/0 0/0 1/1 .text * make_eff_break_gm_ootubo__5daObjFP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +void daObj::make_eff_break_gm_ootubo(fopAc_ac_c* param_0) { + static cXyz scale(2.0f, 2.0f, 2.0f); + + eff_break_tsubo(param_0, scale, 4); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -277,6 +236,7 @@ asm void daObj::make_eff_break_gm_ootubo(fopAc_ac_c* param_0) { #include "asm/d/a/d_a_obj/make_eff_break_gm_ootubo__5daObjFP10fopAc_ac_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451DA0-80451DA4 0003A0 0004+00 4/4 0/0 0/0 .sdata2 @3801 */ @@ -383,7 +343,8 @@ asm void daObj::HitSeStart(cXyz const* param_0, int param_1, dCcD_GObjInf const* #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cCcD_CylAttr::GetCoCP() { +// asm void cCcD_CylAttr::GetCoCP() { +extern "C" asm void GetCoCP__12cCcD_CylAttrFv() { nofralloc #include "asm/d/a/d_a_obj/GetCoCP__12cCcD_CylAttrFv.s" } @@ -393,7 +354,8 @@ asm void cCcD_CylAttr::GetCoCP() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cCcD_SphAttr::GetCoCP() { +// asm void cCcD_SphAttr::GetCoCP() { +extern "C" asm void GetCoCP__12cCcD_SphAttrFv() { nofralloc #include "asm/d/a/d_a_obj/GetCoCP__12cCcD_SphAttrFv.s" } diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index 518fc004f6..f103a528fc 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -12,7 +12,9 @@ #include "dolphin/types.h" #include "f_op/f_op_actor_iter.h" #include "f_op/f_op_actor_mng.h" +#include "m_Do/m_Do_lib.h" #include "rel/d/a/d_a_boomerang/d_a_boomerang.h" +#include "rel/d/a/d_a_spinner/d_a_spinner.h" // // Forward References: @@ -77,6 +79,7 @@ extern "C" void setMidnaFaceNum__9daPy_py_cFi(); extern "C" void daPy_addCalcShort__FPsssss(); extern "C" extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; +extern "C" u8 m_dropAngleY__20daPy_boomerangMove_c[4]; // // External References: @@ -143,10 +146,12 @@ bool daPy_frameCtrl_c::checkAnmEnd() { if (getEndFlg() != 0 && getNowSetFlg() == 0) { return true; } + if (getRate() == lit_4215[0]) { onEndFlg(); onNowSetFlg(); } + return false; } @@ -155,63 +160,38 @@ void daPy_frameCtrl_c::updateFrame() { offNowSetFlg(); } -/* ############################################################################################## */ -/* 80453608-80453610 001C08 0008+00 2/2 0/0 0/0 .sdata2 @4237 */ -SECTION_SDATA2 static f64 lit_4237 = 4503601774854144.0 /* cast s32 to float */; - /* 8015E544-8015E5B0 158E84 006C+00 0/0 1/1 6/6 .text setFrameCtrl__16daPy_frameCtrl_cFUcssff */ -// compiler generated literal from short to float conversion -#ifdef NONMATCHING -void daPy_frameCtrl_c::setFrameCtrl(u8 pAttribute, s16 pStart, s16 pEnd, f32 pRate, f32 pFrame) { - setAttribute(pAttribute); - setEnd(pEnd); - setRate(pRate); - setStart(pStart); - setFrame(pFrame); - if (pRate >= lit_4215[0]) { - setLoop(pStart); +void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate, + f32 i_frame) { + setAttribute(i_attribute); + setEnd(i_end); + setRate(i_rate); + setStart(i_start); + setFrame(i_frame); + + if (i_rate >= lit_4215[0]) { + setLoop(i_start); } else { - setLoop(pEnd); + setLoop(i_end); } + offEndFlg(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_frameCtrl_c::setFrameCtrl(u8 param_0, s16 param_1, s16 param_2, f32 param_3, - f32 param_4) { - nofralloc -#include "asm/d/a/d_a_player/setFrameCtrl__16daPy_frameCtrl_cFUcssff.s" -} -#pragma pop -#endif - -/* ############################################################################################## */ -/* 80453610-80453614 001C10 0004+00 1/1 0/0 0/0 .sdata2 @4247 */ -SECTION_SDATA2 static f32 lit_4247 = 30.0f; - -/* 80453614-80453618 001C14 0004+00 1/1 0/0 0/0 .sdata2 @4248 */ -SECTION_SDATA2 static f32 lit_4248 = 70.0f; - -/* 80453618-8045361C 001C18 0004+00 2/2 0/0 0/0 .sdata2 @4249 */ -SECTION_SDATA2 static f32 lit_4249 = 50.0f; - -/* 8045361C-80453620 001C1C 0004+00 1/1 0/0 0/0 .sdata2 @4250 */ -SECTION_SDATA2 static f32 lit_4250 = 65536.0f; /* 8015E5B0-8015E654 158EF0 00A4+00 0/0 1/1 18/18 .text initOffset__20daPy_boomerangMove_cFPC4cXyz */ void daPy_boomerangMove_c::initOffset(cXyz const* param_0) { daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor(); + if (boomerang != NULL) { bgCheckAfterOffset(param_0); boomerang->onWindCatch(); } else { - field_0x4 = cM_rndF(lit_4248) + lit_4247; - field_0x8 = cM_rndF(lit_4249) + lit_4249; - field_0x2 = cM_rndF(lit_4250); + field_0x4 = cM_rndF(70.0f) + 30.0f; + field_0x8 = cM_rndF(50.0f) + 50.0f; + field_0x2 = cM_rndF(65536.0f); } + field_0x0 = 0; } @@ -221,34 +201,59 @@ daMidna_c* daPy_py_c::m_midnaActor; /* 8045101C-80451020 -00001 0004+00 1/1 1/1 1/1 .sbss None */ /* 8045101C 0002+00 data_8045101C m_dropAngleY__20daPy_boomerangMove_c */ +s16 daPy_boomerangMove_c::m_dropAngleY; + /* 8045101E 0002+00 data_8045101E m_eventKeepFlg__20daPy_boomerangMove_c */ -extern u8 struct_8045101C[4]; -u8 struct_8045101C[4]; - -/* 80453620-80453624 001C20 0004+00 1/1 0/0 0/0 .sdata2 @4332 */ -SECTION_SDATA2 static f32 lit_4332 = 300.0f; - -/* 80453624-80453628 001C24 0004+00 1/1 0/0 0/0 .sdata2 @4333 */ -SECTION_SDATA2 static f32 lit_4333 = -700.0f; - -/* 80453628-80453630 001C28 0004+04 1/1 0/0 0/0 .sdata2 @4334 */ -SECTION_SDATA2 static f32 lit_4334[1 + 1 /* padding */] = { - 2048.0f, - /* padding */ - 0.0f, -}; +s16 daPy_boomerangMove_c::m_eventKeepFlg; /* 8015E654-8015E87C 158F94 0228+00 0/0 1/1 17/17 .text * posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2, - s16 param_3) { - nofralloc -#include "asm/d/a/d_a_player/posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs.s" +int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2, s16 param_3) { + daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor(); + + field_0x2 -= param_3; + *param_1 -= param_3; + + if (field_0x8 > 300.0f) { + field_0x8 = 300.0f; + } + + if (field_0x4 < -700.0f) { + field_0x4 = -700.0f; + } else if (field_0x4 > 50.0f) { + field_0x4 = 50.0f; + } + + if (boomerang != NULL) { + if (boomerang->checkForceDelete()) { + return 0; + } + + if (i_dComIfGp_event_runCheck()) { + field_0x0 = 1; + } else if (m_eventKeepFlg != 0 && field_0x0 == 0) { + return 0; + } + + param_0->set(boomerang->current.pos.x + field_0x8 * cM_ssin(field_0x2), + boomerang->current.pos.y + field_0x4, + boomerang->current.pos.z + field_0x8 * cM_scos(field_0x2)); + boomerang->onWindCatch(); + return 1; + } + + daAlink_c* link = daAlink_getAlinkActorClass(); + if ((param_2 == NULL || !link->checkBoomerangCarry(param_2)) && + (m_eventKeepFlg == 0 || field_0x0 != 0)) { + s16 tmp = (m_dropAngleY + link->mCollisionRot.y) + cM_rndF(2048.0f); + + param_0->x = link->current.pos.x + field_0x8 * cM_ssin(tmp); + param_0->z = link->current.pos.z + field_0x8 * cM_scos(tmp); + m_dropAngleY += 0x2000; + } + + return 0; } -#pragma pop /* ############################################################################################## */ /* 80453630-80453638 001C30 0008+00 1/1 0/0 0/0 .sdata2 @4379 */ @@ -271,8 +276,8 @@ void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) { if (boomerang != NULL) { field_0x4 = param_0->y - boomerang->current.pos.y; field_0x8 = boomerang->current.pos.absXZ(*param_0); - field_0x2 = cM_atan2s(param_0->x - boomerang->current.pos.x, - param_0->z - boomerang->current.pos.z); + field_0x2 = + cM_atan2s(param_0->x - boomerang->current.pos.x, param_0->z - boomerang->current.pos.z); } } #else @@ -375,10 +380,10 @@ void daPy_actorKeep_c::setActor() { /* 8015ECB8-8015ECFC 1595F8 0044+00 0/0 59/59 4/4 .text setData__16daPy_actorKeep_cFP10fopAc_ac_c */ -void daPy_actorKeep_c::setData(fopAc_ac_c* pActor) { - if (pActor != NULL) { - mActor = pActor; - mID = fopAcM_GetID(pActor); +void daPy_actorKeep_c::setData(fopAc_ac_c* i_actor) { + if (i_actor != NULL) { + mActor = i_actor; + mID = fopAcM_GetID(i_actor); } else { clearData(); } @@ -389,9 +394,9 @@ void daPy_actorKeep_c::clearData() { mActor = NULL; } -daPy_anmHeap_c::daPy_anmHeap_c(u32 pBufferSize) { +daPy_anmHeap_c::daPy_anmHeap_c(u32 i_bufferSize) { initData(); - mBufferSize = pBufferSize; + mBufferSize = i_bufferSize; } daPy_anmHeap_c::~daPy_anmHeap_c() { @@ -414,16 +419,16 @@ void* daPy_anmHeap_c::mallocBuffer() { /* 8015EE00-8015EF84 159740 0184+00 0/0 1/1 1/1 .text * createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE */ -void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) { +void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE i_heapType) { u32 size; - if (heap_type == 4) { + if (i_heapType == 4) { size = mBufferSize; - } else if (heap_type == 3) { + } else if (i_heapType == 3) { size = 0x50; - } else if (heap_type == 0) { + } else if (i_heapType == 0) { size = 0x40; - } else if (heap_type == 1) { + } else if (i_heapType == 1) { size = 0x40; } else { size = 0xA0; @@ -432,13 +437,13 @@ void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) { JKRHeap* tmp; mAnimeHeap = mDoExt_createSolidHeapFromGameToCurrent(&tmp, size, 0x20); - if (heap_type == 4) { + if (i_heapType == 4) { char* tmpWork = new char[size]; - } else if (heap_type == 3) { + } else if (i_heapType == 3) { mDoExt_transAnmBas* tmpTransBas = new mDoExt_transAnmBas(NULL); - } else if (heap_type == 0) { + } else if (i_heapType == 0) { J3DAnmTransformKey* tmpTrans = new J3DAnmTransformKey(); - } else if (heap_type == 1) { + } else if (i_heapType == 1) { J3DAnmTexPattern* tmpTp = new J3DAnmTexPattern(); } else { J3DAnmTextureSRTKey* tmpTk = new J3DAnmTextureSRTKey(); @@ -448,50 +453,24 @@ void daPy_anmHeap_c::createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE heap_type) { mDoExt_adjustSolidHeap(mAnimeHeap); } -/* ############################################################################################## */ -/* 80453648-80453650 001C48 0008+00 1/0 0/0 0/0 .sdata2 sumouArcName$4614 */ -extern "C" char sumouArcName[8]; - -/* 80453650-80453658 001C50 0005+03 1/0 0/0 0/0 .sdata2 ocArcName$4615 */ -extern "C" char ocArcName[8]; - -/* 80453658-80453660 001C58 0005+03 1/0 0/0 0/0 .sdata2 drArcName$4618 */ -extern "C" char drArcName[8]; - -/* 80453660-80453668 001C60 0008+00 1/0 0/0 0/0 .sdata2 msDemoArcName$4619 */ -extern "C" char msDemoArcName[8]; - -/* 80453668-80453670 001C68 0006+02 1/0 0/0 0/0 .sdata2 lastGanonArcName$4620 */ -extern "C" char lastGanonArcName[8]; - -/* 80453670-80453678 001C70 0006+02 1/0 0/0 0/0 .sdata2 pigGanonArcName$4621 */ -extern "C" char pigGanonArcName[8]; - -SECTION_RODATA static char const twglArcName[12] = "TWGate_Lk"; - -SECTION_RODATA static char const twgwArcName[12] = "TWGate_Wf"; - -SECTION_DATA static char* arcName[8] = { - (char*)&sumouArcName, (char*)&ocArcName, (char*)&twglArcName, (char*)&twgwArcName, - (char*)&drArcName, (char*)&msDemoArcName, (char*)&lastGanonArcName, (char*)&pigGanonArcName, -}; - -SECTION_SDATA2 static char sumouArcName[8] = "alSumou"; - -SECTION_SDATA2 static char ocArcName[8] = "B_oh"; - -SECTION_SDATA2 static char drArcName[8] = "B_DR"; - -SECTION_SDATA2 static char msDemoArcName[8] = "Lv6Gate"; - -SECTION_SDATA2 static char lastGanonArcName[8] = "B_gnd"; - -SECTION_SDATA2 static char pigGanonArcName[8] = "B_mgn"; - /* 8015EF84-8015F068 1598C4 00E4+00 3/3 0/0 0/0 .text loadData__14daPy_anmHeap_cFUs */ -void* daPy_anmHeap_c::loadData(u16 id) { +void* daPy_anmHeap_c::loadData(u16 i_resId) { + static const char twglArcName[12] = "TWGate_Lk"; + static const char twgwArcName[12] = "TWGate_Wf"; + static const char sumouArcName[8] = "alSumou"; + static const char ocArcName[8] = "B_oh"; + static const char drArcName[8] = "B_DR"; + static const char msDemoArcName[8] = "Lv6Gate"; + static const char lastGanonArcName[8] = "B_gnd"; + static const char pigGanonArcName[8] = "B_mgn"; + + static const char* arcName[8] = { + sumouArcName, ocArcName, twglArcName, twgwArcName, + drArcName, msDemoArcName, lastGanonArcName, pigGanonArcName, + }; + if (mArcNo == 0xFFFF) { - dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, id); + dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, i_resId); JKRHeap* heap = setAnimeHeap(); void* data = J3DAnmLoaderDataBase::load(mBuffer, UNK_FLAG0); mDoExt_setCurrentHeap(heap); @@ -499,55 +478,58 @@ void* daPy_anmHeap_c::loadData(u16 id) { } if (mArcNo == 0) { - return dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), id); + return dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), i_resId); } - return dComIfG_getObjectRes(arcName[mArcNo - 1], id); + return dComIfG_getObjectRes(arcName[mArcNo - 1], i_resId); } /* 8015F068-8015F0D0 1599A8 0068+00 0/0 9/9 5/5 .text loadDataIdx__14daPy_anmHeap_cFUs */ -void* daPy_anmHeap_c::loadDataIdx(u16 id) { +void* daPy_anmHeap_c::loadDataIdx(u16 i_resID) { void* data; - if (id == mIdx && mArcNo == 0xFFFF) { + if (i_resID == mIdx && mArcNo == 0xFFFF) { data = NULL; } else { - mIdx = id; + mIdx = i_resID; mArcNo = 0xFFFF; if (mPriIdx == 0xFFFF) { - data = loadData(id); + data = loadData(i_resID); } else { data = NULL; } } + return data; } /* 8015F0D0-8015F118 159A10 0048+00 0/0 3/3 0/0 .text loadDataPriIdx__14daPy_anmHeap_cFUs */ -void* daPy_anmHeap_c::loadDataPriIdx(u16 id) { +void* daPy_anmHeap_c::loadDataPriIdx(u16 i_resID) { void* data; - if (id == mPriIdx || mArcNo != 0xFFFF) { + if (i_resID == mPriIdx || mArcNo != 0xFFFF) { data = NULL; } else { - mPriIdx = id; - data = loadData(id); + mPriIdx = i_resID; + data = loadData(i_resID); } + return data; } /* 8015F118-8015F168 159A58 0050+00 0/0 5/5 5/5 .text loadDataDemoRID__14daPy_anmHeap_cFUsUs */ -void* daPy_anmHeap_c::loadDataDemoRID(u16 id, u16 arc_no) { +void* daPy_anmHeap_c::loadDataDemoRID(u16 i_resID, u16 i_arcNo) { void* data; - if (id == mIdx && arc_no == mArcNo) { + if (i_resID == mIdx && i_arcNo == mArcNo) { data = NULL; } else { - mIdx = id; - mArcNo = arc_no; - data = loadData(id); + mIdx = i_resID; + mArcNo = i_arcNo; + data = loadData(i_resID); } + return data; } @@ -578,29 +560,56 @@ SECTION_SDATA2 static u32 lit_4668 = 0xFF8000FF; SECTION_SDATA2 static u32 lit_4669 = 0x321400FF; /* 8015F1A0-8015F2FC 159AE0 015C+00 1/0 1/1 0/0 .text draw__18daPy_sightPacket_cFv */ +// dumb instruction block out of order +#ifdef NONMATCHING +void daPy_sightPacket_c::draw() { + GXTexObj texObj; + + j3dSys.reinitGX(); + GXSetNumIndStages(0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGB8, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); + + GXColor reg0 = {255, 128, 0, 255}; + GXColor reg1 = {50, 20, 0, 255}; + + GXSetTevColor(GX_TEVREG0, reg0); + GXSetTevColor(GX_TEVREG1, reg1); + GXInitTexObj(&texObj, mpData, mpImg->width, mpImg->height, (GXTexFmt)mpImg->format, + (GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT, + (GXBool)(mpImg->mipmapCount > 1)); + GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0, 0.0, 0.0, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXLoadTexObj(&texObj, GX_TEXMAP0); + GXLoadPosMtxImm(field_0x14, GX_PNMTX0); + GXSetCurrentMtx(0); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXCallDisplayList(l_sightDL, 0x80); + J3DShape::resetVcdVatCache(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void draw__18daPy_sightPacket_cFv() { - // asm void daPy_sightPacket_c::draw() { +asm void daPy_sightPacket_c::draw() { nofralloc #include "asm/d/a/d_a_player/draw__18daPy_sightPacket_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80453680-80453684 001C80 0004+00 1/1 0/0 0/0 .sdata2 @4699 */ -SECTION_SDATA2 static f32 lit_4699 = 32.0f; +#endif /* 8015F2FC-8015F384 159C3C 0088+00 0/0 1/1 0/0 .text setSight__18daPy_sightPacket_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daPy_sightPacket_c::setSight() { - nofralloc -#include "asm/d/a/d_a_player/setSight__18daPy_sightPacket_cFv.s" +void daPy_sightPacket_c::setSight() { + Vec tmp; + + mDoLib_project(&mPos, &tmp); + mDoMtx_stack_c::transS(tmp.x, tmp.y, tmp.z); + mDoMtx_stack_c::scaleM(32.0f, 32.0f, 32.0f); + mDoMtx_stack_c::copy(field_0x14); + dComIfGd_set2DXlu(this); } -#pragma pop /* 8015F384-8015F398 159CC4 0014+00 0/0 1/1 0/0 .text * setSightImage__18daPy_sightPacket_cFP7ResTIMG */ @@ -617,6 +626,7 @@ BOOL daPy_py_c::checkMasterSwordEquip() { if (equipSword == MASTER_SWORD || equipSword == LIGHT_SWORD) { isMasterSword = true; } + return isMasterSword; } @@ -625,7 +635,7 @@ BOOL daPy_py_c::checkMasterSwordEquip() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkWoodShieldEquip() { +asm bool daPy_py_c::checkWoodShieldEquip() { nofralloc #include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s" } @@ -641,6 +651,7 @@ f32 daPy_py_c::getAttentionOffsetY() { if (checkNowWolf()) { return -12.5f; } + return 57.5f; } @@ -678,8 +689,8 @@ void daPy_py_c::setLookPos(cXyz* p_pos) { } /* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */ -void daPy_py_c::setPlayerSe(u32 se_id) { - daAlink_getAlinkActorClass()->seStartOnlyReverb(se_id); +void daPy_py_c::setPlayerSe(u32 i_sfxID) { + daAlink_getAlinkActorClass()->seStartOnlyReverb(i_sfxID); } /* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text @@ -696,7 +707,8 @@ bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* p_ac) { } } - if (check_carry && dComIfGp_checkCameraAttentionStatus(i_dComIfGp_getPlayerCameraID(0), 2) != 0) { + if (check_carry && + dComIfGp_checkCameraAttentionStatus(i_dComIfGp_getPlayerCameraID(0), 2) != 0) { ret = true; } @@ -718,8 +730,7 @@ asm bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0) { - nofralloc +asm void daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0){nofralloc #include "asm/d/a/d_a_player/wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s" } #pragma pop @@ -735,48 +746,67 @@ bool daPy_py_c::checkRoomRestartStart() { if (mode == 4 || mode == 8 || mode == 5) { return true; - } else { - return false; } + + return false; } /* 8015F698-8015F730 159FD8 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallA__9daPy_py_cFv */ u32 daPy_py_c::checkCarryStartLightBallA() { - if (checkRoomRestartStart() || !i_dComIfGp_getStage() || !i_dComIfGp_getStage()->getStagInfo() || + if (checkRoomRestartStart() || !i_dComIfGp_getStage() || + !i_dComIfGp_getStage()->getStagInfo() || i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17) { return FALSE; } + return dComIfGs_getLastSceneMode() & 0x100000; } /* 8015F730-8015F7C8 15A070 0098+00 0/0 2/2 1/1 .text checkCarryStartLightBallB__9daPy_py_cFv */ u32 daPy_py_c::checkCarryStartLightBallB() { - if (checkRoomRestartStart() || !i_dComIfGp_getStage() || !i_dComIfGp_getStage()->getStagInfo() || + if (checkRoomRestartStart() || !i_dComIfGp_getStage() || + !i_dComIfGp_getStage()->getStagInfo() || i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17) { return FALSE; } + return dComIfGs_getLastSceneMode() & 0x80000; } -float daPy_py_c::getSpinnerRideSpeed() const { - float rideSpeed; +f32 daPy_py_c::getSpinnerRideSpeed() const { + f32 rideSpeed; + if (checkSpinnerRide()) { rideSpeed = mSpeedF; } else { rideSpeed = lit_4215[0]; } + return rideSpeed; } /* 8015F814-8015F89C 15A154 0088+00 0/0 0/0 1/1 .text checkSpinnerReflectEffect__9daPy_py_cFv */ +// matches with literals +#ifdef NONMATCHING +bool daPy_py_c::checkSpinnerReflectEffect() { + daSpinner_c* spinner = (daSpinner_c*)getSpinnerActor(); + + if (spinner != NULL && spinner->reflectAccept()) { + return true; + } + + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkSpinnerReflectEffect() { +asm bool daPy_py_c::checkSpinnerReflectEffect() { nofralloc #include "asm/d/a/d_a_player/checkSpinnerReflectEffect__9daPy_py_cFv.s" } #pragma pop +#endif /* 8015F89C-8015F8C8 15A1DC 002C+00 0/0 0/0 7/7 .text checkBoomerangCharge__9daPy_py_cFv */ @@ -874,14 +904,3 @@ asm void daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, } #pragma pop #endif - -/* ############################################################################################## */ -/* 803BA14C-803BA160 01726C 0010+04 0/0 4/4 0/0 .data __vt__18daPy_sightPacket_c */ -SECTION_DATA extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__18daPy_sightPacket_cFv, - (void*)__dt__18daPy_sightPacket_cFv, - /* padding */ - NULL, -}; diff --git a/src/d/bg/d_bg_plc.cpp b/src/d/bg/d_bg_plc.cpp index 9ae849296d..13fe0796fe 100644 --- a/src/d/bg/d_bg_plc.cpp +++ b/src/d/bg/d_bg_plc.cpp @@ -54,7 +54,7 @@ asm void dBgPlc::getCode(int param_0, sBgPc** param_1) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgPlc::getGrpCode(int param_0) const { +asm u32 dBgPlc::getGrpCode(int param_0) const { nofralloc #include "asm/d/bg/d_bg_plc/getGrpCode__6dBgPlcCFi.s" } diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp index d4de8b490f..087a1ad529 100644 --- a/src/d/bg/d_bg_s.cpp +++ b/src/d/bg/d_bg_s.cpp @@ -568,7 +568,7 @@ int dBgS::GetMonkeyBarsCode(cBgS_PolyInfo const& poly) { /* 80074DAC-80074E00 06F6EC 0054+00 0/0 0/0 1/1 .text * GetUnderwaterRoofCode__4dBgSFRC13cBgS_PolyInfo */ -int dBgS::GetUnderwaterRoofCode(cBgS_PolyInfo const& poly) { +u32 dBgS::GetUnderwaterRoofCode(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->GetUnderwaterRoofCode(poly.GetPolyIndex()); @@ -658,7 +658,7 @@ s32 dBgS::GetRoomPathPntNo(cBgS_PolyInfo const& poly) { } /* 80075080-800750D0 06F9C0 0050+00 0/0 2/2 0/0 .text GetGrpSoundId__4dBgSFRC13cBgS_PolyInfo */ -s32 dBgS::GetGrpSoundId(cBgS_PolyInfo const& poly) { +u8 dBgS::GetGrpSoundId(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->GetGrpSoundId(poly); diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index e6972b6fc5..33648aa461 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -5,10 +5,10 @@ #include "d/bg/d_bg_w.h" #include "JSystem/JMath/JMATrigonometric.h" +#include "SSystem/SComponent/c_math.h" #include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/mtx/mtxvec.h" -#include "dolphin/types.h" // // Forward References: @@ -458,44 +458,90 @@ void cBgW::FreeArea() { } /* 800793C4-80079484 073D04 00C0+00 2/2 0/0 1/1 .text GlobalVtx__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GlobalVtx() { - nofralloc -#include "asm/d/bg/d_bg_w/GlobalVtx__4cBgWFv.s" +void cBgW::GlobalVtx() { + if (pm_base != NULL) { + if (!field_0x89) { + for (int i = 0; i < pm_bgd->m_v_num; i++) { + Vec* vtx = &pm_vtx_tbl[i]; + PSVECAdd(vtx, &field_0x7c, vtx); + } + } else { + for (int i = 0; i < pm_bgd->m_v_num; i++) { + PSMTXMultVec(pm_base, &pm_bgd->m_v_tbl[i], &pm_vtx_tbl[i]); + } + } + } } -#pragma pop /* 80079484-80079564 073DC4 00E0+00 1/1 0/0 0/0 .text SetVtx__4cBgWFv */ +// matches with literals +#ifdef NONMATCHING +int cBgW::SetVtx() { + if (field_0x88 & 0x10) { + pm_vtx_tbl = NULL; + } else if (field_0x88 & 0x1) { + pm_vtx_tbl = new Vec[pm_bgd->m_v_num]; + + if (pm_vtx_tbl == NULL) { + return true; + } + + if (field_0x88 & 0x40) { + for (int i = 0; i < pm_bgd->m_v_num; i++) { + pm_vtx_tbl[i].x = 0.0f; + pm_vtx_tbl[i].y = 0.0f; + pm_vtx_tbl[i].z = 0.0f; + } + } + + GlobalVtx(); + } else { + pm_vtx_tbl = pm_bgd->m_v_tbl; + } + + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cBgW::SetVtx() { +asm bool cBgW::SetVtx() { nofralloc #include "asm/d/bg/d_bg_w/SetVtx__4cBgWFv.s" } #pragma pop +#endif /* 80079564-80079668 073EA4 0104+00 2/0 1/0 0/0 .text CalcPlane__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::CalcPlane() { - nofralloc -#include "asm/d/bg/d_bg_w/CalcPlane__4cBgWFv.s" +void cBgW::CalcPlane() { + dzb_tri_data* tri_data = pm_bgd->m_t_tbl; + + if (pm_vtx_tbl != NULL) { + if (!field_0x89) { + for (int i = 0; i < pm_bgd->m_t_num; i++) { + pm_tri[i].m_plane.mD -= PSVECDotProduct(&pm_tri[i].m_plane.mNormal, &field_0x7c); + } + } else { + for (int i = 0; i < pm_bgd->m_t_num; i++) { + pm_tri[i].m_plane.SetupFrom3Vtx(&pm_vtx_tbl[tri_data[i].field_0x0], + &pm_vtx_tbl[tri_data[i].field_0x2], + &pm_vtx_tbl[tri_data[i].field_0x4]); + } + } + } } -#pragma pop /* 80079668-800796F8 073FA8 0090+00 1/1 0/0 0/0 .text SetTri__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::SetTri() { - nofralloc -#include "asm/d/bg/d_bg_w/SetTri__4cBgWFv.s" +bool cBgW::SetTri() { + pm_tri = new cBgW_TriElm[pm_bgd->m_t_num]; + + if (pm_tri == NULL) { + return true; + } + + CalcPlane(); + return false; } -#pragma pop /* 800796F8-80079754 074038 005C+00 2/1 0/0 0/0 .text __dt__11cBgW_TriElmFv */ #pragma push @@ -509,24 +555,21 @@ extern "C" asm void __dt__11cBgW_TriElmFv() { #pragma pop /* 80079754-80079770 074094 001C+00 1/1 0/0 0/0 .text __ct__11cBgW_TriElmFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cBgW_TriElm::cBgW_TriElm() { - nofralloc -#include "asm/d/bg/d_bg_w/__ct__11cBgW_TriElmFv.s" -} -#pragma pop +cBgW_TriElm::cBgW_TriElm() {} /* 80079770-800797BC 0740B0 004C+00 1/1 0/0 0/0 .text BlckConnect__4cBgWFPUsPii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::BlckConnect(u16* param_0, int* param_1, int param_2) { - nofralloc -#include "asm/d/bg/d_bg_w/BlckConnect__4cBgWFPUsPii.s" +void cBgW::BlckConnect(u16* param_0, int* param_1, int param_2) { + if (*param_0 == 0xFFFF) { + *param_0 = param_2; + } + + if (*param_1 != 0xFFFF) { + pm_rwg[*param_1].field_0x0 = param_2; + } + + *param_1 = param_2; + pm_rwg[*param_1].field_0x0 = 0xFFFF; } -#pragma pop /* 800797BC-8007998C 0740FC 01D0+00 2/0 1/0 0/0 .text ClassifyPlane__4cBgWFv */ #pragma push @@ -539,25 +582,40 @@ asm void cBgW::ClassifyPlane() { #pragma pop /* 8007998C-800799E0 0742CC 0054+00 1/1 0/0 0/0 .text MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::MakeBlckTransMinMax(cXyz* param_0, cXyz* param_1) { - nofralloc -#include "asm/d/bg/d_bg_w/MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz.s" +void cBgW::MakeBlckTransMinMax(cXyz* param_0, cXyz* param_1) { + PSVECAdd(param_0, &field_0x7c, param_0); + PSVECAdd(param_1, &field_0x7c, param_1); } -#pragma pop /* 800799E0-80079A68 074320 0088+00 1/1 0/0 0/0 .text MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::MakeBlckMinMax(int param_0, cXyz* param_1, cXyz* param_2) { - nofralloc -#include "asm/d/bg/d_bg_w/MakeBlckMinMax__4cBgWFiP4cXyzP4cXyz.s" +void cBgW::MakeBlckMinMax(int vtx_index, cXyz* param_1, cXyz* param_2) { + Vec* vtx = &pm_vtx_tbl[vtx_index]; + + if (param_1->x > vtx->x) { + param_1->x = vtx->x; + } + + if (param_2->x < vtx->x) { + param_2->x = vtx->x; + } + + if (param_1->y > vtx->y) { + param_1->y = vtx->y; + } + + if (param_2->y < vtx->y) { + param_2->y = vtx->y; + } + + if (param_1->z > vtx->z) { + param_1->z = vtx->z; + } + + if (param_2->z < vtx->z) { + param_2->z = vtx->z; + } } -#pragma pop /* ############################################################################################## */ /* 804526FC-80452700 000CFC 0004+00 1/1 0/0 0/0 .sdata2 @3935 */ @@ -570,6 +628,43 @@ SECTION_SDATA2 static f32 lit_3936 = -1000000000.0f; SECTION_SDATA2 static f32 lit_3937 = 1.0f; /* 80079A68-80079BDC 0743A8 0174+00 1/1 0/0 0/0 .text MakeBlckBnd__4cBgWFiP4cXyzP4cXyz */ +// matches with literals +#ifdef NONMATCHING +void cBgW::MakeBlckBnd(int param_0, cXyz* param_1, cXyz* param_2) { + int tmp = pm_bgd->m_b_tbl[param_0].field_0x0; + int tmp2; + + if (param_0 != pm_bgd->m_b_num - 1) { + tmp2 = pm_bgd->m_b_tbl[param_0 + 1].field_0x0 - 1; + } else { + tmp2 = pm_bgd->m_t_num - 1; + } + + if (field_0x89 == 0) { + MakeBlckTransMinMax(param_1, param_2); + } else { + param_1->z = 1000000000.0f; + param_1->y = 1000000000.0f; + param_1->x = 1000000000.0f; + param_2->z = -1000000000.0f; + param_2->y = -1000000000.0f; + param_2->x = -1000000000.0f; + + for (int i = tmp; i <= tmp2; i++) { + MakeBlckMinMax(pm_bgd->m_t_tbl[i].field_0x0, param_1, param_2); + MakeBlckMinMax(pm_bgd->m_t_tbl[i].field_0x2, param_1, param_2); + MakeBlckMinMax(pm_bgd->m_t_tbl[i].field_0x4, param_1, param_2); + } + + param_1->x -= 1.0f; + param_1->y -= 1.0f; + param_1->z -= 1.0f; + param_2->x += 1.0f; + param_2->y += 1.0f; + param_2->z += 1.0f; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -578,16 +673,37 @@ asm void cBgW::MakeBlckBnd(int param_0, cXyz* param_1, cXyz* param_2) { #include "asm/d/bg/d_bg_w/MakeBlckBnd__4cBgWFiP4cXyzP4cXyz.s" } #pragma pop +#endif /* 80079BDC-80079CC4 07451C 00E8+00 1/1 0/0 0/0 .text MakeNodeTreeRp__4cBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::MakeNodeTreeRp(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/MakeNodeTreeRp__4cBgWFi.s" +void cBgW::MakeNodeTreeRp(int param_0) { + dzb_tree_data* tree_data = &pm_bgd->m_tree_tbl[param_0]; + + if (tree_data->field_0x0 & 1) { + int tmp = tree_data->m_id[0]; + + if (tmp != 0xFFFF) { + cXyz* max = (cXyz*)&pm_node_tree[param_0].getMaxP(); + cXyz* min = (cXyz*)&pm_node_tree[param_0].getMinP(); + + MakeBlckBnd(tmp, min, max); + } + } else { + pm_node_tree[param_0].ClearForMinMax(); + + for (int i = 0; i < 8; i++) { + // this is probably wrong, fix later + u16* tmp_p = (u16*)tree_data; + int tmp = tmp_p[i + 2]; + + if (tmp != 0xFFFF) { + MakeNodeTreeRp(tmp); + pm_node_tree[param_0].SetMinMax(pm_node_tree[tmp].getMinP()); + pm_node_tree[param_0].SetMinMax(pm_node_tree[tmp].getMaxP()); + } + } + } } -#pragma pop /* 80079CC4-80079DF0 074604 012C+00 1/1 0/0 0/0 .text MakeNodeTreeGrpRp__4cBgWFi */ #pragma push @@ -599,6 +715,23 @@ asm void cBgW::MakeNodeTreeGrpRp(int param_0) { } #pragma pop +/* void cBgW::MakeNodeTreeGrpRp(int param_0) { + //u16 tmp = pm_bgd->m_g_tbl[param_0].field_0x2e; + + if (pm_bgd->m_g_tbl[param_0].field_0x2e != 0xFFFF) { + MakeNodeTreeRp(pm_bgd->m_g_tbl[param_0].field_0x2e); + pm_node_tree[param_0].SetMin(pm_grp[pm_bgd->m_g_tbl[param_0].field_0x2e].mMin); + pm_node_tree[param_0].SetMax(pm_grp[pm_bgd->m_g_tbl[param_0].field_0x2e].mMax); + } + + u16 tmp2 = pm_bgd->m_g_tbl[param_0].field_0x28; + while (tmp2 != 0xFFFF) { + MakeNodeTreeGrpRp(tmp2); + pm_grp[param_0].SetMin(pm_grp[tmp2].mMin); + pm_grp[param_0].SetMax(pm_node_tree[tmp2].mMax); + } +} */ + /* 80079DF0-80079EEC 074730 00FC+00 2/2 0/0 0/0 .text MakeNodeTree__4cBgWFv */ #pragma push #pragma optimization_level 0 @@ -610,28 +743,77 @@ asm void cBgW::MakeNodeTree() { #pragma pop /* 80079EEC-80079F38 07482C 004C+00 2/0 1/0 0/0 .text ChkMemoryError__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::ChkMemoryError() { - nofralloc -#include "asm/d/bg/d_bg_w/ChkMemoryError__4cBgWFv.s" -} -#pragma pop +bool cBgW::ChkMemoryError() { + if (pm_tri == NULL || pm_rwg == NULL || field_0xa4 == NULL || pm_node_tree == NULL || + pm_grp == NULL) { + return true; + } -/* ############################################################################################## */ -/* 80452708-8045270C 000D08 0004+00 1/1 0/0 0/0 .sdata2 @4073 */ -SECTION_SDATA2 static f32 lit_4073 = 128.0f; + return false; +} /* 80079F38-8007A184 074878 024C+00 1/1 3/3 85/85 .text Set__4cBgWFP6cBgD_tUlPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::Set(cBgD_t* param_0, u32 param_1, f32 (*param_2)[3][4]) { - nofralloc -#include "asm/d/bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s" +bool cBgW::Set(cBgD_t* pbgd, u32 param_1, Mtx* pbase_mtx) { + field_0x88 = 0x20; + pm_vtx_tbl = NULL; + pm_tri = NULL; + pm_rwg = NULL; + field_0xa4 = NULL; + pm_node_tree = NULL; + pm_grp = NULL; + field_0x90 = cM_rndF(128.0f); + + if (pbgd == NULL) { + return true; + } + + field_0x88 = param_1; + if (field_0x88 & 0x20) { + pm_base = NULL; + PSMTXIdentity(m_inv_mtx); + PSMTXIdentity(field_0x4c); + } else { + pm_base = *pbase_mtx; + PSMTXCopy(pm_base, m_inv_mtx); + PSMTXCopy(pm_base, field_0x4c); + } + + pm_bgd = pbgd; + + if (SetVtx() || SetTri()) { + FreeArea(); + return true; + } + + pm_rwg = new cBgW_RwgElm[pm_bgd->m_t_num]; + if (pm_rwg == NULL) { + FreeArea(); + return true; + } + + field_0xa4 = new cBgW_unk_b_data[pm_bgd->m_b_num]; + if (field_0xa4 == NULL) { + FreeArea(); + return true; + } + + pm_node_tree = new cBgW_NodeTree[pm_bgd->m_tree_num]; + if (pm_node_tree == NULL) { + FreeArea(); + return true; + } + + pm_grp = new cBgW_GrpElm[pm_bgd->m_g_num]; + if (pm_grp == NULL) { + FreeArea(); + return true; + } + + ClassifyPlane(); + field_0x89 = 1; + MakeNodeTree(); + return false; } -#pragma pop /* 8007A184-8007A1E4 074AC4 0060+00 2/1 0/0 0/0 .text __dt__11cBgW_GrpElmFv */ #pragma push @@ -645,24 +827,50 @@ extern "C" asm void __dt__11cBgW_GrpElmFv() { #pragma pop /* 8007A1E4-8007A200 074B24 001C+00 1/1 0/0 0/0 .text __ct__11cBgW_GrpElmFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cBgW_GrpElm::cBgW_GrpElm() { - nofralloc -#include "asm/d/bg/d_bg_w/__ct__11cBgW_GrpElmFv.s" -} -#pragma pop +cBgW_GrpElm::cBgW_GrpElm() {} /* 8007A200-8007A344 074B40 0144+00 1/1 0/0 0/0 .text RwgLineCheck__4cBgWFUsP11cBgS_LinChk */ +// loop needs work +#ifdef NONMATCHING +bool cBgW::RwgLineCheck(u16 poly_index, cBgS_LinChk* linchk) { + bool chk; + chk = false; + cM3dGTri tri; + + while (1) { + dzb_tri_data* tri_data = &pm_bgd->m_t_tbl[poly_index]; + + tri.setBg(&pm_vtx_tbl[tri_data->field_0x0], &pm_vtx_tbl[tri_data->field_0x2], + &pm_vtx_tbl[tri_data->field_0x4], &pm_tri[poly_index].m_plane); + + cXyz cross; + if (tri.cross(linchk->GetLinP(), &cross, linchk->ChkFrontFlag(), linchk->ChkBackFlag())) { + if (!ChkPolyThrough(poly_index, linchk->GetPolyPassChk())) { + linchk->SetCross(cross); + linchk->SetPolyIndex(poly_index); + chk = true; + } + } + + poly_index = pm_rwg[poly_index].field_0x0; + + if (poly_index != 0xFFFF) { + return chk; + } + } + + return chk; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cBgW::RwgLineCheck(u16 param_0, cBgS_LinChk* param_1) { +asm bool cBgW::RwgLineCheck(u16 param_0, cBgS_LinChk* param_1) { nofralloc #include "asm/d/bg/d_bg_w/RwgLineCheck__4cBgWFUsP11cBgS_LinChk.s" } #pragma pop +#endif /* 8007A344-8007A3A0 074C84 005C+00 1/0 0/0 0/0 .text __dt__8cM3dGTriFv */ #pragma push @@ -677,34 +885,81 @@ extern "C" asm void __dt__8cM3dGTriFv() { /* 8007A3A0-8007A52C 074CE0 018C+00 1/1 0/0 0/0 .text LineCheckRp__4cBgWFP11cBgS_LinChki */ +#ifdef NONMATCHING +bool cBgW::LineCheckRp(cBgS_LinChk* linchk, int param_1) { + cBgW_NodeTree* pnode0 = &pm_node_tree[param_1]; + cM3dGLin* lin = linchk->GetLinP(); + + if (!cM3d_Cross_MinMaxBoxLine(&pnode0->getMinP(), &pnode0->getMaxP(), &lin->GetStartP(), + &lin->GetEndP())) { + return false; + } + + dzb_tree_data* pnode = &pm_bgd->m_tree_tbl[param_1]; + bool chk = false; + + if (pnode->field_0x0 & 1) { + if (linchk->GetPreWallChk()) { + u16 tmp = field_0xa4[pnode->m_id[0]].field_0x2; + if (tmp != 0xFFFF && RwgLineCheck(tmp, linchk)) { + chk = true; + } + } + + if (linchk->GetPreGroundChk()) { + u16 tmp = field_0xa4[pnode->m_id[0]].field_0x4; + if (tmp != 0xFFFF && RwgLineCheck(tmp, linchk)) { + chk = true; + } + } + + if (linchk->GetPreRoofChk()) { + u16 tmp = field_0xa4[pnode->m_id[0]].field_0x0; + if (tmp != 0xFFFF && RwgLineCheck(tmp, linchk)) { + chk = true; + } + } + + return chk; + } + + for (int i = 0; i < 8; i++) { + // this is probably wrong, fix later + u16* tmp_p = (u16*)pnode; + u16 tmp = tmp_p[i + 2]; + + if (tmp != 0xFFFF && LineCheckRp(linchk, tmp)) { + chk = true; + } + } + + return chk; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cBgW::LineCheckRp(cBgS_LinChk* param_0, int param_1) { +asm bool cBgW::LineCheckRp(cBgS_LinChk* param_0, int param_1) { nofralloc #include "asm/d/bg/d_bg_w/LineCheckRp__4cBgWFP11cBgS_LinChki.s" } #pragma pop +#endif /* 8007A52C-8007A658 074E6C 012C+00 1/1 0/0 0/0 .text LineCheckGrpRp__4cBgWFP11cBgS_LinChkii */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cBgW::LineCheckGrpRp(cBgS_LinChk* param_0, int param_1, int param_2) { +asm bool cBgW::LineCheckGrpRp(cBgS_LinChk* param_0, int param_1, int param_2) { nofralloc #include "asm/d/bg/d_bg_w/LineCheckGrpRp__4cBgWFP11cBgS_LinChkii.s" } #pragma pop /* 8007A658-8007A680 074F98 0028+00 2/0 1/0 0/0 .text LineCheck__4cBgWFP11cBgS_LinChk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::LineCheck(cBgS_LinChk* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s" +bool cBgW::LineCheck(cBgS_LinChk* pchk) { + return LineCheckGrpRp(pchk, field_0x92, 1); } -#pragma pop /* 8007A680-8007A774 074FC0 00F4+00 2/2 0/0 0/0 .text * RwgGroundCheckCommon__4cBgWFfUsP11cBgS_GndChk */ @@ -756,7 +1011,7 @@ asm void cBgW::GroundCrossRp(cBgS_GndChk* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cBgW::GroundCrossGrpRp(cBgS_GndChk* param_0, int param_1, int param_2) { +asm bool cBgW::GroundCrossGrpRp(cBgS_GndChk* param_0, int param_1, int param_2) { nofralloc #include "asm/d/bg/d_bg_w/GroundCrossGrpRp__4cBgWFP11cBgS_GndChkii.s" } @@ -764,34 +1019,55 @@ asm void cBgW::GroundCrossGrpRp(cBgS_GndChk* param_0, int param_1, int param_2) /* 8007AB9C-8007ABC4 0754DC 0028+00 2/0 1/0 0/0 .text GroundCross__4cBgWFP11cBgS_GndChk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::GroundCross(cBgS_GndChk* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GroundCross__4cBgWFP11cBgS_GndChk.s" +bool cBgW::GroundCross(cBgS_GndChk* pchk) { + return GroundCrossGrpRp(pchk, field_0x92, 1); } -#pragma pop /* 8007ABC4-8007AC10 075504 004C+00 1/1 0/0 0/0 .text CopyOldMtx__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::CopyOldMtx() { - nofralloc -#include "asm/d/bg/d_bg_w/CopyOldMtx__4cBgWFv.s" +void cBgW::CopyOldMtx() { + if (pm_base != NULL) { + PSMTXCopy(field_0x4c, m_inv_mtx); + PSMTXCopy(pm_base, field_0x4c); + } } -#pragma pop /* 8007AC10-8007ADF0 075550 01E0+00 1/1 0/0 0/0 .text Move__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::Move() { - nofralloc -#include "asm/d/bg/d_bg_w/Move__4cBgWFv.s" +void cBgW::Move() { + if (!ChkLock() && (field_0x88 & 1)) { + if (!ChkNoCalcVtx()) { + if (field_0x90 >= 0xFF || field_0x4c[0][0] != pm_base[0][0] || + field_0x4c[0][1] != pm_base[0][1] || field_0x4c[0][2] != pm_base[0][2] || + field_0x4c[1][0] != pm_base[1][0] || field_0x4c[1][1] != pm_base[1][1] || + field_0x4c[1][2] != pm_base[1][2] || field_0x4c[2][0] != pm_base[2][0] || + field_0x4c[2][1] != pm_base[2][1] || field_0x4c[2][2] != pm_base[2][2]) { + field_0x89 = 1; + } else if (field_0x4c[0][3] == pm_base[0][3] && field_0x4c[1][3] == pm_base[1][3] && + field_0x4c[2][3] == pm_base[2][3]) { + PSMTXCopy(pm_base, m_inv_mtx); + if (!ChkFlush()) { + return; + } + } else { + field_0x7c.x = pm_base[0][3] - field_0x4c[0][3]; + field_0x7c.y = pm_base[1][3] - field_0x4c[1][3]; + field_0x7c.z = pm_base[2][3] - field_0x4c[2][3]; + field_0x89 = 0; + } + + if (field_0x90 >= 0xFF) { + field_0x90 = 0; + } else { + field_0x90++; + } + GlobalVtx(); + } + + CopyOldMtx(); + CalcPlane(); + ClassifyPlane(); + MakeNodeTree(); + } } -#pragma pop /* 8007ADF0-8007AEA4 075730 00B4+00 1/1 0/0 0/0 .text RwgShdwDraw__4cBgWFiP13cBgS_ShdwDraw */ #pragma push @@ -825,14 +1101,9 @@ asm void cBgW::ShdwDrawGrpRp(cBgS_ShdwDraw* param_0, int param_1) { #pragma pop /* 8007B084-8007B0A8 0759C4 0024+00 2/0 1/0 0/0 .text ShdwDraw__4cBgWFP13cBgS_ShdwDraw */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::ShdwDraw(cBgS_ShdwDraw* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/ShdwDraw__4cBgWFP13cBgS_ShdwDraw.s" +void cBgW::ShdwDraw(cBgS_ShdwDraw* pshdw) { + ShdwDrawGrpRp(pshdw, field_0x92); } -#pragma pop /* 8007B0A8-8007B0B0 0759E8 0008+00 1/0 0/0 0/0 .text ChkPolyThrough__4cBgWFiP16cBgS_PolyPassChk */ @@ -842,14 +1113,9 @@ bool cBgW::ChkPolyThrough(int param_0, cBgS_PolyPassChk* param_1) { /* 8007B0B0-8007B0DC 0759F0 002C+00 1/0 0/0 0/0 .text * ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::ChkShdwDrawThrough(int param_0, cBgS_PolyPassChk* param_1) { - nofralloc -#include "asm/d/bg/d_bg_w/ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk.s" +bool cBgW::ChkShdwDrawThrough(int param_0, cBgS_PolyPassChk* param_1) { + return ChkPolyThrough(param_0, param_1); } -#pragma pop /* 8007B0DC-8007B0E4 075A1C 0008+00 1/0 0/0 0/0 .text ChkGrpThrough__4cBgWFiP15cBgS_GrpPassChki */ bool cBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) { @@ -857,6 +1123,27 @@ bool cBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) { } /* 8007B0E4-8007B164 075A24 0080+00 2/0 1/0 0/0 .text GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo */ +// missing array access instruction generation +#ifdef NONMATCHING +s32 cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& poly) const { + u16 poly_index = poly.GetPolyIndex(); + int grp_index = GetTriGrp(poly_index); + + u16 tmp = pm_bgd->m_g_tbl[grp_index].field_0x24; + int room_index; + + if (tmp == 0xFFFF || pm_bgd->m_g_tbl[tmp].field_0x24 == 0xFFFF) { + return 0xFF; + } + + int room_index = pm_bgd->m_g_tbl[tmp].field_0x2a; + if (room_index >= 0xFF) { + room_index = 0xFF; + } + + return room_index; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -865,477 +1152,284 @@ asm s32 cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& param_0) const { #include "asm/d/bg/d_bg_w/GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo.s" } #pragma pop +#endif /* 8007B164-8007B17C 075AA4 0018+00 2/0 1/0 0/0 .text GetBnd__4cBgWCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetBnd() const { - nofralloc -#include "asm/d/bg/d_bg_w/GetBnd__4cBgWCFv.s" +cM3dGAab* cBgW::GetBnd() const { + return &pm_grp[field_0x92].m_aab; } -#pragma pop /* 8007B17C-8007B1B4 075ABC 0038+00 0/0 1/1 0/0 .text GetTrans__4cBgWCFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetTrans(cXyz* param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetTrans__4cBgWCFP4cXyz.s" +void cBgW::GetTrans(cXyz* p_trans) const { + MtxP base = pm_base; + p_trans->x = base[0][3] - m_inv_mtx[0][3]; + p_trans->y = base[1][3] - m_inv_mtx[1][3]; + p_trans->z = base[2][3] - m_inv_mtx[2][3]; } -#pragma pop /* 8007B1B4-8007B240 075AF4 008C+00 2/0 1/0 0/0 .text * GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::GetTriPnt(cBgS_PolyInfo const& param_0, cXyz* param_1, cXyz* param_2, - cXyz* param_3) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s" +bool cBgW::GetTriPnt(cBgS_PolyInfo const& poly, cXyz* p_pnt1, cXyz* p_pnt2, cXyz* p_pnt3) const { + u16 poly_index = poly.GetPolyIndex(); + dzb_tri_data* tri_data = &pm_bgd->m_t_tbl[poly_index]; + + p_pnt1->set(pm_vtx_tbl[tri_data->field_0x0]); + p_pnt2->set(pm_vtx_tbl[tri_data->field_0x2]); + p_pnt3->set(pm_vtx_tbl[tri_data->field_0x4]); + return true; } -#pragma pop /* 8007B240-8007B270 075B80 0030+00 2/0 1/0 0/0 .text GetTopUnder__4cBgWCFPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetTopUnder(f32* param_0, f32* param_1) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetTopUnder__4cBgWCFPfPf.s" +void cBgW::GetTopUnder(f32* p_top, f32* p_under) const { + *p_under = pm_grp[field_0x92].m_aab.getMinP().y; + *p_top = pm_grp[field_0x92].m_aab.getMaxP().y; } -#pragma pop /* 8007B270-8007B2B0 075BB0 0040+00 2/0 1/0 0/0 .text GetTriPla__4cBgWCFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cM3dGPla cBgW::GetTriPla(cBgS_PolyInfo const& param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetTriPla__4cBgWCFRC13cBgS_PolyInfo.s" +cM3dGPla cBgW::GetTriPla(cBgS_PolyInfo const& poly) const { + u16 poly_index = poly.GetPolyIndex(); + return pm_tri[poly_index].m_plane; } -#pragma pop /* 8007B2B0-8007B2F4 075BF0 0044+00 2/0 1/0 0/0 .text GetGrpInf__4cBgWCFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 cBgW::GetGrpInf(cBgS_PolyInfo const& param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s" +u32 cBgW::GetGrpInf(cBgS_PolyInfo const& poly) const { + int grp = GetTriGrp(poly.GetPolyIndex()); + return pm_bgd->m_g_tbl[grp].m_info; } -#pragma pop /* 8007B2F4-8007B30C 075C34 0018+00 5/5 0/0 0/0 .text GetPolyInfId__4cBgWCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetPolyInfId(int param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyInfId__4cBgWCFi.s" +int cBgW::GetPolyInfId(int poly_index) const { + return pm_bgd->m_t_tbl[poly_index].m_id; } -#pragma pop /* 8007B30C-8007B360 075C4C 0054+00 6/6 0/0 0/0 .text GetPolyInf0__4cBgWCFiUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetPolyInf0(int param_0, u32 param_1, u32 param_2) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyInf0__4cBgWCFiUlUl.s" +u32 cBgW::GetPolyInf0(int poly_index, u32 mask, u32 shift) const { + int id = GetPolyInfId(poly_index); + return (pm_bgd->m_ti_tbl[id].m_info0 & mask) >> shift; } -#pragma pop /* 8007B360-8007B3AC 075CA0 004C+00 10/10 0/0 0/0 .text GetMaskPolyInf0_NoShift__4cBgWCFiUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetMaskPolyInf0_NoShift(int param_0, u32 param_1) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetMaskPolyInf0_NoShift__4cBgWCFiUl.s" +u32 cBgW::GetMaskPolyInf0_NoShift(int poly_index, u32 mask) const { + int id = GetPolyInfId(poly_index); + return (pm_bgd->m_ti_tbl[id].m_info0 & mask); } -#pragma pop /* 8007B3AC-8007B3D8 075CEC 002C+00 1/0 1/0 0/0 .text GetExitId__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetExitId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetExitId__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetExitId(cBgS_PolyInfo const& poly) { + return GetPolyInf0(poly.GetPolyIndex(), 0x3F, 0); } -#pragma pop /* 8007B3D8-8007B404 075D18 002C+00 1/0 1/0 0/0 .text GetPolyColor__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetPolyColor(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetPolyColor(cBgS_PolyInfo const& poly) { + return GetPolyInf0(poly.GetPolyIndex(), 0x3FC0, 6); } -#pragma pop /* 8007B404-8007B430 075D44 002C+00 1/0 1/0 0/0 .text GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s" +BOOL dBgW::GetHorseNoEntry(cBgS_PolyInfo const& poly) { + return GetPolyInf0(poly.GetPolyIndex(), 0x200000, 21); } -#pragma pop /* 8007B430-8007B460 075D70 0030+00 1/0 1/0 0/0 .text GetSpecialCode__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetSpecialCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetSpecialCode(cBgS_PolyInfo const& poly) { + return GetSpecialCode(poly.GetPolyIndex()); } -#pragma pop /* 8007B460-8007B488 075DA0 0028+00 1/0 1/0 0/0 .text GetSpecialCode__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetSpecialCode(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFi.s" +int dBgW::GetSpecialCode(int poly_index) { + return GetPolyInf0(poly_index, 0xF000000, 24); } -#pragma pop /* 8007B488-8007B4B4 075DC8 002C+00 1/0 1/0 0/0 .text GetMagnetCode__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetMagnetCode(cBgS_PolyInfo const& poly) { + return GetPolyInf0(poly.GetPolyIndex(), 0x30000000, 28); } -#pragma pop /* 8007B4B4-8007B4E0 075DF4 002C+00 1/0 1/0 0/0 .text GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetMonkeyBarsCode(cBgS_PolyInfo const& poly) { + return GetPolyInf0(poly.GetPolyIndex(), 0x80000000, 31); } -#pragma pop /* 8007B4E0-8007B504 075E20 0024+00 1/0 1/0 0/0 .text GetPolyObjThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyObjThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyObjThrough__4dBgWFi.s" +u32 dBgW::GetPolyObjThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x4000); } -#pragma pop /* 8007B504-8007B52C 075E44 0028+00 1/0 1/0 0/0 .text GetPolyCamThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyCamThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyCamThrough__4dBgWFi.s" +u32 dBgW::GetPolyCamThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x8000); } -#pragma pop /* 8007B52C-8007B550 075E6C 0024+00 1/0 1/0 0/0 .text GetPolyLinkThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyLinkThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyLinkThrough__4dBgWFi.s" +u32 dBgW::GetPolyLinkThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x10000); } -#pragma pop /* 8007B550-8007B574 075E90 0024+00 1/0 1/0 0/0 .text GetPolyArrowThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyArrowThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyArrowThrough__4dBgWFi.s" +u32 dBgW::GetPolyArrowThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x20000); } -#pragma pop /* 8007B574-8007B598 075EB4 0024+00 1/0 1/0 0/0 .text GetPolyHSStick__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 dBgW::GetPolyHSStick(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s" +u32 dBgW::GetPolyHSStick(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x40000); } -#pragma pop /* 8007B598-8007B5BC 075ED8 0024+00 1/0 1/0 0/0 .text GetPolyBoomerangThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyBoomerangThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyBoomerangThrough__4dBgWFi.s" +u32 dBgW::GetPolyBoomerangThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x80000); } -#pragma pop /* 8007B5BC-8007B5E0 075EFC 0024+00 1/0 1/0 0/0 .text GetPolyRopeThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyRopeThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyRopeThrough__4dBgWFi.s" +u32 dBgW::GetPolyRopeThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x100000); } -#pragma pop /* 8007B5E0-8007B604 075F20 0024+00 1/0 1/0 0/0 .text GetPolyBombThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyBombThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyBombThrough__4dBgWFi.s" +u32 dBgW::GetPolyBombThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x800000); } -#pragma pop /* 8007B604-8007B630 075F44 002C+00 1/0 1/0 0/0 .text GetShdwThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetShdwThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetShdwThrough__4dBgWFi.s" +bool dBgW::GetShdwThrough(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x400000) != 0; } -#pragma pop /* 8007B630-8007B654 075F70 0024+00 1/0 1/0 0/0 .text GetUnderwaterRoofCode__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetUnderwaterRoofCode(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s" +u32 dBgW::GetUnderwaterRoofCode(int poly_index) { + return GetMaskPolyInf0_NoShift(poly_index, 0x40000000); } -#pragma pop /* 8007B654-8007B6AC 075F94 0058+00 6/6 0/0 0/0 .text GetPolyInf1__4cBgWCFiUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetPolyInf1(int param_0, u32 param_1, u32 param_2) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyInf1__4cBgWCFiUlUl.s" +u32 cBgW::GetPolyInf1(int poly_index, u32 mask, u32 shift) const { + int id = GetPolyInfId(poly_index); + return (pm_bgd->m_ti_tbl[id].m_info1 & mask) >> shift; } -#pragma pop /* 8007B6AC-8007B6D8 075FEC 002C+00 1/0 1/0 0/0 .text GetLinkNo__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetLinkNo(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetLinkNo__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetLinkNo(cBgS_PolyInfo const& poly) { + return GetPolyInf1(poly.GetPolyIndex(), 0xFF, 0); } -#pragma pop /* 8007B6D8-8007B704 076018 002C+00 1/0 1/0 0/0 .text GetWallCode__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetWallCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetWallCode(cBgS_PolyInfo const& poly) { + return GetPolyInf1(poly.GetPolyIndex(), 0xF00, 8); } -#pragma pop /* 8007B704-8007B734 076044 0030+00 1/0 1/0 0/0 .text GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetPolyAtt0(cBgS_PolyInfo const& poly) { + return GetPolyInf1(poly.GetPolyIndex(), 0xF000, 12); } -#pragma pop /* 8007B734-8007B760 076074 002C+00 1/0 1/0 0/0 .text GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetPolyAtt1(cBgS_PolyInfo const& poly) { + return GetPolyInf1(poly.GetPolyIndex(), 0x70000, 16); } -#pragma pop /* 8007B760-8007B78C 0760A0 002C+00 1/0 1/0 0/0 .text GetGroundCode__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgW::GetGroundCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s" +int dBgW::GetGroundCode(cBgS_PolyInfo const& poly) { + return GetPolyInf1(poly.GetPolyIndex(), 0xF80000, 19); } -#pragma pop /* 8007B78C-8007B7DC 0760CC 0050+00 2/2 0/0 0/0 .text GetMaskPolyInf1_NoShift__4cBgWCFiUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetMaskPolyInf1_NoShift(int param_0, u32 param_1) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetMaskPolyInf1_NoShift__4cBgWCFiUl.s" +u32 cBgW::GetMaskPolyInf1_NoShift(int poly_index, u32 mask) const { + int id = GetPolyInfId(poly_index); + return (pm_bgd->m_ti_tbl[id].m_info1 & mask); } -#pragma pop /* 8007B7DC-8007B800 07611C 0024+00 1/0 1/0 0/0 .text GetIronBallThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetIronBallThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetIronBallThrough__4dBgWFi.s" +u32 dBgW::GetIronBallThrough(int poly_index) { + return GetMaskPolyInf1_NoShift(poly_index, 0x1000000); } -#pragma pop /* 8007B800-8007B824 076140 0024+00 1/0 1/0 0/0 .text GetAttackThrough__4dBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 dBgW::GetAttackThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s" +u32 dBgW::GetAttackThrough(int poly_index) { + return GetMaskPolyInf1_NoShift(poly_index, 0x2000000); } -#pragma pop /* 8007B824-8007B87C 076164 0058+00 4/4 0/0 0/0 .text GetPolyInf2__4cBgWCFiUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetPolyInf2(int param_0, u32 param_1, u32 param_2) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyInf2__4cBgWCFiUlUl.s" +u32 cBgW::GetPolyInf2(int poly_index, u32 mask, u32 shift) const { + int id = GetPolyInfId(poly_index); + return (pm_bgd->m_ti_tbl[id].m_info2 & mask) >> shift; } -#pragma pop /* 8007B87C-8007B8A8 0761BC 002C+00 1/0 1/0 0/0 .text GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetCamMoveBG(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetCamMoveBG(cBgS_PolyInfo const& poly) { + return GetPolyInf2(poly.GetPolyIndex(), 0xFF, 0); } -#pragma pop /* 8007B8A8-8007B8D8 0761E8 0030+00 1/0 1/0 0/0 .text GetRoomCamId__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetRoomCamId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetRoomCamId(cBgS_PolyInfo const& poly) { + return GetPolyInf2(poly.GetPolyIndex(), 0xFF00, 8); } -#pragma pop /* 8007B8D8-8007B904 076218 002C+00 1/0 1/0 0/0 .text GetRoomPathId__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetRoomPathId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetRoomPathId(cBgS_PolyInfo const& poly) { + return GetPolyInf2(poly.GetPolyIndex(), 0xFF0000, 16); } -#pragma pop /* 8007B904-8007B930 076244 002C+00 1/0 1/0 0/0 .text GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetRoomPathPntNo(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s" +s32 dBgW::GetRoomPathPntNo(cBgS_PolyInfo const& poly) { + return GetPolyInf2(poly.GetPolyIndex(), 0xFF000000, 24); } -#pragma pop /* 8007B930-8007B948 076270 0018+00 2/2 0/0 0/0 .text GetTriGrp__4cBgWCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::GetTriGrp(int param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w/GetTriGrp__4cBgWCFi.s" +int cBgW::GetTriGrp(int poly_index) const { + return pm_bgd->m_t_tbl[poly_index].m_grp; } -#pragma pop /* 8007B948-8007B958 076288 0010+00 2/0 1/0 0/0 .text ChkNotReady__4cBgWCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::ChkNotReady() const { - nofralloc -#include "asm/d/bg/d_bg_w/ChkNotReady__4cBgWCFv.s" +bool cBgW::ChkNotReady() const { + return pm_vtx_tbl == NULL; } -#pragma pop /* 8007B958-8007B964 076298 000C+00 2/0 1/0 0/0 .text ChkLock__4cBgWCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::ChkLock() const { - nofralloc -#include "asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s" +bool cBgW::ChkLock() const { + return field_0x88 & 0x80; } -#pragma pop /* 8007B964-8007B970 0762A4 000C+00 2/0 1/0 0/0 .text ChkMoveBg__4cBgWCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool cBgW::ChkMoveBg() const { - nofralloc -#include "asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s" +bool cBgW::ChkMoveBg() const { + return field_0x88 & 0x1; } -#pragma pop /* 8007B970-8007B9C0 0762B0 0050+00 1/1 2/2 87/87 .text __ct__4dBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgW::dBgW() { - nofralloc -#include "asm/d/bg/d_bg_w/__ct__4dBgWFv.s" +dBgW::dBgW() { + m_crr_func = NULL; + m_ride_callback = NULL; + m_arrow_stick_callback = NULL; + m_flags = 0; } -#pragma pop /* 8007B9C0-8007B9EC 076300 002C+00 0/0 2/2 115/115 .text Move__4dBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::Move() { - nofralloc -#include "asm/d/bg/d_bg_w/Move__4dBgWFv.s" +void dBgW::Move() { + OnMoveFlag(); + cBgW::Move(); } -#pragma pop /* 8007B9EC-8007BA40 07632C 0054+00 2/2 0/0 0/0 .text * positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf */ +// matches with literals +#ifdef NONMATCHING +void dBgW::positionWallCorrect(dBgS_Acch* param_0, f32 param_1, cM3dGPla& param_2, cXyz* pupper_pos, + f32 param_4) { + param_0->SetWallHit(); + + f32 tmp = param_4 - 1.0f; + if (tmp < 0.0f) { + tmp = 0.0f; + } + + f32 temp_f2 = tmp * param_1; + pupper_pos->x += temp_f2 * param_2.mNormal.x; + pupper_pos->z += temp_f2 * param_2.mNormal.z; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1345,6 +1439,7 @@ asm void dBgW::positionWallCorrect(dBgS_Acch* param_0, f32 param_1, cM3dGPla& pa #include "asm/d/bg/d_bg_w/positionWallCorrect__4dBgWFP9dBgS_AcchfR8cM3dGPlaP4cXyzf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80452710-80452718 000D10 0004+04 2/2 0/0 0/0 .sdata2 @4962 */ @@ -1380,31 +1475,32 @@ asm void dBgW::WallCorrectRp(dBgS_Acch* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgW::WallCorrectGrpRp(dBgS_Acch* param_0, int param_1, int param_2) { +asm bool dBgW::WallCorrectGrpRp(dBgS_Acch* param_0, int param_1, int param_2) { nofralloc #include "asm/d/bg/d_bg_w/WallCorrectGrpRp__4dBgWFP9dBgS_Acchii.s" } #pragma pop /* 8007C484-8007C4AC 076DC4 0028+00 1/0 1/0 0/0 .text WallCorrect__4dBgWFP9dBgS_Acch */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::WallCorrect(dBgS_Acch* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/WallCorrect__4dBgWFP9dBgS_Acch.s" +bool dBgW::WallCorrect(dBgS_Acch* pacch) { + return WallCorrectGrpRp(pacch, field_0x92, 1); } -#pragma pop + +struct wcs_data { + /* 0x0 */ f32 field_0x0; + /* 0x4 */ u16 field_0x4; + /* 0x8 */ int field_0x8; +}; // Size: 0xC /* ############################################################################################## */ /* 80424B80-80424F70 0518A0 03F0+00 1/1 0/0 0/0 .bss l_wcsbuf */ -static u8 l_wcsbuf[1008]; +static wcs_data l_wcsbuf[84]; /* 80450F80-80450F84 000480 0004+00 2/2 0/0 0/0 .sbss l_start */ -static u8 l_start[4]; +static wcs_data* l_start; /* 80450F84-80450F88 000484 0004+00 2/2 0/0 0/0 .sbss l_wcsbuf_num */ -static u8 l_wcsbuf_num[4]; +static int l_wcsbuf_num; /* 8007C4AC-8007C714 076DEC 0268+00 1/1 0/0 0/0 .text RwgWallCorrectSort__4dBgWFP9dBgS_AcchUs */ #pragma push @@ -1473,21 +1569,16 @@ asm void dBgW::RoofChkRp(dBgS_RoofChk* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgW::RoofChkGrpRp(dBgS_RoofChk* param_0, int param_1, int param_2) { +asm bool dBgW::RoofChkGrpRp(dBgS_RoofChk* param_0, int param_1, int param_2) { nofralloc #include "asm/d/bg/d_bg_w/RoofChkGrpRp__4dBgWFP12dBgS_RoofChkii.s" } #pragma pop /* 8007D470-8007D498 077DB0 0028+00 1/0 1/0 0/0 .text RoofChk__4dBgWFP12dBgS_RoofChk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dBgW::RoofChk(dBgS_RoofChk* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/RoofChk__4dBgWFP12dBgS_RoofChk.s" +bool dBgW::RoofChk(dBgS_RoofChk* pchk) { + return RoofChkGrpRp(pchk, field_0x92, 1); } -#pragma pop /* 8007D498-8007D5C4 077DD8 012C+00 1/1 0/0 0/0 .text RwgSplGrpChk__4dBgWFUsP14dBgS_SplGrpChk */ #pragma push @@ -1513,7 +1604,7 @@ asm void dBgW::SplGrpChkRp(dBgS_SplGrpChk* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgW::SplGrpChkGrpRp(dBgS_SplGrpChk* param_0, int param_1, int param_2) { +asm bool dBgW::SplGrpChkGrpRp(dBgS_SplGrpChk* param_0, int param_1, int param_2) { nofralloc #include "asm/d/bg/d_bg_w/SplGrpChkGrpRp__4dBgWFP14dBgS_SplGrpChkii.s" } @@ -1521,14 +1612,9 @@ asm void dBgW::SplGrpChkGrpRp(dBgS_SplGrpChk* param_0, int param_1, int param_2) /* 8007D830-8007D858 078170 0028+00 1/0 1/0 0/0 .text SplGrpChk__4dBgWFP14dBgS_SplGrpChk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dBgW::SplGrpChk(dBgS_SplGrpChk* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/SplGrpChk__4dBgWFP14dBgS_SplGrpChk.s" +bool dBgW::SplGrpChk(dBgS_SplGrpChk* pchk) { + return SplGrpChkGrpRp(pchk, field_0x92, 1); } -#pragma pop /* 8007D858-8007D8E8 078198 0090+00 1/1 0/0 0/0 .text RwgCaptPoly__4dBgWFiR13dBgS_CaptPoly */ #pragma push @@ -1562,14 +1648,9 @@ asm void dBgW::CaptPolyGrpRp(dBgS_CaptPoly& param_0, int param_1, int param_2) { #pragma pop /* 8007DAF8-8007DB20 078438 0028+00 1/0 1/0 0/0 .text CaptPoly__4dBgWFR13dBgS_CaptPoly */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::CaptPoly(dBgS_CaptPoly& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/CaptPoly__4dBgWFR13dBgS_CaptPoly.s" +void dBgW::CaptPoly(dBgS_CaptPoly& poly) { + CaptPolyGrpRp(poly, field_0x92, 1); } -#pragma pop /* 8007DB20-8007DC70 078460 0150+00 1/1 0/0 0/0 .text RwgSphChk__4dBgWFUsP11dBgS_SphChkPv */ @@ -1597,42 +1678,27 @@ asm void dBgW::SphChkRp(dBgS_SphChk* param_0, void* param_1, int param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgW::SphChkGrpRp(dBgS_SphChk* param_0, void* param_1, int param_2, int param_3) { +asm bool dBgW::SphChkGrpRp(dBgS_SphChk* param_0, void* param_1, int param_2, int param_3) { nofralloc #include "asm/d/bg/d_bg_w/SphChkGrpRp__4dBgWFP11dBgS_SphChkPvii.s" } #pragma pop /* 8007DF00-8007DF28 078840 0028+00 1/0 1/0 0/0 .text SphChk__4dBgWFP11dBgS_SphChkPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dBgW::SphChk(dBgS_SphChk* param_0, void* param_1) { - nofralloc -#include "asm/d/bg/d_bg_w/SphChk__4dBgWFP11dBgS_SphChkPv.s" +bool dBgW::SphChk(dBgS_SphChk* pchk, void* param_1) { + return SphChkGrpRp(pchk, param_1, field_0x92, 1); } -#pragma pop /* 8007DF28-8007DF58 078868 0030+00 1/0 1/0 0/0 .text GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::GetPolyGrpRoomInfId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo.s" +u8 dBgW::GetPolyGrpRoomInfId(cBgS_PolyInfo const& poly) { + return GetGrpInf(poly) & 0xFF; } -#pragma pop /* 8007DF58-8007DF88 078898 0030+00 1/0 1/0 0/0 .text GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgW::GetGrpSoundId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s" +u8 dBgW::GetGrpSoundId(cBgS_PolyInfo const& poly) { + return GetGrpInf(poly) >> 11; } -#pragma pop /* 8007DF88-8007DFC4 0788C8 003C+00 1/0 0/0 0/0 .text * CrrPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ @@ -1672,31 +1738,101 @@ asm void dBgW::MatrixCrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool pa /* 8007E02C-8007E360 07896C 0334+00 1/0 1/0 0/0 .text ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk */ +// should match when dHorse_c member function table is setup +#ifdef NONMATCHING +bool dBgW::ChkPolyThrough(int poly_index, cBgS_PolyPassChk* ppass_chk) { + if (ppass_chk == NULL) { + return false; + } + dBgS_PolyPassChk* chk = (dBgS_PolyPassChk*)ppass_chk; + + if (chk->ChkObj() && GetPolyObjThrough(poly_index)) { + return true; + } + + if (chk->ChkCam() && GetPolyCamThrough(poly_index)) { + return true; + } + + if ((chk->ChkLink() && GetPolyLinkThrough(poly_index)) || + (chk->ChkHorse() && GetPolyLinkThrough(poly_index))) { + return true; + } + + if (chk->ChkArrow() && GetPolyArrowThrough(poly_index)) { + return true; + } + + if (chk->ChkBomb() && GetPolyBombThrough(poly_index)) { + return true; + } + + if (chk->ChkBoomerang() && GetPolyBoomerangThrough(poly_index)) { + return true; + } + + if (chk->ChkRope() && GetPolyRopeThrough(poly_index)) { + return true; + } + + if (chk->ChkUnderwaterRoof() && GetUnderwaterRoofCode(poly_index)) { + return true; + } + + int info_f00 = GetPolyInf1(poly_index, 0xF00, 8); + if (info_f00 == 8 && chk->ChkNoHorse()) { + return true; + } + + if (info_f00 == 9) { + if (chk->ChkNoHorse()) { + return true; + } + + cXyz pos(pm_tri[poly_index].m_plane.mNormal); + if (chk->ChkHorse() && i_dComIfGp_getHorseActor() != NULL) { + if (!i_dComIfGp_getHorseActor()->checkSpecialWallHit(pos)) { + return true; + } + } + } + + if (chk->ChkStatue() && GetSpecialCode(poly_index) == 7) { + return true; + } + + if (chk->ChkIronBall() && GetIronBallThrough(poly_index)) { + return true; + } + + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgW::ChkPolyThrough(int param_0, cBgS_PolyPassChk* param_1) { +asm bool dBgW::ChkPolyThrough(int param_0, cBgS_PolyPassChk* param_1) { nofralloc #include "asm/d/bg/d_bg_w/ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk.s" } #pragma pop +#endif /* 8007E360-8007E3D8 078CA0 0078+00 1/0 1/0 0/0 .text * ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::ChkShdwDrawThrough(int param_0, cBgS_PolyPassChk* param_1) { - nofralloc -#include "asm/d/bg/d_bg_w/ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk.s" +bool dBgW::ChkShdwDrawThrough(int poly_index, cBgS_PolyPassChk*) { + if (GetShdwThrough(poly_index)) { + return true; + } + + return GetPolyArrowThrough(poly_index); } -#pragma pop /* 8007E3D8-8007E444 078D18 006C+00 1/0 1/0 0/0 .text ChkGrpThrough__4dBgWFiP15cBgS_GrpPassChki */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) { +asm bool dBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) { nofralloc #include "asm/d/bg/d_bg_w/ChkGrpThrough__4dBgWFiP15cBgS_GrpPassChki.s" } @@ -1704,14 +1840,11 @@ asm void dBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) /* 8007E444-8007E474 078D84 0030+00 1/0 1/0 0/0 .text * CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::CallRideCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1) { - nofralloc -#include "asm/d/bg/d_bg_w/CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c.s" +void dBgW::CallRideCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1) { + if (m_ride_callback != NULL) { + m_ride_callback(this, param_0, param_1); + } } -#pragma pop /* 8007E474-8007E4A4 078DB4 0030+00 1/0 1/0 0/0 .text * CallArrowStickCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_cR4cXyz */ @@ -1725,34 +1858,29 @@ asm void dBgW::CallArrowStickCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1, #pragma pop /* 8007E4A4-8007E4B4 078DE4 0010+00 1/0 1/0 0/0 .text OffMoveFlag__4dBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW::OffMoveFlag() { - nofralloc -#include "asm/d/bg/d_bg_w/OffMoveFlag__4dBgWFv.s" +void dBgW::OffMoveFlag() { + m_flags &= ~1; } -#pragma pop /* 8007E4B4-8007E4C0 078DF4 000C+00 1/0 1/0 0/0 .text ChkMoveFlag__4dBgWCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 dBgW::ChkMoveFlag() const { - nofralloc -#include "asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s" +u32 dBgW::ChkMoveFlag() const { + return m_flags & 1; } -#pragma pop /* 8007E4C0-8007E548 078E00 0088+00 0/0 0/0 1/1 .text dBgW_NewSet__FP6cBgD_tUlPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgW_NewSet(cBgD_t* param_0, u32 param_1, f32 (*param_2)[3][4]) { - nofralloc -#include "asm/d/bg/d_bg_w/dBgW_NewSet__FP6cBgD_tUlPA3_A4_f.s" +dBgW* dBgW_NewSet(cBgD_t* pbgd, u32 param_1, Mtx* pbase_mtx) { + dBgW* nw = new dBgW(); + + if (nw == NULL) { + return NULL; + } + + if (nw->Set(pbgd, param_1, pbase_mtx)) { + return NULL; + } + + return nw; } -#pragma pop /* 8007E548-8007E5A8 078E88 0060+00 1/0 0/0 0/0 .text __dt__4dBgWFv */ #pragma push diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp index 2075e56fbe..63d4c0e23f 100644 --- a/src/d/bg/d_bg_w_kcol.cpp +++ b/src/d/bg/d_bg_w_kcol.cpp @@ -206,14 +206,9 @@ SECTION_DATA extern void* __vt__8dBgWKCol[60] = { }; /* 8007E6F4-8007E74C 079034 0058+00 0/0 0/0 1/1 .text __ct__8dBgWKColFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dBgWKCol::dBgWKCol() { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/__ct__8dBgWKColFv.s" +dBgWKCol::dBgWKCol() { + m_pkc_head = NULL; } -#pragma pop /* 8007E74C-8007E7D0 07908C 0084+00 1/0 0/0 0/0 .text __dt__8dBgWKColFv */ #pragma push @@ -237,35 +232,22 @@ asm void dBgWKCol::initKCollision(void* param_0) { #pragma pop /* 8007E804-8007E850 079144 004C+00 0/0 0/0 1/1 .text create__8dBgWKColFPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::create(void* param_0, void* param_1) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/create__8dBgWKColFPvPv.s" +void dBgWKCol::create(void* pprism, void* plc) { + ClrDBgWBase(); + m_pkc_head = (pkcdata*)pprism; + m_code.setBase(plc); } -#pragma pop /* 8007E850-8007E86C 079190 001C+00 1/1 0/0 0/0 .text getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::getTriNrm(KC_PrismData* param_0, Vec** param_1) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/getTriNrm__8dBgWKColCFP12KC_PrismDataPP3Vec.s" +void dBgWKCol::getTriNrm(KC_PrismData* pkc, Vec** nrm) const { + *nrm = &m_pkc_head->field_0x4[pkc->field_0x6]; } -#pragma pop /* 8007E86C-8007E87C 0791AC 0010+00 1/0 0/0 0/0 .text ChkNotReady__8dBgWKColCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dBgWKCol::ChkNotReady() const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/ChkNotReady__8dBgWKColCFv.s" +bool dBgWKCol::ChkNotReady() const { + return m_pkc_head == NULL; } -#pragma pop /* 8007E87C-8007E884 0791BC 0008+00 1/0 0/0 0/0 .text ChkLock__8dBgWKColCFv */ bool dBgWKCol::ChkLock() const { @@ -278,58 +260,53 @@ bool dBgWKCol::ChkMoveBg() const { } /* 8007E88C-8007E894 0791CC 0008+00 1/0 0/0 0/0 .text ChkMoveFlag__8dBgWKColCFv */ -bool dBgWKCol::ChkMoveFlag() const { - return false; +u32 dBgWKCol::ChkMoveFlag() const { + return 0; } /* 8007E894-8007E8C0 0791D4 002C+00 1/0 0/0 0/0 .text GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cM3dGPla dBgWKCol::GetTriPla(cBgS_PolyInfo const& param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFRC13cBgS_PolyInfo.s" +cM3dGPla dBgWKCol::GetTriPla(cBgS_PolyInfo const& poly) const { + int poly_index = poly.GetPolyIndex(); + return GetTriPla(poly_index); } -#pragma pop /* 8007E8C0-8007E980 079200 00C0+00 3/3 0/0 0/0 .text GetTriPla__8dBgWKColCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetTriPla(int param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetTriPla__8dBgWKColCFi.s" +cM3dGPla dBgWKCol::GetTriPla(int poly_index) const { + KC_PrismData* pd = getPrismData(poly_index); + + Vec* tri_nrm; + getTriNrm(pd, &tri_nrm); + + Vec* tri_pos; + getTri1Pos(pd, &tri_pos); + PSVECDotProduct(tri_nrm, tri_pos); + + cM3dGPla plane; + plane.SetupNP(*tri_nrm, *tri_pos); + + return plane; } -#pragma pop /* 8007E980-8007E9A4 0792C0 0024+00 1/0 0/0 0/0 .text * GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetTriPnt(cBgS_PolyInfo const& param_0, cXyz* param_1, cXyz* param_2, - cXyz* param_3) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s" +bool dBgWKCol::GetTriPnt(cBgS_PolyInfo const& poly, cXyz* param_1, cXyz* param_2, + cXyz* param_3) const { + int poly_index = poly.GetPolyIndex(); + return GetTriPnt(poly_index, param_1, param_2, param_3); } -#pragma pop /* 8007E9A4-8007E9D4 0792E4 0030+00 3/3 0/0 0/0 .text GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetTriPnt(int param_0, Vec* param_1, Vec* param_2, Vec* param_3) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFiP3VecP3VecP3Vec.s" +bool dBgWKCol::GetTriPnt(int poly_index, Vec* param_1, Vec* param_2, Vec* param_3) const { + KC_PrismData* pd = getPrismData(poly_index); + return GetTriPnt(pd, param_1, param_2, param_3); } -#pragma pop /* 8007E9D4-8007EB28 079314 0154+00 3/3 0/0 0/0 .text * GetTriPnt__8dBgWKColCFPC12KC_PrismDataP3VecP3VecP3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::GetTriPnt(KC_PrismData const* param_0, Vec* param_1, Vec* param_2, +asm bool dBgWKCol::GetTriPnt(KC_PrismData const* param_0, Vec* param_1, Vec* param_2, Vec* param_3) const { nofralloc #include "asm/d/bg/d_bg_w_kcol/GetTriPnt__8dBgWKColCFPC12KC_PrismDataP3VecP3VecP3Vec.s" @@ -337,47 +314,37 @@ asm void dBgWKCol::GetTriPnt(KC_PrismData const* param_0, Vec* param_1, Vec* par #pragma pop /* 8007EB28-8007EB30 079468 0008+00 1/0 0/0 0/0 .text GetBnd__8dBgWKColCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetBnd() const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetBnd__8dBgWKColCFv.s" +cM3dGAab* dBgWKCol::GetBnd() const { + return (cM3dGAab*)&m_bnd; } -#pragma pop /* 8007EB30-8007EB6C 079470 003C+00 1/0 0/0 0/0 .text GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetGrpInf(cBgS_PolyInfo const& param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetGrpInf__8dBgWKColCFRC13cBgS_PolyInfo.s" +u32 dBgWKCol::GetGrpInf(cBgS_PolyInfo const& poly) const { + u16 poly_index = poly.GetPolyIndex(); + KC_PrismData* pd = getPrismData(poly_index); + + return m_code.getGrpCode(pd->field_0xe); } -#pragma pop /* 8007EB6C-8007EB70 0794AC 0004+00 1/0 0/0 0/0 .text OffMoveFlag__8dBgWKColFv */ -void dBgWKCol::OffMoveFlag() { - /* empty function */ -} +void dBgWKCol::OffMoveFlag() {} /* 8007EB70-8007EBC4 0794B0 0054+00 39/39 0/0 0/0 .text getPolyCode__8dBgWKColCFiP5dBgPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::getPolyCode(int param_0, dBgPc* param_1) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/getPolyCode__8dBgWKColCFiP5dBgPc.s" +void dBgWKCol::getPolyCode(int poly_index, dBgPc* pbgpc) const { + KC_PrismData* pd = getPrismData(poly_index); + + sBgPc* code; + m_code.getCode(pd->field_0xe, &code); + pbgpc->setCode(*code); } -#pragma pop /* 8007EBC4-8007EE34 079504 0270+00 8/8 0/0 0/0 .text * chkPolyThrough__8dBgWKColCFP5dBgPcP16cBgS_PolyPassChkP15cBgS_GrpPassChkR4cXyz */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::chkPolyThrough(dBgPc* param_0, cBgS_PolyPassChk* param_1, +asm bool dBgWKCol::chkPolyThrough(dBgPc* param_0, cBgS_PolyPassChk* param_1, cBgS_GrpPassChk* param_2, cXyz& param_3) const { nofralloc #include "asm/d/bg/d_bg_w_kcol/chkPolyThrough__8dBgWKColCFP5dBgPcP16cBgS_PolyPassChkP15cBgS_GrpPassChkR4cXyz.s" @@ -441,18 +408,17 @@ asm void dBgWKCol::ShdwDraw(cBgS_ShdwDraw* param_0) { #pragma pop /* 8007FF00-8007FF1C 07A840 001C+00 1/1 0/0 0/0 .text ChkShdwDrawThrough__8dBgWKColFP5dBgPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::ChkShdwDrawThrough(dBgPc* param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/ChkShdwDrawThrough__8dBgWKColFP5dBgPc.s" +bool dBgWKCol::ChkShdwDrawThrough(dBgPc* pbgpc) { + if (pbgpc->getShdwThrough()) { + return true; + } + + return pbgpc->getArrowThrough(); } -#pragma pop /* ############################################################################################## */ /* 80424F70-80424F94 051C90 0024+00 1/1 0/0 0/0 .bss vtx_tbl$4582 */ -static u8 vtx_tbl_4582[36]; +static Vec vtx_tbl_4582[3]; /* 8007FF1C-80080330 07A85C 0414+00 1/0 0/0 0/0 .text CaptPoly__8dBgWKColFR13dBgS_CaptPoly */ #pragma push @@ -501,7 +467,7 @@ asm void dBgWKCol::WallCorrectSort(dBgS_Acch* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dBgWKCol::WallCorrect(dBgS_Acch* param_0) { +asm bool dBgWKCol::WallCorrect(dBgS_Acch* param_0) { nofralloc #include "asm/d/bg/d_bg_w_kcol/WallCorrect__8dBgWKColFP9dBgS_Acch.s" } @@ -530,7 +496,7 @@ asm bool dBgWKCol::SplGrpChk(dBgS_SplGrpChk* param_0) { /* ############################################################################################## */ /* 80425384-804253A8 0520A4 0024+00 1/1 0/0 0/0 .bss vtx_tbl$5950 */ -static u8 vtx_tbl_5950[36]; +static Vec vtx_tbl_5950[3]; /* 800824EC-800829AC 07CE2C 04C0+00 1/0 0/0 0/0 .text SphChk__8dBgWKColFP11dBgS_SphChkPv */ @@ -543,358 +509,297 @@ asm bool dBgWKCol::SphChk(dBgS_SphChk* param_0, void* param_1) { } #pragma pop -/* ############################################################################################## */ -/* 80452750-80452758 000D50 0008+00 1/1 0/0 0/0 .sdata2 @6099 */ -SECTION_SDATA2 static f64 lit_6099 = 4503599627370496.0 /* cast u32 to float */; - /* 800829AC-800829F0 07D2EC 0044+00 1/0 0/0 0/0 .text GetTopUnder__8dBgWKColCFPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetTopUnder(f32* param_0, f32* param_1) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetTopUnder__8dBgWKColCFPfPf.s" +void dBgWKCol::GetTopUnder(f32* param_0, f32* param_1) const { + *param_1 = m_pkc_head->m_area_min_pos.y; + *param_0 = *param_1 + (f32)~m_pkc_head->field_0x24; } -#pragma pop /* 800829F0-80082A20 07D330 0030+00 1/0 0/0 0/0 .text * GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetGrpRoomIndex(cBgS_PolyInfo const& param_0) const { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetGrpRoomIndex__8dBgWKColCFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetGrpRoomIndex(cBgS_PolyInfo const& poly) const { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getRoom(); } -#pragma pop /* 80082A20-80082A50 07D360 0030+00 1/0 0/0 0/0 .text GetExitId__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetExitId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetExitId__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetExitId(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getExit(); } -#pragma pop /* 80082A50-80082A80 07D390 0030+00 1/0 0/0 0/0 .text GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyColor(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyColor__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetPolyColor(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getPolyCol(); } -#pragma pop /* 80082A80-80082AB0 07D3C0 0030+00 1/0 0/0 0/0 .text GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetHorseNoEntry(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetHorseNoEntry__8dBgWKColFRC13cBgS_PolyInfo.s" +BOOL dBgWKCol::GetHorseNoEntry(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getHorseNoEntry(); } -#pragma pop /* 80082AB0-80082AE0 07D3F0 0030+00 1/0 0/0 0/0 .text GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetSpecialCode(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + return GetSpecialCode(poly_index); } -#pragma pop /* 80082AE0-80082B0C 07D420 002C+00 1/0 0/0 0/0 .text GetSpecialCode__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetSpecialCode(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetSpecialCode__8dBgWKColFi.s" +int dBgWKCol::GetSpecialCode(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getSpl(); } -#pragma pop /* 80082B0C-80082B3C 07D44C 0030+00 1/0 0/0 0/0 .text GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetMagnetCode__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetMagnetCode(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getMagnet(); } -#pragma pop /* 80082B3C-80082B6C 07D47C 0030+00 1/0 0/0 0/0 .text * GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetMonkeyBarsCode__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetMonkeyBarsCode(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getMonkeyBars(); } -#pragma pop /* 80082B6C-80082B98 07D4AC 002C+00 1/0 0/0 0/0 .text GetPolyObjThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyObjThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyObjThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyObjThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getObjThrough(); } -#pragma pop /* 80082B98-80082BC4 07D4D8 002C+00 1/0 0/0 0/0 .text GetPolyCamThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyCamThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyCamThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyCamThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getCamThrough(); } -#pragma pop /* 80082BC4-80082BF0 07D504 002C+00 1/0 0/0 0/0 .text GetPolyLinkThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyLinkThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyLinkThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyLinkThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getLinkThrough(); } -#pragma pop /* 80082BF0-80082C1C 07D530 002C+00 1/0 0/0 0/0 .text GetPolyArrowThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyArrowThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyArrowThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyArrowThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getArrowThrough(); } -#pragma pop /* 80082C1C-80082C48 07D55C 002C+00 1/0 0/0 0/0 .text GetPolyHSStick__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 dBgWKCol::GetPolyHSStick(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyHSStick__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyHSStick(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getHSStick(); } -#pragma pop /* 80082C48-80082C74 07D588 002C+00 1/0 0/0 0/0 .text GetPolyBoomerangThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyBoomerangThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyBoomerangThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyBoomerangThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getBoomerangThrough(); } -#pragma pop /* 80082C74-80082CA0 07D5B4 002C+00 1/0 0/0 0/0 .text GetPolyRopeThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyRopeThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyRopeThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyRopeThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getRopeThrough(); } -#pragma pop /* 80082CA0-80082CCC 07D5E0 002C+00 1/0 0/0 0/0 .text GetPolyBombThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyBombThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyBombThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetPolyBombThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getBombThrough(); } -#pragma pop /* 80082CCC-80082CF8 07D60C 002C+00 1/0 0/0 0/0 .text GetUnderwaterRoofCode__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetUnderwaterRoofCode(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetUnderwaterRoofCode__8dBgWKColFi.s" +u32 dBgWKCol::GetUnderwaterRoofCode(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getUnderwaterRoof(); } -#pragma pop /* 80082CF8-80082D24 07D638 002C+00 1/0 0/0 0/0 .text GetShdwThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetShdwThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetShdwThrough__8dBgWKColFi.s" +bool dBgWKCol::GetShdwThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getShdwThrough(); } -#pragma pop /* 80082D24-80082D54 07D664 0030+00 1/0 0/0 0/0 .text GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetLinkNo(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetLinkNo__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetLinkNo(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getLinkNo(); } -#pragma pop /* 80082D54-80082D84 07D694 0030+00 1/0 0/0 0/0 .text GetWallCode__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetWallCode__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getWallCode(); } -#pragma pop /* 80082D84-80082DB4 07D6C4 0030+00 1/0 0/0 0/0 .text GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getAtt0Code(); } -#pragma pop /* 80082DB4-80082DE4 07D6F4 0030+00 1/0 0/0 0/0 .text GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getAtt1Code(); } -#pragma pop /* 80082DE4-80082E14 07D724 0030+00 1/0 0/0 0/0 .text GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dBgWKCol::GetGroundCode(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetGroundCode__8dBgWKColFRC13cBgS_PolyInfo.s" +int dBgWKCol::GetGroundCode(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getGroundCode(); } -#pragma pop /* 80082E14-80082E40 07D754 002C+00 1/0 0/0 0/0 .text GetIronBallThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetIronBallThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetIronBallThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetIronBallThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getIronBallThrough(); } -#pragma pop /* 80082E40-80082E6C 07D780 002C+00 1/0 0/0 0/0 .text GetAttackThrough__8dBgWKColFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetAttackThrough(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetAttackThrough__8dBgWKColFi.s" +u32 dBgWKCol::GetAttackThrough(int poly_index) { + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + + return bgpc.getAttackThrough(); } -#pragma pop /* 80082E6C-80082E9C 07D7AC 0030+00 1/0 0/0 0/0 .text GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetCamMoveBG(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetCamMoveBG__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetCamMoveBG(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getCamMoveBG(); } -#pragma pop /* 80082E9C-80082ECC 07D7DC 0030+00 1/0 0/0 0/0 .text GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetRoomCamId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetRoomCamId__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetRoomCamId(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getRoomCam(); } -#pragma pop /* 80082ECC-80082EFC 07D80C 0030+00 1/0 0/0 0/0 .text GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetRoomPathId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetRoomPathId__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetRoomPathId(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getRoomPath(); } -#pragma pop /* 80082EFC-80082F2C 07D83C 0030+00 1/0 0/0 0/0 .text * GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetRoomPathPntNo(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetRoomPathPntNo__8dBgWKColFRC13cBgS_PolyInfo.s" +s32 dBgWKCol::GetRoomPathPntNo(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getRoomPathPnt(); } -#pragma pop /* 80082F2C-80082F5C 07D86C 0030+00 1/0 0/0 0/0 .text * GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetPolyGrpRoomInfId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetPolyGrpRoomInfId__8dBgWKColFRC13cBgS_PolyInfo.s" +u8 dBgWKCol::GetPolyGrpRoomInfId(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getRoomInf(); } -#pragma pop /* 80082F5C-80082F8C 07D89C 0030+00 1/0 0/0 0/0 .text GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWKCol::GetGrpSoundId(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/d/bg/d_bg_w_kcol/GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo.s" +u8 dBgWKCol::GetGrpSoundId(cBgS_PolyInfo const& poly) { + u16 poly_index = poly.GetPolyIndex(); + + dBgPc bgpc; + getPolyCode(poly_index, &bgpc); + return bgpc.getSnd(); } -#pragma pop /* 80082F8C-80082F90 07D8CC 0004+00 1/0 0/0 0/0 .text * CrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ void dBgWKCol::CrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3, - csXyz* param_4, csXyz* param_5) { - /* empty function */ -} + csXyz* param_4, csXyz* param_5) {} /* 80082F90-80082F94 07D8D0 0004+00 1/0 0/0 0/0 .text * TransPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ void dBgWKCol::TransPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3, - csXyz* param_4, csXyz* param_5) { - /* empty function */ -} + csXyz* param_4, csXyz* param_5) {} /* 80082F94-80082F98 07D8D4 0004+00 1/0 0/0 0/0 .text * MatrixCrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ void dBgWKCol::MatrixCrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, - cXyz* param_3, csXyz* param_4, csXyz* param_5) { - /* empty function */ -} + cXyz* param_3, csXyz* param_4, csXyz* param_5) {} diff --git a/src/d/bg/d_bg_w_sv.cpp b/src/d/bg/d_bg_w_sv.cpp index b39c5048a7..5d292313b0 100644 --- a/src/d/bg/d_bg_w_sv.cpp +++ b/src/d/bg/d_bg_w_sv.cpp @@ -5,118 +5,6 @@ #include "d/bg/d_bg_w_sv.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c {}; - -struct cBgD_t {}; - -struct cBgS_PolyInfo {}; - -struct csXyz {}; - -struct cXyz {}; - -struct dBgWSv { - /* 80082F98 */ void Set(cBgD_t*, u32); - /* 80083020 */ void CopyBackVtx(); - /* 8008308C */ void CrrPosWork(cXyz*, int, int, int); - /* 80083244 */ void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*); - /* 80083300 */ void TransPosWork(cXyz*, int, int, int); - /* 8008351C */ void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*); - /* 800835D8 */ void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*); - /* 800835DC */ ~dBgWSv(); -}; - -struct cBgS_GrpPassChk {}; - -struct cBgS_PolyPassChk {}; - -struct dBgS_SplGrpChk {}; - -struct dBgS_Acch {}; - -struct dBgS_SphChk {}; - -struct dBgS_RoofChk {}; - -struct dBgS_CaptPoly {}; - -struct dBgW { - /* 8007B3AC */ void GetExitId(cBgS_PolyInfo const&); - /* 8007B3D8 */ void GetPolyColor(cBgS_PolyInfo const&); - /* 8007B404 */ void GetHorseNoEntry(cBgS_PolyInfo const&); - /* 8007B430 */ int GetSpecialCode(cBgS_PolyInfo const&); - /* 8007B460 */ int GetSpecialCode(int); - /* 8007B488 */ void GetMagnetCode(cBgS_PolyInfo const&); - /* 8007B4B4 */ int GetMonkeyBarsCode(cBgS_PolyInfo const&); - /* 8007B4E0 */ void GetPolyObjThrough(int); - /* 8007B504 */ void GetPolyCamThrough(int); - /* 8007B52C */ void GetPolyLinkThrough(int); - /* 8007B550 */ void GetPolyArrowThrough(int); - /* 8007B574 */ void GetPolyHSStick(int); - /* 8007B598 */ void GetPolyBoomerangThrough(int); - /* 8007B5BC */ void GetPolyRopeThrough(int); - /* 8007B5E0 */ void GetPolyBombThrough(int); - /* 8007B604 */ void GetShdwThrough(int); - /* 8007B630 */ int GetUnderwaterRoofCode(int); - /* 8007B6AC */ void GetLinkNo(cBgS_PolyInfo const&); - /* 8007B6D8 */ void GetWallCode(cBgS_PolyInfo const&); - /* 8007B704 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 8007B734 */ void GetPolyAtt1(cBgS_PolyInfo const&); - /* 8007B760 */ int GetGroundCode(cBgS_PolyInfo const&); - /* 8007B7DC */ void GetIronBallThrough(int); - /* 8007B800 */ void GetAttackThrough(int); - /* 8007B87C */ void GetCamMoveBG(cBgS_PolyInfo const&); - /* 8007B8A8 */ void GetRoomCamId(cBgS_PolyInfo const&); - /* 8007B8D8 */ void GetRoomPathId(cBgS_PolyInfo const&); - /* 8007B904 */ void GetRoomPathPntNo(cBgS_PolyInfo const&); - /* 8007C484 */ void WallCorrect(dBgS_Acch*); - /* 8007C910 */ void WallCorrectSort(dBgS_Acch*); - /* 8007D470 */ void RoofChk(dBgS_RoofChk*); - /* 8007D830 */ bool SplGrpChk(dBgS_SplGrpChk*); - /* 8007DAF8 */ void CaptPoly(dBgS_CaptPoly&); - /* 8007DF00 */ void SphChk(dBgS_SphChk*, void*); - /* 8007DF28 */ void GetPolyGrpRoomInfId(cBgS_PolyInfo const&); - /* 8007DF58 */ void GetGrpSoundId(cBgS_PolyInfo const&); - /* 8007E02C */ void ChkPolyThrough(int, cBgS_PolyPassChk*); - /* 8007E360 */ void ChkShdwDrawThrough(int, cBgS_PolyPassChk*); - /* 8007E3D8 */ void ChkGrpThrough(int, cBgS_GrpPassChk*, int); - /* 8007E444 */ void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*); - /* 8007E474 */ void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&); - /* 8007E4A4 */ void OffMoveFlag(); - /* 8007E4B4 */ void ChkMoveFlag() const; -}; - -struct cBgS_ShdwDraw {}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk {}; - -struct cBgW { - /* 8007933C */ ~cBgW(); - /* 80079564 */ void CalcPlane(); - /* 800797BC */ void ClassifyPlane(); - /* 80079EEC */ void ChkMemoryError(); - /* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]); - /* 8007A658 */ bool LineCheck(cBgS_LinChk*); - /* 8007AB9C */ bool GroundCross(cBgS_GndChk*); - /* 8007B084 */ void ShdwDraw(cBgS_ShdwDraw*); - /* 8007B0E4 */ void GetGrpRoomIndex(cBgS_PolyInfo const&) const; - /* 8007B164 */ void GetBnd() const; - /* 8007B1B4 */ void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const; - /* 8007B240 */ void GetTopUnder(f32*, f32*) const; - /* 8007B270 */ void GetTriPla(cBgS_PolyInfo const&) const; - /* 8007B2B0 */ void GetGrpInf(cBgS_PolyInfo const&) const; - /* 8007B948 */ bool ChkNotReady() const; - /* 8007B958 */ void ChkLock() const; - /* 8007B964 */ void ChkMoveBg() const; -}; // // Forward References: @@ -201,31 +89,36 @@ extern "C" void __dl__FPv(); extern "C" void _savegpr_27(); extern "C" void _restgpr_27(); extern "C" extern void* __vt__4dBgW[65]; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; // // Declarations: // /* 80082F98-80083020 07D8D8 0088+00 0/0 0/0 2/2 .text Set__6dBgWSvFP6cBgD_tUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWSv::Set(cBgD_t* param_0, u32 param_1) { - nofralloc -#include "asm/d/bg/d_bg_w_sv/Set__6dBgWSvFP6cBgD_tUl.s" +u8 dBgWSv::Set(cBgD_t* pbgd, u32 param_1) { + if (cBgW::Set(pbgd, 99, NULL)) { + return 1; + } + + field_0xc4 = param_1; + if (field_0xc4 & 1) { + return 0; + } + + field_0xc0 = new Vec[pm_bgd->m_v_num]; + return field_0xc0 == NULL; } -#pragma pop /* 80083020-8008308C 07D960 006C+00 0/0 0/0 3/3 .text CopyBackVtx__6dBgWSvFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dBgWSv::CopyBackVtx() { - nofralloc -#include "asm/d/bg/d_bg_w_sv/CopyBackVtx__6dBgWSvFv.s" +void dBgWSv::CopyBackVtx() { + if (field_0xc0 == NULL || pm_vtx_tbl == NULL) { + return; + } + + for (int i = 0; i < pm_bgd->m_v_num; i++) { + field_0xc0[i] = pm_vtx_tbl[i]; + } } -#pragma pop /* 8008308C-80083244 07D9CC 01B8+00 1/1 0/0 0/0 .text CrrPosWork__6dBgWSvFP4cXyziii */ #pragma push @@ -366,7 +259,8 @@ SECTION_DATA extern void* __vt__6dBgWSv[65 + 1 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgWSv::~dBgWSv() { +// asm dBgWSv::~dBgWSv() { +extern "C" asm void __dt__6dBgWSvFv() { nofralloc #include "asm/d/bg/d_bg_w_sv/__dt__6dBgWSvFv.s" } diff --git a/src/d/cc/d_cc_mass_s.cpp b/src/d/cc/d_cc_mass_s.cpp index e3e1a781ad..ef0b179a28 100644 --- a/src/d/cc/d_cc_mass_s.cpp +++ b/src/d/cc/d_cc_mass_s.cpp @@ -46,8 +46,14 @@ dCcMassS_Obj::dCcMassS_Obj() {} void dCcMassS_Mng::Ct() { field_0x202 = 0; mResultCam = 0; - mCamTopPos.set(0, -1000000000.0f, 0); - mCamBottomPos.set(0, -1000000000.0f, 0); + mCamTopPos.x = 0.0f; + mCamTopPos.y = -1000000000.0f; + mCamTopPos.z = 0.0f; + + mCamBottomPos.x = 0.0f; + mCamBottomPos.y = -1000000000.0f; + mCamBottomPos.z = 0.0f; + Clear(); } @@ -98,9 +104,14 @@ void dCcMassS_Mng::Prepare() { mDivideArea.CalcDivideInfo(&mDivideInfo, mCpsAttr.GetWorkAab(), 0); } - mCamTopPos.set(0, -1000000000.0f, 0); + mCamTopPos.x = 0.0f; + mCamTopPos.y = -1000000000.0f; + mCamTopPos.z = 0.0f; mCamTopDist = 1000000000.0f; - mCamBottomPos.set(0, -1000000000.0f, 0); + + mCamBottomPos.x = 0.0f; + mCamBottomPos.y = -1000000000.0f; + mCamBottomPos.z = 0.0f; mCamBottomDist = 1000000000.0f; } diff --git a/src/d/com/d_com_static.cpp b/src/d/com/d_com_static.cpp index b731220c6d..aff853bd74 100644 --- a/src/d/com/d_com_static.cpp +++ b/src/d/com/d_com_static.cpp @@ -4,11 +4,13 @@ // #include "d/com/d_com_static.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_demo.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/d_a_movie_player/d_a_movie_player.h" #include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" -#include "d/com/d_com_inf_game.h" +#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" // // Types: @@ -27,11 +29,13 @@ struct daTagStream_c { }; struct daTagMist_c { - /* 80031CF0 */ void getPlayerNo(); + /* 80031CF0 */ static u8 getPlayerNo(); + + static u8 mPlayerNo; }; struct daSetBgObj_c { - /* 80031870 */ void getArcName(fopAc_ac_c*); + /* 80031870 */ static const char* getArcName(fopAc_ac_c*); }; struct daObjMovebox { @@ -48,15 +52,6 @@ struct daMirror_c { static u8 m_myObj[4]; }; -struct daMP_c { - /* 80031A78 */ void daMP_c_Get_MovieRestFrame(); - /* 80031AA4 */ void daMP_c_Set_PercentMovieVolume(f32); - /* 80031AD0 */ void daMP_c_THPPlayerPlay(); - /* 80031B24 */ void daMP_c_THPPlayerPause(); - - static u8 m_myObj[4]; -}; - struct daGrass_c { /* 800319C8 */ void deleteRoomGrass(int); /* 80031A20 */ void deleteRoomFlower(int); @@ -67,7 +62,7 @@ struct daGrass_c { }; struct daDsh_c { - static u32 OPEN_SIZE; + static f32 OPEN_SIZE; static f32 OPEN_ACCEL; static f32 OPEN_SPEED; static f32 OPEN_BOUND_SPEED; @@ -86,10 +81,6 @@ struct dFlower_packet_c { static u8 m_deleteRoom[12]; }; -struct dDemo_c { - static u8 m_status[4]; -}; - // // Forward References: // @@ -205,6 +196,7 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; extern "C" u8 m_status__7dDemo_c[4]; +extern "C" extern u8 mPlayerNo__11daTagMist_c[4]; // // Declarations: @@ -212,67 +204,102 @@ extern "C" u8 m_status__7dDemo_c[4]; /* 80030F14-80030FBC 02B854 00A8+00 1/1 0/0 0/0 .text * set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::data_c::set(s8 param_0, cXyz const& param_1, cXyz const& param_2, u8 param_3, - u8 param_4, u8 param_5) { - nofralloc -#include "asm/d/com/d_com_static/set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc.s" +void daSus_c::data_c::set(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3, + u8 param_4, u8 i_type) { + mRoomNo = i_roomNo; + field_0x8.set(param_1.x - param_2.x, param_1.y, param_1.z - param_2.z); + field_0x14.set(param_1.x + param_2.x, param_1.y + param_2.y, param_1.z + param_2.z); + field_0x2 = param_3; + field_0x1 = param_4 != 0; + field_0x3 = isSwitch() == false; + mType = i_type; } -#pragma pop /* 80030FBC-80030FCC 02B8FC 0010+00 3/3 0/0 0/0 .text reset__Q27daSus_c6data_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::data_c::reset() { - nofralloc -#include "asm/d/com/d_com_static/reset__Q27daSus_c6data_cFv.s" +daSus_c::data_c* daSus_c::data_c::reset() { + mRoomNo = -1; + return mpNext; } -#pragma pop /* 80030FCC-80031038 02B90C 006C+00 2/2 0/0 0/0 .text isSwitch__Q27daSus_c6data_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::data_c::isSwitch() { - nofralloc -#include "asm/d/com/d_com_static/isSwitch__Q27daSus_c6data_cFv.s" +u8 daSus_c::data_c::isSwitch() { + if (field_0x1 & 1) { + return dComIfGs_isSwitch(field_0x2, mRoomNo); + } else { + return dComIfGs_isSwitch(field_0x2, mRoomNo) == false; + } } -#pragma pop /* 80031038-800310C8 02B978 0090+00 2/2 0/0 0/0 .text check__Q27daSus_c6data_cFRC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::data_c::check(cXyz const& param_0) { - nofralloc -#include "asm/d/com/d_com_static/check__Q27daSus_c6data_cFRC4cXyz.s" +bool daSus_c::data_c::check(cXyz const& i_pos) { + if (field_0x3 != 0) { + return false; + } + + if ((field_0x8.x <= i_pos.x && i_pos.x <= field_0x14.x) && + (field_0x8.y <= i_pos.y && i_pos.y <= field_0x14.y) && + (field_0x8.z <= i_pos.z && i_pos.z <= field_0x14.z)) { + return true; + } + + return false; } -#pragma pop /* 800310C8-80031150 02BA08 0088+00 1/1 0/0 0/0 .text check__Q27daSus_c6data_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::data_c::check(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/com/d_com_static/check__Q27daSus_c6data_cFP10fopAc_ac_c.s" +u8 daSus_c::data_c::check(fopAc_ac_c* i_actor) { + if (field_0x3) { + return 0x80; + } + + u8 tmp = 0x80; + + if (check(i_actor->orig.pos)) { + tmp |= 1; + } + + if (check(i_actor->current.pos)) { + tmp |= 2; + return tmp; + } + + return tmp; } -#pragma pop /* 80031150-80031190 02BA90 0040+00 1/1 0/0 0/0 .text execute__Q27daSus_c6data_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::data_c::execute() { - nofralloc -#include "asm/d/com/d_com_static/execute__Q27daSus_c6data_cFv.s" +void daSus_c::data_c::execute() { + u8 sw = isSwitch(); + if (sw != field_0x3) { + field_0x3 = sw; + } } -#pragma pop /* 80031190-800311FC 02BAD0 006C+00 1/1 0/0 0/0 .text add__Q27daSus_c6room_cFPQ27daSus_c6data_c */ +// instruction reorder +#ifdef NONMATCHING +void daSus_c::room_c::add(daSus_c::data_c* i_data) { + if (mpData == NULL) { + mpData = i_data; + i_data->setNext(NULL); + return; + } + + if (i_data->getType() == 0) { + i_data->setNext(mpData); + mpData = i_data; + return; + } + + daSus_c::data_c* data1 = mpData; + daSus_c::data_c* data2 = data1->getNext(); + while (data1->getType() == 0 && data2 != NULL) { + data1 = data2; + data2 = data2->getNext(); + } + + i_data->setNext(data1->getNext()); + data1->setNext(i_data); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -281,16 +308,14 @@ asm void daSus_c::room_c::add(daSus_c::data_c* param_0) { #include "asm/d/com/d_com_static/add__Q27daSus_c6room_cFPQ27daSus_c6data_c.s" } #pragma pop +#endif /* 800311FC-80031248 02BB3C 004C+00 0/0 0/0 1/1 .text reset__Q27daSus_c6room_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSus_c::room_c::reset() { - nofralloc -#include "asm/d/com/d_com_static/reset__Q27daSus_c6room_cFv.s" +void daSus_c::room_c::reset() { + while (mpData != NULL && mpData->getType() == 0) { + mpData = mpData->reset(); + } } -#pragma pop /* ############################################################################################## */ /* 80423FF0-80423FFC 050D10 000C+00 1/1 0/0 0/0 .bss @3840 */ @@ -304,9 +329,11 @@ u8 daSus_c::mRoom[256]; /* 80450D88-80450D8C -00001 0004+00 1/1 0/0 2/2 .sbss None */ /* 80450D88 0002+00 data_80450D88 m_count__9daArrow_c */ +extern s16 m_count__9daArrow_c; +s16 m_count__9daArrow_c; + /* 80450D8A 0002+00 data_80450D8A mSetTop__7daSus_c */ -extern u8 struct_80450D88[4]; -u8 struct_80450D88[4]; +s16 daSus_c::mSetTop; /* 80031248-800313BC 02BB88 0174+00 0/0 0/0 1/1 .text newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc */ #pragma push @@ -333,7 +360,7 @@ asm void daSus_c::reset() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool daSus_c::check(s8 param_0, cXyz const& param_1) { +asm bool daSus_c::check(s8 i_roomNo, cXyz const& i_pos) { nofralloc #include "asm/d/com/d_com_static/check__7daSus_cFScRC4cXyz.s" } @@ -360,102 +387,55 @@ asm void daSus_c::execute() { #pragma pop /* 8003160C-80031648 02BF4C 003C+00 0/0 0/0 1/1 .text daNpcMsg_setEvtNum__FUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcMsg_setEvtNum(u8 param_0) { - nofralloc -#include "asm/d/com/d_com_static/daNpcMsg_setEvtNum__FUc.s" +int daNpcMsg_setEvtNum(u8 iEvtNum) { + dComIfGs_setTmpReg(0xFDFF, iEvtNum); + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803790B0 = "F_SP103"; -#pragma pop /* 80031648-800316A8 02BF88 0060+00 0/0 0/0 6/6 .text daNpcKakashi_chkSwdTutorialStage__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_chkSwdTutorialStage() { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_chkSwdTutorialStage__Fv.s" +BOOL daNpcKakashi_chkSwdTutorialStage() { + return !strcmp(dComIfGp_getStartStageName(), "F_SP103") && dComIfG_play_c::getLayerNo(0) == 8; } -#pragma pop /* 800316A8-800316E0 02BFE8 0038+00 0/0 0/0 3/3 .text daNpcKakashi_setSwdTutorialStep__FUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_setSwdTutorialStep(u8 param_0) { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialStep__FUc.s" +void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum) { + dComIfGs_setTmpReg(0xFF0F, iEvtNum); } -#pragma pop /* 800316E0-80031718 02C020 0038+00 0/0 1/1 4/4 .text daNpcKakashi_getSwdTutorialStep__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcKakashi_getSwdTutorialStep() { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s" +int daNpcKakashi_getSwdTutorialStep() { + return dComIfGs_getTmpReg(0xFF0F); } -#pragma pop /* 80031718-80031754 02C058 003C+00 0/0 1/1 0/0 .text daNpcKakashi_getSwdTutorialResult__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_getSwdTutorialResult() { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialResult__Fv.s" +bool daNpcKakashi_getSwdTutorialResult() { + return dComIfGs_isTmpBit(0x40); } -#pragma pop /* 80031754-800317A4 02C094 0050+00 0/0 0/0 1/1 .text daNpcKakashi_setSwdTutorialResult__Fb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_setSwdTutorialResult(bool param_0) { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_setSwdTutorialResult__Fb.s" +void daNpcKakashi_setSwdTutorialResult(bool param_0) { + if (param_0) { + dComIfGs_onTmpBit(0x40); + } else { + dComIfGs_offTmpBit(0x40); + } } -#pragma pop /* 800317A4-800317DC 02C0E4 0038+00 0/0 1/1 1/1 .text daNpcKakashi_getSuccessCount__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_getSuccessCount() { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_getSuccessCount__Fv.s" +int daNpcKakashi_getSuccessCount() { + return dComIfGs_getTmpReg(0xFEFF); } -#pragma pop /* 800317DC-80031838 02C11C 005C+00 0/0 0/0 1/1 .text daNpcKakashi_incSuccessCount__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_incSuccessCount() { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_incSuccessCount__Fv.s" +void daNpcKakashi_incSuccessCount() { + dComIfGs_setTmpReg(0xFEFF, dComIfGs_getTmpReg(0xFEFF) + 1); } -#pragma pop /* 80031838-80031870 02C178 0038+00 0/0 0/0 4/4 .text daNpcKakashi_clrSuccessCount__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daNpcKakashi_clrSuccessCount() { - nofralloc -#include "asm/d/com/d_com_static/daNpcKakashi_clrSuccessCount__Fv.s" +void daNpcKakashi_clrSuccessCount() { + dComIfGs_setTmpReg(0xFEFF, 0); } -#pragma pop /* ############################################################################################## */ /* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -480,19 +460,14 @@ u8 daYkgr_c::m_path[4]; /* 80450D98-80450D9C 000298 0004+00 0/0 1/1 2/2 .sbss m_emitter__8daYkgr_c */ u8 daYkgr_c::m_emitter[4]; -/* 80450D9C-80450DA4 00029C 0008+00 1/1 0/0 0/0 .sbss arcName$4309 */ -static u8 arcName[8]; - /* 80031870-800318B4 02C1B0 0044+00 0/0 0/0 19/19 .text getArcName__12daSetBgObj_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSetBgObj_c::getArcName(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/com/d_com_static/getArcName__12daSetBgObj_cFP10fopAc_ac_c.s" +const char* daSetBgObj_c::getArcName(fopAc_ac_c* param_0) { + static char arcName[8]; + + sprintf(arcName, "@bg%04x", (u16)fopAcM_GetParam(param_0)); + return arcName; } -#pragma pop /* ############################################################################################## */ /* 80451D28-80451D30 -00001 0008+00 0/0 0/0 3/3 .sdata2 M_dir_base__Q212daObjMovebox5Act_c @@ -503,7 +478,7 @@ SECTION_SDATA2 void* daObjMovebox::Act_c::M_dir_base[2] = { }; /* 80451D30-80451D34 000330 0004+00 0/0 0/0 3/3 .sdata2 OPEN_SIZE__7daDsh_c */ -SECTION_SDATA2 u32 daDsh_c::OPEN_SIZE = 0x43870CCD; +SECTION_SDATA2 f32 daDsh_c::OPEN_SIZE = 270.1f; /* 80451D34-80451D38 000334 0004+00 0/0 0/0 1/1 .sdata2 OPEN_ACCEL__7daDsh_c */ SECTION_SDATA2 f32 daDsh_c::OPEN_ACCEL = 10.0f; @@ -515,7 +490,7 @@ SECTION_SDATA2 f32 daDsh_c::OPEN_SPEED = -40.0f; SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_SPEED = -30.0f; /* 80451D40-80451D44 000340 0004+00 0/0 0/0 1/1 .sdata2 OPEN_BOUND_RATIO__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_RATIO = -2.0f / 5.0f; +SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_RATIO = -0.4f; /* 80451D44-80451D48 000344 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_ACCEL__7daDsh_c */ SECTION_SDATA2 f32 daDsh_c::CLOSE_ACCEL = 10.0f; @@ -527,7 +502,7 @@ SECTION_SDATA2 f32 daDsh_c::CLOSE_SPEED = 40.0f; SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_SPEED = 30.0f; /* 80451D50-80451D54 000350 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_RATIO__7daDsh_c */ -SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -2.0f / 5.0f; +SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -0.4f; /* 80451D54-80451D58 000354 0004+00 1/1 0/0 0/0 .sdata2 @4338 */ SECTION_SDATA2 static u8 lit_4338[4] = { @@ -617,47 +592,33 @@ asm void daGrass_c::deleteRoomFlower(int param_0) { /* ############################################################################################## */ /* 80450DB8-80450DBC 0002B8 0004+00 4/4 0/0 2/2 .sbss m_myObj__6daMP_c */ -u8 daMP_c::m_myObj[4]; +daMP_c* daMP_c::m_myObj; /* 80031A78-80031AA4 02C3B8 002C+00 0/0 0/0 1/1 .text daMP_c_Get_MovieRestFrame__6daMP_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMP_c::daMP_c_Get_MovieRestFrame() { - nofralloc -#include "asm/d/com/d_com_static/daMP_c_Get_MovieRestFrame__6daMP_cFv.s" +int daMP_c::daMP_c_Get_MovieRestFrame() { + return m_myObj->mpGetMovieRestFrame(); } -#pragma pop /* 80031AA4-80031AD0 02C3E4 002C+00 0/0 0/0 1/1 .text daMP_c_Set_PercentMovieVolume__6daMP_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMP_c::daMP_c_Set_PercentMovieVolume(f32 param_0) { - nofralloc -#include "asm/d/com/d_com_static/daMP_c_Set_PercentMovieVolume__6daMP_cFf.s" +void daMP_c::daMP_c_Set_PercentMovieVolume(f32 i_volume) { + m_myObj->mpSetPercentMovieVol(i_volume); } -#pragma pop /* 80031AD0-80031B24 02C410 0054+00 0/0 1/1 1/1 .text daMP_c_THPPlayerPlay__6daMP_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMP_c::daMP_c_THPPlayerPlay() { - nofralloc -#include "asm/d/com/d_com_static/daMP_c_THPPlayerPlay__6daMP_cFv.s" +int daMP_c::daMP_c_THPPlayerPlay() { + if (m_myObj == NULL) { + dDemo_c::onStatus(1); + return 0; + } else { + dDemo_c::offStatus(1); + return m_myObj->mpTHPPlay(); + } } -#pragma pop /* 80031B24-80031B50 02C464 002C+00 0/0 0/0 1/1 .text daMP_c_THPPlayerPause__6daMP_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMP_c::daMP_c_THPPlayerPause() { - nofralloc -#include "asm/d/com/d_com_static/daMP_c_THPPlayerPause__6daMP_cFv.s" +void daMP_c::daMP_c_THPPlayerPause() { + m_myObj->mpTHPPause(); } -#pragma pop /* ############################################################################################## */ /* 80450DBC-80450DC0 0002BC 0004+00 1/1 0/0 3/3 .sbss mTagMagne__12daTagMagne_c */ @@ -671,8 +632,7 @@ int daTagMagne_c::checkMagnetCode(cBgS_PolyInfo& poly) { } int magCode = dComIfG_Bgsp().GetMagnetCode(poly); - if ((magCode == 1 && mTagMagne->checkMagneA()) || - (magCode == 2 && mTagMagne->checkMagneB()) || + if ((magCode == 1 && mTagMagne->checkMagneA()) || (magCode == 2 && mTagMagne->checkMagneB()) || (magCode == 3 && mTagMagne->checkMagneC())) { return 1; } @@ -710,21 +670,15 @@ int daTagMagne_c::checkMagneC() { /* ############################################################################################## */ /* 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; +u8 daTagMist_c::mPlayerNo; /* 80450DC1 0003+00 data_80450DC1 None */ bool daObjCarry_c::mSaveFlag; /* 80031CF0-80031CF8 02C630 0008+00 0/0 1/1 0/0 .text getPlayerNo__11daTagMist_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagMist_c::getPlayerNo() { - nofralloc -#include "asm/d/com/d_com_static/getPlayerNo__11daTagMist_cFv.s" +u8 daTagMist_c::getPlayerNo() { + return mPlayerNo; } -#pragma pop /* 80031CF8-80031D04 02C638 000C+00 0/0 1/1 0/0 .text clrSaveFlag__12daObjCarry_cFv */ void daObjCarry_c::clrSaveFlag() { diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 06b1721b41..f279e51cd1 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -4,6 +4,8 @@ // #include "d/d_attention.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" #include "dol2asm.h" #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" @@ -12,10 +14,6 @@ // Types: // -struct mDoCPd_c { - static u8 m_cpadInfo[256]; -}; - class dAttDrawParam_c { public: /* 80070158 */ dAttDrawParam_c(); @@ -30,7 +28,6 @@ public: // Forward References: // -extern "C" static void func_80070018(); extern "C" void __ct__11dAttParam_cFl(); extern "C" void __dt__11dAttParam_cFv(); extern "C" void __ct__15dAttDrawParam_cFv(); @@ -171,8 +168,6 @@ extern "C" extern void* __vt__25mDoExt_McaMorfCallBack1_c[3]; extern "C" u8 dist_table__12dAttention_c[6552]; 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" extern u8 data_80450F58[8]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // @@ -181,14 +176,11 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; /* 80070018-80070038 06A958 0020+00 2/2 0/0 0/0 .text padLockButton__25@unnamed@d_attention_cpp@Fl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void func_80070018() { - nofralloc -#include "asm/d/d_attention/func_80070018.s" +namespace { +static bool padLockButton(s32 i_padNo) { + return mDoCPd_c::getHoldLockL(i_padNo) != 0; } -#pragma pop +} // namespace /* ############################################################################################## */ /* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -198,26 +190,25 @@ SECTION_DEAD static char const* const stringBase_8037A770 = "D_MN09B"; #pragma pop /* 803A9BF8-803A9C04 006D18 000C+00 2/2 0/0 0/0 .data loc_type_tbl__12dAttention_c */ -SECTION_DATA u8 dAttention_c::loc_type_tbl[12] = { - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, +SECTION_DATA type_tbl_entry dAttention_c::loc_type_tbl[3] = { + {0, 1}, + {1, 2}, + {2, 4}, }; /* 803A9C04-803A9C18 006D24 0014+00 1/1 0/0 0/0 .data act_type_tbl__12dAttention_c */ -SECTION_DATA u8 dAttention_c::act_type_tbl[20] = { - 0x00, 0x03, 0x00, 0x08, 0x00, 0x04, 0x00, 0x10, 0x00, 0x05, - 0x00, 0x20, 0x00, 0x06, 0x00, 0x40, 0x00, 0x07, 0x00, 0x80, +SECTION_DATA type_tbl_entry dAttention_c::act_type_tbl[5] = { + {3, 8}, {4, 16}, {5, 32}, {6, 64}, {7, 128}, }; /* 803A9C18-803A9C3C 006D38 0024+00 1/1 0/0 0/0 .data ftp_table$4417 */ -SECTION_DATA static u8 ftp_table[36] = { - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, - 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, +SECTION_DATA static int ftp_table[9] = { + 4, 1, 2, 8, 16, 32, 64, 128, 256, }; /* 803A9C3C-803A9C48 006D5C 000C+00 1/1 0/0 0/0 .data ang_table2$4419 */ -SECTION_DATA static u8 ang_table2[12] = { - 0x0A, 0xAA, 0x20, 0x00, 0x2A, 0xAA, 0x40, 0x00, 0x4E, 0x38, 0x60, 0x00, +SECTION_DATA static s16 ang_table2[6] = { + 0x0AAA, 0x2000, 0x2AAA, 0x4000, 0x4E38, 0x6000, }; /* 803A9C48-803A9C54 006D68 000C+00 1/1 1/1 0/0 .data __vt__19dAttDraw_CallBack_c */ @@ -287,45 +278,60 @@ SECTION_SDATA2 static f32 lit_4072 = 17.0f / 10.0f; /* 80452658-8045265C 000C58 0004+00 10/10 0/0 0/0 .sdata2 @4073 */ SECTION_SDATA2 static f32 lit_4073 = 1.0f; +/* ############################################################################################## */ +/* 80450F58-80450F60 000458 0008+00 0/0 2/2 0/0 .sbss None */ +extern bool on_final_boss_stg; +bool on_final_boss_stg; + /* 80070038-80070110 06A978 00D8+00 1/1 0/0 0/0 .text __ct__11dAttParam_cFl */ +// matches with literals +#ifdef NONMATCHING +dAttParam_c::dAttParam_c(s32 param_0) { + field_0x4 = 45.0f; + field_0x8 = 30.0f; + field_0xc = 90.0f; + mFlags = 1; + mSWModeDisable = -0.9f; + + mDangerBGMDistance = 3000.0f; + mBGMDistMargin = 1000.0f; + + mSelCursorScaleX = 6.0f; + mSelCursorScaleY = 4.5f; + + mAttnCursorScaleX = 14.0f; + mAttnCursorScaleY = 14.0f; + + mSelCursorOffsetY = 10.0f; + mAttnCursorOffsetY = 0.0f; + + mAttnCursorAppearFrames = 1; + mAttnCursorDisappearFrames = 1; + + field_0x38 = 1.7f; + field_0x3c = 1.0f; + + on_final_boss_stg = strcmp(dComIfGp_getStartStageName(), "D_MN09B") == 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -// asm dAttParam_c::dAttParam_c(s32 param_0) { -extern "C" asm void __ct__11dAttParam_cFl() { +asm dAttParam_c::dAttParam_c(s32 param_0) { nofralloc #include "asm/d/d_attention/__ct__11dAttParam_cFl.s" } #pragma pop +#endif /* 80070110-80070158 06AA50 0048+00 2/1 0/0 0/0 .text __dt__11dAttParam_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dAttParam_c::~dAttParam_c() { -extern "C" asm void __dt__11dAttParam_cFv() { - nofralloc -#include "asm/d/d_attention/__dt__11dAttParam_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 8045265C-80452660 000C5C 0004+00 1/1 0/0 0/0 .sdata2 @4084 */ -SECTION_SDATA2 static f32 lit_4084 = 250.0f; - -/* 80452660-80452664 000C60 0004+00 1/1 0/0 0/0 .sdata2 @4085 */ -SECTION_SDATA2 static f32 lit_4085 = 2.0f; +dAttParam_c::~dAttParam_c() {} /* 80070158-80070178 06AA98 0020+00 1/1 0/0 0/0 .text __ct__15dAttDrawParam_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dAttDrawParam_c::dAttDrawParam_c() { -extern "C" asm void __ct__15dAttDrawParam_cFv() { - nofralloc -#include "asm/d/d_attention/__ct__15dAttDrawParam_cFv.s" +dAttDrawParam_c::dAttDrawParam_c() { + mCursorDistance = 250.0f; + field_0xc = 2.0f; } -#pragma pop /* ############################################################################################## */ /* 80452664-80452668 000C64 0004+00 1/1 0/0 0/0 .sdata2 @4092 */ @@ -356,6 +362,105 @@ SECTION_DEAD static char const* const pad_8037A77F = ""; static dAttDrawParam_c g_AttDwHIO; /* 80070198-80070774 06AAD8 05DC+00 0/0 1/1 0/0 .text __ct__12dAttention_cFP10fopAc_ac_cUl */ +// matches with literals +#ifdef NONMATCHING +dAttention_c::dAttention_c(fopAc_ac_c* i_player, u32 i_padNo) { + mpPlayer = i_player; + mPadNo = i_padNo; + + mLockTargetID = -1; + field_0x32e = 0; + field_0x32f = 0; + + mCheckObjectOffset = 0; + mActionOffset = 0; + mLockOnOffset = 0; + initList(-1); + + field_0x10 = 0; + field_0x32a = 0; + mAttnStatus = ST_NONE; + field_0x32b = 4; + field_0x32c = 0; + mAttnBlockTimer = 0; + + heap = mDoExt_createSolidHeapFromGameToCurrent(0x9000, 0); + + J3DModelData* modelDataR = (J3DModelData*)dComIfG_getObjectRes("Always", 0x25); + J3DModelData* modelDataY = (J3DModelData*)dComIfG_getObjectRes("Always", 0x26); + + for (int i = 0; i < 2; i++) { + draw[i].mModel[0] = mDoExt_J3DModel__create(modelDataY, 0x80000, 0x11000285); + draw[i].mModel[1] = mDoExt_J3DModel__create(modelDataR, 0x80000, 0x11000285); + + void* res = dComIfG_getObjectRes("Always", 0x11); + draw[i].mNoticeCursorBck[0].init((J3DAnmTransform*)res, TRUE, 2, 1.0f, 0, -1, false); + + res = dComIfG_getObjectRes("Always", 0x2B); + draw[i].mNoticeCursorBpk[0].init(modelDataY, (J3DAnmColor*)res, TRUE, 2, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x37); + draw[i].mNoticeCursorBrk[0].init(modelDataY, (J3DAnmTevRegKey*)res, TRUE, 2, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x3F); + draw[i].mNoticeCursorBtk[0].init(modelDataY, (J3DAnmTextureSRTKey*)res, TRUE, 2, 1.0f, 0, + -1); + + res = dComIfG_getObjectRes("Always", 0x38); + draw[i].mNoticeCursor02Brk[0].init(modelDataY, (J3DAnmTevRegKey*)res, TRUE, 2, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x10); + draw[i].mNoticeCursorBck[1].init((J3DAnmTransform*)res, TRUE, 2, 1.0f, 0, -1, false); + + res = dComIfG_getObjectRes("Always", 0x2A); + draw[i].mNoticeCursorBpk[1].init(modelDataR, (J3DAnmColor*)res, TRUE, 2, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x35); + draw[i].mNoticeCursorBrk[1].init(modelDataR, (J3DAnmTevRegKey*)res, TRUE, 2, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x3E); + draw[i].mNoticeCursorBtk[1].init(modelDataR, (J3DAnmTextureSRTKey*)res, TRUE, 2, 1.0f, 0, + -1); + + res = dComIfG_getObjectRes("Always", 0x36); + draw[i].mNoticeCursor02Brk[1].init(modelDataR, (J3DAnmTevRegKey*)res, TRUE, 2, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0xC); + draw[i].mImpactBck.init((J3DAnmTransform*)res, TRUE, 0, 1.0f, 0, -1, false); + + res = dComIfG_getObjectRes("Always", 0x29); + draw[i].mImpactBpk.init(modelDataR, (J3DAnmColor*)res, TRUE, 0, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x32); + draw[i].mImpactBrk.init(modelDataR, (J3DAnmTevRegKey*)res, TRUE, 0, 1.0f, 0, -1); + + res = dComIfG_getObjectRes("Always", 0x3D); + draw[i].mImpactBtk.init(modelDataR, (J3DAnmTextureSRTKey*)res, TRUE, 0, 1.0f, 0, -1); + + draw[i].field_0x170 = 0; + draw[i].field_0x171 = 1; + draw[i].field_0x172 = 0; + draw[i].field_0x174 = 1; + draw[i].field_0x173 = 2; + draw[i].field_0x175 = 0; + } + + mDoExt_restoreCurrentHeap(); + if ((int)mDoExt_adjustSolidHeap(heap) >= 0) { + DCStoreRangeNoSync(heap->getStartAddr(), heap->getHeapSize()); + } + + field_0x328 = -1; + mFlags = 0; + + mZHintTarget.init(); + mCatghTarget.init(); + mLookTarget.init(); + new (&mAttParam) dAttParam_c(0); + + g_AttDwHIO.field_0x4 = -1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -364,106 +469,171 @@ asm dAttention_c::dAttention_c(fopAc_ac_c* param_0, u32 param_1) { #include "asm/d/d_attention/__ct__12dAttention_cFP10fopAc_ac_cUl.s" } #pragma pop +#endif /* 80070774-80070844 06B0B4 00D0+00 0/0 2/2 0/0 .text __dt__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dAttention_c::~dAttention_c() { - nofralloc -#include "asm/d/d_attention/__dt__12dAttention_cFv.s" +dAttention_c::~dAttention_c() { + if (heap != NULL) { + mDoExt_destroySolidHeap(heap); + heap = NULL; + } } -#pragma pop /* 80070844-80070880 06B184 003C+00 2/2 2/2 8/8 .text GetLockonList__12dAttention_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::GetLockonList(s32 param_0) { - nofralloc -#include "asm/d/d_attention/GetLockonList__12dAttention_cFl.s" +dAttList_c* dAttention_c::GetLockonList(s32 param_0) { + if (mLockonCount != 0) { + return &mLockOnList[(mLockOnOffset + param_0) % mLockonCount]; + } + + return NULL; } -#pragma pop /* 80070880-80070974 06B1C0 00F4+00 0/0 5/5 2/2 .text getActionBtnB__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::getActionBtnB() { - nofralloc -#include "asm/d/d_attention/getActionBtnB__12dAttention_cFv.s" +dAttList_c* dAttention_c::getActionBtnB() { + int i; + dAttList_c* list = GetLockonList(0); + + if (list != NULL && list->getActor() != NULL && list->mType == 1 && LockonTruth() && + !(list->getActor()->mAttentionInfo.mFlags & 0x2000000)) { + return list; + } + + if (mActionCount == 0) { + return NULL; + } + + for (i = 0; i < mActionCount; i++) { + if (mActionList[i].mType == 3) { + if (!(mActionList[i].getActor()->mAttentionInfo.mFlags & 0x2000000)) { + return &mActionList[i]; + } + continue; + } + return &mActionList[i]; + } + + return NULL; } -#pragma pop /* 80070974-80070A70 06B2B4 00FC+00 0/0 1/1 0/0 .text getActionBtnXY__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::getActionBtnXY() { - nofralloc -#include "asm/d/d_attention/getActionBtnXY__12dAttention_cFv.s" +dAttList_c* dAttention_c::getActionBtnXY() { + int i; + dAttList_c* list = GetLockonList(0); + + if (list != NULL && list->getActor() != NULL && list->mType == 1 && LockonTruth()) { + if (list->getActor()->mEvtInfo.chkCondition(0x20)) { + return list; + } + + return NULL; + } + + if (mActionCount == 0) { + return NULL; + } + + for (i = 0; i < mActionCount; i++) { + if (mActionList[i].mType == 3) { + if (mActionList[i].getActor()->mEvtInfo.chkCondition(0x20)) { + return &mActionList[i]; + } + } + } + + return NULL; } -#pragma pop /* ############################################################################################## */ /* 80450660-80450664 0000E0 0004+00 2/2 0/0 0/0 .sdata loc_type_num__12dAttention_c */ -SECTION_SDATA u32 dAttention_c::loc_type_num = 0x00000003; +SECTION_SDATA int dAttention_c::loc_type_num = 3; /* 80070A70-80070AC0 06B3B0 0050+00 1/1 0/0 0/0 .text chkAttMask__12dAttention_cFUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::chkAttMask(u32 param_0, u32 param_1) { - nofralloc -#include "asm/d/d_attention/chkAttMask__12dAttention_cFUlUl.s" +int dAttention_c::chkAttMask(u32 param_0, u32 param_1) { + for (int i = 0; i < loc_type_num; i++) { + if (param_0 == loc_type_tbl[i].field_0x0) { + return param_1 & loc_type_tbl[i].field_0x2; + } + } + + return 1; } -#pragma pop /* 80070AC0-80070B2C 06B400 006C+00 2/2 0/0 0/0 .text check_event_condition__FUlUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void check_event_condition(u32 param_0, u16 param_1) { - nofralloc -#include "asm/d/d_attention/check_event_condition__FUlUs.s" +static int check_event_condition(u32 i_listType, u16 i_condition) { + switch (i_listType) { + case 3: + case 1: + if (!(i_condition & 1)) { + return true; + } + break; + case 4: + case 2: + break; + case 5: + if (!(i_condition & 4)) { + return true; + } + break; + case 6: + if (!(i_condition & 4)) { + return true; + } + break; + } + + return false; } -#pragma pop /* ############################################################################################## */ /* 80450664-80450668 0000E4 0004+00 1/1 0/0 0/0 .sdata act_type_num__12dAttention_c */ -SECTION_SDATA u32 dAttention_c::act_type_num = 0x00000005; +SECTION_SDATA int dAttention_c::act_type_num = 5; /* 80450668-8045066C 0000E8 0004+00 1/1 0/0 0/0 .sdata chk_type_tbl__12dAttention_c */ -SECTION_SDATA u32 dAttention_c::chk_type_tbl = 0x00080100; - -/* 8045066C-80450670 0000EC 0004+00 1/1 0/0 0/0 .sdata chk_type_num__12dAttention_c */ -SECTION_SDATA u32 dAttention_c::chk_type_num = 0x00000001; - -/* 80450670-80450674 0000F0 0004+00 2/2 0/0 0/0 .sdata None */ -SECTION_SDATA static u32 data_80450670 = 0x01000000; - -/* 80450674-8045067C 0000F4 0006+02 1/1 0/0 0/0 .sdata ang_table$4418 */ -SECTION_SDATA static u8 ang_table[6 + 2 /* padding */] = { - 0x40, - 0x00, - 0x20, - 0x00, - 0x0A, - 0xAA, - /* padding */ - 0x00, - 0x00, +SECTION_SDATA type_tbl_entry dAttention_c::chk_type_tbl[1] = { + {8, 256}, }; +/* 8045066C-80450670 0000EC 0004+00 1/1 0/0 0/0 .sdata chk_type_num__12dAttention_c */ +SECTION_SDATA int dAttention_c::chk_type_num = 1; + +/* 80450670-80450674 0000F0 0004+00 2/2 0/0 0/0 .sdata None */ +SECTION_SDATA static bool attn_opt_hold = true; + /* 80070B2C-80070BF4 06B46C 00C8+00 2/2 0/0 0/0 .text check_flontofplayer__FUlss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void check_flontofplayer(u32 param_0, s16 param_1, s16 param_2) { - nofralloc -#include "asm/d/d_attention/check_flontofplayer__FUlss.s" +static int check_flontofplayer(u32 param_0, s16 param_1, s16 param_2) { + static s16 ang_table[3] = { + 0x4000, + 0x2000, + 0x0AAA, + }; + + if (param_1 < 0) { + param_1 = -param_1; + } + + if (param_2 < 0) { + param_2 = -param_2; + } + + for (int i = 0; i < 3; i++) { + if (param_0 & ftp_table[i]) { + if (param_1 > ang_table[i]) { + return true; + } + } + } + + for (int i = 8; i > 2; i--) { + if (param_0 & ftp_table[i]) { + if (param_2 > ang_table2[i - 3]) { + return true; + } + } + } + + return false; } -#pragma pop /* ############################################################################################## */ /* 80452668-80452670 000C68 0004+04 2/2 0/0 0/0 .sdata2 @4448 */ @@ -477,24 +647,44 @@ SECTION_SDATA2 static f32 lit_4448[1 + 1 /* padding */] = { SECTION_SDATA2 static f64 lit_4450 = 4503601774854144.0 /* cast s32 to float */; /* 80070BF4-80070C40 06B534 004C+00 2/2 0/0 0/0 .text distace_weight__Ffsf */ +// matches with literals +#ifdef NONMATCHING +static f32 distace_weight(f32 param_0, s16 param_1, f32 param_2) { + f32 tmp = param_1 / 32768.0f; + return param_0 * ((1.0f - param_2) + (param_2 * (tmp * tmp))); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void distace_weight(f32 param_0, s16 param_1, f32 param_2) { +static asm f32 distace_weight(f32 param_0, s16 param_1, f32 param_2) { nofralloc #include "asm/d/d_attention/distace_weight__Ffsf.s" } #pragma pop +#endif /* 80070C40-80070CA0 06B580 0060+00 2/2 0/0 0/0 .text distace_angle_adjust__Ffsf */ +// matches with literals +#ifdef NONMATCHING +static f32 distace_angle_adjust(f32 param_0, s16 param_1, f32 param_2) { + f32 tmp = param_1 / 32768.0f; + if (tmp < 0.0f) { + tmp = -tmp; + } + + return param_0 * ((1.0f - param_2) + (param_2 * ((1.0f - tmp) * (1.0f - tmp)))); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void distace_angle_adjust(f32 param_0, s16 param_1, f32 param_2) { +static asm f32 distace_angle_adjust(f32 param_0, s16 param_1, f32 param_2) { nofralloc #include "asm/d/d_attention/distace_angle_adjust__Ffsf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80452678-80452680 000C78 0008+00 3/3 0/0 0/0 .sdata2 @4514 */ @@ -510,15 +700,34 @@ SECTION_SDATA2 static u8 lit_4516[8] = { /* 80070CA0-80070E90 06B5E0 01F0+00 3/3 0/0 0/0 .text check_distace__FP4cXyzsP4cXyzffff */ +// matches with literals +#ifdef NONMATCHING +static bool check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4, + f32 param_5, f32 param_6) { + cXyz tmp = *param_2 - *param_0; + + if (tmp.y <= param_6 || tmp.y >= param_5) { + return false; + } + + f32 adjust = param_3 + distace_angle_adjust(param_4, param_1, 1.0f); + if (adjust < tmp.absXZ()) { + return false; + } + + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4, - f32 param_5, f32 param_6) { +static asm int check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4, + f32 param_5, f32 param_6) { nofralloc #include "asm/d/d_attention/check_distace__FP4cXyzsP4cXyzffff.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80452690-80452694 000C90 0004+00 3/3 0/0 0/0 .sdata2 @4562 */ @@ -529,18 +738,152 @@ SECTION_SDATA2 static f32 lit_4563 = 0.5f; /* 80070E90-800710C0 06B7D0 0230+00 2/2 0/0 0/0 .text * calcWeight__12dAttention_cFiP10fopAc_ac_cfssPUl */ +// matches with literals +#ifdef NONMATCHING +f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 param_3, + s16 param_4, u32* param_5) { + int i; + int num; + type_tbl_entry* table; + + switch (param_0) { + case 0x4C: + if (chkFlag(0x4000)) { + return 0.0f; + } + + num = loc_type_num; + table = loc_type_tbl; + break; + default: + case 0x41: + num = act_type_num; + table = act_type_tbl; + break; + case 0x43: + num = chk_type_num; + table = chk_type_tbl; + break; + } + + f32 weight = 0.0f; + f32 dvar14 = -1.0f; + + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player != NULL) { + if (param_1 == fopAcM_SearchByID(player->getGrabActorID())) { + return 0.0f; + } + } + + for (i = 0; i < num; i++) { + f32 dvar12; + type_tbl_entry* entry = &table[i]; + + if (field_0x10 & entry->field_0x2 & param_1->mAttentionInfo.mFlags) { + u8 index = param_1->mAttentionInfo.field_0x0[entry->field_0x0]; + dist_entry* d_entry = &dist_table[index]; + + if (fopAcM_checkStatus(param_1, 0x20000000) || + check_event_condition(entry->field_0x0, param_1->mEvtInfo.getCondition())) { + dvar12 = 0.0f; + } else if (check_flontofplayer(d_entry->field_0x18, param_3, param_4)) { + dvar12 = 0.0f; + } else if (!check_distace(&mOwnerAttnPos, param_3, ¶m_1->mAttentionInfo.mPosition, + d_entry->field_0x0, d_entry->field_0x8, d_entry->field_0xc, + d_entry->field_0x10)) { + dvar12 = 0.0f; + } else { + dvar12 = distace_weight(param_2, param_3, 0.5f); + } + + f32 dvar13 = d_entry->field_0x14; + if (dvar12 > 0.0f && dvar13 > dvar14) { + dvar14 = dvar13; + weight = dvar12 / dvar13; + *param_5 = entry->field_0x0; + } + } + } + + return weight; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 param_3, - s16 param_4, u32* param_5) { +asm f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 param_3, + s16 param_4, u32* param_5) { nofralloc #include "asm/d/d_attention/calcWeight__12dAttention_cFiP10fopAc_ac_cfssPUl.s" } #pragma pop +#endif /* 800710C0-80071240 06BA00 0180+00 1/1 0/0 0/0 .text * setList__12dAttention_cFiP10fopAc_ac_cff7cSAngleUl */ +#ifdef NONMATCHING +void dAttention_c::setList(int param_0, fopAc_ac_c* param_1, f32 param_2, f32 param_3, + cSAngle param_4, u32 param_5) { + int i; + int max; + int* num; + dAttList_c* list; + + switch (param_0) { + case 0x4C: + if (!chkFlag(0x4000) && (mLockonCount < 1 || param_1 != mLockOnList[0].getActor() || param_5 != mLockOnList[0].mType)) { + max = 8; + num = &mLockonCount; + list = mLockOnList; + break; + } + + return; + default: + case 0x41: + max = 4; + num = &mActionCount; + list = mActionList; + break; + case 0x43: + max = 4; + num = &mCheckObjectCount; + list = mCheckObjectList; + break; + } + + f32 weight = 0.0f; + + if (param_2 > weight) { + int temp_r3 = *num; + int var_r5; + + if (temp_r3 < max) { + var_r5 = temp_r3; + *num = temp_r3 + 1; + } else { + f32 var_f1 = weight; + var_r5 = 0; + for (i = 0; i < max; i++) { + if (list[i].mWeight > var_f1) { + var_f1 = list[i].mWeight; + var_r5 = i; + } + } + } + + list = &list[var_r5]; + if (list->mWeight > param_2) { + list->setActor(param_1); + list->mWeight = param_2; + list->mDistance = param_3; + list->mAngle = param_4; + list->mType = param_5; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -550,6 +893,7 @@ asm void dAttention_c::setList(int param_0, fopAc_ac_c* param_1, f32 param_2, f3 #include "asm/d/d_attention/setList__12dAttention_cFiP10fopAc_ac_cff7cSAngleUl.s" } #pragma pop +#endif /* 80071240-8007138C 06BB80 014C+00 6/6 0/0 0/0 .text initList__12dAttention_cFUl */ #pragma push @@ -563,41 +907,36 @@ asm void dAttention_c::initList(u32 param_0) { /* 8007138C-800713CC 06BCCC 0040+00 1/1 0/0 0/0 .text select_attention__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void select_attention(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/d_attention/select_attention__FP10fopAc_ac_cPv.s" +static int select_attention(fopAc_ac_c* param_0, void* i_attention) { + if (param_0->mAttentionInfo.mFlags == 0) { + return 0; + } + + return ((dAttention_c*)i_attention)->SelectAttention(param_0); } -#pragma pop /* 800713CC-80071424 06BD0C 0058+00 4/4 0/0 0/0 .text makeList__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::makeList() { - nofralloc -#include "asm/d/d_attention/makeList__12dAttention_cFv.s" +int dAttention_c::makeList() { + fopAcIt_Executor((fopAcIt_ExecutorFunc)select_attention, this); + setFlag(0x2000); + return mLockonCount + mActionCount + mCheckObjectCount; } -#pragma pop /* 80071424-80071488 06BD64 0064+00 1/1 0/0 0/0 .text setOwnerAttentionPos__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::setOwnerAttentionPos() { - nofralloc -#include "asm/d/d_attention/setOwnerAttentionPos__12dAttention_cFv.s" +void dAttention_c::setOwnerAttentionPos() { + mOwnerAttnPos = mpPlayer->mAttentionInfo.mPosition; + + if (fopAcM_GetName(mpPlayer) == PROC_ALINK) { + mOwnerAttnPos.y -= ((daPy_py_c*)mpPlayer)->getAttentionOffsetY(); + } } -#pragma pop /* 80071488-8007167C 06BDC8 01F4+00 1/1 0/0 0/0 .text * SelectAttention__12dAttention_cFP10fopAc_ac_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttention_c::SelectAttention(fopAc_ac_c* param_0) { +asm int dAttention_c::SelectAttention(fopAc_ac_c* param_0) { nofralloc #include "asm/d/d_attention/SelectAttention__12dAttention_cFP10fopAc_ac_c.s" } @@ -614,6 +953,52 @@ extern "C" asm void __dt__7cSGlobeFv() { #pragma pop /* 800716B8-800718A4 06BFF8 01EC+00 4/4 0/0 0/0 .text sortList__12dAttention_cFv */ +#ifdef NONMATCHING +void dAttention_c::sortList() { + dAttList_c list; + + if (!chkFlag(0x4000)) { + for (int i = (mLockTargetID != -1); i < mLockonCount - 1; i++) { + dAttList_c* list_1 = &mLockOnList[i]; + for (int j = i + 1; j < mLockonCount; j++) { + dAttList_c* list_2 = &mLockOnList[j]; + + if (list_2->mWeight < list_1->mWeight) { + memcpy(&list, list_2, sizeof(dAttList_c)); + memcpy(list_2, list_1, sizeof(dAttList_c)); + memcpy(list_1, &list, sizeof(dAttList_c)); + } + } + } + } + + for (int i = 0; i < mActionCount - 1; i++) { + dAttList_c* list_1 = &mActionList[i]; + for (int j = i + 1; j < mActionCount; j++) { + dAttList_c* list_2 = &mActionList[j]; + + if (list_2->mWeight < list_1->mWeight) { + memcpy(&list, list_2, sizeof(dAttList_c)); + memcpy(list_2, list_1, sizeof(dAttList_c)); + memcpy(list_1, &list, sizeof(dAttList_c)); + } + } + } + + for (int i = 0; i < mCheckObjectCount - 1; i++) { + dAttList_c* list_1 = &mCheckObjectList[i]; + for (int j = i + 1; j < mCheckObjectCount; j++) { + dAttList_c* list_2 = &mCheckObjectList[j]; + + if (list_2->mWeight < list_1->mWeight) { + memcpy(&list, list_2, sizeof(dAttList_c)); + memcpy(list_2, list_1, sizeof(dAttList_c)); + memcpy(list_1, &list, sizeof(dAttList_c)); + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -622,162 +1007,674 @@ asm void dAttention_c::sortList() { #include "asm/d/d_attention/sortList__12dAttention_cFv.s" } #pragma pop +#endif /* 800718A4-80071960 06C1E4 00BC+00 2/2 0/0 0/0 .text stockAttention__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::stockAttention() { - nofralloc -#include "asm/d/d_attention/stockAttention__12dAttention_cFv.s" +void dAttention_c::stockAttention() { + fopAc_ac_c* target = LockonTarget(0); + + initList(-1); + if (makeList()) { + sortList(); + } + + if (target != mLockOnList[0].getActor()) { + if (target != NULL) { + if (mLockOnList[0].getActor() != NULL) { + setFlag(2); + } + } else { + setFlag(1); + } + setFlag(4); + } + + LockonTarget(0); } -#pragma pop /* 80071960-80071A68 06C2A0 0108+00 2/2 0/0 0/0 .text nextAttention__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::nextAttention() { - nofralloc -#include "asm/d/d_attention/nextAttention__12dAttention_cFv.s" +fopAc_ac_c* dAttention_c::nextAttention() { + if (!attn_opt_hold && mLockonCount == 1) { + field_0x32e = 0; + return NULL; + } + + if (field_0x32e != 0) { + mLockOnOffset++; + + if (mLockOnOffset >= mLockonCount) { + mLockOnOffset = 0; + } + return LockonTarget(0); + } + + fopAc_ac_c* actor = fopAcM_SearchByID(mLockTargetID); + initList(-1); + + if (makeList()) { + sortList(); + } + + if (actor == mLockOnList[0].getActor() && mLockonCount > 1) { + mLockOnOffset = 1; + } + + return LockonTarget(0); } -#pragma pop /* 80071A68-80071A98 06C3A8 0030+00 3/3 0/0 0/0 .text freeAttention__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::freeAttention() { - nofralloc -#include "asm/d/d_attention/freeAttention__12dAttention_cFv.s" +int dAttention_c::freeAttention() { + mLockTargetID = -1; + initList(-1); + return 0; } -#pragma pop /* 80071A98-80071CC0 06C3D8 0228+00 2/2 0/0 0/0 .text chaseAttention__12dAttention_cFv */ +#ifdef NONMATCHING +bool dAttention_c::chaseAttention() { + int offset = mLockOnOffset; + fopAc_ac_c* actor = mLockOnList[offset].getActor(); + + if (actor == NULL) { + return false; + } + + if (!chkFlag(0x4000)) { + cSGlobe g1(actor->mAttentionInfo.mPosition - mOwnerAttnPos); + cSAngle a1(g1.U() - mpPlayer->mCollisionRot.y); + + cSGlobe g2(mOwnerAttnPos - actor->mAttentionInfo.mPosition); + cSAngle a2(g2.U() - actor->mCollisionRot.y); + + u32 type; + f32 weight = calcWeight(0x4C, actor, g1.R(), a1.Val(), a2.Val(), &type); + if (weight >= 0.0f) { + int type = mLockOnList[offset].mType; + int tbl_idx = actor->mAttentionInfo.field_0x0[type]; + + if (!chkAttMask(type, actor->mAttentionInfo.mFlags)) { + return false; + } else if (check_event_condition(type, actor->mEvtInfo.getCondition())) { + return false; + } else if (check_flontofplayer(dist_table[tbl_idx].field_0x18, a1.Val(), a2.Val())) { + return false; + } else if (check_distace(&mOwnerAttnPos, a1.Val(), &actor->mAttentionInfo.mPosition, + dist_table[tbl_idx].field_0x4, dist_table[tbl_idx].field_0x8, + dist_table[tbl_idx].field_0xc, + dist_table[tbl_idx].field_0x10)) { + mLockOnList[offset].mWeight = distace_weight(g1.R(), a1.Val(), 0.5f); + return true; + } + + return false; + } + + mLockOnList[offset].setActor(actor); + mLockOnList[offset].mWeight = weight; + mLockOnList[offset].mDistance = g1.R(); + mLockOnList[offset].mType = type; + return true; + } + + return (actor->mAttentionInfo.mFlags & 7) != false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttention_c::chaseAttention() { +asm bool dAttention_c::chaseAttention() { nofralloc #include "asm/d/d_attention/chaseAttention__12dAttention_cFv.s" } #pragma pop +#endif /* 80071CC0-80071D6C 06C600 00AC+00 1/1 0/0 0/0 .text EnemyDistance__12dAttention_cFP10fopAc_ac_c */ +// matches with literals +#ifdef NONMATCHING +f32 dAttention_c::EnemyDistance(fopAc_ac_c* i_actor) { + f32 distance; + + if (i_actor == mpPlayer || mpPlayer == NULL) { + distance = -1.0f; + } else if (fopAcM_GetProfName(i_actor) == PROC_ALINK) { + distance = -1.0f; + } else if (!(i_actor->mAttentionInfo.mFlags & 4) && + !(i_actor->mAttentionInfo.mFlags & 0x4000000)) { + distance = -1.0f; + } else { + distance = fopAcM_searchActorDistance(mpPlayer, i_actor); + u8 tmp = i_actor->mAttentionInfo.field_0x0[2]; + + if (distance < dist_table[tmp].field_0x0 + dist_table[tmp].field_0x8) { + return distance; + } + + distance = -1.0f; + } + + return distance; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttention_c::EnemyDistance(fopAc_ac_c* param_0) { +asm f32 dAttention_c::EnemyDistance(fopAc_ac_c* param_0) { nofralloc #include "asm/d/d_attention/EnemyDistance__12dAttention_cFP10fopAc_ac_c.s" } #pragma pop +#endif /* 80071D6C-80071DEC 06C6AC 0080+00 1/1 0/0 0/0 .text sound_attention__FP10fopAc_ac_cPv */ +// matches with literals +#ifdef NONMATCHING +static int sound_attention(fopAc_ac_c* param_0, void* i_attention) { + f32 dist = ((dAttention_c*)i_attention)->EnemyDistance(param_0); + + if (dist < 0.0f) { + return 0; + } + + if (dist < ((dAttention_c*)i_attention)->mEnemyDist) { + ((dAttention_c*)i_attention)->mEnemyActorID = fopAcM_GetID(param_0); + ((dAttention_c*)i_attention)->mEnemyDist = dist; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void sound_attention(fopAc_ac_c* param_0, void* param_1) { +static asm int sound_attention(fopAc_ac_c* param_0, void* param_1) { nofralloc #include "asm/d/d_attention/sound_attention__FP10fopAc_ac_cPv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80452698-8045269C 000C98 0004+00 1/1 0/0 0/0 .sdata2 @5137 */ -SECTION_SDATA2 static f32 lit_5137 = 10000.0f; - -/* 8045269C-804526A0 000C9C 0004+00 1/1 0/0 0/0 .sdata2 @5138 */ -SECTION_SDATA2 static f32 lit_5138 = 1.0f / 10.0f; +#endif /* 80071DEC-80071E84 06C72C 0098+00 1/1 0/0 0/0 .text runSoundProc__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::runSoundProc() { - nofralloc -#include "asm/d/d_attention/runSoundProc__12dAttention_cFv.s" +void dAttention_c::runSoundProc() { + mEnemyActorID = -1; + mEnemyDist = 10000.0f; + + if (!chkFlag(0x80000000)) { + fopAcIt_Executor((fopAcIt_ExecutorFunc)sound_attention, this); + + if (fopAcM_SearchByID(mEnemyActorID) != NULL) { + mDoAud_bgmNowBattle(mEnemyDist * 0.1f); + setFlag(0x100); + } + } } -#pragma pop /* 80071E84-800720F4 06C7C4 0270+00 1/1 0/0 0/0 .text runDrawProc__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::runDrawProc() { - nofralloc -#include "asm/d/d_attention/runDrawProc__12dAttention_cFv.s" +void dAttention_c::runDrawProc() { + if ((mFlags >> 3) & 1) { + draw[0].setAlphaAnm(mAttParam.mAttnCursorAppearFrames, 0); + draw[0].setAnm(1, mAttParam.field_0x3c); + draw[0].field_0x164.x = mAttParam.mAttnCursorScaleX; + draw[0].field_0x164.y = mAttParam.mAttnCursorScaleY; + draw[0].field_0x164.z = mAttParam.mAttnCursorOffsetY; + draw[0].field_0x175 = 1; + + if (!i_dComIfGp_checkPlayerStatus0(0, 0x36a02311) || + i_dComIfGp_checkPlayerStatus1(0, 0x11)) { + lockSoundStart(Z2SE_SY_L_FOCUS_SET); + } + } else if (chkFlag(0x10)) { + draw[0].setAlphaAnm(mAttParam.mAttnCursorDisappearFrames, 1); + if (field_0x328 >= 0) { + field_0x328 = 1; + setFlag(0x40000000); + } + + if (!i_dComIfGp_checkPlayerStatus0(0, 0x36a02311) || + i_dComIfGp_checkPlayerStatus1(0, 0x11)) { + lockSoundStart(Z2SE_SY_L_FOCUS_RESET); + } + } else if (chkFlag(0x1)) { + draw[0].setAnm(0, mAttParam.field_0x38); + draw[0].setAlphaAnm(mAttParam.mAttnCursorAppearFrames, 0); + + draw[0].field_0x164.x = mAttParam.mSelCursorScaleX; + draw[0].field_0x164.y = mAttParam.mSelCursorScaleY; + draw[0].field_0x164.z = mAttParam.mSelCursorOffsetY; + draw[0].field_0x175 = 0; + setFlag(0x40000000); + } else if (chkFlag(0x2)) { + draw[0].setAlphaAnm(mAttParam.mAttnCursorAppearFrames, 0); + draw[1].setAnm(0, mAttParam.field_0x38); + draw[1].setAlphaAnm(mAttParam.mAttnCursorDisappearFrames, 1); + + draw[1].field_0x164.x = mAttParam.mSelCursorScaleX; + draw[1].field_0x164.y = mAttParam.mSelCursorScaleY; + draw[1].field_0x164.z = mAttParam.mSelCursorOffsetY; + draw[1].field_0x175 = 0; + setFlag(0x40000000); + } else if (mLockonCount <= 0 && field_0x328 == 0) { + draw[0].setAlphaAnm(mAttParam.mAttnCursorDisappearFrames, 1); + field_0x328 = 1; + setFlag(0x40000000); + } + + if (mAttnStatus == ST_LOCK) { + if (draw[0].field_0x173 == 3) { + draw[0].field_0x173 = 4; + clrFlag(0x40000000); + } + } else if (draw[0].field_0x173 == 3) { + draw[0].field_0x173 = 4; + clrFlag(0x40000000); + field_0x328 = -1; + } } -#pragma pop /* 800720F4-800720F8 06CA34 0004+00 1/1 0/0 0/0 .text runDebugDisp__12dAttention_cFv */ -void dAttention_c::runDebugDisp() { - /* empty function */ -} +void dAttention_c::runDebugDisp() {} /* 800720F8-800722A0 06CA38 01A8+00 1/1 0/0 0/0 .text checkButton__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::checkButton() { - nofralloc -#include "asm/d/d_attention/checkButton__12dAttention_cFv.s" +void dAttention_c::checkButton() { + if (on_final_boss_stg && dComIfGp_roomControl_getStayNo() == 0 && + !dComIfGs_isSaveDunSwitch(1)) { + if (field_0x32b == 1 && LockonTarget(0) != NULL && chkFlag(0x20000000)) { + setFlag(0x1000000); + } + } + + if (i_dComIfGp_checkPlayerStatus0(0, 0x36a02311) || i_dComIfGp_checkPlayerStatus1(0, 0x11)) { + switch (field_0x32b) { + case 0: + case 1: + clrFlag(0x1000000); + field_0x32b = 4; + break; + } + + return; + } + + switch (field_0x32b) { + case 4: + if (padLockButton(mPadNo) || chkFlag(0x1000000)) { + field_0x32b = 0; + setFlag(0x200); + clrFlag(0x1000000); + } + return; + case 0: + field_0x32b = 1; + case 1: + if (chkFlag(0x1000000)) { + field_0x32b = 0; + field_0x32e = 0x3C; + setFlag(0x200); + clrFlag(0x1000000); + return; + } + + if (!padLockButton(mPadNo)) { + field_0x32b = 4; + } + } } -#pragma pop /* 800722A0-800722EC 06CBE0 004C+00 2/2 0/0 0/0 .text triggerProc__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::triggerProc() { - nofralloc -#include "asm/d/d_attention/triggerProc__12dAttention_cFv.s" +bool dAttention_c::triggerProc() { + if (chaseAttention()) { + setFlag(0x8); + return true; + } + + return false; } -#pragma pop /* 800722EC-80072344 06CC2C 0058+00 2/2 0/0 0/0 .text lostCheck__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::lostCheck() { - nofralloc -#include "asm/d/d_attention/lostCheck__12dAttention_cFv.s" +int dAttention_c::lostCheck() { + if (chaseAttention()) { + return false; + } + + setFlag(0x10); + setFlag(0x40); + return true; } -#pragma pop /* 80072344-800725F0 06CC84 02AC+00 1/1 0/0 0/0 .text judgementStatus4Hold__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::judgementStatus4Hold() { - nofralloc -#include "asm/d/d_attention/judgementStatus4Hold__12dAttention_cFv.s" +void dAttention_c::judgementStatus4Hold() { + switch (mAttnStatus) { + case ST_NONE: + field_0x32f = 0; + field_0x32e = 0; + mLockTargetID = -1; + stockAttention(); + + if (field_0x32b == 0 && triggerProc()) { + mAttnStatus = ST_LOCK; + field_0x32e = 15; + } + break; + case ST_LOCK: + mLockTargetID = LockonTargetPId(0); + field_0x32f = 0; + + if (lostCheck()) { + mLockTargetID = -1; + stockAttention(); + + if (triggerProc()) { + mAttnStatus = ST_LOCK; + } else { + mAttnStatus = ST_NONE; + freeAttention(); + setFlag(0x800000); + } + } else if (field_0x32b == 4) { + mAttnStatus = ST_RELEASE; + setFlag(0x10); + field_0x32f = 10; + } else if (field_0x32e == 0) { + initList(-1); + + if (makeList()) { + sortList(); + } + } + + if (field_0x32e != 0) { + field_0x32e--; + } + + break; + case ST_RELEASE: + setFlag(0x40); + + if (lostCheck()) { + mLockTargetID = -1; + stockAttention(); + + if (triggerProc()) { + mAttnStatus = ST_LOCK; + } else { + mAttnStatus = ST_NONE; + freeAttention(); + setFlag(0x800000); + } + } else if (field_0x32b == 0) { + if (nextAttention()) { + setFlag(0x8); + mAttnStatus = ST_LOCK; + field_0x32e = 15; + } else { + mAttnStatus = ST_NONE; + freeAttention(); + } + } else if (LockonTarget(0) == NULL || field_0x32f == 0) { + mAttnStatus = ST_NONE; + freeAttention(); + } + + if (field_0x32f != 0) { + field_0x32f--; + } + + break; + } + + if (!chkFlag(0x1000)) { + setFlag(0x4000); + initList(-1); + + if (makeList()) { + sortList(); + } + } } -#pragma pop /* 800725F0-80072924 06CF30 0334+00 1/1 0/0 0/0 .text judgementStatus4Switch__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::judgementStatus4Switch() { - nofralloc -#include "asm/d/d_attention/judgementStatus4Switch__12dAttention_cFv.s" +void dAttention_c::judgementStatus4Switch() { + switch (mAttnStatus) { + case ST_NONE: + mLockTargetID = -1; + stockAttention(); + field_0x32f = 0; + field_0x32e = 0; + + if (field_0x32b == 0 && triggerProc()) { + mAttnStatus = ST_LOCK; + field_0x32e = 15; + field_0x32f = 15; + } + break; + case ST_LOCK: + mLockTargetID = LockonTargetPId(0); + + if (field_0x32f == 0) { + mAttnStatus = ST_NONE; + freeAttention(); + } else if (lostCheck()) { + mLockTargetID = -1; + stockAttention(); + + if (triggerProc()) { + mAttnStatus = ST_LOCK; + } else { + mAttnStatus = ST_NONE; + freeAttention(); + setFlag(0x800000); + } + } else if (field_0x32b == 0) { + if (mDoCPd_c::getStickY(mPadNo) < lit_4064) { + mAttnStatus = ST_NONE; + freeAttention(); + } else if (nextAttention()) { + setFlag(0x8); + mAttnStatus = ST_LOCK; + field_0x32e = 15; + } else { + mAttnStatus = ST_NONE; + freeAttention(); + } + } else if (field_0x32e == 0) { + initList(-1); + + if (makeList()) { + sortList(); + } + } + + if (!chkFlag(0x8) && field_0x32e != 0) { + field_0x32e--; + } + + if (field_0x32b == 1) { + if (field_0x32f != 0) { + field_0x32f--; + } + } else { + field_0x32f = 15; + } + + break; + case ST_RELEASE: + setFlag(0x40); + + if (lostCheck()) { + mLockTargetID = -1; + stockAttention(); + + if (triggerProc()) { + mAttnStatus = ST_LOCK; + } else { + mAttnStatus = ST_NONE; + freeAttention(); + setFlag(0x800000); + } + } else if (field_0x32b == 0) { + mAttnStatus = ST_NONE; + + if (triggerProc()) { + mAttnStatus = ST_LOCK; + field_0x32e = 15; + field_0x32f = 15; + } + } else if (LockonTarget(0) == NULL || field_0x32f == 0) { + mAttnStatus = ST_NONE; + freeAttention(); + } + + break; + } + + if (!chkFlag(0x1000)) { + setFlag(0x4000); + initList(-1); + + if (makeList()) { + sortList(); + } + } } -#pragma pop /* 80072924-80072BD4 06D264 02B0+00 0/0 1/1 0/0 .text Run__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::Run() { - nofralloc -#include "asm/d/d_attention/Run__12dAttention_cFv.s" +int dAttention_c::Run() { + clrFlag(0x3FFFFF); + + bool usingHold = dComIfGs_getOptAttentionType() == 0; + if (attn_opt_hold != usingHold) { + setFlag(0x10000); + } + + attn_opt_hold = usingHold; + + if (mAttnBlockTimer != 0) { + mAttnBlockTimer--; + return 1; + } + + if (chkFlag(0x80)) { + mpPlayer = dComIfGp_getPlayer(0); + mPadNo = PAD_1; + } + + setOwnerAttentionPos(); + + if (i_dComIfGp_event_runCheck() || chkFlag(0x10000)) { + mAttnStatus = ST_NONE; + field_0x32b = 4; + field_0x32c = 0; + clrFlag(0x20000000); + clrFlag(0x10000000); + mLockTargetID = -1; + freeAttention(); + } else { + checkButton(); + + if (attn_opt_hold) { + judgementStatus4Hold(); + } else { + judgementStatus4Switch(); + } + + if ((mFlags >> 0x17) & 1) { + freeAttention(); + if (LockonTarget(0) == NULL) { + setFlag(0x20000020); + } + setFlag(0x10000000); + clrFlag(0x800000); + } else if (chkFlag(0x10000000)) { + if (!padLockButton(mPadNo)) { + if (chkFlag(0x20000000)) { + lockSoundStart(Z2SE_SY_CAMERA_L_CANCEL); + clrFlag(0x20000000); + } + + clrFlag(0x10000000); + } + } else { + if (padLockButton(mPadNo)) { + if (LockonTarget(0) == NULL) { + lockSoundStart(Z2SE_SY_CAMERA_L_MOVE); + setFlag(0x20000020); + } + + setFlag(0x10000000); + } + } + } + + field_0x32a = mAttnStatus; + + runSoundProc(); + runDrawProc(); + runDebugDisp(); + + if (mAttnStatus == ST_LOCK) { + dComIfGp_onCameraAttentionStatus(mPadNo, 1); + } else { + dComIfGp_offCameraAttentionStatus(mPadNo, 1); + } + + mZHintTarget.proc(); + mCatghTarget.proc(); + mLookTarget.proc(); + + return 1; } -#pragma pop /* 80072BD4-80072D80 06D514 01AC+00 0/0 1/1 0/0 .text Draw__12dAttention_cFv */ +// reg stuff +#ifdef NONMATCHING +void dAttention_c::Draw() { + if (mAttParam.CheckFlag(0x10)) { + draw[0].field_0x173 = 3; + draw[1].field_0x173 = 3; + return; + } + + Mtx tmp; + PSMTXInverse(dComIfGd_getViewRotMtx(), tmp); + fopAc_ac_c* target = LockonTarget(0); + + if (!i_dComIfGp_event_runCheck()) { + if (target != NULL) { + draw[0].draw(target->mAttentionInfo.mPosition, tmp); + + if (mLockonCount >= 2 && draw[1].field_0x173 == 2) { + int listIdx = mLockOnOffset; + + if (listIdx == 0) { + listIdx = mLockonCount - 1; + } else { + listIdx--; + } + + if (mLockOnList[listIdx].getActor() != NULL) { + fopAc_ac_c* actor = mLockOnList[listIdx].getActor(); + draw[1].draw(actor->mAttentionInfo.mPosition, tmp); + } + } + + mTargetActorID = fopAcM_GetID(target); + mDrawAttnPos = target->mAttentionInfo.mPosition; + field_0x328 = 0; + } else if (field_0x328 > 0) { + fopAc_ac_c* actor = fopAcM_SearchByID(mTargetActorID); + + if (actor != NULL) { + draw[0].draw(actor->mAttentionInfo.mPosition, tmp); + mDrawAttnPos = actor->mAttentionInfo.mPosition; + } else { + draw[0].draw(mDrawAttnPos, tmp); + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -786,9 +1683,18 @@ asm void dAttention_c::Draw() { #include "asm/d/d_attention/Draw__12dAttention_cFv.s" } #pragma pop +#endif /* 80072D80-80072DD8 06D6C0 0058+00 2/2 0/0 0/0 .text lockSoundStart__12dAttention_cFUl */ +// matches with literals +#ifdef NONMATCHING +void dAttention_c::lockSoundStart(u32 i_sfxID) { + if (!chkFlag(0x400000)) { + mDoAud_seStart(i_sfxID, NULL, 0, 0); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -797,6 +1703,7 @@ asm void dAttention_c::lockSoundStart(u32 param_0) { #include "asm/d/d_attention/lockSoundStart__12dAttention_cFUl.s" } #pragma pop +#endif /* 80072DD8-80072FE8 06D718 0210+00 1/1 0/0 0/0 .text setAnm__10dAttDraw_cFUcf */ #pragma push @@ -809,14 +1716,12 @@ asm void dAttDraw_c::setAnm(u8 param_0, f32 param_1) { #pragma pop /* 80072FE8-80073004 06D928 001C+00 1/1 0/0 0/0 .text setAlphaAnm__10dAttDraw_cFUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttDraw_c::setAlphaAnm(u8 param_0, u8 param_1) { - nofralloc -#include "asm/d/d_attention/setAlphaAnm__10dAttDraw_cFUcUc.s" +void dAttDraw_c::setAlphaAnm(u8 param_0, u8 param_1) { + field_0x171 = param_0; + field_0x172 = 0; + field_0x173 = 2; + field_0x174 = param_1; } -#pragma pop /* ############################################################################################## */ /* 804526A0-804526A8 000CA0 0004+04 1/1 0/0 0/0 .sdata2 @5668 */ @@ -853,190 +1758,243 @@ SECTION_SDATA2 static f32 lit_5784 = 0.01745329238474369f; SECTION_SDATA2 static f32 lit_5785 = -100.0f; /* 800732B0-8007353C 06DBF0 028C+00 1/1 0/0 0/0 .text draw__10dAttDraw_cFR4cXyzPA4_f */ +// matches with literals +#ifdef NONMATCHING +void dAttDraw_c::draw(cXyz& param_0, Mtx param_1) { + J3DModelData* modelData = mModel[field_0x170]->getModelData(); + + mDoMtx_stack_c::transS(param_0.x, param_0.y + field_0x164.z, param_0.z); + mDoMtx_stack_c::concat(param_1); + mModel[field_0x170]->i_setBaseTRMtx(mDoMtx_stack_c::get()); + + view_class* view = dComIfGd_getView(); + f32 temp_f31 = tan(0.01745329238474369f * (0.5f * view->mFovy)); + f32 temp_f30 = (-100.0f - g_AttDwHIO.mCursorDistance) / temp_f31; + + cXyz tmp; + PSMTXMultVec(dComIfGd_getViewMtx(), ¶m_0, &tmp); + + f32 var_f2 = 1.0f; + if (tmp.z < temp_f30) { + var_f2 = (tmp.z * temp_f31) / (-100.0f - g_AttDwHIO.mCursorDistance); + } + + mModel[field_0x170]->setBaseScale( + cXyz(field_0x164.x * var_f2, field_0x164.y * var_f2, field_0x164.x * var_f2)); + + alphaAnm(); + + if (field_0x175 != 0) { + mImpactBck.entry(modelData); + mImpactBpk.entry(modelData); + mImpactBrk.entry(modelData); + mImpactBtk.entry(modelData); + } else { + mNoticeCursorBck[field_0x170].entry(modelData); + mNoticeCursorBpk[field_0x170].entry(modelData); + mNoticeCursorBrk[field_0x170].entry(modelData); + mNoticeCursorBtk[field_0x170].entry(modelData); + mNoticeCursor02Brk[field_0x170].entry(modelData); + } + + dComIfGd_setList3Dlast(); + mDoExt_modelUpdateDL(mModel[field_0x170]); + dComIfGd_setList(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttDraw_c::draw(cXyz& param_0, f32 (*param_1)[4]) { +asm void dAttDraw_c::draw(cXyz& param_0, Mtx param_1) { nofralloc #include "asm/d/d_attention/draw__10dAttDraw_cFR4cXyzPA4_f.s" } #pragma pop +#endif /* 8007353C-800735DC 06DE7C 00A0+00 8/8 13/13 21/21 .text LockonTarget__12dAttention_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::LockonTarget(s32 param_0) { - nofralloc -#include "asm/d/d_attention/LockonTarget__12dAttention_cFl.s" +fopAc_ac_c* dAttention_c::LockonTarget(s32 param_0) { + if (i_dComIfGp_checkPlayerStatus0(0, 0x36A02311) || i_dComIfGp_checkPlayerStatus1(0, 0x11)) { + return NULL; + } + + if (param_0 >= mLockonCount) { + return NULL; + } + + int listIdx = mLockOnOffset + param_0; + if (listIdx >= mLockonCount) { + listIdx -= mLockonCount; + } + + fopAc_ac_c* actor = mLockOnList[listIdx].getActor(); + if (actor == NULL || !(actor->mAttentionInfo.mFlags & 7)) { + return NULL; + } + + return actor; } -#pragma pop /* 800735DC-800736CC 06DF1C 00F0+00 0/0 1/1 0/0 .text LockonReleaseDistanse__12dAttention_cFv */ +#ifdef NONMATCHING +f32 dAttention_c::LockonReleaseDistanse() { + if (!LockonTruth()) { + return 0.0f; + } + + fopAc_ac_c* actor = mLockOnList[mLockOnOffset].getActor(); + if (actor == NULL) { + return 0.0f; + } + + int idx = mLockOnList[mLockOnOffset].mType + actor->mAttentionInfo.field_0x0[0]; + cSGlobe tmp_g(actor->mAttentionInfo.mPosition - mOwnerAttnPos); + cSAngle tmp_a(tmp_g.U() - mpPlayer->mCollisionRot.y); + + return distace_angle_adjust(dist_table[idx].field_0x8, tmp_a, 1.0f) + dist_table[idx].field_0x4; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dAttention_c::LockonReleaseDistanse() { +asm f32 dAttention_c::LockonReleaseDistanse() { nofralloc #include "asm/d/d_attention/LockonReleaseDistanse__12dAttention_cFv.s" } #pragma pop +#endif /* 800736CC-80073734 06E00C 0068+00 2/2 0/0 0/0 .text LockonTargetPId__12dAttention_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::LockonTargetPId(s32 param_0) { - nofralloc -#include "asm/d/d_attention/LockonTargetPId__12dAttention_cFl.s" +u32 dAttention_c::LockonTargetPId(s32 param_0) { + if (i_dComIfGp_checkPlayerStatus0(0, 0x36A02311) || i_dComIfGp_checkPlayerStatus1(0, 0x11)) { + return -1; + } + + if (param_0 >= mLockonCount) { + return -1; + } + + int listIdx = mLockOnOffset + param_0; + if (listIdx >= mLockonCount) { + listIdx -= mLockonCount; + } + + return mLockOnList[listIdx].getPid(); } -#pragma pop /* 80073734-8007378C 06E074 0058+00 0/0 3/3 2/2 .text ActionTarget__12dAttention_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::ActionTarget(s32 param_0) { - nofralloc -#include "asm/d/d_attention/ActionTarget__12dAttention_cFl.s" +fopAc_ac_c* dAttention_c::ActionTarget(s32 param_0) { + if (param_0 >= mActionCount) { + return NULL; + } + + int listIdx = mActionOffset + param_0; + if (listIdx >= mActionCount) { + listIdx -= mActionCount; + } + + return mActionList[listIdx].getActor(); } -#pragma pop /* 8007378C-800737E4 06E0CC 0058+00 0/0 3/3 0/0 .text CheckObjectTarget__12dAttention_cFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::CheckObjectTarget(s32 param_0) { - nofralloc -#include "asm/d/d_attention/CheckObjectTarget__12dAttention_cFl.s" +fopAc_ac_c* dAttention_c::CheckObjectTarget(s32 param_0) { + if (param_0 >= mCheckObjectCount) { + return NULL; + } + + int listIdx = mCheckObjectOffset + param_0; + if (listIdx >= mCheckObjectCount) { + listIdx -= mCheckObjectCount; + } + + return mCheckObjectList[listIdx].getActor(); } -#pragma pop /* 800737E4-80073838 06E124 0054+00 3/3 53/53 37/37 .text LockonTruth__12dAttention_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool dAttention_c::LockonTruth() { - nofralloc -#include "asm/d/d_attention/LockonTruth__12dAttention_cFv.s" +bool dAttention_c::LockonTruth() { + return (mAttnStatus == ST_LOCK || mAttnStatus == ST_RELEASE) && LockonTarget(0); } -#pragma pop /* 80073838-80073864 06E178 002C+00 0/0 1/1 0/0 .text * checkDistance__12dAttention_cFP4cXyzsP4cXyzffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttention_c::checkDistance(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, - f32 param_4, f32 param_5, f32 param_6) { - nofralloc -#include "asm/d/d_attention/checkDistance__12dAttention_cFP4cXyzsP4cXyzffff.s" +int dAttention_c::checkDistance(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4, + f32 param_5, f32 param_6) { + return check_distace(param_0, param_1, param_2, param_3, param_4, param_5, param_6); } -#pragma pop /* 80073864-80073898 06E1A4 0034+00 11/11 3/3 8/8 .text getActor__10dAttList_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttList_c::getActor() { - nofralloc -#include "asm/d/d_attention/getActor__10dAttList_cFv.s" +fopAc_ac_c* dAttList_c::getActor() { + return fopAcM_SearchByID(mActorID); } -#pragma pop /* 80073898-800738B4 06E1D8 001C+00 3/3 0/0 0/0 .text setActor__10dAttList_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttList_c::setActor(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_attention/setActor__10dAttList_cFP10fopAc_ac_c.s" +void dAttList_c::setActor(fopAc_ac_c* i_actor) { + mActorID = fopAcM_GetID(i_actor); } -#pragma pop /* 800738B4-800738CC 06E1F4 0018+00 1/1 0/0 0/0 .text getPId__10dAttHint_cFPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttHint_c::getPId(void* param_0) { - nofralloc -#include "asm/d/d_attention/getPId__10dAttHint_cFPv.s" +u32 dAttHint_c::getPId(void* i_actor) { + return fopAcM_GetID(i_actor); } -#pragma pop /* 800738CC-800738FC 06E20C 0030+00 0/0 1/1 0/0 .text convPId__10dAttHint_cFUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttHint_c::convPId(unsigned int param_0) { - nofralloc -#include "asm/d/d_attention/convPId__10dAttHint_cFUi.s" +fopAc_ac_c* dAttHint_c::convPId(unsigned int i_id) { + return fopAcM_SearchByID(i_id); } -#pragma pop /* 800738FC-80073958 06E23C 005C+00 0/0 0/0 6/6 .text request__10dAttHint_cFP10fopAc_ac_ci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttHint_c::request(fopAc_ac_c* param_0, int param_1) { - nofralloc -#include "asm/d/d_attention/request__10dAttHint_cFP10fopAc_ac_ci.s" +int dAttHint_c::request(fopAc_ac_c* i_actor, int i_priority) { + if (i_priority < 0) { + i_priority = 0x1FF; + } + + if (i_priority <= mPriority) { + mHintActorID = getPId(i_actor); + mPriority = i_priority; + } + + return 1; } -#pragma pop /* 80073958-80073970 06E298 0018+00 1/1 0/0 0/0 .text init__10dAttHint_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttHint_c::init() { - nofralloc -#include "asm/d/d_attention/init__10dAttHint_cFv.s" +void dAttHint_c::init() { + mHintActorID = -1; + field_0x8 = -1; + mPriority = 0x200; } -#pragma pop /* 80073970-8007398C 06E2B0 001C+00 1/1 0/0 0/0 .text proc__10dAttHint_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttHint_c::proc() { - nofralloc -#include "asm/d/d_attention/proc__10dAttHint_cFv.s" +void dAttHint_c::proc() { + field_0x8 = mHintActorID; + mHintActorID = -1; + mPriority = 0x200; } -#pragma pop /* 8007398C-800739BC 06E2CC 0030+00 0/0 4/4 0/0 .text convPId__11dAttCatch_cFUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 dAttCatch_c::convPId(unsigned int param_0) { - nofralloc -#include "asm/d/d_attention/convPId__11dAttCatch_cFUi.s" +fopAc_ac_c* dAttCatch_c::convPId(unsigned int i_id) { + return fopAcM_SearchByID(i_id); } -#pragma pop /* 800739BC-800739DC 06E2FC 0020+00 1/1 0/0 0/0 .text init__11dAttCatch_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttCatch_c::init() { - nofralloc -#include "asm/d/d_attention/init__11dAttCatch_cFv.s" +void dAttCatch_c::init() { + field_0xc = 0x67; + field_0x0 = -1; + mCatghTargetID = -1; + field_0x4 = 3; } -#pragma pop /* 800739DC-80073A08 06E31C 002C+00 1/1 0/0 0/0 .text proc__11dAttCatch_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttCatch_c::proc() { - nofralloc -#include "asm/d/d_attention/proc__11dAttCatch_cFv.s" +void dAttCatch_c::proc() { + mCatghTargetID = field_0x0; + mChangeItem = field_0xc; + field_0x0 = -1; + field_0x4 = 3; + field_0xc = 0x67; } -#pragma pop /* 80073A08-80073CA4 06E348 029C+00 0/0 0/0 10/10 .text * request__11dAttCatch_cFP10fopAc_ac_cUcfffsi */ @@ -1051,34 +2009,23 @@ asm void dAttCatch_c::request(fopAc_ac_c* param_0, u8 param_1, f32 param_2, f32 #pragma pop /* 80073CA4-80073CD4 06E5E4 0030+00 0/0 1/1 0/0 .text convPId__10dAttLook_cFUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttLook_c::convPId(unsigned int param_0) { - nofralloc -#include "asm/d/d_attention/convPId__10dAttLook_cFUi.s" +fopAc_ac_c* dAttLook_c::convPId(unsigned int i_id) { + return fopAcM_SearchByID(i_id); } -#pragma pop /* 80073CD4-80073CEC 06E614 0018+00 1/1 0/0 0/0 .text init__10dAttLook_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttLook_c::init() { - nofralloc -#include "asm/d/d_attention/init__10dAttLook_cFv.s" +void dAttLook_c::init() { + field_0x0 = -1; + mLookTargetID = -1; + field_0x4 = 3; } -#pragma pop /* 80073CEC-80073D08 06E62C 001C+00 1/1 0/0 0/0 .text proc__10dAttLook_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dAttLook_c::proc() { - nofralloc -#include "asm/d/d_attention/proc__10dAttLook_cFv.s" +void dAttLook_c::proc() { + mLookTargetID = field_0x0; + field_0x0 = -1; + field_0x4 = 3; } -#pragma pop /* 80073D08-80073FC4 06E648 02BC+00 0/0 0/0 7/7 .text request__10dAttLook_cFP10fopAc_ac_cfffsi */ #pragma push @@ -1092,15 +2039,7 @@ asm void dAttLook_c::request(fopAc_ac_c* param_0, f32 param_1, f32 param_2, f32 #pragma pop /* 80073FC4-8007400C 06E904 0048+00 2/1 0/0 0/0 .text __dt__15dAttDrawParam_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm dAttDrawParam_c::~dAttDrawParam_c() { -extern "C" asm void __dt__15dAttDrawParam_cFv() { - nofralloc -#include "asm/d/d_attention/__dt__15dAttDrawParam_cFv.s" -} -#pragma pop +dAttDrawParam_c::~dAttDrawParam_c() {} /* ############################################################################################## */ /* 8045067A-8045067E -00001 0004+00 0/0 0/0 0/0 .sdata None */ diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index ee205a18c8..370e64da47 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -5,10 +5,10 @@ #include "d/d_demo.h" #include "d/com/d_com_inf_game.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" #include "rel/d/a/d_a_movie_player/d_a_movie_player.h" -#include "d/msg/d_msg_object.h" // // Forward References: @@ -506,37 +506,21 @@ SECTION_DATA extern void* data_803A7BF4[9] = { namespace { /* 80037DE4-80037E44 032724 0060+00 1/0 0/0 0/0 .text * __dt__Q220@unnamed@d_demo_cpp@24jstudio_tAdaptor_messageFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm jstudio_tAdaptor_message::~jstudio_tAdaptor_message() { - nofralloc -#include "asm/d/d_demo/func_80037DE4.s" -} -#pragma pop +jstudio_tAdaptor_message::~jstudio_tAdaptor_message() {} /* 80037E44-80037E74 032784 0030+00 1/0 0/0 0/0 .text * adaptor_do_MESSAGE__Q220@unnamed@d_demo_cpp@24jstudio_tAdaptor_messageFQ37JStudio4data15TEOperationDataPCvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void jstudio_tAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData param_0, const void* param_1, u32 param_2) { - nofralloc -#include "asm/d/d_demo/func_80037E44.s" +void jstudio_tAdaptor_message::adaptor_do_MESSAGE(JStudio::data::TEOperationData param_0, + const void* pContent, u32 uSize) { + if (param_0 == JStudio::data::UNK_0x19) { + dMsgObject_setDemoMessage(*(u32*)pContent); + } } -#pragma pop /* 80037E74-80037ED4 0327B4 0060+00 1/0 0/0 0/0 .text * __dt__Q220@unnamed@d_demo_cpp@29jstudio_tCreateObject_messageFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm jstudio_tCreateObject_message::~jstudio_tCreateObject_message() { - nofralloc -#include "asm/d/d_demo/func_80037E74.s" -} -#pragma pop +jstudio_tCreateObject_message::~jstudio_tCreateObject_message() {} /* 80037ED4-80038020 032814 014C+00 1/0 0/0 0/0 .text * create__Q220@unnamed@d_demo_cpp@29jstudio_tCreateObject_messageFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object @@ -544,7 +528,9 @@ asm jstudio_tCreateObject_message::~jstudio_tCreateObject_message() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void jstudio_tCreateObject_message::create(JStudio::TObject** param_0, const JStudio::stb::data::TParse_TBlock_object& param_1) { +asm void +jstudio_tCreateObject_message::create(JStudio::TObject** param_0, + const JStudio::stb::data::TParse_TBlock_object& param_1) { nofralloc #include "asm/d/d_demo/func_80037ED4.s" } @@ -611,6 +597,18 @@ SECTION_SDATA2 static u8 lit_4040[4] = { SECTION_SDATA2 static f32 lit_4041 = 1.0f; /* 80038020-80038098 032960 0078+00 1/1 0/0 0/0 .text __ct__13dDemo_actor_cFv */ +// matches with literals +#ifdef NONMATCHING +dDemo_actor_c::dDemo_actor_c() { + mFlags = 0; + mTrans.set(0.0f, 0.0f, 0.0f); + mScale.set(1.0f, 1.0f, 1.0f); + mRotate.set(0, 0, 0); + mModel = NULL; + mAnmFrameMax = __float_max[0]; + mTexAnmFrameMax = __float_max[0]; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -619,8 +617,24 @@ asm dDemo_actor_c::dDemo_actor_c() { #include "asm/d/d_demo/__ct__13dDemo_actor_cFv.s" } #pragma pop +#endif /* 80038098-80038128 0329D8 0090+00 1/0 0/0 0/0 .text __dt__13dDemo_actor_cFv */ +// matches with vtable data +#ifdef NONMATCHING +dDemo_actor_c::~dDemo_actor_c() { + fopAc_ac_c* actor = getActor(); + if (actor != NULL) { + actor->mDemoActorId = 0; + } + + mActorId = -1; + mOldAnmId = -1; + mBtpId = -1; + mBtkId = -1; + mBrkId = -1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -630,26 +644,26 @@ extern "C" asm void __dt__13dDemo_actor_cFv() { #include "asm/d/d_demo/__dt__13dDemo_actor_cFv.s" } #pragma pop +#endif /* 80038128-8003815C 032A68 0034+00 1/1 0/0 0/0 .text getActor__13dDemo_actor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::getActor() { - nofralloc -#include "asm/d/d_demo/getActor__13dDemo_actor_cFv.s" +fopAc_ac_c* dDemo_actor_c::getActor() { + return fopAcM_SearchByID(mActorId); } -#pragma pop /* 8003815C-8003819C 032A9C 0040+00 1/1 1/1 0/0 .text setActor__13dDemo_actor_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::setActor(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/d_demo/setActor__13dDemo_actor_cFP10fopAc_ac_c.s" +void dDemo_actor_c::setActor(fopAc_ac_c* pActor) { + if (pActor == NULL) { + mActorId = -1; + } else { + mActorId = fopAcM_GetID(pActor); + } + + mOldAnmId = -1; + mBtpId = -1; + mBtkId = -1; + mBrkId = -1; } -#pragma pop /* ############################################################################################## */ /* 80451DB8-80451DC0 0003B8 0008+00 4/4 0/0 0/0 .sdata2 @4127 */ @@ -659,7 +673,7 @@ SECTION_SDATA2 static f64 lit_4127 = 4503601774854144.0 /* cast s32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dDemo_actor_c::getPrm_Morf() { +asm f32 dDemo_actor_c::getPrm_Morf() { nofralloc #include "asm/d/d_demo/getPrm_Morf__13dDemo_actor_cFv.s" } @@ -729,7 +743,7 @@ const u8* dDemo_c::m_branchData; static u8 struct_80450E48[4]; /* 80450E4C-80450E50 00034C 0004+00 1/1 0/0 0/0 .sbss it$4206 */ -static u8 it[4]; +static int it; /* 80038338-80038490 032C78 0158+00 0/0 1/1 5/5 .text getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc */ @@ -747,7 +761,7 @@ asm void dDemo_actor_c::getDemoIDData(int* param_0, int* param_1, int* param_2, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dDemo_getJaiPointer(char const* param_0, u32 param_1, int param_2, u16* param_3) { +static asm void* dDemo_getJaiPointer(char const* param_0, u32 param_1, int param_2, u16* param_3) { nofralloc #include "asm/d/d_demo/dDemo_getJaiPointer__FPCcUliPUs.s" } @@ -759,20 +773,93 @@ SECTION_SDATA2 static f32 lit_4152 = -1.0f; /* 80038518-800387A8 032E58 0290+00 0/0 0/0 2/2 .text * dDemo_setDemoData__FP10fopAc_ac_cUcP14mDoExt_McaMorfPCciPUsUlSc */ +// reg alloc +#ifdef NONMATCHING +int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2, char const* param_3, + int param_4, u16* param_5, u32 param_6, s8 param_7) { + dDemo_actor_c* demo_actor = dDemo_c::getActor(param_0->mDemoActorId); + + if (demo_actor == NULL) { + return 0; + } + + u32 flags = demo_actor->checkEnable(param_1); + if (flags & 2) { + param_0->current.pos = demo_actor->getTrans(); + param_0->next.pos = param_0->current.pos; + } + + if (flags & 8) { + param_0->mCollisionRot = demo_actor->getRatate(); + } + + if (flags & 4) { + param_0->mScale = demo_actor->getScale(); + } + + if (flags & 0x80) { + param_0->mGravity = demo_actor->getPrm_Morf(); + } + + if (param_2 == NULL) { + return 1; + } + + demo_actor->setModel(param_2->getModel()); + + if (flags & 0x20) { + u32 anmID = demo_actor->getAnmId(); + + if (anmID != demo_actor->getOldAnmId()) { + const char* a_name; + if (anmID & 0x10000) { + a_name = dStage_roomControl_c::getDemoArcName(); + } else { + a_name = param_3; + } + + demo_actor->setOldAnmId(anmID); + + J3DAnmTransform* i_key = (J3DAnmTransform*)dComIfG_getObjectIDRes(a_name, anmID); + void* ptr = dDemo_getJaiPointer(a_name, anmID, param_4, param_5); + + param_2->setAnm(i_key, -1, demo_actor->getPrm_Morf(), 1.0f, 0.0f, -1.0f, ptr); + demo_actor->setAnmFrameMax(param_2->getEndFrame()); + } + } + + if (flags & 0x40) { + f32 anm_frame = demo_actor->getAnmFrame(); + + if (anm_frame > 1.0f) { + param_2->setFrame(anm_frame - 1.0f); + param_2->play(¶m_0->current.pos, param_6, param_7); + } else { + param_2->setFrame(anm_frame); + } + } else { + param_2->play(¶m_0->current.pos, param_6, param_7); + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2, - char const* param_3, int param_4, u16* param_5, u32 param_6, + char const* a_name, int param_4, u16* param_5, u32 param_6, s8 param_7) { nofralloc #include "asm/d/d_demo/dDemo_setDemoData__FP10fopAc_ac_cUcP14mDoExt_McaMorfPCciPUsUlSc.s" } #pragma pop +#endif /* 800387A8-800387EC 0330E8 0044+00 1/1 0/0 0/0 .text branchFile__FPCc */ static void branchFile(char const* resName) { - dDemo_c::setBranchData((u8*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName)); + dDemo_c::setBranchData( + (u8*)dComIfG_getObjectRes(dStage_roomControl_c::getDemoArcName(), resName)); } /* ############################################################################################## */ @@ -814,258 +901,205 @@ asm void dDemo_actor_c::JSGSetTranslation(Vec const& param_0) { #pragma pop /* 80038980-800389A8 0332C0 0028+00 1/0 0/0 0/0 .text JSGSetScaling__13dDemo_actor_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetScaling(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetScaling__13dDemo_actor_cFRC3Vec.s" +void dDemo_actor_c::JSGSetScaling(Vec const& i_scale) { + mScale = i_scale; + onEnable(0x4); } -#pragma pop - -/* ############################################################################################## */ -/* 80451DCC-80451DD0 0003CC 0004+00 1/1 0/0 0/0 .sdata2 @4567 */ -SECTION_SDATA2 static f32 lit_4567 = 182.04444885253906f; /* 800389A8-80038A0C 0332E8 0064+00 1/0 0/0 0/0 .text JSGSetRotation__13dDemo_actor_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetRotation(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetRotation__13dDemo_actor_cFRC3Vec.s" +void dDemo_actor_c::JSGSetRotation(Vec const& i_rotate) { + mRotate.x = i_rotate.x * 182.04444885253906f; + mRotate.y = i_rotate.y * 182.04444885253906f; + mRotate.z = i_rotate.z * 182.04444885253906f; + onEnable(0x8); } -#pragma pop /* 80038A0C-80038A20 03334C 0014+00 1/0 0/0 0/0 .text JSGSetShape__13dDemo_actor_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetShape(u32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetShape__13dDemo_actor_cFUl.s" +void dDemo_actor_c::JSGSetShape(u32 i_shape) { + mShape = i_shape; + onEnable(0x10); } -#pragma pop /* 80038A20-80038A40 033360 0020+00 1/0 0/0 0/0 .text JSGSetAnimation__13dDemo_actor_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetAnimation(u32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetAnimation__13dDemo_actor_cFUl.s" +void dDemo_actor_c::JSGSetAnimation(u32 i_anmID) { + mAnmId = i_anmID; + mAnmFrameMax = __float_max[0]; + onEnable(0x20); } -#pragma pop /* 80038A40-80038A54 033380 0014+00 1/0 0/0 0/0 .text JSGSetAnimationFrame__13dDemo_actor_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetAnimationFrame(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetAnimationFrame__13dDemo_actor_cFf.s" +void dDemo_actor_c::JSGSetAnimationFrame(f32 i_frame) { + mAnmFrame = i_frame; + onEnable(0x40); } -#pragma pop /* 80038A54-80038A68 033394 0014+00 1/0 0/0 0/0 .text JSGSetAnimationTransition__13dDemo_actor_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetAnimationTransition(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetAnimationTransition__13dDemo_actor_cFf.s" +void dDemo_actor_c::JSGSetAnimationTransition(f32 i_trans) { + mAnmTransition = i_trans; + onEnable(0x80); } -#pragma pop /* 80038A68-80038A7C 0333A8 0014+00 1/0 0/0 0/0 .text JSGSetTextureAnimation__13dDemo_actor_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetTextureAnimation(u32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetTextureAnimation__13dDemo_actor_cFUl.s" +void dDemo_actor_c::JSGSetTextureAnimation(u32 i_anm) { + mTexAnm = i_anm; + onEnable(0x100); } -#pragma pop /* 80038A7C-80038A90 0333BC 0014+00 1/0 0/0 0/0 .text * JSGSetTextureAnimationFrame__13dDemo_actor_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGSetTextureAnimationFrame(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetTextureAnimationFrame__13dDemo_actor_cFf.s" +void dDemo_actor_c::JSGSetTextureAnimationFrame(f32 i_frame) { + mTexAnmFrame = i_frame; + onEnable(0x200); } -#pragma pop /* 80038A90-80038AC4 0333D0 0034+00 8/8 0/0 0/0 .text getView__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getView() { - nofralloc -#include "asm/d/d_demo/getView__Fv.s" +static view_class* getView() { + if (dComIfGp_getWindowNum() == 0) { + return NULL; + } + + int camID = dComIfGp_getWindow(0)->getCameraID(); + return dComIfGp_getCamera(camID); } -#pragma pop /* 80038AC4-80038AF8 033404 0034+00 1/0 0/0 0/0 .text JSGGetProjectionNear__14dDemo_camera_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 dDemo_camera_c::JSGGetProjectionNear() const { - nofralloc -#include "asm/d/d_demo/JSGGetProjectionNear__14dDemo_camera_cCFv.s" +f32 dDemo_camera_c::JSGGetProjectionNear() const { + view_class* view = getView(); + + if (view == NULL) { + return FLOAT_LABEL(lit_4040); + } + + return view->mNear; } -#pragma pop /* 80038AF8-80038B0C 033438 0014+00 1/0 0/0 0/0 .text JSGSetProjectionNear__14dDemo_camera_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetProjectionNear(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetProjectionNear__14dDemo_camera_cFf.s" +void dDemo_camera_c::JSGSetProjectionNear(f32 i_projNear) { + mProjNear = i_projNear; + onEnable(0x1); } -#pragma pop /* 80038B0C-80038B40 03344C 0034+00 1/0 0/0 0/0 .text JSGGetProjectionFar__14dDemo_camera_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 dDemo_camera_c::JSGGetProjectionFar() const { - nofralloc -#include "asm/d/d_demo/JSGGetProjectionFar__14dDemo_camera_cCFv.s" +f32 dDemo_camera_c::JSGGetProjectionFar() const { + view_class* view = getView(); + + if (view == NULL) { + return lit_4041; + } + + return view->mFar; } -#pragma pop /* 80038B40-80038B54 033480 0014+00 1/0 0/0 0/0 .text JSGSetProjectionFar__14dDemo_camera_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetProjectionFar(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetProjectionFar__14dDemo_camera_cFf.s" +void dDemo_camera_c::JSGSetProjectionFar(f32 i_projFar) { + mProjFar = i_projFar; + onEnable(0x2); } -#pragma pop - -/* ############################################################################################## */ -/* 80451DD0-80451DD4 0003D0 0004+00 1/1 0/0 0/0 .sdata2 @4642 */ -SECTION_SDATA2 static f32 lit_4642 = 60.0f; /* 80038B54-80038B88 033494 0034+00 1/0 0/0 0/0 .text JSGGetProjectionFovy__14dDemo_camera_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 dDemo_camera_c::JSGGetProjectionFovy() const { - nofralloc -#include "asm/d/d_demo/JSGGetProjectionFovy__14dDemo_camera_cCFv.s" +f32 dDemo_camera_c::JSGGetProjectionFovy() const { + view_class* view = getView(); + + if (view == NULL) { + return 60.0f; + } + + return view->mFovy; } -#pragma pop /* 80038B88-80038B9C 0334C8 0014+00 1/0 0/0 0/0 .text JSGSetProjectionFovy__14dDemo_camera_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetProjectionFovy(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetProjectionFovy__14dDemo_camera_cFf.s" +void dDemo_camera_c::JSGSetProjectionFovy(f32 i_projFovy) { + mProjFovy = i_projFovy; + onEnable(0x4); } -#pragma pop - -/* ############################################################################################## */ -/* 80451DD4-80451DD8 0003D4 0004+00 1/1 0/0 0/0 .sdata2 @4655 */ -SECTION_SDATA2 static f32 lit_4655 = 19.0f / 14.0f; /* 80038B9C-80038BD0 0334DC 0034+00 1/0 0/0 0/0 .text JSGGetProjectionAspect__14dDemo_camera_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 dDemo_camera_c::JSGGetProjectionAspect() const { - nofralloc -#include "asm/d/d_demo/JSGGetProjectionAspect__14dDemo_camera_cCFv.s" +f32 dDemo_camera_c::JSGGetProjectionAspect() const { + view_class* view = getView(); + + if (view == NULL) { + return 1.3571428f; + } + + return view->mAspect; } -#pragma pop /* 80038BD0-80038BE4 033510 0014+00 1/0 0/0 0/0 .text JSGSetProjectionAspect__14dDemo_camera_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetProjectionAspect(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetProjectionAspect__14dDemo_camera_cFf.s" +void dDemo_camera_c::JSGSetProjectionAspect(f32 i_aspect) { + mProjAspect = i_aspect; + onEnable(0x8); } -#pragma pop /* 80038BE4-80038C44 033524 0060+00 1/0 0/0 0/0 .text JSGGetViewPosition__14dDemo_camera_cCFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGGetViewPosition(Vec* param_0) const { - nofralloc -#include "asm/d/d_demo/JSGGetViewPosition__14dDemo_camera_cCFP3Vec.s" +void dDemo_camera_c::JSGGetViewPosition(Vec* o_position) const { + view_class* view = getView(); + + if (view == NULL) { + f32 tmp_0 = FLOAT_LABEL(lit_4040); + o_position->x = tmp_0; + o_position->y = tmp_0; + o_position->z = tmp_0; + } else { + *o_position = view->mLookat.mEye; + } } -#pragma pop /* 80038C44-80038C6C 033584 0028+00 1/0 0/0 0/0 .text JSGSetViewPosition__14dDemo_camera_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetViewPosition(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetViewPosition__14dDemo_camera_cFRC3Vec.s" +void dDemo_camera_c::JSGSetViewPosition(Vec const& i_position) { + mViewPos = i_position; + onEnable(0x10); } -#pragma pop /* 80038C6C-80038CD0 0335AC 0064+00 1/0 0/0 0/0 .text JSGGetViewUpVector__14dDemo_camera_cCFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGGetViewUpVector(Vec* param_0) const { - nofralloc -#include "asm/d/d_demo/JSGGetViewUpVector__14dDemo_camera_cCFP3Vec.s" +void dDemo_camera_c::JSGGetViewUpVector(Vec* o_upVec) const { + view_class* view = getView(); + + if (view == NULL) { + f32 tmp_0 = FLOAT_LABEL(lit_4040); + o_upVec->x = tmp_0; + o_upVec->y = lit_4041; + o_upVec->z = tmp_0; + } else { + *o_upVec = view->mLookat.mUp; + } } -#pragma pop /* 80038CD0-80038CF8 033610 0028+00 1/0 0/0 0/0 .text JSGSetViewUpVector__14dDemo_camera_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetViewUpVector(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetViewUpVector__14dDemo_camera_cFRC3Vec.s" +void dDemo_camera_c::JSGSetViewUpVector(Vec const& i_upVec) { + mViewUpVector = i_upVec; + onEnable(0x20); } -#pragma pop /* 80038CF8-80038D5C 033638 0064+00 1/0 0/0 0/0 .text * JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGGetViewTargetPosition(Vec* param_0) const { - nofralloc -#include "asm/d/d_demo/JSGGetViewTargetPosition__14dDemo_camera_cCFP3Vec.s" +void dDemo_camera_c::JSGGetViewTargetPosition(Vec* o_targetPos) const { + view_class* view = getView(); + + if (view == NULL) { + f32 tmp_0 = FLOAT_LABEL(lit_4040); + o_targetPos->x = tmp_0; + o_targetPos->y = tmp_0; + o_targetPos->z = lit_4041; + } else { + *o_targetPos = view->mLookat.mCenter; + } } -#pragma pop /* 80038D5C-80038D84 03369C 0028+00 1/0 0/0 0/0 .text * JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetViewTargetPosition(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetViewTargetPosition__14dDemo_camera_cFRC3Vec.s" +void dDemo_camera_c::JSGSetViewTargetPosition(Vec const& i_targetPos) { + mViewTargetVector = i_targetPos; + onEnable(0x40); } -#pragma pop /* ############################################################################################## */ /* 80451DD8-80451DE0 0003D8 0004+04 2/2 0/0 0/0 .sdata2 @4710 */ @@ -1077,6 +1111,18 @@ SECTION_SDATA2 static f32 lit_4710[1 + 1 /* padding */] = { /* 80038D84-80038DDC 0336C4 0058+00 1/0 0/0 0/0 .text JSGGetViewRoll__14dDemo_camera_cCFv */ +// matches with literals +#ifdef NONMATCHING +f32 dDemo_camera_c::JSGGetViewRoll() const { + view_class* view = getView(); + + if (view == NULL) { + return 0.0f; + } + + return view->mBank * 0.0054931640625f; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1085,131 +1131,87 @@ asm f32 dDemo_camera_c::JSGGetViewRoll() const { #include "asm/d/d_demo/JSGGetViewRoll__14dDemo_camera_cCFv.s" } #pragma pop +#endif /* 80038DDC-80038DF0 03371C 0014+00 1/0 0/0 0/0 .text JSGSetViewRoll__14dDemo_camera_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_camera_c::JSGSetViewRoll(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetViewRoll__14dDemo_camera_cFf.s" +void dDemo_camera_c::JSGSetViewRoll(f32 i_roll) { + mViewRoll = i_roll; + onEnable(0x80); } -#pragma pop /* 80038DF0-80038E20 033730 0030+00 1/0 0/0 0/0 .text JSGSetColor__15dDemo_ambient_cF8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_ambient_c::JSGSetColor(_GXColor param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetColor__15dDemo_ambient_cF8_GXColor.s" +void dDemo_ambient_c::JSGSetColor(GXColor i_color) { + mColor = i_color; + onEnable(0x1); } -#pragma pop /* 80038E20-80038E34 033760 0014+00 1/0 0/0 0/0 .text * JSGSetLightType__13dDemo_light_cFQ26JStage7TELight */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_light_c::JSGSetLightType(JStage::TELight param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetLightType__13dDemo_light_cFQ26JStage7TELight.s" +void dDemo_light_c::JSGSetLightType(JStage::TELight i_lightType) { + mLightType = i_lightType; + onEnable(0x1); } -#pragma pop /* 80038E34-80038E5C 033774 0028+00 1/0 0/0 0/0 .text JSGSetPosition__13dDemo_light_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_light_c::JSGSetPosition(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetPosition__13dDemo_light_cFRC3Vec.s" +void dDemo_light_c::JSGSetPosition(Vec const& i_pos) { + mPosition = i_pos; + onEnable(0x2); } -#pragma pop /* 80038E5C-80038E8C 03379C 0030+00 1/0 0/0 0/0 .text JSGSetColor__13dDemo_light_cF8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_light_c::JSGSetColor(_GXColor param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetColor__13dDemo_light_cF8_GXColor.s" +void dDemo_light_c::JSGSetColor(GXColor i_color) { + mColor = i_color; + onEnable(0x4); } -#pragma pop /* 80038E8C-80038EA8 0337CC 001C+00 1/0 0/0 0/0 .text * JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_light_c::JSGSetDistanceAttenuation(f32 param_0, f32 param_1, _GXDistAttnFn param_2) { - nofralloc -#include "asm/d/d_demo/JSGSetDistanceAttenuation__13dDemo_light_cFff13_GXDistAttnFn.s" +void dDemo_light_c::JSGSetDistanceAttenuation(f32 param_0, f32 param_1, GXDistAttnFn i_distAttenFn) { + field_0x24 = param_0; + field_0x28 = param_1; + mDistAttenFn = i_distAttenFn; + onEnable(0x8); } -#pragma pop /* 80038EA8-80038EC0 0337E8 0018+00 1/0 0/0 0/0 .text * JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_light_c::JSGSetAngleAttenuation(f32 param_0, _GXSpotFn param_1) { - nofralloc -#include "asm/d/d_demo/JSGSetAngleAttenuation__13dDemo_light_cFf9_GXSpotFn.s" +void dDemo_light_c::JSGSetAngleAttenuation(f32 param_0, GXSpotFn i_spotFn) { + field_0x2c = param_0; + mSpotFn = i_spotFn; + onEnable(0x10); } -#pragma pop /* 80038EC0-80038EE8 033800 0028+00 1/0 0/0 0/0 .text JSGSetDirection__13dDemo_light_cFRC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_light_c::JSGSetDirection(Vec const& param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetDirection__13dDemo_light_cFRC3Vec.s" +void dDemo_light_c::JSGSetDirection(Vec const& i_direction) { + mDirection = i_direction; + onEnable(0x20); } -#pragma pop /* 80038EE8-80038EFC 033828 0014+00 1/0 0/0 0/0 .text * JSGSetFogFunction__11dDemo_fog_cF10_GXFogType */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_fog_c::JSGSetFogFunction(_GXFogType param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetFogFunction__11dDemo_fog_cF10_GXFogType.s" +void dDemo_fog_c::JSGSetFogFunction(GXFogType i_fogType) { + mFogType = i_fogType; + onEnable(0x1); } -#pragma pop /* 80038EFC-80038F10 03383C 0014+00 1/0 0/0 0/0 .text JSGSetStartZ__11dDemo_fog_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_fog_c::JSGSetStartZ(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetStartZ__11dDemo_fog_cFf.s" +void dDemo_fog_c::JSGSetStartZ(f32 i_startZ) { + mStartZ = i_startZ; + onEnable(0x2); } -#pragma pop /* 80038F10-80038F24 033850 0014+00 1/0 0/0 0/0 .text JSGSetEndZ__11dDemo_fog_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_fog_c::JSGSetEndZ(f32 param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetEndZ__11dDemo_fog_cFf.s" +void dDemo_fog_c::JSGSetEndZ(f32 i_endZ) { + mEndZ = i_endZ; + onEnable(0x4); } -#pragma pop /* 80038F24-80038F54 033864 0030+00 1/0 0/0 0/0 .text JSGSetColor__11dDemo_fog_cF8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_fog_c::JSGSetColor(_GXColor param_0) { - nofralloc -#include "asm/d/d_demo/JSGSetColor__11dDemo_fog_cF8_GXColor.s" +void dDemo_fog_c::JSGSetColor(GXColor i_color) { + mColor = i_color; + onEnable(0x8); } -#pragma pop /* 80038F54-80038F70 033894 001C+00 1/1 0/0 0/0 .text __ct__14dDemo_object_cFv */ dDemo_object_c::dDemo_object_c() { @@ -1386,7 +1388,7 @@ extern "C" asm void __dt__15dDemo_ambient_cFv() { /* 80039528-80039678 033E68 0150+00 1/0 0/0 0/0 .text * JSGFindObject__14dDemo_system_cCFPPQ26JStage7TObjectPCcQ26JStage8TEObject */ bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorName, - JStage::TEObject objType) const { + JStage::TEObject objType) const { if (mpObject == NULL) { return true; } @@ -1396,7 +1398,8 @@ bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorNa if (actor == NULL) { if (objType == JStage::TOBJ_ACTOR && !strncmp(actorName, "d_act", 5)) { - actor = (fopAc_ac_c*)fopAcM_fastCreate(actorName, 0, NULL, -1, NULL, NULL, NULL, NULL); + actor = + (fopAc_ac_c*)fopAcM_fastCreate(actorName, 0, NULL, -1, NULL, NULL, NULL, NULL); if (actor == NULL) { return true; } @@ -1506,7 +1509,7 @@ int dDemo_c::start(u8 const* p_data, cXyz* p_translation, f32 rotationY) { if (m_data == NULL) { m_control->setSuspend(0); } - + m_control->forward(0); m_translation = p_translation; @@ -1617,6 +1620,14 @@ void dDemo_c::reset() { } /* 80039F1C-80039F9C 03485C 0080+00 1/0 0/0 0/0 .text emitter_create__16dDemo_particle_cFUl */ +// matches with literals +#ifdef NONMATCHING +void dDemo_particle_c::emitter_create(u32 param_0) { + cXyz tmp(0.0f, 0.0f, 0.0f); + int stayNo = dComIfGp_roomControl_getStayNo(); + dComIfGp_particle_set(param_0, &tmp, NULL, NULL, 0xFF, NULL, stayNo, NULL, NULL, NULL); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1625,6 +1636,7 @@ asm void dDemo_particle_c::emitter_create(u32 param_0) { #include "asm/d/d_demo/emitter_create__16dDemo_particle_cFUl.s" } #pragma pop +#endif /* 80039F9C-80039FFC 0348DC 0060+00 1/0 0/0 0/0 .text __dt__16dDemo_particle_cFv */ #pragma push @@ -1650,67 +1662,38 @@ extern "C" asm void __dt__14dDemo_camera_cFv() { /* 8003A05C-8003A088 03499C 002C+00 1/0 0/0 0/0 .text JSGFindNodeID__13dDemo_actor_cCFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGFindNodeID(char const* param_0) const { - nofralloc -#include "asm/d/d_demo/JSGFindNodeID__13dDemo_actor_cCFPCc.s" +s32 dDemo_actor_c::JSGFindNodeID(char const* param_0) const { + return mModel->getModelData()->getJointName()->getIndex(param_0); } -#pragma pop /* 8003A088-8003A0C8 0349C8 0040+00 1/0 0/0 0/0 .text * JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGGetNodeTransformation(u32 param_0, f32 (*param_1)[4]) const { - nofralloc -#include "asm/d/d_demo/JSGGetNodeTransformation__13dDemo_actor_cCFUlPA4_f.s" +int dDemo_actor_c::JSGGetNodeTransformation(u32 param_0, Mtx param_1) const { + PSMTXCopy(mModel->i_getAnmMtx((u16)param_0), param_1); + return 1; } -#pragma pop /* 8003A0C8-8003A0D0 034A08 0008+00 1/0 0/0 0/0 .text JSGGetAnimationFrameMax__13dDemo_actor_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 dDemo_actor_c::JSGGetAnimationFrameMax() const { - nofralloc -#include "asm/d/d_demo/JSGGetAnimationFrameMax__13dDemo_actor_cCFv.s" +f32 dDemo_actor_c::JSGGetAnimationFrameMax() const { + return mAnmFrameMax; } -#pragma pop /* 8003A0D0-8003A0D8 034A10 0008+00 1/0 0/0 0/0 .text * JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 dDemo_actor_c::JSGGetTextureAnimationFrameMax() const { - nofralloc -#include "asm/d/d_demo/JSGGetTextureAnimationFrameMax__13dDemo_actor_cCFv.s" +f32 dDemo_actor_c::JSGGetTextureAnimationFrameMax() const { + return mTexAnmFrameMax; } -#pragma pop /* 8003A0D8-8003A0F4 034A18 001C+00 1/0 0/0 0/0 .text JSGGetTranslation__13dDemo_actor_cCFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGGetTranslation(Vec* param_0) const { - nofralloc -#include "asm/d/d_demo/JSGGetTranslation__13dDemo_actor_cCFP3Vec.s" +void dDemo_actor_c::JSGGetTranslation(Vec* o_trans) const { + *o_trans = mTrans; } -#pragma pop /* 8003A0F4-8003A110 034A34 001C+00 1/0 0/0 0/0 .text JSGGetScaling__13dDemo_actor_cCFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dDemo_actor_c::JSGGetScaling(Vec* param_0) const { - nofralloc -#include "asm/d/d_demo/JSGGetScaling__13dDemo_actor_cCFP3Vec.s" +void dDemo_actor_c::JSGGetScaling(Vec* o_scale) const { + *o_scale = mScale; } -#pragma pop /* 8003A110-8003A188 034A50 0078+00 1/0 0/0 0/0 .text JSGGetRotation__13dDemo_actor_cCFP3Vec */ #pragma push diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index b7623f1ee9..772ac395b5 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -201,11 +201,6 @@ extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); extern "C" void draw__13J3DDrawBufferCFv(); extern "C" void GXClearVtxDesc(); extern "C" void GXPixModeSync(); -extern "C" void GXGetTexObjWidth(); -extern "C" void GXGetTexObjHeight(); -extern "C" void GXGetTexObjWrapS(); -extern "C" void GXGetTexObjWrapT(); -extern "C" void GXGetTexObjTlut(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savefpr_26(); @@ -240,7 +235,6 @@ extern "C" extern u32 g_blackColor; extern "C" extern u32 g_whiteColor; extern "C" f32 mSystemFar__14mDoLib_clipper; extern "C" f32 mFovyRate__14mDoLib_clipper; -extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp index b9cefd23ee..f2122d1bcf 100644 --- a/src/d/d_lib.cpp +++ b/src/d/d_lib.cpp @@ -357,49 +357,41 @@ asm u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* param_0, char const* p /* ############################################################################################## */ /* 80450DD8-80450DDC 0002D8 0004+00 2/2 0/0 0/0 .sbss m_diffTime__11dLib_time_c */ -u8 dLib_time_c::m_diffTime[4]; - -/* 80450DDC-80450DE0 0002DC 0004+00 2/2 0/0 0/0 .sbss None */ -static u8 data_80450DDC[4]; +OSTime dLib_time_c::m_diffTime; /* 80450DE0-80450DE4 0002E0 0004+00 3/3 0/0 0/0 .sbss m_stopTime__11dLib_time_c */ -u8 dLib_time_c::m_stopTime[4]; - -/* 80450DE4-80450DE8 0002E4 0004+00 3/3 0/0 0/0 .sbss None */ -static u8 data_80450DE4[4]; +OSTime dLib_time_c::m_stopTime; /* 80450DE8-80450DF0 0002E8 0008+00 3/3 0/0 0/0 .sbss None */ -static u8 data_80450DE8[8]; +bool dLib_time_c::m_timeStopped; /* 80032804-80032880 02D144 007C+00 0/0 8/8 0/0 .text getTime__11dLib_time_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dLib_time_c::getTime() { - nofralloc -#include "asm/d/d_lib/getTime__11dLib_time_cFv.s" +OSTime dLib_time_c::getTime() { + if (!m_timeStopped) { + return OSGetTime() - m_diffTime; + } + + OSTime time = OSGetTime(); + m_diffTime += (time - m_stopTime); + m_stopTime = time; + return time - m_diffTime; } -#pragma pop /* 80032880-800328BC 02D1C0 003C+00 0/0 1/1 0/0 .text stopTime__11dLib_time_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dLib_time_c::stopTime() { - nofralloc -#include "asm/d/d_lib/stopTime__11dLib_time_cFv.s" +void dLib_time_c::stopTime() { + if (!m_timeStopped) { + m_stopTime = OSGetTime(); + m_timeStopped = true; + } } -#pragma pop /* 800328BC-80032918 02D1FC 005C+00 0/0 1/1 0/0 .text startTime__11dLib_time_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dLib_time_c::startTime() { - nofralloc -#include "asm/d/d_lib/startTime__11dLib_time_cFv.s" +void dLib_time_c::startTime() { + if (m_timeStopped) { + m_diffTime += OSGetTime() - m_stopTime; + m_timeStopped = false; + } } -#pragma pop /* ############################################################################################## */ /* 80450DF0-80450DF8 -00001 0008+00 0/0 4/4 0/0 .sbss None */ @@ -408,4 +400,4 @@ asm void dLib_time_c::startTime() { /* 80450DF2 0001+00 data_80450DF2 None */ /* 80450DF3 0005+00 data_80450DF3 None */ extern u8 struct_80450DF0[8]; -u8 struct_80450DF0[8]; +u8 struct_80450DF0[8] ALIGN_DECL(8); diff --git a/src/d/d_vibration.cpp b/src/d/d_vibration.cpp index cd28eb9a82..d1eb20366e 100644 --- a/src/d/d_vibration.cpp +++ b/src/d/d_vibration.cpp @@ -50,7 +50,7 @@ extern "C" void setDefault__12dVibration_cFv(); extern "C" void Init__12dVibration_cFv(); extern "C" void Pause__12dVibration_cFv(); extern "C" void Remove__12dVibration_cFv(); -extern "C" extern u8 data_80450F58[8]; +extern "C" extern u8 on_final_boss_stg[8]; // // External References: @@ -243,9 +243,4 @@ asm void dVibration_c::Remove() { nofralloc #include "asm/d/d_vibration/Remove__12dVibration_cFv.s" } -#pragma pop - -/* ############################################################################################## */ -/* 80450F58-80450F60 000458 0008+00 0/0 2/2 0/0 .sbss None */ -extern u8 data_80450F58[8]; -u8 data_80450F58[8]; +#pragma pop \ No newline at end of file diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index a0dac1edbd..91faacfcba 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -825,9 +825,9 @@ void dEvDtStaff_c::specialProcSound() { case 'RIDD': int* typeP = dComIfGp_evmng_getMyIntegerP(staffId, "Type"); if (typeP != NULL && *typeP == 1) { - mDoAud_seStart(0xC, NULL, 0, 0); + mDoAud_seStart(Z2SE_READ_RIDDLE_A, NULL, 0, 0); } else { - mDoAud_seStart(0xD, NULL, 0, 0); + mDoAud_seStart(Z2SE_READ_RIDDLE_B, NULL, 0, 0); } break; case 'BGMS': @@ -1087,7 +1087,7 @@ void dEvDtStaff_c::specialProcDirector() { if (soundP != NULL) { switch (*soundP) { case 0: - mDoAud_seStart(0, NULL, 0, 0); + mDoAud_seStart(Z2SE_SY_DUMMY, NULL, 0, 0); } } break; diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp index d44099f41d..246bad975f 100644 --- a/src/d/msg/d_msg_object.cpp +++ b/src/d/msg/d_msg_object.cpp @@ -1836,7 +1836,7 @@ asm void dMsgObject_c::isMsgSend() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMsgObject_c::isMouthCheck() { +asm bool dMsgObject_c::isMouthCheck() { nofralloc #include "asm/d/msg/d_msg_object/isMouthCheck__12dMsgObject_cFv.s" } diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index f80e660d17..befe696a0e 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -626,7 +626,7 @@ void dPa_followEcallBack::end() { /* ############################################################################################## */ /* 80450E90-80450E94 000390 0004+00 2/2 1/1 11/11 .sbss mEcallback__18dPa_modelEcallBack */ -u8 dPa_modelEcallBack::mEcallback[4]; +dPa_modelEcallBack* dPa_modelEcallBack::mEcallback; /* 80450E94-80450E98 000394 0004+00 2/2 0/0 0/0 .sbss mPcallback__18dPa_modelEcallBack */ u8 dPa_modelEcallBack::mPcallback[4]; diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index 9b11dbe3a7..8da6d9f2db 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -15,17 +15,6 @@ #include "d/s/d_s_play.h" #include "d/d_demo.h" -// -// Types: -// - -struct fopEn_enemy_c { - /* 80019404 */ void initBallModel(); - /* 800194FC */ void checkBallModelDraw(); - /* 80019520 */ void setBallModelEffect(dKy_tevstr_c*); - /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); -}; - // // Forward References: // diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 6bac26a1f2..816a2a1f71 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -1764,7 +1764,7 @@ void fopAcM_myRoomSearchEnemy(s8 roomNo) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void fopAcM_myRoomSearchEnemy(s8 param_0) { +asm fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 param_0) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_myRoomSearchEnemy__FSc.s" } diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index 6351b2d374..f1aa65aea3 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -401,9 +401,6 @@ extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); extern "C" void JMAEulerToQuat__FsssP10Quaternion(); extern "C" void JMAQuatLerp__FPC10QuaternionPC10QuaternionfP10Quaternion(); extern "C" void GXClearVtxDesc(); -extern "C" void GXGetTexObjWidth(); -extern "C" void GXGetTexObjHeight(); -extern "C" void GXSetTexCoordScaleManually(); extern "C" void __construct_new_array(); extern "C" void _savegpr_15(); extern "C" void _savegpr_18(); diff --git a/tools/decompctx.py b/tools/decompctx.py new file mode 100644 index 0000000000..abf997e91f --- /dev/null +++ b/tools/decompctx.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 + +import argparse +import os +import re + +script_dir = os.path.dirname(os.path.realpath(__file__)) +root_dir = os.path.abspath(os.path.join(script_dir, "..")) +src_dir = os.path.join(root_dir, "src") +include_dir = os.path.join(root_dir, "include") + +include_pattern = re.compile(r'^#include\s*[<"](.+?)[>"]$') +guard_pattern = re.compile(r'^#ifndef\s+(.*)$') + +defines = set() + +def import_h_file(in_file, r_path) -> str: + rel_path = os.path.join(root_dir, r_path, in_file) + inc_path = os.path.join(include_dir, in_file) + if os.path.exists(rel_path): + return import_c_file(rel_path) + elif os.path.exists(inc_path): + return import_c_file(inc_path) + else: + print("Failed to locate", in_file) + exit(1) + +def import_c_file(in_file) -> str: + in_file = os.path.relpath(in_file, root_dir) + out_text = '' + + with open(in_file, encoding="shift-jis") as file: + for idx, line in enumerate(file): + guard_match = guard_pattern.match(line.strip()) + if idx == 0: + if guard_match: + if guard_match[1] in defines: + break + defines.add(guard_match[1]) + print("Processing file", in_file) + include_match = include_pattern.match(line.strip()) + if include_match: + out_text += f"/* \"{in_file}\" line {idx} \"{include_match[1]}\" */\n" + out_text += import_h_file(include_match[1], os.path.dirname(in_file)) + out_text += f"/* end \"{include_match[1]}\" */\n" + else: + out_text += line + + return out_text + +def main(): + parser = argparse.ArgumentParser( + description="""Create a context file which can be used for decomp.me""" + ) + parser.add_argument( + "c_file", + help="""File from which to create context""", + ) + args = parser.parse_args() + + output = import_c_file(args.c_file) + + with open(os.path.join(root_dir, "ctx.c"), "w", encoding="shift-jis") as f: + f.write(output) + + +if __name__ == "__main__": + main() \ No newline at end of file From fa21da4101733056e4163be6de7a2ca4eec4ab5d Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Mon, 19 Dec 2022 11:06:32 -0800 Subject: [PATCH 3/8] big d_a_alink pass (#214) * d_a_alink pass1 wip * more d_a_alink work * remove asm * more daalink work * 20% dol code decompiled * fixed some nonmatchings for building * a few daalink functions and labeling some HIO data --- Progress.md | 22 +- .../getWeight__13J3DAnmClusterCFUs.s | 3 - .../J3DAnimation/init__12J3DFrameCtrlFs.s | 13 - asm/d/a/d_a_alink/allUnequip__9daAlink_cFi.s | 77 - .../basicModelDraw__9daAlink_cFP8J3DModel.s | 19 - .../bottleModelCallBack__9daAlink_cFv.s | 42 - .../d_a_alink/calcHairAngle__9daAlink_cFPs.s | 14 - ...lBoomerangLock__9daAlink_cFP10fopAc_ac_c.s | 19 - .../cancelBowMoveRideNotAtn__9daAlink_cFv.s | 41 - .../a/d_a_alink/cancelBowMove__9daAlink_cFv.s | 53 - .../d_a_alink/cancelCutCharge__9daAlink_cFv.s | 33 - .../cancelGoronThrowEvent__9daAlink_cFv.s | 21 - .../changeBoarRunRide__9daAlink_cFv.s | 10 - .../changeWolfBlendRate__9daAlink_cFi.s | 24 - ...heckAcceptUseItemInWater__9daAlink_cCFUs.s | 23 - .../checkArrowChargeEnd__9daAlink_cCFv.s | 12 - .../checkAttentionLock__9daAlink_cFv.s | 24 - .../checkBoardRestart__9daAlink_cFv.s | 21 - ...eckBoardSwordTriggerAction__9daAlink_cFv.s | 17 - ...BoomerangCarry__9daAlink_cFP10fopAc_ac_c.s | 76 - .../checkBoomerangCatchAction__9daAlink_cFv.s | 62 - .../checkBootsMoveAnime__9daAlink_cFi.s | 29 - .../checkBowAndSlingItem__9daAlink_cFi.s | 24 - .../d_a_alink/checkBowAnime__9daAlink_cCFv.s | 24 - ...checkBowCameraArrowPosP__9daAlink_cFPsPs.s | 74 - .../checkBowGrabLeftHand__9daAlink_cCFv.s | 28 - .../checkBowReadyAnime__9daAlink_cCFv.s | 15 - ...kCanoeFishingRodGrabOrPut__9daAlink_cCFv.s | 38 - .../checkCanoeJumpRide__9daAlink_cFv.s | 61 - ...noePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s | 35 - .../checkCanoeRideTandem__9daAlink_cFv.s | 27 - .../checkCaughtEscapeCutTurn__9daAlink_cFv.s | 54 - .../checkCoachGuardGame__9daAlink_cFv.s | 23 - .../a/d_a_alink/checkComboCnt__9daAlink_cFv.s | 60 - .../checkCopyRodAnime__9daAlink_cCFv.s | 28 - .../checkCopyRodTopUse__9daAlink_cFv.s | 58 - .../a/d_a_alink/checkCowGame__9daAlink_cFv.s | 29 - .../d_a_alink/checkCutAction__9daAlink_cFv.s | 199 -- .../checkCutAtnActorChange__9daAlink_cFv.s | 10 - .../checkCutBackState__9daAlink_cFv.s | 27 - .../checkCutCancelNextMode__9daAlink_cFi.s | 36 - .../checkCutFinishJumpUp__9daAlink_cFv.s | 26 - .../checkCutHeadState__9daAlink_cFv.s | 62 - .../checkCutLandDamage__9daAlink_cFv.s | 52 - .../checkCutLargeTurnState__9daAlink_cCFv.s | 56 - .../checkCutTurnInput__9daAlink_cCFv.s | 17 - .../checkDemoMoveMode__9daAlink_cCFUl.s | 17 - .../checkDoCutAction__9daAlink_cFv.s | 49 - .../checkDownAttackState__9daAlink_cFv.s | 65 - .../checkEndMessage__9daAlink_cFUl.s | 40 - ...heckEnemyGroup__9daAlink_cFP10fopAc_ac_c.s | 26 - .../checkEquipAnime__9daAlink_cCFv.s | 25 - ...heckFishingRodAndLureItem__9daAlink_cCFv.s | 21 - ...ishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s | 31 - .../d_a_alink/checkFlyAtnWait__9daAlink_cFv.s | 15 - ...GoatCatchActor__9daAlink_cFP10fopAc_ac_c.s | 29 - .../checkGrabAnimeAndThrow__9daAlink_cCFv.s | 25 - .../d_a_alink/checkGrabAnime__9daAlink_cCFv.s | 15 - .../checkGrabCarryActor__9daAlink_cFv.s | 12 - .../checkGrabHeavyActor__9daAlink_cFv.s | 12 - .../checkGrabNotThrow__9daAlink_cFv.s | 9 - .../checkGrabRooster__9daAlink_cFv.s | 15 - .../checkGrabSideActor__9daAlink_cFv.s | 12 - ...kGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s | 16 - .../checkGrabThrowAnime__9daAlink_cCFv.s | 25 - .../checkGroundSpecialMode__9daAlink_cFv.s | 94 - .../checkGuardAccept__9daAlink_cFv.s | 47 - ...kshotReadyMaterialOffMode__9daAlink_cCFv.s | 16 - .../checkHorseDashAccept__9daAlink_cFv.s | 15 - .../checkHorseLieAnime__9daAlink_cCFv.s | 25 - .../checkHorseNoUpperAnime__9daAlink_cCFv.s | 27 - ...eckHorseNotDamageReaction__9daAlink_cCFv.s | 16 - .../checkHorseReinLeftOnly__9daAlink_cCFv.s | 11 - .../checkHorseSubjectivity__9daAlink_cCFv.s | 19 - .../checkHorseWaitLashAnime__9daAlink_cCFv.s | 12 - .../checkHugeAttack__9daAlink_cCFi.s | 13 - ...lygonDamage__9daAlink_cFP13cBgS_PolyInfo.s | 27 - .../checkIronBallAnime__9daAlink_cCFv.s | 13 - .../checkIronBallDelete__9daAlink_cFv.s | 57 - .../checkIronBallGroundStop__9daAlink_cCFv.s | 19 - .../checkIronBallReturnChange__9daAlink_cFv.s | 52 - .../checkIronBallReturn__9daAlink_cCFv.s | 12 - .../checkIronBallThrowMode__9daAlink_cCFv.s | 19 - ...ckIronBallThrowReturnMode__9daAlink_cCFv.s | 21 - .../checkItemActorPointer__9daAlink_cFv.s | 49 - .../checkItemButtonChange__9daAlink_cFv.s | 55 - .../checkItemChangeAutoAction__9daAlink_cFv.s | 63 - .../checkItemChangeFromButton__9daAlink_cFv.s | 268 -- .../checkItemEquipAnime__9daAlink_cCFv.s | 21 - .../checkKandelaarEquipAnime__9daAlink_cCFv.s | 13 - .../checkKandelaarSwing__9daAlink_cCFi.s | 17 - .../d_a_alink/checkLandAction__9daAlink_cFi.s | 183 -- .../checkLargeAttack__9daAlink_cCFi.s | 13 - .../checkLightSwordMtrl__9daAlink_cFv.s | 40 - .../checkMagicArmorNoDamage__9daAlink_cFv.s | 24 - ...heckMagicArmorWearAbility__9daAlink_cCFv.s | 22 - .../checkMiddleBossGoronRoom__9daAlink_cFv.s | 12 - .../checkMidnaDisappearMode__9daAlink_cCFv.s | 26 - .../checkNextActionBoard__9daAlink_cFv.s | 41 - .../checkNextActionBoomerang__9daAlink_cFv.s | 120 - .../checkNextActionCanoe__9daAlink_cFv.s | 88 - .../checkNextActionCopyRod__9daAlink_cFv.s | 84 - .../checkNextActionFromButton__9daAlink_cFv.s | 154 - .../checkNextActionFromCrouch__9daAlink_cFi.s | 35 - .../checkNextActionIronBall__9daAlink_cFv.s | 66 - .../checkNextActionSwim__9daAlink_cFv.s | 95 - ...checkNextActionWolfFromLie__9daAlink_cFv.s | 36 - .../checkNoCollisionCorret__9daAlink_cFv.s | 56 - .../checkNoUpperAnime__9daAlink_cCFv.s | 34 - .../checkOilBottleItemNotGet__9daAlink_cFUs.s | 23 - ...heckOneHandItemEquipAnime__9daAlink_cCFv.s | 13 - .../checkOxygenTimer__9daAlink_cFv.s | 94 - ...checkPlayerGuardAndAttack__9daAlink_cCFv.s | 27 - .../checkPlayerGuard__9daAlink_cCFv.s | 42 - .../checkPossibleWaterInMode__9daAlink_cCFv.s | 18 - ...CodePolygon__9daAlink_cFR13cBgS_PolyInfo.s | 23 - .../d_a_alink/checkSnowCode__9daAlink_cCFv.s | 12 - .../checkSubjectAction__9daAlink_cFv.s | 72 - .../checkSumouVsActor__9daAlink_cFv.s | 40 - .../checkSwimButtonAccept__9daAlink_cFv.s | 12 - .../checkSwimButtonMove__9daAlink_cFv.s | 31 - .../a/d_a_alink/checkSwimFall__9daAlink_cFv.s | 16 - .../checkSwimNeckUpDown__9daAlink_cCFv.s | 21 - .../checkSwordTwirlAnime__9daAlink_cCFv.s | 13 - .../checkUpSwimButtonAccept__9daAlink_cFv.s | 8 - .../checkUpperGuardAnime__9daAlink_cCFv.s | 33 - ...pperItemActionBoomerangFly__9daAlink_cFv.s | 40 - ...ckUpperItemActionBoomerang__9daAlink_cFv.s | 53 - ...checkUpperItemActionBowFly__9daAlink_cFv.s | 34 - ...kUpperItemActionCopyRodFly__9daAlink_cFv.s | 40 - ...heckUpperItemActionCopyRod__9daAlink_cFv.s | 60 - ...eckUpperItemActionIronBall__9daAlink_cFv.s | 114 - ...checkUpperReadyThrowAnime__9daAlink_cCFv.s | 45 - .../checkUseKandelaar__9daAlink_cFi.s | 18 - ...heckWaterInKandelaarOffset__9daAlink_cFf.s | 15 - .../checkWaterInKandelaar__9daAlink_cFf.s | 36 - .../checkWindDashAnime__9daAlink_cCFv.s | 16 - .../checkWolfAtnMoveBack__9daAlink_cFs.s | 24 - ...checkWolfBarrierHitReverse__9daAlink_cFv.s | 65 - ...rierWallHit__9daAlink_cFR13cBgS_PolyInfo.s | 37 - .../checkWolfEnemyThrowAction__9daAlink_cFv.s | 32 - .../checkWolfLandAction__9daAlink_cFi.s | 65 - .../checkWolfLieCode__9daAlink_cFv.s | 12 - .../checkWolfRopeJumpHang__9daAlink_cFv.s | 35 - .../a/d_a_alink/checkWolfRope__9daAlink_cFv.s | 21 - .../checkWolfShapeReverse__9daAlink_cCFv.s | 29 - ...oodShieldEquipNotIronBall__9daAlink_cCFv.s | 23 - .../checkZoraSwimMove__9daAlink_cFv.s | 24 - .../checkZoraWearAbility__9daAlink_cCFv.s | 22 - .../checkZoraWearMaskDraw__9daAlink_cFv.s | 23 - .../clearWoodShieldBurnEffect__9daAlink_cFv.s | 30 - .../commonGrabPutInit__9daAlink_cFv.s | 40 - .../commonInitForceRideRein__9daAlink_cFv.s | 29 - ...t__9daAlink_cFQ29daAlink_c12daAlink_PROC.s | 30 - .../daAlink_Create__FP10fopAc_ac_c.s | 9 - .../a/d_a_alink/daAlink_Draw__FP9daAlink_c.s | 9 - ...aAlink_bottleModelCallBack__FP8J3DJointi.s | 17 - ...ink_kandelaarModelCallBack__FP8J3DJointi.s | 17 - .../daAlink_searchCanoe__FP10fopAc_ac_cPv.s | 10 - .../daAlink_searchCoach__FP10fopAc_ac_cPv.s | 6 - ...Alink_searchEnemyCargo__FP10fopAc_ac_cPv.s | 6 - .../daAlink_searchGiant__FP10fopAc_ac_cPv.s | 24 - ...daAlink_searchGoldWolf__FP10fopAc_ac_cPv.s | 6 - .../daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s | 6 - .../daAlink_searchPeepObj__FP10fopAc_ac_cPv.s | 16 - ...ink_searchTagKandelaar__FP10fopAc_ac_cPv.s | 6 - ...link_searchTagKtOnFire__FP10fopAc_ac_cPv.s | 35 - ...nk_searchWolfLockEnemy__FP10fopAc_ac_cPv.s | 16 - .../damageMagnification__9daAlink_cFii.s | 51 - .../damageTimerCount__9daAlink_cFv.s | 56 - .../a/d_a_alink/decSwordBlur__9daAlink_cFv.s | 27 - asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s | 47 - .../a/d_a_alink/endHighModel__9daAlink_cFv.s | 25 - .../freezeTimerDamage__9daAlink_cFv.s | 60 - .../getArrowFlyData__9daAlink_cCFPfPfi.s | 68 - .../getArrowIncAtMaxStart__9daAlink_cCFv.s | 5 - .../getArrowIncAtMax__9daAlink_cCFv.s | 5 - .../d_a_alink/getArrowIncAtR__9daAlink_cCFv.s | 5 - .../getBoardRowAnmSpeed__9daAlink_cFv.s | 14 - .../getBodyAngleXBasePos__9daAlink_cFP4cXyz.s | 30 - ...etBombArrowFlyExplodeTime__9daAlink_cCFv.s | 5 - .../a/d_a_alink/getBoomSpeed__9daAlink_cFv.s | 45 - .../getBottleOpenAppearItem__9daAlink_cCFv.s | 9 - .../getCanoeBackMaxSpeed__9daAlink_cCFv.s | 5 - .../a/d_a_alink/getCanoeCres__9daAlink_cCFv.s | 13 - .../getCanoeLocalPaddleTop__9daAlink_cFv.s | 4 - .../getCanoeMaxSpeed__9daAlink_cCFv.s | 13 - .../getCanoePaddleMatrix__9daAlink_cFv.s | 21 - .../getCanoeSpeedRate__9daAlink_cCFv.s | 13 - .../getChainStickAngleY__9daAlink_cCFs.s | 20 - .../d_a_alink/getCutDirection__9daAlink_cFv.s | 34 - .../getDirectionRopeMove__9daAlink_cCFv.s | 33 - asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s | 5 - asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s | 5 - asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s | 5 - .../getGrabThrowRate__9daAlink_cFv.s | 23 - .../getIronBallBgHit__9daAlink_cCFv.s | 9 - .../getIronBallCenterPos__9daAlink_cFv.s | 9 - .../getKandelaarFlamePos__9daAlink_cFv.s | 21 - .../getReinRideDirection__9daAlink_cFv.s | 35 - .../getSwimFrontMaxSpeed__9daAlink_cCFv.s | 41 - .../getSwimMaxFallSpeed__9daAlink_cCFv.s | 44 - .../getWallGrabStatus__9daAlink_cFv.s | 5 - .../getWolfLieMoveAnmSpeed__9daAlink_cFv.s | 20 - .../a/d_a_alink/getZoraSwim__9daAlink_cCFv.s | 27 - .../grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s | 19 - .../a/d_a_alink/initCanoeRide__9daAlink_cFv.s | 18 - ...initCopyRodUpperAnimeSpeed__9daAlink_cFi.s | 26 - .../initCutAtnActorSearch__9daAlink_cFv.s | 25 - .../initFishingRodHand__9daAlink_cFv.s | 28 - .../initForceRideHorse__9daAlink_cFv.s | 31 - .../initGrabNextMode__9daAlink_cFv.s | 21 - asm/d/a/d_a_alink/initGravity__9daAlink_cFv.s | 83 - .../initWolfRopeShapeAngle__9daAlink_cFv.s | 34 - .../d_a_alink/loadAramBmd__9daAlink_cFUsUl.s | 51 - ...loadAramItemBrk__9daAlink_cFUsP8J3DModel.s | 24 - ...loadAramItemBtk__9daAlink_cFUsP8J3DModel.s | 24 - ...loadAramItemBtp__9daAlink_cFUsP8J3DModel.s | 24 - asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s | 28 - asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s | 45 - .../makeFairy__9daAlink_cFP4cXyzUl.s | 65 - .../modelDraw__9daAlink_cFP8J3DModeli.s | 36 - .../offKandelaarModel__9daAlink_cFv.s | 16 - .../d_a_alink/offOxygenTimer__9daAlink_cFv.s | 10 - .../onPressedDamage__9daAlink_cFRC4cXyzs.s | 12 - ...nk_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2.s | 43 - .../procBackJumpInit__9daAlink_cFi.s | 119 - .../procBackJumpLandInit__9daAlink_cFi.s | 40 - .../procBackJumpLand__9daAlink_cFv.s | 88 - .../a/d_a_alink/procBackJump__9daAlink_cFv.s | 66 - .../a/d_a_alink/procBoardCut__9daAlink_cFv.s | 34 - .../a/d_a_alink/procBoardJump__9daAlink_cFv.s | 57 - .../a/d_a_alink/procBoardRide__9daAlink_cFv.s | 29 - .../procBoardRowInit__9daAlink_cFv.s | 31 - .../procBoardSubjectivityInit__9daAlink_cFv.s | 19 - .../procBoardSubjectivity__9daAlink_cFv.s | 42 - .../procBoardTurnInit__9daAlink_cFv.s | 32 - .../procBoomerangCatchInit__9daAlink_cFv.s | 31 - .../procBoomerangCatch__9daAlink_cFv.s | 42 - .../procBoomerangMoveInit__9daAlink_cFv.s | 41 - .../procBoomerangMove__9daAlink_cFv.s | 63 - .../procBoomerangSubjectInit__9daAlink_cFv.s | 39 - .../procBoomerangSubject__9daAlink_cFv.s | 56 - .../procBootsEquipInit__9daAlink_cFv.s | 39 - .../procBottleDrinkInit__9daAlink_cFUs.s | 90 - .../d_a_alink/procBottleDrink__9daAlink_cFv.s | 26 - .../procBottleGetInit__9daAlink_cFi.s | 160 - .../a/d_a_alink/procBottleGet__9daAlink_cFv.s | 83 - .../d_a_alink/procBowMoveInit__9daAlink_cFv.s | 37 - asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s | 78 - .../procBowSubjectInit__9daAlink_cFv.s | 31 - .../d_a_alink/procBowSubject__9daAlink_cFv.s | 26 - ...oeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s | 71 - .../procCanoeJumpRide__9daAlink_cFv.s | 33 - .../procCanoeRideInit__9daAlink_cFv.s | 83 - .../a/d_a_alink/procCanoeRide__9daAlink_cFv.s | 65 - .../procCoHorseCallWaitInit__9daAlink_cFi.s | 60 - .../procCoLargeDamageWall__9daAlink_cFv.s | 25 - .../procCoLavaReturn__9daAlink_cFv.s | 27 - ...procCoMetamorphoseOnlyInit__9daAlink_cFv.s | 53 - .../procCoMetamorphoseOnly__9daAlink_cFv.s | 53 - ...procCoPeepSubjectivityInit__9daAlink_cFv.s | 49 - .../procCoPeepSubjectivity__9daAlink_cFv.s | 45 - .../procCoPolyDamageInit__9daAlink_cFv.s | 73 - .../procCoPolyDamage__9daAlink_cFv.s | 36 - .../procCoSandWallHitInit__9daAlink_cFv.s | 34 - .../procCoSandWallHit__9daAlink_cFv.s | 28 - .../procCoSubjectivityInit__9daAlink_cFv.s | 36 - ...procCoSwimFreezeReturnInit__9daAlink_cFv.s | 136 - ...procCoSwimSubjectivityInit__9daAlink_cFv.s | 45 - .../procCopyRodMoveInit__9daAlink_cFv.s | 41 - .../d_a_alink/procCopyRodMove__9daAlink_cFv.s | 57 - .../procCopyRodReviveInit__9daAlink_cFv.s | 44 - .../procCopyRodRevive__9daAlink_cFv.s | 24 - .../procCopyRodSubjectInit__9daAlink_cFv.s | 39 - .../procCopyRodSubject__9daAlink_cFv.s | 53 - .../procCopyRodSwingInit__9daAlink_cFv.s | 82 - .../procCopyRodSwing__9daAlink_cFv.s | 74 - .../d_a_alink/procCrouchInit__9daAlink_cFv.s | 29 - asm/d/a/d_a_alink/procCrouch__9daAlink_cFv.s | 69 - asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s | 47 - .../procCutFinishInit__9daAlink_cFi.s | 238 -- .../procCutFinishJumpUpInit__9daAlink_cFv.s | 131 - ...rocCutFinishJumpUpLandInit__9daAlink_cFv.s | 64 - .../procCutFinishJumpUpLand__9daAlink_cFv.s | 114 - .../procCutFinishJumpUp__9daAlink_cFv.s | 75 - .../procCutHeadLandInit__9daAlink_cFv.s | 24 - .../d_a_alink/procCutHeadLand__9daAlink_cFv.s | 47 - asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s | 96 - .../procCutJumpLandInit__9daAlink_cFi.s | 89 - .../d_a_alink/procCutJumpLand__9daAlink_cFv.s | 95 - asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s | 84 - ...procCutLargeJumpChargeInit__9daAlink_cFv.s | 27 - .../procCutLargeJumpCharge__9daAlink_cFv.s | 61 - .../procCutLargeJumpInit__9daAlink_cFv.s | 72 - .../procCutLargeJumpLandInit__9daAlink_cFi.s | 80 - .../procCutLargeJumpLand__9daAlink_cFv.s | 108 - .../procCutNormalInit__9daAlink_cFi.s | 168 - .../a/d_a_alink/procCutNormal__9daAlink_cFv.s | 222 -- ...it__9daAlink_cFQ29daAlink_c11daAlink_ANM.s | 111 - .../d_a_alink/procCutReverse__9daAlink_cFv.s | 71 - .../procCutTurnChargeInit__9daAlink_cFv.s | 42 - .../procCutTurnCharge__9daAlink_cFv.s | 61 - .../procCutTurnMoveInit__9daAlink_cFi.s | 77 - asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s | 137 - .../procDiveJumpInit__9daAlink_cFv.s | 48 - .../a/d_a_alink/procDiveJump__9daAlink_cFv.s | 51 - asm/d/a/d_a_alink/procFall__9daAlink_cFv.s | 140 - .../procFloorDownReboundInit__9daAlink_cFv.s | 29 - .../procFloorDownRebound__9daAlink_cFv.s | 34 - .../procFrontRollCrashInit__9daAlink_cFv.s | 60 - .../procFrontRollCrash__9daAlink_cFv.s | 96 - .../procFrontRollSuccessInit__9daAlink_cFv.s | 59 - .../procFrontRollSuccess__9daAlink_cFv.s | 63 - .../d_a_alink/procGoatStroke__9daAlink_cFv.s | 20 - .../procGoronMoveInit__9daAlink_cFv.s | 60 - ...onRideWaitInit__9daAlink_cFP10fopAc_ac_c.s | 38 - .../procHawkCatchInit__9daAlink_cFv.s | 31 - .../a/d_a_alink/procHawkCatch__9daAlink_cFv.s | 24 - .../procHawkSubjectInit__9daAlink_cFv.s | 39 - .../procIronBallMoveInit__9daAlink_cFv.s | 39 - .../procIronBallMove__9daAlink_cFv.s | 74 - .../procIronBallReturnInit__9daAlink_cFv.s | 47 - .../procIronBallReturn__9daAlink_cFv.s | 102 - .../procIronBallSubjectInit__9daAlink_cFv.s | 36 - .../procIronBallSubject__9daAlink_cFv.s | 37 - .../procIronBallThrowInit__9daAlink_cFv.s | 58 - .../procKandelaarPourInit__9daAlink_cFv.s | 45 - .../procKandelaarPour__9daAlink_cFv.s | 11 - .../procKandelaarSwing__9daAlink_cFv.s | 48 - .../d_a_alink/procLandDamage__9daAlink_cFv.s | 61 - .../a/d_a_alink/procLandInit__9daAlink_cFf.s | 54 - asm/d/a/d_a_alink/procLand__9daAlink_cFv.s | 77 - .../procOctaIealSpit__9daAlink_cFv.s | 36 - ...onUnequipInit__9daAlink_cFiP10fopAc_ac_c.s | 56 - .../procPreActionUnequip__9daAlink_cFv.s | 145 - .../procRollJumpInit__9daAlink_cFv.s | 56 - .../a/d_a_alink/procRollJump__9daAlink_cFv.s | 78 - .../procScreamWaitInit__9daAlink_cFv.s | 37 - .../d_a_alink/procScreamWait__9daAlink_cFv.s | 26 - .../procSideRollInit__9daAlink_cFi.s | 95 - .../a/d_a_alink/procSlipInit__9daAlink_cFv.s | 32 - .../procSpinnerReadyInit__9daAlink_cFv.s | 93 - .../procStEscapeInit__9daAlink_cFv.s | 25 - .../a/d_a_alink/procStEscape__9daAlink_cFv.s | 40 - .../procStepMoveInit__9daAlink_cFv.s | 35 - .../procSumouReadyInit__9daAlink_cFv.s | 58 - .../procSumouShikoInit__9daAlink_cFv.s | 50 - .../procSumouSideMoveInit__9daAlink_cFv.s | 46 - .../procSumouStaggerInit__9daAlink_cFv.s | 33 - .../procSumouStagger__9daAlink_cFv.s | 45 - .../procSwordUnequipSpInit__9daAlink_cFv.s | 46 - .../procSwordUnequipSp__9daAlink_cFv.s | 238 -- .../procTiredWaitInit__9daAlink_cFv.s | 78 - .../a/d_a_alink/procWaitInit__9daAlink_cFv.s | 94 - .../procWolfAtnActorMoveInit__9daAlink_cFv.s | 44 - .../procWolfAtnActorMove__9daAlink_cFv.s | 54 - .../procWolfBackJumpLandInit__9daAlink_cFss.s | 37 - .../procWolfBackJumpLand__9daAlink_cFv.s | 58 - .../procWolfBackJump__9daAlink_cFv.s | 63 - .../procWolfCargoCarryInit__9daAlink_cFv.s | 67 - .../procWolfChainReadyInit__9daAlink_cFv.s | 27 - .../procWolfChainUpInit__9daAlink_cFv.s | 33 - .../d_a_alink/procWolfChainUp__9daAlink_cFv.s | 51 - .../procWolfDownAtMissLand__9daAlink_cFv.s | 58 - .../procWolfEnemyHangBiteInit__9daAlink_cFv.s | 65 - .../procWolfEnemyThrow__9daAlink_cFv.s | 43 - .../procWolfGiantPuzzleInit__9daAlink_cFv.s | 41 - .../procWolfGrabPutInit__9daAlink_cFv.s | 58 - .../procWolfGrabThrowInit__9daAlink_cFv.s | 22 - .../procWolfGrabThrow__9daAlink_cFv.s | 53 - .../procWolfHangReadyInit__9daAlink_cFv.s | 32 - .../procWolfHangReady__9daAlink_cFv.s | 36 - .../procWolfHowlInit__9daAlink_cFi.s | 63 - ...procWolfJumpAttackKickInit__9daAlink_cFv.s | 46 - .../procWolfJumpAttackKick__9daAlink_cFv.s | 25 - ...lfJumpAttackNormalLandInit__9daAlink_cFi.s | 46 - ...ocWolfJumpAttackNormalLand__9daAlink_cFv.s | 69 - .../procWolfLandDamage__9daAlink_cFv.s | 61 - .../a/d_a_alink/procWolfLand__9daAlink_cFv.s | 38 - ...procWolfMidnaRideShockInit__9daAlink_cFv.s | 49 - .../procWolfMidnaRideShock__9daAlink_cFv.s | 45 - .../procWolfMoveInit__9daAlink_cFv.s | 28 - .../a/d_a_alink/procWolfMove__9daAlink_cFv.s | 39 - .../a/d_a_alink/procWolfPush__9daAlink_cFv.s | 55 - ...ocWolfRollAttackChargeInit__9daAlink_cFv.s | 25 - .../procWolfRollAttackCharge__9daAlink_cFv.s | 53 - ...procWolfRollAttackMoveInit__9daAlink_cFv.s | 45 - ...ocWolfRopeSubjectivityInit__9daAlink_cFv.s | 62 - .../procWolfScreamWaitInit__9daAlink_cFv.s | 44 - .../procWolfScreamWait__9daAlink_cFv.s | 64 - .../procWolfSideStepLandInit__9daAlink_cFs.s | 65 - .../procWolfSideStepLand__9daAlink_cFv.s | 52 - .../d_a_alink/procWolfSitInit__9daAlink_cFi.s | 61 - asm/d/a/d_a_alink/procWolfSit__9daAlink_cFv.s | 54 - .../procWolfSlideLandInit__9daAlink_cFv.s | 26 - .../procWolfSlideLand__9daAlink_cFv.s | 46 - .../procWolfSlipInit__9daAlink_cFv.s | 49 - .../procWolfSlipTurnLandInit__9daAlink_cFv.s | 40 - .../procWolfSlipTurnLand__9daAlink_cFv.s | 36 - .../procWolfSlopeStartInit__9daAlink_cFi.s | 39 - .../procWolfSlopeStart__9daAlink_cFv.s | 42 - .../procWolfSwimMoveInit__9daAlink_cFv.s | 35 - .../d_a_alink/procWolfSwimUp__9daAlink_cFv.s | 46 - .../procWolfSwimWait__9daAlink_cFv.s | 63 - .../procWolfTiredWaitInit__9daAlink_cFv.s | 37 - .../procWolfTiredWait__9daAlink_cFv.s | 27 - .../procWolfWaitSlipInit__9daAlink_cFv.s | 36 - .../procWolfWaitTurnInit__9daAlink_cFv.s | 49 - .../resetAtCollision__9daAlink_cFi.s | 60 - .../a/d_a_alink/resetBasAnime__9daAlink_cFv.s | 9 - .../a/d_a_alink/resetDemoBck__9daAlink_cFv.s | 44 - .../resetOilBottleModel__9daAlink_cFv.s | 24 - .../resetSpecialEvent__9daAlink_cFv.s | 29 - .../resetWolfAtCollision__9daAlink_cFv.s | 58 - .../resetWolfEnemyBiteAll__9daAlink_cFv.s | 17 - .../d_a_alink/returnBoomerang__9daAlink_cFi.s | 126 - .../a/d_a_alink/returnCopyRod__9daAlink_cFv.s | 46 - .../seStartMapInfoLevel__9daAlink_cFUl.s | 15 - .../d_a_alink/seStartMapInfo__9daAlink_cFUl.s | 15 - .../seStartOnlyReverbLevel__9daAlink_cFUl.s | 15 - .../seStartOnlyReverb__9daAlink_cFUl.s | 15 - .../seStartSwordCut__9daAlink_cFUl.s | 15 - ...olfLockEnemy__9daAlink_cFP10fopAc_ac_cPv.s | 53 - .../d_a_alink/setArmReelAnime__9daAlink_cFv.s | 24 - ..._9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s | 32 - .../setBodyAngleXReadyAnime__9daAlink_cFi.s | 31 - .../setBoomerangReadyAnime__9daAlink_cFv.s | 39 - .../setBoomerangReadyQuake__9daAlink_cFv.s | 30 - .../setBoomerangSight__9daAlink_cFv.s | 46 - .../d_a_alink/setBowHangAnime__9daAlink_cFv.s | 20 - .../setBowNormalAnime__9daAlink_cFv.s | 29 - .../setBowOrSlingStatus__9daAlink_cFv.s | 17 - .../setBowReadyAnime__9daAlink_cFv.s | 63 - .../setBowReloadAnime__9daAlink_cFv.s | 68 - asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s | 40 - .../d_a_alink/setCollisionPos__9daAlink_cFv.s | 150 - .../setCommonBoardAnime__9daAlink_cFi.s | 24 - .../setCopyRodReadyAnime__9daAlink_cFv.s | 61 - .../d_a_alink/setCopyRodSight__9daAlink_cFv.s | 49 - asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s | 181 -- .../setCutWaterDropEffect__9daAlink_cFv.s | 41 - ...Param__9daAlink_cFUl11dCcG_At_SplUcUciff.s | 93 - .../setDamagePointNormal__9daAlink_cFi.s | 12 - .../a/d_a_alink/setDashDamage__9daAlink_cFv.s | 42 - .../setDkCaught__9daAlink_cFP10fopAc_ac_c.s | 16 - ...erColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s | 46 - .../d_a_alink/setFishGetFace__9daAlink_cFv.s | 59 - ...ionOffset__9daAlink_cFffP13cBgS_PolyInfo.s | 35 - .../setHookshotReadyMaterial__9daAlink_cFv.s | 36 - .../setHorseSwordUpAnime__9daAlink_cFv.s | 23 - .../setIronBallBaseAnime__9daAlink_cFv.s | 31 - .../setIronBallBgCheckPos__9daAlink_cFv.s | 35 - .../setIronBallReadyAnime__9daAlink_cFv.s | 54 - .../setIronBallReturn__9daAlink_cFi.s | 31 - .../setIronBallWaitUpperAnime__9daAlink_cFi.s | 52 - .../setKandelaarMtx__9daAlink_cFPA4_fii.s | 45 - .../setLandDamagePoint__9daAlink_cFi.s | 21 - .../setLastSceneMode__9daAlink_cFPUl.s | 79 - .../setMagicArmorBrk__9daAlink_cFi.s | 58 - .../setMetamorphoseModel__9daAlink_cFi.s | 47 - .../a/d_a_alink/setOutPower__9daAlink_cFfsi.s | 62 - ...deCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s | 15 - asm/d/a/d_a_alink/setRoomInfo__9daAlink_cFv.s | 119 - .../setScreamWaitAnime__9daAlink_cFv.s | 34 - .../d_a_alink/setShieldGuard__9daAlink_cFv.s | 69 - ...__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s | 13 - ..._9daAlink_cFQ29daAlink_c12daAlink_WANMff.s | 12 - ...e__9daAlink_cFQ29daAlink_c12daAlink_WANM.s | 13 - ...link_c12daAlink_WANMPC16daAlinkHIO_anm_c.s | 14 - .../a/d_a_alink/setSlingModel__9daAlink_cFv.s | 45 - .../setSwimUpDownOffset__9daAlink_cFv.s | 53 - .../setSwordAtCollision__9daAlink_cFi.s | 205 -- ...AtParam__9daAlink_cF11dCcG_At_SplUcUciff.s | 70 - ...HitVibration__9daAlink_cFP12dCcD_GObjInf.s | 89 - .../d_a_alink/setSyncRidePos__9daAlink_cFv.s | 24 - .../setThrowDamage__9daAlink_cFsffiii.s | 49 - .../setUpperGuardAnime__9daAlink_cFf.s | 5 - ...rDropColor__9daAlink_cFPC13J3DGXColorS10.s | 295 -- ...AnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s | 34 - .../setWolfAtCollision__9daAlink_cFv.s | 137 - ...__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s | 20 - .../setWolfHangGroundY__9daAlink_cFv.s | 29 - .../setWolfHeadDamage__9daAlink_cFv.s | 35 - .../setWolfHowlNotHappen__9daAlink_cFi.s | 48 - .../setWolfLieMoveVoice__9daAlink_cFi.s | 55 - .../setWoodShieldBurnEffect__9daAlink_cFv.s | 42 - ...setWoodShieldBurnOutEffect__9daAlink_cFv.s | 52 - .../d_a_alink/startPeepChange__9daAlink_cFv.s | 49 - .../stopDrawParticle__9daAlink_cFUl.s | 19 - .../subjectCancelTrigger__9daAlink_cFv.s | 36 - .../d_a_alink/swimDeleteItem__9daAlink_cFv.s | 37 - .../a/d_a_alink/swordUnequip__9daAlink_cFv.s | 54 - .../d_a_alink/throwBoomerang__9daAlink_cFv.s | 141 - .../voiceStartLevel__9daAlink_cFUl.s | 14 - asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s | 14 - .../dComIfGs_isVisitedRoom__Fi.s | 24 - .../dComIfGs_offVisitedRoom__Fi.s | 24 - .../dComIfGs_onVisitedRoom__Fi.s | 50 - .../dComIfGs_wolfeye_effect_check__Fv.s | 13 - asm/d/d_item/item_func_WOOD_STICK__Fv.s | 22 - .../isFirstBit__21dSv_player_get_item_cCFUc.s | 15 - .../offFirstBit__21dSv_player_get_item_cFUc.s | 14 - .../onFirstBit__21dSv_player_get_item_cFUc.s | 14 - asm/init/__flush_cache.s | 15 - asm/init/__init_hardware.s | 10 - asm/init/__init_registers.s | 37 - asm/init/__start.s | 98 - .../mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s | 17 - .../mDoMemCdRWm_CalcCheckSum__FPvUl.s | 19 - asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s | 33 - asm/m_Do/m_Do_main/main01__Fv.s | 127 - .../d_a_skip_2D/__dt__10daSkip2D_cFv.s | 26 - .../d_a_skip_2D/createHeap__10daSkip2D_cFv.s | 27 - .../d_a_skip_2D/create__10daSkip2D_cFv.s | 42 - .../d_a_skip_2D/daSkip2D_Create__FPv.s | 9 - .../d_a_skip_2D/daSkip2D_Delete__FPv.s | 9 - .../d_a_skip_2D/daSkip2D_Draw__FPv.s | 9 - .../d_a_skip_2D/daSkip2D_Execute__FPv.s | 9 - .../daSkip2D_createHeap__FP10fopAc_ac_c.s | 9 - .../d_a_skip_2D/draw__10daSkip2D_cFv.s | 17 - .../d_a_skip_2D/initiate__10daSkip2D_cFv.s | 6 - .../d_a_tag_hinit/__dt__12daTagHinit_cFv.s | 23 - .../d_a_tag_hinit/create__12daTagHinit_cFv.s | 47 - .../daTagHinit_Create__FP10fopAc_ac_c.s | 9 - .../daTagHinit_Delete__FP12daTagHinit_c.s | 11 - .../daTagHinit_Execute__FP12daTagHinit_c.s | 9 - .../d_a_tag_hinit/execute__12daTagHinit_cFv.s | 77 - .../Create__14daTagRestart_cFv.s | 38 - .../daTagRestart_Create__FP10fopAc_ac_c.s | 9 - .../daTagRestart_Delete__FP14daTagRestart_c.s | 9 - ...daTagRestart_Execute__FP14daTagRestart_c.s | 9 - .../execute__14daTagRestart_cFv.s | 126 - .../d_a_tag_setrestart/func_80D6048C.s | 42 - .../__ct__13daTagWrHowl_cFv.s | 16 - .../__dt__13daTagWrHowl_cFv.s | 26 - .../chkWlfInTag__13daTagWrHowl_cFv.s | 40 - .../create__13daTagWrHowl_cFv.s | 25 - .../daTagWrHowl_Delete__FP13daTagWrHowl_c.s | 9 - .../daTagWrHowl_create__FP13daTagWrHowl_c.s | 24 - .../daTagWrHowl_draw__FP13daTagWrHowl_c.s | 9 - .../daTagWrHowl_execute__FP13daTagWrHowl_c.s | 9 - .../execute__13daTagWrHowl_cFv.s | 23 - .../init__13daTagWrHowl_cFv.s | 10 - .../JSystem/J3DGraphAnimator/J3DAnimation.h | 14 +- .../JSystem/J3DGraphAnimator/J3DModelData.h | 1 + include/JSystem/J3DGraphBase/J3DMaterial.h | 2 + include/JSystem/J3DGraphBase/J3DShapeMtx.h | 1 + include/JSystem/J3DGraphLoader/J3DAnmLoader.h | 2 +- include/JSystem/JAudio2/JAISeMgr.h | 4 + include/JSystem/JKernel/JKRArchive.h | 7 +- include/JSystem/JKernel/JKRDvdFile.h | 2 +- include/JSystem/JKernel/JKRSolidHeap.h | 2 +- include/JSystem/JMath/JMath.h | 12 +- include/JSystem/JParticle/JPAMath.h | 4 +- include/JSystem/JParticle/JPAParticle.h | 4 + .../JSystem/JStudio/JStudio/functionvalue.h | 4 +- .../JSystem/JStudio/JStudio/jstudio-control.h | 2 + include/JSystem/JSupport/JSUList.h | 2 +- include/JSystem/JUtility/JUTConsole.h | 3 +- include/JSystem/JUtility/JUTDirectFile.h | 9 + include/JSystem/JUtility/JUTFader.h | 2 +- include/SSystem/SComponent/c_bg_s_lin_chk.h | 1 + include/SSystem/SComponent/c_cc_d.h | 11 + include/SSystem/SComponent/c_lib.h | 62 +- include/SSystem/SComponent/c_m3d_g_cyl.h | 7 +- include/SSystem/SComponent/c_m3d_g_lin.h | 1 + include/SSystem/SComponent/c_math.h | 8 + include/SSystem/SComponent/c_xyz.h | 6 +- include/Z2AudioLib/Z2Creature.h | 4 + include/Z2AudioLib/Z2SoundHandles.h | 2 +- include/Z2AudioLib/Z2SoundMgr.h | 3 + include/Z2AudioLib/Z2SoundObject.h | 16 +- include/c/c_dylink.h | 1 + include/d/a/d_a_alink.h | 2624 +++++++-------- include/d/a/d_a_player.h | 154 +- include/d/bg/d_bg_s_acch.h | 11 + include/d/cc/d_cc_d.h | 19 +- include/d/cc/d_cc_s.h | 2 + include/d/com/d_com_inf_game.h | 402 ++- include/d/d_attention.h | 10 +- include/d/d_camera.h | 3 + include/d/d_demo.h | 2 + include/d/d_jnt_col.h | 2 + include/d/d_procname.h | 7 +- include/d/d_resorce.h | 2 +- include/d/d_stage.h | 6 +- include/d/d_vibration.h | 2 +- include/d/kankyo/d_kankyo.h | 2 + include/d/meter/d_meter2.h | 2 + include/d/particle/d_particle.h | 12 +- include/d/save/d_save.h | 74 +- include/dolphin/pad/Pad.h | 2 +- include/f_ap/f_ap_game.h | 2 + include/f_op/f_op_actor.h | 8 +- include/f_op/f_op_actor_mng.h | 14 +- include/m_Do/m_Do_audio.h | 1 + include/m_Do/m_Do_controller_pad.h | 1 + include/m_Do/m_Do_ext.h | 3 + include/m_Do/m_Do_machine.h | 1 + include/m_Do/m_Do_main.h | 2 +- include/m_Do/m_Do_mtx.h | 11 +- include/rel/d/a/d_a_arrow/d_a_arrow.h | 95 +- include/rel/d/a/d_a_boomerang/d_a_boomerang.h | 51 +- include/rel/d/a/d_a_canoe/d_a_canoe.h | 79 +- include/rel/d/a/d_a_crod/d_a_crod.h | 10 +- include/rel/d/a/d_a_cstatue/d_a_cstatue.h | 71 +- include/rel/d/a/d_a_horse/d_a_horse.h | 20 +- include/rel/d/a/d_a_mg_rod/d_a_mg_rod.h | 70 +- .../rel/d/a/d_a_scene_exit/d_a_scene_exit.h | 1 + include/rel/d/a/d_a_skip_2D/d_a_skip_2D.h | 22 +- include/rel/d/a/d_a_spinner/d_a_spinner.h | 1 + .../rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h | 16 +- .../d_a_tag_setrestart/d_a_tag_setrestart.h | 17 +- .../tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h | 20 +- libs/JSystem/J2DGraph/J2DMatBlock.cpp | 6 +- libs/JSystem/J2DGraph/J2DPicture.cpp | 4 +- libs/JSystem/J2DGraph/J2DScreen.cpp | 6 +- .../JSystem/J3DGraphAnimator/J3DAnimation.cpp | 172 +- libs/JSystem/J3DGraphAnimator/J3DJoint.cpp | 2 +- .../J3DGraphAnimator/J3DMaterialAttach.cpp | 4 +- libs/JSystem/J3DGraphAnimator/J3DModel.cpp | 2 +- libs/JSystem/JAudio2/JAISound.cpp | 2 +- libs/JSystem/JFramework/JFWDisplay.cpp | 23 +- libs/JSystem/JFramework/JFWSystem.cpp | 2 +- libs/JSystem/JGadget/linklist.cpp | 15 - libs/JSystem/JKernel/JKRAram.cpp | 13 +- libs/JSystem/JKernel/JKRAramHeap.cpp | 2 +- libs/JSystem/JKernel/JKRAramStream.cpp | 15 +- libs/JSystem/JKernel/JKRDecomp.cpp | 1 + libs/JSystem/JKernel/JKRDvdArchive.cpp | 4 +- libs/JSystem/JKernel/JKRFileCache.cpp | 2 +- libs/JSystem/JKernel/JKRFileLoader.cpp | 22 +- libs/JSystem/JKernel/JKRHeap.cpp | 2 +- libs/JSystem/JKernel/JKRMemArchive.cpp | 8 +- libs/JSystem/JKernel/JKRSolidHeap.cpp | 2 +- libs/JSystem/JParticle/JPAMath.cpp | 7 - .../JSystem/JStudio/JStudio/functionvalue.cpp | 14 +- libs/JSystem/JStudio/JStudio/fvb.cpp | 2 +- libs/JSystem/JStudio/JStudio/stb.cpp | 2 +- libs/JSystem/JUtility/JUTDirectFile.cpp | 19 +- libs/JSystem/JUtility/JUTException.cpp | 1 + libs/JSystem/JUtility/JUTResFont.cpp | 2 +- libs/JSystem/JUtility/JUTTexture.cpp | 14 +- libs/Z2AudioLib/Z2AudioMgr.cpp | 2 +- libs/Z2AudioLib/Z2SceneMgr.cpp | 69 +- libs/Z2AudioLib/Z2SoundObjMgr.cpp | 6 +- libs/Z2AudioLib/Z2SoundObject.cpp | 19 +- libs/Z2AudioLib/Z2StatusMgr.cpp | 2 +- libs/dolphin/pad/Pad.c | 2 +- rel/d/a/b/d_a_b_go/d_a_b_go.cpp | 4 +- rel/d/a/d_a_alldie/d_a_alldie.cpp | 4 +- rel/d/a/d_a_arrow/d_a_arrow.cpp | 336 +- rel/d/a/d_a_boomerang/d_a_boomerang.cpp | 113 +- rel/d/a/d_a_canoe/d_a_canoe.cpp | 318 +- rel/d/a/d_a_cstatue/d_a_cstatue.cpp | 386 +-- rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp | 2 +- rel/d/a/d_a_scene_exit/d_a_scene_exit.cpp | 12 +- rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp | 265 +- rel/d/a/d_a_swc00/d_a_swc00.cpp | 2 +- rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp | 4 +- rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp | 6 +- rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp | 154 +- rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp | 2 +- .../a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp | 2 +- .../d_a_tag_setrestart/d_a_tag_setrestart.cpp | 231 +- .../d_a_tag_wara_howl/d_a_tag_wara_howl.cpp | 265 +- src/__start.c | 125 +- src/d/a/d_a_alink.cpp | 2886 +++++++++++++---- src/d/a/d_a_alink_HIO_data.inc | 2606 ++++++++++++--- src/d/a/d_a_alink_bomb.inc | 2 +- src/d/a/d_a_alink_boom.inc | 457 ++- src/d/a/d_a_alink_bottle.inc | 302 +- src/d/a/d_a_alink_bow.inc | 446 +-- src/d/a/d_a_alink_canoe.inc | 492 +-- src/d/a/d_a_alink_copyrod.inc | 415 ++- src/d/a/d_a_alink_crawl.inc | 16 +- src/d/a/d_a_alink_cut.inc | 1867 ++++++++--- src/d/a/d_a_alink_damage.inc | 632 ++-- src/d/a/d_a_alink_demo.inc | 290 +- src/d/a/d_a_alink_effect.inc | 109 +- src/d/a/d_a_alink_grab.inc | 268 +- src/d/a/d_a_alink_guard.inc | 133 +- src/d/a/d_a_alink_hang.inc | 110 +- src/d/a/d_a_alink_hook.inc | 100 +- src/d/a/d_a_alink_horse.inc | 274 +- src/d/a/d_a_alink_hvyboots.inc | 58 +- src/d/a/d_a_alink_iceleaf.inc | 310 +- src/d/a/d_a_alink_ironball.inc | 461 ++- src/d/a/d_a_alink_kandelaar.inc | 233 +- src/d/a/d_a_alink_link.inc | 1645 +++++++--- src/d/a/d_a_alink_spinner.inc | 56 +- src/d/a/d_a_alink_sumou.inc | 160 +- src/d/a/d_a_alink_swim.inc | 348 +- src/d/a/d_a_alink_swindow.inc | 50 + src/d/a/d_a_alink_whistle.inc | 97 +- src/d/a/d_a_alink_wolf.inc | 2165 ++++++++----- src/d/a/d_a_itembase.cpp | 2 +- src/d/a/d_a_npc.cpp | 4 +- src/d/a/d_a_obj_item.cpp | 28 +- src/d/a/d_a_player.cpp | 8 +- src/d/bg/d_bg_s.cpp | 4 +- src/d/bg/d_bg_s_acch.cpp | 22 +- src/d/bg/d_bg_s_movebg_actor.cpp | 4 +- src/d/bg/d_bg_w.cpp | 5 +- src/d/cc/d_cc_uty.cpp | 28 +- src/d/com/d_com_inf_game.cpp | 440 ++- src/d/d_attention.cpp | 6 +- src/d/d_camera.cpp | 2 +- src/d/d_demo.cpp | 16 +- src/d/d_item.cpp | 15 +- src/d/d_resorce.cpp | 14 +- src/d/event/d_event.cpp | 7 - src/d/event/d_event_data.cpp | 22 +- src/d/event/d_event_manager.cpp | 2 +- src/d/kankyo/d_kankyo_rain.cpp | 12 +- src/d/kankyo/d_kankyo_wether.cpp | 10 +- src/d/meter/d_meter2.cpp | 4 +- src/d/particle/d_particle.cpp | 2 +- src/d/save/d_save.cpp | 177 +- src/f_op/f_op_actor.cpp | 2 +- src/f_op/f_op_actor_mng.cpp | 27 +- src/init.c | 89 +- src/m_Do/m_Do_MemCardRWmng.cpp | 42 +- src/m_Do/m_Do_graphic.cpp | 4 +- src/m_Do/m_Do_machine.cpp | 8 +- src/m_Do/m_Do_main.cpp | 147 +- 727 files changed, 15610 insertions(+), 33032 deletions(-) delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__13J3DAnmClusterCFUs.s delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DAnimation/init__12J3DFrameCtrlFs.s delete mode 100644 asm/d/a/d_a_alink/allUnequip__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/basicModelDraw__9daAlink_cFP8J3DModel.s delete mode 100644 asm/d/a/d_a_alink/bottleModelCallBack__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/calcHairAngle__9daAlink_cFPs.s delete mode 100644 asm/d/a/d_a_alink/cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/cancelBowMoveRideNotAtn__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/cancelBowMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/cancelCutCharge__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/cancelGoronThrowEvent__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/changeBoarRunRide__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/changeWolfBlendRate__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkAcceptUseItemInWater__9daAlink_cCFUs.s delete mode 100644 asm/d/a/d_a_alink/checkArrowChargeEnd__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkAttentionLock__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBoardRestart__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBoardSwordTriggerAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkBoomerangCatchAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkBootsMoveAnime__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkBowAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkBowCameraArrowPosP__9daAlink_cFPsPs.s delete mode 100644 asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkBowReadyAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkCanoeFishingRodGrabOrPut__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkCanoeRideTandem__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCaughtEscapeCutTurn__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCoachGuardGame__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCopyRodAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCowGame__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutAtnActorChange__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutCancelNextMode__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutHeadState__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutLandDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutLargeTurnState__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkDemoMoveMode__9daAlink_cCFUl.s delete mode 100644 asm/d/a/d_a_alink/checkDoCutAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkDownAttackState__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkEndMessage__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkEquipAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkGrabAnimeAndThrow__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabHeavyActor__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabNotThrow__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabSideActor__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/checkGrabThrowAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkGroundSpecialMode__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkGuardAccept__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkHookshotReadyMaterialOffMode__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseDashAccept__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseNotDamageReaction__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseReinLeftOnly__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseSubjectivity__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHorseWaitLashAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkHugeAttack__9daAlink_cCFi.s delete mode 100644 asm/d/a/d_a_alink/checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallDelete__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallGroundStop__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallReturnChange__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallReturn__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallThrowMode__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkIronBallThrowReturnMode__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkItemActorPointer__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkItemButtonChange__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkItemChangeAutoAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkItemChangeFromButton__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkItemEquipAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkKandelaarSwing__9daAlink_cCFi.s delete mode 100644 asm/d/a/d_a_alink/checkLandAction__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkLargeAttack__9daAlink_cCFi.s delete mode 100644 asm/d/a/d_a_alink/checkLightSwordMtrl__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkMagicArmorWearAbility__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkMiddleBossGoronRoom__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkMidnaDisappearMode__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionBoard__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionBoomerang__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionCanoe__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionCopyRod__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionFromButton__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionFromCrouch__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionIronBall__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionSwim__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNextActionWolfFromLie__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNoCollisionCorret__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkNoUpperAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkOilBottleItemNotGet__9daAlink_cFUs.s delete mode 100644 asm/d/a/d_a_alink/checkOneHandItemEquipAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkOxygenTimer__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkPlayerGuardAndAttack__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo.s delete mode 100644 asm/d/a/d_a_alink/checkSnowCode__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkSubjectAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkSumouVsActor__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkSwimButtonAccept__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkSwimButtonMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkSwimFall__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkSwimNeckUpDown__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkSwordTwirlAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpSwimButtonAccept__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperItemActionBoomerangFly__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperItemActionBoomerang__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperItemActionBowFly__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperItemActionCopyRodFly__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperItemActionCopyRod__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperItemActionIronBall__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkUpperReadyThrowAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkUseKandelaar__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkWaterInKandelaarOffset__9daAlink_cFf.s delete mode 100644 asm/d/a/d_a_alink/checkWaterInKandelaar__9daAlink_cFf.s delete mode 100644 asm/d/a/d_a_alink/checkWindDashAnime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkWolfAtnMoveBack__9daAlink_cFs.s delete mode 100644 asm/d/a/d_a_alink/checkWolfBarrierHitReverse__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo.s delete mode 100644 asm/d/a/d_a_alink/checkWolfEnemyThrowAction__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkWolfLandAction__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/checkWolfLieCode__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkWolfRopeJumpHang__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkWolfRope__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkWolfShapeReverse__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkWoodShieldEquipNotIronBall__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkZoraSwimMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/checkZoraWearAbility__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/commonGrabPutInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/commonInitForceRideRein__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s delete mode 100644 asm/d/a/d_a_alink/daAlink_Create__FP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/daAlink_Draw__FP9daAlink_c.s delete mode 100644 asm/d/a/d_a_alink/daAlink_bottleModelCallBack__FP8J3DJointi.s delete mode 100644 asm/d/a/d_a_alink/daAlink_kandelaarModelCallBack__FP8J3DJointi.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchCanoe__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchCoach__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchEnemyCargo__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchGiant__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchGoldWolf__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchPeepObj__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchTagKandelaar__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s delete mode 100644 asm/d/a/d_a_alink/damageTimerCount__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/decSwordBlur__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/endHighModel__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/freezeTimerDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getArrowFlyData__9daAlink_cCFPfPfi.s delete mode 100644 asm/d/a/d_a_alink/getArrowIncAtMaxStart__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getArrowIncAtMax__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getArrowIncAtR__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getBoardRowAnmSpeed__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getBodyAngleXBasePos__9daAlink_cFP4cXyz.s delete mode 100644 asm/d/a/d_a_alink/getBombArrowFlyExplodeTime__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getBottleOpenAppearItem__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getCanoeBackMaxSpeed__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getCanoeCres__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getCanoeLocalPaddleTop__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getCanoeMaxSpeed__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getCanoePaddleMatrix__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getCanoeSpeedRate__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getChainStickAngleY__9daAlink_cCFs.s delete mode 100644 asm/d/a/d_a_alink/getCutDirection__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getDirectionRopeMove__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getGrabThrowRate__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getIronBallBgHit__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getIronBallCenterPos__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getKandelaarFlamePos__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getReinRideDirection__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getSwimFrontMaxSpeed__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getSwimMaxFallSpeed__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getWolfLieMoveAnmSpeed__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s delete mode 100644 asm/d/a/d_a_alink/grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s delete mode 100644 asm/d/a/d_a_alink/initCanoeRide__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/initCopyRodUpperAnimeSpeed__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/initCutAtnActorSearch__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/initFishingRodHand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/initForceRideHorse__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/initGrabNextMode__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/initGravity__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/initWolfRopeShapeAngle__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/loadAramBmd__9daAlink_cFUsUl.s delete mode 100644 asm/d/a/d_a_alink/loadAramItemBrk__9daAlink_cFUsP8J3DModel.s delete mode 100644 asm/d/a/d_a_alink/loadAramItemBtk__9daAlink_cFUsP8J3DModel.s delete mode 100644 asm/d/a/d_a_alink/loadAramItemBtp__9daAlink_cFUsP8J3DModel.s delete mode 100644 asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s delete mode 100644 asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/makeFairy__9daAlink_cFP4cXyzUl.s delete mode 100644 asm/d/a/d_a_alink/modelDraw__9daAlink_cFP8J3DModeli.s delete mode 100644 asm/d/a/d_a_alink/offKandelaarModel__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/offOxygenTimer__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/onPressedDamage__9daAlink_cFRC4cXyzs.s delete mode 100644 asm/d/a/d_a_alink/onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2.s delete mode 100644 asm/d/a/d_a_alink/procBackJumpInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procBackJumpLandInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procBackJumpLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBackJump__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardCut__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardJump__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardRide__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardRowInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardSubjectivityInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardSubjectivity__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoardTurnInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoomerangCatchInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoomerangCatch__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoomerangMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoomerangMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoomerangSubjectInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBoomerangSubject__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBootsEquipInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBottleDrinkInit__9daAlink_cFUs.s delete mode 100644 asm/d/a/d_a_alink/procBottleDrink__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBottleGetInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procBottleGet__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBowMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBowSubjectInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procBowSubject__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/procCanoeJumpRide__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCanoeRideInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCanoeRide__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoHorseCallWaitInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCoLargeDamageWall__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoLavaReturn__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoMetamorphoseOnlyInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoMetamorphoseOnly__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoPeepSubjectivityInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoPeepSubjectivity__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoPolyDamageInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoPolyDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoSandWallHitInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoSandWallHit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoSubjectivityInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoSwimFreezeReturnInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCoSwimSubjectivityInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodReviveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodRevive__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodSubjectInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodSubject__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodSwingInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCopyRodSwing__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCrouchInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCrouch__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutFinishInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCutFinishJumpUpInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutFinishJumpUpLandInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutFinishJumpUpLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutFinishJumpUp__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutHeadLandInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutHeadLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutJumpLandInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCutJumpLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutLargeJumpChargeInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutLargeJumpCharge__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutLargeJumpInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutLargeJumpLandInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCutLargeJumpLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutNormalInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCutNormal__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM.s delete mode 100644 asm/d/a/d_a_alink/procCutReverse__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutTurnChargeInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutTurnCharge__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procCutTurnMoveInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procDiveJumpInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procDiveJump__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFall__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFloorDownReboundInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFloorDownRebound__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFrontRollCrashInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFrontRollCrash__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFrontRollSuccessInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procFrontRollSuccess__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procGoatStroke__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procGoronMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/procHawkCatchInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procHawkCatch__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procHawkSubjectInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallReturnInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallReturn__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallSubjectInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallSubject__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procIronBallThrowInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procKandelaarPourInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procKandelaarPour__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procKandelaarSwing__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procLandDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procLandInit__9daAlink_cFf.s delete mode 100644 asm/d/a/d_a_alink/procLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procOctaIealSpit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/procPreActionUnequip__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procRollJumpInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procRollJump__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procScreamWaitInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procScreamWait__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSideRollInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procSlipInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSpinnerReadyInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procStEscapeInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procStEscape__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procStepMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSumouReadyInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSumouShikoInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSumouSideMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSumouStaggerInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSumouStagger__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSwordUnequipSpInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procSwordUnequipSp__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procTiredWaitInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWaitInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfAtnActorMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfAtnActorMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfBackJumpLandInit__9daAlink_cFss.s delete mode 100644 asm/d/a/d_a_alink/procWolfBackJumpLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfBackJump__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfCargoCarryInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfChainReadyInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfChainUpInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfChainUp__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfDownAtMissLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfEnemyHangBiteInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfEnemyThrow__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfGiantPuzzleInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfGrabPutInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfGrabThrowInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfGrabThrow__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfHangReadyInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfHangReady__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfHowlInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procWolfJumpAttackKickInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfJumpAttackKick__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfJumpAttackNormalLandInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procWolfJumpAttackNormalLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfLandDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfMidnaRideShockInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfMidnaRideShock__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfMove__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfPush__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfRollAttackChargeInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfRollAttackCharge__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfRollAttackMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfRopeSubjectivityInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfScreamWaitInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfScreamWait__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSideStepLandInit__9daAlink_cFs.s delete mode 100644 asm/d/a/d_a_alink/procWolfSideStepLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSitInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procWolfSit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlideLandInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlideLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlipInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlipTurnLandInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlipTurnLand__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlopeStartInit__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/procWolfSlopeStart__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSwimMoveInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSwimUp__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfSwimWait__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfTiredWaitInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfTiredWait__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfWaitSlipInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/procWolfWaitTurnInit__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/resetAtCollision__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/resetBasAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/resetDemoBck__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/resetOilBottleModel__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/resetSpecialEvent__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/resetWolfAtCollision__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/resetWolfEnemyBiteAll__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/returnBoomerang__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/returnCopyRod__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/seStartMapInfoLevel__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/seStartMapInfo__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/seStartOnlyReverbLevel__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/seStartOnlyReverb__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/seStartSwordCut__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv.s delete mode 100644 asm/d/a/d_a_alink/setArmReelAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s delete mode 100644 asm/d/a/d_a_alink/setBodyAngleXReadyAnime__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setBoomerangReadyAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBoomerangReadyQuake__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBoomerangSight__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBowHangAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBowNormalAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBowOrSlingStatus__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBowReadyAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBowReloadAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setCollisionPos__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setCommonBoardAnime__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setCopyRodSight__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s delete mode 100644 asm/d/a/d_a_alink/setCutWaterDropEffect__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff.s delete mode 100644 asm/d/a/d_a_alink/setDamagePointNormal__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setDashDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setDkCaught__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s delete mode 100644 asm/d/a/d_a_alink/setFishGetFace__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo.s delete mode 100644 asm/d/a/d_a_alink/setHookshotReadyMaterial__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setHorseSwordUpAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setIronBallBaseAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setIronBallBgCheckPos__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setIronBallReadyAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setIronBallReturn__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setIronBallWaitUpperAnime__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setKandelaarMtx__9daAlink_cFPA4_fii.s delete mode 100644 asm/d/a/d_a_alink/setLandDamagePoint__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setLastSceneMode__9daAlink_cFPUl.s delete mode 100644 asm/d/a/d_a_alink/setMagicArmorBrk__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setMetamorphoseModel__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setOutPower__9daAlink_cFfsi.s delete mode 100644 asm/d/a/d_a_alink/setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_alink/setRoomInfo__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setScreamWaitAnime__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setShieldGuard__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s delete mode 100644 asm/d/a/d_a_alink/setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff.s delete mode 100644 asm/d/a/d_a_alink/setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM.s delete mode 100644 asm/d/a/d_a_alink/setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c.s delete mode 100644 asm/d/a/d_a_alink/setSlingModel__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setSwimUpDownOffset__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setSwordAtCollision__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff.s delete mode 100644 asm/d/a/d_a_alink/setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf.s delete mode 100644 asm/d/a/d_a_alink/setSyncRidePos__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setThrowDamage__9daAlink_cFsffiii.s delete mode 100644 asm/d/a/d_a_alink/setUpperGuardAnime__9daAlink_cFf.s delete mode 100644 asm/d/a/d_a_alink/setWaterDropColor__9daAlink_cFPC13J3DGXColorS10.s delete mode 100644 asm/d/a/d_a_alink/setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s delete mode 100644 asm/d/a/d_a_alink/setWolfAtCollision__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s delete mode 100644 asm/d/a/d_a_alink/setWolfHangGroundY__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setWolfHeadDamage__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setWolfHowlNotHappen__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setWolfLieMoveVoice__9daAlink_cFi.s delete mode 100644 asm/d/a/d_a_alink/setWoodShieldBurnEffect__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/setWoodShieldBurnOutEffect__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/startPeepChange__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/stopDrawParticle__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/subjectCancelTrigger__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/swimDeleteItem__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/swordUnequip__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s delete mode 100644 asm/d/a/d_a_alink/voiceStartLevel__9daAlink_cFUl.s delete mode 100644 asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGs_offVisitedRoom__Fi.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGs_onVisitedRoom__Fi.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s delete mode 100644 asm/d/d_item/item_func_WOOD_STICK__Fv.s delete mode 100644 asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s delete mode 100644 asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s delete mode 100644 asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s delete mode 100644 asm/init/__flush_cache.s delete mode 100644 asm/init/__init_hardware.s delete mode 100644 asm/init/__init_registers.s delete mode 100644 asm/init/__start.s delete mode 100644 asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s delete mode 100644 asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSum__FPvUl.s delete mode 100644 asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s delete mode 100644 asm/m_Do/m_Do_main/main01__Fv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/__dt__10daSkip2D_cFv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/createHeap__10daSkip2D_cFv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/create__10daSkip2D_cFv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Create__FPv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Delete__FPv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Draw__FPv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Execute__FPv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_createHeap__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/draw__10daSkip2D_cFv.s delete mode 100644 asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/initiate__10daSkip2D_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/__dt__12daTagHinit_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/create__12daTagHinit_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Delete__FP12daTagHinit_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Execute__FP12daTagHinit_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/execute__12daTagHinit_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/Create__14daTagRestart_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Delete__FP14daTagRestart_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Execute__FP14daTagRestart_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/execute__14daTagRestart_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/func_80D6048C.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__ct__13daTagWrHowl_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__dt__13daTagWrHowl_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/chkWlfInTag__13daTagWrHowl_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/create__13daTagWrHowl_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_Delete__FP13daTagWrHowl_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_create__FP13daTagWrHowl_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_draw__FP13daTagWrHowl_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_execute__FP13daTagWrHowl_c.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/execute__13daTagWrHowl_cFv.s delete mode 100644 asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/init__13daTagWrHowl_cFv.s diff --git a/Progress.md b/Progress.md index a1cb743343..d478f07d07 100644 --- a/Progress.md +++ b/Progress.md @@ -4,25 +4,25 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -.init | 91.849662% | 8700 | 9472 +.init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 17.786186% | 639688 | 3596544 +.text | 20.092845% | 722648 | 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 | 26.439461% | 1063044 | 4020672 +Total | 28.517223% | 1146584 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 26.439461% | 1063044 | 4020672 -RELs | 33.257498% | 3824720 | 11500324 -Total | 31.491304% | 4887764 | 15520996 +main.dol | 28.517223% | 1146584 | 4020672 +RELs | 33.281706% | 3827504 | 11500324 +Total | 32.047479% | 4974088 | 15520996 ## RELs @@ -88,7 +88,7 @@ d_a_balloon_2D | 29.886212% | 3572 | 11952 d_a_fr | 34.866377% | 4488 | 12872 d_a_hitobj | 62.682927% | 1028 | 1640 d_a_mg_rod | 24.484345% | 23836 | 97352 -d_a_skip_2D | 56.456456% | 752 | 1332 +d_a_skip_2D | 100.000000% | 1332 | 1332 d_a_ep | 30.950696% | 5248 | 16956 d_a_grass | 49.074395% | 28312 | 57692 d_a_dshutter | 46.003263% | 2256 | 4904 @@ -109,7 +109,7 @@ d_a_tag_attack_item | 43.212237% | 1808 | 4184 d_a_tag_attention | 50.000000% | 1012 | 2024 d_a_tag_myna2 | 47.260274% | 828 | 1752 d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904 -d_a_tag_hinit | 55.555556% | 800 | 1440 +d_a_tag_hinit | 100.000000% | 1440 | 1440 d_a_tag_camera | 37.023593% | 1632 | 4408 d_a_tag_statue_evt | 38.427948% | 2816 | 7328 d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 @@ -142,7 +142,7 @@ d_a_tag_waterfall | 46.361502% | 1580 | 3408 d_a_tag_gstart | 100.000000% | 1208 | 1208 d_a_tag_mstop | 36.151961% | 1180 | 3264 d_a_tag_escape | 100.000000% | 712 | 712 -d_a_tag_setrestart | 49.130435% | 904 | 1840 +d_a_tag_setrestart | 96.739130% | 1780 | 1840 d_a_tag_river_back | 45.725916% | 1348 | 2948 d_a_tag_qs | 34.804270% | 1956 | 5620 d_a_tag_event | 31.075697% | 1248 | 4016 @@ -173,7 +173,7 @@ d_a_tag_lantern | 52.013423% | 1240 | 2384 d_a_tag_guard | 54.421769% | 640 | 1176 d_a_tag_assistance | 76.699029% | 632 | 824 d_a_tag_mist | 43.436293% | 900 | 2072 -d_a_tag_wara_howl | 51.549296% | 732 | 1420 +d_a_tag_wara_howl | 100.000000% | 1420 | 1420 d_a_tag_hjump | 40.841584% | 1320 | 3232 d_a_door_dbdoor00 | 40.734908% | 3104 | 7620 d_a_door_spiral | 100.000000% | 504 | 504 @@ -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.257498% | 3824720 | 11500324 +Total | 33.281706% | 3827504 | 11500324 diff --git a/asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__13J3DAnmClusterCFUs.s b/asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__13J3DAnmClusterCFUs.s deleted file mode 100644 index 52ef22fbd8..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__13J3DAnmClusterCFUs.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8032C11C: -/* 8032C11C C0 22 CA 30 */ lfs f1, lit_852(r2) -/* 8032C120 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DAnimation/init__12J3DFrameCtrlFs.s b/asm/JSystem/J3DGraphAnimator/J3DAnimation/init__12J3DFrameCtrlFs.s deleted file mode 100644 index 32605ca2c3..0000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DAnimation/init__12J3DFrameCtrlFs.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_803283FC: -/* 803283FC 38 00 00 02 */ li r0, 2 -/* 80328400 98 03 00 04 */ stb r0, 4(r3) -/* 80328404 38 00 00 00 */ li r0, 0 -/* 80328408 98 03 00 05 */ stb r0, 5(r3) -/* 8032840C B0 03 00 06 */ sth r0, 6(r3) -/* 80328410 B0 83 00 08 */ sth r4, 8(r3) -/* 80328414 B0 03 00 0A */ sth r0, 0xa(r3) -/* 80328418 C0 02 CA 30 */ lfs f0, lit_852(r2) -/* 8032841C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80328420 C0 02 CA 34 */ lfs f0, lit_853(r2) -/* 80328424 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80328428 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/allUnequip__9daAlink_cFi.s b/asm/d/a/d_a_alink/allUnequip__9daAlink_cFi.s deleted file mode 100644 index c8cb1a7890..0000000000 --- a/asm/d/a/d_a_alink/allUnequip__9daAlink_cFi.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_800B983C: -/* 800B983C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B9840 7C 08 02 A6 */ mflr r0 -/* 800B9844 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B9848 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B984C 93 C1 00 08 */ stw r30, 8(r1) -/* 800B9850 7C 7E 1B 78 */ mr r30, r3 -/* 800B9854 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800B9858 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800B985C 41 82 00 7C */ beq lbl_800B98D8 -/* 800B9860 2C 04 00 00 */ cmpwi r4, 0 -/* 800B9864 41 82 00 74 */ beq lbl_800B98D8 -/* 800B9868 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800B986C 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B9870 7D 89 03 A6 */ mtctr r12 -/* 800B9874 4E 80 04 21 */ bctrl -/* 800B9878 28 03 00 00 */ cmplwi r3, 0 -/* 800B987C 40 82 00 5C */ bne lbl_800B98D8 -/* 800B9880 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9884 28 00 00 48 */ cmplwi r0, 0x48 -/* 800B9888 41 82 00 50 */ beq lbl_800B98D8 -/* 800B988C 3B E0 00 00 */ li r31, 0 -/* 800B9890 48 00 00 20 */ b lbl_800B98B0 -lbl_800B9894: -/* 800B9894 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800B9898 4B F7 46 85 */ bl dComIfGp_getSelectItem__Fi -/* 800B989C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800B98A0 28 00 00 48 */ cmplwi r0, 0x48 -/* 800B98A4 40 82 00 08 */ bne lbl_800B98AC -/* 800B98A8 9B FE 2F 9C */ stb r31, 0x2f9c(r30) -lbl_800B98AC: -/* 800B98AC 3B FF 00 01 */ addi r31, r31, 1 -lbl_800B98B0: -/* 800B98B0 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 800B98B4 28 00 00 02 */ cmplwi r0, 2 -/* 800B98B8 41 80 FF DC */ blt lbl_800B9894 -/* 800B98BC 7F C3 F3 78 */ mr r3, r30 -/* 800B98C0 38 80 00 48 */ li r4, 0x48 -/* 800B98C4 4B FF FD 7D */ bl itemEquip__9daAlink_cFUs -/* 800B98C8 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800B98CC 60 00 00 40 */ ori r0, r0, 0x40 -/* 800B98D0 90 1E 05 74 */ stw r0, 0x574(r30) -/* 800B98D4 48 00 00 60 */ b lbl_800B9934 -lbl_800B98D8: -/* 800B98D8 A0 9E 2F DC */ lhz r4, 0x2fdc(r30) -/* 800B98DC 28 04 01 03 */ cmplwi r4, 0x103 -/* 800B98E0 40 82 00 10 */ bne lbl_800B98F0 -/* 800B98E4 7F C3 F3 78 */ mr r3, r30 -/* 800B98E8 4B FF FC 99 */ bl swordUnequip__9daAlink_cFv -/* 800B98EC 48 00 00 40 */ b lbl_800B992C -lbl_800B98F0: -/* 800B98F0 28 04 01 02 */ cmplwi r4, 0x102 -/* 800B98F4 40 82 00 2C */ bne lbl_800B9920 -/* 800B98F8 7F C3 F3 78 */ mr r3, r30 -/* 800B98FC 38 80 00 00 */ li r4, 0 -/* 800B9900 38 A0 00 00 */ li r5, 0 -/* 800B9904 48 00 79 D9 */ bl deleteEquipItem__9daAlink_cFii -/* 800B9908 80 7E 20 60 */ lwz r3, 0x2060(r30) -/* 800B990C C0 22 93 3C */ lfs f1, lit_7808(r2) -/* 800B9910 38 80 00 00 */ li r4, 0 -/* 800B9914 38 A0 00 23 */ li r5, 0x23 -/* 800B9918 4B F5 5F 31 */ bl initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs -/* 800B991C 48 00 00 10 */ b lbl_800B992C -lbl_800B9920: -/* 800B9920 7F C3 F3 78 */ mr r3, r30 -/* 800B9924 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 800B9928 4B FF FD 7D */ bl itemUnequip__9daAlink_cFUsf -lbl_800B992C: -/* 800B992C 38 00 00 FF */ li r0, 0xff -/* 800B9930 B0 1E 2F DE */ sth r0, 0x2fde(r30) -lbl_800B9934: -/* 800B9934 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B9938 83 C1 00 08 */ lwz r30, 8(r1) -/* 800B993C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B9940 7C 08 03 A6 */ mtlr r0 -/* 800B9944 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B9948 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/basicModelDraw__9daAlink_cFP8J3DModel.s b/asm/d/a/d_a_alink/basicModelDraw__9daAlink_cFP8J3DModel.s deleted file mode 100644 index 5ad573f445..0000000000 --- a/asm/d/a/d_a_alink/basicModelDraw__9daAlink_cFP8J3DModel.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800CC298: -/* 800CC298 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CC29C 7C 08 02 A6 */ mflr r0 -/* 800CC2A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CC2A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CC2A8 7C 65 1B 78 */ mr r5, r3 -/* 800CC2AC 7C 9F 23 78 */ mr r31, r4 -/* 800CC2B0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 800CC2B4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 800CC2B8 80 84 00 04 */ lwz r4, 4(r4) -/* 800CC2BC 38 A5 01 0C */ addi r5, r5, 0x10c -/* 800CC2C0 48 0D 8A E1 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 800CC2C4 7F E3 FB 78 */ mr r3, r31 -/* 800CC2C8 4B F4 1A 9D */ bl mDoExt_modelEntryDL__FP8J3DModel -/* 800CC2CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CC2D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CC2D4 7C 08 03 A6 */ mtlr r0 -/* 800CC2D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CC2DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/bottleModelCallBack__9daAlink_cFv.s b/asm/d/a/d_a_alink/bottleModelCallBack__9daAlink_cFv.s deleted file mode 100644 index b921162df9..0000000000 --- a/asm/d/a/d_a_alink/bottleModelCallBack__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_8010E48C: -/* 8010E48C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010E490 7C 08 02 A6 */ mflr r0 -/* 8010E494 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010E498 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010E49C 7C 7F 1B 78 */ mr r31, r3 -/* 8010E4A0 A8 03 30 1A */ lha r0, 0x301a(r3) -/* 8010E4A4 2C 00 00 00 */ cmpwi r0, 0 -/* 8010E4A8 41 82 00 6C */ beq lbl_8010E514 -/* 8010E4AC 80 7F 06 50 */ lwz r3, 0x650(r31) -/* 8010E4B0 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8010E4B4 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8010E4B8 A0 1F 30 C2 */ lhz r0, 0x30c2(r31) -/* 8010E4BC 1C 00 00 30 */ mulli r0, r0, 0x30 -/* 8010E4C0 7C 63 02 14 */ add r3, r3, r0 -/* 8010E4C4 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8010E4C8 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8010E4CC 48 23 7F E5 */ bl PSMTXCopy -/* 8010E4D0 C0 22 94 14 */ lfs f1, lit_14616(r2) -/* 8010E4D4 C0 42 92 BC */ lfs f2, lit_6041(r2) -/* 8010E4D8 C0 62 94 A8 */ lfs f3, lit_16570(r2) -/* 8010E4DC 4B EF E8 C1 */ bl transM__14mDoMtx_stack_cFfff -/* 8010E4E0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8010E4E4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8010E4E8 38 80 48 88 */ li r4, 0x4888 -/* 8010E4EC 38 A0 FF A5 */ li r5, -91 -/* 8010E4F0 38 C0 A9 3F */ li r6, -22209 -/* 8010E4F4 4B EF DC 71 */ bl mDoMtx_XYZrotM__FPA4_fsss -/* 8010E4F8 80 7F 07 08 */ lwz r3, 0x708(r31) -/* 8010E4FC 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8010E500 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8010E504 38 83 00 30 */ addi r4, r3, 0x30 -/* 8010E508 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8010E50C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8010E510 48 23 7F A1 */ bl PSMTXCopy -lbl_8010E514: -/* 8010E514 38 60 00 01 */ li r3, 1 -/* 8010E518 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8010E51C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010E520 7C 08 03 A6 */ mtlr r0 -/* 8010E524 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010E528 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/calcHairAngle__9daAlink_cFPs.s b/asm/d/a/d_a_alink/calcHairAngle__9daAlink_cFPs.s deleted file mode 100644 index fd9756f6b0..0000000000 --- a/asm/d/a/d_a_alink/calcHairAngle__9daAlink_cFPs.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8009FFF8: -/* 8009FFF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009FFFC 7C 08 02 A6 */ mflr r0 -/* 800A0000 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A0004 7C 83 23 78 */ mr r3, r4 -/* 800A0008 38 80 00 00 */ li r4, 0 -/* 800A000C 38 A0 00 05 */ li r5, 5 -/* 800A0010 38 C0 01 90 */ li r6, 0x190 -/* 800A0014 38 E0 00 32 */ li r7, 0x32 -/* 800A0018 48 1D 05 29 */ bl cLib_addCalcAngleS__FPsssss -/* 800A001C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A0020 7C 08 03 A6 */ mtlr r0 -/* 800A0024 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A0028 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 6f3d733e4a..0000000000 --- a/asm/d/a/d_a_alink/cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800E01CC: -/* 800E01CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E01D0 7C 08 02 A6 */ mflr r0 -/* 800E01D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E01D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E01DC 7C 9F 23 78 */ mr r31, r4 -/* 800E01E0 48 00 00 31 */ bl getBoomerangActor__9daAlink_cFv -/* 800E01E4 28 03 00 00 */ cmplwi r3, 0 -/* 800E01E8 41 82 00 14 */ beq lbl_800E01FC -/* 800E01EC 7F E4 FB 78 */ mr r4, r31 -/* 800E01F0 39 83 0D D8 */ addi r12, r3, 0xdd8 -/* 800E01F4 48 28 1E 91 */ bl __ptmf_scall -/* 800E01F8 60 00 00 00 */ nop -lbl_800E01FC: -/* 800E01FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E0200 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E0204 7C 08 03 A6 */ mtlr r0 -/* 800E0208 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E020C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelBowMoveRideNotAtn__9daAlink_cFv.s b/asm/d/a/d_a_alink/cancelBowMoveRideNotAtn__9daAlink_cFv.s deleted file mode 100644 index e6f1f56390..0000000000 --- a/asm/d/a/d_a_alink/cancelBowMoveRideNotAtn__9daAlink_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_800DED88: -/* 800DED88 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DED8C 7C 08 02 A6 */ mflr r0 -/* 800DED90 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DED94 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DED98 48 28 34 3D */ bl _savegpr_27 -/* 800DED9C 7C 7B 1B 78 */ mr r27, r3 -/* 800DEDA0 3B C0 00 00 */ li r30, 0 -/* 800DEDA4 7F DD F3 78 */ mr r29, r30 -/* 800DEDA8 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800DEDAC 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800DEDB0 41 82 00 38 */ beq lbl_800DEDE8 -/* 800DEDB4 83 FB 27 E0 */ lwz r31, 0x27e0(r27) -/* 800DEDB8 3B 80 00 01 */ li r28, 1 -/* 800DEDBC 7F E3 FB 78 */ mr r3, r31 -/* 800DEDC0 4B F9 4A 25 */ bl LockonTruth__12dAttention_cFv -/* 800DEDC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DEDC8 40 82 00 14 */ bne lbl_800DEDDC -/* 800DEDCC 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800DEDD0 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800DEDD4 40 82 00 08 */ bne lbl_800DEDDC -/* 800DEDD8 3B 80 00 00 */ li r28, 0 -lbl_800DEDDC: -/* 800DEDDC 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 800DEDE0 41 82 00 08 */ beq lbl_800DEDE8 -/* 800DEDE4 3B A0 00 01 */ li r29, 1 -lbl_800DEDE8: -/* 800DEDE8 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800DEDEC 41 82 00 14 */ beq lbl_800DEE00 -/* 800DEDF0 80 1B 27 EC */ lwz r0, 0x27ec(r27) -/* 800DEDF4 28 00 00 00 */ cmplwi r0, 0 -/* 800DEDF8 40 82 00 08 */ bne lbl_800DEE00 -/* 800DEDFC 3B C0 00 01 */ li r30, 1 -lbl_800DEE00: -/* 800DEE00 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800DEE04 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DEE08 48 28 34 19 */ bl _restgpr_27 -/* 800DEE0C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DEE10 7C 08 03 A6 */ mtlr r0 -/* 800DEE14 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DEE18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelBowMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/cancelBowMove__9daAlink_cFv.s deleted file mode 100644 index d7a406f270..0000000000 --- a/asm/d/a/d_a_alink/cancelBowMove__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_800DEE1C: -/* 800DEE1C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DEE20 7C 08 02 A6 */ mflr r0 -/* 800DEE24 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DEE28 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DEE2C 48 28 33 B1 */ bl _savegpr_29 -/* 800DEE30 7C 7D 1B 78 */ mr r29, r3 -/* 800DEE34 80 03 27 EC */ lwz r0, 0x27ec(r3) -/* 800DEE38 28 00 00 00 */ cmplwi r0, 0 -/* 800DEE3C 40 82 00 84 */ bne lbl_800DEEC0 -/* 800DEE40 83 FD 27 E0 */ lwz r31, 0x27e0(r29) -/* 800DEE44 3B C0 00 01 */ li r30, 1 -/* 800DEE48 7F E3 FB 78 */ mr r3, r31 -/* 800DEE4C 4B F9 49 99 */ bl LockonTruth__12dAttention_cFv -/* 800DEE50 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DEE54 40 82 00 14 */ bne lbl_800DEE68 -/* 800DEE58 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800DEE5C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800DEE60 40 82 00 08 */ bne lbl_800DEE68 -/* 800DEE64 3B C0 00 00 */ li r30, 0 -lbl_800DEE68: -/* 800DEE68 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800DEE6C 40 82 00 54 */ bne lbl_800DEEC0 -/* 800DEE70 A8 1D 30 8E */ lha r0, 0x308e(r29) -/* 800DEE74 2C 00 00 00 */ cmpwi r0, 0 -/* 800DEE78 40 82 00 48 */ bne lbl_800DEEC0 -/* 800DEE7C 7F A3 EB 78 */ mr r3, r29 -/* 800DEE80 4B FF FB 39 */ bl checkBowReadyAnime__9daAlink_cCFv -/* 800DEE84 2C 03 00 00 */ cmpwi r3, 0 -/* 800DEE88 40 82 00 38 */ bne lbl_800DEEC0 -/* 800DEE8C A0 1D 1F BC */ lhz r0, 0x1fbc(r29) -/* 800DEE90 28 00 00 0C */ cmplwi r0, 0xc -/* 800DEE94 40 82 00 14 */ bne lbl_800DEEA8 -/* 800DEE98 38 7D 20 48 */ addi r3, r29, 0x2048 -/* 800DEE9C 48 07 F6 31 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DEEA0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DEEA4 41 82 00 1C */ beq lbl_800DEEC0 -lbl_800DEEA8: -/* 800DEEA8 7F A3 EB 78 */ mr r3, r29 -/* 800DEEAC 38 80 00 02 */ li r4, 2 -/* 800DEEB0 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800DEEB4 4B FC E8 71 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 800DEEB8 38 60 00 01 */ li r3, 1 -/* 800DEEBC 48 00 00 08 */ b lbl_800DEEC4 -lbl_800DEEC0: -/* 800DEEC0 38 60 00 00 */ li r3, 0 -lbl_800DEEC4: -/* 800DEEC4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DEEC8 48 28 33 61 */ bl _restgpr_29 -/* 800DEECC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DEED0 7C 08 03 A6 */ mtlr r0 -/* 800DEED4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DEED8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelCutCharge__9daAlink_cFv.s b/asm/d/a/d_a_alink/cancelCutCharge__9daAlink_cFv.s deleted file mode 100644 index f25ae3f50d..0000000000 --- a/asm/d/a/d_a_alink/cancelCutCharge__9daAlink_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_800D2B88: -/* 800D2B88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D2B8C 7C 08 02 A6 */ mflr r0 -/* 800D2B90 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D2B94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D2B98 7C 7F 1B 78 */ mr r31, r3 -/* 800D2B9C 88 83 05 69 */ lbz r4, 0x569(r3) -/* 800D2BA0 28 04 00 04 */ cmplwi r4, 4 -/* 800D2BA4 40 82 00 1C */ bne lbl_800D2BC0 -/* 800D2BA8 38 80 00 01 */ li r4, 1 -/* 800D2BAC 4B FF E8 85 */ bl resetCombo__9daAlink_cFi -/* 800D2BB0 7F E3 FB 78 */ mr r3, r31 -/* 800D2BB4 38 80 00 00 */ li r4, 0 -/* 800D2BB8 4B FE 75 19 */ bl checkNextAction__9daAlink_cFi -/* 800D2BBC 48 00 00 2C */ b lbl_800D2BE8 -lbl_800D2BC0: -/* 800D2BC0 38 04 00 01 */ addi r0, r4, 1 -/* 800D2BC4 98 1F 05 69 */ stb r0, 0x569(r31) -/* 800D2BC8 88 1F 05 69 */ lbz r0, 0x569(r31) -/* 800D2BCC 28 00 00 03 */ cmplwi r0, 3 -/* 800D2BD0 41 81 00 10 */ bgt lbl_800D2BE0 -/* 800D2BD4 38 80 00 02 */ li r4, 2 -/* 800D2BD8 48 00 03 81 */ bl procCutNormalInit__9daAlink_cFi -/* 800D2BDC 48 00 00 0C */ b lbl_800D2BE8 -lbl_800D2BE0: -/* 800D2BE0 38 80 00 01 */ li r4, 1 -/* 800D2BE4 48 00 08 F5 */ bl procCutFinishInit__9daAlink_cFi -lbl_800D2BE8: -/* 800D2BE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D2BEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D2BF0 7C 08 03 A6 */ mtlr r0 -/* 800D2BF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D2BF8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/cancelGoronThrowEvent__9daAlink_cFv.s b/asm/d/a/d_a_alink/cancelGoronThrowEvent__9daAlink_cFv.s deleted file mode 100644 index 4c55de7d4d..0000000000 --- a/asm/d/a/d_a_alink/cancelGoronThrowEvent__9daAlink_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800E91C4: -/* 800E91C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E91C8 7C 08 02 A6 */ mflr r0 -/* 800E91CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E91D0 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800E91D4 28 00 00 C0 */ cmplwi r0, 0xc0 -/* 800E91D8 40 82 00 28 */ bne lbl_800E9200 -/* 800E91DC A8 03 30 12 */ lha r0, 0x3012(r3) -/* 800E91E0 2C 00 00 00 */ cmpwi r0, 0 -/* 800E91E4 40 82 00 1C */ bne lbl_800E9200 -/* 800E91E8 38 00 00 01 */ li r0, 1 -/* 800E91EC B0 03 30 12 */ sth r0, 0x3012(r3) -/* 800E91F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E91F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E91F8 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 800E91FC 4B F5 92 6D */ bl reset__14dEvt_control_cFv -lbl_800E9200: -/* 800E9200 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E9204 7C 08 03 A6 */ mtlr r0 -/* 800E9208 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E920C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/changeBoarRunRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/changeBoarRunRide__9daAlink_cFv.s deleted file mode 100644 index 86e30d5d14..0000000000 --- a/asm/d/a/d_a_alink/changeBoarRunRide__9daAlink_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_800ED4B8: -/* 800ED4B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ED4BC 7C 08 02 A6 */ mflr r0 -/* 800ED4C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ED4C4 80 63 28 18 */ lwz r3, 0x2818(r3) -/* 800ED4C8 4B F4 A8 F5 */ bl setRunRideMode__10e_wb_classFv -/* 800ED4CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ED4D0 7C 08 03 A6 */ mtlr r0 -/* 800ED4D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ED4D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/changeWolfBlendRate__9daAlink_cFi.s b/asm/d/a/d_a_alink/changeWolfBlendRate__9daAlink_cFi.s deleted file mode 100644 index cbcf88a88c..0000000000 --- a/asm/d/a/d_a_alink/changeWolfBlendRate__9daAlink_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8012ACCC: -/* 8012ACCC 38 A0 00 00 */ li r5, 0 -/* 8012ACD0 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 8012ACD4 28 00 02 DA */ cmplwi r0, 0x2da -/* 8012ACD8 41 82 00 10 */ beq lbl_8012ACE8 -/* 8012ACDC 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8012ACE0 28 00 02 DB */ cmplwi r0, 0x2db -/* 8012ACE4 40 82 00 08 */ bne lbl_8012ACEC -lbl_8012ACE8: -/* 8012ACE8 38 A0 00 01 */ li r5, 1 -lbl_8012ACEC: -/* 8012ACEC 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 8012ACF0 4D 82 00 20 */ beqlr -/* 8012ACF4 2C 04 00 07 */ cmpwi r4, 7 -/* 8012ACF8 40 82 00 10 */ bne lbl_8012AD08 -/* 8012ACFC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012AD00 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8012AD04 4E 80 00 20 */ blr -lbl_8012AD08: -/* 8012AD08 2C 04 00 03 */ cmpwi r4, 3 -/* 8012AD0C 4C 82 00 20 */ bnelr -/* 8012AD10 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 8012AD14 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8012AD18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkAcceptUseItemInWater__9daAlink_cCFUs.s b/asm/d/a/d_a_alink/checkAcceptUseItemInWater__9daAlink_cCFUs.s deleted file mode 100644 index a4c1983a52..0000000000 --- a/asm/d/a/d_a_alink/checkAcceptUseItemInWater__9daAlink_cCFUs.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_801018E4: -/* 801018E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801018E8 7C 08 02 A6 */ mflr r0 -/* 801018EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801018F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801018F4 3B E0 00 00 */ li r31, 0 -/* 801018F8 54 83 04 3E */ clrlwi r3, r4, 0x10 -/* 801018FC 28 03 00 45 */ cmplwi r3, 0x45 -/* 80101900 41 82 00 18 */ beq lbl_80101918 -/* 80101904 28 03 00 71 */ cmplwi r3, 0x71 -/* 80101908 41 82 00 10 */ beq lbl_80101918 -/* 8010190C 48 05 D2 AD */ bl checkHookshotItem__9daPy_py_cFi -/* 80101910 2C 03 00 00 */ cmpwi r3, 0 -/* 80101914 41 82 00 08 */ beq lbl_8010191C -lbl_80101918: -/* 80101918 3B E0 00 01 */ li r31, 1 -lbl_8010191C: -/* 8010191C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80101920 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80101924 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80101928 7C 08 03 A6 */ mtlr r0 -/* 8010192C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80101930 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkArrowChargeEnd__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkArrowChargeEnd__9daAlink_cCFv.s deleted file mode 100644 index d9f6e267d3..0000000000 --- a/asm/d/a/d_a_alink/checkArrowChargeEnd__9daAlink_cCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800DE990: -/* 800DE990 38 80 00 00 */ li r4, 0 -/* 800DE994 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800DE998 28 00 00 0A */ cmplwi r0, 0xa -/* 800DE99C 40 82 00 14 */ bne lbl_800DE9B0 -/* 800DE9A0 A8 03 30 1C */ lha r0, 0x301c(r3) -/* 800DE9A4 2C 00 00 00 */ cmpwi r0, 0 -/* 800DE9A8 40 82 00 08 */ bne lbl_800DE9B0 -/* 800DE9AC 38 80 00 01 */ li r4, 1 -lbl_800DE9B0: -/* 800DE9B0 7C 83 23 78 */ mr r3, r4 -/* 800DE9B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkAttentionLock__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkAttentionLock__9daAlink_cFv.s deleted file mode 100644 index 8c6a3ce896..0000000000 --- a/asm/d/a/d_a_alink/checkAttentionLock__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800CFF4C: -/* 800CFF4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CFF50 7C 08 02 A6 */ mflr r0 -/* 800CFF54 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CFF58 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CFF5C 93 C1 00 08 */ stw r30, 8(r1) -/* 800CFF60 83 E3 27 E0 */ lwz r31, 0x27e0(r3) -/* 800CFF64 3B C0 00 01 */ li r30, 1 -/* 800CFF68 7F E3 FB 78 */ mr r3, r31 -/* 800CFF6C 4B FA 38 79 */ bl LockonTruth__12dAttention_cFv -/* 800CFF70 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800CFF74 40 82 00 14 */ bne lbl_800CFF88 -/* 800CFF78 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800CFF7C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800CFF80 40 82 00 08 */ bne lbl_800CFF88 -/* 800CFF84 3B C0 00 00 */ li r30, 0 -lbl_800CFF88: -/* 800CFF88 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800CFF8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CFF90 83 C1 00 08 */ lwz r30, 8(r1) -/* 800CFF94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CFF98 7C 08 03 A6 */ mtlr r0 -/* 800CFF9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CFFA0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBoardRestart__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkBoardRestart__9daAlink_cFv.s deleted file mode 100644 index f4820c5e40..0000000000 --- a/asm/d/a/d_a_alink/checkBoardRestart__9daAlink_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80105B10: -/* 80105B10 38 A0 00 00 */ li r5, 0 -/* 80105B14 7C A4 2B 78 */ mr r4, r5 -/* 80105B18 88 03 2F AA */ lbz r0, 0x2faa(r3) -/* 80105B1C 28 00 00 00 */ cmplwi r0, 0 -/* 80105B20 40 82 00 14 */ bne lbl_80105B34 -/* 80105B24 80 03 28 18 */ lwz r0, 0x2818(r3) -/* 80105B28 28 00 00 00 */ cmplwi r0, 0 -/* 80105B2C 41 82 00 08 */ beq lbl_80105B34 -/* 80105B30 38 80 00 01 */ li r4, 1 -lbl_80105B34: -/* 80105B34 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 80105B38 41 82 00 18 */ beq lbl_80105B50 -/* 80105B3C 80 63 28 18 */ lwz r3, 0x2818(r3) -/* 80105B40 A8 03 00 08 */ lha r0, 8(r3) -/* 80105B44 2C 00 01 87 */ cmpwi r0, 0x187 -/* 80105B48 40 82 00 08 */ bne lbl_80105B50 -/* 80105B4C 38 A0 00 01 */ li r5, 1 -lbl_80105B50: -/* 80105B50 7C A3 2B 78 */ mr r3, r5 -/* 80105B54 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBoardSwordTriggerAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkBoardSwordTriggerAction__9daAlink_cFv.s deleted file mode 100644 index 12849bb928..0000000000 --- a/asm/d/a/d_a_alink/checkBoardSwordTriggerAction__9daAlink_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80106618: -/* 80106618 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010661C 7C 08 02 A6 */ mflr r0 -/* 80106620 90 01 00 14 */ stw r0, 0x14(r1) -/* 80106624 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 80106628 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8010662C 41 82 00 0C */ beq lbl_80106638 -/* 80106630 48 00 0E 7D */ bl procBoardCutInit__9daAlink_cFv -/* 80106634 48 00 00 0C */ b lbl_80106640 -lbl_80106638: -/* 80106638 38 80 00 00 */ li r4, 0 -/* 8010663C 48 00 03 FD */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -lbl_80106640: -/* 80106640 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80106644 7C 08 03 A6 */ mtlr r0 -/* 80106648 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010664C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 641a904ea3..0000000000 --- a/asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_800E02B8: -/* 800E02B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E02BC 7C 08 02 A6 */ mflr r0 -/* 800E02C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E02C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E02C8 93 C1 00 08 */ stw r30, 8(r1) -/* 800E02CC 7C 7E 1B 78 */ mr r30, r3 -/* 800E02D0 7C 9F 23 78 */ mr r31, r4 -/* 800E02D4 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800E02D8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800E02DC 41 82 00 D8 */ beq lbl_800E03B4 -/* 800E02E0 48 03 59 41 */ bl checkEventRun__9daAlink_cCFv -/* 800E02E4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E02E8 40 82 00 CC */ bne lbl_800E03B4 -/* 800E02EC 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800E02F0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800E02F4 40 82 00 C0 */ bne lbl_800E03B4 -/* 800E02F8 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800E02FC 54 00 00 C7 */ rlwinm. r0, r0, 0, 3, 3 -/* 800E0300 41 82 00 B4 */ beq lbl_800E03B4 -/* 800E0304 7F C3 F3 78 */ mr r3, r30 -/* 800E0308 48 00 CD 6D */ bl checkHorseNoUpperAnime__9daAlink_cCFv -/* 800E030C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0310 40 82 00 3C */ bne lbl_800E034C -/* 800E0314 38 60 00 00 */ li r3, 0 -/* 800E0318 A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800E031C 28 00 02 4C */ cmplwi r0, 0x24c -/* 800E0320 41 82 00 10 */ beq lbl_800E0330 -/* 800E0324 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800E0328 28 00 02 4D */ cmplwi r0, 0x24d -/* 800E032C 40 82 00 08 */ bne lbl_800E0334 -lbl_800E0330: -/* 800E0330 38 60 00 01 */ li r3, 1 -lbl_800E0334: -/* 800E0334 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0338 40 82 00 14 */ bne lbl_800E034C -/* 800E033C 7F C3 F3 78 */ mr r3, r30 -/* 800E0340 48 00 01 6D */ bl checkBoomerangThrowAnime__9daAlink_cCFv -/* 800E0344 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0348 41 82 00 6C */ beq lbl_800E03B4 -lbl_800E034C: -/* 800E034C 7F C3 F3 78 */ mr r3, r30 -/* 800E0350 38 80 00 00 */ li r4, 0 -/* 800E0354 38 A0 00 00 */ li r5, 0 -/* 800E0358 4B FE 0F 85 */ bl deleteEquipItem__9daAlink_cFii -/* 800E035C 7F C3 F3 78 */ mr r3, r30 -/* 800E0360 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002002F@ha */ -/* 800E0364 38 84 00 2F */ addi r4, r4, 0x002F /* 0x0002002F@l */ -/* 800E0368 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800E036C 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800E0370 7D 89 03 A6 */ mtctr r12 -/* 800E0374 4E 80 04 21 */ bctrl -/* 800E0378 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800E037C 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 800E0380 90 1E 05 70 */ stw r0, 0x570(r30) -/* 800E0384 7F C3 F3 78 */ mr r3, r30 -/* 800E0388 7F E4 FB 78 */ mr r4, r31 -/* 800E038C 48 00 58 29 */ bl setGrabItemActor__9daAlink_cFP10fopAc_ac_c -/* 800E0390 C0 02 93 94 */ lfs f0, lit_8785(r2) -/* 800E0394 D0 1E 33 E4 */ stfs f0, 0x33e4(r30) -/* 800E0398 7F C3 F3 78 */ mr r3, r30 -/* 800E039C 3C 80 80 39 */ lis r4, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800E03A0 38 84 D6 64 */ addi r4, r4, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800E03A4 C0 24 00 18 */ lfs f1, 0x18(r4) -/* 800E03A8 48 00 3A 15 */ bl setGrabUpperAnime__9daAlink_cFf -/* 800E03AC 38 60 00 01 */ li r3, 1 -/* 800E03B0 48 00 00 08 */ b lbl_800E03B8 -lbl_800E03B4: -/* 800E03B4 38 60 00 00 */ li r3, 0 -lbl_800E03B8: -/* 800E03B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E03BC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E03C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E03C4 7C 08 03 A6 */ mtlr r0 -/* 800E03C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E03CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBoomerangCatchAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkBoomerangCatchAction__9daAlink_cFv.s deleted file mode 100644 index 2eed4389cb..0000000000 --- a/asm/d/a/d_a_alink/checkBoomerangCatchAction__9daAlink_cFv.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_800E0D8C: -/* 800E0D8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0D90 7C 08 02 A6 */ mflr r0 -/* 800E0D94 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0D98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0D9C 7C 7F 1B 78 */ mr r31, r3 -/* 800E0DA0 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800E0DA4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800E0DA8 41 82 00 A4 */ beq lbl_800E0E4C -/* 800E0DAC 48 03 4E 75 */ bl checkEventRun__9daAlink_cCFv -/* 800E0DB0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0DB4 40 82 00 8C */ bne lbl_800E0E40 -/* 800E0DB8 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800E0DBC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800E0DC0 40 82 00 80 */ bne lbl_800E0E40 -/* 800E0DC4 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E0DC8 54 00 00 C7 */ rlwinm. r0, r0, 0, 3, 3 -/* 800E0DCC 41 82 00 74 */ beq lbl_800E0E40 -/* 800E0DD0 7F E3 FB 78 */ mr r3, r31 -/* 800E0DD4 4B FD 84 81 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800E0DD8 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0DDC 40 82 00 3C */ bne lbl_800E0E18 -/* 800E0DE0 38 60 00 00 */ li r3, 0 -/* 800E0DE4 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E0DE8 28 00 02 4C */ cmplwi r0, 0x24c -/* 800E0DEC 41 82 00 10 */ beq lbl_800E0DFC -/* 800E0DF0 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800E0DF4 28 00 02 4D */ cmplwi r0, 0x24d -/* 800E0DF8 40 82 00 08 */ bne lbl_800E0E00 -lbl_800E0DFC: -/* 800E0DFC 38 60 00 01 */ li r3, 1 -lbl_800E0E00: -/* 800E0E00 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0E04 40 82 00 14 */ bne lbl_800E0E18 -/* 800E0E08 7F E3 FB 78 */ mr r3, r31 -/* 800E0E0C 4B FF F6 A1 */ bl checkBoomerangThrowAnime__9daAlink_cCFv -/* 800E0E10 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0E14 41 82 00 2C */ beq lbl_800E0E40 -lbl_800E0E18: -/* 800E0E18 80 7F 31 A0 */ lwz r3, 0x31a0(r31) -/* 800E0E1C 54 60 07 FF */ clrlwi. r0, r3, 0x1f -/* 800E0E20 41 82 00 18 */ beq lbl_800E0E38 -/* 800E0E24 54 60 05 6B */ rlwinm. r0, r3, 0, 0x15, 0x15 -/* 800E0E28 40 82 00 10 */ bne lbl_800E0E38 -/* 800E0E2C 7F E3 FB 78 */ mr r3, r31 -/* 800E0E30 48 00 03 A9 */ bl procBoomerangCatchInit__9daAlink_cFv -/* 800E0E34 48 00 00 1C */ b lbl_800E0E50 -lbl_800E0E38: -/* 800E0E38 7F E3 FB 78 */ mr r3, r31 -/* 800E0E3C 4B FF F7 F5 */ bl setBoomerangCatchAnime__9daAlink_cFv -lbl_800E0E40: -/* 800E0E40 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800E0E44 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 800E0E48 90 1F 05 70 */ stw r0, 0x570(r31) -lbl_800E0E4C: -/* 800E0E4C 38 60 00 00 */ li r3, 0 -lbl_800E0E50: -/* 800E0E50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E0E54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E0E58 7C 08 03 A6 */ mtlr r0 -/* 800E0E5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E0E60 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBootsMoveAnime__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkBootsMoveAnime__9daAlink_cFi.s deleted file mode 100644 index d12611637e..0000000000 --- a/asm/d/a/d_a_alink/checkBootsMoveAnime__9daAlink_cFi.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800E251C: -/* 800E251C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E2520 7C 08 02 A6 */ mflr r0 -/* 800E2524 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E2528 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E252C 93 C1 00 08 */ stw r30, 8(r1) -/* 800E2530 7C 7E 1B 78 */ mr r30, r3 -/* 800E2534 3B E0 00 00 */ li r31, 0 -/* 800E2538 38 A0 00 01 */ li r5, 1 -/* 800E253C 4B FD 8F 7D */ bl checkHeavyStateOn__9daAlink_cFii -/* 800E2540 2C 03 00 00 */ cmpwi r3, 0 -/* 800E2544 41 82 00 10 */ beq lbl_800E2554 -/* 800E2548 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800E254C 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800E2550 41 82 00 10 */ beq lbl_800E2560 -lbl_800E2554: -/* 800E2554 A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800E2558 28 00 02 62 */ cmplwi r0, 0x262 -/* 800E255C 40 82 00 08 */ bne lbl_800E2564 -lbl_800E2560: -/* 800E2560 3B E0 00 01 */ li r31, 1 -lbl_800E2564: -/* 800E2564 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800E2568 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E256C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E2570 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E2574 7C 08 03 A6 */ mtlr r0 -/* 800E2578 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E257C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s deleted file mode 100644 index 9c97163385..0000000000 --- a/asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800DE780: -/* 800DE780 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DE784 7C 08 02 A6 */ mflr r0 -/* 800DE788 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DE78C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DE790 93 C1 00 08 */ stw r30, 8(r1) -/* 800DE794 7C 9E 23 78 */ mr r30, r4 -/* 800DE798 3B E0 00 00 */ li r31, 0 -/* 800DE79C 7F C3 F3 78 */ mr r3, r30 -/* 800DE7A0 48 08 03 F1 */ bl checkBowItem__9daPy_py_cFi -/* 800DE7A4 2C 03 00 00 */ cmpwi r3, 0 -/* 800DE7A8 40 82 00 0C */ bne lbl_800DE7B4 -/* 800DE7AC 2C 1E 00 4B */ cmpwi r30, 0x4b -/* 800DE7B0 40 82 00 08 */ bne lbl_800DE7B8 -lbl_800DE7B4: -/* 800DE7B4 3B E0 00 01 */ li r31, 1 -lbl_800DE7B8: -/* 800DE7B8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DE7BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DE7C0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DE7C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DE7C8 7C 08 03 A6 */ mtlr r0 -/* 800DE7CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DE7D0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBowAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkBowAnime__9daAlink_cCFv.s deleted file mode 100644 index 87fdc625ff..0000000000 --- a/asm/d/a/d_a_alink/checkBowAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800DE9E8: -/* 800DE9E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DE9EC 7C 08 02 A6 */ mflr r0 -/* 800DE9F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DE9F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DE9F8 93 C1 00 08 */ stw r30, 8(r1) -/* 800DE9FC 7C 7E 1B 78 */ mr r30, r3 -/* 800DEA00 3B E0 00 00 */ li r31, 0 -/* 800DEA04 4B FF FF B5 */ bl checkBowReadyAnime__9daAlink_cCFv -/* 800DEA08 2C 03 00 00 */ cmpwi r3, 0 -/* 800DEA0C 40 82 00 10 */ bne lbl_800DEA1C -/* 800DEA10 A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800DEA14 28 00 00 0C */ cmplwi r0, 0xc -/* 800DEA18 40 82 00 08 */ bne lbl_800DEA20 -lbl_800DEA1C: -/* 800DEA1C 3B E0 00 01 */ li r31, 1 -lbl_800DEA20: -/* 800DEA20 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DEA24 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DEA28 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DEA2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DEA30 7C 08 03 A6 */ mtlr r0 -/* 800DEA34 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DEA38 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBowCameraArrowPosP__9daAlink_cFPsPs.s b/asm/d/a/d_a_alink/checkBowCameraArrowPosP__9daAlink_cFPsPs.s deleted file mode 100644 index f6fc70d635..0000000000 --- a/asm/d/a/d_a_alink/checkBowCameraArrowPosP__9daAlink_cFPsPs.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_800DE884: -/* 800DE884 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DE888 7C 08 02 A6 */ mflr r0 -/* 800DE88C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DE890 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DE894 48 28 39 45 */ bl _savegpr_28 -/* 800DE898 7C 7D 1B 78 */ mr r29, r3 -/* 800DE89C 7C 9E 23 78 */ mr r30, r4 -/* 800DE8A0 7C BF 2B 78 */ mr r31, r5 -/* 800DE8A4 48 00 01 45 */ bl checkBowAnime__9daAlink_cCFv -/* 800DE8A8 2C 03 00 00 */ cmpwi r3, 0 -/* 800DE8AC 41 82 00 10 */ beq lbl_800DE8BC -/* 800DE8B0 A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800DE8B4 28 00 00 4B */ cmplwi r0, 0x4b -/* 800DE8B8 40 82 00 0C */ bne lbl_800DE8C4 -lbl_800DE8BC: -/* 800DE8BC 38 60 00 00 */ li r3, 0 -/* 800DE8C0 48 00 00 B8 */ b lbl_800DE978 -lbl_800DE8C4: -/* 800DE8C4 7F A3 EB 78 */ mr r3, r29 -/* 800DE8C8 81 9D 06 28 */ lwz r12, 0x628(r29) -/* 800DE8CC 81 8C 01 88 */ lwz r12, 0x188(r12) -/* 800DE8D0 7D 89 03 A6 */ mtctr r12 -/* 800DE8D4 4E 80 04 21 */ bctrl -/* 800DE8D8 28 03 00 00 */ cmplwi r3, 0 -/* 800DE8DC 41 82 00 2C */ beq lbl_800DE908 -/* 800DE8E0 80 1D 05 78 */ lwz r0, 0x578(r29) -/* 800DE8E4 54 00 01 D1 */ rlwinm. r0, r0, 0, 7, 8 -/* 800DE8E8 41 82 00 20 */ beq lbl_800DE908 -/* 800DE8EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DE8F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DE8F4 80 63 5D B8 */ lwz r3, 0x5db8(r3) -/* 800DE8F8 28 03 00 00 */ cmplwi r3, 0 -/* 800DE8FC 41 82 00 0C */ beq lbl_800DE908 -/* 800DE900 AB 83 04 E6 */ lha r28, 0x4e6(r3) -/* 800DE904 48 00 00 1C */ b lbl_800DE920 -lbl_800DE908: -/* 800DE908 80 1D 05 70 */ lwz r0, 0x570(r29) -/* 800DE90C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800DE910 41 82 00 0C */ beq lbl_800DE91C -/* 800DE914 AB 9D 31 18 */ lha r28, 0x3118(r29) -/* 800DE918 48 00 00 08 */ b lbl_800DE920 -lbl_800DE91C: -/* 800DE91C AB 9D 04 E6 */ lha r28, 0x4e6(r29) -lbl_800DE920: -/* 800DE920 A8 1D 05 9E */ lha r0, 0x59e(r29) -/* 800DE924 7F 9C 02 14 */ add r28, r28, r0 -/* 800DE928 38 7D 38 34 */ addi r3, r29, 0x3834 -/* 800DE92C 4B F2 E4 39 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 800DE930 7F A3 EB 78 */ mr r3, r29 -/* 800DE934 48 00 3A C9 */ bl concatMagneBootMtx__9daAlink_cFv -/* 800DE938 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800DE93C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800DE940 A8 9D 05 9C */ lha r4, 0x59c(r29) -/* 800DE944 7F 85 E3 78 */ mr r5, r28 -/* 800DE948 38 C0 00 00 */ li r6, 0 -/* 800DE94C 4B F2 D9 55 */ bl mDoMtx_ZXYrotM__FPA4_fsss -/* 800DE950 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800DE954 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800DE958 3C 80 80 39 */ lis r4, localPos@ha /* 0x803918C4@ha */ -/* 800DE95C 38 84 18 C4 */ addi r4, r4, localPos@l /* 0x803918C4@l */ -/* 800DE960 38 BD 37 E0 */ addi r5, r29, 0x37e0 -/* 800DE964 48 26 84 09 */ bl PSMTXMultVec -/* 800DE968 A8 1D 05 9C */ lha r0, 0x59c(r29) -/* 800DE96C B0 1E 00 00 */ sth r0, 0(r30) -/* 800DE970 B3 9F 00 00 */ sth r28, 0(r31) -/* 800DE974 38 7D 37 E0 */ addi r3, r29, 0x37e0 -lbl_800DE978: -/* 800DE978 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DE97C 48 28 38 A9 */ bl _restgpr_28 -/* 800DE980 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DE984 7C 08 03 A6 */ mtlr r0 -/* 800DE988 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DE98C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s deleted file mode 100644 index 60cd8062c2..0000000000 --- a/asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800DFBC8: -/* 800DFBC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DFBCC 7C 08 02 A6 */ mflr r0 -/* 800DFBD0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DFBD4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFBD8 3B E0 00 00 */ li r31, 0 -/* 800DFBDC 7F E0 FB 78 */ mr r0, r31 -/* 800DFBE0 88 83 2F AA */ lbz r4, 0x2faa(r3) -/* 800DFBE4 28 04 00 01 */ cmplwi r4, 1 -/* 800DFBE8 41 82 00 0C */ beq lbl_800DFBF4 -/* 800DFBEC 28 04 00 02 */ cmplwi r4, 2 -/* 800DFBF0 40 82 00 08 */ bne lbl_800DFBF8 -lbl_800DFBF4: -/* 800DFBF4 38 00 00 01 */ li r0, 1 -lbl_800DFBF8: -/* 800DFBF8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 800DFBFC 41 82 00 14 */ beq lbl_800DFC10 -/* 800DFC00 4B FF ED E9 */ bl checkBowAnime__9daAlink_cCFv -/* 800DFC04 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFC08 40 82 00 08 */ bne lbl_800DFC10 -/* 800DFC0C 3B E0 00 01 */ li r31, 1 -lbl_800DFC10: -/* 800DFC10 7F E3 FB 78 */ mr r3, r31 -/* 800DFC14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFC18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DFC1C 7C 08 03 A6 */ mtlr r0 -/* 800DFC20 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DFC24 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkBowReadyAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkBowReadyAnime__9daAlink_cCFv.s deleted file mode 100644 index 3297effda1..0000000000 --- a/asm/d/a/d_a_alink/checkBowReadyAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800DE9B8: -/* 800DE9B8 38 80 00 00 */ li r4, 0 -/* 800DE9BC A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800DE9C0 28 00 00 09 */ cmplwi r0, 9 -/* 800DE9C4 41 82 00 18 */ beq lbl_800DE9DC -/* 800DE9C8 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800DE9CC 28 00 00 0A */ cmplwi r0, 0xa -/* 800DE9D0 41 82 00 0C */ beq lbl_800DE9DC -/* 800DE9D4 28 00 00 0D */ cmplwi r0, 0xd -/* 800DE9D8 40 82 00 08 */ bne lbl_800DE9E0 -lbl_800DE9DC: -/* 800DE9DC 38 80 00 01 */ li r4, 1 -lbl_800DE9E0: -/* 800DE9E0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800DE9E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCanoeFishingRodGrabOrPut__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkCanoeFishingRodGrabOrPut__9daAlink_cCFv.s deleted file mode 100644 index f455259bde..0000000000 --- a/asm/d/a/d_a_alink/checkCanoeFishingRodGrabOrPut__9daAlink_cCFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_800F3F38: -/* 800F3F38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F3F3C 7C 08 02 A6 */ mflr r0 -/* 800F3F40 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F3F44 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F3F48 93 C1 00 08 */ stw r30, 8(r1) -/* 800F3F4C 7C 7E 1B 78 */ mr r30, r3 -/* 800F3F50 3B E0 00 00 */ li r31, 0 -/* 800F3F54 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800F3F58 28 00 01 05 */ cmplwi r0, 0x105 -/* 800F3F5C 40 82 00 4C */ bne lbl_800F3FA8 -/* 800F3F60 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800F3F64 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800F3F68 7D 89 03 A6 */ mtctr r12 -/* 800F3F6C 4E 80 04 21 */ bctrl -/* 800F3F70 28 03 00 00 */ cmplwi r3, 0 -/* 800F3F74 41 82 00 34 */ beq lbl_800F3FA8 -/* 800F3F78 7F C3 F3 78 */ mr r3, r30 -/* 800F3F7C 4B FC 53 C5 */ bl checkEquipAnime__9daAlink_cCFv -/* 800F3F80 2C 03 00 00 */ cmpwi r3, 0 -/* 800F3F84 40 82 00 20 */ bne lbl_800F3FA4 -/* 800F3F88 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800F3F8C 28 00 00 92 */ cmplwi r0, 0x92 -/* 800F3F90 41 82 00 14 */ beq lbl_800F3FA4 -/* 800F3F94 28 00 00 93 */ cmplwi r0, 0x93 -/* 800F3F98 41 82 00 0C */ beq lbl_800F3FA4 -/* 800F3F9C 28 00 00 94 */ cmplwi r0, 0x94 -/* 800F3FA0 40 82 00 08 */ bne lbl_800F3FA8 -lbl_800F3FA4: -/* 800F3FA4 3B E0 00 01 */ li r31, 1 -lbl_800F3FA8: -/* 800F3FA8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800F3FAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F3FB0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800F3FB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F3FB8 7C 08 03 A6 */ mtlr r0 -/* 800F3FBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F3FC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s deleted file mode 100644 index a41076dca7..0000000000 --- a/asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_800F4008: -/* 800F4008 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F400C 7C 08 02 A6 */ mflr r0 -/* 800F4010 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F4014 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F4018 93 C1 00 08 */ stw r30, 8(r1) -/* 800F401C 7C 7E 1B 78 */ mr r30, r3 -/* 800F4020 3B E0 00 00 */ li r31, 0 -/* 800F4024 38 7E 08 50 */ addi r3, r30, 0x850 -/* 800F4028 4B F9 06 31 */ bl ChkCoHit__12dCcD_GObjInfFv -/* 800F402C 28 03 00 00 */ cmplwi r3, 0 -/* 800F4030 41 82 00 14 */ beq lbl_800F4044 -/* 800F4034 38 7E 09 38 */ addi r3, r30, 0x938 -/* 800F4038 4B F8 F6 51 */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 800F403C 7C 7F 1B 78 */ mr r31, r3 -/* 800F4040 48 00 00 20 */ b lbl_800F4060 -lbl_800F4044: -/* 800F4044 38 7E 09 8C */ addi r3, r30, 0x98c -/* 800F4048 4B F9 06 11 */ bl ChkCoHit__12dCcD_GObjInfFv -/* 800F404C 28 03 00 00 */ cmplwi r3, 0 -/* 800F4050 41 82 00 10 */ beq lbl_800F4060 -/* 800F4054 38 7E 0A 74 */ addi r3, r30, 0xa74 -/* 800F4058 4B F8 F6 31 */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 800F405C 7C 7F 1B 78 */ mr r31, r3 -lbl_800F4060: -/* 800F4060 C0 3E 04 FC */ lfs f1, 0x4fc(r30) -/* 800F4064 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800F4068 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800F406C 40 80 00 5C */ bge lbl_800F40C8 -/* 800F4070 28 1F 00 00 */ cmplwi r31, 0 -/* 800F4074 41 82 00 54 */ beq lbl_800F40C8 -/* 800F4078 A8 1F 00 08 */ lha r0, 8(r31) -/* 800F407C 2C 00 00 ED */ cmpwi r0, 0xed -/* 800F4080 40 82 00 48 */ bne lbl_800F40C8 -/* 800F4084 88 1F 14 43 */ lbz r0, 0x1443(r31) -/* 800F4088 28 00 00 00 */ cmplwi r0, 0 -/* 800F408C 41 82 00 3C */ beq lbl_800F40C8 -/* 800F4090 7F C3 F3 78 */ mr r3, r30 -/* 800F4094 48 02 4C 05 */ bl checkDeadHP__9daAlink_cFv -/* 800F4098 2C 03 00 00 */ cmpwi r3, 0 -/* 800F409C 40 82 00 2C */ bne lbl_800F40C8 -/* 800F40A0 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800F40A4 28 00 00 18 */ cmplwi r0, 0x18 -/* 800F40A8 40 82 00 10 */ bne lbl_800F40B8 -/* 800F40AC A8 1E 30 10 */ lha r0, 0x3010(r30) -/* 800F40B0 2C 00 00 00 */ cmpwi r0, 0 -/* 800F40B4 41 82 00 14 */ beq lbl_800F40C8 -lbl_800F40B8: -/* 800F40B8 7F C3 F3 78 */ mr r3, r30 -/* 800F40BC 7F E4 FB 78 */ mr r4, r31 -/* 800F40C0 48 00 0B B9 */ bl procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c -/* 800F40C4 48 00 00 08 */ b lbl_800F40CC -lbl_800F40C8: -/* 800F40C8 38 60 00 00 */ li r3, 0 -lbl_800F40CC: -/* 800F40CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F40D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800F40D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F40D8 7C 08 03 A6 */ mtlr r0 -/* 800F40DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F40E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s deleted file mode 100644 index 3b487296bf..0000000000 --- a/asm/d/a/d_a_alink/checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_800F3EB8: -/* 800F3EB8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800F3EBC 7C 08 02 A6 */ mflr r0 -/* 800F3EC0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800F3EC4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F3EC8 48 26 E3 11 */ bl _savegpr_28 -/* 800F3ECC 7C 7C 1B 78 */ mr r28, r3 -/* 800F3ED0 7C 9D 23 78 */ mr r29, r4 -/* 800F3ED4 3B C0 00 00 */ li r30, 0 -/* 800F3ED8 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800F3EDC 28 00 01 0B */ cmplwi r0, 0x10b -/* 800F3EE0 40 82 00 3C */ bne lbl_800F3F1C -/* 800F3EE4 7F DF F3 78 */ mr r31, r30 -/* 800F3EE8 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800F3EEC 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800F3EF0 7D 89 03 A6 */ mtctr r12 -/* 800F3EF4 4E 80 04 21 */ bctrl -/* 800F3EF8 28 03 00 00 */ cmplwi r3, 0 -/* 800F3EFC 41 82 00 14 */ beq lbl_800F3F10 -/* 800F3F00 80 1C 28 18 */ lwz r0, 0x2818(r28) -/* 800F3F04 7C 00 E8 40 */ cmplw r0, r29 -/* 800F3F08 40 82 00 08 */ bne lbl_800F3F10 -/* 800F3F0C 3B E0 00 01 */ li r31, 1 -lbl_800F3F10: -/* 800F3F10 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800F3F14 41 82 00 08 */ beq lbl_800F3F1C -/* 800F3F18 3B C0 00 01 */ li r30, 1 -lbl_800F3F1C: -/* 800F3F1C 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800F3F20 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F3F24 48 26 E3 01 */ bl _restgpr_28 -/* 800F3F28 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800F3F2C 7C 08 03 A6 */ mtlr r0 -/* 800F3F30 38 21 00 20 */ addi r1, r1, 0x20 -/* 800F3F34 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCanoeRideTandem__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCanoeRideTandem__9daAlink_cFv.s deleted file mode 100644 index 59fae3341c..0000000000 --- a/asm/d/a/d_a_alink/checkCanoeRideTandem__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800F3CF8: -/* 800F3CF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F3CFC 7C 08 02 A6 */ mflr r0 -/* 800F3D00 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F3D04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F3D08 83 E3 28 18 */ lwz r31, 0x2818(r3) -/* 800F3D0C 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800F3D10 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800F3D14 7D 89 03 A6 */ mtctr r12 -/* 800F3D18 4E 80 04 21 */ bctrl -/* 800F3D1C 28 03 00 00 */ cmplwi r3, 0 -/* 800F3D20 41 82 00 20 */ beq lbl_800F3D40 -/* 800F3D24 28 1F 00 00 */ cmplwi r31, 0 -/* 800F3D28 41 82 00 18 */ beq lbl_800F3D40 -/* 800F3D2C 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 800F3D30 28 00 00 02 */ cmplwi r0, 2 -/* 800F3D34 40 82 00 0C */ bne lbl_800F3D40 -/* 800F3D38 38 60 00 01 */ li r3, 1 -/* 800F3D3C 48 00 00 08 */ b lbl_800F3D44 -lbl_800F3D40: -/* 800F3D40 38 60 00 00 */ li r3, 0 -lbl_800F3D44: -/* 800F3D44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F3D48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F3D4C 7C 08 03 A6 */ mtlr r0 -/* 800F3D50 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F3D54 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCaughtEscapeCutTurn__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCaughtEscapeCutTurn__9daAlink_cFv.s deleted file mode 100644 index 1c351316d5..0000000000 --- a/asm/d/a/d_a_alink/checkCaughtEscapeCutTurn__9daAlink_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_800D70A0: -/* 800D70A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D70A4 7C 08 02 A6 */ mflr r0 -/* 800D70A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D70AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D70B0 7C 7F 1B 78 */ mr r31, r3 -/* 800D70B4 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 800D70B8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800D70BC 41 82 00 8C */ beq lbl_800D7148 -/* 800D70C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D70C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D70C8 88 03 00 14 */ lbz r0, 0x14(r3) -/* 800D70CC 28 00 00 FF */ cmplwi r0, 0xff -/* 800D70D0 40 82 00 10 */ bne lbl_800D70E0 -/* 800D70D4 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800D70D8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D70DC 41 82 00 6C */ beq lbl_800D7148 -lbl_800D70E0: -/* 800D70E0 7F E3 FB 78 */ mr r3, r31 -/* 800D70E4 4B FF B2 85 */ bl checkCutTurnInputTrigger__9daAlink_cFv -/* 800D70E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D70EC 41 82 00 5C */ beq lbl_800D7148 -/* 800D70F0 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800D70F4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D70F8 41 82 00 18 */ beq lbl_800D7110 -/* 800D70FC 7F E3 FB 78 */ mr r3, r31 -/* 800D7100 38 80 00 02 */ li r4, 2 -/* 800D7104 38 A0 00 00 */ li r5, 0 -/* 800D7108 48 06 41 99 */ bl procWolfRollAttackInit__9daAlink_cFii -/* 800D710C 48 00 00 40 */ b lbl_800D714C -lbl_800D7110: -/* 800D7110 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800D7114 28 00 01 03 */ cmplwi r0, 0x103 -/* 800D7118 41 82 00 1C */ beq lbl_800D7134 -/* 800D711C 7F E3 FB 78 */ mr r3, r31 -/* 800D7120 38 80 00 00 */ li r4, 0 -/* 800D7124 38 A0 00 00 */ li r5, 0 -/* 800D7128 4B FE A1 B5 */ bl deleteEquipItem__9daAlink_cFii -/* 800D712C 7F E3 FB 78 */ mr r3, r31 -/* 800D7130 4B FF A1 39 */ bl setSwordModel__9daAlink_cFv -lbl_800D7134: -/* 800D7134 7F E3 FB 78 */ mr r3, r31 -/* 800D7138 38 80 00 01 */ li r4, 1 -/* 800D713C 38 A0 00 02 */ li r5, 2 -/* 800D7140 4B FF D6 9D */ bl procCutTurnInit__9daAlink_cFii -/* 800D7144 48 00 00 08 */ b lbl_800D714C -lbl_800D7148: -/* 800D7148 38 60 00 00 */ li r3, 0 -lbl_800D714C: -/* 800D714C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D7150 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D7154 7C 08 03 A6 */ mtlr r0 -/* 800D7158 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D715C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCoachGuardGame__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCoachGuardGame__9daAlink_cFv.s deleted file mode 100644 index b56d8a774b..0000000000 --- a/asm/d/a/d_a_alink/checkCoachGuardGame__9daAlink_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800BE26C: -/* 800BE26C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BE270 7C 08 02 A6 */ mflr r0 -/* 800BE274 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BE278 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BE27C 3B E0 00 00 */ li r31, 0 -/* 800BE280 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800BE284 54 00 01 D1 */ rlwinm. r0, r0, 0, 7, 8 -/* 800BE288 40 82 00 20 */ bne lbl_800BE2A8 -/* 800BE28C 3C 60 80 0F */ lis r3, daAlink_searchCoach__FP10fopAc_ac_cPv@ha /* 0x800EC758@ha */ -/* 800BE290 38 63 C7 58 */ addi r3, r3, daAlink_searchCoach__FP10fopAc_ac_cPv@l /* 0x800EC758@l */ -/* 800BE294 38 80 00 00 */ li r4, 0 -/* 800BE298 4B F5 B5 61 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800BE29C 28 03 00 00 */ cmplwi r3, 0 -/* 800BE2A0 41 82 00 08 */ beq lbl_800BE2A8 -/* 800BE2A4 3B E0 00 01 */ li r31, 1 -lbl_800BE2A8: -/* 800BE2A8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800BE2AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BE2B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BE2B4 7C 08 03 A6 */ mtlr r0 -/* 800BE2B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BE2BC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s deleted file mode 100644 index d0c308c6e5..0000000000 --- a/asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800D1454: -/* 800D1454 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D1458 7C 08 02 A6 */ mflr r0 -/* 800D145C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D1460 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D1464 48 29 0D 79 */ bl _savegpr_29 -/* 800D1468 7C 7D 1B 78 */ mr r29, r3 -/* 800D146C A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800D1470 28 00 01 03 */ cmplwi r0, 0x103 -/* 800D1474 40 82 00 7C */ bne lbl_800D14F0 -/* 800D1478 88 1D 05 69 */ lbz r0, 0x569(r29) -/* 800D147C 28 00 00 02 */ cmplwi r0, 2 -/* 800D1480 40 82 00 70 */ bne lbl_800D14F0 -/* 800D1484 83 FD 27 E0 */ lwz r31, 0x27e0(r29) -/* 800D1488 3B C0 00 01 */ li r30, 1 -/* 800D148C 7F E3 FB 78 */ mr r3, r31 -/* 800D1490 4B FA 23 55 */ bl LockonTruth__12dAttention_cFv -/* 800D1494 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D1498 40 82 00 14 */ bne lbl_800D14AC -/* 800D149C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800D14A0 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800D14A4 40 82 00 08 */ bne lbl_800D14AC -/* 800D14A8 3B C0 00 00 */ li r30, 0 -lbl_800D14AC: -/* 800D14AC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800D14B0 41 82 00 40 */ beq lbl_800D14F0 -/* 800D14B4 38 7D 12 2C */ addi r3, r29, 0x122c -/* 800D14B8 4B FB 2E 09 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 800D14BC 28 03 00 00 */ cmplwi r3, 0 -/* 800D14C0 40 82 00 24 */ bne lbl_800D14E4 -/* 800D14C4 38 7D 13 70 */ addi r3, r29, 0x1370 -/* 800D14C8 4B FB 2D F9 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 800D14CC 28 03 00 00 */ cmplwi r3, 0 -/* 800D14D0 40 82 00 14 */ bne lbl_800D14E4 -/* 800D14D4 38 7D 14 B4 */ addi r3, r29, 0x14b4 -/* 800D14D8 4B FB 2D E9 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 800D14DC 28 03 00 00 */ cmplwi r3, 0 -/* 800D14E0 41 82 00 10 */ beq lbl_800D14F0 -lbl_800D14E4: -/* 800D14E4 80 1D 05 70 */ lwz r0, 0x570(r29) -/* 800D14E8 60 00 80 00 */ ori r0, r0, 0x8000 -/* 800D14EC 90 1D 05 70 */ stw r0, 0x570(r29) -lbl_800D14F0: -/* 800D14F0 A8 7D 30 7E */ lha r3, 0x307e(r29) -/* 800D14F4 2C 03 00 00 */ cmpwi r3, 0 -/* 800D14F8 40 81 00 10 */ ble lbl_800D1508 -/* 800D14FC 38 03 FF FF */ addi r0, r3, -1 -/* 800D1500 B0 1D 30 7E */ sth r0, 0x307e(r29) -/* 800D1504 48 00 00 10 */ b lbl_800D1514 -lbl_800D1508: -/* 800D1508 7F A3 EB 78 */ mr r3, r29 -/* 800D150C 38 80 00 01 */ li r4, 1 -/* 800D1510 4B FF FF 21 */ bl resetCombo__9daAlink_cFi -lbl_800D1514: -/* 800D1514 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D1518 48 29 0D 11 */ bl _restgpr_29 -/* 800D151C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D1520 7C 08 03 A6 */ mtlr r0 -/* 800D1524 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D1528 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCopyRodAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkCopyRodAnime__9daAlink_cCFv.s deleted file mode 100644 index 93a8560daa..0000000000 --- a/asm/d/a/d_a_alink/checkCopyRodAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800E1530: -/* 800E1530 38 A0 00 00 */ li r5, 0 -/* 800E1534 7C A4 2B 78 */ mr r4, r5 -/* 800E1538 A0 C3 2F DC */ lhz r6, 0x2fdc(r3) -/* 800E153C 28 06 00 46 */ cmplwi r6, 0x46 -/* 800E1540 40 82 00 14 */ bne lbl_800E1554 -/* 800E1544 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E1548 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E154C 40 82 00 08 */ bne lbl_800E1554 -/* 800E1550 38 80 00 01 */ li r4, 1 -lbl_800E1554: -/* 800E1554 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 800E1558 40 82 00 28 */ bne lbl_800E1580 -/* 800E155C 38 80 00 00 */ li r4, 0 -/* 800E1560 28 06 00 46 */ cmplwi r6, 0x46 -/* 800E1564 40 82 00 14 */ bne lbl_800E1578 -/* 800E1568 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E156C 28 00 00 53 */ cmplwi r0, 0x53 -/* 800E1570 40 82 00 08 */ bne lbl_800E1578 -/* 800E1574 38 80 00 01 */ li r4, 1 -lbl_800E1578: -/* 800E1578 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 800E157C 41 82 00 08 */ beq lbl_800E1584 -lbl_800E1580: -/* 800E1580 38 A0 00 01 */ li r5, 1 -lbl_800E1584: -/* 800E1584 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 800E1588 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s deleted file mode 100644 index f4d3472a9d..0000000000 --- a/asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_800E145C: -/* 800E145C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E1460 7C 08 02 A6 */ mflr r0 -/* 800E1464 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E1468 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E146C 48 28 0D 6D */ bl _savegpr_28 -/* 800E1470 7C 7C 1B 78 */ mr r28, r3 -/* 800E1474 3B E0 00 01 */ li r31, 1 -/* 800E1478 7F FE FB 78 */ mr r30, r31 -/* 800E147C 3B A0 00 00 */ li r29, 0 -/* 800E1480 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E1484 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E1488 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800E148C 38 80 25 80 */ li r4, 0x2580 -/* 800E1490 4B F5 35 2D */ bl isEventBit__11dSv_event_cCFUs -/* 800E1494 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1498 41 82 00 30 */ beq lbl_800E14C8 -/* 800E149C 38 60 00 00 */ li r3, 0 -/* 800E14A0 A0 1C 2F E8 */ lhz r0, 0x2fe8(r28) -/* 800E14A4 28 00 01 47 */ cmplwi r0, 0x147 -/* 800E14A8 40 82 00 14 */ bne lbl_800E14BC -/* 800E14AC A8 1C 30 0E */ lha r0, 0x300e(r28) -/* 800E14B0 2C 00 00 00 */ cmpwi r0, 0 -/* 800E14B4 41 82 00 08 */ beq lbl_800E14BC -/* 800E14B8 38 60 00 01 */ li r3, 1 -lbl_800E14BC: -/* 800E14BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E14C0 40 82 00 08 */ bne lbl_800E14C8 -/* 800E14C4 3B A0 00 01 */ li r29, 1 -lbl_800E14C8: -/* 800E14C8 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800E14CC 40 82 00 30 */ bne lbl_800E14FC -/* 800E14D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E14D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E14D8 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800E14DC 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800E14E0 7D 89 03 A6 */ mtctr r12 -/* 800E14E4 4E 80 04 21 */ bctrl -/* 800E14E8 88 03 00 09 */ lbz r0, 9(r3) -/* 800E14EC 54 00 FE FE */ rlwinm r0, r0, 0x1f, 0x1b, 0x1f -/* 800E14F0 2C 00 00 15 */ cmpwi r0, 0x15 -/* 800E14F4 41 82 00 08 */ beq lbl_800E14FC -/* 800E14F8 3B C0 00 00 */ li r30, 0 -lbl_800E14FC: -/* 800E14FC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800E1500 40 82 00 14 */ bne lbl_800E1514 -/* 800E1504 4B FF FF 05 */ bl checkForestOldCentury__9daAlink_cFv -/* 800E1508 2C 03 00 00 */ cmpwi r3, 0 -/* 800E150C 40 82 00 08 */ bne lbl_800E1514 -/* 800E1510 3B E0 00 00 */ li r31, 0 -lbl_800E1514: -/* 800E1514 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800E1518 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E151C 48 28 0D 09 */ bl _restgpr_28 -/* 800E1520 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E1524 7C 08 03 A6 */ mtlr r0 -/* 800E1528 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E152C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCowGame__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCowGame__9daAlink_cFv.s deleted file mode 100644 index ebd85cef6c..0000000000 --- a/asm/d/a/d_a_alink/checkCowGame__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800EC814: -/* 800EC814 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EC818 7C 08 02 A6 */ mflr r0 -/* 800EC81C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EC820 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EC824 3B E0 00 00 */ li r31, 0 -/* 800EC828 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800EC82C 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800EC830 38 63 00 77 */ addi r3, r3, 0x77 -/* 800EC834 4B FB 12 2D */ bl checkStageName__9daAlink_cFPCc -/* 800EC838 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800EC83C 41 82 00 28 */ beq lbl_800EC864 -/* 800EC840 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800EC844 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800EC848 88 03 4E 0B */ lbz r0, 0x4e0b(r3) -/* 800EC84C 7C 00 07 74 */ extsb r0, r0 -/* 800EC850 2C 00 00 04 */ cmpwi r0, 4 -/* 800EC854 41 82 00 0C */ beq lbl_800EC860 -/* 800EC858 2C 00 00 05 */ cmpwi r0, 5 -/* 800EC85C 40 82 00 08 */ bne lbl_800EC864 -lbl_800EC860: -/* 800EC860 3B E0 00 01 */ li r31, 1 -lbl_800EC864: -/* 800EC864 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800EC868 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EC86C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EC870 7C 08 03 A6 */ mtlr r0 -/* 800EC874 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EC878 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCutAction__9daAlink_cFv.s deleted file mode 100644 index 7199caa394..0000000000 --- a/asm/d/a/d_a_alink/checkCutAction__9daAlink_cFv.s +++ /dev/null @@ -1,199 +0,0 @@ -lbl_800D23C0: -/* 800D23C0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D23C4 7C 08 02 A6 */ mflr r0 -/* 800D23C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D23CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D23D0 48 28 FE 05 */ bl _savegpr_27 -/* 800D23D4 7C 7D 1B 78 */ mr r29, r3 -/* 800D23D8 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 800D23DC 3B C4 D6 58 */ addi r30, r4, lit_3757@l /* 0x8038D658@l */ -/* 800D23E0 4B FF FD F1 */ bl commonCutAction__9daAlink_cFv -/* 800D23E4 2C 03 00 00 */ cmpwi r3, 0 -/* 800D23E8 41 82 00 0C */ beq lbl_800D23F4 -/* 800D23EC 38 60 00 01 */ li r3, 1 -/* 800D23F0 48 00 02 7C */ b lbl_800D266C -lbl_800D23F4: -/* 800D23F4 7F A3 EB 78 */ mr r3, r29 -/* 800D23F8 48 00 02 F5 */ bl getCutDirection__9daAlink_cFv -/* 800D23FC 7C 7F 1B 78 */ mr r31, r3 -/* 800D2400 88 1D 05 69 */ lbz r0, 0x569(r29) -/* 800D2404 28 00 00 04 */ cmplwi r0, 4 -/* 800D2408 40 82 00 D0 */ bne lbl_800D24D8 -/* 800D240C 80 7D 05 70 */ lwz r3, 0x570(r29) -/* 800D2410 54 60 01 CF */ rlwinm. r0, r3, 0, 7, 7 -/* 800D2414 41 82 00 44 */ beq lbl_800D2458 -/* 800D2418 C0 3D 33 AC */ lfs f1, 0x33ac(r29) -/* 800D241C C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800D2420 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D2424 40 81 00 24 */ ble lbl_800D2448 -/* 800D2428 2C 1F 00 00 */ cmpwi r31, 0 -/* 800D242C 41 82 00 0C */ beq lbl_800D2438 -/* 800D2430 2C 1F 00 01 */ cmpwi r31, 1 -/* 800D2434 40 82 00 14 */ bne lbl_800D2448 -lbl_800D2438: -/* 800D2438 7F A3 EB 78 */ mr r3, r29 -/* 800D243C 38 80 00 03 */ li r4, 3 -/* 800D2440 48 00 10 99 */ bl procCutFinishInit__9daAlink_cFi -/* 800D2444 48 00 02 24 */ b lbl_800D2668 -lbl_800D2448: -/* 800D2448 7F A3 EB 78 */ mr r3, r29 -/* 800D244C 38 80 00 04 */ li r4, 4 -/* 800D2450 48 00 10 89 */ bl procCutFinishInit__9daAlink_cFi -/* 800D2454 48 00 02 14 */ b lbl_800D2668 -lbl_800D2458: -/* 800D2458 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10 -/* 800D245C 41 82 00 1C */ beq lbl_800D2478 -/* 800D2460 7F A3 EB 78 */ mr r3, r29 -/* 800D2464 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D2468 38 9E 41 4C */ addi r4, r30, 0x414c -/* 800D246C 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D2470 48 00 10 69 */ bl procCutFinishInit__9daAlink_cFi -/* 800D2474 48 00 01 F4 */ b lbl_800D2668 -lbl_800D2478: -/* 800D2478 83 9D 27 E0 */ lwz r28, 0x27e0(r29) -/* 800D247C 3B 60 00 01 */ li r27, 1 -/* 800D2480 7F 83 E3 78 */ mr r3, r28 -/* 800D2484 4B FA 13 61 */ bl LockonTruth__12dAttention_cFv -/* 800D2488 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D248C 40 82 00 14 */ bne lbl_800D24A0 -/* 800D2490 80 1C 03 34 */ lwz r0, 0x334(r28) -/* 800D2494 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800D2498 40 82 00 08 */ bne lbl_800D24A0 -/* 800D249C 3B 60 00 00 */ li r27, 0 -lbl_800D24A0: -/* 800D24A0 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 800D24A4 41 82 00 1C */ beq lbl_800D24C0 -/* 800D24A8 7F A3 EB 78 */ mr r3, r29 -/* 800D24AC 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D24B0 38 9E 41 24 */ addi r4, r30, 0x4124 -/* 800D24B4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D24B8 48 00 10 21 */ bl procCutFinishInit__9daAlink_cFi -/* 800D24BC 48 00 01 AC */ b lbl_800D2668 -lbl_800D24C0: -/* 800D24C0 7F A3 EB 78 */ mr r3, r29 -/* 800D24C4 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D24C8 38 9E 41 9C */ addi r4, r30, 0x419c -/* 800D24CC 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D24D0 48 00 10 09 */ bl procCutFinishInit__9daAlink_cFi -/* 800D24D4 48 00 01 94 */ b lbl_800D2668 -lbl_800D24D8: -/* 800D24D8 28 00 00 03 */ cmplwi r0, 3 -/* 800D24DC 40 82 00 A8 */ bne lbl_800D2584 -/* 800D24E0 80 1D 05 70 */ lwz r0, 0x570(r29) -/* 800D24E4 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10 -/* 800D24E8 41 82 00 3C */ beq lbl_800D2524 -/* 800D24EC 2C 1F 00 00 */ cmpwi r31, 0 -/* 800D24F0 40 82 00 1C */ bne lbl_800D250C -/* 800D24F4 7F A3 EB 78 */ mr r3, r29 -/* 800D24F8 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D24FC 38 9E 41 38 */ addi r4, r30, 0x4138 -/* 800D2500 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D2504 48 00 0A 55 */ bl procCutNormalInit__9daAlink_cFi -/* 800D2508 48 00 01 60 */ b lbl_800D2668 -lbl_800D250C: -/* 800D250C 7F A3 EB 78 */ mr r3, r29 -/* 800D2510 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D2514 38 9E 41 38 */ addi r4, r30, 0x4138 -/* 800D2518 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D251C 48 00 0F BD */ bl procCutFinishInit__9daAlink_cFi -/* 800D2520 48 00 01 48 */ b lbl_800D2668 -lbl_800D2524: -/* 800D2524 83 9D 27 E0 */ lwz r28, 0x27e0(r29) -/* 800D2528 3B 60 00 01 */ li r27, 1 -/* 800D252C 7F 83 E3 78 */ mr r3, r28 -/* 800D2530 4B FA 12 B5 */ bl LockonTruth__12dAttention_cFv -/* 800D2534 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D2538 40 82 00 14 */ bne lbl_800D254C -/* 800D253C 80 1C 03 34 */ lwz r0, 0x334(r28) -/* 800D2540 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800D2544 40 82 00 08 */ bne lbl_800D254C -/* 800D2548 3B 60 00 00 */ li r27, 0 -lbl_800D254C: -/* 800D254C 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 800D2550 41 82 00 1C */ beq lbl_800D256C -/* 800D2554 7F A3 EB 78 */ mr r3, r29 -/* 800D2558 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D255C 38 9E 41 10 */ addi r4, r30, 0x4110 -/* 800D2560 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D2564 48 00 09 F5 */ bl procCutNormalInit__9daAlink_cFi -/* 800D2568 48 00 01 00 */ b lbl_800D2668 -lbl_800D256C: -/* 800D256C 7F A3 EB 78 */ mr r3, r29 -/* 800D2570 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D2574 38 9E 41 88 */ addi r4, r30, 0x4188 -/* 800D2578 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D257C 48 00 09 DD */ bl procCutNormalInit__9daAlink_cFi -/* 800D2580 48 00 00 E8 */ b lbl_800D2668 -lbl_800D2584: -/* 800D2584 A0 1D 2F E8 */ lhz r0, 0x2fe8(r29) -/* 800D2588 28 00 00 21 */ cmplwi r0, 0x21 -/* 800D258C 40 82 00 38 */ bne lbl_800D25C4 -/* 800D2590 A8 1D 30 0A */ lha r0, 0x300a(r29) -/* 800D2594 2C 00 00 04 */ cmpwi r0, 4 -/* 800D2598 41 82 00 2C */ beq lbl_800D25C4 -/* 800D259C 2C 00 00 02 */ cmpwi r0, 2 -/* 800D25A0 40 82 00 14 */ bne lbl_800D25B4 -/* 800D25A4 7F A3 EB 78 */ mr r3, r29 -/* 800D25A8 38 80 00 01 */ li r4, 1 -/* 800D25AC 48 00 09 AD */ bl procCutNormalInit__9daAlink_cFi -/* 800D25B0 48 00 00 B8 */ b lbl_800D2668 -lbl_800D25B4: -/* 800D25B4 7F A3 EB 78 */ mr r3, r29 -/* 800D25B8 38 80 00 02 */ li r4, 2 -/* 800D25BC 48 00 09 9D */ bl procCutNormalInit__9daAlink_cFi -/* 800D25C0 48 00 00 A8 */ b lbl_800D2668 -lbl_800D25C4: -/* 800D25C4 83 9D 27 E0 */ lwz r28, 0x27e0(r29) -/* 800D25C8 3B 60 00 01 */ li r27, 1 -/* 800D25CC 7F 83 E3 78 */ mr r3, r28 -/* 800D25D0 4B FA 12 15 */ bl LockonTruth__12dAttention_cFv -/* 800D25D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D25D8 40 82 00 14 */ bne lbl_800D25EC -/* 800D25DC 80 1C 03 34 */ lwz r0, 0x334(r28) -/* 800D25E0 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800D25E4 40 82 00 08 */ bne lbl_800D25EC -/* 800D25E8 3B 60 00 00 */ li r27, 0 -lbl_800D25EC: -/* 800D25EC 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 800D25F0 41 82 00 40 */ beq lbl_800D2630 -/* 800D25F4 88 1D 05 69 */ lbz r0, 0x569(r29) -/* 800D25F8 28 00 00 01 */ cmplwi r0, 1 -/* 800D25FC 40 82 00 1C */ bne lbl_800D2618 -/* 800D2600 7F A3 EB 78 */ mr r3, r29 -/* 800D2604 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D2608 38 9E 40 E8 */ addi r4, r30, 0x40e8 -/* 800D260C 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D2610 48 00 09 49 */ bl procCutNormalInit__9daAlink_cFi -/* 800D2614 48 00 00 54 */ b lbl_800D2668 -lbl_800D2618: -/* 800D2618 7F A3 EB 78 */ mr r3, r29 -/* 800D261C 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D2620 38 9E 40 FC */ addi r4, r30, 0x40fc -/* 800D2624 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D2628 48 00 09 31 */ bl procCutNormalInit__9daAlink_cFi -/* 800D262C 48 00 00 3C */ b lbl_800D2668 -lbl_800D2630: -/* 800D2630 88 1D 05 69 */ lbz r0, 0x569(r29) -/* 800D2634 28 00 00 01 */ cmplwi r0, 1 -/* 800D2638 40 82 00 1C */ bne lbl_800D2654 -/* 800D263C 7F A3 EB 78 */ mr r3, r29 -/* 800D2640 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D2644 38 9E 41 60 */ addi r4, r30, 0x4160 -/* 800D2648 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D264C 48 00 09 0D */ bl procCutNormalInit__9daAlink_cFi -/* 800D2650 48 00 00 18 */ b lbl_800D2668 -lbl_800D2654: -/* 800D2654 7F A3 EB 78 */ mr r3, r29 -/* 800D2658 57 E0 10 3A */ slwi r0, r31, 2 -/* 800D265C 38 9E 41 74 */ addi r4, r30, 0x4174 -/* 800D2660 7C 84 00 2E */ lwzx r4, r4, r0 -/* 800D2664 48 00 08 F5 */ bl procCutNormalInit__9daAlink_cFi -lbl_800D2668: -/* 800D2668 38 60 00 01 */ li r3, 1 -lbl_800D266C: -/* 800D266C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D2670 48 28 FB B1 */ bl _restgpr_27 -/* 800D2674 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D2678 7C 08 03 A6 */ mtlr r0 -/* 800D267C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D2680 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutAtnActorChange__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCutAtnActorChange__9daAlink_cFv.s deleted file mode 100644 index c7396e224f..0000000000 --- a/asm/d/a/d_a_alink/checkCutAtnActorChange__9daAlink_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_800D2C54: -/* 800D2C54 80 83 32 CC */ lwz r4, 0x32cc(r3) -/* 800D2C58 80 03 27 EC */ lwz r0, 0x27ec(r3) -/* 800D2C5C 7C 04 00 40 */ cmplw r4, r0 -/* 800D2C60 4D 82 00 20 */ beqlr -/* 800D2C64 38 00 00 00 */ li r0, 0 -/* 800D2C68 B0 03 30 10 */ sth r0, 0x3010(r3) -/* 800D2C6C 80 03 27 EC */ lwz r0, 0x27ec(r3) -/* 800D2C70 90 03 32 CC */ stw r0, 0x32cc(r3) -/* 800D2C74 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s deleted file mode 100644 index 6c8a64f375..0000000000 --- a/asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800D2890: -/* 800D2890 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D2894 7C 08 02 A6 */ mflr r0 -/* 800D2898 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D289C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D28A0 93 C1 00 08 */ stw r30, 8(r1) -/* 800D28A4 7C 7E 1B 78 */ mr r30, r3 -/* 800D28A8 3B E0 00 01 */ li r31, 1 -/* 800D28AC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D28B0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D28B4 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800D28B8 38 80 29 02 */ li r4, 0x2902 -/* 800D28BC 4B F6 21 01 */ bl isEventBit__11dSv_event_cCFUs -/* 800D28C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D28C4 40 82 00 14 */ bne lbl_800D28D8 -/* 800D28C8 80 1E 05 7C */ lwz r0, 0x57c(r30) -/* 800D28CC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800D28D0 40 82 00 08 */ bne lbl_800D28D8 -/* 800D28D4 3B E0 00 00 */ li r31, 0 -lbl_800D28D8: -/* 800D28D8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800D28DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D28E0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D28E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D28E8 7C 08 03 A6 */ mtlr r0 -/* 800D28EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D28F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutCancelNextMode__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkCutCancelNextMode__9daAlink_cFi.s deleted file mode 100644 index 078b9a8c10..0000000000 --- a/asm/d/a/d_a_alink/checkCutCancelNextMode__9daAlink_cFi.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_800D2760: -/* 800D2760 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D2764 7C 08 02 A6 */ mflr r0 -/* 800D2768 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D276C DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800D2770 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800D2774 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D2778 93 C1 00 08 */ stw r30, 8(r1) -/* 800D277C 7C 7E 1B 78 */ mr r30, r3 -/* 800D2780 C3 E3 33 98 */ lfs f31, 0x3398(r3) -/* 800D2784 8B E3 2F 98 */ lbz r31, 0x2f98(r3) -/* 800D2788 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D278C D0 03 33 98 */ stfs f0, 0x3398(r3) -/* 800D2790 98 83 2F 98 */ stb r4, 0x2f98(r3) -/* 800D2794 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800D2798 60 00 00 04 */ ori r0, r0, 4 -/* 800D279C 90 03 31 A0 */ stw r0, 0x31a0(r3) -/* 800D27A0 38 80 00 01 */ li r4, 1 -/* 800D27A4 4B FE 79 2D */ bl checkNextAction__9daAlink_cFi -/* 800D27A8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D27AC 41 82 00 0C */ beq lbl_800D27B8 -/* 800D27B0 38 60 00 01 */ li r3, 1 -/* 800D27B4 48 00 00 10 */ b lbl_800D27C4 -lbl_800D27B8: -/* 800D27B8 D3 FE 33 98 */ stfs f31, 0x3398(r30) -/* 800D27BC 9B FE 2F 98 */ stb r31, 0x2f98(r30) -/* 800D27C0 38 60 00 00 */ li r3, 0 -lbl_800D27C4: -/* 800D27C4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800D27C8 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800D27CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D27D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D27D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D27D8 7C 08 03 A6 */ mtlr r0 -/* 800D27DC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D27E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s deleted file mode 100644 index 61150f0a5a..0000000000 --- a/asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800D102C: -/* 800D102C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D1030 7C 08 02 A6 */ mflr r0 -/* 800D1034 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D1038 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D103C 7C 7F 1B 78 */ mr r31, r3 -/* 800D1040 48 00 18 51 */ bl checkCutBackState__9daAlink_cFv -/* 800D1044 2C 03 00 00 */ cmpwi r3, 0 -/* 800D1048 41 82 00 28 */ beq lbl_800D1070 -/* 800D104C 4B FE F5 49 */ bl checkNotBattleStage__9daAlink_cFv -/* 800D1050 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D1054 40 82 00 1C */ bne lbl_800D1070 -/* 800D1058 7F E3 FB 78 */ mr r3, r31 -/* 800D105C 4B FE 16 5D */ bl swordSwingTrigger__9daAlink_cFv -/* 800D1060 2C 03 00 00 */ cmpwi r3, 0 -/* 800D1064 41 82 00 0C */ beq lbl_800D1070 -/* 800D1068 38 60 00 01 */ li r3, 1 -/* 800D106C 48 00 00 08 */ b lbl_800D1074 -lbl_800D1070: -/* 800D1070 38 60 00 00 */ li r3, 0 -lbl_800D1074: -/* 800D1074 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D1078 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D107C 7C 08 03 A6 */ mtlr r0 -/* 800D1080 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D1084 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutHeadState__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCutHeadState__9daAlink_cFv.s deleted file mode 100644 index 7ba2a49591..0000000000 --- a/asm/d/a/d_a_alink/checkCutHeadState__9daAlink_cFv.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_800D28F4: -/* 800D28F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D28F8 7C 08 02 A6 */ mflr r0 -/* 800D28FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D2900 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D2904 48 28 F8 CD */ bl _savegpr_26 -/* 800D2908 7C 7A 1B 78 */ mr r26, r3 -/* 800D290C 83 63 27 EC */ lwz r27, 0x27ec(r3) -/* 800D2910 3B C0 00 00 */ li r30, 0 -/* 800D2914 7F DD F3 78 */ mr r29, r30 -/* 800D2918 7F DC F3 78 */ mr r28, r30 -/* 800D291C 7F DF F3 78 */ mr r31, r30 -/* 800D2920 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800D2924 81 8C 02 80 */ lwz r12, 0x280(r12) -/* 800D2928 7D 89 03 A6 */ mtctr r12 -/* 800D292C 4E 80 04 21 */ bctrl -/* 800D2930 2C 03 00 00 */ cmpwi r3, 0 -/* 800D2934 40 82 00 10 */ bne lbl_800D2944 -/* 800D2938 28 1B 00 00 */ cmplwi r27, 0 -/* 800D293C 41 82 00 08 */ beq lbl_800D2944 -/* 800D2940 3B E0 00 01 */ li r31, 1 -lbl_800D2944: -/* 800D2944 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800D2948 41 82 00 40 */ beq lbl_800D2988 -/* 800D294C 3B E0 00 01 */ li r31, 1 -/* 800D2950 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D2954 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D2958 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800D295C 38 80 29 01 */ li r4, 0x2901 -/* 800D2960 4B F6 20 5D */ bl isEventBit__11dSv_event_cCFUs -/* 800D2964 2C 03 00 00 */ cmpwi r3, 0 -/* 800D2968 40 82 00 14 */ bne lbl_800D297C -/* 800D296C 80 1A 05 7C */ lwz r0, 0x57c(r26) -/* 800D2970 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D2974 40 82 00 08 */ bne lbl_800D297C -/* 800D2978 3B E0 00 00 */ li r31, 0 -lbl_800D297C: -/* 800D297C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800D2980 41 82 00 08 */ beq lbl_800D2988 -/* 800D2984 3B 80 00 01 */ li r28, 1 -lbl_800D2988: -/* 800D2988 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 800D298C 41 82 00 14 */ beq lbl_800D29A0 -/* 800D2990 88 1B 04 96 */ lbz r0, 0x496(r27) -/* 800D2994 28 00 00 02 */ cmplwi r0, 2 -/* 800D2998 40 82 00 08 */ bne lbl_800D29A0 -/* 800D299C 3B A0 00 01 */ li r29, 1 -lbl_800D29A0: -/* 800D29A0 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800D29A4 41 82 00 14 */ beq lbl_800D29B8 -/* 800D29A8 A0 1B 05 8E */ lhz r0, 0x58e(r27) -/* 800D29AC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 800D29B0 41 82 00 08 */ beq lbl_800D29B8 -/* 800D29B4 3B C0 00 01 */ li r30, 1 -lbl_800D29B8: -/* 800D29B8 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800D29BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D29C0 48 28 F8 5D */ bl _restgpr_26 -/* 800D29C4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D29C8 7C 08 03 A6 */ mtlr r0 -/* 800D29CC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D29D0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutLandDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkCutLandDamage__9daAlink_cFv.s deleted file mode 100644 index 6a00ce80e7..0000000000 --- a/asm/d/a/d_a_alink/checkCutLandDamage__9daAlink_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_800D6FE0: -/* 800D6FE0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D6FE4 7C 08 02 A6 */ mflr r0 -/* 800D6FE8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D6FEC DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800D6FF0 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800D6FF4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D6FF8 7C 7F 1B 78 */ mr r31, r3 -/* 800D6FFC 48 03 EC 25 */ bl checkEventRun__9daAlink_cCFv -/* 800D7000 2C 03 00 00 */ cmpwi r3, 0 -/* 800D7004 40 82 00 80 */ bne lbl_800D7084 -/* 800D7008 C0 42 93 88 */ lfs f2, lit_8782(r2) -/* 800D700C C0 3F 33 C4 */ lfs f1, 0x33c4(r31) -/* 800D7010 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800D7014 EC 01 00 28 */ fsubs f0, f1, f0 -/* 800D7018 EF E2 00 32 */ fmuls f31, f2, f0 -/* 800D701C 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800D7020 38 63 E4 54 */ addi r3, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800D7024 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 800D7028 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800D702C 4C 41 13 82 */ cror 2, 1, 2 -/* 800D7030 40 82 00 54 */ bne lbl_800D7084 -/* 800D7034 7F E3 FB 78 */ mr r3, r31 -/* 800D7038 4B FF FE F5 */ bl checkNoLandDamageSlidePolygon__9daAlink_cFv -/* 800D703C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D7040 40 82 00 44 */ bne lbl_800D7084 -/* 800D7044 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800D7048 38 63 E4 54 */ addi r3, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800D704C C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D7050 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800D7054 4C 41 13 82 */ cror 2, 1, 2 -/* 800D7058 40 82 00 14 */ bne lbl_800D706C -/* 800D705C 7F E3 FB 78 */ mr r3, r31 -/* 800D7060 38 80 00 08 */ li r4, 8 -/* 800D7064 48 00 04 41 */ bl setLandDamagePoint__9daAlink_cFi -/* 800D7068 48 00 00 10 */ b lbl_800D7078 -lbl_800D706C: -/* 800D706C 7F E3 FB 78 */ mr r3, r31 -/* 800D7070 38 80 00 04 */ li r4, 4 -/* 800D7074 48 00 04 31 */ bl setLandDamagePoint__9daAlink_cFi -lbl_800D7078: -/* 800D7078 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800D707C 60 00 00 08 */ ori r0, r0, 8 -/* 800D7080 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800D7084: -/* 800D7084 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800D7088 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800D708C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D7090 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D7094 7C 08 03 A6 */ mtlr r0 -/* 800D7098 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D709C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutLargeTurnState__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkCutLargeTurnState__9daAlink_cCFv.s deleted file mode 100644 index e58e230e70..0000000000 --- a/asm/d/a/d_a_alink/checkCutLargeTurnState__9daAlink_cCFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_800D2ABC: -/* 800D2ABC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D2AC0 7C 08 02 A6 */ mflr r0 -/* 800D2AC4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D2AC8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D2ACC 48 28 F7 0D */ bl _savegpr_28 -/* 800D2AD0 7C 7C 1B 78 */ mr r28, r3 -/* 800D2AD4 3B C0 00 01 */ li r30, 1 -/* 800D2AD8 3B A0 00 00 */ li r29, 0 -/* 800D2ADC 7F DF F3 78 */ mr r31, r30 -/* 800D2AE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D2AE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D2AE8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800D2AEC 38 80 2A 20 */ li r4, 0x2a20 -/* 800D2AF0 4B F6 1E CD */ bl isEventBit__11dSv_event_cCFUs -/* 800D2AF4 2C 03 00 00 */ cmpwi r3, 0 -/* 800D2AF8 40 82 00 14 */ bne lbl_800D2B0C -/* 800D2AFC 80 1C 05 7C */ lwz r0, 0x57c(r28) -/* 800D2B00 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 800D2B04 40 82 00 08 */ bne lbl_800D2B0C -/* 800D2B08 3B E0 00 00 */ li r31, 0 -lbl_800D2B0C: -/* 800D2B0C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800D2B10 41 82 00 28 */ beq lbl_800D2B38 -/* 800D2B14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D2B18 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D2B1C A3 E3 00 02 */ lhz r31, 2(r3) -/* 800D2B20 4B F5 B1 89 */ bl dComIfGs_getMaxLifeGauge__Fv -/* 800D2B24 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 800D2B28 57 E0 04 3E */ clrlwi r0, r31, 0x10 -/* 800D2B2C 7C 00 18 40 */ cmplw r0, r3 -/* 800D2B30 40 82 00 08 */ bne lbl_800D2B38 -/* 800D2B34 3B A0 00 01 */ li r29, 1 -lbl_800D2B38: -/* 800D2B38 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800D2B3C 40 82 00 30 */ bne lbl_800D2B6C -/* 800D2B40 38 60 00 00 */ li r3, 0 -/* 800D2B44 80 1C 06 14 */ lwz r0, 0x614(r28) -/* 800D2B48 28 00 00 24 */ cmplwi r0, 0x24 -/* 800D2B4C 40 82 00 14 */ bne lbl_800D2B60 -/* 800D2B50 80 1C 06 0C */ lwz r0, 0x60c(r28) -/* 800D2B54 2C 00 00 33 */ cmpwi r0, 0x33 -/* 800D2B58 40 82 00 08 */ bne lbl_800D2B60 -/* 800D2B5C 38 60 00 01 */ li r3, 1 -lbl_800D2B60: -/* 800D2B60 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D2B64 40 82 00 08 */ bne lbl_800D2B6C -/* 800D2B68 3B C0 00 00 */ li r30, 0 -lbl_800D2B6C: -/* 800D2B6C 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800D2B70 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D2B74 48 28 F6 B1 */ bl _restgpr_28 -/* 800D2B78 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D2B7C 7C 08 03 A6 */ mtlr r0 -/* 800D2B80 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D2B84 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s deleted file mode 100644 index ec5b2a4c6f..0000000000 --- a/asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_800D13E4: -/* 800D13E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D13E8 7C 08 02 A6 */ mflr r0 -/* 800D13EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D13F0 80 63 31 80 */ lwz r3, 0x3180(r3) -/* 800D13F4 48 29 3C DD */ bl abs -/* 800D13F8 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000F800@ha */ -/* 800D13FC 38 04 F8 00 */ addi r0, r4, 0xF800 /* 0x0000F800@l */ -/* 800D1400 7C 60 02 78 */ xor r0, r3, r0 -/* 800D1404 7C 04 0E 70 */ srawi r4, r0, 1 -/* 800D1408 7C 00 18 38 */ and r0, r0, r3 -/* 800D140C 7C 00 20 50 */ subf r0, r0, r4 -/* 800D1410 54 03 0F FE */ srwi r3, r0, 0x1f -/* 800D1414 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D1418 7C 08 03 A6 */ mtlr r0 -/* 800D141C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D1420 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkDemoMoveMode__9daAlink_cCFUl.s b/asm/d/a/d_a_alink/checkDemoMoveMode__9daAlink_cCFUl.s deleted file mode 100644 index bed1b9278b..0000000000 --- a/asm/d/a/d_a_alink/checkDemoMoveMode__9daAlink_cCFUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80116E60: -/* 80116E60 38 60 00 01 */ li r3, 1 -/* 80116E64 7C 66 1B 78 */ mr r6, r3 -/* 80116E68 38 04 FF FE */ addi r0, r4, -2 -/* 80116E6C 38 A0 FF FF */ li r5, -1 -/* 80116E70 7C 00 18 10 */ subfc r0, r0, r3 -/* 80116E74 7C 05 01 90 */ subfze r0, r5 -/* 80116E78 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80116E7C 40 82 00 08 */ bne lbl_80116E84 -/* 80116E80 38 C0 00 00 */ li r6, 0 -lbl_80116E84: -/* 80116E84 54 C0 06 3F */ clrlwi. r0, r6, 0x18 -/* 80116E88 4C 82 00 20 */ bnelr -/* 80116E8C 28 04 00 26 */ cmplwi r4, 0x26 -/* 80116E90 4D 82 00 20 */ beqlr -/* 80116E94 38 60 00 00 */ li r3, 0 -/* 80116E98 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkDoCutAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkDoCutAction__9daAlink_cFv.s deleted file mode 100644 index 6bbafa1e1e..0000000000 --- a/asm/d/a/d_a_alink/checkDoCutAction__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800D27E4: -/* 800D27E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D27E8 7C 08 02 A6 */ mflr r0 -/* 800D27EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D27F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D27F4 7C 7F 1B 78 */ mr r31, r3 -/* 800D27F8 88 03 2F 8E */ lbz r0, 0x2f8e(r3) -/* 800D27FC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800D2800 41 82 00 38 */ beq lbl_800D2838 -/* 800D2804 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D2808 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D280C 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800D2810 38 80 2A 40 */ li r4, 0x2a40 -/* 800D2814 4B F6 21 A9 */ bl isEventBit__11dSv_event_cCFUs -/* 800D2818 2C 03 00 00 */ cmpwi r3, 0 -/* 800D281C 40 82 00 10 */ bne lbl_800D282C -/* 800D2820 80 1F 05 7C */ lwz r0, 0x57c(r31) -/* 800D2824 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 -/* 800D2828 41 82 00 10 */ beq lbl_800D2838 -lbl_800D282C: -/* 800D282C 7F E3 FB 78 */ mr r3, r31 -/* 800D2830 48 00 3A 09 */ bl procCutLargeJumpChargeInit__9daAlink_cFv -/* 800D2834 48 00 00 48 */ b lbl_800D287C -lbl_800D2838: -/* 800D2838 7F E3 FB 78 */ mr r3, r31 -/* 800D283C 48 00 01 99 */ bl checkDownAttackState__9daAlink_cFv -/* 800D2840 2C 03 00 00 */ cmpwi r3, 0 -/* 800D2844 41 82 00 10 */ beq lbl_800D2854 -/* 800D2848 7F E3 FB 78 */ mr r3, r31 -/* 800D284C 48 00 2B 7D */ bl procCutDownInit__9daAlink_cFv -/* 800D2850 48 00 00 2C */ b lbl_800D287C -lbl_800D2854: -/* 800D2854 7F E3 FB 78 */ mr r3, r31 -/* 800D2858 48 00 00 9D */ bl checkCutHeadState__9daAlink_cFv -/* 800D285C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D2860 41 82 00 10 */ beq lbl_800D2870 -/* 800D2864 7F E3 FB 78 */ mr r3, r31 -/* 800D2868 48 00 34 21 */ bl procCutHeadInit__9daAlink_cFv -/* 800D286C 48 00 00 10 */ b lbl_800D287C -lbl_800D2870: -/* 800D2870 7F E3 FB 78 */ mr r3, r31 -/* 800D2874 38 80 00 00 */ li r4, 0 -/* 800D2878 48 00 1A 85 */ bl procCutJumpInit__9daAlink_cFi -lbl_800D287C: -/* 800D287C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D2880 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D2884 7C 08 03 A6 */ mtlr r0 -/* 800D2888 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D288C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkDownAttackState__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkDownAttackState__9daAlink_cFv.s deleted file mode 100644 index 00a03cad9b..0000000000 --- a/asm/d/a/d_a_alink/checkDownAttackState__9daAlink_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_800D29D4: -/* 800D29D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D29D8 7C 08 02 A6 */ mflr r0 -/* 800D29DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D29E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D29E4 93 C1 00 08 */ stw r30, 8(r1) -/* 800D29E8 7C 7E 1B 78 */ mr r30, r3 -/* 800D29EC 83 E3 27 EC */ lwz r31, 0x27ec(r3) -/* 800D29F0 28 1F 00 00 */ cmplwi r31, 0 -/* 800D29F4 41 82 00 AC */ beq lbl_800D2AA0 -/* 800D29F8 88 1F 04 96 */ lbz r0, 0x496(r31) -/* 800D29FC 28 00 00 02 */ cmplwi r0, 2 -/* 800D2A00 40 82 00 A0 */ bne lbl_800D2AA0 -/* 800D2A04 A0 1F 05 8E */ lhz r0, 0x58e(r31) -/* 800D2A08 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800D2A0C 41 82 00 94 */ beq lbl_800D2AA0 -/* 800D2A10 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800D2A14 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D2A18 40 82 00 44 */ bne lbl_800D2A5C -/* 800D2A1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D2A20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D2A24 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 800D2A28 38 80 29 04 */ li r4, 0x2904 -/* 800D2A2C 4B F6 1F 91 */ bl isEventBit__11dSv_event_cCFUs -/* 800D2A30 2C 03 00 00 */ cmpwi r3, 0 -/* 800D2A34 40 82 00 10 */ bne lbl_800D2A44 -/* 800D2A38 80 1E 05 7C */ lwz r0, 0x57c(r30) -/* 800D2A3C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800D2A40 41 82 00 1C */ beq lbl_800D2A5C -lbl_800D2A44: -/* 800D2A44 38 7F 05 68 */ addi r3, r31, 0x568 -/* 800D2A48 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 800D2A4C 48 27 49 51 */ bl PSVECSquareDistance -/* 800D2A50 C0 02 93 08 */ lfs f0, lit_7174(r2) -/* 800D2A54 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D2A58 41 80 00 40 */ blt lbl_800D2A98 -lbl_800D2A5C: -/* 800D2A5C 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800D2A60 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D2A64 41 82 00 3C */ beq lbl_800D2AA0 -/* 800D2A68 80 7E 27 EC */ lwz r3, 0x27ec(r30) -/* 800D2A6C A8 03 00 08 */ lha r0, 8(r3) -/* 800D2A70 2C 00 01 DA */ cmpwi r0, 0x1da -/* 800D2A74 41 82 00 0C */ beq lbl_800D2A80 -/* 800D2A78 2C 00 01 E1 */ cmpwi r0, 0x1e1 -/* 800D2A7C 40 82 00 24 */ bne lbl_800D2AA0 -lbl_800D2A80: -/* 800D2A80 38 7F 05 68 */ addi r3, r31, 0x568 -/* 800D2A84 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 800D2A88 48 27 49 15 */ bl PSVECSquareDistance -/* 800D2A8C C0 02 93 08 */ lfs f0, lit_7174(r2) -/* 800D2A90 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D2A94 40 80 00 0C */ bge lbl_800D2AA0 -lbl_800D2A98: -/* 800D2A98 38 60 00 01 */ li r3, 1 -/* 800D2A9C 48 00 00 08 */ b lbl_800D2AA4 -lbl_800D2AA0: -/* 800D2AA0 38 60 00 00 */ li r3, 0 -lbl_800D2AA4: -/* 800D2AA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D2AA8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D2AAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D2AB0 7C 08 03 A6 */ mtlr r0 -/* 800D2AB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D2AB8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkEndMessage__9daAlink_cFUl.s b/asm/d/a/d_a_alink/checkEndMessage__9daAlink_cFUl.s deleted file mode 100644 index dcdf04c461..0000000000 --- a/asm/d/a/d_a_alink/checkEndMessage__9daAlink_cFUl.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_801187B4: -/* 801187B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801187B8 7C 08 02 A6 */ mflr r0 -/* 801187BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801187C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801187C4 7C 7F 1B 78 */ mr r31, r3 -/* 801187C8 80 63 28 F0 */ lwz r3, 0x28f0(r3) -/* 801187CC 3C 03 00 01 */ addis r0, r3, 1 -/* 801187D0 28 00 FF FF */ cmplwi r0, 0xffff -/* 801187D4 40 82 00 18 */ bne lbl_801187EC -/* 801187D8 7C 83 23 78 */ mr r3, r4 -/* 801187DC 38 80 03 E8 */ li r4, 0x3e8 -/* 801187E0 4B F0 76 A5 */ bl fopMsgM_messageSet__FUlUl -/* 801187E4 90 7F 28 F0 */ stw r3, 0x28f0(r31) -/* 801187E8 48 00 00 40 */ b lbl_80118828 -lbl_801187EC: -/* 801187EC 4B F0 72 39 */ bl fopMsgM_SearchByID__FUi -/* 801187F0 28 03 00 00 */ cmplwi r3, 0 -/* 801187F4 41 82 00 34 */ beq lbl_80118828 -/* 801187F8 A0 03 00 F8 */ lhz r0, 0xf8(r3) -/* 801187FC 28 00 00 0E */ cmplwi r0, 0xe -/* 80118800 40 82 00 10 */ bne lbl_80118810 -/* 80118804 38 00 00 10 */ li r0, 0x10 -/* 80118808 B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 8011880C 48 00 00 1C */ b lbl_80118828 -lbl_80118810: -/* 80118810 28 00 00 12 */ cmplwi r0, 0x12 -/* 80118814 40 82 00 14 */ bne lbl_80118828 -/* 80118818 38 00 00 13 */ li r0, 0x13 -/* 8011881C B0 03 00 F8 */ sth r0, 0xf8(r3) -/* 80118820 38 60 00 01 */ li r3, 1 -/* 80118824 48 00 00 08 */ b lbl_8011882C -lbl_80118828: -/* 80118828 38 60 00 00 */ li r3, 0 -lbl_8011882C: -/* 8011882C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80118830 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80118834 7C 08 03 A6 */ mtlr r0 -/* 80118838 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011883C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 7e0c4d40c0..0000000000 --- a/asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800DC548: -/* 800DC548 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DC54C 7C 08 02 A6 */ mflr r0 -/* 800DC550 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DC554 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DC558 3B E0 00 00 */ li r31, 0 -/* 800DC55C 28 03 00 00 */ cmplwi r3, 0 -/* 800DC560 41 82 00 2C */ beq lbl_800DC58C -/* 800DC564 88 03 04 96 */ lbz r0, 0x496(r3) -/* 800DC568 28 00 00 02 */ cmplwi r0, 2 -/* 800DC56C 41 82 00 1C */ beq lbl_800DC588 -/* 800DC570 A8 03 00 08 */ lha r0, 8(r3) -/* 800DC574 2C 00 01 E2 */ cmpwi r0, 0x1e2 -/* 800DC578 41 82 00 10 */ beq lbl_800DC588 -/* 800DC57C 48 00 00 29 */ bl checkSpecialNpc__9daAlink_cFP10fopAc_ac_c -/* 800DC580 2C 03 00 00 */ cmpwi r3, 0 -/* 800DC584 41 82 00 08 */ beq lbl_800DC58C -lbl_800DC588: -/* 800DC588 3B E0 00 01 */ li r31, 1 -lbl_800DC58C: -/* 800DC58C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DC590 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DC594 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DC598 7C 08 03 A6 */ mtlr r0 -/* 800DC59C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DC5A0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkEquipAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkEquipAnime__9daAlink_cCFv.s deleted file mode 100644 index d2346e001c..0000000000 --- a/asm/d/a/d_a_alink/checkEquipAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800B9340: -/* 800B9340 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B9344 7C 08 02 A6 */ mflr r0 -/* 800B9348 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B934C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B9350 93 C1 00 08 */ stw r30, 8(r1) -/* 800B9354 7C 7E 1B 78 */ mr r30, r3 -/* 800B9358 3B E0 00 00 */ li r31, 0 -/* 800B935C 48 01 7B 3D */ bl checkSwordEquipAnime__9daAlink_cCFv -/* 800B9360 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9364 40 82 00 14 */ bne lbl_800B9378 -/* 800B9368 7F C3 F3 78 */ mr r3, r30 -/* 800B936C 4B FF FF 8D */ bl checkItemEquipAnime__9daAlink_cCFv -/* 800B9370 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9374 41 82 00 08 */ beq lbl_800B937C -lbl_800B9378: -/* 800B9378 3B E0 00 01 */ li r31, 1 -lbl_800B937C: -/* 800B937C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800B9380 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B9384 83 C1 00 08 */ lwz r30, 8(r1) -/* 800B9388 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B938C 7C 08 03 A6 */ mtlr r0 -/* 800B9390 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B9394 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s deleted file mode 100644 index 8f9350313f..0000000000 --- a/asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800F3D58: -/* 800F3D58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F3D5C 7C 08 02 A6 */ mflr r0 -/* 800F3D60 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F3D64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F3D68 3B E0 00 00 */ li r31, 0 -/* 800F3D6C A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 800F3D70 28 03 01 05 */ cmplwi r3, 0x105 -/* 800F3D74 41 82 00 10 */ beq lbl_800F3D84 -/* 800F3D78 48 06 AC A9 */ bl checkFishingRodItem__9daPy_py_cFi -/* 800F3D7C 2C 03 00 00 */ cmpwi r3, 0 -/* 800F3D80 41 82 00 08 */ beq lbl_800F3D88 -lbl_800F3D84: -/* 800F3D84 3B E0 00 01 */ li r31, 1 -lbl_800F3D88: -/* 800F3D88 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800F3D8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F3D90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F3D94 7C 08 03 A6 */ mtlr r0 -/* 800F3D98 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F3D9C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s deleted file mode 100644 index dc0ceac122..0000000000 --- a/asm/d/a/d_a_alink/checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800F3E4C: -/* 800F3E4C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800F3E50 7C 08 02 A6 */ mflr r0 -/* 800F3E54 90 01 00 24 */ stw r0, 0x24(r1) -/* 800F3E58 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F3E5C 48 26 E3 81 */ bl _savegpr_29 -/* 800F3E60 7C 7D 1B 78 */ mr r29, r3 -/* 800F3E64 7C 9E 23 78 */ mr r30, r4 -/* 800F3E68 3B E0 00 00 */ li r31, 0 -/* 800F3E6C 4B FF FE ED */ bl checkFishingRodAndLureItem__9daAlink_cCFv -/* 800F3E70 2C 03 00 00 */ cmpwi r3, 0 -/* 800F3E74 41 82 00 28 */ beq lbl_800F3E9C -/* 800F3E78 80 7D 28 24 */ lwz r3, 0x2824(r29) -/* 800F3E7C 28 1E 00 00 */ cmplwi r30, 0 -/* 800F3E80 41 82 00 0C */ beq lbl_800F3E8C -/* 800F3E84 80 1E 00 04 */ lwz r0, 4(r30) -/* 800F3E88 48 00 00 08 */ b lbl_800F3E90 -lbl_800F3E8C: -/* 800F3E8C 38 00 FF FF */ li r0, -1 -lbl_800F3E90: -/* 800F3E90 7C 03 00 40 */ cmplw r3, r0 -/* 800F3E94 40 82 00 08 */ bne lbl_800F3E9C -/* 800F3E98 3B E0 00 01 */ li r31, 1 -lbl_800F3E9C: -/* 800F3E9C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800F3EA0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F3EA4 48 26 E3 85 */ bl _restgpr_29 -/* 800F3EA8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800F3EAC 7C 08 03 A6 */ mtlr r0 -/* 800F3EB0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800F3EB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s deleted file mode 100644 index 73f6e54ff0..0000000000 --- a/asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80118170: -/* 80118170 38 80 00 00 */ li r4, 0 -/* 80118174 80 03 06 14 */ lwz r0, 0x614(r3) -/* 80118178 28 00 00 17 */ cmplwi r0, 0x17 -/* 8011817C 40 82 00 1C */ bne lbl_80118198 -/* 80118180 80 03 06 10 */ lwz r0, 0x610(r3) -/* 80118184 2C 00 00 04 */ cmpwi r0, 4 -/* 80118188 41 82 00 0C */ beq lbl_80118194 -/* 8011818C 2C 00 00 05 */ cmpwi r0, 5 -/* 80118190 40 82 00 08 */ bne lbl_80118198 -lbl_80118194: -/* 80118194 38 80 00 01 */ li r4, 1 -lbl_80118198: -/* 80118198 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 8011819C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 4b253247ca..0000000000 --- a/asm/d/a/d_a_alink/checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800E82B0: -/* 800E82B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E82B4 7C 08 02 A6 */ mflr r0 -/* 800E82B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E82BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E82C0 93 C1 00 08 */ stw r30, 8(r1) -/* 800E82C4 AB C4 00 08 */ lha r30, 8(r4) -/* 800E82C8 3B E0 00 00 */ li r31, 0 -/* 800E82CC 2C 1E 01 B1 */ cmpwi r30, 0x1b1 -/* 800E82D0 41 82 00 24 */ beq lbl_800E82F4 -/* 800E82D4 2C 1E 00 21 */ cmpwi r30, 0x21 -/* 800E82D8 40 82 00 14 */ bne lbl_800E82EC -/* 800E82DC 7C 83 23 78 */ mr r3, r4 -/* 800E82E0 4B FF 42 C5 */ bl checkSpecialNpc__9daAlink_cFP10fopAc_ac_c -/* 800E82E4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E82E8 40 82 00 0C */ bne lbl_800E82F4 -lbl_800E82EC: -/* 800E82EC 2C 1E 01 06 */ cmpwi r30, 0x106 -/* 800E82F0 40 82 00 08 */ bne lbl_800E82F8 -lbl_800E82F4: -/* 800E82F4 3B E0 00 01 */ li r31, 1 -lbl_800E82F8: -/* 800E82F8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800E82FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E8300 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E8304 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E8308 7C 08 03 A6 */ mtlr r0 -/* 800E830C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E8310 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabAnimeAndThrow__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkGrabAnimeAndThrow__9daAlink_cCFv.s deleted file mode 100644 index 2c41c787b7..0000000000 --- a/asm/d/a/d_a_alink/checkGrabAnimeAndThrow__9daAlink_cCFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800E3C9C: -/* 800E3C9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E3CA0 7C 08 02 A6 */ mflr r0 -/* 800E3CA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E3CA8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E3CAC 93 C1 00 08 */ stw r30, 8(r1) -/* 800E3CB0 7C 7E 1B 78 */ mr r30, r3 -/* 800E3CB4 3B E0 00 00 */ li r31, 0 -/* 800E3CB8 4B FF FF B5 */ bl checkGrabAnime__9daAlink_cCFv -/* 800E3CBC 2C 03 00 00 */ cmpwi r3, 0 -/* 800E3CC0 40 82 00 14 */ bne lbl_800E3CD4 -/* 800E3CC4 7F C3 F3 78 */ mr r3, r30 -/* 800E3CC8 4B FF FF 55 */ bl checkGrabThrowAnime__9daAlink_cCFv -/* 800E3CCC 2C 03 00 00 */ cmpwi r3, 0 -/* 800E3CD0 41 82 00 08 */ beq lbl_800E3CD8 -lbl_800E3CD4: -/* 800E3CD4 3B E0 00 01 */ li r31, 1 -lbl_800E3CD8: -/* 800E3CD8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800E3CDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E3CE0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E3CE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E3CE8 7C 08 03 A6 */ mtlr r0 -/* 800E3CEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E3CF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkGrabAnime__9daAlink_cCFv.s deleted file mode 100644 index b21575024e..0000000000 --- a/asm/d/a/d_a_alink/checkGrabAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800E3C6C: -/* 800E3C6C 38 80 00 00 */ li r4, 0 -/* 800E3C70 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E3C74 28 00 01 6C */ cmplwi r0, 0x16c -/* 800E3C78 41 82 00 18 */ beq lbl_800E3C90 -/* 800E3C7C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800E3C80 28 00 00 50 */ cmplwi r0, 0x50 -/* 800E3C84 41 82 00 0C */ beq lbl_800E3C90 -/* 800E3C88 28 00 00 60 */ cmplwi r0, 0x60 -/* 800E3C8C 40 82 00 08 */ bne lbl_800E3C94 -lbl_800E3C90: -/* 800E3C90 38 80 00 01 */ li r4, 1 -lbl_800E3C94: -/* 800E3C94 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800E3C98 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s deleted file mode 100644 index 7036e3e085..0000000000 --- a/asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800E3CF4: -/* 800E3CF4 38 80 00 00 */ li r4, 0 -/* 800E3CF8 80 63 28 30 */ lwz r3, 0x2830(r3) -/* 800E3CFC 28 03 00 00 */ cmplwi r3, 0 -/* 800E3D00 41 82 00 14 */ beq lbl_800E3D14 -/* 800E3D04 88 03 04 9A */ lbz r0, 0x49a(r3) -/* 800E3D08 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800E3D0C 41 82 00 08 */ beq lbl_800E3D14 -/* 800E3D10 38 80 00 01 */ li r4, 1 -lbl_800E3D14: -/* 800E3D14 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800E3D18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabHeavyActor__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGrabHeavyActor__9daAlink_cFv.s deleted file mode 100644 index 4cd71e70f5..0000000000 --- a/asm/d/a/d_a_alink/checkGrabHeavyActor__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800E3D6C: -/* 800E3D6C 38 80 00 00 */ li r4, 0 -/* 800E3D70 80 63 28 30 */ lwz r3, 0x2830(r3) -/* 800E3D74 28 03 00 00 */ cmplwi r3, 0 -/* 800E3D78 41 82 00 14 */ beq lbl_800E3D8C -/* 800E3D7C 88 03 04 9A */ lbz r0, 0x49a(r3) -/* 800E3D80 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800E3D84 41 82 00 08 */ beq lbl_800E3D8C -/* 800E3D88 38 80 00 01 */ li r4, 1 -lbl_800E3D8C: -/* 800E3D8C 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800E3D90 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabNotThrow__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGrabNotThrow__9daAlink_cFv.s deleted file mode 100644 index bff18c1122..0000000000 --- a/asm/d/a/d_a_alink/checkGrabNotThrow__9daAlink_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800E5150: -/* 800E5150 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E5154 7C 08 02 A6 */ mflr r0 -/* 800E5158 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E515C 4B FF EB 99 */ bl checkGrabCarryActor__9daAlink_cFv -/* 800E5160 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E5164 7C 08 03 A6 */ mtlr r0 -/* 800E5168 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E516C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s deleted file mode 100644 index 0ce0d4d933..0000000000 --- a/asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800E3F20: -/* 800E3F20 80 63 28 30 */ lwz r3, 0x2830(r3) -/* 800E3F24 28 03 00 00 */ cmplwi r3, 0 -/* 800E3F28 41 82 00 20 */ beq lbl_800E3F48 -/* 800E3F2C A8 03 00 08 */ lha r0, 8(r3) -/* 800E3F30 2C 00 01 08 */ cmpwi r0, 0x108 -/* 800E3F34 41 82 00 0C */ beq lbl_800E3F40 -/* 800E3F38 2C 00 01 09 */ cmpwi r0, 0x109 -/* 800E3F3C 40 82 00 0C */ bne lbl_800E3F48 -lbl_800E3F40: -/* 800E3F40 38 60 00 01 */ li r3, 1 -/* 800E3F44 4E 80 00 20 */ blr -lbl_800E3F48: -/* 800E3F48 38 60 00 00 */ li r3, 0 -/* 800E3F4C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabSideActor__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGrabSideActor__9daAlink_cFv.s deleted file mode 100644 index 3cb4d4e0ee..0000000000 --- a/asm/d/a/d_a_alink/checkGrabSideActor__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800E3D94: -/* 800E3D94 38 80 00 00 */ li r4, 0 -/* 800E3D98 80 63 28 30 */ lwz r3, 0x2830(r3) -/* 800E3D9C 28 03 00 00 */ cmplwi r3, 0 -/* 800E3DA0 41 82 00 14 */ beq lbl_800E3DB4 -/* 800E3DA4 88 03 04 9A */ lbz r0, 0x49a(r3) -/* 800E3DA8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800E3DAC 41 82 00 08 */ beq lbl_800E3DB4 -/* 800E3DB0 38 80 00 01 */ li r4, 1 -lbl_800E3DB4: -/* 800E3DB4 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800E3DB8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 95605d7d39..0000000000 --- a/asm/d/a/d_a_alink/checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801182D4: -/* 801182D4 A8 64 00 08 */ lha r3, 8(r4) -/* 801182D8 38 00 00 00 */ li r0, 0 -/* 801182DC 2C 03 02 5F */ cmpwi r3, 0x25f -/* 801182E0 41 82 00 1C */ beq lbl_801182FC -/* 801182E4 2C 03 02 32 */ cmpwi r3, 0x232 -/* 801182E8 41 82 00 14 */ beq lbl_801182FC -/* 801182EC 2C 03 01 21 */ cmpwi r3, 0x121 -/* 801182F0 41 82 00 0C */ beq lbl_801182FC -/* 801182F4 2C 03 02 D5 */ cmpwi r3, 0x2d5 -/* 801182F8 40 82 00 08 */ bne lbl_80118300 -lbl_801182FC: -/* 801182FC 38 00 00 01 */ li r0, 1 -lbl_80118300: -/* 80118300 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80118304 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGrabThrowAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkGrabThrowAnime__9daAlink_cCFv.s deleted file mode 100644 index afa821f130..0000000000 --- a/asm/d/a/d_a_alink/checkGrabThrowAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800E3C1C: -/* 800E3C1C 38 C0 00 00 */ li r6, 0 -/* 800E3C20 A0 A3 1F BC */ lhz r5, 0x1fbc(r3) -/* 800E3C24 28 05 01 70 */ cmplwi r5, 0x170 -/* 800E3C28 41 82 00 38 */ beq lbl_800E3C60 -/* 800E3C2C 7C C4 33 78 */ mr r4, r6 -/* 800E3C30 54 A0 04 3E */ clrlwi r0, r5, 0x10 -/* 800E3C34 28 00 00 51 */ cmplwi r0, 0x51 -/* 800E3C38 41 82 00 10 */ beq lbl_800E3C48 -/* 800E3C3C A0 03 1F 94 */ lhz r0, 0x1f94(r3) -/* 800E3C40 28 00 00 51 */ cmplwi r0, 0x51 -/* 800E3C44 40 82 00 08 */ bne lbl_800E3C4C -lbl_800E3C48: -/* 800E3C48 38 80 00 01 */ li r4, 1 -lbl_800E3C4C: -/* 800E3C4C 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 800E3C50 40 82 00 10 */ bne lbl_800E3C60 -/* 800E3C54 54 A0 04 3E */ clrlwi r0, r5, 0x10 -/* 800E3C58 28 00 01 7B */ cmplwi r0, 0x17b -/* 800E3C5C 40 82 00 08 */ bne lbl_800E3C64 -lbl_800E3C60: -/* 800E3C60 38 C0 00 01 */ li r6, 1 -lbl_800E3C64: -/* 800E3C64 54 C3 06 3E */ clrlwi r3, r6, 0x18 -/* 800E3C68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGroundSpecialMode__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGroundSpecialMode__9daAlink_cFv.s deleted file mode 100644 index 1c47e8b25a..0000000000 --- a/asm/d/a/d_a_alink/checkGroundSpecialMode__9daAlink_cFv.s +++ /dev/null @@ -1,94 +0,0 @@ -lbl_800B9F50: -/* 800B9F50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B9F54 7C 08 02 A6 */ mflr r0 -/* 800B9F58 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B9F5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B9F60 7C 7F 1B 78 */ mr r31, r3 -/* 800B9F64 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 800B9F68 54 06 06 B5 */ rlwinm. r6, r0, 0, 0x1a, 0x1a -/* 800B9F6C 41 82 00 38 */ beq lbl_800B9FA4 -/* 800B9F70 80 BF 31 A0 */ lwz r5, 0x31a0(r31) -/* 800B9F74 3C 80 00 07 */ lis r4, 0x0007 /* 0x00070C52@ha */ -/* 800B9F78 38 04 0C 52 */ addi r0, r4, 0x0C52 /* 0x00070C52@l */ -/* 800B9F7C 7C A0 00 39 */ and. r0, r5, r0 -/* 800B9F80 40 82 00 24 */ bne lbl_800B9FA4 -/* 800B9F84 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800B9F88 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800B9F8C 40 82 00 18 */ bne lbl_800B9FA4 -/* 800B9F90 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800B9F94 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800B9F98 41 82 00 0C */ beq lbl_800B9FA4 -/* 800B9F9C 48 00 D8 59 */ bl procCoMetamorphoseInit__9daAlink_cFv -/* 800B9FA0 48 00 00 E8 */ b lbl_800BA088 -lbl_800B9FA4: -/* 800B9FA4 28 06 00 00 */ cmplwi r6, 0 -/* 800B9FA8 41 82 00 38 */ beq lbl_800B9FE0 -/* 800B9FAC 80 9F 31 A0 */ lwz r4, 0x31a0(r31) -/* 800B9FB0 3C 60 00 07 */ lis r3, 0x0007 /* 0x00070C52@ha */ -/* 800B9FB4 38 03 0C 52 */ addi r0, r3, 0x0C52 /* 0x00070C52@l */ -/* 800B9FB8 7C 80 00 39 */ and. r0, r4, r0 -/* 800B9FBC 40 82 00 24 */ bne lbl_800B9FE0 -/* 800B9FC0 7F E3 FB 78 */ mr r3, r31 -/* 800B9FC4 48 04 BB 4D */ bl checkBoardRestart__9daAlink_cFv -/* 800B9FC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B9FCC 41 82 00 14 */ beq lbl_800B9FE0 -/* 800B9FD0 7F E3 FB 78 */ mr r3, r31 -/* 800B9FD4 80 9F 28 18 */ lwz r4, 0x2818(r31) -/* 800B9FD8 48 04 CA 61 */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -/* 800B9FDC 48 00 00 AC */ b lbl_800BA088 -lbl_800B9FE0: -/* 800B9FE0 88 1F 05 6A */ lbz r0, 0x56a(r31) -/* 800B9FE4 28 00 00 2A */ cmplwi r0, 0x2a -/* 800B9FE8 40 82 00 10 */ bne lbl_800B9FF8 -/* 800B9FEC 7F E3 FB 78 */ mr r3, r31 -/* 800B9FF0 48 02 F3 55 */ bl procGoatMoveInit__9daAlink_cFv -/* 800B9FF4 48 00 00 94 */ b lbl_800BA088 -lbl_800B9FF8: -/* 800B9FF8 28 00 00 01 */ cmplwi r0, 1 -/* 800B9FFC 40 82 00 10 */ bne lbl_800BA00C -/* 800BA000 7F E3 FB 78 */ mr r3, r31 -/* 800BA004 48 03 09 4D */ bl procSumouReadyInit__9daAlink_cFv -/* 800BA008 48 00 00 80 */ b lbl_800BA088 -lbl_800BA00C: -/* 800BA00C 28 00 00 2B */ cmplwi r0, 0x2b -/* 800BA010 40 82 00 10 */ bne lbl_800BA020 -/* 800BA014 7F E3 FB 78 */ mr r3, r31 -/* 800BA018 48 03 03 DD */ bl procGoronMoveInit__9daAlink_cFv -/* 800BA01C 48 00 00 6C */ b lbl_800BA088 -lbl_800BA020: -/* 800BA020 28 00 00 2D */ cmplwi r0, 0x2d -/* 800BA024 40 82 00 14 */ bne lbl_800BA038 -/* 800BA028 7F E3 FB 78 */ mr r3, r31 -/* 800BA02C 38 80 00 00 */ li r4, 0 -/* 800BA030 48 03 AC 49 */ bl procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c -/* 800BA034 48 00 00 54 */ b lbl_800BA088 -lbl_800BA038: -/* 800BA038 7F E3 FB 78 */ mr r3, r31 -/* 800BA03C 4B FF BF 31 */ bl checkSlideAction__9daAlink_cFv -/* 800BA040 2C 03 00 00 */ cmpwi r3, 0 -/* 800BA044 41 82 00 0C */ beq lbl_800BA050 -/* 800BA048 38 60 00 01 */ li r3, 1 -/* 800BA04C 48 00 00 3C */ b lbl_800BA088 -lbl_800BA050: -/* 800BA050 7F E3 FB 78 */ mr r3, r31 -/* 800BA054 4B FE 82 2D */ bl checkGoronRide__9daAlink_cFv -/* 800BA058 7C 64 1B 79 */ or. r4, r3, r3 -/* 800BA05C 41 82 00 10 */ beq lbl_800BA06C -/* 800BA060 7F E3 FB 78 */ mr r3, r31 -/* 800BA064 48 00 E4 E9 */ bl procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c -/* 800BA068 48 00 00 20 */ b lbl_800BA088 -lbl_800BA06C: -/* 800BA06C 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 800BA070 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800BA074 41 82 00 10 */ beq lbl_800BA084 -/* 800BA078 7F E3 FB 78 */ mr r3, r31 -/* 800BA07C 48 02 1C A1 */ bl procScreamWaitInit__9daAlink_cFv -/* 800BA080 48 00 00 08 */ b lbl_800BA088 -lbl_800BA084: -/* 800BA084 38 60 00 00 */ li r3, 0 -lbl_800BA088: -/* 800BA088 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BA08C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BA090 7C 08 03 A6 */ mtlr r0 -/* 800BA094 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BA098 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkGuardAccept__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkGuardAccept__9daAlink_cFv.s deleted file mode 100644 index 23cfc3a3ff..0000000000 --- a/asm/d/a/d_a_alink/checkGuardAccept__9daAlink_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800DCF64: -/* 800DCF64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DCF68 7C 08 02 A6 */ mflr r0 -/* 800DCF6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DCF70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DCF74 3B E0 00 00 */ li r31, 0 -/* 800DCF78 7F E5 FB 78 */ mr r5, r31 -/* 800DCF7C 7F E6 FB 78 */ mr r6, r31 -/* 800DCF80 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800DCF84 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 800DCF88 41 82 00 1C */ beq lbl_800DCFA4 -/* 800DCF8C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DCF90 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DCF94 88 04 00 15 */ lbz r0, 0x15(r4) -/* 800DCF98 28 00 00 FF */ cmplwi r0, 0xff -/* 800DCF9C 41 82 00 08 */ beq lbl_800DCFA4 -/* 800DCFA0 38 C0 00 01 */ li r6, 1 -lbl_800DCFA4: -/* 800DCFA4 54 C0 06 3F */ clrlwi. r0, r6, 0x18 -/* 800DCFA8 41 82 00 30 */ beq lbl_800DCFD8 -/* 800DCFAC 38 80 00 00 */ li r4, 0 -/* 800DCFB0 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800DCFB4 28 00 00 62 */ cmplwi r0, 0x62 -/* 800DCFB8 41 82 00 10 */ beq lbl_800DCFC8 -/* 800DCFBC 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800DCFC0 28 00 02 A0 */ cmplwi r0, 0x2a0 -/* 800DCFC4 40 82 00 08 */ bne lbl_800DCFCC -lbl_800DCFC8: -/* 800DCFC8 38 80 00 01 */ li r4, 1 -lbl_800DCFCC: -/* 800DCFCC 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 800DCFD0 40 82 00 08 */ bne lbl_800DCFD8 -/* 800DCFD4 38 A0 00 01 */ li r5, 1 -lbl_800DCFD8: -/* 800DCFD8 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 800DCFDC 41 82 00 14 */ beq lbl_800DCFF0 -/* 800DCFE0 4B FE 35 B5 */ bl checkNotBattleStage__9daAlink_cFv -/* 800DCFE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DCFE8 40 82 00 08 */ bne lbl_800DCFF0 -/* 800DCFEC 3B E0 00 01 */ li r31, 1 -lbl_800DCFF0: -/* 800DCFF0 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DCFF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DCFF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DCFFC 7C 08 03 A6 */ mtlr r0 -/* 800DD000 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DD004 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHookshotReadyMaterialOffMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHookshotReadyMaterialOffMode__9daAlink_cCFv.s deleted file mode 100644 index 125f7597e1..0000000000 --- a/asm/d/a/d_a_alink/checkHookshotReadyMaterialOffMode__9daAlink_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8010903C: -/* 8010903C 38 00 00 00 */ li r0, 0 -/* 80109040 A0 63 2F E8 */ lhz r3, 0x2fe8(r3) -/* 80109044 28 03 00 CB */ cmplwi r3, 0xcb -/* 80109048 41 82 00 1C */ beq lbl_80109064 -/* 8010904C 28 03 00 4A */ cmplwi r3, 0x4a -/* 80109050 41 82 00 14 */ beq lbl_80109064 -/* 80109054 28 03 00 7D */ cmplwi r3, 0x7d -/* 80109058 41 82 00 0C */ beq lbl_80109064 -/* 8010905C 28 03 00 C4 */ cmplwi r3, 0xc4 -/* 80109060 40 82 00 08 */ bne lbl_80109068 -lbl_80109064: -/* 80109064 38 00 00 01 */ li r0, 1 -lbl_80109068: -/* 80109068 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8010906C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseDashAccept__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkHorseDashAccept__9daAlink_cFv.s deleted file mode 100644 index ded58bb43b..0000000000 --- a/asm/d/a/d_a_alink/checkHorseDashAccept__9daAlink_cFv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800EC7DC: -/* 800EC7DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EC7E0 7C 08 02 A6 */ mflr r0 -/* 800EC7E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EC7E8 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800EC7EC 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800EC7F0 38 63 00 6F */ addi r3, r3, 0x6f -/* 800EC7F4 4B FB 12 6D */ bl checkStageName__9daAlink_cFPCc -/* 800EC7F8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800EC7FC 7C 00 00 34 */ cntlzw r0, r0 -/* 800EC800 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 800EC804 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EC808 7C 08 03 A6 */ mtlr r0 -/* 800EC80C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EC810 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s deleted file mode 100644 index c2357fdbf7..0000000000 --- a/asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800ECF04: -/* 800ECF04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ECF08 7C 08 02 A6 */ mflr r0 -/* 800ECF0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ECF10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ECF14 93 C1 00 08 */ stw r30, 8(r1) -/* 800ECF18 7C 7E 1B 78 */ mr r30, r3 -/* 800ECF1C 3B E0 00 00 */ li r31, 0 -/* 800ECF20 38 80 00 55 */ li r4, 0x55 -/* 800ECF24 4B FB F6 35 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800ECF28 2C 03 00 00 */ cmpwi r3, 0 -/* 800ECF2C 40 82 00 10 */ bne lbl_800ECF3C -/* 800ECF30 A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800ECF34 28 00 02 65 */ cmplwi r0, 0x265 -/* 800ECF38 40 82 00 08 */ bne lbl_800ECF40 -lbl_800ECF3C: -/* 800ECF3C 3B E0 00 01 */ li r31, 1 -lbl_800ECF40: -/* 800ECF40 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800ECF44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ECF48 83 C1 00 08 */ lwz r30, 8(r1) -/* 800ECF4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ECF50 7C 08 03 A6 */ mtlr r0 -/* 800ECF54 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ECF58 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s deleted file mode 100644 index 2fa4776885..0000000000 --- a/asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800ED074: -/* 800ED074 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ED078 7C 08 02 A6 */ mflr r0 -/* 800ED07C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ED080 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ED084 93 C1 00 08 */ stw r30, 8(r1) -/* 800ED088 7C 7E 1B 78 */ mr r30, r3 -/* 800ED08C 3B E0 00 00 */ li r31, 0 -/* 800ED090 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800ED094 28 00 02 63 */ cmplwi r0, 0x263 -/* 800ED098 41 82 00 1C */ beq lbl_800ED0B4 -/* 800ED09C 4B FC C1 B9 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800ED0A0 2C 03 00 00 */ cmpwi r3, 0 -/* 800ED0A4 40 82 00 10 */ bne lbl_800ED0B4 -/* 800ED0A8 A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800ED0AC 28 00 00 CC */ cmplwi r0, 0xcc -/* 800ED0B0 40 82 00 08 */ bne lbl_800ED0B8 -lbl_800ED0B4: -/* 800ED0B4 3B E0 00 01 */ li r31, 1 -lbl_800ED0B8: -/* 800ED0B8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800ED0BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ED0C0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800ED0C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ED0C8 7C 08 03 A6 */ mtlr r0 -/* 800ED0CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ED0D0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseNotDamageReaction__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHorseNotDamageReaction__9daAlink_cCFv.s deleted file mode 100644 index ad7c040d1c..0000000000 --- a/asm/d/a/d_a_alink/checkHorseNotDamageReaction__9daAlink_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800ECD90: -/* 800ECD90 38 00 00 00 */ li r0, 0 -/* 800ECD94 A0 63 2F E8 */ lhz r3, 0x2fe8(r3) -/* 800ECD98 28 03 00 3D */ cmplwi r3, 0x3d -/* 800ECD9C 41 82 00 1C */ beq lbl_800ECDB8 -/* 800ECDA0 28 03 00 3E */ cmplwi r3, 0x3e -/* 800ECDA4 41 82 00 14 */ beq lbl_800ECDB8 -/* 800ECDA8 28 03 00 50 */ cmplwi r3, 0x50 -/* 800ECDAC 41 82 00 0C */ beq lbl_800ECDB8 -/* 800ECDB0 28 03 00 3F */ cmplwi r3, 0x3f -/* 800ECDB4 40 82 00 08 */ bne lbl_800ECDBC -lbl_800ECDB8: -/* 800ECDB8 38 00 00 01 */ li r0, 1 -lbl_800ECDBC: -/* 800ECDBC 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 800ECDC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseReinLeftOnly__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHorseReinLeftOnly__9daAlink_cCFv.s deleted file mode 100644 index 6911d95189..0000000000 --- a/asm/d/a/d_a_alink/checkHorseReinLeftOnly__9daAlink_cCFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_800ECDEC: -/* 800ECDEC 38 80 00 00 */ li r4, 0 -/* 800ECDF0 88 63 2F AB */ lbz r3, 0x2fab(r3) -/* 800ECDF4 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c -/* 800ECDF8 41 82 00 10 */ beq lbl_800ECE08 -/* 800ECDFC 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b -/* 800ECE00 40 82 00 08 */ bne lbl_800ECE08 -/* 800ECE04 38 80 00 01 */ li r4, 1 -lbl_800ECE08: -/* 800ECE08 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800ECE0C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseSubjectivity__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHorseSubjectivity__9daAlink_cCFv.s deleted file mode 100644 index d809049597..0000000000 --- a/asm/d/a/d_a_alink/checkHorseSubjectivity__9daAlink_cCFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800ECF5C: -/* 800ECF5C 38 A0 00 00 */ li r5, 0 -/* 800ECF60 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800ECF64 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800ECF68 80 04 5F 18 */ lwz r0, 0x5f18(r4) -/* 800ECF6C 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12 -/* 800ECF70 40 82 00 20 */ bne lbl_800ECF90 -/* 800ECF74 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800ECF78 28 00 00 45 */ cmplwi r0, 0x45 -/* 800ECF7C 41 82 00 14 */ beq lbl_800ECF90 -/* 800ECF80 28 00 00 4A */ cmplwi r0, 0x4a -/* 800ECF84 41 82 00 0C */ beq lbl_800ECF90 -/* 800ECF88 28 00 00 48 */ cmplwi r0, 0x48 -/* 800ECF8C 40 82 00 08 */ bne lbl_800ECF94 -lbl_800ECF90: -/* 800ECF90 38 A0 00 01 */ li r5, 1 -lbl_800ECF94: -/* 800ECF94 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 800ECF98 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHorseWaitLashAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkHorseWaitLashAnime__9daAlink_cCFv.s deleted file mode 100644 index 1fa7be188c..0000000000 --- a/asm/d/a/d_a_alink/checkHorseWaitLashAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800ECDC4: -/* 800ECDC4 38 80 00 00 */ li r4, 0 -/* 800ECDC8 A0 03 1F 80 */ lhz r0, 0x1f80(r3) -/* 800ECDCC 28 00 00 DD */ cmplwi r0, 0xdd -/* 800ECDD0 40 82 00 14 */ bne lbl_800ECDE4 -/* 800ECDD4 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800ECDD8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800ECDDC 41 82 00 08 */ beq lbl_800ECDE4 -/* 800ECDE0 38 80 00 01 */ li r4, 1 -lbl_800ECDE4: -/* 800ECDE4 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800ECDE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkHugeAttack__9daAlink_cCFi.s b/asm/d/a/d_a_alink/checkHugeAttack__9daAlink_cCFi.s deleted file mode 100644 index f657f898bb..0000000000 --- a/asm/d/a/d_a_alink/checkHugeAttack__9daAlink_cCFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800D7BE8: -/* 800D7BE8 38 60 00 00 */ li r3, 0 -/* 800D7BEC 2C 04 00 02 */ cmpwi r4, 2 -/* 800D7BF0 41 82 00 1C */ beq lbl_800D7C0C -/* 800D7BF4 2C 04 00 07 */ cmpwi r4, 7 -/* 800D7BF8 41 82 00 14 */ beq lbl_800D7C0C -/* 800D7BFC 2C 04 00 0B */ cmpwi r4, 0xb -/* 800D7C00 41 82 00 0C */ beq lbl_800D7C0C -/* 800D7C04 2C 04 00 0E */ cmpwi r4, 0xe -/* 800D7C08 4C 82 00 20 */ bnelr -lbl_800D7C0C: -/* 800D7C0C 38 60 00 01 */ li r3, 1 -/* 800D7C10 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo.s b/asm/d/a/d_a_alink/checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo.s deleted file mode 100644 index f7312ea18e..0000000000 --- a/asm/d/a/d_a_alink/checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800D7768: -/* 800D7768 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D776C 7C 08 02 A6 */ mflr r0 -/* 800D7770 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D7774 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D7778 7C 7F 1B 78 */ mr r31, r3 -/* 800D777C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D7780 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D7784 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800D7788 7F E4 FB 78 */ mr r4, r31 -/* 800D778C 4B F9 D6 C5 */ bl GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo -/* 800D7790 2C 03 00 08 */ cmpwi r3, 8 -/* 800D7794 40 82 00 1C */ bne lbl_800D77B0 -/* 800D7798 7F E3 FB 78 */ mr r3, r31 -/* 800D779C 48 0D 3E 01 */ bl dKy_pol_argument_get__FPC13cBgS_PolyInfo -/* 800D77A0 54 60 06 75 */ rlwinm. r0, r3, 0, 0x19, 0x1a -/* 800D77A4 41 82 00 0C */ beq lbl_800D77B0 -/* 800D77A8 38 60 00 01 */ li r3, 1 -/* 800D77AC 48 00 00 08 */ b lbl_800D77B4 -lbl_800D77B0: -/* 800D77B0 38 60 00 00 */ li r3, 0 -lbl_800D77B4: -/* 800D77B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D77B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D77BC 7C 08 03 A6 */ mtlr r0 -/* 800D77C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D77C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s deleted file mode 100644 index 5d42e8536a..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_801150E4: -/* 801150E4 38 80 00 00 */ li r4, 0 -/* 801150E8 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 801150EC 28 00 01 9A */ cmplwi r0, 0x19a -/* 801150F0 41 82 00 10 */ beq lbl_80115100 -/* 801150F4 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 801150F8 28 00 01 9B */ cmplwi r0, 0x19b -/* 801150FC 40 82 00 08 */ bne lbl_80115104 -lbl_80115100: -/* 80115100 38 80 00 01 */ li r4, 1 -lbl_80115104: -/* 80115104 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80115108 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallDelete__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkIronBallDelete__9daAlink_cFv.s deleted file mode 100644 index 8851c83e2e..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallDelete__9daAlink_cFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80112628: -/* 80112628 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011262C 7C 08 02 A6 */ mflr r0 -/* 80112630 90 01 00 14 */ stw r0, 0x14(r1) -/* 80112634 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80112638 7C 7F 1B 78 */ mr r31, r3 -/* 8011263C A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 80112640 28 00 00 D8 */ cmplwi r0, 0xd8 -/* 80112644 41 82 00 A0 */ beq lbl_801126E4 -/* 80112648 28 00 00 D9 */ cmplwi r0, 0xd9 -/* 8011264C 41 82 00 98 */ beq lbl_801126E4 -/* 80112650 28 00 00 DA */ cmplwi r0, 0xda -/* 80112654 41 82 00 90 */ beq lbl_801126E4 -/* 80112658 28 00 00 DB */ cmplwi r0, 0xdb -/* 8011265C 40 82 00 08 */ bne lbl_80112664 -/* 80112660 48 00 00 84 */ b lbl_801126E4 -lbl_80112664: -/* 80112664 A8 7F 30 18 */ lha r3, 0x3018(r31) -/* 80112668 2C 03 00 01 */ cmpwi r3, 1 -/* 8011266C 41 82 00 68 */ beq lbl_801126D4 -/* 80112670 2C 03 00 02 */ cmpwi r3, 2 -/* 80112674 41 82 00 60 */ beq lbl_801126D4 -/* 80112678 2C 03 00 03 */ cmpwi r3, 3 -/* 8011267C 41 82 00 58 */ beq lbl_801126D4 -/* 80112680 7C 60 07 35 */ extsh. r0, r3 -/* 80112684 41 82 00 0C */ beq lbl_80112690 -/* 80112688 2C 03 00 08 */ cmpwi r3, 8 -/* 8011268C 40 82 00 58 */ bne lbl_801126E4 -lbl_80112690: -/* 80112690 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 80112694 28 00 01 9C */ cmplwi r0, 0x19c -/* 80112698 41 82 00 4C */ beq lbl_801126E4 -/* 8011269C 7F E3 FB 78 */ mr r3, r31 -/* 801126A0 4B FA 6C A1 */ bl checkEquipAnime__9daAlink_cCFv -/* 801126A4 2C 03 00 00 */ cmpwi r3, 0 -/* 801126A8 40 82 00 3C */ bne lbl_801126E4 -/* 801126AC 80 9F 31 A0 */ lwz r4, 0x31a0(r31) -/* 801126B0 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 801126B4 41 82 00 20 */ beq lbl_801126D4 -/* 801126B8 3C 60 00 07 */ lis r3, 0x0007 /* 0x00070C52@ha */ -/* 801126BC 38 03 0C 52 */ addi r0, r3, 0x0C52 /* 0x00070C52@l */ -/* 801126C0 7C 80 00 39 */ and. r0, r4, r0 -/* 801126C4 40 82 00 10 */ bne lbl_801126D4 -/* 801126C8 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 801126CC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 801126D0 40 82 00 14 */ bne lbl_801126E4 -lbl_801126D4: -/* 801126D4 7F E3 FB 78 */ mr r3, r31 -/* 801126D8 38 80 00 01 */ li r4, 1 -/* 801126DC 38 A0 00 00 */ li r5, 0 -/* 801126E0 4B FA EB FD */ bl deleteEquipItem__9daAlink_cFii -lbl_801126E4: -/* 801126E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801126E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801126EC 7C 08 03 A6 */ mtlr r0 -/* 801126F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801126F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallGroundStop__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkIronBallGroundStop__9daAlink_cCFv.s deleted file mode 100644 index b8b9a0c2a4..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallGroundStop__9daAlink_cCFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80112524: -/* 80112524 38 80 00 00 */ li r4, 0 -/* 80112528 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 8011252C 28 00 00 42 */ cmplwi r0, 0x42 -/* 80112530 40 82 00 30 */ bne lbl_80112560 -/* 80112534 A8 03 30 18 */ lha r0, 0x3018(r3) -/* 80112538 2C 00 00 00 */ cmpwi r0, 0 -/* 8011253C 41 82 00 24 */ beq lbl_80112560 -/* 80112540 2C 00 00 08 */ cmpwi r0, 8 -/* 80112544 41 82 00 1C */ beq lbl_80112560 -/* 80112548 A8 03 30 1E */ lha r0, 0x301e(r3) -/* 8011254C 2C 00 00 00 */ cmpwi r0, 0 -/* 80112550 40 82 00 10 */ bne lbl_80112560 -/* 80112554 2C 00 00 0A */ cmpwi r0, 0xa -/* 80112558 40 80 00 08 */ bge lbl_80112560 -/* 8011255C 38 80 00 01 */ li r4, 1 -lbl_80112560: -/* 80112560 7C 83 23 78 */ mr r3, r4 -/* 80112564 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallReturnChange__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkIronBallReturnChange__9daAlink_cFv.s deleted file mode 100644 index e3edc1fe5b..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallReturnChange__9daAlink_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_80113CA0: -/* 80113CA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80113CA4 7C 08 02 A6 */ mflr r0 -/* 80113CA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80113CAC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80113CB0 7C 7F 1B 78 */ mr r31, r3 -/* 80113CB4 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 80113CB8 28 00 00 DA */ cmplwi r0, 0xda -/* 80113CBC 40 82 00 70 */ bne lbl_80113D2C -/* 80113CC0 A8 1F 05 9C */ lha r0, 0x59c(r31) -/* 80113CC4 2C 00 04 00 */ cmpwi r0, 0x400 -/* 80113CC8 41 81 00 1C */ bgt lbl_80113CE4 -/* 80113CCC C0 5F 38 08 */ lfs f2, 0x3808(r31) -/* 80113CD0 C0 3F 04 D4 */ lfs f1, 0x4d4(r31) -/* 80113CD4 C0 02 93 68 */ lfs f0, lit_8472(r2) -/* 80113CD8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80113CDC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80113CE0 41 80 00 4C */ blt lbl_80113D2C -lbl_80113CE4: -/* 80113CE4 2C 00 04 00 */ cmpwi r0, 0x400 -/* 80113CE8 40 81 00 10 */ ble lbl_80113CF8 -/* 80113CEC A8 1F 30 1A */ lha r0, 0x301a(r31) -/* 80113CF0 2C 00 00 64 */ cmpwi r0, 0x64 -/* 80113CF4 41 82 00 38 */ beq lbl_80113D2C -lbl_80113CF8: -/* 80113CF8 38 7F 0F B8 */ addi r3, r31, 0xfb8 -/* 80113CFC 4B F7 05 C5 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 80113D00 28 03 00 00 */ cmplwi r3, 0 -/* 80113D04 41 82 00 3C */ beq lbl_80113D40 -/* 80113D08 38 7F 0F B8 */ addi r3, r31, 0xfb8 -/* 80113D0C 4B F7 06 9D */ bl GetAtHitGObj__12dCcD_GObjInfFv -/* 80113D10 28 03 00 00 */ cmplwi r3, 0 -/* 80113D14 41 82 00 2C */ beq lbl_80113D40 -/* 80113D18 38 7F 0F B8 */ addi r3, r31, 0xfb8 -/* 80113D1C 4B F7 06 8D */ bl GetAtHitGObj__12dCcD_GObjInfFv -/* 80113D20 80 03 00 9C */ lwz r0, 0x9c(r3) -/* 80113D24 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80113D28 41 82 00 18 */ beq lbl_80113D40 -lbl_80113D2C: -/* 80113D2C 7F E3 FB 78 */ mr r3, r31 -/* 80113D30 38 80 00 00 */ li r4, 0 -/* 80113D34 4B FF E9 C5 */ bl setIronBallReturn__9daAlink_cFi -/* 80113D38 38 60 00 01 */ li r3, 1 -/* 80113D3C 48 00 00 08 */ b lbl_80113D44 -lbl_80113D40: -/* 80113D40 38 60 00 00 */ li r3, 0 -lbl_80113D44: -/* 80113D44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80113D48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80113D4C 7C 08 03 A6 */ mtlr r0 -/* 80113D50 38 21 00 10 */ addi r1, r1, 0x10 -/* 80113D54 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallReturn__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkIronBallReturn__9daAlink_cCFv.s deleted file mode 100644 index 154f67f74d..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallReturn__9daAlink_cCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_801124FC: -/* 801124FC 38 80 00 00 */ li r4, 0 -/* 80112500 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 80112504 28 00 00 42 */ cmplwi r0, 0x42 -/* 80112508 40 82 00 14 */ bne lbl_8011251C -/* 8011250C A8 03 30 18 */ lha r0, 0x3018(r3) -/* 80112510 2C 00 00 07 */ cmpwi r0, 7 -/* 80112514 40 82 00 08 */ bne lbl_8011251C -/* 80112518 38 80 00 01 */ li r4, 1 -lbl_8011251C: -/* 8011251C 7C 83 23 78 */ mr r3, r4 -/* 80112520 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallThrowMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkIronBallThrowMode__9daAlink_cCFv.s deleted file mode 100644 index 9e80025c59..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallThrowMode__9daAlink_cCFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80112474: -/* 80112474 38 80 00 00 */ li r4, 0 -/* 80112478 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 8011247C 28 00 00 42 */ cmplwi r0, 0x42 -/* 80112480 40 82 00 2C */ bne lbl_801124AC -/* 80112484 A8 03 30 18 */ lha r0, 0x3018(r3) -/* 80112488 2C 00 00 04 */ cmpwi r0, 4 -/* 8011248C 41 82 00 1C */ beq lbl_801124A8 -/* 80112490 2C 00 00 05 */ cmpwi r0, 5 -/* 80112494 41 82 00 14 */ beq lbl_801124A8 -/* 80112498 2C 00 00 06 */ cmpwi r0, 6 -/* 8011249C 41 82 00 0C */ beq lbl_801124A8 -/* 801124A0 2C 00 00 03 */ cmpwi r0, 3 -/* 801124A4 40 82 00 08 */ bne lbl_801124AC -lbl_801124A8: -/* 801124A8 38 80 00 01 */ li r4, 1 -lbl_801124AC: -/* 801124AC 7C 83 23 78 */ mr r3, r4 -/* 801124B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkIronBallThrowReturnMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkIronBallThrowReturnMode__9daAlink_cCFv.s deleted file mode 100644 index b5e4c12a5b..0000000000 --- a/asm/d/a/d_a_alink/checkIronBallThrowReturnMode__9daAlink_cCFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_801124B4: -/* 801124B4 38 80 00 00 */ li r4, 0 -/* 801124B8 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 801124BC 28 00 00 42 */ cmplwi r0, 0x42 -/* 801124C0 40 82 00 34 */ bne lbl_801124F4 -/* 801124C4 A8 03 30 18 */ lha r0, 0x3018(r3) -/* 801124C8 2C 00 00 04 */ cmpwi r0, 4 -/* 801124CC 41 82 00 24 */ beq lbl_801124F0 -/* 801124D0 2C 00 00 05 */ cmpwi r0, 5 -/* 801124D4 41 82 00 1C */ beq lbl_801124F0 -/* 801124D8 2C 00 00 06 */ cmpwi r0, 6 -/* 801124DC 41 82 00 14 */ beq lbl_801124F0 -/* 801124E0 2C 00 00 07 */ cmpwi r0, 7 -/* 801124E4 41 82 00 0C */ beq lbl_801124F0 -/* 801124E8 2C 00 00 03 */ cmpwi r0, 3 -/* 801124EC 40 82 00 08 */ bne lbl_801124F4 -lbl_801124F0: -/* 801124F0 38 80 00 01 */ li r4, 1 -lbl_801124F4: -/* 801124F4 7C 83 23 78 */ mr r3, r4 -/* 801124F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkItemActorPointer__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkItemActorPointer__9daAlink_cFv.s deleted file mode 100644 index 7a9c2d6190..0000000000 --- a/asm/d/a/d_a_alink/checkItemActorPointer__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800B72E4: -/* 800B72E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B72E8 7C 08 02 A6 */ mflr r0 -/* 800B72EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B72F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B72F4 7C 7F 1B 78 */ mr r31, r3 -/* 800B72F8 80 03 28 28 */ lwz r0, 0x2828(r3) -/* 800B72FC 28 00 00 00 */ cmplwi r0, 0 -/* 800B7300 41 82 00 0C */ beq lbl_800B730C -/* 800B7304 38 60 00 01 */ li r3, 1 -/* 800B7308 48 00 00 74 */ b lbl_800B737C -lbl_800B730C: -/* 800B730C 38 7F 28 24 */ addi r3, r31, 0x2824 -/* 800B7310 48 0A 79 ED */ bl clearData__16daPy_actorKeep_cFv -/* 800B7314 7F E3 FB 78 */ mr r3, r31 -/* 800B7318 38 80 00 02 */ li r4, 2 -/* 800B731C C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800B7320 4B FF 64 05 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 800B7324 38 00 00 FF */ li r0, 0xff -/* 800B7328 B0 1F 2F DC */ sth r0, 0x2fdc(r31) -/* 800B732C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800B7330 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800B7334 41 82 00 3C */ beq lbl_800B7370 -/* 800B7338 7F E3 FB 78 */ mr r3, r31 -/* 800B733C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800B7340 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B7344 7D 89 03 A6 */ mtctr r12 -/* 800B7348 4E 80 04 21 */ bctrl -/* 800B734C 28 03 00 00 */ cmplwi r3, 0 -/* 800B7350 41 82 00 14 */ beq lbl_800B7364 -/* 800B7354 7F E3 FB 78 */ mr r3, r31 -/* 800B7358 38 80 00 00 */ li r4, 0 -/* 800B735C 48 03 DE 89 */ bl procCanoeWaitInit__9daAlink_cFi -/* 800B7360 48 00 00 18 */ b lbl_800B7378 -lbl_800B7364: -/* 800B7364 7F E3 FB 78 */ mr r3, r31 -/* 800B7368 48 03 96 19 */ bl procHorseWaitInit__9daAlink_cFv -/* 800B736C 48 00 00 0C */ b lbl_800B7378 -lbl_800B7370: -/* 800B7370 7F E3 FB 78 */ mr r3, r31 -/* 800B7374 48 00 C0 45 */ bl procWaitInit__9daAlink_cFv -lbl_800B7378: -/* 800B7378 38 60 00 00 */ li r3, 0 -lbl_800B737C: -/* 800B737C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B7380 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B7384 7C 08 03 A6 */ mtlr r0 -/* 800B7388 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B738C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkItemButtonChange__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkItemButtonChange__9daAlink_cFv.s deleted file mode 100644 index 65aa7876bc..0000000000 --- a/asm/d/a/d_a_alink/checkItemButtonChange__9daAlink_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_800B7528: -/* 800B7528 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800B752C 7C 08 02 A6 */ mflr r0 -/* 800B7530 90 01 00 24 */ stw r0, 0x24(r1) -/* 800B7534 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B7538 48 2A AC A5 */ bl _savegpr_29 -/* 800B753C 7C 7D 1B 78 */ mr r29, r3 -/* 800B7540 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800B7544 28 00 00 92 */ cmplwi r0, 0x92 -/* 800B7548 41 82 00 8C */ beq lbl_800B75D4 -/* 800B754C A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800B7550 28 00 00 FF */ cmplwi r0, 0xff -/* 800B7554 41 82 00 80 */ beq lbl_800B75D4 -/* 800B7558 48 00 1D E9 */ bl checkEquipAnime__9daAlink_cCFv -/* 800B755C 2C 03 00 00 */ cmpwi r3, 0 -/* 800B7560 40 82 00 74 */ bne lbl_800B75D4 -/* 800B7564 3B C0 00 00 */ li r30, 0 -/* 800B7568 48 00 00 60 */ b lbl_800B75C8 -lbl_800B756C: -/* 800B756C 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800B7570 38 03 00 01 */ addi r0, r3, 1 -/* 800B7574 54 04 0F FE */ srwi r4, r0, 0x1f -/* 800B7578 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 800B757C 7C 00 22 78 */ xor r0, r0, r4 -/* 800B7580 7C 04 00 50 */ subf r0, r4, r0 -/* 800B7584 54 1F 06 3E */ clrlwi r31, r0, 0x18 -/* 800B7588 4B F7 69 95 */ bl dComIfGp_getSelectItem__Fi -/* 800B758C 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 800B7590 A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800B7594 7C 00 18 00 */ cmpw r0, r3 -/* 800B7598 40 82 00 2C */ bne lbl_800B75C4 -/* 800B759C 7F E3 FB 78 */ mr r3, r31 -/* 800B75A0 4B F7 69 7D */ bl dComIfGp_getSelectItem__Fi -/* 800B75A4 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 800B75A8 A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800B75AC 7C 00 18 00 */ cmpw r0, r3 -/* 800B75B0 40 82 00 10 */ bne lbl_800B75C0 -/* 800B75B4 88 1D 2F 9C */ lbz r0, 0x2f9c(r29) -/* 800B75B8 7C 00 F8 40 */ cmplw r0, r31 -/* 800B75BC 41 82 00 08 */ beq lbl_800B75C4 -lbl_800B75C0: -/* 800B75C0 9B DD 2F 9C */ stb r30, 0x2f9c(r29) -lbl_800B75C4: -/* 800B75C4 3B DE 00 01 */ addi r30, r30, 1 -lbl_800B75C8: -/* 800B75C8 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 800B75CC 28 00 00 02 */ cmplwi r0, 2 -/* 800B75D0 41 80 FF 9C */ blt lbl_800B756C -lbl_800B75D4: -/* 800B75D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B75D8 48 2A AC 51 */ bl _restgpr_29 -/* 800B75DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800B75E0 7C 08 03 A6 */ mtlr r0 -/* 800B75E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800B75E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkItemChangeAutoAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkItemChangeAutoAction__9daAlink_cFv.s deleted file mode 100644 index 1cc8099cad..0000000000 --- a/asm/d/a/d_a_alink/checkItemChangeAutoAction__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_800B7090: -/* 800B7090 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B7094 7C 08 02 A6 */ mflr r0 -/* 800B7098 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B709C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B70A0 7C 7F 1B 78 */ mr r31, r3 -/* 800B70A4 80 03 05 80 */ lwz r0, 0x580(r3) -/* 800B70A8 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 800B70AC 41 82 00 A4 */ beq lbl_800B7150 -/* 800B70B0 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800B70B4 28 00 01 03 */ cmplwi r0, 0x103 -/* 800B70B8 40 82 00 88 */ bne lbl_800B7140 -/* 800B70BC 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800B70C0 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 800B70C4 41 82 00 0C */ beq lbl_800B70D0 -/* 800B70C8 38 60 00 00 */ li r3, 0 -/* 800B70CC 48 00 00 88 */ b lbl_800B7154 -lbl_800B70D0: -/* 800B70D0 38 80 00 02 */ li r4, 2 -/* 800B70D4 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800B70D8 4B FF 66 4D */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 800B70DC 7F E3 FB 78 */ mr r3, r31 -/* 800B70E0 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800B70E4 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 800B70E8 7D 89 03 A6 */ mtctr r12 -/* 800B70EC 4E 80 04 21 */ bctrl -/* 800B70F0 28 03 00 00 */ cmplwi r3, 0 -/* 800B70F4 41 82 00 10 */ beq lbl_800B7104 -/* 800B70F8 7F E3 FB 78 */ mr r3, r31 -/* 800B70FC 48 04 F5 1D */ bl checkBoardSwordTriggerAction__9daAlink_cFv -/* 800B7100 48 00 00 54 */ b lbl_800B7154 -lbl_800B7104: -/* 800B7104 38 00 00 00 */ li r0, 0 -/* 800B7108 88 7F 2F AA */ lbz r3, 0x2faa(r31) -/* 800B710C 28 03 00 01 */ cmplwi r3, 1 -/* 800B7110 41 82 00 0C */ beq lbl_800B711C -/* 800B7114 28 03 00 02 */ cmplwi r3, 2 -/* 800B7118 40 82 00 08 */ bne lbl_800B7120 -lbl_800B711C: -/* 800B711C 38 00 00 01 */ li r0, 1 -lbl_800B7120: -/* 800B7120 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 800B7124 41 82 00 10 */ beq lbl_800B7134 -/* 800B7128 7F E3 FB 78 */ mr r3, r31 -/* 800B712C 48 03 A7 69 */ bl procHorseCutChargeReadyInit__9daAlink_cFv -/* 800B7130 48 00 00 24 */ b lbl_800B7154 -lbl_800B7134: -/* 800B7134 7F E3 FB 78 */ mr r3, r31 -/* 800B7138 48 01 DB 31 */ bl procCutTurnChargeInit__9daAlink_cFv -/* 800B713C 48 00 00 18 */ b lbl_800B7154 -lbl_800B7140: -/* 800B7140 4B FF FD E9 */ bl checkItemActionInitStart__9daAlink_cFv -/* 800B7144 2C 03 FF FF */ cmpwi r3, -1 -/* 800B7148 41 82 00 08 */ beq lbl_800B7150 -/* 800B714C 48 00 00 08 */ b lbl_800B7154 -lbl_800B7150: -/* 800B7150 38 60 00 00 */ li r3, 0 -lbl_800B7154: -/* 800B7154 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B7158 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B715C 7C 08 03 A6 */ mtlr r0 -/* 800B7160 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B7164 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkItemChangeFromButton__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkItemChangeFromButton__9daAlink_cFv.s deleted file mode 100644 index 2c3f2d70f4..0000000000 --- a/asm/d/a/d_a_alink/checkItemChangeFromButton__9daAlink_cFv.s +++ /dev/null @@ -1,268 +0,0 @@ -lbl_800B994C: -/* 800B994C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800B9950 7C 08 02 A6 */ mflr r0 -/* 800B9954 90 01 00 24 */ stw r0, 0x24(r1) -/* 800B9958 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B995C 48 2A 88 79 */ bl _savegpr_27 -/* 800B9960 7C 7E 1B 78 */ mr r30, r3 -/* 800B9964 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800B9968 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800B996C 41 82 03 A4 */ beq lbl_800B9D10 -/* 800B9970 4B FF F9 D1 */ bl checkEquipAnime__9daAlink_cCFv -/* 800B9974 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9978 40 82 03 98 */ bne lbl_800B9D10 -/* 800B997C 7F C3 F3 78 */ mr r3, r30 -/* 800B9980 48 02 6B 2D */ bl checkBoomerangThrowAnime__9daAlink_cCFv -/* 800B9984 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9988 40 82 03 88 */ bne lbl_800B9D10 -/* 800B998C 38 60 00 00 */ li r3, 0 -/* 800B9990 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9994 28 00 00 46 */ cmplwi r0, 0x46 -/* 800B9998 40 82 00 14 */ bne lbl_800B99AC -/* 800B999C A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800B99A0 28 00 00 53 */ cmplwi r0, 0x53 -/* 800B99A4 40 82 00 08 */ bne lbl_800B99AC -/* 800B99A8 38 60 00 01 */ li r3, 1 -lbl_800B99AC: -/* 800B99AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B99B0 40 82 03 60 */ bne lbl_800B9D10 -/* 800B99B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B99B8 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B99BC 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 800B99C0 28 00 00 FF */ cmplwi r0, 0xff -/* 800B99C4 41 82 00 88 */ beq lbl_800B9A4C -/* 800B99C8 48 00 6B CD */ bl checkNotBattleStage__9daAlink_cFv -/* 800B99CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B99D0 40 82 00 7C */ bne lbl_800B9A4C -/* 800B99D4 7F C3 F3 78 */ mr r3, r30 -/* 800B99D8 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800B99DC 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B99E0 7D 89 03 A6 */ mtctr r12 -/* 800B99E4 4E 80 04 21 */ bctrl -/* 800B99E8 28 03 00 00 */ cmplwi r3, 0 -/* 800B99EC 40 82 00 60 */ bne lbl_800B9A4C -/* 800B99F0 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800B99F4 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 800B99F8 41 82 00 10 */ beq lbl_800B9A08 -/* 800B99FC 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800B9A00 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800B9A04 41 82 00 48 */ beq lbl_800B9A4C -lbl_800B9A08: -/* 800B9A08 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9A0C 28 00 01 03 */ cmplwi r0, 0x103 -/* 800B9A10 41 82 00 3C */ beq lbl_800B9A4C -/* 800B9A14 7F C3 F3 78 */ mr r3, r30 -/* 800B9A18 38 80 00 08 */ li r4, 8 -/* 800B9A1C 4B FF 8B B1 */ bl itemTriggerCheck__9daAlink_cFUc -/* 800B9A20 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9A24 41 82 00 28 */ beq lbl_800B9A4C -/* 800B9A28 80 1E 05 8C */ lwz r0, 0x58c(r30) -/* 800B9A2C 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1 -/* 800B9A30 41 82 00 0C */ beq lbl_800B9A3C -/* 800B9A34 38 60 00 00 */ li r3, 0 -/* 800B9A38 48 00 02 DC */ b lbl_800B9D14 -lbl_800B9A3C: -/* 800B9A3C 7F C3 F3 78 */ mr r3, r30 -/* 800B9A40 38 80 00 01 */ li r4, 1 -/* 800B9A44 4B FF F9 B1 */ bl swordEquip__9daAlink_cFi -/* 800B9A48 48 00 02 C8 */ b lbl_800B9D10 -lbl_800B9A4C: -/* 800B9A4C 7F C3 F3 78 */ mr r3, r30 -/* 800B9A50 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800B9A54 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B9A58 7D 89 03 A6 */ mtctr r12 -/* 800B9A5C 4E 80 04 21 */ bctrl -/* 800B9A60 28 03 00 00 */ cmplwi r3, 0 -/* 800B9A64 41 82 00 58 */ beq lbl_800B9ABC -/* 800B9A68 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800B9A6C 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800B9A70 38 63 00 6F */ addi r3, r3, 0x6f -/* 800B9A74 4B FE 3F ED */ bl checkStageName__9daAlink_cFPCc -/* 800B9A78 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B9A7C 40 82 00 40 */ bne lbl_800B9ABC -/* 800B9A80 88 1E 05 6A */ lbz r0, 0x56a(r30) -/* 800B9A84 28 00 00 2D */ cmplwi r0, 0x2d -/* 800B9A88 41 82 00 34 */ beq lbl_800B9ABC -/* 800B9A8C A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9A90 28 00 01 05 */ cmplwi r0, 0x105 -/* 800B9A94 41 82 00 28 */ beq lbl_800B9ABC -/* 800B9A98 7F C3 F3 78 */ mr r3, r30 -/* 800B9A9C 38 80 00 08 */ li r4, 8 -/* 800B9AA0 4B FF 8B 2D */ bl itemTriggerCheck__9daAlink_cFUc -/* 800B9AA4 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9AA8 41 82 00 14 */ beq lbl_800B9ABC -/* 800B9AAC 7F C3 F3 78 */ mr r3, r30 -/* 800B9AB0 38 80 01 05 */ li r4, 0x105 -/* 800B9AB4 4B FF FB 8D */ bl itemEquip__9daAlink_cFUs -/* 800B9AB8 48 00 02 58 */ b lbl_800B9D10 -lbl_800B9ABC: -/* 800B9ABC 3B 80 00 00 */ li r28, 0 -/* 800B9AC0 3B A0 00 01 */ li r29, 1 -/* 800B9AC4 48 00 00 4C */ b lbl_800B9B10 -lbl_800B9AC8: -/* 800B9AC8 7F C3 F3 78 */ mr r3, r30 -/* 800B9ACC 7F 84 E3 78 */ mr r4, r28 -/* 800B9AD0 48 00 6F CD */ bl checkNewItemChange__9daAlink_cFUc -/* 800B9AD4 7C 7B 1B 79 */ or. r27, r3, r3 -/* 800B9AD8 41 82 00 34 */ beq lbl_800B9B0C -/* 800B9ADC 7F C3 F3 78 */ mr r3, r30 -/* 800B9AE0 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 800B9AE4 7F A0 00 30 */ slw r0, r29, r0 -/* 800B9AE8 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800B9AEC 4B FF 8A E1 */ bl itemTriggerCheck__9daAlink_cFUc -/* 800B9AF0 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9AF4 41 82 00 18 */ beq lbl_800B9B0C -/* 800B9AF8 7F C3 F3 78 */ mr r3, r30 -/* 800B9AFC 7F 84 E3 78 */ mr r4, r28 -/* 800B9B00 7F 65 DB 78 */ mr r5, r27 -/* 800B9B04 48 00 6C 79 */ bl changeItemTriggerKeepProc__9daAlink_cFUci -/* 800B9B08 48 00 02 0C */ b lbl_800B9D14 -lbl_800B9B0C: -/* 800B9B0C 3B 9C 00 01 */ addi r28, r28, 1 -lbl_800B9B10: -/* 800B9B10 57 80 06 3E */ clrlwi r0, r28, 0x18 -/* 800B9B14 28 00 00 02 */ cmplwi r0, 2 -/* 800B9B18 41 80 FF B0 */ blt lbl_800B9AC8 -/* 800B9B1C 88 1E 2F 8D */ lbz r0, 0x2f8d(r30) -/* 800B9B20 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800B9B24 41 82 00 84 */ beq lbl_800B9BA8 -/* 800B9B28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B9B2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B9B30 88 03 5E 24 */ lbz r0, 0x5e24(r3) -/* 800B9B34 28 00 00 04 */ cmplwi r0, 4 -/* 800B9B38 40 82 00 70 */ bne lbl_800B9BA8 -/* 800B9B3C A0 7E 2F DC */ lhz r3, 0x2fdc(r30) -/* 800B9B40 28 03 00 48 */ cmplwi r3, 0x48 -/* 800B9B44 41 82 00 1C */ beq lbl_800B9B60 -/* 800B9B48 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 800B9B4C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800B9B50 41 82 00 10 */ beq lbl_800B9B60 -/* 800B9B54 7F C3 F3 78 */ mr r3, r30 -/* 800B9B58 48 05 6C E9 */ bl offKandelaarModel__9daAlink_cFv -/* 800B9B5C 48 00 01 B4 */ b lbl_800B9D10 -lbl_800B9B60: -/* 800B9B60 A8 1E 30 F4 */ lha r0, 0x30f4(r30) -/* 800B9B64 2C 00 00 00 */ cmpwi r0, 0 -/* 800B9B68 41 82 00 30 */ beq lbl_800B9B98 -/* 800B9B6C 28 03 01 03 */ cmplwi r3, 0x103 -/* 800B9B70 40 82 00 28 */ bne lbl_800B9B98 -/* 800B9B74 88 1F 00 14 */ lbz r0, 0x14(r31) -/* 800B9B78 28 00 00 3F */ cmplwi r0, 0x3f -/* 800B9B7C 41 82 00 1C */ beq lbl_800B9B98 -/* 800B9B80 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800B9B84 70 00 04 02 */ andi. r0, r0, 0x402 -/* 800B9B88 40 82 00 10 */ bne lbl_800B9B98 -/* 800B9B8C 7F C3 F3 78 */ mr r3, r30 -/* 800B9B90 48 01 CD FD */ bl procSwordUnequipSpInit__9daAlink_cFv -/* 800B9B94 48 00 01 80 */ b lbl_800B9D14 -lbl_800B9B98: -/* 800B9B98 7F C3 F3 78 */ mr r3, r30 -/* 800B9B9C 38 80 00 01 */ li r4, 1 -/* 800B9BA0 4B FF FC 9D */ bl allUnequip__9daAlink_cFi -/* 800B9BA4 48 00 01 6C */ b lbl_800B9D10 -lbl_800B9BA8: -/* 800B9BA8 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9BAC 28 00 00 FF */ cmplwi r0, 0xff -/* 800B9BB0 40 82 00 94 */ bne lbl_800B9C44 -/* 800B9BB4 80 1E 28 38 */ lwz r0, 0x2838(r30) -/* 800B9BB8 28 00 00 00 */ cmplwi r0, 0 -/* 800B9BBC 40 82 00 88 */ bne lbl_800B9C44 -/* 800B9BC0 7F C3 F3 78 */ mr r3, r30 -/* 800B9BC4 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800B9BC8 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B9BCC 7D 89 03 A6 */ mtctr r12 -/* 800B9BD0 4E 80 04 21 */ bctrl -/* 800B9BD4 28 03 00 00 */ cmplwi r3, 0 -/* 800B9BD8 40 82 00 6C */ bne lbl_800B9C44 -/* 800B9BDC 7F C3 F3 78 */ mr r3, r30 -/* 800B9BE0 4B FF F6 75 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800B9BE4 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9BE8 41 82 00 5C */ beq lbl_800B9C44 -/* 800B9BEC 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 800B9BF0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800B9BF4 41 82 00 50 */ beq lbl_800B9C44 -/* 800B9BF8 3B A0 00 00 */ li r29, 0 -/* 800B9BFC 48 00 00 20 */ b lbl_800B9C1C -lbl_800B9C00: -/* 800B9C00 57 A3 06 3E */ clrlwi r3, r29, 0x18 -/* 800B9C04 4B F7 43 19 */ bl dComIfGp_getSelectItem__Fi -/* 800B9C08 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800B9C0C 28 00 00 48 */ cmplwi r0, 0x48 -/* 800B9C10 40 82 00 08 */ bne lbl_800B9C18 -/* 800B9C14 9B BE 2F 9C */ stb r29, 0x2f9c(r30) -lbl_800B9C18: -/* 800B9C18 3B BD 00 01 */ addi r29, r29, 1 -lbl_800B9C1C: -/* 800B9C1C 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800B9C20 28 00 00 02 */ cmplwi r0, 2 -/* 800B9C24 41 80 FF DC */ blt lbl_800B9C00 -/* 800B9C28 7F C3 F3 78 */ mr r3, r30 -/* 800B9C2C 38 80 00 48 */ li r4, 0x48 -/* 800B9C30 4B FF FA 11 */ bl itemEquip__9daAlink_cFUs -/* 800B9C34 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800B9C38 60 00 00 40 */ ori r0, r0, 0x40 -/* 800B9C3C 90 1E 05 74 */ stw r0, 0x574(r30) -/* 800B9C40 48 00 00 D0 */ b lbl_800B9D10 -lbl_800B9C44: -/* 800B9C44 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9C48 28 00 01 03 */ cmplwi r0, 0x103 -/* 800B9C4C 41 82 00 C4 */ beq lbl_800B9D10 -/* 800B9C50 28 00 00 FF */ cmplwi r0, 0xff -/* 800B9C54 41 82 00 BC */ beq lbl_800B9D10 -/* 800B9C58 28 00 01 0B */ cmplwi r0, 0x10b -/* 800B9C5C 41 82 00 B4 */ beq lbl_800B9D10 -/* 800B9C60 28 00 01 02 */ cmplwi r0, 0x102 -/* 800B9C64 41 82 00 AC */ beq lbl_800B9D10 -/* 800B9C68 7F C3 F3 78 */ mr r3, r30 -/* 800B9C6C 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800B9C70 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B9C74 7D 89 03 A6 */ mtctr r12 -/* 800B9C78 4E 80 04 21 */ bctrl -/* 800B9C7C 28 03 00 00 */ cmplwi r3, 0 -/* 800B9C80 41 82 00 10 */ beq lbl_800B9C90 -/* 800B9C84 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800B9C88 28 00 01 05 */ cmplwi r0, 0x105 -/* 800B9C8C 41 82 00 84 */ beq lbl_800B9D10 -lbl_800B9C90: -/* 800B9C90 7F C3 F3 78 */ mr r3, r30 -/* 800B9C94 48 05 BF 8D */ bl checkEventRun__9daAlink_cCFv -/* 800B9C98 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9C9C 41 82 00 2C */ beq lbl_800B9CC8 -/* 800B9CA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B9CA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B9CA8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800B9CAC 4B F8 E7 3D */ bl getRunEventName__16dEvent_manager_cFv -/* 800B9CB0 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800B9CB4 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800B9CB8 38 84 04 87 */ addi r4, r4, 0x487 -/* 800B9CBC 48 2A EC D9 */ bl strcmp -/* 800B9CC0 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9CC4 41 82 00 4C */ beq lbl_800B9D10 -lbl_800B9CC8: -/* 800B9CC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B9CCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B9CD0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800B9CD4 4B F8 E7 15 */ bl getRunEventName__16dEvent_manager_cFv -/* 800B9CD8 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800B9CDC 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800B9CE0 38 84 04 8D */ addi r4, r4, 0x48d -/* 800B9CE4 48 2A EC B1 */ bl strcmp -/* 800B9CE8 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9CEC 41 82 00 24 */ beq lbl_800B9D10 -/* 800B9CF0 7F C3 F3 78 */ mr r3, r30 -/* 800B9CF4 A0 9E 2F DC */ lhz r4, 0x2fdc(r30) -/* 800B9CF8 48 00 65 11 */ bl checkItemSetButton__9daAlink_cFi -/* 800B9CFC 2C 03 00 02 */ cmpwi r3, 2 -/* 800B9D00 40 82 00 10 */ bne lbl_800B9D10 -/* 800B9D04 7F C3 F3 78 */ mr r3, r30 -/* 800B9D08 38 80 00 01 */ li r4, 1 -/* 800B9D0C 4B FF FB 31 */ bl allUnequip__9daAlink_cFi -lbl_800B9D10: -/* 800B9D10 38 60 00 00 */ li r3, 0 -lbl_800B9D14: -/* 800B9D14 39 61 00 20 */ addi r11, r1, 0x20 -/* 800B9D18 48 2A 85 09 */ bl _restgpr_27 -/* 800B9D1C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800B9D20 7C 08 03 A6 */ mtlr r0 -/* 800B9D24 38 21 00 20 */ addi r1, r1, 0x20 -/* 800B9D28 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkItemEquipAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkItemEquipAnime__9daAlink_cCFv.s deleted file mode 100644 index 4f76bce9e2..0000000000 --- a/asm/d/a/d_a_alink/checkItemEquipAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800B92F8: -/* 800B92F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B92FC 7C 08 02 A6 */ mflr r0 -/* 800B9300 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B9304 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B9308 3B E0 00 00 */ li r31, 0 -/* 800B930C A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800B9310 28 00 02 45 */ cmplwi r0, 0x245 -/* 800B9314 41 82 00 10 */ beq lbl_800B9324 -/* 800B9318 4B FF FF B9 */ bl checkOneHandItemEquipAnime__9daAlink_cCFv -/* 800B931C 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9320 41 82 00 08 */ beq lbl_800B9328 -lbl_800B9324: -/* 800B9324 3B E0 00 01 */ li r31, 1 -lbl_800B9328: -/* 800B9328 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800B932C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B9330 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B9334 7C 08 03 A6 */ mtlr r0 -/* 800B9338 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B933C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s deleted file mode 100644 index 61c7db5f0f..0000000000 --- a/asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80110C6C: -/* 80110C6C 38 80 00 00 */ li r4, 0 -/* 80110C70 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 80110C74 28 00 02 64 */ cmplwi r0, 0x264 -/* 80110C78 41 82 00 10 */ beq lbl_80110C88 -/* 80110C7C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 80110C80 28 00 02 68 */ cmplwi r0, 0x268 -/* 80110C84 40 82 00 08 */ bne lbl_80110C8C -lbl_80110C88: -/* 80110C88 38 80 00 01 */ li r4, 1 -lbl_80110C8C: -/* 80110C8C 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80110C90 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkKandelaarSwing__9daAlink_cCFi.s b/asm/d/a/d_a_alink/checkKandelaarSwing__9daAlink_cCFi.s deleted file mode 100644 index 269a0dc215..0000000000 --- a/asm/d/a/d_a_alink/checkKandelaarSwing__9daAlink_cCFi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_801108B4: -/* 801108B4 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 801108B8 28 00 00 B7 */ cmplwi r0, 0xb7 -/* 801108BC 40 82 00 28 */ bne lbl_801108E4 -/* 801108C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801108C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801108C8 A0 03 00 08 */ lhz r0, 8(r3) -/* 801108CC 28 00 00 00 */ cmplwi r0, 0 -/* 801108D0 40 82 00 0C */ bne lbl_801108DC -/* 801108D4 2C 04 00 00 */ cmpwi r4, 0 -/* 801108D8 40 82 00 0C */ bne lbl_801108E4 -lbl_801108DC: -/* 801108DC 38 60 00 01 */ li r3, 1 -/* 801108E0 4E 80 00 20 */ blr -lbl_801108E4: -/* 801108E4 38 60 00 00 */ li r3, 0 -/* 801108E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkLandAction__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkLandAction__9daAlink_cFi.s deleted file mode 100644 index 5d86877c1c..0000000000 --- a/asm/d/a/d_a_alink/checkLandAction__9daAlink_cFi.s +++ /dev/null @@ -1,183 +0,0 @@ -lbl_800B5CCC: -/* 800B5CCC 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 800B5CD0 7C 08 02 A6 */ mflr r0 -/* 800B5CD4 90 01 00 44 */ stw r0, 0x44(r1) -/* 800B5CD8 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 800B5CDC F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 800B5CE0 39 61 00 30 */ addi r11, r1, 0x30 -/* 800B5CE4 48 2A C4 F1 */ bl _savegpr_27 -/* 800B5CE8 7C 7E 1B 78 */ mr r30, r3 -/* 800B5CEC 7C 9F 23 78 */ mr r31, r4 -/* 800B5CF0 C0 42 93 88 */ lfs f2, lit_8782(r2) -/* 800B5CF4 C0 23 33 C4 */ lfs f1, 0x33c4(r3) -/* 800B5CF8 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 800B5CFC EC 01 00 28 */ fsubs f0, f1, f0 -/* 800B5D00 EF E2 00 32 */ fmuls f31, f2, f0 -/* 800B5D04 A8 63 04 DE */ lha r3, 0x4de(r3) -/* 800B5D08 A8 1E 2F E2 */ lha r0, 0x2fe2(r30) -/* 800B5D0C 7C 03 00 50 */ subf r0, r3, r0 -/* 800B5D10 7C 03 07 34 */ extsh r3, r0 -/* 800B5D14 4B FF D7 81 */ bl getDirectionFromAngle__9daAlink_cFs -/* 800B5D18 7C 7C 1B 78 */ mr r28, r3 -/* 800B5D1C A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800B5D20 A8 1E 04 DE */ lha r0, 0x4de(r30) -/* 800B5D24 7C 03 00 50 */ subf r0, r3, r0 -/* 800B5D28 7C 03 07 34 */ extsh r3, r0 -/* 800B5D2C 4B FF D7 69 */ bl getDirectionFromAngle__9daAlink_cFs -/* 800B5D30 7C 7B 1B 78 */ mr r27, r3 -/* 800B5D34 3B A0 00 00 */ li r29, 0 -/* 800B5D38 C0 3E 33 A8 */ lfs f1, 0x33a8(r30) -/* 800B5D3C C0 02 94 08 */ lfs f0, lit_14064(r2) -/* 800B5D40 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800B5D44 40 81 00 34 */ ble lbl_800B5D78 -/* 800B5D48 2C 1B 00 01 */ cmpwi r27, 1 -/* 800B5D4C 41 82 00 2C */ beq lbl_800B5D78 -/* 800B5D50 7F C3 F3 78 */ mr r3, r30 -/* 800B5D54 48 02 DF 19 */ bl checkGrabAnime__9daAlink_cCFv -/* 800B5D58 2C 03 00 00 */ cmpwi r3, 0 -/* 800B5D5C 40 82 00 1C */ bne lbl_800B5D78 -/* 800B5D60 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800B5D64 28 00 00 2D */ cmplwi r0, 0x2d -/* 800B5D68 41 82 00 10 */ beq lbl_800B5D78 -/* 800B5D6C 2C 1C 00 00 */ cmpwi r28, 0 -/* 800B5D70 40 82 00 08 */ bne lbl_800B5D78 -/* 800B5D74 3B A0 00 01 */ li r29, 1 -lbl_800B5D78: -/* 800B5D78 57 BD 06 3E */ clrlwi r29, r29, 0x18 -/* 800B5D7C 2C 1F 00 00 */ cmpwi r31, 0 -/* 800B5D80 40 82 00 1C */ bne lbl_800B5D9C -/* 800B5D84 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800B5D88 38 63 E4 54 */ addi r3, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800B5D8C C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800B5D90 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800B5D94 4C 41 13 82 */ cror 2, 1, 2 -/* 800B5D98 40 82 00 44 */ bne lbl_800B5DDC -lbl_800B5D9C: -/* 800B5D9C 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800B5DA0 38 63 E4 54 */ addi r3, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800B5DA4 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 800B5DA8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800B5DAC 40 80 00 30 */ bge lbl_800B5DDC -/* 800B5DB0 2C 1D 00 00 */ cmpwi r29, 0 -/* 800B5DB4 41 82 00 28 */ beq lbl_800B5DDC -/* 800B5DB8 2C 1B 00 00 */ cmpwi r27, 0 -/* 800B5DBC 40 82 00 10 */ bne lbl_800B5DCC -/* 800B5DC0 7F C3 F3 78 */ mr r3, r30 -/* 800B5DC4 48 00 EB 89 */ bl procFrontRollInit__9daAlink_cFv -/* 800B5DC8 48 00 01 80 */ b lbl_800B5F48 -lbl_800B5DCC: -/* 800B5DCC 7F C3 F3 78 */ mr r3, r30 -/* 800B5DD0 7F 64 DB 78 */ mr r4, r27 -/* 800B5DD4 48 00 F5 55 */ bl procSideRollInit__9daAlink_cFi -/* 800B5DD8 48 00 01 70 */ b lbl_800B5F48 -lbl_800B5DDC: -/* 800B5DDC 7F C3 F3 78 */ mr r3, r30 -/* 800B5DE0 48 02 11 4D */ bl checkNoLandDamageSlidePolygon__9daAlink_cFv -/* 800B5DE4 2C 03 00 00 */ cmpwi r3, 0 -/* 800B5DE8 40 82 00 18 */ bne lbl_800B5E00 -/* 800B5DEC 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800B5DF0 38 83 E4 54 */ addi r4, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800B5DF4 C0 04 00 34 */ lfs f0, 0x34(r4) -/* 800B5DF8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800B5DFC 40 80 01 2C */ bge lbl_800B5F28 -lbl_800B5E00: -/* 800B5E00 2C 1F 00 00 */ cmpwi r31, 0 -/* 800B5E04 41 82 00 14 */ beq lbl_800B5E18 -/* 800B5E08 7F C3 F3 78 */ mr r3, r30 -/* 800B5E0C 38 80 00 00 */ li r4, 0 -/* 800B5E10 48 02 50 01 */ bl procLandDamageInit__9daAlink_cFi -/* 800B5E14 48 00 01 34 */ b lbl_800B5F48 -lbl_800B5E18: -/* 800B5E18 2C 1D 00 00 */ cmpwi r29, 0 -/* 800B5E1C 41 82 00 34 */ beq lbl_800B5E50 -/* 800B5E20 A0 1E 30 F0 */ lhz r0, 0x30f0(r30) -/* 800B5E24 28 00 00 32 */ cmplwi r0, 0x32 -/* 800B5E28 40 81 00 28 */ ble lbl_800B5E50 -/* 800B5E2C 2C 1B 00 00 */ cmpwi r27, 0 -/* 800B5E30 40 82 00 10 */ bne lbl_800B5E40 -/* 800B5E34 7F C3 F3 78 */ mr r3, r30 -/* 800B5E38 48 00 EB 15 */ bl procFrontRollInit__9daAlink_cFv -/* 800B5E3C 48 00 01 0C */ b lbl_800B5F48 -lbl_800B5E40: -/* 800B5E40 7F C3 F3 78 */ mr r3, r30 -/* 800B5E44 7F 64 DB 78 */ mr r4, r27 -/* 800B5E48 48 00 F4 E1 */ bl procSideRollInit__9daAlink_cFi -/* 800B5E4C 48 00 00 FC */ b lbl_800B5F48 -lbl_800B5E50: -/* 800B5E50 C0 3E 33 AC */ lfs f1, 0x33ac(r30) -/* 800B5E54 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800B5E58 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800B5E5C 40 81 00 BC */ ble lbl_800B5F18 -/* 800B5E60 2C 1B 00 00 */ cmpwi r27, 0 -/* 800B5E64 40 82 00 B4 */ bne lbl_800B5F18 -/* 800B5E68 2C 1C 00 00 */ cmpwi r28, 0 -/* 800B5E6C 40 82 00 AC */ bne lbl_800B5F18 -/* 800B5E70 C0 3E 33 98 */ lfs f1, 0x3398(r30) -/* 800B5E74 C0 02 93 3C */ lfs f0, lit_7808(r2) -/* 800B5E78 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800B5E7C 40 81 00 9C */ ble lbl_800B5F18 -/* 800B5E80 3C 60 80 39 */ lis r3, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800B5E84 38 63 D6 BC */ addi r3, r3, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800B5E88 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 800B5E8C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800B5E90 40 81 00 08 */ ble lbl_800B5E98 -/* 800B5E94 D0 1E 33 98 */ stfs f0, 0x3398(r30) -lbl_800B5E98: -/* 800B5E98 C0 3E 33 98 */ lfs f1, 0x3398(r30) -/* 800B5E9C C0 02 92 AC */ lfs f0, lit_6023(r2) -/* 800B5EA0 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800B5EA4 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800B5EA8 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800B5EAC B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800B5EB0 7F C3 F3 78 */ mr r3, r30 -/* 800B5EB4 48 00 D8 19 */ bl procMoveInit__9daAlink_cFv -/* 800B5EB8 7F C3 F3 78 */ mr r3, r30 -/* 800B5EBC 38 80 00 02 */ li r4, 2 -/* 800B5EC0 48 06 B3 01 */ bl setFootEffectProcType__9daAlink_cFi -/* 800B5EC4 38 00 00 04 */ li r0, 4 -/* 800B5EC8 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 800B5ECC 7F C3 F3 78 */ mr r3, r30 -/* 800B5ED0 48 00 96 11 */ bl resetBasAnime__9daAlink_cFv -/* 800B5ED4 7F C3 F3 78 */ mr r3, r30 -/* 800B5ED8 3C 80 00 03 */ lis r4, 0x0003 /* 0x00030001@ha */ -/* 800B5EDC 38 84 00 01 */ addi r4, r4, 0x0001 /* 0x00030001@l */ -/* 800B5EE0 48 00 92 B5 */ bl seStartMapInfo__9daAlink_cFUl -/* 800B5EE4 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800B5EE8 D0 21 00 08 */ stfs f1, 8(r1) -/* 800B5EEC C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800B5EF0 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800B5EF4 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800B5EF8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B5EFC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B5F00 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800B5F04 38 80 00 01 */ li r4, 1 -/* 800B5F08 38 A0 00 0F */ li r5, 0xf -/* 800B5F0C 38 C1 00 08 */ addi r6, r1, 8 -/* 800B5F10 4B FB 9B 15 */ bl StartShock__12dVibration_cFii4cXyz -/* 800B5F14 48 00 00 34 */ b lbl_800B5F48 -lbl_800B5F18: -/* 800B5F18 7F C3 F3 78 */ mr r3, r30 -/* 800B5F1C FC 20 F8 90 */ fmr f1, f31 -/* 800B5F20 48 01 0F F9 */ bl procLandInit__9daAlink_cFf -/* 800B5F24 48 00 00 24 */ b lbl_800B5F48 -lbl_800B5F28: -/* 800B5F28 7F C3 F3 78 */ mr r3, r30 -/* 800B5F2C C0 04 00 38 */ lfs f0, 0x38(r4) -/* 800B5F30 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 800B5F34 40 80 00 0C */ bge lbl_800B5F40 -/* 800B5F38 38 80 00 01 */ li r4, 1 -/* 800B5F3C 48 00 00 08 */ b lbl_800B5F44 -lbl_800B5F40: -/* 800B5F40 38 80 00 02 */ li r4, 2 -lbl_800B5F44: -/* 800B5F44 48 02 4E CD */ bl procLandDamageInit__9daAlink_cFi -lbl_800B5F48: -/* 800B5F48 38 60 00 01 */ li r3, 1 -/* 800B5F4C E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 800B5F50 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 800B5F54 39 61 00 30 */ addi r11, r1, 0x30 -/* 800B5F58 48 2A C2 C9 */ bl _restgpr_27 -/* 800B5F5C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800B5F60 7C 08 03 A6 */ mtlr r0 -/* 800B5F64 38 21 00 40 */ addi r1, r1, 0x40 -/* 800B5F68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkLargeAttack__9daAlink_cCFi.s b/asm/d/a/d_a_alink/checkLargeAttack__9daAlink_cCFi.s deleted file mode 100644 index 8356dbf08e..0000000000 --- a/asm/d/a/d_a_alink/checkLargeAttack__9daAlink_cCFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800D7C14: -/* 800D7C14 38 60 00 00 */ li r3, 0 -/* 800D7C18 2C 04 00 01 */ cmpwi r4, 1 -/* 800D7C1C 41 82 00 1C */ beq lbl_800D7C38 -/* 800D7C20 2C 04 00 06 */ cmpwi r4, 6 -/* 800D7C24 41 82 00 14 */ beq lbl_800D7C38 -/* 800D7C28 2C 04 00 0A */ cmpwi r4, 0xa -/* 800D7C2C 41 82 00 0C */ beq lbl_800D7C38 -/* 800D7C30 2C 04 00 0D */ cmpwi r4, 0xd -/* 800D7C34 4C 82 00 20 */ bnelr -lbl_800D7C38: -/* 800D7C38 38 60 00 01 */ li r3, 1 -/* 800D7C3C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkLightSwordMtrl__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkLightSwordMtrl__9daAlink_cFv.s deleted file mode 100644 index a16690fee2..0000000000 --- a/asm/d/a/d_a_alink/checkLightSwordMtrl__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800D0E08: -/* 800D0E08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D0E0C 7C 08 02 A6 */ mflr r0 -/* 800D0E10 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D0E14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D0E18 7C 7F 1B 78 */ mr r31, r3 -/* 800D0E1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D0E20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D0E24 88 03 00 14 */ lbz r0, 0x14(r3) -/* 800D0E28 28 00 00 49 */ cmplwi r0, 0x49 -/* 800D0E2C 40 82 00 4C */ bne lbl_800D0E78 -/* 800D0E30 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 800D0E34 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 800D0E38 7D 89 03 A6 */ mtctr r12 -/* 800D0E3C 4E 80 04 21 */ bctrl -/* 800D0E40 88 03 00 09 */ lbz r0, 9(r3) -/* 800D0E44 54 00 FE FE */ rlwinm r0, r0, 0x1f, 0x1b, 0x1f -/* 800D0E48 2C 00 00 17 */ cmpwi r0, 0x17 -/* 800D0E4C 41 82 00 1C */ beq lbl_800D0E68 -/* 800D0E50 3C 60 80 0D */ lis r3, daAlink_searchNightStalker__FP10fopAc_ac_cPv@ha /* 0x800D0D38@ha */ -/* 800D0E54 38 63 0D 38 */ addi r3, r3, daAlink_searchNightStalker__FP10fopAc_ac_cPv@l /* 0x800D0D38@l */ -/* 800D0E58 38 80 00 00 */ li r4, 0 -/* 800D0E5C 4B F4 89 9D */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800D0E60 28 03 00 00 */ cmplwi r3, 0 -/* 800D0E64 41 82 00 14 */ beq lbl_800D0E78 -lbl_800D0E68: -/* 800D0E68 80 1F 05 7C */ lwz r0, 0x57c(r31) -/* 800D0E6C 64 00 00 10 */ oris r0, r0, 0x10 -/* 800D0E70 90 1F 05 7C */ stw r0, 0x57c(r31) -/* 800D0E74 48 00 00 10 */ b lbl_800D0E84 -lbl_800D0E78: -/* 800D0E78 80 1F 05 7C */ lwz r0, 0x57c(r31) -/* 800D0E7C 54 00 03 14 */ rlwinm r0, r0, 0, 0xc, 0xa -/* 800D0E80 90 1F 05 7C */ stw r0, 0x57c(r31) -lbl_800D0E84: -/* 800D0E84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D0E88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D0E8C 7C 08 03 A6 */ mtlr r0 -/* 800D0E90 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D0E94 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s deleted file mode 100644 index ae96f50b73..0000000000 --- a/asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800D77C8: -/* 800D77C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D77CC 7C 08 02 A6 */ mflr r0 -/* 800D77D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D77D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D77D8 93 C1 00 08 */ stw r30, 8(r1) -/* 800D77DC 7C 7E 1B 78 */ mr r30, r3 -/* 800D77E0 3B E0 00 00 */ li r31, 0 -/* 800D77E4 4B FE 86 19 */ bl checkMagicArmorWearAbility__9daAlink_cCFv -/* 800D77E8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D77EC 41 82 00 18 */ beq lbl_800D7804 -/* 800D77F0 7F C3 F3 78 */ mr r3, r30 -/* 800D77F4 4B FE 3C 15 */ bl checkMagicArmorHeavy__9daAlink_cCFv -/* 800D77F8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D77FC 40 82 00 08 */ bne lbl_800D7804 -/* 800D7800 3B E0 00 01 */ li r31, 1 -lbl_800D7804: -/* 800D7804 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800D7808 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D780C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D7810 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D7814 7C 08 03 A6 */ mtlr r0 -/* 800D7818 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D781C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkMagicArmorWearAbility__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkMagicArmorWearAbility__9daAlink_cCFv.s deleted file mode 100644 index 545d43b8a7..0000000000 --- a/asm/d/a/d_a_alink/checkMagicArmorWearAbility__9daAlink_cCFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_800BFDFC: -/* 800BFDFC 38 A0 00 00 */ li r5, 0 -/* 800BFE00 7C A6 2B 78 */ mr r6, r5 -/* 800BFE04 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800BFE08 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BFE0C 40 82 00 1C */ bne lbl_800BFE28 -/* 800BFE10 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800BFE14 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800BFE18 88 04 00 13 */ lbz r0, 0x13(r4) -/* 800BFE1C 28 00 00 30 */ cmplwi r0, 0x30 -/* 800BFE20 40 82 00 08 */ bne lbl_800BFE28 -/* 800BFE24 38 C0 00 01 */ li r6, 1 -lbl_800BFE28: -/* 800BFE28 54 C0 06 3F */ clrlwi. r0, r6, 0x18 -/* 800BFE2C 41 82 00 14 */ beq lbl_800BFE40 -/* 800BFE30 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800BFE34 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 800BFE38 40 82 00 08 */ bne lbl_800BFE40 -/* 800BFE3C 38 A0 00 01 */ li r5, 1 -lbl_800BFE40: -/* 800BFE40 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 800BFE44 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkMiddleBossGoronRoom__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkMiddleBossGoronRoom__9daAlink_cFv.s deleted file mode 100644 index 1cae1169fc..0000000000 --- a/asm/d/a/d_a_alink/checkMiddleBossGoronRoom__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800D6DC4: -/* 800D6DC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6DC8 7C 08 02 A6 */ mflr r0 -/* 800D6DCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6DD0 3C 60 80 39 */ lis r3, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800D6DD4 38 63 20 94 */ addi r3, r3, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800D6DD8 38 63 00 3B */ addi r3, r3, 0x3b -/* 800D6DDC 4B FC 6C 85 */ bl checkStageName__9daAlink_cFPCc -/* 800D6DE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6DE4 7C 08 03 A6 */ mtlr r0 -/* 800D6DE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6DEC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkMidnaDisappearMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkMidnaDisappearMode__9daAlink_cCFv.s deleted file mode 100644 index 883b6425e8..0000000000 --- a/asm/d/a/d_a_alink/checkMidnaDisappearMode__9daAlink_cCFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_801371A0: -/* 801371A0 38 A0 00 00 */ li r5, 0 -/* 801371A4 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 801371A8 28 00 01 33 */ cmplwi r0, 0x133 -/* 801371AC 41 82 00 44 */ beq lbl_801371F0 -/* 801371B0 80 03 05 74 */ lwz r0, 0x574(r3) -/* 801371B4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 801371B8 41 82 00 3C */ beq lbl_801371F4 -/* 801371BC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801371C0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801371C4 80 84 5F 18 */ lwz r4, 0x5f18(r4) -/* 801371C8 54 80 01 09 */ rlwinm. r0, r4, 0, 4, 4 -/* 801371CC 41 82 00 28 */ beq lbl_801371F4 -/* 801371D0 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 801371D4 40 82 00 20 */ bne lbl_801371F4 -/* 801371D8 80 63 27 EC */ lwz r3, 0x27ec(r3) -/* 801371DC 28 03 00 00 */ cmplwi r3, 0 -/* 801371E0 41 82 00 10 */ beq lbl_801371F0 -/* 801371E4 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 801371E8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 801371EC 40 82 00 08 */ bne lbl_801371F4 -lbl_801371F0: -/* 801371F0 38 A0 00 01 */ li r5, 1 -lbl_801371F4: -/* 801371F4 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 801371F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionBoard__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionBoard__9daAlink_cFv.s deleted file mode 100644 index 8bc7262c91..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionBoard__9daAlink_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_8010658C: -/* 8010658C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80106590 7C 08 02 A6 */ mflr r0 -/* 80106594 90 01 00 14 */ stw r0, 0x14(r1) -/* 80106598 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010659C 7C 7F 1B 78 */ mr r31, r3 -/* 801065A0 4B FB 37 8D */ bl checkNextActionFromButton__9daAlink_cFv -/* 801065A4 2C 03 00 00 */ cmpwi r3, 0 -/* 801065A8 41 82 00 0C */ beq lbl_801065B4 -/* 801065AC 38 60 00 01 */ li r3, 1 -/* 801065B0 48 00 00 54 */ b lbl_80106604 -lbl_801065B4: -/* 801065B4 88 1F 2F 8E */ lbz r0, 0x2f8e(r31) -/* 801065B8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 801065BC 40 82 00 18 */ bne lbl_801065D4 -/* 801065C0 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 801065C4 28 00 00 A8 */ cmplwi r0, 0xa8 -/* 801065C8 41 82 00 28 */ beq lbl_801065F0 -/* 801065CC 28 00 00 A9 */ cmplwi r0, 0xa9 -/* 801065D0 41 82 00 20 */ beq lbl_801065F0 -lbl_801065D4: -/* 801065D4 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 801065D8 28 00 00 AC */ cmplwi r0, 0xac -/* 801065DC 41 82 00 14 */ beq lbl_801065F0 -/* 801065E0 28 00 00 A8 */ cmplwi r0, 0xa8 -/* 801065E4 41 82 00 0C */ beq lbl_801065F0 -/* 801065E8 28 00 00 AA */ cmplwi r0, 0xaa -/* 801065EC 40 82 00 0C */ bne lbl_801065F8 -lbl_801065F0: -/* 801065F0 38 60 00 00 */ li r3, 0 -/* 801065F4 48 00 00 10 */ b lbl_80106604 -lbl_801065F8: -/* 801065F8 7F E3 FB 78 */ mr r3, r31 -/* 801065FC 38 80 00 00 */ li r4, 0 -/* 80106600 48 00 04 39 */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -lbl_80106604: -/* 80106604 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80106608 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010660C 7C 08 03 A6 */ mtlr r0 -/* 80106610 38 21 00 10 */ addi r1, r1, 0x10 -/* 80106614 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionBoomerang__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionBoomerang__9daAlink_cFv.s deleted file mode 100644 index 9f6bde27e4..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionBoomerang__9daAlink_cFv.s +++ /dev/null @@ -1,120 +0,0 @@ -lbl_800E0BE4: -/* 800E0BE4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E0BE8 7C 08 02 A6 */ mflr r0 -/* 800E0BEC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E0BF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E0BF4 48 28 15 E9 */ bl _savegpr_29 -/* 800E0BF8 7C 7F 1B 78 */ mr r31, r3 -/* 800E0BFC A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E0C00 28 00 00 52 */ cmplwi r0, 0x52 -/* 800E0C04 40 82 00 20 */ bne lbl_800E0C24 -/* 800E0C08 C0 3F 20 58 */ lfs f1, 0x2058(r31) -/* 800E0C0C 3C 60 80 39 */ lis r3, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E0C10 38 63 E6 C8 */ addi r3, r3, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E0C14 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800E0C18 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E0C1C 4C 40 13 82 */ cror 2, 0, 2 -/* 800E0C20 41 82 00 10 */ beq lbl_800E0C30 -lbl_800E0C24: -/* 800E0C24 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800E0C28 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800E0C2C 41 82 00 0C */ beq lbl_800E0C38 -lbl_800E0C30: -/* 800E0C30 38 60 00 00 */ li r3, 0 -/* 800E0C34 48 00 01 40 */ b lbl_800E0D74 -lbl_800E0C38: -/* 800E0C38 A8 7F 30 8E */ lha r3, 0x308e(r31) -/* 800E0C3C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0C40 41 82 00 0C */ beq lbl_800E0C4C -/* 800E0C44 38 03 FF FF */ addi r0, r3, -1 -/* 800E0C48 B0 1F 30 8E */ sth r0, 0x308e(r31) -lbl_800E0C4C: -/* 800E0C4C 7F E3 FB 78 */ mr r3, r31 -/* 800E0C50 4B FF F7 F1 */ bl checkBoomerangAnime__9daAlink_cCFv -/* 800E0C54 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0C58 40 82 00 4C */ bne lbl_800E0CA4 -/* 800E0C5C 7F E3 FB 78 */ mr r3, r31 -/* 800E0C60 4B FF F8 FD */ bl setBoomerangReadyAnime__9daAlink_cFv -/* 800E0C64 7F E3 FB 78 */ mr r3, r31 -/* 800E0C68 4B FD 65 01 */ bl setFastShotTimer__9daAlink_cFv -/* 800E0C6C 83 DF 27 E0 */ lwz r30, 0x27e0(r31) -/* 800E0C70 3B A0 00 01 */ li r29, 1 -/* 800E0C74 7F C3 F3 78 */ mr r3, r30 -/* 800E0C78 4B F9 2B 6D */ bl LockonTruth__12dAttention_cFv -/* 800E0C7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0C80 40 82 00 14 */ bne lbl_800E0C94 -/* 800E0C84 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 800E0C88 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800E0C8C 40 82 00 08 */ bne lbl_800E0C94 -/* 800E0C90 3B A0 00 00 */ li r29, 0 -lbl_800E0C94: -/* 800E0C94 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800E0C98 40 82 00 0C */ bne lbl_800E0CA4 -/* 800E0C9C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800E0CA0 B0 1F 2F E4 */ sth r0, 0x2fe4(r31) -lbl_800E0CA4: -/* 800E0CA4 83 DF 27 E0 */ lwz r30, 0x27e0(r31) -/* 800E0CA8 3B A0 00 01 */ li r29, 1 -/* 800E0CAC 7F C3 F3 78 */ mr r3, r30 -/* 800E0CB0 4B F9 2B 35 */ bl LockonTruth__12dAttention_cFv -/* 800E0CB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0CB8 40 82 00 14 */ bne lbl_800E0CCC -/* 800E0CBC 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 800E0CC0 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800E0CC4 40 82 00 08 */ bne lbl_800E0CCC -/* 800E0CC8 3B A0 00 00 */ li r29, 0 -lbl_800E0CCC: -/* 800E0CCC 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800E0CD0 40 82 00 5C */ bne lbl_800E0D2C -/* 800E0CD4 A8 1F 30 8E */ lha r0, 0x308e(r31) -/* 800E0CD8 2C 00 00 00 */ cmpwi r0, 0 -/* 800E0CDC 40 82 00 50 */ bne lbl_800E0D2C -/* 800E0CE0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E0CE4 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800E0CE8 41 82 00 38 */ beq lbl_800E0D20 -/* 800E0CEC 7F E3 FB 78 */ mr r3, r31 -/* 800E0CF0 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800E0CF4 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800E0CF8 7D 89 03 A6 */ mtctr r12 -/* 800E0CFC 4E 80 04 21 */ bctrl -/* 800E0D00 28 03 00 00 */ cmplwi r3, 0 -/* 800E0D04 41 82 00 10 */ beq lbl_800E0D14 -/* 800E0D08 7F E3 FB 78 */ mr r3, r31 -/* 800E0D0C 48 01 62 99 */ bl procCanoeBoomerangSubjectInit__9daAlink_cFv -/* 800E0D10 48 00 00 64 */ b lbl_800E0D74 -lbl_800E0D14: -/* 800E0D14 7F E3 FB 78 */ mr r3, r31 -/* 800E0D18 48 01 17 3D */ bl procHorseBoomerangSubjectInit__9daAlink_cFv -/* 800E0D1C 48 00 00 58 */ b lbl_800E0D74 -lbl_800E0D20: -/* 800E0D20 7F E3 FB 78 */ mr r3, r31 -/* 800E0D24 48 00 01 ED */ bl procBoomerangSubjectInit__9daAlink_cFv -/* 800E0D28 48 00 00 4C */ b lbl_800E0D74 -lbl_800E0D2C: -/* 800E0D2C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E0D30 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800E0D34 41 82 00 38 */ beq lbl_800E0D6C -/* 800E0D38 7F E3 FB 78 */ mr r3, r31 -/* 800E0D3C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800E0D40 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800E0D44 7D 89 03 A6 */ mtctr r12 -/* 800E0D48 4E 80 04 21 */ bctrl -/* 800E0D4C 28 03 00 00 */ cmplwi r3, 0 -/* 800E0D50 41 82 00 10 */ beq lbl_800E0D60 -/* 800E0D54 7F E3 FB 78 */ mr r3, r31 -/* 800E0D58 48 01 63 99 */ bl procCanoeBoomerangMoveInit__9daAlink_cFv -/* 800E0D5C 48 00 00 18 */ b lbl_800E0D74 -lbl_800E0D60: -/* 800E0D60 7F E3 FB 78 */ mr r3, r31 -/* 800E0D64 48 01 18 51 */ bl procHorseBoomerangMoveInit__9daAlink_cFv -/* 800E0D68 48 00 00 0C */ b lbl_800E0D74 -lbl_800E0D6C: -/* 800E0D6C 7F E3 FB 78 */ mr r3, r31 -/* 800E0D70 48 00 02 F1 */ bl procBoomerangMoveInit__9daAlink_cFv -lbl_800E0D74: -/* 800E0D74 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E0D78 48 28 14 B1 */ bl _restgpr_29 -/* 800E0D7C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E0D80 7C 08 03 A6 */ mtlr r0 -/* 800E0D84 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E0D88 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionCanoe__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionCanoe__9daAlink_cFv.s deleted file mode 100644 index ef8ffa404f..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionCanoe__9daAlink_cFv.s +++ /dev/null @@ -1,88 +0,0 @@ -lbl_800F4924: -/* 800F4924 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F4928 7C 08 02 A6 */ mflr r0 -/* 800F492C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F4930 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F4934 7C 7F 1B 78 */ mr r31, r3 -/* 800F4938 4B FF F4 21 */ bl checkFishingRodAndLureItem__9daAlink_cCFv -/* 800F493C 2C 03 00 00 */ cmpwi r3, 0 -/* 800F4940 41 82 00 1C */ beq lbl_800F495C -/* 800F4944 80 7F 28 28 */ lwz r3, 0x2828(r31) -/* 800F4948 28 03 00 00 */ cmplwi r3, 0 -/* 800F494C 41 82 00 10 */ beq lbl_800F495C -/* 800F4950 88 03 15 14 */ lbz r0, 0x1514(r3) -/* 800F4954 28 00 00 00 */ cmplwi r0, 0 -/* 800F4958 40 82 00 1C */ bne lbl_800F4974 -lbl_800F495C: -/* 800F495C 7F E3 FB 78 */ mr r3, r31 -/* 800F4960 4B FC 53 CD */ bl checkNextActionFromButton__9daAlink_cFv -/* 800F4964 2C 03 00 00 */ cmpwi r3, 0 -/* 800F4968 41 82 00 0C */ beq lbl_800F4974 -/* 800F496C 38 60 00 01 */ li r3, 1 -/* 800F4970 48 00 00 CC */ b lbl_800F4A3C -lbl_800F4974: -/* 800F4974 7F E3 FB 78 */ mr r3, r31 -/* 800F4978 4B FE A0 71 */ bl checkBowAnime__9daAlink_cCFv -/* 800F497C 2C 03 00 00 */ cmpwi r3, 0 -/* 800F4980 41 82 00 10 */ beq lbl_800F4990 -/* 800F4984 7F E3 FB 78 */ mr r3, r31 -/* 800F4988 4B FE AE 8D */ bl checkNextActionBow__9daAlink_cFv -/* 800F498C 48 00 00 B0 */ b lbl_800F4A3C -lbl_800F4990: -/* 800F4990 7F E3 FB 78 */ mr r3, r31 -/* 800F4994 4B FE BA AD */ bl checkBoomerangAnime__9daAlink_cCFv -/* 800F4998 2C 03 00 00 */ cmpwi r3, 0 -/* 800F499C 41 82 00 10 */ beq lbl_800F49AC -/* 800F49A0 7F E3 FB 78 */ mr r3, r31 -/* 800F49A4 4B FE C2 41 */ bl checkNextActionBoomerang__9daAlink_cFv -/* 800F49A8 48 00 00 94 */ b lbl_800F4A3C -lbl_800F49AC: -/* 800F49AC 38 60 00 00 */ li r3, 0 -/* 800F49B0 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800F49B4 28 00 01 8D */ cmplwi r0, 0x18d -/* 800F49B8 41 82 00 10 */ beq lbl_800F49C8 -/* 800F49BC 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800F49C0 28 00 01 8C */ cmplwi r0, 0x18c -/* 800F49C4 40 82 00 08 */ bne lbl_800F49CC -lbl_800F49C8: -/* 800F49C8 38 60 00 01 */ li r3, 1 -lbl_800F49CC: -/* 800F49CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800F49D0 41 82 00 10 */ beq lbl_800F49E0 -/* 800F49D4 7F E3 FB 78 */ mr r3, r31 -/* 800F49D8 48 01 4B F1 */ bl checkNextActionHookshot__9daAlink_cFv -/* 800F49DC 48 00 00 60 */ b lbl_800F4A3C -lbl_800F49E0: -/* 800F49E0 7F E3 FB 78 */ mr r3, r31 -/* 800F49E4 4B FE F2 B9 */ bl checkGrabAnimeAndThrow__9daAlink_cCFv -/* 800F49E8 2C 03 00 00 */ cmpwi r3, 0 -/* 800F49EC 41 82 00 10 */ beq lbl_800F49FC -/* 800F49F0 7F E3 FB 78 */ mr r3, r31 -/* 800F49F4 48 00 24 BD */ bl procCanoeGrabMoveInit__9daAlink_cFv -/* 800F49F8 48 00 00 44 */ b lbl_800F4A3C -lbl_800F49FC: -/* 800F49FC 38 60 00 00 */ li r3, 0 -/* 800F4A00 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800F4A04 28 00 00 5D */ cmplwi r0, 0x5d -/* 800F4A08 41 82 00 10 */ beq lbl_800F4A18 -/* 800F4A0C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800F4A10 28 00 02 60 */ cmplwi r0, 0x260 -/* 800F4A14 40 82 00 08 */ bne lbl_800F4A1C -lbl_800F4A18: -/* 800F4A18 38 60 00 01 */ li r3, 1 -lbl_800F4A1C: -/* 800F4A1C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800F4A20 41 82 00 10 */ beq lbl_800F4A30 -/* 800F4A24 7F E3 FB 78 */ mr r3, r31 -/* 800F4A28 48 00 1A 3D */ bl procCanoeFishingWaitInit__9daAlink_cFv -/* 800F4A2C 48 00 00 10 */ b lbl_800F4A3C -lbl_800F4A30: -/* 800F4A30 7F E3 FB 78 */ mr r3, r31 -/* 800F4A34 38 80 00 00 */ li r4, 0 -/* 800F4A38 48 00 07 AD */ bl procCanoeWaitInit__9daAlink_cFi -lbl_800F4A3C: -/* 800F4A3C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F4A40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F4A44 7C 08 03 A6 */ mtlr r0 -/* 800F4A48 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F4A4C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionCopyRod__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionCopyRod__9daAlink_cFv.s deleted file mode 100644 index ede252ac71..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionCopyRod__9daAlink_cFv.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_800E1C44: -/* 800E1C44 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E1C48 7C 08 02 A6 */ mflr r0 -/* 800E1C4C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E1C50 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E1C54 48 28 05 89 */ bl _savegpr_29 -/* 800E1C58 7C 7F 1B 78 */ mr r31, r3 -/* 800E1C5C A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E1C60 28 00 00 52 */ cmplwi r0, 0x52 -/* 800E1C64 40 82 00 20 */ bne lbl_800E1C84 -/* 800E1C68 C0 3F 20 58 */ lfs f1, 0x2058(r31) -/* 800E1C6C 3C 60 80 39 */ lis r3, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1C70 38 63 E6 C8 */ addi r3, r3, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1C74 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800E1C78 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E1C7C 4C 40 13 82 */ cror 2, 0, 2 -/* 800E1C80 41 82 00 10 */ beq lbl_800E1C90 -lbl_800E1C84: -/* 800E1C84 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800E1C88 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 800E1C8C 41 82 00 0C */ beq lbl_800E1C98 -lbl_800E1C90: -/* 800E1C90 38 60 00 00 */ li r3, 0 -/* 800E1C94 48 00 00 C0 */ b lbl_800E1D54 -lbl_800E1C98: -/* 800E1C98 A8 7F 30 8E */ lha r3, 0x308e(r31) -/* 800E1C9C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1CA0 41 82 00 0C */ beq lbl_800E1CAC -/* 800E1CA4 38 03 FF FF */ addi r0, r3, -1 -/* 800E1CA8 B0 1F 30 8E */ sth r0, 0x308e(r31) -lbl_800E1CAC: -/* 800E1CAC 7F E3 FB 78 */ mr r3, r31 -/* 800E1CB0 4B FF F8 81 */ bl checkCopyRodAnime__9daAlink_cCFv -/* 800E1CB4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1CB8 40 82 00 4C */ bne lbl_800E1D04 -/* 800E1CBC 7F E3 FB 78 */ mr r3, r31 -/* 800E1CC0 4B FF FB 81 */ bl setCopyRodReadyAnime__9daAlink_cFv -/* 800E1CC4 7F E3 FB 78 */ mr r3, r31 -/* 800E1CC8 4B FD 54 A1 */ bl setFastShotTimer__9daAlink_cFv -/* 800E1CCC 83 DF 27 E0 */ lwz r30, 0x27e0(r31) -/* 800E1CD0 3B A0 00 01 */ li r29, 1 -/* 800E1CD4 7F C3 F3 78 */ mr r3, r30 -/* 800E1CD8 4B F9 1B 0D */ bl LockonTruth__12dAttention_cFv -/* 800E1CDC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1CE0 40 82 00 14 */ bne lbl_800E1CF4 -/* 800E1CE4 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 800E1CE8 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800E1CEC 40 82 00 08 */ bne lbl_800E1CF4 -/* 800E1CF0 3B A0 00 00 */ li r29, 0 -lbl_800E1CF4: -/* 800E1CF4 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800E1CF8 40 82 00 0C */ bne lbl_800E1D04 -/* 800E1CFC A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800E1D00 B0 1F 2F E4 */ sth r0, 0x2fe4(r31) -lbl_800E1D04: -/* 800E1D04 83 DF 27 E0 */ lwz r30, 0x27e0(r31) -/* 800E1D08 3B A0 00 01 */ li r29, 1 -/* 800E1D0C 7F C3 F3 78 */ mr r3, r30 -/* 800E1D10 4B F9 1A D5 */ bl LockonTruth__12dAttention_cFv -/* 800E1D14 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1D18 40 82 00 14 */ bne lbl_800E1D2C -/* 800E1D1C 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 800E1D20 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800E1D24 40 82 00 08 */ bne lbl_800E1D2C -/* 800E1D28 3B A0 00 00 */ li r29, 0 -lbl_800E1D2C: -/* 800E1D2C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800E1D30 40 82 00 1C */ bne lbl_800E1D4C -/* 800E1D34 A8 1F 30 8E */ lha r0, 0x308e(r31) -/* 800E1D38 2C 00 00 00 */ cmpwi r0, 0 -/* 800E1D3C 40 82 00 10 */ bne lbl_800E1D4C -/* 800E1D40 7F E3 FB 78 */ mr r3, r31 -/* 800E1D44 48 00 00 DD */ bl procCopyRodSubjectInit__9daAlink_cFv -/* 800E1D48 48 00 00 0C */ b lbl_800E1D54 -lbl_800E1D4C: -/* 800E1D4C 7F E3 FB 78 */ mr r3, r31 -/* 800E1D50 48 00 02 19 */ bl procCopyRodMoveInit__9daAlink_cFv -lbl_800E1D54: -/* 800E1D54 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E1D58 48 28 04 D1 */ bl _restgpr_29 -/* 800E1D5C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E1D60 7C 08 03 A6 */ mtlr r0 -/* 800E1D64 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E1D68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionFromButton__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionFromButton__9daAlink_cFv.s deleted file mode 100644 index 2a4b0cd9eb..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionFromButton__9daAlink_cFv.s +++ /dev/null @@ -1,154 +0,0 @@ -lbl_800B9D2C: -/* 800B9D2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B9D30 7C 08 02 A6 */ mflr r0 -/* 800B9D34 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B9D38 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B9D3C 7C 7F 1B 78 */ mr r31, r3 -/* 800B9D40 4B FF D3 51 */ bl checkItemChangeAutoAction__9daAlink_cFv -/* 800B9D44 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9D48 41 82 00 0C */ beq lbl_800B9D54 -/* 800B9D4C 38 60 00 01 */ li r3, 1 -/* 800B9D50 48 00 01 EC */ b lbl_800B9F3C -lbl_800B9D54: -/* 800B9D54 7F E3 FB 78 */ mr r3, r31 -/* 800B9D58 4B FF D8 95 */ bl checkUpperItemAction__9daAlink_cFv -/* 800B9D5C 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9D60 41 82 00 0C */ beq lbl_800B9D6C -/* 800B9D64 38 60 00 01 */ li r3, 1 -/* 800B9D68 48 00 01 D4 */ b lbl_800B9F3C -lbl_800B9D6C: -/* 800B9D6C A0 9F 1F BC */ lhz r4, 0x1fbc(r31) -/* 800B9D70 28 04 02 62 */ cmplwi r4, 0x262 -/* 800B9D74 40 82 00 0C */ bne lbl_800B9D80 -/* 800B9D78 38 60 00 00 */ li r3, 0 -/* 800B9D7C 48 00 01 C0 */ b lbl_800B9F3C -lbl_800B9D80: -/* 800B9D80 80 7F 31 A0 */ lwz r3, 0x31a0(r31) -/* 800B9D84 54 60 05 6B */ rlwinm. r0, r3, 0, 0x15, 0x15 -/* 800B9D88 41 82 00 50 */ beq lbl_800B9DD8 -/* 800B9D8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800B9D90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800B9D94 88 03 5E 24 */ lbz r0, 0x5e24(r3) -/* 800B9D98 28 00 00 00 */ cmplwi r0, 0 -/* 800B9D9C 40 82 00 FC */ bne lbl_800B9E98 -/* 800B9DA0 7F E3 FB 78 */ mr r3, r31 -/* 800B9DA4 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800B9DA8 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800B9DAC 7D 89 03 A6 */ mtctr r12 -/* 800B9DB0 4E 80 04 21 */ bctrl -/* 800B9DB4 28 03 00 00 */ cmplwi r3, 0 -/* 800B9DB8 41 82 00 E0 */ beq lbl_800B9E98 -/* 800B9DBC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800B9DC0 28 00 01 05 */ cmplwi r0, 0x105 -/* 800B9DC4 40 82 00 D4 */ bne lbl_800B9E98 -/* 800B9DC8 7F E3 FB 78 */ mr r3, r31 -/* 800B9DCC 38 80 00 04 */ li r4, 4 -/* 800B9DD0 4B FF 94 81 */ bl setDoStatus__9daAlink_cFUc -/* 800B9DD4 48 00 00 C4 */ b lbl_800B9E98 -lbl_800B9DD8: -/* 800B9DD8 54 60 03 5B */ rlwinm. r0, r3, 0, 0xd, 0xd -/* 800B9DDC 40 82 00 BC */ bne lbl_800B9E98 -/* 800B9DE0 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800B9DE4 54 05 01 8D */ rlwinm. r5, r0, 0, 6, 6 -/* 800B9DE8 41 82 00 28 */ beq lbl_800B9E10 -/* 800B9DEC 38 60 00 00 */ li r3, 0 -/* 800B9DF0 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 800B9DF4 28 00 02 DA */ cmplwi r0, 0x2da -/* 800B9DF8 41 82 00 0C */ beq lbl_800B9E04 -/* 800B9DFC 28 00 02 DB */ cmplwi r0, 0x2db -/* 800B9E00 40 82 00 08 */ bne lbl_800B9E08 -lbl_800B9E04: -/* 800B9E04 38 60 00 01 */ li r3, 1 -lbl_800B9E08: -/* 800B9E08 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B9E0C 41 82 00 64 */ beq lbl_800B9E70 -lbl_800B9E10: -/* 800B9E10 28 05 00 00 */ cmplwi r5, 0 -/* 800B9E14 40 82 00 7C */ bne lbl_800B9E90 -/* 800B9E18 7F E3 FB 78 */ mr r3, r31 -/* 800B9E1C 48 02 75 59 */ bl getCopyRodControllActor__9daAlink_cFv -/* 800B9E20 28 03 00 00 */ cmplwi r3, 0 -/* 800B9E24 40 82 00 6C */ bne lbl_800B9E90 -/* 800B9E28 7F E3 FB 78 */ mr r3, r31 -/* 800B9E2C 4B FF F5 15 */ bl checkEquipAnime__9daAlink_cCFv -/* 800B9E30 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9E34 40 82 00 3C */ bne lbl_800B9E70 -/* 800B9E38 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800B9E3C 54 00 01 CF */ rlwinm. r0, r0, 0, 7, 7 -/* 800B9E40 40 82 00 30 */ bne lbl_800B9E70 -/* 800B9E44 7F E3 FB 78 */ mr r3, r31 -/* 800B9E48 48 02 2F A9 */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800B9E4C 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9E50 40 82 00 20 */ bne lbl_800B9E70 -/* 800B9E54 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800B9E58 28 00 01 9C */ cmplwi r0, 0x19c -/* 800B9E5C 41 82 00 14 */ beq lbl_800B9E70 -/* 800B9E60 7F E3 FB 78 */ mr r3, r31 -/* 800B9E64 4B FF F3 F1 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800B9E68 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9E6C 41 82 00 24 */ beq lbl_800B9E90 -lbl_800B9E70: -/* 800B9E70 7F E3 FB 78 */ mr r3, r31 -/* 800B9E74 4B FF B4 11 */ bl decideDoStatus__9daAlink_cFv -/* 800B9E78 7F E3 FB 78 */ mr r3, r31 -/* 800B9E7C 4B FF E4 F9 */ bl checkNormalAction__9daAlink_cFv -/* 800B9E80 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9E84 41 82 00 14 */ beq lbl_800B9E98 -/* 800B9E88 38 60 00 01 */ li r3, 1 -/* 800B9E8C 48 00 00 B0 */ b lbl_800B9F3C -lbl_800B9E90: -/* 800B9E90 7F E3 FB 78 */ mr r3, r31 -/* 800B9E94 4B FF AC E9 */ bl decideCommonDoStatus__9daAlink_cFv -lbl_800B9E98: -/* 800B9E98 7F E3 FB 78 */ mr r3, r31 -/* 800B9E9C 38 80 00 00 */ li r4, 0 -/* 800B9EA0 4B FF D3 4D */ bl cancelUpperItemReadyAnime__9daAlink_cFi -/* 800B9EA4 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9EA8 41 82 00 0C */ beq lbl_800B9EB4 -/* 800B9EAC 38 60 00 01 */ li r3, 1 -/* 800B9EB0 48 00 00 8C */ b lbl_800B9F3C -lbl_800B9EB4: -/* 800B9EB4 7F E3 FB 78 */ mr r3, r31 -/* 800B9EB8 4B FF EA D1 */ bl checkItemAction__9daAlink_cFv -/* 800B9EBC 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9EC0 41 82 00 0C */ beq lbl_800B9ECC -/* 800B9EC4 38 60 00 01 */ li r3, 1 -/* 800B9EC8 48 00 00 74 */ b lbl_800B9F3C -lbl_800B9ECC: -/* 800B9ECC 80 9F 31 A0 */ lwz r4, 0x31a0(r31) -/* 800B9ED0 3C 60 00 04 */ lis r3, 0x0004 /* 0x00040400@ha */ -/* 800B9ED4 38 03 04 00 */ addi r0, r3, 0x0400 /* 0x00040400@l */ -/* 800B9ED8 7C 80 00 39 */ and. r0, r4, r0 -/* 800B9EDC 40 82 00 34 */ bne lbl_800B9F10 -/* 800B9EE0 7F E3 FB 78 */ mr r3, r31 -/* 800B9EE4 4B FF F1 2D */ bl checkRAction__9daAlink_cFv -/* 800B9EE8 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9EEC 41 82 00 0C */ beq lbl_800B9EF8 -/* 800B9EF0 38 60 00 01 */ li r3, 1 -/* 800B9EF4 48 00 00 48 */ b lbl_800B9F3C -lbl_800B9EF8: -/* 800B9EF8 7F E3 FB 78 */ mr r3, r31 -/* 800B9EFC 4B FF F1 1D */ bl checkMoveDoAction__9daAlink_cFv -/* 800B9F00 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9F04 41 82 00 0C */ beq lbl_800B9F10 -/* 800B9F08 38 60 00 01 */ li r3, 1 -/* 800B9F0C 48 00 00 30 */ b lbl_800B9F3C -lbl_800B9F10: -/* 800B9F10 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800B9F14 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 800B9F18 40 82 00 1C */ bne lbl_800B9F34 -/* 800B9F1C 7F E3 FB 78 */ mr r3, r31 -/* 800B9F20 48 01 47 09 */ bl checkSubjectAction__9daAlink_cFv -/* 800B9F24 2C 03 00 00 */ cmpwi r3, 0 -/* 800B9F28 41 82 00 0C */ beq lbl_800B9F34 -/* 800B9F2C 38 60 00 01 */ li r3, 1 -/* 800B9F30 48 00 00 0C */ b lbl_800B9F3C -lbl_800B9F34: -/* 800B9F34 7F E3 FB 78 */ mr r3, r31 -/* 800B9F38 4B FF FA 15 */ bl checkItemChangeFromButton__9daAlink_cFv -lbl_800B9F3C: -/* 800B9F3C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B9F40 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B9F44 7C 08 03 A6 */ mtlr r0 -/* 800B9F48 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B9F4C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionFromCrouch__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkNextActionFromCrouch__9daAlink_cFi.s deleted file mode 100644 index 9b65c3bcfd..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionFromCrouch__9daAlink_cFi.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_800BAF08: -/* 800BAF08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BAF0C 7C 08 02 A6 */ mflr r0 -/* 800BAF10 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BAF14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BAF18 7C 7F 1B 78 */ mr r31, r3 -/* 800BAF1C 4B FF F1 B5 */ bl checkNextAction__9daAlink_cFi -/* 800BAF20 2C 03 00 00 */ cmpwi r3, 0 -/* 800BAF24 41 82 00 44 */ beq lbl_800BAF68 -/* 800BAF28 88 1F 2F 8C */ lbz r0, 0x2f8c(r31) -/* 800BAF2C 28 00 00 01 */ cmplwi r0, 1 -/* 800BAF30 41 82 00 14 */ beq lbl_800BAF44 -/* 800BAF34 28 00 00 02 */ cmplwi r0, 2 -/* 800BAF38 41 82 00 0C */ beq lbl_800BAF44 -/* 800BAF3C 28 00 00 03 */ cmplwi r0, 3 -/* 800BAF40 40 82 00 20 */ bne lbl_800BAF60 -lbl_800BAF44: -/* 800BAF44 80 7F 20 60 */ lwz r3, 0x2060(r31) -/* 800BAF48 3C 80 80 39 */ lis r4, m__20daAlinkHIO_crouch_c0@ha /* 0x8038E01C@ha */ -/* 800BAF4C 38 84 E0 1C */ addi r4, r4, m__20daAlinkHIO_crouch_c0@l /* 0x8038E01C@l */ -/* 800BAF50 C0 24 00 38 */ lfs f1, 0x38(r4) -/* 800BAF54 38 80 00 00 */ li r4, 0 -/* 800BAF58 38 A0 00 23 */ li r5, 0x23 -/* 800BAF5C 4B F5 48 ED */ bl initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs -lbl_800BAF60: -/* 800BAF60 38 60 00 01 */ li r3, 1 -/* 800BAF64 48 00 00 08 */ b lbl_800BAF6C -lbl_800BAF68: -/* 800BAF68 38 60 00 00 */ li r3, 0 -lbl_800BAF6C: -/* 800BAF6C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BAF70 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BAF74 7C 08 03 A6 */ mtlr r0 -/* 800BAF78 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BAF7C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionIronBall__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionIronBall__9daAlink_cFv.s deleted file mode 100644 index 0babcee982..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionIronBall__9daAlink_cFv.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_801153F8: -/* 801153F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801153FC 7C 08 02 A6 */ mflr r0 -/* 80115400 90 01 00 24 */ stw r0, 0x24(r1) -/* 80115404 39 61 00 20 */ addi r11, r1, 0x20 -/* 80115408 48 24 CD D5 */ bl _savegpr_29 -/* 8011540C 7C 7D 1B 78 */ mr r29, r3 -/* 80115410 A8 63 30 8E */ lha r3, 0x308e(r3) -/* 80115414 2C 03 00 00 */ cmpwi r3, 0 -/* 80115418 41 82 00 0C */ beq lbl_80115424 -/* 8011541C 38 03 FF FF */ addi r0, r3, -1 -/* 80115420 B0 1D 30 8E */ sth r0, 0x308e(r29) -lbl_80115424: -/* 80115424 7F A3 EB 78 */ mr r3, r29 -/* 80115428 4B FF FC BD */ bl checkIronBallAnime__9daAlink_cCFv -/* 8011542C 2C 03 00 00 */ cmpwi r3, 0 -/* 80115430 40 82 00 4C */ bne lbl_8011547C -/* 80115434 7F A3 EB 78 */ mr r3, r29 -/* 80115438 4B FF FC D5 */ bl setIronBallReadyAnime__9daAlink_cFv -/* 8011543C 7F A3 EB 78 */ mr r3, r29 -/* 80115440 4B FA 1D 29 */ bl setFastShotTimer__9daAlink_cFv -/* 80115444 83 FD 27 E0 */ lwz r31, 0x27e0(r29) -/* 80115448 3B C0 00 01 */ li r30, 1 -/* 8011544C 7F E3 FB 78 */ mr r3, r31 -/* 80115450 4B F5 E3 95 */ bl LockonTruth__12dAttention_cFv -/* 80115454 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80115458 40 82 00 14 */ bne lbl_8011546C -/* 8011545C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80115460 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 80115464 40 82 00 08 */ bne lbl_8011546C -/* 80115468 3B C0 00 00 */ li r30, 0 -lbl_8011546C: -/* 8011546C 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80115470 40 82 00 0C */ bne lbl_8011547C -/* 80115474 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 80115478 B0 1D 2F E4 */ sth r0, 0x2fe4(r29) -lbl_8011547C: -/* 8011547C 83 FD 27 E0 */ lwz r31, 0x27e0(r29) -/* 80115480 3B C0 00 01 */ li r30, 1 -/* 80115484 7F E3 FB 78 */ mr r3, r31 -/* 80115488 4B F5 E3 5D */ bl LockonTruth__12dAttention_cFv -/* 8011548C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80115490 40 82 00 14 */ bne lbl_801154A4 -/* 80115494 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 80115498 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 8011549C 40 82 00 08 */ bne lbl_801154A4 -/* 801154A0 3B C0 00 00 */ li r30, 0 -lbl_801154A4: -/* 801154A4 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 801154A8 40 82 00 1C */ bne lbl_801154C4 -/* 801154AC A8 1D 30 8E */ lha r0, 0x308e(r29) -/* 801154B0 2C 00 00 00 */ cmpwi r0, 0 -/* 801154B4 40 82 00 10 */ bne lbl_801154C4 -/* 801154B8 7F A3 EB 78 */ mr r3, r29 -/* 801154BC 48 00 00 29 */ bl procIronBallSubjectInit__9daAlink_cFv -/* 801154C0 48 00 00 0C */ b lbl_801154CC -lbl_801154C4: -/* 801154C4 7F A3 EB 78 */ mr r3, r29 -/* 801154C8 48 00 01 25 */ bl procIronBallMoveInit__9daAlink_cFv -lbl_801154CC: -/* 801154CC 39 61 00 20 */ addi r11, r1, 0x20 -/* 801154D0 48 24 CD 59 */ bl _restgpr_29 -/* 801154D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801154D8 7C 08 03 A6 */ mtlr r0 -/* 801154DC 38 21 00 20 */ addi r1, r1, 0x20 -/* 801154E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionSwim__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionSwim__9daAlink_cFv.s deleted file mode 100644 index 2b34e01811..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionSwim__9daAlink_cFv.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_801029C8: -/* 801029C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801029CC 7C 08 02 A6 */ mflr r0 -/* 801029D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801029D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801029D8 7C 7F 1B 78 */ mr r31, r3 -/* 801029DC 48 00 15 49 */ bl checkSwimButtonMove__9daAlink_cFv -/* 801029E0 2C 03 00 00 */ cmpwi r3, 0 -/* 801029E4 41 82 00 1C */ beq lbl_80102A00 -/* 801029E8 7F E3 FB 78 */ mr r3, r31 -/* 801029EC 4B FF EF CD */ bl getZoraSwim__9daAlink_cCFv -/* 801029F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801029F4 41 82 00 0C */ beq lbl_80102A00 -/* 801029F8 38 00 00 1E */ li r0, 0x1e -/* 801029FC B0 1F 30 00 */ sth r0, 0x3000(r31) -lbl_80102A00: -/* 80102A00 7F E3 FB 78 */ mr r3, r31 -/* 80102A04 4B FB D3 AD */ bl checkZoraWearAbility__9daAlink_cCFv -/* 80102A08 2C 03 00 00 */ cmpwi r3, 0 -/* 80102A0C 41 82 00 1C */ beq lbl_80102A28 -/* 80102A10 7F E3 FB 78 */ mr r3, r31 -/* 80102A14 38 80 00 01 */ li r4, 1 -/* 80102A18 38 A0 00 01 */ li r5, 1 -/* 80102A1C 4B FB 8A 9D */ bl checkHeavyStateOn__9daAlink_cFii -/* 80102A20 2C 03 00 00 */ cmpwi r3, 0 -/* 80102A24 41 82 00 10 */ beq lbl_80102A34 -lbl_80102A28: -/* 80102A28 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 80102A2C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80102A30 41 82 00 0C */ beq lbl_80102A3C -lbl_80102A34: -/* 80102A34 7F E3 FB 78 */ mr r3, r31 -/* 80102A38 4B FB 1F D1 */ bl setTalkStatus__9daAlink_cFv -lbl_80102A3C: -/* 80102A3C 7F E3 FB 78 */ mr r3, r31 -/* 80102A40 38 80 00 01 */ li r4, 1 -/* 80102A44 4B FB 51 B5 */ bl orderTalk__9daAlink_cFi -/* 80102A48 2C 03 00 00 */ cmpwi r3, 0 -/* 80102A4C 41 82 00 0C */ beq lbl_80102A58 -/* 80102A50 38 60 00 01 */ li r3, 1 -/* 80102A54 48 00 00 B4 */ b lbl_80102B08 -lbl_80102A58: -/* 80102A58 80 7F 27 E4 */ lwz r3, 0x27e4(r31) -/* 80102A5C 28 03 00 00 */ cmplwi r3, 0 -/* 80102A60 41 82 00 50 */ beq lbl_80102AB0 -/* 80102A64 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80102A68 28 00 00 07 */ cmplwi r0, 7 -/* 80102A6C 40 82 00 44 */ bne lbl_80102AB0 -/* 80102A70 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 80102A74 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80102A78 41 82 00 38 */ beq lbl_80102AB0 -/* 80102A7C 80 7F 27 F4 */ lwz r3, 0x27f4(r31) -/* 80102A80 A8 03 00 08 */ lha r0, 8(r3) -/* 80102A84 2C 00 00 ED */ cmpwi r0, 0xed -/* 80102A88 40 82 00 28 */ bne lbl_80102AB0 -/* 80102A8C 7F E3 FB 78 */ mr r3, r31 -/* 80102A90 38 80 00 17 */ li r4, 0x17 -/* 80102A94 4B FB 07 BD */ bl setDoStatus__9daAlink_cFUc -/* 80102A98 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) -/* 80102A9C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 80102AA0 41 82 00 60 */ beq lbl_80102B00 -/* 80102AA4 7F E3 FB 78 */ mr r3, r31 -/* 80102AA8 4B FF 1F A9 */ bl procCanoeRideInit__9daAlink_cFv -/* 80102AAC 48 00 00 5C */ b lbl_80102B08 -lbl_80102AB0: -/* 80102AB0 7F E3 FB 78 */ mr r3, r31 -/* 80102AB4 48 00 14 71 */ bl checkSwimButtonMove__9daAlink_cFv -/* 80102AB8 2C 03 00 00 */ cmpwi r3, 0 -/* 80102ABC 41 82 00 44 */ beq lbl_80102B00 -/* 80102AC0 7F E3 FB 78 */ mr r3, r31 -/* 80102AC4 48 00 14 D1 */ bl checkZoraSwimMove__9daAlink_cFv -/* 80102AC8 2C 03 00 00 */ cmpwi r3, 0 -/* 80102ACC 40 82 00 34 */ bne lbl_80102B00 -/* 80102AD0 7F E3 FB 78 */ mr r3, r31 -/* 80102AD4 48 00 14 0D */ bl checkSwimButtonAccept__9daAlink_cFv -/* 80102AD8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80102ADC 41 82 00 10 */ beq lbl_80102AEC -/* 80102AE0 7F E3 FB 78 */ mr r3, r31 -/* 80102AE4 48 00 1E 75 */ bl procSwimDiveInit__9daAlink_cFv -/* 80102AE8 48 00 00 20 */ b lbl_80102B08 -lbl_80102AEC: -/* 80102AEC 38 00 00 1E */ li r0, 0x1e -/* 80102AF0 B0 1F 30 00 */ sth r0, 0x3000(r31) -/* 80102AF4 7F E3 FB 78 */ mr r3, r31 -/* 80102AF8 48 00 1B 79 */ bl procSwimMoveInit__9daAlink_cFv -/* 80102AFC 48 00 00 0C */ b lbl_80102B08 -lbl_80102B00: -/* 80102B00 7F E3 FB 78 */ mr r3, r31 -/* 80102B04 4B FB 72 29 */ bl checkNextActionFromButton__9daAlink_cFv -lbl_80102B08: -/* 80102B08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80102B0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80102B10 7C 08 03 A6 */ mtlr r0 -/* 80102B14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80102B18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNextActionWolfFromLie__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNextActionWolfFromLie__9daAlink_cFv.s deleted file mode 100644 index f5315a1eb8..0000000000 --- a/asm/d/a/d_a_alink/checkNextActionWolfFromLie__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_801372B4: -/* 801372B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801372B8 7C 08 02 A6 */ mflr r0 -/* 801372BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801372C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801372C4 7C 7F 1B 78 */ mr r31, r3 -/* 801372C8 38 80 00 00 */ li r4, 0 -/* 801372CC 4B FF 28 79 */ bl checkNextActionWolf__9daAlink_cFi -/* 801372D0 2C 03 00 00 */ cmpwi r3, 0 -/* 801372D4 41 82 00 44 */ beq lbl_80137318 -/* 801372D8 88 1F 2F 8C */ lbz r0, 0x2f8c(r31) -/* 801372DC 28 00 00 01 */ cmplwi r0, 1 -/* 801372E0 41 82 00 14 */ beq lbl_801372F4 -/* 801372E4 28 00 00 02 */ cmplwi r0, 2 -/* 801372E8 41 82 00 0C */ beq lbl_801372F4 -/* 801372EC 28 00 00 03 */ cmplwi r0, 3 -/* 801372F0 40 82 00 20 */ bne lbl_80137310 -lbl_801372F4: -/* 801372F4 80 7F 20 60 */ lwz r3, 0x2060(r31) -/* 801372F8 3C 80 80 39 */ lis r4, m__19daAlinkHIO_wlLie_c0@ha /* 0x8038F138@ha */ -/* 801372FC 38 84 F1 38 */ addi r4, r4, m__19daAlinkHIO_wlLie_c0@l /* 0x8038F138@l */ -/* 80137300 C0 24 00 30 */ lfs f1, 0x30(r4) -/* 80137304 38 80 00 00 */ li r4, 0 -/* 80137308 38 A0 00 28 */ li r5, 0x28 -/* 8013730C 4B ED 85 3D */ bl initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs -lbl_80137310: -/* 80137310 38 60 00 01 */ li r3, 1 -/* 80137314 48 00 00 08 */ b lbl_8013731C -lbl_80137318: -/* 80137318 38 60 00 00 */ li r3, 0 -lbl_8013731C: -/* 8013731C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80137320 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80137324 7C 08 03 A6 */ mtlr r0 -/* 80137328 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013732C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNoCollisionCorret__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkNoCollisionCorret__9daAlink_cFv.s deleted file mode 100644 index 9c99560454..0000000000 --- a/asm/d/a/d_a_alink/checkNoCollisionCorret__9daAlink_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_800AA5E8: -/* 800AA5E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800AA5EC 7C 08 02 A6 */ mflr r0 -/* 800AA5F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800AA5F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800AA5F8 93 C1 00 08 */ stw r30, 8(r1) -/* 800AA5FC 7C 7E 1B 78 */ mr r30, r3 -/* 800AA600 80 A3 31 A0 */ lwz r5, 0x31a0(r3) -/* 800AA604 3C 80 00 01 */ lis r4, 0x0001 /* 0x00012800@ha */ -/* 800AA608 38 04 28 00 */ addi r0, r4, 0x2800 /* 0x00012800@l */ -/* 800AA60C 7C A0 00 39 */ and. r0, r5, r0 -/* 800AA610 40 82 00 80 */ bne lbl_800AA690 -/* 800AA614 A0 1E 06 04 */ lhz r0, 0x604(r30) -/* 800AA618 2C 00 00 01 */ cmpwi r0, 1 -/* 800AA61C 41 82 00 74 */ beq lbl_800AA690 -/* 800AA620 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800AA624 28 00 00 B0 */ cmplwi r0, 0xb0 -/* 800AA628 41 82 00 68 */ beq lbl_800AA690 -/* 800AA62C 48 06 B5 F5 */ bl checkEventRun__9daAlink_cCFv -/* 800AA630 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA634 41 82 00 50 */ beq lbl_800AA684 -/* 800AA638 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA63C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA640 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800AA644 4B F9 DD A5 */ bl getRunEventName__16dEvent_manager_cFv -/* 800AA648 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800AA64C 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800AA650 38 84 04 65 */ addi r4, r4, 0x465 -/* 800AA654 48 2B E3 41 */ bl strcmp -/* 800AA658 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA65C 41 82 00 34 */ beq lbl_800AA690 -/* 800AA660 7F C3 F3 78 */ mr r3, r30 -/* 800AA664 4B F7 14 B1 */ bl fopAcM_getTalkEventPartner__FPC10fopAc_ac_c -/* 800AA668 28 03 00 00 */ cmplwi r3, 0 -/* 800AA66C 41 82 00 18 */ beq lbl_800AA684 -/* 800AA670 83 ED 8A 98 */ lwz r31, m_midnaActor__9daPy_py_c(r13) -/* 800AA674 7F C3 F3 78 */ mr r3, r30 -/* 800AA678 4B F7 14 9D */ bl fopAcM_getTalkEventPartner__FPC10fopAc_ac_c -/* 800AA67C 7C 03 F8 40 */ cmplw r3, r31 -/* 800AA680 41 82 00 10 */ beq lbl_800AA690 -lbl_800AA684: -/* 800AA684 A0 1E 00 F8 */ lhz r0, 0xf8(r30) -/* 800AA688 28 00 00 03 */ cmplwi r0, 3 -/* 800AA68C 40 82 00 0C */ bne lbl_800AA698 -lbl_800AA690: -/* 800AA690 38 60 00 01 */ li r3, 1 -/* 800AA694 48 00 00 08 */ b lbl_800AA69C -lbl_800AA698: -/* 800AA698 38 60 00 00 */ li r3, 0 -lbl_800AA69C: -/* 800AA69C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800AA6A0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800AA6A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800AA6A8 7C 08 03 A6 */ mtlr r0 -/* 800AA6AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800AA6B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkNoUpperAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkNoUpperAnime__9daAlink_cCFv.s deleted file mode 100644 index 03f0aeada6..0000000000 --- a/asm/d/a/d_a_alink/checkNoUpperAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_800B9254: -/* 800B9254 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B9258 7C 08 02 A6 */ mflr r0 -/* 800B925C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B9260 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B9264 93 C1 00 08 */ stw r30, 8(r1) -/* 800B9268 7C 7E 1B 78 */ mr r30, r3 -/* 800B926C 3B E0 00 00 */ li r31, 0 -/* 800B9270 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800B9274 28 00 FF FF */ cmplwi r0, 0xffff -/* 800B9278 41 82 00 38 */ beq lbl_800B92B0 -/* 800B927C 28 00 02 3F */ cmplwi r0, 0x23f -/* 800B9280 41 82 00 30 */ beq lbl_800B92B0 -/* 800B9284 48 00 01 15 */ bl checkWindDashAnime__9daAlink_cCFv -/* 800B9288 2C 03 00 00 */ cmpwi r3, 0 -/* 800B928C 40 82 00 24 */ bne lbl_800B92B0 -/* 800B9290 7F C3 F3 78 */ mr r3, r30 -/* 800B9294 48 00 01 39 */ bl checkSwordTwirlAnime__9daAlink_cCFv -/* 800B9298 2C 03 00 00 */ cmpwi r3, 0 -/* 800B929C 40 82 00 14 */ bne lbl_800B92B0 -/* 800B92A0 7F C3 F3 78 */ mr r3, r30 -/* 800B92A4 48 05 79 C9 */ bl checkKandelaarEquipAnime__9daAlink_cCFv -/* 800B92A8 2C 03 00 00 */ cmpwi r3, 0 -/* 800B92AC 41 82 00 08 */ beq lbl_800B92B4 -lbl_800B92B0: -/* 800B92B0 3B E0 00 01 */ li r31, 1 -lbl_800B92B4: -/* 800B92B4 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800B92B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B92BC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800B92C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B92C4 7C 08 03 A6 */ mtlr r0 -/* 800B92C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B92CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkOilBottleItemNotGet__9daAlink_cFUs.s b/asm/d/a/d_a_alink/checkOilBottleItemNotGet__9daAlink_cFUs.s deleted file mode 100644 index 9940559c54..0000000000 --- a/asm/d/a/d_a_alink/checkOilBottleItemNotGet__9daAlink_cFUs.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8010E584: -/* 8010E584 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010E588 7C 08 02 A6 */ mflr r0 -/* 8010E58C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010E590 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010E594 3B E0 00 00 */ li r31, 0 -/* 8010E598 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 8010E59C 28 00 00 B6 */ cmplwi r0, 0xb6 -/* 8010E5A0 41 82 00 20 */ beq lbl_8010E5C0 -/* 8010E5A4 28 00 00 B5 */ cmplwi r0, 0xb5 -/* 8010E5A8 41 82 00 18 */ beq lbl_8010E5C0 -/* 8010E5AC 54 83 04 3E */ clrlwi r3, r4, 0x10 -/* 8010E5B0 48 05 05 91 */ bl checkOilBottleItem__9daPy_py_cFi -/* 8010E5B4 2C 03 00 00 */ cmpwi r3, 0 -/* 8010E5B8 41 82 00 08 */ beq lbl_8010E5C0 -/* 8010E5BC 3B E0 00 01 */ li r31, 1 -lbl_8010E5C0: -/* 8010E5C0 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 8010E5C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8010E5C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010E5CC 7C 08 03 A6 */ mtlr r0 -/* 8010E5D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010E5D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkOneHandItemEquipAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkOneHandItemEquipAnime__9daAlink_cCFv.s deleted file mode 100644 index 57c8ab8583..0000000000 --- a/asm/d/a/d_a_alink/checkOneHandItemEquipAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800B92D0: -/* 800B92D0 38 80 00 00 */ li r4, 0 -/* 800B92D4 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800B92D8 28 00 02 47 */ cmplwi r0, 0x247 -/* 800B92DC 41 82 00 10 */ beq lbl_800B92EC -/* 800B92E0 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800B92E4 28 00 02 48 */ cmplwi r0, 0x248 -/* 800B92E8 40 82 00 08 */ bne lbl_800B92F0 -lbl_800B92EC: -/* 800B92EC 38 80 00 01 */ li r4, 1 -lbl_800B92F0: -/* 800B92F0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800B92F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkOxygenTimer__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkOxygenTimer__9daAlink_cFv.s deleted file mode 100644 index 857ff9dd86..0000000000 --- a/asm/d/a/d_a_alink/checkOxygenTimer__9daAlink_cFv.s +++ /dev/null @@ -1,94 +0,0 @@ -lbl_80101B44: -/* 80101B44 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80101B48 7C 08 02 A6 */ mflr r0 -/* 80101B4C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80101B50 39 61 00 20 */ addi r11, r1, 0x20 -/* 80101B54 48 26 06 89 */ bl _savegpr_29 -/* 80101B58 7C 7D 1B 78 */ mr r29, r3 -/* 80101B5C 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80101B60 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80101B64 41 82 00 28 */ beq lbl_80101B8C -/* 80101B68 80 1D 31 A0 */ lwz r0, 0x31a0(r29) -/* 80101B6C 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 80101B70 41 82 00 24 */ beq lbl_80101B94 -/* 80101B74 C0 5D 33 B4 */ lfs f2, 0x33b4(r29) -/* 80101B78 C0 22 93 3C */ lfs f1, lit_7808(r2) -/* 80101B7C C0 1D 04 D4 */ lfs f0, 0x4d4(r29) -/* 80101B80 EC 01 00 2A */ fadds f0, f1, f0 -/* 80101B84 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80101B88 40 81 00 0C */ ble lbl_80101B94 -lbl_80101B8C: -/* 80101B8C 3B C0 00 00 */ li r30, 0 -/* 80101B90 48 00 00 08 */ b lbl_80101B98 -lbl_80101B94: -/* 80101B94 3B C0 00 01 */ li r30, 1 -lbl_80101B98: -/* 80101B98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80101B9C 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80101BA0 88 1F 5E B7 */ lbz r0, 0x5eb7(r31) -/* 80101BA4 28 00 00 00 */ cmplwi r0, 0 -/* 80101BA8 41 82 00 8C */ beq lbl_80101C34 -/* 80101BAC 7F A3 EB 78 */ mr r3, r29 -/* 80101BB0 4B FB E2 01 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 80101BB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80101BB8 41 82 00 10 */ beq lbl_80101BC8 -/* 80101BBC 7F A3 EB 78 */ mr r3, r29 -/* 80101BC0 48 00 00 D5 */ bl offOxygenTimer__9daAlink_cFv -/* 80101BC4 48 00 00 B8 */ b lbl_80101C7C -lbl_80101BC8: -/* 80101BC8 2C 1E 00 00 */ cmpwi r30, 0 -/* 80101BCC 41 82 00 40 */ beq lbl_80101C0C -/* 80101BD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80101BD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80101BD8 80 83 5D E8 */ lwz r4, 0x5de8(r3) -/* 80101BDC 80 03 5D EC */ lwz r0, 0x5dec(r3) -/* 80101BE0 7C 00 22 14 */ add r0, r0, r4 -/* 80101BE4 90 03 5D EC */ stw r0, 0x5dec(r3) -/* 80101BE8 88 7D 2F BE */ lbz r3, 0x2fbe(r29) -/* 80101BEC 28 03 00 5A */ cmplwi r3, 0x5a -/* 80101BF0 40 80 00 10 */ bge lbl_80101C00 -/* 80101BF4 38 03 00 01 */ addi r0, r3, 1 -/* 80101BF8 98 1D 2F BE */ stb r0, 0x2fbe(r29) -/* 80101BFC 48 00 00 80 */ b lbl_80101C7C -lbl_80101C00: -/* 80101C00 7F A3 EB 78 */ mr r3, r29 -/* 80101C04 48 00 00 91 */ bl offOxygenTimer__9daAlink_cFv -/* 80101C08 48 00 00 74 */ b lbl_80101C7C -lbl_80101C0C: -/* 80101C0C 7F A3 EB 78 */ mr r3, r29 -/* 80101C10 48 01 40 11 */ bl checkEventRun__9daAlink_cCFv -/* 80101C14 2C 03 00 00 */ cmpwi r3, 0 -/* 80101C18 40 82 00 64 */ bne lbl_80101C7C -/* 80101C1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80101C20 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80101C24 80 64 5D EC */ lwz r3, 0x5dec(r4) -/* 80101C28 38 03 FF FF */ addi r0, r3, -1 -/* 80101C2C 90 04 5D EC */ stw r0, 0x5dec(r4) -/* 80101C30 48 00 00 4C */ b lbl_80101C7C -lbl_80101C34: -/* 80101C34 2C 1E 00 00 */ cmpwi r30, 0 -/* 80101C38 40 82 00 44 */ bne lbl_80101C7C -/* 80101C3C 7F A3 EB 78 */ mr r3, r29 -/* 80101C40 4B FB E1 71 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 80101C44 2C 03 00 00 */ cmpwi r3, 0 -/* 80101C48 40 82 00 34 */ bne lbl_80101C7C -/* 80101C4C 88 7D 2F BE */ lbz r3, 0x2fbe(r29) -/* 80101C50 28 03 00 00 */ cmplwi r3, 0 -/* 80101C54 41 82 00 10 */ beq lbl_80101C64 -/* 80101C58 38 03 FF FF */ addi r0, r3, -1 -/* 80101C5C 98 1D 2F BE */ stb r0, 0x2fbe(r29) -/* 80101C60 48 00 00 1C */ b lbl_80101C7C -lbl_80101C64: -/* 80101C64 38 00 00 01 */ li r0, 1 -/* 80101C68 98 1F 5E B7 */ stb r0, 0x5eb7(r31) -/* 80101C6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80101C70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80101C74 80 03 5D E8 */ lwz r0, 0x5de8(r3) -/* 80101C78 90 03 5D E0 */ stw r0, 0x5de0(r3) -lbl_80101C7C: -/* 80101C7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80101C80 48 26 05 A9 */ bl _restgpr_29 -/* 80101C84 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80101C88 7C 08 03 A6 */ mtlr r0 -/* 80101C8C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80101C90 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkPlayerGuardAndAttack__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkPlayerGuardAndAttack__9daAlink_cCFv.s deleted file mode 100644 index 58241610cb..0000000000 --- a/asm/d/a/d_a_alink/checkPlayerGuardAndAttack__9daAlink_cCFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800DCF04: -/* 800DCF04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DCF08 7C 08 02 A6 */ mflr r0 -/* 800DCF0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DCF10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DCF14 93 C1 00 08 */ stw r30, 8(r1) -/* 800DCF18 7C 7E 1B 78 */ mr r30, r3 -/* 800DCF1C 3B E0 00 00 */ li r31, 0 -/* 800DCF20 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800DCF24 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 800DCF28 7D 89 03 A6 */ mtctr r12 -/* 800DCF2C 4E 80 04 21 */ bctrl -/* 800DCF30 2C 03 00 00 */ cmpwi r3, 0 -/* 800DCF34 40 82 00 10 */ bne lbl_800DCF44 -/* 800DCF38 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800DCF3C 28 00 00 1E */ cmplwi r0, 0x1e -/* 800DCF40 40 82 00 08 */ bne lbl_800DCF48 -lbl_800DCF44: -/* 800DCF44 3B E0 00 01 */ li r31, 1 -lbl_800DCF48: -/* 800DCF48 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DCF4C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DCF50 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DCF54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DCF58 7C 08 03 A6 */ mtlr r0 -/* 800DCF5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DCF60 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s deleted file mode 100644 index d2a66e3d3d..0000000000 --- a/asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800DCE6C: -/* 800DCE6C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DCE70 7C 08 02 A6 */ mflr r0 -/* 800DCE74 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DCE78 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DCE7C 48 28 53 5D */ bl _savegpr_28 -/* 800DCE80 7C 7C 1B 78 */ mr r28, r3 -/* 800DCE84 3B E0 00 01 */ li r31, 1 -/* 800DCE88 7F FE FB 78 */ mr r30, r31 -/* 800DCE8C A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800DCE90 28 00 00 16 */ cmplwi r0, 0x16 -/* 800DCE94 41 82 00 38 */ beq lbl_800DCECC -/* 800DCE98 3B A0 00 00 */ li r29, 0 -/* 800DCE9C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DCEA0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DCEA4 88 04 00 15 */ lbz r0, 0x15(r4) -/* 800DCEA8 28 00 00 FF */ cmplwi r0, 0xff -/* 800DCEAC 41 82 00 14 */ beq lbl_800DCEC0 -/* 800DCEB0 48 01 00 55 */ bl checkHorseLieAnime__9daAlink_cCFv -/* 800DCEB4 2C 03 00 00 */ cmpwi r3, 0 -/* 800DCEB8 41 82 00 08 */ beq lbl_800DCEC0 -/* 800DCEBC 3B A0 00 01 */ li r29, 1 -lbl_800DCEC0: -/* 800DCEC0 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800DCEC4 40 82 00 08 */ bne lbl_800DCECC -/* 800DCEC8 3B C0 00 00 */ li r30, 0 -lbl_800DCECC: -/* 800DCECC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800DCED0 40 82 00 18 */ bne lbl_800DCEE8 -/* 800DCED4 7F 83 E3 78 */ mr r3, r28 -/* 800DCED8 4B FF FF 19 */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800DCEDC 2C 03 00 00 */ cmpwi r3, 0 -/* 800DCEE0 40 82 00 08 */ bne lbl_800DCEE8 -/* 800DCEE4 3B E0 00 00 */ li r31, 0 -lbl_800DCEE8: -/* 800DCEE8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DCEEC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DCEF0 48 28 53 35 */ bl _restgpr_28 -/* 800DCEF4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DCEF8 7C 08 03 A6 */ mtlr r0 -/* 800DCEFC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DCF00 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s deleted file mode 100644 index 2f5314e005..0000000000 --- a/asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80101CB8: -/* 80101CB8 38 A0 00 00 */ li r5, 0 -/* 80101CBC 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 80101CC0 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf -/* 80101CC4 40 82 00 24 */ bne lbl_80101CE8 -/* 80101CC8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80101CCC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80101CD0 80 04 5F 1C */ lwz r0, 0x5f1c(r4) -/* 80101CD4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80101CD8 40 82 00 10 */ bne lbl_80101CE8 -/* 80101CDC A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 80101CE0 28 00 00 C6 */ cmplwi r0, 0xc6 -/* 80101CE4 40 82 00 08 */ bne lbl_80101CEC -lbl_80101CE8: -/* 80101CE8 38 A0 00 01 */ li r5, 1 -lbl_80101CEC: -/* 80101CEC 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 80101CF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo.s b/asm/d/a/d_a_alink/checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo.s deleted file mode 100644 index 002579ce49..0000000000 --- a/asm/d/a/d_a_alink/checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80105ABC: -/* 80105ABC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80105AC0 7C 08 02 A6 */ mflr r0 -/* 80105AC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80105AC8 7C 64 1B 78 */ mr r4, r3 -/* 80105ACC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80105AD0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80105AD4 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80105AD8 4B F6 F1 E5 */ bl GetSpecialCode__4dBgSFRC13cBgS_PolyInfo -/* 80105ADC 38 80 00 01 */ li r4, 1 -/* 80105AE0 38 03 FF FB */ addi r0, r3, -5 -/* 80105AE4 38 60 FF FF */ li r3, -1 -/* 80105AE8 7C 00 20 10 */ subfc r0, r0, r4 -/* 80105AEC 7C 03 01 90 */ subfze r0, r3 -/* 80105AF0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80105AF4 40 82 00 08 */ bne lbl_80105AFC -/* 80105AF8 38 80 00 00 */ li r4, 0 -lbl_80105AFC: -/* 80105AFC 7C 83 23 78 */ mr r3, r4 -/* 80105B00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80105B04 7C 08 03 A6 */ mtlr r0 -/* 80105B08 38 21 00 10 */ addi r1, r1, 0x10 -/* 80105B0C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSnowCode__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkSnowCode__9daAlink_cCFv.s deleted file mode 100644 index 8ad8b6e36f..0000000000 --- a/asm/d/a/d_a_alink/checkSnowCode__9daAlink_cCFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80105A98: -/* 80105A98 38 00 00 00 */ li r0, 0 -/* 80105A9C 88 63 2F A8 */ lbz r3, 0x2fa8(r3) -/* 80105AA0 28 03 00 06 */ cmplwi r3, 6 -/* 80105AA4 41 82 00 0C */ beq lbl_80105AB0 -/* 80105AA8 28 03 00 05 */ cmplwi r3, 5 -/* 80105AAC 40 82 00 08 */ bne lbl_80105AB4 -lbl_80105AB0: -/* 80105AB0 38 00 00 01 */ li r0, 1 -lbl_80105AB4: -/* 80105AB4 7C 03 03 78 */ mr r3, r0 -/* 80105AB8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSubjectAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkSubjectAction__9daAlink_cFv.s deleted file mode 100644 index 145ffaa121..0000000000 --- a/asm/d/a/d_a_alink/checkSubjectAction__9daAlink_cFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_800CE628: -/* 800CE628 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CE62C 7C 08 02 A6 */ mflr r0 -/* 800CE630 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CE634 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CE638 7C 7F 1B 78 */ mr r31, r3 -/* 800CE63C 4B FF FE 2D */ bl acceptSubjectModeChange__9daAlink_cFv -/* 800CE640 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800CE644 41 82 00 CC */ beq lbl_800CE710 -/* 800CE648 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800CE64C 64 00 04 00 */ oris r0, r0, 0x400 -/* 800CE650 90 1F 05 80 */ stw r0, 0x580(r31) -/* 800CE654 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CE658 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CE65C 80 1F 31 7C */ lwz r0, 0x317c(r31) -/* 800CE660 1C 00 00 38 */ mulli r0, r0, 0x38 -/* 800CE664 7C 63 02 14 */ add r3, r3, r0 -/* 800CE668 80 03 5D 7C */ lwz r0, 0x5d7c(r3) -/* 800CE66C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800CE670 41 82 00 A0 */ beq lbl_800CE710 -/* 800CE674 80 7F 31 A0 */ lwz r3, 0x31a0(r31) -/* 800CE678 54 60 05 6B */ rlwinm. r0, r3, 0, 0x15, 0x15 -/* 800CE67C 41 82 00 60 */ beq lbl_800CE6DC -/* 800CE680 7F E3 FB 78 */ mr r3, r31 -/* 800CE684 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800CE688 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800CE68C 7D 89 03 A6 */ mtctr r12 -/* 800CE690 4E 80 04 21 */ bctrl -/* 800CE694 28 03 00 00 */ cmplwi r3, 0 -/* 800CE698 41 82 00 10 */ beq lbl_800CE6A8 -/* 800CE69C 7F E3 FB 78 */ mr r3, r31 -/* 800CE6A0 48 02 85 4D */ bl procCanoeSubjectivityInit__9daAlink_cFv -/* 800CE6A4 48 00 00 70 */ b lbl_800CE714 -lbl_800CE6A8: -/* 800CE6A8 7F E3 FB 78 */ mr r3, r31 -/* 800CE6AC 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800CE6B0 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 800CE6B4 7D 89 03 A6 */ mtctr r12 -/* 800CE6B8 4E 80 04 21 */ bctrl -/* 800CE6BC 28 03 00 00 */ cmplwi r3, 0 -/* 800CE6C0 41 82 00 10 */ beq lbl_800CE6D0 -/* 800CE6C4 7F E3 FB 78 */ mr r3, r31 -/* 800CE6C8 48 03 8D 09 */ bl procBoardSubjectivityInit__9daAlink_cFv -/* 800CE6CC 48 00 00 48 */ b lbl_800CE714 -lbl_800CE6D0: -/* 800CE6D0 7F E3 FB 78 */ mr r3, r31 -/* 800CE6D4 48 02 2B C1 */ bl procHorseSubjectivityInit__9daAlink_cFv -/* 800CE6D8 48 00 00 3C */ b lbl_800CE714 -lbl_800CE6DC: -/* 800CE6DC 54 60 03 9D */ rlwinm. r0, r3, 0, 0xe, 0xe -/* 800CE6E0 41 82 00 10 */ beq lbl_800CE6F0 -/* 800CE6E4 7F E3 FB 78 */ mr r3, r31 -/* 800CE6E8 48 06 51 65 */ bl procWolfRopeSubjectivityInit__9daAlink_cFv -/* 800CE6EC 48 00 00 28 */ b lbl_800CE714 -lbl_800CE6F0: -/* 800CE6F0 54 60 03 5B */ rlwinm. r0, r3, 0, 0xd, 0xd -/* 800CE6F4 41 82 00 10 */ beq lbl_800CE704 -/* 800CE6F8 7F E3 FB 78 */ mr r3, r31 -/* 800CE6FC 48 00 08 75 */ bl procCoSwimSubjectivityInit__9daAlink_cFv -/* 800CE700 48 00 00 14 */ b lbl_800CE714 -lbl_800CE704: -/* 800CE704 7F E3 FB 78 */ mr r3, r31 -/* 800CE708 48 00 06 7D */ bl procCoSubjectivityInit__9daAlink_cFv -/* 800CE70C 48 00 00 08 */ b lbl_800CE714 -lbl_800CE710: -/* 800CE710 38 60 00 00 */ li r3, 0 -lbl_800CE714: -/* 800CE714 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CE718 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CE71C 7C 08 03 A6 */ mtlr r0 -/* 800CE720 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CE724 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSumouVsActor__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkSumouVsActor__9daAlink_cFv.s deleted file mode 100644 index 3becabddb5..0000000000 --- a/asm/d/a/d_a_alink/checkSumouVsActor__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800EA844: -/* 800EA844 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EA848 7C 08 02 A6 */ mflr r0 -/* 800EA84C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EA850 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EA854 7C 7F 1B 78 */ mr r31, r3 -/* 800EA858 38 7F 28 54 */ addi r3, r31, 0x2854 -/* 800EA85C 48 07 43 ED */ bl setActor__16daPy_actorKeep_cFv -/* 800EA860 80 1F 28 58 */ lwz r0, 0x2858(r31) -/* 800EA864 28 00 00 00 */ cmplwi r0, 0 -/* 800EA868 40 82 00 1C */ bne lbl_800EA884 -/* 800EA86C 7F E3 FB 78 */ mr r3, r31 -/* 800EA870 48 00 00 61 */ bl cancelSumouMode__9daAlink_cFv -/* 800EA874 7F E3 FB 78 */ mr r3, r31 -/* 800EA878 4B FD 8B 41 */ bl procWaitInit__9daAlink_cFv -/* 800EA87C 38 60 00 00 */ li r3, 0 -/* 800EA880 48 00 00 3C */ b lbl_800EA8BC -lbl_800EA884: -/* 800EA884 88 1F 05 6A */ lbz r0, 0x56a(r31) -/* 800EA888 28 00 00 0D */ cmplwi r0, 0xd -/* 800EA88C 41 82 00 1C */ beq lbl_800EA8A8 -/* 800EA890 28 00 00 0B */ cmplwi r0, 0xb -/* 800EA894 41 82 00 14 */ beq lbl_800EA8A8 -/* 800EA898 28 00 00 0C */ cmplwi r0, 0xc -/* 800EA89C 41 82 00 0C */ beq lbl_800EA8A8 -/* 800EA8A0 28 00 00 0E */ cmplwi r0, 0xe -/* 800EA8A4 40 82 00 14 */ bne lbl_800EA8B8 -lbl_800EA8A8: -/* 800EA8A8 7F E3 FB 78 */ mr r3, r31 -/* 800EA8AC 48 00 19 61 */ bl procSumouWinLoseInit__9daAlink_cFv -/* 800EA8B0 38 60 00 00 */ li r3, 0 -/* 800EA8B4 48 00 00 08 */ b lbl_800EA8BC -lbl_800EA8B8: -/* 800EA8B8 38 60 00 01 */ li r3, 1 -lbl_800EA8BC: -/* 800EA8BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EA8C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EA8C4 7C 08 03 A6 */ mtlr r0 -/* 800EA8C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EA8CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSwimButtonAccept__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkSwimButtonAccept__9daAlink_cFv.s deleted file mode 100644 index 2916f2d446..0000000000 --- a/asm/d/a/d_a_alink/checkSwimButtonAccept__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80103EE0: -/* 80103EE0 38 60 00 00 */ li r3, 0 -/* 80103EE4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80103EE8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80103EEC 88 04 5E 24 */ lbz r0, 0x5e24(r4) -/* 80103EF0 28 00 00 41 */ cmplwi r0, 0x41 -/* 80103EF4 41 82 00 0C */ beq lbl_80103F00 -/* 80103EF8 28 00 00 4C */ cmplwi r0, 0x4c -/* 80103EFC 4C 82 00 20 */ bnelr -lbl_80103F00: -/* 80103F00 38 60 00 01 */ li r3, 1 -/* 80103F04 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSwimButtonMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkSwimButtonMove__9daAlink_cFv.s deleted file mode 100644 index a4e16fe9c0..0000000000 --- a/asm/d/a/d_a_alink/checkSwimButtonMove__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80103F24: -/* 80103F24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80103F28 7C 08 02 A6 */ mflr r0 -/* 80103F2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80103F30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80103F34 93 C1 00 08 */ stw r30, 8(r1) -/* 80103F38 7C 7E 1B 78 */ mr r30, r3 -/* 80103F3C 3B E0 00 00 */ li r31, 0 -/* 80103F40 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80103F44 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80103F48 40 82 00 30 */ bne lbl_80103F78 -/* 80103F4C 4B FF FF 95 */ bl checkSwimButtonAccept__9daAlink_cFv -/* 80103F50 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80103F54 40 82 00 14 */ bne lbl_80103F68 -/* 80103F58 7F C3 F3 78 */ mr r3, r30 -/* 80103F5C 4B FF FF AD */ bl checkUpSwimButtonAccept__9daAlink_cFv -/* 80103F60 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80103F64 41 82 00 14 */ beq lbl_80103F78 -lbl_80103F68: -/* 80103F68 88 1E 2F 8E */ lbz r0, 0x2f8e(r30) -/* 80103F6C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 80103F70 41 82 00 08 */ beq lbl_80103F78 -/* 80103F74 3B E0 00 01 */ li r31, 1 -lbl_80103F78: -/* 80103F78 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80103F7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80103F80 83 C1 00 08 */ lwz r30, 8(r1) -/* 80103F84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80103F88 7C 08 03 A6 */ mtlr r0 -/* 80103F8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80103F90 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSwimFall__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkSwimFall__9daAlink_cFv.s deleted file mode 100644 index 614b6e1716..0000000000 --- a/asm/d/a/d_a_alink/checkSwimFall__9daAlink_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80103398: -/* 80103398 80 03 05 70 */ lwz r0, 0x570(r3) -/* 8010339C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 801033A0 41 82 00 1C */ beq lbl_801033BC -/* 801033A4 C0 43 04 D4 */ lfs f2, 0x4d4(r3) -/* 801033A8 C0 23 33 B4 */ lfs f1, 0x33b4(r3) -/* 801033AC C0 0D 81 10 */ lfs f0, l_autoUpHeight(r13) -/* 801033B0 EC 01 00 2A */ fadds f0, f1, f0 -/* 801033B4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 801033B8 40 81 00 0C */ ble lbl_801033C4 -lbl_801033BC: -/* 801033BC 38 60 00 01 */ li r3, 1 -/* 801033C0 4E 80 00 20 */ blr -lbl_801033C4: -/* 801033C4 38 60 00 00 */ li r3, 0 -/* 801033C8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSwimNeckUpDown__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkSwimNeckUpDown__9daAlink_cCFv.s deleted file mode 100644 index a84fe15af6..0000000000 --- a/asm/d/a/d_a_alink/checkSwimNeckUpDown__9daAlink_cCFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80103FE8: -/* 80103FE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80103FEC 7C 08 02 A6 */ mflr r0 -/* 80103FF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80103FF4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80103FF8 3B E0 00 00 */ li r31, 0 -/* 80103FFC 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80104000 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80104004 40 82 00 18 */ bne lbl_8010401C -/* 80104008 38 80 00 14 */ li r4, 0x14 -/* 8010400C 4B FA 85 4D */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 80104010 2C 03 00 00 */ cmpwi r3, 0 -/* 80104014 41 82 00 08 */ beq lbl_8010401C -/* 80104018 3B E0 00 01 */ li r31, 1 -lbl_8010401C: -/* 8010401C 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80104020 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80104024 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80104028 7C 08 03 A6 */ mtlr r0 -/* 8010402C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80104030 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkSwordTwirlAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkSwordTwirlAnime__9daAlink_cCFv.s deleted file mode 100644 index 2c757a093d..0000000000 --- a/asm/d/a/d_a_alink/checkSwordTwirlAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800B93CC: -/* 800B93CC 38 80 00 00 */ li r4, 0 -/* 800B93D0 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800B93D4 28 00 00 40 */ cmplwi r0, 0x40 -/* 800B93D8 41 82 00 10 */ beq lbl_800B93E8 -/* 800B93DC 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800B93E0 28 00 00 3F */ cmplwi r0, 0x3f -/* 800B93E4 40 82 00 08 */ bne lbl_800B93EC -lbl_800B93E8: -/* 800B93E8 38 80 00 01 */ li r4, 1 -lbl_800B93EC: -/* 800B93EC 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800B93F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpSwimButtonAccept__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpSwimButtonAccept__9daAlink_cFv.s deleted file mode 100644 index fa793209a6..0000000000 --- a/asm/d/a/d_a_alink/checkUpSwimButtonAccept__9daAlink_cFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80103F08: -/* 80103F08 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80103F0C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80103F10 88 03 5E 24 */ lbz r0, 0x5e24(r3) -/* 80103F14 20 00 00 97 */ subfic r0, r0, 0x97 -/* 80103F18 7C 00 00 34 */ cntlzw r0, r0 -/* 80103F1C 54 03 D9 7E */ srwi r3, r0, 5 -/* 80103F20 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s deleted file mode 100644 index ab941c80f0..0000000000 --- a/asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_800DCDF0: -/* 800DCDF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DCDF4 7C 08 02 A6 */ mflr r0 -/* 800DCDF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DCDFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DCE00 93 C1 00 08 */ stw r30, 8(r1) -/* 800DCE04 7C 7E 1B 78 */ mr r30, r3 -/* 800DCE08 3B E0 00 00 */ li r31, 0 -/* 800DCE0C 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800DCE10 54 00 01 09 */ rlwinm. r0, r0, 0, 4, 4 -/* 800DCE14 41 82 00 3C */ beq lbl_800DCE50 -/* 800DCE18 48 03 8E 09 */ bl checkEventRun__9daAlink_cCFv -/* 800DCE1C 2C 03 00 00 */ cmpwi r3, 0 -/* 800DCE20 40 82 00 30 */ bne lbl_800DCE50 -/* 800DCE24 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800DCE28 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800DCE2C 40 82 00 24 */ bne lbl_800DCE50 -/* 800DCE30 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800DCE34 28 00 00 1F */ cmplwi r0, 0x1f -/* 800DCE38 41 82 00 18 */ beq lbl_800DCE50 -/* 800DCE3C 28 00 00 25 */ cmplwi r0, 0x25 -/* 800DCE40 41 82 00 10 */ beq lbl_800DCE50 -/* 800DCE44 28 00 00 1E */ cmplwi r0, 0x1e -/* 800DCE48 41 82 00 08 */ beq lbl_800DCE50 -/* 800DCE4C 3B E0 00 01 */ li r31, 1 -lbl_800DCE50: -/* 800DCE50 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DCE54 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DCE58 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DCE5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DCE60 7C 08 03 A6 */ mtlr r0 -/* 800DCE64 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DCE68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperItemActionBoomerangFly__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpperItemActionBoomerangFly__9daAlink_cFv.s deleted file mode 100644 index 1acc7e81a3..0000000000 --- a/asm/d/a/d_a_alink/checkUpperItemActionBoomerangFly__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800E0B58: -/* 800E0B58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0B5C 7C 08 02 A6 */ mflr r0 -/* 800E0B60 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0B64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0B68 7C 7F 1B 78 */ mr r31, r3 -/* 800E0B6C 38 60 00 00 */ li r3, 0 -/* 800E0B70 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E0B74 28 00 00 40 */ cmplwi r0, 0x40 -/* 800E0B78 41 82 00 0C */ beq lbl_800E0B84 -/* 800E0B7C 28 00 01 02 */ cmplwi r0, 0x102 -/* 800E0B80 40 82 00 14 */ bne lbl_800E0B94 -lbl_800E0B84: -/* 800E0B84 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E0B88 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E0B8C 40 82 00 08 */ bne lbl_800E0B94 -/* 800E0B90 38 60 00 01 */ li r3, 1 -lbl_800E0B94: -/* 800E0B94 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0B98 41 82 00 10 */ beq lbl_800E0BA8 -/* 800E0B9C 7F E3 FB 78 */ mr r3, r31 -/* 800E0BA0 4B FF FE FD */ bl checkUpperItemActionBoomerang__9daAlink_cFv -/* 800E0BA4 48 00 00 2C */ b lbl_800E0BD0 -lbl_800E0BA8: -/* 800E0BA8 7F E3 FB 78 */ mr r3, r31 -/* 800E0BAC 4B FD 7D 85 */ bl checkReadyItem__9daAlink_cFv -/* 800E0BB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0BB4 41 82 00 1C */ beq lbl_800E0BD0 -/* 800E0BB8 7F E3 FB 78 */ mr r3, r31 -/* 800E0BBC 4B FD 1A 79 */ bl itemTrigger__9daAlink_cFv -/* 800E0BC0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0BC4 41 82 00 0C */ beq lbl_800E0BD0 -/* 800E0BC8 7F E3 FB 78 */ mr r3, r31 -/* 800E0BCC 4B FF F9 91 */ bl setBoomerangReadyAnime__9daAlink_cFv -lbl_800E0BD0: -/* 800E0BD0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E0BD4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E0BD8 7C 08 03 A6 */ mtlr r0 -/* 800E0BDC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E0BE0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperItemActionBoomerang__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpperItemActionBoomerang__9daAlink_cFv.s deleted file mode 100644 index 1aef71410c..0000000000 --- a/asm/d/a/d_a_alink/checkUpperItemActionBoomerang__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_800E0A9C: -/* 800E0A9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0AA0 7C 08 02 A6 */ mflr r0 -/* 800E0AA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0AA8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0AAC 7C 7F 1B 78 */ mr r31, r3 -/* 800E0AB0 A8 83 30 18 */ lha r4, 0x3018(r3) -/* 800E0AB4 2C 04 00 00 */ cmpwi r4, 0 -/* 800E0AB8 41 82 00 20 */ beq lbl_800E0AD8 -/* 800E0ABC 38 04 FF FF */ addi r0, r4, -1 -/* 800E0AC0 B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 800E0AC4 A8 1F 30 18 */ lha r0, 0x3018(r31) -/* 800E0AC8 2C 00 00 00 */ cmpwi r0, 0 -/* 800E0ACC 40 82 00 0C */ bne lbl_800E0AD8 -/* 800E0AD0 38 80 00 00 */ li r4, 0 -/* 800E0AD4 4B FD 66 BD */ bl cancelItemUseQuake__9daAlink_cFi -lbl_800E0AD8: -/* 800E0AD8 7F E3 FB 78 */ mr r3, r31 -/* 800E0ADC 4B FD 7E 55 */ bl checkReadyItem__9daAlink_cFv -/* 800E0AE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0AE4 41 82 00 54 */ beq lbl_800E0B38 -/* 800E0AE8 7F E3 FB 78 */ mr r3, r31 -/* 800E0AEC 4B FD 1B 19 */ bl itemButton__9daAlink_cFv -/* 800E0AF0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0AF4 40 82 00 44 */ bne lbl_800E0B38 -/* 800E0AF8 38 60 00 00 */ li r3, 0 -/* 800E0AFC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E0B00 28 00 00 40 */ cmplwi r0, 0x40 -/* 800E0B04 41 82 00 0C */ beq lbl_800E0B10 -/* 800E0B08 28 00 01 02 */ cmplwi r0, 0x102 -/* 800E0B0C 40 82 00 14 */ bne lbl_800E0B20 -lbl_800E0B10: -/* 800E0B10 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E0B14 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E0B18 40 82 00 08 */ bne lbl_800E0B20 -/* 800E0B1C 38 60 00 01 */ li r3, 1 -lbl_800E0B20: -/* 800E0B20 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0B24 41 82 00 14 */ beq lbl_800E0B38 -/* 800E0B28 7F E3 FB 78 */ mr r3, r31 -/* 800E0B2C 4B FF FA BD */ bl setThrowBoomerangAnime__9daAlink_cFv -/* 800E0B30 38 60 00 01 */ li r3, 1 -/* 800E0B34 48 00 00 10 */ b lbl_800E0B44 -lbl_800E0B38: -/* 800E0B38 7F E3 FB 78 */ mr r3, r31 -/* 800E0B3C 38 80 00 00 */ li r4, 0 -/* 800E0B40 4B FD 66 AD */ bl cancelUpperItemReadyAnime__9daAlink_cFi -lbl_800E0B44: -/* 800E0B44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E0B48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E0B4C 7C 08 03 A6 */ mtlr r0 -/* 800E0B50 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E0B54 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperItemActionBowFly__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpperItemActionBowFly__9daAlink_cFv.s deleted file mode 100644 index 1110f22783..0000000000 --- a/asm/d/a/d_a_alink/checkUpperItemActionBowFly__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_800DF798: -/* 800DF798 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DF79C 7C 08 02 A6 */ mflr r0 -/* 800DF7A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DF7A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DF7A8 7C 7F 1B 78 */ mr r31, r3 -/* 800DF7AC 4B FF F2 3D */ bl checkBowAnime__9daAlink_cCFv -/* 800DF7B0 2C 03 00 00 */ cmpwi r3, 0 -/* 800DF7B4 41 82 00 1C */ beq lbl_800DF7D0 -/* 800DF7B8 7F E3 FB 78 */ mr r3, r31 -/* 800DF7BC 4B FF F9 01 */ bl checkUpperItemActionBow__9daAlink_cFv -/* 800DF7C0 7F E3 FB 78 */ mr r3, r31 -/* 800DF7C4 38 80 00 00 */ li r4, 0 -/* 800DF7C8 4B FD BA E9 */ bl setBodyAngleXReadyAnime__9daAlink_cFi -/* 800DF7CC 48 00 00 34 */ b lbl_800DF800 -lbl_800DF7D0: -/* 800DF7D0 7F E3 FB 78 */ mr r3, r31 -/* 800DF7D4 4B FD 91 5D */ bl checkReadyItem__9daAlink_cFv -/* 800DF7D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DF7DC 41 82 00 24 */ beq lbl_800DF800 -/* 800DF7E0 7F E3 FB 78 */ mr r3, r31 -/* 800DF7E4 4B FD 2E 51 */ bl itemTrigger__9daAlink_cFv -/* 800DF7E8 2C 03 00 00 */ cmpwi r3, 0 -/* 800DF7EC 41 82 00 14 */ beq lbl_800DF800 -/* 800DF7F0 7F E3 FB 78 */ mr r3, r31 -/* 800DF7F4 4B FF F6 E9 */ bl setBowReadyAnime__9daAlink_cFv -/* 800DF7F8 38 00 00 00 */ li r0, 0 -/* 800DF7FC B0 1F 30 1A */ sth r0, 0x301a(r31) -lbl_800DF800: -/* 800DF800 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DF804 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DF808 7C 08 03 A6 */ mtlr r0 -/* 800DF80C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DF810 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperItemActionCopyRodFly__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpperItemActionCopyRodFly__9daAlink_cFv.s deleted file mode 100644 index 8c333b91bf..0000000000 --- a/asm/d/a/d_a_alink/checkUpperItemActionCopyRodFly__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800E1BB4: -/* 800E1BB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E1BB8 7C 08 02 A6 */ mflr r0 -/* 800E1BBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E1BC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1BC4 7C 7F 1B 78 */ mr r31, r3 -/* 800E1BC8 80 03 28 40 */ lwz r0, 0x2840(r3) -/* 800E1BCC 28 00 00 00 */ cmplwi r0, 0 -/* 800E1BD0 40 82 00 60 */ bne lbl_800E1C30 -/* 800E1BD4 38 60 00 00 */ li r3, 0 -/* 800E1BD8 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E1BDC 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E1BE0 40 82 00 14 */ bne lbl_800E1BF4 -/* 800E1BE4 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E1BE8 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E1BEC 40 82 00 08 */ bne lbl_800E1BF4 -/* 800E1BF0 38 60 00 01 */ li r3, 1 -lbl_800E1BF4: -/* 800E1BF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1BF8 41 82 00 10 */ beq lbl_800E1C08 -/* 800E1BFC 7F E3 FB 78 */ mr r3, r31 -/* 800E1C00 4B FF FE DD */ bl checkUpperItemActionCopyRod__9daAlink_cFv -/* 800E1C04 48 00 00 2C */ b lbl_800E1C30 -lbl_800E1C08: -/* 800E1C08 7F E3 FB 78 */ mr r3, r31 -/* 800E1C0C 4B FD 6D 25 */ bl checkReadyItem__9daAlink_cFv -/* 800E1C10 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1C14 41 82 00 1C */ beq lbl_800E1C30 -/* 800E1C18 7F E3 FB 78 */ mr r3, r31 -/* 800E1C1C 4B FD 0A 19 */ bl itemTrigger__9daAlink_cFv -/* 800E1C20 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1C24 41 82 00 0C */ beq lbl_800E1C30 -/* 800E1C28 7F E3 FB 78 */ mr r3, r31 -/* 800E1C2C 4B FF FC 15 */ bl setCopyRodReadyAnime__9daAlink_cFv -lbl_800E1C30: -/* 800E1C30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1C34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E1C38 7C 08 03 A6 */ mtlr r0 -/* 800E1C3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E1C40 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperItemActionCopyRod__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpperItemActionCopyRod__9daAlink_cFv.s deleted file mode 100644 index 6b98d6eb8d..0000000000 --- a/asm/d/a/d_a_alink/checkUpperItemActionCopyRod__9daAlink_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800E1ADC: -/* 800E1ADC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E1AE0 7C 08 02 A6 */ mflr r0 -/* 800E1AE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E1AE8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1AEC 7C 7F 1B 78 */ mr r31, r3 -/* 800E1AF0 A8 63 30 18 */ lha r3, 0x3018(r3) -/* 800E1AF4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1AF8 41 82 00 0C */ beq lbl_800E1B04 -/* 800E1AFC 38 03 FF FF */ addi r0, r3, -1 -/* 800E1B00 B0 1F 30 18 */ sth r0, 0x3018(r31) -lbl_800E1B04: -/* 800E1B04 7F E3 FB 78 */ mr r3, r31 -/* 800E1B08 4B FD 6E 29 */ bl checkReadyItem__9daAlink_cFv -/* 800E1B0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1B10 41 82 00 84 */ beq lbl_800E1B94 -/* 800E1B14 7F E3 FB 78 */ mr r3, r31 -/* 800E1B18 4B FD 0A ED */ bl itemButton__9daAlink_cFv -/* 800E1B1C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1B20 40 82 00 74 */ bne lbl_800E1B94 -/* 800E1B24 38 60 00 00 */ li r3, 0 -/* 800E1B28 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E1B2C 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E1B30 40 82 00 14 */ bne lbl_800E1B44 -/* 800E1B34 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E1B38 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E1B3C 40 82 00 08 */ bne lbl_800E1B44 -/* 800E1B40 38 60 00 01 */ li r3, 1 -lbl_800E1B44: -/* 800E1B44 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1B48 41 82 00 4C */ beq lbl_800E1B94 -/* 800E1B4C 7F E3 FB 78 */ mr r3, r31 -/* 800E1B50 38 80 00 53 */ li r4, 0x53 -/* 800E1B54 38 A0 00 02 */ li r5, 2 -/* 800E1B58 3C C0 80 39 */ lis r6, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1B5C 38 C6 E6 C8 */ addi r6, r6, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1B60 4B FC BB 91 */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 800E1B64 7F E3 FB 78 */ mr r3, r31 -/* 800E1B68 4B FF F7 C9 */ bl getCopyRodBallDisMax__9daAlink_cCFv -/* 800E1B6C D0 3F 34 90 */ stfs f1, 0x3490(r31) -/* 800E1B70 88 1F 20 B0 */ lbz r0, 0x20b0(r31) -/* 800E1B74 28 00 00 00 */ cmplwi r0, 0 -/* 800E1B78 40 82 00 14 */ bne lbl_800E1B8C -/* 800E1B7C C0 3F 34 90 */ lfs f1, 0x3490(r31) -/* 800E1B80 C0 02 93 18 */ lfs f0, lit_7308(r2) -/* 800E1B84 EC 01 00 28 */ fsubs f0, f1, f0 -/* 800E1B88 D0 1F 34 90 */ stfs f0, 0x3490(r31) -lbl_800E1B8C: -/* 800E1B8C 38 60 00 01 */ li r3, 1 -/* 800E1B90 48 00 00 10 */ b lbl_800E1BA0 -lbl_800E1B94: -/* 800E1B94 7F E3 FB 78 */ mr r3, r31 -/* 800E1B98 38 80 00 00 */ li r4, 0 -/* 800E1B9C 4B FD 56 51 */ bl cancelUpperItemReadyAnime__9daAlink_cFi -lbl_800E1BA0: -/* 800E1BA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1BA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E1BA8 7C 08 03 A6 */ mtlr r0 -/* 800E1BAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E1BB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperItemActionIronBall__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkUpperItemActionIronBall__9daAlink_cFv.s deleted file mode 100644 index c3cdc4b9c2..0000000000 --- a/asm/d/a/d_a_alink/checkUpperItemActionIronBall__9daAlink_cFv.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_80115254: -/* 80115254 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80115258 7C 08 02 A6 */ mflr r0 -/* 8011525C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80115260 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80115264 93 C1 00 08 */ stw r30, 8(r1) -/* 80115268 7C 7F 1B 78 */ mr r31, r3 -/* 8011526C 4B F9 D3 99 */ bl itemButton__9daAlink_cFv -/* 80115270 2C 03 00 00 */ cmpwi r3, 0 -/* 80115274 40 82 00 1C */ bne lbl_80115290 -/* 80115278 7F E3 FB 78 */ mr r3, r31 -/* 8011527C 4B FA 36 B5 */ bl checkReadyItem__9daAlink_cFv -/* 80115280 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80115284 41 82 00 0C */ beq lbl_80115290 -/* 80115288 38 00 00 01 */ li r0, 1 -/* 8011528C B0 1F 30 20 */ sth r0, 0x3020(r31) -lbl_80115290: -/* 80115290 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 80115294 28 00 01 9A */ cmplwi r0, 0x19a -/* 80115298 40 82 00 DC */ bne lbl_80115374 -/* 8011529C 3B DF 1F D0 */ addi r30, r31, 0x1fd0 -/* 801152A0 A8 1F 30 20 */ lha r0, 0x3020(r31) -/* 801152A4 2C 00 00 00 */ cmpwi r0, 0 -/* 801152A8 41 82 00 24 */ beq lbl_801152CC -/* 801152AC 7F C3 F3 78 */ mr r3, r30 -/* 801152B0 C0 22 93 C8 */ lfs f1, lit_10286(r2) -/* 801152B4 48 21 31 79 */ bl checkPass__12J3DFrameCtrlFf -/* 801152B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801152BC 41 82 00 10 */ beq lbl_801152CC -/* 801152C0 7F E3 FB 78 */ mr r3, r31 -/* 801152C4 48 00 04 B9 */ bl procIronBallThrowInit__9daAlink_cFv -/* 801152C8 48 00 01 18 */ b lbl_801153E0 -lbl_801152CC: -/* 801152CC 7F C3 F3 78 */ mr r3, r30 -/* 801152D0 48 04 91 FD */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 801152D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801152D8 41 82 00 80 */ beq lbl_80115358 -/* 801152DC 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 801152E0 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801152E4 41 82 00 20 */ beq lbl_80115304 -/* 801152E8 7F E3 FB 78 */ mr r3, r31 -/* 801152EC 38 80 01 63 */ li r4, 0x163 -/* 801152F0 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 801152F4 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 801152F8 C0 25 00 24 */ lfs f1, 0x24(r5) -/* 801152FC C0 45 00 28 */ lfs f2, 0x28(r5) -/* 80115300 4B F9 7C E1 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_80115304: -/* 80115304 7F E3 FB 78 */ mr r3, r31 -/* 80115308 38 80 01 63 */ li r4, 0x163 -/* 8011530C 4B F9 71 45 */ bl getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 80115310 A0 83 00 02 */ lhz r4, 2(r3) -/* 80115314 7F E3 FB 78 */ mr r3, r31 -/* 80115318 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 8011531C 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115320 C0 25 00 24 */ lfs f1, 0x24(r5) -/* 80115324 C0 45 00 28 */ lfs f2, 0x28(r5) -/* 80115328 4B F9 80 81 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 8011532C 38 00 00 02 */ li r0, 2 -/* 80115330 B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 80115334 7F E3 FB 78 */ mr r3, r31 -/* 80115338 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020031@ha */ -/* 8011533C 38 84 00 31 */ addi r4, r4, 0x0031 /* 0x00020031@l */ -/* 80115340 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 80115344 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 80115348 7D 89 03 A6 */ mtctr r12 -/* 8011534C 4E 80 04 21 */ bctrl -/* 80115350 38 60 00 01 */ li r3, 1 -/* 80115354 48 00 00 8C */ b lbl_801153E0 -lbl_80115358: -/* 80115358 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 8011535C C0 02 93 84 */ lfs f0, lit_8781(r2) -/* 80115360 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80115364 40 81 00 70 */ ble lbl_801153D4 -/* 80115368 38 00 00 01 */ li r0, 1 -/* 8011536C B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 80115370 48 00 00 64 */ b lbl_801153D4 -lbl_80115374: -/* 80115374 3B DF 20 48 */ addi r30, r31, 0x2048 -/* 80115378 A8 1F 30 20 */ lha r0, 0x3020(r31) -/* 8011537C 2C 00 00 00 */ cmpwi r0, 0 -/* 80115380 41 82 00 24 */ beq lbl_801153A4 -/* 80115384 7F C3 F3 78 */ mr r3, r30 -/* 80115388 C0 22 93 C0 */ lfs f1, lit_10193(r2) -/* 8011538C 48 21 30 A1 */ bl checkPass__12J3DFrameCtrlFf -/* 80115390 2C 03 00 00 */ cmpwi r3, 0 -/* 80115394 41 82 00 10 */ beq lbl_801153A4 -/* 80115398 7F E3 FB 78 */ mr r3, r31 -/* 8011539C 48 00 03 E1 */ bl procIronBallThrowInit__9daAlink_cFv -/* 801153A0 48 00 00 40 */ b lbl_801153E0 -lbl_801153A4: -/* 801153A4 7F C3 F3 78 */ mr r3, r30 -/* 801153A8 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801153AC 48 21 30 81 */ bl checkPass__12J3DFrameCtrlFf -/* 801153B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801153B4 41 82 00 20 */ beq lbl_801153D4 -/* 801153B8 7F E3 FB 78 */ mr r3, r31 -/* 801153BC 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020031@ha */ -/* 801153C0 38 84 00 31 */ addi r4, r4, 0x0031 /* 0x00020031@l */ -/* 801153C4 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 801153C8 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 801153CC 7D 89 03 A6 */ mtctr r12 -/* 801153D0 4E 80 04 21 */ bctrl -lbl_801153D4: -/* 801153D4 7F E3 FB 78 */ mr r3, r31 -/* 801153D8 38 80 00 00 */ li r4, 0 -/* 801153DC 4B FA 1E 11 */ bl cancelUpperItemReadyAnime__9daAlink_cFi -lbl_801153E0: -/* 801153E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801153E4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801153E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801153EC 7C 08 03 A6 */ mtlr r0 -/* 801153F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801153F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUpperReadyThrowAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkUpperReadyThrowAnime__9daAlink_cCFv.s deleted file mode 100644 index fbb02dc89e..0000000000 --- a/asm/d/a/d_a_alink/checkUpperReadyThrowAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800BAF80: -/* 800BAF80 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BAF84 7C 08 02 A6 */ mflr r0 -/* 800BAF88 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BAF8C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BAF90 93 C1 00 08 */ stw r30, 8(r1) -/* 800BAF94 7C 7E 1B 78 */ mr r30, r3 -/* 800BAF98 3B E0 00 00 */ li r31, 0 -/* 800BAF9C 48 02 54 A5 */ bl checkBoomerangAnime__9daAlink_cCFv -/* 800BAFA0 2C 03 00 00 */ cmpwi r3, 0 -/* 800BAFA4 40 82 00 5C */ bne lbl_800BB000 -/* 800BAFA8 7F C3 F3 78 */ mr r3, r30 -/* 800BAFAC 48 02 65 85 */ bl checkCopyRodAnime__9daAlink_cCFv -/* 800BAFB0 2C 03 00 00 */ cmpwi r3, 0 -/* 800BAFB4 40 82 00 4C */ bne lbl_800BB000 -/* 800BAFB8 38 60 00 00 */ li r3, 0 -/* 800BAFBC A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 800BAFC0 28 00 01 8D */ cmplwi r0, 0x18d -/* 800BAFC4 41 82 00 10 */ beq lbl_800BAFD4 -/* 800BAFC8 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800BAFCC 28 00 01 8C */ cmplwi r0, 0x18c -/* 800BAFD0 40 82 00 08 */ bne lbl_800BAFD8 -lbl_800BAFD4: -/* 800BAFD4 38 60 00 01 */ li r3, 1 -lbl_800BAFD8: -/* 800BAFD8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800BAFDC 40 82 00 24 */ bne lbl_800BB000 -/* 800BAFE0 7F C3 F3 78 */ mr r3, r30 -/* 800BAFE4 48 05 A1 01 */ bl checkIronBallAnime__9daAlink_cCFv -/* 800BAFE8 2C 03 00 00 */ cmpwi r3, 0 -/* 800BAFEC 40 82 00 14 */ bne lbl_800BB000 -/* 800BAFF0 7F C3 F3 78 */ mr r3, r30 -/* 800BAFF4 48 02 39 F5 */ bl checkBowAnime__9daAlink_cCFv -/* 800BAFF8 2C 03 00 00 */ cmpwi r3, 0 -/* 800BAFFC 41 82 00 08 */ beq lbl_800BB004 -lbl_800BB000: -/* 800BB000 3B E0 00 01 */ li r31, 1 -lbl_800BB004: -/* 800BB004 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800BB008 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BB00C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800BB010 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BB014 7C 08 03 A6 */ mtlr r0 -/* 800BB018 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BB01C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkUseKandelaar__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkUseKandelaar__9daAlink_cFi.s deleted file mode 100644 index 033a4c6052..0000000000 --- a/asm/d/a/d_a_alink/checkUseKandelaar__9daAlink_cFi.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8011087C: -/* 8011087C 38 A0 00 00 */ li r5, 0 -/* 80110880 2C 04 00 00 */ cmpwi r4, 0 -/* 80110884 40 82 00 10 */ bne lbl_80110894 -/* 80110888 80 03 05 78 */ lwz r0, 0x578(r3) -/* 8011088C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80110890 40 82 00 18 */ bne lbl_801108A8 -lbl_80110894: -/* 80110894 2C 04 00 00 */ cmpwi r4, 0 -/* 80110898 41 82 00 14 */ beq lbl_801108AC -/* 8011089C A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 801108A0 28 00 00 48 */ cmplwi r0, 0x48 -/* 801108A4 40 82 00 08 */ bne lbl_801108AC -lbl_801108A8: -/* 801108A8 38 A0 00 01 */ li r5, 1 -lbl_801108AC: -/* 801108AC 7C A3 2B 78 */ mr r3, r5 -/* 801108B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWaterInKandelaarOffset__9daAlink_cFf.s b/asm/d/a/d_a_alink/checkWaterInKandelaarOffset__9daAlink_cFf.s deleted file mode 100644 index 7fd7e3f7fe..0000000000 --- a/asm/d/a/d_a_alink/checkWaterInKandelaarOffset__9daAlink_cFf.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8011078C: -/* 8011078C C0 42 94 BC */ lfs f2, lit_17593(r2) -/* 80110790 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 80110794 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 80110798 41 82 00 0C */ beq lbl_801107A4 -/* 8011079C C0 03 05 F0 */ lfs f0, 0x5f0(r3) -/* 801107A0 48 00 00 08 */ b lbl_801107A8 -lbl_801107A4: -/* 801107A4 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -lbl_801107A8: -/* 801107A8 EC 02 00 2A */ fadds f0, f2, f0 -/* 801107AC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801107B0 7C 00 00 26 */ mfcr r0 -/* 801107B4 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f -/* 801107B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWaterInKandelaar__9daAlink_cFf.s b/asm/d/a/d_a_alink/checkWaterInKandelaar__9daAlink_cFf.s deleted file mode 100644 index 5a48a3a85b..0000000000 --- a/asm/d/a/d_a_alink/checkWaterInKandelaar__9daAlink_cFf.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_801107BC: -/* 801107BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801107C0 7C 08 02 A6 */ mflr r0 -/* 801107C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801107C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801107CC 7C 7F 1B 78 */ mr r31, r3 -/* 801107D0 80 03 05 78 */ lwz r0, 0x578(r3) -/* 801107D4 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 801107D8 41 82 00 54 */ beq lbl_8011082C -/* 801107DC 4B FF FF B1 */ bl checkWaterInKandelaarOffset__9daAlink_cFf -/* 801107E0 2C 03 00 00 */ cmpwi r3, 0 -/* 801107E4 41 82 00 48 */ beq lbl_8011082C -/* 801107E8 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 801107EC 28 00 00 48 */ cmplwi r0, 0x48 -/* 801107F0 40 82 00 18 */ bne lbl_80110808 -/* 801107F4 7F E3 FB 78 */ mr r3, r31 -/* 801107F8 38 80 00 01 */ li r4, 1 -/* 801107FC 38 A0 00 01 */ li r5, 1 -/* 80110800 4B FB 0A DD */ bl deleteEquipItem__9daAlink_cFii -/* 80110804 48 00 00 28 */ b lbl_8011082C -lbl_80110808: -/* 80110808 7F E3 FB 78 */ mr r3, r31 -/* 8011080C 48 00 00 35 */ bl offKandelaarModel__9daAlink_cFv -/* 80110810 7F E3 FB 78 */ mr r3, r31 -/* 80110814 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002002D@ha */ -/* 80110818 38 84 00 2D */ addi r4, r4, 0x002D /* 0x0002002D@l */ -/* 8011081C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 80110820 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 80110824 7D 89 03 A6 */ mtctr r12 -/* 80110828 4E 80 04 21 */ bctrl -lbl_8011082C: -/* 8011082C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80110830 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80110834 7C 08 03 A6 */ mtlr r0 -/* 80110838 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011083C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWindDashAnime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkWindDashAnime__9daAlink_cCFv.s deleted file mode 100644 index 2b24ae37e3..0000000000 --- a/asm/d/a/d_a_alink/checkWindDashAnime__9daAlink_cCFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800B9398: -/* 800B9398 38 80 00 00 */ li r4, 0 -/* 800B939C A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800B93A0 28 00 02 B7 */ cmplwi r0, 0x2b7 -/* 800B93A4 41 82 00 1C */ beq lbl_800B93C0 -/* 800B93A8 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800B93AC 28 00 00 CE */ cmplwi r0, 0xce -/* 800B93B0 40 82 00 14 */ bne lbl_800B93C4 -/* 800B93B4 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800B93B8 28 00 00 0C */ cmplwi r0, 0xc -/* 800B93BC 41 82 00 08 */ beq lbl_800B93C4 -lbl_800B93C0: -/* 800B93C0 38 80 00 01 */ li r4, 1 -lbl_800B93C4: -/* 800B93C4 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 800B93C8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfAtnMoveBack__9daAlink_cFs.s b/asm/d/a/d_a_alink/checkWolfAtnMoveBack__9daAlink_cFs.s deleted file mode 100644 index 9a4aeea0ac..0000000000 --- a/asm/d/a/d_a_alink/checkWolfAtnMoveBack__9daAlink_cFs.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80128F0C: -/* 80128F0C 3C A0 80 44 */ lis r5, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 80128F10 38 A5 9A 20 */ addi r5, r5, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 80128F14 54 80 04 38 */ rlwinm r0, r4, 0, 0x10, 0x1c -/* 80128F18 7C 85 02 14 */ add r4, r5, r0 -/* 80128F1C C0 24 00 04 */ lfs f1, 4(r4) -/* 80128F20 38 00 00 00 */ li r0, 0 -/* 80128F24 88 63 2F 98 */ lbz r3, 0x2f98(r3) -/* 80128F28 28 03 00 01 */ cmplwi r3, 1 -/* 80128F2C 41 82 00 10 */ beq lbl_80128F3C -/* 80128F30 C0 02 97 44 */ lfs f0, lit_44003(r2) -/* 80128F34 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80128F38 41 80 00 18 */ blt lbl_80128F50 -lbl_80128F3C: -/* 80128F3C 28 03 00 01 */ cmplwi r3, 1 -/* 80128F40 40 82 00 14 */ bne lbl_80128F54 -/* 80128F44 C0 02 97 48 */ lfs f0, lit_44004(r2) -/* 80128F48 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80128F4C 40 80 00 08 */ bge lbl_80128F54 -lbl_80128F50: -/* 80128F50 38 00 00 01 */ li r0, 1 -lbl_80128F54: -/* 80128F54 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80128F58 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfBarrierHitReverse__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkWolfBarrierHitReverse__9daAlink_cFv.s deleted file mode 100644 index 3c424c5347..0000000000 --- a/asm/d/a/d_a_alink/checkWolfBarrierHitReverse__9daAlink_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8012A330: -/* 8012A330 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012A334 7C 08 02 A6 */ mflr r0 -/* 8012A338 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012A33C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012A340 7C 7F 1B 78 */ mr r31, r3 -/* 8012A344 A8 03 31 00 */ lha r0, 0x3100(r3) -/* 8012A348 2C 00 00 00 */ cmpwi r0, 0 -/* 8012A34C 41 82 00 B8 */ beq lbl_8012A404 -/* 8012A350 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 8012A354 28 00 00 10 */ cmplwi r0, 0x10 -/* 8012A358 41 82 00 AC */ beq lbl_8012A404 -/* 8012A35C 28 00 00 32 */ cmplwi r0, 0x32 -/* 8012A360 41 82 00 A4 */ beq lbl_8012A404 -/* 8012A364 28 00 01 34 */ cmplwi r0, 0x134 -/* 8012A368 41 82 00 9C */ beq lbl_8012A404 -/* 8012A36C 28 00 00 F4 */ cmplwi r0, 0xf4 -/* 8012A370 41 82 00 94 */ beq lbl_8012A404 -/* 8012A374 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 8012A378 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8012A37C 41 82 00 10 */ beq lbl_8012A38C -/* 8012A380 38 80 00 01 */ li r4, 1 -/* 8012A384 48 00 35 3D */ bl procWolfDashReverseInit__9daAlink_cFi -/* 8012A388 48 00 00 80 */ b lbl_8012A408 -lbl_8012A38C: -/* 8012A38C 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 8012A390 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 8012A394 41 82 00 44 */ beq lbl_8012A3D8 -/* 8012A398 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 8012A39C A8 9F 31 02 */ lha r4, 0x3102(r31) -/* 8012A3A0 48 14 6A 85 */ bl cLib_distanceAngleS__Fss -/* 8012A3A4 2C 03 40 00 */ cmpwi r3, 0x4000 -/* 8012A3A8 41 80 00 24 */ blt lbl_8012A3CC -/* 8012A3AC 7F E3 FB 78 */ mr r3, r31 -/* 8012A3B0 38 80 00 00 */ li r4, 0 -/* 8012A3B4 4B F9 79 39 */ bl setFrontRollCrashShock__9daAlink_cFUc -/* 8012A3B8 7F E3 FB 78 */ mr r3, r31 -/* 8012A3BC 38 80 00 00 */ li r4, 0 -/* 8012A3C0 38 A0 00 01 */ li r5, 1 -/* 8012A3C4 4B FA EB 79 */ bl procDamageInit__9daAlink_cFP12dCcD_GObjInfi -/* 8012A3C8 48 00 00 40 */ b lbl_8012A408 -lbl_8012A3CC: -/* 8012A3CC 7F E3 FB 78 */ mr r3, r31 -/* 8012A3D0 4B F9 AD 91 */ bl procFrontRollSuccessInit__9daAlink_cFv -/* 8012A3D4 48 00 00 34 */ b lbl_8012A408 -lbl_8012A3D8: -/* 8012A3D8 38 80 00 00 */ li r4, 0 -/* 8012A3DC 4B F9 79 11 */ bl setFrontRollCrashShock__9daAlink_cFUc -/* 8012A3E0 7F E3 FB 78 */ mr r3, r31 -/* 8012A3E4 38 80 FF FA */ li r4, -6 -/* 8012A3E8 38 A0 00 01 */ li r5, 1 -/* 8012A3EC 38 C0 00 00 */ li r6, 0 -/* 8012A3F0 38 E0 00 00 */ li r7, 0 -/* 8012A3F4 39 00 00 00 */ li r8, 0 -/* 8012A3F8 39 20 00 00 */ li r9, 0 -/* 8012A3FC 4B FA F2 E1 */ bl procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi -/* 8012A400 48 00 00 08 */ b lbl_8012A408 -lbl_8012A404: -/* 8012A404 38 60 00 00 */ li r3, 0 -lbl_8012A408: -/* 8012A408 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012A40C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012A410 7C 08 03 A6 */ mtlr r0 -/* 8012A414 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012A418 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo.s b/asm/d/a/d_a_alink/checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo.s deleted file mode 100644 index 7e45dc8c07..0000000000 --- a/asm/d/a/d_a_alink/checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8012A41C: -/* 8012A41C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012A420 7C 08 02 A6 */ mflr r0 -/* 8012A424 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012A428 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012A42C 7C 9F 23 78 */ mr r31, r4 -/* 8012A430 A8 03 31 00 */ lha r0, 0x3100(r3) -/* 8012A434 2C 00 00 00 */ cmpwi r0, 0 -/* 8012A438 40 82 00 10 */ bne lbl_8012A448 -/* 8012A43C 4B F8 94 C9 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 8012A440 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012A444 41 82 00 0C */ beq lbl_8012A450 -lbl_8012A448: -/* 8012A448 38 60 00 00 */ li r3, 0 -/* 8012A44C 48 00 00 38 */ b lbl_8012A484 -lbl_8012A450: -/* 8012A450 7F E3 FB 78 */ mr r3, r31 -/* 8012A454 38 80 00 01 */ li r4, 1 -/* 8012A458 4B F7 7D 89 */ bl getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi -/* 8012A45C 7C 60 07 34 */ extsh r0, r3 -/* 8012A460 2C 00 00 30 */ cmpwi r0, 0x30 -/* 8012A464 41 82 00 14 */ beq lbl_8012A478 -/* 8012A468 2C 00 00 2D */ cmpwi r0, 0x2d -/* 8012A46C 41 82 00 0C */ beq lbl_8012A478 -/* 8012A470 2C 00 00 C0 */ cmpwi r0, 0xc0 -/* 8012A474 40 82 00 0C */ bne lbl_8012A480 -lbl_8012A478: -/* 8012A478 38 60 00 01 */ li r3, 1 -/* 8012A47C 48 00 00 08 */ b lbl_8012A484 -lbl_8012A480: -/* 8012A480 38 60 00 00 */ li r3, 0 -lbl_8012A484: -/* 8012A484 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012A488 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012A48C 7C 08 03 A6 */ mtlr r0 -/* 8012A490 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012A494 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfEnemyThrowAction__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkWolfEnemyThrowAction__9daAlink_cFv.s deleted file mode 100644 index 445a3dbd07..0000000000 --- a/asm/d/a/d_a_alink/checkWolfEnemyThrowAction__9daAlink_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80138C44: -/* 80138C44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80138C48 7C 08 02 A6 */ mflr r0 -/* 80138C4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80138C50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80138C54 93 C1 00 08 */ stw r30, 8(r1) -/* 80138C58 7C 7E 1B 78 */ mr r30, r3 -/* 80138C5C 3B FE 20 48 */ addi r31, r30, 0x2048 -/* 80138C60 7F E3 FB 78 */ mr r3, r31 -/* 80138C64 48 02 58 69 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 80138C68 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80138C6C 41 82 00 18 */ beq lbl_80138C84 -/* 80138C70 7F C3 F3 78 */ mr r3, r30 -/* 80138C74 38 80 00 02 */ li r4, 2 -/* 80138C78 C0 22 92 C4 */ lfs f1, lit_6109(r2) -/* 80138C7C 4B F7 4A A9 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 80138C80 48 00 00 20 */ b lbl_80138CA0 -lbl_80138C84: -/* 80138C84 7F E3 FB 78 */ mr r3, r31 -/* 80138C88 C0 22 94 94 */ lfs f1, lit_16210(r2) -/* 80138C8C 48 1E F7 A1 */ bl checkPass__12J3DFrameCtrlFf -/* 80138C90 2C 03 00 00 */ cmpwi r3, 0 -/* 80138C94 41 82 00 0C */ beq lbl_80138CA0 -/* 80138C98 7F C3 F3 78 */ mr r3, r30 -/* 80138C9C 4B FF FF 69 */ bl resetWolfEnemyBiteAll__9daAlink_cFv -lbl_80138CA0: -/* 80138CA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80138CA4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80138CA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80138CAC 7C 08 03 A6 */ mtlr r0 -/* 80138CB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80138CB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfLandAction__9daAlink_cFi.s b/asm/d/a/d_a_alink/checkWolfLandAction__9daAlink_cFi.s deleted file mode 100644 index 6858ae1c65..0000000000 --- a/asm/d/a/d_a_alink/checkWolfLandAction__9daAlink_cFi.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8012987C: -/* 8012987C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80129880 7C 08 02 A6 */ mflr r0 -/* 80129884 90 01 00 24 */ stw r0, 0x24(r1) -/* 80129888 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 8012988C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80129890 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80129894 93 C1 00 08 */ stw r30, 8(r1) -/* 80129898 7C 7E 1B 78 */ mr r30, r3 -/* 8012989C 7C 9F 23 78 */ mr r31, r4 -/* 801298A0 C0 42 93 88 */ lfs f2, lit_8782(r2) -/* 801298A4 C0 23 33 C4 */ lfs f1, 0x33c4(r3) -/* 801298A8 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 801298AC EC 01 00 28 */ fsubs f0, f1, f0 -/* 801298B0 EF E2 00 32 */ fmuls f31, f2, f0 -/* 801298B4 4B FA D6 79 */ bl checkNoLandDamageSlidePolygon__9daAlink_cFv -/* 801298B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801298BC 40 82 00 18 */ bne lbl_801298D4 -/* 801298C0 3C 60 80 39 */ lis r3, m__23daAlinkHIO_wlDamFall_c0@ha /* 0x8038F374@ha */ -/* 801298C4 38 83 F3 74 */ addi r4, r3, m__23daAlinkHIO_wlDamFall_c0@l /* 0x8038F374@l */ -/* 801298C8 C0 04 00 2C */ lfs f0, 0x2c(r4) -/* 801298CC FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 801298D0 40 80 00 44 */ bge lbl_80129914 -lbl_801298D4: -/* 801298D4 2C 1F 00 00 */ cmpwi r31, 0 -/* 801298D8 41 82 00 14 */ beq lbl_801298EC -/* 801298DC 7F C3 F3 78 */ mr r3, r30 -/* 801298E0 38 80 00 00 */ li r4, 0 -/* 801298E4 48 00 D3 35 */ bl procWolfLandDamageInit__9daAlink_cFi -/* 801298E8 48 00 00 4C */ b lbl_80129934 -lbl_801298EC: -/* 801298EC A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 801298F0 28 00 01 1C */ cmplwi r0, 0x11c -/* 801298F4 41 82 00 0C */ beq lbl_80129900 -/* 801298F8 28 00 00 F4 */ cmplwi r0, 0xf4 -/* 801298FC 40 82 00 0C */ bne lbl_80129908 -lbl_80129900: -/* 80129900 38 60 00 00 */ li r3, 0 -/* 80129904 48 00 00 34 */ b lbl_80129938 -lbl_80129908: -/* 80129908 7F C3 F3 78 */ mr r3, r30 -/* 8012990C 48 00 58 2D */ bl procWolfLandInit__9daAlink_cFv -/* 80129910 48 00 00 24 */ b lbl_80129934 -lbl_80129914: -/* 80129914 7F C3 F3 78 */ mr r3, r30 -/* 80129918 C0 04 00 30 */ lfs f0, 0x30(r4) -/* 8012991C FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 80129920 40 80 00 0C */ bge lbl_8012992C -/* 80129924 38 80 00 01 */ li r4, 1 -/* 80129928 48 00 00 08 */ b lbl_80129930 -lbl_8012992C: -/* 8012992C 38 80 00 02 */ li r4, 2 -lbl_80129930: -/* 80129930 48 00 D2 E9 */ bl procWolfLandDamageInit__9daAlink_cFi -lbl_80129934: -/* 80129934 38 60 00 01 */ li r3, 1 -lbl_80129938: -/* 80129938 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 8012993C CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80129940 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80129944 83 C1 00 08 */ lwz r30, 8(r1) -/* 80129948 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8012994C 7C 08 03 A6 */ mtlr r0 -/* 80129950 38 21 00 20 */ addi r1, r1, 0x20 -/* 80129954 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfLieCode__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkWolfLieCode__9daAlink_cFv.s deleted file mode 100644 index 0fb3a43c64..0000000000 --- a/asm/d/a/d_a_alink/checkWolfLieCode__9daAlink_cFv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_801373F8: -/* 801373F8 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 801373FC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 80137400 41 82 00 18 */ beq lbl_80137418 -/* 80137404 88 03 2F A8 */ lbz r0, 0x2fa8(r3) -/* 80137408 28 00 00 04 */ cmplwi r0, 4 -/* 8013740C 40 82 00 0C */ bne lbl_80137418 -/* 80137410 38 60 00 01 */ li r3, 1 -/* 80137414 4E 80 00 20 */ blr -lbl_80137418: -/* 80137418 38 60 00 00 */ li r3, 0 -/* 8013741C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfRopeJumpHang__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkWolfRopeJumpHang__9daAlink_cFv.s deleted file mode 100644 index 77a3cf06ea..0000000000 --- a/asm/d/a/d_a_alink/checkWolfRopeJumpHang__9daAlink_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80131628: -/* 80131628 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013162C 7C 08 02 A6 */ mflr r0 -/* 80131630 90 01 00 14 */ stw r0, 0x14(r1) -/* 80131634 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80131638 7C 7F 1B 78 */ mr r31, r3 -/* 8013163C 38 9F 08 50 */ addi r4, r31, 0x850 -/* 80131640 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80131644 38 C0 00 01 */ li r6, 1 -/* 80131648 4B FF FE 09 */ bl checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi -/* 8013164C 7C 64 1B 79 */ or. r4, r3, r3 -/* 80131650 40 82 00 1C */ bne lbl_8013166C -/* 80131654 7F E3 FB 78 */ mr r3, r31 -/* 80131658 38 9F 0F B8 */ addi r4, r31, 0xfb8 -/* 8013165C 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80131660 38 C0 00 01 */ li r6, 1 -/* 80131664 4B FF FD ED */ bl checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi -/* 80131668 7C 64 1B 78 */ mr r4, r3 -lbl_8013166C: -/* 8013166C 28 04 00 00 */ cmplwi r4, 0 -/* 80131670 41 82 00 1C */ beq lbl_8013168C -/* 80131674 38 7F 28 0C */ addi r3, r31, 0x280c -/* 80131678 48 02 D6 41 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 8013167C 7F E3 FB 78 */ mr r3, r31 -/* 80131680 38 80 00 04 */ li r4, 4 -/* 80131684 48 00 10 B5 */ bl procWolfRopeHangInit__9daAlink_cFi -/* 80131688 48 00 00 08 */ b lbl_80131690 -lbl_8013168C: -/* 8013168C 38 60 00 00 */ li r3, 0 -lbl_80131690: -/* 80131690 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80131694 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80131698 7C 08 03 A6 */ mtlr r0 -/* 8013169C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801316A0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfRope__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkWolfRope__9daAlink_cFv.s deleted file mode 100644 index c97ca84a74..0000000000 --- a/asm/d/a/d_a_alink/checkWolfRope__9daAlink_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80131408: -/* 80131408 38 A0 00 00 */ li r5, 0 -/* 8013140C 7C A4 2B 78 */ mr r4, r5 -/* 80131410 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 80131414 54 00 03 9D */ rlwinm. r0, r0, 0, 0xe, 0xe -/* 80131418 41 82 00 14 */ beq lbl_8013142C -/* 8013141C 80 03 28 10 */ lwz r0, 0x2810(r3) -/* 80131420 28 00 00 00 */ cmplwi r0, 0 -/* 80131424 41 82 00 08 */ beq lbl_8013142C -/* 80131428 38 80 00 01 */ li r4, 1 -lbl_8013142C: -/* 8013142C 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 80131430 41 82 00 18 */ beq lbl_80131448 -/* 80131434 80 63 28 10 */ lwz r3, 0x2810(r3) -/* 80131438 A8 03 00 08 */ lha r0, 8(r3) -/* 8013143C 2C 00 02 BE */ cmpwi r0, 0x2be -/* 80131440 40 82 00 08 */ bne lbl_80131448 -/* 80131444 38 A0 00 01 */ li r5, 1 -lbl_80131448: -/* 80131448 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 8013144C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWolfShapeReverse__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkWolfShapeReverse__9daAlink_cCFv.s deleted file mode 100644 index ef78cea3ba..0000000000 --- a/asm/d/a/d_a_alink/checkWolfShapeReverse__9daAlink_cCFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80127D68: -/* 80127D68 38 80 00 00 */ li r4, 0 -/* 80127D6C A0 A3 2F E8 */ lhz r5, 0x2fe8(r3) -/* 80127D70 28 05 01 0E */ cmplwi r5, 0x10e -/* 80127D74 41 82 00 14 */ beq lbl_80127D88 -/* 80127D78 28 05 01 26 */ cmplwi r5, 0x126 -/* 80127D7C 41 82 00 0C */ beq lbl_80127D88 -/* 80127D80 28 05 01 1E */ cmplwi r5, 0x11e -/* 80127D84 40 82 00 10 */ bne lbl_80127D94 -lbl_80127D88: -/* 80127D88 A8 03 30 0C */ lha r0, 0x300c(r3) -/* 80127D8C 2C 00 00 00 */ cmpwi r0, 0 -/* 80127D90 40 82 00 28 */ bne lbl_80127DB8 -lbl_80127D94: -/* 80127D94 28 05 01 0D */ cmplwi r5, 0x10d -/* 80127D98 41 82 00 20 */ beq lbl_80127DB8 -/* 80127D9C 28 05 01 08 */ cmplwi r5, 0x108 -/* 80127DA0 40 82 00 10 */ bne lbl_80127DB0 -/* 80127DA4 80 03 31 98 */ lwz r0, 0x3198(r3) -/* 80127DA8 2C 00 00 00 */ cmpwi r0, 0 -/* 80127DAC 40 82 00 0C */ bne lbl_80127DB8 -lbl_80127DB0: -/* 80127DB0 28 05 01 15 */ cmplwi r5, 0x115 -/* 80127DB4 40 82 00 08 */ bne lbl_80127DBC -lbl_80127DB8: -/* 80127DB8 38 80 00 01 */ li r4, 1 -lbl_80127DBC: -/* 80127DBC 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80127DC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkWoodShieldEquipNotIronBall__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkWoodShieldEquipNotIronBall__9daAlink_cCFv.s deleted file mode 100644 index 60b81fed31..0000000000 --- a/asm/d/a/d_a_alink/checkWoodShieldEquipNotIronBall__9daAlink_cCFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800DCA2C: -/* 800DCA2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DCA30 7C 08 02 A6 */ mflr r0 -/* 800DCA34 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DCA38 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DCA3C 93 C1 00 08 */ stw r30, 8(r1) -/* 800DCA40 7C 7E 1B 78 */ mr r30, r3 -/* 800DCA44 3B E0 00 00 */ li r31, 0 -/* 800DCA48 48 08 29 7D */ bl checkWoodShieldEquip__9daPy_py_cFv -/* 800DCA4C 2C 03 00 00 */ cmpwi r3, 0 -/* 800DCA50 41 82 00 14 */ beq lbl_800DCA64 -/* 800DCA54 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800DCA58 28 00 00 42 */ cmplwi r0, 0x42 -/* 800DCA5C 41 82 00 08 */ beq lbl_800DCA64 -/* 800DCA60 3B E0 00 01 */ li r31, 1 -lbl_800DCA64: -/* 800DCA64 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 800DCA68 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DCA6C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DCA70 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DCA74 7C 08 03 A6 */ mtlr r0 -/* 800DCA78 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DCA7C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkZoraSwimMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkZoraSwimMove__9daAlink_cFv.s deleted file mode 100644 index dae1102e88..0000000000 --- a/asm/d/a/d_a_alink/checkZoraSwimMove__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80103F94: -/* 80103F94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80103F98 7C 08 02 A6 */ mflr r0 -/* 80103F9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80103FA0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80103FA4 93 C1 00 08 */ stw r30, 8(r1) -/* 80103FA8 7C 7E 1B 78 */ mr r30, r3 -/* 80103FAC 3B E0 00 00 */ li r31, 0 -/* 80103FB0 4B FF FF 75 */ bl checkSwimButtonMove__9daAlink_cFv -/* 80103FB4 2C 03 00 00 */ cmpwi r3, 0 -/* 80103FB8 40 82 00 10 */ bne lbl_80103FC8 -/* 80103FBC A8 1E 30 00 */ lha r0, 0x3000(r30) -/* 80103FC0 2C 00 00 00 */ cmpwi r0, 0 -/* 80103FC4 41 82 00 08 */ beq lbl_80103FCC -lbl_80103FC8: -/* 80103FC8 3B E0 00 01 */ li r31, 1 -lbl_80103FCC: -/* 80103FCC 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 80103FD0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80103FD4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80103FD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80103FDC 7C 08 03 A6 */ mtlr r0 -/* 80103FE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80103FE4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkZoraWearAbility__9daAlink_cCFv.s b/asm/d/a/d_a_alink/checkZoraWearAbility__9daAlink_cCFv.s deleted file mode 100644 index a99fbbcc99..0000000000 --- a/asm/d/a/d_a_alink/checkZoraWearAbility__9daAlink_cCFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_800BFDB0: -/* 800BFDB0 38 A0 00 00 */ li r5, 0 -/* 800BFDB4 7C A6 2B 78 */ mr r6, r5 -/* 800BFDB8 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800BFDBC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BFDC0 40 82 00 1C */ bne lbl_800BFDDC -/* 800BFDC4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800BFDC8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800BFDCC 88 04 00 13 */ lbz r0, 0x13(r4) -/* 800BFDD0 28 00 00 31 */ cmplwi r0, 0x31 -/* 800BFDD4 40 82 00 08 */ bne lbl_800BFDDC -/* 800BFDD8 38 C0 00 01 */ li r6, 1 -lbl_800BFDDC: -/* 800BFDDC 54 C0 06 3F */ clrlwi. r0, r6, 0x18 -/* 800BFDE0 41 82 00 14 */ beq lbl_800BFDF4 -/* 800BFDE4 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800BFDE8 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 800BFDEC 40 82 00 08 */ bne lbl_800BFDF4 -/* 800BFDF0 38 A0 00 01 */ li r5, 1 -lbl_800BFDF4: -/* 800BFDF4 54 A3 06 3E */ clrlwi r3, r5, 0x18 -/* 800BFDF8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s b/asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s deleted file mode 100644 index ebb965a9b6..0000000000 --- a/asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80101890: -/* 80101890 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80101894 7C 08 02 A6 */ mflr r0 -/* 80101898 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010189C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801018A0 93 C1 00 08 */ stw r30, 8(r1) -/* 801018A4 7C 7E 1B 78 */ mr r30, r3 -/* 801018A8 3B E0 00 00 */ li r31, 0 -/* 801018AC 4B FB E5 05 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 801018B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801018B4 41 82 00 14 */ beq lbl_801018C8 -/* 801018B8 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 801018BC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 801018C0 40 82 00 08 */ bne lbl_801018C8 -/* 801018C4 3B E0 00 01 */ li r31, 1 -lbl_801018C8: -/* 801018C8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 801018CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801018D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801018D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801018D8 7C 08 03 A6 */ mtlr r0 -/* 801018DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801018E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s b/asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s deleted file mode 100644 index b378cf8f76..0000000000 --- a/asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_801255BC: -/* 801255BC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801255C0 7C 08 02 A6 */ mflr r0 -/* 801255C4 90 01 00 24 */ stw r0, 0x24(r1) -/* 801255C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 801255CC 48 23 CC 11 */ bl _savegpr_29 -/* 801255D0 7C 7D 1B 78 */ mr r29, r3 -/* 801255D4 88 03 2F CB */ lbz r0, 0x2fcb(r3) -/* 801255D8 28 00 00 00 */ cmplwi r0, 0 -/* 801255DC 41 82 00 34 */ beq lbl_80125610 -/* 801255E0 3B C0 00 00 */ li r30, 0 -/* 801255E4 3B E0 00 00 */ li r31, 0 -lbl_801255E8: -/* 801255E8 7F A3 EB 78 */ mr r3, r29 -/* 801255EC 38 1F 32 60 */ addi r0, r31, 0x3260 -/* 801255F0 7C 9D 00 2E */ lwzx r4, r29, r0 -/* 801255F4 4B FF B1 85 */ bl stopDrawParticle__9daAlink_cFUl -/* 801255F8 3B DE 00 01 */ addi r30, r30, 1 -/* 801255FC 2C 1E 00 02 */ cmpwi r30, 2 -/* 80125600 3B FF 00 04 */ addi r31, r31, 4 -/* 80125604 41 80 FF E4 */ blt lbl_801255E8 -/* 80125608 38 00 00 00 */ li r0, 0 -/* 8012560C 98 1D 2F CB */ stb r0, 0x2fcb(r29) -lbl_80125610: -/* 80125610 39 61 00 20 */ addi r11, r1, 0x20 -/* 80125614 48 23 CC 15 */ bl _restgpr_29 -/* 80125618 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8012561C 7C 08 03 A6 */ mtlr r0 -/* 80125620 38 21 00 20 */ addi r1, r1, 0x20 -/* 80125624 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/commonGrabPutInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/commonGrabPutInit__9daAlink_cFv.s deleted file mode 100644 index aca676dcfd..0000000000 --- a/asm/d/a/d_a_alink/commonGrabPutInit__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80120474: -/* 80120474 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80120478 7C 08 02 A6 */ mflr r0 -/* 8012047C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80120480 7C 64 1B 78 */ mr r4, r3 -/* 80120484 80 03 28 30 */ lwz r0, 0x2830(r3) -/* 80120488 28 00 00 00 */ cmplwi r0, 0 -/* 8012048C 40 82 00 44 */ bne lbl_801204D0 -/* 80120490 A0 04 2F E8 */ lhz r0, 0x2fe8(r4) -/* 80120494 28 00 00 73 */ cmplwi r0, 0x73 -/* 80120498 41 82 00 38 */ beq lbl_801204D0 -/* 8012049C 28 00 01 2C */ cmplwi r0, 0x12c -/* 801204A0 40 82 00 14 */ bne lbl_801204B4 -/* 801204A4 C0 24 1F E0 */ lfs f1, 0x1fe0(r4) -/* 801204A8 C0 04 34 78 */ lfs f0, 0x3478(r4) -/* 801204AC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801204B0 41 80 00 20 */ blt lbl_801204D0 -lbl_801204B4: -/* 801204B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801204B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801204BC 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 801204C0 80 84 31 84 */ lwz r4, 0x3184(r4) -/* 801204C4 4B F2 7C B9 */ bl cutEnd__16dEvent_manager_cFi -/* 801204C8 38 60 00 01 */ li r3, 1 -/* 801204CC 48 00 00 24 */ b lbl_801204F0 -lbl_801204D0: -/* 801204D0 80 04 05 74 */ lwz r0, 0x574(r4) -/* 801204D4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 801204D8 41 82 00 10 */ beq lbl_801204E8 -/* 801204DC 7C 83 23 78 */ mr r3, r4 -/* 801204E0 48 01 D0 A9 */ bl procWolfGrabPutInit__9daAlink_cFv -/* 801204E4 48 00 00 0C */ b lbl_801204F0 -lbl_801204E8: -/* 801204E8 7C 83 23 78 */ mr r3, r4 -/* 801204EC 4B FC 62 41 */ bl procGrabPutInit__9daAlink_cFv -lbl_801204F0: -/* 801204F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801204F4 7C 08 03 A6 */ mtlr r0 -/* 801204F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801204FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/commonInitForceRideRein__9daAlink_cFv.s b/asm/d/a/d_a_alink/commonInitForceRideRein__9daAlink_cFv.s deleted file mode 100644 index 04c95e9f4c..0000000000 --- a/asm/d/a/d_a_alink/commonInitForceRideRein__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800ECA3C: -/* 800ECA3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ECA40 7C 08 02 A6 */ mflr r0 -/* 800ECA44 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ECA48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ECA4C 7C 7F 1B 78 */ mr r31, r3 -/* 800ECA50 38 80 00 00 */ li r4, 0 -/* 800ECA54 4B FF 5B 2D */ bl setHeavyBoots__9daAlink_cFi -/* 800ECA58 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800ECA5C 60 00 04 00 */ ori r0, r0, 0x400 -/* 800ECA60 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800ECA64 38 60 00 00 */ li r3, 0 -/* 800ECA68 98 7F 2F C0 */ stb r3, 0x2fc0(r31) -/* 800ECA6C 38 00 00 13 */ li r0, 0x13 -/* 800ECA70 98 1F 2F AB */ stb r0, 0x2fab(r31) -/* 800ECA74 B0 7F 30 02 */ sth r3, 0x3002(r31) -/* 800ECA78 B0 7F 30 04 */ sth r3, 0x3004(r31) -/* 800ECA7C B0 7F 30 A6 */ sth r3, 0x30a6(r31) -/* 800ECA80 7F E3 FB 78 */ mr r3, r31 -/* 800ECA84 4B FC 6D C1 */ bl initServiceWaitTime__9daAlink_cFv -/* 800ECA88 38 00 00 46 */ li r0, 0x46 -/* 800ECA8C B0 1F 05 4E */ sth r0, 0x54e(r31) -/* 800ECA90 38 00 00 01 */ li r0, 1 -/* 800ECA94 B0 1F 1F E4 */ sth r0, 0x1fe4(r31) -/* 800ECA98 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ECA9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ECAA0 7C 08 03 A6 */ mtlr r0 -/* 800ECAA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ECAA8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s b/asm/d/a/d_a_alink/commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s deleted file mode 100644 index 8e365bf7b6..0000000000 --- a/asm/d/a/d_a_alink/commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80106650: -/* 80106650 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80106654 7C 08 02 A6 */ mflr r0 -/* 80106658 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010665C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80106660 93 C1 00 08 */ stw r30, 8(r1) -/* 80106664 7C 7E 1B 78 */ mr r30, r3 -/* 80106668 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 8010666C 7C 00 20 00 */ cmpw r0, r4 -/* 80106670 40 82 00 0C */ bne lbl_8010667C -/* 80106674 38 60 00 00 */ li r3, 0 -/* 80106678 48 00 00 28 */ b lbl_801066A0 -lbl_8010667C: -/* 8010667C 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 80106680 54 1F 07 BC */ rlwinm r31, r0, 0, 0x1e, 0x1e -/* 80106684 4B FB B8 E9 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80106688 28 1F 00 00 */ cmplwi r31, 0 -/* 8010668C 41 82 00 10 */ beq lbl_8010669C -/* 80106690 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 80106694 60 00 00 02 */ ori r0, r0, 2 -/* 80106698 90 1E 31 A0 */ stw r0, 0x31a0(r30) -lbl_8010669C: -/* 8010669C 38 60 00 01 */ li r3, 1 -lbl_801066A0: -/* 801066A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801066A4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801066A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801066AC 7C 08 03 A6 */ mtlr r0 -/* 801066B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801066B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_Create__FP10fopAc_ac_c.s b/asm/d/a/d_a_alink/daAlink_Create__FP10fopAc_ac_c.s deleted file mode 100644 index a4a21a90b1..0000000000 --- a/asm/d/a/d_a_alink/daAlink_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800A660C: -/* 800A660C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A6610 7C 08 02 A6 */ mflr r0 -/* 800A6614 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A6618 4B FF F6 B1 */ bl create__9daAlink_cFv -/* 800A661C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A6620 7C 08 03 A6 */ mtlr r0 -/* 800A6624 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A6628 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_Draw__FP9daAlink_c.s b/asm/d/a/d_a_alink/daAlink_Draw__FP9daAlink_c.s deleted file mode 100644 index 7e391096f8..0000000000 --- a/asm/d/a/d_a_alink/daAlink_Draw__FP9daAlink_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800CD78C: -/* 800CD78C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CD790 7C 08 02 A6 */ mflr r0 -/* 800CD794 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CD798 4B FF F0 65 */ bl draw__9daAlink_cFv -/* 800CD79C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CD7A0 7C 08 03 A6 */ mtlr r0 -/* 800CD7A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CD7A8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_bottleModelCallBack__FP8J3DJointi.s b/asm/d/a/d_a_alink/daAlink_bottleModelCallBack__FP8J3DJointi.s deleted file mode 100644 index 9c17e4030b..0000000000 --- a/asm/d/a/d_a_alink/daAlink_bottleModelCallBack__FP8J3DJointi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8010E52C: -/* 8010E52C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010E530 7C 08 02 A6 */ mflr r0 -/* 8010E534 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010E538 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 8010E53C 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 8010E540 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8010E544 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8010E548 2C 04 00 00 */ cmpwi r4, 0 -/* 8010E54C 40 82 00 08 */ bne lbl_8010E554 -/* 8010E550 4B FF FF 3D */ bl bottleModelCallBack__9daAlink_cFv -lbl_8010E554: -/* 8010E554 38 60 00 01 */ li r3, 1 -/* 8010E558 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010E55C 7C 08 03 A6 */ mtlr r0 -/* 8010E560 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010E564 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_kandelaarModelCallBack__FP8J3DJointi.s b/asm/d/a/d_a_alink/daAlink_kandelaarModelCallBack__FP8J3DJointi.s deleted file mode 100644 index 9480f15085..0000000000 --- a/asm/d/a/d_a_alink/daAlink_kandelaarModelCallBack__FP8J3DJointi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80110BEC: -/* 80110BEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80110BF0 7C 08 02 A6 */ mflr r0 -/* 80110BF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80110BF8 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80110BFC 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80110C00 80 63 00 38 */ lwz r3, 0x38(r3) -/* 80110C04 80 63 00 14 */ lwz r3, 0x14(r3) -/* 80110C08 2C 04 00 00 */ cmpwi r4, 0 -/* 80110C0C 40 82 00 08 */ bne lbl_80110C14 -/* 80110C10 4B FF FC DD */ bl kandelaarModelCallBack__9daAlink_cFv -lbl_80110C14: -/* 80110C14 38 60 00 01 */ li r3, 1 -/* 80110C18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80110C1C 7C 08 03 A6 */ mtlr r0 -/* 80110C20 38 21 00 10 */ addi r1, r1, 0x10 -/* 80110C24 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchCanoe__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchCanoe__FP10fopAc_ac_cPv.s deleted file mode 100644 index 268addbc43..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchCanoe__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_800F3CD8: -/* 800F3CD8 A8 03 00 08 */ lha r0, 8(r3) -/* 800F3CDC 2C 00 00 ED */ cmpwi r0, 0xed -/* 800F3CE0 40 82 00 10 */ bne lbl_800F3CF0 -/* 800F3CE4 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800F3CE8 28 00 00 00 */ cmplwi r0, 0 -/* 800F3CEC 4C 82 00 20 */ bnelr -lbl_800F3CF0: -/* 800F3CF0 38 60 00 00 */ li r3, 0 -/* 800F3CF4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchCoach__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchCoach__FP10fopAc_ac_cPv.s deleted file mode 100644 index c773992b84..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchCoach__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_800EC758: -/* 800EC758 A8 03 00 08 */ lha r0, 8(r3) -/* 800EC75C 2C 00 00 56 */ cmpwi r0, 0x56 -/* 800EC760 4D 82 00 20 */ beqlr -/* 800EC764 38 60 00 00 */ li r3, 0 -/* 800EC768 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchEnemyCargo__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchEnemyCargo__FP10fopAc_ac_cPv.s deleted file mode 100644 index 2a73d09da5..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchEnemyCargo__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8013DB58: -/* 8013DB58 A8 03 00 08 */ lha r0, 8(r3) -/* 8013DB5C 2C 00 00 F5 */ cmpwi r0, 0xf5 -/* 8013DB60 4D 82 00 20 */ beqlr -/* 8013DB64 38 60 00 00 */ li r3, 0 -/* 8013DB68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchGiant__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchGiant__FP10fopAc_ac_cPv.s deleted file mode 100644 index ad32ac526f..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchGiant__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80135050: -/* 80135050 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80135054 7C 08 02 A6 */ mflr r0 -/* 80135058 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013505C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80135060 7C 7F 1B 78 */ mr r31, r3 -/* 80135064 A8 03 00 08 */ lha r0, 8(r3) -/* 80135068 2C 00 00 20 */ cmpwi r0, 0x20 -/* 8013506C 40 82 00 20 */ bne lbl_8013508C -/* 80135070 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 80135074 48 21 23 29 */ bl PSVECSquareDistance -/* 80135078 C0 02 97 98 */ lfs f0, lit_49124(r2) -/* 8013507C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80135080 40 80 00 0C */ bge lbl_8013508C -/* 80135084 7F E3 FB 78 */ mr r3, r31 -/* 80135088 48 00 00 08 */ b lbl_80135090 -lbl_8013508C: -/* 8013508C 38 60 00 00 */ li r3, 0 -lbl_80135090: -/* 80135090 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80135094 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80135098 7C 08 03 A6 */ mtlr r0 -/* 8013509C 38 21 00 10 */ addi r1, r1, 0x10 -/* 801350A0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchGoldWolf__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchGoldWolf__FP10fopAc_ac_cPv.s deleted file mode 100644 index e17293fc3b..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchGoldWolf__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8013056C: -/* 8013056C A8 03 00 08 */ lha r0, 8(r3) -/* 80130570 2C 00 02 4F */ cmpwi r0, 0x24f -/* 80130574 4D 82 00 20 */ beqlr -/* 80130578 38 60 00 00 */ li r3, 0 -/* 8013057C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s deleted file mode 100644 index 2437b866ec..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80105A84: -/* 80105A84 A8 03 00 08 */ lha r0, 8(r3) -/* 80105A88 2C 00 01 87 */ cmpwi r0, 0x187 -/* 80105A8C 4D 82 00 20 */ beqlr -/* 80105A90 38 60 00 00 */ li r3, 0 -/* 80105A94 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchPeepObj__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchPeepObj__FP10fopAc_ac_cPv.s deleted file mode 100644 index a2b78f1990..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchPeepObj__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800CED48: -/* 800CED48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CED4C 7C 08 02 A6 */ mflr r0 -/* 800CED50 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CED54 7C 60 1B 78 */ mr r0, r3 -/* 800CED58 7C 85 23 78 */ mr r5, r4 -/* 800CED5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CED60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CED64 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 800CED68 7C 04 03 78 */ mr r4, r0 -/* 800CED6C 4B FF FF 79 */ bl searchPeepObj__9daAlink_cFP10fopAc_ac_cPv -/* 800CED70 38 60 00 00 */ li r3, 0 -/* 800CED74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CED78 7C 08 03 A6 */ mtlr r0 -/* 800CED7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CED80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchTagKandelaar__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchTagKandelaar__FP10fopAc_ac_cPv.s deleted file mode 100644 index 23e1fb9cf2..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchTagKandelaar__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80110654: -/* 80110654 A8 03 00 08 */ lha r0, 8(r3) -/* 80110658 2C 00 02 D6 */ cmpwi r0, 0x2d6 -/* 8011065C 4D 82 00 20 */ beqlr -/* 80110660 38 60 00 00 */ li r3, 0 -/* 80110664 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv.s deleted file mode 100644 index a09c33f4af..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80110668: -/* 80110668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011066C 7C 08 02 A6 */ mflr r0 -/* 80110670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80110674 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80110678 93 C1 00 08 */ stw r30, 8(r1) -/* 8011067C 7C 7E 1B 78 */ mr r30, r3 -/* 80110680 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80110684 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80110688 83 E3 5D B4 */ lwz r31, 0x5db4(r3) -/* 8011068C A8 1E 00 08 */ lha r0, 8(r30) -/* 80110690 2C 00 01 68 */ cmpwi r0, 0x168 -/* 80110694 40 82 00 38 */ bne lbl_801106CC -/* 80110698 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 8011069C 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 801106A0 48 23 6C FD */ bl PSVECSquareDistance -/* 801106A4 C0 02 95 C0 */ lfs f0, lit_26816(r2) -/* 801106A8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801106AC 40 80 00 20 */ bge lbl_801106CC -/* 801106B0 7F E3 FB 78 */ mr r3, r31 -/* 801106B4 7F C4 F3 78 */ mr r4, r30 -/* 801106B8 4B F0 A0 E5 */ bl fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 801106BC 2C 03 30 00 */ cmpwi r3, 0x3000 -/* 801106C0 40 80 00 0C */ bge lbl_801106CC -/* 801106C4 7F C3 F3 78 */ mr r3, r30 -/* 801106C8 48 00 00 08 */ b lbl_801106D0 -lbl_801106CC: -/* 801106CC 38 60 00 00 */ li r3, 0 -lbl_801106D0: -/* 801106D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801106D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801106D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801106DC 7C 08 03 A6 */ mtlr r0 -/* 801106E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801106E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv.s deleted file mode 100644 index 1818f23995..0000000000 --- a/asm/d/a/d_a_alink/daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_801392A8: -/* 801392A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801392AC 7C 08 02 A6 */ mflr r0 -/* 801392B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801392B4 7C 60 1B 78 */ mr r0, r3 -/* 801392B8 7C 85 23 78 */ mr r5, r4 -/* 801392BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801392C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801392C4 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 801392C8 7C 04 03 78 */ mr r4, r0 -/* 801392CC 4B FF FF 19 */ bl searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv -/* 801392D0 38 60 00 00 */ li r3, 0 -/* 801392D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801392D8 7C 08 03 A6 */ mtlr r0 -/* 801392DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801392E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s b/asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s deleted file mode 100644 index 9b718e193c..0000000000 --- a/asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_800D7208: -/* 800D7208 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D720C 7C 08 02 A6 */ mflr r0 -/* 800D7210 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D7214 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800D7218 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800D721C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D7220 7C 9F 23 78 */ mr r31, r4 -/* 800D7224 2C 05 00 00 */ cmpwi r5, 0 -/* 800D7228 40 82 00 24 */ bne lbl_800D724C -/* 800D722C 80 03 05 7C */ lwz r0, 0x57c(r3) -/* 800D7230 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1 -/* 800D7234 41 82 00 18 */ beq lbl_800D724C -/* 800D7238 80 03 05 90 */ lwz r0, 0x590(r3) -/* 800D723C 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D7240 40 82 00 0C */ bne lbl_800D724C -/* 800D7244 C3 E2 93 2C */ lfs f31, lit_7624(r2) -/* 800D7248 48 00 00 08 */ b lbl_800D7250 -lbl_800D724C: -/* 800D724C C3 E2 92 B8 */ lfs f31, lit_6040(r2) -lbl_800D7250: -/* 800D7250 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800D7254 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D7258 41 82 00 24 */ beq lbl_800D727C -/* 800D725C 88 03 05 6A */ lbz r0, 0x56a(r3) -/* 800D7260 28 00 00 2C */ cmplwi r0, 0x2c -/* 800D7264 41 82 00 18 */ beq lbl_800D727C -/* 800D7268 2C 05 00 00 */ cmpwi r5, 0 -/* 800D726C 40 82 00 10 */ bne lbl_800D727C -/* 800D7270 C0 02 93 14 */ lfs f0, lit_7307(r2) -/* 800D7274 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 800D7278 48 00 00 28 */ b lbl_800D72A0 -lbl_800D727C: -/* 800D727C 4B FE 8B 35 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 800D7280 2C 03 00 00 */ cmpwi r3, 0 -/* 800D7284 41 82 00 18 */ beq lbl_800D729C -/* 800D7288 2C 1F 00 00 */ cmpwi r31, 0 -/* 800D728C 41 82 00 10 */ beq lbl_800D729C -/* 800D7290 C0 02 93 30 */ lfs f0, lit_7625(r2) -/* 800D7294 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 800D7298 48 00 00 08 */ b lbl_800D72A0 -lbl_800D729C: -/* 800D729C FC 20 F8 90 */ fmr f1, f31 -lbl_800D72A0: -/* 800D72A0 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800D72A4 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800D72A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D72AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D72B0 7C 08 03 A6 */ mtlr r0 -/* 800D72B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D72B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/damageTimerCount__9daAlink_cFv.s b/asm/d/a/d_a_alink/damageTimerCount__9daAlink_cFv.s deleted file mode 100644 index e953305c8d..0000000000 --- a/asm/d/a/d_a_alink/damageTimerCount__9daAlink_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_800D7B18: -/* 800D7B18 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800D7B1C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800D7B20 40 82 00 70 */ bne lbl_800D7B90 -/* 800D7B24 88 83 2F B5 */ lbz r4, 0x2fb5(r3) -/* 800D7B28 28 04 00 00 */ cmplwi r4, 0 -/* 800D7B2C 41 82 00 0C */ beq lbl_800D7B38 -/* 800D7B30 38 04 FF FF */ addi r0, r4, -1 -/* 800D7B34 98 03 2F B5 */ stb r0, 0x2fb5(r3) -lbl_800D7B38: -/* 800D7B38 A8 83 05 6C */ lha r4, 0x56c(r3) -/* 800D7B3C 38 04 FF FF */ addi r0, r4, -1 -/* 800D7B40 B0 03 05 6C */ sth r0, 0x56c(r3) -/* 800D7B44 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800D7B48 28 00 00 78 */ cmplwi r0, 0x78 -/* 800D7B4C 41 82 00 1C */ beq lbl_800D7B68 -/* 800D7B50 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800D7B54 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800D7B58 41 82 00 10 */ beq lbl_800D7B68 -/* 800D7B5C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800D7B60 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800D7B64 90 03 05 74 */ stw r0, 0x574(r3) -lbl_800D7B68: -/* 800D7B68 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800D7B6C 28 00 02 62 */ cmplwi r0, 0x262 -/* 800D7B70 4D 82 00 20 */ beqlr -/* 800D7B74 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800D7B78 54 00 03 9D */ rlwinm. r0, r0, 0, 0xe, 0xe -/* 800D7B7C 4D 82 00 20 */ beqlr -/* 800D7B80 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800D7B84 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd -/* 800D7B88 90 03 05 70 */ stw r0, 0x570(r3) -/* 800D7B8C 4E 80 00 20 */ blr -lbl_800D7B90: -/* 800D7B90 88 83 2F B5 */ lbz r4, 0x2fb5(r3) -/* 800D7B94 28 04 00 00 */ cmplwi r4, 0 -/* 800D7B98 4D 82 00 20 */ beqlr -/* 800D7B9C 38 04 FF FF */ addi r0, r4, -1 -/* 800D7BA0 98 03 2F B5 */ stb r0, 0x2fb5(r3) -/* 800D7BA4 88 03 2F B5 */ lbz r0, 0x2fb5(r3) -/* 800D7BA8 A8 A3 05 6C */ lha r5, 0x56c(r3) -/* 800D7BAC 7C 80 2A 14 */ add r4, r0, r5 -/* 800D7BB0 54 80 E0 06 */ slwi r0, r4, 0x1c -/* 800D7BB4 54 84 0F FE */ srwi r4, r4, 0x1f -/* 800D7BB8 7C 04 00 50 */ subf r0, r4, r0 -/* 800D7BBC 54 00 20 3E */ rotlwi r0, r0, 4 -/* 800D7BC0 7C 00 22 15 */ add. r0, r0, r4 -/* 800D7BC4 4C 82 00 20 */ bnelr -/* 800D7BC8 54 A0 E0 06 */ slwi r0, r5, 0x1c -/* 800D7BCC 54 A4 0F FE */ srwi r4, r5, 0x1f -/* 800D7BD0 7C 04 00 50 */ subf r0, r4, r0 -/* 800D7BD4 54 00 20 3E */ rotlwi r0, r0, 4 -/* 800D7BD8 7C 00 22 14 */ add r0, r0, r4 -/* 800D7BDC 20 00 00 20 */ subfic r0, r0, 0x20 -/* 800D7BE0 98 03 2F B5 */ stb r0, 0x2fb5(r3) -/* 800D7BE4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/decSwordBlur__9daAlink_cFv.s b/asm/d/a/d_a_alink/decSwordBlur__9daAlink_cFv.s deleted file mode 100644 index 77a3998fe5..0000000000 --- a/asm/d/a/d_a_alink/decSwordBlur__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800AA6B4: -/* 800AA6B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800AA6B8 7C 08 02 A6 */ mflr r0 -/* 800AA6BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800AA6C0 7C 67 1B 78 */ mr r7, r3 -/* 800AA6C4 80 63 22 04 */ lwz r3, 0x2204(r3) -/* 800AA6C8 2C 03 00 0A */ cmpwi r3, 0xa -/* 800AA6CC 40 80 00 10 */ bge lbl_800AA6DC -/* 800AA6D0 38 00 00 00 */ li r0, 0 -/* 800AA6D4 90 07 22 04 */ stw r0, 0x2204(r7) -/* 800AA6D8 48 00 00 2C */ b lbl_800AA704 -lbl_800AA6DC: -/* 800AA6DC 38 03 FF F6 */ addi r0, r3, -10 -/* 800AA6E0 90 07 22 04 */ stw r0, 0x2204(r7) -/* 800AA6E4 38 67 21 F0 */ addi r3, r7, 0x21f0 -/* 800AA6E8 38 87 04 D0 */ addi r4, r7, 0x4d0 -/* 800AA6EC 38 A7 04 BC */ addi r5, r7, 0x4bc -/* 800AA6F0 A8 C7 2F E6 */ lha r6, 0x2fe6(r7) -/* 800AA6F4 A8 07 04 E6 */ lha r0, 0x4e6(r7) -/* 800AA6F8 7C 06 00 50 */ subf r0, r6, r0 -/* 800AA6FC 7C 06 07 34 */ extsh r6, r0 -/* 800AA700 48 07 B4 0D */ bl traceBlur__14daAlink_blur_cFPC4cXyzPC4cXyzs -lbl_800AA704: -/* 800AA704 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800AA708 7C 08 03 A6 */ mtlr r0 -/* 800AA70C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800AA710 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s b/asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s deleted file mode 100644 index 69ab0bc1c9..0000000000 --- a/asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800DEAE4: -/* 800DEAE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DEAE8 7C 08 02 A6 */ mflr r0 -/* 800DEAEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DEAF0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DEAF4 7C 7F 1B 78 */ mr r31, r3 -/* 800DEAF8 80 63 28 28 */ lwz r3, 0x2828(r3) -/* 800DEAFC 28 03 00 00 */ cmplwi r3, 0 -/* 800DEB00 41 82 00 78 */ beq lbl_800DEB78 -/* 800DEB04 A8 03 00 08 */ lha r0, 8(r3) -/* 800DEB08 2C 00 03 08 */ cmpwi r0, 0x308 -/* 800DEB0C 40 82 00 6C */ bne lbl_800DEB78 -/* 800DEB10 88 03 09 3C */ lbz r0, 0x93c(r3) -/* 800DEB14 28 00 00 01 */ cmplwi r0, 1 -/* 800DEB18 40 82 00 54 */ bne lbl_800DEB6C -/* 800DEB1C A8 BF 05 6C */ lha r5, 0x56c(r31) -/* 800DEB20 3C 80 80 39 */ lis r4, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800DEB24 38 84 E5 4C */ addi r4, r4, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800DEB28 A8 04 00 2A */ lha r0, 0x2a(r4) -/* 800DEB2C 7C 05 00 00 */ cmpw r5, r0 -/* 800DEB30 41 82 00 10 */ beq lbl_800DEB40 -/* 800DEB34 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DEB38 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800DEB3C 41 82 00 30 */ beq lbl_800DEB6C -lbl_800DEB40: -/* 800DEB40 38 00 00 00 */ li r0, 0 -/* 800DEB44 B0 03 09 50 */ sth r0, 0x950(r3) -/* 800DEB48 88 7F 2F 9C */ lbz r3, 0x2f9c(r31) -/* 800DEB4C 38 80 FF FF */ li r4, -1 -/* 800DEB50 4B F4 FC ED */ bl dComIfGp_addSelectItemNum__Fis -/* 800DEB54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DEB58 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DEB5C A8 64 5D F4 */ lha r3, 0x5df4(r4) -/* 800DEB60 38 03 FF FF */ addi r0, r3, -1 -/* 800DEB64 B0 04 5D F4 */ sth r0, 0x5df4(r4) -/* 800DEB68 48 00 00 08 */ b lbl_800DEB70 -lbl_800DEB6C: -/* 800DEB6C 4B F3 B1 11 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_800DEB70: -/* 800DEB70 38 7F 28 24 */ addi r3, r31, 0x2824 -/* 800DEB74 48 08 01 89 */ bl clearData__16daPy_actorKeep_cFv -lbl_800DEB78: -/* 800DEB78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DEB7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DEB80 7C 08 03 A6 */ mtlr r0 -/* 800DEB84 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DEB88 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/endHighModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/endHighModel__9daAlink_cFv.s deleted file mode 100644 index 011c7d8412..0000000000 --- a/asm/d/a/d_a_alink/endHighModel__9daAlink_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80117C34: -/* 80117C34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80117C38 7C 08 02 A6 */ mflr r0 -/* 80117C3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80117C40 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80117C44 7C 7F 1B 78 */ mr r31, r3 -/* 80117C48 80 83 06 8C */ lwz r4, 0x68c(r3) -/* 80117C4C 28 04 00 00 */ cmplwi r4, 0 -/* 80117C50 41 82 00 14 */ beq lbl_80117C64 -/* 80117C54 80 7F 06 88 */ lwz r3, 0x688(r31) -/* 80117C58 80 63 00 04 */ lwz r3, 4(r3) -/* 80117C5C 38 63 00 58 */ addi r3, r3, 0x58 -/* 80117C60 48 21 7B 55 */ bl removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey -lbl_80117C64: -/* 80117C64 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 80117C68 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a -/* 80117C6C 90 1F 05 74 */ stw r0, 0x574(r31) -/* 80117C70 38 00 00 00 */ li r0, 0 -/* 80117C74 90 1F 06 98 */ stw r0, 0x698(r31) -/* 80117C78 90 1F 06 8C */ stw r0, 0x68c(r31) -/* 80117C7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80117C80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80117C84 7C 08 03 A6 */ mtlr r0 -/* 80117C88 38 21 00 10 */ addi r1, r1, 0x10 -/* 80117C8C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/freezeTimerDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/freezeTimerDamage__9daAlink_cFv.s deleted file mode 100644 index 5d931a22b5..0000000000 --- a/asm/d/a/d_a_alink/freezeTimerDamage__9daAlink_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800D6E24: -/* 800D6E24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6E28 7C 08 02 A6 */ mflr r0 -/* 800D6E2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6E30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D6E34 7C 7F 1B 78 */ mr r31, r3 -/* 800D6E38 A8 83 30 08 */ lha r4, 0x3008(r3) -/* 800D6E3C 38 04 FF FF */ addi r0, r4, -1 -/* 800D6E40 B0 03 30 08 */ sth r0, 0x3008(r3) -/* 800D6E44 A8 83 30 0A */ lha r4, 0x300a(r3) -/* 800D6E48 38 04 00 01 */ addi r0, r4, 1 -/* 800D6E4C B0 03 30 0A */ sth r0, 0x300a(r3) -/* 800D6E50 A8 A3 30 0A */ lha r5, 0x300a(r3) -/* 800D6E54 38 80 00 2D */ li r4, 0x2d -/* 800D6E58 7C 05 23 D6 */ divw r0, r5, r4 -/* 800D6E5C 7C 00 21 D6 */ mullw r0, r0, r4 -/* 800D6E60 7C 00 28 51 */ subf. r0, r0, r5 -/* 800D6E64 40 82 00 18 */ bne lbl_800D6E7C -/* 800D6E68 38 80 00 01 */ li r4, 1 -/* 800D6E6C 38 A0 00 01 */ li r5, 1 -/* 800D6E70 38 C0 00 00 */ li r6, 0 -/* 800D6E74 38 E0 00 00 */ li r7, 0 -/* 800D6E78 48 00 04 45 */ bl setDamagePoint__9daAlink_cFiiii -lbl_800D6E7C: -/* 800D6E7C 88 1F 2F AE */ lbz r0, 0x2fae(r31) -/* 800D6E80 60 00 00 08 */ ori r0, r0, 8 -/* 800D6E84 98 1F 2F AE */ stb r0, 0x2fae(r31) -/* 800D6E88 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) -/* 800D6E8C 54 00 06 F9 */ rlwinm. r0, r0, 0, 0x1b, 0x1c -/* 800D6E90 41 82 00 10 */ beq lbl_800D6EA0 -/* 800D6E94 A8 7F 30 08 */ lha r3, 0x3008(r31) -/* 800D6E98 38 03 FF FE */ addi r0, r3, -2 -/* 800D6E9C B0 1F 30 08 */ sth r0, 0x3008(r31) -lbl_800D6EA0: -/* 800D6EA0 C0 3F 33 AC */ lfs f1, 0x33ac(r31) -/* 800D6EA4 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800D6EA8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6EAC 40 81 00 2C */ ble lbl_800D6ED8 -/* 800D6EB0 A8 7F 30 7C */ lha r3, 0x307c(r31) -/* 800D6EB4 A8 1F 2F E0 */ lha r0, 0x2fe0(r31) -/* 800D6EB8 7C 03 00 50 */ subf r0, r3, r0 -/* 800D6EBC 7C 03 07 34 */ extsh r3, r0 -/* 800D6EC0 48 28 E2 11 */ bl abs -/* 800D6EC4 2C 03 10 00 */ cmpwi r3, 0x1000 -/* 800D6EC8 40 81 00 10 */ ble lbl_800D6ED8 -/* 800D6ECC A8 7F 30 08 */ lha r3, 0x3008(r31) -/* 800D6ED0 38 03 FF FE */ addi r0, r3, -2 -/* 800D6ED4 B0 1F 30 08 */ sth r0, 0x3008(r31) -lbl_800D6ED8: -/* 800D6ED8 A8 1F 30 08 */ lha r0, 0x3008(r31) -/* 800D6EDC 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6EE0 40 80 00 0C */ bge lbl_800D6EEC -/* 800D6EE4 38 00 00 00 */ li r0, 0 -/* 800D6EE8 B0 1F 30 08 */ sth r0, 0x3008(r31) -lbl_800D6EEC: -/* 800D6EEC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6EF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6EF4 7C 08 03 A6 */ mtlr r0 -/* 800D6EF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6EFC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getArrowFlyData__9daAlink_cCFPfPfi.s b/asm/d/a/d_a_alink/getArrowFlyData__9daAlink_cCFPfPfi.s deleted file mode 100644 index 58eb680677..0000000000 --- a/asm/d/a/d_a_alink/getArrowFlyData__9daAlink_cCFPfPfi.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_800DE64C: -/* 800DE64C A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800DE650 28 00 00 4B */ cmplwi r0, 0x4b -/* 800DE654 40 82 00 20 */ bne lbl_800DE674 -/* 800DE658 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE65C 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE660 C0 03 00 6C */ lfs f0, 0x6c(r3) -/* 800DE664 D0 04 00 00 */ stfs f0, 0(r4) -/* 800DE668 C0 03 00 68 */ lfs f0, 0x68(r3) -/* 800DE66C D0 05 00 00 */ stfs f0, 0(r5) -/* 800DE670 4E 80 00 20 */ blr -lbl_800DE674: -/* 800DE674 3C E0 80 40 */ lis r7, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DE678 38 E7 61 C0 */ addi r7, r7, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DE67C 80 07 5F 18 */ lwz r0, 0x5f18(r7) -/* 800DE680 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa -/* 800DE684 41 82 00 20 */ beq lbl_800DE6A4 -/* 800DE688 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE68C 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE690 C0 03 00 5C */ lfs f0, 0x5c(r3) -/* 800DE694 D0 04 00 00 */ stfs f0, 0(r4) -/* 800DE698 C0 03 00 58 */ lfs f0, 0x58(r3) -/* 800DE69C D0 05 00 00 */ stfs f0, 0(r5) -/* 800DE6A0 4E 80 00 20 */ blr -lbl_800DE6A4: -/* 800DE6A4 A8 03 30 1C */ lha r0, 0x301c(r3) -/* 800DE6A8 2C 00 00 00 */ cmpwi r0, 0 -/* 800DE6AC 41 82 00 0C */ beq lbl_800DE6B8 -/* 800DE6B0 2C 06 00 00 */ cmpwi r6, 0 -/* 800DE6B4 41 82 00 48 */ beq lbl_800DE6FC -lbl_800DE6B8: -/* 800DE6B8 A8 03 30 1E */ lha r0, 0x301e(r3) -/* 800DE6BC 2C 00 00 01 */ cmpwi r0, 1 -/* 800DE6C0 40 82 00 20 */ bne lbl_800DE6E0 -/* 800DE6C4 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE6C8 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE6CC C0 03 00 54 */ lfs f0, 0x54(r3) -/* 800DE6D0 D0 04 00 00 */ stfs f0, 0(r4) -/* 800DE6D4 C0 03 00 50 */ lfs f0, 0x50(r3) -/* 800DE6D8 D0 05 00 00 */ stfs f0, 0(r5) -/* 800DE6DC 4E 80 00 20 */ blr -lbl_800DE6E0: -/* 800DE6E0 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE6E4 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE6E8 C0 03 00 40 */ lfs f0, 0x40(r3) -/* 800DE6EC D0 04 00 00 */ stfs f0, 0(r4) -/* 800DE6F0 C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 800DE6F4 D0 05 00 00 */ stfs f0, 0(r5) -/* 800DE6F8 4E 80 00 20 */ blr -lbl_800DE6FC: -/* 800DE6FC A8 03 30 1E */ lha r0, 0x301e(r3) -/* 800DE700 2C 00 00 01 */ cmpwi r0, 1 -/* 800DE704 40 82 00 20 */ bne lbl_800DE724 -/* 800DE708 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE70C 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE710 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 800DE714 D0 04 00 00 */ stfs f0, 0(r4) -/* 800DE718 C0 03 00 48 */ lfs f0, 0x48(r3) -/* 800DE71C D0 05 00 00 */ stfs f0, 0(r5) -/* 800DE720 4E 80 00 20 */ blr -lbl_800DE724: -/* 800DE724 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE728 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE72C C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800DE730 D0 04 00 00 */ stfs f0, 0(r4) -/* 800DE734 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 800DE738 D0 05 00 00 */ stfs f0, 0(r5) -/* 800DE73C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getArrowIncAtMaxStart__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getArrowIncAtMaxStart__9daAlink_cCFv.s deleted file mode 100644 index e3dd130a0e..0000000000 --- a/asm/d/a/d_a_alink/getArrowIncAtMaxStart__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800DE760: -/* 800DE760 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE764 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE768 C0 23 00 60 */ lfs f1, 0x60(r3) -/* 800DE76C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getArrowIncAtMax__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getArrowIncAtMax__9daAlink_cCFv.s deleted file mode 100644 index 6209543644..0000000000 --- a/asm/d/a/d_a_alink/getArrowIncAtMax__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800DE770: -/* 800DE770 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE774 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE778 C0 23 00 64 */ lfs f1, 0x64(r3) -/* 800DE77C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getArrowIncAtR__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getArrowIncAtR__9daAlink_cCFv.s deleted file mode 100644 index 3536630b45..0000000000 --- a/asm/d/a/d_a_alink/getArrowIncAtR__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800DE740: -/* 800DE740 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE744 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE748 C0 23 00 44 */ lfs f1, 0x44(r3) -/* 800DE74C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getBoardRowAnmSpeed__9daAlink_cFv.s b/asm/d/a/d_a_alink/getBoardRowAnmSpeed__9daAlink_cFv.s deleted file mode 100644 index fb503d2b82..0000000000 --- a/asm/d/a/d_a_alink/getBoardRowAnmSpeed__9daAlink_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_801066B8: -/* 801066B8 3C 80 80 39 */ lis r4, m__19daAlinkHIO_board_c0@ha /* 0x8038E870@ha */ -/* 801066BC 38 84 E8 70 */ addi r4, r4, m__19daAlinkHIO_board_c0@l /* 0x8038E870@l */ -/* 801066C0 C0 84 00 88 */ lfs f4, 0x88(r4) -/* 801066C4 C0 04 00 78 */ lfs f0, 0x78(r4) -/* 801066C8 EC 60 20 28 */ fsubs f3, f0, f4 -/* 801066CC C0 42 92 B8 */ lfs f2, lit_6040(r2) -/* 801066D0 C0 23 33 98 */ lfs f1, 0x3398(r3) -/* 801066D4 C0 04 00 7C */ lfs f0, 0x7c(r4) -/* 801066D8 EC 01 00 24 */ fdivs f0, f1, f0 -/* 801066DC EC 02 00 28 */ fsubs f0, f2, f0 -/* 801066E0 EC 03 00 32 */ fmuls f0, f3, f0 -/* 801066E4 EC 24 00 2A */ fadds f1, f4, f0 -/* 801066E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getBodyAngleXBasePos__9daAlink_cFP4cXyz.s b/asm/d/a/d_a_alink/getBodyAngleXBasePos__9daAlink_cFP4cXyz.s deleted file mode 100644 index 825cda3365..0000000000 --- a/asm/d/a/d_a_alink/getBodyAngleXBasePos__9daAlink_cFP4cXyz.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_800BB020: -/* 800BB020 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800BB024 28 00 00 CB */ cmplwi r0, 0xcb -/* 800BB028 41 82 00 0C */ beq lbl_800BB034 -/* 800BB02C 28 00 00 C8 */ cmplwi r0, 0xc8 -/* 800BB030 40 82 00 20 */ bne lbl_800BB050 -lbl_800BB034: -/* 800BB034 A8 03 30 20 */ lha r0, 0x3020(r3) -/* 800BB038 2C 00 00 00 */ cmpwi r0, 0 -/* 800BB03C 40 82 00 0C */ bne lbl_800BB048 -/* 800BB040 38 00 00 07 */ li r0, 7 -/* 800BB044 48 00 00 10 */ b lbl_800BB054 -lbl_800BB048: -/* 800BB048 38 00 00 0C */ li r0, 0xc -/* 800BB04C 48 00 00 08 */ b lbl_800BB054 -lbl_800BB050: -/* 800BB050 38 00 00 01 */ li r0, 1 -lbl_800BB054: -/* 800BB054 80 63 06 50 */ lwz r3, 0x650(r3) -/* 800BB058 80 63 00 84 */ lwz r3, 0x84(r3) -/* 800BB05C 80 63 00 0C */ lwz r3, 0xc(r3) -/* 800BB060 1C 00 00 30 */ mulli r0, r0, 0x30 -/* 800BB064 7C 63 02 14 */ add r3, r3, r0 -/* 800BB068 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 800BB06C D0 04 00 00 */ stfs f0, 0(r4) -/* 800BB070 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800BB074 D0 04 00 04 */ stfs f0, 4(r4) -/* 800BB078 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800BB07C D0 04 00 08 */ stfs f0, 8(r4) -/* 800BB080 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getBombArrowFlyExplodeTime__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getBombArrowFlyExplodeTime__9daAlink_cCFv.s deleted file mode 100644 index 2c535c95d0..0000000000 --- a/asm/d/a/d_a_alink/getBombArrowFlyExplodeTime__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800DE750: -/* 800DE750 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DE754 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DE758 A8 63 00 2C */ lha r3, 0x2c(r3) -/* 800DE75C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s b/asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s deleted file mode 100644 index 0b939d1925..0000000000 --- a/asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800E0010: -/* 800E0010 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0014 7C 08 02 A6 */ mflr r0 -/* 800E0018 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E001C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0020 93 C1 00 08 */ stw r30, 8(r1) -/* 800E0024 7C 7E 1B 78 */ mr r30, r3 -/* 800E0028 3B E0 00 00 */ li r31, 0 -/* 800E002C A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800E0030 28 00 01 02 */ cmplwi r0, 0x102 -/* 800E0034 41 82 00 14 */ beq lbl_800E0048 -/* 800E0038 48 00 04 09 */ bl checkBoomerangAnime__9daAlink_cCFv -/* 800E003C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0040 41 82 00 08 */ beq lbl_800E0048 -/* 800E0044 3B E0 00 01 */ li r31, 1 -lbl_800E0048: -/* 800E0048 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800E004C 41 82 00 14 */ beq lbl_800E0060 -/* 800E0050 3C 60 80 39 */ lis r3, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E0054 38 63 E6 C8 */ addi r3, r3, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E0058 C0 23 00 38 */ lfs f1, 0x38(r3) -/* 800E005C 48 00 00 10 */ b lbl_800E006C -lbl_800E0060: -/* 800E0060 3C 60 80 39 */ lis r3, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E0064 38 63 E6 C8 */ addi r3, r3, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E0068 C0 23 00 34 */ lfs f1, 0x34(r3) -lbl_800E006C: -/* 800E006C 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800E0070 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800E0074 41 82 00 24 */ beq lbl_800E0098 -/* 800E0078 80 7E 28 18 */ lwz r3, 0x2818(r30) -/* 800E007C 28 03 00 00 */ cmplwi r3, 0 -/* 800E0080 41 82 00 18 */ beq lbl_800E0098 -/* 800E0084 C0 43 05 2C */ lfs f2, 0x52c(r3) -/* 800E0088 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E008C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800E0090 40 81 00 08 */ ble lbl_800E0098 -/* 800E0094 EC 21 10 2A */ fadds f1, f1, f2 -lbl_800E0098: -/* 800E0098 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E009C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E00A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E00A4 7C 08 03 A6 */ mtlr r0 -/* 800E00A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E00AC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getBottleOpenAppearItem__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getBottleOpenAppearItem__9daAlink_cCFv.s deleted file mode 100644 index d1a674d27d..0000000000 --- a/asm/d/a/d_a_alink/getBottleOpenAppearItem__9daAlink_cCFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8010E568: -/* 8010E568 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 8010E56C 28 00 00 B4 */ cmplwi r0, 0xb4 -/* 8010E570 40 82 00 0C */ bne lbl_8010E57C -/* 8010E574 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 8010E578 4E 80 00 20 */ blr -lbl_8010E57C: -/* 8010E57C 38 60 FF FF */ li r3, -1 -/* 8010E580 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCanoeBackMaxSpeed__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getCanoeBackMaxSpeed__9daAlink_cCFv.s deleted file mode 100644 index d1e88cfd5a..0000000000 --- a/asm/d/a/d_a_alink/getCanoeBackMaxSpeed__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800F3BDC: -/* 800F3BDC 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3BE0 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3BE4 C0 23 00 38 */ lfs f1, 0x38(r3) -/* 800F3BE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCanoeCres__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getCanoeCres__9daAlink_cCFv.s deleted file mode 100644 index 9fa298c6ef..0000000000 --- a/asm/d/a/d_a_alink/getCanoeCres__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800F3BEC: -/* 800F3BEC 88 03 05 6A */ lbz r0, 0x56a(r3) -/* 800F3BF0 28 00 00 2D */ cmplwi r0, 0x2d -/* 800F3BF4 40 82 00 14 */ bne lbl_800F3C08 -/* 800F3BF8 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3BFC 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3C00 C0 23 00 44 */ lfs f1, 0x44(r3) -/* 800F3C04 4E 80 00 20 */ blr -lbl_800F3C08: -/* 800F3C08 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3C0C 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3C10 C0 23 00 28 */ lfs f1, 0x28(r3) -/* 800F3C14 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCanoeLocalPaddleTop__9daAlink_cFv.s b/asm/d/a/d_a_alink/getCanoeLocalPaddleTop__9daAlink_cFv.s deleted file mode 100644 index e67164e946..0000000000 --- a/asm/d/a/d_a_alink/getCanoeLocalPaddleTop__9daAlink_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_800F3CCC: -/* 800F3CCC 3C 60 80 39 */ lis r3, localPaddleTop@ha /* 0x803919E4@ha */ -/* 800F3CD0 38 63 19 E4 */ addi r3, r3, localPaddleTop@l /* 0x803919E4@l */ -/* 800F3CD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCanoeMaxSpeed__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getCanoeMaxSpeed__9daAlink_cCFv.s deleted file mode 100644 index c385335c63..0000000000 --- a/asm/d/a/d_a_alink/getCanoeMaxSpeed__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800F3BB0: -/* 800F3BB0 88 03 05 6A */ lbz r0, 0x56a(r3) -/* 800F3BB4 28 00 00 2D */ cmplwi r0, 0x2d -/* 800F3BB8 40 82 00 14 */ bne lbl_800F3BCC -/* 800F3BBC 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3BC0 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3BC4 C0 23 00 3C */ lfs f1, 0x3c(r3) -/* 800F3BC8 4E 80 00 20 */ blr -lbl_800F3BCC: -/* 800F3BCC 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3BD0 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3BD4 C0 23 00 24 */ lfs f1, 0x24(r3) -/* 800F3BD8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCanoePaddleMatrix__9daAlink_cFv.s b/asm/d/a/d_a_alink/getCanoePaddleMatrix__9daAlink_cFv.s deleted file mode 100644 index 05886e2690..0000000000 --- a/asm/d/a/d_a_alink/getCanoePaddleMatrix__9daAlink_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800F3DFC: -/* 800F3DFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F3E00 7C 08 02 A6 */ mflr r0 -/* 800F3E04 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F3E08 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800F3E0C 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 800F3E10 7D 89 03 A6 */ mtctr r12 -/* 800F3E14 4E 80 04 21 */ bctrl -/* 800F3E18 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800F3E1C 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800F3E20 48 25 26 91 */ bl PSMTXCopy -/* 800F3E24 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800F3E28 FC 40 08 90 */ fmr f2, f1 -/* 800F3E2C C0 62 92 9C */ lfs f3, lit_5944(r2) -/* 800F3E30 4B F1 8F 6D */ bl transM__14mDoMtx_stack_cFfff -/* 800F3E34 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800F3E38 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800F3E3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F3E40 7C 08 03 A6 */ mtlr r0 -/* 800F3E44 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F3E48 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCanoeSpeedRate__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getCanoeSpeedRate__9daAlink_cCFv.s deleted file mode 100644 index af8b7b4e07..0000000000 --- a/asm/d/a/d_a_alink/getCanoeSpeedRate__9daAlink_cCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_800F3C18: -/* 800F3C18 88 03 05 6A */ lbz r0, 0x56a(r3) -/* 800F3C1C 28 00 00 2D */ cmplwi r0, 0x2d -/* 800F3C20 40 82 00 14 */ bne lbl_800F3C34 -/* 800F3C24 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3C28 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3C2C C0 23 00 40 */ lfs f1, 0x40(r3) -/* 800F3C30 4E 80 00 20 */ blr -lbl_800F3C34: -/* 800F3C34 3C 60 80 39 */ lis r3, m__19daAlinkHIO_canoe_c0@ha /* 0x8038E610@ha */ -/* 800F3C38 38 63 E6 10 */ addi r3, r3, m__19daAlinkHIO_canoe_c0@l /* 0x8038E610@l */ -/* 800F3C3C C0 23 00 20 */ lfs f1, 0x20(r3) -/* 800F3C40 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getChainStickAngleY__9daAlink_cCFs.s b/asm/d/a/d_a_alink/getChainStickAngleY__9daAlink_cCFs.s deleted file mode 100644 index e179b22626..0000000000 --- a/asm/d/a/d_a_alink/getChainStickAngleY__9daAlink_cCFs.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_800E794C: -/* 800E794C 7C 84 07 34 */ extsh r4, r4 -/* 800E7950 A8 63 2F E2 */ lha r3, 0x2fe2(r3) -/* 800E7954 7C 04 18 50 */ subf r0, r4, r3 -/* 800E7958 7C 00 07 34 */ extsh r0, r0 -/* 800E795C 2C 00 38 00 */ cmpwi r0, 0x3800 -/* 800E7960 41 80 00 18 */ blt lbl_800E7978 -/* 800E7964 2C 00 7F 80 */ cmpwi r0, 0x7f80 -/* 800E7968 40 80 00 10 */ bge lbl_800E7978 -/* 800E796C 38 04 7F 80 */ addi r0, r4, 0x7f80 -/* 800E7970 7C 03 07 34 */ extsh r3, r0 -/* 800E7974 4E 80 00 20 */ blr -lbl_800E7978: -/* 800E7978 2C 00 C8 00 */ cmpwi r0, -14336 -/* 800E797C 4D 81 00 20 */ bgtlr -/* 800E7980 2C 00 80 80 */ cmpwi r0, -32640 -/* 800E7984 4C 81 00 20 */ blelr -/* 800E7988 38 04 80 80 */ addi r0, r4, -32640 -/* 800E798C 7C 03 07 34 */ extsh r3, r0 -/* 800E7990 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getCutDirection__9daAlink_cFv.s b/asm/d/a/d_a_alink/getCutDirection__9daAlink_cFv.s deleted file mode 100644 index a3f510f71b..0000000000 --- a/asm/d/a/d_a_alink/getCutDirection__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_800D26EC: -/* 800D26EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D26F0 7C 08 02 A6 */ mflr r0 -/* 800D26F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D26F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D26FC 7C 7F 1B 78 */ mr r31, r3 -/* 800D2700 C0 23 33 AC */ lfs f1, 0x33ac(r3) -/* 800D2704 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800D2708 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D270C 41 81 00 0C */ bgt lbl_800D2718 -/* 800D2710 38 60 00 04 */ li r3, 4 -/* 800D2714 48 00 00 38 */ b lbl_800D274C -lbl_800D2718: -/* 800D2718 80 9F 27 EC */ lwz r4, 0x27ec(r31) -/* 800D271C 28 04 00 00 */ cmplwi r4, 0 -/* 800D2720 41 82 00 18 */ beq lbl_800D2738 -/* 800D2724 4B F4 7F ED */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 800D2728 A8 1F 2F E2 */ lha r0, 0x2fe2(r31) -/* 800D272C 7C 03 00 50 */ subf r0, r3, r0 -/* 800D2730 7C 03 07 34 */ extsh r3, r0 -/* 800D2734 48 00 00 14 */ b lbl_800D2748 -lbl_800D2738: -/* 800D2738 A8 7F 2F E6 */ lha r3, 0x2fe6(r31) -/* 800D273C A8 1F 2F E2 */ lha r0, 0x2fe2(r31) -/* 800D2740 7C 03 00 50 */ subf r0, r3, r0 -/* 800D2744 7C 03 07 34 */ extsh r3, r0 -lbl_800D2748: -/* 800D2748 4B FE 0D 4D */ bl getDirectionFromAngle__9daAlink_cFs -lbl_800D274C: -/* 800D274C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D2750 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D2754 7C 08 03 A6 */ mtlr r0 -/* 800D2758 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D275C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getDirectionRopeMove__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getDirectionRopeMove__9daAlink_cCFv.s deleted file mode 100644 index 3686935601..0000000000 --- a/asm/d/a/d_a_alink/getDirectionRopeMove__9daAlink_cCFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80131C00: -/* 80131C00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80131C04 7C 08 02 A6 */ mflr r0 -/* 80131C08 90 01 00 14 */ stw r0, 0x14(r1) -/* 80131C0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80131C10 A8 83 04 E6 */ lha r4, 0x4e6(r3) -/* 80131C14 A8 03 2F E2 */ lha r0, 0x2fe2(r3) -/* 80131C18 7C 04 00 50 */ subf r0, r4, r0 -/* 80131C1C 7C 1F 07 34 */ extsh r31, r0 -/* 80131C20 7F E3 FB 78 */ mr r3, r31 -/* 80131C24 48 23 34 AD */ bl abs -/* 80131C28 2C 03 50 00 */ cmpwi r3, 0x5000 -/* 80131C2C 40 81 00 0C */ ble lbl_80131C38 -/* 80131C30 38 60 00 01 */ li r3, 1 -/* 80131C34 48 00 00 2C */ b lbl_80131C60 -lbl_80131C38: -/* 80131C38 2C 1F 30 00 */ cmpwi r31, 0x3000 -/* 80131C3C 41 80 00 0C */ blt lbl_80131C48 -/* 80131C40 38 60 00 02 */ li r3, 2 -/* 80131C44 48 00 00 1C */ b lbl_80131C60 -lbl_80131C48: -/* 80131C48 6F E3 80 00 */ xoris r3, r31, 0x8000 -/* 80131C4C 20 1F D0 00 */ subfic r0, r31, -12288 -/* 80131C50 7C 00 18 14 */ addc r0, r0, r3 -/* 80131C54 7C 60 01 10 */ subfe r3, r0, r0 -/* 80131C58 38 00 00 03 */ li r0, 3 -/* 80131C5C 7C 03 18 38 */ and r3, r0, r3 -lbl_80131C60: -/* 80131C60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80131C64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80131C68 7C 08 03 A6 */ mtlr r0 -/* 80131C6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80131C70 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s deleted file mode 100644 index 80114b1872..0000000000 --- a/asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800D6DB4: -/* 800D6DB4 3C 60 80 39 */ lis r3, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800D6DB8 38 63 E5 4C */ addi r3, r3, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800D6DBC A8 63 00 4C */ lha r3, 0x4c(r3) -/* 800D6DC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s deleted file mode 100644 index 5ad8747fe6..0000000000 --- a/asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800D6DA4: -/* 800D6DA4 3C 60 80 39 */ lis r3, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800D6DA8 38 63 E5 4C */ addi r3, r3, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800D6DAC A8 63 00 4A */ lha r3, 0x4a(r3) -/* 800D6DB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s deleted file mode 100644 index e8f462c7b2..0000000000 --- a/asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800D6D94: -/* 800D6D94 3C 60 80 39 */ lis r3, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800D6D98 38 63 E5 4C */ addi r3, r3, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800D6D9C A8 63 00 48 */ lha r3, 0x48(r3) -/* 800D6DA0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getGrabThrowRate__9daAlink_cFv.s b/asm/d/a/d_a_alink/getGrabThrowRate__9daAlink_cFv.s deleted file mode 100644 index cbbabd8948..0000000000 --- a/asm/d/a/d_a_alink/getGrabThrowRate__9daAlink_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800E3BCC: -/* 800E3BCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E3BD0 7C 08 02 A6 */ mflr r0 -/* 800E3BD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E3BD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E3BDC 7C 7F 1B 78 */ mr r31, r3 -/* 800E3BE0 38 80 00 01 */ li r4, 1 -/* 800E3BE4 38 A0 00 01 */ li r5, 1 -/* 800E3BE8 4B FD 78 D1 */ bl checkHeavyStateOn__9daAlink_cFii -/* 800E3BEC 2C 03 00 00 */ cmpwi r3, 0 -/* 800E3BF0 41 82 00 14 */ beq lbl_800E3C04 -/* 800E3BF4 C0 22 92 AC */ lfs f1, lit_6023(r2) -/* 800E3BF8 C0 1F 34 34 */ lfs f0, 0x3434(r31) -/* 800E3BFC EC 21 00 32 */ fmuls f1, f1, f0 -/* 800E3C00 48 00 00 08 */ b lbl_800E3C08 -lbl_800E3C04: -/* 800E3C04 C0 22 92 AC */ lfs f1, lit_6023(r2) -lbl_800E3C08: -/* 800E3C08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E3C0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E3C10 7C 08 03 A6 */ mtlr r0 -/* 800E3C14 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E3C18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getIronBallBgHit__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getIronBallBgHit__9daAlink_cCFv.s deleted file mode 100644 index 8bdc5ea9a7..0000000000 --- a/asm/d/a/d_a_alink/getIronBallBgHit__9daAlink_cCFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80112458: -/* 80112458 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 8011245C 28 00 00 42 */ cmplwi r0, 0x42 -/* 80112460 40 82 00 0C */ bne lbl_8011246C -/* 80112464 A8 63 30 1C */ lha r3, 0x301c(r3) -/* 80112468 4E 80 00 20 */ blr -lbl_8011246C: -/* 8011246C 38 60 00 00 */ li r3, 0 -/* 80112470 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getIronBallCenterPos__9daAlink_cFv.s b/asm/d/a/d_a_alink/getIronBallCenterPos__9daAlink_cFv.s deleted file mode 100644 index efebd86667..0000000000 --- a/asm/d/a/d_a_alink/getIronBallCenterPos__9daAlink_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8011243C: -/* 8011243C A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 80112440 28 00 00 42 */ cmplwi r0, 0x42 -/* 80112444 40 82 00 0C */ bne lbl_80112450 -/* 80112448 38 63 37 F8 */ addi r3, r3, 0x37f8 -/* 8011244C 4E 80 00 20 */ blr -lbl_80112450: -/* 80112450 38 60 00 00 */ li r3, 0 -/* 80112454 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getKandelaarFlamePos__9daAlink_cFv.s b/asm/d/a/d_a_alink/getKandelaarFlamePos__9daAlink_cFv.s deleted file mode 100644 index fb55c75aea..0000000000 --- a/asm/d/a/d_a_alink/getKandelaarFlamePos__9daAlink_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80110C28: -/* 80110C28 80 A3 05 78 */ lwz r5, 0x578(r3) -/* 80110C2C 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020001@ha */ -/* 80110C30 38 04 00 01 */ addi r0, r4, 0x0001 /* 0x00020001@l */ -/* 80110C34 7C A0 00 39 */ and. r0, r5, r0 -/* 80110C38 40 82 00 10 */ bne lbl_80110C48 -/* 80110C3C 80 03 05 8C */ lwz r0, 0x58c(r3) -/* 80110C40 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 80110C44 41 82 00 18 */ beq lbl_80110C5C -lbl_80110C48: -/* 80110C48 80 83 05 74 */ lwz r4, 0x574(r3) -/* 80110C4C 54 80 01 8D */ rlwinm. r0, r4, 0, 6, 6 -/* 80110C50 40 82 00 0C */ bne lbl_80110C5C -/* 80110C54 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 -/* 80110C58 40 82 00 0C */ bne lbl_80110C64 -lbl_80110C5C: -/* 80110C5C 38 60 00 00 */ li r3, 0 -/* 80110C60 4E 80 00 20 */ blr -lbl_80110C64: -/* 80110C64 38 63 36 0C */ addi r3, r3, 0x360c -/* 80110C68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getReinRideDirection__9daAlink_cFv.s b/asm/d/a/d_a_alink/getReinRideDirection__9daAlink_cFv.s deleted file mode 100644 index 92aa3f3162..0000000000 --- a/asm/d/a/d_a_alink/getReinRideDirection__9daAlink_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_800EC87C: -/* 800EC87C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EC880 7C 08 02 A6 */ mflr r0 -/* 800EC884 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EC888 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EC88C 7C 7F 1B 78 */ mr r31, r3 -/* 800EC890 80 63 27 F4 */ lwz r3, 0x27f4(r3) -/* 800EC894 7F E4 FB 78 */ mr r4, r31 -/* 800EC898 4B F2 DE 79 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 800EC89C 80 9F 27 F4 */ lwz r4, 0x27f4(r31) -/* 800EC8A0 A8 04 04 E6 */ lha r0, 0x4e6(r4) -/* 800EC8A4 7C 00 18 50 */ subf r0, r0, r3 -/* 800EC8A8 7C 1F 07 34 */ extsh r31, r0 -/* 800EC8AC A8 04 00 08 */ lha r0, 8(r4) -/* 800EC8B0 2C 00 00 EE */ cmpwi r0, 0xee -/* 800EC8B4 40 82 00 1C */ bne lbl_800EC8D0 -/* 800EC8B8 7F E3 FB 78 */ mr r3, r31 -/* 800EC8BC 48 27 88 15 */ bl abs -/* 800EC8C0 2C 03 68 00 */ cmpwi r3, 0x6800 -/* 800EC8C4 40 81 00 0C */ ble lbl_800EC8D0 -/* 800EC8C8 38 60 00 01 */ li r3, 1 -/* 800EC8CC 48 00 00 18 */ b lbl_800EC8E4 -lbl_800EC8D0: -/* 800EC8D0 7F E0 07 35 */ extsh. r0, r31 -/* 800EC8D4 40 81 00 0C */ ble lbl_800EC8E0 -/* 800EC8D8 38 60 00 02 */ li r3, 2 -/* 800EC8DC 48 00 00 08 */ b lbl_800EC8E4 -lbl_800EC8E0: -/* 800EC8E0 38 60 00 03 */ li r3, 3 -lbl_800EC8E4: -/* 800EC8E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EC8E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EC8EC 7C 08 03 A6 */ mtlr r0 -/* 800EC8F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EC8F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getSwimFrontMaxSpeed__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getSwimFrontMaxSpeed__9daAlink_cCFv.s deleted file mode 100644 index f43d1912c5..0000000000 --- a/asm/d/a/d_a_alink/getSwimFrontMaxSpeed__9daAlink_cCFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80101A18: -/* 80101A18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80101A1C 7C 08 02 A6 */ mflr r0 -/* 80101A20 90 01 00 14 */ stw r0, 0x14(r1) -/* 80101A24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80101A28 7C 7F 1B 78 */ mr r31, r3 -/* 80101A2C 81 83 06 28 */ lwz r12, 0x628(r3) -/* 80101A30 81 8C 02 80 */ lwz r12, 0x280(r12) -/* 80101A34 7D 89 03 A6 */ mtctr r12 -/* 80101A38 4E 80 04 21 */ bctrl -/* 80101A3C 2C 03 00 00 */ cmpwi r3, 0 -/* 80101A40 41 82 00 14 */ beq lbl_80101A54 -/* 80101A44 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101A48 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101A4C C0 23 00 78 */ lfs f1, 0x78(r3) -/* 80101A50 48 00 00 44 */ b lbl_80101A94 -lbl_80101A54: -/* 80101A54 7F E3 FB 78 */ mr r3, r31 -/* 80101A58 4B FB E3 59 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 80101A5C 2C 03 00 00 */ cmpwi r3, 0 -/* 80101A60 41 82 00 0C */ beq lbl_80101A6C -/* 80101A64 C0 22 93 48 */ lfs f1, lit_8130(r2) -/* 80101A68 48 00 00 2C */ b lbl_80101A94 -lbl_80101A6C: -/* 80101A6C 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 80101A70 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 80101A74 41 82 00 14 */ beq lbl_80101A88 -/* 80101A78 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101A7C 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101A80 C0 23 00 EC */ lfs f1, 0xec(r3) -/* 80101A84 48 00 00 10 */ b lbl_80101A94 -lbl_80101A88: -/* 80101A88 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101A8C 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101A90 C0 23 00 68 */ lfs f1, 0x68(r3) -lbl_80101A94: -/* 80101A94 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80101A98 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80101A9C 7C 08 03 A6 */ mtlr r0 -/* 80101AA0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80101AA4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getSwimMaxFallSpeed__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getSwimMaxFallSpeed__9daAlink_cCFv.s deleted file mode 100644 index 579b36e52a..0000000000 --- a/asm/d/a/d_a_alink/getSwimMaxFallSpeed__9daAlink_cCFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80101AA8: -/* 80101AA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80101AAC 7C 08 02 A6 */ mflr r0 -/* 80101AB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80101AB4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80101AB8 7C 7F 1B 78 */ mr r31, r3 -/* 80101ABC A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 80101AC0 28 00 00 16 */ cmplwi r0, 0x16 -/* 80101AC4 40 82 00 18 */ bne lbl_80101ADC -/* 80101AC8 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101ACC 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101AD0 C0 03 00 74 */ lfs f0, 0x74(r3) -/* 80101AD4 FC 20 00 50 */ fneg f1, f0 -/* 80101AD8 48 00 00 58 */ b lbl_80101B30 -lbl_80101ADC: -/* 80101ADC 81 83 06 28 */ lwz r12, 0x628(r3) -/* 80101AE0 81 8C 02 80 */ lwz r12, 0x280(r12) -/* 80101AE4 7D 89 03 A6 */ mtctr r12 -/* 80101AE8 4E 80 04 21 */ bctrl -/* 80101AEC 2C 03 00 00 */ cmpwi r3, 0 -/* 80101AF0 41 82 00 14 */ beq lbl_80101B04 -/* 80101AF4 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101AF8 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101AFC C0 23 00 D0 */ lfs f1, 0xd0(r3) -/* 80101B00 48 00 00 30 */ b lbl_80101B30 -lbl_80101B04: -/* 80101B04 7F E3 FB 78 */ mr r3, r31 -/* 80101B08 4B FF FE B1 */ bl getZoraSwim__9daAlink_cCFv -/* 80101B0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80101B10 41 82 00 14 */ beq lbl_80101B24 -/* 80101B14 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101B18 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101B1C C0 23 00 84 */ lfs f1, 0x84(r3) -/* 80101B20 48 00 00 10 */ b lbl_80101B30 -lbl_80101B24: -/* 80101B24 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 80101B28 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 80101B2C C0 23 00 CC */ lfs f1, 0xcc(r3) -lbl_80101B30: -/* 80101B30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80101B34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80101B38 7C 08 03 A6 */ mtlr r0 -/* 80101B3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80101B40 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s b/asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s deleted file mode 100644 index afbb92895d..0000000000 --- a/asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800E7EE4: -/* 800E7EE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E7EE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E7EEC 88 63 5E 1C */ lbz r3, 0x5e1c(r3) -/* 800E7EF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getWolfLieMoveAnmSpeed__9daAlink_cFv.s b/asm/d/a/d_a_alink/getWolfLieMoveAnmSpeed__9daAlink_cFv.s deleted file mode 100644 index 5ed2699ef8..0000000000 --- a/asm/d/a/d_a_alink/getWolfLieMoveAnmSpeed__9daAlink_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801370E4: -/* 801370E4 80 03 31 98 */ lwz r0, 0x3198(r3) -/* 801370E8 2C 00 00 00 */ cmpwi r0, 0 -/* 801370EC 41 82 00 1C */ beq lbl_80137108 -/* 801370F0 C0 42 92 98 */ lfs f2, lit_5943(r2) -/* 801370F4 C0 23 33 A8 */ lfs f1, 0x33a8(r3) -/* 801370F8 C0 02 93 2C */ lfs f0, lit_7624(r2) -/* 801370FC EC 01 00 32 */ fmuls f0, f1, f0 -/* 80137100 EC 22 00 2A */ fadds f1, f2, f0 -/* 80137104 4E 80 00 20 */ blr -lbl_80137108: -/* 80137108 3C 80 80 39 */ lis r4, m__19daAlinkHIO_wlLie_c0@ha /* 0x8038F138@ha */ -/* 8013710C 38 84 F1 38 */ addi r4, r4, m__19daAlinkHIO_wlLie_c0@l /* 0x8038F138@l */ -/* 80137110 C0 44 00 3C */ lfs f2, 0x3c(r4) -/* 80137114 C0 23 33 A8 */ lfs f1, 0x33a8(r3) -/* 80137118 C0 04 00 38 */ lfs f0, 0x38(r4) -/* 8013711C EC 00 10 28 */ fsubs f0, f0, f2 -/* 80137120 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80137124 EC 22 00 2A */ fadds f1, f2, f0 -/* 80137128 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s b/asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s deleted file mode 100644 index 7820cecd16..0000000000 --- a/asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_801019B8: -/* 801019B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801019BC 7C 08 02 A6 */ mflr r0 -/* 801019C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801019C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801019C8 93 C1 00 08 */ stw r30, 8(r1) -/* 801019CC 7C 7E 1B 78 */ mr r30, r3 -/* 801019D0 3B E0 00 00 */ li r31, 0 -/* 801019D4 38 80 00 C9 */ li r4, 0xc9 -/* 801019D8 4B FA AB 81 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 801019DC 2C 03 00 00 */ cmpwi r3, 0 -/* 801019E0 40 82 00 18 */ bne lbl_801019F8 -/* 801019E4 7F C3 F3 78 */ mr r3, r30 -/* 801019E8 38 80 00 C8 */ li r4, 0xc8 -/* 801019EC 4B FA AB 6D */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 801019F0 2C 03 00 00 */ cmpwi r3, 0 -/* 801019F4 41 82 00 08 */ beq lbl_801019FC -lbl_801019F8: -/* 801019F8 3B E0 00 01 */ li r31, 1 -lbl_801019FC: -/* 801019FC 7F E3 FB 78 */ mr r3, r31 -/* 80101A00 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80101A04 83 C1 00 08 */ lwz r30, 8(r1) -/* 80101A08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80101A0C 7C 08 03 A6 */ mtlr r0 -/* 80101A10 38 21 00 10 */ addi r1, r1, 0x10 -/* 80101A14 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s b/asm/d/a/d_a_alink/grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s deleted file mode 100644 index 01ccab0890..0000000000 --- a/asm/d/a/d_a_alink/grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_800E5B6C: -/* 800E5B6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E5B70 7C 08 02 A6 */ mflr r0 -/* 800E5B74 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E5B78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E5B7C 7C 7F 1B 78 */ mr r31, r3 -/* 800E5B80 38 7F 1E 5C */ addi r3, r31, 0x1e5c -/* 800E5B84 80 DF 28 30 */ lwz r6, 0x2830(r31) -/* 800E5B88 4B F9 21 DD */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c -/* 800E5B8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E5B90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E5B94 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800E5B98 38 9F 1E 5C */ addi r4, r31, 0x1e5c -/* 800E5B9C 4B F8 E8 19 */ bl LineCross__4cBgSFP11cBgS_LinChk -/* 800E5BA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E5BA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E5BA8 7C 08 03 A6 */ mtlr r0 -/* 800E5BAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E5BB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initCanoeRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/initCanoeRide__9daAlink_cFv.s deleted file mode 100644 index 75c7a9414e..0000000000 --- a/asm/d/a/d_a_alink/initCanoeRide__9daAlink_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800F3FC4: -/* 800F3FC4 38 00 00 01 */ li r0, 1 -/* 800F3FC8 B0 03 30 12 */ sth r0, 0x3012(r3) -/* 800F3FCC 3C 80 80 42 */ lis r4, l_waitBaseAnime@ha /* 0x80425514@ha */ -/* 800F3FD0 C4 04 55 14 */ lfsu f0, l_waitBaseAnime@l(r4) /* 0x80425514@l */ -/* 800F3FD4 D0 03 35 88 */ stfs f0, 0x3588(r3) -/* 800F3FD8 C0 04 00 04 */ lfs f0, 4(r4) -/* 800F3FDC D0 03 35 8C */ stfs f0, 0x358c(r3) -/* 800F3FE0 C0 04 00 08 */ lfs f0, 8(r4) -/* 800F3FE4 D0 03 35 90 */ stfs f0, 0x3590(r3) -/* 800F3FE8 3C 80 80 42 */ lis r4, l_canoeBaseAnime@ha /* 0x804255EC@ha */ -/* 800F3FEC 38 04 55 EC */ addi r0, r4, l_canoeBaseAnime@l /* 0x804255EC@l */ -/* 800F3FF0 90 03 38 4C */ stw r0, 0x384c(r3) -/* 800F3FF4 38 00 00 03 */ li r0, 3 -/* 800F3FF8 98 03 2F AA */ stb r0, 0x2faa(r3) -/* 800F3FFC 38 00 00 00 */ li r0, 0 -/* 800F4000 B0 03 30 10 */ sth r0, 0x3010(r3) -/* 800F4004 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initCopyRodUpperAnimeSpeed__9daAlink_cFi.s b/asm/d/a/d_a_alink/initCopyRodUpperAnimeSpeed__9daAlink_cFi.s deleted file mode 100644 index 346e27c75d..0000000000 --- a/asm/d/a/d_a_alink/initCopyRodUpperAnimeSpeed__9daAlink_cFi.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800E13AC: -/* 800E13AC 38 A0 00 00 */ li r5, 0 -/* 800E13B0 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800E13B4 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E13B8 40 82 00 14 */ bne lbl_800E13CC -/* 800E13BC A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800E13C0 28 00 00 53 */ cmplwi r0, 0x53 -/* 800E13C4 40 82 00 08 */ bne lbl_800E13CC -/* 800E13C8 38 A0 00 01 */ li r5, 1 -lbl_800E13CC: -/* 800E13CC 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 800E13D0 4C 82 00 20 */ bnelr -/* 800E13D4 2C 04 00 00 */ cmpwi r4, 0 -/* 800E13D8 41 82 00 1C */ beq lbl_800E13F4 -/* 800E13DC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E13E0 D0 03 20 54 */ stfs f0, 0x2054(r3) -/* 800E13E4 D0 03 20 58 */ stfs f0, 0x2058(r3) -/* 800E13E8 80 63 1F 54 */ lwz r3, 0x1f54(r3) -/* 800E13EC D0 03 00 08 */ stfs f0, 8(r3) -/* 800E13F0 4E 80 00 20 */ blr -lbl_800E13F4: -/* 800E13F4 3C 80 80 39 */ lis r4, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E13F8 38 84 E6 C8 */ addi r4, r4, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E13FC C0 04 00 2C */ lfs f0, 0x2c(r4) -/* 800E1400 D0 03 20 54 */ stfs f0, 0x2054(r3) -/* 800E1404 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initCutAtnActorSearch__9daAlink_cFv.s b/asm/d/a/d_a_alink/initCutAtnActorSearch__9daAlink_cFv.s deleted file mode 100644 index 2c5feee04a..0000000000 --- a/asm/d/a/d_a_alink/initCutAtnActorSearch__9daAlink_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800D2BFC: -/* 800D2BFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D2C00 7C 08 02 A6 */ mflr r0 -/* 800D2C04 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D2C08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D2C0C 7C 7F 1B 78 */ mr r31, r3 -/* 800D2C10 4B FE 0A 21 */ bl getShapeAngleYAtnActor__9daAlink_cFv -/* 800D2C14 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 800D2C18 48 19 E2 0D */ bl cLib_distanceAngleS__Fss -/* 800D2C1C 2C 03 08 00 */ cmpwi r3, 0x800 -/* 800D2C20 40 80 00 10 */ bge lbl_800D2C30 -/* 800D2C24 38 00 00 01 */ li r0, 1 -/* 800D2C28 B0 1F 30 10 */ sth r0, 0x3010(r31) -/* 800D2C2C 48 00 00 0C */ b lbl_800D2C38 -lbl_800D2C30: -/* 800D2C30 38 00 00 00 */ li r0, 0 -/* 800D2C34 B0 1F 30 10 */ sth r0, 0x3010(r31) -lbl_800D2C38: -/* 800D2C38 80 1F 27 EC */ lwz r0, 0x27ec(r31) -/* 800D2C3C 90 1F 32 CC */ stw r0, 0x32cc(r31) -/* 800D2C40 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D2C44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D2C48 7C 08 03 A6 */ mtlr r0 -/* 800D2C4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D2C50 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initFishingRodHand__9daAlink_cFv.s b/asm/d/a/d_a_alink/initFishingRodHand__9daAlink_cFv.s deleted file mode 100644 index 34ce2e11fa..0000000000 --- a/asm/d/a/d_a_alink/initFishingRodHand__9daAlink_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800F3DA0: -/* 800F3DA0 38 00 00 65 */ li r0, 0x65 -/* 800F3DA4 98 03 2F 94 */ stb r0, 0x2f94(r3) -/* 800F3DA8 98 03 2F 95 */ stb r0, 0x2f95(r3) -/* 800F3DAC 38 00 00 01 */ li r0, 1 -/* 800F3DB0 B0 03 30 18 */ sth r0, 0x3018(r3) -/* 800F3DB4 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800F3DB8 28 00 00 5F */ cmplwi r0, 0x5f -/* 800F3DBC 41 82 00 0C */ beq lbl_800F3DC8 -/* 800F3DC0 28 00 00 5D */ cmplwi r0, 0x5d -/* 800F3DC4 40 82 00 10 */ bne lbl_800F3DD4 -lbl_800F3DC8: -/* 800F3DC8 38 00 00 74 */ li r0, 0x74 -/* 800F3DCC B0 03 30 1A */ sth r0, 0x301a(r3) -/* 800F3DD0 4E 80 00 20 */ blr -lbl_800F3DD4: -/* 800F3DD4 28 00 00 5E */ cmplwi r0, 0x5e -/* 800F3DD8 41 82 00 0C */ beq lbl_800F3DE4 -/* 800F3DDC 28 00 00 5B */ cmplwi r0, 0x5b -/* 800F3DE0 40 82 00 10 */ bne lbl_800F3DF0 -lbl_800F3DE4: -/* 800F3DE4 38 00 00 76 */ li r0, 0x76 -/* 800F3DE8 B0 03 30 1A */ sth r0, 0x301a(r3) -/* 800F3DEC 4E 80 00 20 */ blr -lbl_800F3DF0: -/* 800F3DF0 38 00 00 FF */ li r0, 0xff -/* 800F3DF4 B0 03 30 1A */ sth r0, 0x301a(r3) -/* 800F3DF8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initForceRideHorse__9daAlink_cFv.s b/asm/d/a/d_a_alink/initForceRideHorse__9daAlink_cFv.s deleted file mode 100644 index 9d99e5856f..0000000000 --- a/asm/d/a/d_a_alink/initForceRideHorse__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800ECB58: -/* 800ECB58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ECB5C 7C 08 02 A6 */ mflr r0 -/* 800ECB60 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ECB64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ECB68 93 C1 00 08 */ stw r30, 8(r1) -/* 800ECB6C 7C 7E 1B 78 */ mr r30, r3 -/* 800ECB70 4B FF FE CD */ bl commonInitForceRideRein__9daAlink_cFv -/* 800ECB74 38 00 00 01 */ li r0, 1 -/* 800ECB78 98 1E 2F AA */ stb r0, 0x2faa(r30) -/* 800ECB7C 38 7E 28 14 */ addi r3, r30, 0x2814 -/* 800ECB80 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800ECB84 3B E4 61 C0 */ addi r31, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800ECB88 80 9F 5D B8 */ lwz r4, 0x5db8(r31) -/* 800ECB8C 48 07 21 2D */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 800ECB90 3C 60 80 42 */ lis r3, l_horseBaseAnime@ha /* 0x8042558C@ha */ -/* 800ECB94 38 03 55 8C */ addi r0, r3, l_horseBaseAnime@l /* 0x8042558C@l */ -/* 800ECB98 90 1E 38 4C */ stw r0, 0x384c(r30) -/* 800ECB9C 80 7F 5D B8 */ lwz r3, 0x5db8(r31) -/* 800ECBA0 39 83 18 EC */ addi r12, r3, 0x18ec -/* 800ECBA4 48 27 54 E1 */ bl __ptmf_scall -/* 800ECBA8 60 00 00 00 */ nop -/* 800ECBAC 38 7E 2C A8 */ addi r3, r30, 0x2ca8 -/* 800ECBB0 38 80 00 01 */ li r4, 1 -/* 800ECBB4 48 1D 6E B9 */ bl setRiding__14Z2CreatureLinkFb -/* 800ECBB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ECBBC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800ECBC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ECBC4 7C 08 03 A6 */ mtlr r0 -/* 800ECBC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ECBCC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initGrabNextMode__9daAlink_cFv.s b/asm/d/a/d_a_alink/initGrabNextMode__9daAlink_cFv.s deleted file mode 100644 index c148e400f1..0000000000 --- a/asm/d/a/d_a_alink/initGrabNextMode__9daAlink_cFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800E53AC: -/* 800E53AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E53B0 7C 08 02 A6 */ mflr r0 -/* 800E53B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E53B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E53BC 7C 7F 1B 78 */ mr r31, r3 -/* 800E53C0 4B FF E8 AD */ bl checkGrabAnime__9daAlink_cCFv -/* 800E53C4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E53C8 40 82 00 10 */ bne lbl_800E53D8 -/* 800E53CC 7F E3 FB 78 */ mr r3, r31 -/* 800E53D0 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800E53D4 4B FF E9 E9 */ bl setGrabUpperAnime__9daAlink_cFf -lbl_800E53D8: -/* 800E53D8 7F E3 FB 78 */ mr r3, r31 -/* 800E53DC 38 80 00 00 */ li r4, 0 -/* 800E53E0 4B FD 4C F1 */ bl checkNextAction__9daAlink_cFi -/* 800E53E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E53E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E53EC 7C 08 03 A6 */ mtlr r0 -/* 800E53F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E53F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initGravity__9daAlink_cFv.s b/asm/d/a/d_a_alink/initGravity__9daAlink_cFv.s deleted file mode 100644 index 52af2f5f57..0000000000 --- a/asm/d/a/d_a_alink/initGravity__9daAlink_cFv.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_800BB644: -/* 800BB644 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800BB648 7C 08 02 A6 */ mflr r0 -/* 800BB64C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800BB650 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800BB654 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800BB658 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BB65C 93 C1 00 08 */ stw r30, 8(r1) -/* 800BB660 7C 7E 1B 78 */ mr r30, r3 -/* 800BB664 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 800BB668 3B E4 D6 58 */ addi r31, r4, lit_3757@l /* 0x8038D658@l */ -/* 800BB66C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800BB670 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BB674 41 82 00 5C */ beq lbl_800BB6D0 -/* 800BB678 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800BB67C 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 800BB680 41 82 00 40 */ beq lbl_800BB6C0 -/* 800BB684 38 80 00 01 */ li r4, 1 -/* 800BB688 38 A0 00 01 */ li r5, 1 -/* 800BB68C 4B FF FE 2D */ bl checkHeavyStateOn__9daAlink_cFii -/* 800BB690 2C 03 00 00 */ cmpwi r3, 0 -/* 800BB694 41 82 00 18 */ beq lbl_800BB6AC -/* 800BB698 38 7F 22 5C */ addi r3, r31, 0x225c -/* 800BB69C C0 03 00 9C */ lfs f0, 0x9c(r3) -/* 800BB6A0 FC 20 00 50 */ fneg f1, f0 -/* 800BB6A4 C3 E3 00 A0 */ lfs f31, 0xa0(r3) -/* 800BB6A8 48 00 00 98 */ b lbl_800BB740 -lbl_800BB6AC: -/* 800BB6AC 38 7F 22 5C */ addi r3, r31, 0x225c -/* 800BB6B0 C0 03 00 60 */ lfs f0, 0x60(r3) -/* 800BB6B4 FC 20 00 50 */ fneg f1, f0 -/* 800BB6B8 C3 E3 00 58 */ lfs f31, 0x58(r3) -/* 800BB6BC 48 00 00 84 */ b lbl_800BB740 -lbl_800BB6C0: -/* 800BB6C0 38 7F 1A 50 */ addi r3, r31, 0x1a50 -/* 800BB6C4 C0 23 00 58 */ lfs f1, 0x58(r3) -/* 800BB6C8 C3 E3 00 5C */ lfs f31, 0x5c(r3) -/* 800BB6CC 48 00 00 74 */ b lbl_800BB740 -lbl_800BB6D0: -/* 800BB6D0 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800BB6D4 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 800BB6D8 40 82 00 10 */ bne lbl_800BB6E8 -/* 800BB6DC 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800BB6E0 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800BB6E4 41 82 00 50 */ beq lbl_800BB734 -lbl_800BB6E8: -/* 800BB6E8 7F C3 F3 78 */ mr r3, r30 -/* 800BB6EC 48 04 63 BD */ bl getSwimMaxFallSpeed__9daAlink_cCFv -/* 800BB6F0 FF E0 08 90 */ fmr f31, f1 -/* 800BB6F4 7F C3 F3 78 */ mr r3, r30 -/* 800BB6F8 38 80 00 01 */ li r4, 1 -/* 800BB6FC 38 A0 00 01 */ li r5, 1 -/* 800BB700 4B FF FD B9 */ bl checkHeavyStateOn__9daAlink_cFii -/* 800BB704 2C 03 00 00 */ cmpwi r3, 0 -/* 800BB708 41 82 00 1C */ beq lbl_800BB724 -/* 800BB70C A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800BB710 28 00 00 DD */ cmplwi r0, 0xdd -/* 800BB714 41 82 00 10 */ beq lbl_800BB724 -/* 800BB718 38 7F 16 D4 */ addi r3, r31, 0x16d4 -/* 800BB71C C0 23 00 E4 */ lfs f1, 0xe4(r3) -/* 800BB720 48 00 00 20 */ b lbl_800BB740 -lbl_800BB724: -/* 800BB724 38 7F 16 D4 */ addi r3, r31, 0x16d4 -/* 800BB728 C0 03 00 8C */ lfs f0, 0x8c(r3) -/* 800BB72C FC 20 00 50 */ fneg f1, f0 -/* 800BB730 48 00 00 10 */ b lbl_800BB740 -lbl_800BB734: -/* 800BB734 38 7F 0A 10 */ addi r3, r31, 0xa10 -/* 800BB738 C0 23 00 74 */ lfs f1, 0x74(r3) -/* 800BB73C C3 E3 00 78 */ lfs f31, 0x78(r3) -lbl_800BB740: -/* 800BB740 7F C3 F3 78 */ mr r3, r30 -/* 800BB744 FC 40 F8 90 */ fmr f2, f31 -/* 800BB748 38 80 00 01 */ li r4, 1 -/* 800BB74C 48 00 00 25 */ bl setSpecialGravity__9daAlink_cFffi -/* 800BB750 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800BB754 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800BB758 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BB75C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800BB760 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800BB764 7C 08 03 A6 */ mtlr r0 -/* 800BB768 38 21 00 20 */ addi r1, r1, 0x20 -/* 800BB76C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/initWolfRopeShapeAngle__9daAlink_cFv.s b/asm/d/a/d_a_alink/initWolfRopeShapeAngle__9daAlink_cFv.s deleted file mode 100644 index 0b16be6fca..0000000000 --- a/asm/d/a/d_a_alink/initWolfRopeShapeAngle__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_801319F0: -/* 801319F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801319F4 7C 08 02 A6 */ mflr r0 -/* 801319F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801319FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80131A00 93 C1 00 08 */ stw r30, 8(r1) -/* 80131A04 7C 7E 1B 78 */ mr r30, r3 -/* 80131A08 83 E3 28 10 */ lwz r31, 0x2810(r3) -/* 80131A0C A8 63 04 E6 */ lha r3, 0x4e6(r3) -/* 80131A10 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80131A14 7C 03 00 50 */ subf r0, r3, r0 -/* 80131A18 7C 03 07 34 */ extsh r3, r0 -/* 80131A1C 48 23 36 B5 */ bl abs -/* 80131A20 2C 03 40 00 */ cmpwi r3, 0x4000 -/* 80131A24 40 80 00 14 */ bge lbl_80131A38 -/* 80131A28 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80131A2C B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 80131A30 A8 7F 04 E4 */ lha r3, 0x4e4(r31) -/* 80131A34 48 00 00 20 */ b lbl_80131A54 -lbl_80131A38: -/* 80131A38 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 80131A3C 3C 63 00 01 */ addis r3, r3, 1 -/* 80131A40 38 03 80 00 */ addi r0, r3, -32768 -/* 80131A44 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 80131A48 A8 1F 04 E4 */ lha r0, 0x4e4(r31) -/* 80131A4C 7C 00 00 D0 */ neg r0, r0 -/* 80131A50 7C 03 07 34 */ extsh r3, r0 -lbl_80131A54: -/* 80131A54 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80131A58 83 C1 00 08 */ lwz r30, 8(r1) -/* 80131A5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80131A60 7C 08 03 A6 */ mtlr r0 -/* 80131A64 38 21 00 10 */ addi r1, r1, 0x10 -/* 80131A68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/loadAramBmd__9daAlink_cFUsUl.s b/asm/d/a/d_a_alink/loadAramBmd__9daAlink_cFUsUl.s deleted file mode 100644 index 8477d02f1a..0000000000 --- a/asm/d/a/d_a_alink/loadAramBmd__9daAlink_cFUsUl.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_800BFE48: -/* 800BFE48 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800BFE4C 7C 08 02 A6 */ mflr r0 -/* 800BFE50 90 01 00 24 */ stw r0, 0x24(r1) -/* 800BFE54 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BFE58 48 2A 23 81 */ bl _savegpr_28 -/* 800BFE5C 7C 9C 23 78 */ mr r28, r4 -/* 800BFE60 7C BD 2B 78 */ mr r29, r5 -/* 800BFE64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800BFE68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800BFE6C 83 E3 5C AC */ lwz r31, 0x5cac(r3) -/* 800BFE70 7F A3 EB 78 */ mr r3, r29 -/* 800BFE74 38 80 00 20 */ li r4, 0x20 -/* 800BFE78 48 20 EE 75 */ bl __nwa__FUli -/* 800BFE7C 7C 7E 1B 78 */ mr r30, r3 -/* 800BFE80 7F E3 FB 78 */ mr r3, r31 -/* 800BFE84 7F C4 F3 78 */ mr r4, r30 -/* 800BFE88 7F A5 EB 78 */ mr r5, r29 -/* 800BFE8C 57 86 04 3E */ clrlwi r6, r28, 0x10 -/* 800BFE90 48 21 60 3D */ bl readIdxResource__10JKRArchiveFPvUlUl -/* 800BFE94 3C 60 42 4D */ lis r3, 0x424D /* 0x424D5752@ha */ -/* 800BFE98 38 63 57 52 */ addi r3, r3, 0x5752 /* 0x424D5752@l */ -/* 800BFE9C 80 DF 00 48 */ lwz r6, 0x48(r31) -/* 800BFEA0 57 85 04 3E */ clrlwi r5, r28, 0x10 -/* 800BFEA4 80 9F 00 44 */ lwz r4, 0x44(r31) -/* 800BFEA8 80 04 00 00 */ lwz r0, 0(r4) -/* 800BFEAC 7C 09 03 A6 */ mtctr r0 -/* 800BFEB0 2C 00 00 00 */ cmpwi r0, 0 -/* 800BFEB4 40 81 00 30 */ ble lbl_800BFEE4 -lbl_800BFEB8: -/* 800BFEB8 80 86 00 0C */ lwz r4, 0xc(r6) -/* 800BFEBC 7C 05 20 40 */ cmplw r5, r4 -/* 800BFEC0 41 80 00 1C */ blt lbl_800BFEDC -/* 800BFEC4 A0 06 00 0A */ lhz r0, 0xa(r6) -/* 800BFEC8 7C 04 02 14 */ add r0, r4, r0 -/* 800BFECC 7C 05 00 40 */ cmplw r5, r0 -/* 800BFED0 40 80 00 0C */ bge lbl_800BFEDC -/* 800BFED4 80 66 00 00 */ lwz r3, 0(r6) -/* 800BFED8 48 00 00 0C */ b lbl_800BFEE4 -lbl_800BFEDC: -/* 800BFEDC 38 C6 00 10 */ addi r6, r6, 0x10 -/* 800BFEE0 42 00 FF D8 */ bdnz lbl_800BFEB8 -lbl_800BFEE4: -/* 800BFEE4 7F C4 F3 78 */ mr r4, r30 -/* 800BFEE8 4B F7 AF 2D */ bl loaderBasicBmd__11dRes_info_cFUlPv -/* 800BFEEC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BFEF0 48 2A 23 35 */ bl _restgpr_28 -/* 800BFEF4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800BFEF8 7C 08 03 A6 */ mtlr r0 -/* 800BFEFC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800BFF00 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/loadAramItemBrk__9daAlink_cFUsP8J3DModel.s b/asm/d/a/d_a_alink/loadAramItemBrk__9daAlink_cFUsP8J3DModel.s deleted file mode 100644 index a62a363922..0000000000 --- a/asm/d/a/d_a_alink/loadAramItemBrk__9daAlink_cFUsP8J3DModel.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800BFF70: -/* 800BFF70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BFF74 7C 08 02 A6 */ mflr r0 -/* 800BFF78 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BFF7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BFF80 93 C1 00 08 */ stw r30, 8(r1) -/* 800BFF84 83 E5 00 04 */ lwz r31, 4(r5) -/* 800BFF88 38 A0 04 00 */ li r5, 0x400 -/* 800BFF8C 4B FF FF 79 */ bl loadAram__9daAlink_cFUsUl -/* 800BFF90 7C 7E 1B 78 */ mr r30, r3 -/* 800BFF94 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800BFF98 D0 03 00 08 */ stfs f0, 8(r3) -/* 800BFF9C 7F E4 FB 78 */ mr r4, r31 -/* 800BFFA0 48 26 B8 DD */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData -/* 800BFFA4 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800BFFA8 7F C4 F3 78 */ mr r4, r30 -/* 800BFFAC 48 26 FE C5 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -/* 800BFFB0 7F C3 F3 78 */ mr r3, r30 -/* 800BFFB4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BFFB8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800BFFBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BFFC0 7C 08 03 A6 */ mtlr r0 -/* 800BFFC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BFFC8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/loadAramItemBtk__9daAlink_cFUsP8J3DModel.s b/asm/d/a/d_a_alink/loadAramItemBtk__9daAlink_cFUsP8J3DModel.s deleted file mode 100644 index 3d7016f529..0000000000 --- a/asm/d/a/d_a_alink/loadAramItemBtk__9daAlink_cFUsP8J3DModel.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800BFFCC: -/* 800BFFCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BFFD0 7C 08 02 A6 */ mflr r0 -/* 800BFFD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BFFD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BFFDC 93 C1 00 08 */ stw r30, 8(r1) -/* 800BFFE0 83 E5 00 04 */ lwz r31, 4(r5) -/* 800BFFE4 38 A0 04 00 */ li r5, 0x400 -/* 800BFFE8 4B FF FF 1D */ bl loadAram__9daAlink_cFUsUl -/* 800BFFEC 7C 7E 1B 78 */ mr r30, r3 -/* 800BFFF0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800BFFF4 D0 03 00 08 */ stfs f0, 8(r3) -/* 800BFFF8 7F E4 FB 78 */ mr r4, r31 -/* 800BFFFC 48 26 B1 D9 */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData -/* 800C0000 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800C0004 7F C4 F3 78 */ mr r4, r30 -/* 800C0008 48 26 FC BD */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey -/* 800C000C 7F C3 F3 78 */ mr r3, r30 -/* 800C0010 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C0014 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C0018 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C001C 7C 08 03 A6 */ mtlr r0 -/* 800C0020 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C0024 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/loadAramItemBtp__9daAlink_cFUsP8J3DModel.s b/asm/d/a/d_a_alink/loadAramItemBtp__9daAlink_cFUsP8J3DModel.s deleted file mode 100644 index 0359dcbed3..0000000000 --- a/asm/d/a/d_a_alink/loadAramItemBtp__9daAlink_cFUsP8J3DModel.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800C0028: -/* 800C0028 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C002C 7C 08 02 A6 */ mflr r0 -/* 800C0030 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C0034 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C0038 93 C1 00 08 */ stw r30, 8(r1) -/* 800C003C 83 E5 00 04 */ lwz r31, 4(r5) -/* 800C0040 38 A0 04 00 */ li r5, 0x400 -/* 800C0044 4B FF FE C1 */ bl loadAram__9daAlink_cFUsUl -/* 800C0048 7C 7E 1B 78 */ mr r30, r3 -/* 800C004C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C0050 D0 03 00 08 */ stfs f0, 8(r3) -/* 800C0054 7F E4 FB 78 */ mr r4, r31 -/* 800C0058 48 26 B0 45 */ bl searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData -/* 800C005C 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800C0060 7F C4 F3 78 */ mr r4, r30 -/* 800C0064 48 26 FB 65 */ bl entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern -/* 800C0068 7F C3 F3 78 */ mr r3, r30 -/* 800C006C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C0070 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C0074 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C0078 7C 08 03 A6 */ mtlr r0 -/* 800C007C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C0080 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s b/asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s deleted file mode 100644 index 4da697abaf..0000000000 --- a/asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800BFF04: -/* 800BFF04 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800BFF08 7C 08 02 A6 */ mflr r0 -/* 800BFF0C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800BFF10 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BFF14 48 2A 22 C9 */ bl _savegpr_29 -/* 800BFF18 7C 9D 23 78 */ mr r29, r4 -/* 800BFF1C 7C BE 2B 78 */ mr r30, r5 -/* 800BFF20 7F C3 F3 78 */ mr r3, r30 -/* 800BFF24 38 80 00 20 */ li r4, 0x20 -/* 800BFF28 48 20 ED C5 */ bl __nwa__FUli -/* 800BFF2C 7C 7F 1B 78 */ mr r31, r3 -/* 800BFF30 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800BFF34 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800BFF38 80 63 5C AC */ lwz r3, 0x5cac(r3) -/* 800BFF3C 7F E4 FB 78 */ mr r4, r31 -/* 800BFF40 7F C5 F3 78 */ mr r5, r30 -/* 800BFF44 57 A6 04 3E */ clrlwi r6, r29, 0x10 -/* 800BFF48 48 21 5F 85 */ bl readIdxResource__10JKRArchiveFPvUlUl -/* 800BFF4C 7F E3 FB 78 */ mr r3, r31 -/* 800BFF50 38 80 00 00 */ li r4, 0 -/* 800BFF54 48 27 7B ED */ bl load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag -/* 800BFF58 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BFF5C 48 2A 22 CD */ bl _restgpr_29 -/* 800BFF60 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800BFF64 7C 08 03 A6 */ mtlr r0 -/* 800BFF68 38 21 00 20 */ addi r1, r1, 0x20 -/* 800BFF6C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s b/asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s deleted file mode 100644 index 57e5f7cb38..0000000000 --- a/asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800DEA3C: -/* 800DEA3C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DEA40 7C 08 02 A6 */ mflr r0 -/* 800DEA44 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DEA48 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800DEA4C 7C 7F 1B 78 */ mr r31, r3 -/* 800DEA50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DEA54 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DEA58 88 03 00 EC */ lbz r0, 0xec(r3) -/* 800DEA5C 28 00 00 00 */ cmplwi r0, 0 -/* 800DEA60 41 82 00 68 */ beq lbl_800DEAC8 -/* 800DEA64 A8 1F 30 1E */ lha r0, 0x301e(r31) -/* 800DEA68 2C 00 00 01 */ cmpwi r0, 1 -/* 800DEA6C 40 82 00 1C */ bne lbl_800DEA88 -/* 800DEA70 88 7F 2F 9C */ lbz r3, 0x2f9c(r31) -/* 800DEA74 4B F4 FB 4D */ bl dComIfGp_getSelectItemNum__Fi -/* 800DEA78 7C 60 07 35 */ extsh. r0, r3 -/* 800DEA7C 40 82 00 0C */ bne lbl_800DEA88 -/* 800DEA80 38 00 00 00 */ li r0, 0 -/* 800DEA84 B0 1F 30 1E */ sth r0, 0x301e(r31) -lbl_800DEA88: -/* 800DEA88 38 00 00 00 */ li r0, 0 -/* 800DEA8C 90 01 00 08 */ stw r0, 8(r1) -/* 800DEA90 38 60 03 08 */ li r3, 0x308 -/* 800DEA94 A8 1F 30 1E */ lha r0, 0x301e(r31) -/* 800DEA98 54 04 42 2E */ rlwinm r4, r0, 8, 8, 0x17 -/* 800DEA9C 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 800DEAA0 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 800DEAA4 7C 06 07 74 */ extsb r6, r0 -/* 800DEAA8 38 E0 00 00 */ li r7, 0 -/* 800DEAAC 39 00 00 00 */ li r8, 0 -/* 800DEAB0 39 20 FF FF */ li r9, -1 -/* 800DEAB4 39 40 00 00 */ li r10, 0 -/* 800DEAB8 4B F3 B3 4D */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 800DEABC 7C 64 1B 78 */ mr r4, r3 -/* 800DEAC0 38 7F 28 24 */ addi r3, r31, 0x2824 -/* 800DEAC4 48 08 01 F5 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -lbl_800DEAC8: -/* 800DEAC8 38 00 00 00 */ li r0, 0 -/* 800DEACC B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 800DEAD0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800DEAD4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DEAD8 7C 08 03 A6 */ mtlr r0 -/* 800DEADC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DEAE0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/makeFairy__9daAlink_cFP4cXyzUl.s b/asm/d/a/d_a_alink/makeFairy__9daAlink_cFP4cXyzUl.s deleted file mode 100644 index 7eb8071d1f..0000000000 --- a/asm/d/a/d_a_alink/makeFairy__9daAlink_cFP4cXyzUl.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8010F45C: -/* 8010F45C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8010F460 7C 08 02 A6 */ mflr r0 -/* 8010F464 90 01 00 34 */ stw r0, 0x34(r1) -/* 8010F468 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8010F46C 7C 7F 1B 78 */ mr r31, r3 -/* 8010F470 7C 86 23 78 */ mr r6, r4 -/* 8010F474 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 8010F478 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 8010F47C 41 82 00 48 */ beq lbl_8010F4C4 -/* 8010F480 C0 06 00 00 */ lfs f0, 0(r6) -/* 8010F484 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8010F488 C0 26 00 04 */ lfs f1, 4(r6) -/* 8010F48C D0 21 00 14 */ stfs f1, 0x14(r1) -/* 8010F490 C0 06 00 08 */ lfs f0, 8(r6) -/* 8010F494 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8010F498 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 8010F49C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8010F4A0 41 82 00 14 */ beq lbl_8010F4B4 -/* 8010F4A4 C0 02 93 50 */ lfs f0, lit_8247(r2) -/* 8010F4A8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8010F4AC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8010F4B0 48 00 00 10 */ b lbl_8010F4C0 -lbl_8010F4B4: -/* 8010F4B4 C0 02 93 04 */ lfs f0, lit_6896(r2) -/* 8010F4B8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8010F4BC D0 01 00 14 */ stfs f0, 0x14(r1) -lbl_8010F4C0: -/* 8010F4C0 38 C1 00 10 */ addi r6, r1, 0x10 -lbl_8010F4C4: -/* 8010F4C4 38 00 00 00 */ li r0, 0 -/* 8010F4C8 90 01 00 08 */ stw r0, 8(r1) -/* 8010F4CC 38 60 01 3F */ li r3, 0x13f -/* 8010F4D0 7C A4 2B 78 */ mr r4, r5 -/* 8010F4D4 7C C5 33 78 */ mr r5, r6 -/* 8010F4D8 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 8010F4DC 7C 06 07 74 */ extsb r6, r0 -/* 8010F4E0 38 FF 04 E4 */ addi r7, r31, 0x4e4 -/* 8010F4E4 39 00 00 00 */ li r8, 0 -/* 8010F4E8 39 20 FF FF */ li r9, -1 -/* 8010F4EC 39 40 00 00 */ li r10, 0 -/* 8010F4F0 4B F0 A9 15 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8010F4F4 7C 64 1B 78 */ mr r4, r3 -/* 8010F4F8 38 7F 28 5C */ addi r3, r31, 0x285c -/* 8010F4FC 48 04 F7 BD */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 8010F500 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 8010F504 60 00 04 00 */ ori r0, r0, 0x400 -/* 8010F508 90 1F 05 80 */ stw r0, 0x580(r31) -/* 8010F50C 7F E3 FB 78 */ mr r3, r31 -/* 8010F510 48 00 67 11 */ bl checkEventRun__9daAlink_cCFv -/* 8010F514 2C 03 00 00 */ cmpwi r3, 0 -/* 8010F518 41 82 00 1C */ beq lbl_8010F534 -/* 8010F51C 80 7F 28 60 */ lwz r3, 0x2860(r31) -/* 8010F520 28 03 00 00 */ cmplwi r3, 0 -/* 8010F524 41 82 00 10 */ beq lbl_8010F534 -/* 8010F528 80 03 04 9C */ lwz r0, 0x49c(r3) -/* 8010F52C 60 00 08 00 */ ori r0, r0, 0x800 -/* 8010F530 90 03 04 9C */ stw r0, 0x49c(r3) -lbl_8010F534: -/* 8010F534 80 7F 28 60 */ lwz r3, 0x2860(r31) -/* 8010F538 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8010F53C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8010F540 7C 08 03 A6 */ mtlr r0 -/* 8010F544 38 21 00 30 */ addi r1, r1, 0x30 -/* 8010F548 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/modelDraw__9daAlink_cFP8J3DModeli.s b/asm/d/a/d_a_alink/modelDraw__9daAlink_cFP8J3DModeli.s deleted file mode 100644 index 12eb8f457e..0000000000 --- a/asm/d/a/d_a_alink/modelDraw__9daAlink_cFP8J3DModeli.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_800CC2E0: -/* 800CC2E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CC2E4 7C 08 02 A6 */ mflr r0 -/* 800CC2E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CC2EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CC2F0 93 C1 00 08 */ stw r30, 8(r1) -/* 800CC2F4 7C 66 1B 78 */ mr r6, r3 -/* 800CC2F8 7C 9E 23 78 */ mr r30, r4 -/* 800CC2FC 7C BF 2B 78 */ mr r31, r5 -/* 800CC300 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 800CC304 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 800CC308 80 84 00 04 */ lwz r4, 4(r4) -/* 800CC30C 38 A6 01 0C */ addi r5, r6, 0x10c -/* 800CC310 48 0D 8A 91 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 800CC314 2C 1F 00 00 */ cmpwi r31, 0 -/* 800CC318 40 82 00 10 */ bne lbl_800CC328 -/* 800CC31C 7F C3 F3 78 */ mr r3, r30 -/* 800CC320 4B F4 1A 45 */ bl mDoExt_modelEntryDL__FP8J3DModel -/* 800CC324 48 00 00 20 */ b lbl_800CC344 -lbl_800CC328: -/* 800CC328 7F C3 F3 78 */ mr r3, r30 -/* 800CC32C 81 9E 00 00 */ lwz r12, 0(r30) -/* 800CC330 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 800CC334 7D 89 03 A6 */ mtctr r12 -/* 800CC338 4E 80 04 21 */ bctrl -/* 800CC33C 7F C3 F3 78 */ mr r3, r30 -/* 800CC340 48 25 B6 61 */ bl diff__8J3DModelFv -lbl_800CC344: -/* 800CC344 7F C3 F3 78 */ mr r3, r30 -/* 800CC348 4B F6 56 05 */ bl entry__10daMirror_cFP8J3DModel -/* 800CC34C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CC350 83 C1 00 08 */ lwz r30, 8(r1) -/* 800CC354 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CC358 7C 08 03 A6 */ mtlr r0 -/* 800CC35C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CC360 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/offKandelaarModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/offKandelaarModel__9daAlink_cFv.s deleted file mode 100644 index 510fc72ee9..0000000000 --- a/asm/d/a/d_a_alink/offKandelaarModel__9daAlink_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80110840: -/* 80110840 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80110844 7C 08 02 A6 */ mflr r0 -/* 80110848 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011084C 80 A3 05 78 */ lwz r5, 0x578(r3) -/* 80110850 3C 80 F0 00 */ lis r4, 0xF000 /* 0xEFFFFFFE@ha */ -/* 80110854 38 04 FF FE */ addi r0, r4, 0xFFFE /* 0xEFFFFFFE@l */ -/* 80110858 7C A0 00 38 */ and r0, r5, r0 -/* 8011085C 90 03 05 78 */ stw r0, 0x578(r3) -/* 80110860 38 80 00 00 */ li r4, 0 -/* 80110864 38 63 2C A8 */ addi r3, r3, 0x2ca8 -/* 80110868 48 1B 2F 11 */ bl setKanteraState__14Z2CreatureLinkFUc -/* 8011086C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80110870 7C 08 03 A6 */ mtlr r0 -/* 80110874 38 21 00 10 */ addi r1, r1, 0x10 -/* 80110878 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/offOxygenTimer__9daAlink_cFv.s b/asm/d/a/d_a_alink/offOxygenTimer__9daAlink_cFv.s deleted file mode 100644 index a2b3906cea..0000000000 --- a/asm/d/a/d_a_alink/offOxygenTimer__9daAlink_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80101C94: -/* 80101C94 38 00 00 00 */ li r0, 0 -/* 80101C98 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80101C9C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80101CA0 98 04 5E B7 */ stb r0, 0x5eb7(r4) -/* 80101CA4 80 04 5D E8 */ lwz r0, 0x5de8(r4) -/* 80101CA8 90 04 5D E0 */ stw r0, 0x5de0(r4) -/* 80101CAC 38 00 00 5A */ li r0, 0x5a -/* 80101CB0 98 03 2F BE */ stb r0, 0x2fbe(r3) -/* 80101CB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/onPressedDamage__9daAlink_cFRC4cXyzs.s b/asm/d/a/d_a_alink/onPressedDamage__9daAlink_cFRC4cXyzs.s deleted file mode 100644 index 5db79b3db1..0000000000 --- a/asm/d/a/d_a_alink/onPressedDamage__9daAlink_cFRC4cXyzs.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800D6F00: -/* 800D6F00 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800D6F04 60 00 10 00 */ ori r0, r0, 0x1000 -/* 800D6F08 90 03 05 78 */ stw r0, 0x578(r3) -/* 800D6F0C B0 A3 31 04 */ sth r5, 0x3104(r3) -/* 800D6F10 C0 04 00 00 */ lfs f0, 0(r4) -/* 800D6F14 D0 03 37 44 */ stfs f0, 0x3744(r3) -/* 800D6F18 C0 04 00 04 */ lfs f0, 4(r4) -/* 800D6F1C D0 03 37 48 */ stfs f0, 0x3748(r3) -/* 800D6F20 C0 04 00 08 */ lfs f0, 8(r4) -/* 800D6F24 D0 03 37 4C */ stfs f0, 0x374c(r3) -/* 800D6F28 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2.s b/asm/d/a/d_a_alink/onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2.s deleted file mode 100644 index 9e5472b3c6..0000000000 --- a/asm/d/a/d_a_alink/onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80138B6C: -/* 80138B6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80138B70 7C 08 02 A6 */ mflr r0 -/* 80138B74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80138B78 80 03 28 20 */ lwz r0, 0x2820(r3) -/* 80138B7C 28 00 00 00 */ cmplwi r0, 0 -/* 80138B80 41 82 00 0C */ beq lbl_80138B8C -/* 80138B84 38 60 00 00 */ li r3, 0 -/* 80138B88 48 00 00 6C */ b lbl_80138BF4 -lbl_80138B8C: -/* 80138B8C 2C 05 00 08 */ cmpwi r5, 8 -/* 80138B90 40 82 00 38 */ bne lbl_80138BC8 -/* 80138B94 88 03 05 68 */ lbz r0, 0x568(r3) -/* 80138B98 28 00 00 2C */ cmplwi r0, 0x2c -/* 80138B9C 41 82 00 40 */ beq lbl_80138BDC -/* 80138BA0 28 00 00 2D */ cmplwi r0, 0x2d -/* 80138BA4 41 82 00 38 */ beq lbl_80138BDC -/* 80138BA8 28 00 00 31 */ cmplwi r0, 0x31 -/* 80138BAC 41 82 00 30 */ beq lbl_80138BDC -/* 80138BB0 28 00 00 39 */ cmplwi r0, 0x39 -/* 80138BB4 41 82 00 28 */ beq lbl_80138BDC -/* 80138BB8 28 00 00 32 */ cmplwi r0, 0x32 -/* 80138BBC 41 82 00 20 */ beq lbl_80138BDC -/* 80138BC0 38 60 00 00 */ li r3, 0 -/* 80138BC4 48 00 00 30 */ b lbl_80138BF4 -lbl_80138BC8: -/* 80138BC8 88 03 05 68 */ lbz r0, 0x568(r3) -/* 80138BCC 28 00 00 39 */ cmplwi r0, 0x39 -/* 80138BD0 41 82 00 0C */ beq lbl_80138BDC -/* 80138BD4 38 60 00 00 */ li r3, 0 -/* 80138BD8 48 00 00 1C */ b lbl_80138BF4 -lbl_80138BDC: -/* 80138BDC 80 03 05 78 */ lwz r0, 0x578(r3) -/* 80138BE0 7C 00 2B 78 */ or r0, r0, r5 -/* 80138BE4 90 03 05 78 */ stw r0, 0x578(r3) -/* 80138BE8 38 63 28 1C */ addi r3, r3, 0x281c -/* 80138BEC 48 02 60 CD */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 80138BF0 38 60 00 01 */ li r3, 1 -lbl_80138BF4: -/* 80138BF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80138BF8 7C 08 03 A6 */ mtlr r0 -/* 80138BFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80138C00 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBackJumpInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procBackJumpInit__9daAlink_cFi.s deleted file mode 100644 index e808cfd346..0000000000 --- a/asm/d/a/d_a_alink/procBackJumpInit__9daAlink_cFi.s +++ /dev/null @@ -1,119 +0,0 @@ -lbl_800C57A4: -/* 800C57A4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C57A8 7C 08 02 A6 */ mflr r0 -/* 800C57AC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C57B0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C57B4 48 29 CA 21 */ bl _savegpr_27 -/* 800C57B8 7C 7E 1B 78 */ mr r30, r3 -/* 800C57BC 7C 9B 23 78 */ mr r27, r4 -/* 800C57C0 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800C57C4 81 8C 01 88 */ lwz r12, 0x188(r12) -/* 800C57C8 7D 89 03 A6 */ mtctr r12 -/* 800C57CC 4E 80 04 21 */ bctrl -/* 800C57D0 7C 7D 1B 78 */ mr r29, r3 -/* 800C57D4 7F C3 F3 78 */ mr r3, r30 -/* 800C57D8 48 01 76 19 */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800C57DC 7C 7F 1B 78 */ mr r31, r3 -/* 800C57E0 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800C57E4 20 00 00 E6 */ subfic r0, r0, 0xe6 -/* 800C57E8 7C 00 00 34 */ cntlzw r0, r0 -/* 800C57EC 54 1C DE 3E */ rlwinm r28, r0, 0x1b, 0x18, 0x1f -/* 800C57F0 7F C3 F3 78 */ mr r3, r30 -/* 800C57F4 38 80 00 12 */ li r4, 0x12 -/* 800C57F8 4B FF C7 75 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C57FC 2C 1B 00 00 */ cmpwi r27, 0 -/* 800C5800 41 82 00 54 */ beq lbl_800C5854 -/* 800C5804 7F C3 F3 78 */ mr r3, r30 -/* 800C5808 38 80 00 26 */ li r4, 0x26 -/* 800C580C 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutDown_c0@ha /* 0x8038DD44@ha */ -/* 800C5810 38 A5 DD 44 */ addi r5, r5, m__21daAlinkHIO_cutDown_c0@l /* 0x8038DD44@l */ -/* 800C5814 38 A5 00 50 */ addi r5, r5, 0x50 -/* 800C5818 4B FE 78 DD */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C581C 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutDown_c0@ha /* 0x8038DD44@ha */ -/* 800C5820 38 63 DD 44 */ addi r3, r3, m__21daAlinkHIO_cutDown_c0@l /* 0x8038DD44@l */ -/* 800C5824 C0 03 00 6C */ lfs f0, 0x6c(r3) -/* 800C5828 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C582C C0 03 00 70 */ lfs f0, 0x70(r3) -/* 800C5830 D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800C5834 7F C3 F3 78 */ mr r3, r30 -/* 800C5838 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010095@ha */ -/* 800C583C 38 84 00 95 */ addi r4, r4, 0x0095 /* 0x00010095@l */ -/* 800C5840 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800C5844 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C5848 7D 89 03 A6 */ mtctr r12 -/* 800C584C 4E 80 04 21 */ bctrl -/* 800C5850 48 00 00 4C */ b lbl_800C589C -lbl_800C5854: -/* 800C5854 7F C3 F3 78 */ mr r3, r30 -/* 800C5858 38 80 00 26 */ li r4, 0x26 -/* 800C585C 3C A0 80 39 */ lis r5, m__22daAlinkHIO_backJump_c0@ha /* 0x8038D82C@ha */ -/* 800C5860 38 A5 D8 2C */ addi r5, r5, m__22daAlinkHIO_backJump_c0@l /* 0x8038D82C@l */ -/* 800C5864 4B FE 78 91 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C5868 3C 60 80 39 */ lis r3, m__22daAlinkHIO_backJump_c0@ha /* 0x8038D82C@ha */ -/* 800C586C 38 63 D8 2C */ addi r3, r3, m__22daAlinkHIO_backJump_c0@l /* 0x8038D82C@l */ -/* 800C5870 C0 03 00 28 */ lfs f0, 0x28(r3) -/* 800C5874 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C5878 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800C587C D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800C5880 7F C3 F3 78 */ mr r3, r30 -/* 800C5884 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010007@ha */ -/* 800C5888 38 84 00 07 */ addi r4, r4, 0x0007 /* 0x00010007@l */ -/* 800C588C 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800C5890 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C5894 7D 89 03 A6 */ mtctr r12 -/* 800C5898 4E 80 04 21 */ bctrl -lbl_800C589C: -/* 800C589C C0 1E 33 98 */ lfs f0, 0x3398(r30) -/* 800C58A0 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 800C58A4 28 1D 00 00 */ cmplwi r29, 0 -/* 800C58A8 41 82 00 1C */ beq lbl_800C58C4 -/* 800C58AC 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800C58B0 60 00 20 00 */ ori r0, r0, 0x2000 -/* 800C58B4 90 1E 31 A0 */ stw r0, 0x31a0(r30) -/* 800C58B8 38 00 00 05 */ li r0, 5 -/* 800C58BC B0 1E 30 08 */ sth r0, 0x3008(r30) -/* 800C58C0 48 00 00 0C */ b lbl_800C58CC -lbl_800C58C4: -/* 800C58C4 38 00 00 00 */ li r0, 0 -/* 800C58C8 B0 1E 30 08 */ sth r0, 0x3008(r30) -lbl_800C58CC: -/* 800C58CC 2C 1C 00 00 */ cmpwi r28, 0 -/* 800C58D0 41 82 00 4C */ beq lbl_800C591C -/* 800C58D4 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800C58D8 3C 63 00 01 */ addis r3, r3, 1 -/* 800C58DC 38 03 80 00 */ addi r0, r3, -32768 -/* 800C58E0 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 800C58E4 7F C3 F3 78 */ mr r3, r30 -/* 800C58E8 38 80 00 00 */ li r4, 0 -/* 800C58EC 38 A0 80 00 */ li r5, -32768 -/* 800C58F0 38 C0 00 00 */ li r6, 0 -/* 800C58F4 4B FE 82 85 */ bl setOldRootQuaternion__9daAlink_cFsss -/* 800C58F8 80 7E 20 60 */ lwz r3, 0x2060(r30) -/* 800C58FC 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 800C5900 C0 23 00 1C */ lfs f1, 0x1c(r3) -/* 800C5904 C0 02 95 1C */ lfs f0, lit_20991(r2) -/* 800C5908 EC 01 00 2A */ fadds f0, f1, f0 -/* 800C590C D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 800C5910 80 1E 05 7C */ lwz r0, 0x57c(r30) -/* 800C5914 64 00 04 00 */ oris r0, r0, 0x400 -/* 800C5918 90 1E 05 7C */ stw r0, 0x57c(r30) -lbl_800C591C: -/* 800C591C A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800C5920 3C 63 00 01 */ addis r3, r3, 1 -/* 800C5924 38 03 80 00 */ addi r0, r3, -32768 -/* 800C5928 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C592C 38 00 00 02 */ li r0, 2 -/* 800C5930 90 1E 31 98 */ stw r0, 0x3198(r30) -/* 800C5934 2C 1F 00 00 */ cmpwi r31, 0 -/* 800C5938 41 82 00 10 */ beq lbl_800C5948 -/* 800C593C 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800C5940 60 00 00 02 */ ori r0, r0, 2 -/* 800C5944 90 1E 05 70 */ stw r0, 0x570(r30) -lbl_800C5948: -/* 800C5948 38 60 00 01 */ li r3, 1 -/* 800C594C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C5950 48 29 C8 D1 */ bl _restgpr_27 -/* 800C5954 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C5958 7C 08 03 A6 */ mtlr r0 -/* 800C595C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C5960 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBackJumpLandInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procBackJumpLandInit__9daAlink_cFi.s deleted file mode 100644 index d22263f610..0000000000 --- a/asm/d/a/d_a_alink/procBackJumpLandInit__9daAlink_cFi.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800C5A54: -/* 800C5A54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C5A58 7C 08 02 A6 */ mflr r0 -/* 800C5A5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C5A60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C5A64 93 C1 00 08 */ stw r30, 8(r1) -/* 800C5A68 7C 7E 1B 78 */ mr r30, r3 -/* 800C5A6C 7C 9F 23 78 */ mr r31, r4 -/* 800C5A70 38 80 00 13 */ li r4, 0x13 -/* 800C5A74 4B FF C4 F9 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C5A78 7F C3 F3 78 */ mr r3, r30 -/* 800C5A7C 38 80 00 27 */ li r4, 0x27 -/* 800C5A80 3C A0 80 39 */ lis r5, m__22daAlinkHIO_backJump_c0@ha /* 0x8038D82C@ha */ -/* 800C5A84 38 A5 D8 2C */ addi r5, r5, m__22daAlinkHIO_backJump_c0@l /* 0x8038D82C@l */ -/* 800C5A88 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800C5A8C 4B FE 76 69 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C5A90 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C5A94 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C5A98 38 00 00 04 */ li r0, 4 -/* 800C5A9C 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 800C5AA0 7F C3 F3 78 */ mr r3, r30 -/* 800C5AA4 38 80 00 02 */ li r4, 2 -/* 800C5AA8 48 05 B7 19 */ bl setFootEffectProcType__9daAlink_cFi -/* 800C5AAC 80 1E 05 84 */ lwz r0, 0x584(r30) -/* 800C5AB0 60 00 00 30 */ ori r0, r0, 0x30 -/* 800C5AB4 90 1E 05 84 */ stw r0, 0x584(r30) -/* 800C5AB8 93 FE 31 98 */ stw r31, 0x3198(r30) -/* 800C5ABC A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800C5AC0 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C5AC4 38 00 00 0A */ li r0, 0xa -/* 800C5AC8 98 1E 2F CC */ stb r0, 0x2fcc(r30) -/* 800C5ACC 7F C3 F3 78 */ mr r3, r30 -/* 800C5AD0 4B FF 01 95 */ bl setStepLandVibration__9daAlink_cFv -/* 800C5AD4 38 60 00 01 */ li r3, 1 -/* 800C5AD8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C5ADC 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C5AE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C5AE4 7C 08 03 A6 */ mtlr r0 -/* 800C5AE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C5AEC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBackJumpLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBackJumpLand__9daAlink_cFv.s deleted file mode 100644 index d5bfcfc8e8..0000000000 --- a/asm/d/a/d_a_alink/procBackJumpLand__9daAlink_cFv.s +++ /dev/null @@ -1,88 +0,0 @@ -lbl_800C5AF0: -/* 800C5AF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C5AF4 7C 08 02 A6 */ mflr r0 -/* 800C5AF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C5AFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C5B00 48 29 C6 DD */ bl _savegpr_29 -/* 800C5B04 7C 7F 1B 78 */ mr r31, r3 -/* 800C5B08 3B BF 1F D0 */ addi r29, r31, 0x1fd0 -/* 800C5B0C 88 03 2F CC */ lbz r0, 0x2fcc(r3) -/* 800C5B10 28 00 00 00 */ cmplwi r0, 0 -/* 800C5B14 41 82 00 0C */ beq lbl_800C5B20 -/* 800C5B18 38 00 00 0A */ li r0, 0xa -/* 800C5B1C 98 1F 2F CC */ stb r0, 0x2fcc(r31) -lbl_800C5B20: -/* 800C5B20 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800C5B24 64 00 08 00 */ oris r0, r0, 0x800 -/* 800C5B28 90 1F 05 88 */ stw r0, 0x588(r31) -/* 800C5B2C 7F A3 EB 78 */ mr r3, r29 -/* 800C5B30 48 09 89 9D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C5B34 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C5B38 41 82 00 74 */ beq lbl_800C5BAC -/* 800C5B3C 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800C5B40 28 00 00 10 */ cmplwi r0, 0x10 -/* 800C5B44 40 82 00 1C */ bne lbl_800C5B60 -/* 800C5B48 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C5B4C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C5B50 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800C5B54 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 800C5B58 4B F8 26 25 */ bl cutEnd__16dEvent_manager_cFi -/* 800C5B5C 48 00 00 B0 */ b lbl_800C5C0C -lbl_800C5B60: -/* 800C5B60 83 DF 27 E0 */ lwz r30, 0x27e0(r31) -/* 800C5B64 3B A0 00 01 */ li r29, 1 -/* 800C5B68 7F C3 F3 78 */ mr r3, r30 -/* 800C5B6C 4B FA DC 79 */ bl LockonTruth__12dAttention_cFv -/* 800C5B70 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C5B74 40 82 00 14 */ bne lbl_800C5B88 -/* 800C5B78 80 1E 03 34 */ lwz r0, 0x334(r30) -/* 800C5B7C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800C5B80 40 82 00 08 */ bne lbl_800C5B88 -/* 800C5B84 3B A0 00 00 */ li r29, 0 -lbl_800C5B88: -/* 800C5B88 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800C5B8C 40 82 00 10 */ bne lbl_800C5B9C -/* 800C5B90 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 800C5B94 54 00 01 46 */ rlwinm r0, r0, 0, 5, 3 -/* 800C5B98 90 1F 05 78 */ stw r0, 0x578(r31) -lbl_800C5B9C: -/* 800C5B9C 7F E3 FB 78 */ mr r3, r31 -/* 800C5BA0 38 80 00 00 */ li r4, 0 -/* 800C5BA4 4B FF 45 2D */ bl checkNextAction__9daAlink_cFi -/* 800C5BA8 48 00 00 64 */ b lbl_800C5C0C -lbl_800C5BAC: -/* 800C5BAC C0 3D 00 10 */ lfs f1, 0x10(r29) -/* 800C5BB0 3C 60 80 39 */ lis r3, m__22daAlinkHIO_backJump_c0@ha /* 0x8038D82C@ha */ -/* 800C5BB4 38 63 D8 2C */ addi r3, r3, m__22daAlinkHIO_backJump_c0@l /* 0x8038D82C@l */ -/* 800C5BB8 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800C5BBC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C5BC0 40 81 00 4C */ ble lbl_800C5C0C -/* 800C5BC4 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800C5BC8 28 00 01 03 */ cmplwi r0, 0x103 -/* 800C5BCC 40 82 00 34 */ bne lbl_800C5C00 -/* 800C5BD0 80 1F 31 98 */ lwz r0, 0x3198(r31) -/* 800C5BD4 2C 00 00 02 */ cmpwi r0, 2 -/* 800C5BD8 40 82 00 14 */ bne lbl_800C5BEC -/* 800C5BDC 7F E3 FB 78 */ mr r3, r31 -/* 800C5BE0 48 00 B8 05 */ bl checkCutTurnInput__9daAlink_cCFv -/* 800C5BE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C5BE8 41 82 00 18 */ beq lbl_800C5C00 -lbl_800C5BEC: -/* 800C5BEC 7F E3 FB 78 */ mr r3, r31 -/* 800C5BF0 38 80 00 01 */ li r4, 1 -/* 800C5BF4 80 BF 31 98 */ lwz r5, 0x3198(r31) -/* 800C5BF8 48 00 EB E5 */ bl procCutTurnInit__9daAlink_cFii -/* 800C5BFC 48 00 00 14 */ b lbl_800C5C10 -lbl_800C5C00: -/* 800C5C00 7F E3 FB 78 */ mr r3, r31 -/* 800C5C04 38 80 00 01 */ li r4, 1 -/* 800C5C08 4B FF 44 C9 */ bl checkNextAction__9daAlink_cFi -lbl_800C5C0C: -/* 800C5C0C 38 60 00 01 */ li r3, 1 -lbl_800C5C10: -/* 800C5C10 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C5C14 48 29 C6 15 */ bl _restgpr_29 -/* 800C5C18 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C5C1C 7C 08 03 A6 */ mtlr r0 -/* 800C5C20 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C5C24 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBackJump__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBackJump__9daAlink_cFv.s deleted file mode 100644 index 99be6b5d24..0000000000 --- a/asm/d/a/d_a_alink/procBackJump__9daAlink_cFv.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_800C5964: -/* 800C5964 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C5968 7C 08 02 A6 */ mflr r0 -/* 800C596C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C5970 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C5974 7C 7F 1B 78 */ mr r31, r3 -/* 800C5978 A8 63 30 08 */ lha r3, 0x3008(r3) -/* 800C597C 2C 03 00 00 */ cmpwi r3, 0 -/* 800C5980 41 82 00 10 */ beq lbl_800C5990 -/* 800C5984 38 03 FF FF */ addi r0, r3, -1 -/* 800C5988 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800C598C 48 00 00 10 */ b lbl_800C599C -lbl_800C5990: -/* 800C5990 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800C5994 54 00 04 E2 */ rlwinm r0, r0, 0, 0x13, 0x11 -/* 800C5998 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800C599C: -/* 800C599C 7F E3 FB 78 */ mr r3, r31 -/* 800C59A0 48 00 BA 45 */ bl checkCutTurnInput__9daAlink_cCFv -/* 800C59A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C59A8 41 82 00 1C */ beq lbl_800C59C4 -/* 800C59AC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800C59B0 28 00 01 03 */ cmplwi r0, 0x103 -/* 800C59B4 40 82 00 10 */ bne lbl_800C59C4 -/* 800C59B8 7F E3 FB 78 */ mr r3, r31 -/* 800C59BC 48 00 BA 69 */ bl getCutTurnDirection__9daAlink_cCFv -/* 800C59C0 90 7F 31 98 */ stw r3, 0x3198(r31) -lbl_800C59C4: -/* 800C59C4 7F E3 FB 78 */ mr r3, r31 -/* 800C59C8 4B FF FD 39 */ bl backJumpSpeedDec__9daAlink_cFv -/* 800C59CC 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800C59D0 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800C59D4 41 82 00 24 */ beq lbl_800C59F8 -/* 800C59D8 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800C59DC 48 09 8A F1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C59E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C59E4 41 82 00 14 */ beq lbl_800C59F8 -/* 800C59E8 7F E3 FB 78 */ mr r3, r31 -/* 800C59EC 80 9F 31 98 */ lwz r4, 0x3198(r31) -/* 800C59F0 48 00 00 65 */ bl procBackJumpLandInit__9daAlink_cFi -/* 800C59F4 48 00 00 40 */ b lbl_800C5A34 -lbl_800C59F8: -/* 800C59F8 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800C59FC 28 00 00 10 */ cmplwi r0, 0x10 -/* 800C5A00 41 82 00 34 */ beq lbl_800C5A34 -/* 800C5A04 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 800C5A08 C0 3F 34 FC */ lfs f1, 0x34fc(r31) -/* 800C5A0C 3C 60 80 39 */ lis r3, m__22daAlinkHIO_backJump_c0@ha /* 0x8038D82C@ha */ -/* 800C5A10 38 A3 D8 2C */ addi r5, r3, m__22daAlinkHIO_backJump_c0@l /* 0x8038D82C@l */ -/* 800C5A14 C0 05 00 30 */ lfs f0, 0x30(r5) -/* 800C5A18 EC 01 00 28 */ fsubs f0, f1, f0 -/* 800C5A1C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800C5A20 40 80 00 14 */ bge lbl_800C5A34 -/* 800C5A24 7F E3 FB 78 */ mr r3, r31 -/* 800C5A28 38 80 00 02 */ li r4, 2 -/* 800C5A2C C0 25 00 34 */ lfs f1, 0x34(r5) -/* 800C5A30 48 00 10 19 */ bl procFallInit__9daAlink_cFif -lbl_800C5A34: -/* 800C5A34 7F E3 FB 78 */ mr r3, r31 -/* 800C5A38 4B FF 3F 15 */ bl checkItemChangeFromButton__9daAlink_cFv -/* 800C5A3C 38 60 00 01 */ li r3, 1 -/* 800C5A40 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C5A44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C5A48 7C 08 03 A6 */ mtlr r0 -/* 800C5A4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C5A50 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardCut__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardCut__9daAlink_cFv.s deleted file mode 100644 index 0ae589c816..0000000000 --- a/asm/d/a/d_a_alink/procBoardCut__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8010755C: -/* 8010755C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80107560 7C 08 02 A6 */ mflr r0 -/* 80107564 90 01 00 14 */ stw r0, 0x14(r1) -/* 80107568 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010756C 7C 7F 1B 78 */ mr r31, r3 -/* 80107570 38 80 00 01 */ li r4, 1 -/* 80107574 4B FF E5 E5 */ bl boardCommon__9daAlink_cFi -/* 80107578 2C 03 00 00 */ cmpwi r3, 0 -/* 8010757C 41 82 00 0C */ beq lbl_80107588 -/* 80107580 38 60 00 01 */ li r3, 1 -/* 80107584 48 00 00 3C */ b lbl_801075C0 -lbl_80107588: -/* 80107588 7F E3 FB 78 */ mr r3, r31 -/* 8010758C 4B FC B0 F9 */ bl checkCutTurnCharge__9daAlink_cFv -/* 80107590 7F E3 FB 78 */ mr r3, r31 -/* 80107594 4B FF EF F9 */ bl checkNextActionBoard__9daAlink_cFv -/* 80107598 2C 03 00 00 */ cmpwi r3, 0 -/* 8010759C 40 82 00 20 */ bne lbl_801075BC -/* 801075A0 7F E3 FB 78 */ mr r3, r31 -/* 801075A4 4B FB 1C B1 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 801075A8 2C 03 00 00 */ cmpwi r3, 0 -/* 801075AC 41 82 00 10 */ beq lbl_801075BC -/* 801075B0 7F E3 FB 78 */ mr r3, r31 -/* 801075B4 38 80 00 00 */ li r4, 0 -/* 801075B8 4B FF F4 81 */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -lbl_801075BC: -/* 801075BC 38 60 00 01 */ li r3, 1 -lbl_801075C0: -/* 801075C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801075C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801075C8 7C 08 03 A6 */ mtlr r0 -/* 801075CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801075D0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardJump__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardJump__9daAlink_cFv.s deleted file mode 100644 index f7d89642a2..0000000000 --- a/asm/d/a/d_a_alink/procBoardJump__9daAlink_cFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80107300: -/* 80107300 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80107304 7C 08 02 A6 */ mflr r0 -/* 80107308 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010730C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80107310 7C 7F 1B 78 */ mr r31, r3 -/* 80107314 38 80 00 01 */ li r4, 1 -/* 80107318 4B FF E8 41 */ bl boardCommon__9daAlink_cFi -/* 8010731C 2C 03 00 00 */ cmpwi r3, 0 -/* 80107320 41 82 00 0C */ beq lbl_8010732C -/* 80107324 38 60 00 01 */ li r3, 1 -/* 80107328 48 00 00 94 */ b lbl_801073BC -lbl_8010732C: -/* 8010732C 7F E3 FB 78 */ mr r3, r31 -/* 80107330 4B FF F2 5D */ bl checkNextActionBoard__9daAlink_cFv -/* 80107334 2C 03 00 00 */ cmpwi r3, 0 -/* 80107338 40 82 00 80 */ bne lbl_801073B8 -/* 8010733C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 80107340 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80107344 40 82 00 1C */ bne lbl_80107360 -/* 80107348 7F E3 FB 78 */ mr r3, r31 -/* 8010734C 4B FF F3 A1 */ bl setBoardLandAnime__9daAlink_cFv -/* 80107350 7F E3 FB 78 */ mr r3, r31 -/* 80107354 38 80 00 00 */ li r4, 0 -/* 80107358 4B FF F6 E1 */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -/* 8010735C 48 00 00 5C */ b lbl_801073B8 -lbl_80107360: -/* 80107360 A8 1F 30 12 */ lha r0, 0x3012(r31) -/* 80107364 2C 00 00 00 */ cmpwi r0, 0 -/* 80107368 41 82 00 50 */ beq lbl_801073B8 -/* 8010736C A8 1F 30 10 */ lha r0, 0x3010(r31) -/* 80107370 2C 00 00 00 */ cmpwi r0, 0 -/* 80107374 40 82 00 44 */ bne lbl_801073B8 -/* 80107378 80 7F 20 60 */ lwz r3, 0x2060(r31) -/* 8010737C C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80107380 C0 02 93 88 */ lfs f0, lit_8782(r2) -/* 80107384 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80107388 40 80 00 30 */ bge lbl_801073B8 -/* 8010738C 7F E3 FB 78 */ mr r3, r31 -/* 80107390 38 80 00 F7 */ li r4, 0xf7 -/* 80107394 3C A0 80 39 */ lis r5, m__19daAlinkHIO_board_c0@ha /* 0x8038E870@ha */ -/* 80107398 38 A5 E8 70 */ addi r5, r5, m__19daAlinkHIO_board_c0@l /* 0x8038E870@l */ -/* 8010739C C0 25 00 18 */ lfs f1, 0x18(r5) -/* 801073A0 C0 45 00 1C */ lfs f2, 0x1c(r5) -/* 801073A4 A8 A5 00 14 */ lha r5, 0x14(r5) -/* 801073A8 C0 62 92 BC */ lfs f3, lit_6041(r2) -/* 801073AC 4B FA 5C 61 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 801073B0 38 00 00 01 */ li r0, 1 -/* 801073B4 B0 1F 30 10 */ sth r0, 0x3010(r31) -lbl_801073B8: -/* 801073B8 38 60 00 01 */ li r3, 1 -lbl_801073BC: -/* 801073BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801073C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801073C4 7C 08 03 A6 */ mtlr r0 -/* 801073C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801073CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardRide__9daAlink_cFv.s deleted file mode 100644 index ba6f297aef..0000000000 --- a/asm/d/a/d_a_alink/procBoardRide__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_801069D0: -/* 801069D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801069D4 7C 08 02 A6 */ mflr r0 -/* 801069D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801069DC 38 00 00 0F */ li r0, 0xf -/* 801069E0 98 03 2F 99 */ stb r0, 0x2f99(r3) -/* 801069E4 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 801069E8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 801069EC 41 82 00 38 */ beq lbl_80106A24 -/* 801069F0 80 83 28 10 */ lwz r4, 0x2810(r3) -/* 801069F4 28 04 00 00 */ cmplwi r4, 0 -/* 801069F8 41 82 00 24 */ beq lbl_80106A1C -/* 801069FC A8 84 04 E6 */ lha r4, 0x4e6(r4) -/* 80106A00 38 04 C0 00 */ addi r0, r4, -16384 -/* 80106A04 B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 80106A08 A8 03 04 E6 */ lha r0, 0x4e6(r3) -/* 80106A0C B0 03 04 DE */ sth r0, 0x4de(r3) -/* 80106A10 80 83 28 10 */ lwz r4, 0x2810(r3) -/* 80106A14 48 00 00 25 */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -/* 80106A18 48 00 00 0C */ b lbl_80106A24 -lbl_80106A1C: -/* 80106A1C 38 80 00 01 */ li r4, 1 -/* 80106A20 4B FB 36 B1 */ bl checkNextAction__9daAlink_cFi -lbl_80106A24: -/* 80106A24 38 60 00 01 */ li r3, 1 -/* 80106A28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80106A2C 7C 08 03 A6 */ mtlr r0 -/* 80106A30 38 21 00 10 */ addi r1, r1, 0x10 -/* 80106A34 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardRowInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardRowInit__9daAlink_cFv.s deleted file mode 100644 index d0119f414f..0000000000 --- a/asm/d/a/d_a_alink/procBoardRowInit__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80106E88: -/* 80106E88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80106E8C 7C 08 02 A6 */ mflr r0 -/* 80106E90 90 01 00 14 */ stw r0, 0x14(r1) -/* 80106E94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80106E98 7C 7F 1B 78 */ mr r31, r3 -/* 80106E9C 38 80 00 A8 */ li r4, 0xa8 -/* 80106EA0 4B FB B0 CD */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80106EA4 7F E3 FB 78 */ mr r3, r31 -/* 80106EA8 4B FF F8 11 */ bl getBoardRowAnmSpeed__9daAlink_cFv -/* 80106EAC 7F E3 FB 78 */ mr r3, r31 -/* 80106EB0 38 80 00 F9 */ li r4, 0xf9 -/* 80106EB4 3C A0 80 39 */ lis r5, m__19daAlinkHIO_board_c0@ha /* 0x8038E870@ha */ -/* 80106EB8 38 A5 E8 70 */ addi r5, r5, m__19daAlinkHIO_board_c0@l /* 0x8038E870@l */ -/* 80106EBC C0 45 00 84 */ lfs f2, 0x84(r5) -/* 80106EC0 4B FA 61 21 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 80106EC4 80 1F 05 84 */ lwz r0, 0x584(r31) -/* 80106EC8 60 00 00 40 */ ori r0, r0, 0x40 -/* 80106ECC 90 1F 05 84 */ stw r0, 0x584(r31) -/* 80106ED0 38 00 00 04 */ li r0, 4 -/* 80106ED4 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 80106ED8 38 00 00 01 */ li r0, 1 -/* 80106EDC B0 1F 30 10 */ sth r0, 0x3010(r31) -/* 80106EE0 38 00 00 00 */ li r0, 0 -/* 80106EE4 B0 1F 30 12 */ sth r0, 0x3012(r31) -/* 80106EE8 38 60 00 01 */ li r3, 1 -/* 80106EEC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80106EF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80106EF4 7C 08 03 A6 */ mtlr r0 -/* 80106EF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80106EFC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardSubjectivityInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardSubjectivityInit__9daAlink_cFv.s deleted file mode 100644 index c8ff9d387c..0000000000 --- a/asm/d/a/d_a_alink/procBoardSubjectivityInit__9daAlink_cFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_801073D0: -/* 801073D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801073D4 7C 08 02 A6 */ mflr r0 -/* 801073D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801073DC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801073E0 7C 7F 1B 78 */ mr r31, r3 -/* 801073E4 38 80 00 AB */ li r4, 0xab -/* 801073E8 4B FF F2 69 */ bl commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 801073EC 7F E3 FB 78 */ mr r3, r31 -/* 801073F0 4B FC 77 05 */ bl setSubjectMode__9daAlink_cFv -/* 801073F4 7F E3 FB 78 */ mr r3, r31 -/* 801073F8 38 80 00 00 */ li r4, 0 -/* 801073FC 4B FF F1 39 */ bl setCommonBoardAnime__9daAlink_cFi -/* 80107400 38 60 00 01 */ li r3, 1 -/* 80107404 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80107408 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010740C 7C 08 03 A6 */ mtlr r0 -/* 80107410 38 21 00 10 */ addi r1, r1, 0x10 -/* 80107414 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardSubjectivity__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardSubjectivity__9daAlink_cFv.s deleted file mode 100644 index ab7e9d74f7..0000000000 --- a/asm/d/a/d_a_alink/procBoardSubjectivity__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80107418: -/* 80107418 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8010741C 7C 08 02 A6 */ mflr r0 -/* 80107420 90 01 00 24 */ stw r0, 0x24(r1) -/* 80107424 39 61 00 20 */ addi r11, r1, 0x20 -/* 80107428 48 25 AD B5 */ bl _savegpr_29 -/* 8010742C 7C 7D 1B 78 */ mr r29, r3 -/* 80107430 80 03 05 80 */ lwz r0, 0x580(r3) -/* 80107434 64 00 04 00 */ oris r0, r0, 0x400 -/* 80107438 90 03 05 80 */ stw r0, 0x580(r3) -/* 8010743C AB E3 04 E6 */ lha r31, 0x4e6(r3) -/* 80107440 AB C3 04 DE */ lha r30, 0x4de(r3) -/* 80107444 38 80 00 00 */ li r4, 0 -/* 80107448 4B FF E7 11 */ bl boardCommon__9daAlink_cFi -/* 8010744C 2C 03 00 00 */ cmpwi r3, 0 -/* 80107450 41 82 00 0C */ beq lbl_8010745C -/* 80107454 38 60 00 01 */ li r3, 1 -/* 80107458 48 00 00 3C */ b lbl_80107494 -lbl_8010745C: -/* 8010745C B3 FD 04 E6 */ sth r31, 0x4e6(r29) -/* 80107460 7F A3 EB 78 */ mr r3, r29 -/* 80107464 38 80 00 01 */ li r4, 1 -/* 80107468 4B FC 77 71 */ bl checkSubjectEnd__9daAlink_cFi -/* 8010746C 2C 03 00 00 */ cmpwi r3, 0 -/* 80107470 41 82 00 14 */ beq lbl_80107484 -/* 80107474 7F A3 EB 78 */ mr r3, r29 -/* 80107478 38 80 00 00 */ li r4, 0 -/* 8010747C 4B FF F5 BD */ bl procBoardWaitInit__9daAlink_cFP10fopAc_ac_c -/* 80107480 48 00 00 10 */ b lbl_80107490 -lbl_80107484: -/* 80107484 7F A3 EB 78 */ mr r3, r29 -/* 80107488 7F C4 F3 78 */ mr r4, r30 -/* 8010748C 4B FE 7A A5 */ bl setRideSubjectAngle__9daAlink_cFs -lbl_80107490: -/* 80107490 38 60 00 01 */ li r3, 1 -lbl_80107494: -/* 80107494 39 61 00 20 */ addi r11, r1, 0x20 -/* 80107498 48 25 AD 91 */ bl _restgpr_29 -/* 8010749C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801074A0 7C 08 03 A6 */ mtlr r0 -/* 801074A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801074A8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoardTurnInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoardTurnInit__9daAlink_cFv.s deleted file mode 100644 index 1b440a0396..0000000000 --- a/asm/d/a/d_a_alink/procBoardTurnInit__9daAlink_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80107060: -/* 80107060 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80107064 7C 08 02 A6 */ mflr r0 -/* 80107068 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010706C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80107070 7C 7F 1B 78 */ mr r31, r3 -/* 80107074 38 80 00 A9 */ li r4, 0xa9 -/* 80107078 4B FB AE F5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8010707C 7F E3 FB 78 */ mr r3, r31 -/* 80107080 38 80 00 F7 */ li r4, 0xf7 -/* 80107084 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80107088 C0 42 92 B8 */ lfs f2, lit_6040(r2) -/* 8010708C 3C A0 80 39 */ lis r5, m__19daAlinkHIO_board_c0@ha /* 0x8038E870@ha */ -/* 80107090 38 A5 E8 70 */ addi r5, r5, m__19daAlinkHIO_board_c0@l /* 0x8038E870@l */ -/* 80107094 A8 A5 00 14 */ lha r5, 0x14(r5) -/* 80107098 C0 62 92 C4 */ lfs f3, lit_6109(r2) -/* 8010709C 4B FA 5F 71 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 801070A0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801070A4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 801070A8 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 801070AC 3C 63 00 01 */ addis r3, r3, 1 -/* 801070B0 38 03 80 00 */ addi r0, r3, -32768 -/* 801070B4 B0 1F 30 10 */ sth r0, 0x3010(r31) -/* 801070B8 38 00 00 00 */ li r0, 0 -/* 801070BC B0 1F 30 12 */ sth r0, 0x3012(r31) -/* 801070C0 B0 1F 30 0A */ sth r0, 0x300a(r31) -/* 801070C4 38 60 00 01 */ li r3, 1 -/* 801070C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801070CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801070D0 7C 08 03 A6 */ mtlr r0 -/* 801070D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801070D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoomerangCatchInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoomerangCatchInit__9daAlink_cFv.s deleted file mode 100644 index 303544ca0a..0000000000 --- a/asm/d/a/d_a_alink/procBoomerangCatchInit__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800E11D8: -/* 800E11D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E11DC 7C 08 02 A6 */ mflr r0 -/* 800E11E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E11E4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E11E8 7C 7F 1B 78 */ mr r31, r3 -/* 800E11EC 38 80 00 62 */ li r4, 0x62 -/* 800E11F0 4B FE 1B B5 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E11F4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E11F8 40 82 00 0C */ bne lbl_800E1204 -/* 800E11FC 38 60 00 00 */ li r3, 0 -/* 800E1200 48 00 00 34 */ b lbl_800E1234 -lbl_800E1204: -/* 800E1204 7F E3 FB 78 */ mr r3, r31 -/* 800E1208 38 80 00 BB */ li r4, 0xbb -/* 800E120C 3C A0 80 39 */ lis r5, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1210 38 A5 E6 C8 */ addi r5, r5, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1214 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800E1218 4B FC BE DD */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800E121C 7F E3 FB 78 */ mr r3, r31 -/* 800E1220 4B FF F4 11 */ bl setBoomerangCatchAnime__9daAlink_cFv -/* 800E1224 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800E1228 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 800E122C 90 1F 05 70 */ stw r0, 0x570(r31) -/* 800E1230 38 60 00 01 */ li r3, 1 -lbl_800E1234: -/* 800E1234 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1238 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E123C 7C 08 03 A6 */ mtlr r0 -/* 800E1240 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E1244 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoomerangCatch__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoomerangCatch__9daAlink_cFv.s deleted file mode 100644 index a98b49d78a..0000000000 --- a/asm/d/a/d_a_alink/procBoomerangCatch__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800E1248: -/* 800E1248 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E124C 7C 08 02 A6 */ mflr r0 -/* 800E1250 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E1254 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1258 7C 7F 1B 78 */ mr r31, r3 -/* 800E125C 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800E1260 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800E1264 64 00 08 00 */ oris r0, r0, 0x800 -/* 800E1268 90 1F 05 88 */ stw r0, 0x588(r31) -/* 800E126C C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 800E1270 3C 80 80 39 */ lis r4, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1274 38 84 E6 C8 */ addi r4, r4, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1278 C0 04 00 24 */ lfs f0, 0x24(r4) -/* 800E127C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E1280 40 81 00 10 */ ble lbl_800E1290 -/* 800E1284 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E1288 60 00 00 04 */ ori r0, r0, 4 -/* 800E128C 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800E1290: -/* 800E1290 48 07 D2 3D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800E1294 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1298 41 82 00 24 */ beq lbl_800E12BC -/* 800E129C 7F E3 FB 78 */ mr r3, r31 -/* 800E12A0 38 80 00 02 */ li r4, 2 -/* 800E12A4 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800E12A8 4B FC C4 7D */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 800E12AC 7F E3 FB 78 */ mr r3, r31 -/* 800E12B0 38 80 00 00 */ li r4, 0 -/* 800E12B4 4B FD 8E 1D */ bl checkNextAction__9daAlink_cFi -/* 800E12B8 48 00 00 10 */ b lbl_800E12C8 -lbl_800E12BC: -/* 800E12BC 7F E3 FB 78 */ mr r3, r31 -/* 800E12C0 38 80 00 01 */ li r4, 1 -/* 800E12C4 4B FD 8E 0D */ bl checkNextAction__9daAlink_cFi -lbl_800E12C8: -/* 800E12C8 38 60 00 01 */ li r3, 1 -/* 800E12CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E12D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E12D4 7C 08 03 A6 */ mtlr r0 -/* 800E12D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E12DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoomerangMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoomerangMoveInit__9daAlink_cFv.s deleted file mode 100644 index 1c6d4c499c..0000000000 --- a/asm/d/a/d_a_alink/procBoomerangMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_800E1060: -/* 800E1060 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E1064 7C 08 02 A6 */ mflr r0 -/* 800E1068 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E106C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1070 7C 7F 1B 78 */ mr r31, r3 -/* 800E1074 38 80 00 61 */ li r4, 0x61 -/* 800E1078 4B FE 1D 2D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E107C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1080 40 82 00 0C */ bne lbl_800E108C -/* 800E1084 38 60 00 00 */ li r3, 0 -/* 800E1088 48 00 00 58 */ b lbl_800E10E0 -lbl_800E108C: -/* 800E108C 7F E3 FB 78 */ mr r3, r31 -/* 800E1090 4B FD 28 75 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800E1094 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1098 41 82 00 10 */ beq lbl_800E10A8 -/* 800E109C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E10A0 60 00 00 01 */ ori r0, r0, 1 -/* 800E10A4 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800E10A8: -/* 800E10A8 7F E3 FB 78 */ mr r3, r31 -/* 800E10AC 38 80 00 00 */ li r4, 0 -/* 800E10B0 4B FF F3 21 */ bl initBoomerangUpperAnimeSpeed__9daAlink_cFi -/* 800E10B4 7F E3 FB 78 */ mr r3, r31 -/* 800E10B8 3C 80 80 39 */ lis r4, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E10BC 38 84 E6 C8 */ addi r4, r4, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E10C0 C0 24 00 30 */ lfs f1, 0x30(r4) -/* 800E10C4 4B FC D9 AD */ bl setBlendAtnMoveAnime__9daAlink_cFf -/* 800E10C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E10CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E10D0 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800E10D4 64 00 00 08 */ oris r0, r0, 8 -/* 800E10D8 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800E10DC 38 60 00 01 */ li r3, 1 -lbl_800E10E0: -/* 800E10E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E10E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E10E8 7C 08 03 A6 */ mtlr r0 -/* 800E10EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E10F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoomerangMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoomerangMove__9daAlink_cFv.s deleted file mode 100644 index f48baee7da..0000000000 --- a/asm/d/a/d_a_alink/procBoomerangMove__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_800E10F4: -/* 800E10F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E10F8 7C 08 02 A6 */ mflr r0 -/* 800E10FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E1100 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800E1104 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800E1108 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E110C 7C 7F 1B 78 */ mr r31, r3 -/* 800E1110 4B FD 61 D5 */ bl checkItemActorPointer__9daAlink_cFv -/* 800E1114 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1118 40 82 00 0C */ bne lbl_800E1124 -/* 800E111C 38 60 00 01 */ li r3, 1 -/* 800E1120 48 00 00 9C */ b lbl_800E11BC -lbl_800E1124: -/* 800E1124 7F E3 FB 78 */ mr r3, r31 -/* 800E1128 38 80 00 00 */ li r4, 0 -/* 800E112C 4B FD 8F A5 */ bl checkNextAction__9daAlink_cFi -/* 800E1130 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1134 40 82 00 84 */ bne lbl_800E11B8 -/* 800E1138 C3 E2 92 BC */ lfs f31, lit_6041(r2) -/* 800E113C 7F E3 FB 78 */ mr r3, r31 -/* 800E1140 4B FD 27 C5 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800E1144 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1148 41 82 00 34 */ beq lbl_800E117C -/* 800E114C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E1150 60 00 00 01 */ ori r0, r0, 1 -/* 800E1154 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800E1158 88 1F 2F 98 */ lbz r0, 0x2f98(r31) -/* 800E115C 28 00 00 03 */ cmplwi r0, 3 -/* 800E1160 41 82 00 40 */ beq lbl_800E11A0 -/* 800E1164 38 00 00 03 */ li r0, 3 -/* 800E1168 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800E116C 3C 60 80 39 */ lis r3, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800E1170 38 63 D6 64 */ addi r3, r3, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800E1174 C3 E3 00 18 */ lfs f31, 0x18(r3) -/* 800E1178 48 00 00 28 */ b lbl_800E11A0 -lbl_800E117C: -/* 800E117C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E1180 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800E1184 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800E1188 80 7F 28 28 */ lwz r3, 0x2828(r31) -/* 800E118C 28 03 00 00 */ cmplwi r3, 0 -/* 800E1190 41 82 00 10 */ beq lbl_800E11A0 -/* 800E1194 80 03 09 64 */ lwz r0, 0x964(r3) -/* 800E1198 60 00 08 00 */ ori r0, r0, 0x800 -/* 800E119C 90 03 09 64 */ stw r0, 0x964(r3) -lbl_800E11A0: -/* 800E11A0 7F E3 FB 78 */ mr r3, r31 -/* 800E11A4 FC 20 F8 90 */ fmr f1, f31 -/* 800E11A8 4B FC D8 C9 */ bl setBlendAtnMoveAnime__9daAlink_cFf -/* 800E11AC 7F E3 FB 78 */ mr r3, r31 -/* 800E11B0 38 80 00 00 */ li r4, 0 -/* 800E11B4 4B FD A0 FD */ bl setBodyAngleXReadyAnime__9daAlink_cFi -lbl_800E11B8: -/* 800E11B8 38 60 00 01 */ li r3, 1 -lbl_800E11BC: -/* 800E11BC E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800E11C0 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800E11C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E11C8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E11CC 7C 08 03 A6 */ mtlr r0 -/* 800E11D0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E11D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoomerangSubjectInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoomerangSubjectInit__9daAlink_cFv.s deleted file mode 100644 index 24d3148b5f..0000000000 --- a/asm/d/a/d_a_alink/procBoomerangSubjectInit__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_800E0F10: -/* 800E0F10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0F14 7C 08 02 A6 */ mflr r0 -/* 800E0F18 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0F1C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0F20 7C 7F 1B 78 */ mr r31, r3 -/* 800E0F24 38 80 00 60 */ li r4, 0x60 -/* 800E0F28 4B FE 1E 7D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E0F2C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0F30 40 82 00 0C */ bne lbl_800E0F3C -/* 800E0F34 38 60 00 00 */ li r3, 0 -/* 800E0F38 48 00 00 54 */ b lbl_800E0F8C -lbl_800E0F3C: -/* 800E0F3C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E0F40 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800E0F44 7F E3 FB 78 */ mr r3, r31 -/* 800E0F48 38 80 00 01 */ li r4, 1 -/* 800E0F4C 4B FF F4 85 */ bl initBoomerangUpperAnimeSpeed__9daAlink_cFi -/* 800E0F50 7F E3 FB 78 */ mr r3, r31 -/* 800E0F54 38 80 00 11 */ li r4, 0x11 -/* 800E0F58 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800E0F5C 3C A0 80 39 */ lis r5, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E0F60 38 A5 E6 C8 */ addi r5, r5, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E0F64 C0 45 00 30 */ lfs f2, 0x30(r5) -/* 800E0F68 4B FC C0 79 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800E0F6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E0F70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E0F74 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800E0F78 64 00 00 08 */ oris r0, r0, 8 -/* 800E0F7C 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800E0F80 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800E0F84 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800E0F88 38 60 00 01 */ li r3, 1 -lbl_800E0F8C: -/* 800E0F8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E0F90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E0F94 7C 08 03 A6 */ mtlr r0 -/* 800E0F98 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E0F9C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBoomerangSubject__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBoomerangSubject__9daAlink_cFv.s deleted file mode 100644 index b3239e054a..0000000000 --- a/asm/d/a/d_a_alink/procBoomerangSubject__9daAlink_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_800E0FA0: -/* 800E0FA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0FA4 7C 08 02 A6 */ mflr r0 -/* 800E0FA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0FAC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0FB0 7C 7F 1B 78 */ mr r31, r3 -/* 800E0FB4 4B FD 63 31 */ bl checkItemActorPointer__9daAlink_cFv -/* 800E0FB8 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0FBC 40 82 00 0C */ bne lbl_800E0FC8 -/* 800E0FC0 38 60 00 01 */ li r3, 1 -/* 800E0FC4 48 00 00 88 */ b lbl_800E104C -lbl_800E0FC8: -/* 800E0FC8 38 60 00 00 */ li r3, 0 -/* 800E0FCC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E0FD0 28 00 00 40 */ cmplwi r0, 0x40 -/* 800E0FD4 41 82 00 0C */ beq lbl_800E0FE0 -/* 800E0FD8 28 00 01 02 */ cmplwi r0, 0x102 -/* 800E0FDC 40 82 00 14 */ bne lbl_800E0FF0 -lbl_800E0FE0: -/* 800E0FE0 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E0FE4 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E0FE8 40 82 00 08 */ bne lbl_800E0FF0 -/* 800E0FEC 38 60 00 01 */ li r3, 1 -lbl_800E0FF0: -/* 800E0FF0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0FF4 41 82 00 10 */ beq lbl_800E1004 -/* 800E0FF8 7F E3 FB 78 */ mr r3, r31 -/* 800E0FFC 38 80 00 12 */ li r4, 0x12 -/* 800E1000 4B FD 22 51 */ bl setDoStatus__9daAlink_cFUc -lbl_800E1004: -/* 800E1004 7F E3 FB 78 */ mr r3, r31 -/* 800E1008 38 80 00 00 */ li r4, 0 -/* 800E100C 4B FD 27 29 */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 800E1010 7F E3 FB 78 */ mr r3, r31 -/* 800E1014 38 80 00 00 */ li r4, 0 -/* 800E1018 4B FD 90 B9 */ bl checkNextAction__9daAlink_cFi -/* 800E101C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1020 40 82 00 20 */ bne lbl_800E1040 -/* 800E1024 7F E3 FB 78 */ mr r3, r31 -/* 800E1028 4B FE D8 79 */ bl setBodyAngleToCamera__9daAlink_cFv -/* 800E102C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1030 41 82 00 18 */ beq lbl_800E1048 -/* 800E1034 7F E3 FB 78 */ mr r3, r31 -/* 800E1038 4B FF FE 2D */ bl setBoomerangSight__9daAlink_cFv -/* 800E103C 48 00 00 0C */ b lbl_800E1048 -lbl_800E1040: -/* 800E1040 38 00 00 00 */ li r0, 0 -/* 800E1044 98 1F 20 68 */ stb r0, 0x2068(r31) -lbl_800E1048: -/* 800E1048 38 60 00 01 */ li r3, 1 -lbl_800E104C: -/* 800E104C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1050 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E1054 7C 08 03 A6 */ mtlr r0 -/* 800E1058 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E105C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBootsEquipInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBootsEquipInit__9daAlink_cFv.s deleted file mode 100644 index 3099362915..0000000000 --- a/asm/d/a/d_a_alink/procBootsEquipInit__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_800E3048: -/* 800E3048 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E304C 7C 08 02 A6 */ mflr r0 -/* 800E3050 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E3054 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E3058 7C 7F 1B 78 */ mr r31, r3 -/* 800E305C 38 80 00 CD */ li r4, 0xcd -/* 800E3060 4B FD EF 0D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E3064 7F E3 FB 78 */ mr r3, r31 -/* 800E3068 38 80 01 3E */ li r4, 0x13e -/* 800E306C 3C A0 80 39 */ lis r5, m__24daAlinkHIO_magneBoots_c0@ha /* 0x8038E7F4@ha */ -/* 800E3070 38 A5 E7 F4 */ addi r5, r5, m__24daAlinkHIO_magneBoots_c0@l /* 0x8038E7F4@l */ -/* 800E3074 4B FC A0 81 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800E3078 7F E3 FB 78 */ mr r3, r31 -/* 800E307C 4B FD 7F 05 */ bl checkUpperReadyThrowAnime__9daAlink_cCFv -/* 800E3080 2C 03 00 00 */ cmpwi r3, 0 -/* 800E3084 41 82 00 30 */ beq lbl_800E30B4 -/* 800E3088 7F E3 FB 78 */ mr r3, r31 -/* 800E308C 38 80 00 02 */ li r4, 2 -/* 800E3090 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800E3094 4B FC A6 91 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 800E3098 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E309C 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E30A0 80 85 5F 18 */ lwz r4, 0x5f18(r5) -/* 800E30A4 3C 60 00 40 */ lis r3, 0x0040 /* 0x00400030@ha */ -/* 800E30A8 38 03 00 30 */ addi r0, r3, 0x0030 /* 0x00400030@l */ -/* 800E30AC 7C 80 00 38 */ and r0, r4, r0 -/* 800E30B0 90 05 5F 18 */ stw r0, 0x5f18(r5) -lbl_800E30B4: -/* 800E30B4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800E30B8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800E30BC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E30C0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800E30C4 38 60 00 01 */ li r3, 1 -/* 800E30C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E30CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E30D0 7C 08 03 A6 */ mtlr r0 -/* 800E30D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E30D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBottleDrinkInit__9daAlink_cFUs.s b/asm/d/a/d_a_alink/procBottleDrinkInit__9daAlink_cFUs.s deleted file mode 100644 index 8d1764b8db..0000000000 --- a/asm/d/a/d_a_alink/procBottleDrinkInit__9daAlink_cFUs.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_8010F54C: -/* 8010F54C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010F550 7C 08 02 A6 */ mflr r0 -/* 8010F554 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010F558 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010F55C 93 C1 00 08 */ stw r30, 8(r1) -/* 8010F560 7C 7F 1B 78 */ mr r31, r3 -/* 8010F564 7C 9E 23 78 */ mr r30, r4 -/* 8010F568 80 03 06 14 */ lwz r0, 0x614(r3) -/* 8010F56C 28 00 00 2A */ cmplwi r0, 0x2a -/* 8010F570 40 82 00 18 */ bne lbl_8010F588 -/* 8010F574 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 8010F578 28 00 00 B3 */ cmplwi r0, 0xb3 -/* 8010F57C 40 82 00 44 */ bne lbl_8010F5C0 -/* 8010F580 38 60 00 01 */ li r3, 1 -/* 8010F584 48 00 00 FC */ b lbl_8010F680 -lbl_8010F588: -/* 8010F588 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8010F58C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8010F590 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8010F594 7F E4 FB 78 */ mr r4, r31 -/* 8010F598 38 A0 00 00 */ li r5, 0 -/* 8010F59C 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 8010F5A0 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 8010F5A4 4B F3 3B C9 */ bl compulsory__14dEvt_control_cFPvPCcUs -/* 8010F5A8 2C 03 00 00 */ cmpwi r3, 0 -/* 8010F5AC 40 82 00 0C */ bne lbl_8010F5B8 -/* 8010F5B0 38 60 00 00 */ li r3, 0 -/* 8010F5B4 48 00 00 CC */ b lbl_8010F680 -lbl_8010F5B8: -/* 8010F5B8 38 00 00 05 */ li r0, 5 -/* 8010F5BC B0 1F 06 04 */ sth r0, 0x604(r31) -lbl_8010F5C0: -/* 8010F5C0 7F E3 FB 78 */ mr r3, r31 -/* 8010F5C4 38 80 00 B3 */ li r4, 0xb3 -/* 8010F5C8 4B FB 29 A5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8010F5CC A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8010F5D0 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8010F5D4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8010F5D8 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8010F5DC 38 00 00 04 */ li r0, 4 -/* 8010F5E0 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 8010F5E4 7F E3 FB 78 */ mr r3, r31 -/* 8010F5E8 38 80 01 00 */ li r4, 0x100 -/* 8010F5EC 3C A0 80 39 */ lis r5, m__20daAlinkHIO_bottle_c0@ha /* 0x8038E90C@ha */ -/* 8010F5F0 38 A5 E9 0C */ addi r5, r5, m__20daAlinkHIO_bottle_c0@l /* 0x8038E90C@l */ -/* 8010F5F4 4B F9 DB 01 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 8010F5F8 7F E3 FB 78 */ mr r3, r31 -/* 8010F5FC 4B FB 02 59 */ bl keepItemData__9daAlink_cFv -/* 8010F600 7F E3 FB 78 */ mr r3, r31 -/* 8010F604 7F C4 F3 78 */ mr r4, r30 -/* 8010F608 4B FF EF D1 */ bl setBottleModel__9daAlink_cFUs -/* 8010F60C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8010F610 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8010F614 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 8010F618 60 00 20 00 */ ori r0, r0, 0x2000 -/* 8010F61C 90 03 5F 1C */ stw r0, 0x5f1c(r3) -/* 8010F620 38 00 00 01 */ li r0, 1 -/* 8010F624 90 1F 31 94 */ stw r0, 0x3194(r31) -/* 8010F628 38 00 00 00 */ li r0, 0 -/* 8010F62C B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 8010F630 28 1F 00 00 */ cmplwi r31, 0 -/* 8010F634 41 82 00 0C */ beq lbl_8010F640 -/* 8010F638 83 DF 00 04 */ lwz r30, 4(r31) -/* 8010F63C 48 00 00 08 */ b lbl_8010F644 -lbl_8010F640: -/* 8010F640 3B C0 FF FF */ li r30, -1 -lbl_8010F644: -/* 8010F644 48 07 1F FD */ bl dCam_getBody__Fv -/* 8010F648 38 80 00 12 */ li r4, 0x12 -/* 8010F64C 7F C5 F3 78 */ mr r5, r30 -/* 8010F650 3C C0 80 39 */ lis r6, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 8010F654 38 C6 20 94 */ addi r6, r6, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 8010F658 38 C6 00 43 */ addi r6, r6, 0x43 -/* 8010F65C 38 E0 00 01 */ li r7, 1 -/* 8010F660 39 1F 31 94 */ addi r8, r31, 0x3194 -/* 8010F664 39 20 00 00 */ li r9, 0 -/* 8010F668 4C C6 31 82 */ crclr 6 -/* 8010F66C 4B F7 94 11 */ bl StartEventCamera__9dCamera_cFiie -/* 8010F670 38 00 00 00 */ li r0, 0 -/* 8010F674 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 8010F678 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 8010F67C 38 60 00 01 */ li r3, 1 -lbl_8010F680: -/* 8010F680 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8010F684 83 C1 00 08 */ lwz r30, 8(r1) -/* 8010F688 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010F68C 7C 08 03 A6 */ mtlr r0 -/* 8010F690 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010F694 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBottleDrink__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBottleDrink__9daAlink_cFv.s deleted file mode 100644 index 95f5036fae..0000000000 --- a/asm/d/a/d_a_alink/procBottleDrink__9daAlink_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8010F698: -/* 8010F698 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8010F69C 7C 08 02 A6 */ mflr r0 -/* 8010F6A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8010F6A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8010F6A8 7C 7F 1B 78 */ mr r31, r3 -/* 8010F6AC A8 03 30 0E */ lha r0, 0x300e(r3) -/* 8010F6B0 2C 00 00 00 */ cmpwi r0, 0 -/* 8010F6B4 41 82 00 1C */ beq lbl_8010F6D0 -/* 8010F6B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8010F6BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8010F6C0 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8010F6C4 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 8010F6C8 4B F3 8A B5 */ bl cutEnd__16dEvent_manager_cFi -/* 8010F6CC 48 00 00 10 */ b lbl_8010F6DC -lbl_8010F6D0: -/* 8010F6D0 38 80 00 00 */ li r4, 0 -/* 8010F6D4 4B FF F3 F1 */ bl commonBottleDrink__9daAlink_cFi -/* 8010F6D8 B0 7F 30 0E */ sth r3, 0x300e(r31) -lbl_8010F6DC: -/* 8010F6DC 38 60 00 01 */ li r3, 1 -/* 8010F6E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8010F6E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8010F6E8 7C 08 03 A6 */ mtlr r0 -/* 8010F6EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8010F6F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBottleGetInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procBottleGetInit__9daAlink_cFi.s deleted file mode 100644 index d08cfdc212..0000000000 --- a/asm/d/a/d_a_alink/procBottleGetInit__9daAlink_cFi.s +++ /dev/null @@ -1,160 +0,0 @@ -lbl_801102D0: -/* 801102D0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801102D4 7C 08 02 A6 */ mflr r0 -/* 801102D8 90 01 00 24 */ stw r0, 0x24(r1) -/* 801102DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 801102E0 48 25 1E FD */ bl _savegpr_29 -/* 801102E4 7C 7F 1B 78 */ mr r31, r3 -/* 801102E8 7C 9D 23 78 */ mr r29, r4 -/* 801102EC A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 801102F0 20 00 00 75 */ subfic r0, r0, 0x75 -/* 801102F4 7C 00 00 34 */ cntlzw r0, r0 -/* 801102F8 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f -/* 801102FC 38 80 00 B6 */ li r4, 0xb6 -/* 80110300 4B FB 1C 6D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80110304 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 80110308 28 00 00 48 */ cmplwi r0, 0x48 -/* 8011030C 40 82 00 A0 */ bne lbl_801103AC -/* 80110310 7F E3 FB 78 */ mr r3, r31 -/* 80110314 38 80 01 09 */ li r4, 0x109 -/* 80110318 3C A0 80 39 */ lis r5, m__20daAlinkHIO_bottle_c0@ha /* 0x8038E90C@ha */ -/* 8011031C 38 C5 E9 0C */ addi r6, r5, m__20daAlinkHIO_bottle_c0@l /* 0x8038E90C@l */ -/* 80110320 C0 26 00 7C */ lfs f1, 0x7c(r6) -/* 80110324 C0 42 93 D4 */ lfs f2, lit_11442(r2) -/* 80110328 A8 A6 00 78 */ lha r5, 0x78(r6) -/* 8011032C C0 66 00 84 */ lfs f3, 0x84(r6) -/* 80110330 4B F9 CC DD */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 80110334 38 00 00 FE */ li r0, 0xfe -/* 80110338 98 1F 2F 93 */ stb r0, 0x2f93(r31) -/* 8011033C 2C 1E 00 00 */ cmpwi r30, 0 -/* 80110340 41 82 00 30 */ beq lbl_80110370 -/* 80110344 38 60 00 48 */ li r3, 0x48 -/* 80110348 4B F8 7B 45 */ bl execItemGet__FUc -/* 8011034C 3B C0 00 F8 */ li r30, 0xf8 -/* 80110350 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80110354 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80110358 A0 04 00 06 */ lhz r0, 6(r4) -/* 8011035C 80 64 5D D4 */ lwz r3, 0x5dd4(r4) -/* 80110360 7C 00 00 D0 */ neg r0, r0 -/* 80110364 7C 03 02 14 */ add r0, r3, r0 -/* 80110368 90 04 5D D4 */ stw r0, 0x5dd4(r4) -/* 8011036C 48 00 00 30 */ b lbl_8011039C -lbl_80110370: -/* 80110370 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80110374 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80110378 A0 64 00 06 */ lhz r3, 6(r4) -/* 8011037C 80 04 5D D4 */ lwz r0, 0x5dd4(r4) -/* 80110380 7C 00 1A 14 */ add r0, r0, r3 -/* 80110384 90 04 5D D4 */ stw r0, 0x5dd4(r4) -/* 80110388 2C 1D 00 00 */ cmpwi r29, 0 -/* 8011038C 41 82 00 0C */ beq lbl_80110398 -/* 80110390 3B C0 00 9C */ li r30, 0x9c -/* 80110394 48 00 00 08 */ b lbl_8011039C -lbl_80110398: -/* 80110398 3B C0 00 6E */ li r30, 0x6e -lbl_8011039C: -/* 8011039C 7F E3 FB 78 */ mr r3, r31 -/* 801103A0 7F C4 F3 78 */ mr r4, r30 -/* 801103A4 48 00 A2 E5 */ bl setGetSubBgm__9daAlink_cFi -/* 801103A8 48 00 00 20 */ b lbl_801103C8 -lbl_801103AC: -/* 801103AC 7F E3 FB 78 */ mr r3, r31 -/* 801103B0 38 80 01 09 */ li r4, 0x109 -/* 801103B4 3C A0 80 39 */ lis r5, m__20daAlinkHIO_bottle_c0@ha /* 0x8038E90C@ha */ -/* 801103B8 38 A5 E9 0C */ addi r5, r5, m__20daAlinkHIO_bottle_c0@l /* 0x8038E90C@l */ -/* 801103BC 38 A5 00 78 */ addi r5, r5, 0x78 -/* 801103C0 4B F9 CD 35 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 801103C4 A3 DF 2F DC */ lhz r30, 0x2fdc(r31) -lbl_801103C8: -/* 801103C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801103CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801103D0 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 801103D4 64 00 04 00 */ oris r0, r0, 0x400 -/* 801103D8 60 00 10 00 */ ori r0, r0, 0x1000 -/* 801103DC 90 03 5F 1C */ stw r0, 0x5f1c(r3) -/* 801103E0 38 00 FF FF */ li r0, -1 -/* 801103E4 90 1F 28 F0 */ stw r0, 0x28f0(r31) -/* 801103E8 38 00 00 00 */ li r0, 0 -/* 801103EC 90 1F 31 94 */ stw r0, 0x3194(r31) -/* 801103F0 38 1E 00 65 */ addi r0, r30, 0x65 -/* 801103F4 90 1F 32 CC */ stw r0, 0x32cc(r31) -/* 801103F8 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 801103FC 28 00 00 48 */ cmplwi r0, 0x48 -/* 80110400 40 82 00 0C */ bne lbl_8011040C -/* 80110404 38 00 00 0C */ li r0, 0xc -/* 80110408 90 1F 31 94 */ stw r0, 0x3194(r31) -lbl_8011040C: -/* 8011040C A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 80110410 28 00 00 48 */ cmplwi r0, 0x48 -/* 80110414 40 82 00 0C */ bne lbl_80110420 -/* 80110418 7F E3 FB 78 */ mr r3, r31 -/* 8011041C 4B FA F0 C5 */ bl resetBasAnime__9daAlink_cFv -lbl_80110420: -/* 80110420 28 1F 00 00 */ cmplwi r31, 0 -/* 80110424 41 82 00 0C */ beq lbl_80110430 -/* 80110428 83 DF 00 04 */ lwz r30, 4(r31) -/* 8011042C 48 00 00 08 */ b lbl_80110434 -lbl_80110430: -/* 80110430 3B C0 FF FF */ li r30, -1 -lbl_80110434: -/* 80110434 48 07 12 0D */ bl dCam_getBody__Fv -/* 80110438 38 80 00 12 */ li r4, 0x12 -/* 8011043C 7F C5 F3 78 */ mr r5, r30 -/* 80110440 3C C0 80 39 */ lis r6, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 80110444 38 C6 20 94 */ addi r6, r6, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 80110448 38 C6 00 43 */ addi r6, r6, 0x43 -/* 8011044C 38 E0 00 01 */ li r7, 1 -/* 80110450 39 1F 31 94 */ addi r8, r31, 0x3194 -/* 80110454 39 20 00 00 */ li r9, 0 -/* 80110458 4C C6 31 82 */ crclr 6 -/* 8011045C 4B F7 86 21 */ bl StartEventCamera__9dCamera_cFiie -/* 80110460 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 80110464 28 00 00 73 */ cmplwi r0, 0x73 -/* 80110468 41 82 00 14 */ beq lbl_8011047C -/* 8011046C 28 00 00 77 */ cmplwi r0, 0x77 -/* 80110470 41 82 00 0C */ beq lbl_8011047C -/* 80110474 28 00 00 74 */ cmplwi r0, 0x74 -/* 80110478 40 82 00 2C */ bne lbl_801104A4 -lbl_8011047C: -/* 8011047C 7F E3 FB 78 */ mr r3, r31 -/* 80110480 38 80 00 48 */ li r4, 0x48 -/* 80110484 4B F9 F4 1D */ bl setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 80110488 7F E3 FB 78 */ mr r3, r31 -/* 8011048C 38 80 01 43 */ li r4, 0x143 -/* 80110490 38 A0 00 00 */ li r5, 0 -/* 80110494 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 80110498 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 8011049C 4B F9 F0 15 */ bl setFaceBck__9daAlink_cFUsiUs -/* 801104A0 48 00 00 24 */ b lbl_801104C4 -lbl_801104A4: -/* 801104A4 28 00 00 6A */ cmplwi r0, 0x6a -/* 801104A8 40 82 00 1C */ bne lbl_801104C4 -/* 801104AC 7F E3 FB 78 */ mr r3, r31 -/* 801104B0 38 80 01 46 */ li r4, 0x146 -/* 801104B4 38 A0 00 00 */ li r5, 0 -/* 801104B8 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 801104BC 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 801104C0 4B F9 EF F1 */ bl setFaceBck__9daAlink_cFUsiUs -lbl_801104C4: -/* 801104C4 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 801104C8 28 00 00 76 */ cmplwi r0, 0x76 -/* 801104CC 40 82 00 30 */ bne lbl_801104FC -/* 801104D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801104D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801104D8 3B C3 07 F0 */ addi r30, r3, 0x7f0 -/* 801104DC 7F C3 F3 78 */ mr r3, r30 -/* 801104E0 38 80 4A 40 */ li r4, 0x4a40 -/* 801104E4 4B F2 44 D9 */ bl isEventBit__11dSv_event_cCFUs -/* 801104E8 2C 03 00 00 */ cmpwi r3, 0 -/* 801104EC 41 82 00 10 */ beq lbl_801104FC -/* 801104F0 7F C3 F3 78 */ mr r3, r30 -/* 801104F4 38 80 4C 80 */ li r4, 0x4c80 -/* 801104F8 4B F2 44 95 */ bl onEventBit__11dSv_event_cFUs -lbl_801104FC: -/* 801104FC 38 60 00 01 */ li r3, 1 -/* 80110500 39 61 00 20 */ addi r11, r1, 0x20 -/* 80110504 48 25 1D 25 */ bl _restgpr_29 -/* 80110508 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8011050C 7C 08 03 A6 */ mtlr r0 -/* 80110510 38 21 00 20 */ addi r1, r1, 0x20 -/* 80110514 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBottleGet__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBottleGet__9daAlink_cFv.s deleted file mode 100644 index 0461233d52..0000000000 --- a/asm/d/a/d_a_alink/procBottleGet__9daAlink_cFv.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_80110518: -/* 80110518 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011051C 7C 08 02 A6 */ mflr r0 -/* 80110520 90 01 00 14 */ stw r0, 0x14(r1) -/* 80110524 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80110528 93 C1 00 08 */ stw r30, 8(r1) -/* 8011052C 7C 7E 1B 78 */ mr r30, r3 -/* 80110530 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 80110534 80 63 07 18 */ lwz r3, 0x718(r3) -/* 80110538 4B F9 8D 11 */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -/* 8011053C 7F E3 FB 78 */ mr r3, r31 -/* 80110540 48 04 DF 8D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 80110544 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80110548 41 82 00 48 */ beq lbl_80110590 -/* 8011054C 7F C3 F3 78 */ mr r3, r30 -/* 80110550 80 9E 32 CC */ lwz r4, 0x32cc(r30) -/* 80110554 48 00 82 61 */ bl checkEndMessage__9daAlink_cFUl -/* 80110558 2C 03 00 00 */ cmpwi r3, 0 -/* 8011055C 41 82 00 34 */ beq lbl_80110590 -/* 80110560 7F C3 F3 78 */ mr r3, r30 -/* 80110564 48 01 46 05 */ bl resetFairyEffect__9daAlink_cFv -/* 80110568 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 8011056C 28 00 00 48 */ cmplwi r0, 0x48 -/* 80110570 41 82 00 14 */ beq lbl_80110584 -/* 80110574 7F C3 F3 78 */ mr r3, r30 -/* 80110578 38 80 00 00 */ li r4, 0 -/* 8011057C 38 A0 00 00 */ li r5, 0 -/* 80110580 4B FB 0D 5D */ bl deleteEquipItem__9daAlink_cFii -lbl_80110584: -/* 80110584 7F C3 F3 78 */ mr r3, r30 -/* 80110588 48 00 77 09 */ bl resetSpecialEvent__9daAlink_cFv -/* 8011058C 48 00 00 80 */ b lbl_8011060C -lbl_80110590: -/* 80110590 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80110594 C0 02 93 60 */ lfs f0, lit_8369(r2) -/* 80110598 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8011059C 4C 41 13 82 */ cror 2, 1, 2 -/* 801105A0 40 82 00 10 */ bne lbl_801105B0 -/* 801105A4 38 00 00 FE */ li r0, 0xfe -/* 801105A8 98 1E 2F 93 */ stb r0, 0x2f93(r30) -/* 801105AC 48 00 00 60 */ b lbl_8011060C -lbl_801105B0: -/* 801105B0 C0 02 94 64 */ lfs f0, lit_14954(r2) -/* 801105B4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801105B8 4C 41 13 82 */ cror 2, 1, 2 -/* 801105BC 40 82 00 10 */ bne lbl_801105CC -/* 801105C0 38 00 00 00 */ li r0, 0 -/* 801105C4 B0 1E 30 1A */ sth r0, 0x301a(r30) -/* 801105C8 48 00 00 44 */ b lbl_8011060C -lbl_801105CC: -/* 801105CC C0 02 93 3C */ lfs f0, lit_7808(r2) -/* 801105D0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801105D4 4C 41 13 82 */ cror 2, 1, 2 -/* 801105D8 40 82 00 34 */ bne lbl_8011060C -/* 801105DC 80 7E 07 08 */ lwz r3, 0x708(r30) -/* 801105E0 80 63 00 04 */ lwz r3, 4(r3) -/* 801105E4 80 63 00 60 */ lwz r3, 0x60(r3) -/* 801105E8 80 63 00 00 */ lwz r3, 0(r3) -/* 801105EC 80 63 00 08 */ lwz r3, 8(r3) -/* 801105F0 80 03 00 0C */ lwz r0, 0xc(r3) -/* 801105F4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 801105F8 90 03 00 0C */ stw r0, 0xc(r3) -/* 801105FC 38 00 00 05 */ li r0, 5 -/* 80110600 98 1E 2F 93 */ stb r0, 0x2f93(r30) -/* 80110604 38 00 00 01 */ li r0, 1 -/* 80110608 B0 1E 30 1A */ sth r0, 0x301a(r30) -lbl_8011060C: -/* 8011060C 7F E3 FB 78 */ mr r3, r31 -/* 80110610 C0 22 93 7C */ lfs f1, lit_8779(r2) -/* 80110614 48 21 7E 19 */ bl checkPass__12J3DFrameCtrlFf -/* 80110618 2C 03 00 00 */ cmpwi r3, 0 -/* 8011061C 41 82 00 10 */ beq lbl_8011062C -/* 80110620 7F C3 F3 78 */ mr r3, r30 -/* 80110624 A0 9E 2F DC */ lhz r4, 0x2fdc(r30) -/* 80110628 48 00 A0 61 */ bl setGetSubBgm__9daAlink_cFi -lbl_8011062C: -/* 8011062C 38 60 00 01 */ li r3, 1 -/* 80110630 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80110634 83 C1 00 08 */ lwz r30, 8(r1) -/* 80110638 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011063C 7C 08 03 A6 */ mtlr r0 -/* 80110640 38 21 00 10 */ addi r1, r1, 0x10 -/* 80110644 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBowMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBowMoveInit__9daAlink_cFv.s deleted file mode 100644 index f0bf33c2f8..0000000000 --- a/asm/d/a/d_a_alink/procBowMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_800DFE3C: -/* 800DFE3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DFE40 7C 08 02 A6 */ mflr r0 -/* 800DFE44 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DFE48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFE4C 7C 7F 1B 78 */ mr r31, r3 -/* 800DFE50 38 80 00 5F */ li r4, 0x5f -/* 800DFE54 4B FE 2F 51 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DFE58 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFE5C 40 82 00 0C */ bne lbl_800DFE68 -/* 800DFE60 38 60 00 00 */ li r3, 0 -/* 800DFE64 48 00 00 48 */ b lbl_800DFEAC -lbl_800DFE68: -/* 800DFE68 7F E3 FB 78 */ mr r3, r31 -/* 800DFE6C 4B FD 3A 99 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800DFE70 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DFE74 41 82 00 10 */ beq lbl_800DFE84 -/* 800DFE78 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DFE7C 60 00 00 01 */ ori r0, r0, 1 -/* 800DFE80 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800DFE84: -/* 800DFE84 7F E3 FB 78 */ mr r3, r31 -/* 800DFE88 3C 80 80 39 */ lis r4, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DFE8C 38 84 E6 58 */ addi r4, r4, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DFE90 C0 24 00 30 */ lfs f1, 0x30(r4) -/* 800DFE94 4B FC EB DD */ bl setBlendAtnMoveAnime__9daAlink_cFf -/* 800DFE98 38 00 00 00 */ li r0, 0 -/* 800DFE9C B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800DFEA0 7F E3 FB 78 */ mr r3, r31 -/* 800DFEA4 4B FF EC E9 */ bl setBowOrSlingStatus__9daAlink_cFv -/* 800DFEA8 38 60 00 01 */ li r3, 1 -lbl_800DFEAC: -/* 800DFEAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFEB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DFEB4 7C 08 03 A6 */ mtlr r0 -/* 800DFEB8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DFEBC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s deleted file mode 100644 index 43127572ab..0000000000 --- a/asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_800DFEC0: -/* 800DFEC0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DFEC4 7C 08 02 A6 */ mflr r0 -/* 800DFEC8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DFECC DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800DFED0 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800DFED4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFED8 7C 7F 1B 78 */ mr r31, r3 -/* 800DFEDC 4B FF EF 41 */ bl cancelBowMove__9daAlink_cFv -/* 800DFEE0 A8 1F 30 8E */ lha r0, 0x308e(r31) -/* 800DFEE4 2C 00 00 00 */ cmpwi r0, 0 -/* 800DFEE8 40 82 00 3C */ bne lbl_800DFF24 -/* 800DFEEC A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800DFEF0 2C 00 00 00 */ cmpwi r0, 0 -/* 800DFEF4 41 82 00 30 */ beq lbl_800DFF24 -/* 800DFEF8 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800DFEFC 28 00 00 0D */ cmplwi r0, 0xd -/* 800DFF00 40 82 00 24 */ bne lbl_800DFF24 -/* 800DFF04 7F E3 FB 78 */ mr r3, r31 -/* 800DFF08 4B FD 26 FD */ bl itemButton__9daAlink_cFv -/* 800DFF0C 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFF10 40 82 00 14 */ bne lbl_800DFF24 -/* 800DFF14 7F E3 FB 78 */ mr r3, r31 -/* 800DFF18 38 80 00 02 */ li r4, 2 -/* 800DFF1C C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800DFF20 4B FC D8 05 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -lbl_800DFF24: -/* 800DFF24 38 00 00 01 */ li r0, 1 -/* 800DFF28 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800DFF2C 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800DFF30 64 00 08 00 */ oris r0, r0, 0x800 -/* 800DFF34 90 1F 05 88 */ stw r0, 0x588(r31) -/* 800DFF38 7F E3 FB 78 */ mr r3, r31 -/* 800DFF3C 38 80 00 00 */ li r4, 0 -/* 800DFF40 4B FD A1 91 */ bl checkNextAction__9daAlink_cFi -/* 800DFF44 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFF48 40 82 00 78 */ bne lbl_800DFFC0 -/* 800DFF4C C3 E2 92 BC */ lfs f31, lit_6041(r2) -/* 800DFF50 7F E3 FB 78 */ mr r3, r31 -/* 800DFF54 4B FD 39 B1 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800DFF58 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DFF5C 41 82 00 40 */ beq lbl_800DFF9C -/* 800DFF60 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DFF64 60 00 00 01 */ ori r0, r0, 1 -/* 800DFF68 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800DFF6C 88 1F 2F 98 */ lbz r0, 0x2f98(r31) -/* 800DFF70 28 00 00 03 */ cmplwi r0, 3 -/* 800DFF74 41 82 00 18 */ beq lbl_800DFF8C -/* 800DFF78 38 00 00 03 */ li r0, 3 -/* 800DFF7C 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800DFF80 3C 60 80 39 */ lis r3, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800DFF84 38 63 D6 64 */ addi r3, r3, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800DFF88 C3 E3 00 18 */ lfs f31, 0x18(r3) -lbl_800DFF8C: -/* 800DFF8C A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800DFF90 38 03 C0 00 */ addi r0, r3, -16384 -/* 800DFF94 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800DFF98 48 00 00 10 */ b lbl_800DFFA8 -lbl_800DFF9C: -/* 800DFF9C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DFFA0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800DFFA4 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800DFFA8: -/* 800DFFA8 7F E3 FB 78 */ mr r3, r31 -/* 800DFFAC FC 20 F8 90 */ fmr f1, f31 -/* 800DFFB0 4B FC EA C1 */ bl setBlendAtnMoveAnime__9daAlink_cFf -/* 800DFFB4 7F E3 FB 78 */ mr r3, r31 -/* 800DFFB8 38 80 00 00 */ li r4, 0 -/* 800DFFBC 4B FD B2 F5 */ bl setBodyAngleXReadyAnime__9daAlink_cFi -lbl_800DFFC0: -/* 800DFFC0 38 60 00 01 */ li r3, 1 -/* 800DFFC4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800DFFC8 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800DFFCC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFFD0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DFFD4 7C 08 03 A6 */ mtlr r0 -/* 800DFFD8 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DFFDC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBowSubjectInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBowSubjectInit__9daAlink_cFv.s deleted file mode 100644 index f306a1b316..0000000000 --- a/asm/d/a/d_a_alink/procBowSubjectInit__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800DFD6C: -/* 800DFD6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DFD70 7C 08 02 A6 */ mflr r0 -/* 800DFD74 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DFD78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFD7C 7C 7F 1B 78 */ mr r31, r3 -/* 800DFD80 38 80 00 5E */ li r4, 0x5e -/* 800DFD84 4B FE 30 21 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DFD88 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFD8C 40 82 00 0C */ bne lbl_800DFD98 -/* 800DFD90 38 60 00 00 */ li r3, 0 -/* 800DFD94 48 00 00 34 */ b lbl_800DFDC8 -lbl_800DFD98: -/* 800DFD98 7F E3 FB 78 */ mr r3, r31 -/* 800DFD9C 38 80 00 11 */ li r4, 0x11 -/* 800DFDA0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800DFDA4 3C A0 80 39 */ lis r5, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DFDA8 38 A5 E6 58 */ addi r5, r5, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DFDAC C0 45 00 30 */ lfs f2, 0x30(r5) -/* 800DFDB0 4B FC D2 31 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800DFDB4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800DFDB8 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800DFDBC 7F E3 FB 78 */ mr r3, r31 -/* 800DFDC0 4B FF ED CD */ bl setBowOrSlingStatus__9daAlink_cFv -/* 800DFDC4 38 60 00 01 */ li r3, 1 -lbl_800DFDC8: -/* 800DFDC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFDCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DFDD0 7C 08 03 A6 */ mtlr r0 -/* 800DFDD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DFDD8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procBowSubject__9daAlink_cFv.s b/asm/d/a/d_a_alink/procBowSubject__9daAlink_cFv.s deleted file mode 100644 index 56d4df778f..0000000000 --- a/asm/d/a/d_a_alink/procBowSubject__9daAlink_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800DFDDC: -/* 800DFDDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DFDE0 7C 08 02 A6 */ mflr r0 -/* 800DFDE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DFDE8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFDEC 7C 7F 1B 78 */ mr r31, r3 -/* 800DFDF0 38 80 00 12 */ li r4, 0x12 -/* 800DFDF4 4B FD 34 5D */ bl setDoStatus__9daAlink_cFUc -/* 800DFDF8 7F E3 FB 78 */ mr r3, r31 -/* 800DFDFC 38 80 00 00 */ li r4, 0 -/* 800DFE00 4B FD A2 D1 */ bl checkNextAction__9daAlink_cFi -/* 800DFE04 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFE08 40 82 00 1C */ bne lbl_800DFE24 -/* 800DFE0C 7F E3 FB 78 */ mr r3, r31 -/* 800DFE10 4B FE EA 91 */ bl setBodyAngleToCamera__9daAlink_cFv -/* 800DFE14 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFE18 41 82 00 0C */ beq lbl_800DFE24 -/* 800DFE1C 7F E3 FB 78 */ mr r3, r31 -/* 800DFE20 4B FF FE B9 */ bl setBowSight__9daAlink_cFv -lbl_800DFE24: -/* 800DFE24 38 60 00 01 */ li r3, 1 -/* 800DFE28 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFE2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DFE30 7C 08 03 A6 */ mtlr r0 -/* 800DFE34 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DFE38 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 11f7e61582..0000000000 --- a/asm/d/a/d_a_alink/procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_800F4C78: -/* 800F4C78 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800F4C7C 7C 08 02 A6 */ mflr r0 -/* 800F4C80 90 01 00 24 */ stw r0, 0x24(r1) -/* 800F4C84 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F4C88 48 26 D5 55 */ bl _savegpr_29 -/* 800F4C8C 7C 7D 1B 78 */ mr r29, r3 -/* 800F4C90 7C 9E 23 78 */ mr r30, r4 -/* 800F4C94 38 80 00 8D */ li r4, 0x8d -/* 800F4C98 4B FC D2 D5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800F4C9C 28 1E 00 00 */ cmplwi r30, 0 -/* 800F4CA0 40 82 00 20 */ bne lbl_800F4CC0 -/* 800F4CA4 3C 60 80 0F */ lis r3, daAlink_searchCanoe__FP10fopAc_ac_cPv@ha /* 0x800F3CD8@ha */ -/* 800F4CA8 38 63 3C D8 */ addi r3, r3, daAlink_searchCanoe__FP10fopAc_ac_cPv@l /* 0x800F3CD8@l */ -/* 800F4CAC 38 80 00 00 */ li r4, 0 -/* 800F4CB0 4B F2 4B 49 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 800F4CB4 7C 7E 1B 78 */ mr r30, r3 -/* 800F4CB8 3B E0 00 01 */ li r31, 1 -/* 800F4CBC 48 00 00 08 */ b lbl_800F4CC4 -lbl_800F4CC0: -/* 800F4CC0 3B E0 00 00 */ li r31, 0 -lbl_800F4CC4: -/* 800F4CC4 7F A3 EB 78 */ mr r3, r29 -/* 800F4CC8 38 80 00 00 */ li r4, 0 -/* 800F4CCC 4B FE D8 B5 */ bl setHeavyBoots__9daAlink_cFi -/* 800F4CD0 7F A3 EB 78 */ mr r3, r29 -/* 800F4CD4 38 80 00 33 */ li r4, 0x33 -/* 800F4CD8 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800F4CDC 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800F4CE0 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800F4CE4 4B FB 84 11 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800F4CE8 7F A3 EB 78 */ mr r3, r29 -/* 800F4CEC 38 80 00 00 */ li r4, 0 -/* 800F4CF0 38 A0 00 00 */ li r5, 0 -/* 800F4CF4 4B FC C5 E9 */ bl deleteEquipItem__9daAlink_cFii -/* 800F4CF8 38 7D 28 14 */ addi r3, r29, 0x2814 -/* 800F4CFC 7F C4 F3 78 */ mr r4, r30 -/* 800F4D00 48 06 9F B9 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 800F4D04 7F A3 EB 78 */ mr r3, r29 -/* 800F4D08 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800F4D0C C0 5D 05 34 */ lfs f2, 0x534(r29) -/* 800F4D10 38 80 00 00 */ li r4, 0 -/* 800F4D14 4B FC 6A 5D */ bl setSpecialGravity__9daAlink_cFffi -/* 800F4D18 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800F4D1C D0 1D 33 98 */ stfs f0, 0x3398(r29) -/* 800F4D20 D0 1D 04 FC */ stfs f0, 0x4fc(r29) -/* 800F4D24 7F A3 EB 78 */ mr r3, r29 -/* 800F4D28 7F C4 F3 78 */ mr r4, r30 -/* 800F4D2C 4B FF F8 39 */ bl setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c -/* 800F4D30 80 7E 05 70 */ lwz r3, 0x570(r30) -/* 800F4D34 38 63 00 24 */ addi r3, r3, 0x24 -/* 800F4D38 38 9D 37 C8 */ addi r4, r29, 0x37c8 -/* 800F4D3C 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 800F4D40 48 25 20 2D */ bl PSMTXMultVec -/* 800F4D44 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800F4D48 B0 1D 04 DE */ sth r0, 0x4de(r29) -/* 800F4D4C 7F A3 EB 78 */ mr r3, r29 -/* 800F4D50 4B FF F2 75 */ bl initCanoeRide__9daAlink_cFv -/* 800F4D54 2C 1F 00 00 */ cmpwi r31, 0 -/* 800F4D58 41 82 00 10 */ beq lbl_800F4D68 -/* 800F4D5C 7F A3 EB 78 */ mr r3, r29 -/* 800F4D60 38 80 00 02 */ li r4, 2 -/* 800F4D64 48 00 04 81 */ bl procCanoeWaitInit__9daAlink_cFi -lbl_800F4D68: -/* 800F4D68 38 60 00 01 */ li r3, 1 -/* 800F4D6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F4D70 48 26 D4 B9 */ bl _restgpr_29 -/* 800F4D74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800F4D78 7C 08 03 A6 */ mtlr r0 -/* 800F4D7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800F4D80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCanoeJumpRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCanoeJumpRide__9daAlink_cFv.s deleted file mode 100644 index 093649d78d..0000000000 --- a/asm/d/a/d_a_alink/procCanoeJumpRide__9daAlink_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_800F4D84: -/* 800F4D84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F4D88 7C 08 02 A6 */ mflr r0 -/* 800F4D8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F4D90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F4D94 7C 7F 1B 78 */ mr r31, r3 -/* 800F4D98 80 83 28 18 */ lwz r4, 0x2818(r3) -/* 800F4D9C 28 04 00 00 */ cmplwi r4, 0 -/* 800F4DA0 40 82 00 10 */ bne lbl_800F4DB0 -/* 800F4DA4 38 80 00 00 */ li r4, 0 -/* 800F4DA8 4B FC 53 29 */ bl checkNextAction__9daAlink_cFi -/* 800F4DAC 48 00 00 38 */ b lbl_800F4DE4 -lbl_800F4DB0: -/* 800F4DB0 80 64 05 70 */ lwz r3, 0x570(r4) -/* 800F4DB4 38 63 00 24 */ addi r3, r3, 0x24 -/* 800F4DB8 38 9F 37 C8 */ addi r4, r31, 0x37c8 -/* 800F4DBC 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 800F4DC0 48 25 1F AD */ bl PSMTXMultVec -/* 800F4DC4 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800F4DC8 48 06 97 05 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800F4DCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800F4DD0 41 82 00 10 */ beq lbl_800F4DE0 -/* 800F4DD4 7F E3 FB 78 */ mr r3, r31 -/* 800F4DD8 38 80 00 01 */ li r4, 1 -/* 800F4DDC 48 00 04 09 */ bl procCanoeWaitInit__9daAlink_cFi -lbl_800F4DE0: -/* 800F4DE0 38 60 00 01 */ li r3, 1 -lbl_800F4DE4: -/* 800F4DE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F4DE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F4DEC 7C 08 03 A6 */ mtlr r0 -/* 800F4DF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F4DF4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCanoeRideInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCanoeRideInit__9daAlink_cFv.s deleted file mode 100644 index 004c34e5ce..0000000000 --- a/asm/d/a/d_a_alink/procCanoeRideInit__9daAlink_cFv.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_800F4A50: -/* 800F4A50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F4A54 7C 08 02 A6 */ mflr r0 -/* 800F4A58 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F4A5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F4A60 93 C1 00 08 */ stw r30, 8(r1) -/* 800F4A64 7C 7E 1B 78 */ mr r30, r3 -/* 800F4A68 38 80 00 8C */ li r4, 0x8c -/* 800F4A6C 4B FC D5 01 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800F4A70 7F C3 F3 78 */ mr r3, r30 -/* 800F4A74 38 80 00 00 */ li r4, 0 -/* 800F4A78 4B FE DB 09 */ bl setHeavyBoots__9daAlink_cFi -/* 800F4A7C 38 7E 28 14 */ addi r3, r30, 0x2814 -/* 800F4A80 80 9E 27 F4 */ lwz r4, 0x27f4(r30) -/* 800F4A84 48 06 A2 35 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 800F4A88 7F C3 F3 78 */ mr r3, r30 -/* 800F4A8C 38 80 00 00 */ li r4, 0 -/* 800F4A90 38 A0 00 00 */ li r5, 0 -/* 800F4A94 4B FC C8 49 */ bl deleteEquipItem__9daAlink_cFii -/* 800F4A98 83 FE 27 F4 */ lwz r31, 0x27f4(r30) -/* 800F4A9C 7F C3 F3 78 */ mr r3, r30 -/* 800F4AA0 38 80 00 94 */ li r4, 0x94 -/* 800F4AA4 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wallCatch_c0@ha /* 0x8038E164@ha */ -/* 800F4AA8 38 C5 E1 64 */ addi r6, r5, m__23daAlinkHIO_wallCatch_c0@l /* 0x8038E164@l */ -/* 800F4AAC C0 26 00 2C */ lfs f1, 0x2c(r6) -/* 800F4AB0 C0 46 00 50 */ lfs f2, 0x50(r6) -/* 800F4AB4 A8 A6 00 28 */ lha r5, 0x28(r6) -/* 800F4AB8 C0 66 00 34 */ lfs f3, 0x34(r6) -/* 800F4ABC 4B FB 85 51 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800F4AC0 7F C3 F3 78 */ mr r3, r30 -/* 800F4AC4 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800F4AC8 C0 5E 05 34 */ lfs f2, 0x534(r30) -/* 800F4ACC 38 80 00 00 */ li r4, 0 -/* 800F4AD0 4B FC 6C A1 */ bl setSpecialGravity__9daAlink_cFffi -/* 800F4AD4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800F4AD8 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800F4ADC D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800F4AE0 7F C3 F3 78 */ mr r3, r30 -/* 800F4AE4 7F E4 FB 78 */ mr r4, r31 -/* 800F4AE8 4B FF FA 7D */ bl setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c -/* 800F4AEC 7F E3 FB 78 */ mr r3, r31 -/* 800F4AF0 7F C4 F3 78 */ mr r4, r30 -/* 800F4AF4 4B F2 5C 1D */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 800F4AF8 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 800F4AFC 7C 04 18 50 */ subf r0, r4, r3 -/* 800F4B00 7C 00 07 35 */ extsh. r0, r0 -/* 800F4B04 40 81 00 20 */ ble lbl_800F4B24 -/* 800F4B08 38 04 C0 00 */ addi r0, r4, -16384 -/* 800F4B0C B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 800F4B10 38 00 00 00 */ li r0, 0 -/* 800F4B14 B0 1E 30 08 */ sth r0, 0x3008(r30) -/* 800F4B18 C0 02 95 1C */ lfs f0, lit_20991(r2) -/* 800F4B1C D0 1E 37 C8 */ stfs f0, 0x37c8(r30) -/* 800F4B20 48 00 00 1C */ b lbl_800F4B3C -lbl_800F4B24: -/* 800F4B24 38 04 40 00 */ addi r0, r4, 0x4000 -/* 800F4B28 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 800F4B2C 38 00 00 01 */ li r0, 1 -/* 800F4B30 B0 1E 30 08 */ sth r0, 0x3008(r30) -/* 800F4B34 C0 02 95 20 */ lfs f0, lit_20992(r2) -/* 800F4B38 D0 1E 37 C8 */ stfs f0, 0x37c8(r30) -lbl_800F4B3C: -/* 800F4B3C 80 7F 05 70 */ lwz r3, 0x570(r31) -/* 800F4B40 38 63 00 24 */ addi r3, r3, 0x24 -/* 800F4B44 38 9E 37 C8 */ addi r4, r30, 0x37c8 -/* 800F4B48 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 800F4B4C 48 25 22 21 */ bl PSMTXMultVec -/* 800F4B50 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800F4B54 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800F4B58 7F C3 F3 78 */ mr r3, r30 -/* 800F4B5C 4B FF F4 69 */ bl initCanoeRide__9daAlink_cFv -/* 800F4B60 38 00 00 80 */ li r0, 0x80 -/* 800F4B64 B0 1E 30 0E */ sth r0, 0x300e(r30) -/* 800F4B68 7F C3 F3 78 */ mr r3, r30 -/* 800F4B6C 38 80 00 01 */ li r4, 1 -/* 800F4B70 48 00 E7 59 */ bl swimOutAfter__9daAlink_cFi -/* 800F4B74 38 60 00 01 */ li r3, 1 -/* 800F4B78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F4B7C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800F4B80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F4B84 7C 08 03 A6 */ mtlr r0 -/* 800F4B88 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F4B8C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCanoeRide__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCanoeRide__9daAlink_cFv.s deleted file mode 100644 index 4bf39ff591..0000000000 --- a/asm/d/a/d_a_alink/procCanoeRide__9daAlink_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_800F4B90: -/* 800F4B90 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800F4B94 7C 08 02 A6 */ mflr r0 -/* 800F4B98 90 01 00 24 */ stw r0, 0x24(r1) -/* 800F4B9C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F4BA0 48 26 D6 3D */ bl _savegpr_29 -/* 800F4BA4 7C 7D 1B 78 */ mr r29, r3 -/* 800F4BA8 83 E3 28 18 */ lwz r31, 0x2818(r3) -/* 800F4BAC 28 1F 00 00 */ cmplwi r31, 0 -/* 800F4BB0 40 82 00 10 */ bne lbl_800F4BC0 -/* 800F4BB4 38 80 00 00 */ li r4, 0 -/* 800F4BB8 4B FC 55 19 */ bl checkNextAction__9daAlink_cFi -/* 800F4BBC 48 00 00 A4 */ b lbl_800F4C60 -lbl_800F4BC0: -/* 800F4BC0 80 7F 05 70 */ lwz r3, 0x570(r31) -/* 800F4BC4 38 63 00 24 */ addi r3, r3, 0x24 -/* 800F4BC8 38 9D 37 C8 */ addi r4, r29, 0x37c8 -/* 800F4BCC 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 800F4BD0 48 25 21 9D */ bl PSMTXMultVec -/* 800F4BD4 3B DD 1F D0 */ addi r30, r29, 0x1fd0 -/* 800F4BD8 7F C3 F3 78 */ mr r3, r30 -/* 800F4BDC 48 06 98 F1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800F4BE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800F4BE4 41 82 00 14 */ beq lbl_800F4BF8 -/* 800F4BE8 7F A3 EB 78 */ mr r3, r29 -/* 800F4BEC 38 80 00 01 */ li r4, 1 -/* 800F4BF0 48 00 05 F5 */ bl procCanoeWaitInit__9daAlink_cFi -/* 800F4BF4 48 00 00 68 */ b lbl_800F4C5C -lbl_800F4BF8: -/* 800F4BF8 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 800F4BFC C0 02 93 34 */ lfs f0, lit_7710(r2) -/* 800F4C00 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800F4C04 40 80 00 58 */ bge lbl_800F4C5C -/* 800F4C08 A8 7D 30 0E */ lha r3, 0x300e(r29) -/* 800F4C0C 38 03 01 80 */ addi r0, r3, 0x180 -/* 800F4C10 B0 1D 30 0E */ sth r0, 0x300e(r29) -/* 800F4C14 A8 1D 30 08 */ lha r0, 0x3008(r29) -/* 800F4C18 2C 00 00 00 */ cmpwi r0, 0 -/* 800F4C1C 40 82 00 20 */ bne lbl_800F4C3C -/* 800F4C20 A8 7F 04 E8 */ lha r3, 0x4e8(r31) -/* 800F4C24 A8 1D 30 0E */ lha r0, 0x300e(r29) -/* 800F4C28 7C 00 00 D0 */ neg r0, r0 -/* 800F4C2C 7C 00 07 34 */ extsh r0, r0 -/* 800F4C30 7C 03 02 14 */ add r0, r3, r0 -/* 800F4C34 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -/* 800F4C38 48 00 00 14 */ b lbl_800F4C4C -lbl_800F4C3C: -/* 800F4C3C A8 7F 04 E8 */ lha r3, 0x4e8(r31) -/* 800F4C40 A8 1D 30 0E */ lha r0, 0x300e(r29) -/* 800F4C44 7C 03 02 14 */ add r0, r3, r0 -/* 800F4C48 B0 1F 04 E8 */ sth r0, 0x4e8(r31) -lbl_800F4C4C: -/* 800F4C4C C0 3F 14 6C */ lfs f1, 0x146c(r31) -/* 800F4C50 C0 02 95 24 */ lfs f0, lit_21021(r2) -/* 800F4C54 EC 01 00 2A */ fadds f0, f1, f0 -/* 800F4C58 D0 1F 14 6C */ stfs f0, 0x146c(r31) -lbl_800F4C5C: -/* 800F4C5C 38 60 00 01 */ li r3, 1 -lbl_800F4C60: -/* 800F4C60 39 61 00 20 */ addi r11, r1, 0x20 -/* 800F4C64 48 26 D5 C5 */ bl _restgpr_29 -/* 800F4C68 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800F4C6C 7C 08 03 A6 */ mtlr r0 -/* 800F4C70 38 21 00 20 */ addi r1, r1, 0x20 -/* 800F4C74 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoHorseCallWaitInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procCoHorseCallWaitInit__9daAlink_cFi.s deleted file mode 100644 index 2f1b1737a5..0000000000 --- a/asm/d/a/d_a_alink/procCoHorseCallWaitInit__9daAlink_cFi.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_80111FF0: -/* 80111FF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80111FF4 7C 08 02 A6 */ mflr r0 -/* 80111FF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80111FFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80112000 93 C1 00 08 */ stw r30, 8(r1) -/* 80112004 7C 7E 1B 78 */ mr r30, r3 -/* 80112008 7C 9F 23 78 */ mr r31, r4 -/* 8011200C 38 80 01 5E */ li r4, 0x15e -/* 80112010 4B FA FF 5D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80112014 2C 1F 00 04 */ cmpwi r31, 4 -/* 80112018 40 82 00 10 */ bne lbl_80112028 -/* 8011201C 38 00 00 02 */ li r0, 2 -/* 80112020 B0 1E 30 10 */ sth r0, 0x3010(r30) -/* 80112024 48 00 00 20 */ b lbl_80112044 -lbl_80112028: -/* 80112028 2C 1F 00 01 */ cmpwi r31, 1 -/* 8011202C 40 82 00 10 */ bne lbl_8011203C -/* 80112030 38 00 00 3D */ li r0, 0x3d -/* 80112034 B0 1E 30 10 */ sth r0, 0x3010(r30) -/* 80112038 48 00 00 0C */ b lbl_80112044 -lbl_8011203C: -/* 8011203C 38 00 00 10 */ li r0, 0x10 -/* 80112040 B0 1E 30 10 */ sth r0, 0x3010(r30) -lbl_80112044: -/* 80112044 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 80112048 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8011204C 41 82 00 24 */ beq lbl_80112070 -/* 80112050 7F C3 F3 78 */ mr r3, r30 -/* 80112054 38 80 00 00 */ li r4, 0 -/* 80112058 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8011205C 38 A5 EE 28 */ addi r5, r5, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 80112060 C0 25 00 70 */ lfs f1, 0x70(r5) -/* 80112064 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 80112068 48 01 76 71 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 8011206C 48 00 00 20 */ b lbl_8011208C -lbl_80112070: -/* 80112070 7F C3 F3 78 */ mr r3, r30 -/* 80112074 38 80 00 19 */ li r4, 0x19 -/* 80112078 3C A0 80 39 */ lis r5, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 8011207C 38 A5 D6 BC */ addi r5, r5, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 80112080 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 80112084 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 80112088 4B F9 AF 59 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_8011208C: -/* 8011208C 7F C3 F3 78 */ mr r3, r30 -/* 80112090 38 80 00 00 */ li r4, 0 -/* 80112094 4B FA 12 05 */ bl setBStatus__9daAlink_cFUc -/* 80112098 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011209C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801120A0 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 801120A4 64 00 04 00 */ oris r0, r0, 0x400 -/* 801120A8 90 03 5F 1C */ stw r0, 0x5f1c(r3) -/* 801120AC 38 60 00 01 */ li r3, 1 -/* 801120B0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801120B4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801120B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801120BC 7C 08 03 A6 */ mtlr r0 -/* 801120C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801120C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoLargeDamageWall__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoLargeDamageWall__9daAlink_cFv.s deleted file mode 100644 index 0f61822279..0000000000 --- a/asm/d/a/d_a_alink/procCoLargeDamageWall__9daAlink_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800DAC28: -/* 800DAC28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DAC2C 7C 08 02 A6 */ mflr r0 -/* 800DAC30 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DAC34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DAC38 7C 7F 1B 78 */ mr r31, r3 -/* 800DAC3C 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800DAC40 48 08 38 8D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DAC44 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DAC48 41 82 00 24 */ beq lbl_800DAC6C -/* 800DAC4C 7F E3 FB 78 */ mr r3, r31 -/* 800DAC50 80 9F 31 98 */ lwz r4, 0x3198(r31) -/* 800DAC54 A8 BF 30 08 */ lha r5, 0x3008(r31) -/* 800DAC58 A8 DF 30 80 */ lha r6, 0x3080(r31) -/* 800DAC5C A8 FF 30 82 */ lha r7, 0x3082(r31) -/* 800DAC60 39 00 00 00 */ li r8, 0 -/* 800DAC64 39 20 00 00 */ li r9, 0 -/* 800DAC68 4B FF EA 75 */ bl procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi -lbl_800DAC6C: -/* 800DAC6C 38 60 00 01 */ li r3, 1 -/* 800DAC70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DAC74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DAC78 7C 08 03 A6 */ mtlr r0 -/* 800DAC7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DAC80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoLavaReturn__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoLavaReturn__9daAlink_cFv.s deleted file mode 100644 index 7109fa3bff..0000000000 --- a/asm/d/a/d_a_alink/procCoLavaReturn__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800DC214: -/* 800DC214 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DC218 7C 08 02 A6 */ mflr r0 -/* 800DC21C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DC220 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DC224 7C 7F 1B 78 */ mr r31, r3 -/* 800DC228 38 7F 2B A8 */ addi r3, r31, 0x2ba8 -/* 800DC22C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800DC230 C0 42 93 44 */ lfs f2, lit_7977(r2) -/* 800DC234 48 19 45 0D */ bl cLib_chaseF__FPfff -/* 800DC238 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800DC23C 48 08 22 91 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DC240 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DC244 41 82 00 1C */ beq lbl_800DC260 -/* 800DC248 7F E3 FB 78 */ mr r3, r31 -/* 800DC24C 80 9F 32 CC */ lwz r4, 0x32cc(r31) -/* 800DC250 38 A0 00 C9 */ li r5, 0xc9 -/* 800DC254 80 DF 31 98 */ lwz r6, 0x3198(r31) -/* 800DC258 38 E0 00 01 */ li r7, 1 -/* 800DC25C 4B FE 1D 05 */ bl startRestartRoom__9daAlink_cFUliii -lbl_800DC260: -/* 800DC260 38 60 00 01 */ li r3, 1 -/* 800DC264 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DC268 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DC26C 7C 08 03 A6 */ mtlr r0 -/* 800DC270 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DC274 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoMetamorphoseOnlyInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoMetamorphoseOnlyInit__9daAlink_cFv.s deleted file mode 100644 index 779e6fd2ee..0000000000 --- a/asm/d/a/d_a_alink/procCoMetamorphoseOnlyInit__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_800C82E8: -/* 800C82E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C82EC 7C 08 02 A6 */ mflr r0 -/* 800C82F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C82F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C82F8 7C 7F 1B 78 */ mr r31, r3 -/* 800C82FC 38 80 01 4E */ li r4, 0x14e -/* 800C8300 4B FF AA A5 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C8304 2C 03 00 00 */ cmpwi r3, 0 -/* 800C8308 40 82 00 0C */ bne lbl_800C8314 -/* 800C830C 38 60 00 01 */ li r3, 1 -/* 800C8310 48 00 00 7C */ b lbl_800C838C -lbl_800C8314: -/* 800C8314 7F E3 FB 78 */ mr r3, r31 -/* 800C8318 38 80 00 00 */ li r4, 0 -/* 800C831C 38 A0 00 01 */ li r5, 1 -/* 800C8320 4B FF 8F BD */ bl deleteEquipItem__9daAlink_cFii -/* 800C8324 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800C8328 54 03 01 8D */ rlwinm. r3, r0, 0, 6, 6 -/* 800C832C 41 82 00 10 */ beq lbl_800C833C -/* 800C8330 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800C8334 28 00 00 46 */ cmplwi r0, 0x46 -/* 800C8338 41 82 00 18 */ beq lbl_800C8350 -lbl_800C833C: -/* 800C833C 28 03 00 00 */ cmplwi r3, 0 -/* 800C8340 40 82 00 20 */ bne lbl_800C8360 -/* 800C8344 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800C8348 28 00 00 47 */ cmplwi r0, 0x47 -/* 800C834C 40 82 00 14 */ bne lbl_800C8360 -lbl_800C8350: -/* 800C8350 38 00 00 01 */ li r0, 1 -/* 800C8354 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C8358 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800C835C 48 00 00 10 */ b lbl_800C836C -lbl_800C8360: -/* 800C8360 38 00 00 00 */ li r0, 0 -/* 800C8364 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C8368 B0 1F 30 0E */ sth r0, 0x300e(r31) -lbl_800C836C: -/* 800C836C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C8370 D0 3F 33 98 */ stfs f1, 0x3398(r31) -/* 800C8374 D0 3F 04 FC */ stfs f1, 0x4fc(r31) -/* 800C8378 7F E3 FB 78 */ mr r3, r31 -/* 800C837C C0 5F 05 34 */ lfs f2, 0x534(r31) -/* 800C8380 38 80 00 00 */ li r4, 0 -/* 800C8384 4B FF 33 ED */ bl setSpecialGravity__9daAlink_cFffi -/* 800C8388 38 60 00 01 */ li r3, 1 -lbl_800C838C: -/* 800C838C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C8390 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C8394 7C 08 03 A6 */ mtlr r0 -/* 800C8398 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C839C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoMetamorphoseOnly__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoMetamorphoseOnly__9daAlink_cFv.s deleted file mode 100644 index 85454cfc63..0000000000 --- a/asm/d/a/d_a_alink/procCoMetamorphoseOnly__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_800C83A0: -/* 800C83A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C83A4 7C 08 02 A6 */ mflr r0 -/* 800C83A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C83AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C83B0 7C 7F 1B 78 */ mr r31, r3 -/* 800C83B4 A8 03 30 0C */ lha r0, 0x300c(r3) -/* 800C83B8 2C 00 00 00 */ cmpwi r0, 0 -/* 800C83BC 40 82 00 18 */ bne lbl_800C83D4 -/* 800C83C0 38 00 00 04 */ li r0, 4 -/* 800C83C4 98 1F 2F BF */ stb r0, 0x2fbf(r31) -/* 800C83C8 38 00 00 01 */ li r0, 1 -/* 800C83CC B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C83D0 48 00 00 78 */ b lbl_800C8448 -lbl_800C83D4: -/* 800C83D4 88 1F 2F BF */ lbz r0, 0x2fbf(r31) -/* 800C83D8 28 00 00 00 */ cmplwi r0, 0 -/* 800C83DC 40 82 00 6C */ bne lbl_800C8448 -/* 800C83E0 A8 1F 30 0E */ lha r0, 0x300e(r31) -/* 800C83E4 2C 00 00 00 */ cmpwi r0, 0 -/* 800C83E8 40 82 00 4C */ bne lbl_800C8434 -/* 800C83EC 38 00 00 01 */ li r0, 1 -/* 800C83F0 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800C83F4 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800C83F8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800C83FC 41 82 00 20 */ beq lbl_800C841C -/* 800C8400 38 80 00 00 */ li r4, 0 -/* 800C8404 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 800C8408 38 A5 EF 28 */ addi r5, r5, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 800C840C C0 25 00 14 */ lfs f1, 0x14(r5) -/* 800C8410 C0 42 92 BC */ lfs f2, lit_6041(r2) -/* 800C8414 48 06 12 C5 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 800C8418 48 00 00 1C */ b lbl_800C8434 -lbl_800C841C: -/* 800C841C 38 80 00 19 */ li r4, 0x19 -/* 800C8420 3C A0 80 39 */ lis r5, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800C8424 38 A5 D6 BC */ addi r5, r5, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800C8428 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 800C842C C0 42 92 BC */ lfs f2, lit_6041(r2) -/* 800C8430 4B FE 4B B1 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_800C8434: -/* 800C8434 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C8438 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C843C 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800C8440 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 800C8444 4B F7 FD 39 */ bl cutEnd__16dEvent_manager_cFi -lbl_800C8448: -/* 800C8448 38 60 00 01 */ li r3, 1 -/* 800C844C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C8450 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C8454 7C 08 03 A6 */ mtlr r0 -/* 800C8458 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C845C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoPeepSubjectivityInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoPeepSubjectivityInit__9daAlink_cFv.s deleted file mode 100644 index fe54efc3ee..0000000000 --- a/asm/d/a/d_a_alink/procCoPeepSubjectivityInit__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800CF100: -/* 800CF100 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CF104 7C 08 02 A6 */ mflr r0 -/* 800CF108 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CF10C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CF110 7C 7F 1B 78 */ mr r31, r3 -/* 800CF114 38 80 01 40 */ li r4, 0x140 -/* 800CF118 4B FF 2E 55 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800CF11C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800CF120 D0 3F 33 98 */ stfs f1, 0x3398(r31) -/* 800CF124 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800CF128 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800CF12C 41 82 00 18 */ beq lbl_800CF144 -/* 800CF130 7F E3 FB 78 */ mr r3, r31 -/* 800CF134 38 80 00 00 */ li r4, 0 -/* 800CF138 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800CF13C 48 05 A5 9D */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 800CF140 48 00 00 14 */ b lbl_800CF154 -lbl_800CF144: -/* 800CF144 7F E3 FB 78 */ mr r3, r31 -/* 800CF148 38 80 00 19 */ li r4, 0x19 -/* 800CF14C C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800CF150 4B FD DE 91 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_800CF154: -/* 800CF154 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800CF158 64 00 08 00 */ oris r0, r0, 0x800 -/* 800CF15C 90 1F 05 70 */ stw r0, 0x570(r31) -/* 800CF160 7F E3 FB 78 */ mr r3, r31 -/* 800CF164 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800CF168 C0 5F 05 34 */ lfs f2, 0x534(r31) -/* 800CF16C 38 80 00 00 */ li r4, 0 -/* 800CF170 4B FE C6 01 */ bl setSpecialGravity__9daAlink_cFffi -/* 800CF174 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800CF178 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 800CF17C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CF180 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CF184 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800CF188 60 00 20 00 */ ori r0, r0, 0x2000 -/* 800CF18C 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800CF190 C0 02 92 C8 */ lfs f0, lit_6183(r2) -/* 800CF194 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800CF198 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800CF19C B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800CF1A0 38 60 00 01 */ li r3, 1 -/* 800CF1A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CF1A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CF1AC 7C 08 03 A6 */ mtlr r0 -/* 800CF1B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CF1B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoPeepSubjectivity__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoPeepSubjectivity__9daAlink_cFv.s deleted file mode 100644 index 23f10a740a..0000000000 --- a/asm/d/a/d_a_alink/procCoPeepSubjectivity__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800CF1B8: -/* 800CF1B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800CF1BC 7C 08 02 A6 */ mflr r0 -/* 800CF1C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800CF1C4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800CF1C8 7C 7F 1B 78 */ mr r31, r3 -/* 800CF1CC 88 03 2F 8D */ lbz r0, 0x2f8d(r3) -/* 800CF1D0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800CF1D4 40 82 00 14 */ bne lbl_800CF1E8 -/* 800CF1D8 38 80 00 08 */ li r4, 8 -/* 800CF1DC 4B FE 33 F1 */ bl itemTriggerCheck__9daAlink_cFUc -/* 800CF1E0 2C 03 00 00 */ cmpwi r3, 0 -/* 800CF1E4 41 82 00 60 */ beq lbl_800CF244 -lbl_800CF1E8: -/* 800CF1E8 38 00 00 00 */ li r0, 0 -/* 800CF1EC 90 01 00 08 */ stw r0, 8(r1) -/* 800CF1F0 3C 60 80 0D */ lis r3, daAlink_searchPeepObj__FP10fopAc_ac_cPv@ha /* 0x800CED48@ha */ -/* 800CF1F4 38 63 ED 48 */ addi r3, r3, daAlink_searchPeepObj__FP10fopAc_ac_cPv@l /* 0x800CED48@l */ -/* 800CF1F8 38 81 00 08 */ addi r4, r1, 8 -/* 800CF1FC 4B F4 A5 C1 */ bl fopAcIt_Executor__FPFPvPv_iPv -/* 800CF200 80 61 00 08 */ lwz r3, 8(r1) -/* 800CF204 28 03 00 00 */ cmplwi r3, 0 -/* 800CF208 41 82 00 0C */ beq lbl_800CF214 -/* 800CF20C 88 03 05 6D */ lbz r0, 0x56d(r3) -/* 800CF210 98 1F 2F AD */ stb r0, 0x2fad(r31) -lbl_800CF214: -/* 800CF214 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CF218 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CF21C 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 800CF220 7F E4 FB 78 */ mr r4, r31 -/* 800CF224 38 A0 00 00 */ li r5, 0 -/* 800CF228 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800CF22C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800CF230 4B F7 3F 3D */ bl compulsory__14dEvt_control_cFPvPCcUs -/* 800CF234 2C 03 00 00 */ cmpwi r3, 0 -/* 800CF238 41 82 00 0C */ beq lbl_800CF244 -/* 800CF23C 7F E3 FB 78 */ mr r3, r31 -/* 800CF240 4B FE EB 31 */ bl startPeepChange__9daAlink_cFv -lbl_800CF244: -/* 800CF244 38 60 00 01 */ li r3, 1 -/* 800CF248 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800CF24C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800CF250 7C 08 03 A6 */ mtlr r0 -/* 800CF254 38 21 00 20 */ addi r1, r1, 0x20 -/* 800CF258 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoPolyDamageInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoPolyDamageInit__9daAlink_cFv.s deleted file mode 100644 index 5d4a642f46..0000000000 --- a/asm/d/a/d_a_alink/procCoPolyDamageInit__9daAlink_cFv.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_800DAC84: -/* 800DAC84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DAC88 7C 08 02 A6 */ mflr r0 -/* 800DAC8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DAC90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DAC94 7C 7F 1B 78 */ mr r31, r3 -/* 800DAC98 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020014@ha */ -/* 800DAC9C 38 84 00 14 */ addi r4, r4, 0x0014 /* 0x00020014@l */ -/* 800DACA0 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800DACA4 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800DACA8 7D 89 03 A6 */ mtctr r12 -/* 800DACAC 4E 80 04 21 */ bctrl -/* 800DACB0 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800DACB4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800DACB8 40 82 00 20 */ bne lbl_800DACD8 -/* 800DACBC 7F E3 FB 78 */ mr r3, r31 -/* 800DACC0 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010002@ha */ -/* 800DACC4 38 84 00 02 */ addi r4, r4, 0x0002 /* 0x00010002@l */ -/* 800DACC8 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DACCC 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800DACD0 7D 89 03 A6 */ mtctr r12 -/* 800DACD4 4E 80 04 21 */ bctrl -lbl_800DACD8: -/* 800DACD8 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800DACDC 28 00 01 9C */ cmplwi r0, 0x19c -/* 800DACE0 40 82 00 0C */ bne lbl_800DACEC -/* 800DACE4 38 60 00 01 */ li r3, 1 -/* 800DACE8 48 00 00 94 */ b lbl_800DAD7C -lbl_800DACEC: -/* 800DACEC 7F E3 FB 78 */ mr r3, r31 -/* 800DACF0 38 80 01 41 */ li r4, 0x141 -/* 800DACF4 4B FE 72 79 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DACF8 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800DACFC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800DAD00 41 82 00 4C */ beq lbl_800DAD4C -/* 800DAD04 7F E3 FB 78 */ mr r3, r31 -/* 800DAD08 38 80 00 16 */ li r4, 0x16 -/* 800DAD0C 3C A0 80 39 */ lis r5, m__22daAlinkHIO_wlDamage_c0@ha /* 0x8038F3C4@ha */ -/* 800DAD10 38 A5 F3 C4 */ addi r5, r5, m__22daAlinkHIO_wlDamage_c0@l /* 0x8038F3C4@l */ -/* 800DAD14 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800DAD18 48 04 EB 31 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 800DAD1C 7F E3 FB 78 */ mr r3, r31 -/* 800DAD20 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010034@ha */ -/* 800DAD24 38 84 00 34 */ addi r4, r4, 0x0034 /* 0x00010034@l */ -/* 800DAD28 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DAD2C 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800DAD30 7D 89 03 A6 */ mtctr r12 -/* 800DAD34 4E 80 04 21 */ bctrl -/* 800DAD38 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlDamage_c0@ha /* 0x8038F3C4@ha */ -/* 800DAD3C 38 63 F3 C4 */ addi r3, r3, m__22daAlinkHIO_wlDamage_c0@l /* 0x8038F3C4@l */ -/* 800DAD40 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800DAD44 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800DAD48 48 00 00 28 */ b lbl_800DAD70 -lbl_800DAD4C: -/* 800DAD4C 7F E3 FB 78 */ mr r3, r31 -/* 800DAD50 38 80 00 8B */ li r4, 0x8b -/* 800DAD54 3C A0 80 39 */ lis r5, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800DAD58 38 A5 E5 4C */ addi r5, r5, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800DAD5C 4B FD 23 99 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800DAD60 3C 60 80 39 */ lis r3, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800DAD64 38 63 E5 4C */ addi r3, r3, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800DAD68 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 800DAD6C D0 1F 34 78 */ stfs f0, 0x3478(r31) -lbl_800DAD70: -/* 800DAD70 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800DAD74 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800DAD78 38 60 00 01 */ li r3, 1 -lbl_800DAD7C: -/* 800DAD7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DAD80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DAD84 7C 08 03 A6 */ mtlr r0 -/* 800DAD88 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DAD8C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoPolyDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoPolyDamage__9daAlink_cFv.s deleted file mode 100644 index f15f36ff17..0000000000 --- a/asm/d/a/d_a_alink/procCoPolyDamage__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_800DAD90: -/* 800DAD90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DAD94 7C 08 02 A6 */ mflr r0 -/* 800DAD98 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DAD9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DADA0 7C 7F 1B 78 */ mr r31, r3 -/* 800DADA4 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800DADA8 48 08 37 25 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DADAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DADB0 41 82 00 14 */ beq lbl_800DADC4 -/* 800DADB4 7F E3 FB 78 */ mr r3, r31 -/* 800DADB8 38 80 00 00 */ li r4, 0 -/* 800DADBC 4B FD F2 E1 */ bl commonCheckNextAction__9daAlink_cFi -/* 800DADC0 48 00 00 38 */ b lbl_800DADF8 -lbl_800DADC4: -/* 800DADC4 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 800DADC8 C0 1F 34 78 */ lfs f0, 0x3478(r31) -/* 800DADCC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800DADD0 40 81 00 28 */ ble lbl_800DADF8 -/* 800DADD4 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800DADD8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800DADDC 40 82 00 10 */ bne lbl_800DADEC -/* 800DADE0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DADE4 60 00 00 04 */ ori r0, r0, 4 -/* 800DADE8 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800DADEC: -/* 800DADEC 7F E3 FB 78 */ mr r3, r31 -/* 800DADF0 38 80 00 01 */ li r4, 1 -/* 800DADF4 4B FD F2 A9 */ bl commonCheckNextAction__9daAlink_cFi -lbl_800DADF8: -/* 800DADF8 38 60 00 01 */ li r3, 1 -/* 800DADFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DAE00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DAE04 7C 08 03 A6 */ mtlr r0 -/* 800DAE08 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DAE0C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoSandWallHitInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoSandWallHitInit__9daAlink_cFv.s deleted file mode 100644 index ce3a24734e..0000000000 --- a/asm/d/a/d_a_alink/procCoSandWallHitInit__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_800DBE00: -/* 800DBE00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DBE04 7C 08 02 A6 */ mflr r0 -/* 800DBE08 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DBE0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DBE10 7C 7F 1B 78 */ mr r31, r3 -/* 800DBE14 38 80 01 54 */ li r4, 0x154 -/* 800DBE18 4B FE 6F 8D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DBE1C 2C 03 00 00 */ cmpwi r3, 0 -/* 800DBE20 40 82 00 0C */ bne lbl_800DBE2C -/* 800DBE24 38 60 00 01 */ li r3, 1 -/* 800DBE28 48 00 00 38 */ b lbl_800DBE60 -lbl_800DBE2C: -/* 800DBE2C 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800DBE30 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800DBE34 41 82 00 14 */ beq lbl_800DBE48 -/* 800DBE38 7F E3 FB 78 */ mr r3, r31 -/* 800DBE3C 38 80 00 71 */ li r4, 0x71 -/* 800DBE40 48 04 D8 39 */ bl setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM -/* 800DBE44 48 00 00 10 */ b lbl_800DBE54 -lbl_800DBE48: -/* 800DBE48 7F E3 FB 78 */ mr r3, r31 -/* 800DBE4C 38 80 00 FF */ li r4, 0xff -/* 800DBE50 4B FD 11 31 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -lbl_800DBE54: -/* 800DBE54 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800DBE58 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800DBE5C 38 60 00 01 */ li r3, 1 -lbl_800DBE60: -/* 800DBE60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DBE64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DBE68 7C 08 03 A6 */ mtlr r0 -/* 800DBE6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DBE70 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoSandWallHit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoSandWallHit__9daAlink_cFv.s deleted file mode 100644 index e5bbc53dea..0000000000 --- a/asm/d/a/d_a_alink/procCoSandWallHit__9daAlink_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_800DBE74: -/* 800DBE74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DBE78 7C 08 02 A6 */ mflr r0 -/* 800DBE7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DBE80 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DBE84 7C 7F 1B 78 */ mr r31, r3 -/* 800DBE88 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 800DBE8C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800DBE90 41 82 00 10 */ beq lbl_800DBEA0 -/* 800DBE94 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DBE98 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 800DBE9C 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800DBEA0: -/* 800DBEA0 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 800DBEA4 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800DBEA8 40 82 00 18 */ bne lbl_800DBEC0 -/* 800DBEAC 7F E3 FB 78 */ mr r3, r31 -/* 800DBEB0 38 80 00 01 */ li r4, 1 -/* 800DBEB4 4B FF B5 C5 */ bl setDamagePointNormal__9daAlink_cFi -/* 800DBEB8 7F E3 FB 78 */ mr r3, r31 -/* 800DBEBC 4B FF ED C9 */ bl procCoPolyDamageInit__9daAlink_cFv -lbl_800DBEC0: -/* 800DBEC0 38 60 00 01 */ li r3, 1 -/* 800DBEC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DBEC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DBECC 7C 08 03 A6 */ mtlr r0 -/* 800DBED0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DBED4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoSubjectivityInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoSubjectivityInit__9daAlink_cFv.s deleted file mode 100644 index 31f9ad7b81..0000000000 --- a/asm/d/a/d_a_alink/procCoSubjectivityInit__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_800CED84: -/* 800CED84 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CED88 7C 08 02 A6 */ mflr r0 -/* 800CED8C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CED90 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CED94 7C 7F 1B 78 */ mr r31, r3 -/* 800CED98 38 80 01 3E */ li r4, 0x13e -/* 800CED9C 4B FF 31 D1 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800CEDA0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800CEDA4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800CEDA8 7F E3 FB 78 */ mr r3, r31 -/* 800CEDAC 4B FF FD 49 */ bl setSubjectMode__9daAlink_cFv -/* 800CEDB0 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800CEDB4 B0 1F 2F E6 */ sth r0, 0x2fe6(r31) -/* 800CEDB8 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800CEDBC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800CEDC0 41 82 00 1C */ beq lbl_800CEDDC -/* 800CEDC4 7F E3 FB 78 */ mr r3, r31 -/* 800CEDC8 38 80 00 00 */ li r4, 0 -/* 800CEDCC C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800CEDD0 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800CEDD4 48 05 A9 05 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 800CEDD8 48 00 00 18 */ b lbl_800CEDF0 -lbl_800CEDDC: -/* 800CEDDC 7F E3 FB 78 */ mr r3, r31 -/* 800CEDE0 38 80 00 19 */ li r4, 0x19 -/* 800CEDE4 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800CEDE8 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800CEDEC 4B FD E1 F5 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_800CEDF0: -/* 800CEDF0 38 60 00 01 */ li r3, 1 -/* 800CEDF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CEDF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CEDFC 7C 08 03 A6 */ mtlr r0 -/* 800CEE00 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CEE04 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoSwimFreezeReturnInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoSwimFreezeReturnInit__9daAlink_cFv.s deleted file mode 100644 index 08bd57a959..0000000000 --- a/asm/d/a/d_a_alink/procCoSwimFreezeReturnInit__9daAlink_cFv.s +++ /dev/null @@ -1,136 +0,0 @@ -lbl_800DC278: -/* 800DC278 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800DC27C 7C 08 02 A6 */ mflr r0 -/* 800DC280 90 01 00 34 */ stw r0, 0x34(r1) -/* 800DC284 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 800DC288 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 800DC28C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DC290 48 28 5F 49 */ bl _savegpr_28 -/* 800DC294 7C 7F 1B 78 */ mr r31, r3 -/* 800DC298 3C 60 80 39 */ lis r3, lit_3757@ha /* 0x8038D658@ha */ -/* 800DC29C 3B C3 D6 58 */ addi r30, r3, lit_3757@l /* 0x8038D658@l */ -/* 800DC2A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DC2A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DC2A8 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 800DC2AC 7F E4 FB 78 */ mr r4, r31 -/* 800DC2B0 38 A0 00 00 */ li r5, 0 -/* 800DC2B4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800DC2B8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800DC2BC 4B F6 6E B1 */ bl compulsory__14dEvt_control_cFPvPCcUs -/* 800DC2C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800DC2C4 40 82 00 0C */ bne lbl_800DC2D0 -/* 800DC2C8 38 60 00 00 */ li r3, 0 -/* 800DC2CC 48 00 01 88 */ b lbl_800DC454 -lbl_800DC2D0: -/* 800DC2D0 38 00 00 05 */ li r0, 5 -/* 800DC2D4 B0 1F 06 04 */ sth r0, 0x604(r31) -/* 800DC2D8 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800DC2DC 54 1D 03 5A */ rlwinm r29, r0, 0, 0xd, 0xd -/* 800DC2E0 7F E3 FB 78 */ mr r3, r31 -/* 800DC2E4 38 80 01 56 */ li r4, 0x156 -/* 800DC2E8 4B FE 6A BD */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DC2EC 2C 03 00 00 */ cmpwi r3, 0 -/* 800DC2F0 40 82 00 0C */ bne lbl_800DC2FC -/* 800DC2F4 38 60 00 01 */ li r3, 1 -/* 800DC2F8 48 00 01 5C */ b lbl_800DC454 -lbl_800DC2FC: -/* 800DC2FC 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800DC300 60 00 01 00 */ ori r0, r0, 0x100 -/* 800DC304 90 1F 05 70 */ stw r0, 0x570(r31) -/* 800DC308 80 7F 20 60 */ lwz r3, 0x2060(r31) -/* 800DC30C 83 83 00 1C */ lwz r28, 0x1c(r3) -/* 800DC310 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800DC314 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800DC318 41 82 00 4C */ beq lbl_800DC364 -/* 800DC31C 7F E3 FB 78 */ mr r3, r31 -/* 800DC320 38 80 00 37 */ li r4, 0x37 -/* 800DC324 38 BE 1B E4 */ addi r5, r30, 0x1be4 -/* 800DC328 C0 25 00 5C */ lfs f1, 0x5c(r5) -/* 800DC32C C0 42 93 30 */ lfs f2, lit_7625(r2) -/* 800DC330 48 04 D3 A9 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 800DC334 38 00 00 03 */ li r0, 3 -/* 800DC338 B0 1F 1F D8 */ sth r0, 0x1fd8(r31) -/* 800DC33C 38 00 00 00 */ li r0, 0 -/* 800DC340 98 1F 1F D4 */ stb r0, 0x1fd4(r31) -/* 800DC344 7F E3 FB 78 */ mr r3, r31 -/* 800DC348 38 80 00 90 */ li r4, 0x90 -/* 800DC34C 4B FD 35 55 */ bl setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800DC350 38 00 00 01 */ li r0, 1 -/* 800DC354 98 1F 2F 9B */ stb r0, 0x2f9b(r31) -/* 800DC358 38 7E 22 5C */ addi r3, r30, 0x225c -/* 800DC35C C3 E3 00 48 */ lfs f31, 0x48(r3) -/* 800DC360 48 00 00 48 */ b lbl_800DC3A8 -lbl_800DC364: -/* 800DC364 7F E3 FB 78 */ mr r3, r31 -/* 800DC368 38 80 00 CE */ li r4, 0xce -/* 800DC36C 38 BE 0B F4 */ addi r5, r30, 0xbf4 -/* 800DC370 C0 25 00 60 */ lfs f1, 0x60(r5) -/* 800DC374 C0 42 92 C0 */ lfs f2, lit_6108(r2) -/* 800DC378 38 A0 00 05 */ li r5, 5 -/* 800DC37C C0 62 93 30 */ lfs f3, lit_7625(r2) -/* 800DC380 4B FD 0C 8D */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800DC384 7F E3 FB 78 */ mr r3, r31 -/* 800DC388 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010053@ha */ -/* 800DC38C 38 84 00 53 */ addi r4, r4, 0x0053 /* 0x00010053@l */ -/* 800DC390 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DC394 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800DC398 7D 89 03 A6 */ mtctr r12 -/* 800DC39C 4E 80 04 21 */ bctrl -/* 800DC3A0 38 7E 16 D4 */ addi r3, r30, 0x16d4 -/* 800DC3A4 C3 E3 00 60 */ lfs f31, 0x60(r3) -lbl_800DC3A8: -/* 800DC3A8 7F E3 FB 78 */ mr r3, r31 -/* 800DC3AC 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002004C@ha */ -/* 800DC3B0 38 84 00 4C */ addi r4, r4, 0x004C /* 0x0002004C@l */ -/* 800DC3B4 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DC3B8 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800DC3BC 7D 89 03 A6 */ mtctr r12 -/* 800DC3C0 4E 80 04 21 */ bctrl -/* 800DC3C4 28 1D 00 00 */ cmplwi r29, 0 -/* 800DC3C8 40 82 00 18 */ bne lbl_800DC3E0 -/* 800DC3CC C0 1C 00 18 */ lfs f0, 0x18(r28) -/* 800DC3D0 EC 00 F8 28 */ fsubs f0, f0, f31 -/* 800DC3D4 D0 1C 00 18 */ stfs f0, 0x18(r28) -/* 800DC3D8 C0 1F 33 B4 */ lfs f0, 0x33b4(r31) -/* 800DC3DC D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -lbl_800DC3E0: -/* 800DC3E0 38 00 00 00 */ li r0, 0 -/* 800DC3E4 B0 1F 30 80 */ sth r0, 0x3080(r31) -/* 800DC3E8 B0 1F 05 6C */ sth r0, 0x56c(r31) -/* 800DC3EC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800DC3F0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800DC3F4 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800DC3F8 64 00 40 00 */ oris r0, r0, 0x4000 -/* 800DC3FC 90 1F 05 74 */ stw r0, 0x574(r31) -/* 800DC400 38 00 00 01 */ li r0, 1 -/* 800DC404 90 1F 31 94 */ stw r0, 0x3194(r31) -/* 800DC408 28 1F 00 00 */ cmplwi r31, 0 -/* 800DC40C 41 82 00 0C */ beq lbl_800DC418 -/* 800DC410 83 9F 00 04 */ lwz r28, 4(r31) -/* 800DC414 48 00 00 08 */ b lbl_800DC41C -lbl_800DC418: -/* 800DC418 3B 80 FF FF */ li r28, -1 -lbl_800DC41C: -/* 800DC41C 48 0A 52 25 */ bl dCam_getBody__Fv -/* 800DC420 38 80 00 09 */ li r4, 9 -/* 800DC424 7F 85 E3 78 */ mr r5, r28 -/* 800DC428 3C C0 80 39 */ lis r6, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */ -/* 800DC42C 38 C6 20 94 */ addi r6, r6, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */ -/* 800DC430 38 C6 00 43 */ addi r6, r6, 0x43 -/* 800DC434 38 E0 00 01 */ li r7, 1 -/* 800DC438 39 1F 31 94 */ addi r8, r31, 0x3194 -/* 800DC43C 39 20 00 00 */ li r9, 0 -/* 800DC440 4C C6 31 82 */ crclr 6 -/* 800DC444 4B FA C6 39 */ bl StartEventCamera__9dCamera_cFiie -/* 800DC448 38 00 00 2D */ li r0, 0x2d -/* 800DC44C B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800DC450 38 60 00 01 */ li r3, 1 -lbl_800DC454: -/* 800DC454 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800DC458 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800DC45C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DC460 48 28 5D C5 */ bl _restgpr_28 -/* 800DC464 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800DC468 7C 08 03 A6 */ mtlr r0 -/* 800DC46C 38 21 00 30 */ addi r1, r1, 0x30 -/* 800DC470 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCoSwimSubjectivityInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCoSwimSubjectivityInit__9daAlink_cFv.s deleted file mode 100644 index b77d98cb14..0000000000 --- a/asm/d/a/d_a_alink/procCoSwimSubjectivityInit__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800CEF70: -/* 800CEF70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CEF74 7C 08 02 A6 */ mflr r0 -/* 800CEF78 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CEF7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CEF80 7C 7F 1B 78 */ mr r31, r3 -/* 800CEF84 38 80 01 3F */ li r4, 0x13f -/* 800CEF88 4B FF 2F E5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800CEF8C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800CEF90 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800CEF94 7F E3 FB 78 */ mr r3, r31 -/* 800CEF98 4B FF FB 5D */ bl setSubjectMode__9daAlink_cFv -/* 800CEF9C 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800CEFA0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800CEFA4 41 82 00 24 */ beq lbl_800CEFC8 -/* 800CEFA8 7F E3 FB 78 */ mr r3, r31 -/* 800CEFAC 38 80 00 37 */ li r4, 0x37 -/* 800CEFB0 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 800CEFB4 38 A5 F8 B4 */ addi r5, r5, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 800CEFB8 C0 25 00 88 */ lfs f1, 0x88(r5) -/* 800CEFBC C0 45 00 68 */ lfs f2, 0x68(r5) -/* 800CEFC0 48 05 A7 19 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 800CEFC4 48 00 00 20 */ b lbl_800CEFE4 -lbl_800CEFC8: -/* 800CEFC8 7F E3 FB 78 */ mr r3, r31 -/* 800CEFCC 38 80 00 14 */ li r4, 0x14 -/* 800CEFD0 3C A0 80 39 */ lis r5, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 800CEFD4 38 A5 ED 2C */ addi r5, r5, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 800CEFD8 C0 25 00 90 */ lfs f1, 0x90(r5) -/* 800CEFDC C0 45 00 94 */ lfs f2, 0x94(r5) -/* 800CEFE0 4B FD E0 01 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_800CEFE4: -/* 800CEFE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CEFE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CEFEC 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800CEFF0 64 00 00 10 */ oris r0, r0, 0x10 -/* 800CEFF4 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800CEFF8 38 00 00 00 */ li r0, 0 -/* 800CEFFC B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800CF000 38 60 00 01 */ li r3, 1 -/* 800CF004 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CF008 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CF00C 7C 08 03 A6 */ mtlr r0 -/* 800CF010 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CF014 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodMoveInit__9daAlink_cFv.s deleted file mode 100644 index 39f36e339a..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_800E1F68: -/* 800E1F68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E1F6C 7C 08 02 A6 */ mflr r0 -/* 800E1F70 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E1F74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1F78 7C 7F 1B 78 */ mr r31, r3 -/* 800E1F7C 38 80 00 64 */ li r4, 0x64 -/* 800E1F80 4B FE 0E 25 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E1F84 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1F88 40 82 00 0C */ bne lbl_800E1F94 -/* 800E1F8C 38 60 00 00 */ li r3, 0 -/* 800E1F90 48 00 00 58 */ b lbl_800E1FE8 -lbl_800E1F94: -/* 800E1F94 7F E3 FB 78 */ mr r3, r31 -/* 800E1F98 4B FD 19 6D */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800E1F9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1FA0 41 82 00 10 */ beq lbl_800E1FB0 -/* 800E1FA4 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E1FA8 60 00 00 01 */ ori r0, r0, 1 -/* 800E1FAC 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800E1FB0: -/* 800E1FB0 7F E3 FB 78 */ mr r3, r31 -/* 800E1FB4 38 80 00 00 */ li r4, 0 -/* 800E1FB8 4B FF F3 F5 */ bl initCopyRodUpperAnimeSpeed__9daAlink_cFi -/* 800E1FBC 7F E3 FB 78 */ mr r3, r31 -/* 800E1FC0 3C 80 80 39 */ lis r4, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1FC4 38 84 E6 C8 */ addi r4, r4, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1FC8 C0 24 00 30 */ lfs f1, 0x30(r4) -/* 800E1FCC 4B FC CA A5 */ bl setBlendAtnMoveAnime__9daAlink_cFf -/* 800E1FD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E1FD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E1FD8 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800E1FDC 60 00 00 80 */ ori r0, r0, 0x80 -/* 800E1FE0 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800E1FE4 38 60 00 01 */ li r3, 1 -lbl_800E1FE8: -/* 800E1FE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1FEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E1FF0 7C 08 03 A6 */ mtlr r0 -/* 800E1FF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E1FF8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodMove__9daAlink_cFv.s deleted file mode 100644 index 160d83211d..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodMove__9daAlink_cFv.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_800E1FFC: -/* 800E1FFC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E2000 7C 08 02 A6 */ mflr r0 -/* 800E2004 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E2008 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800E200C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800E2010 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E2014 7C 7F 1B 78 */ mr r31, r3 -/* 800E2018 4B FD 52 CD */ bl checkItemActorPointer__9daAlink_cFv -/* 800E201C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E2020 40 82 00 0C */ bne lbl_800E202C -/* 800E2024 38 60 00 01 */ li r3, 1 -/* 800E2028 48 00 00 84 */ b lbl_800E20AC -lbl_800E202C: -/* 800E202C 7F E3 FB 78 */ mr r3, r31 -/* 800E2030 38 80 00 00 */ li r4, 0 -/* 800E2034 4B FD 80 9D */ bl checkNextAction__9daAlink_cFi -/* 800E2038 2C 03 00 00 */ cmpwi r3, 0 -/* 800E203C 40 82 00 6C */ bne lbl_800E20A8 -/* 800E2040 C3 E2 92 BC */ lfs f31, lit_6041(r2) -/* 800E2044 7F E3 FB 78 */ mr r3, r31 -/* 800E2048 4B FD 18 BD */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800E204C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E2050 41 82 00 34 */ beq lbl_800E2084 -/* 800E2054 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E2058 60 00 00 01 */ ori r0, r0, 1 -/* 800E205C 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800E2060 88 1F 2F 98 */ lbz r0, 0x2f98(r31) -/* 800E2064 28 00 00 03 */ cmplwi r0, 3 -/* 800E2068 41 82 00 28 */ beq lbl_800E2090 -/* 800E206C 38 00 00 03 */ li r0, 3 -/* 800E2070 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800E2074 3C 60 80 39 */ lis r3, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800E2078 38 63 D6 64 */ addi r3, r3, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800E207C C3 E3 00 18 */ lfs f31, 0x18(r3) -/* 800E2080 48 00 00 10 */ b lbl_800E2090 -lbl_800E2084: -/* 800E2084 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800E2088 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800E208C 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800E2090: -/* 800E2090 7F E3 FB 78 */ mr r3, r31 -/* 800E2094 FC 20 F8 90 */ fmr f1, f31 -/* 800E2098 4B FC C9 D9 */ bl setBlendAtnMoveAnime__9daAlink_cFf -/* 800E209C 7F E3 FB 78 */ mr r3, r31 -/* 800E20A0 38 80 00 00 */ li r4, 0 -/* 800E20A4 4B FD 92 0D */ bl setBodyAngleXReadyAnime__9daAlink_cFi -lbl_800E20A8: -/* 800E20A8 38 60 00 01 */ li r3, 1 -lbl_800E20AC: -/* 800E20AC E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800E20B0 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800E20B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E20B8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E20BC 7C 08 03 A6 */ mtlr r0 -/* 800E20C0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E20C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodReviveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodReviveInit__9daAlink_cFv.s deleted file mode 100644 index 0298a6a97e..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodReviveInit__9daAlink_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_800E2308: -/* 800E2308 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E230C 7C 08 02 A6 */ mflr r0 -/* 800E2310 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E2314 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E2318 7C 7F 1B 78 */ mr r31, r3 -/* 800E231C 38 80 00 66 */ li r4, 0x66 -/* 800E2320 4B FE 0A 85 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E2324 2C 03 00 00 */ cmpwi r3, 0 -/* 800E2328 40 82 00 0C */ bne lbl_800E2334 -/* 800E232C 38 60 00 01 */ li r3, 1 -/* 800E2330 48 00 00 60 */ b lbl_800E2390 -lbl_800E2334: -/* 800E2334 80 1F 06 0C */ lwz r0, 0x60c(r31) -/* 800E2338 2C 00 00 00 */ cmpwi r0, 0 -/* 800E233C 40 82 00 3C */ bne lbl_800E2378 -/* 800E2340 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E2344 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E2348 41 82 00 24 */ beq lbl_800E236C -/* 800E234C 7F E3 FB 78 */ mr r3, r31 -/* 800E2350 38 80 00 00 */ li r4, 0 -/* 800E2354 38 A0 00 00 */ li r5, 0 -/* 800E2358 4B FD EF 85 */ bl deleteEquipItem__9daAlink_cFii -/* 800E235C 38 00 00 46 */ li r0, 0x46 -/* 800E2360 B0 1F 2F DC */ sth r0, 0x2fdc(r31) -/* 800E2364 7F E3 FB 78 */ mr r3, r31 -/* 800E2368 4B FF F3 E1 */ bl setCopyRodModel__9daAlink_cFv -lbl_800E236C: -/* 800E236C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E2370 80 7F 07 24 */ lwz r3, 0x724(r31) -/* 800E2374 D0 03 00 08 */ stfs f0, 8(r3) -lbl_800E2378: -/* 800E2378 7F E3 FB 78 */ mr r3, r31 -/* 800E237C 38 80 01 7A */ li r4, 0x17a -/* 800E2380 4B FC AC 01 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800E2384 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E2388 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800E238C 38 60 00 01 */ li r3, 1 -lbl_800E2390: -/* 800E2390 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E2394 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E2398 7C 08 03 A6 */ mtlr r0 -/* 800E239C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E23A0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodRevive__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodRevive__9daAlink_cFv.s deleted file mode 100644 index 3fecfd354c..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodRevive__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800E23A4: -/* 800E23A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E23A8 7C 08 02 A6 */ mflr r0 -/* 800E23AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E23B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E23B4 7C 7F 1B 78 */ mr r31, r3 -/* 800E23B8 80 63 07 24 */ lwz r3, 0x724(r3) -/* 800E23BC 4B FC 6E 8D */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -/* 800E23C0 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800E23C4 48 07 C1 09 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800E23C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E23CC 41 82 00 18 */ beq lbl_800E23E4 -/* 800E23D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E23D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E23D8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800E23DC 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 800E23E0 4B F6 5D 9D */ bl cutEnd__16dEvent_manager_cFi -lbl_800E23E4: -/* 800E23E4 38 60 00 01 */ li r3, 1 -/* 800E23E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E23EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E23F0 7C 08 03 A6 */ mtlr r0 -/* 800E23F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E23F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodSubjectInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodSubjectInit__9daAlink_cFv.s deleted file mode 100644 index e16f54921b..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodSubjectInit__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_800E1E20: -/* 800E1E20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E1E24 7C 08 02 A6 */ mflr r0 -/* 800E1E28 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E1E2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1E30 7C 7F 1B 78 */ mr r31, r3 -/* 800E1E34 38 80 00 63 */ li r4, 0x63 -/* 800E1E38 4B FE 0F 6D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E1E3C 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1E40 40 82 00 0C */ bne lbl_800E1E4C -/* 800E1E44 38 60 00 00 */ li r3, 0 -/* 800E1E48 48 00 00 54 */ b lbl_800E1E9C -lbl_800E1E4C: -/* 800E1E4C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E1E50 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800E1E54 7F E3 FB 78 */ mr r3, r31 -/* 800E1E58 38 80 00 01 */ li r4, 1 -/* 800E1E5C 4B FF F5 51 */ bl initCopyRodUpperAnimeSpeed__9daAlink_cFi -/* 800E1E60 7F E3 FB 78 */ mr r3, r31 -/* 800E1E64 38 80 00 11 */ li r4, 0x11 -/* 800E1E68 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800E1E6C 3C A0 80 39 */ lis r5, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1E70 38 A5 E6 C8 */ addi r5, r5, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1E74 C0 45 00 30 */ lfs f2, 0x30(r5) -/* 800E1E78 4B FC B1 69 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800E1E7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E1E80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E1E84 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800E1E88 60 00 00 80 */ ori r0, r0, 0x80 -/* 800E1E8C 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800E1E90 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800E1E94 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800E1E98 38 60 00 01 */ li r3, 1 -lbl_800E1E9C: -/* 800E1E9C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1EA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E1EA4 7C 08 03 A6 */ mtlr r0 -/* 800E1EA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E1EAC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodSubject__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodSubject__9daAlink_cFv.s deleted file mode 100644 index eb4b35a325..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodSubject__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_800E1EB0: -/* 800E1EB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E1EB4 7C 08 02 A6 */ mflr r0 -/* 800E1EB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E1EBC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E1EC0 7C 7F 1B 78 */ mr r31, r3 -/* 800E1EC4 4B FD 54 21 */ bl checkItemActorPointer__9daAlink_cFv -/* 800E1EC8 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1ECC 40 82 00 0C */ bne lbl_800E1ED8 -/* 800E1ED0 38 60 00 01 */ li r3, 1 -/* 800E1ED4 48 00 00 80 */ b lbl_800E1F54 -lbl_800E1ED8: -/* 800E1ED8 38 60 00 00 */ li r3, 0 -/* 800E1EDC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E1EE0 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E1EE4 40 82 00 14 */ bne lbl_800E1EF8 -/* 800E1EE8 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E1EEC 28 00 00 54 */ cmplwi r0, 0x54 -/* 800E1EF0 40 82 00 08 */ bne lbl_800E1EF8 -/* 800E1EF4 38 60 00 01 */ li r3, 1 -lbl_800E1EF8: -/* 800E1EF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1EFC 41 82 00 10 */ beq lbl_800E1F0C -/* 800E1F00 7F E3 FB 78 */ mr r3, r31 -/* 800E1F04 38 80 00 12 */ li r4, 0x12 -/* 800E1F08 4B FD 13 49 */ bl setDoStatus__9daAlink_cFUc -lbl_800E1F0C: -/* 800E1F0C 7F E3 FB 78 */ mr r3, r31 -/* 800E1F10 38 80 00 00 */ li r4, 0 -/* 800E1F14 4B FD 18 21 */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 800E1F18 7F E3 FB 78 */ mr r3, r31 -/* 800E1F1C 38 80 00 00 */ li r4, 0 -/* 800E1F20 4B FD 81 B1 */ bl checkNextAction__9daAlink_cFi -/* 800E1F24 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1F28 40 82 00 20 */ bne lbl_800E1F48 -/* 800E1F2C 7F E3 FB 78 */ mr r3, r31 -/* 800E1F30 4B FE C9 71 */ bl setBodyAngleToCamera__9daAlink_cFv -/* 800E1F34 2C 03 00 00 */ cmpwi r3, 0 -/* 800E1F38 41 82 00 18 */ beq lbl_800E1F50 -/* 800E1F3C 7F E3 FB 78 */ mr r3, r31 -/* 800E1F40 4B FF FE 2D */ bl setCopyRodSight__9daAlink_cFv -/* 800E1F44 48 00 00 0C */ b lbl_800E1F50 -lbl_800E1F48: -/* 800E1F48 38 00 00 00 */ li r0, 0 -/* 800E1F4C 98 1F 20 68 */ stb r0, 0x2068(r31) -lbl_800E1F50: -/* 800E1F50 38 60 00 01 */ li r3, 1 -lbl_800E1F54: -/* 800E1F54 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E1F58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E1F5C 7C 08 03 A6 */ mtlr r0 -/* 800E1F60 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E1F64 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodSwingInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodSwingInit__9daAlink_cFv.s deleted file mode 100644 index 2a170cee70..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodSwingInit__9daAlink_cFv.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_800E20C8: -/* 800E20C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E20CC 7C 08 02 A6 */ mflr r0 -/* 800E20D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E20D4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E20D8 7C 7F 1B 78 */ mr r31, r3 -/* 800E20DC 38 80 00 65 */ li r4, 0x65 -/* 800E20E0 4B FD FE 8D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800E20E4 7F E3 FB 78 */ mr r3, r31 -/* 800E20E8 4B FF F2 8D */ bl getCopyRodControllActor__9daAlink_cFv -/* 800E20EC 28 03 00 00 */ cmplwi r3, 0 -/* 800E20F0 41 82 00 68 */ beq lbl_800E2158 -/* 800E20F4 A8 83 00 08 */ lha r4, 8(r3) -/* 800E20F8 2C 04 01 98 */ cmpwi r4, 0x198 -/* 800E20FC 40 82 00 10 */ bne lbl_800E210C -/* 800E2100 88 03 0A DD */ lbz r0, 0xadd(r3) -/* 800E2104 28 00 00 01 */ cmplwi r0, 1 -/* 800E2108 40 82 00 0C */ bne lbl_800E2114 -lbl_800E210C: -/* 800E210C 2C 04 01 98 */ cmpwi r4, 0x198 -/* 800E2110 41 82 00 48 */ beq lbl_800E2158 -lbl_800E2114: -/* 800E2114 7F E3 FB 78 */ mr r3, r31 -/* 800E2118 38 80 01 79 */ li r4, 0x179 -/* 800E211C 3C A0 80 39 */ lis r5, m__21daAlinkHIO_copyRod_c0@ha /* 0x8038EAFC@ha */ -/* 800E2120 38 A5 EA FC */ addi r5, r5, m__21daAlinkHIO_copyRod_c0@l /* 0x8038EAFC@l */ -/* 800E2124 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800E2128 4B FC AF CD */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800E212C C0 02 93 84 */ lfs f0, lit_8781(r2) -/* 800E2130 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800E2134 C0 02 93 F0 */ lfs f0, lit_13382(r2) -/* 800E2138 D0 1F 34 7C */ stfs f0, 0x347c(r31) -/* 800E213C 3C 60 80 39 */ lis r3, m__21daAlinkHIO_copyRod_c0@ha /* 0x8038EAFC@ha */ -/* 800E2140 38 63 EA FC */ addi r3, r3, m__21daAlinkHIO_copyRod_c0@l /* 0x8038EAFC@l */ -/* 800E2144 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800E2148 D0 1F 34 80 */ stfs f0, 0x3480(r31) -/* 800E214C C0 02 93 38 */ lfs f0, lit_7807(r2) -/* 800E2150 D0 1F 34 84 */ stfs f0, 0x3484(r31) -/* 800E2154 48 00 00 40 */ b lbl_800E2194 -lbl_800E2158: -/* 800E2158 7F E3 FB 78 */ mr r3, r31 -/* 800E215C 38 80 01 78 */ li r4, 0x178 -/* 800E2160 3C A0 80 39 */ lis r5, m__21daAlinkHIO_copyRod_c0@ha /* 0x8038EAFC@ha */ -/* 800E2164 38 A5 EA FC */ addi r5, r5, m__21daAlinkHIO_copyRod_c0@l /* 0x8038EAFC@l */ -/* 800E2168 4B FC AF 8D */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800E216C C0 02 93 24 */ lfs f0, lit_7450(r2) -/* 800E2170 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800E2174 C0 02 93 8C */ lfs f0, lit_8783(r2) -/* 800E2178 D0 1F 34 7C */ stfs f0, 0x347c(r31) -/* 800E217C 3C 60 80 39 */ lis r3, m__21daAlinkHIO_copyRod_c0@ha /* 0x8038EAFC@ha */ -/* 800E2180 38 63 EA FC */ addi r3, r3, m__21daAlinkHIO_copyRod_c0@l /* 0x8038EAFC@l */ -/* 800E2184 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 800E2188 D0 1F 34 80 */ stfs f0, 0x3480(r31) -/* 800E218C C0 02 93 48 */ lfs f0, lit_8130(r2) -/* 800E2190 D0 1F 34 84 */ stfs f0, 0x3484(r31) -lbl_800E2194: -/* 800E2194 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800E2198 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800E219C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800E21A0 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800E21A4 38 00 00 01 */ li r0, 1 -/* 800E21A8 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800E21AC 38 00 00 00 */ li r0, 0 -/* 800E21B0 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800E21B4 7F E3 FB 78 */ mr r3, r31 -/* 800E21B8 3C 80 00 01 */ lis r4, 1 -/* 800E21BC 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800E21C0 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800E21C4 7D 89 03 A6 */ mtctr r12 -/* 800E21C8 4E 80 04 21 */ bctrl -/* 800E21CC C0 02 93 D4 */ lfs f0, lit_11442(r2) -/* 800E21D0 D0 1F 13 6C */ stfs f0, 0x136c(r31) -/* 800E21D4 3C 00 00 80 */ lis r0, 0x80 -/* 800E21D8 90 1F 12 3C */ stw r0, 0x123c(r31) -/* 800E21DC 7F E3 FB 78 */ mr r3, r31 -/* 800E21E0 4B FC 99 49 */ bl cancelLockAt__9daAlink_cFv -/* 800E21E4 38 60 00 01 */ li r3, 1 -/* 800E21E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E21EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E21F0 7C 08 03 A6 */ mtlr r0 -/* 800E21F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E21F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCopyRodSwing__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCopyRodSwing__9daAlink_cFv.s deleted file mode 100644 index 9ac112f8d8..0000000000 --- a/asm/d/a/d_a_alink/procCopyRodSwing__9daAlink_cFv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_800E21FC: -/* 800E21FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E2200 7C 08 02 A6 */ mflr r0 -/* 800E2204 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E2208 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E220C 93 C1 00 08 */ stw r30, 8(r1) -/* 800E2210 7C 7E 1B 78 */ mr r30, r3 -/* 800E2214 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800E2218 38 00 00 00 */ li r0, 0 -/* 800E221C B0 03 30 0C */ sth r0, 0x300c(r3) -/* 800E2220 7F E3 FB 78 */ mr r3, r31 -/* 800E2224 48 07 C2 A9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800E2228 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E222C 41 82 00 1C */ beq lbl_800E2248 -/* 800E2230 7F C3 F3 78 */ mr r3, r30 -/* 800E2234 4B FF F3 59 */ bl setCopyRodControllAnime__9daAlink_cFv -/* 800E2238 7F C3 F3 78 */ mr r3, r30 -/* 800E223C 38 80 00 00 */ li r4, 0 -/* 800E2240 4B FD 7E 91 */ bl checkNextAction__9daAlink_cFi -/* 800E2244 48 00 00 A8 */ b lbl_800E22EC -lbl_800E2248: -/* 800E2248 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800E224C C0 1E 34 80 */ lfs f0, 0x3480(r30) -/* 800E2250 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E2254 40 81 00 30 */ ble lbl_800E2284 -/* 800E2258 7F C3 F3 78 */ mr r3, r30 -/* 800E225C 38 80 00 01 */ li r4, 1 -/* 800E2260 4B FD 7E 71 */ bl checkNextAction__9daAlink_cFi -/* 800E2264 2C 03 00 00 */ cmpwi r3, 0 -/* 800E2268 41 82 00 1C */ beq lbl_800E2284 -/* 800E226C 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800E2270 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800E2274 41 82 00 78 */ beq lbl_800E22EC -/* 800E2278 7F C3 F3 78 */ mr r3, r30 -/* 800E227C 4B FF F3 11 */ bl setCopyRodControllAnime__9daAlink_cFv -/* 800E2280 48 00 00 6C */ b lbl_800E22EC -lbl_800E2284: -/* 800E2284 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800E2288 C0 1E 34 78 */ lfs f0, 0x3478(r30) -/* 800E228C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E2290 4C 41 13 82 */ cror 2, 1, 2 -/* 800E2294 40 82 00 50 */ bne lbl_800E22E4 -/* 800E2298 C0 1E 34 7C */ lfs f0, 0x347c(r30) -/* 800E229C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800E22A0 40 80 00 44 */ bge lbl_800E22E4 -/* 800E22A4 A8 1E 30 0E */ lha r0, 0x300e(r30) -/* 800E22A8 2C 00 00 00 */ cmpwi r0, 0 -/* 800E22AC 40 82 00 14 */ bne lbl_800E22C0 -/* 800E22B0 7F C3 F3 78 */ mr r3, r30 -/* 800E22B4 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002006A@ha */ -/* 800E22B8 38 84 00 6A */ addi r4, r4, 0x006A /* 0x0002006A@l */ -/* 800E22BC 4B FD CE 31 */ bl seStartSwordCut__9daAlink_cFUl -lbl_800E22C0: -/* 800E22C0 38 00 00 01 */ li r0, 1 -/* 800E22C4 B0 1E 30 0E */ sth r0, 0x300e(r30) -/* 800E22C8 7F C3 F3 78 */ mr r3, r30 -/* 800E22CC 38 80 00 6F */ li r4, 0x6f -/* 800E22D0 4B FE F6 F9 */ bl changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800E22D4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E22D8 41 82 00 14 */ beq lbl_800E22EC -/* 800E22DC 38 60 00 01 */ li r3, 1 -/* 800E22E0 48 00 00 10 */ b lbl_800E22F0 -lbl_800E22E4: -/* 800E22E4 38 00 00 00 */ li r0, 0 -/* 800E22E8 B0 1E 30 0E */ sth r0, 0x300e(r30) -lbl_800E22EC: -/* 800E22EC 38 60 00 01 */ li r3, 1 -lbl_800E22F0: -/* 800E22F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E22F4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800E22F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E22FC 7C 08 03 A6 */ mtlr r0 -/* 800E2300 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E2304 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCrouchInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCrouchInit__9daAlink_cFv.s deleted file mode 100644 index cacf8e85fd..0000000000 --- a/asm/d/a/d_a_alink/procCrouchInit__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800C7690: -/* 800C7690 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C7694 7C 08 02 A6 */ mflr r0 -/* 800C7698 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C769C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C76A0 7C 7F 1B 78 */ mr r31, r3 -/* 800C76A4 38 80 00 1C */ li r4, 0x1c -/* 800C76A8 4B FF B6 FD */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C76AC 2C 03 00 00 */ cmpwi r3, 0 -/* 800C76B0 40 82 00 0C */ bne lbl_800C76BC -/* 800C76B4 38 60 00 00 */ li r3, 0 -/* 800C76B8 48 00 00 2C */ b lbl_800C76E4 -lbl_800C76BC: -/* 800C76BC 7F E3 FB 78 */ mr r3, r31 -/* 800C76C0 38 80 00 29 */ li r4, 0x29 -/* 800C76C4 3C A0 80 39 */ lis r5, m__20daAlinkHIO_crouch_c0@ha /* 0x8038E01C@ha */ -/* 800C76C8 38 A5 E0 1C */ addi r5, r5, m__20daAlinkHIO_crouch_c0@l /* 0x8038E01C@l */ -/* 800C76CC C0 25 00 30 */ lfs f1, 0x30(r5) -/* 800C76D0 C0 45 00 34 */ lfs f2, 0x34(r5) -/* 800C76D4 4B FE 59 0D */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800C76D8 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C76DC B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C76E0 38 60 00 01 */ li r3, 1 -lbl_800C76E4: -/* 800C76E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C76E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C76EC 7C 08 03 A6 */ mtlr r0 -/* 800C76F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C76F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCrouch__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCrouch__9daAlink_cFv.s deleted file mode 100644 index dca455ad84..0000000000 --- a/asm/d/a/d_a_alink/procCrouch__9daAlink_cFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_800C76F8: -/* 800C76F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C76FC 7C 08 02 A6 */ mflr r0 -/* 800C7700 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C7704 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C7708 48 29 AA D5 */ bl _savegpr_29 -/* 800C770C 7C 7D 1B 78 */ mr r29, r3 -/* 800C7710 38 7D 33 98 */ addi r3, r29, 0x3398 -/* 800C7714 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C7718 3C 80 80 39 */ lis r4, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800C771C 38 84 D6 BC */ addi r4, r4, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800C7720 C0 44 00 38 */ lfs f2, 0x38(r4) -/* 800C7724 48 1A 90 1D */ bl cLib_chaseF__FPfff -/* 800C7728 7F A3 EB 78 */ mr r3, r29 -/* 800C772C 4B FE BD D5 */ bl checkAttentionState__9daAlink_cFv -/* 800C7730 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C7734 41 82 00 20 */ beq lbl_800C7754 -/* 800C7738 7F A3 EB 78 */ mr r3, r29 -/* 800C773C 38 80 00 E8 */ li r4, 0xe8 -/* 800C7740 38 A0 00 00 */ li r5, 0 -/* 800C7744 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800C7748 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800C774C 4B FE 7D 65 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800C7750 48 00 00 1C */ b lbl_800C776C -lbl_800C7754: -/* 800C7754 7F A3 EB 78 */ mr r3, r29 -/* 800C7758 38 80 00 00 */ li r4, 0 -/* 800C775C 38 A0 00 00 */ li r5, 0 -/* 800C7760 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800C7764 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800C7768 4B FE 7D 49 */ bl setFaceBck__9daAlink_cFUsiUs -lbl_800C776C: -/* 800C776C 80 1D 06 14 */ lwz r0, 0x614(r29) -/* 800C7770 28 00 00 29 */ cmplwi r0, 0x29 -/* 800C7774 41 82 00 64 */ beq lbl_800C77D8 -/* 800C7778 C0 3D 2B A8 */ lfs f1, 0x2ba8(r29) -/* 800C777C C0 02 98 EC */ lfs f0, lit_74138(r2) -/* 800C7780 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C7784 4C 40 13 82 */ cror 2, 0, 2 -/* 800C7788 41 82 00 44 */ beq lbl_800C77CC -/* 800C778C 83 FD 27 E0 */ lwz r31, 0x27e0(r29) -/* 800C7790 3B C0 00 01 */ li r30, 1 -/* 800C7794 7F E3 FB 78 */ mr r3, r31 -/* 800C7798 4B FA C0 4D */ bl LockonTruth__12dAttention_cFv -/* 800C779C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C77A0 40 82 00 14 */ bne lbl_800C77B4 -/* 800C77A4 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800C77A8 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800C77AC 40 82 00 08 */ bne lbl_800C77B4 -/* 800C77B0 3B C0 00 00 */ li r30, 0 -lbl_800C77B4: -/* 800C77B4 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800C77B8 41 82 00 20 */ beq lbl_800C77D8 -/* 800C77BC 7F A3 EB 78 */ mr r3, r29 -/* 800C77C0 48 01 57 A5 */ bl checkGuardAccept__9daAlink_cFv -/* 800C77C4 2C 03 00 00 */ cmpwi r3, 0 -/* 800C77C8 41 82 00 10 */ beq lbl_800C77D8 -lbl_800C77CC: -/* 800C77CC 7F A3 EB 78 */ mr r3, r29 -/* 800C77D0 38 80 00 00 */ li r4, 0 -/* 800C77D4 4B FF 37 35 */ bl checkNextActionFromCrouch__9daAlink_cFi -lbl_800C77D8: -/* 800C77D8 38 60 00 01 */ li r3, 1 -/* 800C77DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C77E0 48 29 AA 49 */ bl _restgpr_29 -/* 800C77E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C77E8 7C 08 03 A6 */ mtlr r0 -/* 800C77EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C77F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s deleted file mode 100644 index c7626759c7..0000000000 --- a/asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800D57F8: -/* 800D57F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D57FC 7C 08 02 A6 */ mflr r0 -/* 800D5800 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D5804 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D5808 7C 7F 1B 78 */ mr r31, r3 -/* 800D580C A8 03 30 0E */ lha r0, 0x300e(r3) -/* 800D5810 2C 00 00 00 */ cmpwi r0, 0 -/* 800D5814 41 82 00 0C */ beq lbl_800D5820 -/* 800D5818 38 60 00 01 */ li r3, 1 -/* 800D581C 48 00 00 70 */ b lbl_800D588C -lbl_800D5820: -/* 800D5820 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800D5824 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800D5828 41 82 00 24 */ beq lbl_800D584C -/* 800D582C C0 3F 04 FC */ lfs f1, 0x4fc(r31) -/* 800D5830 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D5834 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D5838 4C 40 13 82 */ cror 2, 0, 2 -/* 800D583C 40 82 00 10 */ bne lbl_800D584C -/* 800D5840 80 9F 28 10 */ lwz r4, 0x2810(r31) -/* 800D5844 48 00 00 5D */ bl procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c -/* 800D5848 48 00 00 40 */ b lbl_800D5888 -lbl_800D584C: -/* 800D584C 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800D5850 48 08 8C 7D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D5854 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D5858 41 82 00 30 */ beq lbl_800D5888 -/* 800D585C A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800D5860 2C 00 00 00 */ cmpwi r0, 0 -/* 800D5864 40 82 00 24 */ bne lbl_800D5888 -/* 800D5868 38 00 00 01 */ li r0, 1 -/* 800D586C B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D5870 7F E3 FB 78 */ mr r3, r31 -/* 800D5874 38 80 00 79 */ li r4, 0x79 -/* 800D5878 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutDown_c0@ha /* 0x8038DD44@ha */ -/* 800D587C 38 A5 DD 44 */ addi r5, r5, m__21daAlinkHIO_cutDown_c0@l /* 0x8038DD44@l */ -/* 800D5880 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800D5884 4B FD 78 71 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -lbl_800D5888: -/* 800D5888 38 60 00 01 */ li r3, 1 -lbl_800D588C: -/* 800D588C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D5890 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D5894 7C 08 03 A6 */ mtlr r0 -/* 800D5898 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D589C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutFinishInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procCutFinishInit__9daAlink_cFi.s deleted file mode 100644 index b3af3cbe44..0000000000 --- a/asm/d/a/d_a_alink/procCutFinishInit__9daAlink_cFi.s +++ /dev/null @@ -1,238 +0,0 @@ -lbl_800D34D8: -/* 800D34D8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 800D34DC 7C 08 02 A6 */ mflr r0 -/* 800D34E0 90 01 00 44 */ stw r0, 0x44(r1) -/* 800D34E4 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 800D34E8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 800D34EC 39 61 00 30 */ addi r11, r1, 0x30 -/* 800D34F0 48 28 EC DD */ bl _savegpr_25 -/* 800D34F4 7C 7C 1B 78 */ mr r28, r3 -/* 800D34F8 7C 9D 23 78 */ mr r29, r4 -/* 800D34FC 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 800D3500 3B 64 D6 58 */ addi r27, r4, lit_3757@l /* 0x8038D658@l */ -/* 800D3504 57 A0 20 36 */ slwi r0, r29, 4 -/* 800D3508 3B FB 42 00 */ addi r31, r27, 0x4200 -/* 800D350C 7F FF 02 14 */ add r31, r31, r0 -/* 800D3510 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800D3514 20 00 00 0E */ subfic r0, r0, 0xe -/* 800D3518 7C 00 00 34 */ cntlzw r0, r0 -/* 800D351C 54 19 DE 3E */ rlwinm r25, r0, 0x1b, 0x18, 0x1f -/* 800D3520 38 80 00 22 */ li r4, 0x22 -/* 800D3524 4B FE EA 49 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D3528 7F 83 E3 78 */ mr r3, r28 -/* 800D352C 88 9F 00 08 */ lbz r4, 8(r31) -/* 800D3530 4B FF DF FD */ bl setCutType__9daAlink_cFUc -/* 800D3534 80 1F 00 04 */ lwz r0, 4(r31) -/* 800D3538 90 1C 31 98 */ stw r0, 0x3198(r28) -/* 800D353C 88 1F 00 0A */ lbz r0, 0xa(r31) -/* 800D3540 B0 1C 30 0C */ sth r0, 0x300c(r28) -/* 800D3544 88 1F 00 0B */ lbz r0, 0xb(r31) -/* 800D3548 B0 1C 30 0E */ sth r0, 0x300e(r28) -/* 800D354C 3B C0 00 00 */ li r30, 0 -/* 800D3550 2C 1D 00 00 */ cmpwi r29, 0 -/* 800D3554 40 82 00 0C */ bne lbl_800D3560 -/* 800D3558 3B 5B 03 8C */ addi r26, r27, 0x38c -/* 800D355C 48 00 00 50 */ b lbl_800D35AC -lbl_800D3560: -/* 800D3560 2C 1D 00 01 */ cmpwi r29, 1 -/* 800D3564 40 82 00 0C */ bne lbl_800D3570 -/* 800D3568 3B 5B 03 B8 */ addi r26, r27, 0x3b8 -/* 800D356C 48 00 00 40 */ b lbl_800D35AC -lbl_800D3570: -/* 800D3570 2C 1D 00 02 */ cmpwi r29, 2 -/* 800D3574 40 82 00 0C */ bne lbl_800D3580 -/* 800D3578 3B 5B 03 E4 */ addi r26, r27, 0x3e4 -/* 800D357C 48 00 00 30 */ b lbl_800D35AC -lbl_800D3580: -/* 800D3580 2C 1D 00 03 */ cmpwi r29, 3 -/* 800D3584 40 82 00 10 */ bne lbl_800D3594 -/* 800D3588 3B 5B 04 10 */ addi r26, r27, 0x410 -/* 800D358C 3B C0 00 01 */ li r30, 1 -/* 800D3590 48 00 00 1C */ b lbl_800D35AC -lbl_800D3594: -/* 800D3594 2C 1D 00 04 */ cmpwi r29, 4 -/* 800D3598 40 82 00 10 */ bne lbl_800D35A8 -/* 800D359C 3B 5B 04 3C */ addi r26, r27, 0x43c -/* 800D35A0 3B C0 00 01 */ li r30, 1 -/* 800D35A4 48 00 00 08 */ b lbl_800D35AC -lbl_800D35A8: -/* 800D35A8 3B 5B 04 68 */ addi r26, r27, 0x468 -lbl_800D35AC: -/* 800D35AC 2C 19 00 00 */ cmpwi r25, 0 -/* 800D35B0 41 82 00 0C */ beq lbl_800D35BC -/* 800D35B4 C3 FA 00 1C */ lfs f31, 0x1c(r26) -/* 800D35B8 48 00 00 1C */ b lbl_800D35D4 -lbl_800D35BC: -/* 800D35BC 88 1C 05 69 */ lbz r0, 0x569(r28) -/* 800D35C0 28 00 00 03 */ cmplwi r0, 3 -/* 800D35C4 40 82 00 0C */ bne lbl_800D35D0 -/* 800D35C8 C3 FA 00 28 */ lfs f31, 0x28(r26) -/* 800D35CC 48 00 00 08 */ b lbl_800D35D4 -lbl_800D35D0: -/* 800D35D0 C3 FA 00 08 */ lfs f31, 8(r26) -lbl_800D35D4: -/* 800D35D4 7F 83 E3 78 */ mr r3, r28 -/* 800D35D8 4B FE C7 D9 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 800D35DC 2C 03 00 00 */ cmpwi r3, 0 -/* 800D35E0 40 82 00 18 */ bne lbl_800D35F8 -/* 800D35E4 80 1C 05 70 */ lwz r0, 0x570(r28) -/* 800D35E8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800D35EC 41 82 00 0C */ beq lbl_800D35F8 -/* 800D35F0 C0 7F 00 0C */ lfs f3, 0xc(r31) -/* 800D35F4 48 00 00 08 */ b lbl_800D35FC -lbl_800D35F8: -/* 800D35F8 C0 7A 00 0C */ lfs f3, 0xc(r26) -lbl_800D35FC: -/* 800D35FC 7F 83 E3 78 */ mr r3, r28 -/* 800D3600 80 9F 00 00 */ lwz r4, 0(r31) -/* 800D3604 C0 3A 00 04 */ lfs f1, 4(r26) -/* 800D3608 FC 40 F8 90 */ fmr f2, f31 -/* 800D360C A8 BA 00 00 */ lha r5, 0(r26) -/* 800D3610 4B FD 99 FD */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800D3614 C0 1A 00 1C */ lfs f0, 0x1c(r26) -/* 800D3618 D0 1C 34 78 */ stfs f0, 0x3478(r28) -/* 800D361C C0 1A 00 20 */ lfs f0, 0x20(r26) -/* 800D3620 D0 1C 34 7C */ stfs f0, 0x347c(r28) -/* 800D3624 C0 1A 00 18 */ lfs f0, 0x18(r26) -/* 800D3628 D0 1C 34 80 */ stfs f0, 0x3480(r28) -/* 800D362C 7F 83 E3 78 */ mr r3, r28 -/* 800D3630 38 80 00 01 */ li r4, 1 -/* 800D3634 38 A0 00 01 */ li r5, 1 -/* 800D3638 4B FE 7E 81 */ bl checkHeavyStateOn__9daAlink_cFii -/* 800D363C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3640 41 82 00 14 */ beq lbl_800D3654 -/* 800D3644 C0 3C 34 80 */ lfs f1, 0x3480(r28) -/* 800D3648 C0 1C 34 34 */ lfs f0, 0x3434(r28) -/* 800D364C EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D3650 D0 1C 34 80 */ stfs f0, 0x3480(r28) -lbl_800D3654: -/* 800D3654 A8 1C 04 E6 */ lha r0, 0x4e6(r28) -/* 800D3658 B0 1C 04 DE */ sth r0, 0x4de(r28) -/* 800D365C 39 1B 08 34 */ addi r8, r27, 0x834 -/* 800D3660 A8 08 00 52 */ lha r0, 0x52(r8) -/* 800D3664 B0 1C 30 7E */ sth r0, 0x307e(r28) -/* 800D3668 88 1C 05 69 */ lbz r0, 0x569(r28) -/* 800D366C 28 00 00 03 */ cmplwi r0, 3 -/* 800D3670 40 82 00 44 */ bne lbl_800D36B4 -/* 800D3674 C0 1A 00 24 */ lfs f0, 0x24(r26) -/* 800D3678 D0 1C 34 84 */ stfs f0, 0x3484(r28) -/* 800D367C A8 1A 00 16 */ lha r0, 0x16(r26) -/* 800D3680 B0 1C 30 08 */ sth r0, 0x3008(r28) -/* 800D3684 7F 83 E3 78 */ mr r3, r28 -/* 800D3688 38 80 00 00 */ li r4, 0 -/* 800D368C 38 A0 00 01 */ li r5, 1 -/* 800D3690 88 DF 00 09 */ lbz r6, 9(r31) -/* 800D3694 38 E0 00 02 */ li r7, 2 -/* 800D3698 C0 28 00 74 */ lfs f1, 0x74(r8) -/* 800D369C C0 48 00 78 */ lfs f2, 0x78(r8) -/* 800D36A0 4B FF DF E9 */ bl setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff -/* 800D36A4 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020002@ha */ -/* 800D36A8 38 03 00 02 */ addi r0, r3, 0x0002 /* 0x00020002@l */ -/* 800D36AC 90 1C 32 D0 */ stw r0, 0x32d0(r28) -/* 800D36B0 48 00 00 60 */ b lbl_800D3710 -lbl_800D36B4: -/* 800D36B4 C0 1A 00 10 */ lfs f0, 0x10(r26) -/* 800D36B8 D0 1C 34 84 */ stfs f0, 0x3484(r28) -/* 800D36BC A8 1A 00 14 */ lha r0, 0x14(r26) -/* 800D36C0 B0 1C 30 08 */ sth r0, 0x3008(r28) -/* 800D36C4 7F 83 E3 78 */ mr r3, r28 -/* 800D36C8 38 80 00 01 */ li r4, 1 -/* 800D36CC 38 A0 00 03 */ li r5, 3 -/* 800D36D0 88 DF 00 09 */ lbz r6, 9(r31) -/* 800D36D4 30 1E FF FF */ addic r0, r30, -1 -/* 800D36D8 7C E0 F1 10 */ subfe r7, r0, r30 -/* 800D36DC 38 E7 00 03 */ addi r7, r7, 3 -/* 800D36E0 C0 28 00 74 */ lfs f1, 0x74(r8) -/* 800D36E4 C0 48 00 78 */ lfs f2, 0x78(r8) -/* 800D36E8 4B FF DF A1 */ bl setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff -/* 800D36EC 2C 1D 00 02 */ cmpwi r29, 2 -/* 800D36F0 40 82 00 14 */ bne lbl_800D3704 -/* 800D36F4 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020004@ha */ -/* 800D36F8 38 03 00 04 */ addi r0, r3, 0x0004 /* 0x00020004@l */ -/* 800D36FC 90 1C 32 D0 */ stw r0, 0x32d0(r28) -/* 800D3700 48 00 00 10 */ b lbl_800D3710 -lbl_800D3704: -/* 800D3704 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020003@ha */ -/* 800D3708 38 03 00 03 */ addi r0, r3, 0x0003 /* 0x00020003@l */ -/* 800D370C 90 1C 32 D0 */ stw r0, 0x32d0(r28) -lbl_800D3710: -/* 800D3710 2C 1E 00 00 */ cmpwi r30, 0 -/* 800D3714 41 82 00 18 */ beq lbl_800D372C -/* 800D3718 7F 83 E3 78 */ mr r3, r28 -/* 800D371C 3C 80 00 01 */ lis r4, 0x0001 /* 0x0001009A@ha */ -/* 800D3720 38 84 00 9A */ addi r4, r4, 0x009A /* 0x0001009A@l */ -/* 800D3724 4B FF EB 61 */ bl setSwordVoiceSe__9daAlink_cFUl -/* 800D3728 48 00 00 0C */ b lbl_800D3734 -lbl_800D372C: -/* 800D372C 7F 83 E3 78 */ mr r3, r28 -/* 800D3730 4B FF EB D5 */ bl setSwordComboVoice__9daAlink_cFv -lbl_800D3734: -/* 800D3734 38 00 00 0C */ li r0, 0xc -/* 800D3738 98 1C 2F 99 */ stb r0, 0x2f99(r28) -/* 800D373C 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D3740 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D3744 D0 1C 35 88 */ stfs f0, 0x3588(r28) -/* 800D3748 C0 03 00 04 */ lfs f0, 4(r3) -/* 800D374C D0 1C 35 8C */ stfs f0, 0x358c(r28) -/* 800D3750 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D3754 D0 1C 35 90 */ stfs f0, 0x3590(r28) -/* 800D3758 88 1C 05 68 */ lbz r0, 0x568(r28) -/* 800D375C 28 00 00 1A */ cmplwi r0, 0x1a -/* 800D3760 41 82 00 0C */ beq lbl_800D376C -/* 800D3764 28 00 00 20 */ cmplwi r0, 0x20 -/* 800D3768 40 82 00 0C */ bne lbl_800D3774 -lbl_800D376C: -/* 800D376C 38 00 00 0D */ li r0, 0xd -/* 800D3770 98 1C 2F 99 */ stb r0, 0x2f99(r28) -lbl_800D3774: -/* 800D3774 38 00 00 00 */ li r0, 0 -/* 800D3778 B0 1C 30 12 */ sth r0, 0x3012(r28) -/* 800D377C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D3780 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D3784 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800D3788 60 00 80 00 */ ori r0, r0, 0x8000 -/* 800D378C 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800D3790 7F 83 E3 78 */ mr r3, r28 -/* 800D3794 48 05 09 B1 */ bl setCutWaterDropEffect__9daAlink_cFv -/* 800D3798 7F 83 E3 78 */ mr r3, r28 -/* 800D379C 4B FF F4 61 */ bl initCutAtnActorSearch__9daAlink_cFv -/* 800D37A0 80 7C 27 E0 */ lwz r3, 0x27e0(r28) -/* 800D37A4 38 80 00 00 */ li r4, 0 -/* 800D37A8 4B F9 FD 95 */ bl LockonTarget__12dAttention_cFl -/* 800D37AC 28 03 00 00 */ cmplwi r3, 0 -/* 800D37B0 41 82 00 28 */ beq lbl_800D37D8 -/* 800D37B4 2C 1E 00 00 */ cmpwi r30, 0 -/* 800D37B8 41 82 00 20 */ beq lbl_800D37D8 -/* 800D37BC 80 7C 27 E0 */ lwz r3, 0x27e0(r28) -/* 800D37C0 38 80 00 00 */ li r4, 0 -/* 800D37C4 4B F9 FD 79 */ bl LockonTarget__12dAttention_cFl -/* 800D37C8 7C 64 1B 78 */ mr r4, r3 -/* 800D37CC 38 7C 28 0C */ addi r3, r28, 0x280c -/* 800D37D0 48 08 B4 E9 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 800D37D4 48 00 00 0C */ b lbl_800D37E0 -lbl_800D37D8: -/* 800D37D8 38 7C 28 0C */ addi r3, r28, 0x280c -/* 800D37DC 48 08 B5 21 */ bl clearData__16daPy_actorKeep_cFv -lbl_800D37E0: -/* 800D37E0 88 1C 05 68 */ lbz r0, 0x568(r28) -/* 800D37E4 28 00 00 1A */ cmplwi r0, 0x1a -/* 800D37E8 41 82 00 0C */ beq lbl_800D37F4 -/* 800D37EC 28 00 00 1F */ cmplwi r0, 0x1f -/* 800D37F0 40 82 00 10 */ bne lbl_800D3800 -lbl_800D37F4: -/* 800D37F4 38 00 00 01 */ li r0, 1 -/* 800D37F8 98 1C 2F D0 */ stb r0, 0x2fd0(r28) -/* 800D37FC 48 00 00 0C */ b lbl_800D3808 -lbl_800D3800: -/* 800D3800 38 00 00 00 */ li r0, 0 -/* 800D3804 98 1C 2F D0 */ stb r0, 0x2fd0(r28) -lbl_800D3808: -/* 800D3808 38 60 00 01 */ li r3, 1 -/* 800D380C E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 800D3810 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 800D3814 39 61 00 30 */ addi r11, r1, 0x30 -/* 800D3818 48 28 EA 01 */ bl _restgpr_25 -/* 800D381C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800D3820 7C 08 03 A6 */ mtlr r0 -/* 800D3824 38 21 00 40 */ addi r1, r1, 0x40 -/* 800D3828 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutFinishJumpUpInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutFinishJumpUpInit__9daAlink_cFv.s deleted file mode 100644 index 8536512307..0000000000 --- a/asm/d/a/d_a_alink/procCutFinishJumpUpInit__9daAlink_cFv.s +++ /dev/null @@ -1,131 +0,0 @@ -lbl_800D3ADC: -/* 800D3ADC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800D3AE0 7C 08 02 A6 */ mflr r0 -/* 800D3AE4 90 01 00 34 */ stw r0, 0x34(r1) -/* 800D3AE8 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 800D3AEC F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 800D3AF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D3AF4 48 28 E6 E9 */ bl _savegpr_29 -/* 800D3AF8 7C 7E 1B 78 */ mr r30, r3 -/* 800D3AFC 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 800D3B00 3B E4 D6 58 */ addi r31, r4, lit_3757@l /* 0x8038D658@l */ -/* 800D3B04 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800D3B08 20 00 00 11 */ subfic r0, r0, 0x11 -/* 800D3B0C 7C 00 00 34 */ cntlzw r0, r0 -/* 800D3B10 54 1D DE 3E */ rlwinm r29, r0, 0x1b, 0x18, 0x1f -/* 800D3B14 38 80 00 23 */ li r4, 0x23 -/* 800D3B18 4B FE E4 55 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D3B1C A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800D3B20 28 00 01 03 */ cmplwi r0, 0x103 -/* 800D3B24 41 82 00 1C */ beq lbl_800D3B40 -/* 800D3B28 7F C3 F3 78 */ mr r3, r30 -/* 800D3B2C 38 80 00 00 */ li r4, 0 -/* 800D3B30 38 A0 00 00 */ li r5, 0 -/* 800D3B34 4B FE D7 A9 */ bl deleteEquipItem__9daAlink_cFii -/* 800D3B38 7F C3 F3 78 */ mr r3, r30 -/* 800D3B3C 4B FF D7 2D */ bl setSwordModel__9daAlink_cFv -lbl_800D3B40: -/* 800D3B40 7F C3 F3 78 */ mr r3, r30 -/* 800D3B44 38 80 00 1E */ li r4, 0x1e -/* 800D3B48 4B FF D9 E5 */ bl setCutType__9daAlink_cFUc -/* 800D3B4C 38 7F 04 94 */ addi r3, r31, 0x494 -/* 800D3B50 C0 03 00 30 */ lfs f0, 0x30(r3) -/* 800D3B54 D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800D3B58 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800D3B5C D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D3B60 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800D3B64 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800D3B68 41 82 00 2C */ beq lbl_800D3B94 -/* 800D3B6C C0 3E 33 98 */ lfs f1, 0x3398(r30) -/* 800D3B70 38 7F 11 9C */ addi r3, r31, 0x119c -/* 800D3B74 C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 800D3B78 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D3B7C D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D3B80 C0 3E 04 FC */ lfs f1, 0x4fc(r30) -/* 800D3B84 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D3B88 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D3B8C D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800D3B90 48 00 00 2C */ b lbl_800D3BBC -lbl_800D3B94: -/* 800D3B94 7F C3 F3 78 */ mr r3, r30 -/* 800D3B98 38 80 00 01 */ li r4, 1 -/* 800D3B9C 38 A0 00 01 */ li r5, 1 -/* 800D3BA0 4B FE 79 19 */ bl checkHeavyStateOn__9daAlink_cFii -/* 800D3BA4 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3BA8 41 82 00 14 */ beq lbl_800D3BBC -/* 800D3BAC C0 3E 04 FC */ lfs f1, 0x4fc(r30) -/* 800D3BB0 C0 02 93 2C */ lfs f0, lit_7624(r2) -/* 800D3BB4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D3BB8 D0 1E 04 FC */ stfs f0, 0x4fc(r30) -lbl_800D3BBC: -/* 800D3BBC 2C 1D 00 00 */ cmpwi r29, 0 -/* 800D3BC0 41 82 00 30 */ beq lbl_800D3BF0 -/* 800D3BC4 88 1E 2F 98 */ lbz r0, 0x2f98(r30) -/* 800D3BC8 28 00 00 02 */ cmplwi r0, 2 -/* 800D3BCC 40 82 00 14 */ bne lbl_800D3BE0 -/* 800D3BD0 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800D3BD4 38 03 40 00 */ addi r0, r3, 0x4000 -/* 800D3BD8 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800D3BDC 48 00 00 1C */ b lbl_800D3BF8 -lbl_800D3BE0: -/* 800D3BE0 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800D3BE4 38 03 C0 00 */ addi r0, r3, -16384 -/* 800D3BE8 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800D3BEC 48 00 00 0C */ b lbl_800D3BF8 -lbl_800D3BF0: -/* 800D3BF0 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800D3BF4 B0 1E 04 DE */ sth r0, 0x4de(r30) -lbl_800D3BF8: -/* 800D3BF8 38 7F 08 34 */ addi r3, r31, 0x834 -/* 800D3BFC A8 03 00 52 */ lha r0, 0x52(r3) -/* 800D3C00 B0 1E 30 7E */ sth r0, 0x307e(r30) -/* 800D3C04 38 7F 04 94 */ addi r3, r31, 0x494 -/* 800D3C08 C3 E3 00 08 */ lfs f31, 8(r3) -/* 800D3C0C 4B FF D3 51 */ bl getSwordAtType__9daAlink_cFv -/* 800D3C10 7C 64 1B 78 */ mr r4, r3 -/* 800D3C14 7F C3 F3 78 */ mr r3, r30 -/* 800D3C18 38 A0 00 01 */ li r5, 1 -/* 800D3C1C 38 C0 00 03 */ li r6, 3 -/* 800D3C20 38 E0 00 01 */ li r7, 1 -/* 800D3C24 39 00 00 03 */ li r8, 3 -/* 800D3C28 39 3F 04 94 */ addi r9, r31, 0x494 -/* 800D3C2C C0 29 00 4C */ lfs f1, 0x4c(r9) -/* 800D3C30 C0 42 93 30 */ lfs f2, lit_7625(r2) -/* 800D3C34 4B FF D9 0D */ bl setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff -/* 800D3C38 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020003@ha */ -/* 800D3C3C 38 03 00 03 */ addi r0, r3, 0x0003 /* 0x00020003@l */ -/* 800D3C40 90 1E 32 CC */ stw r0, 0x32cc(r30) -/* 800D3C44 7F C3 F3 78 */ mr r3, r30 -/* 800D3C48 38 80 00 6D */ li r4, 0x6d -/* 800D3C4C 38 DF 04 94 */ addi r6, r31, 0x494 -/* 800D3C50 C0 26 00 04 */ lfs f1, 4(r6) -/* 800D3C54 FC 40 F8 90 */ fmr f2, f31 -/* 800D3C58 A8 BF 04 94 */ lha r5, 0x494(r31) -/* 800D3C5C C0 66 00 0C */ lfs f3, 0xc(r6) -/* 800D3C60 4B FD 93 AD */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800D3C64 7F C3 F3 78 */ mr r3, r30 -/* 800D3C68 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010097@ha */ -/* 800D3C6C 38 84 00 97 */ addi r4, r4, 0x0097 /* 0x00010097@l */ -/* 800D3C70 4B FF E6 15 */ bl setSwordVoiceSe__9daAlink_cFUl -/* 800D3C74 38 00 00 00 */ li r0, 0 -/* 800D3C78 B0 1E 30 12 */ sth r0, 0x3012(r30) -/* 800D3C7C C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 800D3C80 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 800D3C84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D3C88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D3C8C 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800D3C90 60 00 80 00 */ ori r0, r0, 0x8000 -/* 800D3C94 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800D3C98 7F C3 F3 78 */ mr r3, r30 -/* 800D3C9C 48 05 04 A9 */ bl setCutWaterDropEffect__9daAlink_cFv -/* 800D3CA0 38 00 00 01 */ li r0, 1 -/* 800D3CA4 98 1E 2F D0 */ stb r0, 0x2fd0(r30) -/* 800D3CA8 38 60 00 01 */ li r3, 1 -/* 800D3CAC E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800D3CB0 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800D3CB4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D3CB8 48 28 E5 71 */ bl _restgpr_29 -/* 800D3CBC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800D3CC0 7C 08 03 A6 */ mtlr r0 -/* 800D3CC4 38 21 00 30 */ addi r1, r1, 0x30 -/* 800D3CC8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutFinishJumpUpLandInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutFinishJumpUpLandInit__9daAlink_cFv.s deleted file mode 100644 index 544a718835..0000000000 --- a/asm/d/a/d_a_alink/procCutFinishJumpUpLandInit__9daAlink_cFv.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_800D3DD8: -/* 800D3DD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D3DDC 7C 08 02 A6 */ mflr r0 -/* 800D3DE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D3DE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D3DE8 7C 7F 1B 78 */ mr r31, r3 -/* 800D3DEC 38 80 00 24 */ li r4, 0x24 -/* 800D3DF0 4B FE E1 7D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D3DF4 7F E3 FB 78 */ mr r3, r31 -/* 800D3DF8 48 00 31 E9 */ bl checkCutLandDamage__9daAlink_cFv -/* 800D3DFC 7F E3 FB 78 */ mr r3, r31 -/* 800D3E00 38 80 00 6E */ li r4, 0x6e -/* 800D3E04 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutFnJU_c0@ha /* 0x8038DAEC@ha */ -/* 800D3E08 38 A5 DA EC */ addi r5, r5, m__21daAlinkHIO_cutFnJU_c0@l /* 0x8038DAEC@l */ -/* 800D3E0C 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800D3E10 4B FD 92 E5 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D3E14 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D3E18 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D3E1C 7F E3 FB 78 */ mr r3, r31 -/* 800D3E20 38 80 00 1E */ li r4, 0x1e -/* 800D3E24 4B FF D7 09 */ bl setCutType__9daAlink_cFUc -/* 800D3E28 38 00 00 04 */ li r0, 4 -/* 800D3E2C 98 1F 2F 9D */ stb r0, 0x2f9d(r31) -/* 800D3E30 7F E3 FB 78 */ mr r3, r31 -/* 800D3E34 38 80 00 02 */ li r4, 2 -/* 800D3E38 48 04 D3 89 */ bl setFootEffectProcType__9daAlink_cFi -/* 800D3E3C 80 1F 05 84 */ lwz r0, 0x584(r31) -/* 800D3E40 60 00 00 30 */ ori r0, r0, 0x30 -/* 800D3E44 90 1F 05 84 */ stw r0, 0x584(r31) -/* 800D3E48 88 1F 05 69 */ lbz r0, 0x569(r31) -/* 800D3E4C 28 00 00 03 */ cmplwi r0, 3 -/* 800D3E50 40 82 00 20 */ bne lbl_800D3E70 -/* 800D3E54 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutFnJU_c0@ha /* 0x8038DAEC@ha */ -/* 800D3E58 38 63 DA EC */ addi r3, r3, m__21daAlinkHIO_cutFnJU_c0@l /* 0x8038DAEC@l */ -/* 800D3E5C C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 800D3E60 D0 1F 34 84 */ stfs f0, 0x3484(r31) -/* 800D3E64 A8 03 00 2A */ lha r0, 0x2a(r3) -/* 800D3E68 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800D3E6C 48 00 00 1C */ b lbl_800D3E88 -lbl_800D3E70: -/* 800D3E70 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutFnJU_c0@ha /* 0x8038DAEC@ha */ -/* 800D3E74 38 63 DA EC */ addi r3, r3, m__21daAlinkHIO_cutFnJU_c0@l /* 0x8038DAEC@l */ -/* 800D3E78 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800D3E7C D0 1F 34 84 */ stfs f0, 0x3484(r31) -/* 800D3E80 A8 03 00 28 */ lha r0, 0x28(r3) -/* 800D3E84 B0 1F 30 08 */ sth r0, 0x3008(r31) -lbl_800D3E88: -/* 800D3E88 38 00 00 00 */ li r0, 0 -/* 800D3E8C B0 1F 30 12 */ sth r0, 0x3012(r31) -/* 800D3E90 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D3E94 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D3E98 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 800D3E9C C0 03 00 04 */ lfs f0, 4(r3) -/* 800D3EA0 D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 800D3EA4 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D3EA8 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 800D3EAC 7F E3 FB 78 */ mr r3, r31 -/* 800D3EB0 4B FF ED 4D */ bl initCutAtnActorSearch__9daAlink_cFv -/* 800D3EB4 38 60 00 01 */ li r3, 1 -/* 800D3EB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D3EBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D3EC0 7C 08 03 A6 */ mtlr r0 -/* 800D3EC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D3EC8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutFinishJumpUpLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutFinishJumpUpLand__9daAlink_cFv.s deleted file mode 100644 index 080a4d1606..0000000000 --- a/asm/d/a/d_a_alink/procCutFinishJumpUpLand__9daAlink_cFv.s +++ /dev/null @@ -1,114 +0,0 @@ -lbl_800D3ECC: -/* 800D3ECC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D3ED0 7C 08 02 A6 */ mflr r0 -/* 800D3ED4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D3ED8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D3EDC 93 C1 00 08 */ stw r30, 8(r1) -/* 800D3EE0 7C 7E 1B 78 */ mr r30, r3 -/* 800D3EE4 4B FE 60 6D */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D3EE8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3EEC 41 82 00 0C */ beq lbl_800D3EF8 -/* 800D3EF0 38 60 00 01 */ li r3, 1 -/* 800D3EF4 48 00 01 5C */ b lbl_800D4050 -lbl_800D3EF8: -/* 800D3EF8 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800D3EFC 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800D3F00 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D3F04 90 1E 05 88 */ stw r0, 0x588(r30) -/* 800D3F08 7F C3 F3 78 */ mr r3, r30 -/* 800D3F0C 4B FF E1 F1 */ bl setComboReserb__9daAlink_cFv -/* 800D3F10 7F C3 F3 78 */ mr r3, r30 -/* 800D3F14 4B FF E7 71 */ bl checkCutTurnCharge__9daAlink_cFv -/* 800D3F18 38 00 00 04 */ li r0, 4 -/* 800D3F1C 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 800D3F20 7F C3 F3 78 */ mr r3, r30 -/* 800D3F24 4B FF ED 31 */ bl checkCutAtnActorChange__9daAlink_cFv -/* 800D3F28 7F E3 FB 78 */ mr r3, r31 -/* 800D3F2C 48 08 A5 A1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D3F30 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D3F34 41 82 00 88 */ beq lbl_800D3FBC -/* 800D3F38 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 800D3F3C 28 00 00 52 */ cmplwi r0, 0x52 -/* 800D3F40 40 82 00 1C */ bne lbl_800D3F5C -/* 800D3F44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D3F48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D3F4C 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D3F50 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 800D3F54 4B F7 42 29 */ bl cutEnd__16dEvent_manager_cFi -/* 800D3F58 48 00 00 F4 */ b lbl_800D404C -lbl_800D3F5C: -/* 800D3F5C A8 1E 30 08 */ lha r0, 0x3008(r30) -/* 800D3F60 2C 00 00 00 */ cmpwi r0, 0 -/* 800D3F64 40 81 00 38 */ ble lbl_800D3F9C -/* 800D3F68 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3F6C C0 1E 34 84 */ lfs f0, 0x3484(r30) -/* 800D3F70 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3F74 40 81 00 18 */ ble lbl_800D3F8C -/* 800D3F78 7F C3 F3 78 */ mr r3, r30 -/* 800D3F7C 38 80 00 03 */ li r4, 3 -/* 800D3F80 4B FF E7 E1 */ bl checkCutCancelNextMode__9daAlink_cFi -/* 800D3F84 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3F88 40 82 00 C4 */ bne lbl_800D404C -lbl_800D3F8C: -/* 800D3F8C A8 7E 30 08 */ lha r3, 0x3008(r30) -/* 800D3F90 38 03 FF FF */ addi r0, r3, -1 -/* 800D3F94 B0 1E 30 08 */ sth r0, 0x3008(r30) -/* 800D3F98 48 00 00 B4 */ b lbl_800D404C -lbl_800D3F9C: -/* 800D3F9C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D3FA0 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D3FA4 38 00 00 02 */ li r0, 2 -/* 800D3FA8 98 1E 2F 98 */ stb r0, 0x2f98(r30) -/* 800D3FAC 7F C3 F3 78 */ mr r3, r30 -/* 800D3FB0 38 80 00 00 */ li r4, 0 -/* 800D3FB4 4B FE 61 1D */ bl checkNextAction__9daAlink_cFi -/* 800D3FB8 48 00 00 94 */ b lbl_800D404C -lbl_800D3FBC: -/* 800D3FBC C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3FC0 C0 1E 34 84 */ lfs f0, 0x3484(r30) -/* 800D3FC4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3FC8 40 81 00 18 */ ble lbl_800D3FE0 -/* 800D3FCC 7F C3 F3 78 */ mr r3, r30 -/* 800D3FD0 38 80 00 03 */ li r4, 3 -/* 800D3FD4 4B FF E7 8D */ bl checkCutCancelNextMode__9daAlink_cFi -/* 800D3FD8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3FDC 40 82 00 70 */ bne lbl_800D404C -lbl_800D3FE0: -/* 800D3FE0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3FE4 C0 1E 34 84 */ lfs f0, 0x3484(r30) -/* 800D3FE8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3FEC 40 81 00 10 */ ble lbl_800D3FFC -/* 800D3FF0 7F C3 F3 78 */ mr r3, r30 -/* 800D3FF4 38 80 00 01 */ li r4, 1 -/* 800D3FF8 4B FF D4 39 */ bl resetCombo__9daAlink_cFi -lbl_800D3FFC: -/* 800D3FFC 7F C3 F3 78 */ mr r3, r30 -/* 800D4000 A8 9E 30 10 */ lha r4, 0x3010(r30) -/* 800D4004 4B FD F7 31 */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 800D4008 7F C3 F3 78 */ mr r3, r30 -/* 800D400C 4B FD F6 25 */ bl getShapeAngleYAtnActor__9daAlink_cFv -/* 800D4010 A8 9E 04 E6 */ lha r4, 0x4e6(r30) -/* 800D4014 48 19 CE 11 */ bl cLib_distanceAngleS__Fss -/* 800D4018 2C 03 08 00 */ cmpwi r3, 0x800 -/* 800D401C 40 80 00 0C */ bge lbl_800D4028 -/* 800D4020 38 00 00 01 */ li r0, 1 -/* 800D4024 B0 1E 30 10 */ sth r0, 0x3010(r30) -lbl_800D4028: -/* 800D4028 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800D402C B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800D4030 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D4034 C0 02 93 34 */ lfs f0, lit_7710(r2) -/* 800D4038 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D403C 4C 41 13 82 */ cror 2, 1, 2 -/* 800D4040 40 82 00 0C */ bne lbl_800D404C -/* 800D4044 38 00 00 00 */ li r0, 0 -/* 800D4048 98 1E 2F 92 */ stb r0, 0x2f92(r30) -lbl_800D404C: -/* 800D404C 38 60 00 01 */ li r3, 1 -lbl_800D4050: -/* 800D4050 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D4054 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D4058 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D405C 7C 08 03 A6 */ mtlr r0 -/* 800D4060 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D4064 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutFinishJumpUp__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutFinishJumpUp__9daAlink_cFv.s deleted file mode 100644 index 4ecc67f480..0000000000 --- a/asm/d/a/d_a_alink/procCutFinishJumpUp__9daAlink_cFv.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_800D3CCC: -/* 800D3CCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D3CD0 7C 08 02 A6 */ mflr r0 -/* 800D3CD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D3CD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D3CDC 7C 7F 1B 78 */ mr r31, r3 -/* 800D3CE0 C0 23 1F E0 */ lfs f1, 0x1fe0(r3) -/* 800D3CE4 C0 02 93 1C */ lfs f0, lit_7448(r2) -/* 800D3CE8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3CEC 4C 41 13 82 */ cror 2, 1, 2 -/* 800D3CF0 40 82 00 10 */ bne lbl_800D3D00 -/* 800D3CF4 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800D3CF8 54 00 06 2C */ rlwinm r0, r0, 0, 0x18, 0x16 -/* 800D3CFC 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800D3D00: -/* 800D3D00 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 800D3D04 C0 02 92 C4 */ lfs f0, lit_6109(r2) -/* 800D3D08 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3D0C 4C 41 13 82 */ cror 2, 1, 2 -/* 800D3D10 40 82 00 0C */ bne lbl_800D3D1C -/* 800D3D14 38 00 00 64 */ li r0, 0x64 -/* 800D3D18 98 1F 2F 92 */ stb r0, 0x2f92(r31) -lbl_800D3D1C: -/* 800D3D1C 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800D3D20 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800D3D24 41 82 00 10 */ beq lbl_800D3D34 -/* 800D3D28 7F E3 FB 78 */ mr r3, r31 -/* 800D3D2C 48 00 00 AD */ bl procCutFinishJumpUpLandInit__9daAlink_cFv -/* 800D3D30 48 00 00 94 */ b lbl_800D3DC4 -lbl_800D3D34: -/* 800D3D34 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800D3D38 28 00 00 52 */ cmplwi r0, 0x52 -/* 800D3D3C 41 82 00 38 */ beq lbl_800D3D74 -/* 800D3D40 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 800D3D44 C0 3F 34 FC */ lfs f1, 0x34fc(r31) -/* 800D3D48 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutFnJU_c0@ha /* 0x8038DAEC@ha */ -/* 800D3D4C 38 A3 DA EC */ addi r5, r3, m__21daAlinkHIO_cutFnJU_c0@l /* 0x8038DAEC@l */ -/* 800D3D50 C0 05 00 44 */ lfs f0, 0x44(r5) -/* 800D3D54 EC 01 00 28 */ fsubs f0, f1, f0 -/* 800D3D58 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800D3D5C 40 80 00 18 */ bge lbl_800D3D74 -/* 800D3D60 7F E3 FB 78 */ mr r3, r31 -/* 800D3D64 38 80 00 02 */ li r4, 2 -/* 800D3D68 C0 25 00 48 */ lfs f1, 0x48(r5) -/* 800D3D6C 4B FF 2C DD */ bl procFallInit__9daAlink_cFif -/* 800D3D70 48 00 00 54 */ b lbl_800D3DC4 -lbl_800D3D74: -/* 800D3D74 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 800D3D78 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutFnJU_c0@ha /* 0x8038DAEC@ha */ -/* 800D3D7C 38 63 DA EC */ addi r3, r3, m__21daAlinkHIO_cutFnJU_c0@l /* 0x8038DAEC@l */ -/* 800D3D80 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 800D3D84 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3D88 4C 41 13 82 */ cror 2, 1, 2 -/* 800D3D8C 40 82 00 34 */ bne lbl_800D3DC0 -/* 800D3D90 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D3D94 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3D98 40 80 00 28 */ bge lbl_800D3DC0 -/* 800D3D9C 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800D3DA0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D3DA4 40 82 00 10 */ bne lbl_800D3DB4 -/* 800D3DA8 7F E3 FB 78 */ mr r3, r31 -/* 800D3DAC 80 9F 32 CC */ lwz r4, 0x32cc(r31) -/* 800D3DB0 4B FE B3 3D */ bl seStartSwordCut__9daAlink_cFUl -lbl_800D3DB4: -/* 800D3DB4 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800D3DB8 60 00 00 02 */ ori r0, r0, 2 -/* 800D3DBC 90 1F 05 80 */ stw r0, 0x580(r31) -lbl_800D3DC0: -/* 800D3DC0 38 60 00 01 */ li r3, 1 -lbl_800D3DC4: -/* 800D3DC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D3DC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D3DCC 7C 08 03 A6 */ mtlr r0 -/* 800D3DD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D3DD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutHeadLandInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutHeadLandInit__9daAlink_cFv.s deleted file mode 100644 index a78afcebf4..0000000000 --- a/asm/d/a/d_a_alink/procCutHeadLandInit__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800D6130: -/* 800D6130 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6134 7C 08 02 A6 */ mflr r0 -/* 800D6138 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D613C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D6140 7C 7F 1B 78 */ mr r31, r3 -/* 800D6144 38 80 00 2E */ li r4, 0x2e -/* 800D6148 4B FE BE 25 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D614C 7F E3 FB 78 */ mr r3, r31 -/* 800D6150 48 00 0E 91 */ bl checkCutLandDamage__9daAlink_cFv -/* 800D6154 7F E3 FB 78 */ mr r3, r31 -/* 800D6158 38 80 00 7E */ li r4, 0x7e -/* 800D615C 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutHead_c0@ha /* 0x8038DDB8@ha */ -/* 800D6160 38 A5 DD B8 */ addi r5, r5, m__21daAlinkHIO_cutHead_c0@l /* 0x8038DDB8@l */ -/* 800D6164 38 A5 00 28 */ addi r5, r5, 0x28 -/* 800D6168 4B FD 6F 8D */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D616C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D6170 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D6174 38 60 00 01 */ li r3, 1 -/* 800D6178 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D617C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6180 7C 08 03 A6 */ mtlr r0 -/* 800D6184 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6188 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutHeadLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutHeadLand__9daAlink_cFv.s deleted file mode 100644 index e444f83ad4..0000000000 --- a/asm/d/a/d_a_alink/procCutHeadLand__9daAlink_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800D618C: -/* 800D618C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6190 7C 08 02 A6 */ mflr r0 -/* 800D6194 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6198 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D619C 93 C1 00 08 */ stw r30, 8(r1) -/* 800D61A0 7C 7E 1B 78 */ mr r30, r3 -/* 800D61A4 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800D61A8 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D61AC 90 03 05 88 */ stw r0, 0x588(r3) -/* 800D61B0 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800D61B4 7F E3 FB 78 */ mr r3, r31 -/* 800D61B8 48 08 83 15 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D61BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D61C0 41 82 00 38 */ beq lbl_800D61F8 -/* 800D61C4 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 800D61C8 28 00 00 53 */ cmplwi r0, 0x53 -/* 800D61CC 40 82 00 1C */ bne lbl_800D61E8 -/* 800D61D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D61D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D61D8 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D61DC 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 800D61E0 4B F7 1F 9D */ bl cutEnd__16dEvent_manager_cFi -/* 800D61E4 48 00 00 38 */ b lbl_800D621C -lbl_800D61E8: -/* 800D61E8 7F C3 F3 78 */ mr r3, r30 -/* 800D61EC 38 80 00 00 */ li r4, 0 -/* 800D61F0 4B FE 3E E1 */ bl checkNextAction__9daAlink_cFi -/* 800D61F4 48 00 00 28 */ b lbl_800D621C -lbl_800D61F8: -/* 800D61F8 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D61FC 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutHead_c0@ha /* 0x8038DDB8@ha */ -/* 800D6200 38 63 DD B8 */ addi r3, r3, m__21daAlinkHIO_cutHead_c0@l /* 0x8038DDB8@l */ -/* 800D6204 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D6208 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D620C 40 81 00 10 */ ble lbl_800D621C -/* 800D6210 7F C3 F3 78 */ mr r3, r30 -/* 800D6214 38 80 00 01 */ li r4, 1 -/* 800D6218 4B FE 3E B9 */ bl checkNextAction__9daAlink_cFi -lbl_800D621C: -/* 800D621C 38 60 00 01 */ li r3, 1 -/* 800D6220 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6224 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D6228 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D622C 7C 08 03 A6 */ mtlr r0 -/* 800D6230 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6234 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s deleted file mode 100644 index d56c428d9f..0000000000 --- a/asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_800D5FC8: -/* 800D5FC8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D5FCC 7C 08 02 A6 */ mflr r0 -/* 800D5FD0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D5FD4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D5FD8 93 C1 00 08 */ stw r30, 8(r1) -/* 800D5FDC 7C 7E 1B 78 */ mr r30, r3 -/* 800D5FE0 A8 03 30 0E */ lha r0, 0x300e(r3) -/* 800D5FE4 2C 00 00 00 */ cmpwi r0, 0 -/* 800D5FE8 40 82 00 80 */ bne lbl_800D6068 -/* 800D5FEC 38 7E 33 98 */ addi r3, r30, 0x3398 -/* 800D5FF0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D5FF4 C0 5E 34 78 */ lfs f2, 0x3478(r30) -/* 800D5FF8 48 19 A7 49 */ bl cLib_chaseF__FPfff -/* 800D5FFC C0 3E 04 FC */ lfs f1, 0x4fc(r30) -/* 800D6000 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D6004 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6008 4C 40 13 82 */ cror 2, 0, 2 -/* 800D600C 40 82 01 08 */ bne lbl_800D6114 -/* 800D6010 7F C3 F3 78 */ mr r3, r30 -/* 800D6014 38 80 00 7D */ li r4, 0x7d -/* 800D6018 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutHead_c0@ha /* 0x8038DDB8@ha */ -/* 800D601C 38 A5 DD B8 */ addi r5, r5, m__21daAlinkHIO_cutHead_c0@l /* 0x8038DDB8@l */ -/* 800D6020 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800D6024 4B FD 70 D1 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D6028 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D602C D0 3E 33 98 */ stfs f1, 0x3398(r30) -/* 800D6030 D0 3E 04 FC */ stfs f1, 0x4fc(r30) -/* 800D6034 7F C3 F3 78 */ mr r3, r30 -/* 800D6038 C0 5E 05 34 */ lfs f2, 0x534(r30) -/* 800D603C 38 80 00 00 */ li r4, 0 -/* 800D6040 4B FE 57 31 */ bl setSpecialGravity__9daAlink_cFffi -/* 800D6044 38 00 00 01 */ li r0, 1 -/* 800D6048 B0 1E 30 0E */ sth r0, 0x300e(r30) -/* 800D604C 7F C3 F3 78 */ mr r3, r30 -/* 800D6050 48 04 E0 F5 */ bl setCutWaterDropEffect__9daAlink_cFv -/* 800D6054 7F C3 F3 78 */ mr r3, r30 -/* 800D6058 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010099@ha */ -/* 800D605C 38 84 00 99 */ addi r4, r4, 0x0099 /* 0x00010099@l */ -/* 800D6060 4B FF C2 25 */ bl setSwordVoiceSe__9daAlink_cFUl -/* 800D6064 48 00 00 B0 */ b lbl_800D6114 -lbl_800D6068: -/* 800D6068 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800D606C C0 3E 33 98 */ lfs f1, 0x3398(r30) -/* 800D6070 C0 02 93 70 */ lfs f0, lit_8501(r2) -/* 800D6074 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D6078 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D607C 7F E3 FB 78 */ mr r3, r31 -/* 800D6080 C0 22 93 74 */ lfs f1, lit_8502(r2) -/* 800D6084 48 25 23 A9 */ bl checkPass__12J3DFrameCtrlFf -/* 800D6088 2C 03 00 00 */ cmpwi r3, 0 -/* 800D608C 41 82 00 24 */ beq lbl_800D60B0 -/* 800D6090 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutHead_c0@ha /* 0x8038DDB8@ha */ -/* 800D6094 38 63 DD B8 */ addi r3, r3, m__21daAlinkHIO_cutHead_c0@l /* 0x8038DDB8@l */ -/* 800D6098 C0 03 00 48 */ lfs f0, 0x48(r3) -/* 800D609C D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 800D60A0 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 800D60A4 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D60A8 7F C3 F3 78 */ mr r3, r30 -/* 800D60AC 4B FE 55 99 */ bl initGravity__9daAlink_cFv -lbl_800D60B0: -/* 800D60B0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D60B4 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutHead_c0@ha /* 0x8038DDB8@ha */ -/* 800D60B8 38 63 DD B8 */ addi r3, r3, m__21daAlinkHIO_cutHead_c0@l /* 0x8038DDB8@l */ -/* 800D60BC C0 03 00 50 */ lfs f0, 0x50(r3) -/* 800D60C0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D60C4 4C 41 13 82 */ cror 2, 1, 2 -/* 800D60C8 40 82 00 38 */ bne lbl_800D6100 -/* 800D60CC C0 03 00 54 */ lfs f0, 0x54(r3) -/* 800D60D0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D60D4 40 80 00 2C */ bge lbl_800D6100 -/* 800D60D8 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800D60DC 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D60E0 40 82 00 14 */ bne lbl_800D60F4 -/* 800D60E4 7F C3 F3 78 */ mr r3, r30 -/* 800D60E8 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020003@ha */ -/* 800D60EC 38 84 00 03 */ addi r4, r4, 0x0003 /* 0x00020003@l */ -/* 800D60F0 4B FE 8F FD */ bl seStartSwordCut__9daAlink_cFUl -lbl_800D60F4: -/* 800D60F4 80 1E 05 80 */ lwz r0, 0x580(r30) -/* 800D60F8 60 00 00 02 */ ori r0, r0, 2 -/* 800D60FC 90 1E 05 80 */ stw r0, 0x580(r30) -lbl_800D6100: -/* 800D6100 80 1E 19 9C */ lwz r0, 0x199c(r30) -/* 800D6104 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800D6108 41 82 00 0C */ beq lbl_800D6114 -/* 800D610C 7F C3 F3 78 */ mr r3, r30 -/* 800D6110 48 00 00 21 */ bl procCutHeadLandInit__9daAlink_cFv -lbl_800D6114: -/* 800D6114 38 60 00 01 */ li r3, 1 -/* 800D6118 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D611C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D6120 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6124 7C 08 03 A6 */ mtlr r0 -/* 800D6128 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D612C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutJumpLandInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procCutJumpLandInit__9daAlink_cFi.s deleted file mode 100644 index cdbce405eb..0000000000 --- a/asm/d/a/d_a_alink/procCutJumpLandInit__9daAlink_cFi.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_800D452C: -/* 800D452C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D4530 7C 08 02 A6 */ mflr r0 -/* 800D4534 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D4538 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D453C 93 C1 00 08 */ stw r30, 8(r1) -/* 800D4540 7C 7E 1B 78 */ mr r30, r3 -/* 800D4544 7C 9F 23 78 */ mr r31, r4 -/* 800D4548 38 80 00 27 */ li r4, 0x27 -/* 800D454C 4B FE DA 21 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D4550 7F C3 F3 78 */ mr r3, r30 -/* 800D4554 48 00 2A 8D */ bl checkCutLandDamage__9daAlink_cFv -/* 800D4558 7F C3 F3 78 */ mr r3, r30 -/* 800D455C 38 80 00 72 */ li r4, 0x72 -/* 800D4560 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutJump_c0@ha /* 0x8038DB40@ha */ -/* 800D4564 38 A5 DB 40 */ addi r5, r5, m__21daAlinkHIO_cutJump_c0@l /* 0x8038DB40@l */ -/* 800D4568 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800D456C 4B FD 8B 89 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D4570 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800D4574 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800D4578 41 82 00 28 */ beq lbl_800D45A0 -/* 800D457C 80 7E 20 60 */ lwz r3, 0x2060(r30) -/* 800D4580 C0 22 93 3C */ lfs f1, lit_7808(r2) -/* 800D4584 3C 80 80 39 */ lis r4, m__21daAlinkHIO_cutJump_c0@ha /* 0x8038DB40@ha */ -/* 800D4588 38 84 DB 40 */ addi r4, r4, m__21daAlinkHIO_cutJump_c0@l /* 0x8038DB40@l */ -/* 800D458C C0 04 00 20 */ lfs f0, 0x20(r4) -/* 800D4590 EC 21 00 32 */ fmuls f1, f1, f0 -/* 800D4594 38 80 00 00 */ li r4, 0 -/* 800D4598 38 A0 00 23 */ li r5, 0x23 -/* 800D459C 4B F3 B2 AD */ bl initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs -lbl_800D45A0: -/* 800D45A0 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800D45A4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D45A8 40 82 00 58 */ bne lbl_800D4600 -/* 800D45AC 7F C3 F3 78 */ mr r3, r30 -/* 800D45B0 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020003@ha */ -/* 800D45B4 38 84 00 03 */ addi r4, r4, 0x0003 /* 0x00020003@l */ -/* 800D45B8 4B FE AB 35 */ bl seStartSwordCut__9daAlink_cFUl -/* 800D45BC 38 7E 21 F0 */ addi r3, r30, 0x21f0 -/* 800D45C0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D45C4 38 80 00 00 */ li r4, 0 -/* 800D45C8 38 BE 05 BC */ addi r5, r30, 0x5bc -/* 800D45CC 38 DE 34 98 */ addi r6, r30, 0x3498 -/* 800D45D0 38 FE 34 A4 */ addi r7, r30, 0x34a4 -/* 800D45D4 48 05 11 19 */ bl initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz -/* 800D45D8 7F C3 F3 78 */ mr r3, r30 -/* 800D45DC 38 80 00 01 */ li r4, 1 -/* 800D45E0 38 A0 00 03 */ li r5, 3 -/* 800D45E4 38 C0 00 01 */ li r6, 1 -/* 800D45E8 38 E0 00 03 */ li r7, 3 -/* 800D45EC 3D 00 80 39 */ lis r8, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D45F0 39 08 DE 8C */ addi r8, r8, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D45F4 C0 28 00 74 */ lfs f1, 0x74(r8) -/* 800D45F8 C0 48 00 78 */ lfs f2, 0x78(r8) -/* 800D45FC 4B FF D0 8D */ bl setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff -lbl_800D4600: -/* 800D4600 80 1E 05 80 */ lwz r0, 0x580(r30) -/* 800D4604 60 00 00 02 */ ori r0, r0, 2 -/* 800D4608 90 1E 05 80 */ stw r0, 0x580(r30) -/* 800D460C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D4610 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D4614 7F C3 F3 78 */ mr r3, r30 -/* 800D4618 38 80 00 0A */ li r4, 0xa -/* 800D461C 4B FF CF 11 */ bl setCutType__9daAlink_cFUc -/* 800D4620 38 00 00 04 */ li r0, 4 -/* 800D4624 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 800D4628 7F C3 F3 78 */ mr r3, r30 -/* 800D462C 38 80 00 02 */ li r4, 2 -/* 800D4630 48 04 CB 91 */ bl setFootEffectProcType__9daAlink_cFi -/* 800D4634 80 1E 05 84 */ lwz r0, 0x584(r30) -/* 800D4638 60 00 00 30 */ ori r0, r0, 0x30 -/* 800D463C 90 1E 05 84 */ stw r0, 0x584(r30) -/* 800D4640 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D4644 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D4648 D0 1E 35 88 */ stfs f0, 0x3588(r30) -/* 800D464C C0 03 00 04 */ lfs f0, 4(r3) -/* 800D4650 D0 1E 35 8C */ stfs f0, 0x358c(r30) -/* 800D4654 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D4658 D0 1E 35 90 */ stfs f0, 0x3590(r30) -/* 800D465C 93 FE 31 98 */ stw r31, 0x3198(r30) -/* 800D4660 7F C3 F3 78 */ mr r3, r30 -/* 800D4664 4B FE 16 01 */ bl setStepLandVibration__9daAlink_cFv -/* 800D4668 38 60 00 01 */ li r3, 1 -/* 800D466C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D4670 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D4674 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D4678 7C 08 03 A6 */ mtlr r0 -/* 800D467C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D4680 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutJumpLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutJumpLand__9daAlink_cFv.s deleted file mode 100644 index caed0fff11..0000000000 --- a/asm/d/a/d_a_alink/procCutJumpLand__9daAlink_cFv.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_800D4684: -/* 800D4684 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D4688 7C 08 02 A6 */ mflr r0 -/* 800D468C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D4690 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D4694 93 C1 00 08 */ stw r30, 8(r1) -/* 800D4698 7C 7F 1B 78 */ mr r31, r3 -/* 800D469C 4B FE 58 B5 */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D46A0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D46A4 41 82 00 0C */ beq lbl_800D46B0 -/* 800D46A8 38 60 00 01 */ li r3, 1 -/* 800D46AC 48 00 01 18 */ b lbl_800D47C4 -lbl_800D46B0: -/* 800D46B0 3B DF 1F D0 */ addi r30, r31, 0x1fd0 -/* 800D46B4 7F E3 FB 78 */ mr r3, r31 -/* 800D46B8 38 80 00 70 */ li r4, 0x70 -/* 800D46BC 4B FF D3 0D */ bl changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800D46C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D46C4 41 82 00 0C */ beq lbl_800D46D0 -/* 800D46C8 38 60 00 01 */ li r3, 1 -/* 800D46CC 48 00 00 F8 */ b lbl_800D47C4 -lbl_800D46D0: -/* 800D46D0 38 00 00 04 */ li r0, 4 -/* 800D46D4 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800D46D8 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800D46DC 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D46E0 90 1F 05 88 */ stw r0, 0x588(r31) -/* 800D46E4 80 1F 31 98 */ lwz r0, 0x3198(r31) -/* 800D46E8 2C 00 00 02 */ cmpwi r0, 2 -/* 800D46EC 41 82 00 20 */ beq lbl_800D470C -/* 800D46F0 7F E3 FB 78 */ mr r3, r31 -/* 800D46F4 4B FF CC F1 */ bl checkCutTurnInput__9daAlink_cCFv -/* 800D46F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D46FC 41 82 00 10 */ beq lbl_800D470C -/* 800D4700 7F E3 FB 78 */ mr r3, r31 -/* 800D4704 4B FF CD 21 */ bl getCutTurnDirection__9daAlink_cCFv -/* 800D4708 90 7F 31 98 */ stw r3, 0x3198(r31) -lbl_800D470C: -/* 800D470C 7F C3 F3 78 */ mr r3, r30 -/* 800D4710 48 08 9D BD */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D4714 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D4718 41 82 00 14 */ beq lbl_800D472C -/* 800D471C 7F E3 FB 78 */ mr r3, r31 -/* 800D4720 38 80 00 00 */ li r4, 0 -/* 800D4724 4B FE 59 AD */ bl checkNextAction__9daAlink_cFi -/* 800D4728 48 00 00 98 */ b lbl_800D47C0 -lbl_800D472C: -/* 800D472C C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 800D4730 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutJump_c0@ha /* 0x8038DB40@ha */ -/* 800D4734 38 63 DB 40 */ addi r3, r3, m__21daAlinkHIO_cutJump_c0@l /* 0x8038DB40@l */ -/* 800D4738 C0 03 00 40 */ lfs f0, 0x40(r3) -/* 800D473C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4740 40 81 00 20 */ ble lbl_800D4760 -/* 800D4744 80 BF 31 98 */ lwz r5, 0x3198(r31) -/* 800D4748 2C 05 00 02 */ cmpwi r5, 2 -/* 800D474C 41 82 00 14 */ beq lbl_800D4760 -/* 800D4750 7F E3 FB 78 */ mr r3, r31 -/* 800D4754 38 80 00 01 */ li r4, 1 -/* 800D4758 48 00 00 85 */ bl procCutTurnInit__9daAlink_cFii -/* 800D475C 48 00 00 64 */ b lbl_800D47C0 -lbl_800D4760: -/* 800D4760 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutJump_c0@ha /* 0x8038DB40@ha */ -/* 800D4764 38 63 DB 40 */ addi r3, r3, m__21daAlinkHIO_cutJump_c0@l /* 0x8038DB40@l */ -/* 800D4768 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800D476C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4770 40 81 00 2C */ ble lbl_800D479C -/* 800D4774 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800D4778 60 00 00 04 */ ori r0, r0, 4 -/* 800D477C 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800D4780 7F E3 FB 78 */ mr r3, r31 -/* 800D4784 38 80 00 01 */ li r4, 1 -/* 800D4788 4B FE 59 49 */ bl checkNextAction__9daAlink_cFi -/* 800D478C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4790 41 82 00 0C */ beq lbl_800D479C -/* 800D4794 38 60 00 01 */ li r3, 1 -/* 800D4798 48 00 00 2C */ b lbl_800D47C4 -lbl_800D479C: -/* 800D479C C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 800D47A0 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutJump_c0@ha /* 0x8038DB40@ha */ -/* 800D47A4 38 63 DB 40 */ addi r3, r3, m__21daAlinkHIO_cutJump_c0@l /* 0x8038DB40@l */ -/* 800D47A8 C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 800D47AC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D47B0 40 80 00 10 */ bge lbl_800D47C0 -/* 800D47B4 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800D47B8 60 00 00 02 */ ori r0, r0, 2 -/* 800D47BC 90 1F 05 80 */ stw r0, 0x580(r31) -lbl_800D47C0: -/* 800D47C0 38 60 00 01 */ li r3, 1 -lbl_800D47C4: -/* 800D47C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D47C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D47CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D47D0 7C 08 03 A6 */ mtlr r0 -/* 800D47D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D47D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s deleted file mode 100644 index 38f99070c5..0000000000 --- a/asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_800D43F8: -/* 800D43F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D43FC 7C 08 02 A6 */ mflr r0 -/* 800D4400 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D4404 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800D4408 7C 7F 1B 78 */ mr r31, r3 -/* 800D440C A8 83 04 DE */ lha r4, 0x4de(r3) -/* 800D4410 A8 03 04 E6 */ lha r0, 0x4e6(r3) -/* 800D4414 7C 04 00 00 */ cmpw r4, r0 -/* 800D4418 40 82 00 60 */ bne lbl_800D4478 -/* 800D441C 38 80 00 71 */ li r4, 0x71 -/* 800D4420 4B FF D5 A9 */ bl changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800D4424 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4428 41 82 00 50 */ beq lbl_800D4478 -/* 800D442C A8 7F 04 DE */ lha r3, 0x4de(r31) -/* 800D4430 3C 63 00 01 */ addis r3, r3, 1 -/* 800D4434 38 03 80 00 */ addi r0, r3, -32768 -/* 800D4438 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800D443C C0 02 93 38 */ lfs f0, lit_7807(r2) -/* 800D4440 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D4444 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D4448 D0 21 00 08 */ stfs f1, 8(r1) -/* 800D444C C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800D4450 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800D4454 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800D4458 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D445C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D4460 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800D4464 38 80 00 05 */ li r4, 5 -/* 800D4468 38 A0 00 1F */ li r5, 0x1f -/* 800D446C 38 C1 00 08 */ addi r6, r1, 8 -/* 800D4470 4B F9 B5 B5 */ bl StartShock__12dVibration_cFii4cXyz -/* 800D4474 48 00 00 24 */ b lbl_800D4498 -lbl_800D4478: -/* 800D4478 A8 7F 04 DE */ lha r3, 0x4de(r31) -/* 800D447C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800D4480 7C 03 00 00 */ cmpw r3, r0 -/* 800D4484 41 82 00 14 */ beq lbl_800D4498 -/* 800D4488 38 7F 33 98 */ addi r3, r31, 0x3398 -/* 800D448C C0 22 93 3C */ lfs f1, lit_7808(r2) -/* 800D4490 C0 42 92 B8 */ lfs f2, lit_6040(r2) -/* 800D4494 48 19 C2 AD */ bl cLib_chaseF__FPfff -lbl_800D4498: -/* 800D4498 7F E3 FB 78 */ mr r3, r31 -/* 800D449C 4B FF CF 49 */ bl checkCutTurnInput__9daAlink_cCFv -/* 800D44A0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D44A4 41 82 00 10 */ beq lbl_800D44B4 -/* 800D44A8 7F E3 FB 78 */ mr r3, r31 -/* 800D44AC 4B FF CF 79 */ bl getCutTurnDirection__9daAlink_cCFv -/* 800D44B0 90 7F 31 98 */ stw r3, 0x3198(r31) -lbl_800D44B4: -/* 800D44B4 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800D44B8 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800D44BC 41 82 00 14 */ beq lbl_800D44D0 -/* 800D44C0 7F E3 FB 78 */ mr r3, r31 -/* 800D44C4 80 9F 31 98 */ lwz r4, 0x3198(r31) -/* 800D44C8 48 00 00 65 */ bl procCutJumpLandInit__9daAlink_cFi -/* 800D44CC 48 00 00 48 */ b lbl_800D4514 -lbl_800D44D0: -/* 800D44D0 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 800D44D4 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutJump_c0@ha /* 0x8038DB40@ha */ -/* 800D44D8 38 63 DB 40 */ addi r3, r3, m__21daAlinkHIO_cutJump_c0@l /* 0x8038DB40@l */ -/* 800D44DC C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D44E0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D44E4 4C 41 13 82 */ cror 2, 1, 2 -/* 800D44E8 40 82 00 2C */ bne lbl_800D4514 -/* 800D44EC 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800D44F0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D44F4 40 82 00 14 */ bne lbl_800D4508 -/* 800D44F8 7F E3 FB 78 */ mr r3, r31 -/* 800D44FC 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020003@ha */ -/* 800D4500 38 84 00 03 */ addi r4, r4, 0x0003 /* 0x00020003@l */ -/* 800D4504 4B FE AB E9 */ bl seStartSwordCut__9daAlink_cFUl -lbl_800D4508: -/* 800D4508 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800D450C 60 00 00 02 */ ori r0, r0, 2 -/* 800D4510 90 1F 05 80 */ stw r0, 0x580(r31) -lbl_800D4514: -/* 800D4514 38 60 00 01 */ li r3, 1 -/* 800D4518 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800D451C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D4520 7C 08 03 A6 */ mtlr r0 -/* 800D4524 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D4528 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutLargeJumpChargeInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutLargeJumpChargeInit__9daAlink_cFv.s deleted file mode 100644 index 700322bd5e..0000000000 --- a/asm/d/a/d_a_alink/procCutLargeJumpChargeInit__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800D6238: -/* 800D6238 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D623C 7C 08 02 A6 */ mflr r0 -/* 800D6240 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6244 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D6248 7C 7F 1B 78 */ mr r31, r3 -/* 800D624C 38 80 00 2F */ li r4, 0x2f -/* 800D6250 4B FE BD 1D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D6254 7F E3 FB 78 */ mr r3, r31 -/* 800D6258 38 80 01 8B */ li r4, 0x18b -/* 800D625C 3C A0 80 39 */ lis r5, m__26daAlinkHIO_cutLargeJump_c0@ha /* 0x8038DE18@ha */ -/* 800D6260 38 A5 DE 18 */ addi r5, r5, m__26daAlinkHIO_cutLargeJump_c0@l /* 0x8038DE18@l */ -/* 800D6264 4B FD 6E 91 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D6268 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D626C D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D6270 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800D6274 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800D6278 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D627C 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D6280 A8 03 00 56 */ lha r0, 0x56(r3) -/* 800D6284 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D6288 38 60 00 01 */ li r3, 1 -/* 800D628C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6290 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6294 7C 08 03 A6 */ mtlr r0 -/* 800D6298 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D629C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutLargeJumpCharge__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutLargeJumpCharge__9daAlink_cFv.s deleted file mode 100644 index 1530160d5a..0000000000 --- a/asm/d/a/d_a_alink/procCutLargeJumpCharge__9daAlink_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_800D62A0: -/* 800D62A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D62A4 7C 08 02 A6 */ mflr r0 -/* 800D62A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D62AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D62B0 7C 7F 1B 78 */ mr r31, r3 -/* 800D62B4 4B FE 3C 9D */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D62B8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D62BC 41 82 00 0C */ beq lbl_800D62C8 -/* 800D62C0 38 60 00 01 */ li r3, 1 -/* 800D62C4 48 00 00 9C */ b lbl_800D6360 -lbl_800D62C8: -/* 800D62C8 7F E3 FB 78 */ mr r3, r31 -/* 800D62CC 4B FF C7 09 */ bl checkDownAttackState__9daAlink_cFv -/* 800D62D0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D62D4 41 82 00 14 */ beq lbl_800D62E8 -/* 800D62D8 7F E3 FB 78 */ mr r3, r31 -/* 800D62DC 38 80 00 30 */ li r4, 0x30 -/* 800D62E0 4B FD CF 89 */ bl setDoStatusEmphasys__9daAlink_cFUc -/* 800D62E4 48 00 00 30 */ b lbl_800D6314 -lbl_800D62E8: -/* 800D62E8 7F E3 FB 78 */ mr r3, r31 -/* 800D62EC 4B FF C6 09 */ bl checkCutHeadState__9daAlink_cFv -/* 800D62F0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D62F4 41 82 00 14 */ beq lbl_800D6308 -/* 800D62F8 7F E3 FB 78 */ mr r3, r31 -/* 800D62FC 38 80 00 77 */ li r4, 0x77 -/* 800D6300 4B FD CF 69 */ bl setDoStatusEmphasys__9daAlink_cFUc -/* 800D6304 48 00 00 10 */ b lbl_800D6314 -lbl_800D6308: -/* 800D6308 7F E3 FB 78 */ mr r3, r31 -/* 800D630C 38 80 00 86 */ li r4, 0x86 -/* 800D6310 4B FD CF 41 */ bl setDoStatus__9daAlink_cFUc -lbl_800D6314: -/* 800D6314 7F E3 FB 78 */ mr r3, r31 -/* 800D6318 4B FF BF A5 */ bl setSwordChargeVoiceSe__9daAlink_cFv -/* 800D631C 88 1F 2F 8E */ lbz r0, 0x2f8e(r31) -/* 800D6320 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800D6324 40 82 00 1C */ bne lbl_800D6340 -/* 800D6328 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800D632C 28 00 00 5C */ cmplwi r0, 0x5c -/* 800D6330 41 82 00 10 */ beq lbl_800D6340 -/* 800D6334 7F E3 FB 78 */ mr r3, r31 -/* 800D6338 4B FF C4 AD */ bl checkDoCutAction__9daAlink_cFv -/* 800D633C 48 00 00 20 */ b lbl_800D635C -lbl_800D6340: -/* 800D6340 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800D6344 48 08 81 89 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D6348 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D634C 41 82 00 10 */ beq lbl_800D635C -/* 800D6350 7F E3 FB 78 */ mr r3, r31 -/* 800D6354 38 80 00 01 */ li r4, 1 -/* 800D6358 4B FF EA 85 */ bl procCutTurnMoveInit__9daAlink_cFi -lbl_800D635C: -/* 800D635C 38 60 00 01 */ li r3, 1 -lbl_800D6360: -/* 800D6360 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6364 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6368 7C 08 03 A6 */ mtlr r0 -/* 800D636C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6370 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutLargeJumpInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutLargeJumpInit__9daAlink_cFv.s deleted file mode 100644 index 68ca0224fd..0000000000 --- a/asm/d/a/d_a_alink/procCutLargeJumpInit__9daAlink_cFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_800D6374: -/* 800D6374 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6378 7C 08 02 A6 */ mflr r0 -/* 800D637C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6380 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D6384 7C 7F 1B 78 */ mr r31, r3 -/* 800D6388 80 03 06 14 */ lwz r0, 0x614(r3) -/* 800D638C 28 00 00 56 */ cmplwi r0, 0x56 -/* 800D6390 40 82 00 20 */ bne lbl_800D63B0 -/* 800D6394 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800D6398 28 00 00 30 */ cmplwi r0, 0x30 -/* 800D639C 41 82 00 0C */ beq lbl_800D63A8 -/* 800D63A0 28 00 00 31 */ cmplwi r0, 0x31 -/* 800D63A4 40 82 00 0C */ bne lbl_800D63B0 -lbl_800D63A8: -/* 800D63A8 38 60 00 01 */ li r3, 1 -/* 800D63AC 48 00 00 C4 */ b lbl_800D6470 -lbl_800D63B0: -/* 800D63B0 7F E3 FB 78 */ mr r3, r31 -/* 800D63B4 38 80 00 30 */ li r4, 0x30 -/* 800D63B8 4B FE BB B5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D63BC 7F E3 FB 78 */ mr r3, r31 -/* 800D63C0 38 80 01 8C */ li r4, 0x18c -/* 800D63C4 3C A0 80 39 */ lis r5, m__26daAlinkHIO_cutLargeJump_c0@ha /* 0x8038DE18@ha */ -/* 800D63C8 38 A5 DE 18 */ addi r5, r5, m__26daAlinkHIO_cutLargeJump_c0@l /* 0x8038DE18@l */ -/* 800D63CC 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800D63D0 4B FD 6D 25 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D63D4 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D63D8 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D63DC D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 800D63E0 C0 03 00 04 */ lfs f0, 4(r3) -/* 800D63E4 D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 800D63E8 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D63EC D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 800D63F0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D63F4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D63F8 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800D63FC B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800D6400 38 00 00 00 */ li r0, 0 -/* 800D6404 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D6408 7F E3 FB 78 */ mr r3, r31 -/* 800D640C 38 80 00 00 */ li r4, 0 -/* 800D6410 38 A0 00 01 */ li r5, 1 -/* 800D6414 38 C0 00 01 */ li r6, 1 -/* 800D6418 38 E0 00 02 */ li r7, 2 -/* 800D641C 3D 00 80 39 */ lis r8, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D6420 39 08 DE 8C */ addi r8, r8, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D6424 C0 28 00 74 */ lfs f1, 0x74(r8) -/* 800D6428 C0 48 00 78 */ lfs f2, 0x78(r8) -/* 800D642C 4B FF B2 5D */ bl setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff -/* 800D6430 7F E3 FB 78 */ mr r3, r31 -/* 800D6434 38 80 00 12 */ li r4, 0x12 -/* 800D6438 4B FF B0 F5 */ bl setCutType__9daAlink_cFUc -/* 800D643C 7F E3 FB 78 */ mr r3, r31 -/* 800D6440 3C 80 00 01 */ lis r4, 0x0001 /* 0x0001009B@ha */ -/* 800D6444 38 84 00 9B */ addi r4, r4, 0x009B /* 0x0001009B@l */ -/* 800D6448 4B FF BE 3D */ bl setSwordVoiceSe__9daAlink_cFUl -/* 800D644C 7F E3 FB 78 */ mr r3, r31 -/* 800D6450 48 04 DC F5 */ bl setCutWaterDropEffect__9daAlink_cFv -/* 800D6454 38 00 00 04 */ li r0, 4 -/* 800D6458 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800D645C 38 00 00 00 */ li r0, 0 -/* 800D6460 B0 1F 30 10 */ sth r0, 0x3010(r31) -/* 800D6464 38 00 00 02 */ li r0, 2 -/* 800D6468 90 1F 31 98 */ stw r0, 0x3198(r31) -/* 800D646C 38 60 00 01 */ li r3, 1 -lbl_800D6470: -/* 800D6470 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6474 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6478 7C 08 03 A6 */ mtlr r0 -/* 800D647C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6480 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutLargeJumpLandInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procCutLargeJumpLandInit__9daAlink_cFi.s deleted file mode 100644 index 84bb408feb..0000000000 --- a/asm/d/a/d_a_alink/procCutLargeJumpLandInit__9daAlink_cFi.s +++ /dev/null @@ -1,80 +0,0 @@ -lbl_800D66C0: -/* 800D66C0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D66C4 7C 08 02 A6 */ mflr r0 -/* 800D66C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D66CC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800D66D0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800D66D4 7C 7E 1B 78 */ mr r30, r3 -/* 800D66D8 7C 9F 23 78 */ mr r31, r4 -/* 800D66DC 38 80 00 31 */ li r4, 0x31 -/* 800D66E0 4B FE B8 8D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D66E4 7F C3 F3 78 */ mr r3, r30 -/* 800D66E8 48 00 08 F9 */ bl checkCutLandDamage__9daAlink_cFv -/* 800D66EC 7F C3 F3 78 */ mr r3, r30 -/* 800D66F0 38 80 01 8E */ li r4, 0x18e -/* 800D66F4 3C A0 80 39 */ lis r5, m__26daAlinkHIO_cutLargeJump_c0@ha /* 0x8038DE18@ha */ -/* 800D66F8 38 A5 DE 18 */ addi r5, r5, m__26daAlinkHIO_cutLargeJump_c0@l /* 0x8038DE18@l */ -/* 800D66FC 38 A5 00 3C */ addi r5, r5, 0x3c -/* 800D6700 4B FD 69 F5 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D6704 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D6708 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800D670C 38 00 00 0C */ li r0, 0xc -/* 800D6710 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 800D6714 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D6718 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D671C D0 1E 35 88 */ stfs f0, 0x3588(r30) -/* 800D6720 C0 03 00 04 */ lfs f0, 4(r3) -/* 800D6724 D0 1E 35 8C */ stfs f0, 0x358c(r30) -/* 800D6728 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D672C D0 1E 35 90 */ stfs f0, 0x3590(r30) -/* 800D6730 38 00 00 04 */ li r0, 4 -/* 800D6734 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 800D6738 7F C3 F3 78 */ mr r3, r30 -/* 800D673C 38 80 00 04 */ li r4, 4 -/* 800D6740 48 04 AA 81 */ bl setFootEffectProcType__9daAlink_cFi -/* 800D6744 80 1E 05 84 */ lwz r0, 0x584(r30) -/* 800D6748 60 00 00 30 */ ori r0, r0, 0x30 -/* 800D674C 90 1E 05 84 */ stw r0, 0x584(r30) -/* 800D6750 80 1E 05 80 */ lwz r0, 0x580(r30) -/* 800D6754 60 00 00 02 */ ori r0, r0, 2 -/* 800D6758 90 1E 05 80 */ stw r0, 0x580(r30) -/* 800D675C 7F C3 F3 78 */ mr r3, r30 -/* 800D6760 38 80 00 13 */ li r4, 0x13 -/* 800D6764 4B FF AD C9 */ bl setCutType__9daAlink_cFUc -/* 800D6768 3C 60 80 39 */ lis r3, m__26daAlinkHIO_cutLargeJump_c0@ha /* 0x8038DE18@ha */ -/* 800D676C 38 63 DE 18 */ addi r3, r3, m__26daAlinkHIO_cutLargeJump_c0@l /* 0x8038DE18@l */ -/* 800D6770 C0 03 00 6C */ lfs f0, 0x6c(r3) -/* 800D6774 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 800D6778 C0 02 93 04 */ lfs f0, lit_6896(r2) -/* 800D677C D0 1E 34 7C */ stfs f0, 0x347c(r30) -/* 800D6780 38 00 00 00 */ li r0, 0 -/* 800D6784 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 800D6788 93 FE 31 98 */ stw r31, 0x3198(r30) -/* 800D678C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D6790 D0 21 00 08 */ stfs f1, 8(r1) -/* 800D6794 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800D6798 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800D679C D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800D67A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D67A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D67A8 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800D67AC 38 80 00 03 */ li r4, 3 -/* 800D67B0 38 A0 00 1F */ li r5, 0x1f -/* 800D67B4 38 C1 00 08 */ addi r6, r1, 8 -/* 800D67B8 4B F9 92 6D */ bl StartShock__12dVibration_cFii4cXyz -/* 800D67BC 7F C3 F3 78 */ mr r3, r30 -/* 800D67C0 48 04 CC 75 */ bl setCutLargeJumpLandEffect__9daAlink_cFv -/* 800D67C4 7F C3 F3 78 */ mr r3, r30 -/* 800D67C8 3C 80 00 02 */ lis r4, 0x0002 /* 0x000200B3@ha */ -/* 800D67CC 38 84 00 B3 */ addi r4, r4, 0x00B3 /* 0x000200B3@l */ -/* 800D67D0 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800D67D4 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800D67D8 7D 89 03 A6 */ mtctr r12 -/* 800D67DC 4E 80 04 21 */ bctrl -/* 800D67E0 38 60 00 01 */ li r3, 1 -/* 800D67E4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800D67E8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800D67EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D67F0 7C 08 03 A6 */ mtlr r0 -/* 800D67F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D67F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutLargeJumpLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutLargeJumpLand__9daAlink_cFv.s deleted file mode 100644 index e1d6c24759..0000000000 --- a/asm/d/a/d_a_alink/procCutLargeJumpLand__9daAlink_cFv.s +++ /dev/null @@ -1,108 +0,0 @@ -lbl_800D67FC: -/* 800D67FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6800 7C 08 02 A6 */ mflr r0 -/* 800D6804 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6808 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D680C 93 C1 00 08 */ stw r30, 8(r1) -/* 800D6810 7C 7F 1B 78 */ mr r31, r3 -/* 800D6814 3B DF 1F D0 */ addi r30, r31, 0x1fd0 -/* 800D6818 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800D681C 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D6820 90 03 05 88 */ stw r0, 0x588(r3) -/* 800D6824 38 00 00 04 */ li r0, 4 -/* 800D6828 98 03 2F 99 */ stb r0, 0x2f99(r3) -/* 800D682C 80 03 31 98 */ lwz r0, 0x3198(r3) -/* 800D6830 2C 00 00 02 */ cmpwi r0, 2 -/* 800D6834 41 82 00 1C */ beq lbl_800D6850 -/* 800D6838 4B FF AB AD */ bl checkCutTurnInput__9daAlink_cCFv -/* 800D683C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D6840 41 82 00 10 */ beq lbl_800D6850 -/* 800D6844 7F E3 FB 78 */ mr r3, r31 -/* 800D6848 4B FF AB DD */ bl getCutTurnDirection__9daAlink_cCFv -/* 800D684C 90 7F 31 98 */ stw r3, 0x3198(r31) -lbl_800D6850: -/* 800D6850 7F C3 F3 78 */ mr r3, r30 -/* 800D6854 48 08 7C 79 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D6858 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D685C 41 82 00 38 */ beq lbl_800D6894 -/* 800D6860 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800D6864 28 00 00 56 */ cmplwi r0, 0x56 -/* 800D6868 40 82 00 1C */ bne lbl_800D6884 -/* 800D686C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D6870 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D6874 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D6878 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 800D687C 4B F7 19 01 */ bl cutEnd__16dEvent_manager_cFi -/* 800D6880 48 00 00 F0 */ b lbl_800D6970 -lbl_800D6884: -/* 800D6884 7F E3 FB 78 */ mr r3, r31 -/* 800D6888 38 80 00 00 */ li r4, 0 -/* 800D688C 4B FE 38 45 */ bl checkNextAction__9daAlink_cFi -/* 800D6890 48 00 00 E0 */ b lbl_800D6970 -lbl_800D6894: -/* 800D6894 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 800D6898 3C 60 80 39 */ lis r3, m__26daAlinkHIO_cutLargeJump_c0@ha /* 0x8038DE18@ha */ -/* 800D689C 38 63 DE 18 */ addi r3, r3, m__26daAlinkHIO_cutLargeJump_c0@l /* 0x8038DE18@l */ -/* 800D68A0 C0 03 00 70 */ lfs f0, 0x70(r3) -/* 800D68A4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D68A8 40 81 00 20 */ ble lbl_800D68C8 -/* 800D68AC 80 BF 31 98 */ lwz r5, 0x3198(r31) -/* 800D68B0 2C 05 00 02 */ cmpwi r5, 2 -/* 800D68B4 41 82 00 14 */ beq lbl_800D68C8 -/* 800D68B8 7F E3 FB 78 */ mr r3, r31 -/* 800D68BC 38 80 00 01 */ li r4, 1 -/* 800D68C0 4B FF DF 1D */ bl procCutTurnInit__9daAlink_cFii -/* 800D68C4 48 00 00 AC */ b lbl_800D6970 -lbl_800D68C8: -/* 800D68C8 3C 60 80 39 */ lis r3, m__26daAlinkHIO_cutLargeJump_c0@ha /* 0x8038DE18@ha */ -/* 800D68CC 38 63 DE 18 */ addi r3, r3, m__26daAlinkHIO_cutLargeJump_c0@l /* 0x8038DE18@l */ -/* 800D68D0 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 800D68D4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D68D8 40 81 00 14 */ ble lbl_800D68EC -/* 800D68DC 7F E3 FB 78 */ mr r3, r31 -/* 800D68E0 38 80 00 01 */ li r4, 1 -/* 800D68E4 4B FE 37 ED */ bl checkNextAction__9daAlink_cFi -/* 800D68E8 48 00 00 88 */ b lbl_800D6970 -lbl_800D68EC: -/* 800D68EC C0 03 00 68 */ lfs f0, 0x68(r3) -/* 800D68F0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D68F4 40 80 00 7C */ bge lbl_800D6970 -/* 800D68F8 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800D68FC 60 00 00 02 */ ori r0, r0, 2 -/* 800D6900 90 1F 05 80 */ stw r0, 0x580(r31) -/* 800D6904 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 800D6908 C0 03 00 64 */ lfs f0, 0x64(r3) -/* 800D690C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6910 4C 41 13 82 */ cror 2, 1, 2 -/* 800D6914 40 82 00 5C */ bne lbl_800D6970 -/* 800D6918 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800D691C 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6920 40 82 00 34 */ bne lbl_800D6954 -/* 800D6924 7F E3 FB 78 */ mr r3, r31 -/* 800D6928 38 80 00 00 */ li r4, 0 -/* 800D692C 4B FD 40 B1 */ bl resetAtCollision__9daAlink_cFi -/* 800D6930 38 00 00 01 */ li r0, 1 -/* 800D6934 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D6938 7F E3 FB 78 */ mr r3, r31 -/* 800D693C 38 80 00 14 */ li r4, 0x14 -/* 800D6940 4B FF AB ED */ bl setCutType__9daAlink_cFUc -/* 800D6944 7F E3 FB 78 */ mr r3, r31 -/* 800D6948 C0 3F 34 7C */ lfs f1, 0x347c(r31) -/* 800D694C 38 80 00 04 */ li r4, 4 -/* 800D6950 4B FF A6 41 */ bl initCutTurnAt__9daAlink_cFfi -lbl_800D6954: -/* 800D6954 38 7F 34 7C */ addi r3, r31, 0x347c -/* 800D6958 C0 3F 34 78 */ lfs f1, 0x3478(r31) -/* 800D695C C0 42 93 78 */ lfs f2, lit_8676(r2) -/* 800D6960 48 19 9D E1 */ bl cLib_chaseF__FPfff -/* 800D6964 38 7F 10 DC */ addi r3, r31, 0x10dc -/* 800D6968 C0 3F 34 7C */ lfs f1, 0x347c(r31) -/* 800D696C 48 19 8D 9D */ bl SetR__8cM3dGSphFf -lbl_800D6970: -/* 800D6970 38 60 00 01 */ li r3, 1 -/* 800D6974 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6978 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D697C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6980 7C 08 03 A6 */ mtlr r0 -/* 800D6984 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6988 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutNormalInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procCutNormalInit__9daAlink_cFi.s deleted file mode 100644 index b472e002a3..0000000000 --- a/asm/d/a/d_a_alink/procCutNormalInit__9daAlink_cFi.s +++ /dev/null @@ -1,168 +0,0 @@ -lbl_800D2F58: -/* 800D2F58 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D2F5C 7C 08 02 A6 */ mflr r0 -/* 800D2F60 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D2F64 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D2F68 48 28 F2 6D */ bl _savegpr_27 -/* 800D2F6C 7C 7D 1B 78 */ mr r29, r3 -/* 800D2F70 7C 9B 23 78 */ mr r27, r4 -/* 800D2F74 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 800D2F78 3B E4 D6 58 */ addi r31, r4, lit_3757@l /* 0x8038D658@l */ -/* 800D2F7C 57 60 20 36 */ slwi r0, r27, 4 -/* 800D2F80 3B DF 41 B0 */ addi r30, r31, 0x41b0 -/* 800D2F84 7F DE 02 14 */ add r30, r30, r0 -/* 800D2F88 38 80 00 21 */ li r4, 0x21 -/* 800D2F8C 4B FE EF E1 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D2F90 7F A3 EB 78 */ mr r3, r29 -/* 800D2F94 88 9E 00 08 */ lbz r4, 8(r30) -/* 800D2F98 4B FF E5 95 */ bl setCutType__9daAlink_cFUc -/* 800D2F9C 80 1E 00 04 */ lwz r0, 4(r30) -/* 800D2FA0 90 1D 31 98 */ stw r0, 0x3198(r29) -/* 800D2FA4 2C 1B 00 01 */ cmpwi r27, 1 -/* 800D2FA8 40 82 00 0C */ bne lbl_800D2FB4 -/* 800D2FAC 3B 7F 03 0C */ addi r27, r31, 0x30c -/* 800D2FB0 48 00 00 38 */ b lbl_800D2FE8 -lbl_800D2FB4: -/* 800D2FB4 2C 1B 00 02 */ cmpwi r27, 2 -/* 800D2FB8 40 82 00 0C */ bne lbl_800D2FC4 -/* 800D2FBC 3B 7F 03 2C */ addi r27, r31, 0x32c -/* 800D2FC0 48 00 00 28 */ b lbl_800D2FE8 -lbl_800D2FC4: -/* 800D2FC4 2C 1B 00 04 */ cmpwi r27, 4 -/* 800D2FC8 40 82 00 0C */ bne lbl_800D2FD4 -/* 800D2FCC 3B 7F 03 6C */ addi r27, r31, 0x36c -/* 800D2FD0 48 00 00 18 */ b lbl_800D2FE8 -lbl_800D2FD4: -/* 800D2FD4 2C 1B 00 03 */ cmpwi r27, 3 -/* 800D2FD8 40 82 00 0C */ bne lbl_800D2FE4 -/* 800D2FDC 3B 7F 03 4C */ addi r27, r31, 0x34c -/* 800D2FE0 48 00 00 08 */ b lbl_800D2FE8 -lbl_800D2FE4: -/* 800D2FE4 3B 7F 02 EC */ addi r27, r31, 0x2ec -lbl_800D2FE8: -/* 800D2FE8 C0 1B 00 18 */ lfs f0, 0x18(r27) -/* 800D2FEC D0 1D 34 78 */ stfs f0, 0x3478(r29) -/* 800D2FF0 C0 1B 00 1C */ lfs f0, 0x1c(r27) -/* 800D2FF4 D0 1D 34 7C */ stfs f0, 0x347c(r29) -/* 800D2FF8 C0 1B 00 14 */ lfs f0, 0x14(r27) -/* 800D2FFC D0 1D 34 80 */ stfs f0, 0x3480(r29) -/* 800D3000 7F A3 EB 78 */ mr r3, r29 -/* 800D3004 38 80 00 01 */ li r4, 1 -/* 800D3008 38 A0 00 01 */ li r5, 1 -/* 800D300C 4B FE 84 AD */ bl checkHeavyStateOn__9daAlink_cFii -/* 800D3010 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3014 41 82 00 14 */ beq lbl_800D3028 -/* 800D3018 C0 3D 34 80 */ lfs f1, 0x3480(r29) -/* 800D301C C0 1D 34 34 */ lfs f0, 0x3434(r29) -/* 800D3020 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D3024 D0 1D 34 80 */ stfs f0, 0x3480(r29) -lbl_800D3028: -/* 800D3028 C0 1B 00 10 */ lfs f0, 0x10(r27) -/* 800D302C D0 1D 34 84 */ stfs f0, 0x3484(r29) -/* 800D3030 7F A3 EB 78 */ mr r3, r29 -/* 800D3034 4B FE CD 7D */ bl checkZoraWearAbility__9daAlink_cCFv -/* 800D3038 2C 03 00 00 */ cmpwi r3, 0 -/* 800D303C 40 82 00 18 */ bne lbl_800D3054 -/* 800D3040 80 1D 05 70 */ lwz r0, 0x570(r29) -/* 800D3044 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800D3048 41 82 00 0C */ beq lbl_800D3054 -/* 800D304C C0 7E 00 0C */ lfs f3, 0xc(r30) -/* 800D3050 48 00 00 08 */ b lbl_800D3058 -lbl_800D3054: -/* 800D3054 C0 7B 00 0C */ lfs f3, 0xc(r27) -lbl_800D3058: -/* 800D3058 7F A3 EB 78 */ mr r3, r29 -/* 800D305C 80 9E 00 00 */ lwz r4, 0(r30) -/* 800D3060 C0 3B 00 04 */ lfs f1, 4(r27) -/* 800D3064 C0 5B 00 08 */ lfs f2, 8(r27) -/* 800D3068 A8 BB 00 00 */ lha r5, 0(r27) -/* 800D306C 4B FD 9F A1 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800D3070 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800D3074 B0 1D 04 DE */ sth r0, 0x4de(r29) -/* 800D3078 83 9D 27 E0 */ lwz r28, 0x27e0(r29) -/* 800D307C 3B 60 00 01 */ li r27, 1 -/* 800D3080 7F 83 E3 78 */ mr r3, r28 -/* 800D3084 4B FA 07 61 */ bl LockonTruth__12dAttention_cFv -/* 800D3088 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D308C 40 82 00 14 */ bne lbl_800D30A0 -/* 800D3090 80 1C 03 34 */ lwz r0, 0x334(r28) -/* 800D3094 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800D3098 40 82 00 08 */ bne lbl_800D30A0 -/* 800D309C 3B 60 00 00 */ li r27, 0 -lbl_800D30A0: -/* 800D30A0 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 800D30A4 40 82 00 20 */ bne lbl_800D30C4 -/* 800D30A8 C0 3D 33 AC */ lfs f1, 0x33ac(r29) -/* 800D30AC C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800D30B0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D30B4 40 81 00 10 */ ble lbl_800D30C4 -/* 800D30B8 A8 1D 2F E2 */ lha r0, 0x2fe2(r29) -/* 800D30BC B0 1D 30 0C */ sth r0, 0x300c(r29) -/* 800D30C0 48 00 00 0C */ b lbl_800D30CC -lbl_800D30C4: -/* 800D30C4 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800D30C8 B0 1D 30 0C */ sth r0, 0x300c(r29) -lbl_800D30CC: -/* 800D30CC 88 1D 05 69 */ lbz r0, 0x569(r29) -/* 800D30D0 28 00 00 01 */ cmplwi r0, 1 -/* 800D30D4 41 82 00 0C */ beq lbl_800D30E0 -/* 800D30D8 38 00 00 0C */ li r0, 0xc -/* 800D30DC 98 1D 2F 99 */ stb r0, 0x2f99(r29) -lbl_800D30E0: -/* 800D30E0 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D30E4 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D30E8 D0 1D 35 88 */ stfs f0, 0x3588(r29) -/* 800D30EC C0 03 00 04 */ lfs f0, 4(r3) -/* 800D30F0 D0 1D 35 8C */ stfs f0, 0x358c(r29) -/* 800D30F4 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D30F8 D0 1D 35 90 */ stfs f0, 0x3590(r29) -/* 800D30FC 39 1F 08 34 */ addi r8, r31, 0x834 -/* 800D3100 A8 08 00 52 */ lha r0, 0x52(r8) -/* 800D3104 B0 1D 30 7E */ sth r0, 0x307e(r29) -/* 800D3108 7F A3 EB 78 */ mr r3, r29 -/* 800D310C 38 80 00 00 */ li r4, 0 -/* 800D3110 38 A0 00 01 */ li r5, 1 -/* 800D3114 88 DE 00 09 */ lbz r6, 9(r30) -/* 800D3118 38 E0 00 02 */ li r7, 2 -/* 800D311C C0 28 00 74 */ lfs f1, 0x74(r8) -/* 800D3120 C0 48 00 78 */ lfs f2, 0x78(r8) -/* 800D3124 4B FF E5 65 */ bl setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff -/* 800D3128 7F A3 EB 78 */ mr r3, r29 -/* 800D312C 4B FF F1 D9 */ bl setSwordComboVoice__9daAlink_cFv -/* 800D3130 38 00 00 00 */ li r0, 0 -/* 800D3134 B0 1D 30 12 */ sth r0, 0x3012(r29) -/* 800D3138 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D313C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D3140 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800D3144 60 00 80 00 */ ori r0, r0, 0x8000 -/* 800D3148 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800D314C 7F A3 EB 78 */ mr r3, r29 -/* 800D3150 48 05 0F F5 */ bl setCutWaterDropEffect__9daAlink_cFv -/* 800D3154 7F A3 EB 78 */ mr r3, r29 -/* 800D3158 4B FF F5 95 */ bl getCutDirection__9daAlink_cFv -/* 800D315C 88 1D 05 69 */ lbz r0, 0x569(r29) -/* 800D3160 28 00 00 01 */ cmplwi r0, 1 -/* 800D3164 40 82 00 20 */ bne lbl_800D3184 -/* 800D3168 2C 03 00 02 */ cmpwi r3, 2 -/* 800D316C 41 82 00 0C */ beq lbl_800D3178 -/* 800D3170 2C 03 00 03 */ cmpwi r3, 3 -/* 800D3174 40 82 00 10 */ bne lbl_800D3184 -lbl_800D3178: -/* 800D3178 38 00 00 01 */ li r0, 1 -/* 800D317C B0 1D 30 0E */ sth r0, 0x300e(r29) -/* 800D3180 48 00 00 0C */ b lbl_800D318C -lbl_800D3184: -/* 800D3184 38 00 00 00 */ li r0, 0 -/* 800D3188 B0 1D 30 0E */ sth r0, 0x300e(r29) -lbl_800D318C: -/* 800D318C 38 00 00 04 */ li r0, 4 -/* 800D3190 B0 1D 30 0A */ sth r0, 0x300a(r29) -/* 800D3194 7F A3 EB 78 */ mr r3, r29 -/* 800D3198 4B FF FA 65 */ bl initCutAtnActorSearch__9daAlink_cFv -/* 800D319C 38 60 00 01 */ li r3, 1 -/* 800D31A0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D31A4 48 28 F0 7D */ bl _restgpr_27 -/* 800D31A8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D31AC 7C 08 03 A6 */ mtlr r0 -/* 800D31B0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D31B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutNormal__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutNormal__9daAlink_cFv.s deleted file mode 100644 index 5c99251cb9..0000000000 --- a/asm/d/a/d_a_alink/procCutNormal__9daAlink_cFv.s +++ /dev/null @@ -1,222 +0,0 @@ -lbl_800D31B8: -/* 800D31B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D31BC 7C 08 02 A6 */ mflr r0 -/* 800D31C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D31C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D31C8 93 C1 00 08 */ stw r30, 8(r1) -/* 800D31CC 7C 7E 1B 78 */ mr r30, r3 -/* 800D31D0 4B FE 6D 81 */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D31D4 2C 03 00 00 */ cmpwi r3, 0 -/* 800D31D8 41 82 00 0C */ beq lbl_800D31E4 -/* 800D31DC 38 60 00 01 */ li r3, 1 -/* 800D31E0 48 00 02 E0 */ b lbl_800D34C0 -lbl_800D31E4: -/* 800D31E4 7F C3 F3 78 */ mr r3, r30 -/* 800D31E8 38 80 00 01 */ li r4, 1 -/* 800D31EC 4B FE 80 C5 */ bl setBodyAngleXReadyAnime__9daAlink_cFi -/* 800D31F0 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800D31F4 7F C3 F3 78 */ mr r3, r30 -/* 800D31F8 4B FF EF 05 */ bl setComboReserb__9daAlink_cFv -/* 800D31FC 7F C3 F3 78 */ mr r3, r30 -/* 800D3200 4B FF F4 85 */ bl checkCutTurnCharge__9daAlink_cFv -/* 800D3204 7F C3 F3 78 */ mr r3, r30 -/* 800D3208 4B FF FA 4D */ bl checkCutAtnActorChange__9daAlink_cFv -/* 800D320C 38 7E 33 98 */ addi r3, r30, 0x3398 -/* 800D3210 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D3214 3C 80 80 39 */ lis r4, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800D3218 38 84 D6 BC */ addi r4, r4, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800D321C C0 44 00 38 */ lfs f2, 0x38(r4) -/* 800D3220 48 19 D5 21 */ bl cLib_chaseF__FPfff -/* 800D3224 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800D3228 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D322C 90 1E 05 88 */ stw r0, 0x588(r30) -/* 800D3230 38 00 00 04 */ li r0, 4 -/* 800D3234 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 800D3238 A8 1E 30 0E */ lha r0, 0x300e(r30) -/* 800D323C 2C 00 00 00 */ cmpwi r0, 0 -/* 800D3240 41 82 00 64 */ beq lbl_800D32A4 -/* 800D3244 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 800D3248 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800D324C 41 82 00 58 */ beq lbl_800D32A4 -/* 800D3250 7F C3 F3 78 */ mr r3, r30 -/* 800D3254 4B FF F4 99 */ bl getCutDirection__9daAlink_cFv -/* 800D3258 2C 03 00 03 */ cmpwi r3, 3 -/* 800D325C 40 82 00 20 */ bne lbl_800D327C -/* 800D3260 88 1E 05 68 */ lbz r0, 0x568(r30) -/* 800D3264 28 00 00 04 */ cmplwi r0, 4 -/* 800D3268 40 82 00 14 */ bne lbl_800D327C -/* 800D326C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3270 C0 02 93 1C */ lfs f0, lit_7448(r2) -/* 800D3274 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3278 41 81 00 28 */ bgt lbl_800D32A0 -lbl_800D327C: -/* 800D327C 2C 03 00 02 */ cmpwi r3, 2 -/* 800D3280 40 82 00 24 */ bne lbl_800D32A4 -/* 800D3284 88 1E 05 68 */ lbz r0, 0x568(r30) -/* 800D3288 28 00 00 03 */ cmplwi r0, 3 -/* 800D328C 40 82 00 18 */ bne lbl_800D32A4 -/* 800D3290 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3294 C0 02 93 1C */ lfs f0, lit_7448(r2) -/* 800D3298 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D329C 40 81 00 08 */ ble lbl_800D32A4 -lbl_800D32A0: -/* 800D32A0 B0 7E 30 0A */ sth r3, 0x300a(r30) -lbl_800D32A4: -/* 800D32A4 7F E3 FB 78 */ mr r3, r31 -/* 800D32A8 48 08 B2 25 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D32AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D32B0 41 82 00 4C */ beq lbl_800D32FC -/* 800D32B4 7F C3 F3 78 */ mr r3, r30 -/* 800D32B8 38 80 00 01 */ li r4, 1 -/* 800D32BC 4B FF E1 75 */ bl resetCombo__9daAlink_cFi -/* 800D32C0 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 800D32C4 28 00 00 24 */ cmplwi r0, 0x24 -/* 800D32C8 41 82 00 0C */ beq lbl_800D32D4 -/* 800D32CC 28 00 00 54 */ cmplwi r0, 0x54 -/* 800D32D0 40 82 00 1C */ bne lbl_800D32EC -lbl_800D32D4: -/* 800D32D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D32D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D32DC 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D32E0 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 800D32E4 4B F7 4E 99 */ bl cutEnd__16dEvent_manager_cFi -/* 800D32E8 48 00 01 D4 */ b lbl_800D34BC -lbl_800D32EC: -/* 800D32EC 7F C3 F3 78 */ mr r3, r30 -/* 800D32F0 38 80 00 00 */ li r4, 0 -/* 800D32F4 4B FE 6D DD */ bl checkNextAction__9daAlink_cFi -/* 800D32F8 48 00 01 C4 */ b lbl_800D34BC -lbl_800D32FC: -/* 800D32FC C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3300 C0 1E 34 84 */ lfs f0, 0x3484(r30) -/* 800D3304 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3308 41 81 00 10 */ bgt lbl_800D3318 -/* 800D330C A8 1E 30 0A */ lha r0, 0x300a(r30) -/* 800D3310 2C 00 00 04 */ cmpwi r0, 4 -/* 800D3314 41 82 00 18 */ beq lbl_800D332C -lbl_800D3318: -/* 800D3318 7F C3 F3 78 */ mr r3, r30 -/* 800D331C 38 80 00 03 */ li r4, 3 -/* 800D3320 4B FF F4 41 */ bl checkCutCancelNextMode__9daAlink_cFi -/* 800D3324 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3328 40 82 01 94 */ bne lbl_800D34BC -lbl_800D332C: -/* 800D332C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3330 C0 1E 34 84 */ lfs f0, 0x3484(r30) -/* 800D3334 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3338 40 81 00 10 */ ble lbl_800D3348 -/* 800D333C 7F C3 F3 78 */ mr r3, r30 -/* 800D3340 38 80 00 01 */ li r4, 1 -/* 800D3344 4B FF E0 ED */ bl resetCombo__9daAlink_cFi -lbl_800D3348: -/* 800D3348 7F C3 F3 78 */ mr r3, r30 -/* 800D334C 80 9E 31 98 */ lwz r4, 0x3198(r30) -/* 800D3350 4B FF E6 79 */ bl changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800D3354 2C 03 00 00 */ cmpwi r3, 0 -/* 800D3358 41 82 00 0C */ beq lbl_800D3364 -/* 800D335C 38 60 00 01 */ li r3, 1 -/* 800D3360 48 00 01 60 */ b lbl_800D34C0 -lbl_800D3364: -/* 800D3364 7F C3 F3 78 */ mr r3, r30 -/* 800D3368 A8 9E 30 10 */ lha r4, 0x3010(r30) -/* 800D336C 4B FE 03 C9 */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 800D3370 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D3374 41 82 00 30 */ beq lbl_800D33A4 -/* 800D3378 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800D337C B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 800D3380 7F C3 F3 78 */ mr r3, r30 -/* 800D3384 4B FE 02 AD */ bl getShapeAngleYAtnActor__9daAlink_cFv -/* 800D3388 A8 9E 04 E6 */ lha r4, 0x4e6(r30) -/* 800D338C 48 19 DA 99 */ bl cLib_distanceAngleS__Fss -/* 800D3390 2C 03 08 00 */ cmpwi r3, 0x800 -/* 800D3394 40 80 00 28 */ bge lbl_800D33BC -/* 800D3398 38 00 00 01 */ li r0, 1 -/* 800D339C B0 1E 30 10 */ sth r0, 0x3010(r30) -/* 800D33A0 48 00 00 1C */ b lbl_800D33BC -lbl_800D33A4: -/* 800D33A4 38 7E 04 E6 */ addi r3, r30, 0x4e6 -/* 800D33A8 A8 9E 30 0C */ lha r4, 0x300c(r30) -/* 800D33AC 38 A0 00 02 */ li r5, 2 -/* 800D33B0 38 C0 20 00 */ li r6, 0x2000 -/* 800D33B4 38 E0 08 00 */ li r7, 0x800 -/* 800D33B8 48 19 D1 89 */ bl cLib_addCalcAngleS__FPsssss -lbl_800D33BC: -/* 800D33BC A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800D33C0 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800D33C4 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D33C8 C0 1E 34 78 */ lfs f0, 0x3478(r30) -/* 800D33CC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D33D0 4C 41 13 82 */ cror 2, 1, 2 -/* 800D33D4 40 82 00 40 */ bne lbl_800D3414 -/* 800D33D8 C0 1E 34 7C */ lfs f0, 0x347c(r30) -/* 800D33DC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D33E0 40 80 00 34 */ bge lbl_800D3414 -/* 800D33E4 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800D33E8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D33EC 40 82 00 1C */ bne lbl_800D3408 -/* 800D33F0 7F C3 F3 78 */ mr r3, r30 -/* 800D33F4 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020002@ha */ -/* 800D33F8 38 84 00 02 */ addi r4, r4, 0x0002 /* 0x00020002@l */ -/* 800D33FC 4B FE BC F1 */ bl seStartSwordCut__9daAlink_cFUl -/* 800D3400 C0 1E 34 80 */ lfs f0, 0x3480(r30) -/* 800D3404 D0 1E 33 98 */ stfs f0, 0x3398(r30) -lbl_800D3408: -/* 800D3408 80 1E 05 80 */ lwz r0, 0x580(r30) -/* 800D340C 60 00 00 02 */ ori r0, r0, 2 -/* 800D3410 90 1E 05 80 */ stw r0, 0x580(r30) -lbl_800D3414: -/* 800D3414 88 1E 05 68 */ lbz r0, 0x568(r30) -/* 800D3418 28 00 00 04 */ cmplwi r0, 4 -/* 800D341C 40 82 00 40 */ bne lbl_800D345C -/* 800D3420 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3424 C0 02 93 20 */ lfs f0, lit_7449(r2) -/* 800D3428 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D342C 4C 41 13 82 */ cror 2, 1, 2 -/* 800D3430 40 82 00 10 */ bne lbl_800D3440 -/* 800D3434 38 00 00 00 */ li r0, 0 -/* 800D3438 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800D343C 48 00 00 80 */ b lbl_800D34BC -lbl_800D3440: -/* 800D3440 C0 02 93 24 */ lfs f0, lit_7450(r2) -/* 800D3444 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3448 4C 41 13 82 */ cror 2, 1, 2 -/* 800D344C 40 82 00 70 */ bne lbl_800D34BC -/* 800D3450 38 00 00 64 */ li r0, 0x64 -/* 800D3454 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800D3458 48 00 00 64 */ b lbl_800D34BC -lbl_800D345C: -/* 800D345C 28 00 00 03 */ cmplwi r0, 3 -/* 800D3460 40 82 00 40 */ bne lbl_800D34A0 -/* 800D3464 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D3468 C0 02 93 28 */ lfs f0, lit_7451(r2) -/* 800D346C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D3470 4C 41 13 82 */ cror 2, 1, 2 -/* 800D3474 40 82 00 10 */ bne lbl_800D3484 -/* 800D3478 38 00 00 00 */ li r0, 0 -/* 800D347C 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800D3480 48 00 00 3C */ b lbl_800D34BC -lbl_800D3484: -/* 800D3484 C0 02 93 24 */ lfs f0, lit_7450(r2) -/* 800D3488 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D348C 4C 41 13 82 */ cror 2, 1, 2 -/* 800D3490 40 82 00 2C */ bne lbl_800D34BC -/* 800D3494 38 00 00 64 */ li r0, 0x64 -/* 800D3498 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800D349C 48 00 00 20 */ b lbl_800D34BC -lbl_800D34A0: -/* 800D34A0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D34A4 C0 02 93 20 */ lfs f0, lit_7449(r2) -/* 800D34A8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D34AC 4C 41 13 82 */ cror 2, 1, 2 -/* 800D34B0 40 82 00 0C */ bne lbl_800D34BC -/* 800D34B4 38 00 00 00 */ li r0, 0 -/* 800D34B8 98 1E 2F 92 */ stb r0, 0x2f92(r30) -lbl_800D34BC: -/* 800D34BC 38 60 00 01 */ li r3, 1 -lbl_800D34C0: -/* 800D34C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D34C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D34C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D34CC 7C 08 03 A6 */ mtlr r0 -/* 800D34D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D34D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM.s b/asm/d/a/d_a_alink/procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM.s deleted file mode 100644 index ab912ad5a2..0000000000 --- a/asm/d/a/d_a_alink/procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM.s +++ /dev/null @@ -1,111 +0,0 @@ -lbl_800D4068: -/* 800D4068 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800D406C 7C 08 02 A6 */ mflr r0 -/* 800D4070 90 01 00 34 */ stw r0, 0x34(r1) -/* 800D4074 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 800D4078 93 C1 00 28 */ stw r30, 0x28(r1) -/* 800D407C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 800D4080 7C 9E 23 78 */ mr r30, r4 -/* 800D4084 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 800D4088 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 800D408C C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 800D4090 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800D4094 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 800D4098 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 800D409C 38 61 00 14 */ addi r3, r1, 0x14 -/* 800D40A0 38 80 00 64 */ li r4, 0x64 -/* 800D40A4 41 82 00 0C */ beq lbl_800D40B0 -/* 800D40A8 80 BF 00 04 */ lwz r5, 4(r31) -/* 800D40AC 48 00 00 08 */ b lbl_800D40B4 -lbl_800D40B0: -/* 800D40B0 38 A0 FF FF */ li r5, -1 -lbl_800D40B4: -/* 800D40B4 38 C0 00 05 */ li r6, 5 -/* 800D40B8 48 0D 41 09 */ bl dKy_Sound_set__F4cXyziUii -/* 800D40BC 2C 1E 00 71 */ cmpwi r30, 0x71 -/* 800D40C0 40 82 00 0C */ bne lbl_800D40CC -/* 800D40C4 38 60 00 01 */ li r3, 1 -/* 800D40C8 48 00 01 1C */ b lbl_800D41E4 -lbl_800D40CC: -/* 800D40CC 7F E3 FB 78 */ mr r3, r31 -/* 800D40D0 38 80 00 25 */ li r4, 0x25 -/* 800D40D4 4B FE DE 99 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D40D8 2C 1E 00 2F */ cmpwi r30, 0x2f -/* 800D40DC 40 82 00 4C */ bne lbl_800D4128 -/* 800D40E0 7F E3 FB 78 */ mr r3, r31 -/* 800D40E4 7F C4 F3 78 */ mr r4, r30 -/* 800D40E8 3C A0 80 39 */ lis r5, m__19daAlinkHIO_guard_c0@ha /* 0x8038DF9C@ha */ -/* 800D40EC 38 A5 DF 9C */ addi r5, r5, m__19daAlinkHIO_guard_c0@l /* 0x8038DF9C@l */ -/* 800D40F0 38 A5 00 28 */ addi r5, r5, 0x28 -/* 800D40F4 4B FD 90 01 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D40F8 38 00 00 01 */ li r0, 1 -/* 800D40FC B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D4100 3C 60 80 39 */ lis r3, m__19daAlinkHIO_guard_c0@ha /* 0x8038DF9C@ha */ -/* 800D4104 38 63 DF 9C */ addi r3, r3, m__19daAlinkHIO_guard_c0@l /* 0x8038DF9C@l */ -/* 800D4108 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D410C D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800D4110 38 00 00 02 */ li r0, 2 -/* 800D4114 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800D4118 7F E3 FB 78 */ mr r3, r31 -/* 800D411C C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800D4120 48 00 8E E9 */ bl setUpperGuardAnime__9daAlink_cFf -/* 800D4124 48 00 00 3C */ b lbl_800D4160 -lbl_800D4128: -/* 800D4128 7F E3 FB 78 */ mr r3, r31 -/* 800D412C 7F C4 F3 78 */ mr r4, r30 -/* 800D4130 3C A0 80 39 */ lis r5, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D4134 38 A5 DE 8C */ addi r5, r5, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D4138 38 A5 00 28 */ addi r5, r5, 0x28 -/* 800D413C 4B FD 8F B9 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D4140 38 00 00 00 */ li r0, 0 -/* 800D4144 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D4148 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D414C 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D4150 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800D4154 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800D4158 38 00 00 04 */ li r0, 4 -/* 800D415C 98 1F 2F 98 */ stb r0, 0x2f98(r31) -lbl_800D4160: -/* 800D4160 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D4164 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D4168 C0 03 00 64 */ lfs f0, 0x64(r3) -/* 800D416C D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D4170 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800D4174 3C 63 00 01 */ addis r3, r3, 1 -/* 800D4178 38 03 80 00 */ addi r0, r3, -32768 -/* 800D417C B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800D4180 38 00 00 00 */ li r0, 0 -/* 800D4184 B0 1F 30 7E */ sth r0, 0x307e(r31) -/* 800D4188 B0 1F 30 12 */ sth r0, 0x3012(r31) -/* 800D418C 88 1F 05 68 */ lbz r0, 0x568(r31) -/* 800D4190 28 00 00 1A */ cmplwi r0, 0x1a -/* 800D4194 41 82 00 14 */ beq lbl_800D41A8 -/* 800D4198 28 00 00 1F */ cmplwi r0, 0x1f -/* 800D419C 41 82 00 0C */ beq lbl_800D41A8 -/* 800D41A0 28 00 00 0A */ cmplwi r0, 0xa -/* 800D41A4 40 82 00 0C */ bne lbl_800D41B0 -lbl_800D41A8: -/* 800D41A8 38 80 00 05 */ li r4, 5 -/* 800D41AC 48 00 00 08 */ b lbl_800D41B4 -lbl_800D41B0: -/* 800D41B0 38 80 00 03 */ li r4, 3 -lbl_800D41B4: -/* 800D41B4 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D41B8 D0 21 00 08 */ stfs f1, 8(r1) -/* 800D41BC C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800D41C0 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800D41C4 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800D41C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D41CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D41D0 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800D41D4 38 A0 00 1F */ li r5, 0x1f -/* 800D41D8 38 C1 00 08 */ addi r6, r1, 8 -/* 800D41DC 4B F9 B8 49 */ bl StartShock__12dVibration_cFii4cXyz -/* 800D41E0 38 60 00 01 */ li r3, 1 -lbl_800D41E4: -/* 800D41E4 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 800D41E8 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 800D41EC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800D41F0 7C 08 03 A6 */ mtlr r0 -/* 800D41F4 38 21 00 30 */ addi r1, r1, 0x30 -/* 800D41F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutReverse__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutReverse__9daAlink_cFv.s deleted file mode 100644 index 2435b019a0..0000000000 --- a/asm/d/a/d_a_alink/procCutReverse__9daAlink_cFv.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_800D41FC: -/* 800D41FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D4200 7C 08 02 A6 */ mflr r0 -/* 800D4204 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D4208 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D420C 93 C1 00 08 */ stw r30, 8(r1) -/* 800D4210 7C 7E 1B 78 */ mr r30, r3 -/* 800D4214 4B FE 5D 3D */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D4218 2C 03 00 00 */ cmpwi r3, 0 -/* 800D421C 41 82 00 0C */ beq lbl_800D4228 -/* 800D4220 38 60 00 01 */ li r3, 1 -/* 800D4224 48 00 00 C0 */ b lbl_800D42E4 -lbl_800D4228: -/* 800D4228 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800D422C 38 7E 33 98 */ addi r3, r30, 0x3398 -/* 800D4230 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D4234 3C 80 80 39 */ lis r4, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D4238 38 84 DE 8C */ addi r4, r4, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D423C C0 44 00 68 */ lfs f2, 0x68(r4) -/* 800D4240 48 19 C5 01 */ bl cLib_chaseF__FPfff -/* 800D4244 A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 800D4248 2C 00 00 00 */ cmpwi r0, 0 -/* 800D424C 40 82 00 18 */ bne lbl_800D4264 -/* 800D4250 7F C3 F3 78 */ mr r3, r30 -/* 800D4254 4B FF E4 31 */ bl checkCutTurnCharge__9daAlink_cFv -/* 800D4258 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800D425C 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D4260 90 1E 05 88 */ stw r0, 0x588(r30) -lbl_800D4264: -/* 800D4264 A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 800D4268 2C 00 00 00 */ cmpwi r0, 0 -/* 800D426C 41 82 00 10 */ beq lbl_800D427C -/* 800D4270 7F C3 F3 78 */ mr r3, r30 -/* 800D4274 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800D4278 48 00 8D 91 */ bl setUpperGuardAnime__9daAlink_cFf -lbl_800D427C: -/* 800D427C 7F E3 FB 78 */ mr r3, r31 -/* 800D4280 48 08 A2 4D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D4284 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D4288 41 82 00 1C */ beq lbl_800D42A4 -/* 800D428C A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800D4290 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800D4294 7F C3 F3 78 */ mr r3, r30 -/* 800D4298 38 80 00 00 */ li r4, 0 -/* 800D429C 4B FE 5E 35 */ bl checkNextAction__9daAlink_cFi -/* 800D42A0 48 00 00 40 */ b lbl_800D42E0 -lbl_800D42A4: -/* 800D42A4 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D42A8 C0 1E 34 78 */ lfs f0, 0x3478(r30) -/* 800D42AC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D42B0 40 81 00 30 */ ble lbl_800D42E0 -/* 800D42B4 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800D42B8 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800D42BC 7F C3 F3 78 */ mr r3, r30 -/* 800D42C0 38 80 00 01 */ li r4, 1 -/* 800D42C4 4B FE 5E 0D */ bl checkNextAction__9daAlink_cFi -/* 800D42C8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D42CC 40 82 00 14 */ bne lbl_800D42E0 -/* 800D42D0 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800D42D4 3C 63 00 01 */ addis r3, r3, 1 -/* 800D42D8 38 03 80 00 */ addi r0, r3, -32768 -/* 800D42DC B0 1E 04 DE */ sth r0, 0x4de(r30) -lbl_800D42E0: -/* 800D42E0 38 60 00 01 */ li r3, 1 -lbl_800D42E4: -/* 800D42E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D42E8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D42EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D42F0 7C 08 03 A6 */ mtlr r0 -/* 800D42F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D42F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutTurnChargeInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutTurnChargeInit__9daAlink_cFv.s deleted file mode 100644 index 27c6691b47..0000000000 --- a/asm/d/a/d_a_alink/procCutTurnChargeInit__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800D4C68: -/* 800D4C68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D4C6C 7C 08 02 A6 */ mflr r0 -/* 800D4C70 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D4C74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D4C78 7C 7F 1B 78 */ mr r31, r3 -/* 800D4C7C 88 03 05 69 */ lbz r0, 0x569(r3) -/* 800D4C80 28 00 00 00 */ cmplwi r0, 0 -/* 800D4C84 40 82 00 24 */ bne lbl_800D4CA8 -/* 800D4C88 4B FD 2D D5 */ bl checkDashAnime__9daAlink_cCFv -/* 800D4C8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D4C90 41 82 00 18 */ beq lbl_800D4CA8 -/* 800D4C94 7F E3 FB 78 */ mr r3, r31 -/* 800D4C98 38 80 00 83 */ li r4, 0x83 -/* 800D4C9C 4B FD 86 A5 */ bl setUpperAnimeBase__9daAlink_cFUs -/* 800D4CA0 38 60 00 01 */ li r3, 1 -/* 800D4CA4 48 00 00 4C */ b lbl_800D4CF0 -lbl_800D4CA8: -/* 800D4CA8 7F E3 FB 78 */ mr r3, r31 -/* 800D4CAC 38 80 00 29 */ li r4, 0x29 -/* 800D4CB0 4B FE D2 BD */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D4CB4 7F E3 FB 78 */ mr r3, r31 -/* 800D4CB8 38 80 00 75 */ li r4, 0x75 -/* 800D4CBC 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutTurn_c0@ha /* 0x8038DB84@ha */ -/* 800D4CC0 38 A5 DB 84 */ addi r5, r5, m__21daAlinkHIO_cutTurn_c0@l /* 0x8038DB84@l */ -/* 800D4CC4 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800D4CC8 4B FD 84 2D */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800D4CCC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D4CD0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D4CD4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800D4CD8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800D4CDC 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D4CE0 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D4CE4 A8 03 00 56 */ lha r0, 0x56(r3) -/* 800D4CE8 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800D4CEC 38 60 00 01 */ li r3, 1 -lbl_800D4CF0: -/* 800D4CF0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D4CF4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D4CF8 7C 08 03 A6 */ mtlr r0 -/* 800D4CFC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D4D00 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutTurnCharge__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutTurnCharge__9daAlink_cFv.s deleted file mode 100644 index c0fdb5241f..0000000000 --- a/asm/d/a/d_a_alink/procCutTurnCharge__9daAlink_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_800D4D04: -/* 800D4D04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D4D08 7C 08 02 A6 */ mflr r0 -/* 800D4D0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D4D10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D4D14 7C 7F 1B 78 */ mr r31, r3 -/* 800D4D18 4B FE 52 39 */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D4D1C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4D20 41 82 00 0C */ beq lbl_800D4D2C -/* 800D4D24 38 60 00 01 */ li r3, 1 -/* 800D4D28 48 00 00 A0 */ b lbl_800D4DC8 -lbl_800D4D2C: -/* 800D4D2C 7F E3 FB 78 */ mr r3, r31 -/* 800D4D30 4B FF D5 8D */ bl setSwordChargeVoiceSe__9daAlink_cFv -/* 800D4D34 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D4D38 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D4D3C A8 03 00 52 */ lha r0, 0x52(r3) -/* 800D4D40 B0 1F 30 7E */ sth r0, 0x307e(r31) -/* 800D4D44 7F E3 FB 78 */ mr r3, r31 -/* 800D4D48 38 80 00 08 */ li r4, 8 -/* 800D4D4C 4B FD D8 9D */ bl itemButtonCheck__9daAlink_cFUc -/* 800D4D50 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4D54 40 82 00 34 */ bne lbl_800D4D88 -/* 800D4D58 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800D4D5C 28 00 00 5B */ cmplwi r0, 0x5b -/* 800D4D60 41 82 00 28 */ beq lbl_800D4D88 -/* 800D4D64 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800D4D68 2C 00 00 00 */ cmpwi r0, 0 -/* 800D4D6C 41 82 00 10 */ beq lbl_800D4D7C -/* 800D4D70 7F E3 FB 78 */ mr r3, r31 -/* 800D4D74 4B FF D6 4D */ bl checkCutAction__9daAlink_cFv -/* 800D4D78 48 00 00 4C */ b lbl_800D4DC4 -lbl_800D4D7C: -/* 800D4D7C 7F E3 FB 78 */ mr r3, r31 -/* 800D4D80 4B FF DE 09 */ bl cancelCutCharge__9daAlink_cFv -/* 800D4D84 48 00 00 40 */ b lbl_800D4DC4 -lbl_800D4D88: -/* 800D4D88 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800D4D8C 48 08 97 41 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D4D90 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D4D94 41 82 00 14 */ beq lbl_800D4DA8 -/* 800D4D98 7F E3 FB 78 */ mr r3, r31 -/* 800D4D9C 38 80 00 00 */ li r4, 0 -/* 800D4DA0 48 00 00 3D */ bl procCutTurnMoveInit__9daAlink_cFi -/* 800D4DA4 48 00 00 20 */ b lbl_800D4DC4 -lbl_800D4DA8: -/* 800D4DA8 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 800D4DAC C0 02 93 44 */ lfs f0, lit_7977(r2) -/* 800D4DB0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4DB4 4C 41 13 82 */ cror 2, 1, 2 -/* 800D4DB8 40 82 00 0C */ bne lbl_800D4DC4 -/* 800D4DBC 38 00 00 64 */ li r0, 0x64 -/* 800D4DC0 98 1F 2F 92 */ stb r0, 0x2f92(r31) -lbl_800D4DC4: -/* 800D4DC4 38 60 00 01 */ li r3, 1 -lbl_800D4DC8: -/* 800D4DC8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D4DCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D4DD0 7C 08 03 A6 */ mtlr r0 -/* 800D4DD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D4DD8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutTurnMoveInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procCutTurnMoveInit__9daAlink_cFi.s deleted file mode 100644 index b1cb658ecc..0000000000 --- a/asm/d/a/d_a_alink/procCutTurnMoveInit__9daAlink_cFi.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_800D4DDC: -/* 800D4DDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D4DE0 7C 08 02 A6 */ mflr r0 -/* 800D4DE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D4DE8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D4DEC 93 C1 00 08 */ stw r30, 8(r1) -/* 800D4DF0 7C 7E 1B 78 */ mr r30, r3 -/* 800D4DF4 7C 9F 23 78 */ mr r31, r4 -/* 800D4DF8 38 80 00 2A */ li r4, 0x2a -/* 800D4DFC 4B FE D1 71 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D4E00 7F C3 F3 78 */ mr r3, r30 -/* 800D4E04 4B FD EB 01 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800D4E08 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D4E0C 41 82 00 10 */ beq lbl_800D4E1C -/* 800D4E10 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800D4E14 60 00 00 01 */ ori r0, r0, 1 -/* 800D4E18 90 1E 31 A0 */ stw r0, 0x31a0(r30) -lbl_800D4E1C: -/* 800D4E1C 2C 1F 00 00 */ cmpwi r31, 0 -/* 800D4E20 41 82 00 40 */ beq lbl_800D4E60 -/* 800D4E24 7F C3 F3 78 */ mr r3, r30 -/* 800D4E28 38 80 01 8B */ li r4, 0x18b -/* 800D4E2C 4B FD 76 25 */ bl getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800D4E30 A0 83 00 00 */ lhz r4, 0(r3) -/* 800D4E34 7F C3 F3 78 */ mr r3, r30 -/* 800D4E38 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D4E3C C0 42 92 BC */ lfs f2, lit_6041(r2) -/* 800D4E40 4B FD 85 69 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 800D4E44 C0 1E 1F E0 */ lfs f0, 0x1fe0(r30) -/* 800D4E48 D0 1E 20 58 */ stfs f0, 0x2058(r30) -/* 800D4E4C 80 7E 1F 54 */ lwz r3, 0x1f54(r30) -/* 800D4E50 D0 03 00 08 */ stfs f0, 8(r3) -/* 800D4E54 7F C3 F3 78 */ mr r3, r30 -/* 800D4E58 38 80 01 8B */ li r4, 0x18b -/* 800D4E5C 4B FD AC B9 */ bl setFacePriAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM -lbl_800D4E60: -/* 800D4E60 7F C3 F3 78 */ mr r3, r30 -/* 800D4E64 38 80 00 76 */ li r4, 0x76 -/* 800D4E68 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D4E6C 3C A0 80 39 */ lis r5, m__21daAlinkHIO_cutTurn_c0@ha /* 0x8038DB84@ha */ -/* 800D4E70 38 A5 DB 84 */ addi r5, r5, m__21daAlinkHIO_cutTurn_c0@l /* 0x8038DB84@l */ -/* 800D4E74 C0 45 00 50 */ lfs f2, 0x50(r5) -/* 800D4E78 4B FD 81 69 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800D4E7C 38 00 00 00 */ li r0, 0 -/* 800D4E80 98 1E 2F 98 */ stb r0, 0x2f98(r30) -/* 800D4E84 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutTurn_c0@ha /* 0x8038DB84@ha */ -/* 800D4E88 38 63 DB 84 */ addi r3, r3, m__21daAlinkHIO_cutTurn_c0@l /* 0x8038DB84@l */ -/* 800D4E8C C0 03 00 5C */ lfs f0, 0x5c(r3) -/* 800D4E90 D0 1E 05 94 */ stfs f0, 0x594(r30) -/* 800D4E94 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D4E98 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D4E9C 88 03 00 14 */ lbz r0, 0x14(r3) -/* 800D4EA0 28 00 00 3F */ cmplwi r0, 0x3f -/* 800D4EA4 41 82 00 10 */ beq lbl_800D4EB4 -/* 800D4EA8 80 7E 06 C4 */ lwz r3, 0x6c4(r30) -/* 800D4EAC 4B FD 43 9D */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase -/* 800D4EB0 48 00 00 0C */ b lbl_800D4EBC -lbl_800D4EB4: -/* 800D4EB4 38 00 00 01 */ li r0, 1 -/* 800D4EB8 B0 1E 30 08 */ sth r0, 0x3008(r30) -lbl_800D4EBC: -/* 800D4EBC B3 FE 30 0C */ sth r31, 0x300c(r30) -/* 800D4EC0 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800D4EC4 64 00 10 00 */ oris r0, r0, 0x1000 -/* 800D4EC8 90 1E 05 74 */ stw r0, 0x574(r30) -/* 800D4ECC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D4ED0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D4ED4 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800D4ED8 64 00 40 00 */ oris r0, r0, 0x4000 -/* 800D4EDC 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800D4EE0 38 60 00 01 */ li r3, 1 -/* 800D4EE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D4EE8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D4EEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D4EF0 7C 08 03 A6 */ mtlr r0 -/* 800D4EF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D4EF8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s b/asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s deleted file mode 100644 index 74bd5518f9..0000000000 --- a/asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s +++ /dev/null @@ -1,137 +0,0 @@ -lbl_800D4A74: -/* 800D4A74 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D4A78 7C 08 02 A6 */ mflr r0 -/* 800D4A7C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D4A80 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D4A84 48 28 D7 59 */ bl _savegpr_29 -/* 800D4A88 7C 7F 1B 78 */ mr r31, r3 -/* 800D4A8C 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 800D4A90 3B C4 D6 58 */ addi r30, r4, lit_3757@l /* 0x8038D658@l */ -/* 800D4A94 4B FE 54 BD */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D4A98 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4A9C 41 82 00 0C */ beq lbl_800D4AA8 -/* 800D4AA0 38 60 00 01 */ li r3, 1 -/* 800D4AA4 48 00 01 AC */ b lbl_800D4C50 -lbl_800D4AA8: -/* 800D4AA8 3B BF 1F D0 */ addi r29, r31, 0x1fd0 -/* 800D4AAC 38 00 00 04 */ li r0, 4 -/* 800D4AB0 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800D4AB4 38 7F 33 98 */ addi r3, r31, 0x3398 -/* 800D4AB8 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D4ABC 38 9E 00 64 */ addi r4, r30, 0x64 -/* 800D4AC0 C0 44 00 38 */ lfs f2, 0x38(r4) -/* 800D4AC4 48 19 BC 7D */ bl cLib_chaseF__FPfff -/* 800D4AC8 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800D4ACC 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D4AD0 90 1F 05 88 */ stw r0, 0x588(r31) -/* 800D4AD4 88 1F 05 69 */ lbz r0, 0x569(r31) -/* 800D4AD8 28 00 00 00 */ cmplwi r0, 0 -/* 800D4ADC 41 82 00 10 */ beq lbl_800D4AEC -/* 800D4AE0 38 7E 08 34 */ addi r3, r30, 0x834 -/* 800D4AE4 A8 03 00 52 */ lha r0, 0x52(r3) -/* 800D4AE8 B0 1F 30 7E */ sth r0, 0x307e(r31) -lbl_800D4AEC: -/* 800D4AEC C0 3D 00 10 */ lfs f1, 0x10(r29) -/* 800D4AF0 C0 02 93 40 */ lfs f0, lit_7945(r2) -/* 800D4AF4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4AF8 4C 41 13 82 */ cror 2, 1, 2 -/* 800D4AFC 40 82 00 0C */ bne lbl_800D4B08 -/* 800D4B00 38 00 00 00 */ li r0, 0 -/* 800D4B04 98 1F 2F 92 */ stb r0, 0x2f92(r31) -lbl_800D4B08: -/* 800D4B08 7F A3 EB 78 */ mr r3, r29 -/* 800D4B0C 48 08 99 C1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D4B10 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D4B14 41 82 00 80 */ beq lbl_800D4B94 -/* 800D4B18 A8 1F 30 08 */ lha r0, 0x3008(r31) -/* 800D4B1C 2C 00 00 00 */ cmpwi r0, 0 -/* 800D4B20 40 81 00 38 */ ble lbl_800D4B58 -/* 800D4B24 C0 3D 00 10 */ lfs f1, 0x10(r29) -/* 800D4B28 C0 1F 34 80 */ lfs f0, 0x3480(r31) -/* 800D4B2C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4B30 40 81 00 18 */ ble lbl_800D4B48 -/* 800D4B34 7F E3 FB 78 */ mr r3, r31 -/* 800D4B38 38 80 00 03 */ li r4, 3 -/* 800D4B3C 4B FF DC 25 */ bl checkCutCancelNextMode__9daAlink_cFi -/* 800D4B40 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4B44 40 82 01 08 */ bne lbl_800D4C4C -lbl_800D4B48: -/* 800D4B48 A8 7F 30 08 */ lha r3, 0x3008(r31) -/* 800D4B4C 38 03 FF FF */ addi r0, r3, -1 -/* 800D4B50 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800D4B54 48 00 00 F8 */ b lbl_800D4C4C -lbl_800D4B58: -/* 800D4B58 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800D4B5C 28 00 00 24 */ cmplwi r0, 0x24 -/* 800D4B60 40 82 00 1C */ bne lbl_800D4B7C -/* 800D4B64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D4B68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D4B6C 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D4B70 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 800D4B74 4B F7 36 09 */ bl cutEnd__16dEvent_manager_cFi -/* 800D4B78 48 00 00 D4 */ b lbl_800D4C4C -lbl_800D4B7C: -/* 800D4B7C 38 00 00 03 */ li r0, 3 -/* 800D4B80 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800D4B84 7F E3 FB 78 */ mr r3, r31 -/* 800D4B88 38 80 00 00 */ li r4, 0 -/* 800D4B8C 4B FE 55 45 */ bl checkNextAction__9daAlink_cFi -/* 800D4B90 48 00 00 BC */ b lbl_800D4C4C -lbl_800D4B94: -/* 800D4B94 C0 3D 00 10 */ lfs f1, 0x10(r29) -/* 800D4B98 C0 1F 34 80 */ lfs f0, 0x3480(r31) -/* 800D4B9C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4BA0 40 81 00 18 */ ble lbl_800D4BB8 -/* 800D4BA4 7F E3 FB 78 */ mr r3, r31 -/* 800D4BA8 38 80 00 03 */ li r4, 3 -/* 800D4BAC 4B FF DB B5 */ bl checkCutCancelNextMode__9daAlink_cFi -/* 800D4BB0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4BB4 40 82 00 98 */ bne lbl_800D4C4C -lbl_800D4BB8: -/* 800D4BB8 C0 3D 00 10 */ lfs f1, 0x10(r29) -/* 800D4BBC C0 1F 34 84 */ lfs f0, 0x3484(r31) -/* 800D4BC0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4BC4 4C 41 13 82 */ cror 2, 1, 2 -/* 800D4BC8 40 82 00 84 */ bne lbl_800D4C4C -/* 800D4BCC C0 1F 34 88 */ lfs f0, 0x3488(r31) -/* 800D4BD0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D4BD4 40 80 00 78 */ bge lbl_800D4C4C -/* 800D4BD8 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800D4BDC 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800D4BE0 40 82 00 44 */ bne lbl_800D4C24 -/* 800D4BE4 7F E3 FB 78 */ mr r3, r31 -/* 800D4BE8 80 9F 32 CC */ lwz r4, 0x32cc(r31) -/* 800D4BEC 4B FE A5 01 */ bl seStartSwordCut__9daAlink_cFUl -/* 800D4BF0 38 7E 05 2C */ addi r3, r30, 0x52c -/* 800D4BF4 C0 03 00 68 */ lfs f0, 0x68(r3) -/* 800D4BF8 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D4BFC 7F E3 FB 78 */ mr r3, r31 -/* 800D4C00 38 80 00 01 */ li r4, 1 -/* 800D4C04 38 A0 00 01 */ li r5, 1 -/* 800D4C08 4B FE 68 B1 */ bl checkHeavyStateOn__9daAlink_cFii -/* 800D4C0C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D4C10 41 82 00 14 */ beq lbl_800D4C24 -/* 800D4C14 C0 3F 33 98 */ lfs f1, 0x3398(r31) -/* 800D4C18 C0 1F 34 34 */ lfs f0, 0x3434(r31) -/* 800D4C1C EC 01 00 32 */ fmuls f0, f1, f0 -/* 800D4C20 D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_800D4C24: -/* 800D4C24 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800D4C28 60 00 00 02 */ ori r0, r0, 2 -/* 800D4C2C 90 1F 05 80 */ stw r0, 0x580(r31) -/* 800D4C30 38 7F 34 7C */ addi r3, r31, 0x347c -/* 800D4C34 C0 3F 34 78 */ lfs f1, 0x3478(r31) -/* 800D4C38 C0 5F 34 8C */ lfs f2, 0x348c(r31) -/* 800D4C3C 48 19 BB 05 */ bl cLib_chaseF__FPfff -/* 800D4C40 38 7F 10 DC */ addi r3, r31, 0x10dc -/* 800D4C44 C0 3F 34 7C */ lfs f1, 0x347c(r31) -/* 800D4C48 48 19 AA C1 */ bl SetR__8cM3dGSphFf -lbl_800D4C4C: -/* 800D4C4C 38 60 00 01 */ li r3, 1 -lbl_800D4C50: -/* 800D4C50 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D4C54 48 28 D5 D5 */ bl _restgpr_29 -/* 800D4C58 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D4C5C 7C 08 03 A6 */ mtlr r0 -/* 800D4C60 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D4C64 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procDiveJumpInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procDiveJumpInit__9daAlink_cFv.s deleted file mode 100644 index b742d3ff88..0000000000 --- a/asm/d/a/d_a_alink/procDiveJumpInit__9daAlink_cFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_800C66DC: -/* 800C66DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C66E0 7C 08 02 A6 */ mflr r0 -/* 800C66E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C66E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C66EC 7C 7F 1B 78 */ mr r31, r3 -/* 800C66F0 38 80 00 16 */ li r4, 0x16 -/* 800C66F4 4B FF B8 79 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C66F8 7F E3 FB 78 */ mr r3, r31 -/* 800C66FC 38 80 01 9A */ li r4, 0x19a -/* 800C6700 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C6704 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C6708 38 A5 00 28 */ addi r5, r5, 0x28 -/* 800C670C 4B FE 69 E9 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C6710 7F E3 FB 78 */ mr r3, r31 -/* 800C6714 38 80 00 01 */ li r4, 1 -/* 800C6718 38 A0 00 01 */ li r5, 1 -/* 800C671C 4B FF AB C1 */ bl deleteEquipItem__9daAlink_cFii -/* 800C6720 7F E3 FB 78 */ mr r3, r31 -/* 800C6724 38 80 00 00 */ li r4, 0 -/* 800C6728 48 01 BE 59 */ bl setHeavyBoots__9daAlink_cFi -/* 800C672C 3C 60 80 39 */ lis r3, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C6730 38 63 E0 68 */ addi r3, r3, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C6734 C0 03 00 9C */ lfs f0, 0x9c(r3) -/* 800C6738 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 800C673C C0 03 00 A0 */ lfs f0, 0xa0(r3) -/* 800C6740 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C6744 C0 03 00 A4 */ lfs f0, 0xa4(r3) -/* 800C6748 D0 1F 05 30 */ stfs f0, 0x530(r31) -/* 800C674C 38 00 00 00 */ li r0, 0 -/* 800C6750 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C6754 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C6758 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C675C C0 02 98 E8 */ lfs f0, lit_73790(r2) -/* 800C6760 D0 1F 33 B0 */ stfs f0, 0x33b0(r31) -/* 800C6764 7F E3 FB 78 */ mr r3, r31 -/* 800C6768 3C 80 00 01 */ lis r4, 0x0001 /* 0x0001008F@ha */ -/* 800C676C 38 84 00 8F */ addi r4, r4, 0x008F /* 0x0001008F@l */ -/* 800C6770 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800C6774 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C6778 7D 89 03 A6 */ mtctr r12 -/* 800C677C 4E 80 04 21 */ bctrl -/* 800C6780 38 60 00 01 */ li r3, 1 -/* 800C6784 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C6788 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C678C 7C 08 03 A6 */ mtlr r0 -/* 800C6790 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C6794 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procDiveJump__9daAlink_cFv.s b/asm/d/a/d_a_alink/procDiveJump__9daAlink_cFv.s deleted file mode 100644 index 0b79d99e6d..0000000000 --- a/asm/d/a/d_a_alink/procDiveJump__9daAlink_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_800C6798: -/* 800C6798 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C679C 7C 08 02 A6 */ mflr r0 -/* 800C67A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C67A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C67A8 7C 7F 1B 78 */ mr r31, r3 -/* 800C67AC 38 9F 1F D0 */ addi r4, r31, 0x1fd0 -/* 800C67B0 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 800C67B4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800C67B8 41 82 00 0C */ beq lbl_800C67C4 -/* 800C67BC 4B FF E1 91 */ bl procFrontRollInit__9daAlink_cFv -/* 800C67C0 48 00 00 7C */ b lbl_800C683C -lbl_800C67C4: -/* 800C67C4 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800C67C8 2C 00 00 00 */ cmpwi r0, 0 -/* 800C67CC 40 82 00 40 */ bne lbl_800C680C -/* 800C67D0 7C 83 23 78 */ mr r3, r4 -/* 800C67D4 48 09 7C F9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C67D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C67DC 41 82 00 5C */ beq lbl_800C6838 -/* 800C67E0 7F E3 FB 78 */ mr r3, r31 -/* 800C67E4 38 80 01 9B */ li r4, 0x19b -/* 800C67E8 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C67EC 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C67F0 38 A5 00 3C */ addi r5, r5, 0x3c -/* 800C67F4 4B FE 69 01 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C67F8 38 00 00 01 */ li r0, 1 -/* 800C67FC B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C6800 38 00 00 02 */ li r0, 2 -/* 800C6804 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800C6808 48 00 00 30 */ b lbl_800C6838 -lbl_800C680C: -/* 800C680C 38 00 00 02 */ li r0, 2 -/* 800C6810 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800C6814 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 800C6818 C0 02 92 C4 */ lfs f0, lit_6109(r2) -/* 800C681C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C6820 4C 41 13 82 */ cror 2, 1, 2 -/* 800C6824 40 82 00 14 */ bne lbl_800C6838 -/* 800C6828 38 7F 33 98 */ addi r3, r31, 0x3398 -/* 800C682C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C6830 C0 42 92 98 */ lfs f2, lit_5943(r2) -/* 800C6834 48 1A 9F 0D */ bl cLib_chaseF__FPfff -lbl_800C6838: -/* 800C6838 38 60 00 01 */ li r3, 1 -lbl_800C683C: -/* 800C683C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C6840 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C6844 7C 08 03 A6 */ mtlr r0 -/* 800C6848 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C684C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFall__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFall__9daAlink_cFv.s deleted file mode 100644 index bcb9fb6a41..0000000000 --- a/asm/d/a/d_a_alink/procFall__9daAlink_cFv.s +++ /dev/null @@ -1,140 +0,0 @@ -lbl_800C6D20: -/* 800C6D20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C6D24 7C 08 02 A6 */ mflr r0 -/* 800C6D28 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C6D2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C6D30 93 C1 00 08 */ stw r30, 8(r1) -/* 800C6D34 7C 7F 1B 78 */ mr r31, r3 -/* 800C6D38 A8 63 30 12 */ lha r3, 0x3012(r3) -/* 800C6D3C 7C 60 07 35 */ extsh. r0, r3 -/* 800C6D40 40 82 00 18 */ bne lbl_800C6D58 -/* 800C6D44 38 7F 33 98 */ addi r3, r31, 0x3398 -/* 800C6D48 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C6D4C C0 42 93 A0 */ lfs f2, lit_9054(r2) -/* 800C6D50 48 1A 99 F1 */ bl cLib_chaseF__FPfff -/* 800C6D54 48 00 00 1C */ b lbl_800C6D70 -lbl_800C6D58: -/* 800C6D58 7C 60 07 35 */ extsh. r0, r3 -/* 800C6D5C 40 81 00 14 */ ble lbl_800C6D70 -/* 800C6D60 38 00 FF FF */ li r0, -1 -/* 800C6D64 B0 1F 30 12 */ sth r0, 0x3012(r31) -/* 800C6D68 38 60 00 01 */ li r3, 1 -/* 800C6D6C 48 00 01 94 */ b lbl_800C6F00 -lbl_800C6D70: -/* 800C6D70 7F E3 FB 78 */ mr r3, r31 -/* 800C6D74 4B FE EE C1 */ bl setLandPassiveData__9daAlink_cFv -/* 800C6D78 7F E3 FB 78 */ mr r3, r31 -/* 800C6D7C 4B FF 07 39 */ bl checkUpperItemActionFly__9daAlink_cFv -/* 800C6D80 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6D84 41 82 00 0C */ beq lbl_800C6D90 -/* 800C6D88 38 60 00 01 */ li r3, 1 -/* 800C6D8C 48 00 01 74 */ b lbl_800C6F00 -lbl_800C6D90: -/* 800C6D90 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800C6D94 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800C6D98 41 82 00 14 */ beq lbl_800C6DAC -/* 800C6D9C 7F E3 FB 78 */ mr r3, r31 -/* 800C6DA0 A8 9F 30 0E */ lha r4, 0x300e(r31) -/* 800C6DA4 4B FE EF 29 */ bl checkLandAction__9daAlink_cFi -/* 800C6DA8 48 00 01 58 */ b lbl_800C6F00 -lbl_800C6DAC: -/* 800C6DAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C6DB0 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C6DB4 A0 1E 00 02 */ lhz r0, 2(r30) -/* 800C6DB8 28 00 00 00 */ cmplwi r0, 0 -/* 800C6DBC 41 82 01 2C */ beq lbl_800C6EE8 -/* 800C6DC0 A8 1F 30 08 */ lha r0, 0x3008(r31) -/* 800C6DC4 2C 00 00 01 */ cmpwi r0, 1 -/* 800C6DC8 40 82 00 80 */ bne lbl_800C6E48 -/* 800C6DCC A8 7F 30 0A */ lha r3, 0x300a(r31) -/* 800C6DD0 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6DD4 40 81 00 10 */ ble lbl_800C6DE4 -/* 800C6DD8 38 03 FF FF */ addi r0, r3, -1 -/* 800C6DDC B0 1F 30 0A */ sth r0, 0x300a(r31) -/* 800C6DE0 48 00 00 88 */ b lbl_800C6E68 -lbl_800C6DE4: -/* 800C6DE4 7F E3 FB 78 */ mr r3, r31 -/* 800C6DE8 4B FE 94 D5 */ bl setFrontWallType__9daAlink_cFv -/* 800C6DEC 80 1F 32 CC */ lwz r0, 0x32cc(r31) -/* 800C6DF0 28 00 00 00 */ cmplwi r0, 0 -/* 800C6DF4 40 82 00 3C */ bne lbl_800C6E30 -/* 800C6DF8 C0 3F 33 AC */ lfs f1, 0x33ac(r31) -/* 800C6DFC C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 800C6E00 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C6E04 40 81 00 20 */ ble lbl_800C6E24 -/* 800C6E08 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800C6E0C A8 1F 2F E2 */ lha r0, 0x2fe2(r31) -/* 800C6E10 7C 03 00 50 */ subf r0, r3, r0 -/* 800C6E14 7C 03 07 34 */ extsh r3, r0 -/* 800C6E18 4B FE C6 7D */ bl getDirectionFromAngle__9daAlink_cFs -/* 800C6E1C 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6E20 41 82 00 10 */ beq lbl_800C6E30 -lbl_800C6E24: -/* 800C6E24 88 1F 2F 8D */ lbz r0, 0x2f8d(r31) -/* 800C6E28 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800C6E2C 41 82 00 3C */ beq lbl_800C6E68 -lbl_800C6E30: -/* 800C6E30 7F E3 FB 78 */ mr r3, r31 -/* 800C6E34 4B FE FB FD */ bl checkFrontWallTypeAction__9daAlink_cFv -/* 800C6E38 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6E3C 41 82 00 2C */ beq lbl_800C6E68 -/* 800C6E40 38 60 00 01 */ li r3, 1 -/* 800C6E44 48 00 00 BC */ b lbl_800C6F00 -lbl_800C6E48: -/* 800C6E48 2C 00 00 02 */ cmpwi r0, 2 -/* 800C6E4C 40 82 00 1C */ bne lbl_800C6E68 -/* 800C6E50 7F E3 FB 78 */ mr r3, r31 -/* 800C6E54 4B FE FB DD */ bl checkFrontWallTypeAction__9daAlink_cFv -/* 800C6E58 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6E5C 41 82 00 0C */ beq lbl_800C6E68 -/* 800C6E60 38 60 00 01 */ li r3, 1 -/* 800C6E64 48 00 00 9C */ b lbl_800C6F00 -lbl_800C6E68: -/* 800C6E68 7F E3 FB 78 */ mr r3, r31 -/* 800C6E6C 4B FE ED 55 */ bl setFallVoice__9daAlink_cFv -/* 800C6E70 C0 42 93 88 */ lfs f2, lit_8782(r2) -/* 800C6E74 C0 3F 33 C4 */ lfs f1, 0x33c4(r31) -/* 800C6E78 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800C6E7C EC 01 00 28 */ fsubs f0, f1, f0 -/* 800C6E80 EC 22 00 32 */ fmuls f1, f2, f0 -/* 800C6E84 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800C6E88 2C 00 00 00 */ cmpwi r0, 0 -/* 800C6E8C 40 82 00 34 */ bne lbl_800C6EC0 -/* 800C6E90 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800C6E94 38 A3 E4 54 */ addi r5, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800C6E98 C0 05 00 40 */ lfs f0, 0x40(r5) -/* 800C6E9C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C6EA0 40 81 00 20 */ ble lbl_800C6EC0 -/* 800C6EA4 7F E3 FB 78 */ mr r3, r31 -/* 800C6EA8 38 80 00 8C */ li r4, 0x8c -/* 800C6EAC C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C6EB0 C0 45 00 44 */ lfs f2, 0x44(r5) -/* 800C6EB4 4B FE 61 2D */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800C6EB8 38 00 00 01 */ li r0, 1 -/* 800C6EBC B0 1F 30 0C */ sth r0, 0x300c(r31) -lbl_800C6EC0: -/* 800C6EC0 A8 7F 04 DE */ lha r3, 0x4de(r31) -/* 800C6EC4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C6EC8 7C 03 00 00 */ cmpw r3, r0 -/* 800C6ECC 40 82 00 1C */ bne lbl_800C6EE8 -/* 800C6ED0 7F E3 FB 78 */ mr r3, r31 -/* 800C6ED4 4B FE FA F9 */ bl checkCutJumpInFly__9daAlink_cFv -/* 800C6ED8 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6EDC 41 82 00 0C */ beq lbl_800C6EE8 -/* 800C6EE0 38 60 00 01 */ li r3, 1 -/* 800C6EE4 48 00 00 1C */ b lbl_800C6F00 -lbl_800C6EE8: -/* 800C6EE8 A0 1E 00 02 */ lhz r0, 2(r30) -/* 800C6EEC 28 00 00 00 */ cmplwi r0, 0 -/* 800C6EF0 41 82 00 0C */ beq lbl_800C6EFC -/* 800C6EF4 7F E3 FB 78 */ mr r3, r31 -/* 800C6EF8 4B FF 2A 55 */ bl checkItemChangeFromButton__9daAlink_cFv -lbl_800C6EFC: -/* 800C6EFC 38 60 00 01 */ li r3, 1 -lbl_800C6F00: -/* 800C6F00 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C6F04 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C6F08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C6F0C 7C 08 03 A6 */ mtlr r0 -/* 800C6F10 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C6F14 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFloorDownReboundInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFloorDownReboundInit__9daAlink_cFv.s deleted file mode 100644 index 3a2114db86..0000000000 --- a/asm/d/a/d_a_alink/procFloorDownReboundInit__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800C8460: -/* 800C8460 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C8464 7C 08 02 A6 */ mflr r0 -/* 800C8468 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C846C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C8470 7C 7F 1B 78 */ mr r31, r3 -/* 800C8474 38 80 00 BD */ li r4, 0xbd -/* 800C8478 4B FF 9A F5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C847C 7F E3 FB 78 */ mr r3, r31 -/* 800C8480 38 80 00 33 */ li r4, 0x33 -/* 800C8484 C0 22 93 A8 */ lfs f1, lit_9652(r2) -/* 800C8488 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C848C 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C8490 C0 45 00 1C */ lfs f2, 0x1c(r5) -/* 800C8494 A8 A5 00 14 */ lha r5, 0x14(r5) -/* 800C8498 C0 62 93 30 */ lfs f3, lit_7625(r2) -/* 800C849C 4B FE 4B 71 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800C84A0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C84A4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C84A8 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C84AC B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C84B0 38 00 00 04 */ li r0, 4 -/* 800C84B4 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800C84B8 38 60 00 01 */ li r3, 1 -/* 800C84BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C84C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C84C4 7C 08 03 A6 */ mtlr r0 -/* 800C84C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C84CC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFloorDownRebound__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFloorDownRebound__9daAlink_cFv.s deleted file mode 100644 index 6ad2c6d4ae..0000000000 --- a/asm/d/a/d_a_alink/procFloorDownRebound__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_800C84D0: -/* 800C84D0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C84D4 7C 08 02 A6 */ mflr r0 -/* 800C84D8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C84DC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C84E0 93 C1 00 08 */ stw r30, 8(r1) -/* 800C84E4 7C 7E 1B 78 */ mr r30, r3 -/* 800C84E8 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800C84EC 7F E3 FB 78 */ mr r3, r31 -/* 800C84F0 48 09 5F DD */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C84F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C84F8 41 82 00 14 */ beq lbl_800C850C -/* 800C84FC 7F C3 F3 78 */ mr r3, r30 -/* 800C8500 38 80 00 00 */ li r4, 0 -/* 800C8504 4B FF 1B CD */ bl checkNextAction__9daAlink_cFi -/* 800C8508 48 00 00 28 */ b lbl_800C8530 -lbl_800C850C: -/* 800C850C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800C8510 3C 60 80 39 */ lis r3, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C8514 38 63 E0 68 */ addi r3, r3, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C8518 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800C851C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C8520 40 81 00 10 */ ble lbl_800C8530 -/* 800C8524 7F C3 F3 78 */ mr r3, r30 -/* 800C8528 38 80 00 01 */ li r4, 1 -/* 800C852C 4B FF 1B A5 */ bl checkNextAction__9daAlink_cFi -lbl_800C8530: -/* 800C8530 38 60 00 01 */ li r3, 1 -/* 800C8534 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C8538 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C853C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C8540 7C 08 03 A6 */ mtlr r0 -/* 800C8544 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C8548 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFrontRollCrashInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFrontRollCrashInit__9daAlink_cFv.s deleted file mode 100644 index 2820e61b65..0000000000 --- a/asm/d/a/d_a_alink/procFrontRollCrashInit__9daAlink_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800C4F14: -/* 800C4F14 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C4F18 7C 08 02 A6 */ mflr r0 -/* 800C4F1C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C4F20 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C4F24 7C 7F 1B 78 */ mr r31, r3 -/* 800C4F28 38 80 00 0F */ li r4, 0xf -/* 800C4F2C 4B FF D0 41 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C4F30 7F E3 FB 78 */ mr r3, r31 -/* 800C4F34 38 80 00 24 */ li r4, 0x24 -/* 800C4F38 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C4F3C 3C A0 80 39 */ lis r5, m__23daAlinkHIO_frontRoll_c0@ha /* 0x8038D7BC@ha */ -/* 800C4F40 38 C5 D7 BC */ addi r6, r5, m__23daAlinkHIO_frontRoll_c0@l /* 0x8038D7BC@l */ -/* 800C4F44 C0 46 00 1C */ lfs f2, 0x1c(r6) -/* 800C4F48 A8 A6 00 14 */ lha r5, 0x14(r6) -/* 800C4F4C C0 66 00 20 */ lfs f3, 0x20(r6) -/* 800C4F50 4B FE 80 BD */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800C4F54 3C 60 80 39 */ lis r3, m__23daAlinkHIO_frontRoll_c0@ha /* 0x8038D7BC@ha */ -/* 800C4F58 38 63 D7 BC */ addi r3, r3, m__23daAlinkHIO_frontRoll_c0@l /* 0x8038D7BC@l */ -/* 800C4F5C C0 03 00 5C */ lfs f0, 0x5c(r3) -/* 800C4F60 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C4F64 C0 03 00 60 */ lfs f0, 0x60(r3) -/* 800C4F68 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 800C4F6C 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800C4F70 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800C4F74 41 82 00 2C */ beq lbl_800C4FA0 -/* 800C4F78 C0 3F 33 98 */ lfs f1, 0x3398(r31) -/* 800C4F7C 3C 60 80 39 */ lis r3, m__24daAlinkHIO_magneBoots_c0@ha /* 0x8038E7F4@ha */ -/* 800C4F80 38 63 E7 F4 */ addi r3, r3, m__24daAlinkHIO_magneBoots_c0@l /* 0x8038E7F4@l */ -/* 800C4F84 C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 800C4F88 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C4F8C D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C4F90 C0 3F 04 FC */ lfs f1, 0x4fc(r31) -/* 800C4F94 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800C4F98 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C4F9C D0 1F 04 FC */ stfs f0, 0x4fc(r31) -lbl_800C4FA0: -/* 800C4FA0 A8 7F 04 DE */ lha r3, 0x4de(r31) -/* 800C4FA4 3C 63 00 01 */ addis r3, r3, 1 -/* 800C4FA8 38 03 80 00 */ addi r0, r3, -32768 -/* 800C4FAC B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C4FB0 7F E3 FB 78 */ mr r3, r31 -/* 800C4FB4 88 9F 2F A4 */ lbz r4, 0x2fa4(r31) -/* 800C4FB8 4B FF CD 35 */ bl setFrontRollCrashShock__9daAlink_cFUc -/* 800C4FBC 7F E3 FB 78 */ mr r3, r31 -/* 800C4FC0 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010008@ha */ -/* 800C4FC4 38 84 00 08 */ addi r4, r4, 0x0008 /* 0x00010008@l */ -/* 800C4FC8 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800C4FCC 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C4FD0 7D 89 03 A6 */ mtctr r12 -/* 800C4FD4 4E 80 04 21 */ bctrl -/* 800C4FD8 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800C4FDC 60 00 20 00 */ ori r0, r0, 0x2000 -/* 800C4FE0 90 1F 05 80 */ stw r0, 0x580(r31) -/* 800C4FE4 38 60 00 01 */ li r3, 1 -/* 800C4FE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C4FEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C4FF0 7C 08 03 A6 */ mtlr r0 -/* 800C4FF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C4FF8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFrontRollCrash__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFrontRollCrash__9daAlink_cFv.s deleted file mode 100644 index de9efe7e01..0000000000 --- a/asm/d/a/d_a_alink/procFrontRollCrash__9daAlink_cFv.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_800C4FFC: -/* 800C4FFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C5000 7C 08 02 A6 */ mflr r0 -/* 800C5004 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C5008 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C500C 93 C1 00 08 */ stw r30, 8(r1) -/* 800C5010 7C 7F 1B 78 */ mr r31, r3 -/* 800C5014 3B DF 1F D0 */ addi r30, r31, 0x1fd0 -/* 800C5018 80 03 31 A0 */ lwz r0, 0x31a0(r3) -/* 800C501C 54 03 07 BD */ rlwinm. r3, r0, 0, 0x1e, 0x1e -/* 800C5020 40 82 00 90 */ bne lbl_800C50B0 -/* 800C5024 7F C3 F3 78 */ mr r3, r30 -/* 800C5028 48 09 94 A5 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C502C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C5030 41 82 00 14 */ beq lbl_800C5044 -/* 800C5034 7F E3 FB 78 */ mr r3, r31 -/* 800C5038 38 80 00 00 */ li r4, 0 -/* 800C503C 4B FF 50 95 */ bl checkNextAction__9daAlink_cFi -/* 800C5040 48 00 01 04 */ b lbl_800C5144 -lbl_800C5044: -/* 800C5044 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 800C5048 3C 60 80 39 */ lis r3, m__23daAlinkHIO_frontRoll_c0@ha /* 0x8038D7BC@ha */ -/* 800C504C 38 63 D7 BC */ addi r3, r3, m__23daAlinkHIO_frontRoll_c0@l /* 0x8038D7BC@l */ -/* 800C5050 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800C5054 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C5058 40 81 00 20 */ ble lbl_800C5078 -/* 800C505C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800C5060 60 00 00 04 */ ori r0, r0, 4 -/* 800C5064 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800C5068 7F E3 FB 78 */ mr r3, r31 -/* 800C506C 38 80 00 01 */ li r4, 1 -/* 800C5070 4B FF 50 61 */ bl checkNextAction__9daAlink_cFi -/* 800C5074 48 00 00 D0 */ b lbl_800C5144 -lbl_800C5078: -/* 800C5078 C0 02 93 C0 */ lfs f0, lit_10193(r2) -/* 800C507C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C5080 4C 41 13 82 */ cror 2, 1, 2 -/* 800C5084 40 82 00 10 */ bne lbl_800C5094 -/* 800C5088 38 00 00 04 */ li r0, 4 -/* 800C508C 98 1F 2F 92 */ stb r0, 0x2f92(r31) -/* 800C5090 48 00 00 B4 */ b lbl_800C5144 -lbl_800C5094: -/* 800C5094 C0 02 93 48 */ lfs f0, lit_8130(r2) -/* 800C5098 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C509C 4C 41 13 82 */ cror 2, 1, 2 -/* 800C50A0 40 82 00 A4 */ bne lbl_800C5144 -/* 800C50A4 38 00 00 0A */ li r0, 0xa -/* 800C50A8 98 1F 2F 93 */ stb r0, 0x2f93(r31) -/* 800C50AC 48 00 00 98 */ b lbl_800C5144 -lbl_800C50B0: -/* 800C50B0 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800C50B4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800C50B8 40 82 00 1C */ bne lbl_800C50D4 -/* 800C50BC 80 1F 05 90 */ lwz r0, 0x590(r31) -/* 800C50C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 800C50C4 40 82 00 10 */ bne lbl_800C50D4 -/* 800C50C8 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800C50CC 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800C50D0 41 82 00 74 */ beq lbl_800C5144 -lbl_800C50D4: -/* 800C50D4 28 03 00 00 */ cmplwi r3, 0 -/* 800C50D8 41 82 00 6C */ beq lbl_800C5144 -/* 800C50DC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C50E0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C50E4 7F E3 FB 78 */ mr r3, r31 -/* 800C50E8 7F C4 F3 78 */ mr r4, r30 -/* 800C50EC 3C A0 80 39 */ lis r5, m__23daAlinkHIO_frontRoll_c0@ha /* 0x8038D7BC@ha */ -/* 800C50F0 38 A5 D7 BC */ addi r5, r5, m__23daAlinkHIO_frontRoll_c0@l /* 0x8038D7BC@l */ -/* 800C50F4 C0 25 00 18 */ lfs f1, 0x18(r5) -/* 800C50F8 48 03 CB FD */ bl setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf -/* 800C50FC 38 00 00 00 */ li r0, 0 -/* 800C5100 B0 1E 00 14 */ sth r0, 0x14(r30) -/* 800C5104 B0 1E 00 16 */ sth r0, 0x16(r30) -/* 800C5108 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C510C B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C5110 7F E3 FB 78 */ mr r3, r31 -/* 800C5114 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010009@ha */ -/* 800C5118 38 84 00 09 */ addi r4, r4, 0x0009 /* 0x00010009@l */ -/* 800C511C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800C5120 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C5124 7D 89 03 A6 */ mtctr r12 -/* 800C5128 4E 80 04 21 */ bctrl -/* 800C512C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800C5130 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 800C5134 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 800C5138 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800C513C 60 00 80 01 */ ori r0, r0, 0x8001 -/* 800C5140 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_800C5144: -/* 800C5144 38 60 00 01 */ li r3, 1 -/* 800C5148 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C514C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C5150 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C5154 7C 08 03 A6 */ mtlr r0 -/* 800C5158 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C515C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFrontRollSuccessInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFrontRollSuccessInit__9daAlink_cFv.s deleted file mode 100644 index 6c6729ae88..0000000000 --- a/asm/d/a/d_a_alink/procFrontRollSuccessInit__9daAlink_cFv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_800C5160: -/* 800C5160 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C5164 7C 08 02 A6 */ mflr r0 -/* 800C5168 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C516C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C5170 93 C1 00 08 */ stw r30, 8(r1) -/* 800C5174 7C 7E 1B 78 */ mr r30, r3 -/* 800C5178 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800C517C 20 00 00 78 */ subfic r0, r0, 0x78 -/* 800C5180 7C 00 00 34 */ cntlzw r0, r0 -/* 800C5184 54 1F DE 3E */ rlwinm r31, r0, 0x1b, 0x18, 0x1f -/* 800C5188 38 80 00 10 */ li r4, 0x10 -/* 800C518C 4B FF CD E1 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C5190 7F C3 F3 78 */ mr r3, r30 -/* 800C5194 38 80 00 25 */ li r4, 0x25 -/* 800C5198 3C A0 80 39 */ lis r5, m__23daAlinkHIO_frontRoll_c0@ha /* 0x8038D7BC@ha */ -/* 800C519C 38 A5 D7 BC */ addi r5, r5, m__23daAlinkHIO_frontRoll_c0@l /* 0x8038D7BC@l */ -/* 800C51A0 38 A5 00 28 */ addi r5, r5, 0x28 -/* 800C51A4 4B FE 7F 51 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C51A8 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C51AC D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C51B0 2C 1F 00 00 */ cmpwi r31, 0 -/* 800C51B4 40 82 00 20 */ bne lbl_800C51D4 -/* 800C51B8 7F C3 F3 78 */ mr r3, r30 -/* 800C51BC 88 9E 2F A4 */ lbz r4, 0x2fa4(r30) -/* 800C51C0 4B FF CB 2D */ bl setFrontRollCrashShock__9daAlink_cFUc -/* 800C51C4 80 1E 05 80 */ lwz r0, 0x580(r30) -/* 800C51C8 60 00 20 00 */ ori r0, r0, 0x2000 -/* 800C51CC 90 1E 05 80 */ stw r0, 0x580(r30) -/* 800C51D0 48 00 00 14 */ b lbl_800C51E4 -lbl_800C51D4: -/* 800C51D4 C0 02 92 C4 */ lfs f0, lit_6109(r2) -/* 800C51D8 D0 1E 1F E0 */ stfs f0, 0x1fe0(r30) -/* 800C51DC 80 7E 1F 2C */ lwz r3, 0x1f2c(r30) -/* 800C51E0 D0 03 00 08 */ stfs f0, 8(r3) -lbl_800C51E4: -/* 800C51E4 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800C51E8 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800C51EC D0 1E 35 88 */ stfs f0, 0x3588(r30) -/* 800C51F0 C0 03 00 04 */ lfs f0, 4(r3) -/* 800C51F4 D0 1E 35 8C */ stfs f0, 0x358c(r30) -/* 800C51F8 C0 03 00 08 */ lfs f0, 8(r3) -/* 800C51FC D0 1E 35 90 */ stfs f0, 0x3590(r30) -/* 800C5200 38 00 00 04 */ li r0, 4 -/* 800C5204 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 800C5208 7F C3 F3 78 */ mr r3, r30 -/* 800C520C 38 80 00 01 */ li r4, 1 -/* 800C5210 48 05 BF B1 */ bl setFootEffectProcType__9daAlink_cFi -/* 800C5214 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800C5218 3C 63 00 01 */ addis r3, r3, 1 -/* 800C521C 38 03 80 00 */ addi r0, r3, -32768 -/* 800C5220 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C5224 38 60 00 01 */ li r3, 1 -/* 800C5228 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C522C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C5230 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C5234 7C 08 03 A6 */ mtlr r0 -/* 800C5238 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C523C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procFrontRollSuccess__9daAlink_cFv.s b/asm/d/a/d_a_alink/procFrontRollSuccess__9daAlink_cFv.s deleted file mode 100644 index cbd788449d..0000000000 --- a/asm/d/a/d_a_alink/procFrontRollSuccess__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_800C5240: -/* 800C5240 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C5244 7C 08 02 A6 */ mflr r0 -/* 800C5248 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C524C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C5250 93 C1 00 08 */ stw r30, 8(r1) -/* 800C5254 7C 7E 1B 78 */ mr r30, r3 -/* 800C5258 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800C525C 38 00 00 04 */ li r0, 4 -/* 800C5260 98 03 2F 99 */ stb r0, 0x2f99(r3) -/* 800C5264 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800C5268 64 00 08 00 */ oris r0, r0, 0x800 -/* 800C526C 90 03 05 88 */ stw r0, 0x588(r3) -/* 800C5270 7F E3 FB 78 */ mr r3, r31 -/* 800C5274 48 09 92 59 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C5278 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C527C 41 82 00 1C */ beq lbl_800C5298 -/* 800C5280 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800C5284 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C5288 7F C3 F3 78 */ mr r3, r30 -/* 800C528C 38 80 00 00 */ li r4, 0 -/* 800C5290 4B FF 4E 41 */ bl checkNextAction__9daAlink_cFi -/* 800C5294 48 00 00 78 */ b lbl_800C530C -lbl_800C5298: -/* 800C5298 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800C529C 3C 60 80 39 */ lis r3, m__23daAlinkHIO_frontRoll_c0@ha /* 0x8038D7BC@ha */ -/* 800C52A0 38 63 D7 BC */ addi r3, r3, m__23daAlinkHIO_frontRoll_c0@l /* 0x8038D7BC@l */ -/* 800C52A4 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 800C52A8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C52AC 40 81 00 28 */ ble lbl_800C52D4 -/* 800C52B0 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800C52B4 60 00 00 04 */ ori r0, r0, 4 -/* 800C52B8 90 1E 31 A0 */ stw r0, 0x31a0(r30) -/* 800C52BC A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800C52C0 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C52C4 7F C3 F3 78 */ mr r3, r30 -/* 800C52C8 38 80 00 01 */ li r4, 1 -/* 800C52CC 4B FF 4E 05 */ bl checkNextAction__9daAlink_cFi -/* 800C52D0 48 00 00 3C */ b lbl_800C530C -lbl_800C52D4: -/* 800C52D4 C0 02 93 48 */ lfs f0, lit_8130(r2) -/* 800C52D8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C52DC 4C 41 13 82 */ cror 2, 1, 2 -/* 800C52E0 40 82 00 18 */ bne lbl_800C52F8 -/* 800C52E4 38 00 00 01 */ li r0, 1 -/* 800C52E8 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800C52EC 38 00 00 06 */ li r0, 6 -/* 800C52F0 98 1E 2F 93 */ stb r0, 0x2f93(r30) -/* 800C52F4 48 00 00 18 */ b lbl_800C530C -lbl_800C52F8: -/* 800C52F8 C0 02 93 34 */ lfs f0, lit_7710(r2) -/* 800C52FC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C5300 40 81 00 0C */ ble lbl_800C530C -/* 800C5304 38 00 00 60 */ li r0, 0x60 -/* 800C5308 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -lbl_800C530C: -/* 800C530C 38 60 00 01 */ li r3, 1 -/* 800C5310 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C5314 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C5318 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C531C 7C 08 03 A6 */ mtlr r0 -/* 800C5320 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C5324 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procGoatStroke__9daAlink_cFv.s b/asm/d/a/d_a_alink/procGoatStroke__9daAlink_cFv.s deleted file mode 100644 index 90a29adcbc..0000000000 --- a/asm/d/a/d_a_alink/procGoatStroke__9daAlink_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_800EA3AC: -/* 800EA3AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EA3B0 7C 08 02 A6 */ mflr r0 -/* 800EA3B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EA3B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EA3BC 7C 7F 1B 78 */ mr r31, r3 -/* 800EA3C0 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 800EA3C4 48 07 41 09 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800EA3C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800EA3CC 41 82 00 10 */ beq lbl_800EA3DC -/* 800EA3D0 7F E3 FB 78 */ mr r3, r31 -/* 800EA3D4 38 80 00 00 */ li r4, 0 -/* 800EA3D8 4B FC FC F9 */ bl checkNextAction__9daAlink_cFi -lbl_800EA3DC: -/* 800EA3DC 38 60 00 01 */ li r3, 1 -/* 800EA3E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EA3E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EA3E8 7C 08 03 A6 */ mtlr r0 -/* 800EA3EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EA3F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procGoronMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procGoronMoveInit__9daAlink_cFv.s deleted file mode 100644 index 7f50e8cd58..0000000000 --- a/asm/d/a/d_a_alink/procGoronMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800EA3F4: -/* 800EA3F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EA3F8 7C 08 02 A6 */ mflr r0 -/* 800EA3FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EA400 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EA404 7C 7F 1B 78 */ mr r31, r3 -/* 800EA408 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800EA40C 28 00 00 FF */ cmplwi r0, 0xff -/* 800EA410 41 82 00 14 */ beq lbl_800EA424 -/* 800EA414 38 80 00 C2 */ li r4, 0xc2 -/* 800EA418 38 A0 00 00 */ li r5, 0 -/* 800EA41C 4B FD 89 C1 */ bl procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c -/* 800EA420 48 00 00 98 */ b lbl_800EA4B8 -lbl_800EA424: -/* 800EA424 38 80 00 C2 */ li r4, 0xc2 -/* 800EA428 4B FD 89 7D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800EA42C 2C 03 00 00 */ cmpwi r3, 0 -/* 800EA430 40 82 00 0C */ bne lbl_800EA43C -/* 800EA434 38 60 00 00 */ li r3, 0 -/* 800EA438 48 00 00 80 */ b lbl_800EA4B8 -lbl_800EA43C: -/* 800EA43C 38 7F 28 54 */ addi r3, r31, 0x2854 -/* 800EA440 48 07 48 09 */ bl setActor__16daPy_actorKeep_cFv -/* 800EA444 80 1F 28 58 */ lwz r0, 0x2858(r31) -/* 800EA448 28 00 00 00 */ cmplwi r0, 0 -/* 800EA44C 40 82 00 20 */ bne lbl_800EA46C -/* 800EA450 88 1F 05 6A */ lbz r0, 0x56a(r31) -/* 800EA454 28 00 00 2B */ cmplwi r0, 0x2b -/* 800EA458 40 82 00 0C */ bne lbl_800EA464 -/* 800EA45C 38 00 00 00 */ li r0, 0 -/* 800EA460 98 1F 05 6A */ stb r0, 0x56a(r31) -lbl_800EA464: -/* 800EA464 38 60 00 00 */ li r3, 0 -/* 800EA468 48 00 00 50 */ b lbl_800EA4B8 -lbl_800EA46C: -/* 800EA46C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800EA470 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800EA474 38 00 00 03 */ li r0, 3 -/* 800EA478 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800EA47C A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800EA480 38 03 C0 00 */ addi r0, r3, -16384 -/* 800EA484 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800EA488 3C 60 80 39 */ lis r3, m__21daAlinkHIO_atnMove_c0@ha /* 0x8038D714@ha */ -/* 800EA48C 38 63 D7 14 */ addi r3, r3, m__21daAlinkHIO_atnMove_c0@l /* 0x8038D714@l */ -/* 800EA490 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800EA494 D0 1F 05 94 */ stfs f0, 0x594(r31) -/* 800EA498 7F E3 FB 78 */ mr r3, r31 -/* 800EA49C 38 80 01 21 */ li r4, 0x121 -/* 800EA4A0 4B FC 2A E1 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800EA4A4 38 00 00 01 */ li r0, 1 -/* 800EA4A8 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800EA4AC 38 00 00 00 */ li r0, 0 -/* 800EA4B0 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800EA4B4 38 60 00 01 */ li r3, 1 -lbl_800EA4B8: -/* 800EA4B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EA4BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EA4C0 7C 08 03 A6 */ mtlr r0 -/* 800EA4C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EA4C8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index 8b3110003e..0000000000 --- a/asm/d/a/d_a_alink/procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_800C854C: -/* 800C854C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C8550 7C 08 02 A6 */ mflr r0 -/* 800C8554 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C8558 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C855C 93 C1 00 08 */ stw r30, 8(r1) -/* 800C8560 7C 7E 1B 78 */ mr r30, r3 -/* 800C8564 7C 9F 23 78 */ mr r31, r4 -/* 800C8568 38 80 00 BE */ li r4, 0xbe -/* 800C856C 4B FF A8 39 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C8570 2C 03 00 00 */ cmpwi r3, 0 -/* 800C8574 40 82 00 0C */ bne lbl_800C8580 -/* 800C8578 38 60 00 00 */ li r3, 0 -/* 800C857C 48 00 00 44 */ b lbl_800C85C0 -lbl_800C8580: -/* 800C8580 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C8584 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C8588 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 800C858C D0 1E 04 D0 */ stfs f0, 0x4d0(r30) -/* 800C8590 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 800C8594 D0 1E 04 D8 */ stfs f0, 0x4d8(r30) -/* 800C8598 38 00 00 50 */ li r0, 0x50 -/* 800C859C 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 800C85A0 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800C85A4 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C85A8 7F C3 F3 78 */ mr r3, r30 -/* 800C85AC 3C 80 80 39 */ lis r4, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800C85B0 38 84 D6 64 */ addi r4, r4, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800C85B4 C0 24 00 18 */ lfs f1, 0x18(r4) -/* 800C85B8 4B FE 58 5D */ bl setBlendMoveAnime__9daAlink_cFf -/* 800C85BC 38 60 00 01 */ li r3, 1 -lbl_800C85C0: -/* 800C85C0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C85C4 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C85C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C85CC 7C 08 03 A6 */ mtlr r0 -/* 800C85D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C85D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procHawkCatchInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procHawkCatchInit__9daAlink_cFv.s deleted file mode 100644 index e9276a4e71..0000000000 --- a/asm/d/a/d_a_alink/procHawkCatchInit__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_801121B4: -/* 801121B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801121B8 7C 08 02 A6 */ mflr r0 -/* 801121BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801121C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801121C4 7C 7F 1B 78 */ mr r31, r3 -/* 801121C8 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 801121CC 28 00 00 BC */ cmplwi r0, 0xbc -/* 801121D0 41 82 00 14 */ beq lbl_801121E4 -/* 801121D4 38 80 00 BB */ li r4, 0xbb -/* 801121D8 4B FB 0B CD */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 801121DC 2C 03 00 00 */ cmpwi r3, 0 -/* 801121E0 40 82 00 0C */ bne lbl_801121EC -lbl_801121E4: -/* 801121E4 38 60 00 00 */ li r3, 0 -/* 801121E8 48 00 00 24 */ b lbl_8011220C -lbl_801121EC: -/* 801121EC 7F E3 FB 78 */ mr r3, r31 -/* 801121F0 38 80 01 11 */ li r4, 0x111 -/* 801121F4 4B F9 AD 8D */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 801121F8 7F E3 FB 78 */ mr r3, r31 -/* 801121FC 38 80 00 00 */ li r4, 0 -/* 80112200 38 A0 00 01 */ li r5, 1 -/* 80112204 4B FA F0 D9 */ bl deleteEquipItem__9daAlink_cFii -/* 80112208 38 60 00 01 */ li r3, 1 -lbl_8011220C: -/* 8011220C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80112210 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80112214 7C 08 03 A6 */ mtlr r0 -/* 80112218 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011221C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procHawkCatch__9daAlink_cFv.s b/asm/d/a/d_a_alink/procHawkCatch__9daAlink_cFv.s deleted file mode 100644 index ceb56dc705..0000000000 --- a/asm/d/a/d_a_alink/procHawkCatch__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80112220: -/* 80112220 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80112224 7C 08 02 A6 */ mflr r0 -/* 80112228 90 01 00 14 */ stw r0, 0x14(r1) -/* 8011222C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80112230 7C 7F 1B 78 */ mr r31, r3 -/* 80112234 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 80112238 48 04 C2 95 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8011223C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80112240 41 82 00 20 */ beq lbl_80112260 -/* 80112244 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80112248 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011224C 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80112250 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 80112254 4B F3 5F 29 */ bl cutEnd__16dEvent_manager_cFi -/* 80112258 7F E3 FB 78 */ mr r3, r31 -/* 8011225C 48 00 00 1D */ bl procHawkSubjectInit__9daAlink_cFv -lbl_80112260: -/* 80112260 38 60 00 01 */ li r3, 1 -/* 80112264 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80112268 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011226C 7C 08 03 A6 */ mtlr r0 -/* 80112270 38 21 00 10 */ addi r1, r1, 0x10 -/* 80112274 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procHawkSubjectInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procHawkSubjectInit__9daAlink_cFv.s deleted file mode 100644 index 10324c2a78..0000000000 --- a/asm/d/a/d_a_alink/procHawkSubjectInit__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80112278: -/* 80112278 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011227C 7C 08 02 A6 */ mflr r0 -/* 80112280 90 01 00 14 */ stw r0, 0x14(r1) -/* 80112284 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80112288 7C 7F 1B 78 */ mr r31, r3 -/* 8011228C 38 80 00 BC */ li r4, 0xbc -/* 80112290 4B FB 0B 15 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80112294 2C 03 00 00 */ cmpwi r3, 0 -/* 80112298 40 82 00 0C */ bne lbl_801122A4 -/* 8011229C 38 60 00 00 */ li r3, 0 -/* 801122A0 48 00 00 50 */ b lbl_801122F0 -lbl_801122A4: -/* 801122A4 7F E3 FB 78 */ mr r3, r31 -/* 801122A8 38 80 01 12 */ li r4, 0x112 -/* 801122AC 4B F9 AC D5 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 801122B0 3C 60 80 11 */ lis r3, daAlink_searchHawk__FP10fopAc_ac_cPv@ha /* 0x80111770@ha */ -/* 801122B4 38 63 17 70 */ addi r3, r3, daAlink_searchHawk__FP10fopAc_ac_cPv@l /* 0x80111770@l */ -/* 801122B8 38 80 00 00 */ li r4, 0 -/* 801122BC 4B F0 75 3D */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 801122C0 7C 64 1B 79 */ or. r4, r3, r3 -/* 801122C4 41 82 00 0C */ beq lbl_801122D0 -/* 801122C8 38 7F 28 0C */ addi r3, r31, 0x280c -/* 801122CC 48 04 C9 ED */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -lbl_801122D0: -/* 801122D0 38 00 00 00 */ li r0, 0 -/* 801122D4 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 801122D8 B0 1F 05 9E */ sth r0, 0x59e(r31) -/* 801122DC 7F E3 FB 78 */ mr r3, r31 -/* 801122E0 38 80 00 00 */ li r4, 0 -/* 801122E4 38 A0 00 01 */ li r5, 1 -/* 801122E8 4B FA EF F5 */ bl deleteEquipItem__9daAlink_cFii -/* 801122EC 38 60 00 01 */ li r3, 1 -lbl_801122F0: -/* 801122F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801122F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801122F8 7C 08 03 A6 */ mtlr r0 -/* 801122FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80112300 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallMoveInit__9daAlink_cFv.s deleted file mode 100644 index 2a56369423..0000000000 --- a/asm/d/a/d_a_alink/procIronBallMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_801155EC: -/* 801155EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801155F0 7C 08 02 A6 */ mflr r0 -/* 801155F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801155F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801155FC 7C 7F 1B 78 */ mr r31, r3 -/* 80115600 38 80 00 D9 */ li r4, 0xd9 -/* 80115604 4B FA D7 A1 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80115608 2C 03 00 00 */ cmpwi r3, 0 -/* 8011560C 40 82 00 0C */ bne lbl_80115618 -/* 80115610 38 60 00 00 */ li r3, 0 -/* 80115614 48 00 00 4C */ b lbl_80115660 -lbl_80115618: -/* 80115618 7F E3 FB 78 */ mr r3, r31 -/* 8011561C 4B F9 E2 E9 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 80115620 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80115624 41 82 00 10 */ beq lbl_80115634 -/* 80115628 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 8011562C 60 00 00 01 */ ori r0, r0, 1 -/* 80115630 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_80115634: -/* 80115634 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 80115638 28 00 01 9A */ cmplwi r0, 0x19a -/* 8011563C 40 82 00 0C */ bne lbl_80115648 -/* 80115640 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 80115644 D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_80115648: -/* 80115648 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011564C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80115650 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 80115654 60 00 04 00 */ ori r0, r0, 0x400 -/* 80115658 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 8011565C 38 60 00 01 */ li r3, 1 -lbl_80115660: -/* 80115660 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80115664 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80115668 7C 08 03 A6 */ mtlr r0 -/* 8011566C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80115670 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallMove__9daAlink_cFv.s deleted file mode 100644 index 719a11aec8..0000000000 --- a/asm/d/a/d_a_alink/procIronBallMove__9daAlink_cFv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_80115674: -/* 80115674 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80115678 7C 08 02 A6 */ mflr r0 -/* 8011567C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80115680 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80115684 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80115688 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011568C 7C 7F 1B 78 */ mr r31, r3 -/* 80115690 4B FF FA 55 */ bl checkIronBallAnime__9daAlink_cCFv -/* 80115694 2C 03 00 00 */ cmpwi r3, 0 -/* 80115698 41 82 00 10 */ beq lbl_801156A8 -/* 8011569C 7F E3 FB 78 */ mr r3, r31 -/* 801156A0 38 80 00 12 */ li r4, 0x12 -/* 801156A4 4B F9 DB AD */ bl setDoStatus__9daAlink_cFUc -lbl_801156A8: -/* 801156A8 7F E3 FB 78 */ mr r3, r31 -/* 801156AC 38 80 00 00 */ li r4, 0 -/* 801156B0 4B F9 E0 85 */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 801156B4 7F E3 FB 78 */ mr r3, r31 -/* 801156B8 38 80 00 00 */ li r4, 0 -/* 801156BC 4B FA 4A 15 */ bl checkNextAction__9daAlink_cFi -/* 801156C0 2C 03 00 00 */ cmpwi r3, 0 -/* 801156C4 40 82 00 98 */ bne lbl_8011575C -/* 801156C8 C3 E2 92 BC */ lfs f31, lit_6041(r2) -/* 801156CC A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 801156D0 28 00 01 9A */ cmplwi r0, 0x19a -/* 801156D4 40 82 00 0C */ bne lbl_801156E0 -/* 801156D8 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801156DC D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_801156E0: -/* 801156E0 7F E3 FB 78 */ mr r3, r31 -/* 801156E4 4B F9 E2 21 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 801156E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801156EC 41 82 00 34 */ beq lbl_80115720 -/* 801156F0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 801156F4 60 00 00 01 */ ori r0, r0, 1 -/* 801156F8 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 801156FC 88 1F 2F 98 */ lbz r0, 0x2f98(r31) -/* 80115700 28 00 00 02 */ cmplwi r0, 2 -/* 80115704 41 82 00 28 */ beq lbl_8011572C -/* 80115708 38 00 00 02 */ li r0, 2 -/* 8011570C 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 80115710 3C 60 80 39 */ lis r3, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 80115714 38 63 D6 64 */ addi r3, r3, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 80115718 C3 E3 00 18 */ lfs f31, 0x18(r3) -/* 8011571C 48 00 00 10 */ b lbl_8011572C -lbl_80115720: -/* 80115720 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 80115724 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 80115728 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_8011572C: -/* 8011572C 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 80115730 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80115734 41 82 00 10 */ beq lbl_80115744 -/* 80115738 7F E3 FB 78 */ mr r3, r31 -/* 8011573C 4B FF FA A5 */ bl setIronBallBaseAnime__9daAlink_cFv -/* 80115740 48 00 00 10 */ b lbl_80115750 -lbl_80115744: -/* 80115744 7F E3 FB 78 */ mr r3, r31 -/* 80115748 FC 20 F8 90 */ fmr f1, f31 -/* 8011574C 4B F9 93 25 */ bl setBlendAtnMoveAnime__9daAlink_cFf -lbl_80115750: -/* 80115750 7F E3 FB 78 */ mr r3, r31 -/* 80115754 38 80 00 00 */ li r4, 0 -/* 80115758 4B FA 5B 59 */ bl setBodyAngleXReadyAnime__9daAlink_cFi -lbl_8011575C: -/* 8011575C 38 60 00 01 */ li r3, 1 -/* 80115760 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80115764 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80115768 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8011576C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80115770 7C 08 03 A6 */ mtlr r0 -/* 80115774 38 21 00 20 */ addi r1, r1, 0x20 -/* 80115778 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallReturnInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallReturnInit__9daAlink_cFv.s deleted file mode 100644 index f6edc37e4f..0000000000 --- a/asm/d/a/d_a_alink/procIronBallReturnInit__9daAlink_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_801159F0: -/* 801159F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801159F4 7C 08 02 A6 */ mflr r0 -/* 801159F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801159FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80115A00 7C 7F 1B 78 */ mr r31, r3 -/* 80115A04 38 80 00 DB */ li r4, 0xdb -/* 80115A08 4B FA C5 65 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80115A0C A8 1F 30 18 */ lha r0, 0x3018(r31) -/* 80115A10 2C 00 00 08 */ cmpwi r0, 8 -/* 80115A14 40 82 00 2C */ bne lbl_80115A40 -/* 80115A18 38 00 00 01 */ li r0, 1 -/* 80115A1C B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 80115A20 7F E3 FB 78 */ mr r3, r31 -/* 80115A24 38 80 01 66 */ li r4, 0x166 -/* 80115A28 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 80115A2C 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115A30 4B F9 76 C5 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 80115A34 38 00 00 0C */ li r0, 0xc -/* 80115A38 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 80115A3C 48 00 00 30 */ b lbl_80115A6C -lbl_80115A40: -/* 80115A40 7F E3 FB 78 */ mr r3, r31 -/* 80115A44 38 80 01 65 */ li r4, 0x165 -/* 80115A48 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 80115A4C 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115A50 C0 25 00 3C */ lfs f1, 0x3c(r5) -/* 80115A54 C0 45 00 40 */ lfs f2, 0x40(r5) -/* 80115A58 4B F9 75 89 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 80115A5C 38 00 00 0C */ li r0, 0xc -/* 80115A60 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 80115A64 38 00 00 00 */ li r0, 0 -/* 80115A68 B0 1F 30 0C */ sth r0, 0x300c(r31) -lbl_80115A6C: -/* 80115A6C 3C 60 80 42 */ lis r3, l_ironBallBaseAnime@ha /* 0x8042552C@ha */ -/* 80115A70 C4 03 55 2C */ lfsu f0, l_ironBallBaseAnime@l(r3) /* 0x8042552C@l */ -/* 80115A74 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 80115A78 C0 03 00 04 */ lfs f0, 4(r3) -/* 80115A7C D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 80115A80 C0 03 00 08 */ lfs f0, 8(r3) -/* 80115A84 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 80115A88 38 60 00 01 */ li r3, 1 -/* 80115A8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80115A90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80115A94 7C 08 03 A6 */ mtlr r0 -/* 80115A98 38 21 00 10 */ addi r1, r1, 0x10 -/* 80115A9C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallReturn__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallReturn__9daAlink_cFv.s deleted file mode 100644 index d50901c64a..0000000000 --- a/asm/d/a/d_a_alink/procIronBallReturn__9daAlink_cFv.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_80115AA0: -/* 80115AA0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80115AA4 7C 08 02 A6 */ mflr r0 -/* 80115AA8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80115AAC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80115AB0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80115AB4 7C 7F 1B 78 */ mr r31, r3 -/* 80115AB8 3B DF 1F D0 */ addi r30, r31, 0x1fd0 -/* 80115ABC A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 80115AC0 28 00 00 42 */ cmplwi r0, 0x42 -/* 80115AC4 41 82 00 0C */ beq lbl_80115AD0 -/* 80115AC8 4B F9 FE 25 */ bl checkWaitAction__9daAlink_cFv -/* 80115ACC 48 00 01 3C */ b lbl_80115C08 -lbl_80115AD0: -/* 80115AD0 38 00 00 04 */ li r0, 4 -/* 80115AD4 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 80115AD8 A8 1F 30 18 */ lha r0, 0x3018(r31) -/* 80115ADC 2C 00 00 08 */ cmpwi r0, 8 -/* 80115AE0 40 82 00 80 */ bne lbl_80115B60 -/* 80115AE4 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 80115AE8 2C 00 00 00 */ cmpwi r0, 0 -/* 80115AEC 40 82 00 74 */ bne lbl_80115B60 -/* 80115AF0 38 00 00 01 */ li r0, 1 -/* 80115AF4 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 80115AF8 38 80 01 66 */ li r4, 0x166 -/* 80115AFC 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 80115B00 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115B04 4B F9 75 F1 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 80115B08 38 00 00 0C */ li r0, 0xc -/* 80115B0C 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 80115B10 7F E3 FB 78 */ mr r3, r31 -/* 80115B14 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020034@ha */ -/* 80115B18 38 84 00 34 */ addi r4, r4, 0x0034 /* 0x00020034@l */ -/* 80115B1C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 80115B20 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 80115B24 7D 89 03 A6 */ mtctr r12 -/* 80115B28 4E 80 04 21 */ bctrl -/* 80115B2C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80115B30 D0 21 00 08 */ stfs f1, 8(r1) -/* 80115B34 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 80115B38 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80115B3C D0 21 00 10 */ stfs f1, 0x10(r1) -/* 80115B40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80115B44 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80115B48 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 80115B4C 38 80 00 03 */ li r4, 3 -/* 80115B50 38 A0 00 01 */ li r5, 1 -/* 80115B54 38 C1 00 08 */ addi r6, r1, 8 -/* 80115B58 4B F5 9E CD */ bl StartShock__12dVibration_cFii4cXyz -/* 80115B5C 48 00 00 A8 */ b lbl_80115C04 -lbl_80115B60: -/* 80115B60 7F C3 F3 78 */ mr r3, r30 -/* 80115B64 48 04 89 69 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 80115B68 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80115B6C 41 82 00 34 */ beq lbl_80115BA0 -/* 80115B70 A8 1F 30 18 */ lha r0, 0x3018(r31) -/* 80115B74 2C 00 00 08 */ cmpwi r0, 8 -/* 80115B78 40 82 00 8C */ bne lbl_80115C04 -/* 80115B7C 38 00 00 00 */ li r0, 0 -/* 80115B80 B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 80115B84 7F E3 FB 78 */ mr r3, r31 -/* 80115B88 38 80 00 01 */ li r4, 1 -/* 80115B8C 4B FF C9 DD */ bl setIronBallWaitUpperAnime__9daAlink_cFi -/* 80115B90 7F E3 FB 78 */ mr r3, r31 -/* 80115B94 38 80 00 00 */ li r4, 0 -/* 80115B98 4B FA 45 39 */ bl checkNextAction__9daAlink_cFi -/* 80115B9C 48 00 00 68 */ b lbl_80115C04 -lbl_80115BA0: -/* 80115BA0 A8 1F 30 18 */ lha r0, 0x3018(r31) -/* 80115BA4 2C 00 00 08 */ cmpwi r0, 8 -/* 80115BA8 40 82 00 5C */ bne lbl_80115C04 -/* 80115BAC C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80115BB0 3C 60 80 39 */ lis r3, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 80115BB4 38 63 EA 70 */ addi r3, r3, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115BB8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 80115BBC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80115BC0 40 81 00 44 */ ble lbl_80115C04 -/* 80115BC4 38 00 00 00 */ li r0, 0 -/* 80115BC8 B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 80115BCC 7F E3 FB 78 */ mr r3, r31 -/* 80115BD0 38 80 00 01 */ li r4, 1 -/* 80115BD4 4B FF C9 95 */ bl setIronBallWaitUpperAnime__9daAlink_cFi -/* 80115BD8 7F E3 FB 78 */ mr r3, r31 -/* 80115BDC 38 80 00 01 */ li r4, 1 -/* 80115BE0 4B FA 44 F1 */ bl checkNextAction__9daAlink_cFi -/* 80115BE4 2C 03 00 00 */ cmpwi r3, 0 -/* 80115BE8 40 82 00 1C */ bne lbl_80115C04 -/* 80115BEC 38 00 00 08 */ li r0, 8 -/* 80115BF0 B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 80115BF4 7F E3 FB 78 */ mr r3, r31 -/* 80115BF8 38 80 00 02 */ li r4, 2 -/* 80115BFC C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80115C00 4B F9 7B 25 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -lbl_80115C04: -/* 80115C04 38 60 00 01 */ li r3, 1 -lbl_80115C08: -/* 80115C08 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80115C0C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80115C10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80115C14 7C 08 03 A6 */ mtlr r0 -/* 80115C18 38 21 00 20 */ addi r1, r1, 0x20 -/* 80115C1C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallSubjectInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallSubjectInit__9daAlink_cFv.s deleted file mode 100644 index f911c91015..0000000000 --- a/asm/d/a/d_a_alink/procIronBallSubjectInit__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_801154E4: -/* 801154E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801154E8 7C 08 02 A6 */ mflr r0 -/* 801154EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801154F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801154F4 7C 7F 1B 78 */ mr r31, r3 -/* 801154F8 38 80 00 D8 */ li r4, 0xd8 -/* 801154FC 4B FA D8 A9 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80115500 2C 03 00 00 */ cmpwi r3, 0 -/* 80115504 40 82 00 0C */ bne lbl_80115510 -/* 80115508 38 60 00 00 */ li r3, 0 -/* 8011550C 48 00 00 44 */ b lbl_80115550 -lbl_80115510: -/* 80115510 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 80115514 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 80115518 7F E3 FB 78 */ mr r3, r31 -/* 8011551C 4B FF FB C9 */ bl checkIronBallAnime__9daAlink_cCFv -/* 80115520 2C 03 00 00 */ cmpwi r3, 0 -/* 80115524 41 82 00 0C */ beq lbl_80115530 -/* 80115528 7F E3 FB 78 */ mr r3, r31 -/* 8011552C 4B FF FC B5 */ bl setIronBallBaseAnime__9daAlink_cFv -lbl_80115530: -/* 80115530 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80115534 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 80115538 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8011553C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80115540 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 80115544 60 00 04 00 */ ori r0, r0, 0x400 -/* 80115548 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 8011554C 38 60 00 01 */ li r3, 1 -lbl_80115550: -/* 80115550 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80115554 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80115558 7C 08 03 A6 */ mtlr r0 -/* 8011555C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80115560 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallSubject__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallSubject__9daAlink_cFv.s deleted file mode 100644 index c6228feafc..0000000000 --- a/asm/d/a/d_a_alink/procIronBallSubject__9daAlink_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80115564: -/* 80115564 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80115568 7C 08 02 A6 */ mflr r0 -/* 8011556C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80115570 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80115574 7C 7F 1B 78 */ mr r31, r3 -/* 80115578 4B FF FB 6D */ bl checkIronBallAnime__9daAlink_cCFv -/* 8011557C 2C 03 00 00 */ cmpwi r3, 0 -/* 80115580 41 82 00 10 */ beq lbl_80115590 -/* 80115584 7F E3 FB 78 */ mr r3, r31 -/* 80115588 38 80 00 12 */ li r4, 0x12 -/* 8011558C 4B F9 DC C5 */ bl setDoStatus__9daAlink_cFUc -lbl_80115590: -/* 80115590 7F E3 FB 78 */ mr r3, r31 -/* 80115594 38 80 00 00 */ li r4, 0 -/* 80115598 4B F9 E1 9D */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 8011559C 7F E3 FB 78 */ mr r3, r31 -/* 801155A0 38 80 00 00 */ li r4, 0 -/* 801155A4 4B FA 4B 2D */ bl checkNextAction__9daAlink_cFi -/* 801155A8 2C 03 00 00 */ cmpwi r3, 0 -/* 801155AC 40 82 00 28 */ bne lbl_801155D4 -/* 801155B0 7F E3 FB 78 */ mr r3, r31 -/* 801155B4 4B F9 D0 51 */ bl itemButton__9daAlink_cFv -/* 801155B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801155BC 41 82 00 18 */ beq lbl_801155D4 -/* 801155C0 A8 1F 30 18 */ lha r0, 0x3018(r31) -/* 801155C4 2C 00 00 02 */ cmpwi r0, 2 -/* 801155C8 40 82 00 0C */ bne lbl_801155D4 -/* 801155CC 7F E3 FB 78 */ mr r3, r31 -/* 801155D0 4B FB 92 D1 */ bl setBodyAngleToCamera__9daAlink_cFv -lbl_801155D4: -/* 801155D4 38 60 00 01 */ li r3, 1 -/* 801155D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801155DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801155E0 7C 08 03 A6 */ mtlr r0 -/* 801155E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801155E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procIronBallThrowInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procIronBallThrowInit__9daAlink_cFv.s deleted file mode 100644 index 3e63641fea..0000000000 --- a/asm/d/a/d_a_alink/procIronBallThrowInit__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8011577C: -/* 8011577C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80115780 7C 08 02 A6 */ mflr r0 -/* 80115784 90 01 00 14 */ stw r0, 0x14(r1) -/* 80115788 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011578C 7C 7F 1B 78 */ mr r31, r3 -/* 80115790 38 80 00 DA */ li r4, 0xda -/* 80115794 4B FA C7 D9 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80115798 7F E3 FB 78 */ mr r3, r31 -/* 8011579C 38 80 01 62 */ li r4, 0x162 -/* 801157A0 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 801157A4 38 C5 EA 70 */ addi r6, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 801157A8 C0 26 00 2C */ lfs f1, 0x2c(r6) -/* 801157AC C0 42 96 50 */ lfs f2, lit_34957(r2) -/* 801157B0 38 A0 00 1E */ li r5, 0x1e -/* 801157B4 C0 66 00 30 */ lfs f3, 0x30(r6) -/* 801157B8 4B F9 78 55 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 801157BC 38 00 00 0C */ li r0, 0xc -/* 801157C0 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 801157C4 3C 60 80 42 */ lis r3, l_ironBallBaseAnime@ha /* 0x8042552C@ha */ -/* 801157C8 C4 03 55 2C */ lfsu f0, l_ironBallBaseAnime@l(r3) /* 0x8042552C@l */ -/* 801157CC D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 801157D0 C0 03 00 04 */ lfs f0, 4(r3) -/* 801157D4 D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 801157D8 C0 03 00 08 */ lfs f0, 8(r3) -/* 801157DC D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 801157E0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801157E4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 801157E8 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 801157EC B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 801157F0 38 60 00 00 */ li r3, 0 -/* 801157F4 B0 7F 30 0C */ sth r3, 0x300c(r31) -/* 801157F8 38 00 00 03 */ li r0, 3 -/* 801157FC B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 80115800 B0 7F 30 24 */ sth r3, 0x3024(r31) -/* 80115804 B0 7F 30 26 */ sth r3, 0x3026(r31) -/* 80115808 7F E3 FB 78 */ mr r3, r31 -/* 8011580C 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010028@ha */ -/* 80115810 38 84 00 28 */ addi r4, r4, 0x0028 /* 0x00010028@l */ -/* 80115814 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 80115818 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8011581C 7D 89 03 A6 */ mtctr r12 -/* 80115820 4E 80 04 21 */ bctrl -/* 80115824 7F E3 FB 78 */ mr r3, r31 -/* 80115828 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020032@ha */ -/* 8011582C 38 84 00 32 */ addi r4, r4, 0x0032 /* 0x00020032@l */ -/* 80115830 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 80115834 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 80115838 7D 89 03 A6 */ mtctr r12 -/* 8011583C 4E 80 04 21 */ bctrl -/* 80115840 38 00 00 03 */ li r0, 3 -/* 80115844 98 1F 0F CC */ stb r0, 0xfcc(r31) -/* 80115848 38 60 00 01 */ li r3, 1 -/* 8011584C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80115850 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80115854 7C 08 03 A6 */ mtlr r0 -/* 80115858 38 21 00 10 */ addi r1, r1, 0x10 -/* 8011585C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procKandelaarPourInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procKandelaarPourInit__9daAlink_cFv.s deleted file mode 100644 index 94018b5602..0000000000 --- a/asm/d/a/d_a_alink/procKandelaarPourInit__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8011167C: -/* 8011167C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80111680 7C 08 02 A6 */ mflr r0 -/* 80111684 90 01 00 14 */ stw r0, 0x14(r1) -/* 80111688 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011168C 7C 7F 1B 78 */ mr r31, r3 -/* 80111690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80111694 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80111698 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 8011169C 7F E4 FB 78 */ mr r4, r31 -/* 801116A0 38 A0 00 00 */ li r5, 0 -/* 801116A4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FBFF@ha */ -/* 801116A8 38 C6 FB FF */ addi r6, r6, 0xFBFF /* 0x0000FBFF@l */ -/* 801116AC 4B F3 1A C1 */ bl compulsory__14dEvt_control_cFPvPCcUs -/* 801116B0 2C 03 00 00 */ cmpwi r3, 0 -/* 801116B4 40 82 00 0C */ bne lbl_801116C0 -/* 801116B8 38 60 00 00 */ li r3, 0 -/* 801116BC 48 00 00 54 */ b lbl_80111710 -lbl_801116C0: -/* 801116C0 38 00 00 05 */ li r0, 5 -/* 801116C4 B0 1F 06 04 */ sth r0, 0x604(r31) -/* 801116C8 7F E3 FB 78 */ mr r3, r31 -/* 801116CC 38 80 00 B8 */ li r4, 0xb8 -/* 801116D0 4B FB 08 9D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 801116D4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 801116D8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 801116DC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801116E0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 801116E4 38 00 00 04 */ li r0, 4 -/* 801116E8 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 801116EC 7F E3 FB 78 */ mr r3, r31 -/* 801116F0 38 80 01 0C */ li r4, 0x10c -/* 801116F4 3C A0 80 39 */ lis r5, m__23daAlinkHIO_kandelaar_c0@ha /* 0x8038E77C@ha */ -/* 801116F8 38 A5 E7 7C */ addi r5, r5, m__23daAlinkHIO_kandelaar_c0@l /* 0x8038E77C@l */ -/* 801116FC 38 A5 00 14 */ addi r5, r5, 0x14 -/* 80111700 4B F9 B9 F5 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 80111704 7F E3 FB 78 */ mr r3, r31 -/* 80111708 4B FF F8 D9 */ bl commonKandelaarPourInit__9daAlink_cFv -/* 8011170C 38 60 00 01 */ li r3, 1 -lbl_80111710: -/* 80111710 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80111714 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80111718 7C 08 03 A6 */ mtlr r0 -/* 8011171C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80111720 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procKandelaarPour__9daAlink_cFv.s b/asm/d/a/d_a_alink/procKandelaarPour__9daAlink_cFv.s deleted file mode 100644 index 93a7b1c456..0000000000 --- a/asm/d/a/d_a_alink/procKandelaarPour__9daAlink_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80111724: -/* 80111724 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80111728 7C 08 02 A6 */ mflr r0 -/* 8011172C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80111730 38 80 00 00 */ li r4, 0 -/* 80111734 4B FF F9 85 */ bl commonKandelaarPour__9daAlink_cFi -/* 80111738 38 60 00 01 */ li r3, 1 -/* 8011173C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80111740 7C 08 03 A6 */ mtlr r0 -/* 80111744 38 21 00 10 */ addi r1, r1, 0x10 -/* 80111748 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procKandelaarSwing__9daAlink_cFv.s b/asm/d/a/d_a_alink/procKandelaarSwing__9daAlink_cFv.s deleted file mode 100644 index c6482a5a72..0000000000 --- a/asm/d/a/d_a_alink/procKandelaarSwing__9daAlink_cFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_801115CC: -/* 801115CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801115D0 7C 08 02 A6 */ mflr r0 -/* 801115D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801115D8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801115DC 93 C1 00 08 */ stw r30, 8(r1) -/* 801115E0 7C 7E 1B 78 */ mr r30, r3 -/* 801115E4 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 801115E8 7F E3 FB 78 */ mr r3, r31 -/* 801115EC 48 04 CE E1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 801115F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801115F4 41 82 00 38 */ beq lbl_8011162C -/* 801115F8 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 801115FC 28 00 00 27 */ cmplwi r0, 0x27 -/* 80111600 40 82 00 1C */ bne lbl_8011161C -/* 80111604 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80111608 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8011160C 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 80111610 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 80111614 4B F3 6B 69 */ bl cutEnd__16dEvent_manager_cFi -/* 80111618 48 00 00 48 */ b lbl_80111660 -lbl_8011161C: -/* 8011161C 7F C3 F3 78 */ mr r3, r30 -/* 80111620 38 80 00 00 */ li r4, 0 -/* 80111624 4B FA 8A AD */ bl checkNextAction__9daAlink_cFi -/* 80111628 48 00 00 38 */ b lbl_80111660 -lbl_8011162C: -/* 8011162C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80111630 C0 1E 34 78 */ lfs f0, 0x3478(r30) -/* 80111634 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80111638 40 81 00 28 */ ble lbl_80111660 -/* 8011163C 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 80111640 28 00 00 27 */ cmplwi r0, 0x27 -/* 80111644 41 82 00 1C */ beq lbl_80111660 -/* 80111648 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 8011164C 60 00 00 04 */ ori r0, r0, 4 -/* 80111650 90 1E 31 A0 */ stw r0, 0x31a0(r30) -/* 80111654 7F C3 F3 78 */ mr r3, r30 -/* 80111658 38 80 00 01 */ li r4, 1 -/* 8011165C 4B FA 8A 75 */ bl checkNextAction__9daAlink_cFi -lbl_80111660: -/* 80111660 38 60 00 01 */ li r3, 1 -/* 80111664 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80111668 83 C1 00 08 */ lwz r30, 8(r1) -/* 8011166C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80111670 7C 08 03 A6 */ mtlr r0 -/* 80111674 38 21 00 10 */ addi r1, r1, 0x10 -/* 80111678 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procLandDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/procLandDamage__9daAlink_cFv.s deleted file mode 100644 index 4081e0dd46..0000000000 --- a/asm/d/a/d_a_alink/procLandDamage__9daAlink_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_800DB060: -/* 800DB060 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DB064 7C 08 02 A6 */ mflr r0 -/* 800DB068 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DB06C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DB070 93 C1 00 08 */ stw r30, 8(r1) -/* 800DB074 7C 7E 1B 78 */ mr r30, r3 -/* 800DB078 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800DB07C 80 03 31 98 */ lwz r0, 0x3198(r3) -/* 800DB080 2C 00 00 00 */ cmpwi r0, 0 -/* 800DB084 41 82 00 58 */ beq lbl_800DB0DC -/* 800DB088 7F E3 FB 78 */ mr r3, r31 -/* 800DB08C 48 08 34 41 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DB090 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DB094 41 82 00 14 */ beq lbl_800DB0A8 -/* 800DB098 7F C3 F3 78 */ mr r3, r30 -/* 800DB09C 38 80 00 00 */ li r4, 0 -/* 800DB0A0 4B FD F0 31 */ bl checkNextAction__9daAlink_cFi -/* 800DB0A4 48 00 00 80 */ b lbl_800DB124 -lbl_800DB0A8: -/* 800DB0A8 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800DB0AC 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800DB0B0 38 63 E4 54 */ addi r3, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800DB0B4 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800DB0B8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800DB0BC 40 81 00 68 */ ble lbl_800DB124 -/* 800DB0C0 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800DB0C4 60 00 00 04 */ ori r0, r0, 4 -/* 800DB0C8 90 1E 31 A0 */ stw r0, 0x31a0(r30) -/* 800DB0CC 7F C3 F3 78 */ mr r3, r30 -/* 800DB0D0 38 80 00 01 */ li r4, 1 -/* 800DB0D4 4B FD EF FD */ bl checkNextAction__9daAlink_cFi -/* 800DB0D8 48 00 00 4C */ b lbl_800DB124 -lbl_800DB0DC: -/* 800DB0DC 7F E3 FB 78 */ mr r3, r31 -/* 800DB0E0 48 08 33 ED */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DB0E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DB0E8 41 82 00 3C */ beq lbl_800DB124 -/* 800DB0EC A8 7E 30 08 */ lha r3, 0x3008(r30) -/* 800DB0F0 2C 03 00 00 */ cmpwi r3, 0 -/* 800DB0F4 40 81 00 10 */ ble lbl_800DB104 -/* 800DB0F8 38 03 FF FF */ addi r0, r3, -1 -/* 800DB0FC B0 1E 30 08 */ sth r0, 0x3008(r30) -/* 800DB100 48 00 00 24 */ b lbl_800DB124 -lbl_800DB104: -/* 800DB104 7F C3 F3 78 */ mr r3, r30 -/* 800DB108 38 80 00 8D */ li r4, 0x8d -/* 800DB10C 3C A0 80 39 */ lis r5, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800DB110 38 A5 E4 54 */ addi r5, r5, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800DB114 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800DB118 4B FD 1F DD */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800DB11C 38 00 00 01 */ li r0, 1 -/* 800DB120 90 1E 31 98 */ stw r0, 0x3198(r30) -lbl_800DB124: -/* 800DB124 38 60 00 01 */ li r3, 1 -/* 800DB128 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DB12C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DB130 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DB134 7C 08 03 A6 */ mtlr r0 -/* 800DB138 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DB13C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procLandInit__9daAlink_cFf.s b/asm/d/a/d_a_alink/procLandInit__9daAlink_cFf.s deleted file mode 100644 index 57db77260d..0000000000 --- a/asm/d/a/d_a_alink/procLandInit__9daAlink_cFf.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_800C6F18: -/* 800C6F18 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C6F1C 7C 08 02 A6 */ mflr r0 -/* 800C6F20 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C6F24 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800C6F28 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 800C6F2C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C6F30 7C 7F 1B 78 */ mr r31, r3 -/* 800C6F34 FF E0 08 90 */ fmr f31, f1 -/* 800C6F38 38 80 00 19 */ li r4, 0x19 -/* 800C6F3C 4B FF B0 31 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C6F40 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C6F44 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C6F48 7F E3 FB 78 */ mr r3, r31 -/* 800C6F4C 38 80 00 33 */ li r4, 0x33 -/* 800C6F50 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C6F54 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C6F58 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800C6F5C 4B FE 61 99 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C6F60 7F E3 FB 78 */ mr r3, r31 -/* 800C6F64 48 01 CF BD */ bl checkGrabRooster__9daAlink_cFv -/* 800C6F68 2C 03 00 00 */ cmpwi r3, 0 -/* 800C6F6C 41 82 00 10 */ beq lbl_800C6F7C -/* 800C6F70 C0 02 92 98 */ lfs f0, lit_5943(r2) -/* 800C6F74 D0 1F 1F DC */ stfs f0, 0x1fdc(r31) -/* 800C6F78 48 00 00 20 */ b lbl_800C6F98 -lbl_800C6F7C: -/* 800C6F7C 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800C6F80 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800C6F84 41 82 00 14 */ beq lbl_800C6F98 -/* 800C6F88 C0 22 95 F0 */ lfs f1, lit_28286(r2) -/* 800C6F8C C0 1F 1F DC */ lfs f0, 0x1fdc(r31) -/* 800C6F90 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C6F94 D0 1F 1F DC */ stfs f0, 0x1fdc(r31) -lbl_800C6F98: -/* 800C6F98 38 00 00 04 */ li r0, 4 -/* 800C6F9C 98 1F 2F 9D */ stb r0, 0x2f9d(r31) -/* 800C6FA0 7F E3 FB 78 */ mr r3, r31 -/* 800C6FA4 38 80 00 04 */ li r4, 4 -/* 800C6FA8 48 05 A2 19 */ bl setFootEffectProcType__9daAlink_cFi -/* 800C6FAC 80 1F 05 84 */ lwz r0, 0x584(r31) -/* 800C6FB0 60 00 00 30 */ ori r0, r0, 0x30 -/* 800C6FB4 90 1F 05 84 */ stw r0, 0x584(r31) -/* 800C6FB8 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C6FBC B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C6FC0 D3 FF 34 78 */ stfs f31, 0x3478(r31) -/* 800C6FC4 38 60 00 01 */ li r3, 1 -/* 800C6FC8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 800C6FCC CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800C6FD0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C6FD4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C6FD8 7C 08 03 A6 */ mtlr r0 -/* 800C6FDC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C6FE0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procLand__9daAlink_cFv.s deleted file mode 100644 index 3d44e28403..0000000000 --- a/asm/d/a/d_a_alink/procLand__9daAlink_cFv.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_800C6FE4: -/* 800C6FE4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C6FE8 7C 08 02 A6 */ mflr r0 -/* 800C6FEC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C6FF0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800C6FF4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800C6FF8 7C 7E 1B 78 */ mr r30, r3 -/* 800C6FFC 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800C7000 7F E3 FB 78 */ mr r3, r31 -/* 800C7004 48 09 74 C9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C7008 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C700C 41 82 00 14 */ beq lbl_800C7020 -/* 800C7010 7F C3 F3 78 */ mr r3, r30 -/* 800C7014 38 80 00 00 */ li r4, 0 -/* 800C7018 4B FF 30 B9 */ bl checkNextAction__9daAlink_cFi -/* 800C701C 48 00 00 C0 */ b lbl_800C70DC -lbl_800C7020: -/* 800C7020 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800C7024 3C 60 80 39 */ lis r3, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C7028 38 63 E0 68 */ addi r3, r3, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C702C C0 03 00 24 */ lfs f0, 0x24(r3) -/* 800C7030 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C7034 40 81 00 14 */ ble lbl_800C7048 -/* 800C7038 7F C3 F3 78 */ mr r3, r30 -/* 800C703C 38 80 00 01 */ li r4, 1 -/* 800C7040 4B FF 30 91 */ bl checkNextAction__9daAlink_cFi -/* 800C7044 48 00 00 98 */ b lbl_800C70DC -lbl_800C7048: -/* 800C7048 7F E3 FB 78 */ mr r3, r31 -/* 800C704C C0 22 93 24 */ lfs f1, lit_7450(r2) -/* 800C7050 48 26 13 DD */ bl checkPass__12J3DFrameCtrlFf -/* 800C7054 2C 03 00 00 */ cmpwi r3, 0 -/* 800C7058 41 82 00 84 */ beq lbl_800C70DC -/* 800C705C 7F C3 F3 78 */ mr r3, r30 -/* 800C7060 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800C7064 81 8C 02 80 */ lwz r12, 0x280(r12) -/* 800C7068 7D 89 03 A6 */ mtctr r12 -/* 800C706C 4E 80 04 21 */ bctrl -/* 800C7070 2C 03 00 00 */ cmpwi r3, 0 -/* 800C7074 41 82 00 0C */ beq lbl_800C7080 -/* 800C7078 38 80 00 03 */ li r4, 3 -/* 800C707C 48 00 00 34 */ b lbl_800C70B0 -lbl_800C7080: -/* 800C7080 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800C7084 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800C7088 40 82 00 1C */ bne lbl_800C70A4 -/* 800C708C C0 3E 34 78 */ lfs f1, 0x3478(r30) -/* 800C7090 3C 60 80 39 */ lis r3, m__21daAlinkHIO_damFall_c0@ha /* 0x8038E454@ha */ -/* 800C7094 38 63 E4 54 */ addi r3, r3, m__21daAlinkHIO_damFall_c0@l /* 0x8038E454@l */ -/* 800C7098 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800C709C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C70A0 40 80 00 0C */ bge lbl_800C70AC -lbl_800C70A4: -/* 800C70A4 38 80 00 01 */ li r4, 1 -/* 800C70A8 48 00 00 08 */ b lbl_800C70B0 -lbl_800C70AC: -/* 800C70AC 38 80 00 02 */ li r4, 2 -lbl_800C70B0: -/* 800C70B0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C70B4 D0 21 00 08 */ stfs f1, 8(r1) -/* 800C70B8 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800C70BC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800C70C0 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800C70C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800C70C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800C70CC 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800C70D0 38 A0 00 0F */ li r5, 0xf -/* 800C70D4 38 C1 00 08 */ addi r6, r1, 8 -/* 800C70D8 4B FA 89 4D */ bl StartShock__12dVibration_cFii4cXyz -lbl_800C70DC: -/* 800C70DC 38 60 00 01 */ li r3, 1 -/* 800C70E0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800C70E4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800C70E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C70EC 7C 08 03 A6 */ mtlr r0 -/* 800C70F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C70F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procOctaIealSpit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procOctaIealSpit__9daAlink_cFv.s deleted file mode 100644 index aece5cbfca..0000000000 --- a/asm/d/a/d_a_alink/procOctaIealSpit__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80105A00: -/* 80105A00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80105A04 7C 08 02 A6 */ mflr r0 -/* 80105A08 90 01 00 14 */ stw r0, 0x14(r1) -/* 80105A0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80105A10 7C 7F 1B 78 */ mr r31, r3 -/* 80105A14 80 03 06 14 */ lwz r0, 0x614(r3) -/* 80105A18 28 00 00 2E */ cmplwi r0, 0x2e -/* 80105A1C 40 82 00 14 */ bne lbl_80105A30 -/* 80105A20 38 00 00 02 */ li r0, 2 -/* 80105A24 B0 1F 06 04 */ sth r0, 0x604(r31) -/* 80105A28 38 00 00 01 */ li r0, 1 -/* 80105A2C 90 1F 06 14 */ stw r0, 0x614(r31) -lbl_80105A30: -/* 80105A30 38 7F 33 98 */ addi r3, r31, 0x3398 -/* 80105A34 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80105A38 C0 42 92 98 */ lfs f2, lit_5943(r2) -/* 80105A3C C0 7F 34 78 */ lfs f3, 0x3478(r31) -/* 80105A40 C0 82 93 A0 */ lfs f4, lit_9054(r2) -/* 80105A44 48 16 9F 39 */ bl cLib_addCalc__FPfffff -/* 80105A48 38 00 00 07 */ li r0, 7 -/* 80105A4C 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 80105A50 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 80105A54 48 05 8A 79 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 80105A58 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80105A5C 41 82 00 10 */ beq lbl_80105A6C -/* 80105A60 7F E3 FB 78 */ mr r3, r31 -/* 80105A64 38 80 00 00 */ li r4, 0 -/* 80105A68 4B FF E8 91 */ bl procSwimWaitInit__9daAlink_cFi -lbl_80105A6C: -/* 80105A6C 38 60 00 01 */ li r3, 1 -/* 80105A70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80105A74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80105A78 7C 08 03 A6 */ mtlr r0 -/* 80105A7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80105A80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c.s b/asm/d/a/d_a_alink/procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c.s deleted file mode 100644 index c4d40552bb..0000000000 --- a/asm/d/a/d_a_alink/procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_800C2DDC: -/* 800C2DDC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C2DE0 7C 08 02 A6 */ mflr r0 -/* 800C2DE4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C2DE8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C2DEC 48 29 F3 F1 */ bl _savegpr_29 -/* 800C2DF0 7C 7D 1B 78 */ mr r29, r3 -/* 800C2DF4 7C 9E 23 78 */ mr r30, r4 -/* 800C2DF8 7C BF 2B 78 */ mr r31, r5 -/* 800C2DFC 38 80 00 00 */ li r4, 0 -/* 800C2E00 4B FF F1 6D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C2E04 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C2E08 D0 1D 33 98 */ stfs f0, 0x3398(r29) -/* 800C2E0C 7F A3 EB 78 */ mr r3, r29 -/* 800C2E10 3C 80 80 39 */ lis r4, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800C2E14 38 84 D6 64 */ addi r4, r4, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800C2E18 C0 24 00 18 */ lfs f1, 0x18(r4) -/* 800C2E1C 4B FE AF F9 */ bl setBlendMoveAnime__9daAlink_cFf -/* 800C2E20 7F A3 EB 78 */ mr r3, r29 -/* 800C2E24 38 80 00 00 */ li r4, 0 -/* 800C2E28 4B FF 6A 15 */ bl allUnequip__9daAlink_cFi -/* 800C2E2C 38 00 00 00 */ li r0, 0 -/* 800C2E30 B0 1D 30 10 */ sth r0, 0x3010(r29) -/* 800C2E34 28 1F 00 00 */ cmplwi r31, 0 -/* 800C2E38 41 82 00 50 */ beq lbl_800C2E88 -/* 800C2E3C 38 7D 28 0C */ addi r3, r29, 0x280c -/* 800C2E40 7F E4 FB 78 */ mr r4, r31 -/* 800C2E44 48 09 BE 75 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 800C2E48 38 60 00 01 */ li r3, 1 -/* 800C2E4C B0 7D 30 0E */ sth r3, 0x300e(r29) -/* 800C2E50 A8 1F 00 08 */ lha r0, 8(r31) -/* 800C2E54 2C 00 02 CB */ cmpwi r0, 0x2cb -/* 800C2E58 40 82 00 34 */ bne lbl_800C2E8C -/* 800C2E5C A0 1D 2F DC */ lhz r0, 0x2fdc(r29) -/* 800C2E60 28 00 00 48 */ cmplwi r0, 0x48 -/* 800C2E64 40 82 00 0C */ bne lbl_800C2E70 -/* 800C2E68 B0 7D 30 10 */ sth r3, 0x3010(r29) -/* 800C2E6C 48 00 00 20 */ b lbl_800C2E8C -lbl_800C2E70: -/* 800C2E70 80 1D 05 78 */ lwz r0, 0x578(r29) -/* 800C2E74 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800C2E78 41 82 00 14 */ beq lbl_800C2E8C -/* 800C2E7C 7F A3 EB 78 */ mr r3, r29 -/* 800C2E80 48 04 D9 C1 */ bl offKandelaarModel__9daAlink_cFv -/* 800C2E84 48 00 00 08 */ b lbl_800C2E8C -lbl_800C2E88: -/* 800C2E88 B0 1D 30 0E */ sth r0, 0x300e(r29) -lbl_800C2E8C: -/* 800C2E8C 93 DD 31 98 */ stw r30, 0x3198(r29) -/* 800C2E90 38 60 00 01 */ li r3, 1 -/* 800C2E94 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C2E98 48 29 F3 91 */ bl _restgpr_29 -/* 800C2E9C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C2EA0 7C 08 03 A6 */ mtlr r0 -/* 800C2EA4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C2EA8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procPreActionUnequip__9daAlink_cFv.s b/asm/d/a/d_a_alink/procPreActionUnequip__9daAlink_cFv.s deleted file mode 100644 index 1a8531d95e..0000000000 --- a/asm/d/a/d_a_alink/procPreActionUnequip__9daAlink_cFv.s +++ /dev/null @@ -1,145 +0,0 @@ -lbl_800C2EAC: -/* 800C2EAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C2EB0 7C 08 02 A6 */ mflr r0 -/* 800C2EB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C2EB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C2EBC 7C 7F 1B 78 */ mr r31, r3 -/* 800C2EC0 4B FF 63 95 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800C2EC4 2C 03 00 00 */ cmpwi r3, 0 -/* 800C2EC8 41 82 01 AC */ beq lbl_800C3074 -/* 800C2ECC A8 1F 30 0E */ lha r0, 0x300e(r31) -/* 800C2ED0 2C 00 00 00 */ cmpwi r0, 0 -/* 800C2ED4 41 82 00 28 */ beq lbl_800C2EFC -/* 800C2ED8 80 7F 27 F4 */ lwz r3, 0x27f4(r31) -/* 800C2EDC 28 03 00 00 */ cmplwi r3, 0 -/* 800C2EE0 41 82 00 10 */ beq lbl_800C2EF0 -/* 800C2EE4 80 1F 28 10 */ lwz r0, 0x2810(r31) -/* 800C2EE8 7C 03 00 40 */ cmplw r3, r0 -/* 800C2EEC 41 82 00 10 */ beq lbl_800C2EFC -lbl_800C2EF0: -/* 800C2EF0 7F E3 FB 78 */ mr r3, r31 -/* 800C2EF4 4B FF 29 F9 */ bl checkWaitAction__9daAlink_cFv -/* 800C2EF8 48 00 01 88 */ b lbl_800C3080 -lbl_800C2EFC: -/* 800C2EFC 80 1F 31 98 */ lwz r0, 0x3198(r31) -/* 800C2F00 2C 00 01 43 */ cmpwi r0, 0x143 -/* 800C2F04 40 82 00 14 */ bne lbl_800C2F18 -/* 800C2F08 7F E3 FB 78 */ mr r3, r31 -/* 800C2F0C 38 80 00 01 */ li r4, 1 -/* 800C2F10 48 02 55 19 */ bl procCoPushPullWaitInit__9daAlink_cFi -/* 800C2F14 48 00 01 6C */ b lbl_800C3080 -lbl_800C2F18: -/* 800C2F18 2C 00 00 69 */ cmpwi r0, 0x69 -/* 800C2F1C 40 82 00 10 */ bne lbl_800C2F2C -/* 800C2F20 7F E3 FB 78 */ mr r3, r31 -/* 800C2F24 48 03 AA A9 */ bl procLadderDownStartInit__9daAlink_cFv -/* 800C2F28 48 00 01 58 */ b lbl_800C3080 -lbl_800C2F2C: -/* 800C2F2C 2C 00 00 67 */ cmpwi r0, 0x67 -/* 800C2F30 40 82 00 10 */ bne lbl_800C2F40 -/* 800C2F34 7F E3 FB 78 */ mr r3, r31 -/* 800C2F38 48 03 A7 11 */ bl procLadderUpStartInit__9daAlink_cFv -/* 800C2F3C 48 00 01 44 */ b lbl_800C3080 -lbl_800C2F40: -/* 800C2F40 2C 00 00 6C */ cmpwi r0, 0x6c -/* 800C2F44 40 82 00 10 */ bne lbl_800C2F54 -/* 800C2F48 7F E3 FB 78 */ mr r3, r31 -/* 800C2F4C 48 02 2D 71 */ bl procGrabReadyInit__9daAlink_cFv -/* 800C2F50 48 00 01 30 */ b lbl_800C3080 -lbl_800C2F54: -/* 800C2F54 2C 00 01 48 */ cmpwi r0, 0x148 -/* 800C2F58 40 82 00 10 */ bne lbl_800C2F68 -/* 800C2F5C 7F E3 FB 78 */ mr r3, r31 -/* 800C2F60 48 05 78 39 */ bl procCoGetItemInit__9daAlink_cFv -/* 800C2F64 48 00 01 1C */ b lbl_800C3080 -lbl_800C2F68: -/* 800C2F68 2C 00 01 57 */ cmpwi r0, 0x157 -/* 800C2F6C 40 82 00 10 */ bne lbl_800C2F7C -/* 800C2F70 7F E3 FB 78 */ mr r3, r31 -/* 800C2F74 48 05 A5 D1 */ bl procCoGetReadySitInit__9daAlink_cFv -/* 800C2F78 48 00 01 08 */ b lbl_800C3080 -lbl_800C2F7C: -/* 800C2F7C 2C 00 00 AE */ cmpwi r0, 0xae -/* 800C2F80 40 82 00 10 */ bne lbl_800C2F90 -/* 800C2F84 7F E3 FB 78 */ mr r3, r31 -/* 800C2F88 48 02 4C A9 */ bl procFmChainUpInit__9daAlink_cFv -/* 800C2F8C 48 00 00 F4 */ b lbl_800C3080 -lbl_800C2F90: -/* 800C2F90 2C 00 00 75 */ cmpwi r0, 0x75 -/* 800C2F94 40 82 00 10 */ bne lbl_800C2FA4 -/* 800C2F98 7F E3 FB 78 */ mr r3, r31 -/* 800C2F9C 48 02 42 B9 */ bl procPickUpInit__9daAlink_cFv -/* 800C2FA0 48 00 00 E0 */ b lbl_800C3080 -lbl_800C2FA4: -/* 800C2FA4 2C 00 00 35 */ cmpwi r0, 0x35 -/* 800C2FA8 40 82 00 10 */ bne lbl_800C2FB8 -/* 800C2FAC 7F E3 FB 78 */ mr r3, r31 -/* 800C2FB0 48 03 62 61 */ bl procCrawlStartInit__9daAlink_cFv -/* 800C2FB4 48 00 00 CC */ b lbl_800C3080 -lbl_800C2FB8: -/* 800C2FB8 2C 00 00 B9 */ cmpwi r0, 0xb9 -/* 800C2FBC 40 82 00 10 */ bne lbl_800C2FCC -/* 800C2FC0 7F E3 FB 78 */ mr r3, r31 -/* 800C2FC4 48 04 E8 D1 */ bl procGrassWhistleGetInit__9daAlink_cFv -/* 800C2FC8 48 00 00 B8 */ b lbl_800C3080 -lbl_800C2FCC: -/* 800C2FCC 2C 00 00 C1 */ cmpwi r0, 0xc1 -/* 800C2FD0 40 82 00 10 */ bne lbl_800C2FE0 -/* 800C2FD4 7F E3 FB 78 */ mr r3, r31 -/* 800C2FD8 48 02 72 D1 */ bl procGoatStrokeInit__9daAlink_cFv -/* 800C2FDC 48 00 00 A4 */ b lbl_800C3080 -lbl_800C2FE0: -/* 800C2FE0 2C 00 00 5C */ cmpwi r0, 0x5c -/* 800C2FE4 40 82 00 10 */ bne lbl_800C2FF4 -/* 800C2FE8 7F E3 FB 78 */ mr r3, r31 -/* 800C2FEC 48 03 91 8D */ bl procHangReadyInit__9daAlink_cFv -/* 800C2FF0 48 00 00 90 */ b lbl_800C3080 -lbl_800C2FF4: -/* 800C2FF4 2C 00 00 74 */ cmpwi r0, 0x74 -/* 800C2FF8 40 82 00 10 */ bne lbl_800C3008 -/* 800C2FFC 7F E3 FB 78 */ mr r3, r31 -/* 800C3000 48 02 40 FD */ bl procInsectCatchInit__9daAlink_cFv -/* 800C3004 48 00 00 7C */ b lbl_800C3080 -lbl_800C3008: -/* 800C3008 2C 00 00 C2 */ cmpwi r0, 0xc2 -/* 800C300C 40 82 00 10 */ bne lbl_800C301C -/* 800C3010 7F E3 FB 78 */ mr r3, r31 -/* 800C3014 48 02 73 E1 */ bl procGoronMoveInit__9daAlink_cFv -/* 800C3018 48 00 00 68 */ b lbl_800C3080 -lbl_800C301C: -/* 800C301C 2C 00 00 B5 */ cmpwi r0, 0xb5 -/* 800C3020 40 82 00 18 */ bne lbl_800C3038 -/* 800C3024 7F E3 FB 78 */ mr r3, r31 -/* 800C3028 38 80 00 00 */ li r4, 0 -/* 800C302C 38 A0 00 00 */ li r5, 0 -/* 800C3030 48 04 CC 09 */ bl procBottleSwingInit__9daAlink_cFP10fopAc_ac_ci -/* 800C3034 48 00 00 4C */ b lbl_800C3080 -lbl_800C3038: -/* 800C3038 2C 00 00 5D */ cmpwi r0, 0x5d -/* 800C303C 40 82 00 10 */ bne lbl_800C304C -/* 800C3040 7F E3 FB 78 */ mr r3, r31 -/* 800C3044 48 03 92 B1 */ bl procHangLeverDownInit__9daAlink_cFv -/* 800C3048 48 00 00 38 */ b lbl_800C3080 -lbl_800C304C: -/* 800C304C 2C 00 00 76 */ cmpwi r0, 0x76 -/* 800C3050 40 82 00 14 */ bne lbl_800C3064 -/* 800C3054 7F E3 FB 78 */ mr r3, r31 -/* 800C3058 38 80 00 01 */ li r4, 1 -/* 800C305C 48 02 45 91 */ bl procPickPutInit__9daAlink_cFi -/* 800C3060 48 00 00 20 */ b lbl_800C3080 -lbl_800C3064: -/* 800C3064 7F E3 FB 78 */ mr r3, r31 -/* 800C3068 38 80 00 00 */ li r4, 0 -/* 800C306C 4B FF 70 65 */ bl checkNextAction__9daAlink_cFi -/* 800C3070 48 00 00 10 */ b lbl_800C3080 -lbl_800C3074: -/* 800C3074 7F E3 FB 78 */ mr r3, r31 -/* 800C3078 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800C307C 4B FE AD 99 */ bl setBlendMoveAnime__9daAlink_cFf -lbl_800C3080: -/* 800C3080 38 60 00 01 */ li r3, 1 -/* 800C3084 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C3088 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C308C 7C 08 03 A6 */ mtlr r0 -/* 800C3090 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C3094 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procRollJumpInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procRollJumpInit__9daAlink_cFv.s deleted file mode 100644 index 4e92c2acd0..0000000000 --- a/asm/d/a/d_a_alink/procRollJumpInit__9daAlink_cFv.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_800C6850: -/* 800C6850 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C6854 7C 08 02 A6 */ mflr r0 -/* 800C6858 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C685C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C6860 7C 7F 1B 78 */ mr r31, r3 -/* 800C6864 38 80 00 17 */ li r4, 0x17 -/* 800C6868 4B FF B7 05 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C686C 7F E3 FB 78 */ mr r3, r31 -/* 800C6870 38 80 00 EF */ li r4, 0xef -/* 800C6874 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800C6878 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C687C 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C6880 C0 45 00 80 */ lfs f2, 0x80(r5) -/* 800C6884 4B FE 67 5D */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800C6888 C0 1F 34 10 */ lfs f0, 0x3410(r31) -/* 800C688C D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800C6890 C0 1F 34 10 */ lfs f0, 0x3410(r31) -/* 800C6894 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C6898 C0 1F 34 14 */ lfs f0, 0x3414(r31) -/* 800C689C D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 800C68A0 A8 1F 30 EE */ lha r0, 0x30ee(r31) -/* 800C68A4 B0 1F 2F E6 */ sth r0, 0x2fe6(r31) -/* 800C68A8 A8 1F 30 EE */ lha r0, 0x30ee(r31) -/* 800C68AC B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 800C68B0 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800C68B4 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800C68B8 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 800C68BC 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 -/* 800C68C0 90 1F 19 9C */ stw r0, 0x199c(r31) -/* 800C68C4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C68C8 D0 1F 34 7C */ stfs f0, 0x347c(r31) -/* 800C68CC 38 00 00 01 */ li r0, 1 -/* 800C68D0 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 800C68D4 7F E3 FB 78 */ mr r3, r31 -/* 800C68D8 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010025@ha */ -/* 800C68DC 38 84 00 25 */ addi r4, r4, 0x0025 /* 0x00010025@l */ -/* 800C68E0 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800C68E4 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C68E8 7D 89 03 A6 */ mtctr r12 -/* 800C68EC 4E 80 04 21 */ bctrl -/* 800C68F0 7F E3 FB 78 */ mr r3, r31 -/* 800C68F4 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002005B@ha */ -/* 800C68F8 38 84 00 5B */ addi r4, r4, 0x005B /* 0x0002005B@l */ -/* 800C68FC 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800C6900 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800C6904 7D 89 03 A6 */ mtctr r12 -/* 800C6908 4E 80 04 21 */ bctrl -/* 800C690C 38 00 00 01 */ li r0, 1 -/* 800C6910 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C6914 38 60 00 01 */ li r3, 1 -/* 800C6918 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C691C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C6920 7C 08 03 A6 */ mtlr r0 -/* 800C6924 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C6928 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procRollJump__9daAlink_cFv.s b/asm/d/a/d_a_alink/procRollJump__9daAlink_cFv.s deleted file mode 100644 index 63cfd7e26f..0000000000 --- a/asm/d/a/d_a_alink/procRollJump__9daAlink_cFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_800C692C: -/* 800C692C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C6930 7C 08 02 A6 */ mflr r0 -/* 800C6934 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C6938 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C693C 7C 7F 1B 78 */ mr r31, r3 -/* 800C6940 80 03 19 9C */ lwz r0, 0x199c(r3) -/* 800C6944 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800C6948 41 82 00 10 */ beq lbl_800C6958 -/* 800C694C 38 80 00 00 */ li r4, 0 -/* 800C6950 4B FE F3 7D */ bl checkLandAction__9daAlink_cFi -/* 800C6954 48 00 00 E0 */ b lbl_800C6A34 -lbl_800C6958: -/* 800C6958 C0 3F 04 FC */ lfs f1, 0x4fc(r31) -/* 800C695C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C6960 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C6964 40 80 00 1C */ bge lbl_800C6980 -/* 800C6968 38 80 00 03 */ li r4, 3 -/* 800C696C 3C A0 80 39 */ lis r5, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C6970 38 A5 E0 68 */ addi r5, r5, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C6974 C0 25 00 84 */ lfs f1, 0x84(r5) -/* 800C6978 48 00 00 D1 */ bl procFallInit__9daAlink_cFif -/* 800C697C 48 00 00 B4 */ b lbl_800C6A30 -lbl_800C6980: -/* 800C6980 A8 BF 04 E4 */ lha r5, 0x4e4(r31) -/* 800C6984 3C 80 80 39 */ lis r4, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C6988 38 84 E0 68 */ addi r4, r4, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C698C A8 04 00 54 */ lha r0, 0x54(r4) -/* 800C6990 7C 05 02 14 */ add r0, r5, r0 -/* 800C6994 B0 1F 04 E4 */ sth r0, 0x4e4(r31) -/* 800C6998 A8 1F 04 E4 */ lha r0, 0x4e4(r31) -/* 800C699C 7C 00 29 D7 */ mullw. r0, r0, r5 -/* 800C69A0 41 81 00 3C */ bgt lbl_800C69DC -/* 800C69A4 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 800C69A8 2C 00 00 00 */ cmpwi r0, 0 -/* 800C69AC 41 82 00 28 */ beq lbl_800C69D4 -/* 800C69B0 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002005C@ha */ -/* 800C69B4 38 84 00 5C */ addi r4, r4, 0x005C /* 0x0002005C@l */ -/* 800C69B8 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800C69BC 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800C69C0 7D 89 03 A6 */ mtctr r12 -/* 800C69C4 4E 80 04 21 */ bctrl -/* 800C69C8 38 00 00 00 */ li r0, 0 -/* 800C69CC B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C69D0 48 00 00 0C */ b lbl_800C69DC -lbl_800C69D4: -/* 800C69D4 38 00 00 01 */ li r0, 1 -/* 800C69D8 B0 1F 30 0C */ sth r0, 0x300c(r31) -lbl_800C69DC: -/* 800C69DC 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 800C69E0 38 83 9A 20 */ addi r4, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 800C69E4 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800C69E8 A8 1F 2F E2 */ lha r0, 0x2fe2(r31) -/* 800C69EC 7C 03 00 50 */ subf r0, r3, r0 -/* 800C69F0 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800C69F4 7C 64 02 14 */ add r3, r4, r0 -/* 800C69F8 C0 43 00 04 */ lfs f2, 4(r3) -/* 800C69FC 38 7F 34 7C */ addi r3, r31, 0x347c -/* 800C6A00 3C 80 80 39 */ lis r4, m__22daAlinkHIO_autoJump_c0@ha /* 0x8038E068@ha */ -/* 800C6A04 38 84 E0 68 */ addi r4, r4, m__22daAlinkHIO_autoJump_c0@l /* 0x8038E068@l */ -/* 800C6A08 C0 24 00 88 */ lfs f1, 0x88(r4) -/* 800C6A0C C0 1F 33 A8 */ lfs f0, 0x33a8(r31) -/* 800C6A10 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 800C6A14 EC 21 00 32 */ fmuls f1, f1, f0 -/* 800C6A18 C0 44 00 8C */ lfs f2, 0x8c(r4) -/* 800C6A1C 48 1A 9D 25 */ bl cLib_chaseF__FPfff -/* 800C6A20 C0 3F 34 78 */ lfs f1, 0x3478(r31) -/* 800C6A24 C0 1F 34 7C */ lfs f0, 0x347c(r31) -/* 800C6A28 EC 01 00 2A */ fadds f0, f1, f0 -/* 800C6A2C D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_800C6A30: -/* 800C6A30 38 60 00 01 */ li r3, 1 -lbl_800C6A34: -/* 800C6A34 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C6A38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C6A3C 7C 08 03 A6 */ mtlr r0 -/* 800C6A40 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C6A44 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procScreamWaitInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procScreamWaitInit__9daAlink_cFv.s deleted file mode 100644 index 61fa7d7f97..0000000000 --- a/asm/d/a/d_a_alink/procScreamWaitInit__9daAlink_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_800DBD1C: -/* 800DBD1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DBD20 7C 08 02 A6 */ mflr r0 -/* 800DBD24 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DBD28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DBD2C 7C 7F 1B 78 */ mr r31, r3 -/* 800DBD30 38 80 00 DE */ li r4, 0xde -/* 800DBD34 4B FE 62 39 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DBD38 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 800DBD3C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800DBD40 41 82 00 10 */ beq lbl_800DBD50 -/* 800DBD44 7F E3 FB 78 */ mr r3, r31 -/* 800DBD48 4B FF FF 51 */ bl setScreamWaitAnime__9daAlink_cFv -/* 800DBD4C 48 00 00 30 */ b lbl_800DBD7C -lbl_800DBD50: -/* 800DBD50 7F E3 FB 78 */ mr r3, r31 -/* 800DBD54 38 80 00 19 */ li r4, 0x19 -/* 800DBD58 3C A0 80 39 */ lis r5, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800DBD5C 38 A5 D6 BC */ addi r5, r5, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800DBD60 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 800DBD64 3C A0 80 39 */ lis r5, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800DBD68 38 A5 D6 64 */ addi r5, r5, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800DBD6C C0 45 00 18 */ lfs f2, 0x18(r5) -/* 800DBD70 4B FD 12 71 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800DBD74 38 00 00 00 */ li r0, 0 -/* 800DBD78 B0 1F 30 0C */ sth r0, 0x300c(r31) -lbl_800DBD7C: -/* 800DBD7C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800DBD80 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800DBD84 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800DBD88 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800DBD8C 38 60 00 01 */ li r3, 1 -/* 800DBD90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DBD94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DBD98 7C 08 03 A6 */ mtlr r0 -/* 800DBD9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DBDA0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procScreamWait__9daAlink_cFv.s b/asm/d/a/d_a_alink/procScreamWait__9daAlink_cFv.s deleted file mode 100644 index ce34f31d1b..0000000000 --- a/asm/d/a/d_a_alink/procScreamWait__9daAlink_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_800DBDA4: -/* 800DBDA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DBDA8 7C 08 02 A6 */ mflr r0 -/* 800DBDAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DBDB0 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800DBDB4 64 00 08 00 */ oris r0, r0, 0x800 -/* 800DBDB8 90 03 05 88 */ stw r0, 0x588(r3) -/* 800DBDBC 80 83 05 8C */ lwz r4, 0x58c(r3) -/* 800DBDC0 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 800DBDC4 40 82 00 10 */ bne lbl_800DBDD4 -/* 800DBDC8 38 80 00 00 */ li r4, 0 -/* 800DBDCC 4B FD E3 05 */ bl checkNextAction__9daAlink_cFi -/* 800DBDD0 48 00 00 1C */ b lbl_800DBDEC -lbl_800DBDD4: -/* 800DBDD4 A8 03 30 0C */ lha r0, 0x300c(r3) -/* 800DBDD8 2C 00 00 00 */ cmpwi r0, 0 -/* 800DBDDC 40 82 00 10 */ bne lbl_800DBDEC -/* 800DBDE0 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e -/* 800DBDE4 41 82 00 08 */ beq lbl_800DBDEC -/* 800DBDE8 4B FF FE B1 */ bl setScreamWaitAnime__9daAlink_cFv -lbl_800DBDEC: -/* 800DBDEC 38 60 00 01 */ li r3, 1 -/* 800DBDF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DBDF4 7C 08 03 A6 */ mtlr r0 -/* 800DBDF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DBDFC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSideRollInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procSideRollInit__9daAlink_cFi.s deleted file mode 100644 index dbd4c4569a..0000000000 --- a/asm/d/a/d_a_alink/procSideRollInit__9daAlink_cFi.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_800C5328: -/* 800C5328 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800C532C 7C 08 02 A6 */ mflr r0 -/* 800C5330 90 01 00 24 */ stw r0, 0x24(r1) -/* 800C5334 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C5338 48 29 CE A5 */ bl _savegpr_29 -/* 800C533C 7C 7E 1B 78 */ mr r30, r3 -/* 800C5340 7C 9D 23 78 */ mr r29, r4 -/* 800C5344 48 01 7A AD */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800C5348 7C 7F 1B 78 */ mr r31, r3 -/* 800C534C 7F C3 F3 78 */ mr r3, r30 -/* 800C5350 38 80 00 11 */ li r4, 0x11 -/* 800C5354 4B FF DA 51 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C5358 2C 03 00 00 */ cmpwi r3, 0 -/* 800C535C 40 82 00 0C */ bne lbl_800C5368 -/* 800C5360 38 60 00 00 */ li r3, 0 -/* 800C5364 48 00 01 08 */ b lbl_800C546C -lbl_800C5368: -/* 800C5368 9B BE 2F 98 */ stb r29, 0x2f98(r30) -/* 800C536C 88 1E 2F 98 */ lbz r0, 0x2f98(r30) -/* 800C5370 28 00 00 02 */ cmplwi r0, 2 -/* 800C5374 40 82 00 18 */ bne lbl_800C538C -/* 800C5378 38 80 00 F0 */ li r4, 0xf0 -/* 800C537C A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800C5380 38 03 40 00 */ addi r0, r3, 0x4000 -/* 800C5384 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C5388 48 00 00 14 */ b lbl_800C539C -lbl_800C538C: -/* 800C538C 38 80 00 F1 */ li r4, 0xf1 -/* 800C5390 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 800C5394 38 03 C0 00 */ addi r0, r3, -16384 -/* 800C5398 B0 1E 04 DE */ sth r0, 0x4de(r30) -lbl_800C539C: -/* 800C539C 7F C3 F3 78 */ mr r3, r30 -/* 800C53A0 3C A0 80 39 */ lis r5, m__22daAlinkHIO_turnMove_c0@ha /* 0x8038DF70@ha */ -/* 800C53A4 38 C5 DF 70 */ addi r6, r5, m__22daAlinkHIO_turnMove_c0@l /* 0x8038DF70@l */ -/* 800C53A8 C0 26 00 24 */ lfs f1, 0x24(r6) -/* 800C53AC C0 46 00 08 */ lfs f2, 8(r6) -/* 800C53B0 A8 A6 00 00 */ lha r5, 0(r6) -/* 800C53B4 C0 66 00 0C */ lfs f3, 0xc(r6) -/* 800C53B8 4B FE 7C 55 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 800C53BC 3C 60 80 39 */ lis r3, m__22daAlinkHIO_turnMove_c0@ha /* 0x8038DF70@ha */ -/* 800C53C0 38 63 DF 70 */ addi r3, r3, m__22daAlinkHIO_turnMove_c0@l /* 0x8038DF70@l */ -/* 800C53C4 C0 03 00 28 */ lfs f0, 0x28(r3) -/* 800C53C8 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C53CC 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800C53D0 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 800C53D4 41 82 00 20 */ beq lbl_800C53F4 -/* 800C53D8 C0 3E 33 98 */ lfs f1, 0x3398(r30) -/* 800C53DC 3C 60 80 39 */ lis r3, m__24daAlinkHIO_magneBoots_c0@ha /* 0x8038E7F4@ha */ -/* 800C53E0 38 63 E7 F4 */ addi r3, r3, m__24daAlinkHIO_magneBoots_c0@l /* 0x8038E7F4@l */ -/* 800C53E4 C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 800C53E8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C53EC D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C53F0 48 00 00 2C */ b lbl_800C541C -lbl_800C53F4: -/* 800C53F4 7F C3 F3 78 */ mr r3, r30 -/* 800C53F8 38 80 00 01 */ li r4, 1 -/* 800C53FC 38 A0 00 01 */ li r5, 1 -/* 800C5400 4B FF 60 B9 */ bl checkHeavyStateOn__9daAlink_cFii -/* 800C5404 2C 03 00 00 */ cmpwi r3, 0 -/* 800C5408 41 82 00 14 */ beq lbl_800C541C -/* 800C540C C0 3E 33 98 */ lfs f1, 0x3398(r30) -/* 800C5410 C0 1E 34 34 */ lfs f0, 0x3434(r30) -/* 800C5414 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C5418 D0 1E 33 98 */ stfs f0, 0x3398(r30) -lbl_800C541C: -/* 800C541C 7F C3 F3 78 */ mr r3, r30 -/* 800C5420 38 80 00 00 */ li r4, 0 -/* 800C5424 48 05 BD 9D */ bl setFootEffectProcType__9daAlink_cFi -/* 800C5428 38 00 00 04 */ li r0, 4 -/* 800C542C 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 800C5430 7F C3 F3 78 */ mr r3, r30 -/* 800C5434 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010096@ha */ -/* 800C5438 38 84 00 96 */ addi r4, r4, 0x0096 /* 0x00010096@l */ -/* 800C543C 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800C5440 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800C5444 7D 89 03 A6 */ mtctr r12 -/* 800C5448 4E 80 04 21 */ bctrl -/* 800C544C 2C 1F 00 00 */ cmpwi r31, 0 -/* 800C5450 41 82 00 10 */ beq lbl_800C5460 -/* 800C5454 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800C5458 60 00 00 02 */ ori r0, r0, 2 -/* 800C545C 90 1E 05 70 */ stw r0, 0x570(r30) -lbl_800C5460: -/* 800C5460 38 00 00 00 */ li r0, 0 -/* 800C5464 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 800C5468 38 60 00 01 */ li r3, 1 -lbl_800C546C: -/* 800C546C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C5470 48 29 CD B9 */ bl _restgpr_29 -/* 800C5474 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800C5478 7C 08 03 A6 */ mtlr r0 -/* 800C547C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800C5480 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSlipInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSlipInit__9daAlink_cFv.s deleted file mode 100644 index 3cf57028ac..0000000000 --- a/asm/d/a/d_a_alink/procSlipInit__9daAlink_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_800C5C28: -/* 800C5C28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C5C2C 7C 08 02 A6 */ mflr r0 -/* 800C5C30 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C5C34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C5C38 7C 7F 1B 78 */ mr r31, r3 -/* 800C5C3C 38 80 00 14 */ li r4, 0x14 -/* 800C5C40 4B FF C3 2D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C5C44 7F E3 FB 78 */ mr r3, r31 -/* 800C5C48 38 80 00 28 */ li r4, 0x28 -/* 800C5C4C 3C A0 80 39 */ lis r5, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800C5C50 38 A5 D6 BC */ addi r5, r5, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800C5C54 4B FE 74 A1 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C5C58 C0 3F 05 2C */ lfs f1, 0x52c(r31) -/* 800C5C5C 3C 60 80 39 */ lis r3, m__18daAlinkHIO_move_c0@ha /* 0x8038D6BC@ha */ -/* 800C5C60 38 63 D6 BC */ addi r3, r3, m__18daAlinkHIO_move_c0@l /* 0x8038D6BC@l */ -/* 800C5C64 C0 03 00 40 */ lfs f0, 0x40(r3) -/* 800C5C68 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C5C6C D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C5C70 38 00 00 40 */ li r0, 0x40 -/* 800C5C74 98 1F 2F 9D */ stb r0, 0x2f9d(r31) -/* 800C5C78 7F E3 FB 78 */ mr r3, r31 -/* 800C5C7C 38 80 00 01 */ li r4, 1 -/* 800C5C80 48 05 B5 41 */ bl setFootEffectProcType__9daAlink_cFi -/* 800C5C84 38 00 00 05 */ li r0, 5 -/* 800C5C88 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800C5C8C 38 60 00 01 */ li r3, 1 -/* 800C5C90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C5C94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C5C98 7C 08 03 A6 */ mtlr r0 -/* 800C5C9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C5CA0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSpinnerReadyInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSpinnerReadyInit__9daAlink_cFv.s deleted file mode 100644 index 68f73f520b..0000000000 --- a/asm/d/a/d_a_alink/procSpinnerReadyInit__9daAlink_cFv.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_8010DC64: -/* 8010DC64 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8010DC68 7C 08 02 A6 */ mflr r0 -/* 8010DC6C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8010DC70 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8010DC74 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8010DC78 7C 7E 1B 78 */ mr r30, r3 -/* 8010DC7C 38 00 00 00 */ li r0, 0 -/* 8010DC80 90 01 00 08 */ stw r0, 8(r1) -/* 8010DC84 38 60 00 F2 */ li r3, 0xf2 -/* 8010DC88 38 80 00 00 */ li r4, 0 -/* 8010DC8C 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 8010DC90 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 8010DC94 7C 06 07 74 */ extsb r6, r0 -/* 8010DC98 38 FE 04 E4 */ addi r7, r30, 0x4e4 -/* 8010DC9C 39 00 00 00 */ li r8, 0 -/* 8010DCA0 39 20 FF FF */ li r9, -1 -/* 8010DCA4 39 40 00 00 */ li r10, 0 -/* 8010DCA8 4B F0 C1 5D */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8010DCAC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8010DCB0 40 82 00 0C */ bne lbl_8010DCBC -/* 8010DCB4 38 60 00 00 */ li r3, 0 -/* 8010DCB8 48 00 00 FC */ b lbl_8010DDB4 -lbl_8010DCBC: -/* 8010DCBC 7F C3 F3 78 */ mr r3, r30 -/* 8010DCC0 38 80 00 A4 */ li r4, 0xa4 -/* 8010DCC4 4B FB 42 A9 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8010DCC8 38 7E 28 14 */ addi r3, r30, 0x2814 -/* 8010DCCC 7F E4 FB 78 */ mr r4, r31 -/* 8010DCD0 48 05 0F E9 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 8010DCD4 7F C3 F3 78 */ mr r3, r30 -/* 8010DCD8 38 80 00 D7 */ li r4, 0xd7 -/* 8010DCDC 3C A0 80 39 */ lis r5, m__23daAlinkHIO_smallJump_c0@ha /* 0x8038E11C@ha */ -/* 8010DCE0 38 C5 E1 1C */ addi r6, r5, m__23daAlinkHIO_smallJump_c0@l /* 0x8038E11C@l */ -/* 8010DCE4 C0 26 00 04 */ lfs f1, 4(r6) -/* 8010DCE8 C0 42 93 44 */ lfs f2, lit_7977(r2) -/* 8010DCEC A8 A6 00 00 */ lha r5, 0(r6) -/* 8010DCF0 C0 66 00 0C */ lfs f3, 0xc(r6) -/* 8010DCF4 4B F9 F3 19 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 8010DCF8 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8010DCFC D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 8010DD00 7F C3 F3 78 */ mr r3, r30 -/* 8010DD04 38 80 00 00 */ li r4, 0 -/* 8010DD08 4B FD 48 79 */ bl setHeavyBoots__9daAlink_cFi -/* 8010DD0C C0 02 93 28 */ lfs f0, lit_7451(r2) -/* 8010DD10 D0 1E 04 FC */ stfs f0, 0x4fc(r30) -/* 8010DD14 7F C3 F3 78 */ mr r3, r30 -/* 8010DD18 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010005@ha */ -/* 8010DD1C 38 84 00 05 */ addi r4, r4, 0x0005 /* 0x00010005@l */ -/* 8010DD20 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8010DD24 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8010DD28 7D 89 03 A6 */ mtctr r12 -/* 8010DD2C 4E 80 04 21 */ bctrl -/* 8010DD30 7F C3 F3 78 */ mr r3, r30 -/* 8010DD34 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020076@ha */ -/* 8010DD38 38 84 00 76 */ addi r4, r4, 0x0076 /* 0x00020076@l */ -/* 8010DD3C 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8010DD40 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 8010DD44 7D 89 03 A6 */ mtctr r12 -/* 8010DD48 4E 80 04 21 */ bctrl -/* 8010DD4C 38 00 00 0F */ li r0, 0xf -/* 8010DD50 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 8010DD54 7F C3 F3 78 */ mr r3, r30 -/* 8010DD58 38 80 00 01 */ li r4, 1 -/* 8010DD5C 38 A0 00 01 */ li r5, 1 -/* 8010DD60 4B FB 35 7D */ bl deleteEquipItem__9daAlink_cFii -/* 8010DD64 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 8010DD68 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 8010DD6C 3C 60 80 42 */ lis r3, l_waitBaseAnime@ha /* 0x80425514@ha */ -/* 8010DD70 C4 03 55 14 */ lfsu f0, l_waitBaseAnime@l(r3) /* 0x80425514@l */ -/* 8010DD74 D0 1E 35 88 */ stfs f0, 0x3588(r30) -/* 8010DD78 C0 03 00 04 */ lfs f0, 4(r3) -/* 8010DD7C D0 1E 35 8C */ stfs f0, 0x358c(r30) -/* 8010DD80 C0 03 00 08 */ lfs f0, 8(r3) -/* 8010DD84 D0 1E 35 90 */ stfs f0, 0x3590(r30) -/* 8010DD88 C0 1E 35 8C */ lfs f0, 0x358c(r30) -/* 8010DD8C D0 1E 33 B0 */ stfs f0, 0x33b0(r30) -/* 8010DD90 C0 03 00 00 */ lfs f0, 0(r3) -/* 8010DD94 D0 1E 34 D4 */ stfs f0, 0x34d4(r30) -/* 8010DD98 C0 03 00 04 */ lfs f0, 4(r3) -/* 8010DD9C D0 1E 34 D8 */ stfs f0, 0x34d8(r30) -/* 8010DDA0 C0 03 00 08 */ lfs f0, 8(r3) -/* 8010DDA4 D0 1E 34 DC */ stfs f0, 0x34dc(r30) -/* 8010DDA8 38 00 00 08 */ li r0, 8 -/* 8010DDAC B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8010DDB0 38 60 00 01 */ li r3, 1 -lbl_8010DDB4: -/* 8010DDB4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8010DDB8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8010DDBC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8010DDC0 7C 08 03 A6 */ mtlr r0 -/* 8010DDC4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8010DDC8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procStEscapeInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procStEscapeInit__9daAlink_cFv.s deleted file mode 100644 index 3c755c6adb..0000000000 --- a/asm/d/a/d_a_alink/procStEscapeInit__9daAlink_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_800DB5B0: -/* 800DB5B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DB5B4 7C 08 02 A6 */ mflr r0 -/* 800DB5B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DB5BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DB5C0 7C 7F 1B 78 */ mr r31, r3 -/* 800DB5C4 38 80 00 77 */ li r4, 0x77 -/* 800DB5C8 4B FE 69 A5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800DB5CC 7F E3 FB 78 */ mr r3, r31 -/* 800DB5D0 38 80 00 BA */ li r4, 0xba -/* 800DB5D4 3C A0 80 39 */ lis r5, m__23daAlinkHIO_damCaught_c0@ha /* 0x8038E49C@ha */ -/* 800DB5D8 38 A5 E4 9C */ addi r5, r5, m__23daAlinkHIO_damCaught_c0@l /* 0x8038E49C@l */ -/* 800DB5DC 4B FD 1B 19 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800DB5E0 C0 02 93 74 */ lfs f0, lit_8502(r2) -/* 800DB5E4 D0 1F 1F E0 */ stfs f0, 0x1fe0(r31) -/* 800DB5E8 80 7F 1F 2C */ lwz r3, 0x1f2c(r31) -/* 800DB5EC D0 03 00 08 */ stfs f0, 8(r3) -/* 800DB5F0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800DB5F4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800DB5F8 38 60 00 01 */ li r3, 1 -/* 800DB5FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DB600 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DB604 7C 08 03 A6 */ mtlr r0 -/* 800DB608 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DB60C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procStEscape__9daAlink_cFv.s b/asm/d/a/d_a_alink/procStEscape__9daAlink_cFv.s deleted file mode 100644 index af62697c59..0000000000 --- a/asm/d/a/d_a_alink/procStEscape__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800DB610: -/* 800DB610 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DB614 7C 08 02 A6 */ mflr r0 -/* 800DB618 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DB61C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DB620 93 C1 00 08 */ stw r30, 8(r1) -/* 800DB624 7C 7E 1B 78 */ mr r30, r3 -/* 800DB628 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800DB62C 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800DB630 64 00 08 00 */ oris r0, r0, 0x800 -/* 800DB634 90 03 05 88 */ stw r0, 0x588(r3) -/* 800DB638 7F E3 FB 78 */ mr r3, r31 -/* 800DB63C 48 08 2E 91 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800DB640 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800DB644 41 82 00 14 */ beq lbl_800DB658 -/* 800DB648 7F C3 F3 78 */ mr r3, r30 -/* 800DB64C 38 80 00 00 */ li r4, 0 -/* 800DB650 4B FD EA 81 */ bl checkNextAction__9daAlink_cFi -/* 800DB654 48 00 00 34 */ b lbl_800DB688 -lbl_800DB658: -/* 800DB658 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800DB65C 3C 60 80 39 */ lis r3, m__23daAlinkHIO_damCaught_c0@ha /* 0x8038E49C@ha */ -/* 800DB660 38 63 E4 9C */ addi r3, r3, m__23daAlinkHIO_damCaught_c0@l /* 0x8038E49C@l */ -/* 800DB664 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 800DB668 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800DB66C 40 81 00 1C */ ble lbl_800DB688 -/* 800DB670 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800DB674 60 00 00 04 */ ori r0, r0, 4 -/* 800DB678 90 1E 31 A0 */ stw r0, 0x31a0(r30) -/* 800DB67C 7F C3 F3 78 */ mr r3, r30 -/* 800DB680 38 80 00 01 */ li r4, 1 -/* 800DB684 4B FD EA 4D */ bl checkNextAction__9daAlink_cFi -lbl_800DB688: -/* 800DB688 38 60 00 01 */ li r3, 1 -/* 800DB68C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DB690 83 C1 00 08 */ lwz r30, 8(r1) -/* 800DB694 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DB698 7C 08 03 A6 */ mtlr r0 -/* 800DB69C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DB6A0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procStepMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procStepMoveInit__9daAlink_cFv.s deleted file mode 100644 index df4d98791c..0000000000 --- a/asm/d/a/d_a_alink/procStepMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_800C74D4: -/* 800C74D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C74D8 7C 08 02 A6 */ mflr r0 -/* 800C74DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C74E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C74E4 7C 7F 1B 78 */ mr r31, r3 -/* 800C74E8 38 80 00 1B */ li r4, 0x1b -/* 800C74EC 4B FF AA 81 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C74F0 7F E3 FB 78 */ mr r3, r31 -/* 800C74F4 38 80 01 27 */ li r4, 0x127 -/* 800C74F8 3C A0 80 39 */ lis r5, m__23daAlinkHIO_smallJump_c0@ha /* 0x8038E11C@ha */ -/* 800C74FC 38 A5 E1 1C */ addi r5, r5, m__23daAlinkHIO_smallJump_c0@l /* 0x8038E11C@l */ -/* 800C7500 38 A5 00 14 */ addi r5, r5, 0x14 -/* 800C7504 4B FE 5B F1 */ bl setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c -/* 800C7508 C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800C750C C0 1F 33 98 */ lfs f0, 0x3398(r31) -/* 800C7510 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800C7514 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 800C7518 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C751C D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800C7520 38 00 00 00 */ li r0, 0 -/* 800C7524 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800C7528 3C 60 80 42 */ lis r3, l_waitBaseAnime@ha /* 0x80425514@ha */ -/* 800C752C C4 03 55 14 */ lfsu f0, l_waitBaseAnime@l(r3) /* 0x80425514@l */ -/* 800C7530 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 800C7534 C0 03 00 04 */ lfs f0, 4(r3) -/* 800C7538 D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 800C753C C0 03 00 08 */ lfs f0, 8(r3) -/* 800C7540 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 800C7544 38 60 00 01 */ li r3, 1 -/* 800C7548 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C754C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C7550 7C 08 03 A6 */ mtlr r0 -/* 800C7554 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C7558 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSumouReadyInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSumouReadyInit__9daAlink_cFv.s deleted file mode 100644 index 857f7eb909..0000000000 --- a/asm/d/a/d_a_alink/procSumouReadyInit__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_800EA950: -/* 800EA950 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EA954 7C 08 02 A6 */ mflr r0 -/* 800EA958 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EA95C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EA960 7C 7F 1B 78 */ mr r31, r3 -/* 800EA964 38 80 00 CE */ li r4, 0xce -/* 800EA968 4B FD 84 3D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800EA96C 2C 03 00 00 */ cmpwi r3, 0 -/* 800EA970 40 82 00 0C */ bne lbl_800EA97C -/* 800EA974 38 60 00 00 */ li r3, 0 -/* 800EA978 48 00 00 9C */ b lbl_800EAA14 -lbl_800EA97C: -/* 800EA97C 7F E3 FB 78 */ mr r3, r31 -/* 800EA980 38 80 01 3F */ li r4, 0x13f -/* 800EA984 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800EA988 4B FC 26 29 */ bl setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf -/* 800EA98C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800EA990 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800EA994 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800EA998 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800EA99C 3C 60 80 42 */ lis r3, l_waitBaseAnime@ha /* 0x80425514@ha */ -/* 800EA9A0 C4 03 55 14 */ lfsu f0, l_waitBaseAnime@l(r3) /* 0x80425514@l */ -/* 800EA9A4 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 800EA9A8 C0 03 00 04 */ lfs f0, 4(r3) -/* 800EA9AC D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 800EA9B0 C0 03 00 08 */ lfs f0, 8(r3) -/* 800EA9B4 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 800EA9B8 C0 1F 35 88 */ lfs f0, 0x3588(r31) -/* 800EA9BC D0 1F 34 D4 */ stfs f0, 0x34d4(r31) -/* 800EA9C0 C0 1F 35 8C */ lfs f0, 0x358c(r31) -/* 800EA9C4 D0 1F 34 D8 */ stfs f0, 0x34d8(r31) -/* 800EA9C8 C0 1F 35 90 */ lfs f0, 0x3590(r31) -/* 800EA9CC D0 1F 34 DC */ stfs f0, 0x34dc(r31) -/* 800EA9D0 38 00 00 04 */ li r0, 4 -/* 800EA9D4 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800EA9D8 38 00 00 01 */ li r0, 1 -/* 800EA9DC 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 800EA9E0 38 00 00 00 */ li r0, 0 -/* 800EA9E4 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800EA9E8 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800EA9EC 7F E3 FB 78 */ mr r3, r31 -/* 800EA9F0 38 80 00 00 */ li r4, 0 -/* 800EA9F4 38 A0 00 01 */ li r5, 1 -/* 800EA9F8 4B FD 68 E5 */ bl deleteEquipItem__9daAlink_cFii -/* 800EA9FC 80 7F 28 38 */ lwz r3, 0x2838(r31) -/* 800EAA00 28 03 00 00 */ cmplwi r3, 0 -/* 800EAA04 41 82 00 0C */ beq lbl_800EAA10 -/* 800EAA08 38 00 00 01 */ li r0, 1 -/* 800EAA0C 98 03 09 56 */ stb r0, 0x956(r3) -lbl_800EAA10: -/* 800EAA10 38 60 00 01 */ li r3, 1 -lbl_800EAA14: -/* 800EAA14 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EAA18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EAA1C 7C 08 03 A6 */ mtlr r0 -/* 800EAA20 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EAA24 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSumouShikoInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSumouShikoInit__9daAlink_cFv.s deleted file mode 100644 index ecfbd2c38b..0000000000 --- a/asm/d/a/d_a_alink/procSumouShikoInit__9daAlink_cFv.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_800EC538: -/* 800EC538 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EC53C 7C 08 02 A6 */ mflr r0 -/* 800EC540 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EC544 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EC548 7C 7F 1B 78 */ mr r31, r3 -/* 800EC54C 38 80 00 D4 */ li r4, 0xd4 -/* 800EC550 4B FD 68 55 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800EC554 2C 03 00 00 */ cmpwi r3, 0 -/* 800EC558 40 82 00 0C */ bne lbl_800EC564 -/* 800EC55C 38 60 00 00 */ li r3, 0 -/* 800EC560 48 00 00 80 */ b lbl_800EC5E0 -lbl_800EC564: -/* 800EC564 7F E3 FB 78 */ mr r3, r31 -/* 800EC568 38 80 01 5D */ li r4, 0x15d -/* 800EC56C 4B FC 0A 15 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800EC570 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800EC574 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800EC578 3C 60 80 42 */ lis r3, l_waitBaseAnime@ha /* 0x80425514@ha */ -/* 800EC57C C4 03 55 14 */ lfsu f0, l_waitBaseAnime@l(r3) /* 0x80425514@l */ -/* 800EC580 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 800EC584 C0 03 00 04 */ lfs f0, 4(r3) -/* 800EC588 D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 800EC58C C0 03 00 08 */ lfs f0, 8(r3) -/* 800EC590 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 800EC594 C0 1F 35 88 */ lfs f0, 0x3588(r31) -/* 800EC598 D0 1F 34 D4 */ stfs f0, 0x34d4(r31) -/* 800EC59C C0 1F 35 8C */ lfs f0, 0x358c(r31) -/* 800EC5A0 D0 1F 34 D8 */ stfs f0, 0x34d8(r31) -/* 800EC5A4 C0 1F 35 90 */ lfs f0, 0x3590(r31) -/* 800EC5A8 D0 1F 34 DC */ stfs f0, 0x34dc(r31) -/* 800EC5AC 38 00 00 0C */ li r0, 0xc -/* 800EC5B0 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800EC5B4 38 00 00 00 */ li r0, 0 -/* 800EC5B8 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800EC5BC 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 800EC5C0 7F E3 FB 78 */ mr r3, r31 -/* 800EC5C4 38 80 00 05 */ li r4, 5 -/* 800EC5C8 48 03 4B F9 */ bl setFootEffectProcType__9daAlink_cFi -/* 800EC5CC 7F E3 FB 78 */ mr r3, r31 -/* 800EC5D0 38 80 00 00 */ li r4, 0 -/* 800EC5D4 38 A0 00 01 */ li r5, 1 -/* 800EC5D8 4B FD 4D 05 */ bl deleteEquipItem__9daAlink_cFii -/* 800EC5DC 38 60 00 01 */ li r3, 1 -lbl_800EC5E0: -/* 800EC5E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EC5E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EC5E8 7C 08 03 A6 */ mtlr r0 -/* 800EC5EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EC5F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSumouSideMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSumouSideMoveInit__9daAlink_cFv.s deleted file mode 100644 index 61ceaf943a..0000000000 --- a/asm/d/a/d_a_alink/procSumouSideMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_800EB208: -/* 800EB208 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EB20C 7C 08 02 A6 */ mflr r0 -/* 800EB210 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EB214 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EB218 7C 7F 1B 78 */ mr r31, r3 -/* 800EB21C 38 80 00 D0 */ li r4, 0xd0 -/* 800EB220 4B FD 6D 4D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800EB224 38 00 00 16 */ li r0, 0x16 -/* 800EB228 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 800EB22C 38 00 00 03 */ li r0, 3 -/* 800EB230 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 800EB234 A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 800EB238 38 03 C0 00 */ addi r0, r3, -16384 -/* 800EB23C B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800EB240 3C 60 80 39 */ lis r3, m__21daAlinkHIO_atnMove_c0@ha /* 0x8038D714@ha */ -/* 800EB244 38 63 D7 14 */ addi r3, r3, m__21daAlinkHIO_atnMove_c0@l /* 0x8038D714@l */ -/* 800EB248 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800EB24C D0 1F 05 94 */ stfs f0, 0x594(r31) -/* 800EB250 7F E3 FB 78 */ mr r3, r31 -/* 800EB254 38 80 01 41 */ li r4, 0x141 -/* 800EB258 4B FC 1D 29 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800EB25C 38 00 01 41 */ li r0, 0x141 -/* 800EB260 90 1F 31 98 */ stw r0, 0x3198(r31) -/* 800EB264 7F E3 FB 78 */ mr r3, r31 -/* 800EB268 4B FF F6 C5 */ bl setSumouPunchStatus__9daAlink_cFv -/* 800EB26C 7F E3 FB 78 */ mr r3, r31 -/* 800EB270 38 80 00 15 */ li r4, 0x15 -/* 800EB274 4B FC 7F F5 */ bl setDoStatusEmphasys__9daAlink_cFUc -/* 800EB278 38 00 00 05 */ li r0, 5 -/* 800EB27C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800EB280 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800EB284 98 03 5E 81 */ stb r0, 0x5e81(r3) -/* 800EB288 38 00 00 0C */ li r0, 0xc -/* 800EB28C 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800EB290 7F E3 FB 78 */ mr r3, r31 -/* 800EB294 38 80 00 05 */ li r4, 5 -/* 800EB298 48 03 5F 29 */ bl setFootEffectProcType__9daAlink_cFi -/* 800EB29C 38 00 00 0F */ li r0, 0xf -/* 800EB2A0 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800EB2A4 38 60 00 01 */ li r3, 1 -/* 800EB2A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EB2AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EB2B0 7C 08 03 A6 */ mtlr r0 -/* 800EB2B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EB2B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSumouStaggerInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSumouStaggerInit__9daAlink_cFv.s deleted file mode 100644 index 3ddd625459..0000000000 --- a/asm/d/a/d_a_alink/procSumouStaggerInit__9daAlink_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_800EC0F8: -/* 800EC0F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EC0FC 7C 08 02 A6 */ mflr r0 -/* 800EC100 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EC104 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EC108 7C 7F 1B 78 */ mr r31, r3 -/* 800EC10C 38 80 00 D2 */ li r4, 0xd2 -/* 800EC110 4B FD 5E 5D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800EC114 88 1F 05 6A */ lbz r0, 0x56a(r31) -/* 800EC118 28 00 00 11 */ cmplwi r0, 0x11 -/* 800EC11C 40 82 00 10 */ bne lbl_800EC12C -/* 800EC120 38 00 00 20 */ li r0, 0x20 -/* 800EC124 98 1F 05 6A */ stb r0, 0x56a(r31) -/* 800EC128 48 00 00 0C */ b lbl_800EC134 -lbl_800EC12C: -/* 800EC12C 38 00 00 1F */ li r0, 0x1f -/* 800EC130 98 1F 05 6A */ stb r0, 0x56a(r31) -lbl_800EC134: -/* 800EC134 7F E3 FB 78 */ mr r3, r31 -/* 800EC138 38 80 01 53 */ li r4, 0x153 -/* 800EC13C 4B FC 0E 45 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800EC140 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800EC144 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800EC148 38 00 00 0C */ li r0, 0xc -/* 800EC14C 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 800EC150 38 00 00 1E */ li r0, 0x1e -/* 800EC154 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800EC158 38 60 00 01 */ li r3, 1 -/* 800EC15C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EC160 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EC164 7C 08 03 A6 */ mtlr r0 -/* 800EC168 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EC16C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSumouStagger__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSumouStagger__9daAlink_cFv.s deleted file mode 100644 index b556f1cea9..0000000000 --- a/asm/d/a/d_a_alink/procSumouStagger__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800EC170: -/* 800EC170 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EC174 7C 08 02 A6 */ mflr r0 -/* 800EC178 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EC17C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EC180 7C 7F 1B 78 */ mr r31, r3 -/* 800EC184 38 00 00 04 */ li r0, 4 -/* 800EC188 98 03 2F 99 */ stb r0, 0x2f99(r3) -/* 800EC18C 4B FF E6 B9 */ bl checkSumouVsActor__9daAlink_cFv -/* 800EC190 2C 03 00 00 */ cmpwi r3, 0 -/* 800EC194 40 82 00 0C */ bne lbl_800EC1A0 -/* 800EC198 38 60 00 01 */ li r3, 1 -/* 800EC19C 48 00 00 5C */ b lbl_800EC1F8 -lbl_800EC1A0: -/* 800EC1A0 A8 7F 30 08 */ lha r3, 0x3008(r31) -/* 800EC1A4 38 03 FF FF */ addi r0, r3, -1 -/* 800EC1A8 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 800EC1AC 88 1F 05 6A */ lbz r0, 0x56a(r31) -/* 800EC1B0 28 00 00 1C */ cmplwi r0, 0x1c -/* 800EC1B4 41 82 00 14 */ beq lbl_800EC1C8 -/* 800EC1B8 28 00 00 21 */ cmplwi r0, 0x21 -/* 800EC1BC 41 82 00 0C */ beq lbl_800EC1C8 -/* 800EC1C0 28 00 00 1B */ cmplwi r0, 0x1b -/* 800EC1C4 40 82 00 1C */ bne lbl_800EC1E0 -lbl_800EC1C8: -/* 800EC1C8 7F E3 FB 78 */ mr r3, r31 -/* 800EC1CC 38 80 00 00 */ li r4, 0 -/* 800EC1D0 38 A0 00 00 */ li r5, 0 -/* 800EC1D4 38 C0 00 00 */ li r6, 0 -/* 800EC1D8 4B FF F4 4D */ bl procSumouActionInit__9daAlink_cFiii -/* 800EC1DC 48 00 00 18 */ b lbl_800EC1F4 -lbl_800EC1E0: -/* 800EC1E0 A8 1F 30 08 */ lha r0, 0x3008(r31) -/* 800EC1E4 2C 00 00 00 */ cmpwi r0, 0 -/* 800EC1E8 40 82 00 0C */ bne lbl_800EC1F4 -/* 800EC1EC 7F E3 FB 78 */ mr r3, r31 -/* 800EC1F0 4B FF F0 19 */ bl procSumouSideMoveInit__9daAlink_cFv -lbl_800EC1F4: -/* 800EC1F4 38 60 00 01 */ li r3, 1 -lbl_800EC1F8: -/* 800EC1F8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EC1FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EC200 7C 08 03 A6 */ mtlr r0 -/* 800EC204 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EC208 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSwordUnequipSpInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSwordUnequipSpInit__9daAlink_cFv.s deleted file mode 100644 index e5011f0577..0000000000 --- a/asm/d/a/d_a_alink/procSwordUnequipSpInit__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_800D698C: -/* 800D698C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6990 7C 08 02 A6 */ mflr r0 -/* 800D6994 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6998 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D699C 7C 7F 1B 78 */ mr r31, r3 -/* 800D69A0 38 80 00 54 */ li r4, 0x54 -/* 800D69A4 4B FE C4 01 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800D69A8 2C 03 00 00 */ cmpwi r3, 0 -/* 800D69AC 40 82 00 0C */ bne lbl_800D69B8 -/* 800D69B0 38 60 00 00 */ li r3, 0 -/* 800D69B4 48 00 00 70 */ b lbl_800D6A24 -lbl_800D69B8: -/* 800D69B8 7F E3 FB 78 */ mr r3, r31 -/* 800D69BC 38 80 00 8E */ li r4, 0x8e -/* 800D69C0 3C A0 80 39 */ lis r5, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D69C4 38 A5 DE 8C */ addi r5, r5, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D69C8 C0 25 00 6C */ lfs f1, 0x6c(r5) -/* 800D69CC C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800D69D0 4B FD 66 11 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800D69D4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D69D8 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 800D69DC 3C 60 80 42 */ lis r3, l_halfAtnWaitBaseAnime@ha /* 0x80425544@ha */ -/* 800D69E0 C4 03 55 44 */ lfsu f0, l_halfAtnWaitBaseAnime@l(r3) /* 0x80425544@l */ -/* 800D69E4 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 800D69E8 C0 03 00 04 */ lfs f0, 4(r3) -/* 800D69EC D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 800D69F0 C0 03 00 08 */ lfs f0, 8(r3) -/* 800D69F4 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 800D69F8 38 80 00 00 */ li r4, 0 -/* 800D69FC 90 9F 31 98 */ stw r4, 0x3198(r31) -/* 800D6A00 B0 9F 30 0C */ sth r4, 0x300c(r31) -/* 800D6A04 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 800D6A08 20 60 00 1E */ subfic r3, r0, 0x1e -/* 800D6A0C 30 03 FF FF */ addic r0, r3, -1 -/* 800D6A10 7C 00 19 10 */ subfe r0, r0, r3 -/* 800D6A14 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 800D6A18 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 800D6A1C B0 9F 30 10 */ sth r4, 0x3010(r31) -/* 800D6A20 38 60 00 01 */ li r3, 1 -lbl_800D6A24: -/* 800D6A24 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6A28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6A2C 7C 08 03 A6 */ mtlr r0 -/* 800D6A30 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6A34 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procSwordUnequipSp__9daAlink_cFv.s b/asm/d/a/d_a_alink/procSwordUnequipSp__9daAlink_cFv.s deleted file mode 100644 index d499d328ef..0000000000 --- a/asm/d/a/d_a_alink/procSwordUnequipSp__9daAlink_cFv.s +++ /dev/null @@ -1,238 +0,0 @@ -lbl_800D6A38: -/* 800D6A38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D6A3C 7C 08 02 A6 */ mflr r0 -/* 800D6A40 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D6A44 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D6A48 93 C1 00 08 */ stw r30, 8(r1) -/* 800D6A4C 7C 7E 1B 78 */ mr r30, r3 -/* 800D6A50 4B FE 35 01 */ bl checkGroundSpecialMode__9daAlink_cFv -/* 800D6A54 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6A58 41 82 00 0C */ beq lbl_800D6A64 -/* 800D6A5C 38 60 00 01 */ li r3, 1 -/* 800D6A60 48 00 03 1C */ b lbl_800D6D7C -lbl_800D6A64: -/* 800D6A64 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 800D6A68 A8 1E 30 0E */ lha r0, 0x300e(r30) -/* 800D6A6C 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6A70 41 82 00 10 */ beq lbl_800D6A80 -/* 800D6A74 38 00 00 04 */ li r0, 4 -/* 800D6A78 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 800D6A7C 48 00 00 0C */ b lbl_800D6A88 -lbl_800D6A80: -/* 800D6A80 38 00 00 01 */ li r0, 1 -/* 800D6A84 B0 1E 30 0E */ sth r0, 0x300e(r30) -lbl_800D6A88: -/* 800D6A88 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800D6A8C 64 00 08 00 */ oris r0, r0, 0x800 -/* 800D6A90 90 1E 05 88 */ stw r0, 0x588(r30) -/* 800D6A94 A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 800D6A98 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6A9C 41 82 00 10 */ beq lbl_800D6AAC -/* 800D6AA0 80 1E 05 8C */ lwz r0, 0x58c(r30) -/* 800D6AA4 64 00 80 00 */ oris r0, r0, 0x8000 -/* 800D6AA8 90 1E 05 8C */ stw r0, 0x58c(r30) -lbl_800D6AAC: -/* 800D6AAC A8 1E 30 10 */ lha r0, 0x3010(r30) -/* 800D6AB0 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6AB4 40 82 00 54 */ bne lbl_800D6B08 -/* 800D6AB8 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 800D6ABC 28 00 00 1E */ cmplwi r0, 0x1e -/* 800D6AC0 40 82 00 48 */ bne lbl_800D6B08 -/* 800D6AC4 80 1E 06 10 */ lwz r0, 0x610(r30) -/* 800D6AC8 2C 00 00 01 */ cmpwi r0, 1 -/* 800D6ACC 40 82 00 3C */ bne lbl_800D6B08 -/* 800D6AD0 38 00 00 01 */ li r0, 1 -/* 800D6AD4 B0 1E 30 10 */ sth r0, 0x3010(r30) -/* 800D6AD8 7F C3 F3 78 */ mr r3, r30 -/* 800D6ADC 38 80 01 49 */ li r4, 0x149 -/* 800D6AE0 38 A0 00 00 */ li r5, 0 -/* 800D6AE4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800D6AE8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800D6AEC 4B FD 89 C5 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800D6AF0 7F C3 F3 78 */ mr r3, r30 -/* 800D6AF4 38 80 03 E1 */ li r4, 0x3e1 -/* 800D6AF8 38 A0 00 00 */ li r5, 0 -/* 800D6AFC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800D6B00 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800D6B04 4B FD 8B 19 */ bl setFaceBtp__9daAlink_cFUsiUs -lbl_800D6B08: -/* 800D6B08 7F E3 FB 78 */ mr r3, r31 -/* 800D6B0C 48 08 79 C1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800D6B10 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800D6B14 41 82 00 6C */ beq lbl_800D6B80 -/* 800D6B18 80 1E 31 98 */ lwz r0, 0x3198(r30) -/* 800D6B1C 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6B20 41 82 00 38 */ beq lbl_800D6B58 -/* 800D6B24 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 800D6B28 28 00 00 1E */ cmplwi r0, 0x1e -/* 800D6B2C 40 82 00 1C */ bne lbl_800D6B48 -/* 800D6B30 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D6B34 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D6B38 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D6B3C 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 800D6B40 4B F7 16 3D */ bl cutEnd__16dEvent_manager_cFi -/* 800D6B44 48 00 02 34 */ b lbl_800D6D78 -lbl_800D6B48: -/* 800D6B48 7F C3 F3 78 */ mr r3, r30 -/* 800D6B4C 38 80 00 00 */ li r4, 0 -/* 800D6B50 4B FE 35 81 */ bl checkNextAction__9daAlink_cFi -/* 800D6B54 48 00 02 24 */ b lbl_800D6D78 -lbl_800D6B58: -/* 800D6B58 38 00 00 01 */ li r0, 1 -/* 800D6B5C 90 1E 31 98 */ stw r0, 0x3198(r30) -/* 800D6B60 7F C3 F3 78 */ mr r3, r30 -/* 800D6B64 38 80 00 8F */ li r4, 0x8f -/* 800D6B68 3C A0 80 39 */ lis r5, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D6B6C 38 A5 DE 8C */ addi r5, r5, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D6B70 C0 25 00 70 */ lfs f1, 0x70(r5) -/* 800D6B74 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800D6B78 4B FD 64 69 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 800D6B7C 48 00 01 FC */ b lbl_800D6D78 -lbl_800D6B80: -/* 800D6B80 80 1E 31 98 */ lwz r0, 0x3198(r30) -/* 800D6B84 2C 00 00 00 */ cmpwi r0, 0 -/* 800D6B88 41 82 01 38 */ beq lbl_800D6CC0 -/* 800D6B8C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D6B90 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D6B94 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D6B98 C0 03 00 98 */ lfs f0, 0x98(r3) -/* 800D6B9C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6BA0 40 81 00 18 */ ble lbl_800D6BB8 -/* 800D6BA4 7F C3 F3 78 */ mr r3, r30 -/* 800D6BA8 38 80 00 01 */ li r4, 1 -/* 800D6BAC 4B FE 35 25 */ bl checkNextAction__9daAlink_cFi -/* 800D6BB0 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6BB4 40 82 01 C4 */ bne lbl_800D6D78 -lbl_800D6BB8: -/* 800D6BB8 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D6BBC C0 02 93 7C */ lfs f0, lit_8779(r2) -/* 800D6BC0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6BC4 4C 41 13 82 */ cror 2, 1, 2 -/* 800D6BC8 40 82 00 10 */ bne lbl_800D6BD8 -/* 800D6BCC 38 00 00 01 */ li r0, 1 -/* 800D6BD0 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800D6BD4 48 00 01 A4 */ b lbl_800D6D78 -lbl_800D6BD8: -/* 800D6BD8 C0 02 93 80 */ lfs f0, lit_8780(r2) -/* 800D6BDC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6BE0 4C 41 13 82 */ cror 2, 1, 2 -/* 800D6BE4 40 82 00 10 */ bne lbl_800D6BF4 -/* 800D6BE8 38 00 00 06 */ li r0, 6 -/* 800D6BEC 98 1E 2F 93 */ stb r0, 0x2f93(r30) -/* 800D6BF0 48 00 01 88 */ b lbl_800D6D78 -lbl_800D6BF4: -/* 800D6BF4 C0 02 93 28 */ lfs f0, lit_7451(r2) -/* 800D6BF8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6BFC 4C 41 13 82 */ cror 2, 1, 2 -/* 800D6C00 40 82 00 10 */ bne lbl_800D6C10 -/* 800D6C04 38 00 00 04 */ li r0, 4 -/* 800D6C08 98 1E 2F 92 */ stb r0, 0x2f92(r30) -/* 800D6C0C 48 00 01 6C */ b lbl_800D6D78 -lbl_800D6C10: -/* 800D6C10 C0 02 93 84 */ lfs f0, lit_8781(r2) -/* 800D6C14 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6C18 4C 41 13 82 */ cror 2, 1, 2 -/* 800D6C1C 40 82 00 7C */ bne lbl_800D6C98 -/* 800D6C20 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 800D6C24 28 00 00 1E */ cmplwi r0, 0x1e -/* 800D6C28 40 82 00 5C */ bne lbl_800D6C84 -/* 800D6C2C 80 1E 06 0C */ lwz r0, 0x60c(r30) -/* 800D6C30 2C 00 00 01 */ cmpwi r0, 1 -/* 800D6C34 40 82 00 28 */ bne lbl_800D6C5C -/* 800D6C38 D0 1F 00 10 */ stfs f0, 0x10(r31) -/* 800D6C3C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800D6C40 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 800D6C44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D6C48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D6C4C 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 800D6C50 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 800D6C54 4B F7 15 29 */ bl cutEnd__16dEvent_manager_cFi -/* 800D6C58 48 00 00 2C */ b lbl_800D6C84 -lbl_800D6C5C: -/* 800D6C5C C0 3F 00 0C */ lfs f1, 0xc(r31) -/* 800D6C60 C0 02 93 88 */ lfs f0, lit_8782(r2) -/* 800D6C64 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6C68 40 80 00 1C */ bge lbl_800D6C84 -/* 800D6C6C 7F C3 F3 78 */ mr r3, r30 -/* 800D6C70 7F E4 FB 78 */ mr r4, r31 -/* 800D6C74 3C A0 80 39 */ lis r5, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800D6C78 38 A5 DE 8C */ addi r5, r5, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800D6C7C C0 25 00 70 */ lfs f1, 0x70(r5) -/* 800D6C80 48 02 B0 75 */ bl setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf -lbl_800D6C84: -/* 800D6C84 7F C3 F3 78 */ mr r3, r30 -/* 800D6C88 38 80 00 00 */ li r4, 0 -/* 800D6C8C 38 A0 00 01 */ li r5, 1 -/* 800D6C90 4B FE A6 4D */ bl deleteEquipItem__9daAlink_cFii -/* 800D6C94 48 00 00 E4 */ b lbl_800D6D78 -lbl_800D6C98: -/* 800D6C98 7F E3 FB 78 */ mr r3, r31 -/* 800D6C9C C0 22 93 8C */ lfs f1, lit_8783(r2) -/* 800D6CA0 48 25 17 8D */ bl checkPass__12J3DFrameCtrlFf -/* 800D6CA4 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6CA8 41 82 00 D0 */ beq lbl_800D6D78 -/* 800D6CAC 7F C3 F3 78 */ mr r3, r30 -/* 800D6CB0 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020008@ha */ -/* 800D6CB4 38 84 00 08 */ addi r4, r4, 0x0008 /* 0x00020008@l */ -/* 800D6CB8 4B FE 84 35 */ bl seStartSwordCut__9daAlink_cFUl -/* 800D6CBC 48 00 00 BC */ b lbl_800D6D78 -lbl_800D6CC0: -/* 800D6CC0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 800D6CC4 C0 02 93 34 */ lfs f0, lit_7710(r2) -/* 800D6CC8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800D6CCC 4C 41 13 82 */ cror 2, 1, 2 -/* 800D6CD0 40 82 00 20 */ bne lbl_800D6CF0 -/* 800D6CD4 38 00 00 FE */ li r0, 0xfe -/* 800D6CD8 98 1E 2F 93 */ stb r0, 0x2f93(r30) -/* 800D6CDC 38 00 00 01 */ li r0, 1 -/* 800D6CE0 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 800D6CE4 80 1E 05 8C */ lwz r0, 0x58c(r30) -/* 800D6CE8 64 00 80 00 */ oris r0, r0, 0x8000 -/* 800D6CEC 90 1E 05 8C */ stw r0, 0x58c(r30) -lbl_800D6CF0: -/* 800D6CF0 7F E3 FB 78 */ mr r3, r31 -/* 800D6CF4 C0 22 93 74 */ lfs f1, lit_8502(r2) -/* 800D6CF8 48 25 17 35 */ bl checkPass__12J3DFrameCtrlFf -/* 800D6CFC 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6D00 40 82 00 18 */ bne lbl_800D6D18 -/* 800D6D04 7F E3 FB 78 */ mr r3, r31 -/* 800D6D08 C0 22 93 84 */ lfs f1, lit_8781(r2) -/* 800D6D0C 48 25 17 21 */ bl checkPass__12J3DFrameCtrlFf -/* 800D6D10 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6D14 41 82 00 18 */ beq lbl_800D6D2C -lbl_800D6D18: -/* 800D6D18 7F C3 F3 78 */ mr r3, r30 -/* 800D6D1C 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020006@ha */ -/* 800D6D20 38 84 00 06 */ addi r4, r4, 0x0006 /* 0x00020006@l */ -/* 800D6D24 4B FE 83 C9 */ bl seStartSwordCut__9daAlink_cFUl -/* 800D6D28 48 00 00 50 */ b lbl_800D6D78 -lbl_800D6D2C: -/* 800D6D2C 7F E3 FB 78 */ mr r3, r31 -/* 800D6D30 C0 22 93 90 */ lfs f1, lit_8784(r2) -/* 800D6D34 48 25 16 F9 */ bl checkPass__12J3DFrameCtrlFf -/* 800D6D38 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6D3C 40 82 00 2C */ bne lbl_800D6D68 -/* 800D6D40 7F E3 FB 78 */ mr r3, r31 -/* 800D6D44 C0 22 93 94 */ lfs f1, lit_8785(r2) -/* 800D6D48 48 25 16 E5 */ bl checkPass__12J3DFrameCtrlFf -/* 800D6D4C 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6D50 40 82 00 18 */ bne lbl_800D6D68 -/* 800D6D54 7F E3 FB 78 */ mr r3, r31 -/* 800D6D58 C0 22 93 98 */ lfs f1, lit_8786(r2) -/* 800D6D5C 48 25 16 D1 */ bl checkPass__12J3DFrameCtrlFf -/* 800D6D60 2C 03 00 00 */ cmpwi r3, 0 -/* 800D6D64 41 82 00 14 */ beq lbl_800D6D78 -lbl_800D6D68: -/* 800D6D68 7F C3 F3 78 */ mr r3, r30 -/* 800D6D6C 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020007@ha */ -/* 800D6D70 38 84 00 07 */ addi r4, r4, 0x0007 /* 0x00020007@l */ -/* 800D6D74 4B FE 83 79 */ bl seStartSwordCut__9daAlink_cFUl -lbl_800D6D78: -/* 800D6D78 38 60 00 01 */ li r3, 1 -lbl_800D6D7C: -/* 800D6D7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D6D80 83 C1 00 08 */ lwz r30, 8(r1) -/* 800D6D84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D6D88 7C 08 03 A6 */ mtlr r0 -/* 800D6D8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D6D90 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procTiredWaitInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procTiredWaitInit__9daAlink_cFv.s deleted file mode 100644 index f4a5732eb9..0000000000 --- a/asm/d/a/d_a_alink/procTiredWaitInit__9daAlink_cFv.s +++ /dev/null @@ -1,78 +0,0 @@ -lbl_800C3224: -/* 800C3224 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800C3228 7C 08 02 A6 */ mflr r0 -/* 800C322C 90 01 00 34 */ stw r0, 0x34(r1) -/* 800C3230 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 800C3234 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 800C3238 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C323C 48 29 EF A1 */ bl _savegpr_29 -/* 800C3240 7C 7D 1B 78 */ mr r29, r3 -/* 800C3244 A0 A3 1F BC */ lhz r5, 0x1fbc(r3) -/* 800C3248 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 800C324C 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 800C3250 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800C3254 7C 05 00 50 */ subf r0, r5, r0 -/* 800C3258 7C 00 00 34 */ cntlzw r0, r0 -/* 800C325C 54 1E DE 3E */ rlwinm r30, r0, 0x1b, 0x18, 0x1f -/* 800C3260 38 80 00 02 */ li r4, 2 -/* 800C3264 4B FF FB 41 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C3268 2C 03 00 00 */ cmpwi r3, 0 -/* 800C326C 40 82 00 0C */ bne lbl_800C3278 -/* 800C3270 38 60 00 00 */ li r3, 0 -/* 800C3274 48 00 00 A4 */ b lbl_800C3318 -lbl_800C3278: -/* 800C3278 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C327C D0 1D 33 98 */ stfs f0, 0x3398(r29) -/* 800C3280 7F A3 EB 78 */ mr r3, r29 -/* 800C3284 38 80 00 B6 */ li r4, 0xb6 -/* 800C3288 4B FE 92 D1 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800C328C 7C 7F 1B 78 */ mr r31, r3 -/* 800C3290 2C 1E 00 00 */ cmpwi r30, 0 -/* 800C3294 41 82 00 74 */ beq lbl_800C3308 -/* 800C3298 2C 1F 00 00 */ cmpwi r31, 0 -/* 800C329C 41 82 00 14 */ beq lbl_800C32B0 -/* 800C32A0 C0 3D 1F 28 */ lfs f1, 0x1f28(r29) -/* 800C32A4 C0 02 94 AC */ lfs f0, lit_16641(r2) -/* 800C32A8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800C32AC 41 80 00 2C */ blt lbl_800C32D8 -lbl_800C32B0: -/* 800C32B0 7F A3 EB 78 */ mr r3, r29 -/* 800C32B4 38 80 00 15 */ li r4, 0x15 -/* 800C32B8 4B FE 92 FD */ bl checkUnderMove1BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800C32BC 2C 03 00 00 */ cmpwi r3, 0 -/* 800C32C0 40 82 00 18 */ bne lbl_800C32D8 -/* 800C32C4 7F A3 EB 78 */ mr r3, r29 -/* 800C32C8 38 80 00 16 */ li r4, 0x16 -/* 800C32CC 4B FE 92 E9 */ bl checkUnderMove1BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800C32D0 2C 03 00 00 */ cmpwi r3, 0 -/* 800C32D4 41 82 00 34 */ beq lbl_800C3308 -lbl_800C32D8: -/* 800C32D8 2C 1F 00 00 */ cmpwi r31, 0 -/* 800C32DC 41 82 00 0C */ beq lbl_800C32E8 -/* 800C32E0 C3 FD 1F E0 */ lfs f31, 0x1fe0(r29) -/* 800C32E4 48 00 00 08 */ b lbl_800C32EC -lbl_800C32E8: -/* 800C32E8 C3 FD 20 40 */ lfs f31, 0x2040(r29) -lbl_800C32EC: -/* 800C32EC 7F A3 EB 78 */ mr r3, r29 -/* 800C32F0 38 80 00 B6 */ li r4, 0xb6 -/* 800C32F4 4B FE 9C 8D */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800C32F8 D3 FD 1F E0 */ stfs f31, 0x1fe0(r29) -/* 800C32FC 80 7D 1F 2C */ lwz r3, 0x1f2c(r29) -/* 800C3300 D3 E3 00 08 */ stfs f31, 8(r3) -/* 800C3304 48 00 00 10 */ b lbl_800C3314 -lbl_800C3308: -/* 800C3308 7F A3 EB 78 */ mr r3, r29 -/* 800C330C 38 80 00 B7 */ li r4, 0xb7 -/* 800C3310 4B FE 9C 71 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -lbl_800C3314: -/* 800C3314 38 60 00 01 */ li r3, 1 -lbl_800C3318: -/* 800C3318 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800C331C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800C3320 39 61 00 20 */ addi r11, r1, 0x20 -/* 800C3324 48 29 EF 05 */ bl _restgpr_29 -/* 800C3328 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800C332C 7C 08 03 A6 */ mtlr r0 -/* 800C3330 38 21 00 30 */ addi r1, r1, 0x30 -/* 800C3334 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWaitInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWaitInit__9daAlink_cFv.s deleted file mode 100644 index aa5f0878d1..0000000000 --- a/asm/d/a/d_a_alink/procWaitInit__9daAlink_cFv.s +++ /dev/null @@ -1,94 +0,0 @@ -lbl_800C33B8: -/* 800C33B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800C33BC 7C 08 02 A6 */ mflr r0 -/* 800C33C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800C33C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800C33C8 93 C1 00 08 */ stw r30, 8(r1) -/* 800C33CC 7C 7E 1B 78 */ mr r30, r3 -/* 800C33D0 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800C33D4 28 00 01 49 */ cmplwi r0, 0x149 -/* 800C33D8 40 82 00 10 */ bne lbl_800C33E8 -/* 800C33DC 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800C33E0 64 00 08 00 */ oris r0, r0, 0x800 -/* 800C33E4 90 1E 05 88 */ stw r0, 0x588(r30) -lbl_800C33E8: -/* 800C33E8 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800C33EC 28 00 00 03 */ cmplwi r0, 3 -/* 800C33F0 40 82 00 0C */ bne lbl_800C33FC -/* 800C33F4 38 60 00 00 */ li r3, 0 -/* 800C33F8 48 00 00 F4 */ b lbl_800C34EC -lbl_800C33FC: -/* 800C33FC 7F C3 F3 78 */ mr r3, r30 -/* 800C3400 48 05 28 21 */ bl checkEventRun__9daAlink_cCFv -/* 800C3404 2C 03 00 00 */ cmpwi r3, 0 -/* 800C3408 40 82 00 38 */ bne lbl_800C3440 -/* 800C340C A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800C3410 28 00 00 01 */ cmplwi r0, 1 -/* 800C3414 40 82 00 2C */ bne lbl_800C3440 -/* 800C3418 38 7E 1F D0 */ addi r3, r30, 0x1fd0 -/* 800C341C 48 09 B0 B1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 800C3420 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800C3424 40 82 00 1C */ bne lbl_800C3440 -/* 800C3428 7F C3 F3 78 */ mr r3, r30 -/* 800C342C 4B FF 5E 29 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800C3430 2C 03 00 00 */ cmpwi r3, 0 -/* 800C3434 41 82 00 0C */ beq lbl_800C3440 -/* 800C3438 38 60 00 00 */ li r3, 0 -/* 800C343C 48 00 00 B0 */ b lbl_800C34EC -lbl_800C3440: -/* 800C3440 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800C3444 28 00 00 1E */ cmplwi r0, 0x1e -/* 800C3448 41 82 00 0C */ beq lbl_800C3454 -/* 800C344C 28 00 00 25 */ cmplwi r0, 0x25 -/* 800C3450 40 82 00 0C */ bne lbl_800C345C -lbl_800C3454: -/* 800C3454 3B E0 00 00 */ li r31, 0 -/* 800C3458 48 00 00 08 */ b lbl_800C3460 -lbl_800C345C: -/* 800C345C 3B E0 00 01 */ li r31, 1 -lbl_800C3460: -/* 800C3460 7F C3 F3 78 */ mr r3, r30 -/* 800C3464 38 80 00 03 */ li r4, 3 -/* 800C3468 4B FF EB 05 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 800C346C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800C3470 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 800C3474 7F C3 F3 78 */ mr r3, r30 -/* 800C3478 3C 80 80 39 */ lis r4, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 800C347C 38 84 D6 64 */ addi r4, r4, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 800C3480 C0 24 00 18 */ lfs f1, 0x18(r4) -/* 800C3484 4B FE A9 91 */ bl setBlendMoveAnime__9daAlink_cFf -/* 800C3488 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 800C348C B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 800C3490 2C 1F 00 00 */ cmpwi r31, 0 -/* 800C3494 41 82 00 0C */ beq lbl_800C34A0 -/* 800C3498 38 00 00 04 */ li r0, 4 -/* 800C349C 98 1E 2F 98 */ stb r0, 0x2f98(r30) -lbl_800C34A0: -/* 800C34A0 7F C3 F3 78 */ mr r3, r30 -/* 800C34A4 4B FF 03 A1 */ bl initServiceWaitTime__9daAlink_cFv -/* 800C34A8 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800C34AC 54 00 01 09 */ rlwinm. r0, r0, 0, 4, 4 -/* 800C34B0 41 82 00 38 */ beq lbl_800C34E8 -/* 800C34B4 7F C3 F3 78 */ mr r3, r30 -/* 800C34B8 38 80 00 19 */ li r4, 0x19 -/* 800C34BC 4B FE 90 9D */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800C34C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800C34C4 40 82 00 18 */ bne lbl_800C34DC -/* 800C34C8 7F C3 F3 78 */ mr r3, r30 -/* 800C34CC 38 80 00 B6 */ li r4, 0xb6 -/* 800C34D0 4B FE 90 89 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 800C34D4 2C 03 00 00 */ cmpwi r3, 0 -/* 800C34D8 41 82 00 10 */ beq lbl_800C34E8 -lbl_800C34DC: -/* 800C34DC 7F C3 F3 78 */ mr r3, r30 -/* 800C34E0 38 80 00 1B */ li r4, 0x1b -/* 800C34E4 4B FE 9A 9D */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -lbl_800C34E8: -/* 800C34E8 38 60 00 01 */ li r3, 1 -lbl_800C34EC: -/* 800C34EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800C34F0 83 C1 00 08 */ lwz r30, 8(r1) -/* 800C34F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800C34F8 7C 08 03 A6 */ mtlr r0 -/* 800C34FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800C3500 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfAtnActorMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfAtnActorMoveInit__9daAlink_cFv.s deleted file mode 100644 index 82cb232142..0000000000 --- a/asm/d/a/d_a_alink/procWolfAtnActorMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8012DBA8: -/* 8012DBA8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012DBAC 7C 08 02 A6 */ mflr r0 -/* 8012DBB0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012DBB4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012DBB8 7C 7F 1B 78 */ mr r31, r3 -/* 8012DBBC 38 80 00 F6 */ li r4, 0xf6 -/* 8012DBC0 4B F9 51 E5 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012DBC4 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DBC8 40 82 00 0C */ bne lbl_8012DBD4 -/* 8012DBCC 38 60 00 00 */ li r3, 0 -/* 8012DBD0 48 00 00 60 */ b lbl_8012DC30 -lbl_8012DBD4: -/* 8012DBD4 7F E3 FB 78 */ mr r3, r31 -/* 8012DBD8 4B F8 5D 2D */ bl checkZeroSpeedF__9daAlink_cCFv -/* 8012DBDC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012DBE0 41 82 00 10 */ beq lbl_8012DBF0 -/* 8012DBE4 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 8012DBE8 60 00 00 01 */ ori r0, r0, 1 -/* 8012DBEC 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_8012DBF0: -/* 8012DBF0 7F E3 FB 78 */ mr r3, r31 -/* 8012DBF4 4B FF B3 69 */ bl setWolfAtnMoveDirection__9daAlink_cFv -/* 8012DBF8 7F E3 FB 78 */ mr r3, r31 -/* 8012DBFC 3C 80 80 39 */ lis r4, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012DC00 38 84 EE 28 */ addi r4, r4, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012DC04 C0 24 00 94 */ lfs f1, 0x94(r4) -/* 8012DC08 4B FF B5 0D */ bl setBlendWolfAtnMoveAnime__9daAlink_cFf -/* 8012DC0C 7F E3 FB 78 */ mr r3, r31 -/* 8012DC10 4B FF AB 89 */ bl checkWolfAtnWait__9daAlink_cFv -/* 8012DC14 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DC18 41 82 00 14 */ beq lbl_8012DC2C -/* 8012DC1C 7F E3 FB 78 */ mr r3, r31 -/* 8012DC20 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010037@ha */ -/* 8012DC24 38 84 00 37 */ addi r4, r4, 0x0037 /* 0x00010037@l */ -/* 8012DC28 4B F9 14 91 */ bl voiceStartLevel__9daAlink_cFUl -lbl_8012DC2C: -/* 8012DC2C 38 60 00 01 */ li r3, 1 -lbl_8012DC30: -/* 8012DC30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012DC34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012DC38 7C 08 03 A6 */ mtlr r0 -/* 8012DC3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012DC40 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfAtnActorMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfAtnActorMove__9daAlink_cFv.s deleted file mode 100644 index 40634772d0..0000000000 --- a/asm/d/a/d_a_alink/procWolfAtnActorMove__9daAlink_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8012DC44: -/* 8012DC44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012DC48 7C 08 02 A6 */ mflr r0 -/* 8012DC4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012DC50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012DC54 7C 7F 1B 78 */ mr r31, r3 -/* 8012DC58 4B FF B3 05 */ bl setWolfAtnMoveDirection__9daAlink_cFv -/* 8012DC5C 7F E3 FB 78 */ mr r3, r31 -/* 8012DC60 38 80 00 00 */ li r4, 0 -/* 8012DC64 4B FF BE E1 */ bl checkNextActionWolf__9daAlink_cFi -/* 8012DC68 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DC6C 40 82 00 84 */ bne lbl_8012DCF0 -/* 8012DC70 7F E3 FB 78 */ mr r3, r31 -/* 8012DC74 4B F8 5C 91 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 8012DC78 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012DC7C 41 82 00 3C */ beq lbl_8012DCB8 -/* 8012DC80 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 8012DC84 60 00 00 01 */ ori r0, r0, 1 -/* 8012DC88 90 1F 31 A0 */ stw r0, 0x31a0(r31) -/* 8012DC8C 7F E3 FB 78 */ mr r3, r31 -/* 8012DC90 4B FF E3 19 */ bl checkWolfWaitSlipPolygon__9daAlink_cFv -/* 8012DC94 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DC98 41 82 00 2C */ beq lbl_8012DCC4 -/* 8012DC9C C0 3F 33 AC */ lfs f1, 0x33ac(r31) -/* 8012DCA0 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 8012DCA4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012DCA8 41 81 00 1C */ bgt lbl_8012DCC4 -/* 8012DCAC 7F E3 FB 78 */ mr r3, r31 -/* 8012DCB0 48 00 25 35 */ bl procWolfWaitSlipInit__9daAlink_cFv -/* 8012DCB4 48 00 00 40 */ b lbl_8012DCF4 -lbl_8012DCB8: -/* 8012DCB8 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 8012DCBC 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 8012DCC0 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_8012DCC4: -/* 8012DCC4 7F E3 FB 78 */ mr r3, r31 -/* 8012DCC8 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 8012DCCC 4B FF B4 49 */ bl setBlendWolfAtnMoveAnime__9daAlink_cFf -/* 8012DCD0 7F E3 FB 78 */ mr r3, r31 -/* 8012DCD4 4B FF AA C5 */ bl checkWolfAtnWait__9daAlink_cFv -/* 8012DCD8 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DCDC 41 82 00 14 */ beq lbl_8012DCF0 -/* 8012DCE0 7F E3 FB 78 */ mr r3, r31 -/* 8012DCE4 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010037@ha */ -/* 8012DCE8 38 84 00 37 */ addi r4, r4, 0x0037 /* 0x00010037@l */ -/* 8012DCEC 4B F9 13 CD */ bl voiceStartLevel__9daAlink_cFUl -lbl_8012DCF0: -/* 8012DCF0 38 60 00 01 */ li r3, 1 -lbl_8012DCF4: -/* 8012DCF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012DCF8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012DCFC 7C 08 03 A6 */ mtlr r0 -/* 8012DD00 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012DD04 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfBackJumpLandInit__9daAlink_cFss.s b/asm/d/a/d_a_alink/procWolfBackJumpLandInit__9daAlink_cFss.s deleted file mode 100644 index 8225ac80dd..0000000000 --- a/asm/d/a/d_a_alink/procWolfBackJumpLandInit__9daAlink_cFss.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8012E5F4: -/* 8012E5F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8012E5F8 7C 08 02 A6 */ mflr r0 -/* 8012E5FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8012E600 39 61 00 20 */ addi r11, r1, 0x20 -/* 8012E604 48 23 3B D9 */ bl _savegpr_29 -/* 8012E608 7C 7D 1B 78 */ mr r29, r3 -/* 8012E60C 7C 9E 23 78 */ mr r30, r4 -/* 8012E610 7C BF 2B 78 */ mr r31, r5 -/* 8012E614 38 80 00 FA */ li r4, 0xfa -/* 8012E618 4B F9 39 55 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012E61C 7F A3 EB 78 */ mr r3, r29 -/* 8012E620 38 80 00 67 */ li r4, 0x67 -/* 8012E624 3C A0 80 39 */ lis r5, m__24daAlinkHIO_wlBackJump_c0@ha /* 0x8038F010@ha */ -/* 8012E628 38 A5 F0 10 */ addi r5, r5, m__24daAlinkHIO_wlBackJump_c0@l /* 0x8038F010@l */ -/* 8012E62C 38 A5 00 14 */ addi r5, r5, 0x14 -/* 8012E630 4B FF B2 19 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012E634 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012E638 D0 1D 33 98 */ stfs f0, 0x3398(r29) -/* 8012E63C 38 00 00 04 */ li r0, 4 -/* 8012E640 98 1D 2F 9D */ stb r0, 0x2f9d(r29) -/* 8012E644 7F A3 EB 78 */ mr r3, r29 -/* 8012E648 38 80 00 02 */ li r4, 2 -/* 8012E64C 4B FF 2B 75 */ bl setFootEffectProcType__9daAlink_cFi -/* 8012E650 38 00 00 0A */ li r0, 0xa -/* 8012E654 98 1D 2F CC */ stb r0, 0x2fcc(r29) -/* 8012E658 B3 DD 30 12 */ sth r30, 0x3012(r29) -/* 8012E65C B3 FD 30 10 */ sth r31, 0x3010(r29) -/* 8012E660 7F A3 EB 78 */ mr r3, r29 -/* 8012E664 4B F8 76 01 */ bl setStepLandVibration__9daAlink_cFv -/* 8012E668 38 60 00 01 */ li r3, 1 -/* 8012E66C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8012E670 48 23 3B B9 */ bl _restgpr_29 -/* 8012E674 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8012E678 7C 08 03 A6 */ mtlr r0 -/* 8012E67C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8012E680 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfBackJumpLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfBackJumpLand__9daAlink_cFv.s deleted file mode 100644 index 0dedfac658..0000000000 --- a/asm/d/a/d_a_alink/procWolfBackJumpLand__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8012E684: -/* 8012E684 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012E688 7C 08 02 A6 */ mflr r0 -/* 8012E68C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012E690 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012E694 93 C1 00 08 */ stw r30, 8(r1) -/* 8012E698 7C 7E 1B 78 */ mr r30, r3 -/* 8012E69C 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8012E6A0 88 03 2F CC */ lbz r0, 0x2fcc(r3) -/* 8012E6A4 28 00 00 00 */ cmplwi r0, 0 -/* 8012E6A8 41 82 00 0C */ beq lbl_8012E6B4 -/* 8012E6AC 38 00 00 0A */ li r0, 0xa -/* 8012E6B0 98 1E 2F CC */ stb r0, 0x2fcc(r30) -lbl_8012E6B4: -/* 8012E6B4 7F C3 F3 78 */ mr r3, r30 -/* 8012E6B8 4B FF A8 A5 */ bl setWolfAtnMoveDirection__9daAlink_cFv -/* 8012E6BC A8 1E 30 10 */ lha r0, 0x3010(r30) -/* 8012E6C0 2C 00 00 00 */ cmpwi r0, 0 -/* 8012E6C4 41 82 00 0C */ beq lbl_8012E6D0 -/* 8012E6C8 7F C3 F3 78 */ mr r3, r30 -/* 8012E6CC 4B FF DC 3D */ bl checkWolfAtnDoCharge__9daAlink_cFv -lbl_8012E6D0: -/* 8012E6D0 7F E3 FB 78 */ mr r3, r31 -/* 8012E6D4 48 02 FD F9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012E6D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012E6DC 41 82 00 38 */ beq lbl_8012E714 -/* 8012E6E0 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 8012E6E4 28 00 00 10 */ cmplwi r0, 0x10 -/* 8012E6E8 40 82 00 1C */ bne lbl_8012E704 -/* 8012E6EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8012E6F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8012E6F4 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8012E6F8 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 8012E6FC 4B F1 9A 81 */ bl cutEnd__16dEvent_manager_cFi -/* 8012E700 48 00 00 38 */ b lbl_8012E738 -lbl_8012E704: -/* 8012E704 7F C3 F3 78 */ mr r3, r30 -/* 8012E708 38 80 00 00 */ li r4, 0 -/* 8012E70C 4B FF B4 39 */ bl checkNextActionWolf__9daAlink_cFi -/* 8012E710 48 00 00 28 */ b lbl_8012E738 -lbl_8012E714: -/* 8012E714 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8012E718 3C 60 80 39 */ lis r3, m__24daAlinkHIO_wlBackJump_c0@ha /* 0x8038F010@ha */ -/* 8012E71C 38 63 F0 10 */ addi r3, r3, m__24daAlinkHIO_wlBackJump_c0@l /* 0x8038F010@l */ -/* 8012E720 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8012E724 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012E728 40 81 00 10 */ ble lbl_8012E738 -/* 8012E72C 7F C3 F3 78 */ mr r3, r30 -/* 8012E730 38 80 00 01 */ li r4, 1 -/* 8012E734 4B FF B4 11 */ bl checkNextActionWolf__9daAlink_cFi -lbl_8012E738: -/* 8012E738 38 60 00 01 */ li r3, 1 -/* 8012E73C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012E740 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012E744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012E748 7C 08 03 A6 */ mtlr r0 -/* 8012E74C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012E750 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfBackJump__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfBackJump__9daAlink_cFv.s deleted file mode 100644 index 6215b3d750..0000000000 --- a/asm/d/a/d_a_alink/procWolfBackJump__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_8012E508: -/* 8012E508 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012E50C 7C 08 02 A6 */ mflr r0 -/* 8012E510 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012E514 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012E518 7C 7F 1B 78 */ mr r31, r3 -/* 8012E51C 38 7F 04 E6 */ addi r3, r31, 0x4e6 -/* 8012E520 A8 9F 30 0C */ lha r4, 0x300c(r31) -/* 8012E524 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlAtnMove_c0@ha /* 0x8038EF70@ha */ -/* 8012E528 38 E5 EF 70 */ addi r7, r5, m__23daAlinkHIO_wlAtnMove_c0@l /* 0x8038EF70@l */ -/* 8012E52C A8 A7 00 04 */ lha r5, 4(r7) -/* 8012E530 A8 C7 00 00 */ lha r6, 0(r7) -/* 8012E534 A8 E7 00 02 */ lha r7, 2(r7) -/* 8012E538 48 14 20 09 */ bl cLib_addCalcAngleS__FPsssss -/* 8012E53C A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 8012E540 3C 63 00 01 */ addis r3, r3, 1 -/* 8012E544 38 03 80 00 */ addi r0, r3, -32768 -/* 8012E548 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8012E54C A8 1F 30 10 */ lha r0, 0x3010(r31) -/* 8012E550 2C 00 00 00 */ cmpwi r0, 0 -/* 8012E554 41 82 00 0C */ beq lbl_8012E560 -/* 8012E558 7F E3 FB 78 */ mr r3, r31 -/* 8012E55C 4B FF DD AD */ bl checkWolfAtnDoCharge__9daAlink_cFv -lbl_8012E560: -/* 8012E560 7F E3 FB 78 */ mr r3, r31 -/* 8012E564 4B F9 71 9D */ bl backJumpSpeedDec__9daAlink_cFv -/* 8012E568 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 8012E56C 48 02 FF 61 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012E570 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012E574 41 82 00 24 */ beq lbl_8012E598 -/* 8012E578 80 1F 19 9C */ lwz r0, 0x199c(r31) -/* 8012E57C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 8012E580 41 82 00 18 */ beq lbl_8012E598 -/* 8012E584 7F E3 FB 78 */ mr r3, r31 -/* 8012E588 A8 9F 30 12 */ lha r4, 0x3012(r31) -/* 8012E58C A8 BF 30 10 */ lha r5, 0x3010(r31) -/* 8012E590 48 00 00 65 */ bl procWolfBackJumpLandInit__9daAlink_cFss -/* 8012E594 48 00 00 48 */ b lbl_8012E5DC -lbl_8012E598: -/* 8012E598 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 8012E59C 28 00 00 10 */ cmplwi r0, 0x10 -/* 8012E5A0 41 82 00 3C */ beq lbl_8012E5DC -/* 8012E5A4 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 8012E5A8 C0 3F 34 FC */ lfs f1, 0x34fc(r31) -/* 8012E5AC 3C 60 80 39 */ lis r3, m__24daAlinkHIO_wlBackJump_c0@ha /* 0x8038F010@ha */ -/* 8012E5B0 38 A3 F0 10 */ addi r5, r3, m__24daAlinkHIO_wlBackJump_c0@l /* 0x8038F010@l */ -/* 8012E5B4 C0 05 00 30 */ lfs f0, 0x30(r5) -/* 8012E5B8 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8012E5BC FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8012E5C0 40 80 00 1C */ bge lbl_8012E5DC -/* 8012E5C4 38 00 00 00 */ li r0, 0 -/* 8012E5C8 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 8012E5CC 7F E3 FB 78 */ mr r3, r31 -/* 8012E5D0 38 80 00 02 */ li r4, 2 -/* 8012E5D4 C0 25 00 34 */ lfs f1, 0x34(r5) -/* 8012E5D8 48 00 07 F9 */ bl procWolfFallInit__9daAlink_cFif -lbl_8012E5DC: -/* 8012E5DC 38 60 00 01 */ li r3, 1 -/* 8012E5E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012E5E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012E5E8 7C 08 03 A6 */ mtlr r0 -/* 8012E5EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012E5F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfCargoCarryInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfCargoCarryInit__9daAlink_cFv.s deleted file mode 100644 index 3d07fa6e71..0000000000 --- a/asm/d/a/d_a_alink/procWolfCargoCarryInit__9daAlink_cFv.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_8013DB6C: -/* 8013DB6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013DB70 7C 08 02 A6 */ mflr r0 -/* 8013DB74 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013DB78 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013DB7C 93 C1 00 08 */ stw r30, 8(r1) -/* 8013DB80 7C 7E 1B 78 */ mr r30, r3 -/* 8013DB84 38 80 01 38 */ li r4, 0x138 -/* 8013DB88 4B F8 52 1D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013DB8C 2C 03 00 00 */ cmpwi r3, 0 -/* 8013DB90 40 82 00 0C */ bne lbl_8013DB9C -/* 8013DB94 38 60 00 01 */ li r3, 1 -/* 8013DB98 48 00 00 AC */ b lbl_8013DC44 -lbl_8013DB9C: -/* 8013DB9C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013DBA0 D0 3E 33 98 */ stfs f1, 0x3398(r30) -/* 8013DBA4 D0 3E 04 FC */ stfs f1, 0x4fc(r30) -/* 8013DBA8 7F C3 F3 78 */ mr r3, r30 -/* 8013DBAC C0 5E 05 34 */ lfs f2, 0x534(r30) -/* 8013DBB0 38 80 00 00 */ li r4, 0 -/* 8013DBB4 4B F7 DB BD */ bl setSpecialGravity__9daAlink_cFffi -/* 8013DBB8 88 1E 05 6A */ lbz r0, 0x56a(r30) -/* 8013DBBC 28 00 00 2C */ cmplwi r0, 0x2c -/* 8013DBC0 40 82 00 14 */ bne lbl_8013DBD4 -/* 8013DBC4 38 00 00 01 */ li r0, 1 -/* 8013DBC8 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8013DBCC 3B E0 00 85 */ li r31, 0x85 -/* 8013DBD0 48 00 00 30 */ b lbl_8013DC00 -lbl_8013DBD4: -/* 8013DBD4 38 00 00 00 */ li r0, 0 -/* 8013DBD8 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8013DBDC 3C 60 80 14 */ lis r3, daAlink_searchEnemyCargo__FP10fopAc_ac_cPv@ha /* 0x8013DB58@ha */ -/* 8013DBE0 38 63 DB 58 */ addi r3, r3, daAlink_searchEnemyCargo__FP10fopAc_ac_cPv@l /* 0x8013DB58@l */ -/* 8013DBE4 38 80 00 00 */ li r4, 0 -/* 8013DBE8 4B ED BC 11 */ bl fopAcIt_Judge__FPFPvPv_PvPv -/* 8013DBEC 7C 64 1B 79 */ or. r4, r3, r3 -/* 8013DBF0 41 82 00 0C */ beq lbl_8013DBFC -/* 8013DBF4 38 7E 28 0C */ addi r3, r30, 0x280c -/* 8013DBF8 48 02 10 C1 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -lbl_8013DBFC: -/* 8013DBFC 3B E0 00 86 */ li r31, 0x86 -lbl_8013DC00: -/* 8013DC00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8013DC04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8013DC08 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8013DC0C 4B F0 AC 21 */ bl checkStartDemo__16dEvent_manager_cFv -/* 8013DC10 2C 03 00 00 */ cmpwi r3, 0 -/* 8013DC14 40 82 00 20 */ bne lbl_8013DC34 -/* 8013DC18 7F C3 F3 78 */ mr r3, r30 -/* 8013DC1C 3C 80 00 01 */ lis r4, 0x0001 /* 0x000100AE@ha */ -/* 8013DC20 38 84 00 AE */ addi r4, r4, 0x00AE /* 0x000100AE@l */ -/* 8013DC24 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 8013DC28 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8013DC2C 7D 89 03 A6 */ mtctr r12 -/* 8013DC30 4E 80 04 21 */ bctrl -lbl_8013DC34: -/* 8013DC34 7F C3 F3 78 */ mr r3, r30 -/* 8013DC38 7F E4 FB 78 */ mr r4, r31 -/* 8013DC3C 4B FE BA 3D */ bl setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM -/* 8013DC40 38 60 00 01 */ li r3, 1 -lbl_8013DC44: -/* 8013DC44 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013DC48 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013DC4C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013DC50 7C 08 03 A6 */ mtlr r0 -/* 8013DC54 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013DC58 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfChainReadyInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfChainReadyInit__9daAlink_cFv.s deleted file mode 100644 index 584f3b6ce7..0000000000 --- a/asm/d/a/d_a_alink/procWolfChainReadyInit__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8013E240: -/* 8013E240 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013E244 7C 08 02 A6 */ mflr r0 -/* 8013E248 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013E24C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013E250 7C 7F 1B 78 */ mr r31, r3 -/* 8013E254 38 80 01 30 */ li r4, 0x130 -/* 8013E258 4B F8 3D 15 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013E25C 38 7F 28 0C */ addi r3, r31, 0x280c -/* 8013E260 80 9F 27 F4 */ lwz r4, 0x27f4(r31) -/* 8013E264 48 02 0A 55 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -/* 8013E268 7F E3 FB 78 */ mr r3, r31 -/* 8013E26C 38 80 00 50 */ li r4, 0x50 -/* 8013E270 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlAtNjump_c0@ha /* 0x8038F578@ha */ -/* 8013E274 38 A5 F5 78 */ addi r5, r5, m__23daAlinkHIO_wlAtNjump_c0@l /* 0x8038F578@l */ -/* 8013E278 4B FE B5 D1 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013E27C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8013E280 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8013E284 38 00 00 00 */ li r0, 0 -/* 8013E288 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 8013E28C B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 8013E290 38 60 00 01 */ li r3, 1 -/* 8013E294 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013E298 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013E29C 7C 08 03 A6 */ mtlr r0 -/* 8013E2A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013E2A4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfChainUpInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfChainUpInit__9daAlink_cFv.s deleted file mode 100644 index aa614586bf..0000000000 --- a/asm/d/a/d_a_alink/procWolfChainUpInit__9daAlink_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8013DDF8: -/* 8013DDF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013DDFC 7C 08 02 A6 */ mflr r0 -/* 8013DE00 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013DE04 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013DE08 7C 7F 1B 78 */ mr r31, r3 -/* 8013DE0C 4B FA 9B ED */ bl searchFmChainPos__9daAlink_cFv -/* 8013DE10 98 7F 2F A3 */ stb r3, 0x2fa3(r31) -/* 8013DE14 88 1F 2F A3 */ lbz r0, 0x2fa3(r31) -/* 8013DE18 28 00 00 00 */ cmplwi r0, 0 -/* 8013DE1C 40 82 00 10 */ bne lbl_8013DE2C -/* 8013DE20 7F E3 FB 78 */ mr r3, r31 -/* 8013DE24 4B FE F3 85 */ bl procWolfWaitInit__9daAlink_cFv -/* 8013DE28 48 00 00 34 */ b lbl_8013DE5C -lbl_8013DE2C: -/* 8013DE2C 7F E3 FB 78 */ mr r3, r31 -/* 8013DE30 38 80 01 2E */ li r4, 0x12e -/* 8013DE34 4B F8 41 39 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013DE38 7F E3 FB 78 */ mr r3, r31 -/* 8013DE3C 38 80 00 4E */ li r4, 0x4e -/* 8013DE40 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013DE44 38 A5 F9 5C */ addi r5, r5, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013DE48 38 A5 00 28 */ addi r5, r5, 0x28 -/* 8013DE4C 4B FE B9 FD */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013DE50 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8013DE54 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8013DE58 38 60 00 01 */ li r3, 1 -lbl_8013DE5C: -/* 8013DE5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013DE60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013DE64 7C 08 03 A6 */ mtlr r0 -/* 8013DE68 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013DE6C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfChainUp__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfChainUp__9daAlink_cFv.s deleted file mode 100644 index 4319beabff..0000000000 --- a/asm/d/a/d_a_alink/procWolfChainUp__9daAlink_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8013DE70: -/* 8013DE70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8013DE74 7C 08 02 A6 */ mflr r0 -/* 8013DE78 90 01 00 24 */ stw r0, 0x24(r1) -/* 8013DE7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8013DE80 48 22 43 5D */ bl _savegpr_29 -/* 8013DE84 7C 7D 1B 78 */ mr r29, r3 -/* 8013DE88 3B FD 1F D0 */ addi r31, r29, 0x1fd0 -/* 8013DE8C 38 80 00 96 */ li r4, 0x96 -/* 8013DE90 38 A0 00 02 */ li r5, 2 -/* 8013DE94 4B FA A0 3D */ bl setWallGrabStatus__9daAlink_cFUcUc -/* 8013DE98 7F E3 FB 78 */ mr r3, r31 -/* 8013DE9C 48 02 06 31 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013DEA0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013DEA4 40 82 00 2C */ bne lbl_8013DED0 -/* 8013DEA8 C0 3D 33 AC */ lfs f1, 0x33ac(r29) -/* 8013DEAC C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 8013DEB0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013DEB4 40 81 00 60 */ ble lbl_8013DF14 -/* 8013DEB8 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8013DEBC 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013DEC0 38 63 F9 5C */ addi r3, r3, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013DEC4 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 8013DEC8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013DECC 40 81 00 48 */ ble lbl_8013DF14 -lbl_8013DED0: -/* 8013DED0 8B DD 2F A3 */ lbz r30, 0x2fa3(r29) -/* 8013DED4 83 FD 28 48 */ lwz r31, 0x2848(r29) -/* 8013DED8 7F A3 EB 78 */ mr r3, r29 -/* 8013DEDC 4B FE F2 CD */ bl procWolfWaitInit__9daAlink_cFv -/* 8013DEE0 7F A3 EB 78 */ mr r3, r29 -/* 8013DEE4 3C 80 80 39 */ lis r4, m_wlAnmDataTable__9daAlink_c@ha /* 0x80391010@ha */ -/* 8013DEE8 38 84 10 10 */ addi r4, r4, m_wlAnmDataTable__9daAlink_c@l /* 0x80391010@l */ -/* 8013DEEC A0 84 04 50 */ lhz r4, 0x450(r4) -/* 8013DEF0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013DEF4 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 8013DEF8 4B F6 F4 B1 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 8013DEFC 28 1F 00 00 */ cmplwi r31, 0 -/* 8013DF00 41 82 00 14 */ beq lbl_8013DF14 -/* 8013DF04 9B DD 2F A3 */ stb r30, 0x2fa3(r29) -/* 8013DF08 38 7D 28 44 */ addi r3, r29, 0x2844 -/* 8013DF0C 7F E4 FB 78 */ mr r4, r31 -/* 8013DF10 48 02 0D A9 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c -lbl_8013DF14: -/* 8013DF14 38 60 00 01 */ li r3, 1 -/* 8013DF18 39 61 00 20 */ addi r11, r1, 0x20 -/* 8013DF1C 48 22 43 0D */ bl _restgpr_29 -/* 8013DF20 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8013DF24 7C 08 03 A6 */ mtlr r0 -/* 8013DF28 38 21 00 20 */ addi r1, r1, 0x20 -/* 8013DF2C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfDownAtMissLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfDownAtMissLand__9daAlink_cFv.s deleted file mode 100644 index 0329235043..0000000000 --- a/asm/d/a/d_a_alink/procWolfDownAtMissLand__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8013BD54: -/* 8013BD54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013BD58 7C 08 02 A6 */ mflr r0 -/* 8013BD5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013BD60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013BD64 93 C1 00 08 */ stw r30, 8(r1) -/* 8013BD68 7C 7E 1B 78 */ mr r30, r3 -/* 8013BD6C 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8013BD70 4B FE DD 11 */ bl checkWolfGroundSpecialMode__9daAlink_cFv -/* 8013BD74 2C 03 00 00 */ cmpwi r3, 0 -/* 8013BD78 41 82 00 0C */ beq lbl_8013BD84 -/* 8013BD7C 38 60 00 01 */ li r3, 1 -/* 8013BD80 48 00 00 8C */ b lbl_8013BE0C -lbl_8013BD84: -/* 8013BD84 38 00 00 04 */ li r0, 4 -/* 8013BD88 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 8013BD8C 7F E3 FB 78 */ mr r3, r31 -/* 8013BD90 48 02 27 3D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013BD94 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013BD98 41 82 00 14 */ beq lbl_8013BDAC -/* 8013BD9C 7F C3 F3 78 */ mr r3, r30 -/* 8013BDA0 38 80 00 00 */ li r4, 0 -/* 8013BDA4 4B FE DD A1 */ bl checkNextActionWolf__9daAlink_cFi -/* 8013BDA8 48 00 00 60 */ b lbl_8013BE08 -lbl_8013BDAC: -/* 8013BDAC C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8013BDB0 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAtDown_c0@ha /* 0x8038F658@ha */ -/* 8013BDB4 38 63 F6 58 */ addi r3, r3, m__22daAlinkHIO_wlAtDown_c0@l /* 0x8038F658@l */ -/* 8013BDB8 C0 03 00 74 */ lfs f0, 0x74(r3) -/* 8013BDBC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013BDC0 40 81 00 14 */ ble lbl_8013BDD4 -/* 8013BDC4 7F C3 F3 78 */ mr r3, r30 -/* 8013BDC8 38 80 00 01 */ li r4, 1 -/* 8013BDCC 4B FE DD 79 */ bl checkNextActionWolf__9daAlink_cFi -/* 8013BDD0 48 00 00 38 */ b lbl_8013BE08 -lbl_8013BDD4: -/* 8013BDD4 C0 02 92 C4 */ lfs f0, lit_6109(r2) -/* 8013BDD8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013BDDC 4C 41 13 82 */ cror 2, 1, 2 -/* 8013BDE0 40 82 00 28 */ bne lbl_8013BE08 -/* 8013BDE4 C0 02 93 8C */ lfs f0, lit_8783(r2) -/* 8013BDE8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013BDEC 40 80 00 1C */ bge lbl_8013BE08 -/* 8013BDF0 7F C3 F3 78 */ mr r3, r30 -/* 8013BDF4 3C 80 00 03 */ lis r4, 0x0003 /* 0x00030018@ha */ -/* 8013BDF8 38 84 00 18 */ addi r4, r4, 0x0018 /* 0x00030018@l */ -/* 8013BDFC 4B F8 33 D1 */ bl seStartMapInfoLevel__9daAlink_cFUl -/* 8013BE00 38 00 00 18 */ li r0, 0x18 -/* 8013BE04 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -lbl_8013BE08: -/* 8013BE08 38 60 00 01 */ li r3, 1 -lbl_8013BE0C: -/* 8013BE0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013BE10 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013BE14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013BE18 7C 08 03 A6 */ mtlr r0 -/* 8013BE1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013BE20 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfEnemyHangBiteInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfEnemyHangBiteInit__9daAlink_cFv.s deleted file mode 100644 index 48e8ffa1bf..0000000000 --- a/asm/d/a/d_a_alink/procWolfEnemyHangBiteInit__9daAlink_cFv.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8013CCF4: -/* 8013CCF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013CCF8 7C 08 02 A6 */ mflr r0 -/* 8013CCFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013CD00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013CD04 7C 7F 1B 78 */ mr r31, r3 -/* 8013CD08 38 80 01 36 */ li r4, 0x136 -/* 8013CD0C 4B F8 52 61 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013CD10 7F E3 FB 78 */ mr r3, r31 -/* 8013CD14 38 80 00 78 */ li r4, 0x78 -/* 8013CD18 3C A0 80 39 */ lis r5, m__22daAlinkHIO_wlAtBite_c0@ha /* 0x8038F748@ha */ -/* 8013CD1C 38 A5 F7 48 */ addi r5, r5, m__22daAlinkHIO_wlAtBite_c0@l /* 0x8038F748@l */ -/* 8013CD20 38 A5 00 14 */ addi r5, r5, 0x14 -/* 8013CD24 4B FE CB 25 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013CD28 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013CD2C D0 3F 33 98 */ stfs f1, 0x3398(r31) -/* 8013CD30 D0 3F 04 FC */ stfs f1, 0x4fc(r31) -/* 8013CD34 7F E3 FB 78 */ mr r3, r31 -/* 8013CD38 C0 5F 05 34 */ lfs f2, 0x534(r31) -/* 8013CD3C 38 80 00 00 */ li r4, 0 -/* 8013CD40 4B F7 EA 31 */ bl setSpecialGravity__9daAlink_cFffi -/* 8013CD44 7F E3 FB 78 */ mr r3, r31 -/* 8013CD48 80 9F 28 20 */ lwz r4, 0x2820(r31) -/* 8013CD4C 4B FF C8 B5 */ bl setWolfEnemyHangBitePos__9daAlink_cFP13fopEn_enemy_c -/* 8013CD50 2C 03 00 00 */ cmpwi r3, 0 -/* 8013CD54 40 82 00 10 */ bne lbl_8013CD64 -/* 8013CD58 7F E3 FB 78 */ mr r3, r31 -/* 8013CD5C 4B FF DA 91 */ bl procWolfJumpAttackKickInit__9daAlink_cFv -/* 8013CD60 48 00 00 78 */ b lbl_8013CDD8 -lbl_8013CD64: -/* 8013CD64 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8013CD68 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8013CD6C 38 00 00 50 */ li r0, 0x50 -/* 8013CD70 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 8013CD74 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAtBite_c0@ha /* 0x8038F748@ha */ -/* 8013CD78 38 63 F7 48 */ addi r3, r3, m__22daAlinkHIO_wlAtBite_c0@l /* 0x8038F748@l */ -/* 8013CD7C A8 03 00 28 */ lha r0, 0x28(r3) -/* 8013CD80 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 8013CD84 38 00 00 00 */ li r0, 0 -/* 8013CD88 B0 1F 30 0A */ sth r0, 0x300a(r31) -/* 8013CD8C B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 8013CD90 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 8013CD94 C0 03 00 40 */ lfs f0, 0x40(r3) -/* 8013CD98 D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 8013CD9C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8013CDA0 B0 1F 30 10 */ sth r0, 0x3010(r31) -/* 8013CDA4 7F E3 FB 78 */ mr r3, r31 -/* 8013CDA8 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010044@ha */ -/* 8013CDAC 38 84 00 44 */ addi r4, r4, 0x0044 /* 0x00010044@l */ -/* 8013CDB0 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8013CDB4 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8013CDB8 7D 89 03 A6 */ mtctr r12 -/* 8013CDBC 4E 80 04 21 */ bctrl -/* 8013CDC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8013CDC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8013CDC8 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 8013CDCC 64 00 00 20 */ oris r0, r0, 0x20 -/* 8013CDD0 90 03 5F 1C */ stw r0, 0x5f1c(r3) -/* 8013CDD4 38 60 00 01 */ li r3, 1 -lbl_8013CDD8: -/* 8013CDD8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013CDDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013CDE0 7C 08 03 A6 */ mtlr r0 -/* 8013CDE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013CDE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfEnemyThrow__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfEnemyThrow__9daAlink_cFv.s deleted file mode 100644 index 93500243d6..0000000000 --- a/asm/d/a/d_a_alink/procWolfEnemyThrow__9daAlink_cFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8013CC5C: -/* 8013CC5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013CC60 7C 08 02 A6 */ mflr r0 -/* 8013CC64 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013CC68 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013CC6C 93 C1 00 08 */ stw r30, 8(r1) -/* 8013CC70 7C 7E 1B 78 */ mr r30, r3 -/* 8013CC74 4B FE CE 0D */ bl checkWolfGroundSpecialMode__9daAlink_cFv -/* 8013CC78 2C 03 00 00 */ cmpwi r3, 0 -/* 8013CC7C 41 82 00 0C */ beq lbl_8013CC88 -/* 8013CC80 38 60 00 01 */ li r3, 1 -/* 8013CC84 48 00 00 58 */ b lbl_8013CCDC -lbl_8013CC88: -/* 8013CC88 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8013CC8C 38 00 00 05 */ li r0, 5 -/* 8013CC90 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 8013CC94 7F E3 FB 78 */ mr r3, r31 -/* 8013CC98 48 02 18 35 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013CC9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013CCA0 41 82 00 14 */ beq lbl_8013CCB4 -/* 8013CCA4 7F C3 F3 78 */ mr r3, r30 -/* 8013CCA8 38 80 00 00 */ li r4, 0 -/* 8013CCAC 4B FE CE 99 */ bl checkNextActionWolf__9daAlink_cFi -/* 8013CCB0 48 00 00 28 */ b lbl_8013CCD8 -lbl_8013CCB4: -/* 8013CCB4 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8013CCB8 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAtBite_c0@ha /* 0x8038F748@ha */ -/* 8013CCBC 38 63 F7 48 */ addi r3, r3, m__22daAlinkHIO_wlAtBite_c0@l /* 0x8038F748@l */ -/* 8013CCC0 C0 03 00 34 */ lfs f0, 0x34(r3) -/* 8013CCC4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013CCC8 40 81 00 10 */ ble lbl_8013CCD8 -/* 8013CCCC 7F C3 F3 78 */ mr r3, r30 -/* 8013CCD0 38 80 00 01 */ li r4, 1 -/* 8013CCD4 4B FE CE 71 */ bl checkNextActionWolf__9daAlink_cFi -lbl_8013CCD8: -/* 8013CCD8 38 60 00 01 */ li r3, 1 -lbl_8013CCDC: -/* 8013CCDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013CCE0 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013CCE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013CCE8 7C 08 03 A6 */ mtlr r0 -/* 8013CCEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013CCF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfGiantPuzzleInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfGiantPuzzleInit__9daAlink_cFv.s deleted file mode 100644 index 00880d26fa..0000000000 --- a/asm/d/a/d_a_alink/procWolfGiantPuzzleInit__9daAlink_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80135160: -/* 80135160 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80135164 7C 08 02 A6 */ mflr r0 -/* 80135168 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013516C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80135170 7C 7F 1B 78 */ mr r31, r3 -/* 80135174 38 80 01 37 */ li r4, 0x137 -/* 80135178 4B F8 DC 2D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013517C 2C 03 00 00 */ cmpwi r3, 0 -/* 80135180 40 82 00 0C */ bne lbl_8013518C -/* 80135184 38 60 00 00 */ li r3, 0 -/* 80135188 48 00 00 5C */ b lbl_801351E4 -lbl_8013518C: -/* 8013518C 7F E3 FB 78 */ mr r3, r31 -/* 80135190 3C 80 80 39 */ lis r4, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 80135194 38 84 EE 28 */ addi r4, r4, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 80135198 C0 24 00 BC */ lfs f1, 0xbc(r4) -/* 8013519C 4B FF 36 A9 */ bl setBlendWolfMoveAnime__9daAlink_cFf -/* 801351A0 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 801351A4 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 801351A8 38 00 00 04 */ li r0, 4 -/* 801351AC 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 801351B0 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 801351B4 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 801351B8 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801351BC D0 1F 34 78 */ stfs f0, 0x3478(r31) -/* 801351C0 3C 60 80 39 */ lis r3, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 801351C4 38 63 EF 28 */ addi r3, r3, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 801351C8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 801351CC D0 1F 34 7C */ stfs f0, 0x347c(r31) -/* 801351D0 C0 03 00 08 */ lfs f0, 8(r3) -/* 801351D4 D0 1F 05 94 */ stfs f0, 0x594(r31) -/* 801351D8 7F E3 FB 78 */ mr r3, r31 -/* 801351DC 4B FF 2A D1 */ bl offWolfEyeUp__9daAlink_cFv -/* 801351E0 38 60 00 01 */ li r3, 1 -lbl_801351E4: -/* 801351E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801351E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801351EC 7C 08 03 A6 */ mtlr r0 -/* 801351F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801351F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfGrabPutInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfGrabPutInit__9daAlink_cFv.s deleted file mode 100644 index 437288d6e3..0000000000 --- a/asm/d/a/d_a_alink/procWolfGrabPutInit__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8013D588: -/* 8013D588 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013D58C 7C 08 02 A6 */ mflr r0 -/* 8013D590 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013D594 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013D598 93 C1 00 08 */ stw r30, 8(r1) -/* 8013D59C 7C 7E 1B 78 */ mr r30, r3 -/* 8013D5A0 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 8013D5A4 28 00 01 2C */ cmplwi r0, 0x12c -/* 8013D5A8 40 82 00 0C */ bne lbl_8013D5B4 -/* 8013D5AC 38 60 00 00 */ li r3, 0 -/* 8013D5B0 48 00 00 94 */ b lbl_8013D644 -lbl_8013D5B4: -/* 8013D5B4 A0 1E 1F BC */ lhz r0, 0x1fbc(r30) -/* 8013D5B8 20 00 02 DA */ subfic r0, r0, 0x2da -/* 8013D5BC 7C 00 00 34 */ cntlzw r0, r0 -/* 8013D5C0 54 1F DE 3E */ rlwinm r31, r0, 0x1b, 0x18, 0x1f -/* 8013D5C4 38 80 01 2C */ li r4, 0x12c -/* 8013D5C8 4B F8 49 A5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013D5CC 2C 1F 00 00 */ cmpwi r31, 0 -/* 8013D5D0 41 82 00 38 */ beq lbl_8013D608 -/* 8013D5D4 7F C3 F3 78 */ mr r3, r30 -/* 8013D5D8 38 80 00 47 */ li r4, 0x47 -/* 8013D5DC 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013D5E0 38 A5 F9 5C */ addi r5, r5, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013D5E4 38 A5 00 14 */ addi r5, r5, 0x14 -/* 8013D5E8 4B FE C2 61 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013D5EC C0 02 93 30 */ lfs f0, lit_7625(r2) -/* 8013D5F0 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 8013D5F4 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013D5F8 38 63 F9 5C */ addi r3, r3, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013D5FC C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8013D600 D0 1E 34 7C */ stfs f0, 0x347c(r30) -/* 8013D604 48 00 00 34 */ b lbl_8013D638 -lbl_8013D608: -/* 8013D608 7F C3 F3 78 */ mr r3, r30 -/* 8013D60C 38 80 00 4E */ li r4, 0x4e -/* 8013D610 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013D614 38 A5 F9 5C */ addi r5, r5, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013D618 38 A5 00 3C */ addi r5, r5, 0x3c -/* 8013D61C 4B FE C2 2D */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013D620 C0 02 93 74 */ lfs f0, lit_8502(r2) -/* 8013D624 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 8013D628 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013D62C 38 63 F9 5C */ addi r3, r3, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013D630 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 8013D634 D0 1E 34 7C */ stfs f0, 0x347c(r30) -lbl_8013D638: -/* 8013D638 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8013D63C D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 8013D640 38 60 00 01 */ li r3, 1 -lbl_8013D644: -/* 8013D644 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013D648 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013D64C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013D650 7C 08 03 A6 */ mtlr r0 -/* 8013D654 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013D658 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfGrabThrowInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfGrabThrowInit__9daAlink_cFv.s deleted file mode 100644 index 75251b370b..0000000000 --- a/asm/d/a/d_a_alink/procWolfGrabThrowInit__9daAlink_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8013D818: -/* 8013D818 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013D81C 7C 08 02 A6 */ mflr r0 -/* 8013D820 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013D824 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013D828 7C 7F 1B 78 */ mr r31, r3 -/* 8013D82C 38 80 01 2D */ li r4, 0x12d -/* 8013D830 4B F8 47 3D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013D834 7F E3 FB 78 */ mr r3, r31 -/* 8013D838 38 80 00 4F */ li r4, 0x4f -/* 8013D83C 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013D840 38 A5 F9 5C */ addi r5, r5, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013D844 38 A5 00 50 */ addi r5, r5, 0x50 -/* 8013D848 4B FE C0 01 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013D84C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8013D850 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8013D854 38 60 00 01 */ li r3, 1 -/* 8013D858 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013D85C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013D860 7C 08 03 A6 */ mtlr r0 -/* 8013D864 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013D868 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfGrabThrow__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfGrabThrow__9daAlink_cFv.s deleted file mode 100644 index 4b1382fb8f..0000000000 --- a/asm/d/a/d_a_alink/procWolfGrabThrow__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_8013D86C: -/* 8013D86C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013D870 7C 08 02 A6 */ mflr r0 -/* 8013D874 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013D878 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013D87C 93 C1 00 08 */ stw r30, 8(r1) -/* 8013D880 7C 7E 1B 78 */ mr r30, r3 -/* 8013D884 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8013D888 38 7E 33 98 */ addi r3, r30, 0x3398 -/* 8013D88C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013D890 3C 80 80 39 */ lis r4, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8013D894 38 84 EF 28 */ addi r4, r4, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 8013D898 C0 44 00 10 */ lfs f2, 0x10(r4) -/* 8013D89C 48 13 2E A5 */ bl cLib_chaseF__FPfff -/* 8013D8A0 7F C3 F3 78 */ mr r3, r30 -/* 8013D8A4 38 80 00 00 */ li r4, 0 -/* 8013D8A8 4B F7 5E 8D */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 8013D8AC A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 8013D8B0 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 8013D8B4 7F E3 FB 78 */ mr r3, r31 -/* 8013D8B8 C0 22 93 30 */ lfs f1, lit_7625(r2) -/* 8013D8BC 48 1E AB 71 */ bl checkPass__12J3DFrameCtrlFf -/* 8013D8C0 2C 03 00 00 */ cmpwi r3, 0 -/* 8013D8C4 41 82 00 0C */ beq lbl_8013D8D0 -/* 8013D8C8 7F C3 F3 78 */ mr r3, r30 -/* 8013D8CC 4B FA 7B 2D */ bl setGrabItemThrow__9daAlink_cFv -lbl_8013D8D0: -/* 8013D8D0 7F E3 FB 78 */ mr r3, r31 -/* 8013D8D4 48 02 0B F9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013D8D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013D8DC 41 82 00 14 */ beq lbl_8013D8F0 -/* 8013D8E0 7F C3 F3 78 */ mr r3, r30 -/* 8013D8E4 38 80 00 00 */ li r4, 0 -/* 8013D8E8 4B FE C2 5D */ bl checkNextActionWolf__9daAlink_cFi -/* 8013D8EC 48 00 00 28 */ b lbl_8013D914 -lbl_8013D8F0: -/* 8013D8F0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8013D8F4 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlGrab_c0@ha /* 0x8038F95C@ha */ -/* 8013D8F8 38 63 F9 5C */ addi r3, r3, m__20daAlinkHIO_wlGrab_c0@l /* 0x8038F95C@l */ -/* 8013D8FC C0 03 00 60 */ lfs f0, 0x60(r3) -/* 8013D900 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013D904 40 81 00 10 */ ble lbl_8013D914 -/* 8013D908 7F C3 F3 78 */ mr r3, r30 -/* 8013D90C 38 80 00 01 */ li r4, 1 -/* 8013D910 4B FE C2 35 */ bl checkNextActionWolf__9daAlink_cFi -lbl_8013D914: -/* 8013D914 38 60 00 01 */ li r3, 1 -/* 8013D918 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013D91C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013D920 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013D924 7C 08 03 A6 */ mtlr r0 -/* 8013D928 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013D92C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfHangReadyInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfHangReadyInit__9daAlink_cFv.s deleted file mode 100644 index e7a16e67f2..0000000000 --- a/asm/d/a/d_a_alink/procWolfHangReadyInit__9daAlink_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_801355EC: -/* 801355EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801355F0 7C 08 02 A6 */ mflr r0 -/* 801355F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801355F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801355FC 7C 7F 1B 78 */ mr r31, r3 -/* 80135600 38 80 01 03 */ li r4, 0x103 -/* 80135604 4B F8 C9 69 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80135608 7F E3 FB 78 */ mr r3, r31 -/* 8013560C 38 80 00 10 */ li r4, 0x10 -/* 80135610 3C A0 80 39 */ lis r5, m__24daAlinkHIO_wlWallHang_c0@ha /* 0x8038F1A0@ha */ -/* 80135614 38 C5 F1 A0 */ addi r6, r5, m__24daAlinkHIO_wlWallHang_c0@l /* 0x8038F1A0@l */ -/* 80135618 C0 26 00 04 */ lfs f1, 4(r6) -/* 8013561C C0 46 00 08 */ lfs f2, 8(r6) -/* 80135620 38 A0 00 0C */ li r5, 0xc -/* 80135624 C0 66 00 0C */ lfs f3, 0xc(r6) -/* 80135628 4B FF 40 DD */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 8013562C 88 1F 2F 91 */ lbz r0, 0x2f91(r31) -/* 80135630 90 1F 31 98 */ stw r0, 0x3198(r31) -/* 80135634 A8 7F 30 6E */ lha r3, 0x306e(r31) -/* 80135638 3C 63 00 01 */ addis r3, r3, 1 -/* 8013563C 38 03 80 00 */ addi r0, r3, -32768 -/* 80135640 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 80135644 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 80135648 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8013564C D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 80135650 38 60 00 01 */ li r3, 1 -/* 80135654 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80135658 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013565C 7C 08 03 A6 */ mtlr r0 -/* 80135660 38 21 00 10 */ addi r1, r1, 0x10 -/* 80135664 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfHangReady__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfHangReady__9daAlink_cFv.s deleted file mode 100644 index c72e4a113c..0000000000 --- a/asm/d/a/d_a_alink/procWolfHangReady__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80135668: -/* 80135668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013566C 7C 08 02 A6 */ mflr r0 -/* 80135670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80135674 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80135678 7C 7F 1B 78 */ mr r31, r3 -/* 8013567C 38 7F 04 E6 */ addi r3, r31, 0x4e6 -/* 80135680 A8 9F 30 0C */ lha r4, 0x300c(r31) -/* 80135684 38 A0 00 02 */ li r5, 2 -/* 80135688 38 C0 10 00 */ li r6, 0x1000 -/* 8013568C 38 E0 04 00 */ li r7, 0x400 -/* 80135690 48 13 AE B1 */ bl cLib_addCalcAngleS__FPsssss -/* 80135694 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80135698 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8013569C 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 801356A0 48 02 8E 2D */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 801356A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801356A8 41 82 00 30 */ beq lbl_801356D8 -/* 801356AC A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 801356B0 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 801356B4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 801356B8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 801356BC 7F E3 FB 78 */ mr r3, r31 -/* 801356C0 80 9F 31 98 */ lwz r4, 0x3198(r31) -/* 801356C4 48 00 00 2D */ bl procWolfHangWallCatchInit__9daAlink_cFi -/* 801356C8 2C 03 00 00 */ cmpwi r3, 0 -/* 801356CC 40 82 00 0C */ bne lbl_801356D8 -/* 801356D0 7F E3 FB 78 */ mr r3, r31 -/* 801356D4 4B F8 02 19 */ bl checkWaitAction__9daAlink_cFv -lbl_801356D8: -/* 801356D8 38 60 00 01 */ li r3, 1 -/* 801356DC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801356E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801356E4 7C 08 03 A6 */ mtlr r0 -/* 801356E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801356EC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfHowlInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procWolfHowlInit__9daAlink_cFi.s deleted file mode 100644 index 894b73a4dd..0000000000 --- a/asm/d/a/d_a_alink/procWolfHowlInit__9daAlink_cFi.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_8012E754: -/* 8012E754 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012E758 7C 08 02 A6 */ mflr r0 -/* 8012E75C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012E760 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012E764 93 C1 00 08 */ stw r30, 8(r1) -/* 8012E768 7C 7E 1B 78 */ mr r30, r3 -/* 8012E76C 7C 9F 23 78 */ mr r31, r4 -/* 8012E770 4B FE 74 B1 */ bl checkEventRun__9daAlink_cCFv -/* 8012E774 2C 03 00 00 */ cmpwi r3, 0 -/* 8012E778 41 82 00 18 */ beq lbl_8012E790 -/* 8012E77C A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 8012E780 28 00 00 FB */ cmplwi r0, 0xfb -/* 8012E784 40 82 00 0C */ bne lbl_8012E790 -/* 8012E788 38 60 00 00 */ li r3, 0 -/* 8012E78C 48 00 00 98 */ b lbl_8012E824 -lbl_8012E790: -/* 8012E790 7F C3 F3 78 */ mr r3, r30 -/* 8012E794 38 80 00 FB */ li r4, 0xfb -/* 8012E798 4B F9 37 D5 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012E79C 2C 1F 00 00 */ cmpwi r31, 0 -/* 8012E7A0 41 82 00 44 */ beq lbl_8012E7E4 -/* 8012E7A4 7F C3 F3 78 */ mr r3, r30 -/* 8012E7A8 38 80 00 5D */ li r4, 0x5d -/* 8012E7AC 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlHowl_c0@ha /* 0x8038F048@ha */ -/* 8012E7B0 38 A5 F0 48 */ addi r5, r5, m__20daAlinkHIO_wlHowl_c0@l /* 0x8038F048@l */ -/* 8012E7B4 38 A5 00 14 */ addi r5, r5, 0x14 -/* 8012E7B8 4B FF B0 91 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012E7BC 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 8012E7C0 64 00 00 80 */ oris r0, r0, 0x80 -/* 8012E7C4 90 1E 31 A0 */ stw r0, 0x31a0(r30) -/* 8012E7C8 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlHowl_c0@ha /* 0x8038F048@ha */ -/* 8012E7CC 38 63 F0 48 */ addi r3, r3, m__20daAlinkHIO_wlHowl_c0@l /* 0x8038F048@l */ -/* 8012E7D0 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8012E7D4 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 8012E7D8 38 00 00 01 */ li r0, 1 -/* 8012E7DC B0 1E 30 0E */ sth r0, 0x300e(r30) -/* 8012E7E0 48 00 00 30 */ b lbl_8012E810 -lbl_8012E7E4: -/* 8012E7E4 7F C3 F3 78 */ mr r3, r30 -/* 8012E7E8 38 80 00 5C */ li r4, 0x5c -/* 8012E7EC 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlHowl_c0@ha /* 0x8038F048@ha */ -/* 8012E7F0 38 A5 F0 48 */ addi r5, r5, m__20daAlinkHIO_wlHowl_c0@l /* 0x8038F048@l */ -/* 8012E7F4 4B FF B0 55 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012E7F8 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlHowl_c0@ha /* 0x8038F048@ha */ -/* 8012E7FC 38 63 F0 48 */ addi r3, r3, m__20daAlinkHIO_wlHowl_c0@l /* 0x8038F048@l */ -/* 8012E800 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8012E804 D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 8012E808 38 00 00 00 */ li r0, 0 -/* 8012E80C B0 1E 30 0E */ sth r0, 0x300e(r30) -lbl_8012E810: -/* 8012E810 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012E814 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 8012E818 38 00 00 00 */ li r0, 0 -/* 8012E81C B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8012E820 38 60 00 01 */ li r3, 1 -lbl_8012E824: -/* 8012E824 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012E828 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012E82C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012E830 7C 08 03 A6 */ mtlr r0 -/* 8012E834 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012E838 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfJumpAttackKickInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfJumpAttackKickInit__9daAlink_cFv.s deleted file mode 100644 index 7b3cc8c13a..0000000000 --- a/asm/d/a/d_a_alink/procWolfJumpAttackKickInit__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_8013A7EC: -/* 8013A7EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013A7F0 7C 08 02 A6 */ mflr r0 -/* 8013A7F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013A7F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013A7FC 7C 7F 1B 78 */ mr r31, r3 -/* 8013A800 38 80 01 1D */ li r4, 0x11d -/* 8013A804 4B F8 77 69 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013A808 7F E3 FB 78 */ mr r3, r31 -/* 8013A80C 38 80 00 6C */ li r4, 0x6c -/* 8013A810 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlAtCjump_c0@ha /* 0x8038F5B4@ha */ -/* 8013A814 38 A5 F5 B4 */ addi r5, r5, m__23daAlinkHIO_wlAtCjump_c0@l /* 0x8038F5B4@l */ -/* 8013A818 38 A5 00 14 */ addi r5, r5, 0x14 -/* 8013A81C 4B FE F0 2D */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013A820 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013A824 D0 3F 04 FC */ stfs f1, 0x4fc(r31) -/* 8013A828 D0 3F 33 98 */ stfs f1, 0x3398(r31) -/* 8013A82C 7F E3 FB 78 */ mr r3, r31 -/* 8013A830 C0 5F 05 34 */ lfs f2, 0x534(r31) -/* 8013A834 38 80 00 00 */ li r4, 0 -/* 8013A838 4B F8 0F 39 */ bl setSpecialGravity__9daAlink_cFffi -/* 8013A83C 7F E3 FB 78 */ mr r3, r31 -/* 8013A840 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010038@ha */ -/* 8013A844 38 84 00 38 */ addi r4, r4, 0x0038 /* 0x00010038@l */ -/* 8013A848 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8013A84C 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8013A850 7D 89 03 A6 */ mtctr r12 -/* 8013A854 4E 80 04 21 */ bctrl -/* 8013A858 7F E3 FB 78 */ mr r3, r31 -/* 8013A85C 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020009@ha */ -/* 8013A860 38 84 00 09 */ addi r4, r4, 0x0009 /* 0x00020009@l */ -/* 8013A864 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8013A868 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 8013A86C 7D 89 03 A6 */ mtctr r12 -/* 8013A870 4E 80 04 21 */ bctrl -/* 8013A874 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8013A878 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8013A87C 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 8013A880 64 00 00 20 */ oris r0, r0, 0x20 -/* 8013A884 90 03 5F 1C */ stw r0, 0x5f1c(r3) -/* 8013A888 38 60 00 01 */ li r3, 1 -/* 8013A88C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013A890 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013A894 7C 08 03 A6 */ mtlr r0 -/* 8013A898 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013A89C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfJumpAttackKick__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfJumpAttackKick__9daAlink_cFv.s deleted file mode 100644 index 43bcd1ec20..0000000000 --- a/asm/d/a/d_a_alink/procWolfJumpAttackKick__9daAlink_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8013A8A0: -/* 8013A8A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013A8A4 7C 08 02 A6 */ mflr r0 -/* 8013A8A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013A8AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013A8B0 7C 7F 1B 78 */ mr r31, r3 -/* 8013A8B4 38 7F 1F D0 */ addi r3, r31, 0x1fd0 -/* 8013A8B8 48 02 3C 15 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013A8BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013A8C0 41 82 00 24 */ beq lbl_8013A8E4 -/* 8013A8C4 7F E3 FB 78 */ mr r3, r31 -/* 8013A8C8 38 80 00 02 */ li r4, 2 -/* 8013A8CC 4B FF 3A CD */ bl procWolfBackJumpInit__9daAlink_cFi -/* 8013A8D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8013A8D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8013A8D8 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 8013A8DC 64 00 00 20 */ oris r0, r0, 0x20 -/* 8013A8E0 90 03 5F 1C */ stw r0, 0x5f1c(r3) -lbl_8013A8E4: -/* 8013A8E4 38 60 00 01 */ li r3, 1 -/* 8013A8E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013A8EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013A8F0 7C 08 03 A6 */ mtlr r0 -/* 8013A8F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013A8F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfJumpAttackNormalLandInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procWolfJumpAttackNormalLandInit__9daAlink_cFi.s deleted file mode 100644 index 4fe0e5c981..0000000000 --- a/asm/d/a/d_a_alink/procWolfJumpAttackNormalLandInit__9daAlink_cFi.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_8013AC44: -/* 8013AC44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013AC48 7C 08 02 A6 */ mflr r0 -/* 8013AC4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013AC50 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013AC54 93 C1 00 08 */ stw r30, 8(r1) -/* 8013AC58 7C 7E 1B 78 */ mr r30, r3 -/* 8013AC5C 7C 9F 23 78 */ mr r31, r4 -/* 8013AC60 38 80 01 1F */ li r4, 0x11f -/* 8013AC64 4B F8 73 09 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8013AC68 7F C3 F3 78 */ mr r3, r30 -/* 8013AC6C 38 80 00 52 */ li r4, 0x52 -/* 8013AC70 3C A0 80 39 */ lis r5, m__22daAlinkHIO_wlAtLand_c0@ha /* 0x8038F618@ha */ -/* 8013AC74 38 A5 F6 18 */ addi r5, r5, m__22daAlinkHIO_wlAtLand_c0@l /* 0x8038F618@l */ -/* 8013AC78 4B FE EB D1 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013AC7C 7F C3 F3 78 */ mr r3, r30 -/* 8013AC80 38 80 00 02 */ li r4, 2 -/* 8013AC84 4B FE 65 3D */ bl setFootEffectProcType__9daAlink_cFi -/* 8013AC88 38 00 00 18 */ li r0, 0x18 -/* 8013AC8C 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 8013AC90 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8013AC94 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 8013AC98 38 00 00 00 */ li r0, 0 -/* 8013AC9C B0 1E 30 12 */ sth r0, 0x3012(r30) -/* 8013ACA0 B3 FE 30 0C */ sth r31, 0x300c(r30) -/* 8013ACA4 38 00 00 0C */ li r0, 0xc -/* 8013ACA8 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 8013ACAC 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAttack_c0@ha /* 0x8038F7A4@ha */ -/* 8013ACB0 38 63 F7 A4 */ addi r3, r3, m__22daAlinkHIO_wlAttack_c0@l /* 0x8038F7A4@l */ -/* 8013ACB4 A8 03 00 16 */ lha r0, 0x16(r3) -/* 8013ACB8 B0 1E 30 7E */ sth r0, 0x307e(r30) -/* 8013ACBC 2C 1F 00 00 */ cmpwi r31, 0 -/* 8013ACC0 41 82 00 18 */ beq lbl_8013ACD8 -/* 8013ACC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8013ACC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8013ACCC 80 03 5F 1C */ lwz r0, 0x5f1c(r3) -/* 8013ACD0 64 00 00 20 */ oris r0, r0, 0x20 -/* 8013ACD4 90 03 5F 1C */ stw r0, 0x5f1c(r3) -lbl_8013ACD8: -/* 8013ACD8 38 60 00 01 */ li r3, 1 -/* 8013ACDC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013ACE0 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013ACE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013ACE8 7C 08 03 A6 */ mtlr r0 -/* 8013ACEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013ACF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfJumpAttackNormalLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfJumpAttackNormalLand__9daAlink_cFv.s deleted file mode 100644 index 13a2d52704..0000000000 --- a/asm/d/a/d_a_alink/procWolfJumpAttackNormalLand__9daAlink_cFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_8013ACF4: -/* 8013ACF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013ACF8 7C 08 02 A6 */ mflr r0 -/* 8013ACFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013AD00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013AD04 93 C1 00 08 */ stw r30, 8(r1) -/* 8013AD08 7C 7E 1B 78 */ mr r30, r3 -/* 8013AD0C 4B FE ED 75 */ bl checkWolfGroundSpecialMode__9daAlink_cFv -/* 8013AD10 2C 03 00 00 */ cmpwi r3, 0 -/* 8013AD14 41 82 00 0C */ beq lbl_8013AD20 -/* 8013AD18 38 60 00 01 */ li r3, 1 -/* 8013AD1C 48 00 00 BC */ b lbl_8013ADD8 -lbl_8013AD20: -/* 8013AD20 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8013AD24 38 00 00 04 */ li r0, 4 -/* 8013AD28 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 8013AD2C 38 7E 33 98 */ addi r3, r30, 0x3398 -/* 8013AD30 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013AD34 3C 80 80 39 */ lis r4, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8013AD38 38 84 EF 28 */ addi r4, r4, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 8013AD3C C0 44 00 10 */ lfs f2, 0x10(r4) -/* 8013AD40 48 13 5A 01 */ bl cLib_chaseF__FPfff -/* 8013AD44 7F C3 F3 78 */ mr r3, r30 -/* 8013AD48 4B F9 73 B5 */ bl setComboReserb__9daAlink_cFv -/* 8013AD4C 7F C3 F3 78 */ mr r3, r30 -/* 8013AD50 4B F9 79 35 */ bl checkCutTurnCharge__9daAlink_cFv -/* 8013AD54 7F E3 FB 78 */ mr r3, r31 -/* 8013AD58 48 02 37 75 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013AD5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013AD60 41 82 00 14 */ beq lbl_8013AD74 -/* 8013AD64 7F C3 F3 78 */ mr r3, r30 -/* 8013AD68 38 80 00 00 */ li r4, 0 -/* 8013AD6C 4B FE ED D9 */ bl checkNextActionWolf__9daAlink_cFi -/* 8013AD70 48 00 00 64 */ b lbl_8013ADD4 -lbl_8013AD74: -/* 8013AD74 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8013AD78 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAtLand_c0@ha /* 0x8038F618@ha */ -/* 8013AD7C 38 63 F6 18 */ addi r3, r3, m__22daAlinkHIO_wlAtLand_c0@l /* 0x8038F618@l */ -/* 8013AD80 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8013AD84 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8013AD88 40 81 00 4C */ ble lbl_8013ADD4 -/* 8013AD8C A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 8013AD90 2C 00 00 00 */ cmpwi r0, 0 -/* 8013AD94 41 82 00 24 */ beq lbl_8013ADB8 -/* 8013AD98 A8 7E 04 E6 */ lha r3, 0x4e6(r30) -/* 8013AD9C 3C 63 00 01 */ addis r3, r3, 1 -/* 8013ADA0 38 03 80 00 */ addi r0, r3, -32768 -/* 8013ADA4 B0 1E 04 E6 */ sth r0, 0x4e6(r30) -/* 8013ADA8 7F C3 F3 78 */ mr r3, r30 -/* 8013ADAC 38 80 00 03 */ li r4, 3 -/* 8013ADB0 4B FF F0 31 */ bl procWolfJumpAttackInit__9daAlink_cFi -/* 8013ADB4 48 00 00 24 */ b lbl_8013ADD8 -lbl_8013ADB8: -/* 8013ADB8 7F C3 F3 78 */ mr r3, r30 -/* 8013ADBC 38 80 00 01 */ li r4, 1 -/* 8013ADC0 4B FE ED 85 */ bl checkNextActionWolf__9daAlink_cFi -/* 8013ADC4 2C 03 00 00 */ cmpwi r3, 0 -/* 8013ADC8 41 82 00 0C */ beq lbl_8013ADD4 -/* 8013ADCC 38 60 00 01 */ li r3, 1 -/* 8013ADD0 48 00 00 08 */ b lbl_8013ADD8 -lbl_8013ADD4: -/* 8013ADD4 38 60 00 01 */ li r3, 1 -lbl_8013ADD8: -/* 8013ADD8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013ADDC 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013ADE0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013ADE4 7C 08 03 A6 */ mtlr r0 -/* 8013ADE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013ADEC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfLandDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfLandDamage__9daAlink_cFv.s deleted file mode 100644 index ccd5129053..0000000000 --- a/asm/d/a/d_a_alink/procWolfLandDamage__9daAlink_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_80136DE4: -/* 80136DE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80136DE8 7C 08 02 A6 */ mflr r0 -/* 80136DEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80136DF0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80136DF4 93 C1 00 08 */ stw r30, 8(r1) -/* 80136DF8 7C 7E 1B 78 */ mr r30, r3 -/* 80136DFC 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 80136E00 80 03 31 98 */ lwz r0, 0x3198(r3) -/* 80136E04 2C 00 00 00 */ cmpwi r0, 0 -/* 80136E08 41 82 00 4C */ beq lbl_80136E54 -/* 80136E0C 7F E3 FB 78 */ mr r3, r31 -/* 80136E10 48 02 76 BD */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 80136E14 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80136E18 41 82 00 14 */ beq lbl_80136E2C -/* 80136E1C 7F C3 F3 78 */ mr r3, r30 -/* 80136E20 38 80 00 00 */ li r4, 0 -/* 80136E24 4B FF 2D 21 */ bl checkNextActionWolf__9daAlink_cFi -/* 80136E28 48 00 00 80 */ b lbl_80136EA8 -lbl_80136E2C: -/* 80136E2C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80136E30 3C 60 80 39 */ lis r3, m__23daAlinkHIO_wlDamFall_c0@ha /* 0x8038F374@ha */ -/* 80136E34 38 63 F3 74 */ addi r3, r3, m__23daAlinkHIO_wlDamFall_c0@l /* 0x8038F374@l */ -/* 80136E38 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 80136E3C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80136E40 40 81 00 68 */ ble lbl_80136EA8 -/* 80136E44 7F C3 F3 78 */ mr r3, r30 -/* 80136E48 38 80 00 01 */ li r4, 1 -/* 80136E4C 4B FF 2C F9 */ bl checkNextActionWolf__9daAlink_cFi -/* 80136E50 48 00 00 58 */ b lbl_80136EA8 -lbl_80136E54: -/* 80136E54 7F E3 FB 78 */ mr r3, r31 -/* 80136E58 48 02 76 75 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 80136E5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80136E60 41 82 00 48 */ beq lbl_80136EA8 -/* 80136E64 A8 7E 30 08 */ lha r3, 0x3008(r30) -/* 80136E68 2C 03 00 00 */ cmpwi r3, 0 -/* 80136E6C 40 81 00 10 */ ble lbl_80136E7C -/* 80136E70 38 03 FF FF */ addi r0, r3, -1 -/* 80136E74 B0 1E 30 08 */ sth r0, 0x3008(r30) -/* 80136E78 48 00 00 30 */ b lbl_80136EA8 -lbl_80136E7C: -/* 80136E7C 7F C3 F3 78 */ mr r3, r30 -/* 80136E80 38 80 00 61 */ li r4, 0x61 -/* 80136E84 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlDamFall_c0@ha /* 0x8038F374@ha */ -/* 80136E88 38 A5 F3 74 */ addi r5, r5, m__23daAlinkHIO_wlDamFall_c0@l /* 0x8038F374@l */ -/* 80136E8C 38 A5 00 14 */ addi r5, r5, 0x14 -/* 80136E90 4B FF 29 B9 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 80136E94 7F C3 F3 78 */ mr r3, r30 -/* 80136E98 38 80 00 96 */ li r4, 0x96 -/* 80136E9C 4B F7 8A 05 */ bl setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 80136EA0 38 00 00 01 */ li r0, 1 -/* 80136EA4 90 1E 31 98 */ stw r0, 0x3198(r30) -lbl_80136EA8: -/* 80136EA8 38 60 00 01 */ li r3, 1 -/* 80136EAC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80136EB0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80136EB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80136EB8 7C 08 03 A6 */ mtlr r0 -/* 80136EBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80136EC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfLand__9daAlink_cFv.s deleted file mode 100644 index 4e74b9b316..0000000000 --- a/asm/d/a/d_a_alink/procWolfLand__9daAlink_cFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8012F1F0: -/* 8012F1F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012F1F4 7C 08 02 A6 */ mflr r0 -/* 8012F1F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012F1FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012F200 93 C1 00 08 */ stw r30, 8(r1) -/* 8012F204 7C 7E 1B 78 */ mr r30, r3 -/* 8012F208 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8012F20C A8 03 30 0C */ lha r0, 0x300c(r3) -/* 8012F210 2C 00 00 00 */ cmpwi r0, 0 -/* 8012F214 41 82 00 0C */ beq lbl_8012F220 -/* 8012F218 38 00 00 04 */ li r0, 4 -/* 8012F21C 98 1E 2F 99 */ stb r0, 0x2f99(r30) -lbl_8012F220: -/* 8012F220 7F E3 FB 78 */ mr r3, r31 -/* 8012F224 48 02 F2 A9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012F228 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012F22C 41 82 00 14 */ beq lbl_8012F240 -/* 8012F230 7F C3 F3 78 */ mr r3, r30 -/* 8012F234 38 80 00 00 */ li r4, 0 -/* 8012F238 4B FF A9 0D */ bl checkNextActionWolf__9daAlink_cFi -/* 8012F23C 48 00 00 20 */ b lbl_8012F25C -lbl_8012F240: -/* 8012F240 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8012F244 C0 1E 34 78 */ lfs f0, 0x3478(r30) -/* 8012F248 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012F24C 40 81 00 10 */ ble lbl_8012F25C -/* 8012F250 7F C3 F3 78 */ mr r3, r30 -/* 8012F254 38 80 00 01 */ li r4, 1 -/* 8012F258 4B FF A8 ED */ bl checkNextActionWolf__9daAlink_cFi -lbl_8012F25C: -/* 8012F25C 38 60 00 01 */ li r3, 1 -/* 8012F260 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012F264 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012F268 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012F26C 7C 08 03 A6 */ mtlr r0 -/* 8012F270 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012F274 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfMidnaRideShockInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfMidnaRideShockInit__9daAlink_cFv.s deleted file mode 100644 index 5814248588..0000000000 --- a/asm/d/a/d_a_alink/procWolfMidnaRideShockInit__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8012D050: -/* 8012D050 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012D054 7C 08 02 A6 */ mflr r0 -/* 8012D058 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012D05C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012D060 7C 7F 1B 78 */ mr r31, r3 -/* 8012D064 80 03 05 74 */ lwz r0, 0x574(r3) -/* 8012D068 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8012D06C 40 82 00 24 */ bne lbl_8012D090 -/* 8012D070 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8012D074 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8012D078 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8012D07C 80 9F 31 84 */ lwz r4, 0x3184(r31) -/* 8012D080 4B F1 B0 FD */ bl cutEnd__16dEvent_manager_cFi -/* 8012D084 7F E3 FB 78 */ mr r3, r31 -/* 8012D088 4B F9 63 31 */ bl procWaitInit__9daAlink_cFv -/* 8012D08C 48 00 00 64 */ b lbl_8012D0F0 -lbl_8012D090: -/* 8012D090 38 80 00 F0 */ li r4, 0xf0 -/* 8012D094 4B F9 5D 11 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012D098 2C 03 00 00 */ cmpwi r3, 0 -/* 8012D09C 40 82 00 0C */ bne lbl_8012D0A8 -/* 8012D0A0 38 60 00 00 */ li r3, 0 -/* 8012D0A4 48 00 00 4C */ b lbl_8012D0F0 -lbl_8012D0A8: -/* 8012D0A8 7F E3 FB 78 */ mr r3, r31 -/* 8012D0AC 38 80 00 81 */ li r4, 0x81 -/* 8012D0B0 4B FF C5 C9 */ bl setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM -/* 8012D0B4 7F E3 FB 78 */ mr r3, r31 -/* 8012D0B8 38 80 00 9F */ li r4, 0x9f -/* 8012D0BC 4B F8 27 E5 */ bl setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 8012D0C0 7F E3 FB 78 */ mr r3, r31 -/* 8012D0C4 3C 80 00 01 */ lis r4, 0x0001 /* 0x000100BC@ha */ -/* 8012D0C8 38 84 00 BC */ addi r4, r4, 0x00BC /* 0x000100BC@l */ -/* 8012D0CC 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8012D0D0 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 8012D0D4 7D 89 03 A6 */ mtctr r12 -/* 8012D0D8 4E 80 04 21 */ bctrl -/* 8012D0DC C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012D0E0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8012D0E4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8012D0E8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8012D0EC 38 60 00 01 */ li r3, 1 -lbl_8012D0F0: -/* 8012D0F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012D0F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012D0F8 7C 08 03 A6 */ mtlr r0 -/* 8012D0FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012D100 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfMidnaRideShock__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfMidnaRideShock__9daAlink_cFv.s deleted file mode 100644 index 7c6e8d4df9..0000000000 --- a/asm/d/a/d_a_alink/procWolfMidnaRideShock__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8012D104: -/* 8012D104 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012D108 7C 08 02 A6 */ mflr r0 -/* 8012D10C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012D110 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012D114 93 C1 00 08 */ stw r30, 8(r1) -/* 8012D118 7C 7E 1B 78 */ mr r30, r3 -/* 8012D11C 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8012D120 7F E3 FB 78 */ mr r3, r31 -/* 8012D124 48 03 13 A9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012D128 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012D12C 41 82 00 38 */ beq lbl_8012D164 -/* 8012D130 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 8012D134 28 00 00 32 */ cmplwi r0, 0x32 -/* 8012D138 40 82 00 1C */ bne lbl_8012D154 -/* 8012D13C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8012D140 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8012D144 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8012D148 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 8012D14C 4B F1 B0 31 */ bl cutEnd__16dEvent_manager_cFi -/* 8012D150 48 00 00 3C */ b lbl_8012D18C -lbl_8012D154: -/* 8012D154 7F C3 F3 78 */ mr r3, r30 -/* 8012D158 38 80 00 00 */ li r4, 0 -/* 8012D15C 4B FF C9 E9 */ bl checkNextActionWolf__9daAlink_cFi -/* 8012D160 48 00 00 2C */ b lbl_8012D18C -lbl_8012D164: -/* 8012D164 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8012D168 C0 02 94 B4 */ lfs f0, lit_17382(r2) -/* 8012D16C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012D170 40 81 00 1C */ ble lbl_8012D18C -/* 8012D174 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 8012D178 28 00 00 32 */ cmplwi r0, 0x32 -/* 8012D17C 41 82 00 10 */ beq lbl_8012D18C -/* 8012D180 7F C3 F3 78 */ mr r3, r30 -/* 8012D184 38 80 00 01 */ li r4, 1 -/* 8012D188 4B FF C9 BD */ bl checkNextActionWolf__9daAlink_cFi -lbl_8012D18C: -/* 8012D18C 38 60 00 01 */ li r3, 1 -/* 8012D190 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012D194 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012D198 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012D19C 7C 08 03 A6 */ mtlr r0 -/* 8012D1A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012D1A4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfMoveInit__9daAlink_cFv.s deleted file mode 100644 index 39a3092279..0000000000 --- a/asm/d/a/d_a_alink/procWolfMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8012D380: -/* 8012D380 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012D384 7C 08 02 A6 */ mflr r0 -/* 8012D388 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012D38C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012D390 7C 7F 1B 78 */ mr r31, r3 -/* 8012D394 38 80 00 F2 */ li r4, 0xf2 -/* 8012D398 4B F9 5A 0D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012D39C 2C 03 00 00 */ cmpwi r3, 0 -/* 8012D3A0 40 82 00 0C */ bne lbl_8012D3AC -/* 8012D3A4 38 60 00 00 */ li r3, 0 -/* 8012D3A8 48 00 00 28 */ b lbl_8012D3D0 -lbl_8012D3AC: -/* 8012D3AC 7F E3 FB 78 */ mr r3, r31 -/* 8012D3B0 3C 80 80 39 */ lis r4, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012D3B4 38 84 EE 28 */ addi r4, r4, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012D3B8 C0 24 00 94 */ lfs f1, 0x94(r4) -/* 8012D3BC 4B FF B4 89 */ bl setBlendWolfMoveAnime__9daAlink_cFf -/* 8012D3C0 7F E3 FB 78 */ mr r3, r31 -/* 8012D3C4 38 80 00 03 */ li r4, 3 -/* 8012D3C8 4B FF 3D F9 */ bl setFootEffectProcType__9daAlink_cFi -/* 8012D3CC 38 60 00 01 */ li r3, 1 -lbl_8012D3D0: -/* 8012D3D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012D3D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012D3D8 7C 08 03 A6 */ mtlr r0 -/* 8012D3DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012D3E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfMove__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfMove__9daAlink_cFv.s deleted file mode 100644 index fff33adf5d..0000000000 --- a/asm/d/a/d_a_alink/procWolfMove__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8012D3E4: -/* 8012D3E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012D3E8 7C 08 02 A6 */ mflr r0 -/* 8012D3EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012D3F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012D3F4 7C 7F 1B 78 */ mr r31, r3 -/* 8012D3F8 38 80 00 00 */ li r4, 0 -/* 8012D3FC 4B FF C7 49 */ bl checkNextActionWolf__9daAlink_cFi -/* 8012D400 2C 03 00 00 */ cmpwi r3, 0 -/* 8012D404 40 82 00 58 */ bne lbl_8012D45C -/* 8012D408 7F E3 FB 78 */ mr r3, r31 -/* 8012D40C 4B F8 96 25 */ bl checkFrontWallTypeAction__9daAlink_cFv -/* 8012D410 2C 03 00 00 */ cmpwi r3, 0 -/* 8012D414 40 82 00 48 */ bne lbl_8012D45C -/* 8012D418 80 1F 06 14 */ lwz r0, 0x614(r31) -/* 8012D41C 28 00 00 02 */ cmplwi r0, 2 -/* 8012D420 40 82 00 28 */ bne lbl_8012D448 -/* 8012D424 C0 5F 33 98 */ lfs f2, 0x3398(r31) -/* 8012D428 C0 3F 05 94 */ lfs f1, 0x594(r31) -/* 8012D42C 3C 60 80 39 */ lis r3, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8012D430 38 63 EF 28 */ addi r3, r3, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 8012D434 C0 03 00 28 */ lfs f0, 0x28(r3) -/* 8012D438 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8012D43C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8012D440 40 81 00 08 */ ble lbl_8012D448 -/* 8012D444 D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_8012D448: -/* 8012D448 7F E3 FB 78 */ mr r3, r31 -/* 8012D44C C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 8012D450 4B FF B3 F5 */ bl setBlendWolfMoveAnime__9daAlink_cFf -/* 8012D454 A8 1F 2F EC */ lha r0, 0x2fec(r31) -/* 8012D458 B0 1F 30 A2 */ sth r0, 0x30a2(r31) -lbl_8012D45C: -/* 8012D45C 38 60 00 01 */ li r3, 1 -/* 8012D460 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012D464 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012D468 7C 08 03 A6 */ mtlr r0 -/* 8012D46C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012D470 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfPush__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfPush__9daAlink_cFv.s deleted file mode 100644 index ad6f305d7c..0000000000 --- a/asm/d/a/d_a_alink/procWolfPush__9daAlink_cFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_8013DA8C: -/* 8013DA8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013DA90 7C 08 02 A6 */ mflr r0 -/* 8013DA94 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013DA98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013DA9C 93 C1 00 08 */ stw r30, 8(r1) -/* 8013DAA0 7C 7E 1B 78 */ mr r30, r3 -/* 8013DAA4 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8013DAA8 38 00 00 04 */ li r0, 4 -/* 8013DAAC 98 03 2F 99 */ stb r0, 0x2f99(r3) -/* 8013DAB0 7F E3 FB 78 */ mr r3, r31 -/* 8013DAB4 48 02 0A 19 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013DAB8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8013DABC 41 82 00 4C */ beq lbl_8013DB08 -/* 8013DAC0 A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 8013DAC4 2C 00 00 00 */ cmpwi r0, 0 -/* 8013DAC8 41 82 00 30 */ beq lbl_8013DAF8 -/* 8013DACC 7F C3 F3 78 */ mr r3, r30 -/* 8013DAD0 38 80 00 08 */ li r4, 8 -/* 8013DAD4 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 8013DAD8 C0 42 92 C0 */ lfs f2, lit_6108(r2) -/* 8013DADC A8 BE 30 0E */ lha r5, 0x300e(r30) -/* 8013DAE0 C0 62 92 C4 */ lfs f3, lit_6109(r2) -/* 8013DAE4 4B FE BC 21 */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 8013DAE8 38 00 00 00 */ li r0, 0 -/* 8013DAEC 98 1E 1F D4 */ stb r0, 0x1fd4(r30) -/* 8013DAF0 B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 8013DAF4 48 00 00 48 */ b lbl_8013DB3C -lbl_8013DAF8: -/* 8013DAF8 7F C3 F3 78 */ mr r3, r30 -/* 8013DAFC 38 80 00 00 */ li r4, 0 -/* 8013DB00 4B FE C0 45 */ bl checkNextActionWolf__9daAlink_cFi -/* 8013DB04 48 00 00 38 */ b lbl_8013DB3C -lbl_8013DB08: -/* 8013DB08 A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 8013DB0C 2C 00 00 00 */ cmpwi r0, 0 -/* 8013DB10 40 82 00 2C */ bne lbl_8013DB3C -/* 8013DB14 7F E3 FB 78 */ mr r3, r31 -/* 8013DB18 C0 22 97 B8 */ lfs f1, lit_52470(r2) -/* 8013DB1C 48 1E A9 11 */ bl checkPass__12J3DFrameCtrlFf -/* 8013DB20 2C 03 00 00 */ cmpwi r3, 0 -/* 8013DB24 41 82 00 18 */ beq lbl_8013DB3C -/* 8013DB28 80 7E 28 10 */ lwz r3, 0x2810(r30) -/* 8013DB2C 28 03 00 00 */ cmplwi r3, 0 -/* 8013DB30 41 82 00 0C */ beq lbl_8013DB3C -/* 8013DB34 38 80 00 00 */ li r4, 0 -/* 8013DB38 4B ED F0 11 */ bl fopAcM_setCarryNow__FP10fopAc_ac_ci -lbl_8013DB3C: -/* 8013DB3C 38 60 00 01 */ li r3, 1 -/* 8013DB40 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013DB44 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013DB48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013DB4C 7C 08 03 A6 */ mtlr r0 -/* 8013DB50 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013DB54 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfRollAttackChargeInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfRollAttackChargeInit__9daAlink_cFv.s deleted file mode 100644 index 565c9db0c4..0000000000 --- a/asm/d/a/d_a_alink/procWolfRollAttackChargeInit__9daAlink_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_801398A8: -/* 801398A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801398AC 7C 08 02 A6 */ mflr r0 -/* 801398B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801398B4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801398B8 7C 7F 1B 78 */ mr r31, r3 -/* 801398BC 38 80 01 1A */ li r4, 0x11a -/* 801398C0 4B F8 86 AD */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 801398C4 7F E3 FB 78 */ mr r3, r31 -/* 801398C8 38 80 00 6E */ li r4, 0x6e -/* 801398CC C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801398D0 3C A0 80 39 */ lis r5, m__22daAlinkHIO_wlAttack_c0@ha /* 0x8038F7A4@ha */ -/* 801398D4 38 A5 F7 A4 */ addi r5, r5, m__22daAlinkHIO_wlAttack_c0@l /* 0x8038F7A4@l */ -/* 801398D8 C0 45 00 20 */ lfs f2, 0x20(r5) -/* 801398DC 4B FE FD FD */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 801398E0 7F E3 FB 78 */ mr r3, r31 -/* 801398E4 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010037@ha */ -/* 801398E8 38 84 00 37 */ addi r4, r4, 0x0037 /* 0x00010037@l */ -/* 801398EC 4B F8 57 CD */ bl voiceStartLevel__9daAlink_cFUl -/* 801398F0 38 60 00 01 */ li r3, 1 -/* 801398F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801398F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801398FC 7C 08 03 A6 */ mtlr r0 -/* 80139900 38 21 00 10 */ addi r1, r1, 0x10 -/* 80139904 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfRollAttackCharge__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfRollAttackCharge__9daAlink_cFv.s deleted file mode 100644 index 76ae0b3ded..0000000000 --- a/asm/d/a/d_a_alink/procWolfRollAttackCharge__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_80139908: -/* 80139908 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013990C 7C 08 02 A6 */ mflr r0 -/* 80139910 90 01 00 14 */ stw r0, 0x14(r1) -/* 80139914 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80139918 7C 7F 1B 78 */ mr r31, r3 -/* 8013991C 4B FF 01 65 */ bl checkWolfGroundSpecialMode__9daAlink_cFv -/* 80139920 2C 03 00 00 */ cmpwi r3, 0 -/* 80139924 41 82 00 0C */ beq lbl_80139930 -/* 80139928 38 60 00 01 */ li r3, 1 -/* 8013992C 48 00 00 84 */ b lbl_801399B0 -lbl_80139930: -/* 80139930 7F E3 FB 78 */ mr r3, r31 -/* 80139934 38 80 00 08 */ li r4, 8 -/* 80139938 4B F7 8C B1 */ bl itemButtonCheck__9daAlink_cFUc -/* 8013993C 2C 03 00 00 */ cmpwi r3, 0 -/* 80139940 40 82 00 10 */ bne lbl_80139950 -/* 80139944 7F E3 FB 78 */ mr r3, r31 -/* 80139948 4B FF FA 5D */ bl checkWolfAttackAction__9daAlink_cFv -/* 8013994C 48 00 00 60 */ b lbl_801399AC -lbl_80139950: -/* 80139950 80 7F 20 60 */ lwz r3, 0x2060(r31) -/* 80139954 C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80139958 C0 02 93 A0 */ lfs f0, lit_9054(r2) -/* 8013995C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80139960 40 80 00 10 */ bge lbl_80139970 -/* 80139964 7F E3 FB 78 */ mr r3, r31 -/* 80139968 48 00 00 5D */ bl procWolfRollAttackMoveInit__9daAlink_cFv -/* 8013996C 48 00 00 40 */ b lbl_801399AC -lbl_80139970: -/* 80139970 38 7F 33 98 */ addi r3, r31, 0x3398 -/* 80139974 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80139978 3C 80 80 39 */ lis r4, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8013997C 38 84 EF 28 */ addi r4, r4, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 80139980 C0 44 00 10 */ lfs f2, 0x10(r4) -/* 80139984 48 13 6D BD */ bl cLib_chaseF__FPfff -/* 80139988 7F E3 FB 78 */ mr r3, r31 -/* 8013998C 38 80 00 00 */ li r4, 0 -/* 80139990 4B F7 9D A5 */ bl setShapeAngleToAtnActor__9daAlink_cFi -/* 80139994 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80139998 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8013999C 7F E3 FB 78 */ mr r3, r31 -/* 801399A0 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010037@ha */ -/* 801399A4 38 84 00 37 */ addi r4, r4, 0x0037 /* 0x00010037@l */ -/* 801399A8 4B F8 57 11 */ bl voiceStartLevel__9daAlink_cFUl -lbl_801399AC: -/* 801399AC 38 60 00 01 */ li r3, 1 -lbl_801399B0: -/* 801399B0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801399B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801399B8 7C 08 03 A6 */ mtlr r0 -/* 801399BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801399C0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfRollAttackMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfRollAttackMoveInit__9daAlink_cFv.s deleted file mode 100644 index e957f147e0..0000000000 --- a/asm/d/a/d_a_alink/procWolfRollAttackMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_801399C4: -/* 801399C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801399C8 7C 08 02 A6 */ mflr r0 -/* 801399CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801399D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801399D4 7C 7F 1B 78 */ mr r31, r3 -/* 801399D8 38 80 01 1B */ li r4, 0x11b -/* 801399DC 4B F8 85 91 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 801399E0 7F E3 FB 78 */ mr r3, r31 -/* 801399E4 4B F7 9F 21 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 801399E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801399EC 41 82 00 10 */ beq lbl_801399FC -/* 801399F0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 801399F4 60 00 00 01 */ ori r0, r0, 1 -/* 801399F8 90 1F 31 A0 */ stw r0, 0x31a0(r31) -lbl_801399FC: -/* 801399FC 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAttack_c0@ha /* 0x8038F7A4@ha */ -/* 80139A00 38 63 F7 A4 */ addi r3, r3, m__22daAlinkHIO_wlAttack_c0@l /* 0x8038F7A4@l */ -/* 80139A04 A8 03 00 14 */ lha r0, 0x14(r3) -/* 80139A08 B0 1F 30 08 */ sth r0, 0x3008(r31) -/* 80139A0C 3C 60 80 39 */ lis r3, m__22daAlinkHIO_wlAtLock_c0@ha /* 0x8038F6F4@ha */ -/* 80139A10 38 63 F6 F4 */ addi r3, r3, m__22daAlinkHIO_wlAtLock_c0@l /* 0x8038F6F4@l */ -/* 80139A14 A8 03 00 28 */ lha r0, 0x28(r3) -/* 80139A18 B0 1F 30 0A */ sth r0, 0x300a(r31) -/* 80139A1C 38 00 00 1E */ li r0, 0x1e -/* 80139A20 B0 1F 30 12 */ sth r0, 0x3012(r31) -/* 80139A24 38 00 00 00 */ li r0, 0 -/* 80139A28 90 1F 31 98 */ stw r0, 0x3198(r31) -/* 80139A2C A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80139A30 B0 1F 2F E4 */ sth r0, 0x2fe4(r31) -/* 80139A34 7F E3 FB 78 */ mr r3, r31 -/* 80139A38 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010037@ha */ -/* 80139A3C 38 84 00 37 */ addi r4, r4, 0x0037 /* 0x00010037@l */ -/* 80139A40 4B F8 56 79 */ bl voiceStartLevel__9daAlink_cFUl -/* 80139A44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80139A48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80139A4C 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 80139A50 64 00 40 00 */ oris r0, r0, 0x4000 -/* 80139A54 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 80139A58 38 60 00 01 */ li r3, 1 -/* 80139A5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80139A60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80139A64 7C 08 03 A6 */ mtlr r0 -/* 80139A68 38 21 00 10 */ addi r1, r1, 0x10 -/* 80139A6C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfRopeSubjectivityInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfRopeSubjectivityInit__9daAlink_cFv.s deleted file mode 100644 index 6904fa006d..0000000000 --- a/asm/d/a/d_a_alink/procWolfRopeSubjectivityInit__9daAlink_cFv.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_8013384C: -/* 8013384C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80133850 7C 08 02 A6 */ mflr r0 -/* 80133854 90 01 00 14 */ stw r0, 0x14(r1) -/* 80133858 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013385C 7C 7F 1B 78 */ mr r31, r3 -/* 80133860 38 80 01 17 */ li r4, 0x117 -/* 80133864 4B F8 E7 09 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80133868 7F E3 FB 78 */ mr r3, r31 -/* 8013386C 38 80 00 21 */ li r4, 0x21 -/* 80133870 4B FF 4F 9D */ bl checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM -/* 80133874 2C 03 00 00 */ cmpwi r3, 0 -/* 80133878 40 82 00 20 */ bne lbl_80133898 -/* 8013387C 7F E3 FB 78 */ mr r3, r31 -/* 80133880 38 80 00 21 */ li r4, 0x21 -/* 80133884 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80133888 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlRope_c0@ha /* 0x8038F46C@ha */ -/* 8013388C 38 A5 F4 6C */ addi r5, r5, m__20daAlinkHIO_wlRope_c0@l /* 0x8038F46C@l */ -/* 80133890 C0 45 00 20 */ lfs f2, 0x20(r5) -/* 80133894 4B FF 5E 45 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -lbl_80133898: -/* 80133898 7F E3 FB 78 */ mr r3, r31 -/* 8013389C 4B FF E1 55 */ bl initWolfRopeShapeAngle__9daAlink_cFv -/* 801338A0 B0 7F 30 0C */ sth r3, 0x300c(r31) -/* 801338A4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 801338A8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 801338AC 7F E3 FB 78 */ mr r3, r31 -/* 801338B0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801338B4 C0 5F 05 34 */ lfs f2, 0x534(r31) -/* 801338B8 38 80 00 00 */ li r4, 0 -/* 801338BC 4B F8 7E B5 */ bl setSpecialGravity__9daAlink_cFffi -/* 801338C0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801338C4 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 801338C8 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 801338CC 7F E3 FB 78 */ mr r3, r31 -/* 801338D0 4B FF DE 49 */ bl setWolfRopePosY__9daAlink_cFv -/* 801338D4 7C 64 1B 78 */ mr r4, r3 -/* 801338D8 7F E3 FB 78 */ mr r3, r31 -/* 801338DC 4B FF E2 21 */ bl setWolfRopeOffsetY__9daAlink_cFi -/* 801338E0 38 60 00 00 */ li r3, 0 -/* 801338E4 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 801338E8 28 00 02 DA */ cmplwi r0, 0x2da -/* 801338EC 41 82 00 10 */ beq lbl_801338FC -/* 801338F0 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 801338F4 28 00 02 DB */ cmplwi r0, 0x2db -/* 801338F8 40 82 00 08 */ bne lbl_80133900 -lbl_801338FC: -/* 801338FC 38 60 00 01 */ li r3, 1 -lbl_80133900: -/* 80133900 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80133904 41 82 00 0C */ beq lbl_80133910 -/* 80133908 38 00 E8 00 */ li r0, -6144 -/* 8013390C B0 1F 30 A0 */ sth r0, 0x30a0(r31) -lbl_80133910: -/* 80133910 7F E3 FB 78 */ mr r3, r31 -/* 80133914 4B F9 B1 E1 */ bl setSubjectMode__9daAlink_cFv -/* 80133918 38 60 00 01 */ li r3, 1 -/* 8013391C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80133920 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80133924 7C 08 03 A6 */ mtlr r0 -/* 80133928 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013392C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfScreamWaitInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfScreamWaitInit__9daAlink_cFv.s deleted file mode 100644 index 73117d9e3e..0000000000 --- a/asm/d/a/d_a_alink/procWolfScreamWaitInit__9daAlink_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80136F54: -/* 80136F54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80136F58 7C 08 02 A6 */ mflr r0 -/* 80136F5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80136F60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80136F64 7C 7F 1B 78 */ mr r31, r3 -/* 80136F68 38 80 01 0A */ li r4, 0x10a -/* 80136F6C 4B F8 B0 01 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80136F70 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 80136F74 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 80136F78 41 82 00 10 */ beq lbl_80136F88 -/* 80136F7C 7F E3 FB 78 */ mr r3, r31 -/* 80136F80 4B FF FF 45 */ bl setWolfScreamWaitAnime__9daAlink_cFv -/* 80136F84 48 00 00 30 */ b lbl_80136FB4 -lbl_80136F88: -/* 80136F88 7F E3 FB 78 */ mr r3, r31 -/* 80136F8C 38 80 00 00 */ li r4, 0 -/* 80136F90 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 80136F94 38 A5 EF 28 */ addi r5, r5, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 80136F98 C0 25 00 14 */ lfs f1, 0x14(r5) -/* 80136F9C 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 80136FA0 38 A5 EE 28 */ addi r5, r5, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 80136FA4 C0 45 00 BC */ lfs f2, 0xbc(r5) -/* 80136FA8 4B FF 27 31 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 80136FAC 38 00 00 00 */ li r0, 0 -/* 80136FB0 B0 1F 30 0C */ sth r0, 0x300c(r31) -lbl_80136FB4: -/* 80136FB4 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 80136FB8 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 80136FBC 38 00 00 00 */ li r0, 0 -/* 80136FC0 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 80136FC4 3C 60 80 42 */ lis r3, l_wolfBaseAnime@ha /* 0x8042561C@ha */ -/* 80136FC8 C4 03 56 1C */ lfsu f0, l_wolfBaseAnime@l(r3) /* 0x8042561C@l */ -/* 80136FCC D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 80136FD0 C0 03 00 04 */ lfs f0, 4(r3) -/* 80136FD4 D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 80136FD8 C0 03 00 08 */ lfs f0, 8(r3) -/* 80136FDC D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 80136FE0 38 60 00 01 */ li r3, 1 -/* 80136FE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80136FE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80136FEC 7C 08 03 A6 */ mtlr r0 -/* 80136FF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80136FF4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfScreamWait__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfScreamWait__9daAlink_cFv.s deleted file mode 100644 index 5bca903d10..0000000000 --- a/asm/d/a/d_a_alink/procWolfScreamWait__9daAlink_cFv.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_80136FF8: -/* 80136FF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80136FFC 7C 08 02 A6 */ mflr r0 -/* 80137000 90 01 00 14 */ stw r0, 0x14(r1) -/* 80137004 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80137008 93 C1 00 08 */ stw r30, 8(r1) -/* 8013700C 7C 7E 1B 78 */ mr r30, r3 -/* 80137010 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 80137014 80 83 05 8C */ lwz r4, 0x58c(r3) -/* 80137018 54 80 07 FF */ clrlwi. r0, r4, 0x1f -/* 8013701C 40 82 00 94 */ bne lbl_801370B0 -/* 80137020 A8 1E 30 0E */ lha r0, 0x300e(r30) -/* 80137024 2C 00 00 00 */ cmpwi r0, 0 -/* 80137028 41 82 00 54 */ beq lbl_8013707C -/* 8013702C 38 00 00 05 */ li r0, 5 -/* 80137030 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 80137034 7F E3 FB 78 */ mr r3, r31 -/* 80137038 48 02 74 95 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013703C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80137040 41 82 00 14 */ beq lbl_80137054 -/* 80137044 7F C3 F3 78 */ mr r3, r30 -/* 80137048 38 80 00 00 */ li r4, 0 -/* 8013704C 4B FF 2A F9 */ bl checkNextActionWolf__9daAlink_cFi -/* 80137050 48 00 00 78 */ b lbl_801370C8 -lbl_80137054: -/* 80137054 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80137058 3C 60 80 39 */ lis r3, m__24daAlinkHIO_wlDamLarge_c0@ha /* 0x8038F29C@ha */ -/* 8013705C 38 63 F2 9C */ addi r3, r3, m__24daAlinkHIO_wlDamLarge_c0@l /* 0x8038F29C@l */ -/* 80137060 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 80137064 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80137068 40 81 00 60 */ ble lbl_801370C8 -/* 8013706C 7F C3 F3 78 */ mr r3, r30 -/* 80137070 38 80 00 01 */ li r4, 1 -/* 80137074 4B FF 2A D1 */ bl checkNextActionWolf__9daAlink_cFi -/* 80137078 48 00 00 50 */ b lbl_801370C8 -lbl_8013707C: -/* 8013707C 38 00 00 01 */ li r0, 1 -/* 80137080 B0 1E 30 0E */ sth r0, 0x300e(r30) -/* 80137084 38 80 00 2C */ li r4, 0x2c -/* 80137088 3C A0 80 39 */ lis r5, m__24daAlinkHIO_wlDamLarge_c0@ha /* 0x8038F29C@ha */ -/* 8013708C 38 C5 F2 9C */ addi r6, r5, m__24daAlinkHIO_wlDamLarge_c0@l /* 0x8038F29C@l */ -/* 80137090 C0 26 00 04 */ lfs f1, 4(r6) -/* 80137094 C0 42 93 78 */ lfs f2, lit_8676(r2) -/* 80137098 A8 A6 00 00 */ lha r5, 0(r6) -/* 8013709C C0 66 00 0C */ lfs f3, 0xc(r6) -/* 801370A0 4B FF 26 65 */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 801370A4 38 00 00 0D */ li r0, 0xd -/* 801370A8 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 801370AC 48 00 00 1C */ b lbl_801370C8 -lbl_801370B0: -/* 801370B0 A8 1E 30 0C */ lha r0, 0x300c(r30) -/* 801370B4 2C 00 00 00 */ cmpwi r0, 0 -/* 801370B8 40 82 00 10 */ bne lbl_801370C8 -/* 801370BC 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e -/* 801370C0 41 82 00 08 */ beq lbl_801370C8 -/* 801370C4 4B FF FE 01 */ bl setWolfScreamWaitAnime__9daAlink_cFv -lbl_801370C8: -/* 801370C8 38 60 00 01 */ li r3, 1 -/* 801370CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801370D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801370D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801370D8 7C 08 03 A6 */ mtlr r0 -/* 801370DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801370E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSideStepLandInit__9daAlink_cFs.s b/asm/d/a/d_a_alink/procWolfSideStepLandInit__9daAlink_cFs.s deleted file mode 100644 index 819c485e8e..0000000000 --- a/asm/d/a/d_a_alink/procWolfSideStepLandInit__9daAlink_cFs.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_8012E1E8: -/* 8012E1E8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012E1EC 7C 08 02 A6 */ mflr r0 -/* 8012E1F0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012E1F4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012E1F8 93 C1 00 08 */ stw r30, 8(r1) -/* 8012E1FC 7C 7E 1B 78 */ mr r30, r3 -/* 8012E200 7C 9F 23 78 */ mr r31, r4 -/* 8012E204 38 80 00 F8 */ li r4, 0xf8 -/* 8012E208 4B F9 3D 65 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012E20C 88 1E 2F 98 */ lbz r0, 0x2f98(r30) -/* 8012E210 28 00 00 01 */ cmplwi r0, 1 -/* 8012E214 40 82 00 38 */ bne lbl_8012E24C -/* 8012E218 7F C3 F3 78 */ mr r3, r30 -/* 8012E21C 38 80 00 4D */ li r4, 0x4d -/* 8012E220 3C A0 80 39 */ lis r5, m__24daAlinkHIO_wlSideStep_c0@ha /* 0x8038EFA8@ha */ -/* 8012E224 38 A5 EF A8 */ addi r5, r5, m__24daAlinkHIO_wlSideStep_c0@l /* 0x8038EFA8@l */ -/* 8012E228 38 A5 00 3C */ addi r5, r5, 0x3c -/* 8012E22C 4B FF B6 1D */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012E230 3C 60 80 39 */ lis r3, m__24daAlinkHIO_wlSideStep_c0@ha /* 0x8038EFA8@ha */ -/* 8012E234 38 63 EF A8 */ addi r3, r3, m__24daAlinkHIO_wlSideStep_c0@l /* 0x8038EFA8@l */ -/* 8012E238 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 8012E23C D0 1E 34 78 */ stfs f0, 0x3478(r30) -/* 8012E240 38 00 00 0A */ li r0, 0xa -/* 8012E244 98 1E 2F CC */ stb r0, 0x2fcc(r30) -/* 8012E248 48 00 00 44 */ b lbl_8012E28C -lbl_8012E24C: -/* 8012E24C 38 00 00 00 */ li r0, 0 -/* 8012E250 98 1E 2F CC */ stb r0, 0x2fcc(r30) -/* 8012E254 7F C3 F3 78 */ mr r3, r30 -/* 8012E258 88 1E 2F 98 */ lbz r0, 0x2f98(r30) -/* 8012E25C 28 00 00 02 */ cmplwi r0, 2 -/* 8012E260 38 80 00 4B */ li r4, 0x4b -/* 8012E264 40 82 00 08 */ bne lbl_8012E26C -/* 8012E268 38 80 00 49 */ li r4, 0x49 -lbl_8012E26C: -/* 8012E26C 3C A0 80 39 */ lis r5, m__24daAlinkHIO_wlSideStep_c0@ha /* 0x8038EFA8@ha */ -/* 8012E270 38 A5 EF A8 */ addi r5, r5, m__24daAlinkHIO_wlSideStep_c0@l /* 0x8038EFA8@l */ -/* 8012E274 38 A5 00 14 */ addi r5, r5, 0x14 -/* 8012E278 4B FF B5 D1 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012E27C 3C 60 80 39 */ lis r3, m__24daAlinkHIO_wlSideStep_c0@ha /* 0x8038EFA8@ha */ -/* 8012E280 38 63 EF A8 */ addi r3, r3, m__24daAlinkHIO_wlSideStep_c0@l /* 0x8038EFA8@l */ -/* 8012E284 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8012E288 D0 1E 34 78 */ stfs f0, 0x3478(r30) -lbl_8012E28C: -/* 8012E28C B3 FE 30 12 */ sth r31, 0x3012(r30) -/* 8012E290 38 00 00 04 */ li r0, 4 -/* 8012E294 98 1E 2F 9D */ stb r0, 0x2f9d(r30) -/* 8012E298 7F C3 F3 78 */ mr r3, r30 -/* 8012E29C 38 80 00 02 */ li r4, 2 -/* 8012E2A0 4B FF 2F 21 */ bl setFootEffectProcType__9daAlink_cFi -/* 8012E2A4 80 1E 05 84 */ lwz r0, 0x584(r30) -/* 8012E2A8 60 00 00 0C */ ori r0, r0, 0xc -/* 8012E2AC 90 1E 05 84 */ stw r0, 0x584(r30) -/* 8012E2B0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012E2B4 D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 8012E2B8 7F C3 F3 78 */ mr r3, r30 -/* 8012E2BC 4B F8 79 A9 */ bl setStepLandVibration__9daAlink_cFv -/* 8012E2C0 38 60 00 01 */ li r3, 1 -/* 8012E2C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012E2C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012E2CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012E2D0 7C 08 03 A6 */ mtlr r0 -/* 8012E2D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012E2D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSideStepLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSideStepLand__9daAlink_cFv.s deleted file mode 100644 index 0282b6c58a..0000000000 --- a/asm/d/a/d_a_alink/procWolfSideStepLand__9daAlink_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8012E2DC: -/* 8012E2DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012E2E0 7C 08 02 A6 */ mflr r0 -/* 8012E2E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012E2E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012E2EC 93 C1 00 08 */ stw r30, 8(r1) -/* 8012E2F0 7C 7E 1B 78 */ mr r30, r3 -/* 8012E2F4 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8012E2F8 88 03 2F CC */ lbz r0, 0x2fcc(r3) -/* 8012E2FC 28 00 00 00 */ cmplwi r0, 0 -/* 8012E300 41 82 00 0C */ beq lbl_8012E30C -/* 8012E304 38 00 00 0A */ li r0, 0xa -/* 8012E308 98 1E 2F CC */ stb r0, 0x2fcc(r30) -lbl_8012E30C: -/* 8012E30C 7F C3 F3 78 */ mr r3, r30 -/* 8012E310 4B FF AC 4D */ bl setWolfAtnMoveDirection__9daAlink_cFv -/* 8012E314 7F C3 F3 78 */ mr r3, r30 -/* 8012E318 4B FF DF F1 */ bl checkWolfAtnDoCharge__9daAlink_cFv -/* 8012E31C 7F E3 FB 78 */ mr r3, r31 -/* 8012E320 48 03 01 AD */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012E324 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012E328 41 82 00 38 */ beq lbl_8012E360 -/* 8012E32C 80 1E 06 14 */ lwz r0, 0x614(r30) -/* 8012E330 28 00 00 10 */ cmplwi r0, 0x10 -/* 8012E334 40 82 00 1C */ bne lbl_8012E350 -/* 8012E338 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8012E33C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8012E340 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8012E344 80 9E 31 84 */ lwz r4, 0x3184(r30) -/* 8012E348 4B F1 9E 35 */ bl cutEnd__16dEvent_manager_cFi -/* 8012E34C 48 00 00 30 */ b lbl_8012E37C -lbl_8012E350: -/* 8012E350 7F C3 F3 78 */ mr r3, r30 -/* 8012E354 38 80 00 00 */ li r4, 0 -/* 8012E358 4B FF B7 ED */ bl checkNextActionWolf__9daAlink_cFi -/* 8012E35C 48 00 00 20 */ b lbl_8012E37C -lbl_8012E360: -/* 8012E360 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8012E364 C0 1E 34 78 */ lfs f0, 0x3478(r30) -/* 8012E368 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012E36C 40 81 00 10 */ ble lbl_8012E37C -/* 8012E370 7F C3 F3 78 */ mr r3, r30 -/* 8012E374 38 80 00 01 */ li r4, 1 -/* 8012E378 4B FF B7 CD */ bl checkNextActionWolf__9daAlink_cFi -lbl_8012E37C: -/* 8012E37C 38 60 00 01 */ li r3, 1 -/* 8012E380 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012E384 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012E388 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012E38C 7C 08 03 A6 */ mtlr r0 -/* 8012E390 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012E394 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSitInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procWolfSitInit__9daAlink_cFi.s deleted file mode 100644 index 14fa57ab31..0000000000 --- a/asm/d/a/d_a_alink/procWolfSitInit__9daAlink_cFi.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_8012F278: -/* 8012F278 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012F27C 7C 08 02 A6 */ mflr r0 -/* 8012F280 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012F284 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012F288 93 C1 00 08 */ stw r30, 8(r1) -/* 8012F28C 7C 7E 1B 78 */ mr r30, r3 -/* 8012F290 7C 9F 23 78 */ mr r31, r4 -/* 8012F294 38 80 00 FF */ li r4, 0xff -/* 8012F298 4B F9 3B 0D */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012F29C 2C 03 00 00 */ cmpwi r3, 0 -/* 8012F2A0 40 82 00 0C */ bne lbl_8012F2AC -/* 8012F2A4 38 60 00 00 */ li r3, 0 -/* 8012F2A8 48 00 00 98 */ b lbl_8012F340 -lbl_8012F2AC: -/* 8012F2AC 2C 1F 00 00 */ cmpwi r31, 0 -/* 8012F2B0 41 82 00 4C */ beq lbl_8012F2FC -/* 8012F2B4 7F C3 F3 78 */ mr r3, r30 -/* 8012F2B8 38 80 00 0E */ li r4, 0xe -/* 8012F2BC 4B FF 95 51 */ bl checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM -/* 8012F2C0 2C 03 00 00 */ cmpwi r3, 0 -/* 8012F2C4 40 82 00 38 */ bne lbl_8012F2FC -/* 8012F2C8 7F C3 F3 78 */ mr r3, r30 -/* 8012F2CC 38 80 00 5D */ li r4, 0x5d -/* 8012F2D0 4B FF 95 3D */ bl checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM -/* 8012F2D4 2C 03 00 00 */ cmpwi r3, 0 -/* 8012F2D8 40 82 00 24 */ bne lbl_8012F2FC -/* 8012F2DC 7F C3 F3 78 */ mr r3, r30 -/* 8012F2E0 38 80 00 0B */ li r4, 0xb -/* 8012F2E4 3C A0 80 39 */ lis r5, m__19daAlinkHIO_wlLie_c0@ha /* 0x8038F138@ha */ -/* 8012F2E8 38 A5 F1 38 */ addi r5, r5, m__19daAlinkHIO_wlLie_c0@l /* 0x8038F138@l */ -/* 8012F2EC 4B FF A5 5D */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012F2F0 38 00 00 00 */ li r0, 0 -/* 8012F2F4 90 1E 31 98 */ stw r0, 0x3198(r30) -/* 8012F2F8 48 00 00 3C */ b lbl_8012F334 -lbl_8012F2FC: -/* 8012F2FC 38 00 00 01 */ li r0, 1 -/* 8012F300 90 1E 31 98 */ stw r0, 0x3198(r30) -/* 8012F304 7F C3 F3 78 */ mr r3, r30 -/* 8012F308 38 80 00 0E */ li r4, 0xe -/* 8012F30C 4B FF 95 01 */ bl checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM -/* 8012F310 2C 03 00 00 */ cmpwi r3, 0 -/* 8012F314 40 82 00 20 */ bne lbl_8012F334 -/* 8012F318 7F C3 F3 78 */ mr r3, r30 -/* 8012F31C 38 80 00 0E */ li r4, 0xe -/* 8012F320 3C A0 80 39 */ lis r5, m__19daAlinkHIO_wlLie_c0@ha /* 0x8038F138@ha */ -/* 8012F324 38 A5 F1 38 */ addi r5, r5, m__19daAlinkHIO_wlLie_c0@l /* 0x8038F138@l */ -/* 8012F328 C0 25 00 44 */ lfs f1, 0x44(r5) -/* 8012F32C C0 45 00 48 */ lfs f2, 0x48(r5) -/* 8012F330 4B FF A3 A9 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -lbl_8012F334: -/* 8012F334 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 8012F338 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 8012F33C 38 60 00 01 */ li r3, 1 -lbl_8012F340: -/* 8012F340 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012F344 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012F348 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012F34C 7C 08 03 A6 */ mtlr r0 -/* 8012F350 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012F354 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSit__9daAlink_cFv.s deleted file mode 100644 index 67660dde2e..0000000000 --- a/asm/d/a/d_a_alink/procWolfSit__9daAlink_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8012F358: -/* 8012F358 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8012F35C 7C 08 02 A6 */ mflr r0 -/* 8012F360 90 01 00 24 */ stw r0, 0x24(r1) -/* 8012F364 39 61 00 20 */ addi r11, r1, 0x20 -/* 8012F368 48 23 2E 75 */ bl _savegpr_29 -/* 8012F36C 7C 7D 1B 78 */ mr r29, r3 -/* 8012F370 3C 60 80 39 */ lis r3, lit_3757@ha /* 0x8038D658@ha */ -/* 8012F374 3B E3 D6 58 */ addi r31, r3, lit_3757@l /* 0x8038D658@l */ -/* 8012F378 3B DD 1F D0 */ addi r30, r29, 0x1fd0 -/* 8012F37C 38 7D 33 98 */ addi r3, r29, 0x3398 -/* 8012F380 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8012F384 80 1D 05 74 */ lwz r0, 0x574(r29) -/* 8012F388 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 8012F38C 41 82 00 10 */ beq lbl_8012F39C -/* 8012F390 38 9F 17 D0 */ addi r4, r31, 0x17d0 -/* 8012F394 C0 44 00 6C */ lfs f2, 0x6c(r4) -/* 8012F398 48 00 00 0C */ b lbl_8012F3A4 -lbl_8012F39C: -/* 8012F39C 38 9F 18 D0 */ addi r4, r31, 0x18d0 -/* 8012F3A0 C0 44 00 10 */ lfs f2, 0x10(r4) -lbl_8012F3A4: -/* 8012F3A4 48 14 13 9D */ bl cLib_chaseF__FPfff -/* 8012F3A8 7F A3 EB 78 */ mr r3, r29 -/* 8012F3AC 4B F8 32 B9 */ bl spActionButton__9daAlink_cFv -/* 8012F3B0 2C 03 00 00 */ cmpwi r3, 0 -/* 8012F3B4 40 82 00 1C */ bne lbl_8012F3D0 -/* 8012F3B8 80 1D 06 14 */ lwz r0, 0x614(r29) -/* 8012F3BC 28 00 00 0F */ cmplwi r0, 0xf -/* 8012F3C0 41 82 00 10 */ beq lbl_8012F3D0 -/* 8012F3C4 7F A3 EB 78 */ mr r3, r29 -/* 8012F3C8 48 00 7E ED */ bl checkNextActionWolfFromLie__9daAlink_cFv -/* 8012F3CC 48 00 00 34 */ b lbl_8012F400 -lbl_8012F3D0: -/* 8012F3D0 7F C3 F3 78 */ mr r3, r30 -/* 8012F3D4 48 02 F0 F9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012F3D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012F3DC 41 82 00 24 */ beq lbl_8012F400 -/* 8012F3E0 7F A3 EB 78 */ mr r3, r29 -/* 8012F3E4 38 80 00 0E */ li r4, 0xe -/* 8012F3E8 38 BF 1A E0 */ addi r5, r31, 0x1ae0 -/* 8012F3EC C0 25 00 44 */ lfs f1, 0x44(r5) -/* 8012F3F0 C0 45 00 48 */ lfs f2, 0x48(r5) -/* 8012F3F4 4B FF A2 E5 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 8012F3F8 38 00 00 01 */ li r0, 1 -/* 8012F3FC 90 1D 31 98 */ stw r0, 0x3198(r29) -lbl_8012F400: -/* 8012F400 38 60 00 01 */ li r3, 1 -/* 8012F404 39 61 00 20 */ addi r11, r1, 0x20 -/* 8012F408 48 23 2E 21 */ bl _restgpr_29 -/* 8012F40C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8012F410 7C 08 03 A6 */ mtlr r0 -/* 8012F414 38 21 00 20 */ addi r1, r1, 0x20 -/* 8012F418 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlideLandInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSlideLandInit__9daAlink_cFv.s deleted file mode 100644 index 3a36b0c346..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlideLandInit__9daAlink_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_801300D4: -/* 801300D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801300D8 7C 08 02 A6 */ mflr r0 -/* 801300DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801300E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801300E4 7C 7F 1B 78 */ mr r31, r3 -/* 801300E8 38 80 01 10 */ li r4, 0x110 -/* 801300EC 4B F9 1E 81 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 801300F0 7F E3 FB 78 */ mr r3, r31 -/* 801300F4 38 80 00 1F */ li r4, 0x1f -/* 801300F8 3C A0 80 39 */ lis r5, m__21daAlinkHIO_wlSlide_c0@ha /* 0x8038F3F0@ha */ -/* 801300FC 38 A5 F3 F0 */ addi r5, r5, m__21daAlinkHIO_wlSlide_c0@l /* 0x8038F3F0@l */ -/* 80130100 38 A5 00 28 */ addi r5, r5, 0x28 -/* 80130104 4B FF 97 45 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 80130108 C0 3F 33 98 */ lfs f1, 0x3398(r31) -/* 8013010C C0 02 92 98 */ lfs f0, lit_5943(r2) -/* 80130110 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80130114 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 80130118 38 00 00 FF */ li r0, 0xff -/* 8013011C 98 1F 08 28 */ stb r0, 0x828(r31) -/* 80130120 38 60 00 01 */ li r3, 1 -/* 80130124 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80130128 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013012C 7C 08 03 A6 */ mtlr r0 -/* 80130130 38 21 00 10 */ addi r1, r1, 0x10 -/* 80130134 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlideLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSlideLand__9daAlink_cFv.s deleted file mode 100644 index a53f8018c0..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlideLand__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80130138: -/* 80130138 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8013013C 7C 08 02 A6 */ mflr r0 -/* 80130140 90 01 00 14 */ stw r0, 0x14(r1) -/* 80130144 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80130148 93 C1 00 08 */ stw r30, 8(r1) -/* 8013014C 7C 7E 1B 78 */ mr r30, r3 -/* 80130150 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 80130154 38 7E 33 98 */ addi r3, r30, 0x3398 -/* 80130158 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 8013015C C0 42 93 24 */ lfs f2, lit_7450(r2) -/* 80130160 48 14 05 E1 */ bl cLib_chaseF__FPfff -/* 80130164 7F E3 FB 78 */ mr r3, r31 -/* 80130168 48 02 E3 65 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8013016C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80130170 41 82 00 1C */ beq lbl_8013018C -/* 80130174 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 80130178 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 8013017C 7F C3 F3 78 */ mr r3, r30 -/* 80130180 38 80 00 00 */ li r4, 0 -/* 80130184 4B FF 99 C1 */ bl checkNextActionWolf__9daAlink_cFi -/* 80130188 48 00 00 40 */ b lbl_801301C8 -lbl_8013018C: -/* 8013018C C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80130190 3C 60 80 39 */ lis r3, m__21daAlinkHIO_wlSlide_c0@ha /* 0x8038F3F0@ha */ -/* 80130194 38 63 F3 F0 */ addi r3, r3, m__21daAlinkHIO_wlSlide_c0@l /* 0x8038F3F0@l */ -/* 80130198 C0 03 00 38 */ lfs f0, 0x38(r3) -/* 8013019C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801301A0 40 81 00 28 */ ble lbl_801301C8 -/* 801301A4 AB FE 04 DE */ lha r31, 0x4de(r30) -/* 801301A8 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 801301AC B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 801301B0 7F C3 F3 78 */ mr r3, r30 -/* 801301B4 38 80 00 01 */ li r4, 1 -/* 801301B8 4B FF 99 8D */ bl checkNextActionWolf__9daAlink_cFi -/* 801301BC 2C 03 00 00 */ cmpwi r3, 0 -/* 801301C0 40 82 00 08 */ bne lbl_801301C8 -/* 801301C4 B3 FE 04 DE */ sth r31, 0x4de(r30) -lbl_801301C8: -/* 801301C8 38 60 00 01 */ li r3, 1 -/* 801301CC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801301D0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801301D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801301D8 7C 08 03 A6 */ mtlr r0 -/* 801301DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801301E0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlipInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSlipInit__9daAlink_cFv.s deleted file mode 100644 index cdbfb3f875..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlipInit__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8012F634: -/* 8012F634 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012F638 7C 08 02 A6 */ mflr r0 -/* 8012F63C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012F640 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012F644 7C 7F 1B 78 */ mr r31, r3 -/* 8012F648 38 80 01 0B */ li r4, 0x10b -/* 8012F64C 4B F9 29 21 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012F650 7F E3 FB 78 */ mr r3, r31 -/* 8012F654 38 80 00 1A */ li r4, 0x1a -/* 8012F658 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012F65C 38 A5 EE 28 */ addi r5, r5, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012F660 4B FF A1 E9 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8012F664 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 8012F668 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 8012F66C 41 82 00 20 */ beq lbl_8012F68C -/* 8012F670 C0 3F 05 2C */ lfs f1, 0x52c(r31) -/* 8012F674 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012F678 38 63 EE 28 */ addi r3, r3, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012F67C C0 03 00 A4 */ lfs f0, 0xa4(r3) -/* 8012F680 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8012F684 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8012F688 48 00 00 1C */ b lbl_8012F6A4 -lbl_8012F68C: -/* 8012F68C C0 3F 05 2C */ lfs f1, 0x52c(r31) -/* 8012F690 3C 60 80 39 */ lis r3, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8012F694 38 63 EF 28 */ addi r3, r3, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 8012F698 C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 8012F69C EC 01 00 32 */ fmuls f0, f1, f0 -/* 8012F6A0 D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_8012F6A4: -/* 8012F6A4 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8012F6A8 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8012F6AC 3C 60 80 42 */ lis r3, l_wolfBaseAnime@ha /* 0x8042561C@ha */ -/* 8012F6B0 C4 03 56 1C */ lfsu f0, l_wolfBaseAnime@l(r3) /* 0x8042561C@l */ -/* 8012F6B4 D0 1F 35 88 */ stfs f0, 0x3588(r31) -/* 8012F6B8 C0 03 00 04 */ lfs f0, 4(r3) -/* 8012F6BC D0 1F 35 8C */ stfs f0, 0x358c(r31) -/* 8012F6C0 C0 03 00 08 */ lfs f0, 8(r3) -/* 8012F6C4 D0 1F 35 90 */ stfs f0, 0x3590(r31) -/* 8012F6C8 7F E3 FB 78 */ mr r3, r31 -/* 8012F6CC 38 80 00 01 */ li r4, 1 -/* 8012F6D0 4B FF 1A F1 */ bl setFootEffectProcType__9daAlink_cFi -/* 8012F6D4 38 60 00 01 */ li r3, 1 -/* 8012F6D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012F6DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012F6E0 7C 08 03 A6 */ mtlr r0 -/* 8012F6E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012F6E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlipTurnLandInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSlipTurnLandInit__9daAlink_cFv.s deleted file mode 100644 index 103f708a54..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlipTurnLandInit__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_8012FB18: -/* 8012FB18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012FB1C 7C 08 02 A6 */ mflr r0 -/* 8012FB20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012FB24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012FB28 7C 7F 1B 78 */ mr r31, r3 -/* 8012FB2C 38 80 01 0D */ li r4, 0x10d -/* 8012FB30 4B F9 24 3D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012FB34 38 9F 1F D0 */ addi r4, r31, 0x1fd0 -/* 8012FB38 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012FB3C 38 E3 EE 28 */ addi r7, r3, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012FB40 C0 27 00 18 */ lfs f1, 0x18(r7) -/* 8012FB44 7F E3 FB 78 */ mr r3, r31 -/* 8012FB48 38 A0 00 00 */ li r5, 0 -/* 8012FB4C 38 C0 00 00 */ li r6, 0 -/* 8012FB50 A8 E7 00 14 */ lha r7, 0x14(r7) -/* 8012FB54 C0 1F 1F E0 */ lfs f0, 0x1fe0(r31) -/* 8012FB58 EC 41 00 2A */ fadds f2, f1, f0 -/* 8012FB5C 4B F7 C8 39 */ bl setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff -/* 8012FB60 C0 22 94 E0 */ lfs f1, lit_19379(r2) -/* 8012FB64 3C 60 80 39 */ lis r3, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8012FB68 38 63 EF 28 */ addi r3, r3, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 8012FB6C C0 03 00 08 */ lfs f0, 8(r3) -/* 8012FB70 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8012FB74 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8012FB78 38 00 00 05 */ li r0, 5 -/* 8012FB7C 98 1F 2F 99 */ stb r0, 0x2f99(r31) -/* 8012FB80 7F E3 FB 78 */ mr r3, r31 -/* 8012FB84 38 80 00 02 */ li r4, 2 -/* 8012FB88 4B FF 16 39 */ bl setFootEffectProcType__9daAlink_cFi -/* 8012FB8C 38 00 00 08 */ li r0, 8 -/* 8012FB90 98 1F 2F 9D */ stb r0, 0x2f9d(r31) -/* 8012FB94 38 00 00 00 */ li r0, 0 -/* 8012FB98 98 1F 2F 98 */ stb r0, 0x2f98(r31) -/* 8012FB9C 38 60 00 01 */ li r3, 1 -/* 8012FBA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012FBA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012FBA8 7C 08 03 A6 */ mtlr r0 -/* 8012FBAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012FBB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlipTurnLand__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSlipTurnLand__9daAlink_cFv.s deleted file mode 100644 index ead55ac5dc..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlipTurnLand__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8012FBB4: -/* 8012FBB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012FBB8 7C 08 02 A6 */ mflr r0 -/* 8012FBBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012FBC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012FBC4 93 C1 00 08 */ stw r30, 8(r1) -/* 8012FBC8 7C 7E 1B 78 */ mr r30, r3 -/* 8012FBCC 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8012FBD0 38 00 00 05 */ li r0, 5 -/* 8012FBD4 98 03 2F 99 */ stb r0, 0x2f99(r3) -/* 8012FBD8 7F E3 FB 78 */ mr r3, r31 -/* 8012FBDC 48 02 E8 F1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012FBE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012FBE4 41 82 00 14 */ beq lbl_8012FBF8 -/* 8012FBE8 7F C3 F3 78 */ mr r3, r30 -/* 8012FBEC 38 80 00 00 */ li r4, 0 -/* 8012FBF0 4B FF 9F 55 */ bl checkNextActionWolf__9daAlink_cFi -/* 8012FBF4 48 00 00 28 */ b lbl_8012FC1C -lbl_8012FBF8: -/* 8012FBF8 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 8012FBFC 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012FC00 38 63 EE 28 */ addi r3, r3, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012FC04 C0 03 00 24 */ lfs f0, 0x24(r3) -/* 8012FC08 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012FC0C 40 81 00 10 */ ble lbl_8012FC1C -/* 8012FC10 7F C3 F3 78 */ mr r3, r30 -/* 8012FC14 38 80 00 01 */ li r4, 1 -/* 8012FC18 4B FF 9F 2D */ bl checkNextActionWolf__9daAlink_cFi -lbl_8012FC1C: -/* 8012FC1C 38 60 00 01 */ li r3, 1 -/* 8012FC20 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012FC24 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012FC28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012FC2C 7C 08 03 A6 */ mtlr r0 -/* 8012FC30 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012FC34 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlopeStartInit__9daAlink_cFi.s b/asm/d/a/d_a_alink/procWolfSlopeStartInit__9daAlink_cFi.s deleted file mode 100644 index 8df4b61651..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlopeStartInit__9daAlink_cFi.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80130440: -/* 80130440 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80130444 7C 08 02 A6 */ mflr r0 -/* 80130448 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013044C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80130450 93 C1 00 08 */ stw r30, 8(r1) -/* 80130454 7C 7E 1B 78 */ mr r30, r3 -/* 80130458 7C 9F 23 78 */ mr r31, r4 -/* 8013045C 38 80 01 12 */ li r4, 0x112 -/* 80130460 4B F9 1B 0D */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80130464 7F C3 F3 78 */ mr r3, r30 -/* 80130468 38 80 00 6B */ li r4, 0x6b -/* 8013046C 3C A0 80 39 */ lis r5, m__21daAlinkHIO_wlSlide_c0@ha /* 0x8038F3F0@ha */ -/* 80130470 38 A5 F3 F0 */ addi r5, r5, m__21daAlinkHIO_wlSlide_c0@l /* 0x8038F3F0@l */ -/* 80130474 38 A5 00 3C */ addi r5, r5, 0x3c -/* 80130478 4B FF 93 D1 */ bl setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c -/* 8013047C 3C 60 80 42 */ lis r3, l_wolfBaseAnime@ha /* 0x8042561C@ha */ -/* 80130480 C4 03 56 1C */ lfsu f0, l_wolfBaseAnime@l(r3) /* 0x8042561C@l */ -/* 80130484 D0 1E 35 88 */ stfs f0, 0x3588(r30) -/* 80130488 C0 03 00 04 */ lfs f0, 4(r3) -/* 8013048C D0 1E 35 8C */ stfs f0, 0x358c(r30) -/* 80130490 C0 03 00 08 */ lfs f0, 8(r3) -/* 80130494 D0 1E 35 90 */ stfs f0, 0x3590(r30) -/* 80130498 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8013049C D0 1E 33 98 */ stfs f0, 0x3398(r30) -/* 801304A0 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 801304A4 B0 1E 04 DE */ sth r0, 0x4de(r30) -/* 801304A8 2C 1F 00 00 */ cmpwi r31, 0 -/* 801304AC 41 82 00 0C */ beq lbl_801304B8 -/* 801304B0 38 00 00 0D */ li r0, 0xd -/* 801304B4 98 1E 2F 99 */ stb r0, 0x2f99(r30) -lbl_801304B8: -/* 801304B8 38 60 00 01 */ li r3, 1 -/* 801304BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801304C0 83 C1 00 08 */ lwz r30, 8(r1) -/* 801304C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801304C8 7C 08 03 A6 */ mtlr r0 -/* 801304CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801304D0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSlopeStart__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSlopeStart__9daAlink_cFv.s deleted file mode 100644 index eeec88cf2b..0000000000 --- a/asm/d/a/d_a_alink/procWolfSlopeStart__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_801304D4: -/* 801304D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801304D8 7C 08 02 A6 */ mflr r0 -/* 801304DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801304E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801304E4 93 C1 00 08 */ stw r30, 8(r1) -/* 801304E8 7C 7E 1B 78 */ mr r30, r3 -/* 801304EC 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 801304F0 7F E3 FB 78 */ mr r3, r31 -/* 801304F4 48 02 DF D9 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 801304F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801304FC 41 82 00 14 */ beq lbl_80130510 -/* 80130500 7F C3 F3 78 */ mr r3, r30 -/* 80130504 38 80 00 00 */ li r4, 0 -/* 80130508 4B FF 96 3D */ bl checkNextActionWolf__9daAlink_cFi -/* 8013050C 48 00 00 44 */ b lbl_80130550 -lbl_80130510: -/* 80130510 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 80130514 3C 60 80 39 */ lis r3, m__21daAlinkHIO_wlSlide_c0@ha /* 0x8038F3F0@ha */ -/* 80130518 38 63 F3 F0 */ addi r3, r3, m__21daAlinkHIO_wlSlide_c0@l /* 0x8038F3F0@l */ -/* 8013051C C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 80130520 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80130524 40 81 00 24 */ ble lbl_80130548 -/* 80130528 7F C3 F3 78 */ mr r3, r30 -/* 8013052C 38 80 00 01 */ li r4, 1 -/* 80130530 4B FF 96 15 */ bl checkNextActionWolf__9daAlink_cFi -/* 80130534 2C 03 00 00 */ cmpwi r3, 0 -/* 80130538 40 82 00 18 */ bne lbl_80130550 -/* 8013053C 38 00 00 05 */ li r0, 5 -/* 80130540 98 1E 2F 99 */ stb r0, 0x2f99(r30) -/* 80130544 48 00 00 0C */ b lbl_80130550 -lbl_80130548: -/* 80130548 38 00 00 05 */ li r0, 5 -/* 8013054C 98 1E 2F 99 */ stb r0, 0x2f99(r30) -lbl_80130550: -/* 80130550 38 60 00 01 */ li r3, 1 -/* 80130554 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80130558 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013055C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80130560 7C 08 03 A6 */ mtlr r0 -/* 80130564 38 21 00 10 */ addi r1, r1, 0x10 -/* 80130568 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSwimMoveInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSwimMoveInit__9daAlink_cFv.s deleted file mode 100644 index abc4b51527..0000000000 --- a/asm/d/a/d_a_alink/procWolfSwimMoveInit__9daAlink_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8013871C: -/* 8013871C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80138720 7C 08 02 A6 */ mflr r0 -/* 80138724 90 01 00 14 */ stw r0, 0x14(r1) -/* 80138728 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8013872C 7C 7F 1B 78 */ mr r31, r3 -/* 80138730 38 80 01 29 */ li r4, 0x129 -/* 80138734 4B F8 98 39 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80138738 7F E3 FB 78 */ mr r3, r31 -/* 8013873C 4B FF FA 4D */ bl getWolfSwimMoveAnmSpeed__9daAlink_cFv -/* 80138740 7F E3 FB 78 */ mr r3, r31 -/* 80138744 38 80 00 38 */ li r4, 0x38 -/* 80138748 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 8013874C 38 A5 F8 B4 */ addi r5, r5, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 80138750 C0 45 00 78 */ lfs f2, 0x78(r5) -/* 80138754 4B FF 0F 85 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 80138758 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 8013875C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 80138760 41 82 00 14 */ beq lbl_80138774 -/* 80138764 C0 1F 33 B4 */ lfs f0, 0x33b4(r31) -/* 80138768 D0 1F 04 D4 */ stfs f0, 0x4d4(r31) -/* 8013876C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 80138770 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -lbl_80138774: -/* 80138774 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80138778 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8013877C 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 80138780 64 00 00 10 */ oris r0, r0, 0x10 -/* 80138784 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 80138788 38 60 00 01 */ li r3, 1 -/* 8013878C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80138790 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80138794 7C 08 03 A6 */ mtlr r0 -/* 80138798 38 21 00 10 */ addi r1, r1, 0x10 -/* 8013879C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSwimUp__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSwimUp__9daAlink_cFv.s deleted file mode 100644 index dab63ea7b5..0000000000 --- a/asm/d/a/d_a_alink/procWolfSwimUp__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80138484: -/* 80138484 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80138488 7C 08 02 A6 */ mflr r0 -/* 8013848C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80138490 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80138494 93 C1 00 08 */ stw r30, 8(r1) -/* 80138498 7C 7E 1B 78 */ mr r30, r3 -/* 8013849C 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 801384A0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801384A4 3C 80 80 39 */ lis r4, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 801384A8 38 84 F8 B4 */ addi r4, r4, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 801384AC C0 44 00 54 */ lfs f2, 0x54(r4) -/* 801384B0 4B F7 B4 75 */ bl setNormalSpeedF__9daAlink_cFff -/* 801384B4 7F E3 FB 78 */ mr r3, r31 -/* 801384B8 48 02 60 15 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 801384BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801384C0 41 82 00 14 */ beq lbl_801384D4 -/* 801384C4 7F C3 F3 78 */ mr r3, r30 -/* 801384C8 38 80 00 00 */ li r4, 0 -/* 801384CC 48 00 00 61 */ bl procWolfSwimWaitInit__9daAlink_cFi -/* 801384D0 48 00 00 40 */ b lbl_80138510 -lbl_801384D4: -/* 801384D4 C0 3E 33 AC */ lfs f1, 0x33ac(r30) -/* 801384D8 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 801384DC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801384E0 40 81 00 28 */ ble lbl_80138508 -/* 801384E4 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 801384E8 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 801384EC 38 63 F8 B4 */ addi r3, r3, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 801384F0 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 801384F4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801384F8 40 81 00 10 */ ble lbl_80138508 -/* 801384FC 7F C3 F3 78 */ mr r3, r30 -/* 80138500 48 00 02 1D */ bl procWolfSwimMoveInit__9daAlink_cFv -/* 80138504 48 00 00 0C */ b lbl_80138510 -lbl_80138508: -/* 80138508 C0 1E 33 B4 */ lfs f0, 0x33b4(r30) -/* 8013850C D0 1E 04 D4 */ stfs f0, 0x4d4(r30) -lbl_80138510: -/* 80138510 38 60 00 01 */ li r3, 1 -/* 80138514 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80138518 83 C1 00 08 */ lwz r30, 8(r1) -/* 8013851C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80138520 7C 08 03 A6 */ mtlr r0 -/* 80138524 38 21 00 10 */ addi r1, r1, 0x10 -/* 80138528 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfSwimWait__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfSwimWait__9daAlink_cFv.s deleted file mode 100644 index 71cb473ca0..0000000000 --- a/asm/d/a/d_a_alink/procWolfSwimWait__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_80138644: -/* 80138644 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80138648 7C 08 02 A6 */ mflr r0 -/* 8013864C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80138650 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80138654 7C 7F 1B 78 */ mr r31, r3 -/* 80138658 80 03 06 14 */ lwz r0, 0x614(r3) -/* 8013865C 28 00 00 06 */ cmplwi r0, 6 -/* 80138660 41 82 00 0C */ beq lbl_8013866C -/* 80138664 28 00 00 08 */ cmplwi r0, 8 -/* 80138668 40 82 00 14 */ bne lbl_8013867C -lbl_8013866C: -/* 8013866C 7F E3 FB 78 */ mr r3, r31 -/* 80138670 4B FD FE FD */ bl setShapeAngleToTalkActor__9daAlink_cFv -/* 80138674 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 80138678 B0 1F 04 DE */ sth r0, 0x4de(r31) -lbl_8013867C: -/* 8013867C 7F E3 FB 78 */ mr r3, r31 -/* 80138680 4B FF F9 81 */ bl setSpeedAndAngleSwimWolf__9daAlink_cFv -/* 80138684 7F E3 FB 78 */ mr r3, r31 -/* 80138688 4B FC B9 AD */ bl setSwimUpDownOffset__9daAlink_cFv -/* 8013868C 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 80138690 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 80138694 41 82 00 18 */ beq lbl_801386AC -/* 80138698 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 8013869C 38 63 F8 B4 */ addi r3, r3, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 801386A0 C0 03 00 64 */ lfs f0, 0x64(r3) -/* 801386A4 D0 1F 1F DC */ stfs f0, 0x1fdc(r31) -/* 801386A8 48 00 00 14 */ b lbl_801386BC -lbl_801386AC: -/* 801386AC 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 801386B0 38 63 F8 B4 */ addi r3, r3, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 801386B4 C0 03 00 88 */ lfs f0, 0x88(r3) -/* 801386B8 D0 1F 1F DC */ stfs f0, 0x1fdc(r31) -lbl_801386BC: -/* 801386BC 7F E3 FB 78 */ mr r3, r31 -/* 801386C0 4B FC A9 99 */ bl checkSwimUpAction__9daAlink_cFv -/* 801386C4 2C 03 00 00 */ cmpwi r3, 0 -/* 801386C8 41 82 00 0C */ beq lbl_801386D4 -/* 801386CC 38 60 00 01 */ li r3, 1 -/* 801386D0 48 00 00 38 */ b lbl_80138708 -lbl_801386D4: -/* 801386D4 7F E3 FB 78 */ mr r3, r31 -/* 801386D8 4B FF FB 21 */ bl decideDoStatusSwimWolf__9daAlink_cFv -/* 801386DC 2C 03 00 00 */ cmpwi r3, 0 -/* 801386E0 41 82 00 0C */ beq lbl_801386EC -/* 801386E4 38 60 00 01 */ li r3, 1 -/* 801386E8 48 00 00 20 */ b lbl_80138708 -lbl_801386EC: -/* 801386EC C0 3F 33 AC */ lfs f1, 0x33ac(r31) -/* 801386F0 C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 801386F4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 801386F8 40 81 00 0C */ ble lbl_80138704 -/* 801386FC 7F E3 FB 78 */ mr r3, r31 -/* 80138700 48 00 00 1D */ bl procWolfSwimMoveInit__9daAlink_cFv -lbl_80138704: -/* 80138704 38 60 00 01 */ li r3, 1 -lbl_80138708: -/* 80138708 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8013870C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80138710 7C 08 03 A6 */ mtlr r0 -/* 80138714 38 21 00 10 */ addi r1, r1, 0x10 -/* 80138718 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfTiredWaitInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfTiredWaitInit__9daAlink_cFv.s deleted file mode 100644 index c8c0440cc7..0000000000 --- a/asm/d/a/d_a_alink/procWolfTiredWaitInit__9daAlink_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_8012CF68: -/* 8012CF68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012CF6C 7C 08 02 A6 */ mflr r0 -/* 8012CF70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012CF74 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012CF78 7C 7F 1B 78 */ mr r31, r3 -/* 8012CF7C 4B FF F0 2D */ bl checkWolfWaitSlipPolygon__9daAlink_cFv -/* 8012CF80 2C 03 00 00 */ cmpwi r3, 0 -/* 8012CF84 41 82 00 20 */ beq lbl_8012CFA4 -/* 8012CF88 C0 3F 33 AC */ lfs f1, 0x33ac(r31) -/* 8012CF8C C0 02 92 A4 */ lfs f0, lit_6021(r2) -/* 8012CF90 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8012CF94 41 81 00 10 */ bgt lbl_8012CFA4 -/* 8012CF98 7F E3 FB 78 */ mr r3, r31 -/* 8012CF9C 48 00 32 49 */ bl procWolfWaitSlipInit__9daAlink_cFv -/* 8012CFA0 48 00 00 38 */ b lbl_8012CFD8 -lbl_8012CFA4: -/* 8012CFA4 7F E3 FB 78 */ mr r3, r31 -/* 8012CFA8 38 80 00 EF */ li r4, 0xef -/* 8012CFAC 4B F9 5D F9 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012CFB0 2C 03 00 00 */ cmpwi r3, 0 -/* 8012CFB4 40 82 00 0C */ bne lbl_8012CFC0 -/* 8012CFB8 38 60 00 00 */ li r3, 0 -/* 8012CFBC 48 00 00 1C */ b lbl_8012CFD8 -lbl_8012CFC0: -/* 8012CFC0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012CFC4 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 8012CFC8 7F E3 FB 78 */ mr r3, r31 -/* 8012CFCC 38 80 00 18 */ li r4, 0x18 -/* 8012CFD0 4B FF C6 A9 */ bl setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM -/* 8012CFD4 38 60 00 01 */ li r3, 1 -lbl_8012CFD8: -/* 8012CFD8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012CFDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012CFE0 7C 08 03 A6 */ mtlr r0 -/* 8012CFE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012CFE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfTiredWait__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfTiredWait__9daAlink_cFv.s deleted file mode 100644 index 37e46cf9f6..0000000000 --- a/asm/d/a/d_a_alink/procWolfTiredWait__9daAlink_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8012CFEC: -/* 8012CFEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012CFF0 7C 08 02 A6 */ mflr r0 -/* 8012CFF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012CFF8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012CFFC 93 C1 00 08 */ stw r30, 8(r1) -/* 8012D000 7C 7E 1B 78 */ mr r30, r3 -/* 8012D004 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8012D008 38 80 00 00 */ li r4, 0 -/* 8012D00C 4B FF CB 39 */ bl checkNextActionWolf__9daAlink_cFi -/* 8012D010 2C 03 00 00 */ cmpwi r3, 0 -/* 8012D014 40 82 00 20 */ bne lbl_8012D034 -/* 8012D018 7F E3 FB 78 */ mr r3, r31 -/* 8012D01C 48 03 14 B1 */ bl checkAnmEnd__16daPy_frameCtrl_cFv -/* 8012D020 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8012D024 41 82 00 10 */ beq lbl_8012D034 -/* 8012D028 7F C3 F3 78 */ mr r3, r30 -/* 8012D02C 38 80 00 17 */ li r4, 0x17 -/* 8012D030 4B FF C6 49 */ bl setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM -lbl_8012D034: -/* 8012D034 38 60 00 01 */ li r3, 1 -/* 8012D038 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012D03C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8012D040 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012D044 7C 08 03 A6 */ mtlr r0 -/* 8012D048 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012D04C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfWaitSlipInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfWaitSlipInit__9daAlink_cFv.s deleted file mode 100644 index ed7483215b..0000000000 --- a/asm/d/a/d_a_alink/procWolfWaitSlipInit__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_801301E4: -/* 801301E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801301E8 7C 08 02 A6 */ mflr r0 -/* 801301EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801301F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801301F4 7C 7F 1B 78 */ mr r31, r3 -/* 801301F8 38 80 01 11 */ li r4, 0x111 -/* 801301FC 4B F9 2B A9 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 80130200 2C 03 00 00 */ cmpwi r3, 0 -/* 80130204 40 82 00 0C */ bne lbl_80130210 -/* 80130208 38 60 00 00 */ li r3, 0 -/* 8013020C 48 00 00 48 */ b lbl_80130254 -lbl_80130210: -/* 80130210 7F E3 FB 78 */ mr r3, r31 -/* 80130214 38 80 00 1C */ li r4, 0x1c -/* 80130218 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8013021C 38 A5 EE 28 */ addi r5, r5, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 80130220 C0 25 00 B8 */ lfs f1, 0xb8(r5) -/* 80130224 C0 45 00 BC */ lfs f2, 0xbc(r5) -/* 80130228 4B FF 94 B1 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 8013022C C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 80130230 D0 1F 33 98 */ stfs f0, 0x3398(r31) -/* 80130234 7F E3 FB 78 */ mr r3, r31 -/* 80130238 4B FF BF BD */ bl setWolfWaitSlip__9daAlink_cFv -/* 8013023C 38 00 00 78 */ li r0, 0x78 -/* 80130240 98 1F 2F 9D */ stb r0, 0x2f9d(r31) -/* 80130244 7F E3 FB 78 */ mr r3, r31 -/* 80130248 38 80 00 01 */ li r4, 1 -/* 8013024C 4B FF 0F 75 */ bl setFootEffectProcType__9daAlink_cFi -/* 80130250 38 60 00 01 */ li r3, 1 -lbl_80130254: -/* 80130254 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80130258 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8013025C 7C 08 03 A6 */ mtlr r0 -/* 80130260 38 21 00 10 */ addi r1, r1, 0x10 -/* 80130264 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/procWolfWaitTurnInit__9daAlink_cFv.s b/asm/d/a/d_a_alink/procWolfWaitTurnInit__9daAlink_cFv.s deleted file mode 100644 index aa3c993945..0000000000 --- a/asm/d/a/d_a_alink/procWolfWaitTurnInit__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_8012DD08: -/* 8012DD08 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012DD0C 7C 08 02 A6 */ mflr r0 -/* 8012DD10 90 01 00 14 */ stw r0, 0x14(r1) -/* 8012DD14 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8012DD18 7C 7F 1B 78 */ mr r31, r3 -/* 8012DD1C 38 80 00 F5 */ li r4, 0xf5 -/* 8012DD20 4B F9 50 85 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC -/* 8012DD24 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DD28 40 82 00 0C */ bne lbl_8012DD34 -/* 8012DD2C 38 60 00 00 */ li r3, 0 -/* 8012DD30 48 00 00 70 */ b lbl_8012DDA0 -lbl_8012DD34: -/* 8012DD34 7F E3 FB 78 */ mr r3, r31 -/* 8012DD38 38 80 00 01 */ li r4, 1 -/* 8012DD3C 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 8012DD40 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 8012DD44 41 82 00 14 */ beq lbl_8012DD58 -/* 8012DD48 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012DD4C 38 A5 EE 28 */ addi r5, r5, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012DD50 C0 25 00 74 */ lfs f1, 0x74(r5) -/* 8012DD54 48 00 00 10 */ b lbl_8012DD64 -lbl_8012DD58: -/* 8012DD58 3C A0 80 39 */ lis r5, m__23daAlinkHIO_wlMoveNoP_c0@ha /* 0x8038EF28@ha */ -/* 8012DD5C 38 A5 EF 28 */ addi r5, r5, m__23daAlinkHIO_wlMoveNoP_c0@l /* 0x8038EF28@l */ -/* 8012DD60 C0 25 00 18 */ lfs f1, 0x18(r5) -lbl_8012DD64: -/* 8012DD64 3C A0 80 39 */ lis r5, m__20daAlinkHIO_wlMove_c0@ha /* 0x8038EE28@ha */ -/* 8012DD68 38 A5 EE 28 */ addi r5, r5, m__20daAlinkHIO_wlMove_c0@l /* 0x8038EE28@l */ -/* 8012DD6C C0 45 00 94 */ lfs f2, 0x94(r5) -/* 8012DD70 4B FF B9 69 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 8012DD74 7F E3 FB 78 */ mr r3, r31 -/* 8012DD78 4B FE 7E A9 */ bl checkEventRun__9daAlink_cCFv -/* 8012DD7C 2C 03 00 00 */ cmpwi r3, 0 -/* 8012DD80 41 82 00 0C */ beq lbl_8012DD8C -/* 8012DD84 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8012DD88 D0 1F 33 98 */ stfs f0, 0x3398(r31) -lbl_8012DD8C: -/* 8012DD8C A8 1F 2F E2 */ lha r0, 0x2fe2(r31) -/* 8012DD90 B0 1F 30 0E */ sth r0, 0x300e(r31) -/* 8012DD94 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8012DD98 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 8012DD9C 38 60 00 01 */ li r3, 1 -lbl_8012DDA0: -/* 8012DDA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8012DDA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012DDA8 7C 08 03 A6 */ mtlr r0 -/* 8012DDAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8012DDB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetAtCollision__9daAlink_cFi.s b/asm/d/a/d_a_alink/resetAtCollision__9daAlink_cFi.s deleted file mode 100644 index e100aef754..0000000000 --- a/asm/d/a/d_a_alink/resetAtCollision__9daAlink_cFi.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_800AA9DC: -/* 800AA9DC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800AA9E0 7C 08 02 A6 */ mflr r0 -/* 800AA9E4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800AA9E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800AA9EC 48 2B 77 ED */ bl _savegpr_28 -/* 800AA9F0 7C 7C 1B 78 */ mr r28, r3 -/* 800AA9F4 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800AA9F8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800AA9FC 41 82 00 A8 */ beq lbl_800AAAA4 -/* 800AAA00 2C 04 00 00 */ cmpwi r4, 0 -/* 800AAA04 41 82 00 5C */ beq lbl_800AAA60 -/* 800AAA08 38 9C 12 2C */ addi r4, r28, 0x122c -/* 800AAA0C 48 02 6D E1 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AAA10 2C 03 00 00 */ cmpwi r3, 0 -/* 800AAA14 40 82 00 4C */ bne lbl_800AAA60 -/* 800AAA18 7F 83 E3 78 */ mr r3, r28 -/* 800AAA1C 38 9C 13 70 */ addi r4, r28, 0x1370 -/* 800AAA20 48 02 6D CD */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AAA24 2C 03 00 00 */ cmpwi r3, 0 -/* 800AAA28 40 82 00 38 */ bne lbl_800AAA60 -/* 800AAA2C 7F 83 E3 78 */ mr r3, r28 -/* 800AAA30 38 9C 14 B4 */ addi r4, r28, 0x14b4 -/* 800AAA34 48 02 6D B9 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AAA38 2C 03 00 00 */ cmpwi r3, 0 -/* 800AAA3C 40 82 00 24 */ bne lbl_800AAA60 -/* 800AAA40 7F 83 E3 78 */ mr r3, r28 -/* 800AAA44 38 9C 10 F0 */ addi r4, r28, 0x10f0 -/* 800AAA48 48 02 6D A5 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AAA4C 2C 03 00 00 */ cmpwi r3, 0 -/* 800AAA50 40 82 00 10 */ bne lbl_800AAA60 -/* 800AAA54 7F 83 E3 78 */ mr r3, r28 -/* 800AAA58 38 9C 0F B8 */ addi r4, r28, 0xfb8 -/* 800AAA5C 48 02 6D 91 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -lbl_800AAA60: -/* 800AAA60 80 1C 05 70 */ lwz r0, 0x570(r28) -/* 800AAA64 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 -/* 800AAA68 90 1C 05 70 */ stw r0, 0x570(r28) -/* 800AAA6C 3B A0 00 00 */ li r29, 0 -/* 800AAA70 3B E0 00 00 */ li r31, 0 -lbl_800AAA74: -/* 800AAA74 7F DC FA 14 */ add r30, r28, r31 -/* 800AAA78 38 7E 12 2C */ addi r3, r30, 0x122c -/* 800AAA7C 4B FD 98 9D */ bl ResetAtHit__12dCcD_GObjInfFv -/* 800AAA80 80 1E 12 2C */ lwz r0, 0x122c(r30) -/* 800AAA84 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800AAA88 90 1E 12 2C */ stw r0, 0x122c(r30) -/* 800AAA8C 3B BD 00 01 */ addi r29, r29, 1 -/* 800AAA90 2C 1D 00 03 */ cmpwi r29, 3 -/* 800AAA94 3B FF 01 44 */ addi r31, r31, 0x144 -/* 800AAA98 41 80 FF DC */ blt lbl_800AAA74 -/* 800AAA9C 38 7C 0F B8 */ addi r3, r28, 0xfb8 -/* 800AAAA0 4B FD 98 79 */ bl ResetAtHit__12dCcD_GObjInfFv -lbl_800AAAA4: -/* 800AAAA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800AAAA8 48 2B 77 7D */ bl _restgpr_28 -/* 800AAAAC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800AAAB0 7C 08 03 A6 */ mtlr r0 -/* 800AAAB4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800AAAB8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetBasAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetBasAnime__9daAlink_cFv.s deleted file mode 100644 index 50e01f128d..0000000000 --- a/asm/d/a/d_a_alink/resetBasAnime__9daAlink_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800BF4E0: -/* 800BF4E0 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 800BF4E4 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 800BF4E8 B0 03 30 84 */ sth r0, 0x3084(r3) -/* 800BF4EC B0 03 30 86 */ sth r0, 0x3086(r3) -/* 800BF4F0 38 00 00 00 */ li r0, 0 -/* 800BF4F4 90 03 2D 7C */ stw r0, 0x2d7c(r3) -/* 800BF4F8 90 03 2D 80 */ stw r0, 0x2d80(r3) -/* 800BF4FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetDemoBck__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetDemoBck__9daAlink_cFv.s deleted file mode 100644 index 98dd32e6fb..0000000000 --- a/asm/d/a/d_a_alink/resetDemoBck__9daAlink_cFv.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_80117B90: -/* 80117B90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80117B94 7C 08 02 A6 */ mflr r0 -/* 80117B98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80117B9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80117BA0 7C 7F 1B 78 */ mr r31, r3 -/* 80117BA4 3C 80 80 39 */ lis r4, lit_3757@ha /* 0x8038D658@ha */ -/* 80117BA8 38 C4 D6 58 */ addi r6, r4, lit_3757@l /* 0x8038D658@l */ -/* 80117BAC 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 80117BB0 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 80117BB4 B0 03 21 44 */ sth r0, 0x2144(r3) -/* 80117BB8 B0 03 21 1C */ sth r0, 0x211c(r3) -/* 80117BBC B0 03 21 30 */ sth r0, 0x2130(r3) -/* 80117BC0 B0 03 1F 5C */ sth r0, 0x1f5c(r3) -/* 80117BC4 B0 03 1F 58 */ sth r0, 0x1f58(r3) -/* 80117BC8 B0 03 21 40 */ sth r0, 0x2140(r3) -/* 80117BCC B0 03 21 18 */ sth r0, 0x2118(r3) -/* 80117BD0 B0 03 21 2C */ sth r0, 0x212c(r3) -/* 80117BD4 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80117BD8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80117BDC 41 82 00 2C */ beq lbl_80117C08 -/* 80117BE0 38 80 00 00 */ li r4, 0 -/* 80117BE4 38 A6 18 D0 */ addi r5, r6, 0x18d0 -/* 80117BE8 C0 25 00 14 */ lfs f1, 0x14(r5) -/* 80117BEC 38 A6 17 D0 */ addi r5, r6, 0x17d0 -/* 80117BF0 C0 45 00 94 */ lfs f2, 0x94(r5) -/* 80117BF4 48 01 1A E5 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 80117BF8 7F E3 FB 78 */ mr r3, r31 -/* 80117BFC 38 80 00 19 */ li r4, 0x19 -/* 80117C00 4B F9 7D A9 */ bl setFaceBasicAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 80117C04 48 00 00 1C */ b lbl_80117C20 -lbl_80117C08: -/* 80117C08 38 80 00 19 */ li r4, 0x19 -/* 80117C0C 38 A6 00 64 */ addi r5, r6, 0x64 -/* 80117C10 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 80117C14 38 A6 00 0C */ addi r5, r6, 0xc -/* 80117C18 C0 45 00 18 */ lfs f2, 0x18(r5) -/* 80117C1C 4B F9 53 C5 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -lbl_80117C20: -/* 80117C20 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80117C24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80117C28 7C 08 03 A6 */ mtlr r0 -/* 80117C2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80117C30 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetOilBottleModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetOilBottleModel__9daAlink_cFv.s deleted file mode 100644 index 080a0a76b8..0000000000 --- a/asm/d/a/d_a_alink/resetOilBottleModel__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80110F88: -/* 80110F88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80110F8C 7C 08 02 A6 */ mflr r0 -/* 80110F90 90 01 00 14 */ stw r0, 0x14(r1) -/* 80110F94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80110F98 7C 7F 1B 78 */ mr r31, r3 -/* 80110F9C 38 80 00 00 */ li r4, 0 -/* 80110FA0 38 A0 00 01 */ li r5, 1 -/* 80110FA4 4B FB 03 39 */ bl deleteEquipItem__9daAlink_cFii -/* 80110FA8 A8 1F 30 0E */ lha r0, 0x300e(r31) -/* 80110FAC 2C 00 00 00 */ cmpwi r0, 0 -/* 80110FB0 41 82 00 14 */ beq lbl_80110FC4 -/* 80110FB4 7F E3 FB 78 */ mr r3, r31 -/* 80110FB8 4B FF FE CD */ bl setKandelaarModel__9daAlink_cFv -/* 80110FBC 38 00 00 48 */ li r0, 0x48 -/* 80110FC0 B0 1F 2F DC */ sth r0, 0x2fdc(r31) -lbl_80110FC4: -/* 80110FC4 7F E3 FB 78 */ mr r3, r31 -/* 80110FC8 4B FA E8 BD */ bl returnKeepItemData__9daAlink_cFv -/* 80110FCC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80110FD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80110FD4 7C 08 03 A6 */ mtlr r0 -/* 80110FD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80110FDC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetSpecialEvent__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetSpecialEvent__9daAlink_cFv.s deleted file mode 100644 index d58891bc21..0000000000 --- a/asm/d/a/d_a_alink/resetSpecialEvent__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80117C90: -/* 80117C90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80117C94 7C 08 02 A6 */ mflr r0 -/* 80117C98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80117C9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80117CA0 93 C1 00 08 */ stw r30, 8(r1) -/* 80117CA4 7C 7E 1B 78 */ mr r30, r3 -/* 80117CA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80117CAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80117CB0 38 63 4E C8 */ addi r3, r3, 0x4ec8 -/* 80117CB4 4B F2 A7 B5 */ bl reset__14dEvt_control_cFv -/* 80117CB8 28 1E 00 00 */ cmplwi r30, 0 -/* 80117CBC 41 82 00 0C */ beq lbl_80117CC8 -/* 80117CC0 83 FE 00 04 */ lwz r31, 4(r30) -/* 80117CC4 48 00 00 08 */ b lbl_80117CCC -lbl_80117CC8: -/* 80117CC8 3B E0 FF FF */ li r31, -1 -lbl_80117CCC: -/* 80117CCC 48 06 99 75 */ bl dCam_getBody__Fv -/* 80117CD0 7F E4 FB 78 */ mr r4, r31 -/* 80117CD4 4B F7 0E E9 */ bl EndEventCamera__9dCamera_cFi -/* 80117CD8 7F C3 F3 78 */ mr r3, r30 -/* 80117CDC 48 00 00 1D */ bl endDemoMode__9daAlink_cFv -/* 80117CE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80117CE4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80117CE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80117CEC 7C 08 03 A6 */ mtlr r0 -/* 80117CF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80117CF4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetWolfAtCollision__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetWolfAtCollision__9daAlink_cFv.s deleted file mode 100644 index 0023cdff0b..0000000000 --- a/asm/d/a/d_a_alink/resetWolfAtCollision__9daAlink_cFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_800AA714: -/* 800AA714 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800AA718 7C 08 02 A6 */ mflr r0 -/* 800AA71C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800AA720 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800AA724 93 C1 00 08 */ stw r30, 8(r1) -/* 800AA728 7C 7E 1B 78 */ mr r30, r3 -/* 800AA72C 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800AA730 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800AA734 41 82 00 A0 */ beq lbl_800AA7D4 -/* 800AA738 38 9E 10 F0 */ addi r4, r30, 0x10f0 -/* 800AA73C 48 02 70 B1 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AA740 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA744 40 82 00 38 */ bne lbl_800AA77C -/* 800AA748 7F C3 F3 78 */ mr r3, r30 -/* 800AA74C 38 9E 08 50 */ addi r4, r30, 0x850 -/* 800AA750 48 02 70 9D */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AA754 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA758 40 82 00 24 */ bne lbl_800AA77C -/* 800AA75C 7F C3 F3 78 */ mr r3, r30 -/* 800AA760 38 9E 09 8C */ addi r4, r30, 0x98c -/* 800AA764 48 02 70 89 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AA768 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA76C 40 82 00 10 */ bne lbl_800AA77C -/* 800AA770 7F C3 F3 78 */ mr r3, r30 -/* 800AA774 38 9E 0A C8 */ addi r4, r30, 0xac8 -/* 800AA778 48 02 70 75 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -lbl_800AA77C: -/* 800AA77C 80 1E 10 54 */ lwz r0, 0x1054(r30) -/* 800AA780 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 -/* 800AA784 90 1E 10 54 */ stw r0, 0x1054(r30) -/* 800AA788 38 7E 10 F0 */ addi r3, r30, 0x10f0 -/* 800AA78C 4B FD 9B 8D */ bl ResetAtHit__12dCcD_GObjInfFv -/* 800AA790 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800AA794 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 -/* 800AA798 90 1E 05 70 */ stw r0, 0x570(r30) -/* 800AA79C 3B FE 08 50 */ addi r31, r30, 0x850 -/* 800AA7A0 3B C0 00 00 */ li r30, 0 -lbl_800AA7A4: -/* 800AA7A4 80 1F 00 00 */ lwz r0, 0(r31) -/* 800AA7A8 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 800AA7AC 90 1F 00 00 */ stw r0, 0(r31) -/* 800AA7B0 7F E3 FB 78 */ mr r3, r31 -/* 800AA7B4 4B FD 9B 65 */ bl ResetAtHit__12dCcD_GObjInfFv -/* 800AA7B8 80 1F 00 9C */ lwz r0, 0x9c(r31) -/* 800AA7BC 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 -/* 800AA7C0 90 1F 00 9C */ stw r0, 0x9c(r31) -/* 800AA7C4 3B DE 00 01 */ addi r30, r30, 1 -/* 800AA7C8 2C 1E 00 03 */ cmpwi r30, 3 -/* 800AA7CC 3B FF 01 3C */ addi r31, r31, 0x13c -/* 800AA7D0 41 80 FF D4 */ blt lbl_800AA7A4 -lbl_800AA7D4: -/* 800AA7D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800AA7D8 83 C1 00 08 */ lwz r30, 8(r1) -/* 800AA7DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800AA7E0 7C 08 03 A6 */ mtlr r0 -/* 800AA7E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800AA7E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/resetWolfEnemyBiteAll__9daAlink_cFv.s b/asm/d/a/d_a_alink/resetWolfEnemyBiteAll__9daAlink_cFv.s deleted file mode 100644 index af59c0cc41..0000000000 --- a/asm/d/a/d_a_alink/resetWolfEnemyBiteAll__9daAlink_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80138C04: -/* 80138C04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80138C08 7C 08 02 A6 */ mflr r0 -/* 80138C0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80138C10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80138C14 7C 7F 1B 78 */ mr r31, r3 -/* 80138C18 38 7F 28 1C */ addi r3, r31, 0x281c -/* 80138C1C 48 02 60 E1 */ bl clearData__16daPy_actorKeep_cFv -/* 80138C20 80 7F 05 78 */ lwz r3, 0x578(r31) -/* 80138C24 38 00 FF A7 */ li r0, -89 -/* 80138C28 7C 60 00 38 */ and r0, r3, r0 -/* 80138C2C 90 1F 05 78 */ stw r0, 0x578(r31) -/* 80138C30 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80138C34 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80138C38 7C 08 03 A6 */ mtlr r0 -/* 80138C3C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80138C40 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/returnBoomerang__9daAlink_cFi.s b/asm/d/a/d_a_alink/returnBoomerang__9daAlink_cFi.s deleted file mode 100644 index 0518ab3c4a..0000000000 --- a/asm/d/a/d_a_alink/returnBoomerang__9daAlink_cFi.s +++ /dev/null @@ -1,126 +0,0 @@ -lbl_800E08C4: -/* 800E08C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E08C8 7C 08 02 A6 */ mflr r0 -/* 800E08CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E08D0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E08D4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800E08D8 7C 7F 1B 78 */ mr r31, r3 -/* 800E08DC 7C 9E 23 78 */ mr r30, r4 -/* 800E08E0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E08E4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E08E8 80 04 5F 18 */ lwz r0, 0x5f18(r4) -/* 800E08EC 54 00 02 90 */ rlwinm r0, r0, 0, 0xa, 8 -/* 800E08F0 90 04 5F 18 */ stw r0, 0x5f18(r4) -/* 800E08F4 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800E08F8 28 00 00 FF */ cmplwi r0, 0xff -/* 800E08FC 40 82 01 7C */ bne lbl_800E0A78 -/* 800E0900 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800E0904 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 800E0908 40 82 01 70 */ bne lbl_800E0A78 -/* 800E090C 80 1F 28 28 */ lwz r0, 0x2828(r31) -/* 800E0910 28 00 00 00 */ cmplwi r0, 0 -/* 800E0914 40 82 01 64 */ bne lbl_800E0A78 -/* 800E0918 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800E091C 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 800E0920 7D 89 03 A6 */ mtctr r12 -/* 800E0924 4E 80 04 21 */ bctrl -/* 800E0928 28 03 00 00 */ cmplwi r3, 0 -/* 800E092C 40 82 01 4C */ bne lbl_800E0A78 -/* 800E0930 7F E3 FB 78 */ mr r3, r31 -/* 800E0934 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800E0938 81 8C 01 8C */ lwz r12, 0x18c(r12) -/* 800E093C 7D 89 03 A6 */ mtctr r12 -/* 800E0940 4E 80 04 21 */ bctrl -/* 800E0944 28 03 00 00 */ cmplwi r3, 0 -/* 800E0948 40 82 01 30 */ bne lbl_800E0A78 -/* 800E094C 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800E0950 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800E0954 40 82 01 24 */ bne lbl_800E0A78 -/* 800E0958 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800E095C 28 00 00 5C */ cmplwi r0, 0x5c -/* 800E0960 40 82 00 10 */ bne lbl_800E0970 -/* 800E0964 80 1F 31 98 */ lwz r0, 0x3198(r31) -/* 800E0968 2C 00 00 03 */ cmpwi r0, 3 -/* 800E096C 41 82 01 0C */ beq lbl_800E0A78 -lbl_800E0970: -/* 800E0970 7F E3 FB 78 */ mr r3, r31 -/* 800E0974 48 03 52 AD */ bl checkEventRun__9daAlink_cCFv -/* 800E0978 2C 03 00 00 */ cmpwi r3, 0 -/* 800E097C 41 82 00 0C */ beq lbl_800E0988 -/* 800E0980 2C 1E 00 00 */ cmpwi r30, 0 -/* 800E0984 41 82 00 F4 */ beq lbl_800E0A78 -lbl_800E0988: -/* 800E0988 7F E3 FB 78 */ mr r3, r31 -/* 800E098C 4B FD 88 C9 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 800E0990 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0994 40 82 00 64 */ bne lbl_800E09F8 -/* 800E0998 7F E3 FB 78 */ mr r3, r31 -/* 800E099C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800E09A0 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 800E09A4 7D 89 03 A6 */ mtctr r12 -/* 800E09A8 4E 80 04 21 */ bctrl -/* 800E09AC 2C 03 00 00 */ cmpwi r3, 0 -/* 800E09B0 40 82 00 48 */ bne lbl_800E09F8 -/* 800E09B4 38 60 00 00 */ li r3, 0 -/* 800E09B8 A0 9F 1F BC */ lhz r4, 0x1fbc(r31) -/* 800E09BC 28 04 02 4C */ cmplwi r4, 0x24c -/* 800E09C0 41 82 00 10 */ beq lbl_800E09D0 -/* 800E09C4 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 800E09C8 28 00 02 4D */ cmplwi r0, 0x24d -/* 800E09CC 40 82 00 08 */ bne lbl_800E09D4 -lbl_800E09D0: -/* 800E09D0 38 60 00 01 */ li r3, 1 -lbl_800E09D4: -/* 800E09D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E09D8 40 82 00 20 */ bne lbl_800E09F8 -/* 800E09DC 54 80 04 3E */ clrlwi r0, r4, 0x10 -/* 800E09E0 28 00 00 AD */ cmplwi r0, 0xad -/* 800E09E4 41 82 00 14 */ beq lbl_800E09F8 -/* 800E09E8 7F E3 FB 78 */ mr r3, r31 -/* 800E09EC 4B FF FA 55 */ bl checkBoomerangAnime__9daAlink_cCFv -/* 800E09F0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E09F4 41 82 00 84 */ beq lbl_800E0A78 -lbl_800E09F8: -/* 800E09F8 80 9F 31 A0 */ lwz r4, 0x31a0(r31) -/* 800E09FC 3C 60 01 BD */ lis r3, 0x01BD /* 0x01BD0810@ha */ -/* 800E0A00 38 03 08 10 */ addi r0, r3, 0x0810 /* 0x01BD0810@l */ -/* 800E0A04 7C 80 00 39 */ and. r0, r4, r0 -/* 800E0A08 40 82 00 70 */ bne lbl_800E0A78 -/* 800E0A0C 80 1F 28 34 */ lwz r0, 0x2834(r31) -/* 800E0A10 90 1F 28 24 */ stw r0, 0x2824(r31) -/* 800E0A14 80 1F 28 38 */ lwz r0, 0x2838(r31) -/* 800E0A18 90 1F 28 28 */ stw r0, 0x2828(r31) -/* 800E0A1C 38 7F 28 34 */ addi r3, r31, 0x2834 -/* 800E0A20 48 07 E2 DD */ bl clearData__16daPy_actorKeep_cFv -/* 800E0A24 38 00 00 40 */ li r0, 0x40 -/* 800E0A28 B0 1F 2F DC */ sth r0, 0x2fdc(r31) -/* 800E0A2C 38 00 00 02 */ li r0, 2 -/* 800E0A30 98 1F 2F 94 */ stb r0, 0x2f94(r31) -/* 800E0A34 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800E0A38 60 00 00 20 */ ori r0, r0, 0x20 -/* 800E0A3C 90 1F 05 70 */ stw r0, 0x570(r31) -/* 800E0A40 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800E0A44 D0 21 00 08 */ stfs f1, 8(r1) -/* 800E0A48 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800E0A4C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800E0A50 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800E0A54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E0A58 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E0A5C 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800E0A60 38 80 00 01 */ li r4, 1 -/* 800E0A64 38 A0 00 01 */ li r5, 1 -/* 800E0A68 38 C1 00 08 */ addi r6, r1, 8 -/* 800E0A6C 4B F8 EF B9 */ bl StartShock__12dVibration_cFii4cXyz -/* 800E0A70 38 60 00 01 */ li r3, 1 -/* 800E0A74 48 00 00 10 */ b lbl_800E0A84 -lbl_800E0A78: -/* 800E0A78 38 7F 28 34 */ addi r3, r31, 0x2834 -/* 800E0A7C 48 07 E2 81 */ bl clearData__16daPy_actorKeep_cFv -/* 800E0A80 38 60 00 00 */ li r3, 0 -lbl_800E0A84: -/* 800E0A84 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E0A88 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800E0A8C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E0A90 7C 08 03 A6 */ mtlr r0 -/* 800E0A94 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E0A98 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/returnCopyRod__9daAlink_cFv.s b/asm/d/a/d_a_alink/returnCopyRod__9daAlink_cFv.s deleted file mode 100644 index 27ae24ff5a..0000000000 --- a/asm/d/a/d_a_alink/returnCopyRod__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_800E1A30: -/* 800E1A30 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E1A34 7C 08 02 A6 */ mflr r0 -/* 800E1A38 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E1A3C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E1A40 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800E1A44 7C 7E 1B 78 */ mr r30, r3 -/* 800E1A48 80 03 05 7C */ lwz r0, 0x57c(r3) -/* 800E1A4C 54 00 03 98 */ rlwinm r0, r0, 0, 0xe, 0xc -/* 800E1A50 90 03 05 7C */ stw r0, 0x57c(r3) -/* 800E1A54 A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800E1A58 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E1A5C 40 82 00 58 */ bne lbl_800E1AB4 -/* 800E1A60 80 1E 28 3C */ lwz r0, 0x283c(r30) -/* 800E1A64 90 1E 28 24 */ stw r0, 0x2824(r30) -/* 800E1A68 80 1E 28 40 */ lwz r0, 0x2840(r30) -/* 800E1A6C 90 1E 28 28 */ stw r0, 0x2828(r30) -/* 800E1A70 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800E1A74 60 00 00 20 */ ori r0, r0, 0x20 -/* 800E1A78 90 1E 05 70 */ stw r0, 0x570(r30) -/* 800E1A7C 3B E0 00 01 */ li r31, 1 -/* 800E1A80 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800E1A84 D0 21 00 08 */ stfs f1, 8(r1) -/* 800E1A88 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800E1A8C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800E1A90 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800E1A94 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E1A98 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E1A9C 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800E1AA0 38 80 00 01 */ li r4, 1 -/* 800E1AA4 38 A0 00 01 */ li r5, 1 -/* 800E1AA8 38 C1 00 08 */ addi r6, r1, 8 -/* 800E1AAC 4B F8 DF 79 */ bl StartShock__12dVibration_cFii4cXyz -/* 800E1AB0 48 00 00 08 */ b lbl_800E1AB8 -lbl_800E1AB4: -/* 800E1AB4 3B E0 00 00 */ li r31, 0 -lbl_800E1AB8: -/* 800E1AB8 38 7E 28 3C */ addi r3, r30, 0x283c -/* 800E1ABC 48 07 D2 41 */ bl clearData__16daPy_actorKeep_cFv -/* 800E1AC0 7F E3 FB 78 */ mr r3, r31 -/* 800E1AC4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E1AC8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800E1ACC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E1AD0 7C 08 03 A6 */ mtlr r0 -/* 800E1AD4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E1AD8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/seStartMapInfoLevel__9daAlink_cFUl.s b/asm/d/a/d_a_alink/seStartMapInfoLevel__9daAlink_cFUl.s deleted file mode 100644 index 7d20d2afb8..0000000000 --- a/asm/d/a/d_a_alink/seStartMapInfoLevel__9daAlink_cFUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800BF1CC: -/* 800BF1CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF1D0 7C 08 02 A6 */ mflr r0 -/* 800BF1D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF1D8 7C 66 1B 78 */ mr r6, r3 -/* 800BF1DC 90 81 00 08 */ stw r4, 8(r1) -/* 800BF1E0 38 66 2C A8 */ addi r3, r6, 0x2ca8 -/* 800BF1E4 38 81 00 08 */ addi r4, r1, 8 -/* 800BF1E8 88 A6 2F A5 */ lbz r5, 0x2fa5(r6) -/* 800BF1EC 88 C6 2F 9A */ lbz r6, 0x2f9a(r6) -/* 800BF1F0 48 20 4C 79 */ bl startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc -/* 800BF1F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF1F8 7C 08 03 A6 */ mtlr r0 -/* 800BF1FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF200 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/seStartMapInfo__9daAlink_cFUl.s b/asm/d/a/d_a_alink/seStartMapInfo__9daAlink_cFUl.s deleted file mode 100644 index 0fe3ac17e8..0000000000 --- a/asm/d/a/d_a_alink/seStartMapInfo__9daAlink_cFUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800BF194: -/* 800BF194 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF198 7C 08 02 A6 */ mflr r0 -/* 800BF19C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF1A0 7C 66 1B 78 */ mr r6, r3 -/* 800BF1A4 90 81 00 08 */ stw r4, 8(r1) -/* 800BF1A8 38 66 2C A8 */ addi r3, r6, 0x2ca8 -/* 800BF1AC 38 81 00 08 */ addi r4, r1, 8 -/* 800BF1B0 88 A6 2F A5 */ lbz r5, 0x2fa5(r6) -/* 800BF1B4 88 C6 2F 9A */ lbz r6, 0x2f9a(r6) -/* 800BF1B8 48 20 4A 1D */ bl startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc -/* 800BF1BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF1C0 7C 08 03 A6 */ mtlr r0 -/* 800BF1C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF1C8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/seStartOnlyReverbLevel__9daAlink_cFUl.s b/asm/d/a/d_a_alink/seStartOnlyReverbLevel__9daAlink_cFUl.s deleted file mode 100644 index 0daf3c117c..0000000000 --- a/asm/d/a/d_a_alink/seStartOnlyReverbLevel__9daAlink_cFUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800BF15C: -/* 800BF15C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF160 7C 08 02 A6 */ mflr r0 -/* 800BF164 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF168 7C 66 1B 78 */ mr r6, r3 -/* 800BF16C 90 81 00 08 */ stw r4, 8(r1) -/* 800BF170 38 66 2C A8 */ addi r3, r6, 0x2ca8 -/* 800BF174 38 81 00 08 */ addi r4, r1, 8 -/* 800BF178 38 A0 00 00 */ li r5, 0 -/* 800BF17C 88 C6 2F 9A */ lbz r6, 0x2f9a(r6) -/* 800BF180 48 20 4C E9 */ bl startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc -/* 800BF184 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF188 7C 08 03 A6 */ mtlr r0 -/* 800BF18C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF190 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/seStartOnlyReverb__9daAlink_cFUl.s b/asm/d/a/d_a_alink/seStartOnlyReverb__9daAlink_cFUl.s deleted file mode 100644 index 167750ff9d..0000000000 --- a/asm/d/a/d_a_alink/seStartOnlyReverb__9daAlink_cFUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800BF124: -/* 800BF124 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF128 7C 08 02 A6 */ mflr r0 -/* 800BF12C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF130 7C 66 1B 78 */ mr r6, r3 -/* 800BF134 90 81 00 08 */ stw r4, 8(r1) -/* 800BF138 38 66 2C A8 */ addi r3, r6, 0x2ca8 -/* 800BF13C 38 81 00 08 */ addi r4, r1, 8 -/* 800BF140 38 A0 00 00 */ li r5, 0 -/* 800BF144 88 C6 2F 9A */ lbz r6, 0x2f9a(r6) -/* 800BF148 48 20 4A 8D */ bl startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc -/* 800BF14C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF150 7C 08 03 A6 */ mtlr r0 -/* 800BF154 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF158 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/seStartSwordCut__9daAlink_cFUl.s b/asm/d/a/d_a_alink/seStartSwordCut__9daAlink_cFUl.s deleted file mode 100644 index f401a54828..0000000000 --- a/asm/d/a/d_a_alink/seStartSwordCut__9daAlink_cFUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800BF0EC: -/* 800BF0EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF0F0 7C 08 02 A6 */ mflr r0 -/* 800BF0F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF0F8 7C 66 1B 78 */ mr r6, r3 -/* 800BF0FC 90 81 00 08 */ stw r4, 8(r1) -/* 800BF100 38 66 2C A8 */ addi r3, r6, 0x2ca8 -/* 800BF104 38 81 00 08 */ addi r4, r1, 8 -/* 800BF108 38 A0 00 00 */ li r5, 0 -/* 800BF10C 88 C6 2F 9A */ lbz r6, 0x2f9a(r6) -/* 800BF110 48 20 55 E1 */ bl startLinkSwordSound__14Z2CreatureLinkF10JAISoundIDUlSc -/* 800BF114 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF118 7C 08 03 A6 */ mtlr r0 -/* 800BF11C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF120 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv.s b/asm/d/a/d_a_alink/searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv.s deleted file mode 100644 index c2534e8a2e..0000000000 --- a/asm/d/a/d_a_alink/searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_801391E4: -/* 801391E4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801391E8 7C 08 02 A6 */ mflr r0 -/* 801391EC 90 01 00 24 */ stw r0, 0x24(r1) -/* 801391F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 801391F4 48 22 8F E9 */ bl _savegpr_29 -/* 801391F8 7C 7D 1B 78 */ mr r29, r3 -/* 801391FC 7C 9E 23 78 */ mr r30, r4 -/* 80139200 7C BF 2B 78 */ mr r31, r5 -/* 80139204 38 60 00 00 */ li r3, 0 -/* 80139208 88 1D 2F B1 */ lbz r0, 0x2fb1(r29) -/* 8013920C 7C 09 03 A6 */ mtctr r0 -/* 80139210 2C 00 00 00 */ cmpwi r0, 0 -/* 80139214 40 81 00 1C */ ble lbl_80139230 -lbl_80139218: -/* 80139218 38 03 07 C8 */ addi r0, r3, 0x7c8 -/* 8013921C 7C 1D 00 2E */ lwzx r0, r29, r0 -/* 80139220 7C 00 F0 40 */ cmplw r0, r30 -/* 80139224 41 82 00 6C */ beq lbl_80139290 -/* 80139228 38 63 00 08 */ addi r3, r3, 8 -/* 8013922C 42 00 FF EC */ bdnz lbl_80139218 -lbl_80139230: -/* 80139230 88 1E 04 96 */ lbz r0, 0x496(r30) -/* 80139234 28 00 00 02 */ cmplwi r0, 2 -/* 80139238 40 82 00 58 */ bne lbl_80139290 -/* 8013923C 80 1E 05 5C */ lwz r0, 0x55c(r30) -/* 80139240 70 00 00 05 */ andi. r0, r0, 5 -/* 80139244 41 82 00 4C */ beq lbl_80139290 -/* 80139248 A0 1E 05 8E */ lhz r0, 0x58e(r30) -/* 8013924C 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 -/* 80139250 40 82 00 40 */ bne lbl_80139290 -/* 80139254 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 80139258 38 9E 05 38 */ addi r4, r30, 0x538 -/* 8013925C 48 20 E1 41 */ bl PSVECSquareDistance -/* 80139260 C0 7E 05 3C */ lfs f3, 0x53c(r30) -/* 80139264 C0 5D 04 D4 */ lfs f2, 0x4d4(r29) -/* 80139268 C0 02 93 00 */ lfs f0, lit_6895(r2) -/* 8013926C EC 02 00 28 */ fsubs f0, f2, f0 -/* 80139270 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80139274 4C 41 13 82 */ cror 2, 1, 2 -/* 80139278 40 82 00 18 */ bne lbl_80139290 -/* 8013927C C0 1D 34 78 */ lfs f0, 0x3478(r29) -/* 80139280 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80139284 40 80 00 0C */ bge lbl_80139290 -/* 80139288 D0 3D 34 78 */ stfs f1, 0x3478(r29) -/* 8013928C 93 DF 00 00 */ stw r30, 0(r31) -lbl_80139290: -/* 80139290 39 61 00 20 */ addi r11, r1, 0x20 -/* 80139294 48 22 8F 95 */ bl _restgpr_29 -/* 80139298 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8013929C 7C 08 03 A6 */ mtlr r0 -/* 801392A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801392A4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setArmReelAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setArmReelAnime__9daAlink_cFv.s deleted file mode 100644 index 1f66ca0c51..0000000000 --- a/asm/d/a/d_a_alink/setArmReelAnime__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800F40E4: -/* 800F40E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F40E8 7C 08 02 A6 */ mflr r0 -/* 800F40EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F40F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F40F4 7C 7F 1B 78 */ mr r31, r3 -/* 800F40F8 38 80 01 FB */ li r4, 0x1fb -/* 800F40FC C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 800F4100 C0 42 92 BC */ lfs f2, lit_6041(r2) -/* 800F4104 4B FB 92 A5 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 800F4108 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800F410C D0 1F 20 54 */ stfs f0, 0x2054(r31) -/* 800F4110 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800F4114 D0 1F 1F 50 */ stfs f0, 0x1f50(r31) -/* 800F4118 38 00 00 08 */ li r0, 8 -/* 800F411C 98 1F 2F 97 */ stb r0, 0x2f97(r31) -/* 800F4120 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800F4124 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf -/* 800F4128 90 1F 05 74 */ stw r0, 0x574(r31) -/* 800F412C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F4130 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F4134 7C 08 03 A6 */ mtlr r0 -/* 800F4138 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F413C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s b/asm/d/a/d_a_alink/setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s deleted file mode 100644 index 253663b653..0000000000 --- a/asm/d/a/d_a_alink/setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_800DCD74: -/* 800DCD74 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800DCD78 7C 08 02 A6 */ mflr r0 -/* 800DCD7C 90 01 00 34 */ stw r0, 0x34(r1) -/* 800DCD80 39 61 00 30 */ addi r11, r1, 0x30 -/* 800DCD84 48 28 54 55 */ bl _savegpr_28 -/* 800DCD88 7C 7C 1B 78 */ mr r28, r3 -/* 800DCD8C 7C 9D 23 78 */ mr r29, r4 -/* 800DCD90 7C BE 2B 78 */ mr r30, r5 -/* 800DCD94 7C DF 33 78 */ mr r31, r6 -/* 800DCD98 80 63 06 78 */ lwz r3, 0x678(r3) -/* 800DCD9C 38 63 00 24 */ addi r3, r3, 0x24 -/* 800DCDA0 7C E4 3B 78 */ mr r4, r7 -/* 800DCDA4 38 A1 00 08 */ addi r5, r1, 8 -/* 800DCDA8 48 26 A0 A5 */ bl PSMTXMultVecSR -/* 800DCDAC 38 61 00 08 */ addi r3, r1, 8 -/* 800DCDB0 48 18 A3 A1 */ bl atan2sY_XZ__4cXyzCFv -/* 800DCDB4 B0 7E 00 00 */ sth r3, 0(r30) -/* 800DCDB8 38 61 00 08 */ addi r3, r1, 8 -/* 800DCDBC 48 18 A3 6D */ bl atan2sX_Z__4cXyzCFv -/* 800DCDC0 B0 7E 00 02 */ sth r3, 2(r30) -/* 800DCDC4 80 7C 06 78 */ lwz r3, 0x678(r28) -/* 800DCDC8 38 63 00 24 */ addi r3, r3, 0x24 -/* 800DCDCC 7F E4 FB 78 */ mr r4, r31 -/* 800DCDD0 7F A5 EB 78 */ mr r5, r29 -/* 800DCDD4 48 26 9F 99 */ bl PSMTXMultVec -/* 800DCDD8 39 61 00 30 */ addi r11, r1, 0x30 -/* 800DCDDC 48 28 54 49 */ bl _restgpr_28 -/* 800DCDE0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800DCDE4 7C 08 03 A6 */ mtlr r0 -/* 800DCDE8 38 21 00 30 */ addi r1, r1, 0x30 -/* 800DCDEC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBodyAngleXReadyAnime__9daAlink_cFi.s b/asm/d/a/d_a_alink/setBodyAngleXReadyAnime__9daAlink_cFi.s deleted file mode 100644 index 6128bd9bf6..0000000000 --- a/asm/d/a/d_a_alink/setBodyAngleXReadyAnime__9daAlink_cFi.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_800BB2B0: -/* 800BB2B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BB2B4 7C 08 02 A6 */ mflr r0 -/* 800BB2B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BB2BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BB2C0 93 C1 00 08 */ stw r30, 8(r1) -/* 800BB2C4 7C 7E 1B 78 */ mr r30, r3 -/* 800BB2C8 4B FF FD BD */ bl getBodyAngleXAtnActor__9daAlink_cFi -/* 800BB2CC 7C 7F 1B 78 */ mr r31, r3 -/* 800BB2D0 7F C3 F3 78 */ mr r3, r30 -/* 800BB2D4 48 02 1B 1D */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800BB2D8 2C 03 00 00 */ cmpwi r3, 0 -/* 800BB2DC 41 82 00 10 */ beq lbl_800BB2EC -/* 800BB2E0 7F E0 07 34 */ extsh r0, r31 -/* 800BB2E4 7C 00 0E 70 */ srawi r0, r0, 1 -/* 800BB2E8 7C 1F 07 34 */ extsh r31, r0 -lbl_800BB2EC: -/* 800BB2EC 38 7E 05 9C */ addi r3, r30, 0x59c -/* 800BB2F0 7F E4 FB 78 */ mr r4, r31 -/* 800BB2F4 38 A0 00 04 */ li r5, 4 -/* 800BB2F8 38 C0 0C 00 */ li r6, 0xc00 -/* 800BB2FC 38 E0 01 80 */ li r7, 0x180 -/* 800BB300 48 1B 52 41 */ bl cLib_addCalcAngleS__FPsssss -/* 800BB304 A8 1E 05 9C */ lha r0, 0x59c(r30) -/* 800BB308 B0 1E 31 0A */ sth r0, 0x310a(r30) -/* 800BB30C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BB310 83 C1 00 08 */ lwz r30, 8(r1) -/* 800BB314 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BB318 7C 08 03 A6 */ mtlr r0 -/* 800BB31C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BB320 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBoomerangReadyAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBoomerangReadyAnime__9daAlink_cFv.s deleted file mode 100644 index 9d93e4252e..0000000000 --- a/asm/d/a/d_a_alink/setBoomerangReadyAnime__9daAlink_cFv.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_800E055C: -/* 800E055C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E0560 7C 08 02 A6 */ mflr r0 -/* 800E0564 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E0568 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E056C 48 28 1C 71 */ bl _savegpr_29 -/* 800E0570 7C 7D 1B 78 */ mr r29, r3 -/* 800E0574 83 E3 27 E0 */ lwz r31, 0x27e0(r3) -/* 800E0578 3B C0 00 01 */ li r30, 1 -/* 800E057C 7F E3 FB 78 */ mr r3, r31 -/* 800E0580 4B F9 32 65 */ bl LockonTruth__12dAttention_cFv -/* 800E0584 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0588 40 82 00 14 */ bne lbl_800E059C -/* 800E058C 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800E0590 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800E0594 40 82 00 08 */ bne lbl_800E059C -/* 800E0598 3B C0 00 00 */ li r30, 0 -lbl_800E059C: -/* 800E059C 7F A3 EB 78 */ mr r3, r29 -/* 800E05A0 38 80 00 54 */ li r4, 0x54 -/* 800E05A4 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800E05A8 41 82 00 14 */ beq lbl_800E05BC -/* 800E05AC 3C A0 80 39 */ lis r5, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E05B0 38 A5 E6 C8 */ addi r5, r5, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E05B4 C0 25 00 2C */ lfs f1, 0x2c(r5) -/* 800E05B8 48 00 00 08 */ b lbl_800E05C0 -lbl_800E05BC: -/* 800E05BC C0 22 92 C0 */ lfs f1, lit_6108(r2) -lbl_800E05C0: -/* 800E05C0 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800E05C4 4B FC CD E5 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 800E05C8 7F A3 EB 78 */ mr r3, r29 -/* 800E05CC 4B FF FF 1D */ bl setBoomerangReadyQuake__9daAlink_cFv -/* 800E05D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E05D4 48 28 1C 55 */ bl _restgpr_29 -/* 800E05D8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E05DC 7C 08 03 A6 */ mtlr r0 -/* 800E05E0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E05E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBoomerangReadyQuake__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBoomerangReadyQuake__9daAlink_cFv.s deleted file mode 100644 index 90c7c2b922..0000000000 --- a/asm/d/a/d_a_alink/setBoomerangReadyQuake__9daAlink_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_800E04E8: -/* 800E04E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E04EC 7C 08 02 A6 */ mflr r0 -/* 800E04F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E04F4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E04F8 7C 7F 1B 78 */ mr r31, r3 -/* 800E04FC C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800E0500 D0 21 00 08 */ stfs f1, 8(r1) -/* 800E0504 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800E0508 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800E050C D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800E0510 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E0514 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E0518 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800E051C 38 80 00 01 */ li r4, 1 -/* 800E0520 38 A0 00 01 */ li r5, 1 -/* 800E0524 38 C1 00 08 */ addi r6, r1, 8 -/* 800E0528 4B F8 F5 E9 */ bl StartQuake__12dVibration_cFii4cXyz -/* 800E052C 80 1F 05 7C */ lwz r0, 0x57c(r31) -/* 800E0530 60 00 00 04 */ ori r0, r0, 4 -/* 800E0534 90 1F 05 7C */ stw r0, 0x57c(r31) -/* 800E0538 3C 60 80 39 */ lis r3, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E053C 38 63 E6 C8 */ addi r3, r3, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E0540 A8 03 00 28 */ lha r0, 0x28(r3) -/* 800E0544 B0 1F 30 18 */ sth r0, 0x3018(r31) -/* 800E0548 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E054C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E0550 7C 08 03 A6 */ mtlr r0 -/* 800E0554 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E0558 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBoomerangSight__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBoomerangSight__9daAlink_cFv.s deleted file mode 100644 index c6fea3a45b..0000000000 --- a/asm/d/a/d_a_alink/setBoomerangSight__9daAlink_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_800E0E64: -/* 800E0E64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800E0E68 7C 08 02 A6 */ mflr r0 -/* 800E0E6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800E0E70 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E0E74 7C 7F 1B 78 */ mr r31, r3 -/* 800E0E78 80 03 28 28 */ lwz r0, 0x2828(r3) -/* 800E0E7C 28 00 00 00 */ cmplwi r0, 0 -/* 800E0E80 41 82 00 7C */ beq lbl_800E0EFC -/* 800E0E84 4B FF F6 29 */ bl checkBoomerangThrowAnime__9daAlink_cCFv -/* 800E0E88 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0E8C 40 82 00 70 */ bne lbl_800E0EFC -/* 800E0E90 7F E3 FB 78 */ mr r3, r31 -/* 800E0E94 4B FF F2 89 */ bl getBoomLockMax__9daAlink_cFv -/* 800E0E98 7F E3 FB 78 */ mr r3, r31 -/* 800E0E9C 38 9F 37 E0 */ addi r4, r31, 0x37e0 -/* 800E0EA0 4B FD E6 61 */ bl checkSightLine__9daAlink_cFfP4cXyz -/* 800E0EA4 C0 1F 37 E0 */ lfs f0, 0x37e0(r31) -/* 800E0EA8 D0 1F 20 6C */ stfs f0, 0x206c(r31) -/* 800E0EAC C0 1F 37 E4 */ lfs f0, 0x37e4(r31) -/* 800E0EB0 D0 1F 20 70 */ stfs f0, 0x2070(r31) -/* 800E0EB4 C0 1F 37 E8 */ lfs f0, 0x37e8(r31) -/* 800E0EB8 D0 1F 20 74 */ stfs f0, 0x2074(r31) -/* 800E0EBC 38 00 00 01 */ li r0, 1 -/* 800E0EC0 98 1F 20 68 */ stb r0, 0x2068(r31) -/* 800E0EC4 80 9F 28 28 */ lwz r4, 0x2828(r31) -/* 800E0EC8 88 04 05 F9 */ lbz r0, 0x5f9(r4) -/* 800E0ECC 28 00 00 00 */ cmplwi r0, 0 -/* 800E0ED0 40 82 00 18 */ bne lbl_800E0EE8 -/* 800E0ED4 2C 03 00 00 */ cmpwi r3, 0 -/* 800E0ED8 41 82 00 24 */ beq lbl_800E0EFC -/* 800E0EDC 88 04 09 50 */ lbz r0, 0x950(r4) -/* 800E0EE0 28 00 00 05 */ cmplwi r0, 5 -/* 800E0EE4 40 80 00 18 */ bge lbl_800E0EFC -lbl_800E0EE8: -/* 800E0EE8 7F E3 FB 78 */ mr r3, r31 -/* 800E0EEC 38 80 00 10 */ li r4, 0x10 -/* 800E0EF0 4B FD 17 ED */ bl setItemActionButtonStatus__9daAlink_cFUc -/* 800E0EF4 7F E3 FB 78 */ mr r3, r31 -/* 800E0EF8 4B FD 18 05 */ bl itemActionTrigger__9daAlink_cFv -lbl_800E0EFC: -/* 800E0EFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E0F00 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800E0F04 7C 08 03 A6 */ mtlr r0 -/* 800E0F08 38 21 00 10 */ addi r1, r1, 0x10 -/* 800E0F0C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBowHangAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBowHangAnime__9daAlink_cFv.s deleted file mode 100644 index 7e682e0bd0..0000000000 --- a/asm/d/a/d_a_alink/setBowHangAnime__9daAlink_cFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_800DFC28: -/* 800DFC28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DFC2C 7C 08 02 A6 */ mflr r0 -/* 800DFC30 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DFC34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFC38 7C 7F 1B 78 */ mr r31, r3 -/* 800DFC3C A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 800DFC40 48 07 EF 51 */ bl checkBowItem__9daPy_py_cFi -/* 800DFC44 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFC48 41 82 00 14 */ beq lbl_800DFC5C -/* 800DFC4C 7F E3 FB 78 */ mr r3, r31 -/* 800DFC50 38 80 00 58 */ li r4, 0x58 -/* 800DFC54 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800DFC58 4B FE 04 2D */ bl changeItemBck__9daAlink_cFUsf -lbl_800DFC5C: -/* 800DFC5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFC60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DFC64 7C 08 03 A6 */ mtlr r0 -/* 800DFC68 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DFC6C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBowNormalAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBowNormalAnime__9daAlink_cFv.s deleted file mode 100644 index d2e2c7f2fb..0000000000 --- a/asm/d/a/d_a_alink/setBowNormalAnime__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_800DFC70: -/* 800DFC70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DFC74 7C 08 02 A6 */ mflr r0 -/* 800DFC78 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DFC7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DFC80 7C 7F 1B 78 */ mr r31, r3 -/* 800DFC84 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 800DFC88 48 07 EF 09 */ bl checkBowItem__9daPy_py_cFi -/* 800DFC8C 2C 03 00 00 */ cmpwi r3, 0 -/* 800DFC90 41 82 00 18 */ beq lbl_800DFCA8 -/* 800DFC94 7F E3 FB 78 */ mr r3, r31 -/* 800DFC98 38 80 00 59 */ li r4, 0x59 -/* 800DFC9C C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800DFCA0 4B FE 03 E5 */ bl changeItemBck__9daAlink_cFUsf -/* 800DFCA4 48 00 00 20 */ b lbl_800DFCC4 -lbl_800DFCA8: -/* 800DFCA8 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800DFCAC 28 00 00 4B */ cmplwi r0, 0x4b -/* 800DFCB0 40 82 00 14 */ bne lbl_800DFCC4 -/* 800DFCB4 7F E3 FB 78 */ mr r3, r31 -/* 800DFCB8 38 80 01 F9 */ li r4, 0x1f9 -/* 800DFCBC C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800DFCC0 4B FE 03 C5 */ bl changeItemBck__9daAlink_cFUsf -lbl_800DFCC4: -/* 800DFCC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DFCC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DFCCC 7C 08 03 A6 */ mtlr r0 -/* 800DFCD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DFCD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBowOrSlingStatus__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBowOrSlingStatus__9daAlink_cFv.s deleted file mode 100644 index e0fa2b9691..0000000000 --- a/asm/d/a/d_a_alink/setBowOrSlingStatus__9daAlink_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_800DEB8C: -/* 800DEB8C A0 03 2F DC */ lhz r0, 0x2fdc(r3) -/* 800DEB90 28 00 00 4B */ cmplwi r0, 0x4b -/* 800DEB94 40 82 00 1C */ bne lbl_800DEBB0 -/* 800DEB98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DEB9C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DEBA0 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800DEBA4 60 00 00 40 */ ori r0, r0, 0x40 -/* 800DEBA8 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800DEBAC 4E 80 00 20 */ blr -lbl_800DEBB0: -/* 800DEBB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DEBB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DEBB8 80 03 5F 18 */ lwz r0, 0x5f18(r3) -/* 800DEBBC 60 00 10 00 */ ori r0, r0, 0x1000 -/* 800DEBC0 90 03 5F 18 */ stw r0, 0x5f18(r3) -/* 800DEBC4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBowReadyAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBowReadyAnime__9daAlink_cFv.s deleted file mode 100644 index 2d15377677..0000000000 --- a/asm/d/a/d_a_alink/setBowReadyAnime__9daAlink_cFv.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_800DEEDC: -/* 800DEEDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DEEE0 7C 08 02 A6 */ mflr r0 -/* 800DEEE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DEEE8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DEEEC 7C 7F 1B 78 */ mr r31, r3 -/* 800DEEF0 4B FF FA F9 */ bl checkBowAnime__9daAlink_cCFv -/* 800DEEF4 2C 03 00 00 */ cmpwi r3, 0 -/* 800DEEF8 40 82 00 40 */ bne lbl_800DEF38 -/* 800DEEFC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800DEF00 28 00 00 59 */ cmplwi r0, 0x59 -/* 800DEF04 40 82 00 2C */ bne lbl_800DEF30 -/* 800DEF08 88 7F 2F 9C */ lbz r3, 0x2f9c(r31) -/* 800DEF0C 4B F4 F6 B5 */ bl dComIfGp_getSelectItemNum__Fi -/* 800DEF10 7C 60 07 35 */ extsh. r0, r3 -/* 800DEF14 41 82 00 10 */ beq lbl_800DEF24 -/* 800DEF18 38 00 00 01 */ li r0, 1 -/* 800DEF1C B0 1F 30 1E */ sth r0, 0x301e(r31) -/* 800DEF20 48 00 00 18 */ b lbl_800DEF38 -lbl_800DEF24: -/* 800DEF24 38 00 00 00 */ li r0, 0 -/* 800DEF28 B0 1F 30 1E */ sth r0, 0x301e(r31) -/* 800DEF2C 48 00 00 0C */ b lbl_800DEF38 -lbl_800DEF30: -/* 800DEF30 38 00 00 00 */ li r0, 0 -/* 800DEF34 B0 1F 30 1E */ sth r0, 0x301e(r31) -lbl_800DEF38: -/* 800DEF38 7F E3 FB 78 */ mr r3, r31 -/* 800DEF3C 38 80 00 0D */ li r4, 0xd -/* 800DEF40 4B FC E4 01 */ bl setUpperAnimeBase__9daAlink_cFUs -/* 800DEF44 80 1F 05 80 */ lwz r0, 0x580(r31) -/* 800DEF48 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 800DEF4C 41 82 00 10 */ beq lbl_800DEF5C -/* 800DEF50 38 00 00 00 */ li r0, 0 -/* 800DEF54 B0 1F 30 1A */ sth r0, 0x301a(r31) -/* 800DEF58 48 00 00 0C */ b lbl_800DEF64 -lbl_800DEF5C: -/* 800DEF5C 38 00 00 03 */ li r0, 3 -/* 800DEF60 B0 1F 30 1A */ sth r0, 0x301a(r31) -lbl_800DEF64: -/* 800DEF64 38 00 00 05 */ li r0, 5 -/* 800DEF68 98 1F 2F 97 */ stb r0, 0x2f97(r31) -/* 800DEF6C 38 00 00 04 */ li r0, 4 -/* 800DEF70 98 1F 2F 96 */ stb r0, 0x2f96(r31) -/* 800DEF74 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800DEF78 28 00 00 4B */ cmplwi r0, 0x4b -/* 800DEF7C 40 82 00 18 */ bne lbl_800DEF94 -/* 800DEF80 7F E3 FB 78 */ mr r3, r31 -/* 800DEF84 38 80 01 F1 */ li r4, 0x1f1 -/* 800DEF88 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800DEF8C 4B FE 10 F9 */ bl changeItemBck__9daAlink_cFUsf -/* 800DEF90 48 00 00 14 */ b lbl_800DEFA4 -lbl_800DEF94: -/* 800DEF94 7F E3 FB 78 */ mr r3, r31 -/* 800DEF98 38 80 00 43 */ li r4, 0x43 -/* 800DEF9C C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 800DEFA0 4B FE 10 E5 */ bl changeItemBck__9daAlink_cFUsf -lbl_800DEFA4: -/* 800DEFA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DEFA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DEFAC 7C 08 03 A6 */ mtlr r0 -/* 800DEFB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DEFB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBowReloadAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBowReloadAnime__9daAlink_cFv.s deleted file mode 100644 index 7c222282b1..0000000000 --- a/asm/d/a/d_a_alink/setBowReloadAnime__9daAlink_cFv.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_800DEFB8: -/* 800DEFB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DEFBC 7C 08 02 A6 */ mflr r0 -/* 800DEFC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DEFC4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DEFC8 7C 7F 1B 78 */ mr r31, r3 -/* 800DEFCC 38 80 00 09 */ li r4, 9 -/* 800DEFD0 38 A0 00 02 */ li r5, 2 -/* 800DEFD4 3C C0 80 39 */ lis r6, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DEFD8 38 C6 E6 58 */ addi r6, r6, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DEFDC 38 C6 00 14 */ addi r6, r6, 0x14 -/* 800DEFE0 4B FC E7 11 */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 800DEFE4 7F E3 FB 78 */ mr r3, r31 -/* 800DEFE8 38 80 00 08 */ li r4, 8 -/* 800DEFEC 4B FD 0A BD */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800DEFF0 7F E3 FB 78 */ mr r3, r31 -/* 800DEFF4 38 80 00 E5 */ li r4, 0xe5 -/* 800DEFF8 38 A0 00 01 */ li r5, 1 -/* 800DEFFC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800DF000 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800DF004 4B FD 04 AD */ bl setFaceBck__9daAlink_cFUsiUs -/* 800DF008 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800DF00C 28 00 00 4B */ cmplwi r0, 0x4b -/* 800DF010 40 82 00 44 */ bne lbl_800DF054 -/* 800DF014 7F E3 FB 78 */ mr r3, r31 -/* 800DF018 38 80 01 F0 */ li r4, 0x1f0 -/* 800DF01C 3C A0 80 39 */ lis r5, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DF020 38 A5 E6 58 */ addi r5, r5, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DF024 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 800DF028 4B FE 10 5D */ bl changeItemBck__9daAlink_cFUsf -/* 800DF02C 38 00 00 05 */ li r0, 5 -/* 800DF030 98 1F 2F 97 */ stb r0, 0x2f97(r31) -/* 800DF034 7F E3 FB 78 */ mr r3, r31 -/* 800DF038 3C 80 00 02 */ lis r4, 0x0002 /* 0x000200AF@ha */ -/* 800DF03C 38 84 00 AF */ addi r4, r4, 0x00AF /* 0x000200AF@l */ -/* 800DF040 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DF044 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800DF048 7D 89 03 A6 */ mtctr r12 -/* 800DF04C 4E 80 04 21 */ bctrl -/* 800DF050 48 00 00 40 */ b lbl_800DF090 -lbl_800DF054: -/* 800DF054 7F E3 FB 78 */ mr r3, r31 -/* 800DF058 38 80 00 41 */ li r4, 0x41 -/* 800DF05C 3C A0 80 39 */ lis r5, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DF060 38 A5 E6 58 */ addi r5, r5, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DF064 C0 25 00 1C */ lfs f1, 0x1c(r5) -/* 800DF068 4B FE 10 1D */ bl changeItemBck__9daAlink_cFUsf -/* 800DF06C 38 00 00 07 */ li r0, 7 -/* 800DF070 98 1F 2F 97 */ stb r0, 0x2f97(r31) -/* 800DF074 7F E3 FB 78 */ mr r3, r31 -/* 800DF078 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020042@ha */ -/* 800DF07C 38 84 00 42 */ addi r4, r4, 0x0042 /* 0x00020042@l */ -/* 800DF080 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DF084 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800DF088 7D 89 03 A6 */ mtctr r12 -/* 800DF08C 4E 80 04 21 */ bctrl -lbl_800DF090: -/* 800DF090 38 00 00 00 */ li r0, 0 -/* 800DF094 98 1F 2F 96 */ stb r0, 0x2f96(r31) -/* 800DF098 3C 60 80 39 */ lis r3, m__17daAlinkHIO_bow_c0@ha /* 0x8038E658@ha */ -/* 800DF09C 38 63 E6 58 */ addi r3, r3, m__17daAlinkHIO_bow_c0@l /* 0x8038E658@l */ -/* 800DF0A0 A8 03 00 28 */ lha r0, 0x28(r3) -/* 800DF0A4 B0 1F 30 1C */ sth r0, 0x301c(r31) -/* 800DF0A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DF0AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DF0B0 7C 08 03 A6 */ mtlr r0 -/* 800DF0B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DF0B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s b/asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s deleted file mode 100644 index 0e9cf99d87..0000000000 --- a/asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_800DFCD8: -/* 800DFCD8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800DFCDC 7C 08 02 A6 */ mflr r0 -/* 800DFCE0 90 01 00 34 */ stw r0, 0x34(r1) -/* 800DFCE4 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 800DFCE8 7C 7F 1B 78 */ mr r31, r3 -/* 800DFCEC A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 800DFCF0 28 00 00 0A */ cmplwi r0, 0xa -/* 800DFCF4 40 82 00 5C */ bne lbl_800DFD50 -/* 800DFCF8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DFCFC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DFD00 80 04 5F 18 */ lwz r0, 0x5f18(r4) -/* 800DFD04 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa -/* 800DFD08 40 82 00 48 */ bne lbl_800DFD50 -/* 800DFD0C 38 81 00 0C */ addi r4, r1, 0xc -/* 800DFD10 38 A1 00 08 */ addi r5, r1, 8 -/* 800DFD14 38 C0 00 01 */ li r6, 1 -/* 800DFD18 4B FF E9 35 */ bl getArrowFlyData__9daAlink_cCFPfPfi -/* 800DFD1C 7F E3 FB 78 */ mr r3, r31 -/* 800DFD20 C0 21 00 0C */ lfs f1, 0xc(r1) -/* 800DFD24 38 81 00 10 */ addi r4, r1, 0x10 -/* 800DFD28 4B FD F7 D9 */ bl checkSightLine__9daAlink_cFfP4cXyz -/* 800DFD2C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 800DFD30 D0 1F 20 6C */ stfs f0, 0x206c(r31) -/* 800DFD34 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 800DFD38 D0 1F 20 70 */ stfs f0, 0x2070(r31) -/* 800DFD3C C0 01 00 18 */ lfs f0, 0x18(r1) -/* 800DFD40 D0 1F 20 74 */ stfs f0, 0x2074(r31) -/* 800DFD44 38 00 00 00 */ li r0, 0 -/* 800DFD48 98 1F 20 68 */ stb r0, 0x2068(r31) -/* 800DFD4C 48 00 00 0C */ b lbl_800DFD58 -lbl_800DFD50: -/* 800DFD50 38 00 00 00 */ li r0, 0 -/* 800DFD54 98 1F 20 68 */ stb r0, 0x2068(r31) -lbl_800DFD58: -/* 800DFD58 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 800DFD5C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800DFD60 7C 08 03 A6 */ mtlr r0 -/* 800DFD64 38 21 00 30 */ addi r1, r1, 0x30 -/* 800DFD68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCollisionPos__9daAlink_cFv.s b/asm/d/a/d_a_alink/setCollisionPos__9daAlink_cFv.s deleted file mode 100644 index 78ab4020d9..0000000000 --- a/asm/d/a/d_a_alink/setCollisionPos__9daAlink_cFv.s +++ /dev/null @@ -1,150 +0,0 @@ -lbl_800ABB84: -/* 800ABB84 94 21 FF 60 */ stwu r1, -0xa0(r1) -/* 800ABB88 7C 08 02 A6 */ mflr r0 -/* 800ABB8C 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 800ABB90 DB E1 00 90 */ stfd f31, 0x90(r1) -/* 800ABB94 F3 E1 00 98 */ psq_st f31, 152(r1), 0, 0 /* qr0 */ -/* 800ABB98 93 E1 00 8C */ stw r31, 0x8c(r1) -/* 800ABB9C 7C 7F 1B 78 */ mr r31, r3 -/* 800ABBA0 80 63 06 50 */ lwz r3, 0x650(r3) -/* 800ABBA4 80 63 00 84 */ lwz r3, 0x84(r3) -/* 800ABBA8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 800ABBAC C0 03 00 0C */ lfs f0, 0xc(r3) -/* 800ABBB0 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 800ABBB4 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 800ABBB8 D0 01 00 78 */ stfs f0, 0x78(r1) -/* 800ABBBC C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800ABBC0 D0 01 00 7C */ stfs f0, 0x7c(r1) -/* 800ABBC4 38 61 00 5C */ addi r3, r1, 0x5c -/* 800ABBC8 38 81 00 74 */ addi r4, r1, 0x74 -/* 800ABBCC 38 BF 05 A4 */ addi r5, r31, 0x5a4 -/* 800ABBD0 48 1B AF 15 */ bl __pl__4cXyzCFRC3Vec -/* 800ABBD4 38 61 00 50 */ addi r3, r1, 0x50 -/* 800ABBD8 38 81 00 5C */ addi r4, r1, 0x5c -/* 800ABBDC C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800ABBE0 48 1B AF A5 */ bl __ml__4cXyzCFf -/* 800ABBE4 C0 01 00 50 */ lfs f0, 0x50(r1) -/* 800ABBE8 D0 01 00 68 */ stfs f0, 0x68(r1) -/* 800ABBEC C0 01 00 54 */ lfs f0, 0x54(r1) -/* 800ABBF0 D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABBF4 C0 01 00 58 */ lfs f0, 0x58(r1) -/* 800ABBF8 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 800ABBFC C0 21 00 78 */ lfs f1, 0x78(r1) -/* 800ABC00 C0 1F 05 A8 */ lfs f0, 0x5a8(r31) -/* 800ABC04 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800ABC08 40 81 00 10 */ ble lbl_800ABC18 -/* 800ABC0C D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABC10 EF E1 00 28 */ fsubs f31, f1, f0 -/* 800ABC14 48 00 00 0C */ b lbl_800ABC20 -lbl_800ABC18: -/* 800ABC18 D0 21 00 6C */ stfs f1, 0x6c(r1) -/* 800ABC1C EF E0 08 28 */ fsubs f31, f0, f1 -lbl_800ABC20: -/* 800ABC20 C0 62 93 B4 */ lfs f3, lit_10040(r2) -/* 800ABC24 FC 1F 18 40 */ fcmpo cr0, f31, f3 -/* 800ABC28 40 80 00 20 */ bge lbl_800ABC48 -/* 800ABC2C C0 41 00 6C */ lfs f2, 0x6c(r1) -/* 800ABC30 C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800ABC34 EC 03 F8 28 */ fsubs f0, f3, f31 -/* 800ABC38 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800ABC3C EC 02 00 28 */ fsubs f0, f2, f0 -/* 800ABC40 D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABC44 FF E0 18 90 */ fmr f31, f3 -lbl_800ABC48: -/* 800ABC48 38 7F 0B EC */ addi r3, r31, 0xbec -/* 800ABC4C 38 81 00 68 */ addi r4, r1, 0x68 -/* 800ABC50 48 1C 35 8D */ bl SetC__8cM3dGCylFRC4cXyz -/* 800ABC54 38 7F 0B EC */ addi r3, r31, 0xbec -/* 800ABC58 FC 20 F8 90 */ fmr f1, f31 -/* 800ABC5C 48 1C 35 9D */ bl SetH__8cM3dGCylFf -/* 800ABC60 38 61 00 44 */ addi r3, r1, 0x44 -/* 800ABC64 38 9F 05 E0 */ addi r4, r31, 0x5e0 -/* 800ABC68 38 BF 05 EC */ addi r5, r31, 0x5ec -/* 800ABC6C 48 1B AE 79 */ bl __pl__4cXyzCFRC3Vec -/* 800ABC70 38 61 00 38 */ addi r3, r1, 0x38 -/* 800ABC74 38 81 00 44 */ addi r4, r1, 0x44 -/* 800ABC78 C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800ABC7C 48 1B AF 09 */ bl __ml__4cXyzCFf -/* 800ABC80 38 61 00 2C */ addi r3, r1, 0x2c -/* 800ABC84 38 81 00 38 */ addi r4, r1, 0x38 -/* 800ABC88 38 A1 00 74 */ addi r5, r1, 0x74 -/* 800ABC8C 48 1B AE 59 */ bl __pl__4cXyzCFRC3Vec -/* 800ABC90 38 61 00 20 */ addi r3, r1, 0x20 -/* 800ABC94 38 81 00 2C */ addi r4, r1, 0x2c -/* 800ABC98 C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800ABC9C 48 1B AE E9 */ bl __ml__4cXyzCFf -/* 800ABCA0 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 800ABCA4 D0 01 00 68 */ stfs f0, 0x68(r1) -/* 800ABCA8 C0 01 00 24 */ lfs f0, 0x24(r1) -/* 800ABCAC D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABCB0 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 800ABCB4 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 800ABCB8 C0 3F 05 E4 */ lfs f1, 0x5e4(r31) -/* 800ABCBC C0 1F 05 F0 */ lfs f0, 0x5f0(r31) -/* 800ABCC0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800ABCC4 40 81 00 08 */ ble lbl_800ABCCC -/* 800ABCC8 48 00 00 08 */ b lbl_800ABCD0 -lbl_800ABCCC: -/* 800ABCCC FC 00 08 90 */ fmr f0, f1 -lbl_800ABCD0: -/* 800ABCD0 C0 21 00 78 */ lfs f1, 0x78(r1) -/* 800ABCD4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800ABCD8 40 81 00 10 */ ble lbl_800ABCE8 -/* 800ABCDC D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABCE0 EF E1 00 28 */ fsubs f31, f1, f0 -/* 800ABCE4 48 00 00 0C */ b lbl_800ABCF0 -lbl_800ABCE8: -/* 800ABCE8 D0 21 00 6C */ stfs f1, 0x6c(r1) -/* 800ABCEC EF E0 08 28 */ fsubs f31, f0, f1 -lbl_800ABCF0: -/* 800ABCF0 C0 62 93 B4 */ lfs f3, lit_10040(r2) -/* 800ABCF4 FC 1F 18 40 */ fcmpo cr0, f31, f3 -/* 800ABCF8 40 80 00 20 */ bge lbl_800ABD18 -/* 800ABCFC C0 41 00 6C */ lfs f2, 0x6c(r1) -/* 800ABD00 C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800ABD04 EC 03 F8 28 */ fsubs f0, f3, f31 -/* 800ABD08 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800ABD0C EC 02 00 28 */ fsubs f0, f2, f0 -/* 800ABD10 D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABD14 FF E0 18 90 */ fmr f31, f3 -lbl_800ABD18: -/* 800ABD18 38 7F 09 74 */ addi r3, r31, 0x974 -/* 800ABD1C 38 81 00 68 */ addi r4, r1, 0x68 -/* 800ABD20 48 1C 34 BD */ bl SetC__8cM3dGCylFRC4cXyz -/* 800ABD24 38 7F 09 74 */ addi r3, r31, 0x974 -/* 800ABD28 FC 20 F8 90 */ fmr f1, f31 -/* 800ABD2C 48 1C 34 CD */ bl SetH__8cM3dGCylFf -/* 800ABD30 38 61 00 14 */ addi r3, r1, 0x14 -/* 800ABD34 38 9F 09 74 */ addi r4, r31, 0x974 -/* 800ABD38 38 BF 0B EC */ addi r5, r31, 0xbec -/* 800ABD3C 48 1B AD A9 */ bl __pl__4cXyzCFRC3Vec -/* 800ABD40 38 61 00 08 */ addi r3, r1, 8 -/* 800ABD44 38 81 00 14 */ addi r4, r1, 0x14 -/* 800ABD48 C0 22 92 98 */ lfs f1, lit_5943(r2) -/* 800ABD4C 48 1B AE 39 */ bl __ml__4cXyzCFf -/* 800ABD50 C0 01 00 08 */ lfs f0, 8(r1) -/* 800ABD54 D0 01 00 68 */ stfs f0, 0x68(r1) -/* 800ABD58 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 800ABD5C D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800ABD60 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 800ABD64 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 800ABD68 C0 42 92 98 */ lfs f2, lit_5943(r2) -/* 800ABD6C C0 3F 09 84 */ lfs f1, 0x984(r31) -/* 800ABD70 C0 1F 0B FC */ lfs f0, 0xbfc(r31) -/* 800ABD74 EC 01 00 2A */ fadds f0, f1, f0 -/* 800ABD78 EF E2 00 32 */ fmuls f31, f2, f0 -/* 800ABD7C 38 7F 0A B0 */ addi r3, r31, 0xab0 -/* 800ABD80 38 81 00 68 */ addi r4, r1, 0x68 -/* 800ABD84 48 1C 34 59 */ bl SetC__8cM3dGCylFRC4cXyz -/* 800ABD88 38 7F 0A B0 */ addi r3, r31, 0xab0 -/* 800ABD8C FC 20 F8 90 */ fmr f1, f31 -/* 800ABD90 48 1C 34 69 */ bl SetH__8cM3dGCylFf -/* 800ABD94 C0 1F 38 38 */ lfs f0, 0x3838(r31) -/* 800ABD98 D0 1F 34 54 */ stfs f0, 0x3454(r31) -/* 800ABD9C E3 E1 00 98 */ psq_l f31, 152(r1), 0, 0 /* qr0 */ -/* 800ABDA0 CB E1 00 90 */ lfd f31, 0x90(r1) -/* 800ABDA4 83 E1 00 8C */ lwz r31, 0x8c(r1) -/* 800ABDA8 80 01 00 A4 */ lwz r0, 0xa4(r1) -/* 800ABDAC 7C 08 03 A6 */ mtlr r0 -/* 800ABDB0 38 21 00 A0 */ addi r1, r1, 0xa0 -/* 800ABDB4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCommonBoardAnime__9daAlink_cFi.s b/asm/d/a/d_a_alink/setCommonBoardAnime__9daAlink_cFi.s deleted file mode 100644 index a95d3ecb1b..0000000000 --- a/asm/d/a/d_a_alink/setCommonBoardAnime__9daAlink_cFi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80106534: -/* 80106534 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80106538 7C 08 02 A6 */ mflr r0 -/* 8010653C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80106540 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80106544 3C A0 80 39 */ lis r5, m__19daAlinkHIO_board_c0@ha /* 0x8038E870@ha */ -/* 80106548 38 A5 E8 70 */ addi r5, r5, m__19daAlinkHIO_board_c0@l /* 0x8038E870@l */ -/* 8010654C C0 45 00 60 */ lfs f2, 0x60(r5) -/* 80106550 C0 62 92 B8 */ lfs f3, lit_6040(r2) -/* 80106554 2C 04 00 00 */ cmpwi r4, 0 -/* 80106558 38 80 00 F2 */ li r4, 0xf2 -/* 8010655C 41 82 00 08 */ beq lbl_80106564 -/* 80106560 38 80 00 F3 */ li r4, 0xf3 -lbl_80106564: -/* 80106564 38 A0 00 F5 */ li r5, 0xf5 -/* 80106568 38 C0 00 0B */ li r6, 0xb -/* 8010656C 3C E0 80 39 */ lis r7, m__19daAlinkHIO_board_c0@ha /* 0x8038E870@ha */ -/* 80106570 38 E7 E8 70 */ addi r7, r7, m__19daAlinkHIO_board_c0@l /* 0x8038E870@l */ -/* 80106574 C0 87 00 64 */ lfs f4, 0x64(r7) -/* 80106578 4B FA 64 9D */ bl setDoubleAnime__9daAlink_cFfffQ29daAlink_c11daAlink_ANMQ29daAlink_c11daAlink_ANMif -/* 8010657C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80106580 7C 08 03 A6 */ mtlr r0 -/* 80106584 38 21 00 10 */ addi r1, r1, 0x10 -/* 80106588 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s deleted file mode 100644 index 4e3083d9e1..0000000000 --- a/asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_800E1840: -/* 800E1840 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E1844 7C 08 02 A6 */ mflr r0 -/* 800E1848 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E184C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E1850 48 28 09 8D */ bl _savegpr_29 -/* 800E1854 7C 7D 1B 78 */ mr r29, r3 -/* 800E1858 83 E3 27 E0 */ lwz r31, 0x27e0(r3) -/* 800E185C 3B C0 00 01 */ li r30, 1 -/* 800E1860 7F E3 FB 78 */ mr r3, r31 -/* 800E1864 4B F9 1F 81 */ bl LockonTruth__12dAttention_cFv -/* 800E1868 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E186C 40 82 00 14 */ bne lbl_800E1880 -/* 800E1870 80 1F 03 34 */ lwz r0, 0x334(r31) -/* 800E1874 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 800E1878 40 82 00 08 */ bne lbl_800E1880 -/* 800E187C 3B C0 00 00 */ li r30, 0 -lbl_800E1880: -/* 800E1880 7F A3 EB 78 */ mr r3, r29 -/* 800E1884 38 80 00 54 */ li r4, 0x54 -/* 800E1888 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 800E188C 41 82 00 14 */ beq lbl_800E18A0 -/* 800E1890 3C A0 80 39 */ lis r5, m__18daAlinkHIO_boom_c0@ha /* 0x8038E6C8@ha */ -/* 800E1894 38 A5 E6 C8 */ addi r5, r5, m__18daAlinkHIO_boom_c0@l /* 0x8038E6C8@l */ -/* 800E1898 C0 25 00 2C */ lfs f1, 0x2c(r5) -/* 800E189C 48 00 00 08 */ b lbl_800E18A4 -lbl_800E18A0: -/* 800E18A0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -lbl_800E18A4: -/* 800E18A4 C0 42 92 C4 */ lfs f2, lit_6109(r2) -/* 800E18A8 4B FC BB 01 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 800E18AC 7F A3 EB 78 */ mr r3, r29 -/* 800E18B0 81 9D 06 28 */ lwz r12, 0x628(r29) -/* 800E18B4 81 8C 02 A0 */ lwz r12, 0x2a0(r12) -/* 800E18B8 7D 89 03 A6 */ mtctr r12 -/* 800E18BC 4E 80 04 21 */ bctrl -/* 800E18C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800E18C4 41 82 00 18 */ beq lbl_800E18DC -/* 800E18C8 7F A3 EB 78 */ mr r3, r29 -/* 800E18CC 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002006B@ha */ -/* 800E18D0 38 84 00 6B */ addi r4, r4, 0x006B /* 0x0002006B@l */ -/* 800E18D4 4B FD D8 19 */ bl seStartSwordCut__9daAlink_cFUl -/* 800E18D8 48 00 00 14 */ b lbl_800E18EC -lbl_800E18DC: -/* 800E18DC 7F A3 EB 78 */ mr r3, r29 -/* 800E18E0 3C 80 00 02 */ lis r4, 0x0002 /* 0x0002008F@ha */ -/* 800E18E4 38 84 00 8F */ addi r4, r4, 0x008F /* 0x0002008F@l */ -/* 800E18E8 4B FD D8 05 */ bl seStartSwordCut__9daAlink_cFUl -lbl_800E18EC: -/* 800E18EC C0 02 93 78 */ lfs f0, lit_8676(r2) -/* 800E18F0 D0 1D 13 6C */ stfs f0, 0x136c(r29) -/* 800E18F4 3C 00 01 00 */ lis r0, 0x100 -/* 800E18F8 90 1D 12 3C */ stw r0, 0x123c(r29) -/* 800E18FC 7F A3 EB 78 */ mr r3, r29 -/* 800E1900 4B FC A1 E1 */ bl initLockAt__9daAlink_cFv -/* 800E1904 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E1908 48 28 09 21 */ bl _restgpr_29 -/* 800E190C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E1910 7C 08 03 A6 */ mtlr r0 -/* 800E1914 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E1918 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCopyRodSight__9daAlink_cFv.s b/asm/d/a/d_a_alink/setCopyRodSight__9daAlink_cFv.s deleted file mode 100644 index ea18cefc90..0000000000 --- a/asm/d/a/d_a_alink/setCopyRodSight__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800E1D6C: -/* 800E1D6C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E1D70 7C 08 02 A6 */ mflr r0 -/* 800E1D74 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E1D78 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800E1D7C 7C 7F 1B 78 */ mr r31, r3 -/* 800E1D80 80 03 28 28 */ lwz r0, 0x2828(r3) -/* 800E1D84 28 00 00 00 */ cmplwi r0, 0 -/* 800E1D88 41 82 00 84 */ beq lbl_800E1E0C -/* 800E1D8C 38 60 00 00 */ li r3, 0 -/* 800E1D90 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800E1D94 28 00 00 46 */ cmplwi r0, 0x46 -/* 800E1D98 40 82 00 14 */ bne lbl_800E1DAC -/* 800E1D9C A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800E1DA0 28 00 00 53 */ cmplwi r0, 0x53 -/* 800E1DA4 40 82 00 08 */ bne lbl_800E1DAC -/* 800E1DA8 38 60 00 01 */ li r3, 1 -lbl_800E1DAC: -/* 800E1DAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E1DB0 40 82 00 5C */ bne lbl_800E1E0C -/* 800E1DB4 7F E3 FB 78 */ mr r3, r31 -/* 800E1DB8 4B FF F5 79 */ bl getCopyRodBallDisMax__9daAlink_cCFv -/* 800E1DBC 7F E3 FB 78 */ mr r3, r31 -/* 800E1DC0 38 81 00 08 */ addi r4, r1, 8 -/* 800E1DC4 4B FD D7 3D */ bl checkSightLine__9daAlink_cFfP4cXyz -/* 800E1DC8 C0 01 00 08 */ lfs f0, 8(r1) -/* 800E1DCC D0 1F 20 6C */ stfs f0, 0x206c(r31) -/* 800E1DD0 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 800E1DD4 D0 1F 20 70 */ stfs f0, 0x2070(r31) -/* 800E1DD8 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 800E1DDC D0 1F 20 74 */ stfs f0, 0x2074(r31) -/* 800E1DE0 38 00 00 01 */ li r0, 1 -/* 800E1DE4 98 1F 20 68 */ stb r0, 0x2068(r31) -/* 800E1DE8 38 7F 12 2C */ addi r3, r31, 0x122c -/* 800E1DEC 4B FA 24 D5 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 800E1DF0 28 03 00 00 */ cmplwi r3, 0 -/* 800E1DF4 41 82 00 10 */ beq lbl_800E1E04 -/* 800E1DF8 38 7F 20 64 */ addi r3, r31, 0x2064 -/* 800E1DFC 48 04 49 15 */ bl onLockFlg__15daAlink_sight_cFv -/* 800E1E00 48 00 00 0C */ b lbl_800E1E0C -lbl_800E1E04: -/* 800E1E04 38 00 00 00 */ li r0, 0 -/* 800E1E08 98 1F 20 B0 */ stb r0, 0x20b0(r31) -lbl_800E1E0C: -/* 800E1E0C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800E1E10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E1E14 7C 08 03 A6 */ mtlr r0 -/* 800E1E18 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E1E1C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s b/asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s deleted file mode 100644 index 36aaf7c9e7..0000000000 --- a/asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s +++ /dev/null @@ -1,181 +0,0 @@ -lbl_800D1E1C: -/* 800D1E1C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D1E20 7C 08 02 A6 */ mflr r0 -/* 800D1E24 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D1E28 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D1E2C 48 29 03 B1 */ bl _savegpr_29 -/* 800D1E30 7C 7F 1B 78 */ mr r31, r3 -/* 800D1E34 7C BD 2B 78 */ mr r29, r5 -/* 800D1E38 3C A0 80 39 */ lis r5, lit_3757@ha /* 0x8038D658@ha */ -/* 800D1E3C 3B C5 D6 58 */ addi r30, r5, lit_3757@l /* 0x8038D658@l */ -/* 800D1E40 2C 04 00 00 */ cmpwi r4, 0 -/* 800D1E44 40 82 00 18 */ bne lbl_800D1E5C -/* 800D1E48 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800D1E4C 54 00 01 4B */ rlwinm. r0, r0, 0, 5, 5 -/* 800D1E50 41 82 00 0C */ beq lbl_800D1E5C -/* 800D1E54 48 00 05 6D */ bl checkCutAction__9daAlink_cFv -/* 800D1E58 48 00 02 44 */ b lbl_800D209C -lbl_800D1E5C: -/* 800D1E5C 38 00 00 05 */ li r0, 5 -/* 800D1E60 98 1F 2F CE */ stb r0, 0x2fce(r31) -/* 800D1E64 7F E3 FB 78 */ mr r3, r31 -/* 800D1E68 38 80 00 00 */ li r4, 0 -/* 800D1E6C 4B FF F5 C5 */ bl resetCombo__9daAlink_cFi -/* 800D1E70 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 800D1E74 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 800D1E78 90 1F 05 78 */ stw r0, 0x578(r31) -/* 800D1E7C 7F E3 FB 78 */ mr r3, r31 -/* 800D1E80 38 80 00 00 */ li r4, 0 -/* 800D1E84 38 A0 00 07 */ li r5, 7 -/* 800D1E88 38 C0 00 10 */ li r6, 0x10 -/* 800D1E8C 38 E0 00 01 */ li r7, 1 -/* 800D1E90 39 1E 08 34 */ addi r8, r30, 0x834 -/* 800D1E94 C0 28 00 84 */ lfs f1, 0x84(r8) -/* 800D1E98 C0 48 00 88 */ lfs f2, 0x88(r8) -/* 800D1E9C 4B FF F7 ED */ bl setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff -/* 800D1EA0 38 00 00 02 */ li r0, 2 -/* 800D1EA4 98 1F 2F D0 */ stb r0, 0x2fd0(r31) -/* 800D1EA8 88 7F 2F A1 */ lbz r3, 0x2fa1(r31) -/* 800D1EAC 38 03 00 01 */ addi r0, r3, 1 -/* 800D1EB0 98 1F 2F A1 */ stb r0, 0x2fa1(r31) -/* 800D1EB4 2C 1D 00 00 */ cmpwi r29, 0 -/* 800D1EB8 41 82 00 68 */ beq lbl_800D1F20 -/* 800D1EBC 7F E3 FB 78 */ mr r3, r31 -/* 800D1EC0 38 80 00 82 */ li r4, 0x82 -/* 800D1EC4 38 A0 00 02 */ li r5, 2 -/* 800D1EC8 38 DE 06 D0 */ addi r6, r30, 0x6d0 -/* 800D1ECC 4B FD B8 25 */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 800D1ED0 7F E3 FB 78 */ mr r3, r31 -/* 800D1ED4 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800D1ED8 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 800D1EDC 7D 89 03 A6 */ mtctr r12 -/* 800D1EE0 4E 80 04 21 */ bctrl -/* 800D1EE4 28 03 00 00 */ cmplwi r3, 0 -/* 800D1EE8 41 82 00 14 */ beq lbl_800D1EFC -/* 800D1EEC 7F E3 FB 78 */ mr r3, r31 -/* 800D1EF0 38 80 00 0D */ li r4, 0xd -/* 800D1EF4 4B FF F6 39 */ bl setCutType__9daAlink_cFUc -/* 800D1EF8 48 00 00 10 */ b lbl_800D1F08 -lbl_800D1EFC: -/* 800D1EFC 7F E3 FB 78 */ mr r3, r31 -/* 800D1F00 38 80 00 38 */ li r4, 0x38 -/* 800D1F04 4B FF F6 29 */ bl setCutType__9daAlink_cFUc -lbl_800D1F08: -/* 800D1F08 88 1F 2F A1 */ lbz r0, 0x2fa1(r31) -/* 800D1F0C 28 00 00 03 */ cmplwi r0, 3 -/* 800D1F10 40 82 01 18 */ bne lbl_800D2028 -/* 800D1F14 38 00 00 01 */ li r0, 1 -/* 800D1F18 98 1F 2F A1 */ stb r0, 0x2fa1(r31) -/* 800D1F1C 48 00 01 0C */ b lbl_800D2028 -lbl_800D1F20: -/* 800D1F20 88 1F 2F A1 */ lbz r0, 0x2fa1(r31) -/* 800D1F24 28 00 00 01 */ cmplwi r0, 1 -/* 800D1F28 41 82 00 0C */ beq lbl_800D1F34 -/* 800D1F2C 28 00 00 03 */ cmplwi r0, 3 -/* 800D1F30 40 82 00 84 */ bne lbl_800D1FB4 -lbl_800D1F34: -/* 800D1F34 7F E3 FB 78 */ mr r3, r31 -/* 800D1F38 38 80 00 80 */ li r4, 0x80 -/* 800D1F3C 38 A0 00 02 */ li r5, 2 -/* 800D1F40 38 DE 06 98 */ addi r6, r30, 0x698 -/* 800D1F44 4B FD B7 AD */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 800D1F48 7F E3 FB 78 */ mr r3, r31 -/* 800D1F4C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800D1F50 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 800D1F54 7D 89 03 A6 */ mtctr r12 -/* 800D1F58 4E 80 04 21 */ bctrl -/* 800D1F5C 28 03 00 00 */ cmplwi r3, 0 -/* 800D1F60 41 82 00 14 */ beq lbl_800D1F74 -/* 800D1F64 7F E3 FB 78 */ mr r3, r31 -/* 800D1F68 38 80 00 0B */ li r4, 0xb -/* 800D1F6C 4B FF F5 C1 */ bl setCutType__9daAlink_cFUc -/* 800D1F70 48 00 00 2C */ b lbl_800D1F9C -lbl_800D1F74: -/* 800D1F74 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800D1F78 28 00 00 0A */ cmplwi r0, 0xa -/* 800D1F7C 40 82 00 14 */ bne lbl_800D1F90 -/* 800D1F80 7F E3 FB 78 */ mr r3, r31 -/* 800D1F84 38 80 00 10 */ li r4, 0x10 -/* 800D1F88 4B FF F5 A5 */ bl setCutType__9daAlink_cFUc -/* 800D1F8C 48 00 00 10 */ b lbl_800D1F9C -lbl_800D1F90: -/* 800D1F90 7F E3 FB 78 */ mr r3, r31 -/* 800D1F94 38 80 00 25 */ li r4, 0x25 -/* 800D1F98 4B FF F5 95 */ bl setCutType__9daAlink_cFUc -lbl_800D1F9C: -/* 800D1F9C 38 00 00 01 */ li r0, 1 -/* 800D1FA0 98 1F 2F A1 */ stb r0, 0x2fa1(r31) -/* 800D1FA4 7F E3 FB 78 */ mr r3, r31 -/* 800D1FA8 38 80 00 13 */ li r4, 0x13 -/* 800D1FAC 4B FD DA FD */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800D1FB0 48 00 00 78 */ b lbl_800D2028 -lbl_800D1FB4: -/* 800D1FB4 7F E3 FB 78 */ mr r3, r31 -/* 800D1FB8 38 80 00 81 */ li r4, 0x81 -/* 800D1FBC 38 A0 00 02 */ li r5, 2 -/* 800D1FC0 38 DE 06 B4 */ addi r6, r30, 0x6b4 -/* 800D1FC4 4B FD B7 2D */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 800D1FC8 7F E3 FB 78 */ mr r3, r31 -/* 800D1FCC 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800D1FD0 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 800D1FD4 7D 89 03 A6 */ mtctr r12 -/* 800D1FD8 4E 80 04 21 */ bctrl -/* 800D1FDC 28 03 00 00 */ cmplwi r3, 0 -/* 800D1FE0 41 82 00 14 */ beq lbl_800D1FF4 -/* 800D1FE4 7F E3 FB 78 */ mr r3, r31 -/* 800D1FE8 38 80 00 0C */ li r4, 0xc -/* 800D1FEC 4B FF F5 41 */ bl setCutType__9daAlink_cFUc -/* 800D1FF0 48 00 00 2C */ b lbl_800D201C -lbl_800D1FF4: -/* 800D1FF4 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800D1FF8 28 00 00 0A */ cmplwi r0, 0xa -/* 800D1FFC 40 82 00 14 */ bne lbl_800D2010 -/* 800D2000 7F E3 FB 78 */ mr r3, r31 -/* 800D2004 38 80 00 11 */ li r4, 0x11 -/* 800D2008 4B FF F5 25 */ bl setCutType__9daAlink_cFUc -/* 800D200C 48 00 00 10 */ b lbl_800D201C -lbl_800D2010: -/* 800D2010 7F E3 FB 78 */ mr r3, r31 -/* 800D2014 38 80 00 26 */ li r4, 0x26 -/* 800D2018 4B FF F5 15 */ bl setCutType__9daAlink_cFUc -lbl_800D201C: -/* 800D201C 7F E3 FB 78 */ mr r3, r31 -/* 800D2020 38 80 00 14 */ li r4, 0x14 -/* 800D2024 4B FD DA 85 */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -lbl_800D2028: -/* 800D2028 7F E3 FB 78 */ mr r3, r31 -/* 800D202C 38 80 01 04 */ li r4, 0x104 -/* 800D2030 38 A0 00 01 */ li r5, 1 -/* 800D2034 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800D2038 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800D203C 4B FD D4 75 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800D2040 38 00 00 02 */ li r0, 2 -/* 800D2044 98 1F 2F 96 */ stb r0, 0x2f96(r31) -/* 800D2048 38 7E 08 34 */ addi r3, r30, 0x834 -/* 800D204C A8 03 00 52 */ lha r0, 0x52(r3) -/* 800D2050 B0 1F 30 7E */ sth r0, 0x307e(r31) -/* 800D2054 7F E3 FB 78 */ mr r3, r31 -/* 800D2058 3C 80 00 01 */ lis r4, 0x0001 /* 0x0001001C@ha */ -/* 800D205C 38 84 00 1C */ addi r4, r4, 0x001C /* 0x0001001C@l */ -/* 800D2060 48 00 02 25 */ bl setSwordVoiceSe__9daAlink_cFUl -/* 800D2064 4B FF EE F9 */ bl getSwordAtType__9daAlink_cFv -/* 800D2068 7C 64 1B 78 */ mr r4, r3 -/* 800D206C 7F E3 FB 78 */ mr r3, r31 -/* 800D2070 38 A0 00 00 */ li r5, 0 -/* 800D2074 38 C0 00 07 */ li r6, 7 -/* 800D2078 38 E0 00 10 */ li r7, 0x10 -/* 800D207C 39 00 00 01 */ li r8, 1 -/* 800D2080 C0 22 93 00 */ lfs f1, lit_6895(r2) -/* 800D2084 C0 42 93 04 */ lfs f2, lit_6896(r2) -/* 800D2088 4B FF F4 B9 */ bl setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff -/* 800D208C 7F E3 FB 78 */ mr r3, r31 -/* 800D2090 48 05 20 B5 */ bl setCutWaterDropEffect__9daAlink_cFv -/* 800D2094 38 00 00 00 */ li r0, 0 -/* 800D2098 98 1F 2F B7 */ stb r0, 0x2fb7(r31) -lbl_800D209C: -/* 800D209C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D20A0 48 29 01 89 */ bl _restgpr_29 -/* 800D20A4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D20A8 7C 08 03 A6 */ mtlr r0 -/* 800D20AC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D20B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCutWaterDropEffect__9daAlink_cFv.s b/asm/d/a/d_a_alink/setCutWaterDropEffect__9daAlink_cFv.s deleted file mode 100644 index 3e97f95dd0..0000000000 --- a/asm/d/a/d_a_alink/setCutWaterDropEffect__9daAlink_cFv.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80124144: -/* 80124144 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80124148 7C 08 02 A6 */ mflr r0 -/* 8012414C 90 01 00 34 */ stw r0, 0x34(r1) -/* 80124150 7C 68 1B 78 */ mr r8, r3 -/* 80124154 A8 03 32 C0 */ lha r0, 0x32c0(r3) -/* 80124158 2C 00 00 00 */ cmpwi r0, 0 -/* 8012415C 40 81 00 74 */ ble lbl_801241D0 -/* 80124160 80 68 06 50 */ lwz r3, 0x650(r8) -/* 80124164 80 63 00 84 */ lwz r3, 0x84(r3) -/* 80124168 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8012416C C0 03 00 3C */ lfs f0, 0x3c(r3) -/* 80124170 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80124174 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 80124178 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8012417C C0 03 00 5C */ lfs f0, 0x5c(r3) -/* 80124180 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80124184 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80124188 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8012418C 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 80124190 38 80 00 00 */ li r4, 0 -/* 80124194 90 81 00 08 */ stw r4, 8(r1) -/* 80124198 38 00 FF FF */ li r0, -1 -/* 8012419C 90 01 00 0C */ stw r0, 0xc(r1) -/* 801241A0 90 81 00 10 */ stw r4, 0x10(r1) -/* 801241A4 90 81 00 14 */ stw r4, 0x14(r1) -/* 801241A8 90 81 00 18 */ stw r4, 0x18(r1) -/* 801241AC 38 80 00 00 */ li r4, 0 -/* 801241B0 38 A0 02 A4 */ li r5, 0x2a4 -/* 801241B4 38 C1 00 20 */ addi r6, r1, 0x20 -/* 801241B8 38 E8 01 0C */ addi r7, r8, 0x10c -/* 801241BC 39 08 04 E4 */ addi r8, r8, 0x4e4 -/* 801241C0 39 20 00 00 */ li r9, 0 -/* 801241C4 39 40 00 FF */ li r10, 0xff -/* 801241C8 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801241CC 4B F2 88 C5 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -lbl_801241D0: -/* 801241D0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801241D4 7C 08 03 A6 */ mtlr r0 -/* 801241D8 38 21 00 30 */ addi r1, r1, 0x30 -/* 801241DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff.s b/asm/d/a/d_a_alink/setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff.s deleted file mode 100644 index e6b2d80768..0000000000 --- a/asm/d/a/d_a_alink/setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_800D1540: -/* 800D1540 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800D1544 7C 08 02 A6 */ mflr r0 -/* 800D1548 90 01 00 34 */ stw r0, 0x34(r1) -/* 800D154C DB E1 00 28 */ stfd f31, 0x28(r1) -/* 800D1550 39 61 00 28 */ addi r11, r1, 0x28 -/* 800D1554 48 29 0C 79 */ bl _savegpr_25 -/* 800D1558 7C 7A 1B 78 */ mr r26, r3 -/* 800D155C 7C 9B 23 78 */ mr r27, r4 -/* 800D1560 7C BC 2B 78 */ mr r28, r5 -/* 800D1564 7C DD 33 78 */ mr r29, r6 -/* 800D1568 7C FE 3B 78 */ mr r30, r7 -/* 800D156C 7D 1F 43 78 */ mr r31, r8 -/* 800D1570 FF E0 10 90 */ fmr f31, f2 -/* 800D1574 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D1578 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D157C 88 03 00 14 */ lbz r0, 0x14(r3) -/* 800D1580 28 00 00 3F */ cmplwi r0, 0x3f -/* 800D1584 40 82 00 24 */ bne lbl_800D15A8 -/* 800D1588 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 800D158C 28 00 00 0E */ cmplwi r0, 0xe -/* 800D1590 41 82 00 14 */ beq lbl_800D15A4 -/* 800D1594 28 00 00 01 */ cmplwi r0, 1 -/* 800D1598 41 82 00 0C */ beq lbl_800D15A4 -/* 800D159C 28 00 00 10 */ cmplwi r0, 0x10 -/* 800D15A0 40 82 00 08 */ bne lbl_800D15A8 -lbl_800D15A4: -/* 800D15A4 3B C0 00 05 */ li r30, 5 -lbl_800D15A8: -/* 800D15A8 57 60 07 BD */ rlwinm. r0, r27, 0, 0x1e, 0x1e -/* 800D15AC 41 82 00 20 */ beq lbl_800D15CC -/* 800D15B0 80 1A 05 7C */ lwz r0, 0x57c(r26) -/* 800D15B4 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 800D15B8 41 82 00 0C */ beq lbl_800D15C4 -/* 800D15BC 3B 20 00 04 */ li r25, 4 -/* 800D15C0 48 00 00 24 */ b lbl_800D15E4 -lbl_800D15C4: -/* 800D15C4 3B 20 00 00 */ li r25, 0 -/* 800D15C8 48 00 00 1C */ b lbl_800D15E4 -lbl_800D15CC: -/* 800D15CC A0 1A 2F DC */ lhz r0, 0x2fdc(r26) -/* 800D15D0 28 00 00 67 */ cmplwi r0, 0x67 -/* 800D15D4 40 82 00 0C */ bne lbl_800D15E0 -/* 800D15D8 3B 20 00 06 */ li r25, 6 -/* 800D15DC 48 00 00 08 */ b lbl_800D15E4 -lbl_800D15E0: -/* 800D15E0 3B 20 00 00 */ li r25, 0 -lbl_800D15E4: -/* 800D15E4 93 7A 11 00 */ stw r27, 0x1100(r26) -/* 800D15E8 9B 9A 11 67 */ stb r28, 0x1167(r26) -/* 800D15EC 9B BA 11 66 */ stb r29, 0x1166(r26) -/* 800D15F0 9B DA 11 64 */ stb r30, 0x1164(r26) -/* 800D15F4 9B FA 11 04 */ stb r31, 0x1104(r26) -/* 800D15F8 38 7A 12 14 */ addi r3, r26, 0x1214 -/* 800D15FC 48 19 DC 05 */ bl SetR__8cM3dGCylFf -/* 800D1600 38 7A 12 14 */ addi r3, r26, 0x1214 -/* 800D1604 FC 20 F8 90 */ fmr f1, f31 -/* 800D1608 48 19 DB F1 */ bl SetH__8cM3dGCylFf -/* 800D160C 9B 3A 11 65 */ stb r25, 0x1165(r26) -/* 800D1610 A0 1A 2F E8 */ lhz r0, 0x2fe8(r26) -/* 800D1614 28 00 00 1E */ cmplwi r0, 0x1e -/* 800D1618 40 82 00 14 */ bne lbl_800D162C -/* 800D161C 80 1A 11 48 */ lwz r0, 0x1148(r26) -/* 800D1620 60 00 00 02 */ ori r0, r0, 2 -/* 800D1624 90 1A 11 48 */ stw r0, 0x1148(r26) -/* 800D1628 48 00 00 10 */ b lbl_800D1638 -lbl_800D162C: -/* 800D162C 80 1A 11 48 */ lwz r0, 0x1148(r26) -/* 800D1630 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 800D1634 90 1A 11 48 */ stw r0, 0x1148(r26) -lbl_800D1638: -/* 800D1638 80 1A 05 74 */ lwz r0, 0x574(r26) -/* 800D163C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D1640 41 82 00 2C */ beq lbl_800D166C -/* 800D1644 38 7A 08 50 */ addi r3, r26, 0x850 -/* 800D1648 38 00 00 03 */ li r0, 3 -/* 800D164C 7C 09 03 A6 */ mtctr r0 -lbl_800D1650: -/* 800D1650 93 63 00 10 */ stw r27, 0x10(r3) -/* 800D1654 9B 83 00 77 */ stb r28, 0x77(r3) -/* 800D1658 9B A3 00 76 */ stb r29, 0x76(r3) -/* 800D165C 9B C3 00 74 */ stb r30, 0x74(r3) -/* 800D1660 9B E3 00 14 */ stb r31, 0x14(r3) -/* 800D1664 38 63 01 3C */ addi r3, r3, 0x13c -/* 800D1668 42 00 FF E8 */ bdnz lbl_800D1650 -lbl_800D166C: -/* 800D166C CB E1 00 28 */ lfd f31, 0x28(r1) -/* 800D1670 39 61 00 28 */ addi r11, r1, 0x28 -/* 800D1674 48 29 0B A5 */ bl _restgpr_25 -/* 800D1678 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800D167C 7C 08 03 A6 */ mtlr r0 -/* 800D1680 38 21 00 30 */ addi r1, r1, 0x30 -/* 800D1684 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setDamagePointNormal__9daAlink_cFi.s b/asm/d/a/d_a_alink/setDamagePointNormal__9daAlink_cFi.s deleted file mode 100644 index ad4420a554..0000000000 --- a/asm/d/a/d_a_alink/setDamagePointNormal__9daAlink_cFi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800D7478: -/* 800D7478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D747C 7C 08 02 A6 */ mflr r0 -/* 800D7480 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D7484 38 A0 00 00 */ li r5, 0 -/* 800D7488 38 C0 00 01 */ li r6, 1 -/* 800D748C 38 E0 00 00 */ li r7, 0 -/* 800D7490 4B FF FE 2D */ bl setDamagePoint__9daAlink_cFiiii -/* 800D7494 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D7498 7C 08 03 A6 */ mtlr r0 -/* 800D749C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D74A0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setDashDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/setDashDamage__9daAlink_cFv.s deleted file mode 100644 index 0e2527a3b1..0000000000 --- a/asm/d/a/d_a_alink/setDashDamage__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_800D76C4: -/* 800D76C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D76C8 7C 08 02 A6 */ mflr r0 -/* 800D76CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D76D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D76D4 7C 7F 1B 78 */ mr r31, r3 -/* 800D76D8 38 80 00 AD */ li r4, 0xad -/* 800D76DC 38 A0 00 02 */ li r5, 2 -/* 800D76E0 3C C0 80 39 */ lis r6, m__20daAlinkHIO_damage_c0@ha /* 0x8038E54C@ha */ -/* 800D76E4 38 C6 E5 4C */ addi r6, r6, m__20daAlinkHIO_damage_c0@l /* 0x8038E54C@l */ -/* 800D76E8 38 C6 00 14 */ addi r6, r6, 0x14 -/* 800D76EC 4B FD 60 05 */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 800D76F0 7F E3 FB 78 */ mr r3, r31 -/* 800D76F4 38 80 01 21 */ li r4, 0x121 -/* 800D76F8 38 A0 00 01 */ li r5, 1 -/* 800D76FC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800D7700 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800D7704 4B FD 7D AD */ bl setFaceBck__9daAlink_cFUsiUs -/* 800D7708 7F E3 FB 78 */ mr r3, r31 -/* 800D770C 38 80 00 27 */ li r4, 0x27 -/* 800D7710 4B FD 83 99 */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800D7714 7F E3 FB 78 */ mr r3, r31 -/* 800D7718 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010002@ha */ -/* 800D771C 38 84 00 02 */ addi r4, r4, 0x0002 /* 0x00010002@l */ -/* 800D7720 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800D7724 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800D7728 7D 89 03 A6 */ mtctr r12 -/* 800D772C 4E 80 04 21 */ bctrl -/* 800D7730 7F E3 FB 78 */ mr r3, r31 -/* 800D7734 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020014@ha */ -/* 800D7738 38 84 00 14 */ addi r4, r4, 0x0014 /* 0x00020014@l */ -/* 800D773C 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800D7740 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 800D7744 7D 89 03 A6 */ mtctr r12 -/* 800D7748 4E 80 04 21 */ bctrl -/* 800D774C 7F E3 FB 78 */ mr r3, r31 -/* 800D7750 48 00 D4 85 */ bl freeGrabItem__9daAlink_cFv -/* 800D7754 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D7758 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D775C 7C 08 03 A6 */ mtlr r0 -/* 800D7760 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D7764 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setDkCaught__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/setDkCaught__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index cd20da10bd..0000000000 --- a/asm/d/a/d_a_alink/setDkCaught__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_800D6DF0: -/* 800D6DF0 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800D6DF4 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800D6DF8 4C 82 00 20 */ bnelr -/* 800D6DFC 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800D6E00 60 00 00 01 */ ori r0, r0, 1 -/* 800D6E04 90 03 05 74 */ stw r0, 0x574(r3) -/* 800D6E08 28 04 00 00 */ cmplwi r4, 0 -/* 800D6E0C 41 82 00 0C */ beq lbl_800D6E18 -/* 800D6E10 80 04 00 04 */ lwz r0, 4(r4) -/* 800D6E14 48 00 00 08 */ b lbl_800D6E1C -lbl_800D6E18: -/* 800D6E18 38 00 FF FF */ li r0, -1 -lbl_800D6E1C: -/* 800D6E1C 90 03 28 F8 */ stw r0, 0x28f8(r3) -/* 800D6E20 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s b/asm/d/a/d_a_alink/setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s deleted file mode 100644 index 0e9643da2f..0000000000 --- a/asm/d/a/d_a_alink/setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_801206C4: -/* 801206C4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801206C8 7C 08 02 A6 */ mflr r0 -/* 801206CC 90 01 00 34 */ stw r0, 0x34(r1) -/* 801206D0 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 801206D4 93 C1 00 28 */ stw r30, 0x28(r1) -/* 801206D8 7C 6B 1B 78 */ mr r11, r3 -/* 801206DC 7C 9E 23 78 */ mr r30, r4 -/* 801206E0 7C AA 2B 78 */ mr r10, r5 -/* 801206E4 7C C8 33 78 */ mr r8, r6 -/* 801206E8 7C E9 3B 78 */ mr r9, r7 -/* 801206EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801206F0 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801206F4 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 801206F8 38 00 00 FF */ li r0, 0xff -/* 801206FC 90 01 00 08 */ stw r0, 8(r1) -/* 80120700 38 80 00 00 */ li r4, 0 -/* 80120704 90 81 00 0C */ stw r4, 0xc(r1) -/* 80120708 38 00 FF FF */ li r0, -1 -/* 8012070C 90 01 00 10 */ stw r0, 0x10(r1) -/* 80120710 90 81 00 14 */ stw r4, 0x14(r1) -/* 80120714 90 81 00 18 */ stw r4, 0x18(r1) -/* 80120718 90 81 00 1C */ stw r4, 0x1c(r1) -/* 8012071C 80 9E 00 00 */ lwz r4, 0(r30) -/* 80120720 38 A0 00 00 */ li r5, 0 -/* 80120724 7D 46 53 78 */ mr r6, r10 -/* 80120728 7D 07 43 78 */ mr r7, r8 -/* 8012072C 39 0B 01 0C */ addi r8, r11, 0x10c -/* 80120730 39 40 00 00 */ li r10, 0 -/* 80120734 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80120738 4B F2 CD 95 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 8012073C 90 7E 00 00 */ stw r3, 0(r30) -/* 80120740 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80120744 38 63 02 10 */ addi r3, r3, 0x210 -/* 80120748 80 9E 00 00 */ lwz r4, 0(r30) -/* 8012074C 4B F2 B1 69 */ bl forceOnEventMove__Q213dPa_control_c7level_cFUl -/* 80120750 80 7F 5D 3C */ lwz r3, 0x5d3c(r31) -/* 80120754 38 63 02 10 */ addi r3, r3, 0x210 -/* 80120758 80 9E 00 00 */ lwz r4, 0(r30) -/* 8012075C 4B F2 B1 BD */ bl getEmitter__Q213dPa_control_c7level_cFUl -/* 80120760 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80120764 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80120768 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8012076C 7C 08 03 A6 */ mtlr r0 -/* 80120770 38 21 00 30 */ addi r1, r1, 0x30 -/* 80120774 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setFishGetFace__9daAlink_cFv.s b/asm/d/a/d_a_alink/setFishGetFace__9daAlink_cFv.s deleted file mode 100644 index 4ce05a426b..0000000000 --- a/asm/d/a/d_a_alink/setFishGetFace__9daAlink_cFv.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_800F4490: -/* 800F4490 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800F4494 7C 08 02 A6 */ mflr r0 -/* 800F4498 90 01 00 14 */ stw r0, 0x14(r1) -/* 800F449C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800F44A0 7C 7F 1B 78 */ mr r31, r3 -/* 800F44A4 88 03 2F C8 */ lbz r0, 0x2fc8(r3) -/* 800F44A8 28 00 00 01 */ cmplwi r0, 1 -/* 800F44AC 40 82 00 1C */ bne lbl_800F44C8 -/* 800F44B0 38 80 01 40 */ li r4, 0x140 -/* 800F44B4 38 A0 00 01 */ li r5, 1 -/* 800F44B8 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800F44BC 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800F44C0 4B FB AF F1 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800F44C4 48 00 00 8C */ b lbl_800F4550 -lbl_800F44C8: -/* 800F44C8 28 00 00 02 */ cmplwi r0, 2 -/* 800F44CC 40 82 00 28 */ bne lbl_800F44F4 -/* 800F44D0 38 80 00 7A */ li r4, 0x7a -/* 800F44D4 4B FB B5 D5 */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800F44D8 7F E3 FB 78 */ mr r3, r31 -/* 800F44DC 38 80 01 43 */ li r4, 0x143 -/* 800F44E0 38 A0 00 01 */ li r5, 1 -/* 800F44E4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800F44E8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800F44EC 4B FB AF C5 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800F44F0 48 00 00 60 */ b lbl_800F4550 -lbl_800F44F4: -/* 800F44F4 28 00 00 03 */ cmplwi r0, 3 -/* 800F44F8 40 82 00 28 */ bne lbl_800F4520 -/* 800F44FC 38 80 00 7B */ li r4, 0x7b -/* 800F4500 4B FB B5 A9 */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800F4504 7F E3 FB 78 */ mr r3, r31 -/* 800F4508 38 80 01 46 */ li r4, 0x146 -/* 800F450C 38 A0 00 01 */ li r5, 1 -/* 800F4510 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800F4514 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800F4518 4B FB AF 99 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800F451C 48 00 00 34 */ b lbl_800F4550 -lbl_800F4520: -/* 800F4520 28 00 00 04 */ cmplwi r0, 4 -/* 800F4524 40 82 00 28 */ bne lbl_800F454C -/* 800F4528 38 80 00 7C */ li r4, 0x7c -/* 800F452C 4B FB B5 7D */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800F4530 7F E3 FB 78 */ mr r3, r31 -/* 800F4534 38 80 01 49 */ li r4, 0x149 -/* 800F4538 38 A0 00 01 */ li r5, 1 -/* 800F453C 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800F4540 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800F4544 4B FB AF 6D */ bl setFaceBck__9daAlink_cFUsiUs -/* 800F4548 48 00 00 08 */ b lbl_800F4550 -lbl_800F454C: -/* 800F454C 4B FB B7 71 */ bl resetFacePriAnime__9daAlink_cFv -lbl_800F4550: -/* 800F4550 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800F4554 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800F4558 7C 08 03 A6 */ mtlr r0 -/* 800F455C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800F4560 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo.s b/asm/d/a/d_a_alink/setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo.s deleted file mode 100644 index a32274bca2..0000000000 --- a/asm/d/a/d_a_alink/setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_800E3994: -/* 800E3994 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800E3998 7C 08 02 A6 */ mflr r0 -/* 800E399C 90 01 00 34 */ stw r0, 0x34(r1) -/* 800E39A0 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 800E39A4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 800E39A8 DB C1 00 10 */ stfd f30, 0x10(r1) -/* 800E39AC F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */ -/* 800E39B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800E39B4 7C 7F 1B 78 */ mr r31, r3 -/* 800E39B8 FF C0 08 90 */ fmr f30, f1 -/* 800E39BC FF E0 10 90 */ fmr f31, f2 -/* 800E39C0 28 04 00 00 */ cmplwi r4, 0 -/* 800E39C4 41 82 00 10 */ beq lbl_800E39D4 -/* 800E39C8 38 7F 1E 4C */ addi r3, r31, 0x1e4c -/* 800E39CC 48 18 47 7D */ bl SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo -/* 800E39D0 48 00 00 0C */ b lbl_800E39DC -lbl_800E39D4: -/* 800E39D4 38 7F 1E 4C */ addi r3, r31, 0x1e4c -/* 800E39D8 48 18 47 49 */ bl ClearPi__13cBgS_PolyInfoFv -lbl_800E39DC: -/* 800E39DC C0 22 94 08 */ lfs f1, lit_14064(r2) -/* 800E39E0 EC 01 07 B2 */ fmuls f0, f1, f30 -/* 800E39E4 D0 1F 34 2C */ stfs f0, 0x342c(r31) -/* 800E39E8 EC 01 07 F2 */ fmuls f0, f1, f31 -/* 800E39EC D0 1F 34 30 */ stfs f0, 0x3430(r31) -/* 800E39F0 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800E39F4 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800E39F8 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */ -/* 800E39FC CB C1 00 10 */ lfd f30, 0x10(r1) -/* 800E3A00 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800E3A04 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800E3A08 7C 08 03 A6 */ mtlr r0 -/* 800E3A0C 38 21 00 30 */ addi r1, r1, 0x30 -/* 800E3A10 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setHookshotReadyMaterial__9daAlink_cFv.s b/asm/d/a/d_a_alink/setHookshotReadyMaterial__9daAlink_cFv.s deleted file mode 100644 index 8901edecf1..0000000000 --- a/asm/d/a/d_a_alink/setHookshotReadyMaterial__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80109070: -/* 80109070 80 03 05 78 */ lwz r0, 0x578(r3) -/* 80109074 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 80109078 40 82 00 18 */ bne lbl_80109090 -/* 8010907C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80109080 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80109084 88 04 00 13 */ lbz r0, 0x13(r4) -/* 80109088 28 00 00 2E */ cmplwi r0, 0x2e -/* 8010908C 40 82 00 10 */ bne lbl_8010909C -lbl_80109090: -/* 80109090 38 00 00 00 */ li r0, 0 -/* 80109094 B0 03 30 14 */ sth r0, 0x3014(r3) -/* 80109098 4E 80 00 20 */ blr -lbl_8010909C: -/* 8010909C 28 00 00 31 */ cmplwi r0, 0x31 -/* 801090A0 40 82 00 18 */ bne lbl_801090B8 -/* 801090A4 38 00 03 7B */ li r0, 0x37b -/* 801090A8 90 03 32 CC */ stw r0, 0x32cc(r3) -/* 801090AC 38 00 00 0E */ li r0, 0xe -/* 801090B0 B0 03 30 14 */ sth r0, 0x3014(r3) -/* 801090B4 4E 80 00 20 */ blr -lbl_801090B8: -/* 801090B8 28 00 00 30 */ cmplwi r0, 0x30 -/* 801090BC 40 82 00 18 */ bne lbl_801090D4 -/* 801090C0 38 00 0C 80 */ li r0, 0xc80 -/* 801090C4 90 03 32 CC */ stw r0, 0x32cc(r3) -/* 801090C8 38 00 00 0D */ li r0, 0xd -/* 801090CC B0 03 30 14 */ sth r0, 0x3014(r3) -/* 801090D0 4E 80 00 20 */ blr -lbl_801090D4: -/* 801090D4 3C 80 00 01 */ lis r4, 0x0001 /* 0x00011C47@ha */ -/* 801090D8 38 04 1C 47 */ addi r0, r4, 0x1C47 /* 0x00011C47@l */ -/* 801090DC 90 03 32 CC */ stw r0, 0x32cc(r3) -/* 801090E0 38 00 00 12 */ li r0, 0x12 -/* 801090E4 B0 03 30 14 */ sth r0, 0x3014(r3) -/* 801090E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setHorseSwordUpAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setHorseSwordUpAnime__9daAlink_cFv.s deleted file mode 100644 index 63794f7341..0000000000 --- a/asm/d/a/d_a_alink/setHorseSwordUpAnime__9daAlink_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_800ECF9C: -/* 800ECF9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800ECFA0 7C 08 02 A6 */ mflr r0 -/* 800ECFA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 800ECFA8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800ECFAC 7C 7F 1B 78 */ mr r31, r3 -/* 800ECFB0 38 80 00 CC */ li r4, 0xcc -/* 800ECFB4 3C A0 80 39 */ lis r5, m__19daAlinkHIO_horse_c0@ha /* 0x8038E5A4@ha */ -/* 800ECFB8 38 A5 E5 A4 */ addi r5, r5, m__19daAlinkHIO_horse_c0@l /* 0x8038E5A4@l */ -/* 800ECFBC C0 25 00 5C */ lfs f1, 0x5c(r5) -/* 800ECFC0 C0 45 00 60 */ lfs f2, 0x60(r5) -/* 800ECFC4 4B FC 03 E5 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 800ECFC8 7F E3 FB 78 */ mr r3, r31 -/* 800ECFCC 38 80 00 E8 */ li r4, 0xe8 -/* 800ECFD0 38 A0 00 01 */ li r5, 1 -/* 800ECFD4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800ECFD8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800ECFDC 4B FC 24 D5 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800ECFE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800ECFE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800ECFE8 7C 08 03 A6 */ mtlr r0 -/* 800ECFEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800ECFF0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setIronBallBaseAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setIronBallBaseAnime__9daAlink_cFv.s deleted file mode 100644 index 022da91498..0000000000 --- a/asm/d/a/d_a_alink/setIronBallBaseAnime__9daAlink_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_801151E0: -/* 801151E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801151E4 7C 08 02 A6 */ mflr r0 -/* 801151E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 801151EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801151F0 7C 7F 1B 78 */ mr r31, r3 -/* 801151F4 A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 801151F8 28 00 01 9B */ cmplwi r0, 0x19b -/* 801151FC 40 82 00 44 */ bne lbl_80115240 -/* 80115200 38 80 01 63 */ li r4, 0x163 -/* 80115204 4B F9 73 55 */ bl checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM -/* 80115208 2C 03 00 00 */ cmpwi r3, 0 -/* 8011520C 40 82 00 34 */ bne lbl_80115240 -/* 80115210 7F E3 FB 78 */ mr r3, r31 -/* 80115214 38 80 01 63 */ li r4, 0x163 -/* 80115218 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 8011521C 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115220 C0 25 00 24 */ lfs f1, 0x24(r5) -/* 80115224 C0 45 00 28 */ lfs f2, 0x28(r5) -/* 80115228 4B F9 7D B9 */ bl setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff -/* 8011522C C0 1F 20 58 */ lfs f0, 0x2058(r31) -/* 80115230 D0 1F 1F E0 */ stfs f0, 0x1fe0(r31) -/* 80115234 C0 1F 20 58 */ lfs f0, 0x2058(r31) -/* 80115238 80 7F 1F 2C */ lwz r3, 0x1f2c(r31) -/* 8011523C D0 03 00 08 */ stfs f0, 8(r3) -lbl_80115240: -/* 80115240 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80115244 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80115248 7C 08 03 A6 */ mtlr r0 -/* 8011524C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80115250 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setIronBallBgCheckPos__9daAlink_cFv.s b/asm/d/a/d_a_alink/setIronBallBgCheckPos__9daAlink_cFv.s deleted file mode 100644 index 1d27ae5f87..0000000000 --- a/asm/d/a/d_a_alink/setIronBallBgCheckPos__9daAlink_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80112768: -/* 80112768 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8011276C 7C 08 02 A6 */ mflr r0 -/* 80112770 90 01 00 24 */ stw r0, 0x24(r1) -/* 80112774 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80112778 7C 7F 1B 78 */ mr r31, r3 -/* 8011277C 80 63 38 40 */ lwz r3, 0x3840(r3) -/* 80112780 4B EF A5 E5 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 80112784 80 7F 38 44 */ lwz r3, 0x3844(r31) -/* 80112788 4B EF A7 BD */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 8011278C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80112790 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80112794 3C 80 80 39 */ lis r4, l_ironBallCenterVec@ha /* 0x8038FB50@ha */ -/* 80112798 38 84 FB 50 */ addi r4, r4, l_ironBallCenterVec@l /* 0x8038FB50@l */ -/* 8011279C 38 A1 00 08 */ addi r5, r1, 8 -/* 801127A0 48 23 45 CD */ bl PSMTXMultVec -/* 801127A4 C0 41 00 10 */ lfs f2, 0x10(r1) -/* 801127A8 C0 21 00 0C */ lfs f1, 0xc(r1) -/* 801127AC C0 02 94 28 */ lfs f0, lit_14621(r2) -/* 801127B0 EC 21 00 28 */ fsubs f1, f1, f0 -/* 801127B4 C0 1F 34 90 */ lfs f0, 0x3490(r31) -/* 801127B8 EC 21 00 28 */ fsubs f1, f1, f0 -/* 801127BC C0 01 00 08 */ lfs f0, 8(r1) -/* 801127C0 D0 1F 38 04 */ stfs f0, 0x3804(r31) -/* 801127C4 D0 3F 38 08 */ stfs f1, 0x3808(r31) -/* 801127C8 D0 5F 38 0C */ stfs f2, 0x380c(r31) -/* 801127CC 38 7F 34 90 */ addi r3, r31, 0x3490 -/* 801127D0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801127D4 C0 42 93 14 */ lfs f2, lit_7307(r2) -/* 801127D8 48 15 DF 69 */ bl cLib_chaseF__FPfff -/* 801127DC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801127E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801127E4 7C 08 03 A6 */ mtlr r0 -/* 801127E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801127EC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setIronBallReadyAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setIronBallReadyAnime__9daAlink_cFv.s deleted file mode 100644 index 117806fe11..0000000000 --- a/asm/d/a/d_a_alink/setIronBallReadyAnime__9daAlink_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8011510C: -/* 8011510C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80115110 7C 08 02 A6 */ mflr r0 -/* 80115114 90 01 00 14 */ stw r0, 0x14(r1) -/* 80115118 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8011511C 93 C1 00 08 */ stw r30, 8(r1) -/* 80115120 7C 7E 1B 78 */ mr r30, r3 -/* 80115124 38 80 00 02 */ li r4, 2 -/* 80115128 C0 22 92 BC */ lfs f1, lit_6041(r2) -/* 8011512C 4B F9 85 F9 */ bl resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf -/* 80115130 7F C3 F3 78 */ mr r3, r30 -/* 80115134 38 80 01 62 */ li r4, 0x162 -/* 80115138 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 8011513C 3B E5 EA 70 */ addi r31, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 80115140 C0 3F 00 1C */ lfs f1, 0x1c(r31) -/* 80115144 C0 42 92 C0 */ lfs f2, lit_6108(r2) -/* 80115148 38 A0 00 15 */ li r5, 0x15 -/* 8011514C C0 7F 00 20 */ lfs f3, 0x20(r31) -/* 80115150 4B F9 7E BD */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf -/* 80115154 7F C3 F3 78 */ mr r3, r30 -/* 80115158 38 80 01 9A */ li r4, 0x19a -/* 8011515C C0 3F 00 1C */ lfs f1, 0x1c(r31) -/* 80115160 C0 42 92 BC */ lfs f2, lit_6041(r2) -/* 80115164 4B F9 82 45 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 80115168 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 8011516C D0 1E 1F 50 */ stfs f0, 0x1f50(r30) -/* 80115170 7F C3 F3 78 */ mr r3, r30 -/* 80115174 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010027@ha */ -/* 80115178 38 84 00 27 */ addi r4, r4, 0x0027 /* 0x00010027@l */ -/* 8011517C 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 80115180 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 80115184 7D 89 03 A6 */ mtctr r12 -/* 80115188 4E 80 04 21 */ bctrl -/* 8011518C 80 1E 0F B8 */ lwz r0, 0xfb8(r30) -/* 80115190 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e -/* 80115194 90 1E 0F B8 */ stw r0, 0xfb8(r30) -/* 80115198 38 7E 0F B8 */ addi r3, r30, 0xfb8 -/* 8011519C 4B F6 F1 7D */ bl ResetAtHit__12dCcD_GObjInfFv -/* 801151A0 38 00 00 02 */ li r0, 2 -/* 801151A4 98 1E 0F CC */ stb r0, 0xfcc(r30) -/* 801151A8 38 00 00 0A */ li r0, 0xa -/* 801151AC B0 1E 30 1E */ sth r0, 0x301e(r30) -/* 801151B0 38 00 00 00 */ li r0, 0 -/* 801151B4 B0 1E 30 20 */ sth r0, 0x3020(r30) -/* 801151B8 C0 02 93 3C */ lfs f0, lit_7808(r2) -/* 801151BC D0 1E 34 94 */ stfs f0, 0x3494(r30) -/* 801151C0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 801151C4 D0 1E 34 90 */ stfs f0, 0x3490(r30) -/* 801151C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801151CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 801151D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801151D4 7C 08 03 A6 */ mtlr r0 -/* 801151D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801151DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setIronBallReturn__9daAlink_cFi.s b/asm/d/a/d_a_alink/setIronBallReturn__9daAlink_cFi.s deleted file mode 100644 index 53a047249e..0000000000 --- a/asm/d/a/d_a_alink/setIronBallReturn__9daAlink_cFi.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_801126F8: -/* 801126F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801126FC 7C 08 02 A6 */ mflr r0 -/* 80112700 90 01 00 14 */ stw r0, 0x14(r1) -/* 80112704 2C 04 00 00 */ cmpwi r4, 0 -/* 80112708 41 82 00 1C */ beq lbl_80112724 -/* 8011270C A8 83 30 1E */ lha r4, 0x301e(r3) -/* 80112710 2C 04 00 00 */ cmpwi r4, 0 -/* 80112714 41 82 00 10 */ beq lbl_80112724 -/* 80112718 38 04 FF FF */ addi r0, r4, -1 -/* 8011271C B0 03 30 1E */ sth r0, 0x301e(r3) -/* 80112720 48 00 00 38 */ b lbl_80112758 -lbl_80112724: -/* 80112724 A8 03 30 18 */ lha r0, 0x3018(r3) -/* 80112728 2C 00 00 07 */ cmpwi r0, 7 -/* 8011272C 41 82 00 2C */ beq lbl_80112758 -/* 80112730 38 00 00 07 */ li r0, 7 -/* 80112734 B0 03 30 18 */ sth r0, 0x3018(r3) -/* 80112738 38 00 00 00 */ li r0, 0 -/* 8011273C B0 03 30 1E */ sth r0, 0x301e(r3) -/* 80112740 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020033@ha */ -/* 80112744 38 84 00 33 */ addi r4, r4, 0x0033 /* 0x00020033@l */ -/* 80112748 81 83 06 28 */ lwz r12, 0x628(r3) -/* 8011274C 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 80112750 7D 89 03 A6 */ mtctr r12 -/* 80112754 4E 80 04 21 */ bctrl -lbl_80112758: -/* 80112758 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011275C 7C 08 03 A6 */ mtlr r0 -/* 80112760 38 21 00 10 */ addi r1, r1, 0x10 -/* 80112764 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setIronBallWaitUpperAnime__9daAlink_cFi.s b/asm/d/a/d_a_alink/setIronBallWaitUpperAnime__9daAlink_cFi.s deleted file mode 100644 index e3697e85bc..0000000000 --- a/asm/d/a/d_a_alink/setIronBallWaitUpperAnime__9daAlink_cFi.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_80112568: -/* 80112568 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8011256C 7C 08 02 A6 */ mflr r0 -/* 80112570 90 01 00 14 */ stw r0, 0x14(r1) -/* 80112574 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80112578 7C 7F 1B 78 */ mr r31, r3 -/* 8011257C A0 03 1F BC */ lhz r0, 0x1fbc(r3) -/* 80112580 28 00 01 9C */ cmplwi r0, 0x19c -/* 80112584 41 82 00 90 */ beq lbl_80112614 -/* 80112588 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8011258C 28 00 01 9A */ cmplwi r0, 0x19a -/* 80112590 41 82 00 84 */ beq lbl_80112614 -/* 80112594 A8 7F 30 18 */ lha r3, 0x3018(r31) -/* 80112598 7C 60 07 35 */ extsh. r0, r3 -/* 8011259C 41 82 00 0C */ beq lbl_801125A8 -/* 801125A0 2C 03 00 08 */ cmpwi r3, 8 -/* 801125A4 40 82 00 70 */ bne lbl_80112614 -lbl_801125A8: -/* 801125A8 2C 04 00 00 */ cmpwi r4, 0 -/* 801125AC 40 82 00 14 */ bne lbl_801125C0 -/* 801125B0 7F E3 FB 78 */ mr r3, r31 -/* 801125B4 4B FA 6C A1 */ bl checkNoUpperAnime__9daAlink_cCFv -/* 801125B8 2C 03 00 00 */ cmpwi r3, 0 -/* 801125BC 41 82 00 58 */ beq lbl_80112614 -lbl_801125C0: -/* 801125C0 7F E3 FB 78 */ mr r3, r31 -/* 801125C4 38 80 01 9C */ li r4, 0x19c -/* 801125C8 3C A0 80 39 */ lis r5, m__22daAlinkHIO_ironBall_c0@ha /* 0x8038EA70@ha */ -/* 801125CC 38 A5 EA 70 */ addi r5, r5, m__22daAlinkHIO_ironBall_c0@l /* 0x8038EA70@l */ -/* 801125D0 C0 25 00 18 */ lfs f1, 0x18(r5) -/* 801125D4 3C A0 80 39 */ lis r5, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */ -/* 801125D8 38 A5 D6 64 */ addi r5, r5, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */ -/* 801125DC C0 45 00 18 */ lfs f2, 0x18(r5) -/* 801125E0 4B F9 AD C9 */ bl setUpperAnimeBaseSpeed__9daAlink_cFUsff -/* 801125E4 7F E3 FB 78 */ mr r3, r31 -/* 801125E8 38 80 00 E8 */ li r4, 0xe8 -/* 801125EC 38 A0 00 01 */ li r5, 1 -/* 801125F0 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 801125F4 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 801125F8 4B F9 CE B9 */ bl setFaceBck__9daAlink_cFUsiUs -/* 801125FC 38 00 00 FE */ li r0, 0xfe -/* 80112600 98 1F 2F 96 */ stb r0, 0x2f96(r31) -/* 80112604 38 00 00 05 */ li r0, 5 -/* 80112608 98 1F 2F 97 */ stb r0, 0x2f97(r31) -/* 8011260C 38 00 00 00 */ li r0, 0 -/* 80112610 B0 1F 30 18 */ sth r0, 0x3018(r31) -lbl_80112614: -/* 80112614 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80112618 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8011261C 7C 08 03 A6 */ mtlr r0 -/* 80112620 38 21 00 10 */ addi r1, r1, 0x10 -/* 80112624 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setKandelaarMtx__9daAlink_cFPA4_fii.s b/asm/d/a/d_a_alink/setKandelaarMtx__9daAlink_cFPA4_fii.s deleted file mode 100644 index 9b85ff2e7e..0000000000 --- a/asm/d/a/d_a_alink/setKandelaarMtx__9daAlink_cFPA4_fii.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_801106E8: -/* 801106E8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801106EC 7C 08 02 A6 */ mflr r0 -/* 801106F0 90 01 00 24 */ stw r0, 0x24(r1) -/* 801106F4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801106F8 48 25 1A E1 */ bl _savegpr_28 -/* 801106FC 7C 7C 1B 78 */ mr r28, r3 -/* 80110700 7C 9D 23 78 */ mr r29, r4 -/* 80110704 7C BE 2B 78 */ mr r30, r5 -/* 80110708 7C DF 33 78 */ mr r31, r6 -/* 8011070C 80 03 06 FC */ lwz r0, 0x6fc(r3) -/* 80110710 28 00 00 00 */ cmplwi r0, 0 -/* 80110714 41 82 00 60 */ beq lbl_80110774 -/* 80110718 80 1C 05 78 */ lwz r0, 0x578(r28) -/* 8011071C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80110720 41 82 00 10 */ beq lbl_80110730 -/* 80110724 38 80 00 00 */ li r4, 0 -/* 80110728 38 A0 00 01 */ li r5, 1 -/* 8011072C 4B FB 0B B1 */ bl deleteEquipItem__9daAlink_cFii -lbl_80110730: -/* 80110730 80 1C 05 8C */ lwz r0, 0x58c(r28) -/* 80110734 60 00 00 04 */ ori r0, r0, 4 -/* 80110738 90 1C 05 8C */ stw r0, 0x58c(r28) -/* 8011073C 7F A3 EB 78 */ mr r3, r29 -/* 80110740 80 9C 06 FC */ lwz r4, 0x6fc(r28) -/* 80110744 38 84 00 24 */ addi r4, r4, 0x24 -/* 80110748 48 23 5D 69 */ bl PSMTXCopy -/* 8011074C 2C 1E 00 00 */ cmpwi r30, 0 -/* 80110750 40 82 00 10 */ bne lbl_80110760 -/* 80110754 80 1C 05 8C */ lwz r0, 0x58c(r28) -/* 80110758 60 00 00 08 */ ori r0, r0, 8 -/* 8011075C 90 1C 05 8C */ stw r0, 0x58c(r28) -lbl_80110760: -/* 80110760 2C 1F 00 00 */ cmpwi r31, 0 -/* 80110764 41 82 00 10 */ beq lbl_80110774 -/* 80110768 80 1C 05 8C */ lwz r0, 0x58c(r28) -/* 8011076C 60 00 00 10 */ ori r0, r0, 0x10 -/* 80110770 90 1C 05 8C */ stw r0, 0x58c(r28) -lbl_80110774: -/* 80110774 39 61 00 20 */ addi r11, r1, 0x20 -/* 80110778 48 25 1A AD */ bl _restgpr_28 -/* 8011077C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80110780 7C 08 03 A6 */ mtlr r0 -/* 80110784 38 21 00 20 */ addi r1, r1, 0x20 -/* 80110788 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setLandDamagePoint__9daAlink_cFi.s b/asm/d/a/d_a_alink/setLandDamagePoint__9daAlink_cFi.s deleted file mode 100644 index 0deda06851..0000000000 --- a/asm/d/a/d_a_alink/setLandDamagePoint__9daAlink_cFi.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_800D74A4: -/* 800D74A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D74A8 7C 08 02 A6 */ mflr r0 -/* 800D74AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D74B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800D74B4 7C 7F 1B 78 */ mr r31, r3 -/* 800D74B8 80 03 05 90 */ lwz r0, 0x590(r3) -/* 800D74BC 60 00 00 40 */ ori r0, r0, 0x40 -/* 800D74C0 90 03 05 90 */ stw r0, 0x590(r3) -/* 800D74C4 38 A0 00 00 */ li r5, 0 -/* 800D74C8 38 C0 00 01 */ li r6, 1 -/* 800D74CC 38 E0 00 00 */ li r7, 0 -/* 800D74D0 4B FF FD ED */ bl setDamagePoint__9daAlink_cFiiii -/* 800D74D4 80 1F 05 90 */ lwz r0, 0x590(r31) -/* 800D74D8 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 -/* 800D74DC 90 1F 05 90 */ stw r0, 0x590(r31) -/* 800D74E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800D74E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D74E8 7C 08 03 A6 */ mtlr r0 -/* 800D74EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D74F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setLastSceneMode__9daAlink_cFPUl.s b/asm/d/a/d_a_alink/setLastSceneMode__9daAlink_cFPUl.s deleted file mode 100644 index b88dcc40b4..0000000000 --- a/asm/d/a/d_a_alink/setLastSceneMode__9daAlink_cFPUl.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_800BDE48: -/* 800BDE48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BDE4C 7C 08 02 A6 */ mflr r0 -/* 800BDE50 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BDE54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BDE58 93 C1 00 08 */ stw r30, 8(r1) -/* 800BDE5C 7C 7E 1B 78 */ mr r30, r3 -/* 800BDE60 7C 9F 23 78 */ mr r31, r4 -/* 800BDE64 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800BDE68 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BDE6C 41 82 00 10 */ beq lbl_800BDE7C -/* 800BDE70 80 1F 00 00 */ lwz r0, 0(r31) -/* 800BDE74 64 00 00 40 */ oris r0, r0, 0x40 -/* 800BDE78 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDE7C: -/* 800BDE7C 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800BDE80 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BDE84 41 82 00 10 */ beq lbl_800BDE94 -/* 800BDE88 80 1F 00 00 */ lwz r0, 0(r31) -/* 800BDE8C 64 00 00 80 */ oris r0, r0, 0x80 -/* 800BDE90 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDE94: -/* 800BDE94 80 1E 05 78 */ lwz r0, 0x578(r30) -/* 800BDE98 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800BDE9C 41 82 00 1C */ beq lbl_800BDEB8 -/* 800BDEA0 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800BDEA4 28 00 00 48 */ cmplwi r0, 0x48 -/* 800BDEA8 41 82 00 10 */ beq lbl_800BDEB8 -/* 800BDEAC 80 1F 00 00 */ lwz r0, 0(r31) -/* 800BDEB0 64 00 00 20 */ oris r0, r0, 0x20 -/* 800BDEB4 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDEB8: -/* 800BDEB8 A0 1E 2F DC */ lhz r0, 0x2fdc(r30) -/* 800BDEBC 28 00 01 03 */ cmplwi r0, 0x103 -/* 800BDEC0 40 82 00 14 */ bne lbl_800BDED4 -/* 800BDEC4 80 1F 00 00 */ lwz r0, 0(r31) -/* 800BDEC8 64 00 28 00 */ oris r0, r0, 0x2800 -/* 800BDECC 90 1F 00 00 */ stw r0, 0(r31) -/* 800BDED0 48 00 00 1C */ b lbl_800BDEEC -lbl_800BDED4: -/* 800BDED4 28 00 00 FF */ cmplwi r0, 0xff -/* 800BDED8 40 80 00 14 */ bge lbl_800BDEEC -/* 800BDEDC 80 7F 00 00 */ lwz r3, 0(r31) -/* 800BDEE0 54 00 C0 0E */ slwi r0, r0, 0x18 -/* 800BDEE4 7C 60 03 78 */ or r0, r3, r0 -/* 800BDEE8 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDEEC: -/* 800BDEEC 80 7E 28 30 */ lwz r3, 0x2830(r30) -/* 800BDEF0 28 03 00 00 */ cmplwi r3, 0 -/* 800BDEF4 41 82 00 38 */ beq lbl_800BDF2C -/* 800BDEF8 48 02 59 39 */ bl daAlink_checkLightBallA__FP10fopAc_ac_c -/* 800BDEFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800BDF00 41 82 00 10 */ beq lbl_800BDF10 -/* 800BDF04 80 1F 00 00 */ lwz r0, 0(r31) -/* 800BDF08 64 00 00 10 */ oris r0, r0, 0x10 -/* 800BDF0C 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDF10: -/* 800BDF10 80 7E 28 30 */ lwz r3, 0x2830(r30) -/* 800BDF14 48 02 59 45 */ bl daAlink_checkLightBallB__FP10fopAc_ac_c -/* 800BDF18 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800BDF1C 41 82 00 10 */ beq lbl_800BDF2C -/* 800BDF20 80 1F 00 00 */ lwz r0, 0(r31) -/* 800BDF24 64 00 00 08 */ oris r0, r0, 8 -/* 800BDF28 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDF2C: -/* 800BDF2C A0 1E 05 6E */ lhz r0, 0x56e(r30) -/* 800BDF30 28 00 00 00 */ cmplwi r0, 0 -/* 800BDF34 41 82 00 14 */ beq lbl_800BDF48 -/* 800BDF38 80 7F 00 00 */ lwz r3, 0(r31) -/* 800BDF3C 54 00 51 A8 */ rlwinm r0, r0, 0xa, 6, 0x14 -/* 800BDF40 7C 60 03 78 */ or r0, r3, r0 -/* 800BDF44 90 1F 00 00 */ stw r0, 0(r31) -lbl_800BDF48: -/* 800BDF48 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BDF4C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800BDF50 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BDF54 7C 08 03 A6 */ mtlr r0 -/* 800BDF58 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BDF5C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setMagicArmorBrk__9daAlink_cFi.s b/asm/d/a/d_a_alink/setMagicArmorBrk__9daAlink_cFi.s deleted file mode 100644 index cdc8a0fad9..0000000000 --- a/asm/d/a/d_a_alink/setMagicArmorBrk__9daAlink_cFi.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_800BB324: -/* 800BB324 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800BB328 7C 08 02 A6 */ mflr r0 -/* 800BB32C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800BB330 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BB334 48 2A 6E A1 */ bl _savegpr_27 -/* 800BB338 7C 7B 1B 78 */ mr r27, r3 -/* 800BB33C 7C 9C 23 78 */ mr r28, r4 -/* 800BB340 80 63 06 50 */ lwz r3, 0x650(r3) -/* 800BB344 83 E3 00 04 */ lwz r31, 4(r3) -/* 800BB348 38 62 92 70 */ la r3, l_mArcName(r2) /* 80452C70-_SDA2_BASE_ */ -/* 800BB34C 54 9D 10 3A */ slwi r29, r4, 2 -/* 800BB350 3C 80 80 3B */ lis r4, bodyBrkName@ha /* 0x803B2D94@ha */ -/* 800BB354 38 84 2D 94 */ addi r4, r4, bodyBrkName@l /* 0x803B2D94@l */ -/* 800BB358 7C 84 E8 2E */ lwzx r4, r4, r29 -/* 800BB35C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800BB360 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800BB364 3F C5 00 02 */ addis r30, r5, 2 -/* 800BB368 3B DE C2 F8 */ addi r30, r30, -15624 -/* 800BB36C 7F C5 F3 78 */ mr r5, r30 -/* 800BB370 38 C0 00 80 */ li r6, 0x80 -/* 800BB374 4B F8 10 09 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 800BB378 90 7B 06 7C */ stw r3, 0x67c(r27) -/* 800BB37C 80 7B 06 7C */ lwz r3, 0x67c(r27) -/* 800BB380 7F E4 FB 78 */ mr r4, r31 -/* 800BB384 48 27 04 F9 */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData -/* 800BB388 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800BB38C 80 9B 06 7C */ lwz r4, 0x67c(r27) -/* 800BB390 48 27 4A E1 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -/* 800BB394 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800BB398 80 7B 06 7C */ lwz r3, 0x67c(r27) -/* 800BB39C D0 03 00 08 */ stfs f0, 8(r3) -/* 800BB3A0 80 7B 06 58 */ lwz r3, 0x658(r27) -/* 800BB3A4 83 E3 00 04 */ lwz r31, 4(r3) -/* 800BB3A8 38 62 92 70 */ la r3, l_mArcName(r2) /* 80452C70-_SDA2_BASE_ */ -/* 800BB3AC 3C 80 80 3B */ lis r4, headBrkName@ha /* 0x803B2DA0@ha */ -/* 800BB3B0 38 84 2D A0 */ addi r4, r4, headBrkName@l /* 0x803B2DA0@l */ -/* 800BB3B4 7C 84 E8 2E */ lwzx r4, r4, r29 -/* 800BB3B8 7F C5 F3 78 */ mr r5, r30 -/* 800BB3BC 38 C0 00 80 */ li r6, 0x80 -/* 800BB3C0 4B F8 0F BD */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 800BB3C4 90 7B 06 80 */ stw r3, 0x680(r27) -/* 800BB3C8 80 7B 06 80 */ lwz r3, 0x680(r27) -/* 800BB3CC 7F E4 FB 78 */ mr r4, r31 -/* 800BB3D0 48 27 04 AD */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData -/* 800BB3D4 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800BB3D8 80 9B 06 80 */ lwz r4, 0x680(r27) -/* 800BB3DC 48 27 4A 95 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey -/* 800BB3E0 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800BB3E4 80 7B 06 80 */ lwz r3, 0x680(r27) -/* 800BB3E8 D0 03 00 08 */ stfs f0, 8(r3) -/* 800BB3EC 9B 9B 2F D7 */ stb r28, 0x2fd7(r27) -/* 800BB3F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BB3F4 48 2A 6E 2D */ bl _restgpr_27 -/* 800BB3F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800BB3FC 7C 08 03 A6 */ mtlr r0 -/* 800BB400 38 21 00 20 */ addi r1, r1, 0x20 -/* 800BB404 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setMetamorphoseModel__9daAlink_cFi.s b/asm/d/a/d_a_alink/setMetamorphoseModel__9daAlink_cFi.s deleted file mode 100644 index 66d30a9fe6..0000000000 --- a/asm/d/a/d_a_alink/setMetamorphoseModel__9daAlink_cFi.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800BF79C: -/* 800BF79C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800BF7A0 7C 08 02 A6 */ mflr r0 -/* 800BF7A4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800BF7A8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BF7AC 48 2A 2A 31 */ bl _savegpr_29 -/* 800BF7B0 7C 7D 1B 78 */ mr r29, r3 -/* 800BF7B4 38 7D 21 D8 */ addi r3, r29, 0x21d8 -/* 800BF7B8 20 04 00 00 */ subfic r0, r4, 0 -/* 800BF7BC 7C 80 01 10 */ subfe r4, r0, r0 -/* 800BF7C0 38 84 02 7D */ addi r4, r4, 0x27d -/* 800BF7C4 48 09 F8 A5 */ bl loadDataIdx__14daPy_anmHeap_cFUs -/* 800BF7C8 7C 7F 1B 78 */ mr r31, r3 -/* 800BF7CC 7F A3 EB 78 */ mr r3, r29 -/* 800BF7D0 4B FE 44 BD */ bl setItemHeap__9daAlink_cFv -/* 800BF7D4 7C 7E 1B 78 */ mr r30, r3 -/* 800BF7D8 7F A3 EB 78 */ mr r3, r29 -/* 800BF7DC 38 80 03 1B */ li r4, 0x31b -/* 800BF7E0 38 A0 60 00 */ li r5, 0x6000 -/* 800BF7E4 48 00 06 65 */ bl loadAramBmd__9daAlink_cFUsUl -/* 800BF7E8 7C 64 1B 78 */ mr r4, r3 -/* 800BF7EC 7F A3 EB 78 */ mr r3, r29 -/* 800BF7F0 3C A0 00 08 */ lis r5, 8 -/* 800BF7F4 38 C0 00 00 */ li r6, 0 -/* 800BF7F8 4B FE 45 85 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 800BF7FC 90 7D 07 08 */ stw r3, 0x708(r29) -/* 800BF800 38 7D 07 30 */ addi r3, r29, 0x730 -/* 800BF804 7F E4 FB 78 */ mr r4, r31 -/* 800BF808 38 A0 00 00 */ li r5, 0 -/* 800BF80C 38 C0 00 02 */ li r6, 2 -/* 800BF810 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 800BF814 38 E0 00 00 */ li r7, 0 -/* 800BF818 39 00 FF FF */ li r8, -1 -/* 800BF81C 39 20 00 00 */ li r9, 0 -/* 800BF820 4B F4 DF BD */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 800BF824 7F C3 F3 78 */ mr r3, r30 -/* 800BF828 4B F4 F9 A5 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 800BF82C 38 00 01 06 */ li r0, 0x106 -/* 800BF830 B0 1D 2F DC */ sth r0, 0x2fdc(r29) -/* 800BF834 C0 1D 1F E0 */ lfs f0, 0x1fe0(r29) -/* 800BF838 D0 1D 33 DC */ stfs f0, 0x33dc(r29) -/* 800BF83C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BF840 48 2A 29 E9 */ bl _restgpr_29 -/* 800BF844 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800BF848 7C 08 03 A6 */ mtlr r0 -/* 800BF84C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800BF850 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setOutPower__9daAlink_cFfsi.s b/asm/d/a/d_a_alink/setOutPower__9daAlink_cFfsi.s deleted file mode 100644 index 396de05d0c..0000000000 --- a/asm/d/a/d_a_alink/setOutPower__9daAlink_cFfsi.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_800BB560: -/* 800BB560 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800BB564 7C 08 02 A6 */ mflr r0 -/* 800BB568 90 01 00 34 */ stw r0, 0x34(r1) -/* 800BB56C DB E1 00 20 */ stfd f31, 0x20(r1) -/* 800BB570 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 800BB574 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BB578 48 2A 6C 65 */ bl _savegpr_29 -/* 800BB57C 7C 7D 1B 78 */ mr r29, r3 -/* 800BB580 FF E0 08 90 */ fmr f31, f1 -/* 800BB584 7C 9E 23 78 */ mr r30, r4 -/* 800BB588 7C BF 2B 78 */ mr r31, r5 -/* 800BB58C 38 60 00 00 */ li r3, 0 -/* 800BB590 A0 1D 1F BC */ lhz r0, 0x1fbc(r29) -/* 800BB594 28 00 00 62 */ cmplwi r0, 0x62 -/* 800BB598 41 82 00 10 */ beq lbl_800BB5A8 -/* 800BB59C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800BB5A0 28 00 02 A0 */ cmplwi r0, 0x2a0 -/* 800BB5A4 40 82 00 08 */ bne lbl_800BB5AC -lbl_800BB5A8: -/* 800BB5A8 38 60 00 01 */ li r3, 1 -lbl_800BB5AC: -/* 800BB5AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800BB5B0 41 82 00 28 */ beq lbl_800BB5D8 -/* 800BB5B4 48 00 4D 15 */ bl checkBossRoom__9daAlink_cFv -/* 800BB5B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800BB5BC 41 82 00 1C */ beq lbl_800BB5D8 -/* 800BB5C0 88 1D 04 E2 */ lbz r0, 0x4e2(r29) -/* 800BB5C4 2C 00 00 32 */ cmpwi r0, 0x32 -/* 800BB5C8 40 82 00 10 */ bne lbl_800BB5D8 -/* 800BB5CC 80 1D 05 70 */ lwz r0, 0x570(r29) -/* 800BB5D0 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800BB5D4 40 82 00 50 */ bne lbl_800BB624 -lbl_800BB5D8: -/* 800BB5D8 C0 3D 34 00 */ lfs f1, 0x3400(r29) -/* 800BB5DC 57 C0 04 38 */ rlwinm r0, r30, 0, 0x10, 0x1c -/* 800BB5E0 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 800BB5E4 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 800BB5E8 7C 03 04 2E */ lfsx f0, r3, r0 -/* 800BB5EC EC 1F 00 32 */ fmuls f0, f31, f0 -/* 800BB5F0 EC 01 00 2A */ fadds f0, f1, f0 -/* 800BB5F4 D0 1D 34 00 */ stfs f0, 0x3400(r29) -/* 800BB5F8 C0 3D 34 04 */ lfs f1, 0x3404(r29) -/* 800BB5FC 7C 63 02 14 */ add r3, r3, r0 -/* 800BB600 C0 03 00 04 */ lfs f0, 4(r3) -/* 800BB604 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 800BB608 EC 01 00 2A */ fadds f0, f1, f0 -/* 800BB60C D0 1D 34 04 */ stfs f0, 0x3404(r29) -/* 800BB610 2C 1F 00 00 */ cmpwi r31, 0 -/* 800BB614 41 82 00 10 */ beq lbl_800BB624 -/* 800BB618 80 1D 05 88 */ lwz r0, 0x588(r29) -/* 800BB61C 60 00 00 08 */ ori r0, r0, 8 -/* 800BB620 90 1D 05 88 */ stw r0, 0x588(r29) -lbl_800BB624: -/* 800BB624 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800BB628 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800BB62C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800BB630 48 2A 6B F9 */ bl _restgpr_29 -/* 800BB634 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800BB638 7C 08 03 A6 */ mtlr r0 -/* 800BB63C 38 21 00 30 */ addi r1, r1, 0x30 -/* 800BB640 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s b/asm/d/a/d_a_alink/setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s deleted file mode 100644 index aa1e7852d9..0000000000 --- a/asm/d/a/d_a_alink/setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_800F4564: -/* 800F4564 C0 02 92 C0 */ lfs f0, lit_6108(r2) -/* 800F4568 D0 03 37 C8 */ stfs f0, 0x37c8(r3) -/* 800F456C C0 02 92 9C */ lfs f0, lit_5944(r2) -/* 800F4570 D0 03 37 CC */ stfs f0, 0x37cc(r3) -/* 800F4574 C0 02 95 14 */ lfs f0, lit_20823(r2) -/* 800F4578 D0 03 37 D0 */ stfs f0, 0x37d0(r3) -/* 800F457C 80 04 00 B0 */ lwz r0, 0xb0(r4) -/* 800F4580 28 00 00 02 */ cmplwi r0, 2 -/* 800F4584 4C 82 00 20 */ bnelr -/* 800F4588 C0 23 37 D0 */ lfs f1, 0x37d0(r3) -/* 800F458C C0 02 95 18 */ lfs f0, lit_20824(r2) -/* 800F4590 EC 01 00 2A */ fadds f0, f1, f0 -/* 800F4594 D0 03 37 D0 */ stfs f0, 0x37d0(r3) -/* 800F4598 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setRoomInfo__9daAlink_cFv.s b/asm/d/a/d_a_alink/setRoomInfo__9daAlink_cFv.s deleted file mode 100644 index 12865b68a0..0000000000 --- a/asm/d/a/d_a_alink/setRoomInfo__9daAlink_cFv.s +++ /dev/null @@ -1,119 +0,0 @@ -lbl_800A662C: -/* 800A662C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A6630 7C 08 02 A6 */ mflr r0 -/* 800A6634 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A6638 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A663C 48 2B BB A1 */ bl _savegpr_29 -/* 800A6640 7C 7E 1B 78 */ mr r30, r3 -/* 800A6644 A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800A6648 28 00 01 58 */ cmplwi r0, 0x158 -/* 800A664C 41 82 00 4C */ beq lbl_800A6698 -/* 800A6650 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A6654 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A6658 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 800A665C 38 9E 1A 60 */ addi r4, r30, 0x1a60 -/* 800A6660 4B FC EA A1 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 800A6664 7C 7F 1B 78 */ mr r31, r3 -/* 800A6668 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 800A666C 7C 00 07 74 */ extsb r0, r0 -/* 800A6670 7C 1F 00 00 */ cmpw r31, r0 -/* 800A6674 41 82 00 18 */ beq lbl_800A668C -/* 800A6678 9B FE 04 8C */ stb r31, 0x48c(r30) -/* 800A667C 4B F8 69 F1 */ bl dComIfGp_getReverb__Fi -/* 800A6680 98 7E 2F 9A */ stb r3, 0x2f9a(r30) -/* 800A6684 9B FE 08 36 */ stb r31, 0x836(r30) -/* 800A6688 9B FE 04 E2 */ stb r31, 0x4e2(r30) -lbl_800A668C: -/* 800A668C 38 7E 1A 4C */ addi r3, r30, 0x1a4c -/* 800A6690 4B F8 09 59 */ bl dStage_RoomCheck__FP11cBgS_GndChk -/* 800A6694 48 00 00 10 */ b lbl_800A66A4 -lbl_800A6698: -/* 800A6698 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 800A669C 7C 00 07 74 */ extsb r0, r0 -/* 800A66A0 7C 1F 03 78 */ mr r31, r0 -lbl_800A66A4: -/* 800A66A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800A66A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800A66AC 3B A3 0F 38 */ addi r29, r3, 0xf38 -/* 800A66B0 7F A3 EB 78 */ mr r3, r29 -/* 800A66B4 38 9E 1A 60 */ addi r4, r30, 0x1a60 -/* 800A66B8 4B FC E5 31 */ bl GetPolyColor__4dBgSFRC13cBgS_PolyInfo -/* 800A66BC 98 7E 04 8D */ stb r3, 0x48d(r30) -/* 800A66C0 7F A3 EB 78 */ mr r3, r29 -/* 800A66C4 38 9E 1A 60 */ addi r4, r30, 0x1a60 -/* 800A66C8 4B FC E8 29 */ bl GetGroundCode__4dBgSFRC13cBgS_PolyInfo -/* 800A66CC 90 7E 31 74 */ stw r3, 0x3174(r30) -/* 800A66D0 7F A3 EB 78 */ mr r3, r29 -/* 800A66D4 38 9E 1A 60 */ addi r4, r30, 0x1a60 -/* 800A66D8 4B FC E7 79 */ bl GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo -/* 800A66DC 98 7E 2F BB */ stb r3, 0x2fbb(r30) -/* 800A66E0 7F A3 EB 78 */ mr r3, r29 -/* 800A66E4 38 9E 1A 60 */ addi r4, r30, 0x1a60 -/* 800A66E8 4B FC E5 D5 */ bl GetSpecialCode__4dBgSFRC13cBgS_PolyInfo -/* 800A66EC 98 7E 2F A8 */ stb r3, 0x2fa8(r30) -/* 800A66F0 88 1E 2F A8 */ lbz r0, 0x2fa8(r30) -/* 800A66F4 28 00 00 06 */ cmplwi r0, 6 -/* 800A66F8 40 82 00 18 */ bne lbl_800A6710 -/* 800A66FC 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800A6700 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A6704 41 82 00 0C */ beq lbl_800A6710 -/* 800A6708 38 00 00 05 */ li r0, 5 -/* 800A670C 98 1E 2F A8 */ stb r0, 0x2fa8(r30) -lbl_800A6710: -/* 800A6710 88 1E 2F BD */ lbz r0, 0x2fbd(r30) -/* 800A6714 28 00 00 FF */ cmplwi r0, 0xff -/* 800A6718 41 82 00 AC */ beq lbl_800A67C4 -/* 800A671C 88 1E 2F BB */ lbz r0, 0x2fbb(r30) -/* 800A6720 28 00 00 03 */ cmplwi r0, 3 -/* 800A6724 40 82 00 98 */ bne lbl_800A67BC -/* 800A6728 7F A3 EB 78 */ mr r3, r29 -/* 800A672C 38 9E 1A 60 */ addi r4, r30, 0x1a60 -/* 800A6730 4B FC E7 71 */ bl GetPolyAtt1__4dBgSFRC13cBgS_PolyInfo -/* 800A6734 98 7E 2F BD */ stb r3, 0x2fbd(r30) -/* 800A6738 88 1E 2F BD */ lbz r0, 0x2fbd(r30) -/* 800A673C 28 00 00 04 */ cmplwi r0, 4 -/* 800A6740 40 82 00 18 */ bne lbl_800A6758 -/* 800A6744 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800A6748 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A674C 41 82 00 0C */ beq lbl_800A6758 -/* 800A6750 38 00 00 00 */ li r0, 0 -/* 800A6754 98 1E 2F BD */ stb r0, 0x2fbd(r30) -lbl_800A6758: -/* 800A6758 7F C3 F3 78 */ mr r3, r30 -/* 800A675C 48 06 F4 C5 */ bl checkEventRun__9daAlink_cCFv -/* 800A6760 2C 03 00 00 */ cmpwi r3, 0 -/* 800A6764 40 82 00 60 */ bne lbl_800A67C4 -/* 800A6768 88 1E 2F BD */ lbz r0, 0x2fbd(r30) -/* 800A676C 28 00 00 01 */ cmplwi r0, 1 -/* 800A6770 41 82 00 0C */ beq lbl_800A677C -/* 800A6774 28 00 00 03 */ cmplwi r0, 3 -/* 800A6778 40 82 00 4C */ bne lbl_800A67C4 -lbl_800A677C: -/* 800A677C 7F C3 F3 78 */ mr r3, r30 -/* 800A6780 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800A6784 81 8C 02 80 */ lwz r12, 0x280(r12) -/* 800A6788 7D 89 03 A6 */ mtctr r12 -/* 800A678C 4E 80 04 21 */ bctrl -/* 800A6790 2C 03 00 00 */ cmpwi r3, 0 -/* 800A6794 40 82 00 1C */ bne lbl_800A67B0 -/* 800A6798 C0 5E 2B A8 */ lfs f2, 0x2ba8(r30) -/* 800A679C C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 800A67A0 C0 1E 34 58 */ lfs f0, 0x3458(r30) -/* 800A67A4 EC 01 00 2A */ fadds f0, f1, f0 -/* 800A67A8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 800A67AC 40 80 00 18 */ bge lbl_800A67C4 -lbl_800A67B0: -/* 800A67B0 38 00 00 02 */ li r0, 2 -/* 800A67B4 98 1E 2F BD */ stb r0, 0x2fbd(r30) -/* 800A67B8 48 00 00 0C */ b lbl_800A67C4 -lbl_800A67BC: -/* 800A67BC 38 00 00 00 */ li r0, 0 -/* 800A67C0 98 1E 2F BD */ stb r0, 0x2fbd(r30) -lbl_800A67C4: -/* 800A67C4 7F E3 FB 78 */ mr r3, r31 -/* 800A67C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A67CC 48 2B BA 5D */ bl _restgpr_29 -/* 800A67D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A67D4 7C 08 03 A6 */ mtlr r0 -/* 800A67D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A67DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setScreamWaitAnime__9daAlink_cFv.s b/asm/d/a/d_a_alink/setScreamWaitAnime__9daAlink_cFv.s deleted file mode 100644 index c24d17279b..0000000000 --- a/asm/d/a/d_a_alink/setScreamWaitAnime__9daAlink_cFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_800DBC98: -/* 800DBC98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DBC9C 7C 08 02 A6 */ mflr r0 -/* 800DBCA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DBCA4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800DBCA8 7C 7F 1B 78 */ mr r31, r3 -/* 800DBCAC 38 80 01 7B */ li r4, 0x17b -/* 800DBCB0 4B FD 12 D1 */ bl setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM -/* 800DBCB4 7F E3 FB 78 */ mr r3, r31 -/* 800DBCB8 3C 80 00 01 */ lis r4, 0x0001 /* 0x000100A9@ha */ -/* 800DBCBC 38 84 00 A9 */ addi r4, r4, 0x00A9 /* 0x000100A9@l */ -/* 800DBCC0 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 800DBCC4 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800DBCC8 7D 89 03 A6 */ mtctr r12 -/* 800DBCCC 4E 80 04 21 */ bctrl -/* 800DBCD0 38 00 00 01 */ li r0, 1 -/* 800DBCD4 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 800DBCD8 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800DBCDC D0 21 00 08 */ stfs f1, 8(r1) -/* 800DBCE0 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800DBCE4 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800DBCE8 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800DBCEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800DBCF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800DBCF4 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800DBCF8 38 80 00 05 */ li r4, 5 -/* 800DBCFC 38 A0 00 01 */ li r5, 1 -/* 800DBD00 38 C1 00 08 */ addi r6, r1, 8 -/* 800DBD04 4B F9 3E 0D */ bl StartQuake__12dVibration_cFii4cXyz -/* 800DBD08 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800DBD0C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DBD10 7C 08 03 A6 */ mtlr r0 -/* 800DBD14 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DBD18 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setShieldGuard__9daAlink_cFv.s b/asm/d/a/d_a_alink/setShieldGuard__9daAlink_cFv.s deleted file mode 100644 index f6acaa29d4..0000000000 --- a/asm/d/a/d_a_alink/setShieldGuard__9daAlink_cFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_800DD018: -/* 800DD018 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800DD01C 7C 08 02 A6 */ mflr r0 -/* 800DD020 90 01 00 14 */ stw r0, 0x14(r1) -/* 800DD024 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800DD028 7C 7F 1B 78 */ mr r31, r3 -/* 800DD02C A0 03 2F E8 */ lhz r0, 0x2fe8(r3) -/* 800DD030 28 00 00 1D */ cmplwi r0, 0x1d -/* 800DD034 40 82 00 10 */ bne lbl_800DD044 -/* 800DD038 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800DD03C 28 00 00 42 */ cmplwi r0, 0x42 -/* 800DD040 40 82 00 A4 */ bne lbl_800DD0E4 -lbl_800DD044: -/* 800DD044 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800DD048 28 00 00 16 */ cmplwi r0, 0x16 -/* 800DD04C 41 82 00 98 */ beq lbl_800DD0E4 -/* 800DD050 7F E3 FB 78 */ mr r3, r31 -/* 800DD054 4B FF FF 11 */ bl checkGuardAccept__9daAlink_cFv -/* 800DD058 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD05C 41 82 00 98 */ beq lbl_800DD0F4 -/* 800DD060 7F E3 FB 78 */ mr r3, r31 -/* 800DD064 48 00 6C 09 */ bl checkGrabAnime__9daAlink_cCFv -/* 800DD068 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD06C 40 82 00 88 */ bne lbl_800DD0F4 -/* 800DD070 7F E3 FB 78 */ mr r3, r31 -/* 800DD074 4B FD DF 0D */ bl checkUpperReadyThrowAnime__9daAlink_cCFv -/* 800DD078 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD07C 40 82 00 78 */ bne lbl_800DD0F4 -/* 800DD080 A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800DD084 28 00 02 62 */ cmplwi r0, 0x262 -/* 800DD088 41 82 00 6C */ beq lbl_800DD0F4 -/* 800DD08C 7F E3 FB 78 */ mr r3, r31 -/* 800DD090 4B FF 3E 3D */ bl checkCutDashAnime__9daAlink_cCFv -/* 800DD094 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD098 40 82 00 5C */ bne lbl_800DD0F4 -/* 800DD09C A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800DD0A0 28 00 00 83 */ cmplwi r0, 0x83 -/* 800DD0A4 41 82 00 50 */ beq lbl_800DD0F4 -/* 800DD0A8 7F E3 FB 78 */ mr r3, r31 -/* 800DD0AC 4B FD C2 95 */ bl checkEquipAnime__9daAlink_cCFv -/* 800DD0B0 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD0B4 41 82 00 14 */ beq lbl_800DD0C8 -/* 800DD0B8 7F E3 FB 78 */ mr r3, r31 -/* 800DD0BC 4B FF FD 35 */ bl checkUpperGuardAnime__9daAlink_cCFv -/* 800DD0C0 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD0C4 41 82 00 30 */ beq lbl_800DD0F4 -lbl_800DD0C8: -/* 800DD0C8 88 1F 2F AA */ lbz r0, 0x2faa(r31) -/* 800DD0CC 28 00 00 00 */ cmplwi r0, 0 -/* 800DD0D0 40 82 00 24 */ bne lbl_800DD0F4 -/* 800DD0D4 7F E3 FB 78 */ mr r3, r31 -/* 800DD0D8 4B FF F5 A1 */ bl checkGuardActionChange__9daAlink_cFv -/* 800DD0DC 2C 03 00 00 */ cmpwi r3, 0 -/* 800DD0E0 41 82 00 14 */ beq lbl_800DD0F4 -lbl_800DD0E4: -/* 800DD0E4 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 800DD0E8 64 00 08 00 */ oris r0, r0, 0x800 -/* 800DD0EC 90 1F 05 78 */ stw r0, 0x578(r31) -/* 800DD0F0 48 00 00 10 */ b lbl_800DD100 -lbl_800DD0F4: -/* 800DD0F4 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 800DD0F8 54 00 01 46 */ rlwinm r0, r0, 0, 5, 3 -/* 800DD0FC 90 1F 05 78 */ stw r0, 0x578(r31) -lbl_800DD100: -/* 800DD100 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800DD104 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800DD108 7C 08 03 A6 */ mtlr r0 -/* 800DD10C 38 21 00 10 */ addi r1, r1, 0x10 -/* 800DD110 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s b/asm/d/a/d_a_alink/setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s deleted file mode 100644 index af2cfdf0e0..0000000000 --- a/asm/d/a/d_a_alink/setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_801296A8: -/* 801296A8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801296AC 7C 08 02 A6 */ mflr r0 -/* 801296B0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801296B4 FC 60 08 90 */ fmr f3, f1 -/* 801296B8 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 801296BC C0 42 92 C0 */ lfs f2, lit_6108(r2) -/* 801296C0 38 A0 FF FF */ li r5, -1 -/* 801296C4 48 00 00 41 */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 801296C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801296CC 7C 08 03 A6 */ mtlr r0 -/* 801296D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801296D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff.s b/asm/d/a/d_a_alink/setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff.s deleted file mode 100644 index 21bc28a7d6..0000000000 --- a/asm/d/a/d_a_alink/setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_801296D8: -/* 801296D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801296DC 7C 08 02 A6 */ mflr r0 -/* 801296E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801296E4 FC 60 10 90 */ fmr f3, f2 -/* 801296E8 C0 42 92 C0 */ lfs f2, lit_6108(r2) -/* 801296EC 38 A0 FF FF */ li r5, -1 -/* 801296F0 48 00 00 15 */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 801296F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801296F8 7C 08 03 A6 */ mtlr r0 -/* 801296FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80129700 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM.s b/asm/d/a/d_a_alink/setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM.s deleted file mode 100644 index 1b04131d79..0000000000 --- a/asm/d/a/d_a_alink/setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80129678: -/* 80129678 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012967C 7C 08 02 A6 */ mflr r0 -/* 80129680 90 01 00 14 */ stw r0, 0x14(r1) -/* 80129684 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 80129688 C0 42 92 C0 */ lfs f2, lit_6108(r2) -/* 8012968C 38 A0 FF FF */ li r5, -1 -/* 80129690 C0 62 92 C4 */ lfs f3, lit_6109(r2) -/* 80129694 48 00 00 71 */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 80129698 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8012969C 7C 08 03 A6 */ mtlr r0 -/* 801296A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801296A4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c.s b/asm/d/a/d_a_alink/setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c.s deleted file mode 100644 index 4f59fe8874..0000000000 --- a/asm/d/a/d_a_alink/setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80129848: -/* 80129848 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012984C 7C 08 02 A6 */ mflr r0 -/* 80129850 90 01 00 14 */ stw r0, 0x14(r1) -/* 80129854 7C A6 2B 78 */ mr r6, r5 -/* 80129858 C0 25 00 04 */ lfs f1, 4(r5) -/* 8012985C C0 45 00 08 */ lfs f2, 8(r5) -/* 80129860 A8 A5 00 00 */ lha r5, 0(r5) -/* 80129864 C0 66 00 0C */ lfs f3, 0xc(r6) -/* 80129868 4B FF FE 9D */ bl setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf -/* 8012986C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80129870 7C 08 03 A6 */ mtlr r0 -/* 80129874 38 21 00 10 */ addi r1, r1, 0x10 -/* 80129878 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSlingModel__9daAlink_cFv.s b/asm/d/a/d_a_alink/setSlingModel__9daAlink_cFv.s deleted file mode 100644 index 15b1f49c85..0000000000 --- a/asm/d/a/d_a_alink/setSlingModel__9daAlink_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_800DE7D4: -/* 800DE7D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800DE7D8 7C 08 02 A6 */ mflr r0 -/* 800DE7DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 800DE7E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DE7E4 48 28 39 F9 */ bl _savegpr_29 -/* 800DE7E8 7C 7D 1B 78 */ mr r29, r3 -/* 800DE7EC 38 7D 21 D8 */ addi r3, r29, 0x21d8 -/* 800DE7F0 38 80 01 F9 */ li r4, 0x1f9 -/* 800DE7F4 48 08 08 75 */ bl loadDataIdx__14daPy_anmHeap_cFUs -/* 800DE7F8 7C 7F 1B 78 */ mr r31, r3 -/* 800DE7FC 7F A3 EB 78 */ mr r3, r29 -/* 800DE800 4B FC 54 8D */ bl setItemHeap__9daAlink_cFv -/* 800DE804 7C 7E 1B 78 */ mr r30, r3 -/* 800DE808 7F A3 EB 78 */ mr r3, r29 -/* 800DE80C 38 80 03 19 */ li r4, 0x319 -/* 800DE810 38 A0 2C 00 */ li r5, 0x2c00 -/* 800DE814 4B FE 16 35 */ bl loadAramBmd__9daAlink_cFUsUl -/* 800DE818 7C 64 1B 78 */ mr r4, r3 -/* 800DE81C 7F A3 EB 78 */ mr r3, r29 -/* 800DE820 3C A0 00 08 */ lis r5, 8 -/* 800DE824 38 C0 00 00 */ li r6, 0 -/* 800DE828 4B FC 55 55 */ bl initModel__9daAlink_cFP12J3DModelDataUlUl -/* 800DE82C 90 7D 07 08 */ stw r3, 0x708(r29) -/* 800DE830 38 7D 07 30 */ addi r3, r29, 0x730 -/* 800DE834 7F E4 FB 78 */ mr r4, r31 -/* 800DE838 38 A0 00 00 */ li r5, 0 -/* 800DE83C 38 C0 00 02 */ li r6, 2 -/* 800DE840 C0 22 92 B8 */ lfs f1, lit_6040(r2) -/* 800DE844 38 E0 00 00 */ li r7, 0 -/* 800DE848 39 00 FF FF */ li r8, -1 -/* 800DE84C 39 20 00 00 */ li r9, 0 -/* 800DE850 4B F2 EF 8D */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 800DE854 7F C3 F3 78 */ mr r3, r30 -/* 800DE858 4B F3 09 75 */ bl mDoExt_setCurrentHeap__FP7JKRHeap -/* 800DE85C 38 00 00 05 */ li r0, 5 -/* 800DE860 98 1D 2F 95 */ stb r0, 0x2f95(r29) -/* 800DE864 38 00 00 67 */ li r0, 0x67 -/* 800DE868 98 1D 2F 94 */ stb r0, 0x2f94(r29) -/* 800DE86C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800DE870 48 28 39 B9 */ bl _restgpr_29 -/* 800DE874 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800DE878 7C 08 03 A6 */ mtlr r0 -/* 800DE87C 38 21 00 20 */ addi r1, r1, 0x20 -/* 800DE880 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSwimUpDownOffset__9daAlink_cFv.s b/asm/d/a/d_a_alink/setSwimUpDownOffset__9daAlink_cFv.s deleted file mode 100644 index 631e9e2610..0000000000 --- a/asm/d/a/d_a_alink/setSwimUpDownOffset__9daAlink_cFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_80104034: -/* 80104034 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80104038 7C 08 02 A6 */ mflr r0 -/* 8010403C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80104040 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80104044 7C 7F 1B 78 */ mr r31, r3 -/* 80104048 C0 22 94 A8 */ lfs f1, lit_16570(r2) -/* 8010404C 48 16 39 09 */ bl cM_rndF__Ff -/* 80104050 C0 02 95 DC */ lfs f0, lit_27477(r2) -/* 80104054 EC 20 08 2A */ fadds f1, f0, f1 -/* 80104058 C0 02 95 D8 */ lfs f0, lit_27476(r2) -/* 8010405C EC 00 00 72 */ fmuls f0, f0, f1 -/* 80104060 FC 00 00 1E */ fctiwz f0, f0 -/* 80104064 D8 01 00 08 */ stfd f0, 8(r1) -/* 80104068 80 61 00 0C */ lwz r3, 0xc(r1) -/* 8010406C A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 80104070 7C 00 1A 14 */ add r0, r0, r3 -/* 80104074 B0 1F 30 0C */ sth r0, 0x300c(r31) -/* 80104078 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 8010407C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80104080 41 82 00 3C */ beq lbl_801040BC -/* 80104084 7F E3 FB 78 */ mr r3, r31 -/* 80104088 38 80 00 01 */ li r4, 1 -/* 8010408C 38 A0 00 01 */ li r5, 1 -/* 80104090 4B FB 74 29 */ bl checkHeavyStateOn__9daAlink_cFii -/* 80104094 2C 03 00 00 */ cmpwi r3, 0 -/* 80104098 41 82 00 14 */ beq lbl_801040AC -/* 8010409C 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 801040A0 38 63 F8 B4 */ addi r3, r3, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 801040A4 C0 23 00 98 */ lfs f1, 0x98(r3) -/* 801040A8 48 00 00 20 */ b lbl_801040C8 -lbl_801040AC: -/* 801040AC 3C 60 80 39 */ lis r3, m__20daAlinkHIO_wlSwim_c0@ha /* 0x8038F8B4@ha */ -/* 801040B0 38 63 F8 B4 */ addi r3, r3, m__20daAlinkHIO_wlSwim_c0@l /* 0x8038F8B4@l */ -/* 801040B4 C0 23 00 6C */ lfs f1, 0x6c(r3) -/* 801040B8 48 00 00 10 */ b lbl_801040C8 -lbl_801040BC: -/* 801040BC 3C 60 80 39 */ lis r3, m__18daAlinkHIO_swim_c0@ha /* 0x8038ED2C@ha */ -/* 801040C0 38 63 ED 2C */ addi r3, r3, m__18daAlinkHIO_swim_c0@l /* 0x8038ED2C@l */ -/* 801040C4 C0 23 00 98 */ lfs f1, 0x98(r3) -lbl_801040C8: -/* 801040C8 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 801040CC 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 801040D0 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 801040D4 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 801040D8 7C 03 04 2E */ lfsx f0, r3, r0 -/* 801040DC EC 01 00 32 */ fmuls f0, f1, f0 -/* 801040E0 D0 1F 2B 98 */ stfs f0, 0x2b98(r31) -/* 801040E4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801040E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801040EC 7C 08 03 A6 */ mtlr r0 -/* 801040F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801040F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSwordAtCollision__9daAlink_cFi.s b/asm/d/a/d_a_alink/setSwordAtCollision__9daAlink_cFi.s deleted file mode 100644 index 34127ec978..0000000000 --- a/asm/d/a/d_a_alink/setSwordAtCollision__9daAlink_cFi.s +++ /dev/null @@ -1,205 +0,0 @@ -lbl_800AA2E0: -/* 800AA2E0 94 21 FF 60 */ stwu r1, -0xa0(r1) -/* 800AA2E4 7C 08 02 A6 */ mflr r0 -/* 800AA2E8 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 800AA2EC 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 800AA2F0 48 2B 7E E1 */ bl _savegpr_26 -/* 800AA2F4 7C 7F 1B 78 */ mr r31, r3 -/* 800AA2F8 7C 9A 23 78 */ mr r26, r4 -/* 800AA2FC 48 02 6B D1 */ bl checkCutDashAnime__9daAlink_cCFv -/* 800AA300 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA304 41 82 00 4C */ beq lbl_800AA350 -/* 800AA308 7F E3 FB 78 */ mr r3, r31 -/* 800AA30C 38 9F 12 2C */ addi r4, r31, 0x122c -/* 800AA310 48 02 6B ED */ bl checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf -/* 800AA314 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA318 40 82 00 2C */ bne lbl_800AA344 -/* 800AA31C 7F E3 FB 78 */ mr r3, r31 -/* 800AA320 38 9F 13 70 */ addi r4, r31, 0x1370 -/* 800AA324 48 02 6B D9 */ bl checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf -/* 800AA328 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA32C 40 82 00 18 */ bne lbl_800AA344 -/* 800AA330 7F E3 FB 78 */ mr r3, r31 -/* 800AA334 38 9F 14 B4 */ addi r4, r31, 0x14b4 -/* 800AA338 48 02 6B C5 */ bl checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf -/* 800AA33C 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA340 41 82 00 10 */ beq lbl_800AA350 -lbl_800AA344: -/* 800AA344 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800AA348 64 00 04 00 */ oris r0, r0, 0x400 -/* 800AA34C 90 1F 05 74 */ stw r0, 0x574(r31) -lbl_800AA350: -/* 800AA350 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800AA354 28 00 00 23 */ cmplwi r0, 0x23 -/* 800AA358 40 82 00 C8 */ bne lbl_800AA420 -/* 800AA35C 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 800AA360 38 83 9A 20 */ addi r4, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 800AA364 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800AA368 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800AA36C 7C 64 02 14 */ add r3, r4, r0 -/* 800AA370 C0 03 00 04 */ lfs f0, 4(r3) -/* 800AA374 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800AA378 3C 60 80 39 */ lis r3, m__21daAlinkHIO_cutFnJU_c0@ha /* 0x8038DAEC@ha */ -/* 800AA37C 38 63 DA EC */ addi r3, r3, m__21daAlinkHIO_cutFnJU_c0@l /* 0x8038DAEC@l */ -/* 800AA380 C0 83 00 50 */ lfs f4, 0x50(r3) -/* 800AA384 EC 04 00 32 */ fmuls f0, f4, f0 -/* 800AA388 EC 61 00 2A */ fadds f3, f1, f0 -/* 800AA38C C0 5F 34 78 */ lfs f2, 0x3478(r31) -/* 800AA390 7C 04 04 2E */ lfsx f0, r4, r0 -/* 800AA394 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800AA398 EC 04 00 32 */ fmuls f0, f4, f0 -/* 800AA39C EC 01 00 2A */ fadds f0, f1, f0 -/* 800AA3A0 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 800AA3A4 D0 41 00 78 */ stfs f2, 0x78(r1) -/* 800AA3A8 D0 61 00 7C */ stfs f3, 0x7c(r1) -/* 800AA3AC C0 1F 05 C0 */ lfs f0, 0x5c0(r31) -/* 800AA3B0 EC 20 10 28 */ fsubs f1, f0, f2 -/* 800AA3B4 C0 02 93 30 */ lfs f0, lit_7625(r2) -/* 800AA3B8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800AA3BC 40 80 00 08 */ bge lbl_800AA3C4 -/* 800AA3C0 FC 20 00 90 */ fmr f1, f0 -lbl_800AA3C4: -/* 800AA3C4 38 7F 12 14 */ addi r3, r31, 0x1214 -/* 800AA3C8 48 1C 4E 31 */ bl SetH__8cM3dGCylFf -/* 800AA3CC 2C 1A 00 00 */ cmpwi r26, 0 -/* 800AA3D0 41 82 00 14 */ beq lbl_800AA3E4 -/* 800AA3D4 38 7F 10 F0 */ addi r3, r31, 0x10f0 -/* 800AA3D8 38 81 00 74 */ addi r4, r1, 0x74 -/* 800AA3DC 4B FD A5 2D */ bl StartCAt__8dCcD_CylFR4cXyz -/* 800AA3E0 48 00 00 10 */ b lbl_800AA3F0 -lbl_800AA3E4: -/* 800AA3E4 38 7F 10 F0 */ addi r3, r31, 0x10f0 -/* 800AA3E8 38 81 00 74 */ addi r4, r1, 0x74 -/* 800AA3EC 4B FD A5 69 */ bl MoveCAt__8dCcD_CylFR4cXyz -lbl_800AA3F0: -/* 800AA3F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA3F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA3F8 38 63 23 3C */ addi r3, r3, 0x233c -/* 800AA3FC 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA400 48 1B A7 A9 */ bl Set__4cCcSFP8cCcD_Obj -/* 800AA404 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA408 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA40C 38 63 4B 88 */ addi r3, r3, 0x4b88 -/* 800AA410 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA414 38 A0 00 01 */ li r5, 1 -/* 800AA418 4B FD B9 81 */ bl Set__12dCcMassS_MngFP8cCcD_ObjUc -/* 800AA41C 48 00 01 B4 */ b lbl_800AA5D0 -lbl_800AA420: -/* 800AA420 38 61 00 50 */ addi r3, r1, 0x50 -/* 800AA424 38 9F 05 BC */ addi r4, r31, 0x5bc -/* 800AA428 38 BF 34 98 */ addi r5, r31, 0x3498 -/* 800AA42C 48 1B C7 09 */ bl __mi__4cXyzCFRC3Vec -/* 800AA430 38 61 00 44 */ addi r3, r1, 0x44 -/* 800AA434 38 81 00 50 */ addi r4, r1, 0x50 -/* 800AA438 C0 3F 33 D0 */ lfs f1, 0x33d0(r31) -/* 800AA43C 48 1B C7 49 */ bl __ml__4cXyzCFf -/* 800AA440 38 61 00 38 */ addi r3, r1, 0x38 -/* 800AA444 38 81 00 44 */ addi r4, r1, 0x44 -/* 800AA448 38 BF 34 98 */ addi r5, r31, 0x3498 -/* 800AA44C 48 1B C6 99 */ bl __pl__4cXyzCFRC3Vec -/* 800AA450 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 800AA454 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 800AA458 C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 800AA45C D0 01 00 78 */ stfs f0, 0x78(r1) -/* 800AA460 C0 01 00 40 */ lfs f0, 0x40(r1) -/* 800AA464 D0 01 00 7C */ stfs f0, 0x7c(r1) -/* 800AA468 38 61 00 2C */ addi r3, r1, 0x2c -/* 800AA46C 38 9F 34 B0 */ addi r4, r31, 0x34b0 -/* 800AA470 38 BF 34 BC */ addi r5, r31, 0x34bc -/* 800AA474 48 1B C6 C1 */ bl __mi__4cXyzCFRC3Vec -/* 800AA478 38 61 00 20 */ addi r3, r1, 0x20 -/* 800AA47C 38 81 00 2C */ addi r4, r1, 0x2c -/* 800AA480 C0 3F 33 D0 */ lfs f1, 0x33d0(r31) -/* 800AA484 48 1B C7 01 */ bl __ml__4cXyzCFf -/* 800AA488 38 61 00 14 */ addi r3, r1, 0x14 -/* 800AA48C 38 81 00 20 */ addi r4, r1, 0x20 -/* 800AA490 38 BF 34 BC */ addi r5, r31, 0x34bc -/* 800AA494 48 1B C6 51 */ bl __pl__4cXyzCFRC3Vec -/* 800AA498 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 800AA49C D0 01 00 68 */ stfs f0, 0x68(r1) -/* 800AA4A0 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 800AA4A4 D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 800AA4A8 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 800AA4AC D0 01 00 70 */ stfs f0, 0x70(r1) -/* 800AA4B0 38 7F 13 50 */ addi r3, r31, 0x1350 -/* 800AA4B4 38 9F 34 98 */ addi r4, r31, 0x3498 -/* 800AA4B8 38 A1 00 74 */ addi r5, r1, 0x74 -/* 800AA4BC 48 1C 4E 2D */ bl SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz -/* 800AA4C0 38 7F 14 94 */ addi r3, r31, 0x1494 -/* 800AA4C4 38 81 00 68 */ addi r4, r1, 0x68 -/* 800AA4C8 38 A1 00 74 */ addi r5, r1, 0x74 -/* 800AA4CC 48 1C 4E 1D */ bl SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz -/* 800AA4D0 38 7F 15 D8 */ addi r3, r31, 0x15d8 -/* 800AA4D4 38 9F 34 98 */ addi r4, r31, 0x3498 -/* 800AA4D8 38 A1 00 68 */ addi r5, r1, 0x68 -/* 800AA4DC 48 1C 4E 0D */ bl SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz -/* 800AA4E0 80 1F 12 2C */ lwz r0, 0x122c(r31) -/* 800AA4E4 60 00 00 01 */ ori r0, r0, 1 -/* 800AA4E8 90 1F 12 2C */ stw r0, 0x122c(r31) -/* 800AA4EC 2C 1A 00 00 */ cmpwi r26, 0 -/* 800AA4F0 41 82 00 24 */ beq lbl_800AA514 -/* 800AA4F4 3C 60 80 43 */ lis r3, Zero__4cXyz@ha /* 0x80430CF4@ha */ -/* 800AA4F8 C4 03 0C F4 */ lfsu f0, Zero__4cXyz@l(r3) /* 0x80430CF4@l */ -/* 800AA4FC D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 800AA500 C0 03 00 04 */ lfs f0, 4(r3) -/* 800AA504 D0 01 00 60 */ stfs f0, 0x60(r1) -/* 800AA508 C0 03 00 08 */ lfs f0, 8(r3) -/* 800AA50C D0 01 00 64 */ stfs f0, 0x64(r1) -/* 800AA510 48 00 00 44 */ b lbl_800AA554 -lbl_800AA514: -/* 800AA514 38 61 00 08 */ addi r3, r1, 8 -/* 800AA518 38 9F 05 BC */ addi r4, r31, 0x5bc -/* 800AA51C 38 BF 34 B0 */ addi r5, r31, 0x34b0 -/* 800AA520 48 1B C6 15 */ bl __mi__4cXyzCFRC3Vec -/* 800AA524 C0 01 00 08 */ lfs f0, 8(r1) -/* 800AA528 D0 01 00 5C */ stfs f0, 0x5c(r1) -/* 800AA52C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 800AA530 D0 01 00 60 */ stfs f0, 0x60(r1) -/* 800AA534 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 800AA538 D0 01 00 64 */ stfs f0, 0x64(r1) -/* 800AA53C 80 1F 13 70 */ lwz r0, 0x1370(r31) -/* 800AA540 60 00 00 01 */ ori r0, r0, 1 -/* 800AA544 90 1F 13 70 */ stw r0, 0x1370(r31) -/* 800AA548 80 1F 14 B4 */ lwz r0, 0x14b4(r31) -/* 800AA54C 60 00 00 01 */ ori r0, r0, 1 -/* 800AA550 90 1F 14 B4 */ stw r0, 0x14b4(r31) -lbl_800AA554: -/* 800AA554 C0 41 00 5C */ lfs f2, 0x5c(r1) -/* 800AA558 D0 5F 12 B0 */ stfs f2, 0x12b0(r31) -/* 800AA55C C0 21 00 60 */ lfs f1, 0x60(r1) -/* 800AA560 D0 3F 12 B4 */ stfs f1, 0x12b4(r31) -/* 800AA564 C0 01 00 64 */ lfs f0, 0x64(r1) -/* 800AA568 D0 1F 12 B8 */ stfs f0, 0x12b8(r31) -/* 800AA56C D0 5F 13 F4 */ stfs f2, 0x13f4(r31) -/* 800AA570 D0 3F 13 F8 */ stfs f1, 0x13f8(r31) -/* 800AA574 D0 1F 13 FC */ stfs f0, 0x13fc(r31) -/* 800AA578 D0 5F 15 38 */ stfs f2, 0x1538(r31) -/* 800AA57C D0 3F 15 3C */ stfs f1, 0x153c(r31) -/* 800AA580 D0 1F 15 40 */ stfs f0, 0x1540(r31) -/* 800AA584 3B 40 00 00 */ li r26, 0 -/* 800AA588 3B C0 00 00 */ li r30, 0 -/* 800AA58C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA590 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA594 3B A3 23 3C */ addi r29, r3, 0x233c -/* 800AA598 3B 83 4B 88 */ addi r28, r3, 0x4b88 -lbl_800AA59C: -/* 800AA59C 7F A3 EB 78 */ mr r3, r29 -/* 800AA5A0 3B 7E 12 2C */ addi r27, r30, 0x122c -/* 800AA5A4 7F 7F DA 14 */ add r27, r31, r27 -/* 800AA5A8 7F 64 DB 78 */ mr r4, r27 -/* 800AA5AC 48 1B A5 FD */ bl Set__4cCcSFP8cCcD_Obj -/* 800AA5B0 7F 83 E3 78 */ mr r3, r28 -/* 800AA5B4 7F 64 DB 78 */ mr r4, r27 -/* 800AA5B8 38 A0 00 01 */ li r5, 1 -/* 800AA5BC 4B FD B7 DD */ bl Set__12dCcMassS_MngFP8cCcD_ObjUc -/* 800AA5C0 3B 5A 00 01 */ addi r26, r26, 1 -/* 800AA5C4 2C 1A 00 03 */ cmpwi r26, 3 -/* 800AA5C8 3B DE 01 44 */ addi r30, r30, 0x144 -/* 800AA5CC 41 80 FF D0 */ blt lbl_800AA59C -lbl_800AA5D0: -/* 800AA5D0 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 800AA5D4 48 2B 7C 49 */ bl _restgpr_26 -/* 800AA5D8 80 01 00 A4 */ lwz r0, 0xa4(r1) -/* 800AA5DC 7C 08 03 A6 */ mtlr r0 -/* 800AA5E0 38 21 00 A0 */ addi r1, r1, 0xa0 -/* 800AA5E4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff.s b/asm/d/a/d_a_alink/setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff.s deleted file mode 100644 index 066716c857..0000000000 --- a/asm/d/a/d_a_alink/setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff.s +++ /dev/null @@ -1,70 +0,0 @@ -lbl_800D1688: -/* 800D1688 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800D168C 7C 08 02 A6 */ mflr r0 -/* 800D1690 90 01 00 34 */ stw r0, 0x34(r1) -/* 800D1694 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 800D1698 DB C1 00 20 */ stfd f30, 0x20(r1) -/* 800D169C 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D16A0 48 29 0B 31 */ bl _savegpr_26 -/* 800D16A4 7C 7A 1B 78 */ mr r26, r3 -/* 800D16A8 7C 9B 23 78 */ mr r27, r4 -/* 800D16AC 7C BC 2B 78 */ mr r28, r5 -/* 800D16B0 7C DD 33 78 */ mr r29, r6 -/* 800D16B4 7C FE 3B 78 */ mr r30, r7 -/* 800D16B8 FF C0 08 90 */ fmr f30, f1 -/* 800D16BC FF E0 10 90 */ fmr f31, f2 -/* 800D16C0 3B FA 12 2C */ addi r31, r26, 0x122c -/* 800D16C4 4B FF F8 99 */ bl getSwordAtType__9daAlink_cFv -/* 800D16C8 80 1A 12 84 */ lwz r0, 0x1284(r26) -/* 800D16CC 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 800D16D0 90 1A 12 84 */ stw r0, 0x1284(r26) -/* 800D16D4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D16D8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D16DC 88 04 00 14 */ lbz r0, 0x14(r4) -/* 800D16E0 28 00 00 3F */ cmplwi r0, 0x3f -/* 800D16E4 40 82 00 24 */ bne lbl_800D1708 -/* 800D16E8 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800D16EC 28 00 00 0E */ cmplwi r0, 0xe -/* 800D16F0 41 82 00 14 */ beq lbl_800D1704 -/* 800D16F4 28 00 00 01 */ cmplwi r0, 1 -/* 800D16F8 41 82 00 0C */ beq lbl_800D1704 -/* 800D16FC 28 00 00 10 */ cmplwi r0, 0x10 -/* 800D1700 40 82 00 08 */ bne lbl_800D1708 -lbl_800D1704: -/* 800D1704 3B A0 00 05 */ li r29, 5 -lbl_800D1708: -/* 800D1708 2C 1B 00 00 */ cmpwi r27, 0 -/* 800D170C 40 82 00 10 */ bne lbl_800D171C -/* 800D1710 38 00 00 00 */ li r0, 0 -/* 800D1714 98 1A 2F D0 */ stb r0, 0x2fd0(r26) -/* 800D1718 48 00 00 0C */ b lbl_800D1724 -lbl_800D171C: -/* 800D171C 38 00 00 01 */ li r0, 1 -/* 800D1720 98 1A 2F D0 */ stb r0, 0x2fd0(r26) -lbl_800D1724: -/* 800D1724 80 1A 05 7C */ lwz r0, 0x57c(r26) -/* 800D1728 54 00 67 FE */ rlwinm r0, r0, 0xc, 0x1f, 0x1f -/* 800D172C 7C 80 00 D0 */ neg r4, r0 -/* 800D1730 38 00 00 04 */ li r0, 4 -/* 800D1734 7C 04 20 38 */ and r4, r0, r4 -/* 800D1738 38 00 00 03 */ li r0, 3 -/* 800D173C 7C 09 03 A6 */ mtctr r0 -lbl_800D1740: -/* 800D1740 9B 7F 00 77 */ stb r27, 0x77(r31) -/* 800D1744 9B 9F 00 76 */ stb r28, 0x76(r31) -/* 800D1748 9B DF 00 14 */ stb r30, 0x14(r31) -/* 800D174C D3 FF 01 40 */ stfs f31, 0x140(r31) -/* 800D1750 9B BF 00 74 */ stb r29, 0x74(r31) -/* 800D1754 98 9F 00 75 */ stb r4, 0x75(r31) -/* 800D1758 90 7F 00 10 */ stw r3, 0x10(r31) -/* 800D175C 3B FF 01 44 */ addi r31, r31, 0x144 -/* 800D1760 42 00 FF E0 */ bdnz lbl_800D1740 -/* 800D1764 D3 DA 33 D0 */ stfs f30, 0x33d0(r26) -/* 800D1768 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 800D176C CB C1 00 20 */ lfd f30, 0x20(r1) -/* 800D1770 39 61 00 20 */ addi r11, r1, 0x20 -/* 800D1774 48 29 0A A9 */ bl _restgpr_26 -/* 800D1778 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800D177C 7C 08 03 A6 */ mtlr r0 -/* 800D1780 38 21 00 30 */ addi r1, r1, 0x30 -/* 800D1784 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf.s b/asm/d/a/d_a_alink/setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf.s deleted file mode 100644 index 10424c202e..0000000000 --- a/asm/d/a/d_a_alink/setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_800D17EC: -/* 800D17EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800D17F0 7C 08 02 A6 */ mflr r0 -/* 800D17F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800D17F8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800D17FC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 800D1800 7C 7E 1B 78 */ mr r30, r3 -/* 800D1804 7C 9F 23 78 */ mr r31, r4 -/* 800D1808 7F E3 FB 78 */ mr r3, r31 -/* 800D180C 4B FB 2A B5 */ bl ChkAtHit__12dCcD_GObjInfFv -/* 800D1810 28 03 00 00 */ cmplwi r3, 0 -/* 800D1814 41 82 00 F0 */ beq lbl_800D1904 -/* 800D1818 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800D181C 4B FB 1E 6D */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 800D1820 4B FF FF 69 */ bl notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c -/* 800D1824 2C 03 00 00 */ cmpwi r3, 0 -/* 800D1828 41 82 00 0C */ beq lbl_800D1834 -/* 800D182C 38 60 00 01 */ li r3, 1 -/* 800D1830 48 00 00 D8 */ b lbl_800D1908 -lbl_800D1834: -/* 800D1834 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 800D1838 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800D183C 41 82 00 0C */ beq lbl_800D1848 -/* 800D1840 38 80 00 03 */ li r4, 3 -/* 800D1844 48 00 00 8C */ b lbl_800D18D0 -lbl_800D1848: -/* 800D1848 80 1F 00 5C */ lwz r0, 0x5c(r31) -/* 800D184C 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800D1850 41 82 00 30 */ beq lbl_800D1880 -/* 800D1854 88 1E 2F D0 */ lbz r0, 0x2fd0(r30) -/* 800D1858 28 00 00 01 */ cmplwi r0, 1 -/* 800D185C 40 82 00 0C */ bne lbl_800D1868 -/* 800D1860 38 80 00 05 */ li r4, 5 -/* 800D1864 48 00 00 6C */ b lbl_800D18D0 -lbl_800D1868: -/* 800D1868 28 00 00 02 */ cmplwi r0, 2 -/* 800D186C 40 82 00 0C */ bne lbl_800D1878 -/* 800D1870 38 80 00 02 */ li r4, 2 -/* 800D1874 48 00 00 5C */ b lbl_800D18D0 -lbl_800D1878: -/* 800D1878 38 80 00 03 */ li r4, 3 -/* 800D187C 48 00 00 54 */ b lbl_800D18D0 -lbl_800D1880: -/* 800D1880 88 1E 2F D0 */ lbz r0, 0x2fd0(r30) -/* 800D1884 28 00 00 02 */ cmplwi r0, 2 -/* 800D1888 41 82 00 28 */ beq lbl_800D18B0 -/* 800D188C 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800D1890 4B FB 1D F9 */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 800D1894 28 03 00 00 */ cmplwi r3, 0 -/* 800D1898 41 82 00 20 */ beq lbl_800D18B8 -/* 800D189C 38 7F 00 58 */ addi r3, r31, 0x58 -/* 800D18A0 4B FB 1D E9 */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv -/* 800D18A4 88 03 04 96 */ lbz r0, 0x496(r3) -/* 800D18A8 28 00 00 03 */ cmplwi r0, 3 -/* 800D18AC 40 82 00 0C */ bne lbl_800D18B8 -lbl_800D18B0: -/* 800D18B0 38 80 00 02 */ li r4, 2 -/* 800D18B4 48 00 00 1C */ b lbl_800D18D0 -lbl_800D18B8: -/* 800D18B8 88 1E 2F D0 */ lbz r0, 0x2fd0(r30) -/* 800D18BC 28 00 00 01 */ cmplwi r0, 1 -/* 800D18C0 40 82 00 0C */ bne lbl_800D18CC -/* 800D18C4 38 80 00 04 */ li r4, 4 -/* 800D18C8 48 00 00 08 */ b lbl_800D18D0 -lbl_800D18CC: -/* 800D18CC 38 80 00 02 */ li r4, 2 -lbl_800D18D0: -/* 800D18D0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800D18D4 D0 21 00 08 */ stfs f1, 8(r1) -/* 800D18D8 C0 02 92 B8 */ lfs f0, lit_6040(r2) -/* 800D18DC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 800D18E0 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 800D18E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800D18E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800D18EC 38 63 5B D4 */ addi r3, r3, 0x5bd4 -/* 800D18F0 38 A0 00 1F */ li r5, 0x1f -/* 800D18F4 38 C1 00 08 */ addi r6, r1, 8 -/* 800D18F8 4B F9 E1 2D */ bl StartShock__12dVibration_cFii4cXyz -/* 800D18FC 38 60 00 01 */ li r3, 1 -/* 800D1900 48 00 00 08 */ b lbl_800D1908 -lbl_800D1904: -/* 800D1904 38 60 00 00 */ li r3, 0 -lbl_800D1908: -/* 800D1908 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800D190C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 800D1910 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800D1914 7C 08 03 A6 */ mtlr r0 -/* 800D1918 38 21 00 20 */ addi r1, r1, 0x20 -/* 800D191C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setSyncRidePos__9daAlink_cFv.s b/asm/d/a/d_a_alink/setSyncRidePos__9daAlink_cFv.s deleted file mode 100644 index 0cb11aaa2b..0000000000 --- a/asm/d/a/d_a_alink/setSyncRidePos__9daAlink_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_800EDA24: -/* 800EDA24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800EDA28 7C 08 02 A6 */ mflr r0 -/* 800EDA2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800EDA30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800EDA34 7C 7F 1B 78 */ mr r31, r3 -/* 800EDA38 81 83 06 28 */ lwz r12, 0x628(r3) -/* 800EDA3C 81 8C 01 88 */ lwz r12, 0x188(r12) -/* 800EDA40 7D 89 03 A6 */ mtctr r12 -/* 800EDA44 4E 80 04 21 */ bctrl -/* 800EDA48 28 03 00 00 */ cmplwi r3, 0 -/* 800EDA4C 41 82 00 10 */ beq lbl_800EDA5C -/* 800EDA50 7F E3 FB 78 */ mr r3, r31 -/* 800EDA54 4B FF FA 89 */ bl setSyncHorsePos__9daAlink_cFv -/* 800EDA58 48 00 00 0C */ b lbl_800EDA64 -lbl_800EDA5C: -/* 800EDA5C 7F E3 FB 78 */ mr r3, r31 -/* 800EDA60 4B FF FD 2D */ bl setSyncBoarPos__9daAlink_cFv -lbl_800EDA64: -/* 800EDA64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800EDA68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800EDA6C 7C 08 03 A6 */ mtlr r0 -/* 800EDA70 38 21 00 10 */ addi r1, r1, 0x10 -/* 800EDA74 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setThrowDamage__9daAlink_cFsffiii.s b/asm/d/a/d_a_alink/setThrowDamage__9daAlink_cFsffiii.s deleted file mode 100644 index 77a2ff83db..0000000000 --- a/asm/d/a/d_a_alink/setThrowDamage__9daAlink_cFsffiii.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800D7160: -/* 800D7160 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800D7164 7C 08 02 A6 */ mflr r0 -/* 800D7168 90 01 00 14 */ stw r0, 0x14(r1) -/* 800D716C D0 23 34 08 */ stfs f1, 0x3408(r3) -/* 800D7170 D0 43 34 0C */ stfs f2, 0x340c(r3) -/* 800D7174 90 A3 31 8C */ stw r5, 0x318c(r3) -/* 800D7178 B0 83 2F FE */ sth r4, 0x2ffe(r3) -/* 800D717C 2C 06 00 00 */ cmpwi r6, 0 -/* 800D7180 41 82 00 14 */ beq lbl_800D7194 -/* 800D7184 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800D7188 60 00 00 40 */ ori r0, r0, 0x40 -/* 800D718C 90 03 05 88 */ stw r0, 0x588(r3) -/* 800D7190 48 00 00 10 */ b lbl_800D71A0 -lbl_800D7194: -/* 800D7194 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800D7198 60 00 00 80 */ ori r0, r0, 0x80 -/* 800D719C 90 03 05 88 */ stw r0, 0x588(r3) -lbl_800D71A0: -/* 800D71A0 2C 07 00 01 */ cmpwi r7, 1 -/* 800D71A4 40 82 00 14 */ bne lbl_800D71B8 -/* 800D71A8 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800D71AC 64 00 40 00 */ oris r0, r0, 0x4000 -/* 800D71B0 90 03 05 88 */ stw r0, 0x588(r3) -/* 800D71B4 48 00 00 18 */ b lbl_800D71CC -lbl_800D71B8: -/* 800D71B8 2C 07 00 02 */ cmpwi r7, 2 -/* 800D71BC 40 82 00 10 */ bne lbl_800D71CC -/* 800D71C0 80 03 05 8C */ lwz r0, 0x58c(r3) -/* 800D71C4 60 00 00 80 */ ori r0, r0, 0x80 -/* 800D71C8 90 03 05 8C */ stw r0, 0x58c(r3) -lbl_800D71CC: -/* 800D71CC 38 00 00 00 */ li r0, 0 -/* 800D71D0 88 83 05 6A */ lbz r4, 0x56a(r3) -/* 800D71D4 28 04 00 00 */ cmplwi r4, 0 -/* 800D71D8 41 82 00 10 */ beq lbl_800D71E8 -/* 800D71DC 28 04 00 26 */ cmplwi r4, 0x26 -/* 800D71E0 40 80 00 08 */ bge lbl_800D71E8 -/* 800D71E4 38 00 00 01 */ li r0, 1 -lbl_800D71E8: -/* 800D71E8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 800D71EC 41 82 00 08 */ beq lbl_800D71F4 -/* 800D71F0 48 01 36 E1 */ bl cancelSumouMode__9daAlink_cFv -lbl_800D71F4: -/* 800D71F4 38 60 00 01 */ li r3, 1 -/* 800D71F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800D71FC 7C 08 03 A6 */ mtlr r0 -/* 800D7200 38 21 00 10 */ addi r1, r1, 0x10 -/* 800D7204 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setUpperGuardAnime__9daAlink_cFf.s b/asm/d/a/d_a_alink/setUpperGuardAnime__9daAlink_cFf.s deleted file mode 100644 index 412694d667..0000000000 --- a/asm/d/a/d_a_alink/setUpperGuardAnime__9daAlink_cFf.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_800DD008: -/* 800DD008 80 03 05 78 */ lwz r0, 0x578(r3) -/* 800DD00C 64 00 08 00 */ oris r0, r0, 0x800 -/* 800DD010 90 03 05 78 */ stw r0, 0x578(r3) -/* 800DD014 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWaterDropColor__9daAlink_cFPC13J3DGXColorS10.s b/asm/d/a/d_a_alink/setWaterDropColor__9daAlink_cFPC13J3DGXColorS10.s deleted file mode 100644 index 5217dcd2e6..0000000000 --- a/asm/d/a/d_a_alink/setWaterDropColor__9daAlink_cFPC13J3DGXColorS10.s +++ /dev/null @@ -1,295 +0,0 @@ -lbl_800CC364: -/* 800CC364 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800CC368 7C 08 02 A6 */ mflr r0 -/* 800CC36C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800CC370 39 61 00 20 */ addi r11, r1, 0x20 -/* 800CC374 48 29 5E 69 */ bl _savegpr_29 -/* 800CC378 7C 7D 1B 78 */ mr r29, r3 -/* 800CC37C 7C 9E 23 78 */ mr r30, r4 -/* 800CC380 38 1D 32 A0 */ addi r0, r29, 0x32a0 -/* 800CC384 7C 00 F0 40 */ cmplw r0, r30 -/* 800CC388 40 82 00 40 */ bne lbl_800CC3C8 -/* 800CC38C 80 1D 05 78 */ lwz r0, 0x578(r29) -/* 800CC390 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 800CC394 40 82 00 20 */ bne lbl_800CC3B4 -/* 800CC398 4B FF 3A 19 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 800CC39C 2C 03 00 00 */ cmpwi r3, 0 -/* 800CC3A0 40 82 00 14 */ bne lbl_800CC3B4 -/* 800CC3A4 7F A3 EB 78 */ mr r3, r29 -/* 800CC3A8 4B FF 3A 55 */ bl checkMagicArmorWearAbility__9daAlink_cCFv -/* 800CC3AC 2C 03 00 00 */ cmpwi r3, 0 -/* 800CC3B0 41 82 00 10 */ beq lbl_800CC3C0 -lbl_800CC3B4: -/* 800CC3B4 3B E2 99 3C */ la r31, notColor0(r2) /* 8045333C-_SDA2_BASE_ */ -/* 800CC3B8 3B C2 99 3C */ la r30, notColor0(r2) /* 8045333C-_SDA2_BASE_ */ -/* 800CC3BC 48 00 00 10 */ b lbl_800CC3CC -lbl_800CC3C0: -/* 800CC3C0 3B FE 00 08 */ addi r31, r30, 8 -/* 800CC3C4 48 00 00 08 */ b lbl_800CC3CC -lbl_800CC3C8: -/* 800CC3C8 7F DF F3 78 */ mr r31, r30 -lbl_800CC3CC: -/* 800CC3CC 80 1D 05 78 */ lwz r0, 0x578(r29) -/* 800CC3D0 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 800CC3D4 40 82 03 F0 */ bne lbl_800CC7C4 -/* 800CC3D8 7F A3 EB 78 */ mr r3, r29 -/* 800CC3DC 4B FF 39 D5 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 800CC3E0 2C 03 00 00 */ cmpwi r3, 0 -/* 800CC3E4 41 82 00 AC */ beq lbl_800CC490 -/* 800CC3E8 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC3EC 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC3F0 80 63 00 34 */ lwz r3, 0x34(r3) -/* 800CC3F4 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC3F8 38 80 00 01 */ li r4, 1 -/* 800CC3FC 7F C5 F3 78 */ mr r5, r30 -/* 800CC400 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC404 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC408 7D 89 03 A6 */ mtctr r12 -/* 800CC40C 4E 80 04 21 */ bctrl -/* 800CC410 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC414 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC418 80 63 00 00 */ lwz r3, 0(r3) -/* 800CC41C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC420 38 80 00 01 */ li r4, 1 -/* 800CC424 7F C5 F3 78 */ mr r5, r30 -/* 800CC428 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC42C 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC430 7D 89 03 A6 */ mtctr r12 -/* 800CC434 4E 80 04 21 */ bctrl -/* 800CC438 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC43C 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC440 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC444 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC448 38 80 00 01 */ li r4, 1 -/* 800CC44C 7F C5 F3 78 */ mr r5, r30 -/* 800CC450 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC454 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC458 7D 89 03 A6 */ mtctr r12 -/* 800CC45C 4E 80 04 21 */ bctrl -/* 800CC460 80 7D 06 58 */ lwz r3, 0x658(r29) -/* 800CC464 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC468 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC46C 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC470 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC474 38 80 00 01 */ li r4, 1 -/* 800CC478 7F C5 F3 78 */ mr r5, r30 -/* 800CC47C 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC480 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC484 7D 89 03 A6 */ mtctr r12 -/* 800CC488 4E 80 04 21 */ bctrl -/* 800CC48C 48 00 03 38 */ b lbl_800CC7C4 -lbl_800CC490: -/* 800CC490 7F A3 EB 78 */ mr r3, r29 -/* 800CC494 4B FF 39 69 */ bl checkMagicArmorWearAbility__9daAlink_cCFv -/* 800CC498 2C 03 00 00 */ cmpwi r3, 0 -/* 800CC49C 41 82 01 28 */ beq lbl_800CC5C4 -/* 800CC4A0 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC4A4 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC4A8 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC4AC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC4B0 38 80 00 01 */ li r4, 1 -/* 800CC4B4 7F C5 F3 78 */ mr r5, r30 -/* 800CC4B8 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC4BC 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC4C0 7D 89 03 A6 */ mtctr r12 -/* 800CC4C4 4E 80 04 21 */ bctrl -/* 800CC4C8 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC4CC 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC4D0 80 63 00 28 */ lwz r3, 0x28(r3) -/* 800CC4D4 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC4D8 38 80 00 01 */ li r4, 1 -/* 800CC4DC 7F C5 F3 78 */ mr r5, r30 -/* 800CC4E0 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC4E4 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC4E8 7D 89 03 A6 */ mtctr r12 -/* 800CC4EC 4E 80 04 21 */ bctrl -/* 800CC4F0 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC4F4 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC4F8 80 63 00 24 */ lwz r3, 0x24(r3) -/* 800CC4FC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC500 38 80 00 01 */ li r4, 1 -/* 800CC504 7F C5 F3 78 */ mr r5, r30 -/* 800CC508 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC50C 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC510 7D 89 03 A6 */ mtctr r12 -/* 800CC514 4E 80 04 21 */ bctrl -/* 800CC518 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC51C 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC520 80 63 00 20 */ lwz r3, 0x20(r3) -/* 800CC524 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC528 38 80 00 01 */ li r4, 1 -/* 800CC52C 7F C5 F3 78 */ mr r5, r30 -/* 800CC530 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC534 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC538 7D 89 03 A6 */ mtctr r12 -/* 800CC53C 4E 80 04 21 */ bctrl -/* 800CC540 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC544 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC548 80 63 00 18 */ lwz r3, 0x18(r3) -/* 800CC54C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC550 38 80 00 01 */ li r4, 1 -/* 800CC554 7F C5 F3 78 */ mr r5, r30 -/* 800CC558 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC55C 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC560 7D 89 03 A6 */ mtctr r12 -/* 800CC564 4E 80 04 21 */ bctrl -/* 800CC568 80 7D 06 58 */ lwz r3, 0x658(r29) -/* 800CC56C 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC570 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC574 80 63 00 08 */ lwz r3, 8(r3) -/* 800CC578 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC57C 38 80 00 01 */ li r4, 1 -/* 800CC580 7F C5 F3 78 */ mr r5, r30 -/* 800CC584 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC588 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC58C 7D 89 03 A6 */ mtctr r12 -/* 800CC590 4E 80 04 21 */ bctrl -/* 800CC594 80 7D 06 58 */ lwz r3, 0x658(r29) -/* 800CC598 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC59C 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC5A0 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC5A4 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC5A8 38 80 00 01 */ li r4, 1 -/* 800CC5AC 7F C5 F3 78 */ mr r5, r30 -/* 800CC5B0 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC5B4 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC5B8 7D 89 03 A6 */ mtctr r12 -/* 800CC5BC 4E 80 04 21 */ bctrl -/* 800CC5C0 48 00 02 04 */ b lbl_800CC7C4 -lbl_800CC5C4: -/* 800CC5C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CC5C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CC5CC 88 03 00 13 */ lbz r0, 0x13(r3) -/* 800CC5D0 28 00 00 2E */ cmplwi r0, 0x2e -/* 800CC5D4 40 82 00 84 */ bne lbl_800CC658 -/* 800CC5D8 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC5DC 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC5E0 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 800CC5E4 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC5E8 38 80 00 01 */ li r4, 1 -/* 800CC5EC 7F C5 F3 78 */ mr r5, r30 -/* 800CC5F0 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC5F4 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC5F8 7D 89 03 A6 */ mtctr r12 -/* 800CC5FC 4E 80 04 21 */ bctrl -/* 800CC600 80 7D 06 58 */ lwz r3, 0x658(r29) -/* 800CC604 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC608 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC60C 80 63 00 00 */ lwz r3, 0(r3) -/* 800CC610 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC614 38 80 00 01 */ li r4, 1 -/* 800CC618 7F C5 F3 78 */ mr r5, r30 -/* 800CC61C 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC620 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC624 7D 89 03 A6 */ mtctr r12 -/* 800CC628 4E 80 04 21 */ bctrl -/* 800CC62C 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC630 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC634 80 63 00 14 */ lwz r3, 0x14(r3) -/* 800CC638 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC63C 38 80 00 01 */ li r4, 1 -/* 800CC640 7F E5 FB 78 */ mr r5, r31 -/* 800CC644 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC648 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC64C 7D 89 03 A6 */ mtctr r12 -/* 800CC650 4E 80 04 21 */ bctrl -/* 800CC654 48 00 01 70 */ b lbl_800CC7C4 -lbl_800CC658: -/* 800CC658 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC65C 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC660 80 63 00 44 */ lwz r3, 0x44(r3) -/* 800CC664 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC668 38 80 00 01 */ li r4, 1 -/* 800CC66C 7F C5 F3 78 */ mr r5, r30 -/* 800CC670 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC674 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC678 7D 89 03 A6 */ mtctr r12 -/* 800CC67C 4E 80 04 21 */ bctrl -/* 800CC680 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC684 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC688 80 63 00 24 */ lwz r3, 0x24(r3) -/* 800CC68C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC690 38 80 00 01 */ li r4, 1 -/* 800CC694 7F C5 F3 78 */ mr r5, r30 -/* 800CC698 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC69C 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC6A0 7D 89 03 A6 */ mtctr r12 -/* 800CC6A4 4E 80 04 21 */ bctrl -/* 800CC6A8 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC6AC 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC6B0 80 63 00 00 */ lwz r3, 0(r3) -/* 800CC6B4 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC6B8 38 80 00 01 */ li r4, 1 -/* 800CC6BC 7F C5 F3 78 */ mr r5, r30 -/* 800CC6C0 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC6C4 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC6C8 7D 89 03 A6 */ mtctr r12 -/* 800CC6CC 4E 80 04 21 */ bctrl -/* 800CC6D0 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC6D4 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC6D8 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC6DC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC6E0 38 80 00 01 */ li r4, 1 -/* 800CC6E4 7F C5 F3 78 */ mr r5, r30 -/* 800CC6E8 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC6EC 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC6F0 7D 89 03 A6 */ mtctr r12 -/* 800CC6F4 4E 80 04 21 */ bctrl -/* 800CC6F8 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC6FC 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC700 80 63 00 08 */ lwz r3, 8(r3) -/* 800CC704 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC708 38 80 00 01 */ li r4, 1 -/* 800CC70C 7F C5 F3 78 */ mr r5, r30 -/* 800CC710 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC714 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC718 7D 89 03 A6 */ mtctr r12 -/* 800CC71C 4E 80 04 21 */ bctrl -/* 800CC720 80 7D 06 58 */ lwz r3, 0x658(r29) -/* 800CC724 80 63 00 04 */ lwz r3, 4(r3) -/* 800CC728 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC72C 80 63 00 00 */ lwz r3, 0(r3) -/* 800CC730 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC734 38 80 00 01 */ li r4, 1 -/* 800CC738 7F C5 F3 78 */ mr r5, r30 -/* 800CC73C 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC740 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC744 7D 89 03 A6 */ mtctr r12 -/* 800CC748 4E 80 04 21 */ bctrl -/* 800CC74C 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC750 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC754 80 63 00 40 */ lwz r3, 0x40(r3) -/* 800CC758 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC75C 38 80 00 01 */ li r4, 1 -/* 800CC760 7F E5 FB 78 */ mr r5, r31 -/* 800CC764 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC768 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC76C 7D 89 03 A6 */ mtctr r12 -/* 800CC770 4E 80 04 21 */ bctrl -/* 800CC774 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC778 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC77C 80 63 00 3C */ lwz r3, 0x3c(r3) -/* 800CC780 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC784 38 80 00 01 */ li r4, 1 -/* 800CC788 7F E5 FB 78 */ mr r5, r31 -/* 800CC78C 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC790 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC794 7D 89 03 A6 */ mtctr r12 -/* 800CC798 4E 80 04 21 */ bctrl -/* 800CC79C 80 7D 06 4C */ lwz r3, 0x64c(r29) -/* 800CC7A0 80 63 00 60 */ lwz r3, 0x60(r3) -/* 800CC7A4 80 63 00 38 */ lwz r3, 0x38(r3) -/* 800CC7A8 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 800CC7AC 38 80 00 01 */ li r4, 1 -/* 800CC7B0 7F E5 FB 78 */ mr r5, r31 -/* 800CC7B4 81 83 00 00 */ lwz r12, 0(r3) -/* 800CC7B8 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 800CC7BC 7D 89 03 A6 */ mtctr r12 -/* 800CC7C0 4E 80 04 21 */ bctrl -lbl_800CC7C4: -/* 800CC7C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800CC7C8 48 29 5A 61 */ bl _restgpr_29 -/* 800CC7CC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800CC7D0 7C 08 03 A6 */ mtlr r0 -/* 800CC7D4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800CC7D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s b/asm/d/a/d_a_alink/setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s deleted file mode 100644 index 9e0259ca9f..0000000000 --- a/asm/d/a/d_a_alink/setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80101CF4: -/* 80101CF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80101CF8 7C 08 02 A6 */ mflr r0 -/* 80101CFC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80101D00 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80101D04 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80101D08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80101D0C 7C 9F 23 78 */ mr r31, r4 -/* 80101D10 FF E0 08 90 */ fmr f31, f1 -/* 80101D14 80 03 05 70 */ lwz r0, 0x570(r3) -/* 80101D18 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 80101D1C 41 82 00 34 */ beq lbl_80101D50 -/* 80101D20 4B FB E0 91 */ bl checkZoraWearAbility__9daAlink_cCFv -/* 80101D24 2C 03 00 00 */ cmpwi r3, 0 -/* 80101D28 41 82 00 18 */ beq lbl_80101D40 -/* 80101D2C 3C 60 80 39 */ lis r3, m__24daAlinkHIO_magneBoots_c0@ha /* 0x8038E7F4@ha */ -/* 80101D30 38 63 E7 F4 */ addi r3, r3, m__24daAlinkHIO_magneBoots_c0@l /* 0x8038E7F4@l */ -/* 80101D34 C0 03 00 48 */ lfs f0, 0x48(r3) -/* 80101D38 EF FF 00 32 */ fmuls f31, f31, f0 -/* 80101D3C 48 00 00 14 */ b lbl_80101D50 -lbl_80101D40: -/* 80101D40 3C 60 80 39 */ lis r3, m__24daAlinkHIO_magneBoots_c0@ha /* 0x8038E7F4@ha */ -/* 80101D44 38 63 E7 F4 */ addi r3, r3, m__24daAlinkHIO_magneBoots_c0@l /* 0x8038E7F4@l */ -/* 80101D48 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 80101D4C EF FF 00 32 */ fmuls f31, f31, f0 -lbl_80101D50: -/* 80101D50 D3 FF 00 0C */ stfs f31, 0xc(r31) -/* 80101D54 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80101D58 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 80101D5C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80101D60 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80101D64 7C 08 03 A6 */ mtlr r0 -/* 80101D68 38 21 00 20 */ addi r1, r1, 0x20 -/* 80101D6C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWolfAtCollision__9daAlink_cFv.s b/asm/d/a/d_a_alink/setWolfAtCollision__9daAlink_cFv.s deleted file mode 100644 index 4832702f8b..0000000000 --- a/asm/d/a/d_a_alink/setWolfAtCollision__9daAlink_cFv.s +++ /dev/null @@ -1,137 +0,0 @@ -lbl_800AA7EC: -/* 800AA7EC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800AA7F0 7C 08 02 A6 */ mflr r0 -/* 800AA7F4 90 01 00 24 */ stw r0, 0x24(r1) -/* 800AA7F8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 800AA7FC 7C 7F 1B 78 */ mr r31, r3 -/* 800AA800 80 03 05 80 */ lwz r0, 0x580(r3) -/* 800AA804 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 800AA808 41 82 01 BC */ beq lbl_800AA9C4 -/* 800AA80C 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA810 48 02 6F DD */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AA814 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA818 40 82 00 38 */ bne lbl_800AA850 -/* 800AA81C 7F E3 FB 78 */ mr r3, r31 -/* 800AA820 38 9F 08 50 */ addi r4, r31, 0x850 -/* 800AA824 48 02 6F C9 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AA828 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA82C 40 82 00 24 */ bne lbl_800AA850 -/* 800AA830 7F E3 FB 78 */ mr r3, r31 -/* 800AA834 38 9F 09 8C */ addi r4, r31, 0x98c -/* 800AA838 48 02 6F B5 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -/* 800AA83C 2C 03 00 00 */ cmpwi r3, 0 -/* 800AA840 40 82 00 10 */ bne lbl_800AA850 -/* 800AA844 7F E3 FB 78 */ mr r3, r31 -/* 800AA848 38 9F 0A C8 */ addi r4, r31, 0xac8 -/* 800AA84C 48 02 6F A1 */ bl setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf -lbl_800AA850: -/* 800AA850 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800AA854 28 00 01 21 */ cmplwi r0, 0x121 -/* 800AA858 40 82 00 40 */ bne lbl_800AA898 -/* 800AA85C 38 7F 12 14 */ addi r3, r31, 0x1214 -/* 800AA860 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 800AA864 48 1C 49 79 */ bl SetC__8cM3dGCylFRC4cXyz -/* 800AA868 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA86C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA870 38 63 23 3C */ addi r3, r3, 0x233c -/* 800AA874 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA878 48 1B A3 31 */ bl Set__4cCcSFP8cCcD_Obj -/* 800AA87C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA880 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA884 38 63 4B 88 */ addi r3, r3, 0x4b88 -/* 800AA888 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA88C 38 A0 00 01 */ li r5, 1 -/* 800AA890 4B FD B5 09 */ bl Set__12dCcMassS_MngFP8cCcD_ObjUc -/* 800AA894 48 00 01 20 */ b lbl_800AA9B4 -lbl_800AA898: -/* 800AA898 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 800AA89C 38 83 9A 20 */ addi r4, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 800AA8A0 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 800AA8A4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800AA8A8 7C 64 02 14 */ add r3, r4, r0 -/* 800AA8AC C0 03 00 04 */ lfs f0, 4(r3) -/* 800AA8B0 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800AA8B4 C0 9F 34 38 */ lfs f4, 0x3438(r31) -/* 800AA8B8 EC 04 00 32 */ fmuls f0, f4, f0 -/* 800AA8BC EC 61 00 2A */ fadds f3, f1, f0 -/* 800AA8C0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 800AA8C4 7C 04 04 2E */ lfsx f0, r4, r0 -/* 800AA8C8 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800AA8CC EC 04 00 32 */ fmuls f0, f4, f0 -/* 800AA8D0 EC 01 00 2A */ fadds f0, f1, f0 -/* 800AA8D4 D0 01 00 08 */ stfs f0, 8(r1) -/* 800AA8D8 D0 41 00 0C */ stfs f2, 0xc(r1) -/* 800AA8DC D0 61 00 10 */ stfs f3, 0x10(r1) -/* 800AA8E0 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800AA8E4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 800AA8E8 40 82 00 94 */ bne lbl_800AA97C -/* 800AA8EC 38 7F 10 F0 */ addi r3, r31, 0x10f0 -/* 800AA8F0 38 81 00 08 */ addi r4, r1, 8 -/* 800AA8F4 4B FD A0 15 */ bl StartCAt__8dCcD_CylFR4cXyz -/* 800AA8F8 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800AA8FC 28 00 01 25 */ cmplwi r0, 0x125 -/* 800AA900 41 82 00 0C */ beq lbl_800AA90C -/* 800AA904 28 00 01 1C */ cmplwi r0, 0x11c -/* 800AA908 40 82 00 34 */ bne lbl_800AA93C -lbl_800AA90C: -/* 800AA90C 80 1F 10 54 */ lwz r0, 0x1054(r31) -/* 800AA910 60 00 08 00 */ ori r0, r0, 0x800 -/* 800AA914 90 1F 10 54 */ stw r0, 0x1054(r31) -/* 800AA918 38 60 00 00 */ li r3, 0 -/* 800AA91C 38 00 00 03 */ li r0, 3 -/* 800AA920 7C 09 03 A6 */ mtctr r0 -lbl_800AA924: -/* 800AA924 38 83 08 EC */ addi r4, r3, 0x8ec -/* 800AA928 7C 1F 20 2E */ lwzx r0, r31, r4 -/* 800AA92C 60 00 08 00 */ ori r0, r0, 0x800 -/* 800AA930 7C 1F 21 2E */ stwx r0, r31, r4 -/* 800AA934 38 63 01 3C */ addi r3, r3, 0x13c -/* 800AA938 42 00 FF EC */ bdnz lbl_800AA924 -lbl_800AA93C: -/* 800AA93C 88 1F 05 68 */ lbz r0, 0x568(r31) -/* 800AA940 28 00 00 32 */ cmplwi r0, 0x32 -/* 800AA944 41 82 00 10 */ beq lbl_800AA954 -/* 800AA948 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800AA94C 28 00 01 25 */ cmplwi r0, 0x125 -/* 800AA950 40 82 00 38 */ bne lbl_800AA988 -lbl_800AA954: -/* 800AA954 38 60 00 00 */ li r3, 0 -/* 800AA958 38 00 00 03 */ li r0, 3 -/* 800AA95C 7C 09 03 A6 */ mtctr r0 -lbl_800AA960: -/* 800AA960 38 83 08 50 */ addi r4, r3, 0x850 -/* 800AA964 7C 1F 20 2E */ lwzx r0, r31, r4 -/* 800AA968 60 00 00 01 */ ori r0, r0, 1 -/* 800AA96C 7C 1F 21 2E */ stwx r0, r31, r4 -/* 800AA970 38 63 01 3C */ addi r3, r3, 0x13c -/* 800AA974 42 00 FF EC */ bdnz lbl_800AA960 -/* 800AA978 48 00 00 10 */ b lbl_800AA988 -lbl_800AA97C: -/* 800AA97C 38 7F 10 F0 */ addi r3, r31, 0x10f0 -/* 800AA980 38 81 00 08 */ addi r4, r1, 8 -/* 800AA984 4B FD 9F D1 */ bl MoveCAt__8dCcD_CylFR4cXyz -lbl_800AA988: -/* 800AA988 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA98C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA990 38 63 23 3C */ addi r3, r3, 0x233c -/* 800AA994 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA998 48 1B A2 11 */ bl Set__4cCcSFP8cCcD_Obj -/* 800AA99C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800AA9A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800AA9A4 38 63 4B 88 */ addi r3, r3, 0x4b88 -/* 800AA9A8 38 9F 10 F0 */ addi r4, r31, 0x10f0 -/* 800AA9AC 38 A0 00 01 */ li r5, 1 -/* 800AA9B0 4B FD B3 E9 */ bl Set__12dCcMassS_MngFP8cCcD_ObjUc -lbl_800AA9B4: -/* 800AA9B4 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800AA9B8 60 00 00 40 */ ori r0, r0, 0x40 -/* 800AA9BC 90 1F 05 70 */ stw r0, 0x570(r31) -/* 800AA9C0 48 00 00 08 */ b lbl_800AA9C8 -lbl_800AA9C4: -/* 800AA9C4 4B FF FD 51 */ bl resetWolfAtCollision__9daAlink_cFv -lbl_800AA9C8: -/* 800AA9C8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800AA9CC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800AA9D0 7C 08 03 A6 */ mtlr r0 -/* 800AA9D4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800AA9D8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s b/asm/d/a/d_a_alink/setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s deleted file mode 100644 index 844571dc99..0000000000 --- a/asm/d/a/d_a_alink/setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_801395B4: -/* 801395B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801395B8 7C 08 02 A6 */ mflr r0 -/* 801395BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801395C0 FC 40 08 90 */ fmr f2, f1 -/* 801395C4 38 04 FF 8A */ addi r0, r4, -118 -/* 801395C8 30 00 FF FF */ addic r0, r0, -1 -/* 801395CC 7C 80 01 10 */ subfe r4, r0, r0 -/* 801395D0 38 84 02 BE */ addi r4, r4, 0x2be -/* 801395D4 38 A0 00 02 */ li r5, 2 -/* 801395D8 3C C0 80 39 */ lis r6, m__22daAlinkHIO_wlAtBite_c0@ha /* 0x8038F748@ha */ -/* 801395DC 38 C6 F7 48 */ addi r6, r6, m__22daAlinkHIO_wlAtBite_c0@l /* 0x8038F748@l */ -/* 801395E0 C0 26 00 2C */ lfs f1, 0x2c(r6) -/* 801395E4 38 C0 FF FF */ li r6, -1 -/* 801395E8 C0 62 92 BC */ lfs f3, lit_6041(r2) -/* 801395EC 4B F7 3D ED */ bl setUpperAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERffsf -/* 801395F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801395F4 7C 08 03 A6 */ mtlr r0 -/* 801395F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801395FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWolfHangGroundY__9daAlink_cFv.s b/asm/d/a/d_a_alink/setWolfHangGroundY__9daAlink_cFv.s deleted file mode 100644 index 061d43f3b6..0000000000 --- a/asm/d/a/d_a_alink/setWolfHangGroundY__9daAlink_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80135458: -/* 80135458 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8013545C 7C 08 02 A6 */ mflr r0 -/* 80135460 90 01 00 24 */ stw r0, 0x24(r1) -/* 80135464 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80135468 7C 7F 1B 78 */ mr r31, r3 -/* 8013546C 80 63 06 50 */ lwz r3, 0x650(r3) -/* 80135470 80 63 00 84 */ lwz r3, 0x84(r3) -/* 80135474 80 63 00 0C */ lwz r3, 0xc(r3) -/* 80135478 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8013547C D0 01 00 08 */ stfs f0, 8(r1) -/* 80135480 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 80135484 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80135488 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 8013548C D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80135490 38 7F 1D 08 */ addi r3, r31, 0x1d08 -/* 80135494 38 81 00 08 */ addi r4, r1, 8 -/* 80135498 48 13 28 91 */ bl SetPos__11cBgS_GndChkFPC4cXyz -/* 8013549C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801354A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801354A4 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 801354A8 38 9F 1D 08 */ addi r4, r31, 0x1d08 -/* 801354AC 4B F3 EF F5 */ bl GroundCross__4cBgSFP11cBgS_GndChk -/* 801354B0 D0 3F 33 D8 */ stfs f1, 0x33d8(r31) -/* 801354B4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801354B8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801354BC 7C 08 03 A6 */ mtlr r0 -/* 801354C0 38 21 00 20 */ addi r1, r1, 0x20 -/* 801354C4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWolfHeadDamage__9daAlink_cFv.s b/asm/d/a/d_a_alink/setWolfHeadDamage__9daAlink_cFv.s deleted file mode 100644 index d7e0540bcd..0000000000 --- a/asm/d/a/d_a_alink/setWolfHeadDamage__9daAlink_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80136064: -/* 80136064 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80136068 7C 08 02 A6 */ mflr r0 -/* 8013606C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80136070 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80136074 7C 7F 1B 78 */ mr r31, r3 -/* 80136078 38 80 02 A7 */ li r4, 0x2a7 -/* 8013607C 38 A0 00 02 */ li r5, 2 -/* 80136080 3C C0 80 39 */ lis r6, m__22daAlinkHIO_wlDamage_c0@ha /* 0x8038F3C4@ha */ -/* 80136084 38 C6 F3 C4 */ addi r6, r6, m__22daAlinkHIO_wlDamage_c0@l /* 0x8038F3C4@l */ -/* 80136088 4B F7 76 69 */ bl setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c -/* 8013608C 7F E3 FB 78 */ mr r3, r31 -/* 80136090 3C 80 00 02 */ lis r4, 0x0002 /* 0x00020014@ha */ -/* 80136094 38 84 00 14 */ addi r4, r4, 0x0014 /* 0x00020014@l */ -/* 80136098 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8013609C 81 8C 01 18 */ lwz r12, 0x118(r12) -/* 801360A0 7D 89 03 A6 */ mtctr r12 -/* 801360A4 4E 80 04 21 */ bctrl -/* 801360A8 7F E3 FB 78 */ mr r3, r31 -/* 801360AC 4B FA EB 29 */ bl freeGrabItem__9daAlink_cFv -/* 801360B0 7F E3 FB 78 */ mr r3, r31 -/* 801360B4 38 80 00 90 */ li r4, 0x90 -/* 801360B8 4B F7 99 F1 */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 801360BC 7F E3 FB 78 */ mr r3, r31 -/* 801360C0 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010034@ha */ -/* 801360C4 38 84 00 34 */ addi r4, r4, 0x0034 /* 0x00010034@l */ -/* 801360C8 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 801360CC 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 801360D0 7D 89 03 A6 */ mtctr r12 -/* 801360D4 4E 80 04 21 */ bctrl -/* 801360D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801360DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801360E0 7C 08 03 A6 */ mtlr r0 -/* 801360E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801360E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWolfHowlNotHappen__9daAlink_cFi.s b/asm/d/a/d_a_alink/setWolfHowlNotHappen__9daAlink_cFi.s deleted file mode 100644 index e4de5c0ccf..0000000000 --- a/asm/d/a/d_a_alink/setWolfHowlNotHappen__9daAlink_cFi.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80130654: -/* 80130654 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80130658 7C 08 02 A6 */ mflr r0 -/* 8013065C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80130660 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80130664 93 C1 00 08 */ stw r30, 8(r1) -/* 80130668 7C 7E 1B 78 */ mr r30, r3 -/* 8013066C 7C 9F 23 78 */ mr r31, r4 -/* 80130670 38 00 FF FF */ li r0, -1 -/* 80130674 90 03 28 F0 */ stw r0, 0x28f0(r3) -/* 80130678 80 03 31 98 */ lwz r0, 0x3198(r3) -/* 8013067C 2C 00 00 EE */ cmpwi r0, 0xee -/* 80130680 40 82 00 10 */ bne lbl_80130690 -/* 80130684 38 00 05 32 */ li r0, 0x532 -/* 80130688 90 1E 32 CC */ stw r0, 0x32cc(r30) -/* 8013068C 48 00 00 0C */ b lbl_80130698 -lbl_80130690: -/* 80130690 38 00 05 35 */ li r0, 0x535 -/* 80130694 90 1E 32 CC */ stw r0, 0x32cc(r30) -lbl_80130698: -/* 80130698 38 00 00 00 */ li r0, 0 -/* 8013069C B0 1E 30 0C */ sth r0, 0x300c(r30) -/* 801306A0 7F C3 F3 78 */ mr r3, r30 -/* 801306A4 38 80 00 5F */ li r4, 0x5f -/* 801306A8 4B FF 81 65 */ bl checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM -/* 801306AC 2C 03 00 00 */ cmpwi r3, 0 -/* 801306B0 40 82 00 38 */ bne lbl_801306E8 -/* 801306B4 2C 1F 00 00 */ cmpwi r31, 0 -/* 801306B8 41 82 00 24 */ beq lbl_801306DC -/* 801306BC 7F C3 F3 78 */ mr r3, r30 -/* 801306C0 38 80 00 0E */ li r4, 0xe -/* 801306C4 3C A0 80 39 */ lis r5, m__19daAlinkHIO_wlLie_c0@ha /* 0x8038F138@ha */ -/* 801306C8 38 A5 F1 38 */ addi r5, r5, m__19daAlinkHIO_wlLie_c0@l /* 0x8038F138@l */ -/* 801306CC C0 25 00 44 */ lfs f1, 0x44(r5) -/* 801306D0 C0 45 00 48 */ lfs f2, 0x48(r5) -/* 801306D4 4B FF 90 05 */ bl setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff -/* 801306D8 48 00 00 10 */ b lbl_801306E8 -lbl_801306DC: -/* 801306DC 7F C3 F3 78 */ mr r3, r30 -/* 801306E0 38 80 00 80 */ li r4, 0x80 -/* 801306E4 4B FF 8F 95 */ bl setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM -lbl_801306E8: -/* 801306E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801306EC 83 C1 00 08 */ lwz r30, 8(r1) -/* 801306F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801306F4 7C 08 03 A6 */ mtlr r0 -/* 801306F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801306FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWolfLieMoveVoice__9daAlink_cFi.s b/asm/d/a/d_a_alink/setWolfLieMoveVoice__9daAlink_cFi.s deleted file mode 100644 index d10ded56cc..0000000000 --- a/asm/d/a/d_a_alink/setWolfLieMoveVoice__9daAlink_cFi.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_80137330: -/* 80137330 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80137334 7C 08 02 A6 */ mflr r0 -/* 80137338 90 01 00 14 */ stw r0, 0x14(r1) -/* 8013733C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80137340 93 C1 00 08 */ stw r30, 8(r1) -/* 80137344 7C 7E 1B 78 */ mr r30, r3 -/* 80137348 3B FE 1F D0 */ addi r31, r30, 0x1fd0 -/* 8013734C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80137350 C0 03 1F DC */ lfs f0, 0x1fdc(r3) -/* 80137354 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 80137358 40 82 00 18 */ bne lbl_80137370 -/* 8013735C A8 7E 30 12 */ lha r3, 0x3012(r30) -/* 80137360 2C 03 00 00 */ cmpwi r3, 0 -/* 80137364 41 82 00 0C */ beq lbl_80137370 -/* 80137368 38 03 FF FF */ addi r0, r3, -1 -/* 8013736C B0 1E 30 12 */ sth r0, 0x3012(r30) -lbl_80137370: -/* 80137370 2C 04 00 00 */ cmpwi r4, 0 -/* 80137374 41 82 00 2C */ beq lbl_801373A0 -/* 80137378 7F E3 FB 78 */ mr r3, r31 -/* 8013737C C0 22 94 B4 */ lfs f1, lit_17382(r2) -/* 80137380 48 1F 10 AD */ bl checkPass__12J3DFrameCtrlFf -/* 80137384 2C 03 00 00 */ cmpwi r3, 0 -/* 80137388 40 82 00 34 */ bne lbl_801373BC -/* 8013738C 7F E3 FB 78 */ mr r3, r31 -/* 80137390 C0 22 93 28 */ lfs f1, lit_7451(r2) -/* 80137394 48 1F 10 99 */ bl checkPass__12J3DFrameCtrlFf -/* 80137398 2C 03 00 00 */ cmpwi r3, 0 -/* 8013739C 40 82 00 20 */ bne lbl_801373BC -lbl_801373A0: -/* 801373A0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 801373A4 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 801373A8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 801373AC 40 82 00 34 */ bne lbl_801373E0 -/* 801373B0 A8 1E 30 12 */ lha r0, 0x3012(r30) -/* 801373B4 2C 00 00 00 */ cmpwi r0, 0 -/* 801373B8 40 82 00 28 */ bne lbl_801373E0 -lbl_801373BC: -/* 801373BC 7F C3 F3 78 */ mr r3, r30 -/* 801373C0 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010031@ha */ -/* 801373C4 38 84 00 31 */ addi r4, r4, 0x0031 /* 0x00010031@l */ -/* 801373C8 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 801373CC 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 801373D0 7D 89 03 A6 */ mtctr r12 -/* 801373D4 4E 80 04 21 */ bctrl -/* 801373D8 38 00 00 1E */ li r0, 0x1e -/* 801373DC B0 1E 30 12 */ sth r0, 0x3012(r30) -lbl_801373E0: -/* 801373E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801373E4 83 C1 00 08 */ lwz r30, 8(r1) -/* 801373E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801373EC 7C 08 03 A6 */ mtlr r0 -/* 801373F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801373F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWoodShieldBurnEffect__9daAlink_cFv.s b/asm/d/a/d_a_alink/setWoodShieldBurnEffect__9daAlink_cFv.s deleted file mode 100644 index 771d275b74..0000000000 --- a/asm/d/a/d_a_alink/setWoodShieldBurnEffect__9daAlink_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80125524: -/* 80125524 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80125528 7C 08 02 A6 */ mflr r0 -/* 8012552C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80125530 39 61 00 20 */ addi r11, r1, 0x20 -/* 80125534 48 23 CC A1 */ bl _savegpr_27 -/* 80125538 7C 7B 1B 78 */ mr r27, r3 -/* 8012553C 88 03 2F CB */ lbz r0, 0x2fcb(r3) -/* 80125540 28 00 00 00 */ cmplwi r0, 0 -/* 80125544 41 82 00 60 */ beq lbl_801255A4 -/* 80125548 3B 80 00 00 */ li r28, 0 -/* 8012554C 3B E0 00 00 */ li r31, 0 -/* 80125550 3B C0 00 00 */ li r30, 0 -/* 80125554 3B A2 97 10 */ la r29, effName_42309(r2) /* 80453110-_SDA2_BASE_ */ -lbl_80125558: -/* 80125558 7F 63 DB 78 */ mr r3, r27 -/* 8012555C 38 9E 32 60 */ addi r4, r30, 0x3260 -/* 80125560 7C 9B 22 14 */ add r4, r27, r4 -/* 80125564 7C BD FA 2E */ lhzx r5, r29, r31 -/* 80125568 38 DB 04 D0 */ addi r6, r27, 0x4d0 -/* 8012556C 38 E0 00 00 */ li r7, 0 -/* 80125570 4B FF B0 11 */ bl setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz -/* 80125574 7C 65 1B 79 */ or. r5, r3, r3 -/* 80125578 41 82 00 18 */ beq lbl_80125590 -/* 8012557C 80 7B 06 78 */ lwz r3, 0x678(r27) -/* 80125580 38 63 00 24 */ addi r3, r3, 0x24 -/* 80125584 38 85 00 68 */ addi r4, r5, 0x68 -/* 80125588 38 A5 00 A4 */ addi r5, r5, 0xa4 -/* 8012558C 48 15 B2 55 */ bl func_802807E0 -lbl_80125590: -/* 80125590 3B 9C 00 01 */ addi r28, r28, 1 -/* 80125594 2C 1C 00 02 */ cmpwi r28, 2 -/* 80125598 3B FF 00 02 */ addi r31, r31, 2 -/* 8012559C 3B DE 00 04 */ addi r30, r30, 4 -/* 801255A0 41 80 FF B8 */ blt lbl_80125558 -lbl_801255A4: -/* 801255A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 801255A8 48 23 CC 79 */ bl _restgpr_27 -/* 801255AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801255B0 7C 08 03 A6 */ mtlr r0 -/* 801255B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 801255B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/setWoodShieldBurnOutEffect__9daAlink_cFv.s b/asm/d/a/d_a_alink/setWoodShieldBurnOutEffect__9daAlink_cFv.s deleted file mode 100644 index 56c1f6b898..0000000000 --- a/asm/d/a/d_a_alink/setWoodShieldBurnOutEffect__9daAlink_cFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_80125628: -/* 80125628 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8012562C 7C 08 02 A6 */ mflr r0 -/* 80125630 90 01 00 34 */ stw r0, 0x34(r1) -/* 80125634 39 61 00 30 */ addi r11, r1, 0x30 -/* 80125638 48 23 CB A1 */ bl _savegpr_28 -/* 8012563C 7C 7C 1B 78 */ mr r28, r3 -/* 80125640 3B A0 00 00 */ li r29, 0 -/* 80125644 3B E0 00 00 */ li r31, 0 -/* 80125648 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8012564C 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_80125650: -/* 80125650 80 7E 5D 3C */ lwz r3, 0x5d3c(r30) -/* 80125654 38 80 00 00 */ li r4, 0 -/* 80125658 90 81 00 08 */ stw r4, 8(r1) -/* 8012565C 38 00 FF FF */ li r0, -1 -/* 80125660 90 01 00 0C */ stw r0, 0xc(r1) -/* 80125664 90 81 00 10 */ stw r4, 0x10(r1) -/* 80125668 90 81 00 14 */ stw r4, 0x14(r1) -/* 8012566C 90 81 00 18 */ stw r4, 0x18(r1) -/* 80125670 38 80 00 00 */ li r4, 0 -/* 80125674 38 A2 97 14 */ la r5, effName_42340(r2) /* 80453114-_SDA2_BASE_ */ -/* 80125678 7C A5 FA 2E */ lhzx r5, r5, r31 -/* 8012567C 38 DC 04 D0 */ addi r6, r28, 0x4d0 -/* 80125680 38 FC 01 0C */ addi r7, r28, 0x10c -/* 80125684 39 00 00 00 */ li r8, 0 -/* 80125688 39 20 00 00 */ li r9, 0 -/* 8012568C 39 40 00 FF */ li r10, 0xff -/* 80125690 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 80125694 4B F2 73 FD */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 80125698 7C 65 1B 79 */ or. r5, r3, r3 -/* 8012569C 41 82 00 18 */ beq lbl_801256B4 -/* 801256A0 80 7C 06 78 */ lwz r3, 0x678(r28) -/* 801256A4 38 63 00 24 */ addi r3, r3, 0x24 -/* 801256A8 38 85 00 68 */ addi r4, r5, 0x68 -/* 801256AC 38 A5 00 A4 */ addi r5, r5, 0xa4 -/* 801256B0 48 15 B1 31 */ bl func_802807E0 -lbl_801256B4: -/* 801256B4 3B BD 00 01 */ addi r29, r29, 1 -/* 801256B8 2C 1D 00 02 */ cmpwi r29, 2 -/* 801256BC 3B FF 00 02 */ addi r31, r31, 2 -/* 801256C0 41 80 FF 90 */ blt lbl_80125650 -/* 801256C4 38 00 00 01 */ li r0, 1 -/* 801256C8 98 1C 2F CB */ stb r0, 0x2fcb(r28) -/* 801256CC 7F 83 E3 78 */ mr r3, r28 -/* 801256D0 4B FF FE ED */ bl clearWoodShieldBurnEffect__9daAlink_cFv -/* 801256D4 39 61 00 30 */ addi r11, r1, 0x30 -/* 801256D8 48 23 CB 4D */ bl _restgpr_28 -/* 801256DC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 801256E0 7C 08 03 A6 */ mtlr r0 -/* 801256E4 38 21 00 30 */ addi r1, r1, 0x30 -/* 801256E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/startPeepChange__9daAlink_cFv.s b/asm/d/a/d_a_alink/startPeepChange__9daAlink_cFv.s deleted file mode 100644 index fab919357c..0000000000 --- a/asm/d/a/d_a_alink/startPeepChange__9daAlink_cFv.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_800BDD70: -/* 800BDD70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BDD74 7C 08 02 A6 */ mflr r0 -/* 800BDD78 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BDD7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800BDD80 93 C1 00 08 */ stw r30, 8(r1) -/* 800BDD84 7C 7E 1B 78 */ mr r30, r3 -/* 800BDD88 80 03 05 70 */ lwz r0, 0x570(r3) -/* 800BDD8C 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 -/* 800BDD90 40 82 00 74 */ bne lbl_800BDE04 -/* 800BDD94 80 1E 05 70 */ lwz r0, 0x570(r30) -/* 800BDD98 60 00 40 00 */ ori r0, r0, 0x4000 -/* 800BDD9C 90 1E 05 70 */ stw r0, 0x570(r30) -/* 800BDDA0 A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 800BDDA4 28 00 01 40 */ cmplwi r0, 0x140 -/* 800BDDA8 40 82 00 0C */ bne lbl_800BDDB4 -/* 800BDDAC 3B E0 00 07 */ li r31, 7 -/* 800BDDB0 48 00 00 2C */ b lbl_800BDDDC -lbl_800BDDB4: -/* 800BDDB4 3B E0 00 06 */ li r31, 6 -/* 800BDDB8 80 FE 00 B0 */ lwz r7, 0xb0(r30) -/* 800BDDBC 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 800BDDC0 7C 06 07 74 */ extsb r6, r0 -/* 800BDDC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800BDDC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800BDDCC 38 63 0E D8 */ addi r3, r3, 0xed8 -/* 800BDDD0 38 9E 04 D0 */ addi r4, r30, 0x4d0 -/* 800BDDD4 A8 BE 04 E6 */ lha r5, 0x4e6(r30) -/* 800BDDD8 4B F7 71 CD */ bl set__17dSv_turnRestart_cFRC4cXyzsScUl -lbl_800BDDDC: -/* 800BDDDC 88 7E 2F AD */ lbz r3, 0x2fad(r30) -/* 800BDDE0 C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800BDDE4 7F E4 FB 78 */ mr r4, r31 -/* 800BDDE8 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 800BDDEC 7C 05 07 74 */ extsb r5, r0 -/* 800BDDF0 A8 DE 04 E6 */ lha r6, 0x4e6(r30) -/* 800BDDF4 38 E0 FF FF */ li r7, -1 -/* 800BDDF8 4B F6 93 79 */ bl dStage_changeScene__FifUlScsi -/* 800BDDFC 38 60 00 01 */ li r3, 1 -/* 800BDE00 48 00 00 08 */ b lbl_800BDE08 -lbl_800BDE04: -/* 800BDE04 38 60 00 00 */ li r3, 0 -lbl_800BDE08: -/* 800BDE08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800BDE0C 83 C1 00 08 */ lwz r30, 8(r1) -/* 800BDE10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BDE14 7C 08 03 A6 */ mtlr r0 -/* 800BDE18 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BDE1C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/stopDrawParticle__9daAlink_cFUl.s b/asm/d/a/d_a_alink/stopDrawParticle__9daAlink_cFUl.s deleted file mode 100644 index 30d971aa63..0000000000 --- a/asm/d/a/d_a_alink/stopDrawParticle__9daAlink_cFUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80120778: -/* 80120778 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8012077C 7C 08 02 A6 */ mflr r0 -/* 80120780 90 01 00 14 */ stw r0, 0x14(r1) -/* 80120784 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80120788 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8012078C 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 80120790 38 63 02 10 */ addi r3, r3, 0x210 -/* 80120794 4B F2 B1 85 */ bl getEmitter__Q213dPa_control_c7level_cFUl -/* 80120798 28 03 00 00 */ cmplwi r3, 0 -/* 8012079C 41 82 00 10 */ beq lbl_801207AC -/* 801207A0 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 801207A4 60 00 00 04 */ ori r0, r0, 4 -/* 801207A8 90 03 00 F4 */ stw r0, 0xf4(r3) -lbl_801207AC: -/* 801207AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801207B0 7C 08 03 A6 */ mtlr r0 -/* 801207B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 801207B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/subjectCancelTrigger__9daAlink_cFv.s b/asm/d/a/d_a_alink/subjectCancelTrigger__9daAlink_cFv.s deleted file mode 100644 index 336017f1a1..0000000000 --- a/asm/d/a/d_a_alink/subjectCancelTrigger__9daAlink_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_800CEB58: -/* 800CEB58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800CEB5C 7C 08 02 A6 */ mflr r0 -/* 800CEB60 90 01 00 14 */ stw r0, 0x14(r1) -/* 800CEB64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800CEB68 7C 7F 1B 78 */ mr r31, r3 -/* 800CEB6C 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800CEB70 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800CEB74 40 82 00 3C */ bne lbl_800CEBB0 -/* 800CEB78 4B FF 1A 1D */ bl checkNotBattleStage__9daAlink_cFv -/* 800CEB7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800CEB80 40 82 00 30 */ bne lbl_800CEBB0 -/* 800CEB84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800CEB88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800CEB8C 88 03 00 14 */ lbz r0, 0x14(r3) -/* 800CEB90 28 00 00 FF */ cmplwi r0, 0xff -/* 800CEB94 41 82 00 1C */ beq lbl_800CEBB0 -/* 800CEB98 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800CEB9C 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 800CEBA0 41 82 00 20 */ beq lbl_800CEBC0 -/* 800CEBA4 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 800CEBA8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800CEBAC 40 82 00 14 */ bne lbl_800CEBC0 -lbl_800CEBB0: -/* 800CEBB0 7F E3 FB 78 */ mr r3, r31 -/* 800CEBB4 38 80 00 08 */ li r4, 8 -/* 800CEBB8 4B FE 3A 15 */ bl itemTriggerCheck__9daAlink_cFUc -/* 800CEBBC 48 00 00 08 */ b lbl_800CEBC4 -lbl_800CEBC0: -/* 800CEBC0 38 60 00 00 */ li r3, 0 -lbl_800CEBC4: -/* 800CEBC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800CEBC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800CEBCC 7C 08 03 A6 */ mtlr r0 -/* 800CEBD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800CEBD4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/swimDeleteItem__9daAlink_cFv.s b/asm/d/a/d_a_alink/swimDeleteItem__9daAlink_cFv.s deleted file mode 100644 index be2ae4fc75..0000000000 --- a/asm/d/a/d_a_alink/swimDeleteItem__9daAlink_cFv.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_80101934: -/* 80101934 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80101938 7C 08 02 A6 */ mflr r0 -/* 8010193C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80101940 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80101944 7C 7F 1B 78 */ mr r31, r3 -/* 80101948 A0 63 2F DC */ lhz r3, 0x2fdc(r3) -/* 8010194C 48 05 D2 6D */ bl checkHookshotItem__9daPy_py_cFi -/* 80101950 2C 03 00 00 */ cmpwi r3, 0 -/* 80101954 40 82 00 3C */ bne lbl_80101990 -/* 80101958 A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 8010195C 28 00 01 03 */ cmplwi r0, 0x103 -/* 80101960 40 82 00 20 */ bne lbl_80101980 -/* 80101964 7F E3 FB 78 */ mr r3, r31 -/* 80101968 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8010196C 81 8C 02 80 */ lwz r12, 0x280(r12) -/* 80101970 7D 89 03 A6 */ mtctr r12 -/* 80101974 4E 80 04 21 */ bctrl -/* 80101978 2C 03 00 00 */ cmpwi r3, 0 -/* 8010197C 40 82 00 14 */ bne lbl_80101990 -lbl_80101980: -/* 80101980 7F E3 FB 78 */ mr r3, r31 -/* 80101984 38 80 00 01 */ li r4, 1 -/* 80101988 38 A0 00 01 */ li r5, 1 -/* 8010198C 4B FB F9 51 */ bl deleteEquipItem__9daAlink_cFii -lbl_80101990: -/* 80101990 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 80101994 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80101998 41 82 00 0C */ beq lbl_801019A4 -/* 8010199C 7F E3 FB 78 */ mr r3, r31 -/* 801019A0 48 00 EE A1 */ bl offKandelaarModel__9daAlink_cFv -lbl_801019A4: -/* 801019A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801019A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801019AC 7C 08 03 A6 */ mtlr r0 -/* 801019B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 801019B4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/swordUnequip__9daAlink_cFv.s b/asm/d/a/d_a_alink/swordUnequip__9daAlink_cFv.s deleted file mode 100644 index 0726145f52..0000000000 --- a/asm/d/a/d_a_alink/swordUnequip__9daAlink_cFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_800B9580: -/* 800B9580 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800B9584 7C 08 02 A6 */ mflr r0 -/* 800B9588 90 01 00 14 */ stw r0, 0x14(r1) -/* 800B958C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800B9590 7C 7F 1B 78 */ mr r31, r3 -/* 800B9594 48 00 02 59 */ bl checkFastUnequip__9daAlink_cFv -/* 800B9598 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800B959C 41 82 00 14 */ beq lbl_800B95B0 -/* 800B95A0 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800B95A4 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800B95A8 C0 23 00 8C */ lfs f1, 0x8c(r3) -/* 800B95AC 48 00 00 10 */ b lbl_800B95BC -lbl_800B95B0: -/* 800B95B0 3C 60 80 39 */ lis r3, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800B95B4 38 63 DE 8C */ addi r3, r3, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800B95B8 C0 23 00 18 */ lfs f1, 0x18(r3) -lbl_800B95BC: -/* 800B95BC 38 00 00 00 */ li r0, 0 -/* 800B95C0 88 7F 2F AA */ lbz r3, 0x2faa(r31) -/* 800B95C4 28 03 00 01 */ cmplwi r3, 1 -/* 800B95C8 41 82 00 0C */ beq lbl_800B95D4 -/* 800B95CC 28 03 00 02 */ cmplwi r3, 2 -/* 800B95D0 40 82 00 08 */ bne lbl_800B95D8 -lbl_800B95D4: -/* 800B95D4 38 00 00 01 */ li r0, 1 -lbl_800B95D8: -/* 800B95D8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 800B95DC 38 80 02 55 */ li r4, 0x255 -/* 800B95E0 41 82 00 08 */ beq lbl_800B95E8 -/* 800B95E4 38 80 02 61 */ li r4, 0x261 -lbl_800B95E8: -/* 800B95E8 7F E3 FB 78 */ mr r3, r31 -/* 800B95EC 38 A0 00 02 */ li r5, 2 -/* 800B95F0 3C C0 80 39 */ lis r6, m__17daAlinkHIO_cut_c0@ha /* 0x8038DE8C@ha */ -/* 800B95F4 38 E6 DE 8C */ addi r7, r6, m__17daAlinkHIO_cut_c0@l /* 0x8038DE8C@l */ -/* 800B95F8 C0 47 00 1C */ lfs f2, 0x1c(r7) -/* 800B95FC A8 C7 00 14 */ lha r6, 0x14(r7) -/* 800B9600 C0 67 00 20 */ lfs f3, 0x20(r7) -/* 800B9604 4B FF 3D D5 */ bl setUpperAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERffsf -/* 800B9608 7F E3 FB 78 */ mr r3, r31 -/* 800B960C 38 80 00 2D */ li r4, 0x2d -/* 800B9610 4B FF 64 99 */ bl setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM -/* 800B9614 7F E3 FB 78 */ mr r3, r31 -/* 800B9618 38 80 01 5E */ li r4, 0x15e -/* 800B961C 38 A0 00 01 */ li r5, 1 -/* 800B9620 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 800B9624 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 800B9628 4B FF 5E 89 */ bl setFaceBck__9daAlink_cFUsiUs -/* 800B962C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800B9630 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800B9634 7C 08 03 A6 */ mtlr r0 -/* 800B9638 38 21 00 10 */ addi r1, r1, 0x10 -/* 800B963C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s b/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s deleted file mode 100644 index dc8922a68d..0000000000 --- a/asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s +++ /dev/null @@ -1,141 +0,0 @@ -lbl_800E06B8: -/* 800E06B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800E06BC 7C 08 02 A6 */ mflr r0 -/* 800E06C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800E06C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E06C8 48 28 1B 15 */ bl _savegpr_29 -/* 800E06CC 7C 7D 1B 78 */ mr r29, r3 -/* 800E06D0 83 E3 28 28 */ lwz r31, 0x2828(r3) -/* 800E06D4 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800E06D8 60 00 00 02 */ ori r0, r0, 2 -/* 800E06DC 90 03 05 74 */ stw r0, 0x574(r3) -/* 800E06E0 A8 1F 00 08 */ lha r0, 8(r31) -/* 800E06E4 20 00 00 FE */ subfic r0, r0, 0xfe -/* 800E06E8 7C 00 00 34 */ cntlzw r0, r0 -/* 800E06EC 54 1E DE 3F */ rlwinm. r30, r0, 0x1b, 0x18, 0x1f -/* 800E06F0 41 82 00 94 */ beq lbl_800E0784 -/* 800E06F4 38 00 00 01 */ li r0, 1 -/* 800E06F8 90 1F 00 B0 */ stw r0, 0xb0(r31) -/* 800E06FC A8 7D 04 E6 */ lha r3, 0x4e6(r29) -/* 800E0700 A8 1D 05 9E */ lha r0, 0x59e(r29) -/* 800E0704 7C 03 02 14 */ add r0, r3, r0 -/* 800E0708 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800E070C A8 1D 05 9C */ lha r0, 0x59c(r29) -/* 800E0710 7C 00 00 D0 */ neg r0, r0 -/* 800E0714 B0 1F 04 DC */ sth r0, 0x4dc(r31) -/* 800E0718 80 9D 27 EC */ lwz r4, 0x27ec(r29) -/* 800E071C 28 04 00 00 */ cmplwi r4, 0 -/* 800E0720 41 82 00 14 */ beq lbl_800E0734 -/* 800E0724 7F E3 FB 78 */ mr r3, r31 -/* 800E0728 39 9F 0D CC */ addi r12, r31, 0xdcc -/* 800E072C 48 28 19 59 */ bl __ptmf_scall -/* 800E0730 60 00 00 00 */ nop -lbl_800E0734: -/* 800E0734 A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800E0738 B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 800E073C 80 1D 28 24 */ lwz r0, 0x2824(r29) -/* 800E0740 90 1D 28 34 */ stw r0, 0x2834(r29) -/* 800E0744 80 1D 28 28 */ lwz r0, 0x2828(r29) -/* 800E0748 90 1D 28 38 */ stw r0, 0x2838(r29) -/* 800E074C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800E0750 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800E0754 80 04 5F 18 */ lwz r0, 0x5f18(r4) -/* 800E0758 64 03 00 40 */ oris r3, r0, 0x40 -/* 800E075C 90 64 5F 18 */ stw r3, 0x5f18(r4) -/* 800E0760 38 00 40 00 */ li r0, 0x4000 -/* 800E0764 B0 0D 8A 9C */ sth r0, m_dropAngleY__20daPy_boomerangMove_c+0x0(r13) -/* 800E0768 54 60 03 56 */ rlwinm r0, r3, 0, 0xd, 0xb -/* 800E076C 90 04 5F 18 */ stw r0, 0x5f18(r4) -/* 800E0770 38 00 FF FF */ li r0, -1 -/* 800E0774 B0 1D 30 8E */ sth r0, 0x308e(r29) -/* 800E0778 38 00 00 00 */ li r0, 0 -/* 800E077C B0 0D 8A 9E */ sth r0, m_dropAngleY__20daPy_boomerangMove_c+0x2(r13) -/* 800E0780 48 00 00 44 */ b lbl_800E07C4 -lbl_800E0784: -/* 800E0784 3C 60 80 39 */ lis r3, m__20daAlinkHIO_pickUp_c0@ha /* 0x8038E840@ha */ -/* 800E0788 38 63 E8 40 */ addi r3, r3, m__20daAlinkHIO_pickUp_c0@l /* 0x8038E840@l */ -/* 800E078C C0 03 00 28 */ lfs f0, 0x28(r3) -/* 800E0790 D0 1F 05 2C */ stfs f0, 0x52c(r31) -/* 800E0794 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 800E0798 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 800E079C A8 1D 04 E6 */ lha r0, 0x4e6(r29) -/* 800E07A0 B0 1F 04 DE */ sth r0, 0x4de(r31) -/* 800E07A4 7F E3 FB 78 */ mr r3, r31 -/* 800E07A8 4B F3 C3 F9 */ bl fopAcM_cancelCarryNow__FP10fopAc_ac_c -/* 800E07AC 3B E0 00 00 */ li r31, 0 -/* 800E07B0 38 00 00 FF */ li r0, 0xff -/* 800E07B4 B0 1D 2F DC */ sth r0, 0x2fdc(r29) -/* 800E07B8 98 1D 2F 94 */ stb r0, 0x2f94(r29) -/* 800E07BC 38 00 00 FE */ li r0, 0xfe -/* 800E07C0 98 1D 2F 96 */ stb r0, 0x2f96(r29) -lbl_800E07C4: -/* 800E07C4 38 7D 28 24 */ addi r3, r29, 0x2824 -/* 800E07C8 48 07 E5 35 */ bl clearData__16daPy_actorKeep_cFv -/* 800E07CC 38 00 00 FF */ li r0, 0xff -/* 800E07D0 B0 1D 2F DC */ sth r0, 0x2fdc(r29) -/* 800E07D4 98 1D 2F 94 */ stb r0, 0x2f94(r29) -/* 800E07D8 38 00 00 FE */ li r0, 0xfe -/* 800E07DC 98 1D 2F 96 */ stb r0, 0x2f96(r29) -/* 800E07E0 7F A3 EB 78 */ mr r3, r29 -/* 800E07E4 3C 80 00 01 */ lis r4, 1 -/* 800E07E8 81 9D 06 28 */ lwz r12, 0x628(r29) -/* 800E07EC 81 8C 01 14 */ lwz r12, 0x114(r12) -/* 800E07F0 7D 89 03 A6 */ mtctr r12 -/* 800E07F4 4E 80 04 21 */ bctrl -/* 800E07F8 80 1D 31 A0 */ lwz r0, 0x31a0(r29) -/* 800E07FC 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800E0800 41 82 00 3C */ beq lbl_800E083C -/* 800E0804 7F A3 EB 78 */ mr r3, r29 -/* 800E0808 81 9D 06 28 */ lwz r12, 0x628(r29) -/* 800E080C 81 8C 01 90 */ lwz r12, 0x190(r12) -/* 800E0810 7D 89 03 A6 */ mtctr r12 -/* 800E0814 4E 80 04 21 */ bctrl -/* 800E0818 28 03 00 00 */ cmplwi r3, 0 -/* 800E081C 41 82 00 14 */ beq lbl_800E0830 -/* 800E0820 7F A3 EB 78 */ mr r3, r29 -/* 800E0824 38 80 00 00 */ li r4, 0 -/* 800E0828 48 01 49 BD */ bl procCanoeWaitInit__9daAlink_cFi -/* 800E082C 48 00 00 80 */ b lbl_800E08AC -lbl_800E0830: -/* 800E0830 7F A3 EB 78 */ mr r3, r29 -/* 800E0834 48 01 01 4D */ bl procHorseWaitInit__9daAlink_cFv -/* 800E0838 48 00 00 74 */ b lbl_800E08AC -lbl_800E083C: -/* 800E083C 80 1D 19 9C */ lwz r0, 0x199c(r29) -/* 800E0840 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a -/* 800E0844 41 82 00 68 */ beq lbl_800E08AC -/* 800E0848 2C 1E 00 00 */ cmpwi r30, 0 -/* 800E084C 41 82 00 60 */ beq lbl_800E08AC -/* 800E0850 80 1D 27 EC */ lwz r0, 0x27ec(r29) -/* 800E0854 28 00 00 00 */ cmplwi r0, 0 -/* 800E0858 40 82 00 14 */ bne lbl_800E086C -/* 800E085C 28 1F 00 00 */ cmplwi r31, 0 -/* 800E0860 41 82 00 0C */ beq lbl_800E086C -/* 800E0864 93 FD 27 EC */ stw r31, 0x27ec(r29) -/* 800E0868 93 FD 27 F4 */ stw r31, 0x27f4(r29) -lbl_800E086C: -/* 800E086C 7F A3 EB 78 */ mr r3, r29 -/* 800E0870 4B FD 30 95 */ bl checkZeroSpeedF__9daAlink_cCFv -/* 800E0874 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800E0878 41 82 00 18 */ beq lbl_800E0890 -/* 800E087C 38 00 00 03 */ li r0, 3 -/* 800E0880 98 1D 2F 98 */ stb r0, 0x2f98(r29) -/* 800E0884 7F A3 EB 78 */ mr r3, r29 -/* 800E0888 4B FE 30 45 */ bl procAtnActorWaitInit__9daAlink_cFv -/* 800E088C 48 00 00 0C */ b lbl_800E0898 -lbl_800E0890: -/* 800E0890 7F A3 EB 78 */ mr r3, r29 -/* 800E0894 4B FE 31 59 */ bl procAtnActorMoveInit__9daAlink_cFv -lbl_800E0898: -/* 800E0898 80 7D 20 60 */ lwz r3, 0x2060(r29) -/* 800E089C C0 22 92 C0 */ lfs f1, lit_6108(r2) -/* 800E08A0 38 80 00 00 */ li r4, 0 -/* 800E08A4 38 A0 00 23 */ li r5, 0x23 -/* 800E08A8 4B F2 EF A1 */ bl initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs -lbl_800E08AC: -/* 800E08AC 39 61 00 20 */ addi r11, r1, 0x20 -/* 800E08B0 48 28 19 79 */ bl _restgpr_29 -/* 800E08B4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800E08B8 7C 08 03 A6 */ mtlr r0 -/* 800E08BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 800E08C0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/voiceStartLevel__9daAlink_cFUl.s b/asm/d/a/d_a_alink/voiceStartLevel__9daAlink_cFUl.s deleted file mode 100644 index 2a8d822d6d..0000000000 --- a/asm/d/a/d_a_alink/voiceStartLevel__9daAlink_cFUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_800BF0B8: -/* 800BF0B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF0BC 7C 08 02 A6 */ mflr r0 -/* 800BF0C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF0C4 7C 65 1B 78 */ mr r5, r3 -/* 800BF0C8 90 81 00 08 */ stw r4, 8(r1) -/* 800BF0CC 38 65 2C A8 */ addi r3, r5, 0x2ca8 -/* 800BF0D0 38 81 00 08 */ addi r4, r1, 8 -/* 800BF0D4 88 A5 2F 9A */ lbz r5, 0x2f9a(r5) -/* 800BF0D8 48 20 54 D9 */ bl startLinkVoiceLevel__14Z2CreatureLinkF10JAISoundIDSc -/* 800BF0DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF0E0 7C 08 03 A6 */ mtlr r0 -/* 800BF0E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF0E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s b/asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s deleted file mode 100644 index 1df0ccccd8..0000000000 --- a/asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_800BF084: -/* 800BF084 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800BF088 7C 08 02 A6 */ mflr r0 -/* 800BF08C 90 01 00 14 */ stw r0, 0x14(r1) -/* 800BF090 7C 65 1B 78 */ mr r5, r3 -/* 800BF094 90 81 00 08 */ stw r4, 8(r1) -/* 800BF098 38 65 2C A8 */ addi r3, r5, 0x2ca8 -/* 800BF09C 38 81 00 08 */ addi r4, r1, 8 -/* 800BF0A0 88 A5 2F 9A */ lbz r5, 0x2f9a(r5) -/* 800BF0A4 48 20 52 7D */ bl startLinkVoice__14Z2CreatureLinkF10JAISoundIDSc -/* 800BF0A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800BF0AC 7C 08 03 A6 */ mtlr r0 -/* 800BF0B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800BF0B4 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s b/asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s deleted file mode 100644 index 0274fe1654..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8002FC98: -/* 8002FC98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002FC9C 7C 08 02 A6 */ mflr r0 -/* 8002FCA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002FCA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8002FCA8 7C 7F 1B 78 */ mr r31, r3 -/* 8002FCAC 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8002FCB0 7C 00 07 74 */ extsb r0, r0 -/* 8002FCB4 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002FCB8 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002FCBC 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8002FCC0 7C 63 02 14 */ add r3, r3, r0 -/* 8002FCC4 80 83 00 20 */ lwz r4, 0x20(r3) -/* 8002FCC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002FCCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002FCD0 88 84 00 13 */ lbz r4, 0x13(r4) -/* 8002FCD4 48 00 53 D5 */ bl getSave2__10dSv_save_cFi -/* 8002FCD8 7F E4 FB 78 */ mr r4, r31 -/* 8002FCDC 48 00 4E 11 */ bl isVisitedRoom__13dSv_memory2_cFi -/* 8002FCE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8002FCE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002FCE8 7C 08 03 A6 */ mtlr r0 -/* 8002FCEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002FCF0 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGs_offVisitedRoom__Fi.s b/asm/d/com/d_com_inf_game/dComIfGs_offVisitedRoom__Fi.s deleted file mode 100644 index 8e256c7a2f..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGs_offVisitedRoom__Fi.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8002FC3C: -/* 8002FC3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8002FC40 7C 08 02 A6 */ mflr r0 -/* 8002FC44 90 01 00 14 */ stw r0, 0x14(r1) -/* 8002FC48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8002FC4C 7C 7F 1B 78 */ mr r31, r3 -/* 8002FC50 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8002FC54 7C 00 07 74 */ extsb r0, r0 -/* 8002FC58 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002FC5C 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002FC60 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8002FC64 7C 63 02 14 */ add r3, r3, r0 -/* 8002FC68 80 83 00 20 */ lwz r4, 0x20(r3) -/* 8002FC6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002FC70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002FC74 88 84 00 13 */ lbz r4, 0x13(r4) -/* 8002FC78 48 00 54 31 */ bl getSave2__10dSv_save_cFi -/* 8002FC7C 7F E4 FB 78 */ mr r4, r31 -/* 8002FC80 48 00 4E 49 */ bl offVisitedRoom__13dSv_memory2_cFi -/* 8002FC84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8002FC88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8002FC8C 7C 08 03 A6 */ mtlr r0 -/* 8002FC90 38 21 00 10 */ addi r1, r1, 0x10 -/* 8002FC94 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGs_onVisitedRoom__Fi.s b/asm/d/com/d_com_inf_game/dComIfGs_onVisitedRoom__Fi.s deleted file mode 100644 index 9722587bc2..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGs_onVisitedRoom__Fi.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_8002FB80: -/* 8002FB80 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8002FB84 7C 08 02 A6 */ mflr r0 -/* 8002FB88 90 01 00 24 */ stw r0, 0x24(r1) -/* 8002FB8C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8002FB90 48 33 26 49 */ bl _savegpr_28 -/* 8002FB94 7C 7C 1B 78 */ mr r28, r3 -/* 8002FB98 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002FB9C 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002FBA0 3B A3 00 20 */ addi r29, r3, 0x20 -/* 8002FBA4 1C 1C 04 04 */ mulli r0, r28, 0x404 -/* 8002FBA8 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 8002FBAC 28 03 00 00 */ cmplwi r3, 0 -/* 8002FBB0 41 82 00 74 */ beq lbl_8002FC24 -/* 8002FBB4 88 03 00 13 */ lbz r0, 0x13(r3) -/* 8002FBB8 28 00 00 40 */ cmplwi r0, 0x40 -/* 8002FBBC 40 80 00 68 */ bge lbl_8002FC24 -/* 8002FBC0 4B FF F0 95 */ bl dComIfG_getNowCalcRegion__Fv -/* 8002FBC4 54 7E 06 3E */ clrlwi r30, r3, 0x18 -/* 8002FBC8 28 1E 00 FF */ cmplwi r30, 0xff -/* 8002FBCC 41 82 00 30 */ beq lbl_8002FBFC -/* 8002FBD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002FBD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002FBD8 3B E3 00 64 */ addi r31, r3, 0x64 -/* 8002FBDC 7F E3 FB 78 */ mr r3, r31 -/* 8002FBE0 7F C4 F3 78 */ mr r4, r30 -/* 8002FBE4 48 00 32 95 */ bl isRegionBit__33dSv_player_field_last_stay_info_cCFi -/* 8002FBE8 2C 03 00 00 */ cmpwi r3, 0 -/* 8002FBEC 40 82 00 10 */ bne lbl_8002FBFC -/* 8002FBF0 7F E3 FB 78 */ mr r3, r31 -/* 8002FBF4 7F C4 F3 78 */ mr r4, r30 -/* 8002FBF8 48 00 32 55 */ bl onRegionBit__33dSv_player_field_last_stay_info_cFi -lbl_8002FBFC: -/* 8002FBFC 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8002FC00 7C 00 07 74 */ extsb r0, r0 -/* 8002FC04 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8002FC08 7C 9D 00 2E */ lwzx r4, r29, r0 -/* 8002FC0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002FC10 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002FC14 88 84 00 13 */ lbz r4, 0x13(r4) -/* 8002FC18 48 00 54 91 */ bl getSave2__10dSv_save_cFi -/* 8002FC1C 7F 84 E3 78 */ mr r4, r28 -/* 8002FC20 48 00 4E 85 */ bl onVisitedRoom__13dSv_memory2_cFi -lbl_8002FC24: -/* 8002FC24 39 61 00 20 */ addi r11, r1, 0x20 -/* 8002FC28 48 33 25 FD */ bl _restgpr_28 -/* 8002FC2C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8002FC30 7C 08 03 A6 */ mtlr r0 -/* 8002FC34 38 21 00 20 */ addi r1, r1, 0x20 -/* 8002FC38 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s b/asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s deleted file mode 100644 index 52b56ac728..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8002FA54: -/* 8002FA54 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8002FA58 38 83 CA 54 */ addi r4, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8002FA5C 38 60 00 00 */ li r3, 0 -/* 8002FA60 88 04 0F 3D */ lbz r0, 0xf3d(r4) -/* 8002FA64 28 00 00 01 */ cmplwi r0, 1 -/* 8002FA68 4C 82 00 20 */ bnelr -/* 8002FA6C C0 24 0F 40 */ lfs f1, 0xf40(r4) -/* 8002FA70 C8 02 83 20 */ lfd f0, lit_7580(r2) -/* 8002FA74 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8002FA78 4C 81 00 20 */ blelr -/* 8002FA7C 38 60 00 01 */ li r3, 1 -/* 8002FA80 4E 80 00 20 */ blr diff --git a/asm/d/d_item/item_func_WOOD_STICK__Fv.s b/asm/d/d_item/item_func_WOOD_STICK__Fv.s deleted file mode 100644 index acfe2e4327..0000000000 --- a/asm/d/d_item/item_func_WOOD_STICK__Fv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_800986C4: -/* 800986C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800986C8 7C 08 02 A6 */ mflr r0 -/* 800986CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800986D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800986D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800986D8 38 63 01 00 */ addi r3, r3, 0x100 -/* 800986DC 38 80 00 01 */ li r4, 1 -/* 800986E0 38 A0 00 02 */ li r5, 2 -/* 800986E4 4B F9 BB 05 */ bl setCollect__20dSv_player_collect_cFiUc -/* 800986E8 38 60 00 3F */ li r3, 0x3f -/* 800986EC 4B F9 67 D5 */ bl dComIfGs_setSelectEquipSword__FUc -/* 800986F0 88 AD 87 E4 */ lbz r5, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 800986F4 7C A5 07 74 */ extsb r5, r5 -/* 800986F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800986FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80098700 38 80 00 1C */ li r4, 0x1c -/* 80098704 4B F9 CA FD */ bl onSwitch__10dSv_info_cFii -/* 80098708 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009870C 7C 08 03 A6 */ mtlr r0 -/* 80098710 38 21 00 10 */ addi r1, r1, 0x10 -/* 80098714 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s b/asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s deleted file mode 100644 index 90b405f13d..0000000000 --- a/asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80033EC8: -/* 80033EC8 38 C0 00 01 */ li r6, 1 -/* 80033ECC 54 85 06 3E */ clrlwi r5, r4, 0x18 -/* 80033ED0 54 80 D8 08 */ slwi r0, r4, 0x1b -/* 80033ED4 54 A5 0F FE */ srwi r5, r5, 0x1f -/* 80033ED8 7C 05 00 50 */ subf r0, r5, r0 -/* 80033EDC 54 00 28 3E */ rotlwi r0, r0, 5 -/* 80033EE0 7C 00 2A 14 */ add r0, r0, r5 -/* 80033EE4 7C C5 00 30 */ slw r5, r6, r0 -/* 80033EE8 54 80 EE FA */ rlwinm r0, r4, 0x1d, 0x1b, 0x1d -/* 80033EEC 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80033EF0 7C A3 00 38 */ and r3, r5, r0 -/* 80033EF4 30 03 FF FF */ addic r0, r3, -1 -/* 80033EF8 7C 60 19 10 */ subfe r3, r0, r3 -/* 80033EFC 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s b/asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s deleted file mode 100644 index a37447d955..0000000000 --- a/asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80033E94: -/* 80033E94 54 88 06 3E */ clrlwi r8, r4, 0x18 -/* 80033E98 54 87 EE FA */ rlwinm r7, r4, 0x1d, 0x1b, 0x1d -/* 80033E9C 7C C3 38 2E */ lwzx r6, r3, r7 -/* 80033EA0 38 A0 00 01 */ li r5, 1 -/* 80033EA4 54 80 D8 08 */ slwi r0, r4, 0x1b -/* 80033EA8 55 04 0F FE */ srwi r4, r8, 0x1f -/* 80033EAC 7C 04 00 50 */ subf r0, r4, r0 -/* 80033EB0 54 00 28 3E */ rotlwi r0, r0, 5 -/* 80033EB4 7C 00 22 14 */ add r0, r0, r4 -/* 80033EB8 7C A0 00 30 */ slw r0, r5, r0 -/* 80033EBC 7C C0 00 78 */ andc r0, r6, r0 -/* 80033EC0 7C 03 39 2E */ stwx r0, r3, r7 -/* 80033EC4 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s b/asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s deleted file mode 100644 index 1205c52ca4..0000000000 --- a/asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80033E60: -/* 80033E60 54 88 06 3E */ clrlwi r8, r4, 0x18 -/* 80033E64 54 87 EE FA */ rlwinm r7, r4, 0x1d, 0x1b, 0x1d -/* 80033E68 7C C3 38 2E */ lwzx r6, r3, r7 -/* 80033E6C 38 A0 00 01 */ li r5, 1 -/* 80033E70 54 80 D8 08 */ slwi r0, r4, 0x1b -/* 80033E74 55 04 0F FE */ srwi r4, r8, 0x1f -/* 80033E78 7C 04 00 50 */ subf r0, r4, r0 -/* 80033E7C 54 00 28 3E */ rotlwi r0, r0, 5 -/* 80033E80 7C 00 22 14 */ add r0, r0, r4 -/* 80033E84 7C A0 00 30 */ slw r0, r5, r0 -/* 80033E88 7C C0 03 78 */ or r0, r6, r0 -/* 80033E8C 7C 03 39 2E */ stwx r0, r3, r7 -/* 80033E90 4E 80 00 20 */ blr diff --git a/asm/init/__flush_cache.s b/asm/init/__flush_cache.s deleted file mode 100644 index 4db8f4ecc6..0000000000 --- a/asm/init/__flush_cache.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80003424: -/* 80003424 3C A0 FF FF */ lis r5, 0xFFFF /* 0xFFFFFFF1@h */ -/* 80003428 60 A5 FF F1 */ ori r5, r5, 0xFFF1 /* 0xFFFFFFF1@l */ -/* 8000342C 7C A5 18 38 */ and r5, r5, r3 -/* 80003430 7C 65 18 50 */ subf r3, r5, r3 -/* 80003434 7C 84 1A 14 */ add r4, r4, r3 -lbl_80003438: -/* 80003438 7C 00 28 6C */ dcbst 0, r5 -/* 8000343C 7C 00 04 AC */ sync -/* 80003440 7C 00 2F AC */ icbi 0, r5 -/* 80003444 30 A5 00 08 */ addic r5, r5, 8 -/* 80003448 34 84 FF F8 */ addic. r4, r4, -8 -/* 8000344C 40 80 FF EC */ bge lbl_80003438 -/* 80003450 4C 00 01 2C */ isync -/* 80003454 4E 80 00 20 */ blr diff --git a/asm/init/__init_hardware.s b/asm/init/__init_hardware.s deleted file mode 100644 index aed5e07e2b..0000000000 --- a/asm/init/__init_hardware.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80003400: -/* 80003400 7C 00 00 A6 */ mfmsr r0 -/* 80003404 60 00 20 00 */ ori r0, r0, 0x2000 -/* 80003408 7C 00 01 24 */ mtmsr r0 -/* 8000340C 7F E8 02 A6 */ mflr r31 -/* 80003410 48 33 73 FD */ bl __OSPSInit -/* 80003414 48 33 69 C1 */ bl __OSFPRInit -/* 80003418 48 33 86 D9 */ bl __OSCacheInit -/* 8000341C 7F E8 03 A6 */ mtlr r31 -/* 80003420 4E 80 00 20 */ blr diff --git a/asm/init/__init_registers.s b/asm/init/__init_registers.s deleted file mode 100644 index 638d815523..0000000000 --- a/asm/init/__init_registers.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_800032B0: -/* 800032B0 38 00 00 00 */ li r0, 0 -/* 800032B4 38 60 00 00 */ li r3, 0 -/* 800032B8 38 80 00 00 */ li r4, 0 -/* 800032BC 38 A0 00 00 */ li r5, 0 -/* 800032C0 38 C0 00 00 */ li r6, 0 -/* 800032C4 38 E0 00 00 */ li r7, 0 -/* 800032C8 39 00 00 00 */ li r8, 0 -/* 800032CC 39 20 00 00 */ li r9, 0 -/* 800032D0 39 40 00 00 */ li r10, 0 -/* 800032D4 39 60 00 00 */ li r11, 0 -/* 800032D8 39 80 00 00 */ li r12, 0 -/* 800032DC 39 C0 00 00 */ li r14, 0 -/* 800032E0 39 E0 00 00 */ li r15, 0 -/* 800032E4 3A 00 00 00 */ li r16, 0 -/* 800032E8 3A 20 00 00 */ li r17, 0 -/* 800032EC 3A 40 00 00 */ li r18, 0 -/* 800032F0 3A 60 00 00 */ li r19, 0 -/* 800032F4 3A 80 00 00 */ li r20, 0 -/* 800032F8 3A A0 00 00 */ li r21, 0 -/* 800032FC 3A C0 00 00 */ li r22, 0 -/* 80003300 3A E0 00 00 */ li r23, 0 -/* 80003304 3B 00 00 00 */ li r24, 0 -/* 80003308 3B 20 00 00 */ li r25, 0 -/* 8000330C 3B 40 00 00 */ li r26, 0 -/* 80003310 3B 60 00 00 */ li r27, 0 -/* 80003314 3B 80 00 00 */ li r28, 0 -/* 80003318 3B A0 00 00 */ li r29, 0 -/* 8000331C 3B C0 00 00 */ li r30, 0 -/* 80003320 3B E0 00 00 */ li r31, 0 -/* 80003324 3C 20 80 45 */ lis r1, _stack_end+0x1000@h /* 0x80457BC8@h */ -/* 80003328 60 21 7B C8 */ ori r1, r1, _stack_end+0x1000@l /* 0x80457BC8@l */ -/* 8000332C 3C 40 80 45 */ lis r2, _SDA2_BASE_@h /* 0x80459A00@h */ -/* 80003330 60 42 9A 00 */ ori r2, r2, _SDA2_BASE_@l /* 0x80459A00@l */ -/* 80003334 3D A0 80 45 */ lis r13, _SDA_BASE_@h /* 0x80458580@h */ -/* 80003338 61 AD 85 80 */ ori r13, r13, _SDA_BASE_@l /* 0x80458580@l */ -/* 8000333C 4E 80 00 20 */ blr diff --git a/asm/init/__start.s b/asm/init/__start.s deleted file mode 100644 index 84528f2eef..0000000000 --- a/asm/init/__start.s +++ /dev/null @@ -1,98 +0,0 @@ -lbl_80003154: -/* 80003154 48 00 01 5D */ bl __init_registers -/* 80003158 48 00 02 A9 */ bl __init_hardware -/* 8000315C 38 00 FF FF */ li r0, -1 -/* 80003160 94 21 FF F8 */ stwu r1, -8(r1) -/* 80003164 90 01 00 04 */ stw r0, 4(r1) -/* 80003168 90 01 00 00 */ stw r0, 0(r1) -/* 8000316C 48 00 01 D5 */ bl __init_data -/* 80003170 38 00 00 00 */ li r0, 0 -/* 80003174 3C C0 80 00 */ lis r6, 0x8000 /* 0x80000044@ha */ -/* 80003178 38 C6 00 44 */ addi r6, r6, 0x0044 /* 0x80000044@l */ -/* 8000317C 90 06 00 00 */ stw r0, 0(r6) -/* 80003180 3C C0 80 00 */ lis r6, 0x8000 /* 0x800000F4@ha */ -/* 80003184 38 C6 00 F4 */ addi r6, r6, 0x00F4 /* 0x800000F4@l */ -/* 80003188 80 C6 00 00 */ lwz r6, 0(r6) -/* 8000318C 28 06 00 00 */ cmplwi r6, 0 -/* 80003190 41 82 00 0C */ beq lbl_8000319C -/* 80003194 80 E6 00 0C */ lwz r7, 0xc(r6) -/* 80003198 48 00 00 24 */ b lbl_800031BC -lbl_8000319C: -/* 8000319C 3C A0 80 00 */ lis r5, 0x8000 /* 0x80000034@ha */ -/* 800031A0 38 A5 00 34 */ addi r5, r5, 0x0034 /* 0x80000034@l */ -/* 800031A4 80 A5 00 00 */ lwz r5, 0(r5) -/* 800031A8 28 05 00 00 */ cmplwi r5, 0 -/* 800031AC 41 82 00 4C */ beq lbl_800031F8 -/* 800031B0 3C E0 80 00 */ lis r7, 0x8000 /* 0x800030E8@ha */ -/* 800031B4 38 E7 30 E8 */ addi r7, r7, 0x30E8 /* 0x800030E8@l */ -/* 800031B8 80 E7 00 00 */ lwz r7, 0(r7) -lbl_800031BC: -/* 800031BC 38 A0 00 00 */ li r5, 0 -/* 800031C0 28 07 00 02 */ cmplwi r7, 2 -/* 800031C4 41 82 00 24 */ beq lbl_800031E8 -/* 800031C8 28 07 00 03 */ cmplwi r7, 3 -/* 800031CC 38 A0 00 01 */ li r5, 1 -/* 800031D0 41 82 00 18 */ beq lbl_800031E8 -/* 800031D4 28 07 00 04 */ cmplwi r7, 4 -/* 800031D8 40 82 00 20 */ bne lbl_800031F8 -/* 800031DC 38 A0 00 02 */ li r5, 2 -/* 800031E0 4B FF FF 61 */ bl __set_debug_bba -/* 800031E4 48 00 00 14 */ b lbl_800031F8 -lbl_800031E8: -/* 800031E8 3C C0 80 37 */ lis r6, InitMetroTRK@ha /* 0x80371560@ha */ -/* 800031EC 38 C6 15 60 */ addi r6, r6, InitMetroTRK@l /* 0x80371560@l */ -/* 800031F0 7C C8 03 A6 */ mtlr r6 -/* 800031F4 4E 80 00 21 */ blrl -lbl_800031F8: -/* 800031F8 3C C0 80 00 */ lis r6, 0x8000 /* 0x800000F4@ha */ -/* 800031FC 38 C6 00 F4 */ addi r6, r6, 0x00F4 /* 0x800000F4@l */ -/* 80003200 80 A6 00 00 */ lwz r5, 0(r6) -/* 80003204 28 05 00 00 */ cmplwi r5, 0 -/* 80003208 41 A2 00 50 */ beq+ lbl_80003258 -/* 8000320C 80 C5 00 08 */ lwz r6, 8(r5) -/* 80003210 28 06 00 00 */ cmplwi r6, 0 -/* 80003214 41 A2 00 44 */ beq+ lbl_80003258 -/* 80003218 7C C5 32 14 */ add r6, r5, r6 -/* 8000321C 81 C6 00 00 */ lwz r14, 0(r6) -/* 80003220 28 0E 00 00 */ cmplwi r14, 0 -/* 80003224 41 82 00 34 */ beq lbl_80003258 -/* 80003228 39 E6 00 04 */ addi r15, r6, 4 -/* 8000322C 7D C9 03 A6 */ mtctr r14 -lbl_80003230: -/* 80003230 38 C6 00 04 */ addi r6, r6, 4 -/* 80003234 80 E6 00 00 */ lwz r7, 0(r6) -/* 80003238 7C E7 2A 14 */ add r7, r7, r5 -/* 8000323C 90 E6 00 00 */ stw r7, 0(r6) -/* 80003240 42 00 FF F0 */ bdnz lbl_80003230 -/* 80003244 3C A0 80 00 */ lis r5, 0x8000 /* 0x80000034@ha */ -/* 80003248 38 A5 00 34 */ addi r5, r5, 0x0034 /* 0x80000034@l */ -/* 8000324C 55 E7 00 34 */ rlwinm r7, r15, 0, 0, 0x1a -/* 80003250 90 E5 00 00 */ stw r7, 0(r5) -/* 80003254 48 00 00 0C */ b lbl_80003260 -lbl_80003258: -/* 80003258 39 C0 00 00 */ li r14, 0 -/* 8000325C 39 E0 00 00 */ li r15, 0 -lbl_80003260: -/* 80003260 48 34 31 39 */ bl DBInit -/* 80003264 48 33 6C FD */ bl OSInit -/* 80003268 3C 80 80 00 */ lis r4, 0x8000 /* 0x800030E6@ha */ -/* 8000326C 38 84 30 E6 */ addi r4, r4, 0x30E6 /* 0x800030E6@l */ -/* 80003270 A0 64 00 00 */ lhz r3, 0(r4) -/* 80003274 70 65 80 00 */ andi. r5, r3, 0x8000 -/* 80003278 41 82 00 10 */ beq lbl_80003288 -/* 8000327C 70 63 7F FF */ andi. r3, r3, 0x7fff -/* 80003280 28 03 00 01 */ cmplwi r3, 1 -/* 80003284 40 82 00 08 */ bne lbl_8000328C -lbl_80003288: -/* 80003288 4B FF FE 79 */ bl __check_pad3 -lbl_8000328C: -/* 8000328C 4B FF FE C1 */ bl __get_debug_bba -/* 80003290 28 03 00 01 */ cmplwi r3, 1 -/* 80003294 40 82 00 08 */ bne lbl_8000329C -/* 80003298 48 36 E3 61 */ bl InitMetroTRK_BBA -lbl_8000329C: -/* 8000329C 48 33 F8 DD */ bl __init_user -/* 800032A0 7D C3 73 78 */ mr r3, r14 -/* 800032A4 7D E4 7B 78 */ mr r4, r15 -/* 800032A8 48 00 31 AD */ bl main -/* 800032AC 48 35 F7 20 */ b exit diff --git a/asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s b/asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s deleted file mode 100644 index 95a1d84f96..0000000000 --- a/asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80017CB4: -/* 80017CB4 38 C0 00 00 */ li r6, 0 -/* 80017CB8 38 A0 00 00 */ li r5, 0 -/* 80017CBC 7C 89 03 A6 */ mtctr r4 -/* 80017CC0 28 04 00 00 */ cmplwi r4, 0 -/* 80017CC4 40 81 00 1C */ ble lbl_80017CE0 -lbl_80017CC8: -/* 80017CC8 88 03 00 00 */ lbz r0, 0(r3) -/* 80017CCC 7C A5 02 14 */ add r5, r5, r0 -/* 80017CD0 7C 00 00 F8 */ nor r0, r0, r0 -/* 80017CD4 7C C6 02 14 */ add r6, r6, r0 -/* 80017CD8 38 63 00 01 */ addi r3, r3, 1 -/* 80017CDC 42 00 FF EC */ bdnz lbl_80017CC8 -lbl_80017CE0: -/* 80017CE0 7C C4 33 78 */ mr r4, r6 -/* 80017CE4 7C A3 2B 78 */ mr r3, r5 -/* 80017CE8 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSum__FPvUl.s b/asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSum__FPvUl.s deleted file mode 100644 index cebd60d33f..0000000000 --- a/asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSum__FPvUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80017C74: -/* 80017C74 38 C0 00 00 */ li r6, 0 -/* 80017C78 38 A0 00 00 */ li r5, 0 -/* 80017C7C 54 80 F8 7E */ srwi r0, r4, 1 -/* 80017C80 7C 09 03 A6 */ mtctr r0 -/* 80017C84 28 00 00 00 */ cmplwi r0, 0 -/* 80017C88 40 81 00 20 */ ble lbl_80017CA8 -lbl_80017C8C: -/* 80017C8C A0 03 00 00 */ lhz r0, 0(r3) -/* 80017C90 7C A5 02 14 */ add r5, r5, r0 -/* 80017C94 7C 00 00 F8 */ nor r0, r0, r0 -/* 80017C98 7C 06 02 14 */ add r0, r6, r0 -/* 80017C9C 54 06 04 3E */ clrlwi r6, r0, 0x10 -/* 80017CA0 38 63 00 02 */ addi r3, r3, 2 -/* 80017CA4 42 00 FF E8 */ bdnz lbl_80017C8C -lbl_80017CA8: -/* 80017CA8 7C C3 33 78 */ mr r3, r6 -/* 80017CAC 50 A3 80 1E */ rlwimi r3, r5, 0x10, 0, 0xf -/* 80017CB0 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s b/asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s deleted file mode 100644 index 54660ed5fb..0000000000 --- a/asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8000614C: -/* 8000614C 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 80006150 21 6B FF 80 */ subfic r11, r11, -128 -/* 80006154 7C 2C 0B 78 */ mr r12, r1 -/* 80006158 7C 21 59 6E */ stwux r1, r1, r11 -/* 8000615C 7C 08 02 A6 */ mflr r0 -/* 80006160 90 0C 00 04 */ stw r0, 4(r12) -/* 80006164 3C 60 80 37 */ lis r3, m_Do_m_Do_main__stringBase0@ha /* 0x803739A0@ha */ -/* 80006168 38 63 39 A0 */ addi r3, r3, m_Do_m_Do_main__stringBase0@l /* 0x803739A0@l */ -/* 8000616C 38 63 02 83 */ addi r3, r3, 0x283 -/* 80006170 38 81 00 40 */ addi r4, r1, 0x40 -/* 80006174 48 34 27 1D */ bl DVDOpen -/* 80006178 2C 03 00 00 */ cmpwi r3, 0 -/* 8000617C 41 82 00 38 */ beq lbl_800061B4 -/* 80006180 38 61 00 40 */ addi r3, r1, 0x40 -/* 80006184 38 81 00 20 */ addi r4, r1, 0x20 -/* 80006188 38 A0 00 20 */ li r5, 0x20 -/* 8000618C 38 C0 00 00 */ li r6, 0 -/* 80006190 38 E0 00 02 */ li r7, 2 -/* 80006194 48 34 2C B1 */ bl DVDReadPrio -/* 80006198 3C 60 80 3A */ lis r3, COPYDATE_STRING__7mDoMain@ha /* 0x803A2EE0@ha */ -/* 8000619C 38 63 2E E0 */ addi r3, r3, COPYDATE_STRING__7mDoMain@l /* 0x803A2EE0@l */ -/* 800061A0 38 81 00 20 */ addi r4, r1, 0x20 -/* 800061A4 38 A0 00 11 */ li r5, 0x11 -/* 800061A8 4B FF D3 99 */ bl memcpy -/* 800061AC 38 61 00 40 */ addi r3, r1, 0x40 -/* 800061B0 48 34 27 A9 */ bl DVDClose -lbl_800061B4: -/* 800061B4 81 41 00 00 */ lwz r10, 0(r1) -/* 800061B8 80 0A 00 04 */ lwz r0, 4(r10) -/* 800061BC 7C 08 03 A6 */ mtlr r0 -/* 800061C0 7D 41 53 78 */ mr r1, r10 -/* 800061C4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_main/main01__Fv.s b/asm/m_Do/m_Do_main/main01__Fv.s deleted file mode 100644 index 6b30e86e9f..0000000000 --- a/asm/m_Do/m_Do_main/main01__Fv.s +++ /dev/null @@ -1,127 +0,0 @@ -lbl_8000628C: -/* 8000628C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80006290 7C 08 02 A6 */ mflr r0 -/* 80006294 90 01 00 14 */ stw r0, 0x14(r1) -/* 80006298 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8000629C 3C 60 80 3D */ lis r3, RootHeapCheck@ha /* 0x803D32E0@ha */ -/* 800062A0 3B E3 32 E0 */ addi r31, r3, RootHeapCheck@l /* 0x803D32E0@l */ -/* 800062A4 48 00 5A A1 */ bl mDoMch_Create__Fv -/* 800062A8 48 00 4E CD */ bl mDoGph_Create__Fv -/* 800062AC 48 00 16 A9 */ bl create__8mDoCPd_cFv -/* 800062B0 80 8D 8D F8 */ lwz r4, sRootHeap__7JKRHeap(r13) -/* 800062B4 38 7F 00 00 */ addi r3, r31, 0 -/* 800062B8 90 83 00 08 */ stw r4, 8(r3) -/* 800062BC 28 04 00 00 */ cmplwi r4, 0 -/* 800062C0 41 82 00 0C */ beq lbl_800062CC -/* 800062C4 80 04 00 38 */ lwz r0, 0x38(r4) -/* 800062C8 90 03 00 1C */ stw r0, 0x1c(r3) -lbl_800062CC: -/* 800062CC 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13) -/* 800062D0 38 7F 00 28 */ addi r3, r31, 0x28 -/* 800062D4 90 83 00 08 */ stw r4, 8(r3) -/* 800062D8 28 04 00 00 */ cmplwi r4, 0 -/* 800062DC 41 82 00 0C */ beq lbl_800062E8 -/* 800062E0 80 04 00 38 */ lwz r0, 0x38(r4) -/* 800062E4 90 03 00 1C */ stw r0, 0x1c(r3) -lbl_800062E8: -/* 800062E8 48 00 8A 99 */ bl mDoExt_getZeldaHeap__Fv -/* 800062EC 38 9F 00 50 */ addi r4, r31, 0x50 -/* 800062F0 90 64 00 08 */ stw r3, 8(r4) -/* 800062F4 28 03 00 00 */ cmplwi r3, 0 -/* 800062F8 41 82 00 0C */ beq lbl_80006304 -/* 800062FC 80 03 00 38 */ lwz r0, 0x38(r3) -/* 80006300 90 04 00 1C */ stw r0, 0x1c(r4) -lbl_80006304: -/* 80006304 48 00 8A 4D */ bl mDoExt_getGameHeap__Fv -/* 80006308 38 9F 00 78 */ addi r4, r31, 0x78 -/* 8000630C 90 64 00 08 */ stw r3, 8(r4) -/* 80006310 28 03 00 00 */ cmplwi r3, 0 -/* 80006314 41 82 00 0C */ beq lbl_80006320 -/* 80006318 80 03 00 38 */ lwz r0, 0x38(r3) -/* 8000631C 90 04 00 1C */ stw r0, 0x1c(r4) -lbl_80006320: -/* 80006320 48 00 8A CD */ bl mDoExt_getArchiveHeap__Fv -/* 80006324 38 9F 00 A0 */ addi r4, r31, 0xa0 -/* 80006328 90 64 00 08 */ stw r3, 8(r4) -/* 8000632C 28 03 00 00 */ cmplwi r3, 0 -/* 80006330 41 82 00 0C */ beq lbl_8000633C -/* 80006334 80 03 00 38 */ lwz r0, 0x38(r3) -/* 80006338 90 04 00 1C */ stw r0, 0x1c(r4) -lbl_8000633C: -/* 8000633C 48 00 8A F5 */ bl mDoExt_getJ2dHeap__Fv -/* 80006340 38 9F 00 C8 */ addi r4, r31, 0xc8 -/* 80006344 90 64 00 08 */ stw r3, 8(r4) -/* 80006348 28 03 00 00 */ cmplwi r3, 0 -/* 8000634C 41 82 00 0C */ beq lbl_80006358 -/* 80006350 80 03 00 38 */ lwz r0, 0x38(r3) -/* 80006354 90 04 00 1C */ stw r0, 0x1c(r4) -lbl_80006358: -/* 80006358 48 00 8A E1 */ bl mDoExt_getHostIOHeap__Fv -/* 8000635C 38 9F 00 F0 */ addi r4, r31, 0xf0 -/* 80006360 90 64 00 08 */ stw r3, 8(r4) -/* 80006364 28 03 00 00 */ cmplwi r3, 0 -/* 80006368 41 82 00 0C */ beq lbl_80006374 -/* 8000636C 80 03 00 38 */ lwz r0, 0x38(r3) -/* 80006370 90 04 00 1C */ stw r0, 0x1c(r4) -lbl_80006374: -/* 80006374 48 00 8A 3D */ bl mDoExt_getCommandHeap__Fv -/* 80006378 38 9F 01 18 */ addi r4, r31, 0x118 -/* 8000637C 90 64 00 08 */ stw r3, 8(r4) -/* 80006380 28 03 00 00 */ cmplwi r3, 0 -/* 80006384 41 82 00 0C */ beq lbl_80006390 -/* 80006388 80 03 00 38 */ lwz r0, 0x38(r3) -/* 8000638C 90 04 00 1C */ stw r0, 0x1c(r4) -lbl_80006390: -/* 80006390 80 6D 8C 38 */ lwz r3, systemConsole__9JFWSystem(r13) -/* 80006394 88 0D 80 00 */ lbz r0, developmentMode__7mDoMain(r13) -/* 80006398 7C 00 07 75 */ extsb. r0, r0 -/* 8000639C 38 00 00 00 */ li r0, 0 -/* 800063A0 41 82 00 08 */ beq lbl_800063A8 -/* 800063A4 38 00 00 03 */ li r0, 3 -lbl_800063A8: -/* 800063A8 90 03 00 58 */ stw r0, 0x58(r3) -/* 800063AC 38 00 00 20 */ li r0, 0x20 -/* 800063B0 90 03 00 40 */ stw r0, 0x40(r3) -/* 800063B4 38 00 00 2A */ li r0, 0x2a -/* 800063B8 90 03 00 44 */ stw r0, 0x44(r3) -/* 800063BC 3C 60 80 00 */ lis r3, LOAD_COPYDATE__FPv@ha /* 0x8000614C@ha */ -/* 800063C0 38 63 61 4C */ addi r3, r3, LOAD_COPYDATE__FPv@l /* 0x8000614C@l */ -/* 800063C4 38 80 00 00 */ li r4, 0 -/* 800063C8 48 00 F8 AD */ bl create__20mDoDvdThd_callback_cFPFPv_PvPv -/* 800063CC 48 01 26 D5 */ bl fapGm_Create__Fv -/* 800063D0 48 01 7A 41 */ bl fopAcM_initManager__Fv -/* 800063D4 38 00 00 00 */ li r0, 0 -/* 800063D8 98 0D 85 98 */ stb r0, mDisplayHeapSize(r13) -/* 800063DC 48 01 23 89 */ bl cDyl_InitAsync__Fv -/* 800063E0 3C 60 00 15 */ lis r3, 0x0015 /* 0x0014D800@ha */ -/* 800063E4 38 63 D8 00 */ addi r3, r3, 0xD800 /* 0x0014D800@l */ -/* 800063E8 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap(r13) -/* 800063EC 38 A0 00 00 */ li r5, 0 -/* 800063F0 48 2C A6 35 */ bl create__12JKRSolidHeapFUlP7JKRHeapb -/* 800063F4 90 6D 86 3C */ stw r3, g_mDoAud_audioHeap(r13) -/* 800063F8 3C 60 80 3F */ lis r3, g_mDoMemCd_control@ha /* 0x803EAF40@ha */ -/* 800063FC 3B E3 AF 40 */ addi r31, r3, g_mDoMemCd_control@l /* 0x803EAF40@l */ -lbl_80006400: -/* 80006400 80 6D 85 B4 */ lwz r3, frame(r13) -/* 80006404 38 63 00 01 */ addi r3, r3, 1 -/* 80006408 90 6D 85 B4 */ stw r3, frame(r13) -/* 8000640C 88 8D 85 80 */ lbz r4, fillcheck_check_frame(r13) -/* 80006410 28 04 00 00 */ cmplwi r4, 0 -/* 80006414 41 82 00 18 */ beq lbl_8000642C -/* 80006418 7C 03 23 96 */ divwu r0, r3, r4 -/* 8000641C 7C 00 21 D6 */ mullw r0, r0, r4 -/* 80006420 7C 00 18 51 */ subf. r0, r0, r3 -/* 80006424 40 82 00 08 */ bne lbl_8000642C -/* 80006428 48 00 52 41 */ bl mDoMch_HeapCheckAll__Fv -lbl_8000642C: -/* 8000642C 88 0D 87 00 */ lbz r0, SyncWidthSound(r13) -/* 80006430 28 00 00 00 */ cmplwi r0, 0 -/* 80006434 41 82 00 0C */ beq lbl_80006440 -/* 80006438 7F E3 FB 78 */ mr r3, r31 -/* 8000643C 48 01 04 59 */ bl update__15mDoMemCd_Ctrl_cFv -lbl_80006440: -/* 80006440 48 00 16 55 */ bl read__8mDoCPd_cFv -/* 80006444 48 01 26 29 */ bl fapGm_Execute__Fv -/* 80006448 48 00 0D 1D */ bl mDoAud_Execute__Fv -/* 8000644C 4B FF FD 7D */ bl debug__Fv -/* 80006450 4B FF FF B0 */ b lbl_80006400 diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/__dt__10daSkip2D_cFv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/__dt__10daSkip2D_cFv.s deleted file mode 100644 index 04a6dd661d..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/__dt__10daSkip2D_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D4D674: -/* 80D4D674 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D678 7C 08 02 A6 */ mflr r0 -/* 80D4D67C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D680 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D4D684 93 C1 00 08 */ stw r30, 8(r1) -/* 80D4D688 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D4D68C 7C 9F 23 78 */ mr r31, r4 -/* 80D4D690 41 82 00 28 */ beq lbl_80D4D6B8 -/* 80D4D694 3C 80 80 D5 */ lis r4, __vt__10daSkip2D_c@ha /* 0x80D4D72C@ha */ -/* 80D4D698 38 04 D7 2C */ addi r0, r4, __vt__10daSkip2D_c@l /* 0x80D4D72C@l */ -/* 80D4D69C 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D4D6A0 38 80 00 00 */ li r4, 0 -/* 80D4D6A4 4B 2C B5 E9 */ bl __dt__10fopAc_ac_cFv -/* 80D4D6A8 7F E0 07 35 */ extsh. r0, r31 -/* 80D4D6AC 40 81 00 0C */ ble lbl_80D4D6B8 -/* 80D4D6B0 7F C3 F3 78 */ mr r3, r30 -/* 80D4D6B4 4B 58 16 89 */ bl __dl__FPv -lbl_80D4D6B8: -/* 80D4D6B8 7F C3 F3 78 */ mr r3, r30 -/* 80D4D6BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D4D6C0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D4D6C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D6C8 7C 08 03 A6 */ mtlr r0 -/* 80D4D6CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D6D0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/createHeap__10daSkip2D_cFv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/createHeap__10daSkip2D_cFv.s deleted file mode 100644 index 42d83d4c43..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/createHeap__10daSkip2D_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80D4D498: -/* 80D4D498 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D49C 7C 08 02 A6 */ mflr r0 -/* 80D4D4A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D4A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D4D4A8 7C 7F 1B 78 */ mr r31, r3 -/* 80D4D4AC 38 60 06 30 */ li r3, 0x630 -/* 80D4D4B0 4B 58 17 9D */ bl __nw__FUl -/* 80D4D4B4 7C 60 1B 79 */ or. r0, r3, r3 -/* 80D4D4B8 41 82 00 0C */ beq lbl_80D4D4C4 -/* 80D4D4BC 4B 4B 3E 6D */ bl __ct__14dMeterButton_cFv -/* 80D4D4C0 7C 60 1B 78 */ mr r0, r3 -lbl_80D4D4C4: -/* 80D4D4C4 90 1F 05 70 */ stw r0, 0x570(r31) -/* 80D4D4C8 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 80D4D4CC 28 00 00 00 */ cmplwi r0, 0 -/* 80D4D4D0 40 82 00 0C */ bne lbl_80D4D4DC -/* 80D4D4D4 38 60 00 00 */ li r3, 0 -/* 80D4D4D8 48 00 00 08 */ b lbl_80D4D4E0 -lbl_80D4D4DC: -/* 80D4D4DC 38 60 00 01 */ li r3, 1 -lbl_80D4D4E0: -/* 80D4D4E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D4D4E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D4E8 7C 08 03 A6 */ mtlr r0 -/* 80D4D4EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D4F0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/create__10daSkip2D_cFv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/create__10daSkip2D_cFv.s deleted file mode 100644 index 840d3cc04a..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/create__10daSkip2D_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80D4D4F4: -/* 80D4D4F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D4F8 7C 08 02 A6 */ mflr r0 -/* 80D4D4FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D500 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D4D504 93 C1 00 08 */ stw r30, 8(r1) -/* 80D4D508 7C 7F 1B 78 */ mr r31, r3 -/* 80D4D50C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D4D510 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D4D514 40 82 00 34 */ bne lbl_80D4D548 -/* 80D4D518 7F E0 FB 79 */ or. r0, r31, r31 -/* 80D4D51C 41 82 00 20 */ beq lbl_80D4D53C -/* 80D4D520 7C 1E 03 78 */ mr r30, r0 -/* 80D4D524 4B 2C B6 41 */ bl __ct__10fopAc_ac_cFv -/* 80D4D528 3C 60 80 D5 */ lis r3, __vt__10daSkip2D_c@ha /* 0x80D4D72C@ha */ -/* 80D4D52C 38 03 D7 2C */ addi r0, r3, __vt__10daSkip2D_c@l /* 0x80D4D72C@l */ -/* 80D4D530 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D4D534 7F C3 F3 78 */ mr r3, r30 -/* 80D4D538 48 00 00 A1 */ bl initiate__10daSkip2D_cFv -lbl_80D4D53C: -/* 80D4D53C 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D4D540 60 00 00 08 */ ori r0, r0, 8 -/* 80D4D544 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D4D548: -/* 80D4D548 7F E3 FB 78 */ mr r3, r31 -/* 80D4D54C 3C 80 80 D5 */ lis r4, daSkip2D_createHeap__FP10fopAc_ac_c@ha /* 0x80D4D478@ha */ -/* 80D4D550 38 84 D4 78 */ addi r4, r4, daSkip2D_createHeap__FP10fopAc_ac_c@l /* 0x80D4D478@l */ -/* 80D4D554 38 A0 00 00 */ li r5, 0 -/* 80D4D558 4B 2C CF 59 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80D4D55C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D4D560 40 82 00 0C */ bne lbl_80D4D56C -/* 80D4D564 38 60 00 05 */ li r3, 5 -/* 80D4D568 48 00 00 08 */ b lbl_80D4D570 -lbl_80D4D56C: -/* 80D4D56C 38 60 00 04 */ li r3, 4 -lbl_80D4D570: -/* 80D4D570 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D4D574 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D4D578 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D57C 7C 08 03 A6 */ mtlr r0 -/* 80D4D580 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D584 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Create__FPv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Create__FPv.s deleted file mode 100644 index 2945fe8ad3..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D4D5EC: -/* 80D4D5EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D5F0 7C 08 02 A6 */ mflr r0 -/* 80D4D5F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D5F8 4B FF FE FD */ bl create__10daSkip2D_cFv -/* 80D4D5FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D600 7C 08 03 A6 */ mtlr r0 -/* 80D4D604 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D608 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Delete__FPv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Delete__FPv.s deleted file mode 100644 index 42fedaa2e1..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D4D60C: -/* 80D4D60C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D610 7C 08 02 A6 */ mflr r0 -/* 80D4D614 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D618 4B FF FF 71 */ bl destroy__10daSkip2D_cFv -/* 80D4D61C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D620 7C 08 03 A6 */ mtlr r0 -/* 80D4D624 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D628 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Draw__FPv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Draw__FPv.s deleted file mode 100644 index 47e194fc9f..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Draw__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D4D64C: -/* 80D4D64C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D650 7C 08 02 A6 */ mflr r0 -/* 80D4D654 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D658 4B FF FF 39 */ bl draw__10daSkip2D_cFv -/* 80D4D65C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D660 7C 08 03 A6 */ mtlr r0 -/* 80D4D664 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D668 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Execute__FPv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Execute__FPv.s deleted file mode 100644 index 2ddd56d549..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D4D62C: -/* 80D4D62C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D630 7C 08 02 A6 */ mflr r0 -/* 80D4D634 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D638 4B FF FF 99 */ bl execute__10daSkip2D_cFv -/* 80D4D63C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D640 7C 08 03 A6 */ mtlr r0 -/* 80D4D644 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D648 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_createHeap__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_createHeap__FP10fopAc_ac_c.s deleted file mode 100644 index a4dc0746a1..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_createHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D4D478: -/* 80D4D478 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D47C 7C 08 02 A6 */ mflr r0 -/* 80D4D480 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D484 48 00 00 15 */ bl createHeap__10daSkip2D_cFv -/* 80D4D488 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D48C 7C 08 03 A6 */ mtlr r0 -/* 80D4D490 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D494 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/draw__10daSkip2D_cFv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/draw__10daSkip2D_cFv.s deleted file mode 100644 index e29d5f42b6..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/draw__10daSkip2D_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80D4D590: -/* 80D4D590 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D4D594 7C 08 02 A6 */ mflr r0 -/* 80D4D598 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D4D59C 7C 66 1B 78 */ mr r6, r3 -/* 80D4D5A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D4D5A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D4D5A8 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 80D4D5AC 38 83 00 AC */ addi r4, r3, 0xac -/* 80D4D5B0 38 A3 00 B0 */ addi r5, r3, 0xb0 -/* 80D4D5B4 38 C6 05 70 */ addi r6, r6, 0x570 -/* 80D4D5B8 4B 30 91 DD */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 80D4D5BC 38 60 00 01 */ li r3, 1 -/* 80D4D5C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D4D5C4 7C 08 03 A6 */ mtlr r0 -/* 80D4D5C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D4D5CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/initiate__10daSkip2D_cFv.s b/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/initiate__10daSkip2D_cFv.s deleted file mode 100644 index 6676c6cc9f..0000000000 --- a/asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/initiate__10daSkip2D_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80D4D5D8: -/* 80D4D5D8 38 00 00 00 */ li r0, 0 -/* 80D4D5DC 90 03 05 6C */ stw r0, 0x56c(r3) -/* 80D4D5E0 90 03 05 70 */ stw r0, 0x570(r3) -/* 80D4D5E4 98 03 05 74 */ stb r0, 0x574(r3) -/* 80D4D5E8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/__dt__12daTagHinit_cFv.s b/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/__dt__12daTagHinit_cFv.s deleted file mode 100644 index 1dcb16c596..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/__dt__12daTagHinit_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_805A3820: -/* 805A3820 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A3824 7C 08 02 A6 */ mflr r0 -/* 805A3828 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A382C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A3830 93 C1 00 08 */ stw r30, 8(r1) -/* 805A3834 7C 7E 1B 79 */ or. r30, r3, r3 -/* 805A3838 7C 9F 23 78 */ mr r31, r4 -/* 805A383C 41 82 00 1C */ beq lbl_805A3858 -/* 805A3840 38 80 00 00 */ li r4, 0 -/* 805A3844 4B A7 54 49 */ bl __dt__10fopAc_ac_cFv -/* 805A3848 7F E0 07 35 */ extsh. r0, r31 -/* 805A384C 40 81 00 0C */ ble lbl_805A3858 -/* 805A3850 7F C3 F3 78 */ mr r3, r30 -/* 805A3854 4B D2 B4 E9 */ bl __dl__FPv -lbl_805A3858: -/* 805A3858 7F C3 F3 78 */ mr r3, r30 -/* 805A385C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A3860 83 C1 00 08 */ lwz r30, 8(r1) -/* 805A3864 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A3868 7C 08 03 A6 */ mtlr r0 -/* 805A386C 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A3870 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/create__12daTagHinit_cFv.s b/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/create__12daTagHinit_cFv.s deleted file mode 100644 index 03b4a64229..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/create__12daTagHinit_cFv.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_805A3758: -/* 805A3758 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A375C 7C 08 02 A6 */ mflr r0 -/* 805A3760 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3764 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A3768 7C 7F 1B 78 */ mr r31, r3 -/* 805A376C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 805A3770 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 805A3774 40 82 00 1C */ bne lbl_805A3790 -/* 805A3778 28 1F 00 00 */ cmplwi r31, 0 -/* 805A377C 41 82 00 08 */ beq lbl_805A3784 -/* 805A3780 4B A7 53 E5 */ bl __ct__10fopAc_ac_cFv -lbl_805A3784: -/* 805A3784 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 805A3788 60 00 00 08 */ ori r0, r0, 8 -/* 805A378C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_805A3790: -/* 805A3790 A8 1F 04 E4 */ lha r0, 0x4e4(r31) -/* 805A3794 98 1F 05 69 */ stb r0, 0x569(r31) -/* 805A3798 88 9F 05 69 */ lbz r4, 0x569(r31) -/* 805A379C 28 04 00 FF */ cmplwi r4, 0xff -/* 805A37A0 41 82 00 28 */ beq lbl_805A37C8 -/* 805A37A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A37A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A37AC 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A37B0 7C 05 07 74 */ extsb r5, r0 -/* 805A37B4 4B A9 1B AD */ bl isSwitch__10dSv_info_cCFii -/* 805A37B8 2C 03 00 00 */ cmpwi r3, 0 -/* 805A37BC 41 82 00 0C */ beq lbl_805A37C8 -/* 805A37C0 38 60 00 05 */ li r3, 5 -/* 805A37C4 48 00 00 28 */ b lbl_805A37EC -lbl_805A37C8: -/* 805A37C8 A8 1F 04 E4 */ lha r0, 0x4e4(r31) -/* 805A37CC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 805A37D0 98 1F 05 68 */ stb r0, 0x568(r31) -/* 805A37D4 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A37D8 B0 1F 05 6C */ sth r0, 0x56c(r31) -/* 805A37DC 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 805A37E0 54 00 84 3E */ srwi r0, r0, 0x10 -/* 805A37E4 B0 1F 05 6E */ sth r0, 0x56e(r31) -/* 805A37E8 38 60 00 04 */ li r3, 4 -lbl_805A37EC: -/* 805A37EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A37F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A37F4 7C 08 03 A6 */ mtlr r0 -/* 805A37F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A37FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 92ac59ea64..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A3800: -/* 805A3800 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A3804 7C 08 02 A6 */ mflr r0 -/* 805A3808 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A380C 4B FF FF 4D */ bl create__12daTagHinit_cFv -/* 805A3810 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A3814 7C 08 03 A6 */ mtlr r0 -/* 805A3818 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A381C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Delete__FP12daTagHinit_c.s b/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Delete__FP12daTagHinit_c.s deleted file mode 100644 index a9642d8d56..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Delete__FP12daTagHinit_c.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_805A3874: -/* 805A3874 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A3878 7C 08 02 A6 */ mflr r0 -/* 805A387C 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A3880 38 80 FF FF */ li r4, -1 -/* 805A3884 4B FF FF 9D */ bl __dt__12daTagHinit_cFv -/* 805A3888 38 60 00 01 */ li r3, 1 -/* 805A388C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A3890 7C 08 03 A6 */ mtlr r0 -/* 805A3894 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A3898 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Execute__FP12daTagHinit_c.s b/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Execute__FP12daTagHinit_c.s deleted file mode 100644 index 6a263113e7..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Execute__FP12daTagHinit_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_805A39B8: -/* 805A39B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A39BC 7C 08 02 A6 */ mflr r0 -/* 805A39C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A39C4 4B FF FE D9 */ bl execute__12daTagHinit_cFv -/* 805A39C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A39CC 7C 08 03 A6 */ mtlr r0 -/* 805A39D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A39D4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/execute__12daTagHinit_cFv.s b/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/execute__12daTagHinit_cFv.s deleted file mode 100644 index 544fad71a3..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/execute__12daTagHinit_cFv.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_805A389C: -/* 805A389C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 805A38A0 7C 08 02 A6 */ mflr r0 -/* 805A38A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 805A38A8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 805A38AC 93 C1 00 08 */ stw r30, 8(r1) -/* 805A38B0 7C 7F 1B 78 */ mr r31, r3 -/* 805A38B4 A0 03 05 6C */ lhz r0, 0x56c(r3) -/* 805A38B8 28 00 FF FF */ cmplwi r0, 0xffff -/* 805A38BC 41 82 00 2C */ beq lbl_805A38E8 -/* 805A38C0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A38C4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A38C8 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 805A38CC 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 805A38D0 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 805A38D4 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 805A38D8 7C 84 02 2E */ lhzx r4, r4, r0 -/* 805A38DC 4B A9 10 E1 */ bl isEventBit__11dSv_event_cCFUs -/* 805A38E0 2C 03 00 00 */ cmpwi r3, 0 -/* 805A38E4 41 82 00 B8 */ beq lbl_805A399C -lbl_805A38E8: -/* 805A38E8 A0 1F 05 6E */ lhz r0, 0x56e(r31) -/* 805A38EC 28 00 FF FF */ cmplwi r0, 0xffff -/* 805A38F0 41 82 00 2C */ beq lbl_805A391C -/* 805A38F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A38F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A38FC 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 805A3900 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 805A3904 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 805A3908 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 805A390C 7C 84 02 2E */ lhzx r4, r4, r0 -/* 805A3910 4B A9 10 AD */ bl isEventBit__11dSv_event_cCFUs -/* 805A3914 2C 03 00 00 */ cmpwi r3, 0 -/* 805A3918 40 82 00 84 */ bne lbl_805A399C -lbl_805A391C: -/* 805A391C 88 9F 05 68 */ lbz r4, 0x568(r31) -/* 805A3920 28 04 00 FF */ cmplwi r4, 0xff -/* 805A3924 41 82 00 20 */ beq lbl_805A3944 -/* 805A3928 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A392C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A3930 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A3934 7C 05 07 74 */ extsb r5, r0 -/* 805A3938 4B A9 1A 29 */ bl isSwitch__10dSv_info_cCFii -/* 805A393C 2C 03 00 00 */ cmpwi r3, 0 -/* 805A3940 41 82 00 5C */ beq lbl_805A399C -lbl_805A3944: -/* 805A3944 88 9F 05 69 */ lbz r4, 0x569(r31) -/* 805A3948 28 04 00 FF */ cmplwi r4, 0xff -/* 805A394C 41 82 00 18 */ beq lbl_805A3964 -/* 805A3950 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A3954 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A3958 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 805A395C 7C 05 07 74 */ extsb r5, r0 -/* 805A3960 4B A9 18 A1 */ bl onSwitch__10dSv_info_cFii -lbl_805A3964: -/* 805A3964 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 805A3968 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 805A396C 83 C3 5D B8 */ lwz r30, 0x5db8(r3) -/* 805A3970 7F C3 F3 78 */ mr r3, r30 -/* 805A3974 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 805A3978 A8 BF 04 E6 */ lha r5, 0x4e6(r31) -/* 805A397C 39 9E 18 E0 */ addi r12, r30, 0x18e0 -/* 805A3980 4B DB E7 05 */ bl __ptmf_scall -/* 805A3984 60 00 00 00 */ nop -/* 805A3988 80 1E 17 44 */ lwz r0, 0x1744(r30) -/* 805A398C 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 -/* 805A3990 90 1E 17 44 */ stw r0, 0x1744(r30) -/* 805A3994 7F E3 FB 78 */ mr r3, r31 -/* 805A3998 4B A7 62 E5 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_805A399C: -/* 805A399C 38 60 00 01 */ li r3, 1 -/* 805A39A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 805A39A4 83 C1 00 08 */ lwz r30, 8(r1) -/* 805A39A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 805A39AC 7C 08 03 A6 */ mtlr r0 -/* 805A39B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 805A39B4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/Create__14daTagRestart_cFv.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/Create__14daTagRestart_cFv.s deleted file mode 100644 index 4dc7e407fa..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/Create__14daTagRestart_cFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80D603F8: -/* 80D603F8 3C 80 80 D6 */ lis r4, lit_3650@ha /* 0x80D607B4@ha */ -/* 80D603FC 38 84 07 B4 */ addi r4, r4, lit_3650@l /* 0x80D607B4@l */ -/* 80D60400 C0 44 00 00 */ lfs f2, 0(r4) -/* 80D60404 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D60408 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80D6040C D0 03 05 6C */ stfs f0, 0x56c(r3) -/* 80D60410 C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80D60414 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80D60418 D0 03 05 74 */ stfs f0, 0x574(r3) -/* 80D6041C C0 24 00 04 */ lfs f1, 4(r4) -/* 80D60420 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D60424 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D60428 D0 03 05 78 */ stfs f0, 0x578(r3) -/* 80D6042C C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80D60430 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80D60434 D0 03 05 80 */ stfs f0, 0x580(r3) -/* 80D60438 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D6043C EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D60440 D0 03 05 84 */ stfs f0, 0x584(r3) -/* 80D60444 C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80D60448 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D6044C D0 03 05 8C */ stfs f0, 0x58c(r3) -/* 80D60450 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D60454 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80D60458 D0 03 05 90 */ stfs f0, 0x590(r3) -/* 80D6045C C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80D60460 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D60464 D0 03 05 98 */ stfs f0, 0x598(r3) -/* 80D60468 C0 04 00 08 */ lfs f0, 8(r4) -/* 80D6046C D0 03 05 94 */ stfs f0, 0x594(r3) -/* 80D60470 D0 03 05 88 */ stfs f0, 0x588(r3) -/* 80D60474 D0 03 05 7C */ stfs f0, 0x57c(r3) -/* 80D60478 D0 03 05 70 */ stfs f0, 0x570(r3) -/* 80D6047C 38 00 FF FF */ li r0, -1 -/* 80D60480 98 03 05 68 */ stb r0, 0x568(r3) -/* 80D60484 38 60 00 01 */ li r3, 1 -/* 80D60488 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 6af6f46bde..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D6078C: -/* 80D6078C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60790 7C 08 02 A6 */ mflr r0 -/* 80D60794 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60798 4B FF FC F5 */ bl create__14daTagRestart_cFv -/* 80D6079C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D607A0 7C 08 03 A6 */ mtlr r0 -/* 80D607A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D607A8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Delete__FP14daTagRestart_c.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Delete__FP14daTagRestart_c.s deleted file mode 100644 index 05df477073..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Delete__FP14daTagRestart_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D6076C: -/* 80D6076C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60770 7C 08 02 A6 */ mflr r0 -/* 80D60774 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60778 4B FF FF CD */ bl _delete__14daTagRestart_cFv -/* 80D6077C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60780 7C 08 03 A6 */ mtlr r0 -/* 80D60784 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60788 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Execute__FP14daTagRestart_c.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Execute__FP14daTagRestart_c.s deleted file mode 100644 index 8c8622b68a..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Execute__FP14daTagRestart_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D6074C: -/* 80D6074C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60750 7C 08 02 A6 */ mflr r0 -/* 80D60754 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60758 4B FF FE 09 */ bl execute__14daTagRestart_cFv -/* 80D6075C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60760 7C 08 03 A6 */ mtlr r0 -/* 80D60764 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D60768 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/execute__14daTagRestart_cFv.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/execute__14daTagRestart_cFv.s deleted file mode 100644 index 071ca40fa9..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/execute__14daTagRestart_cFv.s +++ /dev/null @@ -1,126 +0,0 @@ -lbl_80D60560: -/* 80D60560 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80D60564 7C 08 02 A6 */ mflr r0 -/* 80D60568 90 01 00 54 */ stw r0, 0x54(r1) -/* 80D6056C 39 61 00 50 */ addi r11, r1, 0x50 -/* 80D60570 4B 60 1C 69 */ bl _savegpr_28 -/* 80D60574 7C 7D 1B 78 */ mr r29, r3 -/* 80D60578 3C 60 80 D6 */ lis r3, lit_3650@ha /* 0x80D607B4@ha */ -/* 80D6057C 3B E3 07 B4 */ addi r31, r3, lit_3650@l /* 0x80D607B4@l */ -/* 80D60580 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D60584 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60588 83 C3 5D AC */ lwz r30, 0x5dac(r3) -/* 80D6058C C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80D60590 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 80D60594 C0 1E 04 D4 */ lfs f0, 0x4d4(r30) -/* 80D60598 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80D6059C C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80D605A0 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 80D605A4 38 61 00 2C */ addi r3, r1, 0x2c -/* 80D605A8 38 9D 04 A8 */ addi r4, r29, 0x4a8 -/* 80D605AC 7C 65 1B 78 */ mr r5, r3 -/* 80D605B0 4B 5E 6B 05 */ bl PSVECSubtract -/* 80D605B4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D605B8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D605BC A8 1D 04 DE */ lha r0, 0x4de(r29) -/* 80D605C0 7C 00 00 D0 */ neg r0, r0 -/* 80D605C4 7C 04 07 34 */ extsh r4, r0 -/* 80D605C8 4B 2A BE 15 */ bl mDoMtx_YrotS__FPA4_fs -/* 80D605CC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D605D0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D605D4 38 81 00 2C */ addi r4, r1, 0x2c -/* 80D605D8 7C 85 23 78 */ mr r5, r4 -/* 80D605DC 4B 5E 67 91 */ bl PSMTXMultVec -/* 80D605E0 C0 1D 05 6C */ lfs f0, 0x56c(r29) -/* 80D605E4 C0 21 00 2C */ lfs f1, 0x2c(r1) -/* 80D605E8 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D605EC 40 80 01 34 */ bge lbl_80D60720 -/* 80D605F0 C0 1D 05 74 */ lfs f0, 0x574(r29) -/* 80D605F4 C0 41 00 34 */ lfs f2, 0x34(r1) -/* 80D605F8 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80D605FC 40 80 01 24 */ bge lbl_80D60720 -/* 80D60600 C0 1D 05 84 */ lfs f0, 0x584(r29) -/* 80D60604 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D60608 40 81 01 18 */ ble lbl_80D60720 -/* 80D6060C C0 1D 05 8C */ lfs f0, 0x58c(r29) -/* 80D60610 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80D60614 40 81 01 0C */ ble lbl_80D60720 -/* 80D60618 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80D6061C 38 63 0D 64 */ addi r3, r3, mStayNo__20dStage_roomControl_c+0x0@l /* 0x80450D64@l */ -/* 80D60620 88 63 00 00 */ lbz r3, 0(r3) -/* 80D60624 7C 63 07 74 */ extsb r3, r3 -/* 80D60628 88 1D 05 68 */ lbz r0, 0x568(r29) -/* 80D6062C 7C 00 07 74 */ extsb r0, r0 -/* 80D60630 7C 03 00 00 */ cmpw r3, r0 -/* 80D60634 41 82 00 EC */ beq lbl_80D60720 -/* 80D60638 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 80D6063C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80D60640 7C 03 00 00 */ cmpw r3, r0 -/* 80D60644 40 82 00 20 */ bne lbl_80D60664 -/* 80D60648 AB 9D 04 B6 */ lha r28, 0x4b6(r29) -/* 80D6064C C0 1F 00 08 */ lfs f0, 8(r31) -/* 80D60650 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80D60654 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80D60658 C0 1F 00 04 */ lfs f0, 4(r31) -/* 80D6065C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80D60660 48 00 00 28 */ b lbl_80D60688 -lbl_80D60664: -/* 80D60664 A8 7D 04 B6 */ lha r3, 0x4b6(r29) -/* 80D60668 3C 63 00 01 */ addis r3, r3, 1 -/* 80D6066C 38 03 80 00 */ addi r0, r3, -32768 -/* 80D60670 7C 1C 07 34 */ extsh r28, r0 -/* 80D60674 C0 1F 00 08 */ lfs f0, 8(r31) -/* 80D60678 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80D6067C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80D60680 C0 1F 00 00 */ lfs f0, 0(r31) -/* 80D60684 D0 01 00 28 */ stfs f0, 0x28(r1) -lbl_80D60688: -/* 80D60688 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80D6068C C0 1F 00 04 */ lfs f0, 4(r31) -/* 80D60690 EC 01 00 2A */ fadds f0, f1, f0 -/* 80D60694 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80D60698 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D6069C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D606A0 A8 9D 04 B6 */ lha r4, 0x4b6(r29) -/* 80D606A4 4B 2A BD 39 */ bl mDoMtx_YrotS__FPA4_fs -/* 80D606A8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D606AC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D606B0 38 81 00 20 */ addi r4, r1, 0x20 -/* 80D606B4 7C 85 23 78 */ mr r5, r4 -/* 80D606B8 4B 5E 66 B5 */ bl PSMTXMultVec -/* 80D606BC 38 61 00 08 */ addi r3, r1, 8 -/* 80D606C0 38 9D 04 D0 */ addi r4, r29, 0x4d0 -/* 80D606C4 38 A1 00 20 */ addi r5, r1, 0x20 -/* 80D606C8 4B 50 64 1D */ bl __pl__4cXyzCFRC3Vec -/* 80D606CC C0 01 00 08 */ lfs f0, 8(r1) -/* 80D606D0 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80D606D4 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80D606D8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80D606DC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80D606E0 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80D606E4 38 61 00 14 */ addi r3, r1, 0x14 -/* 80D606E8 4B 2B D5 D5 */ bl gndCheck__11fopAcM_gc_cFPC4cXyz -/* 80D606EC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D606F0 41 82 00 10 */ beq lbl_80D60700 -/* 80D606F4 3C 60 80 45 */ lis r3, mGroundY__11fopAcM_gc_c@ha /* 0x80450CD0@ha */ -/* 80D606F8 C0 03 0C D0 */ lfs f0, mGroundY__11fopAcM_gc_c@l(r3) /* 0x80450CD0@l */ -/* 80D606FC D0 01 00 18 */ stfs f0, 0x18(r1) -lbl_80D60700: -/* 80D60700 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 80D60704 7C 06 07 74 */ extsb r6, r0 -/* 80D60708 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D6070C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D60710 38 63 0D B4 */ addi r3, r3, 0xdb4 -/* 80D60714 38 81 00 14 */ addi r4, r1, 0x14 -/* 80D60718 7F 85 E3 78 */ mr r5, r28 -/* 80D6071C 4B 2D 48 65 */ bl setRoom__13dSv_restart_cFRC4cXyzsSc -lbl_80D60720: -/* 80D60720 88 1E 04 E2 */ lbz r0, 0x4e2(r30) -/* 80D60724 98 1D 05 68 */ stb r0, 0x568(r29) -/* 80D60728 38 60 00 01 */ li r3, 1 -/* 80D6072C 39 61 00 50 */ addi r11, r1, 0x50 -/* 80D60730 4B 60 1A F5 */ bl _restgpr_28 -/* 80D60734 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80D60738 7C 08 03 A6 */ mtlr r0 -/* 80D6073C 38 21 00 50 */ addi r1, r1, 0x50 -/* 80D60740 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/func_80D6048C.s b/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/func_80D6048C.s deleted file mode 100644 index 31d3b0c50e..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/func_80D6048C.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80D6048C: -/* 80D6048C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D60490 7C 08 02 A6 */ mflr r0 -/* 80D60494 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D60498 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D6049C 93 C1 00 08 */ stw r30, 8(r1) -/* 80D604A0 7C 7F 1B 78 */ mr r31, r3 -/* 80D604A4 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D604A8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D604AC 40 82 00 40 */ bne lbl_80D604EC -/* 80D604B0 7F E0 FB 79 */ or. r0, r31, r31 -/* 80D604B4 41 82 00 2C */ beq lbl_80D604E0 -/* 80D604B8 7C 1E 03 78 */ mr r30, r0 -/* 80D604BC 4B 2B 86 A9 */ bl __ct__10fopAc_ac_cFv -/* 80D604C0 38 7E 05 6C */ addi r3, r30, 0x56c -/* 80D604C4 3C 80 80 D6 */ lis r4, __ct__4cXyzFv@ha /* 0x80D6055C@ha */ -/* 80D604C8 38 84 05 5C */ addi r4, r4, __ct__4cXyzFv@l /* 0x80D6055C@l */ -/* 80D604CC 3C A0 80 D6 */ lis r5, __dt__4cXyzFv@ha /* 0x80D60520@ha */ -/* 80D604D0 38 A5 05 20 */ addi r5, r5, __dt__4cXyzFv@l /* 0x80D60520@l */ -/* 80D604D4 38 C0 00 0C */ li r6, 0xc -/* 80D604D8 38 E0 00 04 */ li r7, 4 -/* 80D604DC 4B 60 18 85 */ bl __construct_array -lbl_80D604E0: -/* 80D604E0 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D604E4 60 00 00 08 */ ori r0, r0, 8 -/* 80D604E8 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D604EC: -/* 80D604EC 7F E3 FB 78 */ mr r3, r31 -/* 80D604F0 4B FF FF 09 */ bl Create__14daTagRestart_cFv -/* 80D604F4 2C 03 00 00 */ cmpwi r3, 0 -/* 80D604F8 40 82 00 0C */ bne lbl_80D60504 -/* 80D604FC 38 60 00 05 */ li r3, 5 -/* 80D60500 48 00 00 08 */ b lbl_80D60508 -lbl_80D60504: -/* 80D60504 38 60 00 04 */ li r3, 4 -lbl_80D60508: -/* 80D60508 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D6050C 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D60510 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D60514 7C 08 03 A6 */ mtlr r0 -/* 80D60518 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6051C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__ct__13daTagWrHowl_cFv.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__ct__13daTagWrHowl_cFv.s deleted file mode 100644 index 782cf47010..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__ct__13daTagWrHowl_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D63F38: -/* 80D63F38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63F3C 7C 08 02 A6 */ mflr r0 -/* 80D63F40 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63F44 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63F48 7C 7F 1B 78 */ mr r31, r3 -/* 80D63F4C 4B 2B 4C 19 */ bl __ct__10fopAc_ac_cFv -/* 80D63F50 3C 60 80 D6 */ lis r3, __vt__13daTagWrHowl_c@ha /* 0x80D64254@ha */ -/* 80D63F54 38 03 42 54 */ addi r0, r3, __vt__13daTagWrHowl_c@l /* 0x80D64254@l */ -/* 80D63F58 90 1F 05 68 */ stw r0, 0x568(r31) -/* 80D63F5C 7F E3 FB 78 */ mr r3, r31 -/* 80D63F60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D63F64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63F68 7C 08 03 A6 */ mtlr r0 -/* 80D63F6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D63F70 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__dt__13daTagWrHowl_cFv.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__dt__13daTagWrHowl_cFv.s deleted file mode 100644 index fe5110731c..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__dt__13daTagWrHowl_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D63F74: -/* 80D63F74 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63F78 7C 08 02 A6 */ mflr r0 -/* 80D63F7C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63F80 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63F84 93 C1 00 08 */ stw r30, 8(r1) -/* 80D63F88 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D63F8C 7C 9F 23 78 */ mr r31, r4 -/* 80D63F90 41 82 00 28 */ beq lbl_80D63FB8 -/* 80D63F94 3C 80 80 D6 */ lis r4, __vt__13daTagWrHowl_c@ha /* 0x80D64254@ha */ -/* 80D63F98 38 04 42 54 */ addi r0, r4, __vt__13daTagWrHowl_c@l /* 0x80D64254@l */ -/* 80D63F9C 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D63FA0 38 80 00 00 */ li r4, 0 -/* 80D63FA4 4B 2B 4C E9 */ bl __dt__10fopAc_ac_cFv -/* 80D63FA8 7F E0 07 35 */ extsh. r0, r31 -/* 80D63FAC 40 81 00 0C */ ble lbl_80D63FB8 -/* 80D63FB0 7F C3 F3 78 */ mr r3, r30 -/* 80D63FB4 4B 56 AD 89 */ bl __dl__FPv -lbl_80D63FB8: -/* 80D63FB8 7F C3 F3 78 */ mr r3, r30 -/* 80D63FBC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D63FC0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D63FC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63FC8 7C 08 03 A6 */ mtlr r0 -/* 80D63FCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D63FD0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/chkWlfInTag__13daTagWrHowl_cFv.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/chkWlfInTag__13daTagWrHowl_cFv.s deleted file mode 100644 index dcf2fd76c9..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/chkWlfInTag__13daTagWrHowl_cFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80D640B4: -/* 80D640B4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D640B8 7C 08 02 A6 */ mflr r0 -/* 80D640BC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D640C0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80D640C4 7C 7F 1B 78 */ mr r31, r3 -/* 80D640C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D640CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D640D0 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 80D640D4 28 04 00 00 */ cmplwi r4, 0 -/* 80D640D8 40 82 00 0C */ bne lbl_80D640E4 -/* 80D640DC 38 60 00 00 */ li r3, 0 -/* 80D640E0 48 00 00 50 */ b lbl_80D64130 -lbl_80D640E4: -/* 80D640E4 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 80D640E8 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80D640EC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80D640F0 41 82 00 3C */ beq lbl_80D6412C -/* 80D640F4 C0 04 04 D0 */ lfs f0, 0x4d0(r4) -/* 80D640F8 D0 01 00 08 */ stfs f0, 8(r1) -/* 80D640FC C0 04 04 D4 */ lfs f0, 0x4d4(r4) -/* 80D64100 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80D64104 C0 04 04 D8 */ lfs f0, 0x4d8(r4) -/* 80D64108 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80D6410C 38 61 00 08 */ addi r3, r1, 8 -/* 80D64110 38 9F 04 D0 */ addi r4, r31, 0x4d0 -/* 80D64114 4B 5E 32 89 */ bl PSVECSquareDistance -/* 80D64118 C0 1F 05 70 */ lfs f0, 0x570(r31) -/* 80D6411C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D64120 40 80 00 0C */ bge lbl_80D6412C -/* 80D64124 38 60 00 01 */ li r3, 1 -/* 80D64128 48 00 00 08 */ b lbl_80D64130 -lbl_80D6412C: -/* 80D6412C 38 60 00 00 */ li r3, 0 -lbl_80D64130: -/* 80D64130 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80D64134 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D64138 7C 08 03 A6 */ mtlr r0 -/* 80D6413C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D64140 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/create__13daTagWrHowl_cFv.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/create__13daTagWrHowl_cFv.s deleted file mode 100644 index ef44b1b1b8..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/create__13daTagWrHowl_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80D63FD4: -/* 80D63FD4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63FD8 7C 08 02 A6 */ mflr r0 -/* 80D63FDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63FE0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63FE4 7C 7F 1B 78 */ mr r31, r3 -/* 80D63FE8 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D63FEC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D63FF0 40 82 00 1C */ bne lbl_80D6400C -/* 80D63FF4 28 1F 00 00 */ cmplwi r31, 0 -/* 80D63FF8 41 82 00 08 */ beq lbl_80D64000 -/* 80D63FFC 4B FF FF 3D */ bl __ct__13daTagWrHowl_cFv -lbl_80D64000: -/* 80D64000 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D64004 60 00 00 08 */ ori r0, r0, 8 -/* 80D64008 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D6400C: -/* 80D6400C 7F E3 FB 78 */ mr r3, r31 -/* 80D64010 48 00 00 81 */ bl init__13daTagWrHowl_cFv -/* 80D64014 38 60 00 04 */ li r3, 4 -/* 80D64018 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D6401C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D64020 7C 08 03 A6 */ mtlr r0 -/* 80D64024 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D64028 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_Delete__FP13daTagWrHowl_c.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_Delete__FP13daTagWrHowl_c.s deleted file mode 100644 index 669a112df8..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_Delete__FP13daTagWrHowl_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D64198: -/* 80D64198 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D6419C 7C 08 02 A6 */ mflr r0 -/* 80D641A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D641A4 4B FF FE 89 */ bl Delete__13daTagWrHowl_cFv -/* 80D641A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D641AC 7C 08 03 A6 */ mtlr r0 -/* 80D641B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D641B4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_create__FP13daTagWrHowl_c.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_create__FP13daTagWrHowl_c.s deleted file mode 100644 index bbf6df654b..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_create__FP13daTagWrHowl_c.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80D64144: -/* 80D64144 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D64148 7C 08 02 A6 */ mflr r0 -/* 80D6414C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D64150 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D64154 7C 7F 1B 78 */ mr r31, r3 -/* 80D64158 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D6415C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D64160 40 82 00 1C */ bne lbl_80D6417C -/* 80D64164 28 1F 00 00 */ cmplwi r31, 0 -/* 80D64168 41 82 00 08 */ beq lbl_80D64170 -/* 80D6416C 4B FF FD CD */ bl __ct__13daTagWrHowl_cFv -lbl_80D64170: -/* 80D64170 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D64174 60 00 00 08 */ ori r0, r0, 8 -/* 80D64178 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D6417C: -/* 80D6417C 7F E3 FB 78 */ mr r3, r31 -/* 80D64180 4B FF FE 55 */ bl create__13daTagWrHowl_cFv -/* 80D64184 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D64188 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D6418C 7C 08 03 A6 */ mtlr r0 -/* 80D64190 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D64194 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_draw__FP13daTagWrHowl_c.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_draw__FP13daTagWrHowl_c.s deleted file mode 100644 index ca1d105f8a..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_draw__FP13daTagWrHowl_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D641D8: -/* 80D641D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D641DC 7C 08 02 A6 */ mflr r0 -/* 80D641E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D641E4 4B FF FE 51 */ bl draw__13daTagWrHowl_cFv -/* 80D641E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D641EC 7C 08 03 A6 */ mtlr r0 -/* 80D641F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D641F4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_execute__FP13daTagWrHowl_c.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_execute__FP13daTagWrHowl_c.s deleted file mode 100644 index b1a2a069e6..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_execute__FP13daTagWrHowl_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D641B8: -/* 80D641B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D641BC 7C 08 02 A6 */ mflr r0 -/* 80D641C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D641C4 4B FF FE 79 */ bl execute__13daTagWrHowl_cFv -/* 80D641C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D641CC 7C 08 03 A6 */ mtlr r0 -/* 80D641D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D641D4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/execute__13daTagWrHowl_cFv.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/execute__13daTagWrHowl_cFv.s deleted file mode 100644 index ccafecfd58..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/execute__13daTagWrHowl_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80D6403C: -/* 80D6403C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D64040 7C 08 02 A6 */ mflr r0 -/* 80D64044 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D64048 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D6404C 7C 7F 1B 78 */ mr r31, r3 -/* 80D64050 38 00 00 00 */ li r0, 0 -/* 80D64054 90 03 05 5C */ stw r0, 0x55c(r3) -/* 80D64058 48 00 00 5D */ bl chkWlfInTag__13daTagWrHowl_cFv -/* 80D6405C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D64060 41 82 00 18 */ beq lbl_80D64078 -/* 80D64064 80 1F 05 5C */ lwz r0, 0x55c(r31) -/* 80D64068 60 00 00 80 */ ori r0, r0, 0x80 -/* 80D6406C 90 1F 05 5C */ stw r0, 0x55c(r31) -/* 80D64070 38 00 00 41 */ li r0, 0x41 -/* 80D64074 98 1F 05 4B */ stb r0, 0x54b(r31) -lbl_80D64078: -/* 80D64078 38 60 00 01 */ li r3, 1 -/* 80D6407C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D64080 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D64084 7C 08 03 A6 */ mtlr r0 -/* 80D64088 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D6408C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/init__13daTagWrHowl_cFv.s b/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/init__13daTagWrHowl_cFv.s deleted file mode 100644 index 003c176851..0000000000 --- a/asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/init__13daTagWrHowl_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80D64090: -/* 80D64090 3C 80 80 D6 */ lis r4, lit_3680@ha /* 0x80D64200@ha */ -/* 80D64094 C0 24 42 00 */ lfs f1, lit_3680@l(r4) /* 0x80D64200@l */ -/* 80D64098 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D6409C EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D640A0 D0 03 05 6C */ stfs f0, 0x56c(r3) -/* 80D640A4 C0 03 05 6C */ lfs f0, 0x56c(r3) -/* 80D640A8 EC 00 00 32 */ fmuls f0, f0, f0 -/* 80D640AC D0 03 05 70 */ stfs f0, 0x570(r3) -/* 80D640B0 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index bcb65aeb6f..a3c6b90415 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -278,6 +278,13 @@ STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34); class J3DAnmBase { public: + J3DAnmBase(s16 i_frameMax) { + mAttribute = 0; + field_0x5 = 0; + mFrameMax = i_frameMax; + mFrame = 0.0f; + } + virtual ~J3DAnmBase(); u8 getAttribute() const { return mAttribute; } @@ -287,6 +294,7 @@ public: private: /* 0x4 */ u8 mAttribute; + /* 0x5 */ u8 field_0x5; /* 0x6 */ s16 mFrameMax; /* 0x8 */ f32 mFrame; }; // Size: 0xC @@ -539,7 +547,7 @@ class J3DAnmCluster : public J3DAnmBase { public: /* 8032BCAC */ virtual ~J3DAnmCluster(); /* 8032BF44 */ virtual s32 getKind() const; - /* 8032BF4C */ virtual void getWeight(u16) const; + /* 8032BF4C */ virtual f32 getWeight(u16) const; private: /* 0x0C */ f32* field_0xc; @@ -549,7 +557,7 @@ class J3DAnmClusterFull : public J3DAnmCluster { public: /* 8032BCAC */ virtual ~J3DAnmClusterFull(); /* 8032BF44 */ virtual s32 getKind() const; - /* 8032BF4C */ virtual void getWeight(u16) const; + /* 8032BF4C */ virtual f32 getWeight(u16) const; private: /* 0x10 */ int field_0x10; @@ -559,7 +567,7 @@ class J3DAnmClusterKey : public J3DAnmCluster { public: /* 8032C044 */ virtual ~J3DAnmClusterKey(); /* 8032C0B0 */ virtual s32 getKind() const; - /* 8032A218 */ virtual void getWeight(u16) const; + /* 8032A218 */ virtual f32 getWeight(u16) const; private: /* 0x10 */ int field_0x10; diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index bc4c2ba9a6..51d8f08e8c 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -47,6 +47,7 @@ public: bool isLocked() { return mMaterialTable.isLocked(); } void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); } void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); } + void entryTexNoAnimator(J3DAnmTexPattern* anm) { mMaterialTable.entryTexNoAnimator(anm); } int removeTexNoAnimator(J3DAnmTexPattern* anm) { return mMaterialTable.removeTexNoAnimator(anm); } diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index c9c21cfd40..3e6b822823 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -61,6 +61,8 @@ public: } J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); } + void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); } + public: /* 0x04 */ J3DMaterial* mNext; /* 0x08 */ J3DShape* mShape; diff --git a/include/JSystem/J3DGraphBase/J3DShapeMtx.h b/include/JSystem/J3DGraphBase/J3DShapeMtx.h index 1b745e5fc1..2496c9b8a3 100644 --- a/include/JSystem/J3DGraphBase/J3DShapeMtx.h +++ b/include/JSystem/J3DGraphBase/J3DShapeMtx.h @@ -50,6 +50,7 @@ public: static void setCurrentPipeline(u32 pipeline) { sCurrentPipeline = pipeline; } static void setLODFlag(u8 flag) { struct_804515B0[1] = flag; } + static u8 getLODFlag() { return struct_804515B0[1]; } static void resetMtxLoadCache(); private: diff --git a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h index 0c6a6a8474..c9ec70a8ab 100644 --- a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h @@ -3,7 +3,7 @@ #include "dolphin/types.h" -enum J3DAnmLoaderDataBaseFlag { UNK_FLAG0 }; +enum J3DAnmLoaderDataBaseFlag { J3DLOADER_UNK_FLAG0 }; struct J3DAnmBase; diff --git a/include/JSystem/JAudio2/JAISeMgr.h b/include/JSystem/JAudio2/JAISeMgr.h index c52af94cf7..45bf084cd4 100644 --- a/include/JSystem/JAudio2/JAISeMgr.h +++ b/include/JSystem/JAudio2/JAISeMgr.h @@ -39,6 +39,8 @@ public: /* 8029F8B0 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); /* 8029F91C */ virtual void releaseSeqData(JAISeqDataRegion const&); + JAISoundParamsMove* getParams() { return &mParams; } + /* 0x04 */ JASNonCopyable field_0x4; /* 0x08 */ JAISoundParamsMove mParams; /* 0x58 */ JSUList mSeList; @@ -66,6 +68,8 @@ public: /* 802A0168 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); /* 802A01D8 */ virtual void releaseSeqData(JAISeqDataRegion const&); + JAISeCategoryMgr* getCategory(int categoryIndex) { return &mCategoryMgrs[categoryIndex]; } + private: /* 0x008 */ JAIAudience* mAudience; /* 0x00C */ JAISeqDataMgr* mSeqDataMgr; diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index c9767d3a7e..b339fb71ef 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -62,7 +62,7 @@ public: u32 name_offset; u16 field_0x8; u16 num_entries; - s32 first_file_index; + u32 first_file_index; }; struct SDIFileEntry { @@ -163,8 +163,9 @@ public: /* vt[19] */ virtual u32 getExpandSize(SDIFileEntry*) const; u32 countFile() const { return mArcInfoBlock->num_file_entries; } + s32 countDirectory() const { return mArcInfoBlock->num_nodes; } -protected: +public: /* 0x00 */ // vtable /* 0x04 */ // JKRFileLoader /* 0x38 */ JKRHeap* mHeap; @@ -173,8 +174,6 @@ protected: /* 0x40 */ s32 mEntryNum; /* 0x44 */ SArcDataInfo* mArcInfoBlock; /* 0x48 */ SDIDirEntry* mNodes; - -public: /* 0x4C */ SDIFileEntry* mFiles; protected: diff --git a/include/JSystem/JKernel/JKRDvdFile.h b/include/JSystem/JKernel/JKRDvdFile.h index 4a9daa94e7..ecb722531a 100644 --- a/include/JSystem/JKernel/JKRDvdFile.h +++ b/include/JSystem/JKernel/JKRDvdFile.h @@ -31,7 +31,7 @@ public: /* vt[07] */ virtual s32 getFileSize(void) const; /* override */ /* vt[08] */ virtual bool open(s32); -private: +// private: /* 0x00 */ // vtable /* 0x04 */ // JKRFile /* 0x1C */ OSMutex mMutex1; diff --git a/include/JSystem/JKernel/JKRSolidHeap.h b/include/JSystem/JKernel/JKRSolidHeap.h index a61e8cc78b..f3058bb029 100644 --- a/include/JSystem/JKernel/JKRSolidHeap.h +++ b/include/JSystem/JKernel/JKRSolidHeap.h @@ -21,7 +21,7 @@ protected: void* allocFromHead(u32, int); void* allocFromTail(u32, int); - s32 getUsedSize() { return mSize - getTotalFreeSize(); } + static s32 getUsedSize(JKRSolidHeap* heap) { return heap->mSize - heap->getTotalFreeSize(); } public: /* vt[04] */ virtual u32 getHeapType(void); /* override */ diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index 71bad19d43..5b6b2c5978 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -11,9 +11,19 @@ inline f32 JMAFastReciprocal(f32 value) { return __fres(value); } +inline float __frsqrtes(register double f) { + register float out; + // clang-format off + asm { + frsqrte out, f + } + // clang-format on + return out; +} + inline f32 JMAFastSqrt(f32 input) { if (input > 0.0f) { - f64 tmp = __frsqrte(input); + f32 tmp = __frsqrtes(input); return tmp * input; } return input; diff --git a/include/JSystem/JParticle/JPAMath.h b/include/JSystem/JParticle/JPAMath.h index 3c0e94b43c..abad96a07d 100644 --- a/include/JSystem/JParticle/JPAMath.h +++ b/include/JSystem/JParticle/JPAMath.h @@ -2,8 +2,10 @@ #define JPAMATH_H #include "dolphin/mtx/mtx.h" -#include "dolphin/types.h" +#include "JSystem/JGeometry.h" void JPAGetXYZRotateMtx(s16 x, s16 y, s16 z, Mtx dst); +void JPASetRMtxTVecfromMtx(f32 const (*param_0)[4], f32 (*param_1)[4], + JGeometry::TVec3* param_2); #endif /* JPAMATH_H */ diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 979d41b3dd..dc4f2127ed 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -9,6 +9,7 @@ #include "JSystem/JParticle/JPADynamicsBlock.h" #include "JSystem/JParticle/JPAResource.h" +#include "JSystem/JParticle/JPAMath.h" class JKRHeap; class JPABaseEmitter; @@ -205,6 +206,7 @@ public: enum { JPAEmtrStts_StopEmit = 0x01, JPAEmtrStts_StopCalc = 0x02, + JPAEmtrStts_StopDraw = 0x04, JPAEmtrStts_FirstEmit = 0x10, JPAEmtrStts_RateStepEmit = 0x20, JPAEmtrStts_Immortal = 0x40, @@ -234,6 +236,7 @@ public: u8 getDrawTimes() const { return mDrawTimes; } void setRate(f32 rate) { mRate = rate; } void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; } + void setGlobalRTMatrix(const Mtx m) { JPASetRMtxTVecfromMtx(m, mGlobalRot, &mGlobalTrs); } f32 get_r_f() { return mRndm.get_rndm_f(); } f32 get_r_zp() { return mRndm.get_rndm_zp(); } @@ -251,6 +254,7 @@ public: void quitImmortalEmitter() { clearStatus(JPAEmtrStts_Immortal); } void stopCalcEmitter() { setStatus(JPAEmtrStts_StopCalc); } void playCalcEmitter() { clearStatus(JPAEmtrStts_StopCalc); } + void stopDrawParticle() { setStatus(JPAEmtrStts_StopDraw); } public: /* 0x00 */ Vec mLocalScl; diff --git a/include/JSystem/JStudio/JStudio/functionvalue.h b/include/JSystem/JStudio/JStudio/functionvalue.h index 35d849e27c..9db6ffee4f 100644 --- a/include/JSystem/JStudio/JStudio/functionvalue.h +++ b/include/JSystem/JStudio/JStudio/functionvalue.h @@ -167,7 +167,7 @@ private: f64 fValue_; }; -class TFunctionValue_composite : TFunctionValue, TFunctionValueAttribute_refer { +class TFunctionValue_composite : public TFunctionValue, public TFunctionValueAttribute_refer { public: struct TData { TData(void* data) : u32data((u32)data) {} @@ -216,7 +216,7 @@ public: const TData* data_getData() const { return &data; } void data_setData(const TData& dat) { data = dat; } -private: +// private: UnkFunc pfn_; TData data; }; diff --git a/include/JSystem/JStudio/JStudio/jstudio-control.h b/include/JSystem/JStudio/JStudio/jstudio-control.h index b2cd99f6b8..e5c742b97f 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-control.h +++ b/include/JSystem/JStudio/JStudio/jstudio-control.h @@ -68,6 +68,8 @@ public: transform_setOrigin_TxyzRy(xyz, rotY); } + void setSecondPerFrame(double param_0) { mSecondPerFrame = param_0; } + /* 0x58 */ f64 mSecondPerFrame; /* 0x60 */ fvb::TControl fvb_Control; /* 0x74 */ ctb::TControl ctb_Control; diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index c1deabae92..6adb0bc74b 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -147,7 +147,7 @@ public: T* operator->() { return this->getObject(); } -private: +// private: JSULink* mLink; }; diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index 8ed869395d..c1c2a5adfa 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -19,7 +19,8 @@ public: enum OutputFlag { /* 0x0 */ OUTPUT_NONE, /* 0x1 */ OUTPUT_OSREPORT, - /* 0x2 */ OUTPUT_CONSOLE + /* 0x2 */ OUTPUT_CONSOLE, + /* 0x3 */ OUTPUT_OSR_AND_CONSOLE, }; /* 802E73E4 */ static JUTConsole* create(unsigned int, void*, u32); diff --git a/include/JSystem/JUtility/JUTDirectFile.h b/include/JSystem/JUtility/JUTDirectFile.h index 840f796d7d..b0f956ff23 100644 --- a/include/JSystem/JUtility/JUTDirectFile.h +++ b/include/JSystem/JUtility/JUTDirectFile.h @@ -3,4 +3,13 @@ #include "dolphin/types.h" +struct JUTDirectFile { + /* 802E8730 */ void fetch32byte(); + /* 802E87F8 */ JUTDirectFile(); + /* 802E881C */ ~JUTDirectFile(); + /* 802E8860 */ bool fopen(char const*); + /* 802E88FC */ bool fclose(); + /* 802E8958 */ int fgets(void*, int); +}; + #endif /* JUTDIRECTFILE_H */ diff --git a/include/JSystem/JUtility/JUTFader.h b/include/JSystem/JUtility/JUTFader.h index 3615612ee1..af3c2fba73 100644 --- a/include/JSystem/JUtility/JUTFader.h +++ b/include/JSystem/JUtility/JUTFader.h @@ -30,7 +30,7 @@ public: /* 0x0A */ u16 field_0xa; /* 0x0C */ JUtility::TColor mColor; /* 0x10 */ JGeometry::TBox2 mBox; - /* 0x20 */ EStatus mEStatus; + /* 0x20 */ int mEStatus; /* 0x24 */ u32 field_0x24; }; diff --git a/include/SSystem/SComponent/c_bg_s_lin_chk.h b/include/SSystem/SComponent/c_bg_s_lin_chk.h index ca5c282fd2..639ada0798 100644 --- a/include/SSystem/SComponent/c_bg_s_lin_chk.h +++ b/include/SSystem/SComponent/c_bg_s_lin_chk.h @@ -31,6 +31,7 @@ public: void SetHit() { field_0x4c |= 16; } u32 ChkHit() const { return field_0x4c & 16; } void SetCross(const cXyz& pos) { mLin.SetEnd(pos); } + cXyz& i_GetCross() { return mLin.GetEnd(); } cM3dGLin* GetLinP() { return &mLin; } bool ChkBackFlag() const { return mBackFlag; } bool ChkFrontFlag() const { return mFrontFlag; } diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 5259f17acd..40c9f774a1 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -11,6 +11,11 @@ #include "f_op/f_op_actor.h" #include "global.h" +enum CcG_Tg_HitMark { + CcG_Tg_UNK_MARK_6 = 6, + CcG_Tg_UNK_MARK_8 = 8, +}; + class cCcD_PntAttr; class cCcD_CpsAttr; class cCcD_TriAttr; @@ -341,6 +346,7 @@ public: u32 MskType(u32 msk) const { return mType & msk; } void SetType(u32 type) { mType = type; } void SetAtp(int atp) { mAtp = atp; } + void ClrSet() { OffSPrmBit(1); } protected: /* 0x10 */ int mType; @@ -361,6 +367,7 @@ public: void SetType(u32 type) { mType = type; } u32 GetGrp() const { return MskSPrm(0x1E); } bool ChkSet() const { return MskSPrm(1); } + void ClrSet() { OffSPrmBit(1); } private: /* 0x10 */ int mType; @@ -429,6 +436,10 @@ public: void OffCoSetBit() { mObjCo.ClrSet(); } void SetTgType(u32 type) { mObjTg.SetType(type); } void OnTgSPrmBit(u32 flag) { mObjTg.OnSPrmBit(flag); } + void OffAtSetBit() { mObjAt.ClrSet(); } + void OnTgSetBit() { mObjTg.OnSPrmBit(1); } + void OffTgSetBit() { mObjTg.ClrSet(); } + void OnCoSetBit() { mObjCo.OnSPrmBit(1); } }; // Size = 0x40 diff --git a/include/SSystem/SComponent/c_lib.h b/include/SSystem/SComponent/c_lib.h index cd22aa70a6..6eb7142e4f 100644 --- a/include/SSystem/SComponent/c_lib.h +++ b/include/SSystem/SComponent/c_lib.h @@ -4,47 +4,46 @@ #include "MSL_C/math.h" #include "SSystem/SComponent/c_xyz.h" #include "dolphin/mtx/mtx.h" -#include "dolphin/types.h" -inline bool cLib_IsZero(f32 f) { - return fabsf(f) < 8e-11f; +inline bool cLib_IsZero(f32 value) { + return fabsf(value) < 8e-11f; } void cLib_memCpy(void* dst, const void* src, unsigned long size); void cLib_memSet(void* ptr, int value, unsigned long size); -float cLib_addCalc(float*, float, float, float, float); -void cLib_addCalc2(float*, float, float, float); -void cLib_addCalc0(float*, float, float); -float cLib_addCalcPos(cXyz*, const cXyz&, float, float, float); -float cLib_addCalcPosXZ(cXyz*, const cXyz&, float, float, float); -void cLib_addCalcPos2(cXyz*, const cXyz&, float, float); -void cLib_addCalcPosXZ2(cXyz*, const cXyz&, float, float); -short cLib_addCalcAngleS(short*, short, short, short, short); -void cLib_addCalcAngleS2(short*, short, short, short); +f32 cLib_addCalc(f32* o_value, f32 target, f32 scale, f32 maxStep, f32 minStep); +void cLib_addCalc2(f32* o_value, f32 target, f32 scale, f32 maxStep); +void cLib_addCalc0(f32* o_value, f32 scale, f32 maxStep); +f32 cLib_addCalcPos(cXyz* o_value, cXyz const& target, f32 scale, f32 maxStep, f32 minStep); +f32 cLib_addCalcPosXZ(cXyz* o_value, cXyz const& target, f32 scale, f32 maxStep, f32 minStep); +void cLib_addCalcPos2(cXyz* o_value, cXyz const& target, f32 scale, f32 maxStep); +void cLib_addCalcPosXZ2(cXyz* o_value, cXyz const& target, f32 scale, f32 maxStep); +s16 cLib_addCalcAngleS(s16* o_value, s16 target, s16 scale, s16 maxStep, s16 minStep); +void cLib_addCalcAngleS2(s16* o_value, s16 target, s16 scale, s16 maxStep); -int cLib_chaseUC(unsigned char*, unsigned char, unsigned char); -int cLib_chaseS(short*, short, short); -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); +int cLib_chaseUC(u8* o_value, u8 target, u8 step); +int cLib_chaseS(s16* o_value, s16 target, s16 step); +int cLib_chaseF(f32* o_value, f32 target, f32 step); +int cLib_chasePos(cXyz* o_value, cXyz const& target, f32 step); +int cLib_chasePosXZ(cXyz* o_value, cXyz const& target, f32 step); +int cLib_chaseAngleS(s16* o_value, s16 target, s16 step); s16 cLib_targetAngleY(const Vec* lhs, const Vec* rhs); s16 cLib_targetAngleY(const Vec& lhs, const Vec& rhs); -short cLib_targetAngleX(const cXyz*, const cXyz*); +s16 cLib_targetAngleX(const cXyz*, const cXyz*); -void cLib_offsetPos(cXyz*, const cXyz*, short, const cXyz*); +void cLib_offsetPos(cXyz* pDest, cXyz const* pSrc, s16 angle, cXyz const* vec); s32 cLib_distanceAngleS(s16 x, s16 y); -inline void cLib_offBit(u8& pVar, u8 pBit) { - pVar &= ~pBit; +inline void cLib_offBit(u8& value, u8 bit) { + value &= ~bit; } -inline void cLib_onBit(u8& pVar, u8 pBit) { - pVar |= pBit; +inline void cLib_onBit(u8& value, u8 bit) { + value |= bit; } -inline u8 cLib_checkBit(u8& pVar, u8 pBit) { - return pVar & pBit; +inline u8 cLib_checkBit(u8& value, u8 bit) { + return value & bit; } template @@ -53,11 +52,12 @@ inline T cLib_minMaxLimit(T val, T min, T max) { if (val < min) { ret = min; } else { - ret = max; - if (val <= max) { - ret = val; + if (val > max) { + val = max; } + ret = val; } + return ret; } @@ -65,8 +65,8 @@ template T cLib_calcTimer(T* val); void MtxInit(void); -void MtxTrans(float, float, float, unsigned char); -void MtxScale(float, float, float, unsigned char); +void MtxTrans(f32, f32, f32, u8); +void MtxScale(f32, f32, f32, u8); void MtxPosition(cXyz*, cXyz*); void MtxPush(void); Mtx* MtxPull(void); diff --git a/include/SSystem/SComponent/c_m3d_g_cyl.h b/include/SSystem/SComponent/c_m3d_g_cyl.h index ec5c29fc5d..12be442b34 100644 --- a/include/SSystem/SComponent/c_m3d_g_cyl.h +++ b/include/SSystem/SComponent/c_m3d_g_cyl.h @@ -24,15 +24,16 @@ public: virtual ~cM3dGCyl() {} void Set(const cM3dGCylS&); void Set(const cXyz&, f32, f32); - void SetC(const cXyz&); - void SetH(f32); - void SetR(f32); + void SetC(const cXyz& pos); + void SetH(f32 h); + void SetR(f32 r); bool cross(const cM3dGSph*, cXyz*) const; bool cross(const cM3dGCyl*, cXyz*) const; void calcMinMax(cXyz*, cXyz*); const cXyz& GetCP(void) const { return mCenter; } f32 GetR(void) const { return mRadius; } f32 GetH(void) const { return mHeight; } + cXyz& GetC() { return mCenter; } bool Cross(const cM3dGCps* cps, cXyz* xyz) const { return cM3d_Cross_CpsCyl(*cps, *this, xyz); } bool Cross(const cM3dGTri& tri, cXyz* xyz) const { return cM3d_Cross_CylTri(this, &tri, xyz); } diff --git a/include/SSystem/SComponent/c_m3d_g_lin.h b/include/SSystem/SComponent/c_m3d_g_lin.h index 92f4342c13..5ef690a9be 100644 --- a/include/SSystem/SComponent/c_m3d_g_lin.h +++ b/include/SSystem/SComponent/c_m3d_g_lin.h @@ -25,6 +25,7 @@ public: cXyz& GetStartP(void) { return mStart; } const cXyz& GetEndP(void) const { return mEnd; } cXyz& GetEndP(void) { return mEnd; } + cXyz& GetEnd() { return mEnd; } }; // Size = 0x1C STATIC_ASSERT(0x1C == sizeof(cM3dGLin)); diff --git a/include/SSystem/SComponent/c_math.h b/include/SSystem/SComponent/c_math.h index 1ea9516d83..86330cc7d3 100644 --- a/include/SSystem/SComponent/c_math.h +++ b/include/SSystem/SComponent/c_math.h @@ -29,4 +29,12 @@ inline s16 cM_deg2s(f32 val) { return val * 182.04445f; } +inline f32 cM_fsin(f32 v) { + return JMASSin(cM_rad2s(v)); +} + +inline f32 cM_sht2d(f32 v) { + return v * 0.005493164f; +} + #endif /* C_MATH_H */ diff --git a/include/SSystem/SComponent/c_xyz.h b/include/SSystem/SComponent/c_xyz.h index 3b7c4fb4e4..b875f06b23 100644 --- a/include/SSystem/SComponent/c_xyz.h +++ b/include/SSystem/SComponent/c_xyz.h @@ -54,11 +54,7 @@ struct cXyz : Vec { z -= f; } void operator-=(const Vec& other) { PSVECSubtract(this, &other, this); } - void operator+=(const Vec& vec) { - x += vec.x; - y += vec.y; - z += vec.z; - } + void operator+=(const Vec& other) { PSVECAdd(this, &other, this); } void operator*=(f32 scale) { PSVECScale(this, this, scale); } /* 80266C6C */ cXyz getCrossProduct(Vec const&) const; /* 80266CBC */ cXyz outprod(Vec const&) const; diff --git a/include/Z2AudioLib/Z2Creature.h b/include/Z2AudioLib/Z2Creature.h index 2d92cdce46..64e2a8e7f9 100644 --- a/include/Z2AudioLib/Z2Creature.h +++ b/include/Z2AudioLib/Z2Creature.h @@ -72,6 +72,10 @@ public: int startHitItemSE(u32, u32, Z2SoundObjBase*, float); void setResumeAttack(bool); + void setInWater(bool status) { + mFlags = (u8)((mFlags & ~0x40) | ((status << 6) & 0x40)); // what is going on here + } + static Z2CreatureLink* mLinkPtr; private: diff --git a/include/Z2AudioLib/Z2SoundHandles.h b/include/Z2AudioLib/Z2SoundHandles.h index 51414f3d70..8e43695b6e 100644 --- a/include/Z2AudioLib/Z2SoundHandles.h +++ b/include/Z2AudioLib/Z2SoundHandles.h @@ -29,7 +29,7 @@ public: u32 getNumHandles() const { return this->getNumLinks(); } private: - u8 mNumHandles; + /* 0xC */ u8 mNumHandles; }; #endif /* Z2SOUNDHANDLES_H */ diff --git a/include/Z2AudioLib/Z2SoundMgr.h b/include/Z2AudioLib/Z2SoundMgr.h index 7d90ecfc62..8070294ba8 100644 --- a/include/Z2AudioLib/Z2SoundMgr.h +++ b/include/Z2AudioLib/Z2SoundMgr.h @@ -27,6 +27,9 @@ public: /* 802A9EE8 */ /* virtual */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); /* 0x000 */ void* vtable; // remove later + + JAISeMgr* getSeMgr() { return &mSeMgr; } + private: /* 0x004 */ JAISeMgr mSeMgr; /* 0x728 */ JAISeqMgr mSeqMgr; diff --git a/include/Z2AudioLib/Z2SoundObject.h b/include/Z2AudioLib/Z2SoundObject.h index 22fdd22cef..f5be57d208 100644 --- a/include/Z2AudioLib/Z2SoundObject.h +++ b/include/Z2AudioLib/Z2SoundObject.h @@ -72,14 +72,28 @@ public: }; class Z2DopplerSoundObjBase : public Z2SoundHandles { +public: Z2DopplerSoundObjBase(); ~Z2DopplerSoundObjBase(); - virtual void temp(); // temp to build OK, remove later virtual void framework(u32, s8); virtual void init(Vec*, u8); virtual void startSound(JAISoundID, u32, s8); virtual void startLevelSound(JAISoundID, u32, s8); + + /* 0x14 */ Z2SoundStarter* field_0x14; + /* 0x18 */ JGeometry::TVec3* field_0x18; + /* 0x1C */ u16 field_0x1c; + /* 0x1E */ u8 field_0x1e; + /* 0x1F */ bool field_0x1f; + /* 0x20 */ JGeometry::TVec3 field_0x20; + /* 0x2C */ JGeometry::TVec3 field_0x2c; +}; + +class Z2SoundObjArrow : public Z2DopplerSoundObjBase { +public: + /* 802BEB38 */ Z2SoundObjArrow(); + /* 802BEB74 */ virtual void init(Vec*, u8); }; #endif /* Z2SOUNDOBJECT_H */ diff --git a/include/c/c_dylink.h b/include/c/c_dylink.h index 74734c763e..53294d9a26 100644 --- a/include/c/c_dylink.h +++ b/include/c/c_dylink.h @@ -18,5 +18,6 @@ struct DynamicNameTableEntry { }; int cDyl_InitAsyncIsDone(); +void cDyl_InitAsync(); #endif /* C_C_DYLINK_H */ diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index c142c1ec95..f381434c6b 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -74,6 +74,9 @@ public: /* 801266C0 */ virtual void draw(); /* 800CFDF4 */ virtual ~daAlink_sight_c(); + bool getLockFlg() { return mLockFlag; } + void offLockFlg() { mLockFlag = false; } + /* 0x4C */ bool mLockFlag; /* 0x4D */ u8 field_0x4d[3]; /* 0x50 */ daAlink_lockCursor_c mLockCursor; @@ -127,7 +130,10 @@ public: /* 800CFCF4 */ daAlink_footData_c(); private: - /* 0x00 */ u8 field_0x00[0x8]; + /* 0x00 */ u8 field_0x00[2]; + /* 0x02 */ u16 field_0x2; + /* 0x04 */ u16 field_0x4; + /* 0x06 */ u16 field_0x6; /* 0x08 */ cXyz field_0x8; /* 0x14 */ Mtx field_0x14; /* 0x44 */ Mtx field_0x44; @@ -198,6 +204,11 @@ public: class daAlink_c; typedef int (daAlink_c::*daAlink_procFunc)(); +struct daAlink_procInitTable { + /* 0x0 */ daAlink_procFunc m_procFunc; + /* 0xC */ u32 m_mode; +}; // Size: 0x10 + class daAlink_c : public daPy_py_c { public: enum daAlink_ANM { @@ -476,9 +487,9 @@ public: /* 0x110 */ ANM_GRASS_WHISTLE_PLAY, /* 0x111 */ ANM_HAWK_CATCH, /* 0x112 */ ANM_HAWK_WAIT, - /* 0x113 */ ANM_WAIT_D_B, // ghost rats? + /* 0x113 */ ANM_WAIT_D_B, // ghost rats? /* 0x114 */ ANM_HORSE_WAIT_D_B, // ? - /* 0x115 */ ANM_MG_KICK, // ? + /* 0x115 */ ANM_MG_KICK, // ? /* 0x116 */ ANM_DIE, /* 0x117 */ ANM_HORSE_DIE, /* 0x118 */ ANM_SWIM_DIE, @@ -497,7 +508,7 @@ public: /* 0x125 */ ANM_FALL, /* 0x126 */ ANM_APPEARANCE, /* 0x127 */ ANM_S_JUMP_START, // ? - /* 0x128 */ ANM_S_JUMP_END, // ? + /* 0x128 */ ANM_S_JUMP_END, // ? /* 0x129 */ ANM_HOOKSHOT_FLY_LEFT, /* 0x12A */ ANM_HOOKSHOT_FLY_RIGHT, /* 0x12B */ ANM_HOOKSHOT_SHOOT, @@ -520,7 +531,7 @@ public: /* 0x13C */ ANM_HOOKSHOT_WALL_SHOOT_LEFT, /* 0x13D */ ANM_HOOKSHOT_WALL_SHOOT_RIGHT, /* 0x13E */ ANM_HVY_BOOTS_PUT_ON, - /* 0x13F */ ANM_SUMOU_MIAU, // ? + /* 0x13F */ ANM_SUMOU_MIAU, // ? /* 0x140 */ ANM_SUMOU_HAKEYOI, // ? /* 0x141 */ ANM_SUMOU_FIGHT_WAIT, /* 0x142 */ ANM_SUMOU_FIGHT_STEP_LEFT, @@ -579,7 +590,7 @@ public: /* 0x177 */ ANM_DRAGON_CUT_FINAL, /* 0x178 */ ANM_COPYROD_SWING, /* 0x179 */ ANM_COPYROD_SWING_LARGE, - /* 0x17A */ ANM_GET_MASTER_SWORD, // ? + /* 0x17A */ ANM_GET_MASTER_SWORD, // ? /* 0x17B */ ANM_WAIT_F, /* 0x17C */ ANM_ELEC_STUN_GND, /* 0x17D */ ANM_ELEC_STUN_AIR, @@ -613,7 +624,7 @@ public: /* 0x199 */ ANM_GANON_ON_HORSE, /* 0x19A */ ANM_DIVE_START, /* 0x19B */ ANM_DIVE, - /* 0x19C */ ANM_ODOROKU, // ? + /* 0x19C */ ANM_ODOROKU, // ? /* 0x19D */ ANM_ASHIMOTO, // ? }; @@ -629,8 +640,21 @@ public: UNDER_2, }; + enum daAlink_FTANM { + FTANM_UNK_8 = 8, + FTANM_UNK_13 = 0x13, + FTANM_UNK_14 = 0x14, + FTANM_UNK_27 = 0x27, + FTANM_UNK_2D = 0x2D, + FTANM_UNK_48 = 0x48, + FTANM_UNK_7A = 0x7A, + FTANM_UNK_7B = 0x7B, + FTANM_UNK_7C = 0x7C, + FTANM_UNK_90 = 0x90, + FTANM_UNK_96 = 0x96, + FTANM_UNK_9F = 0x9F, + }; - enum daAlink_FTANM {}; enum daAlink_WARP_MAT_MODE {}; enum daAlink_WANM { @@ -761,7 +785,7 @@ public: /* 0x7C */ WANM_SWIM_DIE, /* 0x7D */ WANM_SWIM_DROWN, /* 0x7E */ WANM_WAIT_STUNNED, // ? - /* 0x7F */ WANM_WAIT_A_TO_S, // ? + /* 0x7F */ WANM_WAIT_A_TO_S, // ? /* 0x80 */ WANM_SERVICE_WAIT_D, /* 0x81 */ WANM_MIDNA_SHOCK, /* 0x82 */ WANM_ENTRANCE, @@ -1258,7 +1282,7 @@ public: /* 800A54F4 */ BOOL checkHorseStart(u32, int); /* 800A551C */ int setStartProcInit(); /* 800A5CC8 */ int create(); - /* 800A662C */ void setRoomInfo(); + /* 800A662C */ s32 setRoomInfo(); /* 800A67E0 */ void setShapeAngleOnGround(); /* 800A6B0C */ void setStepsOffset(); /* 800A6DCC */ void iceSlipBgCheck(); @@ -1278,7 +1302,7 @@ public: /* 800A9F4C */ void setWolfItemMatrix(); /* 800AA2BC */ void setHandIndex(daAlink_c::daAlink_ANM); /* 800AA2E0 */ void setSwordAtCollision(int); - /* 800AA5E8 */ void checkNoCollisionCorret(); + /* 800AA5E8 */ BOOL checkNoCollisionCorret(); /* 800AA6B4 */ void decSwordBlur(); /* 800AA714 */ void resetWolfAtCollision(); /* 800AA7EC */ void setWolfAtCollision(); @@ -1289,12 +1313,13 @@ public: /* 800ABB28 */ void cancelLockAt(); /* 800ABB84 */ void setCollisionPos(); /* 800ABDB8 */ void setCollision(); - /* 800AC394 */ void setFrameCtrl(daPy_frameCtrl_c*, u8, s16, s16, f32, f32); + /* 800AC394 */ void setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s16 i_end, + f32 i_rate, f32 i_frame); /* 800AC450 */ const daAlink_BckData* getMainBckData(daAlink_c::daAlink_ANM) const; /* 800AC558 */ BOOL checkUnderMove0BckNoArc(daAlink_c::daAlink_ANM) const; /* 800AC5B4 */ BOOL checkUnderMove1BckNoArc(daAlink_c::daAlink_ANM) const; /* 800AC610 */ int getUnderUpperAnime(daAlink_c::daAlink_ANM, J3DAnmTransform**, - J3DAnmTransform**, int, u32); + J3DAnmTransform**, int, u32); /* 800AC738 */ void setDoubleAnimeBlendRatio(f32); /* 800AC754 */ void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, f32, f32, f32, int); @@ -1304,7 +1329,8 @@ public: /* 800ACF80 */ void setSingleAnimeBase(daAlink_c::daAlink_ANM anmID); /* 800ACFB0 */ void setSingleAnimeBaseMorf(daAlink_c::daAlink_ANM anmID, f32); /* 800ACFE0 */ void setSingleAnimeBaseSpeed(daAlink_c::daAlink_ANM anmID, f32 speed, f32 morf); - /* 800AD00C */ int setSingleAnime(daAlink_c::daAlink_ANM anmID, f32 rate, f32 start, s16 endF, f32 morf); + /* 800AD00C */ int setSingleAnime(daAlink_c::daAlink_ANM anmID, f32 rate, f32 start, s16 endF, + f32 morf); /* 800AD0F4 */ int setSingleAnimeParam(daAlink_c::daAlink_ANM anmID, daAlinkHIO_anm_c const*); /* 800AD128 */ void animePlay(J3DAnmTransform*, daPy_frameCtrl_c*); /* 800AD170 */ void allAnimePlay(); @@ -1357,9 +1383,9 @@ public: /* 800B25CC */ BOOL itemTriggerCheck(u8); /* 800B25E8 */ BOOL itemButtonCheck(u8); /* 800B2604 */ BOOL itemButton(); - /* 800B2634 */ void itemTrigger(); - /* 800B2664 */ void spActionButton(); - /* 800B2688 */ void spActionTrigger(); + /* 800B2634 */ BOOL itemTrigger(); + /* 800B2664 */ BOOL spActionButton(); + /* 800B2688 */ BOOL spActionTrigger(); /* 800B26AC */ BOOL midnaTalkTrigger() const; /* 800B26B8 */ BOOL swordSwingTrigger(); /* 800B26DC */ void setItemActionButtonStatus(u8); @@ -1376,9 +1402,9 @@ public: /* 800B3358 */ void setTiredVoice(daPy_frameCtrl_c*); /* 800B33E4 */ void checkRestHPAnime(); /* 800B3494 */ static int getDirectionFromAngle(s16 angle); - /* 800B3500 */ void checkAttentionState(); - /* 800B3630 */ void getShapeAngleYAtnActor(); - /* 800B3734 */ void setShapeAngleToAtnActor(int); + /* 800B3500 */ bool checkAttentionState(); + /* 800B3630 */ s16 getShapeAngleYAtnActor(); + /* 800B3734 */ bool setShapeAngleToAtnActor(int); /* 800B3844 */ void initServiceWaitTime(); /* 800B3904 */ bool checkZeroSpeedF() const; /* 800B3924 */ void setNormalSpeedF(f32, f32); @@ -1386,7 +1412,7 @@ public: /* 800B3FD4 */ void setSpeedAndAngleNormal(); /* 800B444C */ void setSpeedAndAngleAtn(); /* 800B477C */ int checkRequestTalkActor(dAttList_c*, fopAc_ac_c*); - /* 800B47B4 */ void checkServiceWaitMode(); + /* 800B47B4 */ bool checkServiceWaitMode(); /* 800B48D0 */ void setJumpMode(); /* 800B4908 */ f32 getMetamorphoseNearDis() const; /* 800B4918 */ f32 getMetamorphoseFarDis() const; @@ -1401,40 +1427,40 @@ public: /* 800B5BC0 */ void setFallVoice(); /* 800B5C34 */ void setLandPassiveData(); /* 800B5C64 */ void setStepLandVibration(); - /* 800B5CCC */ void checkLandAction(int); + /* 800B5CCC */ BOOL checkLandAction(int); /* 800B5F6C */ BOOL checkSlideAction(); /* 800B607C */ BOOL checkAutoJumpAction(); - /* 800B69CC */ bool checkCutJumpInFly(); + /* 800B69CC */ BOOL checkCutJumpInFly(); /* 800B6A30 */ BOOL checkFrontWallTypeAction(); - /* 800B6F28 */ void checkItemActionInitStart(); - /* 800B7090 */ void checkItemChangeAutoAction(); + /* 800B6F28 */ int checkItemActionInitStart(); + /* 800B7090 */ int checkItemChangeAutoAction(); /* 800B7168 */ void setFastShotTimer(); /* 800B7190 */ void cancelItemUseQuake(int); - /* 800B71EC */ void cancelUpperItemReadyAnime(int); - /* 800B72E4 */ void checkItemActorPointer(); + /* 800B71EC */ int cancelUpperItemReadyAnime(int); + /* 800B72E4 */ BOOL checkItemActorPointer(); /* 800B7390 */ bool checkSwordTwirlAction(); /* 800B74B4 */ BOOL checkUpperItemActionFly(); /* 800B7528 */ void checkItemButtonChange(); - /* 800B75EC */ void checkUpperItemAction(); + /* 800B75EC */ BOOL checkUpperItemAction(); /* 800B7B7C */ void orderPeep(); /* 800B7BF8 */ int orderTalk(int); /* 800B80C4 */ int orderZTalk(); - /* 800B8374 */ void checkNormalAction(); + /* 800B8374 */ int checkNormalAction(); /* 800B8930 */ bool checkReadyItem(); - /* 800B8988 */ void checkItemAction(); - /* 800B9010 */ bool checkRAction(); - /* 800B9018 */ void checkMoveDoAction(); + /* 800B8988 */ BOOL checkItemAction(); + /* 800B9010 */ BOOL checkRAction(); + /* 800B9018 */ BOOL checkMoveDoAction(); /* 800B9148 */ BOOL checkSideRollAction(int); /* 800B9254 */ BOOL checkNoUpperAnime() const; - /* 800B92D0 */ void checkOneHandItemEquipAnime() const; - /* 800B92F8 */ void checkItemEquipAnime() const; + /* 800B92D0 */ BOOL checkOneHandItemEquipAnime() const; + /* 800B92F8 */ BOOL checkItemEquipAnime() const; /* 800B9340 */ BOOL checkEquipAnime() const; /* 800B9398 */ BOOL checkWindDashAnime() const; - /* 800B93CC */ void checkSwordTwirlAnime() const; + /* 800B93CC */ BOOL checkSwordTwirlAnime() const; /* 800B93F4 */ void swordEquip(int); /* 800B9580 */ void swordUnequip(); - /* 800B9640 */ void itemEquip(u16); - /* 800B96A4 */ void itemUnequip(u16, f32); + /* 800B9640 */ void itemEquip(u16 i_itemID); + /* 800B96A4 */ void itemUnequip(u16 i_itemID, f32 i_playSpeed); /* 800B97EC */ bool checkFastUnequip(); /* 800B983C */ void allUnequip(int); /* 800B994C */ BOOL checkItemChangeFromButton(); @@ -1444,10 +1470,10 @@ public: /* 800BA0D0 */ int checkNextAction(int); /* 800BA6A0 */ void commonChangeItem(); /* 800BA914 */ void setItemAction(); - /* 800BAF08 */ void checkNextActionFromCrouch(int); + /* 800BAF08 */ bool checkNextActionFromCrouch(int); /* 800BAF80 */ int checkUpperReadyThrowAnime() const; /* 800BB020 */ void getBodyAngleXBasePos(cXyz*); - /* 800BB084 */ void getBodyAngleXAtnActor(int); + /* 800BB084 */ s16 getBodyAngleXAtnActor(int); /* 800BB2B0 */ void setBodyAngleXReadyAnime(int); /* 800BB324 */ void setMagicArmorBrk(int); /* 800BB408 */ BOOL checkMagicArmorHeavy() const; @@ -1458,11 +1484,11 @@ public: /* 800BBD40 */ void setFootSpeed(); /* 800BBF68 */ void posMove(); /* 800BD6FC */ void autoGroundHit(); - /* 800BDD70 */ void startPeepChange(); + /* 800BDD70 */ bool startPeepChange(); /* 800BDE20 */ void setLastSceneDamage(int, u32*); /* 800BDE48 */ void setLastSceneMode(u32*); - /* 800BDF60 */ void startRestartRoom(u32, int, int, int); - /* 800BE26C */ void checkCoachGuardGame(); + /* 800BDF60 */ int startRestartRoom(u32, int, int, int); + /* 800BE26C */ BOOL checkCoachGuardGame(); /* 800BE2C0 */ void checkRoofRestart(); /* 800BE3E4 */ bool checkRestartRoom(); /* 800BE9D4 */ s16 getSceneExitMoveAngle(); @@ -1474,7 +1500,7 @@ public: /* 800BF204 */ void setBasAnime(daAlink_c::daAlink_UNDER); /* 800BF37C */ void initBasAnime(); /* 800BF4E0 */ void resetBasAnime(); - /* 800BF500 */ void checkSightLine(f32, cXyz*); + /* 800BF500 */ BOOL checkSightLine(f32, cXyz*); /* 800BF79C */ void setMetamorphoseModel(int); /* 800BF854 */ void keepItemData(); /* 800BF884 */ void returnKeepItemData(); @@ -1486,8 +1512,8 @@ public: /* 800BFE48 */ J3DModelData* loadAramBmd(u16, u32); /* 800BFF04 */ void* loadAram(u16, u32); /* 800BFF70 */ J3DAnmTevRegKey* loadAramItemBrk(u16, J3DModel*); - /* 800BFFCC */ void loadAramItemBtk(u16, J3DModel*); - /* 800C0028 */ void loadAramItemBtp(u16, J3DModel*); + /* 800BFFCC */ J3DAnmTextureSRTKey* loadAramItemBtk(u16, J3DModel*); + /* 800C0028 */ J3DAnmTexPattern* loadAramItemBtp(u16, J3DModel*); /* 800C0084 */ void changeItemBck(u16, f32); /* 800C0114 */ int checkGroupItem(int, int) const; /* 800C0164 */ int checkSetItemTrigger(int); @@ -1505,8 +1531,8 @@ public: /* 800C05DC */ bool checkNotHeavyBootsStage(); /* 800C0630 */ bool checkNotAutoJumpStage(); /* 800C0678 */ static bool checkCastleTownUseItem(u16); - /* 800C077C */ void changeItemTriggerKeepProc(u8, int); - /* 800C0A9C */ void checkNewItemChange(u8); + /* 800C077C */ int changeItemTriggerKeepProc(u8, int); + /* 800C0A9C */ int checkNewItemChange(u8); /* 800C12DC */ void deleteEquipItem(int playSound, int deleteKantera); /* 800C1704 */ void setLight(); /* 800C1CEC */ void setFrontRollCrashShock(u8); @@ -1514,13 +1540,13 @@ public: /* 800C1F6C */ void commonProcInit(daAlink_c::daAlink_PROC procID); /* 800C2DA4 */ BOOL commonProcInitNotSameProc(daAlink_PROC procID); /* 800C2DDC */ int procPreActionUnequipInit(int, fopAc_ac_c*); - /* 800C2EAC */ void procPreActionUnequip(); + /* 800C2EAC */ int procPreActionUnequip(); /* 800C3098 */ int procServiceWaitInit(); /* 800C30F0 */ int procServiceWait(); - /* 800C3224 */ void procTiredWaitInit(); + /* 800C3224 */ int procTiredWaitInit(); /* 800C3338 */ int procTiredWait(); /* 800C33B8 */ int procWaitInit(); - /* 800C3504 */ void procWait(); + /* 800C3504 */ int procWait(); /* 800C36CC */ int procMoveInit(); /* 800C3730 */ int procMove(); /* 800C3810 */ int procAtnMoveInit(); @@ -1538,48 +1564,48 @@ public: /* 800C40F0 */ int procSideStepLandInit(); /* 800C4278 */ int procSideStepLand(); /* 800C4378 */ int procSlideInit(s16); - /* 800C4514 */ void procSlide(); + /* 800C4514 */ int procSlide(); /* 800C47AC */ int procSlideLandInit(int); /* 800C4894 */ int procSlideLand(); /* 800C494C */ int procFrontRollInit(); - /* 800C4B40 */ void procFrontRoll(); - /* 800C4F14 */ void procFrontRollCrashInit(); - /* 800C4FFC */ void procFrontRollCrash(); - /* 800C5160 */ void procFrontRollSuccessInit(); - /* 800C5240 */ void procFrontRollSuccess(); + /* 800C4B40 */ int procFrontRoll(); + /* 800C4F14 */ int procFrontRollCrashInit(); + /* 800C4FFC */ int procFrontRollCrash(); + /* 800C5160 */ int procFrontRollSuccessInit(); + /* 800C5240 */ int procFrontRollSuccess(); /* 800C5328 */ int procSideRollInit(int); - /* 800C5484 */ void procSideRoll(); + /* 800C5484 */ int procSideRoll(); /* 800C5700 */ void backJumpSpeedDec(); /* 800C57A4 */ int procBackJumpInit(int); - /* 800C5964 */ void procBackJump(); - /* 800C5A54 */ void procBackJumpLandInit(int); - /* 800C5AF0 */ void procBackJumpLand(); - /* 800C5C28 */ void procSlipInit(); - /* 800C5CA4 */ void procSlip(); - /* 800C5E68 */ void procAutoJumpInit(int); - /* 800C61EC */ void procAutoJump(); - /* 800C66DC */ void procDiveJumpInit(); - /* 800C6798 */ void procDiveJump(); - /* 800C6850 */ void procRollJumpInit(); - /* 800C692C */ void procRollJump(); + /* 800C5964 */ int procBackJump(); + /* 800C5A54 */ int procBackJumpLandInit(int); + /* 800C5AF0 */ int procBackJumpLand(); + /* 800C5C28 */ int procSlipInit(); + /* 800C5CA4 */ int procSlip(); + /* 800C5E68 */ int procAutoJumpInit(int); + /* 800C61EC */ int procAutoJump(); + /* 800C66DC */ int procDiveJumpInit(); + /* 800C6798 */ int procDiveJump(); + /* 800C6850 */ int procRollJumpInit(); + /* 800C692C */ int procRollJump(); /* 800C6A48 */ int procFallInit(int, f32); - /* 800C6D20 */ void procFall(); - /* 800C6F18 */ void procLandInit(f32); - /* 800C6FE4 */ void procLand(); + /* 800C6D20 */ int procFall(); + /* 800C6F18 */ int procLandInit(f32); + /* 800C6FE4 */ int procLand(); /* 800C70F8 */ int procSmallJumpInit(int); - /* 800C72D4 */ void procSmallJump(); - /* 800C74D4 */ void procStepMoveInit(); - /* 800C755C */ void procStepMove(); - /* 800C7690 */ void procCrouchInit(); - /* 800C76F8 */ void procCrouch(); + /* 800C72D4 */ int procSmallJump(); + /* 800C74D4 */ int procStepMoveInit(); + /* 800C755C */ int procStepMove(); + /* 800C7690 */ int procCrouchInit(); + /* 800C76F8 */ int procCrouch(); /* 800C77F4 */ int procCoMetamorphoseInit(); - /* 800C7C64 */ void procCoMetamorphose(); - /* 800C82E8 */ void procCoMetamorphoseOnlyInit(); - /* 800C83A0 */ void procCoMetamorphoseOnly(); + /* 800C7C64 */ int procCoMetamorphose(); + /* 800C82E8 */ int procCoMetamorphoseOnlyInit(); + /* 800C83A0 */ int procCoMetamorphoseOnly(); /* 800C8460 */ int procFloorDownReboundInit(); - /* 800C84D0 */ void procFloorDownRebound(); - /* 800C854C */ void procGoronRideWaitInit(fopAc_ac_c*); - /* 800C85D8 */ void procGoronRideWait(); + /* 800C84D0 */ int procFloorDownRebound(); + /* 800C854C */ int procGoronRideWaitInit(fopAc_ac_c*); + /* 800C85D8 */ int procGoronRideWait(); /* 800C8700 */ int execute(); /* 800CAFC8 */ void setDrawHand(); /* 800CB480 */ bool checkSwordDraw(); @@ -1593,23 +1619,23 @@ public: /* 800CC2E0 */ void modelDraw(J3DModel*, int); /* 800CC364 */ void setWaterDropColor(J3DGXColorS10 const*); /* 800CC7DC */ void initTevCustomColor(); - /* 800CC7FC */ void draw(); + /* 800CC7FC */ int draw(); /* 800CD7AC */ ~daAlink_c(); /* 800CE294 */ void checkNoSubjectModeCamera(); - /* 800CE468 */ void acceptSubjectModeChange(); - /* 800CE628 */ void checkSubjectAction(); + /* 800CE468 */ bool acceptSubjectModeChange(); + /* 800CE628 */ int checkSubjectAction(); /* 800CE728 */ void checkBodyAngleX(s16); - /* 800CE8A0 */ void setBodyAngleToCamera(); + /* 800CE8A0 */ BOOL setBodyAngleToCamera(); /* 800CEAF4 */ void setSubjectMode(); - /* 800CEB58 */ void subjectCancelTrigger(); - /* 800CEBD8 */ void checkSubjectEnd(int); + /* 800CEB58 */ BOOL subjectCancelTrigger(); + /* 800CEBD8 */ int checkSubjectEnd(int); /* 800CECE4 */ void searchPeepObj(fopAc_ac_c*, void*); - /* 800CED84 */ void procCoSubjectivityInit(); - /* 800CEE08 */ void procCoSubjectivity(); - /* 800CEF70 */ void procCoSwimSubjectivityInit(); - /* 800CF018 */ void procCoSwimSubjectivity(); - /* 800CF100 */ void procCoPeepSubjectivityInit(); - /* 800CF1B8 */ void procCoPeepSubjectivity(); + /* 800CED84 */ int procCoSubjectivityInit(); + /* 800CEE08 */ int procCoSubjectivity(); + /* 800CEF70 */ int procCoSwimSubjectivityInit(); + /* 800CF018 */ int procCoSwimSubjectivity(); + /* 800CF100 */ int procCoPeepSubjectivityInit(); + /* 800CF1B8 */ int procCoPeepSubjectivity(); /* 800CF380 */ daAlink_c(); /* 800CFEB0 */ BOOL checkRideOn() const; /* 800CFF4C */ BOOL checkAttentionLock(); @@ -1640,9 +1666,10 @@ public: /* 800D1454 */ void checkComboCnt(); /* 800D152C */ void setCutType(u8); /* 800D1540 */ void setCylAtParam(u32, dCcG_At_Spl, u8, u8, int, f32, f32); - /* 800D1688 */ void setSwordAtParam(dCcG_At_Spl, u8, u8, int, f32, f32); - /* 800D1788 */ static bool notSwordHitVibActor(fopAc_ac_c*); - /* 800D17EC */ void setSwordHitVibration(dCcD_GObjInf*); + /* 800D1688 */ void setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, f32 param_4, + f32 i_radius); + /* 800D1788 */ static BOOL notSwordHitVibActor(fopAc_ac_c*); + /* 800D17EC */ BOOL setSwordHitVibration(dCcD_GObjInf*); /* 800D1920 */ BOOL checkAtShieldHit(dCcD_GObjInf&); /* 800D1978 */ bool checkCutReverseAt(dCcD_GObjInf*); /* 800D19C8 */ BOOL changeCutReverseProc(daAlink_c::daAlink_ANM); @@ -1650,162 +1677,162 @@ public: /* 800D20B4 */ BOOL checkForceSwordSwing(); /* 800D20FC */ void setComboReserb(); /* 800D2188 */ BOOL checkComboReserb(); - /* 800D21D0 */ bool commonCutAction(); + /* 800D21D0 */ int commonCutAction(); /* 800D2284 */ void setSwordVoiceSe(u32); /* 800D22BC */ void setSwordChargeVoiceSe(); /* 800D2304 */ void setSwordComboVoice(); /* 800D2368 */ bool checkCutTurnInputTrigger(); - /* 800D23C0 */ void checkCutAction(); - /* 800D26EC */ void getCutDirection(); - /* 800D2760 */ void checkCutCancelNextMode(int); + /* 800D23C0 */ int checkCutAction(); + /* 800D26EC */ int getCutDirection(); + /* 800D2760 */ BOOL checkCutCancelNextMode(int); /* 800D27E4 */ void checkDoCutAction(); - /* 800D2890 */ static BOOL checkCutBackState(); - /* 800D28F4 */ void checkCutHeadState(); - /* 800D29D4 */ void checkDownAttackState(); - /* 800D2ABC */ void checkCutLargeTurnState() const; + /* 800D2890 */ BOOL checkCutBackState(); + /* 800D28F4 */ BOOL checkCutHeadState(); + /* 800D29D4 */ BOOL checkDownAttackState(); + /* 800D2ABC */ BOOL checkCutLargeTurnState() const; /* 800D2B88 */ void cancelCutCharge(); /* 800D2BFC */ void initCutAtnActorSearch(); /* 800D2C54 */ void checkCutAtnActorChange(); /* 800D2C78 */ void setCutJumpSpeed(int); - /* 800D2F58 */ void procCutNormalInit(int); - /* 800D31B8 */ void procCutNormal(); - /* 800D34D8 */ void procCutFinishInit(int); - /* 800D382C */ void procCutFinish(); - /* 800D3ADC */ void procCutFinishJumpUpInit(); - /* 800D3CCC */ void procCutFinishJumpUp(); - /* 800D3DD8 */ void procCutFinishJumpUpLandInit(); - /* 800D3ECC */ void procCutFinishJumpUpLand(); - /* 800D4068 */ void procCutReverseInit(daAlink_c::daAlink_ANM); - /* 800D41FC */ void procCutReverse(); - /* 800D42FC */ bool procCutJumpInit(int); - /* 800D43F8 */ bool procCutJump(); - /* 800D452C */ void procCutJumpLandInit(int); - /* 800D4684 */ void procCutJumpLand(); - /* 800D47DC */ void procCutTurnInit(int, int); - /* 800D4A74 */ void procCutTurn(); - /* 800D4C68 */ void procCutTurnChargeInit(); - /* 800D4D04 */ void procCutTurnCharge(); - /* 800D4DDC */ void procCutTurnMoveInit(int); - /* 800D4EFC */ void procCutTurnMove(); - /* 800D53C8 */ void procCutDownInit(); - /* 800D57F8 */ void procCutDown(); - /* 800D58A0 */ void procCutDownLandInit(fopEn_enemy_c*); - /* 800D5ADC */ void procCutDownLand(); - /* 800D5C88 */ void procCutHeadInit(); - /* 800D5FC8 */ void procCutHead(); - /* 800D6130 */ void procCutHeadLandInit(); - /* 800D618C */ void procCutHeadLand(); - /* 800D6238 */ void procCutLargeJumpChargeInit(); - /* 800D62A0 */ void procCutLargeJumpCharge(); - /* 800D6374 */ void procCutLargeJumpInit(); - /* 800D6484 */ bool procCutLargeJump(); - /* 800D66C0 */ void procCutLargeJumpLandInit(int); - /* 800D67FC */ void procCutLargeJumpLand(); - /* 800D698C */ void procSwordUnequipSpInit(); - /* 800D6A38 */ void procSwordUnequipSp(); - /* 800D6D94 */ void getFreezeR() const; - /* 800D6DA4 */ void getFreezeG() const; - /* 800D6DB4 */ void getFreezeB() const; - /* 800D6DC4 */ void checkMiddleBossGoronRoom(); + /* 800D2F58 */ int procCutNormalInit(int); + /* 800D31B8 */ int procCutNormal(); + /* 800D34D8 */ int procCutFinishInit(int); + /* 800D382C */ int procCutFinish(); + /* 800D3ADC */ int procCutFinishJumpUpInit(); + /* 800D3CCC */ int procCutFinishJumpUp(); + /* 800D3DD8 */ int procCutFinishJumpUpLandInit(); + /* 800D3ECC */ int procCutFinishJumpUpLand(); + /* 800D4068 */ int procCutReverseInit(daAlink_c::daAlink_ANM); + /* 800D41FC */ int procCutReverse(); + /* 800D42FC */ int procCutJumpInit(int); + /* 800D43F8 */ int procCutJump(); + /* 800D452C */ int procCutJumpLandInit(int); + /* 800D4684 */ int procCutJumpLand(); + /* 800D47DC */ int procCutTurnInit(int, int); + /* 800D4A74 */ int procCutTurn(); + /* 800D4C68 */ int procCutTurnChargeInit(); + /* 800D4D04 */ int procCutTurnCharge(); + /* 800D4DDC */ int procCutTurnMoveInit(int); + /* 800D4EFC */ int procCutTurnMove(); + /* 800D53C8 */ int procCutDownInit(); + /* 800D57F8 */ int procCutDown(); + /* 800D58A0 */ int procCutDownLandInit(fopEn_enemy_c*); + /* 800D5ADC */ int procCutDownLand(); + /* 800D5C88 */ int procCutHeadInit(); + /* 800D5FC8 */ int procCutHead(); + /* 800D6130 */ int procCutHeadLandInit(); + /* 800D618C */ int procCutHeadLand(); + /* 800D6238 */ int procCutLargeJumpChargeInit(); + /* 800D62A0 */ int procCutLargeJumpCharge(); + /* 800D6374 */ int procCutLargeJumpInit(); + /* 800D6484 */ int procCutLargeJump(); + /* 800D66C0 */ int procCutLargeJumpLandInit(int); + /* 800D67FC */ int procCutLargeJumpLand(); + /* 800D698C */ int procSwordUnequipSpInit(); + /* 800D6A38 */ int procSwordUnequipSp(); + /* 800D6D94 */ s16 getFreezeR() const; + /* 800D6DA4 */ s16 getFreezeG() const; + /* 800D6DB4 */ s16 getFreezeB() const; + /* 800D6DC4 */ bool checkMiddleBossGoronRoom(); /* 800D6E24 */ void freezeTimerDamage(); - /* 800D6F2C */ void checkNoLandDamageSlidePolygon(); + /* 800D6F2C */ BOOL checkNoLandDamageSlidePolygon(); /* 800D6FE0 */ void checkCutLandDamage(); - /* 800D70A0 */ void checkCaughtEscapeCutTurn(); - /* 800D7208 */ f32 damageMagnification(int, int); - /* 800D72BC */ void setDamagePoint(int, int, int, int); + /* 800D70A0 */ BOOL checkCaughtEscapeCutTurn(); + /* 800D7208 */ f32 damageMagnification(int i_checkZoraMag, int); + /* 800D72BC */ int setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgTimer, int); /* 800D7478 */ void setDamagePointNormal(int); /* 800D74A4 */ void setLandDamagePoint(int); /* 800D74F4 */ void getDamageVec(dCcD_GObjInf*); /* 800D76C4 */ void setDashDamage(); - /* 800D7768 */ void checkIcePolygonDamage(cBgS_PolyInfo*); + /* 800D7768 */ static bool checkIcePolygonDamage(cBgS_PolyInfo*); /* 800D77C8 */ BOOL checkMagicArmorNoDamage(); /* 800D7820 */ void checkPolyDamage(); /* 800D7A98 */ void checkElecReturnDamage(dCcD_GObjInf&, fopAc_ac_c**); /* 800D7B18 */ void damageTimerCount(); - /* 800D7BE8 */ void checkHugeAttack(int) const; - /* 800D7C14 */ void checkLargeAttack(int) const; + /* 800D7BE8 */ bool checkHugeAttack(int) const; + /* 800D7C14 */ bool checkLargeAttack(int) const; /* 800D7C40 */ BOOL checkDamageAction(); - /* 800D8F3C */ void procDamageInit(dCcD_GObjInf*, int); - /* 800D9514 */ void procDamage(); - /* 800D96DC */ void procCoLargeDamageInit(int, int, s16, s16, dCcD_GObjInf*, int); - /* 800D9E88 */ void procCoLargeDamage(); - /* 800DA180 */ void procLargeDamageUpInit(int, int, s16, s16); - /* 800DA554 */ void procLargeDamageUp(); - /* 800DA82C */ void procCoLargeDamageWallInit(int, int, s16, s16); - /* 800DAC28 */ void procCoLargeDamageWall(); - /* 800DAC84 */ void procCoPolyDamageInit(); - /* 800DAD90 */ void procCoPolyDamage(); - /* 800DAE10 */ void procLandDamageInit(int); - /* 800DB060 */ void procLandDamage(); - /* 800DB140 */ void procCoElecDamageInit(fopAc_ac_c*, dCcD_GObjInf*, int); - /* 800DB418 */ void procCoElecDamage(); - /* 800DB5B0 */ void procStEscapeInit(); - /* 800DB610 */ void procStEscape(); - /* 800DB6A4 */ void procDkCaughtInit(unsigned int); - /* 800DB860 */ void procDkCaught(); + /* 800D8F3C */ int procDamageInit(dCcD_GObjInf*, int); + /* 800D9514 */ int procDamage(); + /* 800D96DC */ int procCoLargeDamageInit(int, int, s16, s16, dCcD_GObjInf*, int); + /* 800D9E88 */ int procCoLargeDamage(); + /* 800DA180 */ int procLargeDamageUpInit(int, int, s16, s16); + /* 800DA554 */ int procLargeDamageUp(); + /* 800DA82C */ int procCoLargeDamageWallInit(int, int, s16, s16); + /* 800DAC28 */ int procCoLargeDamageWall(); + /* 800DAC84 */ int procCoPolyDamageInit(); + /* 800DAD90 */ int procCoPolyDamage(); + /* 800DAE10 */ int procLandDamageInit(int); + /* 800DB060 */ int procLandDamage(); + /* 800DB140 */ int procCoElecDamageInit(fopAc_ac_c*, dCcD_GObjInf*, int); + /* 800DB418 */ int procCoElecDamage(); + /* 800DB5B0 */ int procStEscapeInit(); + /* 800DB610 */ int procStEscape(); + /* 800DB6A4 */ int procDkCaughtInit(unsigned int); + /* 800DB860 */ int procDkCaught(); /* 800DBC98 */ void setScreamWaitAnime(); - /* 800DBD1C */ void procScreamWaitInit(); - /* 800DBDA4 */ void procScreamWait(); - /* 800DBE00 */ void procCoSandWallHitInit(); - /* 800DBE74 */ void procCoSandWallHit(); - /* 800DBED8 */ void procCoLavaReturnInit(int); - /* 800DC214 */ void procCoLavaReturn(); - /* 800DC278 */ void procCoSwimFreezeReturnInit(); - /* 800DC474 */ void procCoSwimFreezeReturn(); + /* 800DBD1C */ int procScreamWaitInit(); + /* 800DBDA4 */ int procScreamWait(); + /* 800DBE00 */ int procCoSandWallHitInit(); + /* 800DBE74 */ int procCoSandWallHit(); + /* 800DBED8 */ int procCoLavaReturnInit(int); + /* 800DC214 */ int procCoLavaReturn(); + /* 800DC278 */ int procCoSwimFreezeReturnInit(); + /* 800DC474 */ int procCoSwimFreezeReturn(); /* 800DC548 */ static BOOL checkEnemyGroup(fopAc_ac_c*); /* 800DC5A4 */ static BOOL checkSpecialNpc(fopAc_ac_c*); /* 800DC5DC */ bool checkShieldAttackEmphasys(); /* 800DC678 */ BOOL checkGuardActionChange(); /* 800DC79C */ void stickArrowIncrement(int); /* 800DC8C4 */ void setArrowShieldActor(fopAc_ac_c*, int); - /* 800DCA2C */ void checkWoodShieldEquipNotIronBall() const; + /* 800DCA2C */ BOOL checkWoodShieldEquipNotIronBall() const; /* 800DCA80 */ void getArrowShieldOffset(cXyz const*, csXyz const*, cXyz*, cXyz*) const; /* 800DCD74 */ void setArrowShieldPos(cXyz*, csXyz*, cXyz const*, cXyz const*) const; /* 800DCDF0 */ BOOL checkUpperGuardAnime() const; - /* 800DCF04 */ void checkPlayerGuardAndAttack() const; - /* 800DCF64 */ void checkGuardAccept(); + /* 800DCF04 */ BOOL checkPlayerGuardAndAttack() const; + /* 800DCF64 */ BOOL checkGuardAccept(); /* 800DD008 */ void setUpperGuardAnime(f32); /* 800DD018 */ void setShieldGuard(); /* 800DD114 */ void setGuardSe(dCcD_GObjInf*); /* 800DD1D4 */ void setSmallGuard(dCcD_GObjInf*); - /* 800DD3E4 */ void procGuardSlipInit(int, dCcD_GObjInf*); - /* 800DD894 */ void procGuardSlip(); - /* 800DDA10 */ void procGuardAttackInit(); - /* 800DDBA8 */ void procGuardAttack(); - /* 800DDE58 */ void procGuardBreakInit(); - /* 800DDF2C */ void procGuardBreak(); + /* 800DD3E4 */ int procGuardSlipInit(int, dCcD_GObjInf*); + /* 800DD894 */ int procGuardSlip(); + /* 800DDA10 */ int procGuardAttackInit(); + /* 800DDBA8 */ int procGuardAttack(); + /* 800DDE58 */ int procGuardBreakInit(); + /* 800DDF2C */ int procGuardBreak(); /* 800DE008 */ bool procTurnMoveInit(int); - /* 800DE380 */ void procTurnMove(); + /* 800DE380 */ int procTurnMove(); /* 800DE64C */ void getArrowFlyData(f32*, f32*, int) const; - /* 800DE740 */ void getArrowIncAtR() const; - /* 800DE750 */ void getBombArrowFlyExplodeTime() const; - /* 800DE760 */ void getArrowIncAtMaxStart() const; - /* 800DE770 */ void getArrowIncAtMax() const; + /* 800DE740 */ f32 getArrowIncAtR() const; + /* 800DE750 */ s16 getBombArrowFlyExplodeTime() const; + /* 800DE760 */ f32 getArrowIncAtMaxStart() const; + /* 800DE770 */ f32 getArrowIncAtMax() const; /* 800DE780 */ BOOL checkBowAndSlingItem(int); /* 800DE7D4 */ void setSlingModel(); - /* 800DE884 */ void checkBowCameraArrowPosP(s16*, s16*); - /* 800DE9B8 */ void checkBowReadyAnime() const; - /* 800DE9E8 */ void checkBowAnime() const; + /* 800DE884 */ cXyz* checkBowCameraArrowPosP(s16*, s16*); + /* 800DE9B8 */ BOOL checkBowReadyAnime() const; + /* 800DE9E8 */ BOOL checkBowAnime() const; /* 800DEA3C */ void makeArrow(); /* 800DEAE4 */ void deleteArrow(); /* 800DEB8C */ void setBowOrSlingStatus(); /* 800DEBC8 */ void changeArrowType(); - /* 800DED88 */ void cancelBowMoveRideNotAtn(); - /* 800DEE1C */ void cancelBowMove(); + /* 800DED88 */ BOOL cancelBowMoveRideNotAtn(); + /* 800DEE1C */ BOOL cancelBowMove(); /* 800DEEDC */ void setBowReadyAnime(); /* 800DEFB8 */ void setBowReloadAnime(); /* 800DF0BC */ void checkUpperItemActionBow(); /* 800DF798 */ void checkUpperItemActionBowFly(); - /* 800DF814 */ void checkNextActionBow(); + /* 800DF814 */ int checkNextActionBow(); /* 800DFAE8 */ void setBowModel(); /* 800DFBC8 */ bool checkBowGrabLeftHand() const; /* 800DFC28 */ void setBowHangAnime(); /* 800DFC70 */ void setBowNormalAnime(); /* 800DFCD8 */ void setBowSight(); - /* 800DFD6C */ void procBowSubjectInit(); - /* 800DFDDC */ void procBowSubject(); - /* 800DFE3C */ void procBowMoveInit(); - /* 800DFEC0 */ void procBowMove(); + /* 800DFD6C */ int procBowSubjectInit(); + /* 800DFDDC */ int procBowSubject(); + /* 800DFE3C */ int procBowMoveInit(); + /* 800DFEC0 */ int procBowMove(); /* 800DFFE0 */ BOOL checkBoomerangLockAccept(); /* 800E0010 */ f32 getBoomSpeed(); /* 800E00B0 */ f32 getBoomCatchSpeed() const; @@ -1825,18 +1852,18 @@ public: /* 800E05E8 */ void setThrowBoomerangAnime(); /* 800E0630 */ void setBoomerangCatchAnime(); /* 800E06B8 */ void throwBoomerang(); - /* 800E08C4 */ void returnBoomerang(int); - /* 800E0A9C */ void checkUpperItemActionBoomerang(); + /* 800E08C4 */ int returnBoomerang(int); + /* 800E0A9C */ int checkUpperItemActionBoomerang(); /* 800E0B58 */ void checkUpperItemActionBoomerangFly(); - /* 800E0BE4 */ void checkNextActionBoomerang(); - /* 800E0D8C */ void checkBoomerangCatchAction(); + /* 800E0BE4 */ int checkNextActionBoomerang(); + /* 800E0D8C */ int checkBoomerangCatchAction(); /* 800E0E64 */ void setBoomerangSight(); - /* 800E0F10 */ void procBoomerangSubjectInit(); - /* 800E0FA0 */ void procBoomerangSubject(); - /* 800E1060 */ void procBoomerangMoveInit(); - /* 800E10F4 */ void procBoomerangMove(); - /* 800E11D8 */ void procBoomerangCatchInit(); - /* 800E1248 */ void procBoomerangCatch(); + /* 800E0F10 */ int procBoomerangSubjectInit(); + /* 800E0FA0 */ int procBoomerangSubject(); + /* 800E1060 */ int procBoomerangMoveInit(); + /* 800E10F4 */ int procBoomerangMove(); + /* 800E11D8 */ int procBoomerangCatchInit(); + /* 800E1248 */ int procBoomerangCatch(); /* 800E12E0 */ static BOOL checkLv6BossRoom(); /* 800E1310 */ f32 getCopyRodBallSpeed() const; /* 800E1320 */ f32 getCopyRodBallReturnSpeed() const; @@ -1845,39 +1872,39 @@ public: /* 800E1390 */ fopAc_ac_c* getCopyRodCameraActor(); /* 800E13AC */ void initCopyRodUpperAnimeSpeed(int); /* 800E1408 */ static BOOL checkForestOldCentury(); - /* 800E1530 */ void checkCopyRodAnime() const; + /* 800E1530 */ int checkCopyRodAnime() const; /* 800E158C */ void setCopyRodControllAnime(); /* 800E15FC */ void setCopyRodControllUpperSpeedRate(); /* 800E1748 */ void setCopyRodModel(); /* 800E1840 */ void setCopyRodReadyAnime(); /* 800E191C */ void throwCopyRod(); - /* 800E1A30 */ void returnCopyRod(); - /* 800E1ADC */ void checkUpperItemActionCopyRod(); + /* 800E1A30 */ int returnCopyRod(); + /* 800E1ADC */ int checkUpperItemActionCopyRod(); /* 800E1BB4 */ void checkUpperItemActionCopyRodFly(); - /* 800E1C44 */ void checkNextActionCopyRod(); + /* 800E1C44 */ int checkNextActionCopyRod(); /* 800E1D6C */ void setCopyRodSight(); - /* 800E1E20 */ void procCopyRodSubjectInit(); - /* 800E1EB0 */ void procCopyRodSubject(); - /* 800E1F68 */ void procCopyRodMoveInit(); - /* 800E1FFC */ void procCopyRodMove(); - /* 800E20C8 */ void procCopyRodSwingInit(); - /* 800E21FC */ void procCopyRodSwing(); - /* 800E2308 */ void procCopyRodReviveInit(); - /* 800E23A4 */ void procCopyRodRevive(); + /* 800E1E20 */ int procCopyRodSubjectInit(); + /* 800E1EB0 */ int procCopyRodSubject(); + /* 800E1F68 */ int procCopyRodMoveInit(); + /* 800E1FFC */ int procCopyRodMove(); + /* 800E20C8 */ int procCopyRodSwingInit(); + /* 800E21FC */ int procCopyRodSwing(); + /* 800E2308 */ int procCopyRodReviveInit(); + /* 800E23A4 */ int procCopyRodRevive(); /* 800E23FC */ void concatMagneBootMtx(); /* 800E243C */ void concatMagneBootInvMtx(); /* 800E247C */ void multVecMagneBootInvMtx(cXyz*); /* 800E24B0 */ int commonMagneLineCheck(cXyz*, cXyz*); - /* 800E251C */ void checkBootsMoveAnime(int); + /* 800E251C */ BOOL checkBootsMoveAnime(int); /* 800E2580 */ void setHeavyBoots(int); /* 800E2738 */ s16 getMagneBootsLocalAngleY(s16, int); /* 800E2808 */ void setMagneBootsMtx(cBgS_PolyInfo*, int); /* 800E2DC4 */ void cancelMagneBootsOn(); /* 800E2F88 */ int checkMagneBootsFly(); - /* 800E3048 */ void procBootsEquipInit(); - /* 800E30DC */ void procBootsEquip(); + /* 800E3048 */ int procBootsEquipInit(); + /* 800E30DC */ int procBootsEquip(); /* 800E3218 */ int procMagneBootsFlyInit(); - /* 800E3454 */ void procMagneBootsFly(); + /* 800E3454 */ int procMagneBootsFly(); /* 800E3760 */ s16 getBombExplodeTime() const; /* 800E3770 */ f32 getBombGravity() const; /* 800E3780 */ f32 getBombMaxFallSpeed() const; @@ -1892,21 +1919,21 @@ public: /* 800E3810 */ f32 getBombExplodeWaterEffectLimit() const; /* 800E3820 */ s16 getBombInsectLimitAngle() const; /* 800E38EC */ void checkGrabLineCheck(); - /* 800E3BCC */ void getGrabThrowRate(); - /* 800E3C1C */ void checkGrabThrowAnime() const; - /* 800E3C6C */ void checkGrabAnime() const; - /* 800E3C9C */ void checkGrabAnimeAndThrow() const; + /* 800E3BCC */ f32 getGrabThrowRate(); + /* 800E3C1C */ BOOL checkGrabThrowAnime() const; + /* 800E3C6C */ BOOL checkGrabAnime() const; + /* 800E3C9C */ BOOL checkGrabAnimeAndThrow() const; /* 800E3CF4 */ BOOL checkGrabCarryActor(); /* 800E3D1C */ void checkGrabSlowMoveActor(); - /* 800E3D6C */ void checkGrabHeavyActor(); - /* 800E3D94 */ void checkGrabSideActor(); + /* 800E3D6C */ BOOL checkGrabHeavyActor(); + /* 800E3D94 */ BOOL checkGrabSideActor(); /* 800E3DBC */ void setGrabUpperAnime(f32); /* 800E3F20 */ BOOL checkGrabRooster(); /* 800E3F50 */ void setGrabItemPos(); /* 800E4BD4 */ void freeGrabItem(); /* 800E4DEC */ void setGrabUpperSpeedRate(); /* 800E4FA8 */ void setCarryArmAngle(f32, f32); - /* 800E5150 */ void checkGrabNotThrow(); + /* 800E5150 */ BOOL checkGrabNotThrow(); /* 800E5170 */ void checkNextActionGrab(); /* 800E53AC */ void initGrabNextMode(); /* 800E53F8 */ void setGrabItemThrow(); @@ -1914,37 +1941,37 @@ public: /* 800E5830 */ void putObjLineCheck(dBgS_LinChk&, cXyz*, fopAc_ac_c*); /* 800E5B6C */ void grabLineCheck(cXyz*, cXyz*); /* 800E5BB4 */ void setGrabItemActor(fopAc_ac_c*); - /* 800E5CBC */ void procGrabReadyInit(); - /* 800E5EC8 */ void procGrabReady(); - /* 800E5FD0 */ void procGrabUpInit(); - /* 800E6230 */ void procGrabUp(); - /* 800E637C */ void procGrabMiss(); - /* 800E63F0 */ void procGrabThrowInit(int); - /* 800E65F8 */ void procGrabThrow(); - /* 800E672C */ void procGrabPutInit(); - /* 800E6914 */ void procGrabPut(); - /* 800E6A9C */ void procGrabWaitInit(); - /* 800E6C34 */ void procGrabWait(); - /* 800E6D6C */ void procGrabReboundInit(int); - /* 800E6E0C */ void procGrabRebound(); - /* 800E6EEC */ void procGrabStandInit(); - /* 800E6FE0 */ void procGrabStand(); + /* 800E5CBC */ int procGrabReadyInit(); + /* 800E5EC8 */ int procGrabReady(); + /* 800E5FD0 */ int procGrabUpInit(); + /* 800E6230 */ int procGrabUp(); + /* 800E637C */ int procGrabMiss(); + /* 800E63F0 */ int procGrabThrowInit(int); + /* 800E65F8 */ int procGrabThrow(); + /* 800E672C */ int procGrabPutInit(); + /* 800E6914 */ int procGrabPut(); + /* 800E6A9C */ int procGrabWaitInit(); + /* 800E6C34 */ int procGrabWait(); + /* 800E6D6C */ int procGrabReboundInit(int); + /* 800E6E0C */ int procGrabRebound(); + /* 800E6EEC */ int procGrabStandInit(); + /* 800E6FE0 */ int procGrabStand(); /* 800E70C0 */ bool checkInsectActorName(fopAc_ac_c*); - /* 800E70FC */ void procInsectCatchInit(); + /* 800E70FC */ int procInsectCatchInit(); /* 800E71D4 */ bool procInsectCatch(); - /* 800E7254 */ void procPickUpInit(); - /* 800E7460 */ void procPickUp(); - /* 800E75EC */ void procPickPutInit(int); - /* 800E76E0 */ void procPickPut(); + /* 800E7254 */ int procPickUpInit(); + /* 800E7460 */ int procPickUp(); + /* 800E75EC */ int procPickPutInit(int); + /* 800E76E0 */ int procPickPut(); /* 800E7894 */ void checkSetChainPullAnime(s16); /* 800E794C */ s16 getChainStickAngleY(s16) const; /* 800E7994 */ u8 checkChainEmphasys(); - /* 800E79F8 */ void searchFmChainPos(); + /* 800E79F8 */ u8 searchFmChainPos(); /* 800E7AEC */ void setFmChainPosFromOut(fopAc_ac_c*, cXyz*, int); - /* 800E7C30 */ void procFmChainUpInit(); - /* 800E7CC0 */ void procFmChainUp(); - /* 800E7DD8 */ void procFmChainStrongPullInit(); - /* 800E7E50 */ void procFmChainStrongPull(); + /* 800E7C30 */ int procFmChainUpInit(); + /* 800E7CC0 */ int procFmChainUp(); + /* 800E7DD8 */ int procFmChainStrongPullInit(); + /* 800E7E50 */ int procFmChainStrongPull(); /* 800E7ED0 */ void setWallGrabStatus(u8, u8); /* 800E7EE4 */ int getWallGrabStatus(); /* 800E7EF4 */ void wallGrabTrigger(); @@ -1957,55 +1984,55 @@ public: /* 800E8314 */ f32 getGoatCatchDistance2(); /* 800E8334 */ void endPushPull(); /* 800E8354 */ void getPushPullAnimeSpeed(); - /* 800E8428 */ void procCoPushPullWaitInit(int); - /* 800E857C */ void procCoPushPullWait(); - /* 800E875C */ void procCoPushMoveInit(int, int); - /* 800E89F0 */ void procCoPushMove(); - /* 800E8D1C */ void procPullMoveInit(int); - /* 800E8F44 */ void procPullMove(); + /* 800E8428 */ int procCoPushPullWaitInit(int); + /* 800E857C */ int procCoPushPullWait(); + /* 800E875C */ int procCoPushMoveInit(int, int); + /* 800E89F0 */ int procCoPushMove(); + /* 800E8D1C */ int procPullMoveInit(int); + /* 800E8F44 */ int procPullMove(); /* 800E9210 */ void setGoatStopGameFail(fopAc_ac_c*); - /* 800E9344 */ void procGoatMoveInit(); - /* 800E9434 */ void procGoatMove(); - /* 800E9894 */ void procGoatCatchInit(fopAc_ac_c*, f32); - /* 800E9BD0 */ void procGoatCatch(); - /* 800EA2A8 */ void procGoatStrokeInit(); - /* 800EA3AC */ void procGoatStroke(); - /* 800EA3F4 */ void procGoronMoveInit(); - /* 800EA4CC */ void procGoronMove(); - /* 800EA844 */ void checkSumouVsActor(); + /* 800E9344 */ int procGoatMoveInit(); + /* 800E9434 */ int procGoatMove(); + /* 800E9894 */ int procGoatCatchInit(fopAc_ac_c*, f32); + /* 800E9BD0 */ int procGoatCatch(); + /* 800EA2A8 */ int procGoatStrokeInit(); + /* 800EA3AC */ int procGoatStroke(); + /* 800EA3F4 */ int procGoronMoveInit(); + /* 800EA4CC */ int procGoronMove(); + /* 800EA844 */ BOOL checkSumouVsActor(); /* 800EA8D0 */ void cancelSumouMode(); /* 800EA908 */ void sumouPunchTrigger(); /* 800EA92C */ void setSumouPunchStatus(); - /* 800EA950 */ void procSumouReadyInit(); - /* 800EAA28 */ void procSumouReady(); - /* 800EAC4C */ void procSumouMoveInit(); - /* 800EAD84 */ void procSumouMove(); - /* 800EB208 */ void procSumouSideMoveInit(); - /* 800EB2BC */ void procSumouSideMove(); - /* 800EB624 */ void procSumouActionInit(int, int, int); - /* 800EBCE0 */ void procSumouAction(); - /* 800EC0F8 */ void procSumouStaggerInit(); - /* 800EC170 */ void procSumouStagger(); - /* 800EC20C */ void procSumouWinLoseInit(); - /* 800EC3D8 */ void procSumouWinLose(); - /* 800EC538 */ void procSumouShikoInit(); - /* 800EC5F4 */ void procSumouShiko(); + /* 800EA950 */ int procSumouReadyInit(); + /* 800EAA28 */ int procSumouReady(); + /* 800EAC4C */ int procSumouMoveInit(); + /* 800EAD84 */ int procSumouMove(); + /* 800EB208 */ int procSumouSideMoveInit(); + /* 800EB2BC */ int procSumouSideMove(); + /* 800EB624 */ int procSumouActionInit(int, int, int); + /* 800EBCE0 */ int procSumouAction(); + /* 800EC0F8 */ int procSumouStaggerInit(); + /* 800EC170 */ int procSumouStagger(); + /* 800EC20C */ int procSumouWinLoseInit(); + /* 800EC3D8 */ int procSumouWinLose(); + /* 800EC538 */ int procSumouShikoInit(); + /* 800EC5F4 */ int procSumouShiko(); /* 800EC76C */ void checkHorseZeldaBowMode(); /* 800EC7B0 */ void setHorseZeldaDamage(); - /* 800EC7DC */ bool checkHorseDashAccept(); - /* 800EC814 */ void checkCowGame(); - /* 800EC87C */ void getReinRideDirection(); + /* 800EC7DC */ BOOL checkHorseDashAccept(); + /* 800EC814 */ BOOL checkCowGame(); + /* 800EC87C */ int getReinRideDirection(); /* 800EC8F8 */ void checkReinRideBgCheck(); /* 800ECA3C */ void commonInitForceRideRein(); /* 800ECAAC */ void initForceRideBoar(); /* 800ECB58 */ void initForceRideHorse(); /* 800ECBD0 */ void rideGetOff(); - /* 800ECD90 */ void checkHorseNotDamageReaction() const; - /* 800ECDC4 */ void checkHorseWaitLashAnime() const; - /* 800ECDEC */ void checkHorseReinLeftOnly() const; + /* 800ECD90 */ BOOL checkHorseNotDamageReaction() const; + /* 800ECDC4 */ BOOL checkHorseWaitLashAnime() const; + /* 800ECDEC */ BOOL checkHorseReinLeftOnly() const; /* 800ECE10 */ void getReinHandType() const; /* 800ECF04 */ BOOL checkHorseLieAnime() const; - /* 800ECF5C */ void checkHorseSubjectivity() const; + /* 800ECF5C */ BOOL checkHorseSubjectivity() const; /* 800ECF9C */ void setHorseSwordUpAnime(); /* 800ECFF4 */ void setHorseTurnUpperAnime(int); /* 800ED074 */ BOOL checkHorseNoUpperAnime() const; @@ -2039,71 +2066,71 @@ public: /* 800EF598 */ void checkHorseGetOff(); /* 800EF6B0 */ void checkHorseGetOffAndSetDoStatus(); /* 800EF884 */ void setHorseGetOff(int); - /* 800EF95C */ void procHorseRideInit(); - /* 800EFDC4 */ void procHorseRide(); - /* 800F038C */ void procHorseGetOffInit(int); - /* 800F0620 */ void procHorseGetOff(); - /* 800F0980 */ void procHorseWaitInit(); - /* 800F0AA4 */ void procHorseWait(); - /* 800F0C6C */ void procHorseTurnInit(); - /* 800F0CE4 */ void procHorseTurn(); - /* 800F1060 */ void procHorseJumpInit(); - /* 800F10F8 */ void procHorseJump(); - /* 800F1188 */ void procHorseLandInit(); - /* 800F1204 */ void procHorseLand(); - /* 800F1294 */ void procHorseSubjectivityInit(); - /* 800F12F8 */ void procHorseSubjectivity(); - /* 800F13D8 */ void procHorseCutInit(); - /* 800F1688 */ void procHorseCut(); - /* 800F1894 */ void procHorseCutChargeReadyInit(); - /* 800F194C */ void procHorseCutChargeReady(); - /* 800F1AAC */ void procHorseCutTurnInit(); - /* 800F1BA4 */ void procHorseCutTurn(); - /* 800F1D18 */ void procHorseDamageInit(dCcD_GObjInf*); - /* 800F2028 */ void procHorseDamage(); - /* 800F2150 */ void procHorseBowSubjectInit(); - /* 800F21B4 */ void procHorseBowSubject(); - /* 800F224C */ void procHorseBowMoveInit(); - /* 800F22A8 */ void procHorseBowMove(); - /* 800F2334 */ void procHorseGrabMoveInit(); - /* 800F2390 */ void procHorseGrabMove(); - /* 800F2454 */ void procHorseBoomerangSubjectInit(); - /* 800F24C8 */ void procHorseBoomerangSubject(); - /* 800F25B4 */ void procHorseBoomerangMoveInit(); - /* 800F2628 */ void procHorseBoomerangMove(); - /* 800F26F4 */ void procHorseHookshotSubjectInit(); - /* 800F2770 */ void procHorseHookshotSubject(); - /* 800F2824 */ void procHorseHookshotMoveInit(); - /* 800F2898 */ void procHorseHookshotMove(); - /* 800F2934 */ void procHorseBottleDrinkInit(u16); - /* 800F2AD8 */ void procHorseBottleDrink(); - /* 800F2B4C */ void procHorseKandelaarPourInit(); - /* 800F2C78 */ void procHorseKandelaarPour(); - /* 800F2D84 */ void procHorseComebackInit(); - /* 800F2DE4 */ void procHorseComeback(); - /* 800F2EE0 */ void procHorseRunInit(); - /* 800F2F98 */ void procHorseRun(); - /* 800F3430 */ void procHorseHangInit(dCcD_GObjInf*, int); - /* 800F3580 */ void procHorseHang(); - /* 800F36E4 */ void procHorseGetKeyInit(); - /* 800F3754 */ void procHorseGetKey(); - /* 800F3818 */ void procHorseLookDownInit(); - /* 800F3894 */ void procHorseLookDown(); - /* 800F38E8 */ void procBoarRunInit(); - /* 800F3998 */ void procBoarRun(); - /* 800F3BB0 */ void getCanoeMaxSpeed() const; - /* 800F3BDC */ void getCanoeBackMaxSpeed() const; - /* 800F3BEC */ void getCanoeCres() const; - /* 800F3C18 */ void getCanoeSpeedRate() const; - /* 800F3C44 */ void getCanoeMaxRotSpeed() const; - /* 800F3CCC */ void getCanoeLocalPaddleTop(); - /* 800F3CF8 */ void checkCanoeRideTandem(); + /* 800EF95C */ int procHorseRideInit(); + /* 800EFDC4 */ int procHorseRide(); + /* 800F038C */ int procHorseGetOffInit(int); + /* 800F0620 */ int procHorseGetOff(); + /* 800F0980 */ int procHorseWaitInit(); + /* 800F0AA4 */ int procHorseWait(); + /* 800F0C6C */ int procHorseTurnInit(); + /* 800F0CE4 */ int procHorseTurn(); + /* 800F1060 */ int procHorseJumpInit(); + /* 800F10F8 */ int procHorseJump(); + /* 800F1188 */ int procHorseLandInit(); + /* 800F1204 */ int procHorseLand(); + /* 800F1294 */ int procHorseSubjectivityInit(); + /* 800F12F8 */ int procHorseSubjectivity(); + /* 800F13D8 */ int procHorseCutInit(); + /* 800F1688 */ int procHorseCut(); + /* 800F1894 */ int procHorseCutChargeReadyInit(); + /* 800F194C */ int procHorseCutChargeReady(); + /* 800F1AAC */ int procHorseCutTurnInit(); + /* 800F1BA4 */ int procHorseCutTurn(); + /* 800F1D18 */ int procHorseDamageInit(dCcD_GObjInf*); + /* 800F2028 */ int procHorseDamage(); + /* 800F2150 */ int procHorseBowSubjectInit(); + /* 800F21B4 */ int procHorseBowSubject(); + /* 800F224C */ int procHorseBowMoveInit(); + /* 800F22A8 */ int procHorseBowMove(); + /* 800F2334 */ int procHorseGrabMoveInit(); + /* 800F2390 */ int procHorseGrabMove(); + /* 800F2454 */ int procHorseBoomerangSubjectInit(); + /* 800F24C8 */ int procHorseBoomerangSubject(); + /* 800F25B4 */ int procHorseBoomerangMoveInit(); + /* 800F2628 */ int procHorseBoomerangMove(); + /* 800F26F4 */ int procHorseHookshotSubjectInit(); + /* 800F2770 */ int procHorseHookshotSubject(); + /* 800F2824 */ int procHorseHookshotMoveInit(); + /* 800F2898 */ int procHorseHookshotMove(); + /* 800F2934 */ int procHorseBottleDrinkInit(u16); + /* 800F2AD8 */ int procHorseBottleDrink(); + /* 800F2B4C */ int procHorseKandelaarPourInit(); + /* 800F2C78 */ int procHorseKandelaarPour(); + /* 800F2D84 */ int procHorseComebackInit(); + /* 800F2DE4 */ int procHorseComeback(); + /* 800F2EE0 */ int procHorseRunInit(); + /* 800F2F98 */ int procHorseRun(); + /* 800F3430 */ int procHorseHangInit(dCcD_GObjInf*, int); + /* 800F3580 */ int procHorseHang(); + /* 800F36E4 */ int procHorseGetKeyInit(); + /* 800F3754 */ int procHorseGetKey(); + /* 800F3818 */ int procHorseLookDownInit(); + /* 800F3894 */ int procHorseLookDown(); + /* 800F38E8 */ int procBoarRunInit(); + /* 800F3998 */ int procBoarRun(); + /* 800F3BB0 */ f32 getCanoeMaxSpeed() const; + /* 800F3BDC */ f32 getCanoeBackMaxSpeed() const; + /* 800F3BEC */ f32 getCanoeCres() const; + /* 800F3C18 */ f32 getCanoeSpeedRate() const; + /* 800F3C44 */ s16 getCanoeMaxRotSpeed() const; + /* 800F3CCC */ cXyz* getCanoeLocalPaddleTop(); + /* 800F3CF8 */ BOOL checkCanoeRideTandem(); /* 800F3D58 */ BOOL checkFishingRodAndLureItem() const; /* 800F3DA0 */ void initFishingRodHand(); - /* 800F3DFC */ void getCanoePaddleMatrix(); - /* 800F3E4C */ void checkFishingRodGrab(fopAc_ac_c*) const; - /* 800F3EB8 */ void checkCanoePaddleGrab(fopAc_ac_c*) const; - /* 800F3F38 */ void checkCanoeFishingRodGrabOrPut() const; + /* 800F3DFC */ MtxP getCanoePaddleMatrix(); + /* 800F3E4C */ BOOL checkFishingRodGrab(fopAc_ac_c*) const; + /* 800F3EB8 */ BOOL checkCanoePaddleGrab(fopAc_ac_c*) const; + /* 800F3F38 */ BOOL checkCanoeFishingRodGrabOrPut() const; /* 800F3FC4 */ void initCanoeRide(); /* 800F4008 */ BOOL checkCanoeJumpRide(); /* 800F40E4 */ void setArmReelAnime(); @@ -2112,56 +2139,56 @@ public: /* 800F4564 */ void setRideCanoeBasePos(fopAc_ac_c*); /* 800F459C */ void setSyncCanoePos(); /* 800F47D8 */ void canoeCommon(); - /* 800F4924 */ void checkNextActionCanoe(); - /* 800F4A50 */ void procCanoeRideInit(); - /* 800F4B90 */ void procCanoeRide(); - /* 800F4C78 */ void procCanoeJumpRideInit(fopAc_ac_c*); - /* 800F4D84 */ void procCanoeJumpRide(); - /* 800F4DF8 */ void procCanoeGetOffInit(); - /* 800F5048 */ void procCanoeGetOff(); - /* 800F51E4 */ void procCanoeWaitInit(int); - /* 800F542C */ void procCanoeWait(); - /* 800F571C */ void procCanoeRowInit(int); - /* 800F5A1C */ void procCanoeRow(); - /* 800F5D04 */ void procCanoePaddleShiftInit(int); - /* 800F5DB8 */ void procCanoePaddleShift(); - /* 800F5EA8 */ void procCanoePaddlePutInit(int); - /* 800F5FEC */ void procCanoePaddlePut(); - /* 800F6140 */ void procCanoePaddleGrabInit(); - /* 800F6188 */ void procCanoePaddleGrab(); - /* 800F6320 */ void procCanoeRodGrabInit(); - /* 800F6394 */ void procCanoeRodGrab(); - /* 800F6464 */ void procCanoeFishingWaitInit(); - /* 800F659C */ void procCanoeFishingWait(); - /* 800F67C0 */ void procCanoeFishingReelInit(); - /* 800F6874 */ void procCanoeFishingReel(); - /* 800F69D4 */ void procCanoeFishingGetInit(); - /* 800F6A70 */ void procCanoeFishingGet(); - /* 800F6BEC */ void procCanoeSubjectivityInit(); - /* 800F6C30 */ void procCanoeSubjectivity(); - /* 800F6D10 */ void procCanoeBowSubjectInit(); - /* 800F6D64 */ void procCanoeBowSubject(); - /* 800F6DF0 */ void procCanoeBowMoveInit(); - /* 800F6E44 */ void procCanoeBowMove(); - /* 800F6EB0 */ void procCanoeGrabMoveInit(); - /* 800F6EFC */ void procCanoeGrabMove(); - /* 800F6FA4 */ void procCanoeBoomerangSubjectInit(); - /* 800F7010 */ void procCanoeBoomerangSubject(); - /* 800F70F0 */ void procCanoeBoomerangMoveInit(); - /* 800F715C */ void procCanoeBoomerangMove(); - /* 800F7208 */ void procCanoeHookshotSubjectInit(); - /* 800F7274 */ void procCanoeHookshotSubject(); - /* 800F731C */ void procCanoeHookshotMoveInit(); - /* 800F7388 */ void procCanoeHookshotMove(); - /* 800F7404 */ void procCanoeBottleDrinkInit(u16); - /* 800F7550 */ void procCanoeBottleDrink(); - /* 800F75BC */ void procCanoeKandelaarPourInit(); - /* 800F7684 */ void procCanoeKandelaarPour(); + /* 800F4924 */ int checkNextActionCanoe(); + /* 800F4A50 */ int procCanoeRideInit(); + /* 800F4B90 */ int procCanoeRide(); + /* 800F4C78 */ int procCanoeJumpRideInit(fopAc_ac_c*); + /* 800F4D84 */ int procCanoeJumpRide(); + /* 800F4DF8 */ int procCanoeGetOffInit(); + /* 800F5048 */ int procCanoeGetOff(); + /* 800F51E4 */ int procCanoeWaitInit(int); + /* 800F542C */ int procCanoeWait(); + /* 800F571C */ int procCanoeRowInit(int); + /* 800F5A1C */ int procCanoeRow(); + /* 800F5D04 */ int procCanoePaddleShiftInit(int); + /* 800F5DB8 */ int procCanoePaddleShift(); + /* 800F5EA8 */ int procCanoePaddlePutInit(int); + /* 800F5FEC */ int procCanoePaddlePut(); + /* 800F6140 */ int procCanoePaddleGrabInit(); + /* 800F6188 */ int procCanoePaddleGrab(); + /* 800F6320 */ int procCanoeRodGrabInit(); + /* 800F6394 */ int procCanoeRodGrab(); + /* 800F6464 */ int procCanoeFishingWaitInit(); + /* 800F659C */ int procCanoeFishingWait(); + /* 800F67C0 */ int procCanoeFishingReelInit(); + /* 800F6874 */ int procCanoeFishingReel(); + /* 800F69D4 */ int procCanoeFishingGetInit(); + /* 800F6A70 */ int procCanoeFishingGet(); + /* 800F6BEC */ int procCanoeSubjectivityInit(); + /* 800F6C30 */ int procCanoeSubjectivity(); + /* 800F6D10 */ int procCanoeBowSubjectInit(); + /* 800F6D64 */ int procCanoeBowSubject(); + /* 800F6DF0 */ int procCanoeBowMoveInit(); + /* 800F6E44 */ int procCanoeBowMove(); + /* 800F6EB0 */ int procCanoeGrabMoveInit(); + /* 800F6EFC */ int procCanoeGrabMove(); + /* 800F6FA4 */ int procCanoeBoomerangSubjectInit(); + /* 800F7010 */ int procCanoeBoomerangSubject(); + /* 800F70F0 */ int procCanoeBoomerangMoveInit(); + /* 800F715C */ int procCanoeBoomerangMove(); + /* 800F7208 */ int procCanoeHookshotSubjectInit(); + /* 800F7274 */ int procCanoeHookshotSubject(); + /* 800F731C */ int procCanoeHookshotMoveInit(); + /* 800F7388 */ int procCanoeHookshotMove(); + /* 800F7404 */ int procCanoeBottleDrinkInit(u16); + /* 800F7550 */ int procCanoeBottleDrink(); + /* 800F75BC */ int procCanoeKandelaarPourInit(); + /* 800F7684 */ int procCanoeKandelaarPour(); /* 800F7708 */ void setGroundFishingRodActor(); - /* 800F7760 */ void procFishingCastInit(); - /* 800F7814 */ void procFishingCast(); - /* 800F7988 */ void procFishingFoodInit(); - /* 800F7AA8 */ void procFishingFood(); + /* 800F7760 */ int procFishingCastInit(); + /* 800F7814 */ int procFishingCast(); + /* 800F7988 */ int procFishingFoodInit(); + /* 800F7AA8 */ int procFishingFood(); /* 800F7C50 */ void getCrawlMoveAnmSpeed(); /* 800F7C74 */ void getCrawlMoveSpeed(); /* 800F7CE8 */ void setCrawlMoveDirectionArrow(); @@ -2177,45 +2204,45 @@ public: /* 800F8DBC */ void setCrawlMoveAngle(); /* 800F8F08 */ void stopHalfMoveAnime(f32); /* 800F8F84 */ void setCrawlAutoMoveAimPos(); - /* 800F9210 */ void procCrawlStartInit(); - /* 800F9384 */ void procCrawlStart(); - /* 800F9474 */ void procCrawlMoveInit(s16, s16); - /* 800F95B8 */ void procCrawlMove(); - /* 800F99FC */ void procCrawlAutoMoveInit(int, cXyz*); - /* 800F9ABC */ void procCrawlAutoMove(); - /* 800F9D7C */ void procCrawlEndInit(int, s16, s16); - /* 800F9F30 */ void procCrawlEnd(); + /* 800F9210 */ int procCrawlStartInit(); + /* 800F9384 */ int procCrawlStart(); + /* 800F9474 */ int procCrawlMoveInit(s16, s16); + /* 800F95B8 */ int procCrawlMove(); + /* 800F99FC */ int procCrawlAutoMoveInit(int, cXyz*); + /* 800F9ABC */ int procCrawlAutoMove(); + /* 800F9D7C */ int procCrawlEndInit(int, s16, s16); + /* 800F9F30 */ int procCrawlEnd(); /* 800F9FDC */ void getHangMoveAnmSpeed(); /* 800F9FFC */ void getHangDirectionFromAngle(); - /* 800FA070 */ void hangMoveBgCheck(s16, cXyz*); + /* 800FA070 */ BOOL hangMoveBgCheck(s16, cXyz*); /* 800FA338 */ void changeHangMoveProc(int); /* 800FA5C8 */ void checkHangFootWall(); /* 800FA6E4 */ void setHangGroundY(); /* 800FA78C */ void changeHangEndProc(); /* 800FA85C */ void checkHangStartSideWall(s16); - /* 800FAA7C */ void procHangStartInit(); - /* 800FAE14 */ void procHangStart(); - /* 800FAECC */ void procHangFallStartInit(cM3dGPla*); - /* 800FB1A4 */ void procHangFallStart(); - /* 800FB2A0 */ void procHangUpInit(int); - /* 800FB328 */ void procHangUp(); - /* 800FB43C */ void procHangWaitInit(); - /* 800FB544 */ void procHangWait(); - /* 800FB650 */ void procHangMoveInit(int); - /* 800FB790 */ void procHangMove(); - /* 800FBBC8 */ void procHangClimbInit(f32); - /* 800FBCD4 */ void procHangClimb(); - /* 800FBE04 */ void procHangWallCatchInit(); - /* 800FC0D8 */ void procHangWallCatch(); - /* 800FC178 */ void procHangReadyInit(); - /* 800FC240 */ void procHangReady(); - /* 800FC2F4 */ void procHangLeverDownInit(); - /* 800FC390 */ void procHangLeverDown(); + /* 800FAA7C */ int procHangStartInit(); + /* 800FAE14 */ int procHangStart(); + /* 800FAECC */ int procHangFallStartInit(cM3dGPla*); + /* 800FB1A4 */ int procHangFallStart(); + /* 800FB2A0 */ int procHangUpInit(int); + /* 800FB328 */ int procHangUp(); + /* 800FB43C */ int procHangWaitInit(); + /* 800FB544 */ int procHangWait(); + /* 800FB650 */ int procHangMoveInit(int); + /* 800FB790 */ int procHangMove(); + /* 800FBBC8 */ int procHangClimbInit(f32); + /* 800FBCD4 */ int procHangClimb(); + /* 800FBE04 */ int procHangWallCatchInit(); + /* 800FC0D8 */ int procHangWallCatch(); + /* 800FC178 */ int procHangReadyInit(); + /* 800FC240 */ int procHangReady(); + /* 800FC2F4 */ int procHangLeverDownInit(); + /* 800FC390 */ int procHangLeverDown(); /* 800FC5A4 */ void setDragonHangPos(); /* 800FC6B4 */ void setOctaIealHangPos(); /* 800FC748 */ void setBossBodyHangPos(); - /* 800FC77C */ void procBossBodyHangInit(fopAc_ac_c*); - /* 800FC870 */ void procBossBodyHang(); + /* 800FC77C */ int procBossBodyHangInit(fopAc_ac_c*); + /* 800FC870 */ int procBossBodyHang(); /* 800FCF58 */ void getLadderUnitCount() const; /* 800FCF84 */ void setLadderInit(); /* 800FD048 */ void setLadderPosInit(); @@ -2224,16 +2251,16 @@ public: /* 800FD2AC */ void changeLadderMoveProc(int); /* 800FD4A8 */ void setMoveBGLadderCorrect(); /* 800FD5E4 */ void checkLadderFall(); - /* 800FD648 */ void procLadderUpStartInit(); - /* 800FD7B0 */ void procLadderUpStart(); - /* 800FD824 */ void procLadderUpEndInit(int); - /* 800FD8E8 */ void procLadderUpEnd(); - /* 800FD9CC */ void procLadderDownStartInit(); - /* 800FDB74 */ void procLadderDownStart(); - /* 800FDC18 */ void procLadderDownEndInit(int); - /* 800FDCCC */ void procLadderDownEnd(); - /* 800FDD90 */ void procLadderMoveInit(int, int, cXyz*); - /* 800FDF50 */ void procLadderMove(); + /* 800FD648 */ int procLadderUpStartInit(); + /* 800FD7B0 */ int procLadderUpStart(); + /* 800FD824 */ int procLadderUpEndInit(int); + /* 800FD8E8 */ int procLadderUpEnd(); + /* 800FD9CC */ int procLadderDownStartInit(); + /* 800FDB74 */ int procLadderDownStart(); + /* 800FDC18 */ int procLadderDownEndInit(int); + /* 800FDCCC */ int procLadderDownEnd(); + /* 800FDD90 */ int procLadderMoveInit(int, int, cXyz*); + /* 800FDF50 */ int procLadderMove(); /* 800FE010 */ void getClimbMoveUpDownAnmSpeed(); /* 800FE034 */ void getClimbMoveSideAnmSpeed(); /* 800FE058 */ void checkClimbCode(cBgS_PolyInfo&); @@ -2249,104 +2276,104 @@ public: /* 800FED50 */ void checkClimbGround(cXyz*, f32); /* 800FEEC0 */ void checkBgClimbMove(int); /* 800FF28C */ void setClimbStartNotGround(); - /* 800FF450 */ void procClimbUpStartInit(int); - /* 800FF704 */ void procClimbUpStart(); - /* 800FF818 */ void procClimbDownStartInit(s16); - /* 800FF9A8 */ void procClimbDownStart(); - /* 800FFAB0 */ void procClimbMoveUpDownInit(int); - /* 800FFC58 */ void procClimbMoveUpDown(); - /* 800FFDB0 */ void procClimbMoveSideInit(); - /* 800FFF4C */ void procClimbMoveSide(); - /* 801000F8 */ void procClimbWaitInit(int, int); - /* 80100258 */ void procClimbWait(); - /* 801003E4 */ void procClimbToRoofInit(); - /* 80100464 */ void procClimbToRoof(); + /* 800FF450 */ int procClimbUpStartInit(int); + /* 800FF704 */ int procClimbUpStart(); + /* 800FF818 */ int procClimbDownStartInit(s16); + /* 800FF9A8 */ int procClimbDownStart(); + /* 800FFAB0 */ int procClimbMoveUpDownInit(int); + /* 800FFC58 */ int procClimbMoveUpDown(); + /* 800FFDB0 */ int procClimbMoveSideInit(); + /* 800FFF4C */ int procClimbMoveSide(); + /* 801000F8 */ int procClimbWaitInit(int, int); + /* 80100258 */ int procClimbWait(); + /* 801003E4 */ int procClimbToRoofInit(); + /* 80100464 */ int procClimbToRoof(); /* 801005CC */ void getRoofHangFMoveAnmSpeed() const; /* 801005F0 */ void getRoofHangSMoveAnmSpeed() const; /* 80100614 */ void setRoofHangHandOnSE(cBgS_PolyInfo*); /* 80100668 */ void checkRoofHangMovePos(); /* 80100770 */ void commonRoofHangProc(); /* 801008EC */ void checkNextActionRoofHang(); - /* 80100A10 */ void procRoofHangStartInit(cBgS_PolyInfo const&, cXyz const&, int); - /* 80100AE4 */ void procRoofHangStart(); - /* 80100BB4 */ void procRoofHangWaitInit(int); - /* 80100D38 */ void procRoofHangWait(); - /* 80100DA4 */ void procRoofHangFrontMoveInit(); - /* 80100EEC */ void procRoofHangFrontMove(); - /* 8010121C */ void procRoofHangSideMoveInit(); - /* 80101308 */ void procRoofHangSideMove(); - /* 801013B8 */ void procRoofHangTurnInit(); - /* 80101534 */ void procRoofHangTurn(); + /* 80100A10 */ int procRoofHangStartInit(cBgS_PolyInfo const&, cXyz const&, int); + /* 80100AE4 */ int procRoofHangStart(); + /* 80100BB4 */ int procRoofHangWaitInit(int); + /* 80100D38 */ int procRoofHangWait(); + /* 80100DA4 */ int procRoofHangFrontMoveInit(); + /* 80100EEC */ int procRoofHangFrontMove(); + /* 8010121C */ int procRoofHangSideMoveInit(); + /* 80101308 */ int procRoofHangSideMove(); + /* 801013B8 */ int procRoofHangTurnInit(); + /* 80101534 */ int procRoofHangTurn(); /* 8010163C */ void setRoofHangSwitch(); - /* 801016AC */ void procRoofSwitchHangInit(fopAc_ac_c*); - /* 801017AC */ void procRoofSwitchHang(); + /* 801016AC */ int procRoofSwitchHangInit(fopAc_ac_c*); + /* 801017AC */ int procRoofSwitchHang(); /* 80101890 */ BOOL checkZoraWearMaskDraw(); - /* 801018E4 */ void checkAcceptUseItemInWater(u16) const; + /* 801018E4 */ BOOL checkAcceptUseItemInWater(u16) const; /* 80101934 */ void swimDeleteItem(); /* 801019B8 */ bool getZoraSwim() const; - /* 80101A18 */ void getSwimFrontMaxSpeed() const; - /* 80101AA8 */ void getSwimMaxFallSpeed() const; + /* 80101A18 */ f32 getSwimFrontMaxSpeed() const; + /* 80101AA8 */ f32 getSwimMaxFallSpeed() const; /* 80101B44 */ void checkOxygenTimer(); /* 80101C94 */ void offOxygenTimer(); - /* 80101CB8 */ bool checkPossibleWaterInMode() const; + /* 80101CB8 */ BOOL checkPossibleWaterInMode() const; /* 80101CF4 */ void setWaterInAnmRate(daPy_frameCtrl_c*, f32); /* 80101D70 */ void swimBgCheck(f32); /* 801023E4 */ void setSpeedAndAngleSwim(); - /* 801029C8 */ void checkNextActionSwim(); + /* 801029C8 */ int checkNextActionSwim(); /* 80102B1C */ void checkSwimAction(int); - /* 80103058 */ void checkSwimUpAction(); + /* 80103058 */ int checkSwimUpAction(); /* 801032C8 */ void swimOutAfter(int); - /* 80103398 */ void checkSwimFall(); + /* 80103398 */ bool checkSwimFall(); /* 801033CC */ void checkSwimOutAction(); /* 80103698 */ void setSwimMoveAnime(); - /* 80103EE0 */ void checkSwimButtonAccept(); - /* 80103F08 */ void checkUpSwimButtonAccept(); - /* 80103F24 */ void checkSwimButtonMove(); - /* 80103F94 */ void checkZoraSwimMove(); - /* 80103FE8 */ void checkSwimNeckUpDown() const; + /* 80103EE0 */ bool checkSwimButtonAccept(); + /* 80103F08 */ bool checkUpSwimButtonAccept(); + /* 80103F24 */ BOOL checkSwimButtonMove(); + /* 80103F94 */ BOOL checkZoraSwimMove(); + /* 80103FE8 */ BOOL checkSwimNeckUpDown() const; /* 80104034 */ void setSwimUpDownOffset(); - /* 801040F8 */ void procSwimUpInit(); - /* 801041E8 */ void procSwimUp(); - /* 801042F8 */ void procSwimWaitInit(int); - /* 801044B4 */ void procSwimWait(); - /* 80104670 */ void procSwimMoveInit(); - /* 801047B8 */ void procSwimMove(); - /* 80104958 */ void procSwimDiveInit(); - /* 80104AA0 */ void procSwimDive(); - /* 80104C50 */ void procSwimHookshotSubjectInit(); - /* 80104D7C */ void procSwimHookshotSubject(); - /* 80104EB8 */ void procSwimHookshotMoveInit(); - /* 80104FC4 */ void procSwimHookshotMove(); - /* 8010519C */ void procSwimDamageInit(dCcD_GObjInf*); - /* 80105728 */ void procSwimDamage(); - /* 801058A0 */ void procOctaIealSpitInit(); - /* 80105A00 */ void procOctaIealSpit(); - /* 80105A98 */ void checkSnowCode() const; - /* 80105ABC */ void checkSnowCodePolygon(cBgS_PolyInfo&); - /* 80105B10 */ void checkBoardRestart(); - /* 80105B58 */ void boardCommon(int); + /* 801040F8 */ int procSwimUpInit(); + /* 801041E8 */ int procSwimUp(); + /* 801042F8 */ int procSwimWaitInit(int); + /* 801044B4 */ int procSwimWait(); + /* 80104670 */ int procSwimMoveInit(); + /* 801047B8 */ int procSwimMove(); + /* 80104958 */ int procSwimDiveInit(); + /* 80104AA0 */ int procSwimDive(); + /* 80104C50 */ int procSwimHookshotSubjectInit(); + /* 80104D7C */ int procSwimHookshotSubject(); + /* 80104EB8 */ int procSwimHookshotMoveInit(); + /* 80104FC4 */ int procSwimHookshotMove(); + /* 8010519C */ int procSwimDamageInit(dCcD_GObjInf*); + /* 80105728 */ int procSwimDamage(); + /* 801058A0 */ int procOctaIealSpitInit(); + /* 80105A00 */ int procOctaIealSpit(); + /* 80105A98 */ bool checkSnowCode() const; + /* 80105ABC */ static bool checkSnowCodePolygon(cBgS_PolyInfo&); + /* 80105B10 */ bool checkBoardRestart(); + /* 80105B58 */ int boardCommon(int); /* 80106534 */ void setCommonBoardAnime(int); - /* 8010658C */ void checkNextActionBoard(); - /* 80106618 */ void checkBoardSwordTriggerAction(); - /* 80106650 */ void commonProcBoardInit(daAlink_c::daAlink_PROC); - /* 801066B8 */ void getBoardRowAnmSpeed(); + /* 8010658C */ int checkNextActionBoard(); + /* 80106618 */ int checkBoardSwordTriggerAction(); + /* 80106650 */ int commonProcBoardInit(daAlink_c::daAlink_PROC); + /* 801066B8 */ f32 getBoardRowAnmSpeed(); /* 801066EC */ void setBoardLandAnime(); - /* 80106774 */ void procBoardRideInit(); - /* 801069D0 */ void procBoardRide(); - /* 80106A38 */ void procBoardWaitInit(fopAc_ac_c*); - /* 80106BCC */ void procBoardWait(); - /* 80106E88 */ void procBoardRowInit(); - /* 80106F00 */ void procBoardRow(); - /* 80107060 */ void procBoardTurnInit(); - /* 801070DC */ void procBoardTurn(); - /* 80107218 */ void procBoardJumpInit(f32, int); - /* 80107300 */ void procBoardJump(); - /* 801073D0 */ void procBoardSubjectivityInit(); - /* 80107418 */ void procBoardSubjectivity(); - /* 801074AC */ void procBoardCutInit(); - /* 8010755C */ void procBoardCut(); - /* 801075D4 */ void procBoardCutTurnInit(); - /* 80107744 */ void procBoardCutTurn(); + /* 80106774 */ int procBoardRideInit(); + /* 801069D0 */ int procBoardRide(); + /* 80106A38 */ int procBoardWaitInit(fopAc_ac_c*); + /* 80106BCC */ int procBoardWait(); + /* 80106E88 */ int procBoardRowInit(); + /* 80106F00 */ int procBoardRow(); + /* 80107060 */ int procBoardTurnInit(); + /* 801070DC */ int procBoardTurn(); + /* 80107218 */ int procBoardJumpInit(f32, int); + /* 80107300 */ int procBoardJump(); + /* 801073D0 */ int procBoardSubjectivityInit(); + /* 80107418 */ int procBoardSubjectivity(); + /* 801074AC */ int procBoardCutInit(); + /* 8010755C */ int procBoardCut(); + /* 801075D4 */ int procBoardCutTurnInit(); + /* 80107744 */ int procBoardCutTurn(); /* 801083C8 */ void hookshotAtHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); /* 801086DC */ void resetHookshotMode(); /* 8010871C */ bool setEnemyBombHookshot(fopAc_ac_c*); @@ -2364,13 +2391,13 @@ public: /* 80108DB4 */ void setHookshotSight(); /* 80108EEC */ void cancelHookshotShot(); /* 80108F64 */ bool cancelHookshotMove(); - /* 8010903C */ void checkHookshotReadyMaterialOffMode() const; + /* 8010903C */ BOOL checkHookshotReadyMaterialOffMode() const; /* 80109070 */ void setHookshotReadyMaterial(); /* 801090EC */ void initHookshotUpperAnimeSpeed(int); /* 80109170 */ void initHookshotReady(); /* 801091E4 */ void setHookshotReadyAnime(); /* 80109284 */ void checkUpperItemActionHookshot(); - /* 801095C8 */ void checkNextActionHookshot(); + /* 801095C8 */ int checkNextActionHookshot(); /* 801097A0 */ void setHookshotReturnEnd(); /* 80109890 */ void setHookshotHangMoveBGCollect(); /* 80109AAC */ void setHookshotTopPosFly(); @@ -2383,22 +2410,22 @@ public: /* 8010B84C */ void checkLandHookshotHang(); /* 8010B96C */ void commonHookshotRoofWait(); /* 8010BA6C */ void commonHookshotWallWait(); - /* 8010BAA8 */ void procHookshotSubjectInit(); - /* 8010BB48 */ void procHookshotSubject(); - /* 8010BC08 */ void procHookshotMoveInit(); - /* 8010BCA4 */ void procHookshotMove(); - /* 8010BD90 */ void procHookshotFlyInit(); - /* 8010BEF0 */ void procHookshotFly(); - /* 8010C830 */ void procHookshotRoofWaitInit(int, fopAc_ac_c*, int); - /* 8010C9F4 */ void procHookshotRoofWait(); - /* 8010CC80 */ void procHookshotRoofShootInit(fopAc_ac_c*); - /* 8010CD60 */ void procHookshotRoofShoot(); - /* 8010CF6C */ void procHookshotRoofBootsInit(fopAc_ac_c*); - /* 8010D034 */ void procHookshotRoofBoots(); - /* 8010D174 */ void procHookshotWallWaitInit(int, s16, int); - /* 8010D38C */ void procHookshotWallWait(); - /* 8010D5F4 */ void procHookshotWallShootInit(); - /* 8010D6CC */ void procHookshotWallShoot(); + /* 8010BAA8 */ int procHookshotSubjectInit(); + /* 8010BB48 */ int procHookshotSubject(); + /* 8010BC08 */ int procHookshotMoveInit(); + /* 8010BCA4 */ int procHookshotMove(); + /* 8010BD90 */ int procHookshotFlyInit(); + /* 8010BEF0 */ int procHookshotFly(); + /* 8010C830 */ int procHookshotRoofWaitInit(int, fopAc_ac_c*, int); + /* 8010C9F4 */ int procHookshotRoofWait(); + /* 8010CC80 */ int procHookshotRoofShootInit(fopAc_ac_c*); + /* 8010CD60 */ int procHookshotRoofShoot(); + /* 8010CF6C */ int procHookshotRoofBootsInit(fopAc_ac_c*); + /* 8010D034 */ int procHookshotRoofBoots(); + /* 8010D174 */ int procHookshotWallWaitInit(int, s16, int); + /* 8010D38C */ int procHookshotWallWait(); + /* 8010D5F4 */ int procHookshotWallShootInit(); + /* 8010D6CC */ int procHookshotWallShoot(); /* 8010D93C */ f32 getSpinnerGravity() const; /* 8010D94C */ f32 getSpinnerMaxFallSpeed() const; /* 8010D95C */ f32 getSpinnerJumpRate() const; @@ -2416,20 +2443,20 @@ public: /* 8010DE64 */ void setSpinnerStatus(u8, u8); /* 8010DE78 */ int procSpinnerWaitInit(); /* 8010DF4C */ int procSpinnerWait(); - /* 8010E48C */ void bottleModelCallBack(); - /* 8010E584 */ void checkOilBottleItemNotGet(u16); + /* 8010E48C */ int bottleModelCallBack(); + /* 8010E584 */ BOOL checkOilBottleItemNotGet(u16); /* 8010E5D8 */ void setBottleModel(u16); - /* 8010EAC4 */ void commonBottleDrink(int); - /* 8010F45C */ void makeFairy(cXyz*, u32); - /* 8010F54C */ void procBottleDrinkInit(u16); - /* 8010F698 */ void procBottleDrink(); - /* 8010F6F4 */ void procBottleOpenInit(u16); - /* 8010F8E4 */ void procBottleOpen(); - /* 8010FC38 */ void procBottleSwingInit(fopAc_ac_c*, int); - /* 8010FF58 */ void procBottleSwing(); - /* 801102D0 */ void procBottleGetInit(int); - /* 80110518 */ void procBottleGet(); - /* 8011078C */ void checkWaterInKandelaarOffset(f32); + /* 8010EAC4 */ int commonBottleDrink(int); + /* 8010F45C */ fopAc_ac_c* makeFairy(cXyz*, u32); + /* 8010F54C */ int procBottleDrinkInit(u16); + /* 8010F698 */ int procBottleDrink(); + /* 8010F6F4 */ int procBottleOpenInit(u16); + /* 8010F8E4 */ int procBottleOpen(); + /* 8010FC38 */ int procBottleSwingInit(fopAc_ac_c*, int); + /* 8010FF58 */ int procBottleSwing(); + /* 801102D0 */ int procBottleGetInit(int); + /* 80110518 */ int procBottleGet(); + /* 8011078C */ BOOL checkWaterInKandelaarOffset(f32); /* 801107BC */ void checkWaterInKandelaar(f32); /* 80110840 */ void offKandelaarModel(); /* 801108EC */ void kandelaarModelCallBack(); @@ -2440,24 +2467,24 @@ public: /* 80110FE0 */ void commonKandelaarPourInit(); /* 801110B8 */ void commonKandelaarPour(int); /* 8011130C */ void initKandelaarSwing(); - /* 80111440 */ void procKandelaarSwingInit(); - /* 801115CC */ void procKandelaarSwing(); - /* 8011167C */ void procKandelaarPourInit(); - /* 80111724 */ void procKandelaarPour(); + /* 80111440 */ int procKandelaarSwingInit(); + /* 801115CC */ int procKandelaarSwing(); + /* 8011167C */ int procKandelaarPourInit(); + /* 80111724 */ int procKandelaarPour(); /* 80111784 */ void setGrassWhistleModel(int); /* 8011181C */ void setHorseWhistleModel(); /* 80111894 */ int procGrassWhistleGetInit(); /* 801119D8 */ int procGrassWhistleGet(); - /* 80111A9C */ void procGrassWhistleWaitInit(int, int, int, s16, cXyz*); - /* 80111CA4 */ void procGrassWhistleWait(); - /* 80111FF0 */ void procCoHorseCallWaitInit(int); - /* 801120C8 */ void procCoHorseCallWait(); - /* 801121B4 */ void procHawkCatchInit(); - /* 80112220 */ void procHawkCatch(); - /* 80112278 */ void procHawkSubjectInit(); - /* 80112304 */ void procHawkSubject(); - /* 80112474 */ void checkIronBallThrowMode() const; - /* 801124B4 */ void checkIronBallThrowReturnMode() const; + /* 80111A9C */ int procGrassWhistleWaitInit(int, int, int, s16, cXyz*); + /* 80111CA4 */ int procGrassWhistleWait(); + /* 80111FF0 */ int procCoHorseCallWaitInit(int); + /* 801120C8 */ int procCoHorseCallWait(); + /* 801121B4 */ int procHawkCatchInit(); + /* 80112220 */ int procHawkCatch(); + /* 80112278 */ int procHawkSubjectInit(); + /* 80112304 */ int procHawkSubject(); + /* 80112474 */ bool checkIronBallThrowMode() const; + /* 801124B4 */ bool checkIronBallThrowReturnMode() const; /* 80112568 */ void setIronBallWaitUpperAnime(int); /* 80112628 */ void checkIronBallDelete(); /* 801126F8 */ void setIronBallReturn(int); @@ -2465,25 +2492,25 @@ public: /* 801127F0 */ void setIronBallModel(); /* 80112C84 */ void setIronBallGroundVec(cXyz const*, cXyz*); /* 80112E7C */ void setIronBallChainPos(); - /* 80113CA0 */ void checkIronBallReturnChange(); + /* 80113CA0 */ BOOL checkIronBallReturnChange(); /* 80113D58 */ void setIronBallPos(); /* 801150E4 */ BOOL checkIronBallAnime() const; /* 8011510C */ void setIronBallReadyAnime(); /* 801151E0 */ void setIronBallBaseAnime(); - /* 80115254 */ void checkUpperItemActionIronBall(); - /* 801153F8 */ void checkNextActionIronBall(); - /* 801154E4 */ void procIronBallSubjectInit(); - /* 80115564 */ void procIronBallSubject(); - /* 801155EC */ void procIronBallMoveInit(); - /* 80115674 */ void procIronBallMove(); - /* 8011577C */ void procIronBallThrowInit(); - /* 80115860 */ void procIronBallThrow(); - /* 801159F0 */ void procIronBallReturnInit(); - /* 80115AA0 */ void procIronBallReturn(); + /* 80115254 */ BOOL checkUpperItemActionIronBall(); + /* 801153F8 */ int checkNextActionIronBall(); + /* 801154E4 */ int procIronBallSubjectInit(); + /* 80115564 */ int procIronBallSubject(); + /* 801155EC */ int procIronBallMoveInit(); + /* 80115674 */ int procIronBallMove(); + /* 8011577C */ int procIronBallThrowInit(); + /* 80115860 */ int procIronBallThrow(); + /* 801159F0 */ int procIronBallReturnInit(); + /* 80115AA0 */ int procIronBallReturn(); /* 80115C20 */ BOOL checkEventRun() const; /* 80115C50 */ void createNpcTks(cXyz*, int, u32); /* 80115EC0 */ int checkDemoAction(); - /* 80116E60 */ void checkDemoMoveMode(u32) const; + /* 80116E60 */ bool checkDemoMoveMode(u32) const; /* 80116E9C */ void setDemoMoveData(u32*, cXyz const*); /* 80117064 */ void setNoDrawSwordShield(int, u16); /* 801171F4 */ void setDemoData(); @@ -2491,21 +2518,21 @@ public: /* 80117C34 */ void endHighModel(); /* 80117C90 */ void resetSpecialEvent(); /* 80117CF8 */ void endDemoMode(); - /* 801180EC */ void getDemoLookActor(); - /* 80118170 */ bool checkFlyAtnWait(); + /* 801180EC */ fopAc_ac_c* getDemoLookActor(); + /* 80118170 */ BOOL checkFlyAtnWait(); /* 801181A0 */ void setGetItemFace(u16); - /* 801182D4 */ void checkGrabTalkActor(fopAc_ac_c*); + /* 801182D4 */ BOOL checkGrabTalkActor(fopAc_ac_c*); /* 80118308 */ void setTalkStartBack(cXyz*); /* 8011856C */ void setShapeAngleToTalkActor(); /* 80118654 */ void setTalkAnime(); /* 801186D4 */ void setTradeItemAnime(); /* 80118778 */ void setTradeItemOutHand(); - /* 801187B4 */ void checkEndMessage(u32); + /* 801187B4 */ BOOL checkEndMessage(u32); /* 80118840 */ void setDemoRightHandIndex(u16); /* 801188B0 */ void setDemoLeftHandIndex(u16); /* 8011894C */ void setDemoRide(u16); /* 801189F8 */ void setDemoBodyBck(dDemo_actor_c*, u16); - /* 80118AD0 */ BOOL checkFinalBattle(); + /* 80118AD0 */ static BOOL checkFinalBattle(); /* 80118B34 */ BOOL checkRestartDead(int, int); /* 80118BF4 */ void setDeadRideSyncPos(); /* 80118C98 */ BOOL checkDeadHP(); @@ -2515,101 +2542,101 @@ public: /* 80119134 */ void setDemoBrk(J3DAnmTevRegKey**, J3DModel*, u16); /* 801191C4 */ void setStickAnmData(J3DAnmBase*, int, int, u16, int); /* 801195C0 */ int procDemoCommon(); - /* 801195F8 */ void procCoToolDemoInit(); - /* 801196D8 */ void procCoToolDemo(); - /* 80119D98 */ void procCoTalkInit(); - /* 80119F64 */ void procCoTalk(); - /* 8011A214 */ void procCoOpenTreasureInit(); - /* 8011A42C */ void procCoOpenTreasure(); - /* 8011A4C0 */ void procCoUnequipInit(); - /* 8011A5CC */ void procCoUnequip(); + /* 801195F8 */ int procCoToolDemoInit(); + /* 801196D8 */ int procCoToolDemo(); + /* 80119D98 */ int procCoTalkInit(); + /* 80119F64 */ int procCoTalk(); + /* 8011A214 */ int procCoOpenTreasureInit(); + /* 8011A42C */ int procCoOpenTreasure(); + /* 8011A4C0 */ int procCoUnequipInit(); + /* 8011A5CC */ int procCoUnequip(); /* 8011A688 */ void setGetSubBgm(int); - /* 8011A798 */ void procCoGetItemInit(); - /* 8011AC28 */ void procCoGetItem(); - /* 8011B3F0 */ void procCoTurnBackInit(); - /* 8011B46C */ void procCoTurnBack(); - /* 8011B57C */ void procDoorOpenInit(); - /* 8011B71C */ void procDoorOpen(); - /* 8011B914 */ void procCoLookWaitInit(); - /* 8011BA20 */ void procCoLookWait(); - /* 8011BABC */ void procCoDemoPushPullWaitInit(); - /* 8011BB40 */ void procCoDemoPushMoveInit(); + /* 8011A798 */ int procCoGetItemInit(); + /* 8011AC28 */ int procCoGetItem(); + /* 8011B3F0 */ int procCoTurnBackInit(); + /* 8011B46C */ int procCoTurnBack(); + /* 8011B57C */ int procDoorOpenInit(); + /* 8011B71C */ int procDoorOpen(); + /* 8011B914 */ int procCoLookWaitInit(); + /* 8011BA20 */ int procCoLookWait(); + /* 8011BABC */ int procCoDemoPushPullWaitInit(); + /* 8011BB40 */ int procCoDemoPushMoveInit(); /* 8011BC14 */ void setMonkeyMoveAnime(); - /* 8011BC74 */ void procMonkeyMoveInit(); - /* 8011BD18 */ void procMonkeyMove(); - /* 8011BD6C */ void procDemoBoomerangCatchInit(); - /* 8011BDF0 */ void procDemoBoomerangCatch(); - /* 8011BE54 */ void procCoDeadInit(int); - /* 8011C1B4 */ void procCoDead(); - /* 8011C62C */ void procCoLookAroundInit(); - /* 8011C760 */ void procCoLookAround(); - /* 8011C81C */ void procBossAtnWaitInit(); - /* 8011C890 */ void procCoQuakeWaitInit(); - /* 8011C904 */ void procCoCaughtInit(); - /* 8011C9D0 */ void procLookUpInit(); - /* 8011CA4C */ void procLookUp(); - /* 8011CA98 */ void procLookUpToGetItemInit(); - /* 8011CB20 */ void procLookUpToGetItem(); - /* 8011CBD4 */ void procHandPatInit(); - /* 8011CCA8 */ void procHandPat(); - /* 8011CDE0 */ void procCoFogDeadInit(); - /* 8011CF60 */ void procCoFogDead(); - /* 8011D0A0 */ void procWolfSmellWaitInit(); - /* 8011D110 */ void procCoNodInit(); - /* 8011D1F4 */ void procCoNod(); - /* 8011D268 */ void procCoEyeAwayInit(); - /* 8011D304 */ void procCoGlareInit(); - /* 8011D3CC */ void procCoGlare(); - /* 8011D474 */ void procGoatStopReadyInit(); - /* 8011D4D4 */ void procGoatStopReady(); - /* 8011D544 */ void procCoGetReadySitInit(); - /* 8011D64C */ void procCoGetReadySit(); - /* 8011D6D0 */ void procCoTwGateInit(); + /* 8011BC74 */ int procMonkeyMoveInit(); + /* 8011BD18 */ int procMonkeyMove(); + /* 8011BD6C */ int procDemoBoomerangCatchInit(); + /* 8011BDF0 */ int procDemoBoomerangCatch(); + /* 8011BE54 */ int procCoDeadInit(int); + /* 8011C1B4 */ int procCoDead(); + /* 8011C62C */ int procCoLookAroundInit(); + /* 8011C760 */ int procCoLookAround(); + /* 8011C81C */ int procBossAtnWaitInit(); + /* 8011C890 */ int procCoQuakeWaitInit(); + /* 8011C904 */ int procCoCaughtInit(); + /* 8011C9D0 */ int procLookUpInit(); + /* 8011CA4C */ int procLookUp(); + /* 8011CA98 */ int procLookUpToGetItemInit(); + /* 8011CB20 */ int procLookUpToGetItem(); + /* 8011CBD4 */ int procHandPatInit(); + /* 8011CCA8 */ int procHandPat(); + /* 8011CDE0 */ int procCoFogDeadInit(); + /* 8011CF60 */ int procCoFogDead(); + /* 8011D0A0 */ int procWolfSmellWaitInit(); + /* 8011D110 */ int procCoNodInit(); + /* 8011D1F4 */ int procCoNod(); + /* 8011D268 */ int procCoEyeAwayInit(); + /* 8011D304 */ int procCoGlareInit(); + /* 8011D3CC */ int procCoGlare(); + /* 8011D474 */ int procGoatStopReadyInit(); + /* 8011D4D4 */ int procGoatStopReady(); + /* 8011D544 */ int procCoGetReadySitInit(); + /* 8011D64C */ int procCoGetReadySit(); + /* 8011D6D0 */ int procCoTwGateInit(); /* 8011D7D4 */ int procCoTwGate(); - /* 8011D82C */ void procWolfSnowEscapeInit(); - /* 8011D8F8 */ void procWolfSnowEscape(); - /* 8011DB04 */ void procZoraMoveInit(); - /* 8011DB9C */ void procZoraMove(); - /* 8011DDD4 */ void procLookAroundTurnInit(); - /* 8011DED8 */ void procLookAroundTurn(); - /* 8011DF68 */ void procTradeItemOutInit(); - /* 8011E060 */ void procTradeItemOut(); + /* 8011D82C */ int procWolfSnowEscapeInit(); + /* 8011D8F8 */ int procWolfSnowEscape(); + /* 8011DB04 */ int procZoraMoveInit(); + /* 8011DB9C */ int procZoraMove(); + /* 8011DDD4 */ int procLookAroundTurnInit(); + /* 8011DED8 */ int procLookAroundTurn(); + /* 8011DF68 */ int procTradeItemOutInit(); + /* 8011E060 */ int procTradeItemOut(); /* 8011E3D8 */ void checkLetterItem(int); - /* 8011E448 */ void procNotUseItemInit(int); - /* 8011E57C */ void procNotUseItem(); - /* 8011E6E0 */ void procSwordReadyInit(); - /* 8011E748 */ void procSwordReady(); + /* 8011E448 */ int procNotUseItemInit(int); + /* 8011E57C */ int procNotUseItem(); + /* 8011E6E0 */ int procSwordReadyInit(); + /* 8011E748 */ int procSwordReady(); /* 8011E83C */ void setSwordPushAnime(); - /* 8011E8E0 */ void procSwordPushInit(); - /* 8011E960 */ void procSwordPush(); - /* 8011E9F8 */ void procGanonFinishInit(); + /* 8011E8E0 */ int procSwordPushInit(); + /* 8011E960 */ int procSwordPush(); + /* 8011E9F8 */ int procGanonFinishInit(); /* 8011EA78 */ bool procGanonFinish(); - /* 8011EAE8 */ void procCutFastReadyInit(); + /* 8011EAE8 */ int procCutFastReadyInit(); /* 8011EB8C */ int procCutFastReady(); /* 8011EBDC */ int procMasterSwordStickInit(); /* 8011EC60 */ int procMasterSwordStick(); /* 8011ED18 */ int procMasterSwordPullInit(); - /* 8011ED8C */ void procMasterSwordPull(); + /* 8011ED8C */ int procMasterSwordPull(); /* 8011EE40 */ static BOOL checkLv7DungeonShop(); /* 8011EE94 */ int procDungeonWarpReadyInit(); - /* 8011EFB8 */ void procDungeonWarpReady(); - /* 8011F084 */ void procDungeonWarpInit(); + /* 8011EFB8 */ int procDungeonWarpReady(); + /* 8011F084 */ int procDungeonWarpInit(); /* 8011F0F4 */ int procDungeonWarp(); - /* 8011F360 */ void procDungeonWarpSceneStartInit(); - /* 8011F460 */ void procDungeonWarpSceneStart(); + /* 8011F360 */ int procDungeonWarpSceneStartInit(); + /* 8011F460 */ int procDungeonWarpSceneStart(); /* 8011F658 */ bool checkAcceptWarp(); /* 8011F7D8 */ void dungeonReturnWarp(); /* 8011F9EC */ void checkWarpStart(); /* 8011FBC0 */ void warpModelTexScroll(); - /* 8011FD4C */ void procCoWarpInit(int, int); - /* 80120124 */ void procCoWarp(); + /* 8011FD4C */ int procCoWarpInit(int, int); + /* 80120124 */ int procCoWarp(); /* 80120440 */ void commonWaitTurnInit(); - /* 80120474 */ void commonGrabPutInit(); + /* 80120474 */ int commonGrabPutInit(); /* 80120500 */ void commonLargeDamageUpInit(int, int, s16, s16); /* 80120534 */ void commonFallInit(int); - /* 80120580 */ void setEmitter(u32*, u16, cXyz const*, csXyz const*); - /* 80120634 */ void setEmitterPolyColor(u32*, u16, cBgS_PolyInfo&, cXyz const*, csXyz const*); - /* 801206C4 */ void setEmitterColor(u32*, u16, cXyz const*, csXyz const*); + /* 80120580 */ JPABaseEmitter* setEmitter(u32*, u16, cXyz const*, csXyz const*); + /* 80120634 */ JPABaseEmitter* setEmitterPolyColor(u32*, u16, cBgS_PolyInfo&, cXyz const*, csXyz const*); + /* 801206C4 */ JPABaseEmitter* setEmitterColor(u32*, u16, cXyz const*, csXyz const*); /* 80120778 */ void stopDrawParticle(u32); /* 801207BC */ void setEffectFrontRollParam(); /* 80120880 */ void setEffectSlipParam(); @@ -2671,10 +2698,10 @@ public: /* 80127F20 */ BOOL checkWolfSlowDash(); /* 80127F50 */ void setSpeedAndAngleWolf(); /* 80128478 */ void setSpeedAndAngleWolfAtn(); - /* 80128798 */ void checkWolfAtnWait(); + /* 80128798 */ BOOL checkWolfAtnWait(); /* 8012880C */ BOOL checkUnderMove0BckNoArcWolf(daAlink_c::daAlink_WANM) const; /* 80128844 */ void setBlendWolfMoveAnime(f32); - /* 80128F0C */ void checkWolfAtnMoveBack(s16); + /* 80128F0C */ BOOL checkWolfAtnMoveBack(s16); /* 80128F5C */ void setWolfAtnMoveDirection(); /* 80129114 */ void setBlendWolfAtnMoveAnime(f32); /* 8012933C */ void setBlendWolfAtnBackMoveAnime(f32); @@ -2685,149 +2712,149 @@ public: /* 801296D8 */ void setSingleAnimeWolfBaseSpeed(daAlink_c::daAlink_WANM, f32, f32); /* 80129704 */ void setSingleAnimeWolf(daAlink_c::daAlink_WANM, f32, f32, s16, f32); /* 80129848 */ void setSingleAnimeWolfParam(daAlink_c::daAlink_WANM, daAlinkHIO_anm_c const*); - /* 8012987C */ void checkWolfLandAction(int); + /* 8012987C */ int checkWolfLandAction(int); /* 80129958 */ BOOL checkMidnaUseAbility() const; /* 801299A8 */ void checkWolfUseAbility(); /* 80129A80 */ int checkWolfGroundSpecialMode(); - /* 80129B44 */ void checkNextActionWolf(int); + /* 80129B44 */ int checkNextActionWolf(int); /* 8012A02C */ void wolfSideBgCheck(s16); /* 8012A228 */ void checkWolfAttackReverse(int); - /* 8012A330 */ void checkWolfBarrierHitReverse(); - /* 8012A41C */ void checkWolfBarrierWallHit(cBgS_PolyInfo&); + /* 8012A330 */ int checkWolfBarrierHitReverse(); + /* 8012A41C */ bool checkWolfBarrierWallHit(cBgS_PolyInfo&); /* 8012A498 */ void wolfBgCheck(); /* 8012ACCC */ void changeWolfBlendRate(int); /* 8012AD1C */ void setWolfFootMatrix(); /* 8012B724 */ void wolfFootBgCheck(); - /* 8012BFA8 */ void checkWolfWaitSlipPolygon(); + /* 8012BFA8 */ BOOL checkWolfWaitSlipPolygon(); /* 8012C1F4 */ void setWolfWaitSlip(); /* 8012C308 */ void checkWolfAtnDoCharge(); /* 8012C30C */ void setWolfChainPos(); /* 8012CB0C */ void setWolfAnmVoice(); - /* 8012CBE4 */ void procWolfServiceWaitInit(int); - /* 8012CD28 */ void procWolfServiceWait(); - /* 8012CF68 */ void procWolfTiredWaitInit(); - /* 8012CFEC */ void procWolfTiredWait(); - /* 8012D050 */ void procWolfMidnaRideShockInit(); - /* 8012D104 */ void procWolfMidnaRideShock(); - /* 8012D1A8 */ void procWolfWaitInit(); - /* 8012D2A8 */ void procWolfWait(); - /* 8012D380 */ void procWolfMoveInit(); - /* 8012D3E4 */ void procWolfMove(); - /* 8012D474 */ void procWolfDashInit(); - /* 8012D590 */ void procWolfDash(); - /* 8012D8C0 */ void procWolfDashReverseInit(int); - /* 8012DA5C */ void procWolfDashReverse(); - /* 8012DBA8 */ void procWolfAtnActorMoveInit(); - /* 8012DC44 */ void procWolfAtnActorMove(); - /* 8012DD08 */ void procWolfWaitTurnInit(); - /* 8012DDB4 */ void procWolfWaitTurn(); - /* 8012DEC8 */ void procWolfSideStepInit(int); - /* 8012E0AC */ void procWolfSideStep(); - /* 8012E1E8 */ void procWolfSideStepLandInit(s16); - /* 8012E2DC */ void procWolfSideStepLand(); - /* 8012E398 */ void procWolfBackJumpInit(int); - /* 8012E508 */ void procWolfBackJump(); - /* 8012E5F4 */ void procWolfBackJumpLandInit(s16, s16); - /* 8012E684 */ void procWolfBackJumpLand(); - /* 8012E754 */ void procWolfHowlInit(int); - /* 8012E83C */ void procWolfHowl(); - /* 8012E9C8 */ void procWolfAutoJumpInit(int); - /* 8012EB94 */ void procWolfAutoJump(); - /* 8012EDD0 */ void procWolfFallInit(int, f32); - /* 8012EFB8 */ void procWolfFall(); - /* 8012F138 */ void procWolfLandInit(); - /* 8012F1F0 */ void procWolfLand(); - /* 8012F278 */ void procWolfSitInit(int); - /* 8012F358 */ void procWolfSit(); - /* 8012F41C */ void procWolfStepMoveInit(); - /* 8012F500 */ void procWolfStepMove(); - /* 8012F634 */ void procWolfSlipInit(); - /* 8012F6EC */ void procWolfSlip(); - /* 8012F840 */ void procWolfSlipTurnInit(int); - /* 8012F9C0 */ void procWolfSlipTurn(); - /* 8012FB18 */ void procWolfSlipTurnLandInit(); - /* 8012FBB4 */ void procWolfSlipTurnLand(); - /* 8012FC38 */ void procWolfSlideReadyInit(s16, int); - /* 8012FD2C */ void procWolfSlideReady(); - /* 8012FE80 */ void procWolfSlideInit(s16, int); - /* 8012FFA4 */ void procWolfSlide(); - /* 801300D4 */ void procWolfSlideLandInit(); - /* 80130138 */ void procWolfSlideLand(); - /* 801301E4 */ void procWolfWaitSlipInit(); - /* 80130268 */ void procWolfWaitSlip(); - /* 80130440 */ void procWolfSlopeStartInit(int); - /* 801304D4 */ void procWolfSlopeStart(); + /* 8012CBE4 */ int procWolfServiceWaitInit(int); + /* 8012CD28 */ int procWolfServiceWait(); + /* 8012CF68 */ int procWolfTiredWaitInit(); + /* 8012CFEC */ int procWolfTiredWait(); + /* 8012D050 */ int procWolfMidnaRideShockInit(); + /* 8012D104 */ int procWolfMidnaRideShock(); + /* 8012D1A8 */ int procWolfWaitInit(); + /* 8012D2A8 */ int procWolfWait(); + /* 8012D380 */ int procWolfMoveInit(); + /* 8012D3E4 */ int procWolfMove(); + /* 8012D474 */ int procWolfDashInit(); + /* 8012D590 */ int procWolfDash(); + /* 8012D8C0 */ int procWolfDashReverseInit(int); + /* 8012DA5C */ int procWolfDashReverse(); + /* 8012DBA8 */ int procWolfAtnActorMoveInit(); + /* 8012DC44 */ int procWolfAtnActorMove(); + /* 8012DD08 */ int procWolfWaitTurnInit(); + /* 8012DDB4 */ int procWolfWaitTurn(); + /* 8012DEC8 */ int procWolfSideStepInit(int); + /* 8012E0AC */ int procWolfSideStep(); + /* 8012E1E8 */ int procWolfSideStepLandInit(s16); + /* 8012E2DC */ int procWolfSideStepLand(); + /* 8012E398 */ int procWolfBackJumpInit(int); + /* 8012E508 */ int procWolfBackJump(); + /* 8012E5F4 */ int procWolfBackJumpLandInit(s16, s16); + /* 8012E684 */ int procWolfBackJumpLand(); + /* 8012E754 */ int procWolfHowlInit(int); + /* 8012E83C */ int procWolfHowl(); + /* 8012E9C8 */ int procWolfAutoJumpInit(int); + /* 8012EB94 */ int procWolfAutoJump(); + /* 8012EDD0 */ int procWolfFallInit(int, f32); + /* 8012EFB8 */ int procWolfFall(); + /* 8012F138 */ int procWolfLandInit(); + /* 8012F1F0 */ int procWolfLand(); + /* 8012F278 */ int procWolfSitInit(int); + /* 8012F358 */ int procWolfSit(); + /* 8012F41C */ int procWolfStepMoveInit(); + /* 8012F500 */ int procWolfStepMove(); + /* 8012F634 */ int procWolfSlipInit(); + /* 8012F6EC */ int procWolfSlip(); + /* 8012F840 */ int procWolfSlipTurnInit(int); + /* 8012F9C0 */ int procWolfSlipTurn(); + /* 8012FB18 */ int procWolfSlipTurnLandInit(); + /* 8012FBB4 */ int procWolfSlipTurnLand(); + /* 8012FC38 */ int procWolfSlideReadyInit(s16, int); + /* 8012FD2C */ int procWolfSlideReady(); + /* 8012FE80 */ int procWolfSlideInit(s16, int); + /* 8012FFA4 */ int procWolfSlide(); + /* 801300D4 */ int procWolfSlideLandInit(); + /* 80130138 */ int procWolfSlideLand(); + /* 801301E4 */ int procWolfWaitSlipInit(); + /* 80130268 */ int procWolfWaitSlip(); + /* 80130440 */ int procWolfSlopeStartInit(int); + /* 801304D4 */ int procWolfSlopeStart(); /* 80130654 */ void setWolfHowlNotHappen(int); - /* 80130700 */ void procWolfHowlDemoInit(); - /* 80130BC4 */ void procWolfHowlDemo(); - /* 80131450 */ void checkWolfRopeHit(dCcD_GObjInf*, cXyz const*, int) const; - /* 80131628 */ void checkWolfRopeJumpHang(); - /* 801316A4 */ void getWolfRopeMoveSpeed(); - /* 80131718 */ void setWolfRopePosY(); - /* 801319F0 */ void initWolfRopeShapeAngle(); + /* 80130700 */ int procWolfHowlDemoInit(); + /* 80130BC4 */ int procWolfHowlDemo(); + /* 80131450 */ fopAc_ac_c* checkWolfRopeHit(dCcD_GObjInf*, cXyz const*, int) const; + /* 80131628 */ int checkWolfRopeJumpHang(); + /* 801316A4 */ f32 getWolfRopeMoveSpeed(); + /* 80131718 */ int setWolfRopePosY(); + /* 801319F0 */ s16 initWolfRopeShapeAngle(); /* 80131A6C */ void wolfRopeSwingInc(f32); /* 80131AFC */ void setWolfRopeOffsetY(int); - /* 80131C00 */ void getDirectionRopeMove() const; - /* 80131C74 */ void procWolfRopeMoveInit(int, int); - /* 80131DA0 */ void procWolfRopeMove(); - /* 80132738 */ void procWolfRopeHangInit(int); - /* 80132914 */ void procWolfRopeHang(); - /* 80132D68 */ void procWolfRopeTurnInit(); - /* 80132E88 */ void procWolfRopeTurn(); - /* 80133054 */ void procWolfRopeStaggerInit(int); - /* 80133164 */ void procWolfRopeStagger(); - /* 8013384C */ void procWolfRopeSubjectivityInit(); - /* 80133930 */ void procWolfRopeSubjectivity(); + /* 80131C00 */ int getDirectionRopeMove() const; + /* 80131C74 */ int procWolfRopeMoveInit(int, int); + /* 80131DA0 */ int procWolfRopeMove(); + /* 80132738 */ int procWolfRopeHangInit(int); + /* 80132914 */ int procWolfRopeHang(); + /* 80132D68 */ int procWolfRopeTurnInit(); + /* 80132E88 */ int procWolfRopeTurn(); + /* 80133054 */ int procWolfRopeStaggerInit(int); + /* 80133164 */ int procWolfRopeStagger(); + /* 8013384C */ int procWolfRopeSubjectivityInit(); + /* 80133930 */ int procWolfRopeSubjectivity(); /* 80133D6C */ void getWolfTagJumpTime() const; /* 80133EF0 */ cXyz* checkMidnaLockJumpPoint() const; - /* 80134000 */ void procWolfTagJumpInit(fopAc_ac_c*); - /* 80134838 */ void procWolfTagJump(); - /* 80134DB8 */ void procWolfTagJumpLandInit(fopAc_ac_c*); - /* 80134EBC */ void procWolfTagJumpLand(); + /* 80134000 */ int procWolfTagJumpInit(fopAc_ac_c*); + /* 80134838 */ int procWolfTagJump(); + /* 80134DB8 */ int procWolfTagJumpLandInit(fopAc_ac_c*); + /* 80134EBC */ int procWolfTagJumpLand(); /* 80135160 */ int procWolfGiantPuzzleInit(); - /* 801351F8 */ void procWolfGiantPuzzle(); + /* 801351F8 */ int procWolfGiantPuzzle(); /* 80135458 */ void setWolfHangGroundY(); /* 801354C8 */ void changeWolfHangEndProc(); - /* 801355EC */ void procWolfHangReadyInit(); - /* 80135668 */ void procWolfHangReady(); - /* 801356F0 */ void procWolfHangWallCatchInit(int); - /* 80135AF4 */ void procWolfHangWallCatch(); - /* 80135CD8 */ void procWolfHangFallStartInit(cM3dGPla*); - /* 80135F00 */ void procWolfHangFallStart(); + /* 801355EC */ int procWolfHangReadyInit(); + /* 80135668 */ int procWolfHangReady(); + /* 801356F0 */ int procWolfHangWallCatchInit(int); + /* 80135AF4 */ int procWolfHangWallCatch(); + /* 80135CD8 */ int procWolfHangFallStartInit(cM3dGPla*); + /* 80135F00 */ int procWolfHangFallStart(); /* 80136064 */ void setWolfHeadDamage(); - /* 801360EC */ void procWolfDamageInit(dCcD_GObjInf*); - /* 80136508 */ void procWolfDamage(); - /* 80136624 */ void procWolfLargeDamageUpInit(int, int, s16, s16); - /* 801369E4 */ void procWolfLargeDamageUp(); - /* 80136C18 */ void procWolfLandDamageInit(int); - /* 80136DE4 */ void procWolfLandDamage(); + /* 801360EC */ int procWolfDamageInit(dCcD_GObjInf*); + /* 80136508 */ int procWolfDamage(); + /* 80136624 */ int procWolfLargeDamageUpInit(int, int, s16, s16); + /* 801369E4 */ int procWolfLargeDamageUp(); + /* 80136C18 */ int procWolfLandDamageInit(int); + /* 80136DE4 */ int procWolfLandDamage(); /* 80136EC4 */ void setWolfScreamWaitAnime(); /* 80136F54 */ int procWolfScreamWaitInit(); - /* 80136FF8 */ void procWolfScreamWait(); - /* 801370E4 */ void getWolfLieMoveAnmSpeed(); + /* 80136FF8 */ int procWolfScreamWait(); + /* 801370E4 */ f32 getWolfLieMoveAnmSpeed(); /* 8013712C */ void getWolfLieMoveSpeed(); - /* 801371A0 */ void checkMidnaDisappearMode() const; + /* 801371A0 */ BOOL checkMidnaDisappearMode() const; /* 801371FC */ void checkWolfLieContinue(int); - /* 801372B4 */ void checkNextActionWolfFromLie(); + /* 801372B4 */ int checkNextActionWolfFromLie(); /* 80137330 */ void setWolfLieMoveVoice(int); - /* 801373F8 */ void checkWolfLieCode(); - /* 80137420 */ void procWolfLieStartInit(int); - /* 8013753C */ void procWolfLieStart(); - /* 80137634 */ void procWolfLieMoveInit(int); - /* 801377F0 */ void procWolfLieMove(); - /* 80137C90 */ void procWolfLieAutoMoveInit(int, cXyz*); - /* 80137D4C */ void procWolfLieAutoMove(); + /* 801373F8 */ bool checkWolfLieCode(); + /* 80137420 */ int procWolfLieStartInit(int); + /* 8013753C */ int procWolfLieStart(); + /* 80137634 */ int procWolfLieMoveInit(int); + /* 801377F0 */ int procWolfLieMove(); + /* 80137C90 */ int procWolfLieAutoMoveInit(int, cXyz*); + /* 80137D4C */ int procWolfLieAutoMove(); /* 80138000 */ void setSpeedAndAngleSwimWolf(); - /* 80138188 */ void getWolfSwimMoveAnmSpeed(); - /* 801381F8 */ void decideDoStatusSwimWolf(); - /* 801383D8 */ void procWolfSwimUpInit(); - /* 80138484 */ void procWolfSwimUp(); - /* 8013852C */ void procWolfSwimWaitInit(int); - /* 80138644 */ void procWolfSwimWait(); - /* 8013871C */ void procWolfSwimMoveInit(); - /* 801387A0 */ void procWolfSwimMove(); - /* 8013890C */ void procWolfSwimEndWaitInit(int); - /* 80138A18 */ void procWolfSwimEndWait(); + /* 80138188 */ f32 getWolfSwimMoveAnmSpeed(); + /* 801381F8 */ int decideDoStatusSwimWolf(); + /* 801383D8 */ int procWolfSwimUpInit(); + /* 80138484 */ int procWolfSwimUp(); + /* 8013852C */ int procWolfSwimWaitInit(int); + /* 80138644 */ int procWolfSwimWait(); + /* 8013871C */ int procWolfSwimMoveInit(); + /* 801387A0 */ int procWolfSwimMove(); + /* 8013890C */ int procWolfSwimEndWaitInit(int); + /* 80138A18 */ int procWolfSwimEndWait(); /* 80138C04 */ void resetWolfEnemyBiteAll(); /* 80138C44 */ void checkWolfEnemyThrowAction(); /* 80138CB8 */ void setWolfLockDomeModel(); @@ -2839,66 +2866,66 @@ public: /* 801392E4 */ void checkWolfComboCnt(); /* 801393A4 */ void checkWolfAttackAction(); /* 801395B4 */ void setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM, f32); - /* 80139600 */ void setWolfEnemyHangBitePos(fopEn_enemy_c*); + /* 80139600 */ BOOL setWolfEnemyHangBitePos(fopEn_enemy_c*); /* 801396F8 */ void setWolfBiteDamage(fopEn_enemy_c*); /* 801397A4 */ void checkWolfLockAttackChargeState(); - /* 801398A8 */ void procWolfRollAttackChargeInit(); - /* 80139908 */ void procWolfRollAttackCharge(); - /* 801399C4 */ void procWolfRollAttackMoveInit(); - /* 80139A70 */ void procWolfRollAttackMove(); - /* 80139DE0 */ void procWolfJumpAttackInit(int); - /* 8013A4F8 */ void procWolfJumpAttack(); - /* 8013A7EC */ void procWolfJumpAttackKickInit(); - /* 8013A8A0 */ void procWolfJumpAttackKick(); - /* 8013A8FC */ void procWolfJumpAttackSlideLandInit(int, int, int); - /* 8013AAC4 */ void procWolfJumpAttackSlideLand(); - /* 8013AC44 */ void procWolfJumpAttackNormalLandInit(int); - /* 8013ACF4 */ void procWolfJumpAttackNormalLand(); - /* 8013ADF0 */ void procWolfWaitAttackInit(int); - /* 8013AFC0 */ void procWolfWaitAttack(); - /* 8013B2A0 */ void procWolfRollAttackInit(int, int); - /* 8013B424 */ void procWolfRollAttack(); - /* 8013B528 */ void procWolfDownAttackInit(); - /* 8013B808 */ void procWolfDownAttack(); - /* 8013B964 */ void procWolfDownAtLandInit(fopEn_enemy_c*); - /* 8013BA44 */ void procWolfDownAtLand(); - /* 8013BC94 */ void procWolfDownAtMissLandInit(); - /* 8013BD54 */ void procWolfDownAtMissLand(); - /* 8013BE24 */ void procWolfLockAttackInit(int); - /* 8013C3E4 */ void procWolfLockAttack(); - /* 8013C630 */ void procWolfLockAttackTurnInit(int); - /* 8013C7A4 */ void procWolfLockAttackTurn(); - /* 8013C8C8 */ void procWolfAttackReverseInit(); - /* 8013C9EC */ void procWolfAttackReverse(); - /* 8013CB48 */ void procWolfEnemyThrowInit(int); - /* 8013CC5C */ void procWolfEnemyThrow(); - /* 8013CCF4 */ void procWolfEnemyHangBiteInit(); - /* 8013CDEC */ void procWolfEnemyHangBite(); - /* 8013D0D4 */ void procWolfGrabUpInit(); - /* 8013D3FC */ void procWolfGrabUp(); - /* 8013D588 */ void procWolfGrabPutInit(); - /* 8013D65C */ void procWolfGrabPut(); - /* 8013D818 */ void procWolfGrabThrowInit(); - /* 8013D86C */ void procWolfGrabThrow(); - /* 8013D930 */ void procWolfPushInit(); - /* 8013DA8C */ void procWolfPush(); + /* 801398A8 */ int procWolfRollAttackChargeInit(); + /* 80139908 */ int procWolfRollAttackCharge(); + /* 801399C4 */ int procWolfRollAttackMoveInit(); + /* 80139A70 */ int procWolfRollAttackMove(); + /* 80139DE0 */ int procWolfJumpAttackInit(int); + /* 8013A4F8 */ int procWolfJumpAttack(); + /* 8013A7EC */ int procWolfJumpAttackKickInit(); + /* 8013A8A0 */ int procWolfJumpAttackKick(); + /* 8013A8FC */ int procWolfJumpAttackSlideLandInit(int, int, int); + /* 8013AAC4 */ int procWolfJumpAttackSlideLand(); + /* 8013AC44 */ int procWolfJumpAttackNormalLandInit(int); + /* 8013ACF4 */ int procWolfJumpAttackNormalLand(); + /* 8013ADF0 */ int procWolfWaitAttackInit(int); + /* 8013AFC0 */ int procWolfWaitAttack(); + /* 8013B2A0 */ int procWolfRollAttackInit(int, int); + /* 8013B424 */ int procWolfRollAttack(); + /* 8013B528 */ int procWolfDownAttackInit(); + /* 8013B808 */ int procWolfDownAttack(); + /* 8013B964 */ int procWolfDownAtLandInit(fopEn_enemy_c*); + /* 8013BA44 */ int procWolfDownAtLand(); + /* 8013BC94 */ int procWolfDownAtMissLandInit(); + /* 8013BD54 */ int procWolfDownAtMissLand(); + /* 8013BE24 */ int procWolfLockAttackInit(int); + /* 8013C3E4 */ int procWolfLockAttack(); + /* 8013C630 */ int procWolfLockAttackTurnInit(int); + /* 8013C7A4 */ int procWolfLockAttackTurn(); + /* 8013C8C8 */ int procWolfAttackReverseInit(); + /* 8013C9EC */ int procWolfAttackReverse(); + /* 8013CB48 */ int procWolfEnemyThrowInit(int); + /* 8013CC5C */ int procWolfEnemyThrow(); + /* 8013CCF4 */ int procWolfEnemyHangBiteInit(); + /* 8013CDEC */ int procWolfEnemyHangBite(); + /* 8013D0D4 */ int procWolfGrabUpInit(); + /* 8013D3FC */ int procWolfGrabUp(); + /* 8013D588 */ int procWolfGrabPutInit(); + /* 8013D65C */ int procWolfGrabPut(); + /* 8013D818 */ int procWolfGrabThrowInit(); + /* 8013D86C */ int procWolfGrabThrow(); + /* 8013D930 */ int procWolfPushInit(); + /* 8013DA8C */ int procWolfPush(); /* 8013DB6C */ int procWolfCargoCarryInit(); - /* 8013DC5C */ void procWolfCargoCarry(); - /* 8013DDF8 */ void procWolfChainUpInit(); - /* 8013DE70 */ void procWolfChainUp(); - /* 8013DF30 */ void procWolfGanonCatchInit(); - /* 8013E034 */ void procWolfGanonCatch(); - /* 8013E240 */ void procWolfChainReadyInit(); - /* 8013E2A8 */ void procWolfChainReady(); - /* 8013E6C0 */ void procWolfChainWaitInit(); - /* 8013E80C */ void procWolfChainWait(); - /* 8013ED44 */ void procWolfDigInit(); - /* 8013F1F0 */ void procWolfDig(); - /* 8013F4A8 */ void procWolfDigThroughInit(int); - /* 8013F7C4 */ void procWolfDigThrough(); + /* 8013DC5C */ int procWolfCargoCarry(); + /* 8013DDF8 */ int procWolfChainUpInit(); + /* 8013DE70 */ int procWolfChainUp(); + /* 8013DF30 */ int procWolfGanonCatchInit(); + /* 8013E034 */ int procWolfGanonCatch(); + /* 8013E240 */ int procWolfChainReadyInit(); + /* 8013E2A8 */ int procWolfChainReady(); + /* 8013E6C0 */ int procWolfChainWaitInit(); + /* 8013E80C */ int procWolfChainWait(); + /* 8013ED44 */ int procWolfDigInit(); + /* 8013F1F0 */ int procWolfDig(); + /* 8013F4A8 */ int procWolfDigThroughInit(int); + /* 8013F7C4 */ int procWolfDigThrough(); /* 8013F90C */ void setSmellSave(); - /* 8013FA14 */ void procWolfGetSmellInit(); - /* 8013FC24 */ void procWolfGetSmell(); + /* 8013FA14 */ int procWolfGetSmellInit(); + /* 8013FC24 */ int procWolfGetSmell(); /* 8013FF28 */ void setArcName(int); /* 8013FF90 */ void setShieldArcName(); /* 8013FFD8 */ void setOriginalHeap(JKRExpHeap**, u32); @@ -2952,7 +2979,7 @@ public: virtual BOOL checkGoatThrowAfter() const; virtual BOOL checkWolfTagLockJump() const; virtual BOOL checkWolfTagLockJumpLand() const; - virtual bool checkWolfRope(); + virtual BOOL checkWolfRope(); virtual BOOL checkWolfRopeHang() const; virtual BOOL checkRollJump() const; virtual BOOL checkGoronRideWait() const; @@ -3020,7 +3047,7 @@ public: virtual bool checkKandelaarSwing(int) const; virtual s16 getBoardCutTurnOffsetAngleY() const; virtual cXyz* getMagneBootsTopVec(); - virtual bool getKandelaarFlamePos(); + virtual cXyz* getKandelaarFlamePos(); virtual bool checkUseKandelaar(int); virtual void setDkCaught(fopAc_ac_c*); virtual void onPressedDamage(cXyz const&, short); @@ -3033,8 +3060,8 @@ public: virtual bool checkSpinnerPathMove(); virtual bool checkSpinnerTriggerAttack(); virtual void onSpinnerPathForceRemove(); - virtual bool getIronBallBgHit() const; - virtual bool getIronBallCenterPos(); + virtual s16 getIronBallBgHit() const; + virtual cXyz* getIronBallCenterPos(); virtual bool checkCanoeFishingGetLeft() const; virtual bool checkCanoeFishingGetRight() const; virtual u8 checkBeeChildDrink() const; @@ -3081,22 +3108,58 @@ public: u32 i_checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; } bool i_checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); } bool i_checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); } + + // wrapping functions that use this with "#pragma optimization_level 2" can help fix some issues, but not always BOOL i_checkAttentionLock() { return mAttention->Lockon(); } - bool checkUpperAnime(u16 pIdx) const { return mUpperAnmHeap[UPPER_2].getIdx() == pIdx; } + bool checkUpperAnime(u16 i_idx) const { return mUpperAnmHeap[UPPER_2].getIdx() == i_idx; } + bool checkUnderAnime(u16 i_idx) const { return mUnderAnmHeap[UNDER_2].getIdx() == i_idx; } + + bool checkNoSetUpperAnime() const { return mUpperAnmHeap[UPPER_2].checkNoSetIdx(); } + bool checkSwimMoveHandAnime() const { return checkUpperAnime(0x23F); } + bool checkZoraSwimDamageAnime() const { return checkUpperAnime(0xBF); } bool checkIronBallWaitAnime() const { return checkUpperAnime(0x19C); } bool checkHorseTurnLAnime() const { return checkUpperAnime(0x24C); } bool checkHorseTurnRAnime() const { return checkUpperAnime(0x24D); } bool checkHorseTurnAnime() const { return checkHorseTurnLAnime() || checkHorseTurnRAnime(); } bool checkHookshotShootAnime() const { return checkUpperAnime(0x18C); } bool checkHookshotReadyAnime() const { return checkUpperAnime(0x18D); } - bool checkHookshotAnime() const { + BOOL checkHookshotAnime() const { return checkHookshotReadyAnime() || checkHookshotShootAnime(); } BOOL checkBoomerangReadyAnime() const { return (mEquipItem == BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54); } bool checkDkCaught2Anime() const { return checkUpperAnime(0x262); } + BOOL checkCopyRodThrowAnime() const { return mEquipItem == COPY_ROD && checkUpperAnime(0x53); } + BOOL checkCutDashChargeAnime() const { return checkUpperAnime(0x83); } + BOOL checkBoomerangAnimeAndReturnWait() const { return checkBoomerangAnime(); } + BOOL checkTwoHandItemEquipAnime() const { return checkUpperAnime(0x245); } + BOOL checkBarkAnime() const { return 0; } + bool checkWolfGrabAnimeObj() const { return checkUpperAnime(0x2DA); } + bool checkWolfGrabAnimeStick() const { return checkUpperAnime(0x2DB); } + bool checkWolfGrabAnime() const { return checkWolfGrabAnimeObj() || checkWolfGrabAnimeStick(); } + bool checkKandelaarSwingAnime() const { return false; } + bool checkBowChargeWaitAnime() const { return checkUpperAnime(0xA); } + bool checkBowReloadAnime() const { return checkUpperAnime(0x9); } + bool checkBowShootAnime() const { return checkUpperAnime(0xC); } + bool checkBowWaitAnime() const { return checkUpperAnime(0xD); } + BOOL checkGrabUpThrowAnime() const { return checkUpperAnime(0x170); } + BOOL checkGrabSideThrowAnime() const { return checkUpperAnime(0x51) || mUpperAnmHeap[0].getIdx() == 0x51; } + BOOL checkGrabHeavyThrowAnime() const { return checkUpperAnime(0x17B); } + BOOL checkGrabAnimeUp() const { return checkUpperAnime(0x16C); } + BOOL checkGrabAnimeSide() const { return checkUpperAnime(0x50); } + BOOL checkGrabAnimeCarry() const { return checkUpperAnime(0x60); } + bool checkHorseUnderDashStartAnime() const { return checkUnderAnime(0xDD); } + bool checkUpperHorseLieAnime() const { return checkUpperAnime(0x265); } + bool checkHorseTiredAnime() const { return checkUpperAnime(0x263); } + bool checkHorseSwordUpAnime() const { return checkUpperAnime(0xCC); } + bool checkIronBallPreSwingAnime() const { return checkUpperAnime(0x19A); } + bool checkIronBallSwingAnime() const { return checkUpperAnime(0x19B); } + bool checkDashDamageAnime() const { return checkUpperAnime(0xAD); } + bool checkBoomerangCatchAnime() const { return checkUpperAnime(0x52); } + BOOL checkCopyRodReadyAnime() const { return mEquipItem == COPY_ROD && checkUpperAnime(0x54); } + BOOL checkCanoeFishingWaitAnime() const { return checkUpperAnime(0x5D) || checkUpperAnime(0x260); } s16 checkWolfEyeUp() const { return mWolfEyeUp; } void onModeFlg(u32 flag) { mModeFlg |= flag; } @@ -3105,9 +3168,11 @@ public: daPy_actorKeep_c* getThrowBoomerangAcKeep() { return &mThrowBoomerangAcKeep; } s32 getStartRoomNo() { return fopAcM_GetParam(this) & 0x3F; } bool checkFisingRodLure() const { return mEquipItem == 0x105; } - bool doTrigger() const { return mItemTrigger & 0x10; } + bool doTrigger() const { return mItemTrigger & BTN_A; } + bool swordTrigger() { return itemTriggerCheck(BTN_B); } + bool peepSubjectCancelTrigger() { return itemTriggerCheck(0x8); } u32 getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; } - bool checkInputOnR() const { return field_0x33ac > 0.05f; } + inline bool checkInputOnR() const; static int getSightBti() { return 0x5B; } bool checkBoomerangChargeEndWait() const { return mEquipItem != 0x102 && checkBoomerangAnime(); @@ -3116,6 +3181,8 @@ public: return mNowAnmPackUpper[param_0].getAnmTransform(); } void setFacePriBck(u16 param_0) { setFaceBck(param_0, 1, 0xFFFF); } + void setFaceBasicBck(u16 param_0) { setFaceBck(param_0, 0, 0xFFFF); } + void setFaceBasicBtp(u16 param_0) { setFaceBtp(param_0, 0, 0xFFFF); } void cancelFmChainGrabFromOut() { field_0x2fa3 = 0; field_0x2844.clearData(); @@ -3127,6 +3194,7 @@ public: BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } int getGrassHowlEventActor() const { return field_0x3198; } + MtxP getShieldMtx() const { return mShieldModel->getBaseTRMtx(); } bool checkFishingCastMode() const { bool var_r5; @@ -3160,6 +3228,9 @@ public: return var_r4; } + BOOL checkCanoeRideOwn(const fopAc_ac_c* param_0) const { return checkCanoeRide() && mRideAcKeep.getActorConst() == param_0; } + bool checkWolfDashMode() const { return i_checkNoResetFlg1(FLG1_DASH_MODE); } + J3DModel* initModel(J3DModelData* p_modelData, u32 param_1) { return initModel(p_modelData, 0x80000, param_1); } @@ -3168,13 +3239,51 @@ public: return initModel(p_modelData, 0, param_1); } - bool checkWindSpeedOnXZ() const { return field_0x35b8.abs2XZ() > 1.0f; } - bool checkResetRootMtx(int param_0) const { return field_0x2f90 != 0 && param_0 == 1; } - bool talkTrigger() const { return mItemTrigger & BTN_A; } - J3DAnmTransform* getNowAnmPackUnder(daAlink_UNDER i_idx) { return mNowAnmPackUnder[i_idx].getAnmTransform(); } + bool checkGrabGlide() { return checkGrabRooster(); } + BOOL i_checkRideOn() const { return mRideStatus != 0; } + + bool checkSwimDashMode() const { return i_checkNoResetFlg1(FLG1_DASH_MODE); } + + bool talkTrigger() const { return mItemTrigger & BTN_A; } + J3DAnmTransform* getNowAnmPackUnder(daAlink_UNDER i_idx) { + return mNowAnmPackUnder[i_idx].getAnmTransform(); + } + bool doButton() const { return mItemButton & BTN_A; } + void setGrassCancelStatus(u8 param_0) { setBStatus(param_0); } + + void seStartSystem(u32 i_seID) { mDoAud_seStart(i_seID, NULL, 0, 0); } + bool checkIronBallEquip() const { return mEquipItem == IRONBALL; } + + f32 getAnmSpeedStickRate(f32 param_0, f32 param_1) const { + return param_0 + (field_0x33a8 * (param_1 - param_0)); + } + + bool escapeTrigger() { + field_0x2fae |= 8; + return mItemTrigger & (BTN_A | BTN_B); + } + + void setDamageColorTime() { + mDamageColorTime = 32 - (mDamageTimer % 16); + } + + int getDirectionFromShapeAngle() const { + return getDirectionFromAngle(field_0x2fe2 - shape_angle.y); + } + + int getDirectionFromCurrentAngle() const { + return getDirectionFromAngle(field_0x2fe2 - current.angle.y); + } + + bool checkRootTransClearMode() { return field_0x2f99 & 7; } + bool checkRootTransZClearMode() { return field_0x2f99 & 4; } + bool checkRootTransXClearMode() { return field_0x2f99 & 1; } + bool checkRootTransYClearMode() { return field_0x2f99 & 2; } + + inline bool checkWindSpeedOnXZ() const; inline void startRestartRoomFromOut(int, u32, int); inline u16 getReadyItem(); @@ -3204,18 +3313,18 @@ private: /* 0x00654 */ J3DModel* mpLinkFaceModel; /* 0x00658 */ J3DModel* mpLinkHatModel; /* 0x0065C */ J3DModel* field_0x065c; - /* 0x00660 */ J3DModel* mpSwAModel; // Ordon Sword model + /* 0x00660 */ J3DModel* mpSwAModel; // Ordon Sword model /* 0x00664 */ J3DModel* mpSwASheathModel; // Ordon Sword sheath model - /* 0x00668 */ J3DModel* mpSwMModel; // Master Sword model + /* 0x00668 */ J3DModel* mpSwMModel; // Master Sword model /* 0x0066C */ J3DModel* mpSwMSheathModel; // Master Sword sheath model /* 0x00670 */ J3DModel* mWoodSwordModel; /* 0x00674 */ J3DModel* mpWlChangeModel; /* 0x00678 */ J3DModel* mShieldModel; - /* 0x0067C */ J3DAnmBase* field_0x067c; - /* 0x00680 */ J3DAnmBase* field_0x0680; + /* 0x0067C */ J3DAnmTevRegKey* mMagicArmorBodyBrk; + /* 0x00680 */ J3DAnmTevRegKey* mMagicArmorHeadBrk; /* 0x00684 */ J3DModel* mpDemoFCBlendModel; /* 0x00688 */ J3DModel* mpDemoFCTongueModel; - /* 0x0068C */ J3DAnmBase* field_0x068c; + /* 0x0068C */ J3DAnmTextureSRTKey* field_0x068c; /* 0x00690 */ mDoExt_bckAnm* mpDemoFCTmpBck; /* 0x00694 */ J3DDeformData* mpDemoFCTmpBls; /* 0x00698 */ void* field_0x0698; @@ -3284,9 +3393,9 @@ private: /* 0x00850 */ dCcD_Cyl field_0x850[3]; /* 0x00C04 */ dCcD_Cyl field_0xC04[3]; /* 0x00FB8 */ dCcD_Sph field_0xFB8; - /* 0x010F0 */ dCcD_Cyl field_0x10F0; - /* 0x0122C */ dCcD_Cps field_0x122C[3]; - /* 0x015F8 */ dCcD_Cps mGuardAttackAtCps; + /* 0x010F0 */ dCcD_Cyl mAtCyl; + /* 0x0122C */ dCcD_Cps mAtCps[3]; + /* 0x015F8 */ dCcD_Cps mGuardAtCps; /* 0x0173C */ dCcD_Stts field_0x173c; // related to ball and chain /* 0x01778 */ dCcD_Sph field_0x1778; /* 0x018B0 */ dBgS_AcchCir field_0x18B0[3]; @@ -3319,8 +3428,11 @@ private: /* 0x02118 */ daPy_anmHeap_c mAnmHeap5; /* 0x0212C */ daPy_anmHeap_c mAnmHeap6; /* 0x02140 */ daPy_anmHeap_c mAnmHeap7; - /* 0x02154 */ mDoExt_bckAnm field_0x2154; - /* 0x02170 */ u8 field_0x2170[0x10]; + /* 0x02154 */ J3DAnmTexPattern* field_0x2154; + /* 0x02158 */ J3DAnmTextureSRTKey* field_0x2158; + /* 0x0215C */ daPy_frameCtrl_c* field_0x215c; + /* 0x02160 */ s8* field_0x2160; + /* 0x02164 */ mDoExt_bckAnm field_0x2164; /* 0x02180 */ daAlink_matAnm_c* field_0x2180[2]; /* 0x02188 */ dEyeHL_c mEyeHL1; /* 0x0219C */ dEyeHL_c mEyeHL2; @@ -3353,7 +3465,7 @@ private: /* 0x0285C */ daPy_actorKeep_c field_0x285c; /* 0x02864 */ dMsgFlow_c mMsgFlow; /* 0x028B0 */ int field_0x28b0[0x10]; - /* 0x028F0 */ int field_0x28f0; + /* 0x028F0 */ u32 mMsgClassID; /* 0x028F4 */ int mAtnActorID; /* 0x028F8 */ int field_0x28f8; /* 0x028FC */ int field_0x28fc; @@ -3364,7 +3476,7 @@ private: /* 0x02B98 */ f32 field_0x2b98; /* 0x02B98 */ f32 field_0x2b9c; /* 0x02BA0 */ f32* field_0x2ba0; - /* 0x02BA4 */ f32* field_0x2ba4; + /* 0x02BA4 */ f32 field_0x2ba4; /* 0x02BA8 */ f32 mSinkShapeOffset; /* 0x02BAC */ f32 field_0x2bac[3]; /* 0x02BB8 */ Mtx mInvMtx; @@ -3421,7 +3533,7 @@ private: /* 0x02FAA */ u8 mRideStatus; /* 0x02FAB */ u8 field_0x2fab; /* 0x02FAC */ u8 mExitDirection; - /* 0x02FAD */ u8 field_0x2fad; + /* 0x02FAD */ u8 mPeepExitID; /* 0x02FAE */ u8 field_0x2fae; /* 0x02FAF */ u8 field_0x2faf; /* 0x02FB0 */ u8 field_0x2fb0; @@ -3469,7 +3581,7 @@ private: /* 0x02FDC */ u16 mEquipItem; /* 0x02FDE */ u16 field_0x2fde; /* 0x02FE0 */ s16 mStickAngle; - /* 0x02FE2 */ s16 field_0x2fe2; + /* 0x02FE2 */ s16 field_0x2fe2; // related to current stick angle /* 0x02FE4 */ s16 field_0x2fe4; /* 0x02FE6 */ s16 field_0x2fe6; /* 0x02FE8 */ u16 mProcID; @@ -3497,7 +3609,7 @@ private: /* 0x03014 */ s16 mFallVoiceInit; /* 0x03016 */ u8 field_0x3016[2]; /* 0x03018 */ s16 field_0x3018; - /* 0x0301A */ s16 mHookshotMode; + /* 0x0301A */ s16 mItemMode; /* 0x0301C */ s16 field_0x301c; /* 0x0301E */ s16 field_0x301e; /* 0x03020 */ s16 field_0x3020; @@ -3542,8 +3654,8 @@ private: /* 0x03074 */ s16 field_0x3074; /* 0x03076 */ s16 field_0x3076; /* 0x03078 */ s16 field_0x3078; - /* 0x0307A */ s16 field_0x307a; - /* 0x0307C */ s16 field_0x307c; + /* 0x0307A */ s16 mStickSpinTimer; + /* 0x0307C */ s16 mPrevStickAngle; /* 0x0307E */ s16 field_0x307e; /* 0x03080 */ s16 field_0x3080; /* 0x03082 */ s16 field_0x3082; @@ -3582,7 +3694,7 @@ private: /* 0x030C8 */ s16 field_0x30c8; /* 0x030CA */ s16 field_0x30ca; /* 0x030CC */ s16 field_0x30cc; - /* 0x030CE */ u16 field_0x30ce; + /* 0x030CE */ u16 mKeepItem; /* 0x030D0 */ s16 field_0x30d0; /* 0x030D2 */ s16 field_0x30d2; /* 0x030D4 */ u16 field_0x30d4; @@ -3622,7 +3734,7 @@ private: /* 0x0312A */ csXyz field_0x312a[2]; /* 0x03136 */ csXyz field_0x3136[2]; /* 0x03142 */ csXyz field_0x3142[4]; - /* 0x0315A */ csXyz field_0x315a; + /* 0x0315A */ csXyz mFishingArm1Angle; /* 0x03160 */ csXyz field_0x3160; /* 0x03166 */ csXyz field_0x3166; /* 0x0316C */ csXyz field_0x316c; @@ -3667,7 +3779,8 @@ private: /* 0x03244 */ u8 field_0x3244[20]; /* 0x03258 */ u32 field_0x3258; /* 0x0325C */ u32 field_0x325c; - /* 0x03260 */ u8 field_0x3260[40]; + /* 0x03260 */ u32 field_0x3260[2]; + /* 0x03268 */ u8 field_0x3268[0x3288 - 0x3268]; /* 0x03288 */ u32 field_0x3288; /* 0x0328C */ u32 field_0x328c; /* 0x03290 */ u32 field_0x3290; @@ -3776,7 +3889,7 @@ private: /* 0x035E8 */ cXyz field_0x35e8; /* 0x035F4 */ cXyz mMidnaAtnPos; /* 0x03600 */ cXyz field_0x3600; - /* 0x0360C */ cXyz field_0x360c; + /* 0x0360C */ cXyz mKandelaarFlamePos; /* 0x03618 */ cXyz field_0x3618; /* 0x03624 */ cXyz field_0x3624; /* 0x03630 */ cXyz field_0x3630; @@ -3804,8 +3917,8 @@ private: /* 0x037D4 */ cXyz field_0x37d4; /* 0x037E0 */ cXyz field_0x37e0; /* 0x037EC */ cXyz mHookshotTopPos; - /* 0x037F8 */ cXyz field_0x37f8; - /* 0x03804 */ cXyz field_0x3804; + /* 0x037F8 */ cXyz mIronBallCenterPos; + /* 0x03804 */ cXyz mIronBallBgChkPos; /* 0x03810 */ cXyz field_0x3810; /* 0x0381C */ cXyz field_0x381c; /* 0x03828 */ cXyz field_0x3828; @@ -3813,17 +3926,21 @@ private: /* 0x03840 */ cXyz* mIronBallChainPos; /* 0x03844 */ csXyz* mIronBallChainAngle; /* 0x03848 */ void* field_0x3848; - /* 0x0384C */ f32* field_0x384c; + /* 0x0384C */ cXyz* field_0x384c; /* 0x03850 */ daAlink_procFunc mpProcFunc; }; // Size: 0x38BC +static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor); +static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor); +static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1); + struct daAlinkHIO_anm_c { - /* 0x00 */ s16 mEndF; - /* 0x04 */ f32 mRate; - /* 0x08 */ f32 mStart; - /* 0x0C */ f32 mInterpolation; // morf - /* 0x10 */ f32 field_0x10; // CF? -}; // size = 0x14 + /* 0x00 */ s16 mEndFrame; + /* 0x04 */ f32 mSpeed; + /* 0x08 */ f32 mStartFrame; + /* 0x0C */ f32 mInterpolation; + /* 0x10 */ f32 mCheckFrame; // name maybe wrong +}; // size: 0x14 struct daAlinkHIO_basic_c1 { /* 0x00 */ bool mOneHitKill; @@ -3861,12 +3978,12 @@ public: class daAlinkHIO_backJump_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ f32 field_0x28; - /* 0x2C */ f32 field_0x2C; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; + /* 0x00 */ daAlinkHIO_anm_c mBackflipAnm; + /* 0x14 */ daAlinkHIO_anm_c mLandAnm; + /* 0x28 */ f32 mBackflipSpeedH; + /* 0x2C */ f32 mBackflipSpeedV; + /* 0x30 */ f32 mFallHeight; + /* 0x34 */ f32 mFallInterpolation; }; // Size: 0x38 class daAlinkHIO_backJump_c0 { @@ -3879,7 +3996,7 @@ public: /* 0x00 */ daAlinkHIO_anm_c mJumpAnm; /* 0x14 */ daAlinkHIO_anm_c mLandAnm; /* 0x28 */ daAlinkHIO_anm_c mDiveAnm; - /* 0x3C */ daAlinkHIO_anm_c mDiveUnkAnm; + /* 0x3C */ daAlinkHIO_anm_c mDiveConnectAnm; /* 0x50 */ bool mAlwaysMaxSpeedJump; /* 0x52 */ s16 mJumpAngle; /* 0x54 */ s16 mSpinJumpRotateSpeed; @@ -3932,7 +4049,7 @@ public: class daAlinkHIO_cut_c1 { public: /* 0x00 */ daAlinkHIO_anm_c mEquipAnm; - /* 0x14 */ daAlinkHIO_anm_c mReleaseAnm; + /* 0x14 */ daAlinkHIO_anm_c mUnequipAnm; /* 0x28 */ daAlinkHIO_anm_c mRecoilAnm; /* 0x3C */ daAlinkHIO_anm_c mStabAnm; /* 0x50 */ bool mForceHitCombo; @@ -3955,7 +4072,7 @@ public: /* 0x80 */ f32 mSwordRadiusHorseback; /* 0x84 */ f32 mRunCutLength; /* 0x88 */ f32 mRunCutRadius; - /* 0x8C */ f32 mUnkReleaseASpeed; + /* 0x8C */ f32 mFastUnequipAnmSpeed; /* 0x90 */ f32 mSwordLengthHorsebackFight; /* 0x94 */ f32 mSwordRadiusHorsebackFight; /* 0x98 */ f32 mFlourishControlStartFrame; @@ -3986,19 +4103,19 @@ public: class daAlinkHIO_cutLargeJump_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c mChargeAnm; // ? - /* 0x14 */ daAlinkHIO_anm_c mChargeMoveAnm; // ? + /* 0x00 */ daAlinkHIO_anm_c mChargeAnm; + /* 0x14 */ daAlinkHIO_anm_c mChargeMoveAnm; /* 0x28 */ daAlinkHIO_anm_c mCutAnm; /* 0x3C */ daAlinkHIO_anm_c mLandAnm; /* 0x50 */ f32 mCutSpeedH; /* 0x54 */ f32 mCutSpeedV; - /* 0x58 */ f32 mJumpAttackStartF; - /* 0x5C */ f32 mJumpAttackEndF; - /* 0x60 */ f32 mCutInitF; - /* 0x64 */ f32 mLandAttackInitF; - /* 0x68 */ f32 mLandAttackEndF; + /* 0x58 */ f32 mJumpAttackStartFrame; + /* 0x5C */ f32 mJumpAttackEndFrame; + /* 0x60 */ f32 mCutInitFrame; + /* 0x64 */ f32 mLandAttackInitFrame; + /* 0x68 */ f32 mLandAttackEndFrame; /* 0x6C */ f32 mLandAttackRadius; - /* 0x70 */ f32 mSpinSlashUnkCF; + /* 0x70 */ f32 mSpinSlashCheckFrame; }; // Size: 0x74 class daAlinkHIO_cutLargeJump_c0 { @@ -4006,185 +4123,97 @@ public: static daAlinkHIO_cutLargeJump_c1 const m; }; -class daAlinkHIO_cutNmV_c1 { +class daAlinkHIO_cutNormal_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; + /* 0x00 */ daAlinkHIO_anm_c mCutAnm; + /* 0x14 */ f32 mSpeed; + /* 0x18 */ f32 mAttackStartFrame; + /* 0x1C */ f32 mAttackEndFrame; }; // Size: 0x20 class daAlinkHIO_cutNmV_c0 { public: - static daAlinkHIO_cutNmV_c1 const m; + static daAlinkHIO_cutNormal_c1 const m; }; -class daAlinkHIO_cutNmL_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; -}; // Size: 0x20 - class daAlinkHIO_cutNmL_c0 { public: - static daAlinkHIO_cutNmL_c1 const m; + static daAlinkHIO_cutNormal_c1 const m; }; -class daAlinkHIO_cutNmR_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; -}; // Size: 0x20 - class daAlinkHIO_cutNmR_c0 { public: - static daAlinkHIO_cutNmR_c1 const m; + static daAlinkHIO_cutNormal_c1 const m; }; -class daAlinkHIO_cutNmSL_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; -}; // Size: 0x20 - class daAlinkHIO_cutNmSL_c0 { public: - static daAlinkHIO_cutNmSL_c1 const m; + static daAlinkHIO_cutNormal_c1 const m; }; -class daAlinkHIO_cutNmSR_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; -}; // Size: 0x20 - class daAlinkHIO_cutNmSR_c0 { public: - static daAlinkHIO_cutNmSR_c1 const m; + static daAlinkHIO_cutNormal_c1 const m; }; -class daAlinkHIO_cutFnL_c1 { +class daAlinkHIO_cutFinish_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; + /* 0x00 */ daAlinkHIO_anm_c mCutAnm; + /* 0x14 */ s16 mStopTime; + /* 0x16 */ s16 mComboStopTime; + /* 0x18 */ f32 mSpeed; + /* 0x1C */ f32 mAttackStartFrame; + /* 0x20 */ f32 mAttackEndFrame; + /* 0x24 */ f32 mComboCheckFrame; + /* 0x28 */ f32 mComboStartFrame; }; // Size: 0x2C class daAlinkHIO_cutFnL_c0 { public: - static daAlinkHIO_cutFnL_c1 const m; + static daAlinkHIO_cutFinish_c1 const m; }; -class daAlinkHIO_cutFnV_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; -}; // Size: 0x2C - class daAlinkHIO_cutFnV_c0 { public: - static daAlinkHIO_cutFnV_c1 const m; + static daAlinkHIO_cutFinish_c1 const m; }; -class daAlinkHIO_cutFnS_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ s16 field_0x14; - /* 0x16 */ s16 field_0x16; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; -}; // Size: 0x2C - class daAlinkHIO_cutFnS_c0 { public: - static daAlinkHIO_cutFnS_c1 const m; + static daAlinkHIO_cutFinish_c1 const m; }; -class daAlinkHIO_cutFnSl_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ s16 field_0x14; - /* 0x16 */ s16 field_0x16; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; -}; // Size: 0x2C - class daAlinkHIO_cutFnSl_c0 { public: - static daAlinkHIO_cutFnSl_c1 const m; + static daAlinkHIO_cutFinish_c1 const m; }; -class daAlinkHIO_cutFnSm_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ s16 field_0x14; - /* 0x16 */ s16 field_0x16; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; -}; // Size: 0x2C - class daAlinkHIO_cutFnSm_c0 { public: - static daAlinkHIO_cutFnSm_c1 const m; + static daAlinkHIO_cutFinish_c1 const m; }; -class daAlinkHIO_cutFnR_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; -}; // Size: 0x2C - class daAlinkHIO_cutFnR_c0 { public: - static daAlinkHIO_cutFnR_c1 const m; + static daAlinkHIO_cutFinish_c1 const m; }; class daAlinkHIO_cutFnJU_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ f32 field_0x28; - /* 0x2C */ f32 field_0x2C; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4C; - /* 0x50 */ f32 field_0x50; + /* 0x00 */ daAlinkHIO_anm_c mCutAnm; + /* 0x14 */ daAlinkHIO_anm_c mLandAnm; + /* 0x28 */ s16 mStopTime; + /* 0x2A */ s16 mComboStopTime; + /* 0x2C */ f32 mSpeedH; + /* 0x30 */ f32 mSpeedV; + /* 0x34 */ f32 mAttackStartFrame; + /* 0x38 */ f32 mAttackEndFrame; + /* 0x3C */ f32 mComboCheckFrame; + /* 0x40 */ f32 mComboStartFrame; + /* 0x44 */ f32 mFallHeight; + /* 0x48 */ f32 mFallInterpolation; + /* 0x4C */ f32 mAttackRadius; + /* 0x50 */ f32 mAttackOffset; }; // Size: 0x54 class daAlinkHIO_cutFnJU_c0 { @@ -4194,32 +4223,33 @@ public: class daAlinkHIO_cutTurn_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4C; - /* 0x50 */ f32 field_0x50; - /* 0x54 */ f32 field_0x54; - /* 0x58 */ f32 field_0x58; - /* 0x5C */ f32 field_0x5C; - /* 0x60 */ f32 field_0x60; - /* 0x64 */ f32 field_0x64; - /* 0x68 */ f32 field_0x68; - /* 0x6C */ f32 field_0x6C; - /* 0x70 */ f32 field_0x70; - /* 0x74 */ f32 field_0x74; - /* 0x78 */ f32 field_0x78; - /* 0x7C */ f32 field_0x7C; - /* 0x80 */ f32 field_0x80; - /* 0x84 */ f32 field_0x84; - /* 0x88 */ f32 field_0x88; - /* 0x8C */ f32 field_0x8C; - /* 0x90 */ f32 field_0x90; - /* 0x94 */ f32 field_0x94; + /* 0x00 */ daAlinkHIO_anm_c mRightTurnAnm; + /* 0x14 */ daAlinkHIO_anm_c mChargeAnm; + /* 0x28 */ daAlinkHIO_anm_c mLeftTurnAnm; + /* 0x3C */ s16 mStopTime; + /* 0x3E */ s16 field_0x3E; + /* 0x40 */ f32 mRightTurnInputStartFrame; + /* 0x44 */ f32 mRightAttackStartFrame; + /* 0x48 */ f32 mRightAttackEndFrame; + /* 0x4C */ f32 mMoveFBAnmSpeed; + /* 0x50 */ f32 mMoveFBInterpolation; + /* 0x54 */ f32 mMoveLRAnmSpeed; + /* 0x58 */ f32 mMoveLRInterpolation; + /* 0x5C */ f32 mMaxSpeed; + /* 0x60 */ f32 mChargeMoveAccel; + /* 0x64 */ f32 mChargeMoveDecel; + /* 0x68 */ f32 mSpeed; + /* 0x6C */ f32 mRightComboStartFrame; + /* 0x70 */ f32 mAttackRadius; + /* 0x74 */ f32 mLeftTurnInputStartFrame; + /* 0x78 */ f32 mLeftAttackStartFrame; + /* 0x7C */ f32 mLeftAttackEndFrame; + /* 0x80 */ f32 mLeftComboStartFrame; + /* 0x84 */ f32 mAttackRadiusAccel; + /* 0x88 */ f32 mLightAttackRadius; + /* 0x8C */ f32 mLightAttackRadiusAccel; + /* 0x90 */ f32 mLargeAttackRadius; + /* 0x94 */ f32 mLargeAttackAccel; }; // Size: 0x98 class daAlinkHIO_cutTurn_c0 { @@ -4298,54 +4328,40 @@ public: static daAlinkHIO_hoCutCharge_c1 const m; }; -class daAlinkHIO_cutDaL_c1 { +class daAlinkHIO_cutDash_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; + /* 0x00 */ daAlinkHIO_anm_c mCutAnm; + /* 0x14 */ f32 mAttackStartFrame; + /* 0x18 */ f32 mAttackEndFrame; }; // Size: 0x1C class daAlinkHIO_cutDaL_c0 { public: - static daAlinkHIO_cutDaL_c1 const m; + static daAlinkHIO_cutDash_c1 const m; }; -class daAlinkHIO_cutDaR_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; -}; // Size: 0x1C - class daAlinkHIO_cutDaR_c0 { public: - static daAlinkHIO_cutDaR_c1 const m; + static daAlinkHIO_cutDash_c1 const m; }; -class daAlinkHIO_cutDaCharge_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; -}; // Size: 0x1C - class daAlinkHIO_cutDaCharge_c0 { public: - static daAlinkHIO_cutDaCharge_c1 const m; + static daAlinkHIO_cutDash_c1 const m; }; class daAlinkHIO_cutDown_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ daAlinkHIO_anm_c field_0x3C; - /* 0x50 */ daAlinkHIO_anm_c field_0x50; - /* 0x64 */ s16 field_0x64; - /* 0x66 */ s16 field_0x66; - /* 0x68 */ f32 field_0x68; - /* 0x6C */ f32 field_0x6C; - /* 0x70 */ f32 field_0x70; + /* 0x00 */ daAlinkHIO_anm_c mJumpAnm; + /* 0x14 */ daAlinkHIO_anm_c mFallAnm; + /* 0x28 */ daAlinkHIO_anm_c mLandAnm; + /* 0x3C */ daAlinkHIO_anm_c mMissAnm; + /* 0x50 */ daAlinkHIO_anm_c mRecoverAnm; + /* 0x64 */ s16 mSuccessStopTime; + /* 0x66 */ s16 mFailStopTime; + /* 0x68 */ f32 mRecoverSpeedH; + /* 0x6C */ f32 mRecoverSpeedV; + /* 0x70 */ f32 mSpeedV; }; // Size: 0x74 class daAlinkHIO_cutDown_c0 { @@ -4355,18 +4371,18 @@ public: class daAlinkHIO_cutHead_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4C; - /* 0x50 */ f32 field_0x50; - /* 0x54 */ f32 field_0x54; - /* 0x58 */ f32 field_0x58; - /* 0x5C */ f32 field_0x5C; + /* 0x00 */ daAlinkHIO_anm_c mJumpAnm; + /* 0x14 */ daAlinkHIO_anm_c mCutAnm; + /* 0x28 */ daAlinkHIO_anm_c mLandAnm; + /* 0x3C */ f32 mGravity; + /* 0x40 */ f32 mMaxHeight; + /* 0x44 */ f32 mMaxDistance; + /* 0x48 */ f32 mAddSpeedV; + /* 0x4C */ f32 mAddSpeedH; + /* 0x50 */ f32 mAttackStartFrame; + /* 0x54 */ f32 mAttackEndFrame; + /* 0x58 */ f32 mSwordRadius; + /* 0x5C */ f32 mSwordLength; }; // Size: 0x60 class daAlinkHIO_cutHead_c0 { @@ -4374,54 +4390,45 @@ public: static daAlinkHIO_cutHead_c1 const m; }; -class daAlinkHIO_gAtPush_c1 { +class daAlinkHIO_guardAttack_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; + /* 0x00 */ daAlinkHIO_anm_c mAttackAnm; + /* 0x14 */ f32 mSpeed; + /* 0x18 */ f32 mAttackStartFrame; + /* 0x1C */ f32 mAttackEndFrame; + /* 0x20 */ f32 mSlashCheckFrame; }; // Size: 0x24 class daAlinkHIO_gAtPush_c0 { public: - static daAlinkHIO_gAtPush_c1 const m; + static daAlinkHIO_guardAttack_c1 const m; }; -class daAlinkHIO_gAtKick_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; -}; // Size: 0x24 - class daAlinkHIO_gAtKick_c0 { public: - static daAlinkHIO_gAtKick_c1 const m; + static daAlinkHIO_guardAttack_c1 const m; }; class daAlinkHIO_guard_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ daAlinkHIO_anm_c field_0x3C; - /* 0x50 */ s16 field_0x50; - /* 0x52 */ s16 field_0x52; - /* 0x54 */ s16 field_0x54; - /* 0x56 */ s16 field_0x56; - /* 0x58 */ s16 field_0x58; - /* 0x5C */ f32 field_0x5C; - /* 0x60 */ f32 field_0x60; - /* 0x64 */ f32 field_0x64; - /* 0x68 */ f32 field_0x68; - /* 0x6C */ f32 field_0x6C; - /* 0x70 */ f32 field_0x70; - /* 0x74 */ f32 field_0x74; - /* 0x78 */ f32 field_0x78; - /* 0x7C */ f32 field_0x7C; + /* 0x00 */ daAlinkHIO_anm_c mGuardHitAnm; + /* 0x14 */ daAlinkHIO_anm_c mCrouchGuardHitAnm; // Unused + /* 0x28 */ daAlinkHIO_anm_c mRecoilAnm; + /* 0x3C */ daAlinkHIO_anm_c mGuardBreakAnm; + /* 0x50 */ s16 mGuardLRAngleMax; + /* 0x52 */ s16 mGuardFBAngleMax; + /* 0x54 */ s16 mGuardBodyInterpolation; + /* 0x56 */ s16 mSmallGuardLRAngleMax; + /* 0x58 */ s16 mSmallGuardFBAngleMax; + /* 0x5C */ f32 mCrouchGuardAnmSpeed; // Unused + /* 0x60 */ f32 mCrouchGuardInterpolation; // Unused + /* 0x64 */ f32 mGuardSpeedNormal; + /* 0x68 */ f32 mGuardSpeedLarge; + /* 0x6C */ f32 mGuardSpeedHuge; + /* 0x70 */ f32 mAttackPosOffset; + /* 0x74 */ f32 mAttackRadius; + /* 0x78 */ f32 mMagneGuardSpeed; + /* 0x7C */ f32 mMagneHvyGuardSpeed; }; // Size: 0x80 class daAlinkHIO_guard_c0 { @@ -4431,18 +4438,18 @@ public: class daAlinkHIO_crouch_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ s16 field_0x28; - /* 0x2A */ s16 field_0x2A; - /* 0x2C */ s16 field_0x2C; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; + /* 0x00 */ daAlinkHIO_anm_c mCrawlStartAnm; + /* 0x14 */ daAlinkHIO_anm_c mCrawlEndAnm; + /* 0x28 */ s16 mCrawlTurnRate; + /* 0x2A */ s16 mCrawlTurnMax; + /* 0x2C */ s16 mCrawlTurnMin; + /* 0x30 */ f32 mCrouchAnmSpeed; + /* 0x34 */ f32 mCrouchInterpolation; + /* 0x38 */ f32 mStandInterpolation; + /* 0x3C */ f32 mCrawlMoveRate; + /* 0x40 */ f32 mCrawlAnmSpeedMax; + /* 0x44 */ f32 mCrawlAnmSpeedMin; + /* 0x48 */ f32 mCrawlInterpolation; }; // Size: 0x4C class daAlinkHIO_crouch_c0 { @@ -4468,9 +4475,9 @@ public: /* 0x40 */ f32 mSlideSpeed; /* 0x44 */ f32 mSlideDeceleration; /* 0x48 */ f32 mFootPositionRatio; - /* 0x4C */ f32 mUnkInterpolation; - /* 0x50 */ f32 mMinWalkFrame; - /* 0x54 */ f32 mMinTiredWalkFrame; + /* 0x4C */ f32 mWaitBInterpolation; + /* 0x50 */ f32 mMinWalkRate; + /* 0x54 */ f32 mMinTiredWalkRate; }; // Size: 0x58 class daAlinkHIO_move_c0 { @@ -4530,28 +4537,28 @@ public: class daAlinkHIO_noActAtnMove_c1 { public: - /* 0x00 */ s16 field_0x0; - /* 0x02 */ s16 field_0x2; - /* 0x04 */ s16 field_0x4; - /* 0x08 */ f32 field_0x8; - /* 0x0C */ f32 field_0xC; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; - /* 0x2C */ f32 field_0x2C; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4C; - /* 0x50 */ f32 field_0x50; + /* 0x00 */ s16 mMaxTurnAngle; + /* 0x02 */ s16 mMinTurnAngle; + /* 0x04 */ s16 mTurnAngleRate; + /* 0x08 */ f32 mWaitAnmSpeed; + /* 0x0C */ f32 mWalkAnmSpeed; + /* 0x10 */ f32 mRunAnmSpeed; + /* 0x14 */ f32 mWalkChangeRate; + /* 0x18 */ f32 mRunChangeRate; + /* 0x1C */ f32 mMaxSpeed; + /* 0x20 */ f32 mAcceleration; + /* 0x24 */ f32 mDeceleration; + /* 0x28 */ f32 mBackWalkAnmSpeed; + /* 0x2C */ f32 mBackRunAnmSpeed; + /* 0x30 */ f32 mBackWalkChangeRate; + /* 0x34 */ f32 mBackRunChangeRate; + /* 0x38 */ f32 mMaxBackwardsSpeed; + /* 0x3C */ f32 mBackAcceleration; + /* 0x40 */ f32 mBackDeceleration; + /* 0x44 */ f32 mMinWalkFrame; + /* 0x48 */ f32 mMinBackWalkFrame; + /* 0x4C */ f32 mWalkForwardAnmSpeed; + /* 0x50 */ f32 mRunForwardAnmSpeed; }; // Size: 0x54 class daAlinkHIO_noActAtnMove_c0 { @@ -4573,19 +4580,10 @@ public: static daAlinkHIO_wallMove_c1 const m; }; -class daAlinkHIO_wallCatch_c1 { -public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ daAlinkHIO_anm_c field_0x3C; - /* 0x50 */ f32 field_0x50; -}; // Size: 0x54 - class daAlinkHIO_wallFall_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; + /* 0x00 */ daAlinkHIO_anm_c mOneHandGrabAnm; + /* 0x14 */ daAlinkHIO_anm_c mTwoHandGrabAnm; }; // Size: 0x28 class daAlinkHIO_wallFall_c0 { @@ -4593,6 +4591,15 @@ public: static daAlinkHIO_wallFall_c1 const m; }; +class daAlinkHIO_wallCatch_c1 { +public: + /* 0x00 */ daAlinkHIO_anm_c mGrabAAnm; + /* 0x14 */ daAlinkHIO_anm_c mGrabBAnm; + /* 0x28 */ daAlinkHIO_anm_c mClimbAnm; + /* 0x3C */ daAlinkHIO_anm_c mJumpAnm; + /* 0x50 */ f32 mClimbStartFrame; +}; // Size: 0x54 + class daAlinkHIO_wallCatch_c0 { public: static daAlinkHIO_wallCatch_c1 const m; @@ -4660,10 +4667,9 @@ public: class daAlinkHIO_slide_c1 { public: - // most of these havent been verified yet /* 0x00 */ daAlinkHIO_anm_c mForwardSlideAnm; /* 0x14 */ daAlinkHIO_anm_c mBackwardSlideAnm; - /* 0x28 */ daAlinkHIO_anm_c mForwardLandAnm; // this and 0x3C might have names reversed? + /* 0x28 */ daAlinkHIO_anm_c mForwardLandAnm; /* 0x3C */ daAlinkHIO_anm_c mBackwardLandAnm; /* 0x50 */ f32 mMaxSpeed; /* 0x54 */ f32 mAcceleration; @@ -4671,9 +4677,9 @@ public: /* 0x5C */ f32 mClimbAngle; /* 0x60 */ f32 mClimbAnmMinSpeed; /* 0x64 */ f32 mMaxClimbSpeed; - /* 0x68 */ f32 mLavaFloorSlideAngle; // ? - /* 0x6C */ f32 mLavaFloorWeakSlideAngle; // ? - /* 0x70 */ f32 mLavaFloorWeakSlideSpeed; + /* 0x68 */ f32 mLV2MinibossFloorSlideAngle; + /* 0x6C */ f32 mLV2MinibossFloorWeakSlideAngle; + /* 0x70 */ f32 mLV2MinibossFloorWeakSlideSpeed; /* 0x74 */ f32 mMaxClimbAnmSpeed; }; // Size: 0x78 @@ -4721,7 +4727,7 @@ public: /* 0x56 */ s16 mUnderwaterTurnRate; /* 0x58 */ s16 mUnderwaterTurnMin; /* 0x5A */ s16 mUnderwaterTurnMax; - /* 0x5C */ s16 field_0x5c; // related to dash + /* 0x5C */ s16 field_0x5c; // related to dash /* 0x5E */ s16 field_0x5e; // related to dash /* 0x60 */ f32 mInitHeight; /* 0x64 */ f32 mResurfaceHeight; @@ -4851,20 +4857,20 @@ public: class daAlinkHIO_horse_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ daAlinkHIO_anm_c field_0x3C; - /* 0x50 */ s16 field_0x50; - /* 0x52 */ s16 field_0x52; - /* 0x54 */ s16 field_0x54; - /* 0x56 */ s16 field_0x56; + /* 0x00 */ daAlinkHIO_anm_c mWalkAnm; + /* 0x14 */ daAlinkHIO_anm_c mRunAnm; + /* 0x28 */ daAlinkHIO_anm_c mWhipAnm; + /* 0x3C */ daAlinkHIO_anm_c mWhipRunAnm; + /* 0x50 */ s16 mSwordUpTime; + /* 0x52 */ s16 mSearchRangeAngle; + /* 0x54 */ s16 mNoWalkTime; + /* 0x56 */ s16 mWhipWaitTime; /* 0x58 */ s16 field_0x58; /* 0x5A */ s16 field_0x5A; - /* 0x5C */ f32 field_0x5C; - /* 0x60 */ f32 field_0x60; - /* 0x64 */ f32 field_0x64; - /* 0x68 */ f32 field_0x68; + /* 0x5C */ f32 mSwordUpAnmSpeed; + /* 0x60 */ f32 mSwordUpInterpolation; + /* 0x64 */ f32 mHorseWalkStartFrame; + /* 0x68 */ f32 mTiredWaitInterpolation; }; // Size: 0x6C class daAlinkHIO_horse_c0 { @@ -4885,7 +4891,7 @@ public: /* 0x2C */ f32 field_0x2C; /* 0x30 */ f32 field_0x30; /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; + /* 0x38 */ f32 mBackMaxSpeed; /* 0x3C */ f32 field_0x3C; /* 0x40 */ f32 field_0x40; /* 0x44 */ f32 field_0x44; @@ -4898,29 +4904,29 @@ public: class daAlinkHIO_damage_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ u8 field_0x28; - /* 0x2A */ s16 field_0x2A; - /* 0x2C */ s16 field_0x2C; - /* 0x2E */ s16 field_0x2E; - /* 0x30 */ s16 field_0x30; - /* 0x32 */ s16 field_0x32; - /* 0x34 */ s16 field_0x34; - /* 0x36 */ s16 field_0x36; - /* 0x38 */ s16 field_0x38; - /* 0x3A */ s16 field_0x3A; - /* 0x3C */ s16 field_0x3C; - /* 0x3E */ s16 field_0x3E; - /* 0x40 */ s16 field_0x40; - /* 0x42 */ s16 field_0x42; - /* 0x44 */ s16 field_0x44; - /* 0x46 */ s16 field_0x46; - /* 0x48 */ s16 field_0x48; - /* 0x4A */ s16 field_0x4A; - /* 0x4C */ s16 field_0x4C; - /* 0x50 */ f32 field_0x50; - /* 0x54 */ f32 field_0x54; + /* 0x00 */ daAlinkHIO_anm_c mFloorDmgAnm; + /* 0x14 */ daAlinkHIO_anm_c mDashDmgAnm; + /* 0x28 */ u8 mInvincible; + /* 0x2A */ s16 mInvincibleTime; + /* 0x2C */ s16 mWolfFloorInvincibleTime; + /* 0x2E */ s16 mFreezeTime; + /* 0x30 */ s16 mFreezeInitR; + /* 0x32 */ s16 mFreezeInitG; + /* 0x34 */ s16 mFreezeInitB; + /* 0x36 */ s16 mDamageR0; + /* 0x38 */ s16 mDamageG0; + /* 0x3A */ s16 mDamageB0; + /* 0x3C */ s16 mDamageR1; + /* 0x3E */ s16 mDamageG1; + /* 0x40 */ s16 mDamageB1; + /* 0x42 */ s16 mDamageR2; + /* 0x44 */ s16 mDamageG2; + /* 0x46 */ s16 mDamageB2; + /* 0x48 */ s16 mFreezeR; + /* 0x4A */ s16 mFreezeG; + /* 0x4C */ s16 mFreezeB; + /* 0x50 */ f32 mRecoverStandAnmSpeed; + /* 0x54 */ f32 mInvertedFallInterpolation; }; // Size: 0x58 class daAlinkHIO_damage_c0 { @@ -5010,17 +5016,17 @@ public: class daAlinkHIO_damFall_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ s16 field_0x28; - /* 0x2A */ s16 field_0x2A; - /* 0x2C */ f32 field_0x2C; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; + /* 0x00 */ daAlinkHIO_anm_c mLandAnm; + /* 0x14 */ daAlinkHIO_anm_c mStandAnm; + /* 0x28 */ s16 mSmallStopTime; + /* 0x2A */ s16 mBigStopTime; + /* 0x2C */ f32 mMinRollHeight; + /* 0x30 */ f32 mMaxRollHeight; + /* 0x34 */ f32 mSmallDmgHeight; + /* 0x38 */ f32 mBigDmgHeight; + /* 0x3C */ f32 mSmallDmgLandStartFrame; + /* 0x40 */ f32 mFallAnmTransitionHeight; + /* 0x44 */ f32 mFallAnmMorf; }; // Size: 0x48 class daAlinkHIO_damFall_c0 { @@ -5119,8 +5125,8 @@ public: /* 0x0E */ s16 mLightDropR; /* 0x10 */ s16 mLightDropG; /* 0x12 */ s16 mLightDropB; - /* 0x14 */ f32 mSwampInputRate; // ? -}; // Size: 0x18 + /* 0x14 */ f32 mUnderwaterInputRate; +}; // Size: 0x18 class daAlinkHIO_wolf_c0 { public: @@ -5968,15 +5974,15 @@ public: class daAlinkHIO_bottle_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ daAlinkHIO_anm_c field_0x3C; - /* 0x50 */ daAlinkHIO_anm_c field_0x50; - /* 0x64 */ daAlinkHIO_anm_c field_0x64; - /* 0x78 */ daAlinkHIO_anm_c field_0x78; + /* 0x00 */ daAlinkHIO_anm_c mStartDrinkAnm; + /* 0x14 */ daAlinkHIO_anm_c mEndDrinkAnm; + /* 0x28 */ daAlinkHIO_anm_c mOpenBottleAnm; + /* 0x3C */ daAlinkHIO_anm_c mPourAnm; + /* 0x50 */ daAlinkHIO_anm_c mSwingDownAnm; + /* 0x64 */ daAlinkHIO_anm_c mSwingSideAnm; + /* 0x78 */ daAlinkHIO_anm_c mGetAnm; /* 0x8C */ daAlinkHIO_anm_c field_0x8C; - /* 0xA0 */ daAlinkHIO_anm_c field_0xA0; + /* 0xA0 */ daAlinkHIO_anm_c mScoopAnm; }; // Size: 0xB4 class daAlinkHIO_bottle_c0 { @@ -5988,12 +5994,12 @@ class daAlinkHIO_boom_c1 { public: /* 0x00 */ daAlinkHIO_anm_c mThrowAnm; /* 0x14 */ daAlinkHIO_anm_c mCatchAnm; - /* 0x28 */ s16 field_0x28; // return time? + /* 0x28 */ s16 mChargeTime; /* 0x2A */ s16 mBgThroughTime; /* 0x2C */ f32 mIdleAnmSpeed; /* 0x30 */ f32 mStartInterpolation; /* 0x34 */ f32 mFlySpeed; - /* 0x38 */ f32 mFlySpeed2; // return speed? + /* 0x38 */ f32 mChargeFlySpeed; /* 0x3C */ f32 mFlyDistMax; /* 0x40 */ f32 mHorsebackFlyDistMax; /* 0x44 */ f32 mLockDistMax; @@ -6007,27 +6013,27 @@ public: class daAlinkHIO_bow_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ s16 field_0x28; - /* 0x2A */ s16 field_0x2a; - /* 0x2C */ s16 field_0x2c; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3c; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4c; - /* 0x50 */ f32 field_0x50; - /* 0x54 */ f32 field_0x54; - /* 0x58 */ f32 field_0x58; - /* 0x5C */ f32 field_0x5c; - /* 0x60 */ f32 field_0x60; - /* 0x64 */ f32 field_0x64; - /* 0x68 */ f32 field_0x68; - /* 0x6C */ f32 field_0x6c; + /* 0x00 */ daAlinkHIO_anm_c mShootAnm; + /* 0x14 */ daAlinkHIO_anm_c mLoadAnm; + /* 0x28 */ s16 mChargeArrowTime; + /* 0x2A */ s16 mBombArrowHoldTime; + /* 0x2C */ s16 mBombArrowFlyExplodeTime; + /* 0x30 */ f32 mStartInterpolation; + /* 0x34 */ f32 mArrowSpeed; + /* 0x38 */ f32 mArrowDistance; + /* 0x3C */ f32 mChargeArrowSpeed; + /* 0x40 */ f32 mChargeArrowDistance; + /* 0x44 */ f32 mArrowAttackRadius; + /* 0x48 */ f32 mBombArrowSpeed; + /* 0x4C */ f32 mBombArrowDistance; + /* 0x50 */ f32 mChargeBombArrowSpeed; + /* 0x54 */ f32 mChargeBombArrowDistance; + /* 0x58 */ f32 mScopeArrowSpeed; + /* 0x5C */ f32 mScopeArrowDistance; + /* 0x60 */ f32 mArrowIncAttackMaxStart; + /* 0x64 */ f32 mArrowIncAttackMax; + /* 0x68 */ f32 mSlingshotSpeed; + /* 0x6C */ f32 mSlingshotDistance; }; // Size: 0x70 class daAlinkHIO_bow_c0 { @@ -6037,38 +6043,38 @@ public: class daAlinkHIO_ironBall_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ s16 field_0x14; - /* 0x16 */ s16 field_0x16; - /* 0x18 */ f32 field_0x18; - /* 0x1C */ f32 field_0x1C; - /* 0x20 */ f32 field_0x20; - /* 0x24 */ f32 field_0x24; - /* 0x28 */ f32 field_0x28; - /* 0x2C */ f32 field_0x2C; - /* 0x30 */ f32 field_0x30; - /* 0x34 */ f32 field_0x34; - /* 0x38 */ f32 field_0x38; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4C; - /* 0x50 */ f32 field_0x50; - /* 0x54 */ f32 field_0x54; - /* 0x58 */ f32 field_0x58; - /* 0x5C */ f32 field_0x5C; - /* 0x60 */ f32 field_0x60; - /* 0x64 */ f32 field_0x64; - /* 0x68 */ f32 field_0x68; + /* 0x00 */ daAlinkHIO_anm_c mCatchAnm; + /* 0x14 */ s16 mThrowChainNum; + /* 0x16 */ s16 mReturnChainRemoveNum; + /* 0x18 */ f32 mWaitAnmSpeed; + /* 0x1C */ f32 mPrepareAnmSpeed; + /* 0x20 */ f32 mPrepareInterpolation; + /* 0x24 */ f32 mTurnAnmSpeed; + /* 0x28 */ f32 mTurnInterpolation; + /* 0x2C */ f32 mPreThrowAnmSpeed; + /* 0x30 */ f32 mPreThrowAnmInterpolation; + /* 0x34 */ f32 mThrowAnmSpeed; + /* 0x38 */ f32 mThrowInterpolation; + /* 0x3C */ f32 mPullAnmSpeed; + /* 0x40 */ f32 mPullInterpolation; + /* 0x44 */ f32 mChainSpeedRate; + /* 0x48 */ f32 mChainGravity; + /* 0x4C */ f32 mReturnChainAccelY; + /* 0x50 */ f32 mReturnChainRate; + /* 0x54 */ f32 mThrowChainAccelZ; + /* 0x58 */ f32 mThrowChainAccelY; + /* 0x5C */ f32 mThrowChainGravity; + /* 0x60 */ f32 mBallGravity; + /* 0x64 */ f32 mThrowBallGravity; + /* 0x68 */ f32 mBallMaxFallSpeed; /* 0x6C */ f32 field_0x6C; - /* 0x70 */ f32 field_0x70; - /* 0x74 */ f32 field_0x74; - /* 0x78 */ f32 field_0x78; - /* 0x7C */ f32 field_0x7C; - /* 0x80 */ f32 field_0x80; - /* 0x84 */ f32 field_0x84; - /* 0x88 */ f32 field_0x88; + /* 0x70 */ f32 mThrowSpeedZ; + /* 0x74 */ f32 mThrowSpeedY; + /* 0x78 */ f32 mReturnBallGravity; + /* 0x7C */ f32 mAttackRadius; + /* 0x80 */ f32 mFeetPosRatio; + /* 0x84 */ f32 mWalkAnmSpeedMax; + /* 0x88 */ f32 mWalkAnmSpeedMin; }; // Size: 0x8C class daAlinkHIO_ironBall_c0 { @@ -6102,7 +6108,7 @@ public: /* 0x14 */ f32 mStopSpeedY; /* 0x18 */ f32 mMaxSpeedY; /* 0x1C */ f32 mEffScale; - /* 0x20 */ f32 mAtRadius; + /* 0x20 */ f32 mAttackRadius; /* 0x24 */ f32 mPokeBombTrackRate; /* 0x28 */ f32 mWaterGravity; /* 0x2C */ f32 mWaterMaxFallSpeed; @@ -6169,22 +6175,22 @@ public: class daAlinkHIO_hookshot_c1 { public: - /* 0x00 */ daAlinkHIO_anm_c field_0x0; - /* 0x14 */ daAlinkHIO_anm_c field_0x14; - /* 0x28 */ daAlinkHIO_anm_c field_0x28; - /* 0x3C */ f32 field_0x3C; - /* 0x40 */ f32 field_0x40; - /* 0x44 */ f32 field_0x44; - /* 0x48 */ f32 field_0x48; - /* 0x4C */ f32 field_0x4C; - /* 0x50 */ f32 field_0x50; - /* 0x54 */ f32 field_0x54; - /* 0x58 */ f32 field_0x58; - /* 0x5C */ f32 field_0x5C; - /* 0x60 */ f32 field_0x60; - /* 0x64 */ f32 field_0x64; - /* 0x68 */ f32 field_0x68; - /* 0x6C */ f32 field_0x6C; + /* 0x00 */ daAlinkHIO_anm_c mShootAnm; + /* 0x14 */ daAlinkHIO_anm_c mRoofHangAnm; + /* 0x28 */ daAlinkHIO_anm_c mWallHangAnm; + /* 0x3C */ u8 mForceStick; + /* 0x40 */ f32 mWaitAnmSpeed; + /* 0x44 */ f32 mStartInterpolation; + /* 0x48 */ f32 mMaxLength; + /* 0x4C */ f32 mShootSpeed; + /* 0x50 */ f32 mReturnSpeed; + /* 0x54 */ f32 mStickReturnSpeed; + /* 0x58 */ f32 mRoofHangRiseSpeed; + /* 0x5C */ f32 mRoofHangDecendSpeed; + /* 0x60 */ f32 mBossMaxLength; + /* 0x64 */ f32 mBossShootSpeed; + /* 0x68 */ f32 mBossReturnSpeed; + /* 0x6C */ f32 mBossStickReturnSpeed; }; // Size: 0x70 class daAlinkHIO_hookshot_c0 { @@ -6206,6 +6212,7 @@ public: FLG0_UNK_8000000 = 0x8000000, FLG0_NPC_NEAR = 0x100000, FLG0_NPC_FAR = 0x40000, + FLG0_NO_INPUT = 0x4000, FLG0_NO_DRAW = 0x2000, FLG0_UNK_200 = 0x200, }; @@ -6278,13 +6285,14 @@ public: BOOL checkNpcNear() { return checkStateFlg0(FLG0_NPC_NEAR); } BOOL checkNpcFar() { return checkStateFlg0(FLG0_NPC_FAR); } BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); } + BOOL checkNoInput() const { return checkStateFlg0(FLG0_NO_INPUT); } int checkMetamorphoseEnable() { return (this->*mpFunc)(); } - + bool checkPortalObjRide() const { return checkStateFlg0(FLG0_UNK_8000000) && checkStateFlg0(FLG0_UNK_200); } - inline bool checkMidnaRealBody(); + inline static BOOL checkMidnaRealBody(); static u8 const m_texDataTable[84]; static u8 const m_anmDataTable[636]; @@ -6387,7 +6395,7 @@ private: }; static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1); -static void* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1); +static fopAc_ac_c* 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); diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 76faa71246..62198346e2 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -21,6 +21,9 @@ public: /* 8015F384 */ void setSightImage(ResTIMG*); bool getDrawFlg() { return mDrawFlag; } + void onDrawFlg() { mDrawFlag = true; } + void offDrawFlg() { mDrawFlag = false; } + void setPos(const cXyz* i_pos) { mPos = *i_pos; } private: /* 0x04 */ bool mDrawFlag; @@ -37,6 +40,9 @@ public: /* 8015E654 */ int posMove(cXyz*, s16*, fopAc_ac_c*, s16); /* 8015E87C */ void bgCheckAfterOffset(cXyz const*); + static void initDropAngleY() { m_dropAngleY = 0x4000; } + static void offEventKeepFlg() { m_eventKeepFlg = 0; } + static s16 m_dropAngleY; static s16 m_eventKeepFlg; @@ -138,15 +144,18 @@ public: void setSpecialDemoType(); void setDemoType(u16 pType) { mDemoType = pType; } - u16 getDemoType() const { return mDemoType; } + int getDemoType() const { return mDemoType; } 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 setSystemDemoType() { setDemoType(2); } void setStick(f32 stick) { mStick = stick; } void setMoveAngle(s16 angle) { mDemoMoveAngle = angle; } s16 getMoveAngle() const { return mDemoMoveAngle; } + f32 getStick() { return mStick; } + int getParam0() const { return mParam0; } private: /* 0x00 */ u16 mDemoType; @@ -156,7 +165,7 @@ private: /* 0x08 */ int mParam0; /* 0x0C */ int mParam1; /* 0x10 */ u32 mDemoMode; - /* 0x14 */ float mStick; + /* 0x14 */ f32 mStick; /* 0x18 */ cXyz mDemoPos0; }; // Size: 0x24 @@ -191,8 +200,8 @@ public: /* 0x05BC */ cXyz mSwordTopPos; /* 0x05C8 */ cXyz mLeftHandPos; /* 0x05D4 */ cXyz mRightHandPos; - /* 0x05E0 */ cXyz mLeftFootPosP; - /* 0x05EC */ cXyz mRightFootPosP; + /* 0x05E0 */ cXyz mLeftFootPos; + /* 0x05EC */ cXyz mRightFootPos; /* 0x05F8 */ u8 field_0x5f8[0xC]; /* 0x0604 */ daPy_demo_c mDemo; @@ -221,25 +230,34 @@ public: FLG0_UNK_2 = 2, FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_UNK_20000, + FLG0_UNK_14000 = 0x14000, }; enum daPy_FLG1 { + FLG1_UNK_40000000 = 0x40000000, FLG1_UNK_10000000 = 0x10000000, + FLG1_UNK_4000000 = 0x4000000, FLG1_IS_WOLF = 0x2000000, - FLG1_UNK_400000 = 0x400000, + FLG1_DASH_MODE = 0x400000, FLG1_UNK_10000 = 0x10000, + FLG1_UNK_8000 = 0x8000, FLG1_THROW_DAMAGE = 0x4000, + FLG1_UNK_80 = 0x80, + FLG1_UNK_40 = 0x40, FLG1_UNK_20 = 0x20, FLG1_UNK_10 = 0x10, FLG1_UNK_4 = 4, FLG1_UNK_2 = 2, + FLG1_UNK_1 = 1, }; enum daPy_FLG2 { FLG2_UNK_20000000 = 0x20000000, + FLG2_UNK_10000000 = 0x10000000, FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_2080000 = 0x2080000, FLG2_BOAR_SINGLE_BATTLE = 0x1800000, + FLG2_UNK_8000000 = 0x8000000, FLG2_UNK_1000000 = 0x1000000, FLG2_UNK_800000 = 0x800000, FLG2_STATUS_WINDOW_DRAW = 0x400000, @@ -250,6 +268,8 @@ public: FLG2_UNK_20000 = 0x20000, FLG2_SCN_CHG_START = 0x8000, FLG2_UNK_4000 = 0x4000, + FLG2_UNK_1000 = 0x1000, + FLG2_UNK_200 = 0x200, FLG2_UNK_80 = 0x80, FLG2_UNK_40 = 0x40, FLG2_UNK_10 = 0x10, @@ -262,15 +282,25 @@ public: enum daPy_FLG3 { FLG3_UNK_40000000 = 0x40000000, + FLG3_UNK_20000000 = 0x20000000, + FLG3_UNK_4000000 = 0x4000000, FLG3_UNK_2000000 = 0x2000000, FLG3_UNK_1000000 = 0x1000000, FLG3_UNK_100000 = 0x100000, FLG3_UNK_80000 = 0x80000, FLG3_COPY_ROD_THROW_AFTER = 0x40000, FLG3_UNK_4000 = 0x4000, + FLG3_UNK_200 = 0x200, + FLG3_UNK_100 = 0x100, + FLG3_UNK_40 = 0x40, + FLG3_UNK_20 = 0x20, + FLG3_UNK_10 = 0x10, + FLG3_UNK_4 = 4, }; enum daPy_ERFLG0 { + ERFLG0_UNK_40000000 = 0x40000000, + ERFLG0_UNK_10000000 = 0x10000000, ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_2000000 = 0x2000000, ERFLG0_UNK_1000000 = 0x1000000, @@ -279,8 +309,12 @@ public: ERFLG0_UNK_200000 = 0x200000, ERFLG0_UNK_100000 = 0x100000, ERFLG0_UNK_2000 = 0x2000, + ERFLG0_UNK_1000 = 0x1000, ERFLG0_UNK_400 = 0x400, ERFLG0_UNK_100 = 0x100, + ERFLG0_UNK_80 = 0x80, + ERFLG0_UNK_40 = 0x40, + ERFLG0_UNK_8 = 8, ERFLG0_UNK_4 = 4, ERFLG0_UNK_2 = 2, ERFLG0_UNK_1 = 1, @@ -288,11 +322,19 @@ public: enum daPy_ERFLG1 { ERFLG1_GANON_FINISH = 0x80000000, + ERFLG1_UNK_40000000 = 0x40000000, ERFLG1_UNK_10000000 = 0x10000000, ERFLG1_UNK_4000000 = 0x4000000, ERFLG1_UNK_40000 = 0x40000, ERFLG1_UNK_2000 = 0x2000, + ERFLG1_UNK_800 = 0x800, + ERFLG1_UNK_400 = 0x400, ERFLG1_UNK_200 = 0x200, + ERFLG1_UNK_100 = 0x100, + ERFLG1_UNK_80 = 0x80, + ERFLG1_UNK_10 = 0x10, + ERFLG1_UNK_20 = 0x20, + ERFLG1_UNK_8 = 8, ERFLG1_UNK_4 = 4, ERFLG1_UNK_2 = 2, ERFLG1_UNK_1 = 1, @@ -300,11 +342,13 @@ public: enum daPy_ERFLG2 { ERFLG2_UNK_100 = 0x100, + ERFLG2_UNK_40 = 0x40, ERFLG2_UNK_20 = 0x20, }; enum daPy_RFLG0 { RFLG0_UNK_8000000 = 0x8000000, + RFLG0_UNK_4000000 = 0x4000000, RFLG0_UNK_4000 = 0x4000, RFLG0_ENEMY_ATTN_LOCK = 0x1000, RFLG0_UNK_400 = 0x400, @@ -314,6 +358,11 @@ public: RFLG0_UNK_2 = 0x2, }; + enum daPy_RFLG1 { + RFLG1_UNK_30 = 0x30, + RFLG1_UNK_2 = 0x2, + }; + enum { /* 0x01 */ SMODE_SUMO_READY = 1, /* 0x25 */ SMODE_SUMO_LOSE = 37, @@ -324,28 +373,51 @@ public: }; enum CutType { - /* 0x01 */ TYPE_CUT_VERTICAL = 1, - /* 0x02 */ TYPE_CUT_STAB, - /* 0x03 */ TYPE_CUT_SWEEP, - /* 0x04 */ TYPE_CUT_HORIZONTAL, - /* 0x05 */ TYPE_CUT_HEAD, // Helm Splitter - /* 0x06 */ TYPE_CUT_LEFT_SWEEP_FINISH, - /* 0x07 */ TYPE_CUT_DOWN_FINISH, - /* 0x08 */ TYPE_CUT_TURN_RIGHT, - /* 0x0A */ TYPE_CUT_JUMP = 10, - /* 0x10 */ TYPE_CUT_AIR = 0x10, - /* 0x12 */ TYPE_CUT_LARGE_JUMP_INIT = 0x12, - /* 0x13 */ TYPE_CUT_LARGE_JUMP, - /* 0x14 */ TYPE_CUT_LARGE_JUMP_FINISH, - /* 0x15 */ TYPE_CUT_RIGHT_SWEEP_FINISH, - /* 0x16 */ TYPE_CUT_TURN_LEFT, - /* 0x17 */ TYPE_CUT_LARGE_TURN_LEFT, - /* 0x18 */ TYPE_CUT_LARGE_TURN_RIGHT, - /* 0x1A */ TYPE_CUT_FAST_MOVE = 0x1A, - /* 0x1E */ TYPE_CUT_TWIRL = 0x1E, // Back Slice - /* 0x1F */ TYPE_CUT_FAST, - /* 0x20 */ TYPE_CUT_STAB_FINISH, - /* 0x21 */ TYPE_CUT_STAB_COMBO, + /* 0x01 */ CUT_TYPE_NM_VERTICAL = 1, + /* 0x02 */ CUT_TYPE_NM_STAB, + /* 0x03 */ CUT_TYPE_NM_RIGHT, + /* 0x04 */ CUT_TYPE_NM_LEFT, + /* 0x05 */ CUT_TYPE_HEAD_JUMP, // Helm Splitter + /* 0x06 */ CUT_TYPE_FINISH_LEFT, + /* 0x07 */ CUT_TYPE_FINISH_VERTICAL, + /* 0x08 */ CUT_TYPE_TURN_RIGHT, + /* 0x0A */ CUT_TYPE_JUMP = 10, + /* 0x0B */ CUT_TYPE_DASH_UNK_B, + /* 0x0C */ CUT_TYPE_DASH_UNK_C, + /* 0x0D */ CUT_TYPE_DASH_UNK_D, + /* 0x10 */ CUT_TYPE_AIR = 0x10, + /* 0x11 */ CUT_TYPE_DASH_UNK_11, + /* 0x12 */ CUT_TYPE_LARGE_JUMP_INIT, + /* 0x13 */ CUT_TYPE_LARGE_JUMP, + /* 0x14 */ CUT_TYPE_LARGE_JUMP_FINISH, + /* 0x15 */ CUT_TYPE_FINISH_RIGHT, + /* 0x16 */ CUT_TYPE_TURN_LEFT, + /* 0x17 */ CUT_TYPE_LARGE_TURN_LEFT, + /* 0x18 */ CUT_TYPE_LARGE_TURN_RIGHT, + /* 0x1A */ CUT_TYPE_MORTAL_DRAW_A = 0x1A, + /* 0x1E */ CUT_TYPE_TWIRL = 0x1E, // Back Slice + /* 0x1F */ CUT_TYPE_MORTAL_DRAW_B, + /* 0x20 */ CUT_TYPE_FINISH_STAB, + /* 0x21 */ CUT_TYPE_COMBO_STAB, + /* 0x22 */ CUT_TYPE_HORSE_UNK_22, + /* 0x23 */ CUT_TYPE_HORSE_UNK_23, + /* 0x25 */ CUT_TYPE_DASH_UNK_25 = 0x25, + /* 0x26 */ CUT_TYPE_DASH_UNK_26 = 0x26, + /* 0x27 */ CUT_TYPE_DOWN, + /* 0x29 */ CUT_TYPE_GUARD_ATTACK = 0x29, + /* 0x2A */ CUT_TYPE_HORSE_UNK_2A, + /* 0x2B */ CUT_TYPE_HORSE_TURN, + /* 0x2C */ CUT_TYPE_WOLF_B_LEFT, + /* 0x2D */ CUT_TYPE_WOLF_B_RIGHT, + /* 0x2E */ CUT_TYPE_WOLF_B_FRONT, + /* 0x2F */ CUT_TYPE_WOLF_B_BACK, + /* 0x31 */ CUT_TYPE_WOLF_UNK_31 = 0x31, + /* 0x32 */ CUT_TYPE_WOLF_UNK_32, + /* 0x33 */ CUT_TYPE_WOLF_TURN_LEFT, + /* 0x34 */ CUT_TYPE_WOLF_TURN_RIGHT, + /* 0x36 */ CUT_TYPE_WOLF_LOCK = 0x36, + /* 0x38 */ CUT_TYPE_DASH_UNK_38 = 0x38, + /* 0x39 */ CUT_TYPE_WOLF_UNK_39, }; static u32 setParamData(int, int, int, int); @@ -360,7 +432,7 @@ public: static BOOL checkTradeItem(int); static BOOL checkDungeonWarpItem(int); static BOOL checkMasterSwordEquip(); - bool checkWoodShieldEquip(); + static BOOL checkWoodShieldEquip(); static f32 getAttentionOffsetY(); s16 checkNowWolfEyeUp(); static void forceRestartRoom(int, u32, int); @@ -458,7 +530,7 @@ public: virtual BOOL checkGoatThrowAfter() const; virtual BOOL checkWolfTagLockJump() const; virtual BOOL checkWolfTagLockJumpLand() const; - virtual bool checkWolfRope(); + virtual BOOL checkWolfRope(); virtual BOOL checkWolfRopeHang() const; virtual BOOL checkRollJump() const; virtual BOOL checkGoronRideWait() const; @@ -537,7 +609,7 @@ public: virtual s16 getBoardCutTurnOffsetAngleY() const; virtual cXyz* getMagneHitPos(); virtual cXyz* getMagneBootsTopVec(); - virtual bool getKandelaarFlamePos(); + virtual cXyz* getKandelaarFlamePos(); virtual bool checkUseKandelaar(int); virtual void setDkCaught(fopAc_ac_c*); virtual void onPressedDamage(cXyz const&, short); @@ -550,8 +622,8 @@ public: virtual bool checkSpinnerPathMove(); virtual bool checkSpinnerTriggerAttack(); virtual void onSpinnerPathForceRemove(); - virtual bool getIronBallBgHit() const; - virtual bool getIronBallCenterPos(); + virtual s16 getIronBallBgHit() const; + virtual cXyz* getIronBallCenterPos(); virtual bool checkCanoeFishingGetLeft() const; virtual bool checkCanoeFishingGetRight() const; virtual u8 checkBeeChildDrink() const; @@ -604,16 +676,28 @@ public: } bool i_getSumouMode() const { return getSumouCameraMode(); } + void i_cancelOriginalDemo() { + mDemo.setSystemDemoType(); + mDemo.setDemoMode(1); + } bool checkStatusWindowDraw() { return i_checkNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); } bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; } bool getHeavyStateAndBoots() { return i_checkNoResetFlg0(FLG0_HVY_STATE); } bool checkEnemyAttentionLock() const { return i_checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); } bool checkCanoeSlider() const { return mSpecialMode == 0x2D; } + bool checkGoatStopGame() const { return mSpecialMode == 0x2A; } + bool i_checkGoronSideMove() const { return mSpecialMode == 0x2B; } u8 getCutType() const { return mCutType; } u16 getSwordAtUpTime() const { return mSwordUpTimer; } bool checkWaterInMove() const { return i_checkNoResetFlg0(FLG0_UNDERWATER); } bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); } + + void offGoronSideMove() { + if (i_checkGoronSideMove()) { + mSpecialMode = 0; + } + } // some functions use these function as an inline // is there a better way to handle this? @@ -628,6 +712,7 @@ public: void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; } void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; } + void i_offNoResetFlg1(int pFlg) { mNoResetFlg1 &= ~pFlg; } void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; } void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; } @@ -637,11 +722,13 @@ public: void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; } void i_onEndResetFlg2(int flag) { mEndResetFlg2 |= flag; } + void i_offEndResetFlg2(daPy_ERFLG2 flag) { mEndResetFlg2 &= ~flag; } int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; } int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; } int i_checkEndResetFlg1(daPy_py_c::daPy_ERFLG1 flag) const { return mEndResetFlg1 & flag; } + int i_checkEndResetFlg2(daPy_py_c::daPy_ERFLG2 flag) const { return mEndResetFlg2 & flag; } void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; } @@ -652,9 +739,12 @@ public: void i_onPlayerNoDraw() { i_onNoResetFlg0(FLG0_PLAYER_NO_DRAW); } void i_offPlayerNoDraw() { i_offNoResetFlg0(FLG0_PLAYER_NO_DRAW); } + u32 i_checkBoarSingleBattle() const { return i_checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); } + inline static u32 i_getLastSceneMode(); inline static u32 getLastSceneMode(); inline static bool checkWoodSwordEquip(); + inline static bool checkLightMasterSwordEquip(); inline BOOL i_checkSwordGet(); inline bool i_checkShieldGet() const; inline static BOOL checkNowWolf(); diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h index dce3637027..a00f1768ae 100644 --- a/include/d/bg/d_bg_s_acch.h +++ b/include/d/bg/d_bg_s_acch.h @@ -113,6 +113,7 @@ public: cXyz* GetPos() { return pm_pos; } cXyz* GetOldPos() { return pm_old_pos; } f32 GetGroundH() const { return m_ground_h; } + f32 GetRoofHeight() const { return m_roof_height; } void SetLin() { m_lin.SetStartEnd(*pm_old_pos, *pm_pos); } bool ChkGroundFind() { return m_flags & GROUND_FIND; } bool ChkGroundHit() { return m_flags & GROUND_HIT; } @@ -123,6 +124,7 @@ public: void SetRoofHit() { m_flags |= ROOF_HIT; } bool ChkWallHit() { return m_flags & WALL_HIT; } void OffLineCheckHit() { m_flags &= ~LINE_CHECK_HIT; } + void OffLineCheck() { m_flags &= ~LINE_CHECK; } bool ChkLineCheckNone() { return m_flags & LINE_CHECK_NONE; } bool ChkLineCheck() { return m_flags & LINE_CHECK; } void ClrRoofHit() { m_flags &= ~ROOF_HIT; } @@ -206,4 +208,13 @@ public: /* 80BB336C */ virtual ~dBgS_ObjAcch(); }; +class dBgS_StatueAcch : public dBgS_Acch { +public: + dBgS_StatueAcch() { + SetStatue(); + } + + /* 806646F8 */ virtual ~dBgS_StatueAcch(); +}; + #endif /* D_BG_D_BG_S_ACCH_H */ diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index 5a7813a55b..53f5cad807 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -87,7 +87,7 @@ public: enum dCcG_At_Spl { /* 0x0 */ dCcG_At_Spl_UNK_0, - /* 0x1 */ dCcG_At_Spl_UNK_01, + /* 0x1 */ dCcG_At_Spl_UNK_1, }; class dCcD_GObjInf; @@ -151,6 +151,7 @@ public: /* 0x2C */ cXyz mVec; /* 0x38 */ cXyz mRVec; }; // Size = 0x44 + class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase { public: /* 800839A0 */ void Set(dCcD_SrcGObjTg const&); @@ -159,6 +160,7 @@ public: cXyz& GetVec() { return mVec; } void SetShieldFrontRangeYAngle(s16* angle) { mShieldFrontRangeYAngle = angle; } void SetMtrl(u8 mtrl) { mMtrl = mtrl; } + void SetHitMark(CcG_Tg_HitMark mark) { mHitMark = mark; } private: /* 0x1C */ u8 mSe; @@ -171,6 +173,7 @@ private: /* 0x44 */ s16* mShieldFrontRangeYAngle; /* 0x48 */ s16 mShieldRange; }; // Size = 0x4A ? + class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase { public: /* 80083B8C */ virtual ~dCcD_GObjCo() {} @@ -195,11 +198,13 @@ public: /* 8008457C */ u8 GetTgHitObjSe(); /* 800845B0 */ static u32 getHitSeID(u8, int); /* 8008460C */ void ClrCoHit(); - /* 80084658 */ bool ChkCoHit(); + /* 80084658 */ u32 ChkCoHit(); /* 800846B0 */ void ResetCoHit(); /* 800846F0 */ cCcD_Obj* GetCoHitObj(); /* 80084740 */ void Set(dCcD_SrcGObjInf const&); + fopAc_ac_c* GetCoHitAc() { return mGObjCo.GetAc(); } + void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); } bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); } void OnAtNoHitMark() { mGObjAt.OnSPrm(2); } @@ -224,6 +229,16 @@ public: u8 GetAtMtrl() { return mGObjAt.GetMtrl(); } fopAc_ac_c* GetTgHitAc() { return mGObjTg.GetAc(); } void SetTgShieldFrontRangeYAngle(s16* angle) { mGObjTg.SetShieldFrontRangeYAngle(angle); } + void OffTgWolfSpNoDamage() { mGObjTg.OffSPrm(0x800); } + void OnTgWolfSpNoDamage() { mGObjTg.OnSPrm(0x800); } + void SetTgHitMark(CcG_Tg_HitMark mark) { mGObjTg.SetHitMark(mark); } + void OnTgSpShield() { mGObjTg.OnSPrm(0x40); } + void OffTgSpShield() { mGObjTg.OffSPrm(0x40); } + void OnTgShield() { mGObjTg.OnSPrm(0x1); } + void OffTgShield() { mGObjTg.OffSPrm(0x1); } + void OnTgShieldFrontRange() { mGObjTg.OnSPrm(0x8); } + void OffTgShieldFrontRange() { mGObjTg.OffSPrm(0x8); } + bool ChkTgIronBallRebound() { return mGObjTg.ChkSPrm(0x100); } static u32 const m_hitSeID[24]; diff --git a/include/d/cc/d_cc_s.h b/include/d/cc/d_cc_s.h index b78889dd3f..55874fcae1 100644 --- a/include/d/cc/d_cc_s.h +++ b/include/d/cc/d_cc_s.h @@ -43,6 +43,8 @@ public: /* 800872A8 */ virtual void MoveAfterCheck(); /* 80086754 */ virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*); + void SetMass(cCcD_Obj* i_obj, u8 i_priority) { mMass_Mng.Set(i_obj, i_priority); } + static u8 m_mtrl_hit_tbl[64]; private: diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index f37913783b..5905e1f4be 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -135,7 +135,7 @@ public: dAttention_c& getAttention() { return mAttention; } dStage_startStage_c* getStartStage() { return &mStartStage; } - void setSelectItem(int idx, u8 itemId) { mSelectItem[idx] = itemId; } + void setSelectItem(int idx, u8 i_itemNo) { mSelectItem[idx] = i_itemNo; } u8 getSelectItem(int idx) { return mSelectItem[idx]; } void setSelectEquip(int idx, u8 item_id) { mSelectEquip[idx] = item_id; } void setItem(u8 slot, u8 i_no) { @@ -275,6 +275,7 @@ public: void setItemMaxLifeCount(s16 max) { mItemMaxLifeCount += max; } void setOxygen(int oxygen) { mOxygen = oxygen; } void setNowOxygen(s32 oxygen) { mNowOxygen = oxygen; } + void setOxygenCount(s32 oxygen) { mOxygenCount += oxygen; } int getOxygen() { return mOxygen; } void setMaxOxygen(int max) { mMaxOxygen = max; } int getMaxOxygen() { return mMaxOxygen; } @@ -397,11 +398,15 @@ public: void setStatus(u16 status) { mStatus = status; } s32 checkStatus(u16 flags) { return flags & mStatus; } + void setDirection(u8 i_dir) { mDirection = i_dir; } + bool& isPauseFlag() { return mPauseFlag; } void offPauseFlag() { mPauseFlag = false; } void onPauseFlag() { mPauseFlag = true; } u8 getOxygenShowFlag() { return mOxygenShowFlag; } + void setOxygenShowFlag(u8 flag) { mOxygenShowFlag = flag; } void show2dOn() { mShow2D = 1; } + void show2dOff() { mShow2D = 0; } s8 getLayerOld() { return mLayerOld; } void setMesgCancelButton(u8 button) { mMesgCancelButton = button; } void setMesgBgm(u8 param_0) { mMesgBgm = param_0; } @@ -746,6 +751,10 @@ inline dCcS* dComIfG_Ccsp() { return &g_dComIfG_gameInfo.play.mCcs; } +inline dCcS& dComIfG_Ccsp2() { + return g_dComIfG_gameInfo.play.mCcs; +} + inline dRes_info_c* dComIfG_getObjectResInfo(const char* arc_name) { return g_dComIfG_gameInfo.mResControl.getObjectResInfo(arc_name); } @@ -772,34 +781,27 @@ void dComIfGs_setMixItemIndex(int i_no, u8 item_index); u8 dComIfGs_getBottleMax(); u8 dComIfGs_checkGetItem(u8 i_itemNo); void dComIfGs_setSelectEquipClothes(u8 i_itemNo); -void dComIfGs_setKeyNum(int i_stageNo, u8 keyNum); +void dComIfGs_setKeyNum(int i_stageNo, u8 i_keyNum); void dComIfGs_BossLife_public_Set(s8); s8 dComIfGs_sense_type_change_Get(); cXyz& dComIfGs_getWarpPlayerPos(); const char* dComIfGs_getWarpStageName(); s16 dComIfGs_getWarpPlayerAngleY(); s8 dComIfGs_getWarpRoomNo(); -BOOL dComIfGs_isOneZoneSwitch(int swBit, int roomNo); +BOOL dComIfGs_isOneZoneSwitch(int i_swBit, int i_roomNo); void dComIfGs_setLastWarpMarkItemData(const char* stage, cXyz pos, s16 angle, s8 roomNo, u8, u8); u16 dComIfGs_getMaxLifeGauge(); void dComIfGs_setWarpMarkFlag(u8); void dComIfGs_setSelectEquipSword(u8 i_itemNo); void dComIfGs_setSelectEquipShield(u8 i_itemNo); -inline int i_dComIfGs_isItemFirstBit(u8 i_no) { - return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no); -} - -inline u16 i_dComIfGs_getRupee() { - return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee(); -} BOOL dComIfGs_isVisitedRoom(int i_roomNo); -void dComIfGs_onZoneSwitch(int swBit, int roomNo); -void dComIfGs_onOneZoneSwitch(int param_0, int param_1); -void dComIfGs_offZoneSwitch(int param_0, int param_1); -void dComIfGs_offOneZoneSwitch(int param_0, int param_1); -s8 dComIfGp_getReverb(int roomNo); +void dComIfGs_onZoneSwitch(int i_swBit, int i_roomNo); +void dComIfGs_onOneZoneSwitch(int i_swBit, int i_roomNo); +void dComIfGs_offZoneSwitch(int i_swBit, int i_roomNo); +void dComIfGs_offOneZoneSwitch(int i_swBit, int i_roomNo); +s8 dComIfGp_getReverb(int i_roomNo); void dComIfGs_gameStart(); -int dComIfGs_wolfeye_effect_check(); +bool 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, @@ -809,7 +811,7 @@ void dComIfGs_onStageSwitch(int i_stageNo, int i_no); void dComIfGs_offStageSwitch(int i_stageNo, int i_no); void dComIfGs_PolyDamageOff_Set(s8 param_0); u8 dComIfGs_staffroll_next_go_check(); -BOOL dComIfGs_isEventBit(u16 id); +BOOL dComIfGs_isEventBit(u16 i_flag); int dComIfGs_isItemFirstBit(u8 i_no); u16 dComIfGs_getRupee(); static u16 dComIfGs_getLife(); @@ -818,6 +820,14 @@ inline void dComIfGs_init() { g_dComIfG_gameInfo.info.init(); } +inline int i_dComIfGs_isItemFirstBit(u8 i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no); +} + +inline u16 i_dComIfGs_getRupee() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee(); +} + inline void dComIfGs_onDungeonItemMap() { g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemMap(); } @@ -830,76 +840,68 @@ inline void dComIfGs_onDungeonItemWarp() { g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemWarp(); } -inline void dComIfGs_setItem(int slot, u8 i_no) { - g_dComIfG_gameInfo.info.getPlayer().getItem().setItem(slot, i_no); +inline void dComIfGs_setItem(int i_slotNo, u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setItem(i_slotNo, i_itemNo); } -inline void dComIfGs_setOxygen(int amount) { - g_dComIfG_gameInfo.play.setOxygen(amount); +inline void dComIfGs_setOil(u16 i_oil) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setOil(i_oil); } -inline void dComIfGs_setMaxOxygen(int max) { - g_dComIfG_gameInfo.play.setMaxOxygen(max); +inline void dComIfGs_setMaxOil(u16 i_maxOil) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxOil(i_maxOil); } -inline void dComIfGs_setOil(u16 amount) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setOil(amount); +inline void dComIfGs_setWalletSize(u8 i_size) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setWalletSize(i_size); } -inline void dComIfGs_setMaxOil(u16 max) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxOil(max); +inline void dComIfGs_setMagic(u8 i_magic) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMagic(i_magic); } -inline void dComIfGs_setWalletSize(u8 size) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setWalletSize(size); +inline void dComIfGs_setMaxMagic(u8 i_maxMagic) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxMagic(i_maxMagic); } -inline void dComIfGs_setMagic(u8 amount) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMagic(amount); +inline void dComIfGs_setRupee(u16 i_rupees) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setRupee(i_rupees); } -inline void dComIfGs_setMaxMagic(u8 max) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxMagic(max); +inline void dComIfGs_setLife(u16 i_life) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setLife(i_life); } -inline void dComIfGs_setRupee(u16 amount) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setRupee(amount); -} - -inline void dComIfGs_setLife(u16 amount) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setLife(amount); -} - -inline void dComIfGs_setMaxLife(u8 max) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxLife(max); +inline void dComIfGs_setMaxLife(u8 i_maxLife) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxLife(i_maxLife); } inline void dComIfGs_onDungeonItemBossKey() { g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemBossKey(); } -inline void dComIfGs_setCollectSword(u8 sword_id) { - g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_SWORD, sword_id); +inline void dComIfGs_setCollectSword(u8 i_swordNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_SWORD, i_swordNo); } -inline void dComIfGs_setCollectShield(u8 shield_id) { - g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_SHIELD, shield_id); +inline void dComIfGs_setCollectShield(u8 i_shieldNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_SHIELD, i_shieldNo); } -inline void dComIfGs_setCollectClothes(u8 clothes_id) { - g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_CLOTHING, clothes_id); +inline void dComIfGs_setCollectClothes(u8 i_clothesNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_CLOTHING, i_clothesNo); } inline void dComIfGs_setRodTypeLevelUp() { g_dComIfG_gameInfo.info.getPlayer().getItem().setRodTypeLevelUp(); } -inline void dComIfGs_setArrowNum(u8 num) { - g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setArrowNum(num); +inline void dComIfGs_setArrowNum(u8 i_arrowNum) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setArrowNum(i_arrowNum); } -inline void dComIfGs_setArrowMax(u8 max) { - g_dComIfG_gameInfo.info.getPlayer().getItemMax().setArrowNum(max); +inline void dComIfGs_setArrowMax(u8 i_arrowMax) { + g_dComIfG_gameInfo.info.getPlayer().getItemMax().setArrowNum(i_arrowMax); } inline u8 dComIfGs_getPachinkoMax() { @@ -910,16 +912,16 @@ inline void dComIfGs_setEmptyBombBag() { g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBag(); } -inline void dComIfGs_setEmptyBombBag(u8 newBomb, u8 bombNum) { - g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBag(newBomb, bombNum); +inline void dComIfGs_setEmptyBombBag(u8 i_newBomb, u8 i_bombNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBag(i_newBomb, i_bombNum); } -inline void dComIfGs_setEmptyBombBagItemIn(u8 newBomb, bool setNum) { - g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(newBomb, setNum); +inline void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(i_newBomb, i_setNum); } -inline void dComIfGs_setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum) { - g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(newBomb, bombNum, setNum); +inline void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(i_newBomb, i_bombNum, i_setNum); } inline void dComIfGs_setEmptyBottle() { @@ -934,16 +936,16 @@ inline void dComIfGs_setEmptyBottleItemIn(u8 i_itemNo) { g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBottleItemIn(i_itemNo); } -inline void dComIfGs_setBottleNum(u8 i_bottleIdx, u8 bottle_num) { - g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBottleNum(i_bottleIdx, bottle_num); +inline void dComIfGs_setBottleNum(u8 i_bottleIdx, u8 i_bottleNum) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBottleNum(i_bottleIdx, i_bottleNum); } -inline void dComIfGs_onEventBit(u16 id) { - g_dComIfG_gameInfo.info.getSavedata().getEvent().onEventBit(id); +inline void dComIfGs_onEventBit(u16 i_flag) { + g_dComIfG_gameInfo.info.getSavedata().getEvent().onEventBit(i_flag); } -inline BOOL i_dComIfGs_isEventBit(u16 id) { - return g_dComIfG_gameInfo.info.getEvent().isEventBit(id); +inline BOOL i_dComIfGs_isEventBit(u16 i_flag) { + return g_dComIfG_gameInfo.info.getEvent().isEventBit(i_flag); } inline void dComIfGs_onLightDropFlag(u8 i_nowLevel) { @@ -962,8 +964,16 @@ inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo) { return g_dComIfG_gameInfo.info.isSwitch(i_no, i_roomNo); } -inline void dComIfGs_onSvZoneSwitch(int zoneNo, int swBit) { - g_dComIfG_gameInfo.info.getZone(zoneNo).getZoneBit().onSwitch(swBit); +inline BOOL dComIfGs_isRegionBit(int i_region) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().isRegionBit(i_region); +} + +inline void dComIfGs_onRegionBit(int i_region) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().onRegionBit(i_region); +} + +inline void dComIfGs_onSvZoneSwitch(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getZoneBit().onSwitch(i_swBit); } inline s32 dComIfGs_isDungeonItemMap() { @@ -978,17 +988,17 @@ inline s32 dComIfGs_isDungeonItemBossKey() { return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemBossKey(); } -inline u8 dComIfGs_getItem(int slot_no, bool check_combo) { - return g_dComIfG_gameInfo.info.getPlayer().getItem().getItem(slot_no, check_combo); +inline u8 dComIfGs_getItem(int i_slotNo, bool i_checkCombo) { + return g_dComIfG_gameInfo.info.getPlayer().getItem().getItem(i_slotNo, i_checkCombo); } -inline BOOL dComIfGs_isCollectSword(u8 sword_id) { - return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect(COLLECT_SWORD, sword_id); +inline BOOL dComIfGs_isCollectSword(u8 i_swordNo) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect(COLLECT_SWORD, i_swordNo); } -inline BOOL dComIfGs_isCollectClothing(u8 clothing_id) { +inline BOOL dComIfGs_isCollectClothing(u8 i_clothesNo) { return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect(COLLECT_CLOTHING, - clothing_id); + i_clothesNo); } inline u8 dComIfGs_checkBottle(u8 i_itemNo) { @@ -1027,8 +1037,8 @@ inline u16 i_dComIfGs_getLife() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife(); } -inline void dComIfGs_offEventBit(u16 event) { - g_dComIfG_gameInfo.info.getSavedata().getEvent().offEventBit(event); +inline void dComIfGs_offEventBit(u16 i_flag) { + g_dComIfG_gameInfo.info.getSavedata().getEvent().offEventBit(i_flag); } inline const char* dComIfGs_getLastWarpMarkStageName() { @@ -1067,8 +1077,8 @@ inline u8 dComIfGs_getLightDropNum(u8 i_nowLevel) { return g_dComIfG_gameInfo.info.getPlayer().getLightDrop().getLightDropNum(i_nowLevel); } -inline u8 dComIfGs_getSelectItemIndex(int idx) { - return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectItemIndex(idx); +inline u8 dComIfGs_getSelectItemIndex(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectItemIndex(i_no); } inline u8 dComIfGs_getOptVibration() { @@ -1127,19 +1137,27 @@ 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); +inline void dComIfGs_setKeyNum(u8 i_keyNum) { + g_dComIfG_gameInfo.info.getMemory().getBit().setKeyNum(i_keyNum); } -inline BOOL dComIfGs_isSaveVisitedRoom(int param_0, int param_1) { - return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->isVisitedRoom(param_1); +inline BOOL dComIfGs_isSaveVisitedRoom(int param_0, int i_roomNo) { + return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->isVisitedRoom(i_roomNo); } -inline s16 dComIfGs_getOil() { +inline void dComIfGs_onSaveVisitedRoom(int param_0, int i_roomNo) { + return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->onVisitedRoom(i_roomNo); +} + +inline void dComIfGs_offSaveVisitedRoom(int param_0, int i_roomNo) { + return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->offVisitedRoom(i_roomNo); +} + +inline u16 dComIfGs_getOil() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getOil(); } -inline s16 dComIfGs_getMaxOil() { +inline u16 dComIfGs_getMaxOil() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxOil(); } @@ -1163,20 +1181,20 @@ inline s32 dComIfGs_isGetMagicUseFlag() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().isMagicFlag(0); } -inline void dComIfGs_offTmpBit(u16 flag) { - g_dComIfG_gameInfo.info.getTmp().offEventBit(flag); +inline void dComIfGs_offTmpBit(u16 i_flag) { + g_dComIfG_gameInfo.info.getTmp().offEventBit(i_flag); } inline BOOL dComIfGs_isDarkClearLV(int i_no) { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().isDarkClearLV(i_no); } -inline BOOL dComIfGs_isTmpBit(u16 flag) { - return g_dComIfG_gameInfo.info.getTmp().isEventBit(flag); +inline BOOL dComIfGs_isTmpBit(u16 i_flag) { + return g_dComIfG_gameInfo.info.getTmp().isEventBit(i_flag); } -inline void dComIfGs_onTmpBit(u16 flag) { - g_dComIfG_gameInfo.info.getTmp().onEventBit(flag); +inline void dComIfGs_onTmpBit(u16 i_flag) { + g_dComIfG_gameInfo.info.getTmp().onEventBit(i_flag); } inline BOOL dComIfGs_isTransformLV(int i_no) { @@ -1199,20 +1217,20 @@ inline u8 dComIfGs_getBottleNum(u8 i_bottleIdx) { return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getBottleNum(i_bottleIdx); } -inline u8 dComIfGs_getBombMax(u8 bombId) { - return g_dComIfG_gameInfo.info.getPlayer().getItemMax().getBombNum(bombId); +inline u8 dComIfGs_getBombMax(u8 i_bombType) { + return g_dComIfG_gameInfo.info.getPlayer().getItemMax().getBombNum(i_bombType); } -inline void dComIfGs_setBombNum(u8 i_bagIdx, u8 bombId) { - g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBombNum(i_bagIdx, bombId); +inline void dComIfGs_setBombNum(u8 i_bagIdx, u8 i_bombNum) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBombNum(i_bagIdx, i_bombNum); } -inline void dComIfGs_setPachinkoNum(u8 num) { - g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setPachinkoNum(num); +inline void dComIfGs_setPachinkoNum(u8 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setPachinkoNum(i_num); } -inline void dComIfGs_addBottleNum(u8 i_bottleIdx, s16 num) { - g_dComIfG_gameInfo.info.getPlayer().getItemRecord().addBottleNum(i_bottleIdx, num); +inline void dComIfGs_addBottleNum(u8 i_bottleIdx, s16 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().addBottleNum(i_bottleIdx, i_num); } inline void dComIfGs_resetLastWarpAcceptStage() { @@ -1255,8 +1273,8 @@ inline s8 dComIfGs_getRestartRoomNo() { return g_dComIfG_gameInfo.info.getRestart().getRoomNo(); } -inline void dComIfGs_setRestartRoomParam(u32 param) { - g_dComIfG_gameInfo.info.getRestart().setRoomParam(param); +inline void dComIfGs_setRestartRoomParam(u32 i_param) { + g_dComIfG_gameInfo.info.getRestart().setRoomParam(i_param); } inline u8 dComIfGs_getMagic() { @@ -1287,44 +1305,44 @@ inline u16 dComIfGs_getDate() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().getDate(); } -inline void dComIfGs_setDate(u16 date) { - return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setDate(date); +inline void dComIfGs_setDate(u16 i_date) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setDate(i_date); } inline f32 dComIfGs_getTime() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().getTime(); } -inline void dComIfGs_setTime(f32 time) { - return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setTime(time); +inline void dComIfGs_setTime(f32 i_time) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setTime(i_time); } -inline void dComIfGs_onDarkClearLV(int lv) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onDarkClearLV(lv); +inline void dComIfGs_onDarkClearLV(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onDarkClearLV(i_no); } -inline void dComIfGs_onTransformLV(int lv) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onTransformLV(lv); +inline void dComIfGs_onTransformLV(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onTransformLV(i_no); } -inline void dComIfGs_onSaveDunSwitch(int flag) { - g_dComIfG_gameInfo.info.getDan().onSwitch(flag); +inline void dComIfGs_onSaveDunSwitch(int i_swNo) { + g_dComIfG_gameInfo.info.getDan().onSwitch(i_swNo); } -inline void dComIfGs_offSaveDunSwitch(int flag) { - g_dComIfG_gameInfo.info.getDan().offSwitch(flag); +inline void dComIfGs_offSaveDunSwitch(int i_swNo) { + g_dComIfG_gameInfo.info.getDan().offSwitch(i_swNo); } inline u8 dComIfGs_getDataNum() { return g_dComIfG_gameInfo.info.getDataNum(); } -inline void dComIfGs_setDataNum(u8 num) { - return g_dComIfG_gameInfo.info.setDataNum(num); +inline void dComIfGs_setDataNum(u8 i_num) { + return g_dComIfG_gameInfo.info.setDataNum(i_num); } -inline void dComIfGs_setNewFile(u8 file) { - return g_dComIfG_gameInfo.info.setNewFile(file); +inline void dComIfGs_setNewFile(u8 i_fileNo) { + return g_dComIfG_gameInfo.info.setNewFile(i_fileNo); } inline char* dComIfGs_getPlayerName() { @@ -1339,26 +1357,26 @@ inline bool dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().isFieldDataExistFlag(); } -inline void dComIfGs_setPlayerFieldLastStayInfo(const char* stage, cXyz& pos, s16 angle, s8 point, - u8 region) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().set(stage, pos, angle, point, - region); +inline void dComIfGs_setPlayerFieldLastStayInfo(const char* i_stage, cXyz& i_pos, s16 i_angle, s8 i_point, + u8 i_region) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().set(i_stage, i_pos, i_angle, i_point, + i_region); } -inline void dComIfGs_setStartPoint(s16 point) { - g_dComIfG_gameInfo.info.getRestart().setStartPoint(point); +inline void dComIfGs_setStartPoint(s16 i_point) { + g_dComIfG_gameInfo.info.getRestart().setStartPoint(i_point); } -inline void dComIfGs_clearRoomSwitch(int zoneNo) { - g_dComIfG_gameInfo.info.getZone(zoneNo).getZoneBit().clearRoomSwitch(); +inline void dComIfGs_clearRoomSwitch(int i_zoneNo) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getZoneBit().clearRoomSwitch(); } -inline void dComIfGs_clearRoomItem(int zoneNo) { - g_dComIfG_gameInfo.info.getZone(zoneNo).getZoneBit().clearRoomItem(); +inline void dComIfGs_clearRoomItem(int i_zoneNo) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getZoneBit().clearRoomItem(); } -inline void dComIfGs_removeZone(int zoneNo) { - g_dComIfG_gameInfo.info.removeZone(zoneNo); +inline void dComIfGs_removeZone(int i_zoneNo) { + g_dComIfG_gameInfo.info.removeZone(i_zoneNo); } inline u32 dComIfGs_getTurnRestartParam() { @@ -1409,20 +1427,20 @@ inline u16 dComIfGs_getRupeeMax() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupeeMax(); } -inline void dComIfGs_onLightDropGetFlag(u8 level) { - g_dComIfG_gameInfo.info.getPlayer().getLightDrop().onLightDropGetFlag(level); +inline void dComIfGs_onLightDropGetFlag(u8 i_nowLevel) { + g_dComIfG_gameInfo.info.getPlayer().getLightDrop().onLightDropGetFlag(i_nowLevel); } -inline void dComIfGs_setTmpReg(u16 reg, u8 flag) { - g_dComIfG_gameInfo.info.getTmp().setEventReg(reg, flag); +inline void dComIfGs_setTmpReg(u16 i_reg, u8 i_no) { + g_dComIfG_gameInfo.info.getTmp().setEventReg(i_reg, i_no); } -inline int dComIfGs_getTmpReg(u16 reg) { - return g_dComIfG_gameInfo.info.getTmp().getEventReg(reg); +inline int dComIfGs_getTmpReg(u16 i_reg) { + return g_dComIfG_gameInfo.info.getTmp().getEventReg(i_reg); } -inline void dComIfGs_setWarashibeItem(u8 itemNo) { - g_dComIfG_gameInfo.info.getPlayer().getItem().setWarashibeItem(itemNo); +inline void dComIfGs_setWarashibeItem(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setWarashibeItem(i_itemNo); } inline void dComIfGs_setBottleItemIn(u8 curItem, u8 newItem) { @@ -1437,44 +1455,36 @@ inline u8 dComIfGs_checkBombBag(u8 i_itemNo) { return g_dComIfG_gameInfo.info.getPlayer().getItem().checkBombBag(i_itemNo); } -inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) { - return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag); -} - -inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { - return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); -} - inline s64 dComIfGs_getTotalTime() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getTotalTime(); } -inline void dComIfGs_setSaveTotalTime(s64 time) { - g_dComIfG_gameInfo.info.setSaveTotalTime(time); +inline void dComIfGs_setSaveTotalTime(s64 i_time) { + g_dComIfG_gameInfo.info.setSaveTotalTime(i_time); } -inline void dComIfGs_setSaveStartTime(s64 time) { - g_dComIfG_gameInfo.info.setStartTime(time); +inline void dComIfGs_setSaveStartTime(s64 i_time) { + g_dComIfG_gameInfo.info.setStartTime(i_time); } -inline void dComIfGs_setNoFile(u8 file) { - g_dComIfG_gameInfo.info.setNoFile(file); +inline void dComIfGs_setNoFile(u8 i_file) { + g_dComIfG_gameInfo.info.setNoFile(i_file); } 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 bool dComIfGs_isItem(int i_bitNo, int i_roomNo) { + return g_dComIfG_gameInfo.info.isItem(i_bitNo, i_roomNo); } -inline void dComIfGs_onItem(int bitNo, int roomNo) { - g_dComIfG_gameInfo.info.onItem(bitNo, roomNo); +inline void dComIfGs_onItem(int i_bitNo, int i_roomNo) { + g_dComIfG_gameInfo.info.onItem(i_bitNo, i_roomNo); } -inline void dComIfGs_onActor(int bitNo, int roomNo) { - g_dComIfG_gameInfo.info.onActor(bitNo, roomNo); +inline void dComIfGs_onActor(int i_bitNo, int i_roomNo) { + g_dComIfG_gameInfo.info.onActor(i_bitNo, i_roomNo); } inline void dComIfGs_setLastWarpAcceptStage(s8 param_0) { @@ -1489,14 +1499,15 @@ 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_setInitDataToCard(u8* i_saveData, int i_dataNum) { + g_dComIfG_gameInfo.info.initdata_to_card((char*)i_saveData, i_dataNum); } -inline void dComIfGs_setMemoryToCard(u8* p_saveData, int dataNum) { - g_dComIfG_gameInfo.info.memory_to_card((char*)p_saveData, dataNum); +inline void dComIfGs_setMemoryToCard(u8* i_saveData, int i_dataNum) { + g_dComIfG_gameInfo.info.memory_to_card((char*)i_saveData, i_dataNum); } + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); @@ -1512,7 +1523,7 @@ u8 dComIfGp_SelectWarpPt_get(); void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed, u32 lastMode, int, s8 wipe, s16 lastAngle, int, int); void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer); -int dComIfGp_getSelectItemNum(int index); +s16 dComIfGp_getSelectItemNum(int index); int dComIfGp_getSelectItemMaxNum(int index); void dComIfGp_mapShow(); void dComIfGp_mapHide(); @@ -1541,9 +1552,18 @@ static u8 dComIfGp_getRStatus(); static dAttCatch_c* dComIfGp_att_getCatghTarget(); static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1); +inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag); +} + +inline bool i_dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); +} + inline void i_dComIfGp_setItemLifeCount(float amount, u8 type) { g_dComIfG_gameInfo.play.setItemLifeCount(amount, type); } + inline void i_dComIfGp_setItemRupeeCount(int amount) { g_dComIfG_gameInfo.play.setItemRupeeCount(amount); } @@ -2032,6 +2052,10 @@ inline void dComIfGp_setStatus(u16 status) { g_dComIfG_gameInfo.play.setStatus(status); } +inline void dComIfGp_setAdvanceDirection(u8 i_dir) { + g_dComIfG_gameInfo.play.setDirection(i_dir); +} + inline void dComIfGp_setLinkPlayer(fopAc_ac_c* ptr) { g_dComIfG_gameInfo.play.setPlayerPtr(0, ptr); } @@ -2101,7 +2125,11 @@ inline void dComIfGp_setNowOxygen(s32 oxygen) { g_dComIfG_gameInfo.play.setNowOxygen(oxygen); } -inline int dComIfGp_getMaxOxygen() { +inline void dComIfGp_setOxygenCount(s32 oxygen) { + g_dComIfG_gameInfo.play.setOxygenCount(oxygen); +} + +inline s32 dComIfGp_getMaxOxygen() { return g_dComIfG_gameInfo.play.getMaxOxygen(); } @@ -2117,6 +2145,14 @@ inline u8 dComIfGp_getOxygenShowFlag() { return g_dComIfG_gameInfo.play.getOxygenShowFlag(); } +inline void dComIfGp_onOxygenShowFlag() { + g_dComIfG_gameInfo.play.setOxygenShowFlag(1); +} + +inline void dComIfGp_offOxygenShowFlag() { + g_dComIfG_gameInfo.play.setOxygenShowFlag(0); +} + inline u8 dComIfGp_getNeedLightDropNum() { return g_dComIfG_gameInfo.play.getNeedLightDropNum(); } @@ -2185,6 +2221,10 @@ inline void dComIfGp_2dShowOn() { g_dComIfG_gameInfo.play.show2dOn(); } +inline void dComIfGp_2dShowOff() { + g_dComIfG_gameInfo.play.show2dOff(); +} + inline s16 dComIfGp_getItemMaxLifeCount() { return g_dComIfG_gameInfo.play.getItemMaxLifeCount(); } @@ -2369,6 +2409,10 @@ inline void dComIfGp_event_setGtItm(int i_itemNo) { g_dComIfG_gameInfo.play.getEvent().setGtItm(i_itemNo); } +inline void i_dComIfGp_event_reset() { + g_dComIfG_gameInfo.play.getEvent().reset(); +} + inline void dComIfGp_evmng_cutEnd(int param_0) { dComIfGp_getPEvtManager()->cutEnd(param_0); } @@ -2456,6 +2500,10 @@ inline int dComIfGp_evmng_getMySubstanceNum(int index, char* name) { return dComIfGp_getPEvtManager()->getMySubstanceNum(index, name); } +inline int dComIfGp_evmng_checkStartDemo() { + return dComIfGp_getPEvtManager()->checkStartDemo(); +} + inline void dComIfGp_evmng_create() { g_dComIfG_gameInfo.play.getEvtManager().create(); } @@ -2519,7 +2567,7 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, param_9, param_10, 1.0f); } -inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, +inline JPABaseEmitter* 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, const GXColor* param_10, const cXyz* param_11) { @@ -2528,7 +2576,7 @@ inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tev param_9, param_10, param_11, 1.0f); } -inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const csXyz* param_3, +inline JPABaseEmitter* dComIfGp_particle_set(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) { @@ -2537,13 +2585,13 @@ inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const csXyz* param_8, param_9, param_10, 1.0f); } -inline u32 dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2, +inline JPABaseEmitter* dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2, const cXyz* param_3) { return dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL, NULL, NULL); } -inline u32 dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2, +inline JPABaseEmitter* 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); @@ -2555,6 +2603,30 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, NULL, NULL); } +inline u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, + const GXColor* param_4, const GXColor* param_5, f32 param_6, u8 param_7, + const csXyz* param_8, const cXyz* param_9, dPa_levelEcallBack* param_10, + s8 param_11, const cXyz* param_12) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_3, + param_8, param_9, param_7, param_10, + param_11, param_4, param_5, param_12, + param_6); +} + +inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2, + const GXColor* param_3, const GXColor* param_4, f32 param_5, u8 param_6, + const csXyz* param_7, const cXyz* param_8, dPa_levelEcallBack* param_9, + s8 param_10, const cXyz* param_11) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_7, + param_8, param_6, param_9, param_10, + param_3, param_4, param_11, param_5); +} + +inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2, + const GXColor* param_3, const GXColor* param_4, f32 param_5, u8 param_6) { + return dComIfGp_particle_setColor(param_0, param_1, param_2, param_3, param_4, param_5, param_6, NULL, NULL, NULL, -1, NULL); +} + inline void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) { g_dComIfG_gameInfo.play.getParticle()->forceOnEventMove(param_0); } diff --git a/include/d/d_attention.h b/include/d/d_attention.h index 7551d7327c..ccf6630703 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -213,15 +213,7 @@ public: void clrFlag(u32 flag) { mFlags &= ~flag; } int GetActionCount() { return mActionCount; } int GetLockonCount() { return mLockonCount; } - s8 Lockon() { - /* s32 chk = true; - if (!LockonTruth() && !chkFlag(0x20000000)) { - chk = false; - } - return chk; */ - - return !LockonTruth() && !chkFlag(0x20000000); - } + bool Lockon() { return LockonTruth() || chkFlag(0x20000000); } // only matches with -O2? static type_tbl_entry loc_type_tbl[3]; static type_tbl_entry act_type_tbl[5]; diff --git a/include/d/d_camera.h b/include/d/d_camera.h index b0baf02a57..5aad5b6ae1 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -164,6 +164,8 @@ public: /* 0x40 */ cSAngle field_0x40; }; // Size: 0x44 + /* 80088A7C */ void StartEventCamera(int, int, ...); + /* 80088BBC */ void EndEventCamera(int); /* 8008908C */ void getEvIntData(int*, char*, int); /* 80088CB0 */ void getEvIntData(int*, char*); /* 80089154 */ void getEvFloatData(f32*, char*, f32); @@ -521,5 +523,6 @@ public: dCamera_c* dCam_getBody(); dCamera_c* dCam_getCamera(); +s16 dCam_getControledAngleY(camera_class* param_0); #endif /* D_D_CAMERA_H */ diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 15d09fb5cd..9238020210 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -118,6 +118,8 @@ public: /* 80039AAC */ virtual ~dDemo_system_c(); /* 80039528 */ virtual bool JSGFindObject(JStage::TObject**, char const*, JStage::TEObject) const; + + void setObject(dDemo_object_c* i_object) { mpObject = i_object; } private: /* 0x4 */ dDemo_object_c* mpObject; diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h index 71d566c05d..ce664a66e7 100644 --- a/include/d/d_jnt_col.h +++ b/include/d/d_jnt_col.h @@ -21,6 +21,8 @@ public: /* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*); bool checkPassNum(int bit) { return field_0xc & (1 << bit); } + void onPassNum(int num) { field_0xc |= (1 << num); } + void offPassNum(int num) { field_0xc &= ~(1 << num); } /* 0x00 */ dJntColData_c* mData; /* 0x04 */ J3DModel* mModel; diff --git a/include/d/d_procname.h b/include/d/d_procname.h index 0ec11077fc..21c6600ce2 100644 --- a/include/d/d_procname.h +++ b/include/d/d_procname.h @@ -1,4 +1,5 @@ -#pragma once +#ifndef D_PROCNAME_H +#define D_PROCNAME_H enum { PROC_OVERLAP0 = 0x0000, @@ -793,4 +794,6 @@ enum { PROC_TIMER = 0x0315, PROC_METER2 = 0x0316, PROC_GAMEOVER = 0x0317, -}; \ No newline at end of file +}; + +#endif /* D_PROCNAME_H */ \ No newline at end of file diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 75ec2f715b..1af4ce76bf 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -16,7 +16,7 @@ public: /* 8003AB30 */ static void onWarpMaterial(J3DModelData*); /* 8003AC1C */ static void offWarpMaterial(J3DModelData*); /* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32); - /* 8003AE14 */ void loaderBasicBmd(u32, void*); + /* 8003AE14 */ static J3DModelData* loaderBasicBmd(u32, void*); /* 8003B30C */ int loadResource(); /* 8003B998 */ void deleteArchiveRes(); /* 8003BAC4 */ int setRes(JKRArchive*, JKRHeap*); diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 9055acf9af..4778e1932d 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -292,7 +292,8 @@ struct dStage_MapEvent_dt_c { /* 0x08 */ u8 field_0x8; /* 0x09 */ u8 field_0x9; /* 0x0A */ u8 field_0xA[0xD - 0xA]; - /* 0x0D */ char mName[9]; + /* 0x0D */ char mName[7]; + /* 0x14 */ u16 field_0x14; /* 0x16 */ u8 field_0x16; /* 0x17 */ u8 field_0x17; /* 0x18 */ u8 mSeType; // 1: RIDDLE_A, 2: RIDDLE_B @@ -908,6 +909,9 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, u32 mode, s16 angle, int param_7); void dStage_Create(); static s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0); +void dStage_restartRoom(u32 roomParam, u32 mode, int param_2); +struct cBgS_GndChk; +int dStage_RoomCheck(cBgS_GndChk* gndChk); inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) { return data.field_0x2 & 8; diff --git a/include/d/d_vibration.h b/include/d/d_vibration.h index 58b6634557..b24ff7248d 100644 --- a/include/d/d_vibration.h +++ b/include/d/d_vibration.h @@ -28,7 +28,7 @@ private: public: class { public: - /* 0x00 */ u32 field_0x0; + /* 0x00 */ u32 field_0x0; /* 0x04 */ int field_0x4; /* 0x08 */ s32 field_0x8; /* 0x0C */ s32 field_0xc; diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 198e129434..c99567d4b5 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -35,6 +35,8 @@ static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 para void dKy_GxFog_set(); static void GxFog_set(); static void GxXFog_set(); +u8 dKy_pol_argument_get(cBgS_PolyInfo const* i_poly); +void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int param_3); struct LIGHT_INFLUENCE { diff --git a/include/d/meter/d_meter2.h b/include/d/meter/d_meter2.h index de6d979ed5..3e10104ce9 100644 --- a/include/d/meter/d_meter2.h +++ b/include/d/meter/d_meter2.h @@ -116,6 +116,8 @@ public: /* 80202240 */ virtual void draw(); /* 80201370 */ virtual ~dMeterButton_c(); + + /* 0x004 */ u8 field_0x4[0x630 - 0x4]; }; class dMeterString_c : public dMeterSub_c { diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index 270c1347d0..b2c122b130 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -300,7 +300,7 @@ public: /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); /* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*, cXyz const*, s8); - /* 8004CA90 */ u32 set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8, + /* 8004CA90 */ JPABaseEmitter* set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, cXyz const*, f32); /* 8004D4CC */ u32 set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, @@ -334,10 +334,10 @@ public: param_8, param_9, param_10, param_11, param_12); } - u32 setNormal(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, - const GXColor* param_10, const cXyz* param_11, f32 param_12) { + JPABaseEmitter* setNormal(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, + const GXColor* param_10, const cXyz* param_11, f32 param_12) { return set(0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10, param_11, param_12); } @@ -352,6 +352,8 @@ public: return ((dPa_selectTexEcallBack*)mTsubo) + idx; } + static JPAEmitterManager* getEmitterManager() { return mEmitterMng; } + static u8 mTsubo[64]; static u8 mLifeBall[24]; static Mtx mWindViewMatrix; diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index 9669f98531..a31380e64b 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -376,9 +376,9 @@ enum { class dSv_player_status_a_c { public: void init(); - void setSelectItemIndex(int i_no, u8 item_index); + void setSelectItemIndex(int i_no, u8 i_slotNo); u8 getSelectItemIndex(int i_no) const; - void setMixItemIndex(int i_no, u8 item_index); + void setMixItemIndex(int i_no, u8 i_slotNo); u8 getMixItemIndex(int i_no) const; u16 getRupeeMax() const; int isMagicFlag(u8 i_magic) const; @@ -392,15 +392,15 @@ public: u8& getMaxMagic() { return mMaxMagic; } u8 getSelectEquip(int item) const { return mSelectEquip[item]; } u8 getTransformStatus() const { return mTransformStatus; } - void setOil(u16 oil) { mOil = oil; } - void setMaxOil(u16 max) { mMaxOil = max; } - void setWalletSize(u8 size) { mWalletSize = size; } - void setMagic(u8 magic) { mMagic = magic; } - void setMaxMagic(u8 max) { mMaxMagic = max; } - void setRupee(u16 rupees) { mRupee = rupees; } - void setLife(u16 life) { mLife = life; } - void setMaxLife(u8 max) { mMaxLife = max; } - void setSelectEquip(int item_index, u8 item) { mSelectEquip[item_index] = item; } + void setOil(u16 i_oil) { mOil = i_oil; } + void setMaxOil(u16 i_maxOil) { mMaxOil = i_maxOil; } + void setWalletSize(u8 i_size) { mWalletSize = i_size; } + void setMagic(u8 i_magic) { mMagic = i_magic; } + void setMaxMagic(u8 i_maxMagic) { mMaxMagic = i_maxMagic; } + void setRupee(u16 i_rupees) { mRupee = i_rupees; } + void setLife(u16 i_life) { mLife = i_life; } + void setMaxLife(u8 i_maxLife) { mMaxLife = i_maxLife; } + void setSelectEquip(int i_equipId, u8 i_itemNo) { mSelectEquip[i_equipId] = i_itemNo; } private: /* 0x00 */ u16 mMaxLife; @@ -431,11 +431,11 @@ public: void onTransformLV(int i_no); BOOL isTransformLV(int i_no) const; - void setDateIpl(s64 time) { mDateIpl = time; } + void setDateIpl(s64 i_time) { mDateIpl = i_time; } u16 getDate() const { return mDate; } f32 getTime() const { return mTime; } - void setDate(u16 date) { mDate = date; } - void setTime(f32 time) { mTime = time; } + void setDate(u16 i_date) { mDate = i_date; } + void setTime(f32 i_time) { mTime = i_time; } OSTime getDateIpl() const { return mDateIpl; } private: @@ -530,10 +530,10 @@ private: class dSv_player_item_c { public: void init(); - void setItem(int item_slot, u8 i_itemNo); - u8 getItem(int slot_no, bool check_combo) const; + void setItem(int i_slotNo, u8 i_itemNo); + u8 getItem(int i_slotNo, bool i_checkCombo) const; void setLineUpItem(); - u8 getLineUpItem(int slot_no) const; + u8 getLineUpItem(int i_slotNo) const; void setBottleItemIn(u8 curItemIn, u8 newItemIn); void setEmptyBottleItemIn(u8 i_itemNo); void setEmptyBottle(); @@ -543,12 +543,12 @@ public: u8 checkBottle(u8 i_itemNo); int checkInsectBottle(); u8 checkEmptyBottle(); - void setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum); - void setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, bool setNum); - void setEmptyBombBagItemIn(u8 newBomb, bool setNum); - void setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum); + void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum); + void setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, u8 i_bombNum, bool i_setNum); + void setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum); + void setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum); void setEmptyBombBag(); - void setEmptyBombBag(u8 newBomb, u8 bombNum); + void setEmptyBombBag(u8 i_newBomb, u8 i_bombNum); u8 checkBombBag(u8 i_itemNo); void setWarashibeItem(u8 i_itemNo); void setRodTypeLevelUp(); @@ -573,16 +573,16 @@ private: class dSv_player_item_record_c { public: void init(); - void setBombNum(u8 i_bagIdx, u8 bag_id); + void setBombNum(u8 i_bagIdx, u8 i_bombNum); u8 getBombNum(u8 i_bagIdx) const; - void setBottleNum(u8 i_bottleIdx, u8 bottle_num); - u8 addBottleNum(u8 i_bottleIdx, s16 num); + void setBottleNum(u8 i_bottleIdx, u8 i_bottleNum); + u8 addBottleNum(u8 i_bottleIdx, s16 i_num); u8 getBottleNum(u8 i_bottleIdx) const; u8 getArrowNum() const { return mArrowNum; } - void setArrowNum(u8 amount) { mArrowNum = amount; } + void setArrowNum(u8 i_num) { mArrowNum = i_num; } u8 getPachinkoNum() const { return mPachinkoNum; } - void setPachinkoNum(u8 num) { mPachinkoNum = num; } + void setPachinkoNum(u8 i_num) { mPachinkoNum = i_num; } private: /* 0x0 */ u8 mArrowNum; @@ -595,10 +595,10 @@ private: class dSv_player_item_max_c { public: void init(); - void setBombNum(u8 bomb_id, u8 bomb_max); - u8 getBombNum(u8 bomb_id) const; + void setBombNum(u8 i_bombType, u8 i_maxNum); + u8 getBombNum(u8 i_bombType) const; - void setArrowNum(u8 max) { mItemMax[ARROW_MAX] = max; } + void setArrowNum(u8 i_maxNum) { mItemMax[ARROW_MAX] = i_maxNum; } u8 getArrowNum() { return mItemMax[ARROW_MAX]; } private: @@ -639,7 +639,7 @@ private: class dSv_light_drop_c { public: void init(); - void setLightDropNum(u8 i_nowLevel, u8 dropNum); + void setLightDropNum(u8 i_nowLevel, u8 i_dropNum); u8 getLightDropNum(u8 i_nowLevel) const; void onLightDropGetFlag(u8 i_nowLevel); BOOL isLightDropGetFlag(u8 i_nowLevel) const; @@ -667,7 +667,7 @@ private: class dSv_fishing_info_c { public: void init(); - void addFishCount(u8 fish_index); + void addFishCount(u8 i_fishIndex); private: /* 0x00 */ u16 mFishCount[16]; @@ -678,9 +678,9 @@ class dSv_player_info_c { public: void init(); char* getLinkName() { return mPlayerName; } - void setPlayerName(const char* name) { strcpy((char*)mPlayerName, name); } - void setHorseName(const char* name) { strcpy((char*)mHorseName, name); } - void setTotalTime(s64 time) { mTotalTime = time; } + void setPlayerName(const char* i_name) { strcpy((char*)mPlayerName, i_name); } + void setHorseName(const char* i_name) { strcpy((char*)mHorseName, i_name); } + void setTotalTime(s64 i_time) { mTotalTime = i_time; } s64 getTotalTime() const { return mTotalTime; } private: @@ -802,7 +802,7 @@ public: s32 isDungeonItem(int i_no) const; u8 getKeyNum() { return mKeyNum; } - void setKeyNum(u8 keyNum) { mKeyNum = keyNum; } + void setKeyNum(u8 i_keyNum) { mKeyNum = i_keyNum; } void onDungeonItemMap() { onDungeonItem(MAP); } s32 isDungeonItemMap() const { return isDungeonItem(MAP); } void onDungeonItemCompass() { onDungeonItem(COMPASS); } @@ -884,7 +884,7 @@ STATIC_ASSERT(sizeof(dSv_memory2_c) == 8); class dSv_danBit_c { public: - bool init(s8 i_stage); + bool init(s8 i_stageNo); void onSwitch(int i_no); void offSwitch(int i_no); BOOL isSwitch(int i_no) const; diff --git a/include/dolphin/pad/Pad.h b/include/dolphin/pad/Pad.h index 984b69b2f6..7cc798cb44 100644 --- a/include/dolphin/pad/Pad.h +++ b/include/dolphin/pad/Pad.h @@ -33,7 +33,7 @@ void PADSetSpec(int spec); BOOL PADReset(u32 mask); void PADClampCircle(PADStatus* status); void PADClamp(PADStatus* status); -void PADRead(PADStatus* status); +u32 PADRead(PADStatus* status); void PADControlMotor(s32 channel, u32 command); BOOL PADRecalibrate(u32 mask); diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index 611a9feae0..60f9e23a13 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -5,6 +5,8 @@ #include "dolphin/types.h" void fapGm_After(); +void fapGm_Create(); +void fapGm_Execute(); class fapGm_HIO_c { public: diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index a7fe695e1d..f61f938669 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -93,13 +93,14 @@ public: /* 0x497 */ u8 mCullType; /* 0x498 */ u8 mDemoActorId; /* 0x499 */ s8 mSubtype; + /* 0x49A */ u8 field_0x49a; /* 0x49C */ u32 mStatus; /* 0x4A0 */ u32 mCondition; /* 0x4A4 */ u32 mParentPcId; /* 0x4A8 */ actor_place orig; /* 0x4BC */ actor_place next; /* 0x4D0 */ actor_place current; - /* 0x4E4 */ csXyz mCollisionRot; + /* 0x4E4 */ csXyz shape_angle; /* 0x4EC */ cXyz mScale; /* 0x4F8 */ cXyz mSpeed; /* 0x504 */ MtxP mCullMtx; @@ -142,6 +143,11 @@ public: /* 80019520 */ void setBallModelEffect(dKy_tevstr_c*); /* 800196A0 */ void drawBallModel(dKy_tevstr_c*); + bool checkWolfNoLock() const { return mFlags & 0x200; } + bool checkHeadLockFlg() const { return mFlags & 0x80; } + bool checkDownFlg() const { return mFlags & 0x1; } + cXyz& getDownPos() { return mDownPos; } + /* 0x568 */ cXyz mDownPos; /* 0x574 */ cXyz mHeadLockPos; /* 0x580 */ J3DModel* mBallModel; diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 867380a90d..04c14d9a6b 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -128,6 +128,16 @@ inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) { return pActor->mStatus & 0x2000; } +enum fopAcM_CARRY { + fopAcM_CARRY_HEAVY = 2, + fopAcM_CARRY_SIDE = 4, + fopAcM_CARRY_TYPE_8 = 8, +}; + +inline u32 fopAcM_CheckCarryType(fopAc_ac_c* actor, fopAcM_CARRY type) { + return actor->field_0x49a & type; +} + inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) { return fopAcM_checkStatus(pActor, 0x100000); } @@ -185,7 +195,7 @@ inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) { } inline csXyz& fopAcM_GetShapeAngle_p(fopAc_ac_c* pActor) { - return pActor->mCollisionRot; + return pActor->shape_angle; } inline bool fopAcM_CheckCondition(fopAc_ac_c* p_actor, u32 flag) { @@ -309,6 +319,8 @@ inline void fopAcM_onActor(const fopAc_ac_c* p_actor) { dComIfGs_onActor(setId, fopAcM_GetHomeRoomNo(p_actor)); } +void fopAcM_initManager(); + void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData); void fopAcM_setStageLayer(void* p_proc); diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index f205d388d1..3cc4b62160 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -38,6 +38,7 @@ public: extern JKRSolidHeap* g_mDoAud_audioHeap; +void mDoAud_Execute(); void mDoAud_resetProcess(); bool mDoAud_resetRecover(); void mDoAud_setSceneName(char const* spot, s32 room, s32 layer); diff --git a/include/m_Do/m_Do_controller_pad.h b/include/m_Do/m_Do_controller_pad.h index 161420fca6..1737fe56fd 100644 --- a/include/m_Do/m_Do_controller_pad.h +++ b/include/m_Do/m_Do_controller_pad.h @@ -52,6 +52,7 @@ public: static f32 getStickY(u32 pad) { return getCpadInfo(pad).mMainStickPosY; } static f32 getStickValue(u32 pad) { return getCpadInfo(pad).mMainStickValue; } static s16 getStickAngle(u32 pad) { return getCpadInfo(pad).mMainStickAngle; } + static s16 getStickAngle3D(u32 pad) { return getCpadInfo(pad).mMainStickAngle; } static f32 getSubStickX(u32 pad) { return getCpadInfo(pad).mCStickPosX; } static f32 getSubStickY(u32 pad) { return getCpadInfo(pad).mCStickPosY; } static f32 getSubStickValue(u32 pad) { return getCpadInfo(pad).mCStickValue; } diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index b9e22e443d..f8dcbdcf61 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -186,6 +186,7 @@ public: /* 80140E2C */ mDoExt_AnmRatioPack(); void setRatio(f32 ratio) { mRatio = ratio; } + f32 getRatio() { return mRatio; } J3DAnmTransform* getAnmTransform() { return mAnmTransform; } void setAnmTransform(J3DAnmTransform* anm) { mAnmTransform = anm; } @@ -364,6 +365,7 @@ public: /* 8000F8CC */ void decOldFrameMorfCounter(); f32 getOldFrameRate() { return mOldFrameRate; } + J3DTransformInfo* getOldFrameTransInfo(int i) { return &mOldFrameTransInfo[i]; } private: /* 0x00 */ bool mOldFrameFlg; @@ -505,6 +507,7 @@ void mDoExt_modelUpdateDL(J3DModel* i_model); J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2); void mDoExt_setAraCacheSize(u32 size); int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id); +void mDoExt_modelEntryDL(J3DModel* i_model); struct JUTFont; JUTFont* mDoExt_getMesgFont(); diff --git a/include/m_Do/m_Do_machine.h b/include/m_Do/m_Do_machine.h index 70bfe4ddd3..88cf77a4eb 100644 --- a/include/m_Do/m_Do_machine.h +++ b/include/m_Do/m_Do_machine.h @@ -15,6 +15,7 @@ void exceptionRestart(); void myExceptionCallback(u16, OSContext*, u32, u32); void my_SysPrintHeap(char const*, void*, u32); void mDoMch_HeapCheckAll(); +int mDoMch_Create(); extern GXRenderModeObj g_ntscZeldaProg; diff --git a/include/m_Do/m_Do_main.h b/include/m_Do/m_Do_main.h index c006df31ec..b012752efe 100644 --- a/include/m_Do/m_Do_main.h +++ b/include/m_Do/m_Do_main.h @@ -6,7 +6,7 @@ #include "dolphin/types.h" void version_check(); -void* LOAD_COPYDATE(void*); +s32 LOAD_COPYDATE(void*); class HeapCheck { public: diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 1f9d82853c..f2103edf58 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -25,6 +25,14 @@ inline void mDoMtx_multVecSR(Mtx m, const Vec* src, Vec* dst) { PSMTXMultVecSR(m, src, dst); } +inline void mDoMtx_multVec(Mtx m, const Vec* src, Vec* dst) { + PSMTXMultVec(m, src, dst); +} + +inline void mDoMtx_copy(const Mtx src, Mtx dst) { + PSMTXCopy(src, dst); +} + class mDoMtx_stack_c { public: /* 8000CCC8 */ static bool push(); @@ -46,6 +54,7 @@ public: static void transS(f32 x, f32 y, f32 z) { PSMTXTrans(now, x, y, z); } static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); } static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); } + static void multVecSR(const Vec* a, Vec* b) { PSMTXMultVecSR(now, a, b); } static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); } static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); } static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); } @@ -55,7 +64,7 @@ public: 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 void copy(Mtx m) { PSMTXCopy(now, m); } + static void copy(const Mtx m) { PSMTXCopy(m, now); } static Mtx now; static Mtx buffer[16]; diff --git a/include/rel/d/a/d_a_arrow/d_a_arrow.h b/include/rel/d/a/d_a_arrow/d_a_arrow.h index da1d0ba26f..31d7392100 100644 --- a/include/rel/d/a/d_a_arrow/d_a_arrow.h +++ b/include/rel/d/a/d_a_arrow/d_a_arrow.h @@ -1,6 +1,99 @@ #ifndef D_A_ARROW_H #define D_A_ARROW_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_procname.h" +#include "d/cc/d_cc_d.h" +#include "d/bg/d_bg_s_acch.h" +#include "d/bg/d_bg_s_lin_chk.h" +#include "d/particle/d_particle.h" + +class daArrow_c : public fopAc_ac_c { +public: + /* 80499C6C */ void createHeap(); + /* 80499D8C */ void atHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); + /* 80499FBC */ void decAlphaBlur(); + /* 8049A04C */ void setBlur(); + /* 8049A110 */ void setLightArrowHitMark(cXyz const*); + /* 8049A1EC */ void setLightChargeEffect(int); + /* 8049A370 */ void setArrowWaterNextPos(cXyz*, cXyz*); + /* 8049A76C */ void setArrowAt(f32); + /* 8049A9CC */ void arrowShooting(); + /* 8049AC84 */ void setBombArrowExplode(cXyz*); + /* 8049ACE0 */ void setRoomInfo(); + /* 8049AD74 */ void clearNearActorData(); + /* 8049AD94 */ void getVibAngle(); + /* 8049AE64 */ void setNormalMatrix(); + /* 8049AF18 */ void setSmokePos(); + /* 8049AFEC */ void setKeepMatrix(); + /* 8049B120 */ void setStopActorMatrix(); + /* 8049B214 */ void setBombMoveEffect(); + /* 8049B370 */ void checkReget(); + /* 8049B45C */ void procWait(); + /* 8049B764 */ void procMove(); + /* 8049C700 */ void procReturnInit(int); + /* 8049C874 */ void procReturn(); + /* 8049CB70 */ void procBGStop(); + /* 8049CC60 */ void procActorStop(); + /* 8049CCCC */ void procActorControllStop(); + /* 8049CCF0 */ void procSlingHitInit(cXyz*, dCcD_GObjInf*); + /* 8049CE50 */ void procSlingHit(); + /* 8049CEA0 */ void execute(); + /* 8049D0CC */ void draw(); + /* 8049D440 */ void create(); + /* 8049D98C */ ~daArrow_c(); + + void setBombArrowExplode() { field_0x950 = 0; } + bool checkBombArrow() const { return mIsBombArrow == true; } + + static fopAc_ac_c* makeArrow(fopAc_ac_c* i_player, u16 param_1) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_ARROW, + param_1 << 8, + &i_player->current.pos, + fopAcM_GetRoomNo(i_player), + NULL, + NULL, + -1, + NULL, + NULL); + } + + /* 0x568 */ J3DModel* field_0x568; + /* 0x56C */ dBgS_ArrowLinChk field_0x56c; + /* 0x5DC */ dBgS_ObjLinChk field_0x5dc; + /* 0x64C */ dCcD_Stts field_0x64c; + /* 0x688 */ dCcD_Cps field_0x688; + /* 0x7CC */ dCcD_Sph field_0x7cc; + /* 0x904 */ Z2SoundObjArrow field_0x904; + /* 0x93C */ bool mIsBombArrow; + /* 0x93D */ u8 field_0x93d[0x948 - 0x93D]; + /* 0x948 */ u8 mReverb; + /* 0x949 */ u8 field_0x949[0x950 - 0x949]; + /* 0x950 */ u16 field_0x950; + /* 0x952 */ s16 field_0x952; + /* 0x954 */ s16 field_0x954; + /* 0x956 */ u16 field_0x956; + /* 0x958 */ csXyz field_0x958; + /* 0x960 */ int field_0x960; + /* 0x964 */ u32 field_0x964; + /* 0x968 */ u32 field_0x968; + /* 0x96C */ u8 field_0x96c[0x994 - 0x96C]; + /* 0x994 */ u32 mHitAcID; + /* 0x998 */ f32 field_0x998; + /* 0x99C */ f32 field_0x99c; + /* 0x9A0 */ f32 mOutLengthRate; + /* 0x9A4 */ f32 mFlyMax; + /* 0x9A8 */ cXyz field_0x9a8; + /* 0x9B4 */ cXyz field_0x9b4; + /* 0x9C0 */ cXyz mStartPos; + /* 0x9CC */ cXyz field_0x9cc; + /* 0x9D8 */ cXyz field_0x9d8; + /* 0x9E4 */ cXyz field_0x9e4; + /* 0x9F0 */ cXyz mSmokePos; + /* 0x9FC */ cXyz field_0x9fc; + /* 0xA08 */ daPy_actorKeep_c field_0xa08; + /* 0xA10 */ dPa_hermiteEcallBack_c field_0xa10; + /* 0xA28 */ void (daArrow_c::*mProcFunc)(); +}; #endif /* D_A_ARROW_H */ diff --git a/include/rel/d/a/d_a_boomerang/d_a_boomerang.h b/include/rel/d/a/d_a_boomerang/d_a_boomerang.h index e3f802d51b..a8b0541df3 100644 --- a/include/rel/d/a/d_a_boomerang/d_a_boomerang.h +++ b/include/rel/d/a/d_a_boomerang/d_a_boomerang.h @@ -4,9 +4,9 @@ #include "JSystem/J2DGraph/J2DScreen.h" #include "Z2AudioLib/Z2SoundObject.h" #include "d/bg/d_bg_s_acch.h" +#include "d/cc/d_cc_d.h" #include "d/particle/d_particle_copoly.h" -#include "dolphin/types.h" -#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" class daBoomerang_sight_c { public: @@ -20,6 +20,8 @@ public: /* 804A278C */ virtual ~daBoomerang_sight_c(); + u8 getReserve() const { return mReserve; } + private: /* 0x04 */ J2DScreen* field_0x4; /* 0x08 */ J2DPane* field_0x8; @@ -60,7 +62,8 @@ class daAlink_c; class daBoomerang_c : public fopAc_ac_c { public: enum daBoomerang_FLG0 { - /* 0x80 */ WIND_CATCH = 0x80, + /* 0x800 */ FLG0_LOCK_DIST_CANCEL = 0x800, + /* 0x080 */ WIND_CATCH = 0x80, }; /* 8049F280 */ void windModelCallBack(); @@ -91,26 +94,34 @@ public: void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; } void onWindCatch() { onStateFlg0(WIND_CATCH); } bool checkForceDelete() const { return mForceDelete; } + void onForceDelete() { mForceDelete = true; } bool checkCharge() const { return true; } + void setThrow() { fopAcM_SetParam(this, 1); } + void setAimActor(fopAc_ac_c* i_actor) { (this->*mpSetAimActorFn)(i_actor); } + void cancelLockActor(fopAc_ac_c* i_actor) { (this->*mpCancelLockActorFn)(i_actor); } + u8 getLockReserve() const { return mSight.getReserve(); } + bool getLockCntMax() { return mLockCnt >= 5; } + void onLockDistanceCancel() { onStateFlg0(FLG0_LOCK_DIST_CANCEL); } private: - /* 0x568 */ daMirror_c* field_0x568; + /* 0x568 */ J3DModel* field_0x568; /* 0x56C */ J3DModel* field_0x56c; - /* 0x570 */ daAlink_c* field_0x570; - /* 0x574 */ u8 field_0x574[0x1C]; + /* 0x570 */ J3DAnmTextureSRTKey* m_windBtk; + /* 0x574 */ mDoExt_bckAnm field_0x574; /* 0x590 */ J3DModel* field_0x590; - /* 0x594 */ void* field_0x594; + /* 0x594 */ J3DAnmTextureSRTKey* m_waitEffBtk; /* 0x598 */ daBoomerang_sight_c mSight; - /* 0x6A8 */ int field_0x6a8; - /* 0x6AC */ int field_0x6ac[5]; + /* 0x6A8 */ u32 field_0x6a8; + /* 0x6AC */ u32 field_0x6ac[5]; /* 0x6C0 */ fopAc_ac_c* field_0x6c0[5]; - /* 0x6D4 */ u8 field_0x6d4[8]; + /* 0x6D4 */ fopAc_ac_c* field_0x6d4; + /* 0x6D8 */ u8 field_0x6d8[4]; /* 0x6DC */ cXyz field_0x6dc[5]; /* 0x718 */ u8 field_0x718[5]; /* 0x720 */ Z2SoundObjSimple field_0x720; /* 0x740 */ dBgS_Acch field_0x740; /* 0x918 */ dPaPo_c field_0x918; - /* 0x950 */ u8 field_0x950; + /* 0x950 */ u8 mLockCnt; /* 0x951 */ u8 field_0x951; /* 0x952 */ u8 field_0x952; /* 0x953 */ u8 field_0x953; @@ -125,6 +136,22 @@ private: /* 0x960 */ s16 field_0x960; /* 0x962 */ s16 field_0x962; /* 0x964 */ u32 mStateFlg0; -}; + /* 0x968 */ u8 field_0x968[0x990 - 0x968]; + /* 0x990 */ cXyz field_0x990; + /* 0x99C */ cXyz field_0x99c; + /* 0x9A8 */ f32 field_0x9a8; + /* 0x9AC */ cXyz field_0x9ac; + /* 0x9B8 */ cXyz field_0x9b8; + /* 0x9C4 */ cXyz field_0x9c4; + /* 0x9D0 */ dCcD_Stts field_0x9d0; + /* 0xA0C */ dCcD_Cps field_0xa0c; + /* 0xB50 */ dCcD_Cyl field_0xb50; + /* 0xC8C */ dBgS_BoomerangLinChk field_0xc8c; + /* 0xCFC */ dBgS_ObjLinChk field_0xcfc; + /* 0xD6C */ dBgS_ObjGndChk field_0xd6c; + /* 0xDC0 */ int (daBoomerang_c::*mpProcFn)(); + /* 0xDCC */ void (daBoomerang_c::*mpSetAimActorFn)(fopAc_ac_c*); + /* 0xDD8 */ void (daBoomerang_c::*mpCancelLockActorFn)(fopAc_ac_c*); +}; // Size: 0xDE4 #endif /* D_A_BOOMERANG_H */ diff --git a/include/rel/d/a/d_a_canoe/d_a_canoe.h b/include/rel/d/a/d_a_canoe/d_a_canoe.h index e9746a5608..27d6242a58 100644 --- a/include/rel/d/a/d_a_canoe/d_a_canoe.h +++ b/include/rel/d/a/d_a_canoe/d_a_canoe.h @@ -1,6 +1,83 @@ #ifndef D_A_CANOE_H #define D_A_CANOE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/cc/d_cc_d.h" +#include "d/bg/d_bg_s_acch.h" +#include "d/bg/d_bg_s_lin_chk.h" +#include "Z2AudioLib/Z2SoundObject.h" +#include "SSystem/SComponent/c_phase.h" + +class daCanoe_c : public fopAc_ac_c { +public: + /* 804DA5F4 */ void createHeap(); + /* 804DA740 */ void create(); + /* 804DAEA8 */ ~daCanoe_c(); + /* 804DB008 */ void setRoomInfo(); + /* 804DB0B0 */ void setMatrix(); + /* 804DB3F4 */ void setCollision(); + /* 804DB578 */ void posMove(); + /* 804DB754 */ void checkGomikabe(cBgS_PolyInfo&); + /* 804DB7AC */ void setFrontBackPos(); + /* 804DB828 */ void frontBackBgCheck(); + /* 804DC330 */ void setPaddleEffect(); + /* 804DC554 */ void setCanoeSliderEffect(); + /* 804DC7B4 */ void execute(); + /* 804DD35C */ void draw(); + + J3DModel* getModel() { return mpModel; } + MtxP getModelMtx() { return mpModel->getBaseTRMtx(); } + bool checkTandem() { return fopAcM_GetParam(this) == 2; } + bool checkJumpRideFlg() { return mJumpRideFlg; } + void incShapeOffsetY(f32 offset) { mShapeOffsetY += offset; } + void incShapeAngleZ(s16 incZ) { shape_angle.z += incZ; } + + /* 0x0568 */ request_of_phase_process_class mPhaseReq; + /* 0x0570 */ J3DModel* mpModel; + /* 0x0574 */ J3DModel* mpPaddleModel; + /* 0x0578 */ J3DModel* mpMaskModel; + /* 0x057C */ dCcD_Stts field_0x57c; + /* 0x05B8 */ dBgS_AcchCir field_0x5b8[9]; + /* 0x07F8 */ dBgS_LinkAcch field_0x7f8[3]; + /* 0x0D80 */ dCcD_Cyl field_0xd80[5]; + /* 0x13AC */ dBgS_LinkLinChk field_0x13ac; + /* 0x141C */ Z2SoundObjSimple field_0x141c; + /* 0x143C */ char* mResName; + /* 0x1440 */ u8 mPaddleWaterType; + /* 0x1441 */ u8 field_0x1441; + /* 0x1442 */ u8 field_0x1442; + /* 0x1443 */ u8 mJumpRideFlg; + /* 0x1444 */ u8 field_0x1444; + /* 0x1445 */ u8 mReverb; + /* 0x1446 */ u8 field_0x1446[0x1448 - 0x1446]; + /* 0x1448 */ s16 field_0x1448; + /* 0x144A */ u8 field_0x144a[0x144C - 0x144A]; + /* 0x144C */ s16 mAimAngle; + /* 0x144E */ s16 field_0x144e; + /* 0x1450 */ s16 field_0x1450; + /* 0x1452 */ s16 field_0x1452; + /* 0x1454 */ s16 field_0x1454; + /* 0x1456 */ s16 field_0x1456; + /* 0x1458 */ s16 field_0x1458; + /* 0x145A */ s16 field_0x145a; + /* 0x145C */ s16 field_0x145c; + /* 0x145E */ s16 field_0x145e; + /* 0x1460 */ s16 field_0x1460; + /* 0x1464 */ u32 mRodID; + /* 0x1468 */ f32 mAimSpeed; + /* 0x146C */ f32 mShapeOffsetY; + /* 0x1470 */ f32 field_0x1470; + /* 0x1474 */ u32 field_0x1474; + /* 0x1478 */ u8 field_0x1478[0x1480 - 0x1478]; + /* 0x1480 */ u32 field_0x1480; + /* 0x1484 */ u8 field_0x1484[0x1490 - 0x1484]; + /* 0x1490 */ u32 field_0x1490; + /* 0x1494 */ cXyz field_0x1494; + /* 0x14A0 */ cXyz field_0x14a0; + /* 0x14AC */ cXyz field_0x14ac; + /* 0x14B8 */ cXyz field_0x14b8; + /* 0x14C4 */ cXyz field_0x14c4; + /* 0x14D0 */ cXyz field_0x14d0; +}; // Size: 0x14DC #endif /* D_A_CANOE_H */ diff --git a/include/rel/d/a/d_a_crod/d_a_crod.h b/include/rel/d/a/d_a_crod/d_a_crod.h index 38ac7fb48f..bf0e65fb20 100644 --- a/include/rel/d/a/d_a_crod/d_a_crod.h +++ b/include/rel/d/a/d_a_crod/d_a_crod.h @@ -28,15 +28,15 @@ public: NULL); } - fopAc_ac_c* getControllActor() { return mControllActor.getActor(); } + fopAc_ac_c* getControllActor() { return mControllAcKeep.getActor(); } - fopAc_ac_c* getCameraActor() { return mCameraActor.getActor(); } + fopAc_ac_c* getCameraActor() { return mCameraAcKeep.getActor(); } void setThrow() { fopAcM_SetParam(this, 2); } private: /* 0x568 */ J3DModel* field_568; - /* 0x56C */ mDoExt_bckAnm field_0x56c; + /* 0x56C */ mDoExt_bckAnm mBckAnm; /* 0x588 */ J3DAnmTevRegKey* field_0x588; /* 0x58C */ J3DAnmTextureSRTKey* field_0x58c; /* 0x590 */ dCcD_Stts field_0x590; @@ -46,8 +46,8 @@ private: /* 0x731 */ u8 field_0x731; /* 0x732 */ u8 field_0x732; /* 0x734 */ cXyz field_0x734; - /* 0x740 */ daPy_actorKeep_c mControllActor; - /* 0x748 */ daPy_actorKeep_c mCameraActor; + /* 0x740 */ daPy_actorKeep_c mControllAcKeep; + /* 0x748 */ daPy_actorKeep_c mCameraAcKeep; }; // Size: 0x750 #endif /* D_A_CROD_H */ diff --git a/include/rel/d/a/d_a_cstatue/d_a_cstatue.h b/include/rel/d/a/d_a_cstatue/d_a_cstatue.h index 24acf9e1d0..9861393d27 100644 --- a/include/rel/d/a/d_a_cstatue/d_a_cstatue.h +++ b/include/rel/d/a/d_a_cstatue/d_a_cstatue.h @@ -1,6 +1,75 @@ #ifndef D_A_CSTATUE_H #define D_A_CSTATUE_H -#include "dolphin/types.h" +#include "SSystem/SComponent/c_phase.h" +#include "d/bg/d_bg_s_acch.h" +#include "d/cc/d_cc_d.h" +#include "d/particle/d_particle_copoly.h" +#include "f_op/f_op_actor.h" + +class daCstatue_c : public fopAc_ac_c { +public: + /* 806636AC */ void atHitCallback(fopAc_ac_c*); + /* 806636EC */ void createHeap(); + /* 80663D28 */ void create(); + /* 80664840 */ ~daCstatue_c(); + /* 80664AA0 */ void setRoomInfo(); + /* 80664B38 */ void setMatrix(); + /* 80664C9C */ void posMove(); + /* 8066555C */ void setCollision(); + /* 80665E14 */ void checkHammerReverse(); + /* 80665F80 */ void setDemo(); + /* 80666390 */ void setAnime(); + /* 80666B80 */ void initBrk(u16); + /* 80666BF8 */ void initStopBrkBtk(); + /* 80666C38 */ void initStartBrkBtk(); + /* 80666DE8 */ void execute(); + /* 80667438 */ void draw(); + + bool checkNotSmallType() const { return mType == 1; } + + static u8 const m_bckIdxTable[70 + 2 /* padding */]; + + /* 0x568 */ char* mResName; + /* 0x56C */ request_of_phase_process_class mPhaseReq; + /* 0x574 */ J3DModel* field_0x574; + /* 0x578 */ mDoExt_McaMorfSO* field_0x578; + /* 0x57C */ mDoExt_btkAnm field_0x57c; + /* 0x594 */ mDoExt_brkAnm field_0x594; + /* 0x5AC */ dBgS_AcchCir field_0x5ac[4]; + /* 0x6AC */ dBgS_StatueAcch field_0x6ac; + /* 0x884 */ dCcD_Stts field_0x884; + /* 0x8C0 */ dCcD_Cyl field_0x8c0; + /* 0x9FC */ dCcD_Cyl* field_0x9fc; + /* 0xA00 */ dCcD_Cps* field_0xa00; + /* 0xA04 */ dCcD_Cps* field_0xa04; + /* 0xA08 */ dCcD_Sph* field_0xa08; + /* 0xA0C */ mDoExt_invisibleModel field_0xa0c; + /* 0xA14 */ Z2Creature field_0xa14; + /* 0xAA4 */ dPaPo_c field_0xaa4; + /* 0xADC */ u8 mReverb; + /* 0xADD */ u8 mType; + /* 0xADE */ u8 field_0xade; + /* 0xADF */ u8 field_0xadf; + /* 0xAE0 */ u8 field_0xae0; + /* 0xAE1 */ u8 field_0xae1; + /* 0xAE2 */ u8 field_0xae2; + /* 0xAE3 */ u8 field_0xae3; + /* 0xAE4 */ u8 field_0xae4; + /* 0xAE5 */ u8 mBossAtGndHit; + /* 0xAE6 */ u8 field_0xae6[0xAE8 - 0xAE6]; + /* 0xAE8 */ s16 field_0xae8; + /* 0xAEA */ s16 field_0xaea; + /* 0xAEC */ u32 mStateFlg0; + /* 0xAF0 */ u32 field_0xaf0; + /* 0xAF4 */ f32 field_0xaf4; + /* 0xAF8 */ f32 field_0xaf8; + /* 0xAFC */ f32 field_0xafc; + /* 0xB00 */ f32 field_0xb00; + /* 0xB04 */ f32 field_0xb04; + /* 0xB08 */ cXyz field_0xb08; + /* 0xB14 */ cXyz field_0xb14; + /* 0xB20 */ cXyz mBallPos; +}; // Size: 0xB2C #endif /* D_A_CSTATUE_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 b109ebe2f7..76016519a9 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 @@ -51,6 +51,7 @@ public: enum daHorse_FLG0 { /* 0x00000020 */ RODEO_LEFT = 0x20, /* 0x00000040 */ RIDE_START_FLG = 0x40, + /* 0x00000080 */ NO_DRAW_WAIT = 0x80, /* 0x00010000 */ PLAYER_BACK_RIDE_LASH = 0x10000, /* 0x20000000 */ TURN_CANCEL_KEEP = 0x20000000, /* 0x80000000 */ RODEO_MODE = 0x80000000 @@ -158,6 +159,11 @@ public: 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; } void i_setHorsePosAndAngle(cXyz const* i_pos, s16 i_angle) { (this->*mpSetHorsePosAngleFn)(i_pos, i_angle); } + void onRideFlg() { (this->*mpOnRideFlgFn)(); } + void onStateFlg0(daHorse_FLG0 flag) { mStateFlg0 |= flag; } + void offStateFlg0(daHorse_FLG0 flag) { mStateFlg0 &= ~flag; } + void offNoDrawWait() { offStateFlg0(NO_DRAW_WAIT); } + int checkSpecialWallHit(const cXyz& param_0) { return (this->*mpCheckSpecialWallHitFn)(param_0); } bool checkTurnStandCamera() const { return checkResetStateFlg0(TURN_STAND_CAMERA); } bool checkTurnStand() const { return checkResetStateFlg0(TURN_STAND); } @@ -226,13 +232,13 @@ public: /* 0x17C4 */ cXyz mDemoPos0; /* 0x17D0 */ u8 field_0x17d0[0x18A4 - 0x17D0]; /* 0x18A4 */ int (daHorse_c::*mpProcFn)(); - /* 0x18A4 */ int (daHorse_c::*mpCheckSpecialWallHitFn)(const cXyz&); - /* 0x18A4 */ void (daHorse_c::*mpSetReinPosHandFn)(int); - /* 0x18A4 */ void (daHorse_c::*mpSetReinPosNormalFn)(); - /* 0x18A4 */ int (daHorse_c::*mpCallHorseFn)(const cXyz*); - /* 0x18A4 */ int (daHorse_c::*mpSetHorsePosAngleFn)(const cXyz* i_pos, s16 i_angle); - /* 0x18A4 */ void (daHorse_c::*mpOnRideFlgFn)(); - /* 0x18A4 */ void (daHorse_c::*mpOffRideFlgFn)(); + /* 0x18B0 */ int (daHorse_c::*mpCheckSpecialWallHitFn)(const cXyz&); + /* 0x18BC */ void (daHorse_c::*mpSetReinPosHandFn)(int); + /* 0x18C8 */ void (daHorse_c::*mpSetReinPosNormalFn)(); + /* 0x18D4 */ int (daHorse_c::*mpCallHorseFn)(const cXyz*); + /* 0x18E0 */ int (daHorse_c::*mpSetHorsePosAngleFn)(const cXyz* i_pos, s16 i_angle); + /* 0x18EC */ void (daHorse_c::*mpOnRideFlgFn)(); + /* 0x18F8 */ void (daHorse_c::*mpOffRideFlgFn)(); }; #endif /* D_A_HORSE_H */ diff --git a/include/rel/d/a/d_a_mg_rod/d_a_mg_rod.h b/include/rel/d/a/d_a_mg_rod/d_a_mg_rod.h index 24a62675da..4dfe12b7e2 100644 --- a/include/rel/d/a/d_a_mg_rod/d_a_mg_rod.h +++ b/include/rel/d/a/d_a_mg_rod/d_a_mg_rod.h @@ -1,6 +1,74 @@ #ifndef D_A_MG_ROD_H #define D_A_MG_ROD_H -#include "dolphin/types.h" +#include "Z2AudioLib/Z2Creature.h" +#include "d/bg/d_bg_s_acch.h" +#include "d/cc/d_cc_d.h" +#include "d/msg/d_msg_flow.h" +#include "f_op/f_op_actor.h" + +struct mg_rod_s { + /* 0x0 */ cXyz field_0x0[16]; +}; + +struct mg_line_s { + /* 0x0 */ cXyz field_0x0[100]; +}; + +struct mg_hook_s { + /* 0x00 */ cXyz field_0x0[2]; + /* 0x18 */ u8 field_0x18[0x20 - 0x18]; +}; + +class dmg_rod_class : public fopAc_ac_c { +public: + /* 804BAC0C */ dmg_rod_class(); + + f32 getRodStickX() { return mRodStickX; } + f32 getRodStickY() { return mRodStickY; } + bool checkRodEquipPermission() { return field_0x1514 == 0; } + +private: + /* 0x0568 */ u8 field_0x568[0x5A4 - 0x568]; + /* 0x05A4 */ mg_rod_s field_0x5a4; + /* 0x0664 */ u8 field_0x664[0x6AC - 0x664]; + /* 0x06AC */ cXyz field_0x6ac; + /* 0x06B8 */ cXyz field_0x6b8; + /* 0x06C4 */ u8 field_0x6c4[0x6C8 - 0x6C4]; + /* 0x06C8 */ cXyz field_0x6c8; + /* 0x06D4 */ cXyz field_0x6d4; + /* 0x06E0 */ u8 field_0x6e0[0x6EC - 0x6E0]; + /* 0x06EC */ cXyz field_0x6ec; + /* 0x06F8 */ u8 field_0x6f8[0x71C - 0x6F8]; + /* 0x071C */ csXyz field_0x71c[6]; + /* 0x0740 */ u8 field_0x740[0x744 - 0x740]; + /* 0x0744 */ cXyz field_0x744; + /* 0x0750 */ cXyz field_0x750; + /* 0x075C */ u8 field_0x75c[0x764 - 0x75C]; + /* 0x0764 */ cXyz field_0x764; + /* 0x0770 */ mg_line_s field_0x770; + /* 0x0C20 */ u8 field_0xc20[0xFAC - 0xC20]; + /* 0x0FAC */ mg_hook_s field_0xfac[2]; + /* 0x0FEC */ u8 field_0xfec[0x1060 - 0xFEC]; + /* 0x1060 */ cXyz field_0x1060; + /* 0x106C */ cXyz field_0x106c; + /* 0x1078 */ cXyz field_0x1078; + /* 0x1084 */ csXyz field_0x1084; + /* 0x108A */ u8 field_0x108a[0x10B4 - 0x108A]; + /* 0x10B4 */ Z2Creature field_0x10b4; + /* 0x1144 */ u8 field_0x1144[0x1190 - 0x1144]; + /* 0x1190 */ dBgS_AcchCir field_0x1190; + /* 0x11D0 */ dBgS_ObjAcch field_0x11d0; + /* 0x13A8 */ u8 field_0x13a8[0x1474 - 0x13A8]; + /* 0x1474 */ dMsgFlow_c mMsgFlow; + /* 0x14C0 */ u8 field_0x14c0[0x14C8 - 0x14C0]; + /* 0x14C8 */ f32 mRodStickX; + /* 0x14CC */ f32 mRodStickY; + /* 0x14D0 */ u8 field_0x14d0[0x1514 - 0x14D0]; + /* 0x1514 */ u8 field_0x1514; + /* 0x1515 */ u8 field_0x1515[0x1518 - 0x1515]; + /* 0x1518 */ dCcD_Stts field_0x1518; + /* 0x1554 */ dCcD_Sph field_0x1554; +}; #endif /* D_A_MG_ROD_H */ 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 cf94fb234c..dc6e8346d2 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 @@ -15,6 +15,7 @@ public: u32 getSwNo() { return fopAcM_GetParam(this) >> 0x18; } u16 getOffEventBit() { return orig.angle.z & 0xFFF; } u16 getOnEventBit() { return orig.angle.x & 0xFFF; } + u8 getPathID() { return (fopAcM_GetParam(this) >> 0x10) & 0xFF; } void setSceneChangeOK() { mSceneChangeOK = true; } /* 0x568 */ Mtx mMatrix; diff --git a/include/rel/d/a/d_a_skip_2D/d_a_skip_2D.h b/include/rel/d/a/d_a_skip_2D/d_a_skip_2D.h index 9ab71ef5fc..48fe2419d4 100644 --- a/include/rel/d/a/d_a_skip_2D/d_a_skip_2D.h +++ b/include/rel/d/a/d_a_skip_2D/d_a_skip_2D.h @@ -1,6 +1,26 @@ #ifndef D_A_SKIP_2D_H #define D_A_SKIP_2D_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" + +class daSkip2D_c : public fopAc_ac_c { +public: + daSkip2D_c() { + initiate(); + } + + /* 80D4D498 */ int createHeap(); + /* 80D4D4F4 */ int create(); + /* 80D4D588 */ int destroy(); + /* 80D4D590 */ int draw(); + /* 80D4D5D0 */ int execute(); + /* 80D4D5D8 */ void initiate(); + + /* 80D4D674 */ virtual ~daSkip2D_c() {} + + /* 0x56C */ u32 field_0x56c; + /* 0x570 */ dMeterButton_c* mpButton; + /* 0x574 */ u8 field_0x574; +}; // Size: 0x578 #endif /* D_A_SKIP_2D_H */ diff --git a/include/rel/d/a/d_a_spinner/d_a_spinner.h b/include/rel/d/a/d_a_spinner/d_a_spinner.h index 3d70f93a1b..383bfe5b76 100644 --- a/include/rel/d/a/d_a_spinner/d_a_spinner.h +++ b/include/rel/d/a/d_a_spinner/d_a_spinner.h @@ -36,6 +36,7 @@ public: bool checkSpinnerTagEnd() const { return mSpinnerTag == 5; } bool checkSpinnerTagIntoIncRot() const { return mSpinnerTag == 4; } bool checkSpinnerTagInto() const { return mSpinnerTag == 3; } + bool checkGroundHit() { return mAcch.ChkGroundHit(); } u8 getButtonJump() const { return mButtonJump; } u8 getJumpFlg() const { return mJumpFlg; } diff --git a/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h b/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h index 91ab7cd78d..fbefe37b54 100644 --- a/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h +++ b/include/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h @@ -1,6 +1,20 @@ #ifndef D_A_TAG_HINIT_H #define D_A_TAG_HINIT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class daTagHinit_c : public fopAc_ac_c { +public: + /* 805A3758 */ int create(); + /* 805A3820 */ ~daTagHinit_c(); + /* 805A389C */ int execute(); + + /* 0x568 */ u8 field_0x568; + /* 0x569 */ u8 field_0x569; + /* 0x56A */ u8 field_0x56a; + /* 0x56B */ u8 field_0x56b; + /* 0x56C */ u16 field_0x56c; + /* 0x56E */ u16 field_0x56e; +}; #endif /* D_A_TAG_HINIT_H */ diff --git a/include/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h b/include/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h index 4b3d375c2c..616380f04b 100644 --- a/include/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h +++ b/include/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h @@ -1,6 +1,21 @@ #ifndef D_A_TAG_SETRESTART_H #define D_A_TAG_SETRESTART_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTagRestart_c : public fopAc_ac_c { +public: + /* 80D603F8 */ int Create(); + /* 80D6048C */ int create(); + /* 80D60560 */ int execute(); + /* 80D60744 */ int _delete(); + + /* 0x568 */ s8 mPlayerRoomNo; + /* 0x56C */ cXyz field_0x56c[4]; +}; + +namespace daTagRestart_prm { + inline u8 getFRoomNo(daTagRestart_c* i_tag) { return fopAcM_GetParam(i_tag); } +}; #endif /* D_A_TAG_SETRESTART_H */ diff --git a/include/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h b/include/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h index 4652f9a4ab..83937c34b0 100644 --- a/include/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h +++ b/include/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h @@ -1,6 +1,24 @@ #ifndef D_A_TAG_WARA_HOWL_H #define D_A_TAG_WARA_HOWL_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daTagWrHowl_c : public fopAc_ac_c { +public: + /* 80D63F38 */ daTagWrHowl_c(); + /* 80D63FD4 */ int create(); + /* 80D6402C */ int Delete(); + /* 80D64034 */ int draw(); + /* 80D6403C */ int execute(); + /* 80D64090 */ void init(); + /* 80D640B4 */ bool chkWlfInTag(); + + /* 80D63F74 */ virtual ~daTagWrHowl_c(); + + u8 getTuneId() { return fopAcM_GetParamBit(this, 4, 4); } + + /* 0x56C */ f32 field_0x56c; + /* 0x570 */ f32 field_0x570; +}; #endif /* D_A_TAG_WARA_HOWL_H */ diff --git a/libs/JSystem/J2DGraph/J2DMatBlock.cpp b/libs/JSystem/J2DGraph/J2DMatBlock.cpp index 8585bfcd17..1268d8e9ab 100644 --- a/libs/JSystem/J2DGraph/J2DMatBlock.cpp +++ b/libs/JSystem/J2DGraph/J2DMatBlock.cpp @@ -995,17 +995,17 @@ void J2DTevBlock1::setGX() { for (int i = 0; i < 4; i++) { GXColorS10 color = mTevColor[i]; - GXTevRegID id; + int id; if (i == 3) { id = 0; } else { id = i + 1; } - GXSetTevColorS10(id, color); + GXSetTevColorS10((GXTevRegID)id, color); } GXSetNumTevStages(1); - GXSetTevColorIn(GX_TEVSTAGE0, ) + } #else #pragma push diff --git a/libs/JSystem/J2DGraph/J2DPicture.cpp b/libs/JSystem/J2DGraph/J2DPicture.cpp index b74dba0716..3e3a0ec79b 100644 --- a/libs/JSystem/J2DGraph/J2DPicture.cpp +++ b/libs/JSystem/J2DGraph/J2DPicture.cpp @@ -251,7 +251,7 @@ SECTION_DATA extern void* __vt__10J2DPicture[83 + 1 /* padding */] = { /* 802FC050-802FC118 2F6990 00C8+00 0/0 2/2 0/0 .text __ct__10J2DPictureFv */ #ifdef NONMATCHING J2DPicture::J2DPicture() - : field_0x10a(), field_0x12c(NULL), mWhite(), mBlack(), mCornerColor(), field_0x148(), + : field_0x10a(), mPalette(NULL), mWhite(), mBlack(), mCornerColor(), field_0x148(), field_0x14c() { for (int i = 0; i < 2; i++) { mTexture[i] = NULL; @@ -276,7 +276,7 @@ asm J2DPicture::J2DPicture() { * __ct__10J2DPictureFP7J2DPaneP20JSURandomInputStreamP10JKRArchive */ #ifdef NONMATCHING J2DPicture::J2DPicture(J2DPane* p_pane, JSURandomInputStream* p_stream, JKRArchive* p_archive) - : field_0x10a(), field_0x12c(NULL), mWhite(), mBlack(), mCornerColor(), field_0x148(), + : field_0x10a(), mPalette(NULL), mWhite(), mBlack(), mCornerColor(), field_0x148(), field_0x14c() { private_readStream(p_pane, p_stream, p_archive); } diff --git a/libs/JSystem/J2DGraph/J2DScreen.cpp b/libs/JSystem/J2DGraph/J2DScreen.cpp index bb60ce1778..d4aeeaa12b 100644 --- a/libs/JSystem/J2DGraph/J2DScreen.cpp +++ b/libs/JSystem/J2DGraph/J2DScreen.cpp @@ -468,10 +468,10 @@ SECTION_SDATA2 static f32 lit_1830 = 1.0f; // matches with literals #ifdef NONMATCHING void J2DScreen::draw(f32 x, f32 y, J2DGrafContext const* grafCtx) { - u32 x, y, width, height; + u32 l_x, l_y, width, height; if (mScissor) { - GXGetScissor(&x, &y, &width, &height); + GXGetScissor(&l_x, &l_y, &width, &height); } if (grafCtx != NULL) { @@ -483,7 +483,7 @@ void J2DScreen::draw(f32 x, f32 y, J2DGrafContext const* grafCtx) { } if (mScissor) { - GXSetScissor(x, y, width, height); + GXSetScissor(l_x, l_y, width, height); } GXSetNumIndStages(0); diff --git a/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp b/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp index 19bf206bbc..5a22db2d78 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp @@ -116,27 +116,15 @@ SECTION_SDATA2 static u8 lit_853[4] = { }; /* 803283FC-8032842C 322D3C 0030+00 0/0 25/25 285/285 .text init__12J3DFrameCtrlFs */ -// zero-initialized literal -#ifdef NONMATCHING -void J3DFrameCtrl::init(s16 pEnd) { +void J3DFrameCtrl::init(s16 i_end) { mAttribute = 2; - mState = false; + mState = 0; mStart = 0; - mEnd = pEnd; + mEnd = i_end; mLoop = 0; - mRate = 1.0f; - mFrame = 0.0f; + mRate = lit_852; + mFrame = FLOAT_LABEL(lit_853); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DFrameCtrl::init(s16 param_0) { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/init__12J3DFrameCtrlFs.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80456438-80456440 004A38 0004+04 2/2 0/0 0/0 .sdata2 @973 */ @@ -151,14 +139,135 @@ SECTION_SDATA2 static f64 lit_975 = 4503601774854144.0 /* cast s32 to float */; /* 8032842C-803289CC 322D6C 05A0+00 0/0 92/92 382/382 .text checkPass__12J3DFrameCtrlFf */ +// matches with literals +#ifdef NONMATCHING +int J3DFrameCtrl::checkPass(f32 pass_frame) { + f32 cur_frame = mFrame; + f32 next_frame = cur_frame + mRate; + + switch (mAttribute) { + case 0: + case 1: + if (next_frame < mStart) { + next_frame = mStart; + } + + if (next_frame >= mEnd) { + next_frame = mEnd - 0.001f; + } + + if (cur_frame <= next_frame) { + if (cur_frame <= pass_frame && pass_frame < next_frame) { + return true; + } else { + return false; + } + } + + if (next_frame <= pass_frame && pass_frame < cur_frame) { + return true; + } + return false; + case 2: + if (cur_frame < mStart) { + while (next_frame < mStart) { + if (mLoop - mStart <= 0.0f) { + break; + } + next_frame += mLoop - mStart; + } + + if (next_frame <= pass_frame && pass_frame < mLoop) { + return true; + } else { + return false; + } + } else if (mEnd <= cur_frame) { + while (next_frame >= mEnd) { + if (mEnd - mLoop <= 0.0f) { + break; + } + next_frame -= mEnd - mLoop; + } + + if (mLoop <= pass_frame && pass_frame < next_frame) { + return true; + } else { + return false; + } + } else if (next_frame < mStart) { + while (next_frame < mStart) { + if (mLoop - mStart <= 0.0f) { + break; + } + next_frame += mLoop - mStart; + } + + if ((mStart <= pass_frame && pass_frame < cur_frame) || (next_frame <= pass_frame && pass_frame < mLoop)) { + return true; + } else { + return false; + } + } else if (mEnd <= next_frame) { + while (next_frame >= mEnd) { + if (mEnd - mLoop <= 0.0f) { + break; + } + + next_frame -= mEnd - mLoop; + } + + if ((cur_frame <= pass_frame && pass_frame < mEnd) || (mLoop <= pass_frame && pass_frame < next_frame)) { + return true; + } else { + return false; + } + } else if (cur_frame <= next_frame) { + if (cur_frame <= pass_frame && pass_frame < next_frame) { + return true; + } else { + return false; + } + } else if (next_frame <= pass_frame && pass_frame < cur_frame) { + return true; + } + return false; + case 3: + case 4: + if (next_frame >= mEnd) { + next_frame = mEnd - 0.001f; + } + + if (next_frame < mStart) { + next_frame = mStart; + } + + if (cur_frame <= next_frame) { + if (cur_frame <= pass_frame && pass_frame < next_frame) { + return true; + } else { + return false; + } + } + + if (next_frame <= pass_frame && pass_frame < cur_frame) { + return true; + } + return false; + default: + return false; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm int J3DFrameCtrl::checkPass(f32 param_0) { +asm int J3DFrameCtrl::checkPass(f32 pass_frame) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DAnimation/checkPass__12J3DFrameCtrlFf.s" } #pragma pop +#endif /* 803289CC-80328E40 32330C 0474+00 0/0 3/3 0/0 .text update__12J3DFrameCtrlFv */ #pragma push @@ -171,6 +280,19 @@ asm void J3DFrameCtrl::update() { #pragma pop /* 80328E40-80328E90 323780 0050+00 0/0 3/3 0/0 .text __ct__15J3DAnmTransformFsPfPsPf */ +// matches with literals +#ifdef NONMATCHING +J3DAnmTransform::J3DAnmTransform(s16 param_0, f32* param_1, s16* param_2, f32* param_3) + : J3DAnmBase(param_0) { + field_0xc = param_1; + field_0x10 = param_2; + field_0x14 = param_3; + field_0x18 = 0; + field_0x1a = 0; + field_0x1c = 0; + field_0x1e = 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -179,6 +301,7 @@ asm J3DAnmTransform::J3DAnmTransform(s16 param_0, f32* param_1, s16* param_2, f3 #include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__15J3DAnmTransformFsPfPsPf.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80456448-80456450 004A48 0004+04 4/4 0/0 0/0 .sdata2 @1092 */ @@ -359,7 +482,7 @@ asm void J3DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DAnmClusterFull::getWeight(u16 param_0) const { +asm f32 J3DAnmClusterFull::getWeight(u16 param_0) const { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__17J3DAnmClusterFullCFUs.s" } @@ -370,7 +493,7 @@ asm void J3DAnmClusterFull::getWeight(u16 param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J3DAnmClusterKey::getWeight(u16 param_0) const { +asm f32 J3DAnmClusterKey::getWeight(u16 param_0) const { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__16J3DAnmClusterKeyCFUs.s" } @@ -818,14 +941,9 @@ s32 J3DAnmCluster::getKind() const { } /* 8032C11C-8032C124 326A5C 0008+00 1/0 0/0 0/0 .text getWeight__13J3DAnmClusterCFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DAnmCluster::getWeight(u16 param_0) const { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/getWeight__13J3DAnmClusterCFUs.s" +f32 J3DAnmCluster::getWeight(u16 param_0) const { + return lit_852; } -#pragma pop /* 8032C124-8032C190 326A64 006C+00 1/0 0/0 0/0 .text __dt__17J3DAnmClusterFullFv */ #pragma push diff --git a/libs/JSystem/J3DGraphAnimator/J3DJoint.cpp b/libs/JSystem/J3DGraphAnimator/J3DJoint.cpp index 6f1e6b2fd2..fb10d64833 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DJoint.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DJoint.cpp @@ -233,7 +233,7 @@ J3DJoint::J3DJoint() { mChild = NULL; mYounger = NULL; mJntNo = 0; - mMtxType = 1; + mKind = 1; mScaleCompensate = false; mTransformInfo = j3dDefaultTransformInfo; mBoundingSphereRadius = 0.0f; diff --git a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp index f7332ea6bf..9aa446515e 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp @@ -93,8 +93,8 @@ J3DMaterialTable::~J3DMaterialTable() {} /* 8032F64C-8032F6F8 329F8C 00AC+00 0/0 1/1 5/5 .text * removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor */ #ifdef NONMATCHING -bool J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* pAnmColor) { - bool ret = false; +int J3DMaterialTable::removeMatColorAnimator(J3DAnmColor* pAnmColor) { + int ret = false; u16 updateMatNum = pAnmColor->getUpdateMaterialNum(); for (u16 i = 0; i < updateMatNum; i++) { if (pAnmColor->isValidUpdateMaterialID(i)) { diff --git a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp index c70594f53c..80f312c381 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -585,7 +585,7 @@ void J3DModel::prepareShapePackets() { if (getMtxCalcMode() == 2) { pkt->setBaseMtxPtr(&mInternalView); } else { - pkt->setBaseMtxPtr(j3dSys.getViewMtx()); + pkt->setBaseMtxPtr(&j3dSys.mViewMtx); } } } diff --git a/libs/JSystem/JAudio2/JAISound.cpp b/libs/JSystem/JAudio2/JAISound.cpp index 22a65961dd..2f943947c1 100644 --- a/libs/JSystem/JAudio2/JAISound.cpp +++ b/libs/JSystem/JAudio2/JAISound.cpp @@ -168,7 +168,7 @@ void JAISound::start_JAISound_(JAISoundID param_0, JGeometry::TVec3 const* params.init(); fader.forceIn(); audience_ = param_2; - num_prepare_steps = 0; + prepareCount = 0; mCount = 0; if (param_1 == NULL || audience_ == NULL) { diff --git a/libs/JSystem/JFramework/JFWDisplay.cpp b/libs/JSystem/JFramework/JFWDisplay.cpp index 2ee0175cba..7134e6cf23 100644 --- a/libs/JSystem/JFramework/JFWDisplay.cpp +++ b/libs/JSystem/JFramework/JFWDisplay.cpp @@ -480,12 +480,10 @@ void JFWDisplay::waitBlanking(int param_0) { } } +#ifdef NONMATCHING /* ############################################################################################## */ /* 804511D0-804511D4 0006D0 0004+00 1/1 0/0 0/0 .sbss nextTick$2642 */ -static u8 nextTick[4] ALIGN_DECL(8); - -/* 804511D4-804511D8 0006D4 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_804511D4[4]; +static OSTime nextTick ALIGN_DECL(8); /* 804511D8-804511DC 0006D8 0004+00 1/1 0/0 0/0 .sbss None */ static s8 data_804511D8; @@ -497,7 +495,6 @@ static u32 nextCount; static s8 data_804511E0; /* 80272CB0-80272DD0 26D5F0 0120+00 2/2 0/0 0/0 .text waitForTick__FUlUs */ -#ifdef NONMATCHING static void waitForTick(u32 param_0, u16 param_1) { if (param_0 != 0) { if (!data_804511D8) { @@ -531,6 +528,22 @@ static void waitForTick(u32 param_0, u16 param_1) { } } #else +/* ############################################################################################## */ +/* 804511D0-804511D4 0006D0 0004+00 1/1 0/0 0/0 .sbss nextTick$2642 */ +static u8 nextTick[4] ALIGN_DECL(8); + +/* 804511D4-804511D8 0006D4 0004+00 1/1 0/0 0/0 .sbss None */ +static u8 data_804511D4[4]; + +/* 804511D8-804511DC 0006D8 0004+00 1/1 0/0 0/0 .sbss None */ +static s8 data_804511D8; + +/* 804511DC-804511E0 0006DC 0004+00 1/1 0/0 0/0 .sbss nextCount$2650 */ +static u32 nextCount; + +/* 804511E0-804511E8 0006E0 0008+00 1/1 0/0 0/0 .sbss None */ +static s8 data_804511E0; + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off diff --git a/libs/JSystem/JFramework/JFWSystem.cpp b/libs/JSystem/JFramework/JFWSystem.cpp index 329a6f2356..48efb937be 100644 --- a/libs/JSystem/JFramework/JFWSystem.cpp +++ b/libs/JSystem/JFramework/JFWSystem.cpp @@ -161,7 +161,7 @@ void JFWSystem::init() { if (rootHeap == NULL) { firstInit(); } - sInitCalled = true; + data_804511BC = true; JKRAram::create(CSetUpParam::aramAudioBufSize, CSetUpParam::aramGraphBufSize, CSetUpParam::streamPriority, CSetUpParam::decompPriority, diff --git a/libs/JSystem/JGadget/linklist.cpp b/libs/JSystem/JGadget/linklist.cpp index 513b9f3522..2a45b63615 100644 --- a/libs/JSystem/JGadget/linklist.cpp +++ b/libs/JSystem/JGadget/linklist.cpp @@ -89,20 +89,6 @@ JGadget::TNodeLinkList::iterator JGadget::TNodeLinkList::erase(iterator start, i /* 802DCB08-802DCBA8 2D7448 00A0+00 1/1 0/0 0/0 .text * splice__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorRQ27JGadget13TNodeLinkListQ37JGadget13TNodeLinkList8iterator */ -#ifdef NONMATCHING -void JGadget::TNodeLinkList::splice(iterator myIt, TNodeLinkList& otherList, iterator otherIt) { - TLinkListNode* otherNode = otherIt; - TLinkListNode* otherNextNode = otherNode->mNext; - - if (myIt == otherIt) { - return; - } - if (myIt.node != otherNextNode) { - otherList.Erase(otherNode); - Insert(myIt, otherNode); - } -} -#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -113,7 +99,6 @@ asm void JGadget::TNodeLinkList::splice(JGadget::TNodeLinkList::iterator param_0 #include "asm/JSystem/JGadget/linklist/func_802DCB08.s" } #pragma pop -#endif /* 802DCBA8-802DCBD4 2D74E8 002C+00 1/1 7/7 0/0 .text * Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode */ diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp index fad1d82be9..119155979c 100644 --- a/libs/JSystem/JKernel/JKRAram.cpp +++ b/libs/JSystem/JKernel/JKRAram.cpp @@ -10,6 +10,7 @@ #include "JSystem/JKernel/JKRAramStream.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JUtility/JUTException.h" +#include "MSL_C/string.h" #include "dol2asm.h" #include "dolphin/ar/ar.h" #include "global.h" @@ -28,7 +29,9 @@ extern "C" void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl( extern "C" void aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl(); extern "C" static void JKRDecompressFromAramToMainRam__FUlPvUlUlUlPUl(); extern "C" static void decompSZS_subroutine__FPUcPUc(); +static int decompSZS_subroutine(u8* param_0, u8* param_1); extern "C" static void firstSrcData__Fv(); +static u8* firstSrcData(void); extern "C" static void nextSrcData__FPUc(); extern "C" void __sinit_JKRAram_cpp(); extern "C" void func_802D2DF0(void* _this); @@ -43,7 +46,6 @@ extern "C" u8 sAramObject__7JKRAram[4]; // External References: // -SECTION_INIT void memcpy(); extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); extern "C" void alloc__7JKRHeapFUli(); extern "C" void free__7JKRHeapFPvP7JKRHeap(); @@ -281,7 +283,7 @@ static u32 readCount; static u32 maxDest; /* 804513FC-80451400 0008FC 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_804513FC[4]; +static bool data_804513FC; /* 80451400-80451404 000900 0004+00 2/2 0/0 0/0 .sbss tsPtr */ static u32* tsPtr; @@ -297,8 +299,7 @@ static u32 tsArea; // doesn't use r13 void JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLength, u32 offset, u32* resourceSize) { -#define s_is_decompress_mutex_initialized lbl_804513FC -#define decompMutex lbl_804343C0 +#define s_is_decompress_mutex_initialized data_804513FC // STATIC BEGIN // This code is probably generated by the compiler for a static variable @@ -311,7 +312,7 @@ void JKRDecompressFromAramToMainRam(u32 src, void* dst, u32 srcLength, u32 dstLe // STATIC END OSLockMutex(&decompMutex); - u32 szpSize = getSZSBufferSize(); + u32 szpSize = JKRAram::getSZSBufferSize(); szpBuf = (u8*)JKRAllocFromSysHeap(szpSize, 0x20); ASSERT(szpBuf != 0); szpEnd = szpBuf + szpSize; @@ -431,7 +432,7 @@ static u8* nextSrcData(u8* current) { transLeft -= transSize; if (transLeft == 0) { - srcLimit = (u32)(dest + left) + transSize; + srcLimit = (dest + left) + transSize; } return dest; diff --git a/libs/JSystem/JKernel/JKRAramHeap.cpp b/libs/JSystem/JKernel/JKRAramHeap.cpp index a3d800e690..0e04176dc3 100644 --- a/libs/JSystem/JKernel/JKRAramHeap.cpp +++ b/libs/JSystem/JKernel/JKRAramHeap.cpp @@ -78,7 +78,7 @@ JKRAramHeap::JKRAramHeap(u32 startAddress, u32 size) { // close match, regalloc problem in the beginning of the while loop #ifdef NONMATCHING JKRAramHeap::~JKRAramHeap() { - JSUList* list = &lbl_8043430C; + JSUList* list = &sAramList; JSUListIterator iterator = list; while (iterator != list->getEnd()) { diff --git a/libs/JSystem/JKernel/JKRAramStream.cpp b/libs/JSystem/JKernel/JKRAramStream.cpp index 7f770f9f0a..90b754a50f 100644 --- a/libs/JSystem/JKernel/JKRAramStream.cpp +++ b/libs/JSystem/JKernel/JKRAramStream.cpp @@ -7,6 +7,8 @@ #include "JSystem/JKernel/JKRAramPiece.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JSupport/JSUFileStream.h" +#include "JSystem/JSupport/JSURandomInputStream.h" +#include "JSystem/JUtility/JUTException.h" #include "dol2asm.h" #include "global.h" @@ -125,10 +127,10 @@ s32 JKRAramStream::readFromAram(void) { #ifdef NONMATCHING s32 JKRAramStream::writeToAram(JKRAramStreamCommand* command) { u32 size; - u32 dstSize = command->mDstLength; + u32 dstSize = command->mSize; u32 offset = command->mOffset; u32 writtenLength = 0; - u32 destination = command->mDst; + u32 destination = command->mAddress; u8* buffer = command->mTransferBuffer; u32 bufferSize = command->mTransferBufferSize; JKRHeap* heap = command->mHeap; @@ -167,13 +169,11 @@ s32 JKRAramStream::writeToAram(JKRAramStreamCommand* command) { heap->dump(); } - panic_f__12JUTExceptionFPCciPCce("JKRAramStream.cpp", 0xac, "%s", - ":::Cannot alloc memory\n"); + JUTException::panic_f("JKRAramStream.cpp", 0xac, "%s", ":::Cannot alloc memory\n"); } if (buffer) { - seek__20JSURandomInputStreamFl17JSUStreamSeekFrom((JSURandomInputStream*)command->mStream, - offset, 0); + ((JSURandomInputStream*)command->mStream)->seek(offset, JSUStreamSeekFrom_SET); while (dstSize != 0) { u32 length; if (dstSize > size) { @@ -182,8 +182,7 @@ s32 JKRAramStream::writeToAram(JKRAramStreamCommand* command) { length = dstSize; } - s32 readLength = - read__14JSUInputStreamFPvl((JSUInputStream*)command->mStream, buffer, length); + s32 readLength = ((JSURandomInputStream*)command->mStream)->read(buffer, length); if (readLength == 0) { writtenLength = 0; break; diff --git a/libs/JSystem/JKernel/JKRDecomp.cpp b/libs/JSystem/JKernel/JKRDecomp.cpp index 1ea61165ed..f1f2a1799b 100644 --- a/libs/JSystem/JKernel/JKRDecomp.cpp +++ b/libs/JSystem/JKernel/JKRDecomp.cpp @@ -6,6 +6,7 @@ #include "JSystem/JKernel/JKRDecomp.h" #include "JSystem/JKernel/JKRAramPiece.h" #include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JKernel/JKRArchive.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/JSystem/JKernel/JKRDvdArchive.cpp b/libs/JSystem/JKernel/JKRDvdArchive.cpp index 1e2ee8eb91..70597f9992 100644 --- a/libs/JSystem/JKernel/JKRDvdArchive.cpp +++ b/libs/JSystem/JKernel/JKRDvdArchive.cpp @@ -8,6 +8,8 @@ #include "JSystem/JKernel/JKRDvdRipper.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "JSystem/JUtility/JUTException.h" +#include "MSL_C/math.h" +#include "MSL_C/string.h" #include "dol2asm.h" #include "global.h" @@ -29,7 +31,6 @@ extern "C" extern char const* const JKRDvdArchive__stringBase0; // External References: // -SECTION_INIT void memset(); extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); extern "C" void alloc__7JKRHeapFUli(); extern "C" void free__7JKRHeapFPvP7JKRHeap(); @@ -70,7 +71,6 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); extern "C" u8 sVolumeList__13JKRFileLoader[12]; extern "C" u8 sSystemHeap__7JKRHeap[4]; diff --git a/libs/JSystem/JKernel/JKRFileCache.cpp b/libs/JSystem/JKernel/JKRFileCache.cpp index 33f231947c..e480f0bc2c 100644 --- a/libs/JSystem/JKernel/JKRFileCache.cpp +++ b/libs/JSystem/JKernel/JKRFileCache.cpp @@ -319,7 +319,7 @@ void JKRFileCache::removeResourceAll(void) { iterator = mCacheBlockList.getFirst(); while (iterator != mCacheBlockList.getEnd()) { JKRFreeToHeap(mParentHeap, iterator->mMemoryPtr); - mCacheBlockList.remove(&iterator->mLink); + mCacheBlockList.remove(iterator.mLink); JSUListIterator next = iterator++; CCacheBlock* cacheBlock = next.getObject(); delete cacheBlock; diff --git a/libs/JSystem/JKernel/JKRFileLoader.cpp b/libs/JSystem/JKernel/JKRFileLoader.cpp index 88e153fef8..7570bec016 100644 --- a/libs/JSystem/JKernel/JKRFileLoader.cpp +++ b/libs/JSystem/JKernel/JKRFileLoader.cpp @@ -177,17 +177,7 @@ SECTION_DEAD static char const* const pad_8039D152 = "\0\0\0\0\0"; #pragma pop /* 804508C0-804508C8 000340 0002+06 1/1 0/0 0/0 .sdata rootPath$2498 */ -SECTION_SDATA static u8 rootPath[2 + 6 /* padding */] = { - 0x2F, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA static char rootPath[2] = "/"; /* 802D44C4-802D45A0 2CEE04 00DC+00 1/1 0/0 0/0 .text fetchVolumeName__13JKRFileLoaderFPclPCc */ // matches, but lbl_804508C0 is accessed through r13 @@ -198,9 +188,9 @@ const char* JKRFileLoader::fetchVolumeName(char* buffer, long bufferSize, const // lbl_804508C0 = JKernel::rootPath$2498 "/" // lbl_803D2D18 = MSL_C::__lower_map - if (strcmp(path, lbl_8039D150) == 0) { - strcpy(buffer, lbl_804508C0); - return lbl_804508C0; + if (strcmp(path, "/") == 0) { + strcpy(buffer, rootPath); + return rootPath; } path++; @@ -211,7 +201,7 @@ const char* JKRFileLoader::fetchVolumeName(char* buffer, long bufferSize, const if (ch == -1) { lower_char = -1; } else { - lower_char = lbl_803D2D18[ch & 0xFF]; + lower_char = __lower_map[ch & 0xFF]; } *buffer = lower_char; @@ -223,7 +213,7 @@ const char* JKRFileLoader::fetchVolumeName(char* buffer, long bufferSize, const *buffer = '\0'; if (*path == '\0') { - path = lbl_804508C0; + path = rootPath; } return path; diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 09ee11deeb..1087bc1eda 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -359,7 +359,7 @@ s32 JKRHeap::changeGroupID(u8 param_1) { */ // "not/nor" instruction in the wrong place #ifdef NONMATCHING -s32 JKRHeap::getMaxAllocatableSize(int alignment) { +u32 JKRHeap::getMaxAllocatableSize(int alignment) { u32 maxFreeBlock = (u32)getMaxFreeBlock(); s32 freeSize = getFreeSize(); diff --git a/libs/JSystem/JKernel/JKRMemArchive.cpp b/libs/JSystem/JKernel/JKRMemArchive.cpp index 5f53043543..4d834d4dba 100644 --- a/libs/JSystem/JKernel/JKRMemArchive.cpp +++ b/libs/JSystem/JKernel/JKRMemArchive.cpp @@ -206,10 +206,10 @@ bool JKRMemArchive::open(long entryNum, JKRArchive::EMountDirection mountDirecti mIsOpen = false; mMountDirection = mountDirection; - if (mMountDirection == JKRArchive::HEAD) { + if (mMountDirection == JKRArchive::MOUNT_DIRECTION_HEAD) { u32 loadedSize; mArcHeader = (SArcHeader*)JKRDvdRipper::loadToMainRAM( - entryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, mHeap, JKRDvdRipper::FORWARD, 0, + entryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, mHeap, JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, &loadedSize); if (mArcHeader) { DCInvalidateRange(mArcHeader, loadedSize); @@ -217,7 +217,7 @@ bool JKRMemArchive::open(long entryNum, JKRArchive::EMountDirection mountDirecti } else { u32 loadedSize; mArcHeader = (SArcHeader*)JKRDvdRipper::loadToMainRAM( - entryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, mHeap, JKRDvdRipper::BACKWARD, 0, + entryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, mHeap, JKRDvdRipper::ALLOC_DIRECTION_BACKWARD, 0, &mCompression, &loadedSize); if (mArcHeader) { DCInvalidateRange(mArcHeader, loadedSize); @@ -269,7 +269,7 @@ bool JKRMemArchive::open(void* buffer, u32 bufferSize, JKRMemBreakFlag flag) { (u8*)(mArcHeader->file_data_offset + mArcHeader->header_length + (u32)mArcHeader); mIsOpen = (flag == JKRMEMBREAK_FLAG_UNKNOWN1); mHeap = JKRHeap::findFromRoot(buffer); - mCompression = JKRDecomp::NONE; + mCompression = COMPRESSION_NONE; return true; } #else diff --git a/libs/JSystem/JKernel/JKRSolidHeap.cpp b/libs/JSystem/JKernel/JKRSolidHeap.cpp index 79d79d5f6b..ab4185671a 100644 --- a/libs/JSystem/JKernel/JKRSolidHeap.cpp +++ b/libs/JSystem/JKernel/JKRSolidHeap.cpp @@ -323,7 +323,7 @@ void JKRSolidHeap::state_register(JKRHeap::TState* p, u32 id) const { getState_(p); setState_u32ID_(p, id); - setState_uUsedSize_(p, getUsedSize()); + setState_uUsedSize_(p, getUsedSize((JKRSolidHeap*)this)); setState_u32CheckCode_(p, (u32)mSolidHead + (u32)mSolidTail * 3); } #else diff --git a/libs/JSystem/JParticle/JPAMath.cpp b/libs/JSystem/JParticle/JPAMath.cpp index d0a4f911ae..36e6211995 100644 --- a/libs/JSystem/JParticle/JPAMath.cpp +++ b/libs/JSystem/JParticle/JPAMath.cpp @@ -15,13 +15,6 @@ struct JMath { static u8 sincosTable_[65536]; }; -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - // // Forward References: // diff --git a/libs/JSystem/JStudio/JStudio/functionvalue.cpp b/libs/JSystem/JStudio/JStudio/functionvalue.cpp index a79c09925d..9cd2828c9b 100644 --- a/libs/JSystem/JStudio/JStudio/functionvalue.cpp +++ b/libs/JSystem/JStudio/JStudio/functionvalue.cpp @@ -365,10 +365,10 @@ f64 interpolateValue_hermite(f64 c0, f64 c1, f64 x, f64 c2, f64 x2, f64 c3, f64 f64 b; a = c0 - c1; - b = a * (lbl_80455408 / (x2 - c1)); // (a - b) * 1.0 / (c - d) - c = b - lbl_80455408; // 1.0 - d = (lbl_80455410 + lbl_80455418 * b) * (b * b); // 3.0 - 2.0 * b - return (a * b * c * x3) + ((lbl_80455408 - d) * x + (d * c3)) + (a * (c * c) * c2); + b = a * (1.0 / (x2 - c1)); // (a - b) * 1.0 / (c - d) + c = b - 1.0; // 1.0 + d = (3.0 + -2.0 * b) * (b * b); // 3.0 - 2.0 * b + return (a * b * c * x3) + ((1.0 - d) * x + (d * c3)) + (a * (c * c) * c2); } #else /* 80281710-80281774 27C050 0064+00 4/4 0/0 0/0 .text @@ -387,15 +387,15 @@ asm f64 interpolateValue_hermite(f64 param_0, f64 param_1, f64 param_2, f64 para #ifdef NONMATCHING // really minor regalloc f64 interpolateValue_BSpline_uniform(f64 f1, f64 f2, f64 f3, f64 f4, f64 f5) { // pow3(1.0 - f1) - f64 f6 = (lbl_80455408 - f1); + f64 f6 = (1.0 - f1); f64 temp = f6; temp *= f6 * f6; f64 f0 = f1 * f1; f64 f8 = f0 * f1; - return ((lbl_80455420 * f8 - f0) + lbl_80455430) * f3 + (temp * f2 + f8 * f5) * lbl_80455428 + - f4 * (lbl_80455428 + lbl_80455420 * ((f1 + f0) - f8)); + return ((lit_799 * f8 - f0) + lit_801) * f3 + (temp * f2 + f8 * f5) * 0.5 + + f4 * (0.5 + lit_799 * ((f1 + f0) - f8)); } #else /* 80281774-802817D8 27C0B4 0064+00 1/1 0/0 0/0 .text diff --git a/libs/JSystem/JStudio/JStudio/fvb.cpp b/libs/JSystem/JStudio/JStudio/fvb.cpp index f822d7cd09..c7c256244f 100644 --- a/libs/JSystem/JStudio/JStudio/fvb.cpp +++ b/libs/JSystem/JStudio/JStudio/fvb.cpp @@ -562,7 +562,7 @@ void TObject_composite::prepare_data_(const data::TParse_TParagraph::TData& rDat ASSERT(pfn != NULL); pfn(pContent->data); - fnValue.data_set(*ops, pContent->data); + fnValue.data_set((TFunctionValue_composite::CompositeFunc)*ops, pContent->data); } #else /* 802842D4-80284338 27EC14 0064+00 1/0 0/0 0/0 .text diff --git a/libs/JSystem/JStudio/JStudio/stb.cpp b/libs/JSystem/JStudio/JStudio/stb.cpp index e624ce6b73..38af2c2c3a 100644 --- a/libs/JSystem/JStudio/JStudio/stb.cpp +++ b/libs/JSystem/JStudio/JStudio/stb.cpp @@ -333,7 +333,7 @@ TControl::~TControl() { #ifdef NONMATCHING void TControl::appendObject(TObject* p) { - p->setControl(this); + p->setControl_(this); mObjectContainer.Push_back(p); } #else diff --git a/libs/JSystem/JUtility/JUTDirectFile.cpp b/libs/JSystem/JUtility/JUTDirectFile.cpp index d791df3cc5..fbdf04b7ea 100644 --- a/libs/JSystem/JUtility/JUTDirectFile.cpp +++ b/libs/JSystem/JUtility/JUTDirectFile.cpp @@ -7,19 +7,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct JUTDirectFile { - /* 802E8730 */ void fetch32byte(); - /* 802E87F8 */ JUTDirectFile(); - /* 802E881C */ ~JUTDirectFile(); - /* 802E8860 */ void fopen(char const*); - /* 802E88FC */ void fclose(); - /* 802E8958 */ void fgets(void*, int); -}; - // // Forward References: // @@ -85,7 +72,7 @@ asm JUTDirectFile::~JUTDirectFile() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTDirectFile::fopen(char const* param_0) { +asm bool JUTDirectFile::fopen(char const* param_0) { nofralloc #include "asm/JSystem/JUtility/JUTDirectFile/fopen__13JUTDirectFileFPCc.s" } @@ -95,7 +82,7 @@ asm void JUTDirectFile::fopen(char const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTDirectFile::fclose() { +asm bool JUTDirectFile::fclose() { nofralloc #include "asm/JSystem/JUtility/JUTDirectFile/fclose__13JUTDirectFileFv.s" } @@ -105,7 +92,7 @@ asm void JUTDirectFile::fclose() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTDirectFile::fgets(void* param_0, int param_1) { +asm int JUTDirectFile::fgets(void* param_0, int param_1) { nofralloc #include "asm/JSystem/JUtility/JUTDirectFile/fgets__13JUTDirectFileFPvi.s" } diff --git a/libs/JSystem/JUtility/JUTException.cpp b/libs/JSystem/JUtility/JUTException.cpp index 2bd2f9140f..36bee8c826 100644 --- a/libs/JSystem/JUtility/JUTException.cpp +++ b/libs/JSystem/JUtility/JUTException.cpp @@ -6,6 +6,7 @@ #include "JSystem/JUtility/JUTException.h" #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JUtility/JUTDirectPrint.h" +#include "JSystem/JUtility/JUTDirectFile.h" #include "MSL_C/MSL_Common/Src/float.h" #include "MSL_C/MSL_Common/Src/printf.h" #include "Runtime.PPCEABI.H/__va_arg.h" diff --git a/libs/JSystem/JUtility/JUTResFont.cpp b/libs/JSystem/JUtility/JUTResFont.cpp index 8c6cf5aeb1..6fb3d7a6fe 100644 --- a/libs/JSystem/JUtility/JUTResFont.cpp +++ b/libs/JSystem/JUtility/JUTResFont.cpp @@ -365,7 +365,7 @@ asm void JUTResFont::getWidthEntry(int param_0, JUTFont::TWidth* param_1) const /* 802DFD0C-802DFD58 2DA64C 004C+00 1/0 1/0 0/0 .text getCellWidth__10JUTResFontCFv */ // regalloc #ifdef NONMATCHING -u16 JUTResFont::getCellWidth() const { +int JUTResFont::getCellWidth() const { u16 width; if (mGly1Ptr && mGly1Ptr->magic != 0) { diff --git a/libs/JSystem/JUtility/JUTTexture.cpp b/libs/JSystem/JUtility/JUTTexture.cpp index 82e6b9e8c4..eb7e6e97ba 100644 --- a/libs/JSystem/JUtility/JUTTexture.cpp +++ b/libs/JSystem/JUtility/JUTTexture.cpp @@ -82,13 +82,9 @@ void JUTTexture::storeTIMG(ResTIMG const* param_0, u8 param_1) { } if (mEmbPalette == NULL || !getEmbPaletteDelFlag()) { - JUTPalette* palette = new JUTPalette(); - if (palette) { - palette->storeTLUT(tlut, (_GXTlutFmt)tmp->colorFormat, - (JUTTransparency)tmp->alphaEnabled, tmp->numColors, - (void*)(tmp->format + tmp->paletteOffset)); - } - mEmbPalette = palette; + mEmbPalette = new JUTPalette(tlut, (_GXTlutFmt)tmp->colorFormat, + (JUTTransparency)tmp->alphaEnabled, tmp->numColors, + (void*)(tmp->format + tmp->paletteOffset)); mFlags = mFlags & 1 | 2; } else { mEmbPalette->storeTLUT(tlut, (_GXTlutFmt)tmp->colorFormat, @@ -185,10 +181,10 @@ void JUTTexture::initTexObj() { offset = 0x20; } - GXInitTexObj(mTexObj, &mTexInfo + offset, mTexInfo->width, mTexInfo->height, + GXInitTexObj(&mTexObj, &mTexInfo + offset, mTexInfo->width, mTexInfo->height, (GXTexFmt)mTexInfo->format, (GXTexWrapMode)mTexInfo->wrapS, (GXTexWrapMode)mTexInfo->wrapT, mTexInfo->mipmapEnabled); - GXInitTexObjLOD(mTexObj, (GXTexFilter)mTexInfo->minFilter, (GXTexFilter)mTexInfo->magFilter, + GXInitTexObjLOD(&mTexObj, (GXTexFilter)mTexInfo->minFilter, (GXTexFilter)mTexInfo->magFilter, mTexInfo->minLOD, mTexInfo->maxLOD, mTexInfo->LODBias, mTexInfo->biasClamp, mTexInfo->doEdgeLOD, (GXAnisotropy)mTexInfo->maxAnisotropy); } diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp index b6424a7e29..905cb2b887 100644 --- a/libs/Z2AudioLib/Z2AudioMgr.cpp +++ b/libs/Z2AudioLib/Z2AudioMgr.cpp @@ -380,7 +380,7 @@ void Z2AudioMgr::resetRecover() { mSeqMgr.setTwilightGateVol(1.0f); mSeqMgr.setWindStoneVol(1.0f, 0); mStatusMgr.menuOut(); - mSeqMgr.bgmAllUnMute(0); + mSeqMgr.i_bgmAllUnMute(0); mSeqMgr.unMuteSceneBgm(0); } #else diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp index e128658047..c139fc4120 100644 --- a/libs/Z2AudioLib/Z2SceneMgr.cpp +++ b/libs/Z2AudioLib/Z2SceneMgr.cpp @@ -4,6 +4,8 @@ // #include "Z2AudioLib/Z2SceneMgr.h" +#include "Z2AudioLib/Z2SoundMgr.h" +#include "Z2AudioLib/Z2SeqMgr.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -39,29 +41,6 @@ struct Z2SoundObjMgr { /* 802C013C */ void deleteEnemyAll(); }; -struct Z2SoundMgr { - /* 802AA430 */ void resetFilterAll(); -}; - -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); - /* 802AF408 */ void bgmStop(u32, s32); - /* 802AFB94 */ void bgmStreamPrepare(u32); - /* 802AFDEC */ void bgmStreamCheckReady(); - /* 802AFE18 */ void bgmStreamPlay(); - /* 802AFF8C */ void changeBgmStatus(s32); - /* 802B3318 */ void setHeightVolMod(bool, u32); - /* 802B3398 */ void setTimeProcVolMod(bool, u32); - /* 802B3EAC */ void checkBgmIDPlaying(u32); - /* 802B4128 */ void resetBattleBgmParams(); - /* 802B4164 */ void setBattleBgmOff(bool); - /* 802B9968 */ void setFieldBgmPlay(bool); - /* 802B99AC */ void unMuteSceneBgm(u32); - /* 802B9A24 */ void muteSceneBgm(u32, f32); - /* 802B9AD0 */ void setTwilightGateVol(f32); - /* 802B9AFC */ void setWindStoneVol(f32, u32); -}; - struct Z2SeMgr { /* 802AB80C */ void resetModY(); /* 802AD94C */ void seStopAll(u32); @@ -78,13 +57,6 @@ struct Z2EnvSeMgr { /* 802C6AC0 */ void initSceneEnvSe(s32, s8, f32); }; -template -struct JSUList {}; -/* JSUList */ -struct JSUList__template2 { - /* 802B9994 */ void func_802B9994(void* _this) /* const */; -}; - struct JAUSoundTable { /* 802A7160 */ void getTypeID(JAISoundID) const; }; @@ -97,10 +69,6 @@ struct JASWaveArc { /* 8029A640 */ void erase(); }; -struct JAIStreamMgr { - /* 802B9978 */ void isActive() const; -}; - // // Forward References: // @@ -193,11 +161,11 @@ extern "C" extern u8 data_80450B3C[4]; extern "C" extern u8 data_80450B40[4]; extern "C" extern u8 data_80450B48[4]; extern "C" extern u8 data_80450B58[4]; -extern "C" extern u8 data_80450B60[4]; +extern "C" extern Z2SoundMgr* data_80450B60; extern "C" extern u8 data_80450B7C[4]; -extern "C" extern u8 data_80450B80[4]; +extern "C" extern Z2SceneMgr* data_80450B80; extern "C" extern u8 data_80450B84[4]; -extern "C" extern u8 data_80450B88[4]; +extern "C" extern Z2SeMgr* data_80450B88; extern "C" extern u8 data_80450CC0[4 + 4 /* padding */]; // @@ -208,7 +176,7 @@ extern "C" extern u8 data_80450CC0[4 + 4 /* padding */]; // Missing 2 instructions (beginning and end) #ifdef NONMATCHING Z2SceneMgr::Z2SceneMgr(void) { - lbl_80450B80 = this; + data_80450B80 = this; sceneNum = -1; timer = -1; BGM_ID = -1; @@ -269,25 +237,24 @@ SECTION_SDATA2 static f32 lit_3512 = 1.0f; /* 802B68E0-802B697C 2B1220 009C+00 3/3 2/2 2/2 .text setSceneExist__10Z2SceneMgrFb */ #ifdef NONMATCHING void Z2SceneMgr::setSceneExist(bool param_1) { - Z2SoundMgr* Z2soundMgrPtr; sceneExist = param_1; timer = 0; - Z2soundMgrPtr = lbl_80450B60; - if (param_1 == false) { - Z2soundMgrPtr->JAISoundParamsMove->moveVolume(FLOAT_LABEL(lit_3511), 0xb4); - } else { + + JAISeMgr* seMgr = data_80450B60->getSeMgr(); + + if (param_1) { inGame = 1; + if (SeWave_3 == 0x85) { - Z2soundMgrPtr->JAISoundParamsMove->moveVolume(FLOAT_LABEL(lit_3511), 0); + seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 0); + } else if (SeWave_3 == 0x7F) { + data_80450B88->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0); } else { - if (SeWave_3 == 0x7f) { - lbl_80450B88->seMoveVolumeAll(FLOAT_LABEL(lit_3511), 0); - } else { - Z2soundMgrPtr->JAISoundParamsMove->moveVolume(lit_3512, 0x21); - } + seMgr->getCategory(9)->getParams()->moveVolume(lit_3512, 33); } + } else { + seMgr->getCategory(9)->getParams()->moveVolume(FLOAT_LABEL(lit_3511), 180); } - return; } #else #pragma push @@ -749,7 +716,7 @@ JAISoundID::JAISoundID(JAISoundID const& soundIdToSet) { // 1 Instruction off #ifdef NONMATCHING void Z2SeqMgr::setFieldBgmPlay(bool param_1) { - unk_1 = (param_1 & 1U) << 2 | unk_1 & 0xfb; + mFlags = (param_1 & 1U) << 2 | mFlags & 0xfb; } #else #pragma push diff --git a/libs/Z2AudioLib/Z2SoundObjMgr.cpp b/libs/Z2AudioLib/Z2SoundObjMgr.cpp index 6c7a7191ef..17d781338e 100644 --- a/libs/Z2AudioLib/Z2SoundObjMgr.cpp +++ b/libs/Z2AudioLib/Z2SoundObjMgr.cpp @@ -53,7 +53,7 @@ extern "C" void _savegpr_27(); extern "C" void _restgpr_23(); extern "C" void _restgpr_27(); extern "C" void strcmp(); -extern "C" extern u8 data_80450B48[4]; +extern "C" extern Z2SoundObjMgr* data_80450B48; extern "C" extern u8 data_80450B80[4]; extern "C" extern Z2SeqMgr* data_80450B84; extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; @@ -66,9 +66,9 @@ extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; #ifdef NONMATCHING // order wrong because this needs to inherit from JASGlobalInstance Z2SoundObjMgr::Z2SoundObjMgr() { - data_80450B84 = this; + data_80450B48 = this; mGhostEnemyState = 0; - mIsTwilightBattle = false; + mTwilightBattle = false; setBattleInit(); setForceBattleArea(false, 700, 1100, 1500); } diff --git a/libs/Z2AudioLib/Z2SoundObject.cpp b/libs/Z2AudioLib/Z2SoundObject.cpp index 9cd329f33e..41a56257d9 100644 --- a/libs/Z2AudioLib/Z2SoundObject.cpp +++ b/libs/Z2AudioLib/Z2SoundObject.cpp @@ -11,13 +11,8 @@ // Types: // -struct Z2SoundObjArrow { - /* 802BEB38 */ Z2SoundObjArrow(); - /* 802BEB74 */ void init(Vec*, u8); -}; - struct Z2SoundInfo { - /* 802BBAC8 */ void getSwBit(JAISoundID) const; + /* 802BBAC8 */ int getSwBit(JAISoundID) const; }; struct Z2SeMgr { @@ -106,7 +101,7 @@ extern "C" void _restgpr_23(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern u32 __float_max; -extern "C" extern u8 data_80450B4C[4]; +extern "C" extern Z2SoundInfo* data_80450B4C; extern "C" extern u8 data_80450B60[4]; extern "C" extern Z2SoundStarter* data_80450B74; extern "C" extern u8 data_80450B88[4]; @@ -232,7 +227,7 @@ void Z2SoundObjBase::dispose() { for (link = getFirst(); link != NULL; link = link->getNext()) { handle = link->getObject(); if (handle != NULL && (bool)*handle) { - u32 swBit = lbl_80450B4C->getSwBit((*handle)->getID()); + u32 swBit = data_80450B4C->getSwBit((*handle)->getID()); if ((swBit & 0x8000) != 0) { handle->releaseSound(); } else { @@ -260,7 +255,7 @@ asm void Z2SoundObjBase::dispose() { // sInstance stuff #ifdef NONMATCHING bool Z2SoundObjBase::stopOK(Z2SoundHandlePool& pSoundHandlePool) { - return !(lbl_80450B4C->getSwBit(pSoundHandlePool->getID()) & 0x8000); + return !(data_80450B4C->getSwBit(pSoundHandlePool->getID()) & 0x8000); } #else #pragma push @@ -380,7 +375,8 @@ asm void Z2DopplerSoundObjBase::init(Vec* param_0, u8 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2DopplerSoundObjBase::framework(u32 param_0, s8 param_1) { +// asm void Z2DopplerSoundObjBase::framework(u32 param_0, s8 param_1) { +extern "C" asm void framework__21Z2DopplerSoundObjBaseFUlSc() { nofralloc #include "asm/Z2AudioLib/Z2SoundObject/framework__21Z2DopplerSoundObjBaseFUlSc.s" } @@ -499,7 +495,8 @@ asm Z2SoundObjArrow::Z2SoundObjArrow() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void Z2SoundObjArrow::init(Vec* param_0, u8 param_1) { +// asm void Z2SoundObjArrow::init(Vec* param_0, u8 param_1) { +extern "C" asm void init__15Z2SoundObjArrowFP3VecUc() { nofralloc #include "asm/Z2AudioLib/Z2SoundObject/init__15Z2SoundObjArrowFP3VecUc.s" } diff --git a/libs/Z2AudioLib/Z2StatusMgr.cpp b/libs/Z2AudioLib/Z2StatusMgr.cpp index a194402f76..d011ed0690 100644 --- a/libs/Z2AudioLib/Z2StatusMgr.cpp +++ b/libs/Z2AudioLib/Z2StatusMgr.cpp @@ -108,7 +108,7 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 struct_80450860[4]; extern "C" extern u8 data_80450B40[4]; extern "C" extern u8 data_80450B60[4]; -extern "C" extern u8 data_80450B7C[4]; +extern "C" extern Z2StatusMgr* data_80450B7C; extern "C" extern u8 data_80450B80[4]; extern "C" extern Z2SeqMgr* data_80450B84; extern "C" extern Z2SeMgr* data_80450B88; diff --git a/libs/dolphin/pad/Pad.c b/libs/dolphin/pad/Pad.c index b963c96a2c..98e8ca4aac 100644 --- a/libs/dolphin/pad/Pad.c +++ b/libs/dolphin/pad/Pad.c @@ -239,7 +239,7 @@ asm u32 PADInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void PADRead(PADStatus* status) { +asm u32 PADRead(PADStatus* status) { nofralloc #include "asm/dolphin/pad/Pad/PADRead.s" } diff --git a/rel/d/a/b/d_a_b_go/d_a_b_go.cpp b/rel/d/a/b/d_a_b_go/d_a_b_go.cpp index 14fa344b20..4d4c48ce26 100644 --- a/rel/d/a/b/d_a_b_go/d_a_b_go.cpp +++ b/rel/d/a/b/d_a_b_go/d_a_b_go.cpp @@ -531,7 +531,7 @@ static void action(b_go_class* b_go) { break; } - cLib_addCalcAngleS2(&b_go->mCollisionRot.y, b_go->current.angle.y, 4, 0x2000); + cLib_addCalcAngleS2(&b_go->shape_angle.y, b_go->current.angle.y, 4, 0x2000); mDoMtx_stack_c::YrotS(b_go->current.angle.y); cXyz speed; @@ -579,7 +579,7 @@ static int daB_GO_Execute(b_go_class* b_go) { damage_check(b_go); mDoMtx_stack_c::transS(b_go->current.pos.x, b_go->current.pos.y, b_go->current.pos.z); - mDoMtx_stack_c::YrotM(b_go->mCollisionRot.y); + mDoMtx_stack_c::YrotM(b_go->shape_angle.y); mDoMtx_stack_c::scaleM((*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize); mDoMtx_stack_c::copy(b_go->mpMorf->getModel()->getBaseTRMtx()); b_go->mpMorf->play(0, dComIfGp_getReverb(b_go->current.mRoomNo)); diff --git a/rel/d/a/d_a_alldie/d_a_alldie.cpp b/rel/d/a/d_a_alldie/d_a_alldie.cpp index 333d8087b5..768142b1a4 100644 --- a/rel/d/a/d_a_alldie/d_a_alldie.cpp +++ b/rel/d/a/d_a_alldie/d_a_alldie.cpp @@ -185,8 +185,8 @@ int daAlldie_c::create() { mAction = ACT_WAIT; } - mCollisionRot.z = 0; - mCollisionRot.x = 0; + shape_angle.z = 0; + shape_angle.x = 0; current.angle.z = 0; current.angle.x = 0; diff --git a/rel/d/a/d_a_arrow/d_a_arrow.cpp b/rel/d/a/d_a_arrow/d_a_arrow.cpp index e4e0cf05ba..3982cbdb6a 100644 --- a/rel/d/a/d_a_arrow/d_a_arrow.cpp +++ b/rel/d/a/d_a_arrow/d_a_arrow.cpp @@ -5,301 +5,7 @@ #include "rel/d/a/d_a_arrow/d_a_arrow.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); -}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80266F48 */ void normalizeZP(); - /* 80267150 */ void atan2sY_XZ() const; - /* 8049A334 */ ~cXyz(); -}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static u8 mWaterCheck[84 + 4 /* padding */]; - static f32 mWaterY[1 + 1 /* padding */]; -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; -}; - -struct daPy_actorKeep_c { - /* 8015EC48 */ void setActor(); - /* 8015ECB8 */ void setData(fopAc_ac_c*); - /* 8015ECFC */ void clearData(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084318 */ void ResetAtHit(); - /* 800843A8 */ void GetAtHitGObj(); - /* 80084460 */ void ChkTgHit(); - /* 80084548 */ void GetTgHitGObj(); - /* 80084658 */ void ChkCoHit(); -}; - -struct daArrow_c { - /* 80499C6C */ void createHeap(); - /* 80499D8C */ void atHitCallBack(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); - /* 80499FBC */ void decAlphaBlur(); - /* 8049A04C */ void setBlur(); - /* 8049A110 */ void setLightArrowHitMark(cXyz const*); - /* 8049A1EC */ void setLightChargeEffect(int); - /* 8049A370 */ void setArrowWaterNextPos(cXyz*, cXyz*); - /* 8049A76C */ void setArrowAt(f32); - /* 8049A9CC */ void arrowShooting(); - /* 8049AC84 */ void setBombArrowExplode(cXyz*); - /* 8049ACE0 */ void setRoomInfo(); - /* 8049AD74 */ void clearNearActorData(); - /* 8049AD94 */ void getVibAngle(); - /* 8049AE64 */ void setNormalMatrix(); - /* 8049AF18 */ void setSmokePos(); - /* 8049AFEC */ void setKeepMatrix(); - /* 8049B120 */ void setStopActorMatrix(); - /* 8049B214 */ void setBombMoveEffect(); - /* 8049B370 */ void checkReget(); - /* 8049B45C */ void procWait(); - /* 8049B764 */ void procMove(); - /* 8049C700 */ void procReturnInit(int); - /* 8049C874 */ void procReturn(); - /* 8049CB70 */ void procBGStop(); - /* 8049CC60 */ void procActorStop(); - /* 8049CCCC */ void procActorControllStop(); - /* 8049CCF0 */ void procSlingHitInit(cXyz*, dCcD_GObjInf*); - /* 8049CE50 */ void procSlingHit(); - /* 8049CEA0 */ void execute(); - /* 8049D0CC */ void draw(); - /* 8049D440 */ void create(); - /* 8049D98C */ ~daArrow_c(); -}; - -struct cBgS_PolyInfo {}; - -struct daAlink_c { - /* 8009D884 */ void getAlinkArcName(); - /* 800D1788 */ void notSwordHitVibActor(fopAc_ac_c*); - /* 800D6D94 */ void getFreezeR() const; - /* 800D6DA4 */ void getFreezeG() const; - /* 800D6DB4 */ void getFreezeB() const; - /* 800D7768 */ void checkIcePolygonDamage(cBgS_PolyInfo*); - /* 800DE64C */ void getArrowFlyData(f32*, f32*, int) const; - /* 800DE740 */ void getArrowIncAtR() const; - /* 800DE750 */ void getBombArrowFlyExplodeTime() const; - /* 800DE760 */ void getArrowIncAtMaxStart() const; - /* 800DE770 */ void getArrowIncAtMax() const; - /* 800DE884 */ void checkBowCameraArrowPosP(s16*, s16*); - /* 800E3760 */ void getBombExplodeTime() 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 dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack { - /* 8049D808 */ void cleanup(); - /* 8049D80C */ ~dPa_levelEcallBack(); -}; - -struct dPa_hermiteEcallBack_c { - /* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*); -}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B8B4 */ void forceOnEventMove(u32); - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, 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); - /* 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); - - static u8 mParticleTracePCB[4 + 4 /* padding */]; -}; - -struct dJntCol_c { - /* 80036AEC */ void getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const; - /* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*); -}; - -struct cCcD_Obj {}; - -struct dCcMassS_Mng { - /* 80085D98 */ void Set(cCcD_Obj*, u8); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCps {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 8049D910 */ ~dCcD_GStts(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); - /* 80084824 */ void CalcAtVec(); -}; - -struct dBgS_ObjLinChk { - /* 80077F5C */ dBgS_ObjLinChk(); - /* 80077FB8 */ ~dBgS_ObjLinChk(); -}; - -struct dBgS_LinChk { - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_ArrowLinChk { - /* 800781D8 */ dBgS_ArrowLinChk(); - /* 80078240 */ ~dBgS_ArrowLinChk(); -}; - -struct dBgS { - /* 80074ABC */ void ChkMoveBG(cBgS_PolyInfo const&); - /* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&); - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); - /* 80075880 */ void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*); - /* 80075BF4 */ void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8049D880 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 8049C6B8 */ ~cM3dGPla(); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026EFA4 */ ~cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - -struct cM3dGAab { - /* 8049D8C8 */ ~cM3dGAab(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 8049DC00 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct Z2SoundObjBase { - /* 802BDFF8 */ void deleteObject(); -}; - -struct Z2SoundObjArrow { - /* 802BEB38 */ Z2SoundObjArrow(); -}; - -struct JAISoundID {}; - -struct Z2SeMgr { - /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2DopplerSoundObjBase { - /* 802BE5FC */ ~Z2DopplerSoundObjBase(); -}; - -struct Z2CreatureLink { - /* 802C4814 */ void startHitItemSE(u32, u32, Z2SoundObjBase*, f32); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JPABaseEmitter {}; - -struct JPAEmitterCallBack { - /* 8027E6A4 */ ~JPAEmitterCallBack(); - /* 8049DC48 */ void execute(JPABaseEmitter*); - /* 8049DC4C */ void executeAfter(JPABaseEmitter*); - /* 8049DC50 */ void draw(JPABaseEmitter*); - /* 8049DC54 */ void drawAfter(JPABaseEmitter*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; +#include "d/com/d_com_inf_game.h" // // Forward References: @@ -474,15 +180,6 @@ extern "C" void __dt__21Z2DopplerSoundObjBaseFv(); extern "C" void __ct__15Z2SoundObjArrowFv(); extern "C" void startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXConcat(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void C_VECReflect(); -extern "C" void PSVECSquareDistance(); extern "C" void __ptmf_scall(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -497,7 +194,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); 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" extern void* __vt__22dPa_hermiteEcallBack_c[9]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; @@ -510,14 +206,8 @@ extern "C" extern void* __vt__15Z2SoundObjArrow[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; -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 void* calc_mtx[1 + 1 /* padding */]; -extern "C" extern u32 __float_nan; -extern "C" extern u32 __float_max; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" extern u8 m_count__9daArrow_c[4]; extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; @@ -728,7 +418,8 @@ asm void daArrow_c::setLightChargeEffect(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__4cXyzFv.s" } @@ -1345,7 +1036,8 @@ asm void daArrow_c::procMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__8cM3dGPlaFv.s" } @@ -1583,7 +1275,8 @@ void dPa_levelEcallBack::cleanup() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dPa_levelEcallBack::~dPa_levelEcallBack() { +// asm dPa_levelEcallBack::~dPa_levelEcallBack() { +extern "C" asm void __dt__18dPa_levelEcallBackFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__18dPa_levelEcallBackFv.s" } @@ -1593,7 +1286,8 @@ asm dPa_levelEcallBack::~dPa_levelEcallBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__8cM3dGSphFv.s" } @@ -1603,7 +1297,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__8cM3dGAabFv.s" } @@ -1613,7 +1308,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__10dCcD_GSttsFv.s" } @@ -1653,7 +1349,8 @@ static asm void daArrow_delete(daArrow_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_arrow/d_a_arrow/__dt__10cCcD_GSttsFv.s" } @@ -1661,7 +1358,8 @@ asm cCcD_GStts::~cCcD_GStts() { /* 8049DC48-8049DC4C 0040C8 0004+00 2/0 0/0 0/0 .text * execute__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { +// void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { +extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() { /* empty function */ } 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 5bd6f439f4..d9b6feef7d 100644 --- a/rel/d/a/d_a_boomerang/d_a_boomerang.cpp +++ b/rel/d/a/d_a_boomerang/d_a_boomerang.cpp @@ -6,19 +6,12 @@ #include "rel/d/a/d_a_boomerang/d_a_boomerang.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" // // Types: // -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 daMirror_c { /* 8003194C */ void entry(J3DModel*); }; @@ -32,100 +25,6 @@ struct daBoomerang_HIO_c0 { static f32 const m_lockWindScale; }; -struct daAlink_c { - /* 8009D884 */ void getAlinkArcName(); - /* 800A9248 */ void simpleAnmPlay(J3DAnmBase*); - /* 800B26FC */ void itemActionTrigger(); - /* 800DFFE0 */ void checkBoomerangLockAccept(); - /* 800E0010 */ void getBoomSpeed(); - /* 800E00B0 */ void getBoomCatchSpeed() const; - /* 800E00C0 */ void getBoomFlyMax() const; - /* 800E011C */ void getBoomLockMax(); - /* 800E0190 */ void getBoomBgThroughTime() const; - /* 800E08C4 */ void returnBoomerang(int); -}; - -struct dPa_levelEcallBack {}; - -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); -}; - -struct dBgS { - /* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&); - /* 80074DAC */ void GetUnderwaterRoofCode(cBgS_PolyInfo const&); - /* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); -}; - -struct cCcD_Obj {}; - -struct dCcMassS_Mng { - /* 80085D98 */ void Set(cCcD_Obj*, u8); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_SrcCps {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 804A262C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084318 */ void ResetAtHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); - /* 80084824 */ void CalcAtVec(); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); - /* 8026EFA4 */ ~cM3dGCps(); - /* 8026F000 */ void Set(cXyz const&, cXyz const&, f32); -}; - -struct cM3dGAab { - /* 804A25E4 */ ~cM3dGAab(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 804A271C */ ~cCcD_GStts(); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct J2DAnmLoaderDataBase { - /* 80308A6C */ void load(void const*); -}; - // // Forward References: // @@ -341,7 +240,6 @@ 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" u8 mRoofCheck__11fopAcM_rc_c[80]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" f32 mRoofY__11fopAcM_rc_c; @@ -1591,7 +1489,8 @@ extern "C" asm void __dt__8cM3dGCylFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__8cM3dGAabFv.s" } @@ -1601,7 +1500,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__10dCcD_GSttsFv.s" } @@ -1638,7 +1538,8 @@ void draw__12dDlst_base_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_canoe/d_a_canoe.cpp b/rel/d/a/d_a_canoe/d_a_canoe.cpp index 7fa03a0217..69dc9952a3 100644 --- a/rel/d/a/d_a_canoe/d_a_canoe.cpp +++ b/rel/d/a/d_a_canoe/d_a_canoe.cpp @@ -5,287 +5,20 @@ #include "rel/d/a/d_a_canoe/d_a_canoe.h" #include "dol2asm.h" -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" // // Types: // -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD9C */ void transM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80267128 */ void atan2sX_Z() const; - /* 80267150 */ void atan2sY_XZ() const; - /* 804DA5B8 */ ~cXyz(); - - static f32 Zero[3]; -}; - -struct fopAcM_wt_c { - /* 8001DD84 */ void waterCheck(cXyz const*); - - static u8 mWaterCheck[84 + 4 /* padding */]; - static f32 mWaterY[1 + 1 /* padding */]; -}; - struct daTagWaterFall_c { /* 80D64768 */ void checkHitWaterFall(cXyz); }; -struct daPy_py_c { - /* 8015EA20 */ void checkFishingRodItem(int); -}; - struct daObjGOMIKABE_c { /* 80BFE52C */ void BreakSet(); }; -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct daCanoe_c { - /* 804DA5F4 */ void createHeap(); - /* 804DA740 */ void create(); - /* 804DAEA8 */ ~daCanoe_c(); - /* 804DB008 */ void setRoomInfo(); - /* 804DB0B0 */ void setMatrix(); - /* 804DB3F4 */ void setCollision(); - /* 804DB578 */ void posMove(); - /* 804DB754 */ void checkGomikabe(cBgS_PolyInfo&); - /* 804DB7AC */ void setFrontBackPos(); - /* 804DB828 */ void frontBackBgCheck(); - /* 804DC330 */ void setPaddleEffect(); - /* 804DC554 */ void setCanoeSliderEffect(); - /* 804DC7B4 */ void execute(); - /* 804DD35C */ void draw(); -}; - -struct daAlink_c { - /* 800A21E0 */ void getMoveBGActorName(cBgS_PolyInfo&, int); - /* 800F3BB0 */ void getCanoeMaxSpeed() const; - /* 800F3BDC */ void getCanoeBackMaxSpeed() const; - /* 800F3BEC */ void getCanoeCres() const; - /* 800F3C44 */ void getCanoeMaxRotSpeed() const; - /* 800F3CCC */ void getCanoeLocalPaddleTop(); - /* 800F3DFC */ void getCanoePaddleMatrix(); - /* 800F3EB8 */ void checkCanoePaddleGrab(fopAc_ac_c*) const; -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) 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 dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*, - cXyz const*, s8); - /* 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 dMeter2Info_c { - /* 8021E268 */ void setMiniGameCount(s8); -}; - -struct J3DModel {}; - -struct dDlst_shadowControl_c { - /* 80055F1C */ void addReal(u32, J3DModel*); - - static u8 mSimpleTexObj[32]; -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 804DAE2C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084658 */ void ChkCoHit(); -}; - -struct dCcD_GAtTgCoCommonBase { - /* 80083688 */ void GetAc(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 804DAB18 */ ~dCcD_Cyl(); - /* 804DABE4 */ dCcD_Cyl(); -}; - -struct dBgS_PolyPassChk { - /* 80078E98 */ void SetLink(); -}; - -struct dBgS_LinkLinChk { - /* 80078030 */ dBgS_LinkLinChk(); - /* 8007808C */ ~dBgS_LinkLinChk(); -}; - -struct dBgS_LinkAcch { - /* 804DACF8 */ ~dBgS_LinkAcch(); - /* 804DAD68 */ dBgS_LinkAcch(); -}; - -struct dBgS_LinChk { - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 804DADBC */ ~dBgS_AcchCir(); -}; - -struct dBgS { - /* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGPla { - /* 804DC2E8 */ ~cM3dGPla(); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 804DAC68 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 804DACB0 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cCcD_ObjCo { - /* 8026491C */ void SetVsGrp(u32); -}; - -struct cCcD_GStts { - /* 804DD574 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 80074618 */ void GetActorPointer(int) const; - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2SoundObjSimple { - /* 802BE844 */ Z2SoundObjSimple(); -}; - -struct Z2SoundObjBase { - /* 802BDF48 */ ~Z2SoundObjBase(); - /* 802BDFF8 */ void deleteObject(); -}; - -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]; -}; - -struct JGeometry { - template - struct TVec3 {}; - /* TVec3 */ - struct TVec3__template0 {}; -}; - // // Forward References: // @@ -419,13 +152,6 @@ extern "C" void __dt__14Z2SoundObjBaseFv(); extern "C" void deleteObject__14Z2SoundObjBaseFv(); extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); @@ -443,10 +169,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); -extern "C" void strcmp(); 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" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; @@ -456,16 +179,10 @@ 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" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* 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" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void __register_global_object(); extern "C" void BreakSet__15daObjGOMIKABE_cFv(); @@ -490,7 +207,8 @@ static asm void daCanoe_searchTagWaterFall(fopAc_ac_c* param_0, void* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__4cXyzFv.s" } @@ -744,7 +462,8 @@ SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::~dCcD_Cyl() { +// asm dCcD_Cyl::~dCcD_Cyl() { +extern "C" asm void __dt__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__8dCcD_CylFv.s" } @@ -754,7 +473,8 @@ asm dCcD_Cyl::~dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Cyl::dCcD_Cyl() { +// asm dCcD_Cyl::dCcD_Cyl() { +extern "C" asm void __ct__8dCcD_CylFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__ct__8dCcD_CylFv.s" } @@ -764,7 +484,8 @@ asm dCcD_Cyl::dCcD_Cyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__8cM3dGCylFv.s" } @@ -774,7 +495,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__8cM3dGAabFv.s" } @@ -784,7 +506,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_LinkAcch::~dBgS_LinkAcch() { +// asm dBgS_LinkAcch::~dBgS_LinkAcch() { +extern "C" asm void __dt__13dBgS_LinkAcchFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__13dBgS_LinkAcchFv.s" } @@ -794,7 +517,8 @@ asm dBgS_LinkAcch::~dBgS_LinkAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_LinkAcch::dBgS_LinkAcch() { +// asm dBgS_LinkAcch::dBgS_LinkAcch() { +extern "C" asm void __ct__13dBgS_LinkAcchFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__ct__13dBgS_LinkAcchFv.s" } @@ -804,7 +528,8 @@ asm dBgS_LinkAcch::dBgS_LinkAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__12dBgS_AcchCirFv.s" } @@ -814,7 +539,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__10dCcD_GSttsFv.s" } @@ -1119,7 +845,8 @@ asm void daCanoe_c::frontBackBgCheck() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__8cM3dGPlaFv.s" } @@ -1414,7 +1141,8 @@ static asm void daCanoe_Draw(daCanoe_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_canoe/d_a_canoe/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_cstatue/d_a_cstatue.cpp b/rel/d/a/d_a_cstatue/d_a_cstatue.cpp index 1aea9a75b4..67f19db567 100644 --- a/rel/d/a/d_a_cstatue/d_a_cstatue.cpp +++ b/rel/d/a/d_a_cstatue/d_a_cstatue.cpp @@ -5,345 +5,7 @@ #include "rel/d/a/d_a_cstatue/d_a_cstatue.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - - static u8 Zero[4]; -}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 80267128 */ void atan2sX_Z() const; - /* 80663B34 */ ~cXyz(); -}; - -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 mDoExt_morf_c { - /* 8000FB7C */ void setMorf(f32); -}; - -struct J3DModel {}; - -struct mDoExt_invisibleModel { - /* 8000E53C */ void create(J3DModel*, u8); - /* 8000E7C0 */ void entryDL(cXyz*); -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTextureSRTKey {}; - -struct mDoExt_btkAnm { - /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); - /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); -}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); - /* 802C0420 */ ~Z2Creature(); - /* 802C0530 */ void init(Vec*, Vec*, u8, u8); -}; - -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); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct fopAcM_lc_c { - /* 8001DC68 */ void lineCheck(cXyz const*, cXyz const*, fopAc_ac_c const*); - - static u8 mLineCheck[112]; -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static u8 mGndCheck[84]; - static f32 mGroundY; -}; - -struct daPy_actorKeep_c { - /* 8015ECFC */ void clearData(); -}; - -struct daCstatue_c { - /* 806636AC */ void atHitCallback(fopAc_ac_c*); - /* 806636EC */ void createHeap(); - /* 80663D28 */ void create(); - /* 80664840 */ ~daCstatue_c(); - /* 80664AA0 */ void setRoomInfo(); - /* 80664B38 */ void setMatrix(); - /* 80664C9C */ void posMove(); - /* 8066555C */ void setCollision(); - /* 80665E14 */ void checkHammerReverse(); - /* 80665F80 */ void setDemo(); - /* 80666390 */ void setAnime(); - /* 80666B80 */ void initBrk(u16); - /* 80666BF8 */ void initStopBrkBtk(); - /* 80666C38 */ void initStartBrkBtk(); - /* 80666DE8 */ void execute(); - /* 80667438 */ void draw(); - - static u8 const m_bckIdxTable[70 + 2 /* padding */]; -}; - -struct daAlink_c { - /* 800E1330 */ void getCopyRodBallDisMax() const; - /* 800E1374 */ void getCopyRodControllActor(); -}; - -struct dVibration_c { - /* 8006FA24 */ void StartShock(int, int, cXyz); -}; - -struct dTres_c { - /* 8009C3CC */ void setPosition(int, u8, Vec const*, int); -}; - -struct dSv_memBit_c { - /* 800347A0 */ void onTbox(int); - /* 800347C4 */ void offTbox(int); - /* 800347E8 */ void isTbox(int) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dSv_event_c { - /* 8003498C */ void onEventBit(u16); -}; - -struct dKy_tevstr_c {}; - -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 dPa_levelEcallBack {}; - -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 cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074B40 */ void ChkMoveBG_NoDABg(cBgS_PolyInfo const&); - /* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&); - /* 80074E00 */ void GetWallCode(cBgS_PolyInfo const&); - /* 80075100 */ void GetRoomId(cBgS_PolyInfo const&); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80664768 */ ~dBgS_AcchCir(); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct dPaPo_c { - /* 80050C9C */ void init(dBgS_Acch*, f32, f32); - /* 80051008 */ void setEffectCenter(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*, - csXyz const*, cXyz const*, s8, f32, f32); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_SrcCyl {}; - -struct dCcD_SrcCps {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); - /* 80084AC4 */ void MoveCAt(cXyz&); - /* 80663B70 */ ~dCcD_Sph(); - /* 80663C3C */ dCcD_Sph(); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 8066469C */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); - /* 80084318 */ void ResetAtHit(); - /* 80084460 */ void ChkTgHit(); - /* 800844B8 */ void ResetTgHit(); - /* 80084548 */ void GetTgHitGObj(); - /* 8008457C */ void GetTgHitObjSe(); - /* 800845B0 */ void getHitSeID(u8, int); - /* 800846B0 */ void ResetCoHit(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); - /* 80084908 */ void StartCAt(cXyz&); - /* 80084954 */ void MoveCAt(cXyz&); -}; - -struct dCcD_Cps { - /* 800847D0 */ void Set(dCcD_SrcCps const&); -}; - -struct dCamera_c { - /* 801614AC */ void Start(); - /* 801614D0 */ void Stop(); - /* 8016300C */ void SetTrimSize(s32); - /* 80180AA8 */ void Set(cXyz, cXyz); -}; - -struct dBgS_StatueAcch { - /* 806646F8 */ ~dBgS_StatueAcch(); -}; - -struct dBgS_PolyPassChk { - /* 80078F7C */ void SetStatue(); -}; - -struct cM3dGSph { - /* 8026F708 */ void SetR(f32); - /* 80663CC0 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 80665514 */ ~cM3dGPla(); -}; - -struct cM3dGLin { - /* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80663AA4 */ ~cM3dGCyl(); -}; - -struct cM3dGCps { - /* 8026EF88 */ cM3dGCps(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80663AEC */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_Stts { - /* 8026395C */ void ClrCcMove(); -}; - -struct cCcD_GStts { - /* 80667630 */ ~cCcD_GStts(); -}; - -struct cBgS { - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 806647D8 */ ~J3DFrameCtrl(); -}; +#include "d/com/d_com_inf_game.h" // // Forward References: @@ -506,11 +168,6 @@ extern "C" void* __nwa__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); @@ -525,7 +182,6 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); 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" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__8dCcD_Cps[36]; @@ -538,13 +194,9 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" u8 mLineCheck__11fopAcM_lc_c[112]; extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; -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 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; extern "C" u8 Zero__5csXyz[4]; extern "C" void __register_global_object(); @@ -872,7 +524,8 @@ asm void daCstatue_c::createHeap() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__8cM3dGCylFv.s" } @@ -882,7 +535,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__8cM3dGAabFv.s" } @@ -892,7 +546,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__4cXyzFv.s" } @@ -902,7 +557,8 @@ asm cXyz::~cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::~dCcD_Sph() { +// asm dCcD_Sph::~dCcD_Sph() { +extern "C" asm void __dt__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__8dCcD_SphFv.s" } @@ -912,7 +568,8 @@ asm dCcD_Sph::~dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_Sph::dCcD_Sph() { +// asm dCcD_Sph::dCcD_Sph() { +extern "C" asm void __ct__8dCcD_SphFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__ct__8dCcD_SphFv.s" } @@ -922,7 +579,8 @@ asm dCcD_Sph::dCcD_Sph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__8cM3dGSphFv.s" } @@ -1179,7 +837,8 @@ asm void daCstatue_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__10dCcD_GSttsFv.s" } @@ -1189,7 +848,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_StatueAcch::~dBgS_StatueAcch() { +// asm dBgS_StatueAcch::~dBgS_StatueAcch() { +extern "C" asm void __dt__15dBgS_StatueAcchFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__15dBgS_StatueAcchFv.s" } @@ -1199,7 +859,8 @@ asm dBgS_StatueAcch::~dBgS_StatueAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__12dBgS_AcchCirFv.s" } @@ -1209,7 +870,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__12J3DFrameCtrlFv.s" } @@ -1440,7 +1102,8 @@ asm void daCstatue_c::posMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__8cM3dGPlaFv.s" } @@ -1932,7 +1595,8 @@ static asm void daCstatue_Draw(daCstatue_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/d_a_cstatue/d_a_cstatue/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp b/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp index 52d84c3bf4..2c72f1d305 100644 --- a/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp +++ b/rel/d/a/d_a_mg_rod/d_a_mg_rod.cpp @@ -3,7 +3,7 @@ // Translation Unit: d_a_mg_rod // -#include "rel/d/a/d_a_mg_rod/d_a_mg_rod.h" +// #include "rel/d/a/d_a_mg_rod/d_a_mg_rod.h" #include "dol2asm.h" #include "dolphin/types.h" 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 2df64f0e07..f4f6f80eec 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 @@ -85,7 +85,7 @@ static int daScex_Create(fopAc_ac_c* ac) { daScex_c* scex = static_cast(ac); mDoMtx_stack_c::transS(scex->current.pos.x, scex->current.pos.y, scex->current.pos.z); - mDoMtx_stack_c::YrotM(scex->mCollisionRot.y); + mDoMtx_stack_c::YrotM(scex->shape_angle.y); PSMTXInverse(mDoMtx_stack_c::get(), scex->mMatrix); scex->mScale.x *= 75.0f; scex->mScale.z *= 75.0f; @@ -145,25 +145,25 @@ COMPILER_STRIP_GATE(0x80485CA8, &lit_3842); // regalloc #ifdef NONMATCHING int daScex_c::execute() { - Vec spC; daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz spC; if (checkWork()) { - PSMTXMultVec(mMatrix, &player->current.pos, &spC); + mDoMtx_multVec(mMatrix, &player->current.pos, &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); + player->onSceneChangeArea(getArg0(), getPathID(), this); break; case 2: case 0: - player->onSceneChangeAreaJump(getArg0(), ((fopAcM_GetParam(this) >> 0x10) & 0xFF), this); + player->onSceneChangeAreaJump(getArg0(), getPathID(), this); break; case 3: case 4: - player->onSceneChangeAreaJump(getArg0(), ((fopAcM_GetParam(this) >> 0x10) & 0xFF), this); + player->onSceneChangeAreaJump(getArg0(), getPathID(), this); break; } } diff --git a/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp b/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp index 14d674bc4e..7883e680c2 100644 --- a/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp +++ b/rel/d/a/d_a_skip_2D/d_a_skip_2D.cpp @@ -1,73 +1,16 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_skip_2D -// +/** + * d_a_skip2D.cpp + * + */ #include "rel/d/a/d_a_skip_2D/d_a_skip_2D.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daSkip2D_c { - /* 80D4D498 */ void createHeap(); - /* 80D4D4F4 */ void create(); - /* 80D4D588 */ bool destroy(); - /* 80D4D590 */ void draw(); - /* 80D4D5D0 */ bool execute(); - /* 80D4D5D8 */ void initiate(); - /* 80D4D674 */ ~daSkip2D_c(); -}; - -struct dMeterButton_c { - /* 80201328 */ dMeterButton_c(); -}; - -struct dDlst_base_c {}; - -struct dDlst_list_c { - /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*); -}; - -// -// Forward References: -// - -extern "C" static void daSkip2D_createHeap__FP10fopAc_ac_c(); -extern "C" void createHeap__10daSkip2D_cFv(); -extern "C" void create__10daSkip2D_cFv(); -extern "C" bool destroy__10daSkip2D_cFv(); -extern "C" void draw__10daSkip2D_cFv(); -extern "C" bool execute__10daSkip2D_cFv(); -extern "C" void initiate__10daSkip2D_cFv(); -extern "C" static void daSkip2D_Create__FPv(); -extern "C" static void daSkip2D_Delete__FPv(); -extern "C" static void daSkip2D_Execute__FPv(); -extern "C" static void daSkip2D_Draw__FPv(); -extern "C" static bool daSkip2D_IsDelete__FPv(); -extern "C" void __dt__10daSkip2D_cFv(); // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void __ct__14dMeterButton_cFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: @@ -75,33 +18,91 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; /* 80D4D478-80D4D498 000078 0020+00 1/1 0/0 0/0 .text daSkip2D_createHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daSkip2D_createHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_createHeap__FP10fopAc_ac_c.s" +static int daSkip2D_createHeap(fopAc_ac_c* i_this) { + return static_cast(i_this)->createHeap(); } -#pragma pop /* 80D4D498-80D4D4F4 000098 005C+00 1/1 0/0 0/0 .text createHeap__10daSkip2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSkip2D_c::createHeap() { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/createHeap__10daSkip2D_cFv.s" +int daSkip2D_c::createHeap() { + mpButton = new dMeterButton_c(); + + if (mpButton == NULL) { + return 0; + } + + return 1; +} + +/* 80D4D4F4-80D4D588 0000F4 0094+00 1/1 0/0 0/0 .text create__10daSkip2D_cFv */ +int daSkip2D_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daSkip2D_c(); + fopAcM_OnCondition(this, 8); + } + + if (!fopAcM_entrySolidHeap(this, daSkip2D_createHeap, 0)) { + return cPhs_ERROR_e; + } + + return cPhs_COMPLEATE_e; +} + +/* 80D4D588-80D4D590 000188 0008+00 1/1 0/0 0/0 .text destroy__10daSkip2D_cFv */ +int daSkip2D_c::destroy() { + return 1; +} + +/* 80D4D590-80D4D5D0 000190 0040+00 1/1 0/0 0/0 .text draw__10daSkip2D_cFv */ +int daSkip2D_c::draw() { + dComIfGd_set2DOpaTop((dDlst_base_c*)&mpButton); // ??? + return 1; +} + +/* 80D4D5D0-80D4D5D8 0001D0 0008+00 1/1 0/0 0/0 .text execute__10daSkip2D_cFv */ +int daSkip2D_c::execute() { + return 1; +} + +/* 80D4D5D8-80D4D5EC 0001D8 0014+00 1/1 0/0 0/0 .text initiate__10daSkip2D_cFv */ +void daSkip2D_c::initiate() { + field_0x56c = 0; + mpButton = NULL; + field_0x574 = 0; +} + +/* 80D4D5EC-80D4D60C 0001EC 0020+00 1/0 0/0 0/0 .text daSkip2D_Create__FPv */ +static int daSkip2D_Create(void* i_this) { + return static_cast(i_this)->create(); +} + +/* 80D4D60C-80D4D62C 00020C 0020+00 1/0 0/0 0/0 .text daSkip2D_Delete__FPv */ +static int daSkip2D_Delete(void* i_this) { + return static_cast(i_this)->destroy(); +} + +/* 80D4D62C-80D4D64C 00022C 0020+00 1/0 0/0 0/0 .text daSkip2D_Execute__FPv */ +static int daSkip2D_Execute(void* i_this) { + return static_cast(i_this)->execute(); +} + +/* 80D4D64C-80D4D66C 00024C 0020+00 1/0 0/0 0/0 .text daSkip2D_Draw__FPv */ +static int daSkip2D_Draw(void* i_this) { + return static_cast(i_this)->draw(); +} + +/* 80D4D66C-80D4D674 00026C 0008+00 1/0 0/0 0/0 .text daSkip2D_IsDelete__FPv */ +static int daSkip2D_IsDelete(void*) { + return 1; } -#pragma pop /* ############################################################################################## */ /* 80D4D6DC-80D4D6FC -00001 0020+00 1/0 0/0 0/0 .data daSkip2D_MethodTable */ SECTION_DATA static void* daSkip2D_MethodTable[8] = { - (void*)daSkip2D_Create__FPv, - (void*)daSkip2D_Delete__FPv, - (void*)daSkip2D_Execute__FPv, - (void*)daSkip2D_IsDelete__FPv, - (void*)daSkip2D_Draw__FPv, + (void*)daSkip2D_Create, + (void*)daSkip2D_Delete, + (void*)daSkip2D_Execute, + (void*)daSkip2D_IsDelete, + (void*)daSkip2D_Draw, (void*)NULL, (void*)NULL, (void*)NULL, @@ -115,106 +116,4 @@ SECTION_DATA extern void* g_profile_SKIP2D[12] = { (void*)NULL, (void*)&g_fopAc_Method, (void*)0x03040000, (void*)&daSkip2D_MethodTable, (void*)0x00040000, (void*)NULL, -}; - -/* 80D4D72C-80D4D738 000050 000C+00 2/2 0/0 0/0 .data __vt__10daSkip2D_c */ -SECTION_DATA extern void* __vt__10daSkip2D_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10daSkip2D_cFv, -}; - -/* 80D4D4F4-80D4D588 0000F4 0094+00 1/1 0/0 0/0 .text create__10daSkip2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSkip2D_c::create() { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/create__10daSkip2D_cFv.s" -} -#pragma pop - -/* 80D4D588-80D4D590 000188 0008+00 1/1 0/0 0/0 .text destroy__10daSkip2D_cFv */ -bool daSkip2D_c::destroy() { - return true; -} - -/* 80D4D590-80D4D5D0 000190 0040+00 1/1 0/0 0/0 .text draw__10daSkip2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSkip2D_c::draw() { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/draw__10daSkip2D_cFv.s" -} -#pragma pop - -/* 80D4D5D0-80D4D5D8 0001D0 0008+00 1/1 0/0 0/0 .text execute__10daSkip2D_cFv */ -bool daSkip2D_c::execute() { - return true; -} - -/* 80D4D5D8-80D4D5EC 0001D8 0014+00 1/1 0/0 0/0 .text initiate__10daSkip2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daSkip2D_c::initiate() { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/initiate__10daSkip2D_cFv.s" -} -#pragma pop - -/* 80D4D5EC-80D4D60C 0001EC 0020+00 1/0 0/0 0/0 .text daSkip2D_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daSkip2D_Create(void* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Create__FPv.s" -} -#pragma pop - -/* 80D4D60C-80D4D62C 00020C 0020+00 1/0 0/0 0/0 .text daSkip2D_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daSkip2D_Delete(void* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Delete__FPv.s" -} -#pragma pop - -/* 80D4D62C-80D4D64C 00022C 0020+00 1/0 0/0 0/0 .text daSkip2D_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daSkip2D_Execute(void* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Execute__FPv.s" -} -#pragma pop - -/* 80D4D64C-80D4D66C 00024C 0020+00 1/0 0/0 0/0 .text daSkip2D_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daSkip2D_Draw(void* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/daSkip2D_Draw__FPv.s" -} -#pragma pop - -/* 80D4D66C-80D4D674 00026C 0008+00 1/0 0/0 0/0 .text daSkip2D_IsDelete__FPv */ -static bool daSkip2D_IsDelete(void* param_0) { - return true; -} - -/* 80D4D674-80D4D6D4 000274 0060+00 1/0 0/0 0/0 .text __dt__10daSkip2D_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daSkip2D_c::~daSkip2D_c() { - nofralloc -#include "asm/rel/d/a/d_a_skip_2D/d_a_skip_2D/__dt__10daSkip2D_cFv.s" -} -#pragma pop +}; \ No newline at end of file diff --git a/rel/d/a/d_a_swc00/d_a_swc00.cpp b/rel/d/a/d_a_swc00/d_a_swc00.cpp index 4c32ca25a0..f372879ee6 100644 --- a/rel/d/a/d_a_swc00/d_a_swc00.cpp +++ b/rel/d/a/d_a_swc00/d_a_swc00.cpp @@ -76,7 +76,7 @@ SECTION_RODATA static f32 const lit_3708 = -100.0f; COMPILER_STRIP_GATE(0x805A1D94, &lit_3708); inline u8 daSwc00_getCondition(daSwc00_c* i_this) { - return i_this->mCollisionRot.x; + return i_this->shape_angle.x; } inline int daSwc00_getShape(daSwc00_c* i_this) { 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 34faa9a8ff..958b1ff626 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 @@ -521,8 +521,8 @@ static int daNPC_TR_Execute(npc_tr_class* npc_tr) { action(npc_tr); mDoMtx_stack_c::transS(npc_tr->current.pos.x, npc_tr->current.pos.y, npc_tr->current.pos.z); - mDoMtx_stack_c::YrotM(npc_tr->mCollisionRot.y + npc_tr->field_0x5f0); - mDoMtx_stack_c::XrotM(npc_tr->mCollisionRot.x); + mDoMtx_stack_c::YrotM(npc_tr->shape_angle.y + npc_tr->field_0x5f0); + mDoMtx_stack_c::XrotM(npc_tr->shape_angle.x); f32 scale = npc_tr->mScale.x * l_HIO.field_0x8; mDoMtx_stack_c::scaleM(scale, scale, scale); diff --git a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp index 21f24d9b9d..6b9e900c68 100644 --- a/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp +++ b/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate.cpp @@ -753,7 +753,7 @@ void daTagTWGate_c::executeDemoFilone3() { if (old_5e1 == 43) { daPy_py_c* player = daPy_getPlayerActorClass(); - csXyz sxyz(0, player->mCollisionRot.y + 0x8000, 0); + csXyz sxyz(0, player->shape_angle.y + 0x8000, 0); mDoMtx_stack_c::transS(player->current.pos); mDoMtx_stack_c::YrotM(sxyz.y); @@ -1013,9 +1013,9 @@ void daTagTWGate_c::initBaseMtx() { mCullMtx = mpMorf->getModel()->getBaseTRMtx(); fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); - mCollisionRot.y = player->mCollisionRot.y + 0x8000; + shape_angle.y = player->shape_angle.y + 0x8000; mDoMtx_stack_c::transS(player->current.pos); - mDoMtx_stack_c::YrotM(mCollisionRot.y); + mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::transM(0.0f, 250.0f, -840.0f); current.pos.x = mDoMtx_stack_c::get()[0][3]; diff --git a/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp b/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp index 88e30b81ed..bfc6a3cb36 100644 --- a/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp +++ b/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.cpp @@ -1,150 +1,104 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_hinit -// +/** + * d_a_tag_hinit.cpp + * + */ #include "rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagHinit_c { - /* 805A3758 */ void create(); - /* 805A3820 */ ~daTagHinit_c(); - /* 805A389C */ 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; -}; +#include "rel/d/a/d_a_horse/d_a_horse.h" // // Forward References: // -extern "C" void create__12daTagHinit_cFv(); -extern "C" static void daTagHinit_Create__FP10fopAc_ac_c(); -extern "C" void __dt__12daTagHinit_cFv(); -extern "C" static void daTagHinit_Delete__FP12daTagHinit_c(); -extern "C" void execute__12daTagHinit_cFv(); -extern "C" static void daTagHinit_Execute__FP12daTagHinit_c(); -extern "C" static bool daTagHinit_Draw__FP12daTagHinit_c(); extern "C" extern void* g_profile_Tag_Hinit[12]; // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_scall(); 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" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: // /* 805A3758-805A3800 000078 00A8+00 1/1 0/0 0/0 .text create__12daTagHinit_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagHinit_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/create__12daTagHinit_cFv.s" +int daTagHinit_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagHinit_c(); + fopAcM_OnCondition(this, 8); + } + + field_0x569 = shape_angle.x; + + if (field_0x569 != 0xFF && i_fopAcM_isSwitch(this, field_0x569)) { + return cPhs_ERROR_e; + } + + field_0x568 = (shape_angle.x >> 8) & 0xFF; + field_0x56c = fopAcM_GetParam(this); + field_0x56e = (fopAcM_GetParam(this) >> 0x10); + + return cPhs_COMPLEATE_e; } -#pragma pop /* 805A3800-805A3820 000120 0020+00 1/0 0/0 0/0 .text daTagHinit_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagHinit_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Create__FP10fopAc_ac_c.s" +static int daTagHinit_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 805A3820-805A3874 000140 0054+00 1/1 0/0 0/0 .text __dt__12daTagHinit_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagHinit_c::~daTagHinit_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/__dt__12daTagHinit_cFv.s" -} -#pragma pop +daTagHinit_c::~daTagHinit_c() {} /* 805A3874-805A389C 000194 0028+00 1/0 0/0 0/0 .text daTagHinit_Delete__FP12daTagHinit_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagHinit_Delete(daTagHinit_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Delete__FP12daTagHinit_c.s" +static int daTagHinit_Delete(daTagHinit_c* i_this) { + i_this->~daTagHinit_c(); + return 1; } -#pragma pop /* 805A389C-805A39B8 0001BC 011C+00 1/1 0/0 0/0 .text execute__12daTagHinit_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagHinit_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/execute__12daTagHinit_cFv.s" +int daTagHinit_c::execute() { + if ((field_0x56c == 0xFFFF || + i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x56c])) && + (field_0x56e == 0xFFFF || + !i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x56e])) && + (field_0x568 == 0xFF || i_fopAcM_isSwitch(this, field_0x568))) { + if (field_0x569 != 0xFF) { + i_fopAcM_onSwitch(this, field_0x569); + } + + daHorse_c* horse = i_dComIfGp_getHorseActor(); + horse->i_setHorsePosAndAngle(¤t.pos, shape_angle.y); + horse->offNoDrawWait(); + fopAcM_delete(this); + } + + return 1; } -#pragma pop /* 805A39B8-805A39D8 0002D8 0020+00 1/0 0/0 0/0 .text daTagHinit_Execute__FP12daTagHinit_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagHinit_Execute(daTagHinit_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_hinit/d_a_tag_hinit/daTagHinit_Execute__FP12daTagHinit_c.s" +static int daTagHinit_Execute(daTagHinit_c* i_this) { + return i_this->execute(); } -#pragma pop /* 805A39D8-805A39E0 0002F8 0008+00 1/0 0/0 0/0 .text daTagHinit_Draw__FP12daTagHinit_c */ -static bool daTagHinit_Draw(daTagHinit_c* param_0) { - return true; +static int daTagHinit_Draw(daTagHinit_c*) { + return 1; } /* ############################################################################################## */ /* 805A39E8-805A3A08 -00001 0020+00 1/0 0/0 0/0 .data l_daTagHinit_Method */ SECTION_DATA static void* l_daTagHinit_Method[8] = { - (void*)daTagHinit_Create__FP10fopAc_ac_c, - (void*)daTagHinit_Delete__FP12daTagHinit_c, - (void*)daTagHinit_Execute__FP12daTagHinit_c, + (void*)daTagHinit_Create, + (void*)daTagHinit_Delete, + (void*)daTagHinit_Execute, (void*)NULL, - (void*)daTagHinit_Draw__FP12daTagHinit_c, + (void*)daTagHinit_Draw, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp b/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp index 50d9b5f318..b310eb1ce4 100644 --- a/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp +++ b/rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.cpp @@ -121,7 +121,7 @@ dMsgFlow_c daTagHstop_c::m_msgFlow; int daTagHstop_c::execute() { if (mEvtInfo.checkCommandTalk()) { if (field_0x573 == 2) { - m_msgFlow.init(this, (u16)mCollisionRot.z, 0, NULL); + m_msgFlow.init(this, (u16)shape_angle.z, 0, NULL); field_0x573 = 3; } else if (m_msgFlow.doFlow(this, NULL, 0)) { i_dComIfGp_getEvent().reset(); diff --git a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp index 5e6531a913..c561240b68 100644 --- a/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp +++ b/rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.cpp @@ -120,7 +120,7 @@ bool daTag_Lv5Soup_c::isAreaCheck() { f32 boundX = mScale.x * 100.0f; f32 boundY = mScale.y * 100.0f; - if (sqrtf(dist.abs2XZ()) < boundX && -boundY < dist.y && dist.y < boundY) { + if (dist.absXZ() < boundX && -boundY < dist.y && dist.y < boundY) { return true; } else { return false; diff --git a/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp b/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp index ec5321ba4e..aa111959a6 100644 --- a/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp +++ b/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.cpp @@ -1,201 +1,150 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_setrestart -// +/** + * d_a_tag_setrestart.cpp + * RMBack0 + * Sets player room restart info + */ #include "rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h" +#include "d/com/d_com_inf_game.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 Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80D60520 */ ~cXyz(); - /* 80D6055C */ cXyz(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daTagRestart_c { - /* 80D603F8 */ void Create(); - /* 80D6048C */ void create(); - /* 80D60560 */ void execute(); - /* 80D60744 */ bool _delete(); -}; - -struct dSv_restart_c { - /* 80034F80 */ void setRoom(cXyz const&, s16, s8); -}; // // Forward References: // -extern "C" void Create__14daTagRestart_cFv(); -extern "C" void create__14daTagRestart_cFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void execute__14daTagRestart_cFv(); -extern "C" bool _delete__14daTagRestart_cFv(); -extern "C" static void daTagRestart_Execute__FP14daTagRestart_c(); -extern "C" static void daTagRestart_Delete__FP14daTagRestart_c(); -extern "C" static void daTagRestart_Create__FP10fopAc_ac_c(); extern "C" extern void* g_profile_Tag_Restart[12]; // // External References: // -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc(); -extern "C" void __pl__4cXyzCFRC3Vec(); extern "C" void __dl__FPv(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSubtract(); -extern "C" void __construct_array(); -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" f32 mGroundY__11fopAcM_gc_c; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; // // Declarations: // -/* ############################################################################################## */ -/* 80D607B4-80D607B8 000000 0004+00 2/2 0/0 0/0 .rodata @3650 */ -SECTION_RODATA static f32 const lit_3650 = -100.0f; -COMPILER_STRIP_GATE(0x80D607B4, &lit_3650); - -/* 80D607B8-80D607BC 000004 0004+00 0/2 0/0 0/0 .rodata @3651 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3651 = 100.0f; -COMPILER_STRIP_GATE(0x80D607B8, &lit_3651); -#pragma pop - -/* 80D607BC-80D607C0 000008 0004+00 0/2 0/0 0/0 .rodata @3652 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3652[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D607BC, &lit_3652); -#pragma pop - /* 80D603F8-80D6048C 000078 0094+00 1/1 0/0 0/0 .text Create__14daTagRestart_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRestart_c::Create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/Create__14daTagRestart_cFv.s" +int daTagRestart_c::Create() { + field_0x56c[0].x = mScale.x * -100.0f; + field_0x56c[0].z = mScale.z * -100.0f; + + field_0x56c[1].x = mScale.x * 100.0f; + field_0x56c[1].z = mScale.z * -100.0f; + + field_0x56c[2].x = mScale.x * 100.0f; + field_0x56c[2].z = mScale.z * 100.0f; + + field_0x56c[3].x = mScale.x * -100.0f; + field_0x56c[3].z = mScale.z * 100.0f; + + field_0x56c[3].y = 0.0f; + field_0x56c[2].y = 0.0f; + field_0x56c[1].y = 0.0f; + field_0x56c[0].y = 0.0f; + + mPlayerRoomNo = -1; + return 1; } -#pragma pop /* 80D6048C-80D60520 00010C 0094+00 1/1 0/0 0/0 .text create__14daTagRestart_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRestart_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/func_80D6048C.s" +int daTagRestart_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagRestart_c(); + fopAcM_OnCondition(this, 8); + } + + if (!Create()) { + return cPhs_ERROR_e; + } + + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D60520-80D6055C 0001A0 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/__dt__4cXyzFv.s" } #pragma pop /* 80D6055C-80D60560 0001DC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { - /* empty function */ -} +// cXyz::cXyz() { +extern "C" void __ct__4cXyzFv() {} /* 80D60560-80D60744 0001E0 01E4+00 1/1 0/0 0/0 .text execute__14daTagRestart_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRestart_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/execute__14daTagRestart_cFv.s" +int daTagRestart_c::execute() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + + cXyz player_pos = player->current.pos; + player_pos -= orig.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&player_pos, &player_pos); + + if (field_0x56c[0].x < player_pos.x && field_0x56c[0].z < player_pos.z && + field_0x56c[2].x > player_pos.x && field_0x56c[2].z > player_pos.z) { + int roomNo = dComIfGp_roomControl_getStayNo(); + if (roomNo != mPlayerRoomNo) { + cXyz pos_offset; + s16 restart_angle; + if (roomNo == daTagRestart_prm::getFRoomNo(this)) { + restart_angle = orig.angle.y; + pos_offset.set(0.0f, 0.0f, 100.0f); + } else { + restart_angle = orig.angle.y + 0x8000; + pos_offset.set(0.0f, 0.0f, -100.0f); + } + + pos_offset.y += 100.0f; + mDoMtx_stack_c::YrotS(orig.angle.y); + mDoMtx_stack_c::multVec(&pos_offset, &pos_offset); + cXyz restart_pos = current.pos + pos_offset; + + if (fopAcM_gc_c::gndCheck(&restart_pos)) { + restart_pos.y = fopAcM_gc_c::getGroundY(); + } + + s32 player_roomNo = fopAcM_GetRoomNo(player); + dComIfGs_setRestartRoom(restart_pos, restart_angle, player_roomNo); + } + } + + mPlayerRoomNo = fopAcM_GetRoomNo(player); + return 1; } -#pragma pop /* 80D60744-80D6074C 0003C4 0008+00 1/1 0/0 0/0 .text _delete__14daTagRestart_cFv */ -bool daTagRestart_c::_delete() { - return true; +int daTagRestart_c::_delete() { + return 1; } /* 80D6074C-80D6076C 0003CC 0020+00 1/0 0/0 0/0 .text daTagRestart_Execute__FP14daTagRestart_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRestart_Execute(daTagRestart_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Execute__FP14daTagRestart_c.s" +static int daTagRestart_Execute(daTagRestart_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80D6076C-80D6078C 0003EC 0020+00 1/0 0/0 0/0 .text daTagRestart_Delete__FP14daTagRestart_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRestart_Delete(daTagRestart_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Delete__FP14daTagRestart_c.s" +static int daTagRestart_Delete(daTagRestart_c* i_this) { + return i_this->_delete(); } -#pragma pop /* 80D6078C-80D607AC 00040C 0020+00 1/0 0/0 0/0 .text daTagRestart_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRestart_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart/daTagRestart_Create__FP10fopAc_ac_c.s" +static int daTagRestart_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* ############################################################################################## */ /* 80D607C0-80D607E0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagRestart_Method */ SECTION_DATA static void* l_daTagRestart_Method[8] = { - (void*)daTagRestart_Create__FP10fopAc_ac_c, - (void*)daTagRestart_Delete__FP14daTagRestart_c, - (void*)daTagRestart_Execute__FP14daTagRestart_c, + (void*)daTagRestart_Create, + (void*)daTagRestart_Delete, + (void*)daTagRestart_Execute, (void*)NULL, (void*)NULL, (void*)NULL, diff --git a/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp b/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp index 9e3058b28d..9742c4be23 100644 --- a/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp +++ b/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.cpp @@ -4,70 +4,114 @@ // #include "rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagWrHowl_c { - /* 80D63F38 */ daTagWrHowl_c(); - /* 80D63F74 */ ~daTagWrHowl_c(); - /* 80D63FD4 */ void create(); - /* 80D6402C */ bool Delete(); - /* 80D64034 */ bool draw(); - /* 80D6403C */ void execute(); - /* 80D64090 */ void init(); - /* 80D640B4 */ void chkWlfInTag(); -}; - -// -// Forward References: -// - -extern "C" void __ct__13daTagWrHowl_cFv(); -extern "C" void __dt__13daTagWrHowl_cFv(); -extern "C" void create__13daTagWrHowl_cFv(); -extern "C" bool Delete__13daTagWrHowl_cFv(); -extern "C" bool draw__13daTagWrHowl_cFv(); -extern "C" void execute__13daTagWrHowl_cFv(); -extern "C" void init__13daTagWrHowl_cFv(); -extern "C" void chkWlfInTag__13daTagWrHowl_cFv(); -extern "C" static void daTagWrHowl_create__FP13daTagWrHowl_c(); -extern "C" static void daTagWrHowl_Delete__FP13daTagWrHowl_c(); -extern "C" static void daTagWrHowl_execute__FP13daTagWrHowl_c(); -extern "C" static void daTagWrHowl_draw__FP13daTagWrHowl_c(); // // External References: // -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void __dl__FPv(); -extern "C" void PSVECSquareDistance(); extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; // // Declarations: // +/* 80D63F38-80D63F74 000078 003C+00 2/2 0/0 0/0 .text __ct__13daTagWrHowl_cFv */ +daTagWrHowl_c::daTagWrHowl_c() {} + +/* 80D63F74-80D63FD4 0000B4 0060+00 1/0 0/0 0/0 .text __dt__13daTagWrHowl_cFv */ +daTagWrHowl_c::~daTagWrHowl_c() {} + +/* 80D63FD4-80D6402C 000114 0058+00 1/1 0/0 0/0 .text create__13daTagWrHowl_cFv */ +int daTagWrHowl_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagWrHowl_c(); + fopAcM_OnCondition(this, 8); + } + + init(); + return cPhs_COMPLEATE_e; +} + +/* 80D6402C-80D64034 00016C 0008+00 1/1 0/0 0/0 .text Delete__13daTagWrHowl_cFv */ +int daTagWrHowl_c::Delete() { + return 1; +} + +/* 80D64034-80D6403C 000174 0008+00 1/1 0/0 0/0 .text draw__13daTagWrHowl_cFv */ +int daTagWrHowl_c::draw() { + return 1; +} + +/* 80D6403C-80D64090 00017C 0054+00 1/1 0/0 0/0 .text execute__13daTagWrHowl_cFv */ +int daTagWrHowl_c::execute() { + mAttentionInfo.mFlags = 0; + + if (chkWlfInTag()) { + mAttentionInfo.mFlags |= 0x80; + mAttentionInfo.field_0x4[3] = 65; + } + + return 1; +} + +/* 80D64090-80D640B4 0001D0 0024+00 1/1 0/0 0/0 .text init__13daTagWrHowl_cFv */ +void daTagWrHowl_c::init() { + field_0x56c = 50.0f * mScale.x; + field_0x570 = field_0x56c * field_0x56c; +} + +/* 80D640B4-80D64144 0001F4 0090+00 1/1 0/0 0/0 .text chkWlfInTag__13daTagWrHowl_cFv */ +bool daTagWrHowl_c::chkWlfInTag() { + if (dComIfGp_getPlayer(0) == NULL) { + return false; + } + + if (daPy_py_c::i_checkNowWolf()) { + cXyz player_pos = dComIfGp_getPlayer(0)->current.pos; + if (player_pos.abs2(current.pos) < field_0x570) { + return true; + } + } + + return false; +} + +/* 80D64144-80D64198 000284 0054+00 1/0 0/0 0/0 .text daTagWrHowl_create__FP13daTagWrHowl_c */ +static int daTagWrHowl_create(daTagWrHowl_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daTagWrHowl_c(); + fopAcM_OnCondition(i_this, 8); + } + + return i_this->create(); +} + +/* 80D64198-80D641B8 0002D8 0020+00 1/0 0/0 0/0 .text daTagWrHowl_Delete__FP13daTagWrHowl_c */ +static int daTagWrHowl_Delete(daTagWrHowl_c* i_this) { + return i_this->Delete(); +} + +/* 80D641B8-80D641D8 0002F8 0020+00 1/0 0/0 0/0 .text daTagWrHowl_execute__FP13daTagWrHowl_c */ +static int daTagWrHowl_execute(daTagWrHowl_c* i_this) { + return i_this->execute(); +} + +/* 80D641D8-80D641F8 000318 0020+00 1/0 0/0 0/0 .text daTagWrHowl_draw__FP13daTagWrHowl_c + */ +static int daTagWrHowl_draw(daTagWrHowl_c* i_this) { + return i_this->draw(); +} + /* ############################################################################################## */ /* 80D64204-80D64224 -00001 0020+00 1/0 0/0 0/0 .data daTagWrHowl_METHODS */ SECTION_DATA static void* daTagWrHowl_METHODS[8] = { - (void*)daTagWrHowl_create__FP13daTagWrHowl_c, - (void*)daTagWrHowl_Delete__FP13daTagWrHowl_c, - (void*)daTagWrHowl_execute__FP13daTagWrHowl_c, + (void*)daTagWrHowl_create, + (void*)daTagWrHowl_Delete, + (void*)daTagWrHowl_execute, (void*)NULL, - (void*)daTagWrHowl_draw__FP13daTagWrHowl_c, + (void*)daTagWrHowl_draw, (void*)NULL, (void*)NULL, (void*)NULL, @@ -81,127 +125,4 @@ SECTION_DATA extern void* g_profile_Tag_WaraHowl[12] = { (void*)NULL, (void*)&g_fopAc_Method, (void*)0x02DD0000, (void*)&daTagWrHowl_METHODS, (void*)0x00040000, (void*)0x000E0000, -}; - -/* 80D64254-80D64260 000050 000C+00 2/2 0/0 0/0 .data __vt__13daTagWrHowl_c */ -SECTION_DATA extern void* __vt__13daTagWrHowl_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daTagWrHowl_cFv, -}; - -/* 80D63F38-80D63F74 000078 003C+00 2/2 0/0 0/0 .text __ct__13daTagWrHowl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagWrHowl_c::daTagWrHowl_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__ct__13daTagWrHowl_cFv.s" -} -#pragma pop - -/* 80D63F74-80D63FD4 0000B4 0060+00 1/0 0/0 0/0 .text __dt__13daTagWrHowl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagWrHowl_c::~daTagWrHowl_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/__dt__13daTagWrHowl_cFv.s" -} -#pragma pop - -/* 80D63FD4-80D6402C 000114 0058+00 1/1 0/0 0/0 .text create__13daTagWrHowl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagWrHowl_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/create__13daTagWrHowl_cFv.s" -} -#pragma pop - -/* 80D6402C-80D64034 00016C 0008+00 1/1 0/0 0/0 .text Delete__13daTagWrHowl_cFv */ -bool daTagWrHowl_c::Delete() { - return true; -} - -/* 80D64034-80D6403C 000174 0008+00 1/1 0/0 0/0 .text draw__13daTagWrHowl_cFv */ -bool daTagWrHowl_c::draw() { - return true; -} - -/* 80D6403C-80D64090 00017C 0054+00 1/1 0/0 0/0 .text execute__13daTagWrHowl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagWrHowl_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/execute__13daTagWrHowl_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80D64200-80D64204 000000 0004+00 1/1 0/0 0/0 .rodata @3680 */ -SECTION_RODATA static f32 const lit_3680 = 50.0f; -COMPILER_STRIP_GATE(0x80D64200, &lit_3680); - -/* 80D64090-80D640B4 0001D0 0024+00 1/1 0/0 0/0 .text init__13daTagWrHowl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagWrHowl_c::init() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/init__13daTagWrHowl_cFv.s" -} -#pragma pop - -/* 80D640B4-80D64144 0001F4 0090+00 1/1 0/0 0/0 .text chkWlfInTag__13daTagWrHowl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagWrHowl_c::chkWlfInTag() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/chkWlfInTag__13daTagWrHowl_cFv.s" -} -#pragma pop - -/* 80D64144-80D64198 000284 0054+00 1/0 0/0 0/0 .text daTagWrHowl_create__FP13daTagWrHowl_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWrHowl_create(daTagWrHowl_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_create__FP13daTagWrHowl_c.s" -} -#pragma pop - -/* 80D64198-80D641B8 0002D8 0020+00 1/0 0/0 0/0 .text daTagWrHowl_Delete__FP13daTagWrHowl_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWrHowl_Delete(daTagWrHowl_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_Delete__FP13daTagWrHowl_c.s" -} -#pragma pop - -/* 80D641B8-80D641D8 0002F8 0020+00 1/0 0/0 0/0 .text daTagWrHowl_execute__FP13daTagWrHowl_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWrHowl_execute(daTagWrHowl_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_execute__FP13daTagWrHowl_c.s" -} -#pragma pop - -/* 80D641D8-80D641F8 000318 0020+00 1/0 0/0 0/0 .text daTagWrHowl_draw__FP13daTagWrHowl_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagWrHowl_draw(daTagWrHowl_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl/daTagWrHowl_draw__FP13daTagWrHowl_c.s" -} -#pragma pop +}; \ No newline at end of file diff --git a/src/__start.c b/src/__start.c index 2c7a0dc4b4..a022ef7430 100644 --- a/src/__start.c +++ b/src/__start.c @@ -6,10 +6,10 @@ // Forward References: // -SECTION_INIT void __check_pad3(); -SECTION_INIT void __set_debug_bba(); -SECTION_INIT u8 __get_debug_bba(); -SECTION_INIT void __start(); +SECTION_INIT void __check_pad3(void); +SECTION_INIT void __set_debug_bba(void); +SECTION_INIT u8 __get_debug_bba(void); +SECTION_INIT void __start(void); // // External References: @@ -51,11 +51,116 @@ SECTION_INIT u8 __get_debug_bba(void) { } /* 80003154-800032B0 000054 015C+00 0/0 1/0 0/0 .init __start */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -SECTION_INIT asm void __start() { +SECTION_INIT asm void __start(void) { + // clang-format off nofralloc -#include "asm/init/__start.s" + + bl __init_registers + bl __init_hardware + li r0, -1 + stwu r1, -8(r1) + stw r0, 4(r1) + stw r0, 0(r1) + bl __init_data + li r0, 0 + lis r6, 0x8000 + addi r6, r6, 0x0044 + stw r0, 0(r6) + lis r6, 0x8000 + addi r6, r6, 0x00F4 + lwz r6, 0(r6) + cmplwi r6, 0 + beq lbl_8000319C + lwz r7, 0xc(r6) + b lbl_800031BC + +lbl_8000319C: + lis r5, 0x8000 + addi r5, r5, 0x0034 + lwz r5, 0(r5) + cmplwi r5, 0 + beq lbl_800031F8 + lis r7, 0x8000 + addi r7, r7, 0x30E8 + lwz r7, 0(r7) + +lbl_800031BC: + li r5, 0 + cmplwi r7, 2 + beq lbl_800031E8 + cmplwi r7, 3 + li r5, 1 + beq lbl_800031E8 + cmplwi r7, 4 + bne lbl_800031F8 + li r5, 2 + bl __set_debug_bba + b lbl_800031F8 + +lbl_800031E8: + lis r6, InitMetroTRK@ha + addi r6, r6, InitMetroTRK@l + mtlr r6 + blrl + +lbl_800031F8: + lis r6, 0x8000 + addi r6, r6, 0x00F4 + lwz r5, 0(r6) + cmplwi r5, 0 + beq+ lbl_80003258 + lwz r6, 8(r5) + cmplwi r6, 0 + beq+ lbl_80003258 + add r6, r5, r6 + lwz r14, 0(r6) + cmplwi r14, 0 + beq lbl_80003258 + addi r15, r6, 4 + mtctr r14 + +lbl_80003230: + addi r6, r6, 4 + lwz r7, 0(r6) + add r7, r7, r5 + stw r7, 0(r6) + bdnz lbl_80003230 + lis r5, 0x8000 + addi r5, r5, 0x0034 + rlwinm r7, r15, 0, 0, 0x1a + stw r7, 0(r5) + b lbl_80003260 + +lbl_80003258: + li r14, 0 + li r15, 0 + +lbl_80003260: + bl DBInit + bl OSInit + lis r4, 0x8000 + addi r4, r4, 0x30E6 + lhz r3, 0(r4) + andi. r5, r3, 0x8000 + beq lbl_80003288 + andi. r3, r3, 0x7fff + cmplwi r3, 1 + bne lbl_8000328C + +lbl_80003288: + bl __check_pad3 + +lbl_8000328C: + bl __get_debug_bba + cmplwi r3, 1 + bne lbl_8000329C + bl InitMetroTRK_BBA + +lbl_8000329C: + bl __init_user + mr r3, r14 + mr r4, r15 + bl main + b exit + // clang-format on } -#pragma pop diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 787cc79044..6b7ac4fac9 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -16,6 +16,7 @@ #include "d/d_item.h" #include "d/d_path.h" #include "d/d_procname.h" +#include "d/d_demo.h" #include "d/msg/d_msg_object.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -26,6 +27,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/d_a_scene_exit/d_a_scene_exit.h" +#include "rel/d/a/d_a_mg_rod/d_a_mg_rod.h" +#include "rel/d/a/d_a_spinner/d_a_spinner.h" #include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" #include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" @@ -64,12 +67,7 @@ struct daNpcT_ActorMngr_c { }; struct daMirror_c { - /* 8003194C */ void entry(J3DModel*); -}; - -struct dDemo_actor_c { - /* 8003819C */ void getPrm_Morf(); - /* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*); + /* 8003194C */ static void entry(J3DModel*); }; struct dPaPoF_c { @@ -86,17 +84,6 @@ struct dInsect_c { /* 80110648 */ void Insect_Release(); }; -struct dDemo_object_c { - /* 80039088 */ void getActor(u8); -}; - -struct dDemo_c { - /* 80039EEC */ void setBranchId(u16, s16); - - static u16 m_branchId[1 + 3 /* padding */]; - static u8 m_object[4]; -}; - struct JASKernel { /* 80290B08 */ void getAramHeap(); }; @@ -3218,6 +3205,10 @@ SECTION_SDATA2 static u8 lit_6108[4] = { 0x00, }; +// temporary for literal matching +bool daAlink_c::checkInputOnR() const { return field_0x33ac > /* 0.05f */ lit_6021; } +bool daAlink_c::checkWindSpeedOnXZ() const { return field_0x35b8.abs2XZ() > lit_6040 /* 1.0f */; } + /* 8009D8E4-8009D90C 098224 0028+00 2/2 0/0 0/0 .text init__16daAlink_matAnm_cFv */ void daAlink_matAnm_c::init() { f32 tmp_0 = FLOAT_LABEL(lit_6108); @@ -3251,18 +3242,18 @@ asm void daAlink_matAnm_c::calc(J3DMaterial* param_0) const { if (mSetFlag == 0) { f32 tmp = 1.0f / sMorfFrame; info->field_0x10.field_0xc = field_0xf4 * (1.0f - tmp) + -info->field_0x10.field_0xc * tmp; info->field_0x10.field_0x10 = field_0xf8 * (1.0f - tmp) + +info->field_0x10.field_0xc * tmp; info->field_0x10.mCheckFrame = field_0xf8 * (1.0f - tmp) + info->field_0x10.field_0xc * tmp; //mSetFlag = 1; } else { info->field_0x10.field_0xc = field_0xf4; - info->field_0x10.field_0x10 = field_0xf8; + info->field_0x10.mCheckFrame = field_0xf8; } } if (struct_80450FC8) { info->field_0x10.field_0xc = mNowOffsetX; - info->field_0x10.field_0x10 = mNowOffsetY; + info->field_0x10.mCheckFrame = mNowOffsetY; } @@ -3322,9 +3313,9 @@ void daAlink_c::setMatrixWorldAxisRot(MtxP param_0, s16 param_1, s16 param_2, s1 } concatMagneBootMtx(); - mDoMtx_stack_c::YrotM(mCollisionRot.y); + mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::ZXYrotM(param_1, param_2, param_3); - mDoMtx_stack_c::YrotM(-mCollisionRot.y); + mDoMtx_stack_c::YrotM(-shape_angle.y); concatMagneBootInvMtx(); mDoMtx_stack_c::transM(-tmp.x, -tmp.y, -tmp.z); PSMTXConcat(mDoMtx_stack_c::get(), param_0, mDoMtx_stack_c::get()); @@ -4355,19 +4346,15 @@ SECTION_SDATA2 static u8 effName_42224[4] = { }; /* 80453110-80453114 001710 0004+00 1/1 0/0 0/0 .sdata2 effName$42309 */ -SECTION_SDATA2 static u8 effName_42309[4] = { - 0x08, - 0x14, - 0x08, - 0x15, +SECTION_SDATA2 static u16 effName_42309[2] = { + 0x0814, + 0x0815, }; /* 80453114-80453118 001714 0004+00 1/1 0/0 0/0 .sdata2 effName$42340 */ -SECTION_SDATA2 static u8 effName_42340[4] = { - 0x08, - 0x16, - 0x08, - 0x17, +SECTION_SDATA2 static u16 effName_42340[2] = { + 0x0816, + 0x0817, }; /* 80453118-8045311C 001718 0004+00 4/4 0/0 0/0 .sdata2 @42493 */ @@ -4554,14 +4541,9 @@ asm void daAlink_c::setHatAngle() { #pragma pop /* 8009FFF8-800A002C 09A938 0034+00 1/1 0/0 0/0 .text calcHairAngle__9daAlink_cFPs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::calcHairAngle(s16* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/calcHairAngle__9daAlink_cFPs.s" +void daAlink_c::calcHairAngle(s16* o_angle) { + cLib_addCalcAngleS(o_angle, 0, 5, 400, 50); } -#pragma pop /* ############################################################################################## */ /* 804531F8-804531FC 0017F8 0004+00 2/2 0/0 0/0 .sdata2 @55145 */ @@ -4625,7 +4607,7 @@ bool daAlink_c::checkAttentionPosAngle(cXyz* param_0) { int tmp; if (i_checkModeFlg(MODE_RIDING) || i_checkEndResetFlg0(ERFLG0_UNK_400)) { - tmp = daAlinkHIO_horse_c0::m.field_0x52; + tmp = daAlinkHIO_horse_c0::m.mSearchRangeAngle; } else { tmp = 0x6000; } @@ -4703,21 +4685,20 @@ asm void daAlink_c::setNeckAngle() { /* 800A2160-800A2198 09CAA0 0038+00 1/0 0/0 0/0 .text getStickAngleFromPlayerShape__9daAlink_cCFPs */ -bool daAlink_c::getStickAngleFromPlayerShape(s16* param_0) const { - // inline uses literal - // if (checkInputOnR()) { - if (field_0x33ac > lit_6021) { - *param_0 = field_0x2fe2 - mCollisionRot.y; +bool daAlink_c::getStickAngleFromPlayerShape(s16* o_angle) const { + if (checkInputOnR()) { + *o_angle = field_0x2fe2 - shape_angle.y; return true; } - *param_0 = 0; + + *o_angle = 0; return false; } /* 800A2198-800A21E0 09CAD8 0048+00 42/42 0/0 0/0 .text commonLineCheck__9daAlink_cFP4cXyzP4cXyz */ -bool daAlink_c::commonLineCheck(cXyz* param_0, cXyz* param_1) { - mLinkLinChk.Set(param_0, param_1, this); +bool daAlink_c::commonLineCheck(cXyz* i_startPos, cXyz* i_endPos) { + mLinkLinChk.Set(i_startPos, i_endPos, this); return dComIfG_Bgsp().LineCross(&mLinkLinChk); } @@ -4728,14 +4709,16 @@ s16 daAlink_c::getMoveBGActorName(cBgS_PolyInfo& param_0, int param_1) { dComIfG_Bgsp().ChkMoveBG_NoDABg(param_0) && dComIfG_Bgsp().GetActorPointer(param_0)) { return fopAcM_GetName(dComIfG_Bgsp().GetActorPointer(param_0)); } + return PROC_ALINK; } /* 800A2280-800A22E8 09CBC0 0068+00 2/2 0/0 0/0 .text checkGoronRide__9daAlink_cFv */ fopAc_ac_c* daAlink_c::checkGoronRide() { - if (mLinkAcch.ChkGroundHit() && getMoveBGActorName(mLinkAcch.m_gnd, 0) == 0x21) { + if (mLinkAcch.ChkGroundHit() && getMoveBGActorName(mLinkAcch.m_gnd, 0) == PROC_OBJ_GRA) { return dComIfG_Bgsp().GetActorPointer(mLinkAcch.m_gnd); } + return NULL; } @@ -4954,8 +4937,8 @@ SECTION_RODATA static u8 const l_ironBallChainVec[12] = { COMPILER_STRIP_GATE(0x8038FB44, &l_ironBallChainVec); /* 8038FB50-8038FB5C 01C1B0 000C+00 1/2 0/0 0/0 .rodata l_ironBallCenterVec */ -SECTION_RODATA static u8 const l_ironBallCenterVec[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x28, 0x00, 0x00, +SECTION_RODATA static Vec const l_ironBallCenterVec = { + 0.0f, 0.0f, 42.0f, }; COMPILER_STRIP_GATE(0x8038FB50, &l_ironBallCenterVec); @@ -5625,15 +5608,65 @@ static int const normalType3[5] = {4, 0, 1, 2, 1}; static int const finishType[5] = {2, 0, 0, 5, 1}; #pragma pop +struct daAlink_cutParamTbl { + /* 0x0 */ daAlink_c::daAlink_ANM m_anmID; + /* 0x4 */ int field_0x4; + /* 0x8 */ u8 m_cutType; + /* 0x9 */ u8 m_atSe; + /* 0xA */ u8 field_0xa; + /* 0xB */ u8 field_0xb; + /* 0xC */ f32 m_morf; +}; // Size: 0x10 + /* 80391808-80391858 01DE68 0050+00 0/1 0/0 0/0 .rodata cutParamTable$7312 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const cutParamTable_7312[80] = { - 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x6F, 0x01, 0x01, 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x6F, 0x04, 0x01, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x6F, 0x03, 0x01, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6F, 0x21, 0x0E, 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x70, 0x02, 0x0E, 0x00, 0x00, 0x40, 0xC0, 0x00, 0x00, +SECTION_RODATA static daAlink_cutParamTbl const cutParamTable_7312[5] = { + { + daAlink_c::ANM_CUT_NM_VERTICAL, + 0x6F, + daAlink_c::CUT_TYPE_NM_VERTICAL, + 1, + 0, + 0, + 6.0f, + }, + { + daAlink_c::ANM_CUT_NM_LEFT, + 0x6F, + daAlink_c::CUT_TYPE_NM_LEFT, + 1, + 0, + 0, + 5.0f, + }, + { + daAlink_c::ANM_CUT_NM_RIGHT, + 0x6F, + daAlink_c::CUT_TYPE_NM_RIGHT, + 1, + 0, + 0, + 5.0f, + }, + { + daAlink_c::ANM_CUT_COMBO_STAB, + 0x6F, + daAlink_c::CUT_TYPE_COMBO_STAB, + 14, + 0, + 0, + 6.0f, + }, + { + daAlink_c::ANM_CUT_NM_STAB, + 0x70, + daAlink_c::CUT_TYPE_NM_STAB, + 14, + 0, + 0, + 6.0f, + }, }; COMPILER_STRIP_GATE(0x80391808, &cutParamTable_7312); #pragma pop @@ -5641,13 +5674,61 @@ COMPILER_STRIP_GATE(0x80391808, &cutParamTable_7312); /* 80391858-803918B8 01DEB8 0060+00 0/1 0/0 0/0 .rodata cutParamTable$7455 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const cutParamTable_7455[96] = { - 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x6F, 0x06, 0x01, 0x64, 0x64, 0x40, 0xA0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x6F, 0x07, 0x01, 0x64, 0x64, 0x41, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6F, 0x20, 0x0E, 0x64, 0x64, 0x41, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6F, 0x1A, 0x01, 0x05, 0x0C, 0x41, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x6F, 0x1F, 0x01, 0x07, 0x0E, 0x41, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6F, 0x15, 0x01, 0x64, 0x64, 0x41, 0x20, 0x00, 0x00, +SECTION_RODATA static daAlink_cutParamTbl const cutParamTable_7455[6] = { + { + daAlink_c::ANM_CUT_FINISH_LEFT, + 0x6F, + daAlink_c::CUT_TYPE_FINISH_LEFT, + 1, + 100, + 100, + 5.0f, + }, + { + daAlink_c::ANM_CUT_FINISH_VERTICAL, + 0x6F, + daAlink_c::CUT_TYPE_FINISH_VERTICAL, + 1, + 100, + 100, + 8.0f, + }, + { + daAlink_c::ANM_CUT_FINISH_STAB, + 0x6F, + daAlink_c::CUT_TYPE_FINISH_STAB, + 14, + 100, + 100, + 10.0f, + }, + { + daAlink_c::ANM_CUT_MORTAL_DRAW_A, + 0x6F, + daAlink_c::CUT_TYPE_MORTAL_DRAW_A, + 1, + 5, + 12, + 10.0f, + }, + { + daAlink_c::ANM_CUT_MORTAL_DRAW_B, + 0x6F, + daAlink_c::CUT_TYPE_MORTAL_DRAW_B, + 1, + 7, + 14, + 10.0f, + }, + { + daAlink_c::ANM_CUT_FINISH_RIGHT, + 0x6F, + daAlink_c::CUT_TYPE_FINISH_RIGHT, + 1, + 100, + 100, + 10.0f, + }, }; COMPILER_STRIP_GATE(0x80391858, &cutParamTable_7455); #pragma pop @@ -5812,8 +5893,8 @@ SECTION_RODATA static u8 const anmIdx[10 + 2 /* padding */] = { COMPILER_STRIP_GATE(0x803919D8, &anmIdx); /* 803919E4-803919F0 01E044 000C+00 1/1 0/0 0/0 .rodata localPaddleTop$20605 */ -SECTION_RODATA static u8 const localPaddleTop[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x1E, 0x00, 0x00, +SECTION_RODATA static Vec const localPaddleTop = { + 0.0f, 0.0f, -158.0f, }; COMPILER_STRIP_GATE(0x803919E4, &localPaddleTop); @@ -6241,10 +6322,19 @@ SECTION_RODATA static u8 const wolfChainVec[12] = { COMPILER_STRIP_GATE(0x80391E3C, &wolfChainVec); /* 80391E48-80391E78 01E4A8 0030+00 1/1 0/0 0/0 .rodata label$45760 */ -SECTION_RODATA static u8 const label[48] = { - 0x00, 0x01, 0x00, 0x30, 0x00, 0x01, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x31, 0x00, 0x01, 0x00, 0x2F, - 0x00, 0x01, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x33, 0x00, 0x01, 0x00, 0xB1, 0x00, 0x01, 0x00, 0xB5, - 0x00, 0x01, 0x00, 0xB6, 0x00, 0x01, 0x00, 0xB7, 0x00, 0x01, 0x00, 0xB9, 0x00, 0x01, 0x00, 0x3F, +SECTION_RODATA static u32 const label[12] = { + Z2SE_WL_V_BREATH_SIT, + Z2SE_WL_V_BREATH_WAIT, + Z2SE_WL_V_BREATH_WALK, + Z2SE_WL_V_BREATH_TIRED, + Z2SE_WL_V_DASH, + Z2SE_WL_V_BREATH_JUMP, + Z2SE_WL_V_SLIP_CLIMB, + Z2SE_WL_V_PUSH_ROCK, + Z2SE_WL_V_TURN_BACK, + Z2SE_WL_V_HOLD_THROW, + Z2SE_WL_V_FAILED, + Z2SE_WL_V_NOSE, }; COMPILER_STRIP_GATE(0x80391E48, &label); @@ -6447,6 +6537,7 @@ JKRHeap* daAlink_c::setItemHeap() { field_0x2fa0 ^= 1; i_onResetFlg0(RFLG0_UNK_4000); } + return mItemHeap[field_0x2fa0].setAnimeHeap(); } @@ -11596,17 +11687,17 @@ SECTION_DATA static u8 rodTopOffset[12] = { }; /* 803B2D94-803B2DA0 -00001 000C+00 1/1 0/0 0/0 .data bodyBrkName$69118 */ -SECTION_DATA static void* bodyBrkName[3] = { - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0x494), - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0x4AB), - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0x4C2), +SECTION_DATA static char* bodyBrkName[3] = { + "ml_body_power_down.brk", + "ml_body_power_up_a.brk", + "ml_body_power_up_b.brk", }; /* 803B2DA0-803B2DAC -00001 000C+00 1/1 0/0 0/0 .data headBrkName$69119 */ -SECTION_DATA static void* headBrkName[3] = { - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0x4D9), - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0x4F0), - (void*)(((char*)&d_a_d_a_alink__stringBase0) + 0x507), +SECTION_DATA static char* headBrkName[3] = { + "ml_head_power_down.brk", + "ml_head_power_up_a.brk", + "ml_head_power_up_b.brk", }; /* 803B2DAC-803B2DCC -00001 0020+00 1/0 0/0 0/0 .data l_daAlink_Method */ @@ -12191,6 +12282,10 @@ bool daPy_py_c::checkWoodSwordEquip() { return dComIfGs_getSelectEquipSword() == WOOD_STICK; } +bool daPy_py_c::checkLightMasterSwordEquip() { + return dComIfGs_getSelectEquipSword() == LIGHT_SWORD; +} + BOOL daPy_py_c::i_checkSwordGet() { return dComIfGs_getSelectEquipSword() != NO_ITEM; } @@ -12263,8 +12358,8 @@ void daAlink_c::setSelectEquipItem(int param_0) { } } - simpleAnmPlay(field_0x067c); - simpleAnmPlay(field_0x0680); + simpleAnmPlay(mMagicArmorBodyBrk); + simpleAnmPlay(mMagicArmorHeadBrk); } } @@ -12334,20 +12429,20 @@ void daAlink_c::playerInit() { mSheathModel = mpSwASheathModel; field_0x814.Init(120, 0xFF, this); - field_0x306c = mCollisionRot.y + field_0x59e; + field_0x306c = shape_angle.y + field_0x59e; for (u16 i = 0; i < 3; i++) { - field_0x122C[i].Set(*(dCcD_SrcCps*)l_atCpsSrc); - field_0x122C[i].SetStts(&field_0x814); + mAtCps[i].Set(*(dCcD_SrcCps*)l_atCpsSrc); + mAtCps[i].SetStts(&field_0x814); } - mGuardAttackAtCps.Set(*(dCcD_SrcCps*)l_atCpsSrc); - mGuardAttackAtCps.SetStts(&field_0x814); - mGuardAttackAtCps.SetAtType(AT_TYPE_SHIELD_ATTACK); - mGuardAttackAtCps.OnAtNoHitMark(); - mGuardAttackAtCps.SetAtHitMark(0); - mGuardAttackAtCps.SetAtAtp(0); - field_0x10F0.Set(*(dCcD_SrcCyl*)l_atCylSrc); - field_0x10F0.SetStts(&field_0x814); + mGuardAtCps.Set(*(dCcD_SrcCps*)l_atCpsSrc); + mGuardAtCps.SetStts(&field_0x814); + mGuardAtCps.SetAtType(AT_TYPE_SHIELD_ATTACK); + mGuardAtCps.OnAtNoHitMark(); + mGuardAtCps.SetAtHitMark(0); + mGuardAtCps.SetAtAtp(0); + mAtCyl.Set(*(dCcD_SrcCyl*)l_atCylSrc); + mAtCyl.SetStts(&field_0x814); mLinkAcch.Set(this, 3, field_0x18B0); mLinkAcch.ClrWaterNone(); @@ -12361,7 +12456,7 @@ void daAlink_c::playerInit() { 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; + field_0x2fe6 = shape_angle.y; for (u16 i = 0; i < 3; i++) { u8* underBuf = mUnderAnmHeap[0].getBuffer(); @@ -12388,7 +12483,7 @@ void daAlink_c::playerInit() { resetBasAnime(); mZ2Link.init(¤t.pos, &mEyePos, &field_0x3720); - mZ2Link.initKantera(&field_0x360c); + mZ2Link.initKantera(&mKandelaarFlamePos); mZ2Link.setKanteraState(0); mProcID = 0x160; @@ -12474,12 +12569,12 @@ void daAlink_c::playerInit() { field_0x28b0[i] = -1; } mAtnActorID = -1; - field_0x28f0 = -1; + mMsgClassID = -1; field_0x28f8 = -1; field_0x28fc = -1; field_0x2e54.init(&mLinkAcch, daAlinkHIO_basic_c0::m.mWaterSurfaceEffectHeight, field_0x598); - field_0x3108 = mCollisionRot.y; + field_0x3108 = shape_angle.y; field_0x2f20.setOldPosP(&field_0x3624, &field_0x3630); field_0x2fc3 = 10; @@ -12589,15 +12684,15 @@ int daAlink_c::create() { if (sceneMode == 7) { current.pos = dComIfGs_getTurnRestartPos(); - mCollisionRot.y = dComIfGs_getTurnRestartAngleY(); - current.angle.y = mCollisionRot.y; + shape_angle.y = dComIfGs_getTurnRestartAngleY(); + current.angle.y = shape_angle.y; } if ((!checkBossOctaIealRoom() && dComIfGs_Wolf_Change_Check() == 1) || startPoint == -4 || sceneMode == 9) { - mAttentionInfo.mPosition.set(current.pos.x + cM_ssin(mCollisionRot.y) * 70.0f, + mAttentionInfo.mPosition.set(current.pos.x + cM_ssin(shape_angle.y) * 70.0f, current.pos.y + 80.0f, - current.pos.z + cM_scos(mCollisionRot.y) * 70.0f); + current.pos.z + cM_scos(shape_angle.y) * 70.0f); i_onNoResetFlg1(FLG1_IS_WOLF); } else if (horseStart) { mAttentionInfo.mPosition.y = current.pos.y + 150.0f; @@ -12634,10 +12729,10 @@ int daAlink_c::create() { if (checkCanoeStart()) { field_0x2900 = fopAcM_create(PROC_CANOE, 0, ¤t.pos, fopAcM_GetRoomNo(this), - &mCollisionRot, NULL, -1); + &shape_angle, NULL, -1); } else if (sceneMode == 11) { field_0x2900 = fopAcM_create(PROC_Obj_IceLeaf, 0x1FFFF, ¤t.pos, - fopAcM_GetRoomNo(this), &mCollisionRot, NULL, -1); + fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); } else { field_0x2900 = -1; } @@ -12667,7 +12762,7 @@ int daAlink_c::create() { bgWaitFlg = 0; - dComIfGs_setRestartRoom(current.pos, mCollisionRot.y, getStartRoomNo()); + dComIfGs_setRestartRoom(current.pos, shape_angle.y, getStartRoomNo()); field_0x3780 = current.pos; mLinkAcch.ClrGndThinCellingOff(); fopAcM_SetRoomNo(this, dComIfG_Bgsp().GetRoomId(mLinkAcch.m_gnd) + 1); @@ -12729,7 +12824,7 @@ int daAlink_c::create() { 1, 1); } - fopAcM_create(PROC_MIDNA, prm, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, + fopAcM_create(PROC_MIDNA, prm, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); checkSetNpcTks(¤t.pos, fopAcM_GetRoomNo(this), 1); @@ -12760,24 +12855,56 @@ asm int daAlink_c::create() { #endif /* 800A660C-800A662C 0A0F4C 0020+00 1/0 0/0 0/0 .text daAlink_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_Create__FP10fopAc_ac_c.s" +static int daAlink_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 800A662C-800A67E0 0A0F6C 01B4+00 2/2 0/0 0/0 .text setRoomInfo__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setRoomInfo() { - nofralloc -#include "asm/d/a/d_a_alink/setRoomInfo__9daAlink_cFv.s" +s32 daAlink_c::setRoomInfo() { + s32 roomID; + + if (mProcID != PROC_TW_GATE) { + roomID = dComIfG_Bgsp().GetRoomId(mLinkAcch.m_gnd); + + if (roomID != fopAcM_GetRoomNo(this)) { + mTevStr.mRoomNo = roomID; + mVoiceReverbIntensity = dComIfGp_getReverb(roomID); + field_0x814.SetRoomId(roomID); + fopAcM_SetRoomNo(this, roomID); + } + + dStage_RoomCheck(&mLinkAcch.m_gnd); + } else { + roomID = fopAcM_GetRoomNo(this); + } + + mTevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(mLinkAcch.m_gnd); + field_0x3174 = dComIfG_Bgsp().GetGroundCode(mLinkAcch.m_gnd); + field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mLinkAcch.m_gnd); + field_0x2fa8 = dComIfG_Bgsp().GetSpecialCode(mLinkAcch.m_gnd); + + if (field_0x2fa8 == 6 && i_checkWolf()) { + field_0x2fa8 = 5; + } + + if (field_0x2fbd != 0xFF) { + if (field_0x2fbb == 3) { + field_0x2fbd = dComIfG_Bgsp().GetPolyAtt1(mLinkAcch.m_gnd); + + if (field_0x2fbd == 4 && i_checkWolf()) { + field_0x2fbd = 0; + } + + if (!checkEventRun() && (field_0x2fbd == 1 || field_0x2fbd == 3) && (checkBootsOrArmorHeavy() || mSinkShapeOffset < lit_6040 + field_0x3458)) { + field_0x2fbd = 2; + } + } else { + field_0x2fbd = 0; + } + } + + return roomID; } -#pragma pop /* 800A67E0-800A6B0C 0A1120 032C+00 1/1 0/0 0/0 .text setShapeAngleOnGround__9daAlink_cFv */ @@ -13054,7 +13181,7 @@ static u8 lit_4410[12]; #pragma pop /* 8042552C-80425538 05224C 000C+00 2/3 0/0 0/0 .bss l_ironBallBaseAnime */ -static f32 l_ironBallBaseAnime[3]; +static Vec l_ironBallBaseAnime; /* 80425538-80425544 052258 000C+00 0/1 0/0 0/0 .bss @4411 */ #pragma push @@ -13063,7 +13190,7 @@ static u8 lit_4411[12]; #pragma pop /* 80425544-80425550 052264 000C+00 15/17 0/0 0/0 .bss l_halfAtnWaitBaseAnime */ -static f32 l_halfAtnWaitBaseAnime[3]; +static Vec l_halfAtnWaitBaseAnime; /* 80425550-8042555C 052270 000C+00 0/1 0/0 0/0 .bss @4412 */ #pragma push @@ -13093,7 +13220,7 @@ static u8 lit_4414[12]; #pragma pop /* 8042558C-80425598 0522AC 000C+00 3/5 0/0 0/0 .bss l_horseBaseAnime */ -static u8 l_horseBaseAnime[12]; +static Vec l_horseBaseAnime; /* 80425598-804255A4 0522B8 000C+00 0/1 0/0 0/0 .bss @4415 */ #pragma push @@ -13129,7 +13256,7 @@ static u8 lit_4418[12]; #pragma pop /* 804255EC-804255F8 05230C 000C+00 2/3 0/0 0/0 .bss l_canoeBaseAnime */ -static u8 l_canoeBaseAnime[12]; +static Vec l_canoeBaseAnime; /* 800A87F8-800A8CE4 0A3138 04EC+00 2/2 0/0 0/0 .text setAttentionPos__9daAlink_cFv */ #pragma push @@ -13301,65 +13428,174 @@ void daAlink_c::setHandIndex(daAlink_c::daAlink_ANM i_anmID) { /* 800AA2E0-800AA5E8 0A4C20 0308+00 1/1 0/0 0/0 .text setSwordAtCollision__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSwordAtCollision(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setSwordAtCollision__9daAlink_cFi.s" +void daAlink_c::setSwordAtCollision(int param_0) { + cXyz sp74; + + if (checkCutDashAnime() && (checkCutDashEnemyHit(mAtCps[0]) || checkCutDashEnemyHit(mAtCps[1]) || checkCutDashEnemyHit(mAtCps[2]))) { + i_onNoResetFlg1(FLG1_UNK_4000000); + } + + if (mProcID == PROC_CUT_FINISH_JUMP_UP) { + sp74.set(current.pos.x + daAlinkHIO_cutFnJU_c0::m.mAttackOffset * cM_ssin(shape_angle.y), + field_0x3478, + current.pos.z + daAlinkHIO_cutFnJU_c0::m.mAttackOffset * cM_scos(shape_angle.y)); + f32 height = mSwordTopPos.y - field_0x3478; + + if (height < lit_7625) { + height = lit_7625; + } + + mAtCyl.SetH(height); + + if (param_0 != 0) { + mAtCyl.StartCAt(sp74); + } else { + mAtCyl.MoveCAt(sp74); + } + + g_dComIfG_gameInfo.play.mCcs.Set(&mAtCyl); + g_dComIfG_gameInfo.play.mCcs.SetMass(&mAtCyl, 1); + return; + } + + sp74 = ((mSwordTopPos - field_0x3498) * field_0x33d0) + field_0x3498; + cXyz sp68 = ((field_0x34b0 - field_0x34bc) * field_0x33d0) + field_0x34bc; + + mAtCps[0].SetStartEnd(field_0x3498, sp74); + mAtCps[1].SetStartEnd(sp68, sp74); + mAtCps[2].SetStartEnd(field_0x3498, sp68); + mAtCps[0].OnAtSetBit(); + + cXyz sp5C; + if (param_0 != 0) { + sp5C = cXyz::Zero; + } else { + sp5C = mSwordTopPos - field_0x34b0; + mAtCps[1].OnAtSetBit(); + mAtCps[2].OnAtSetBit(); + } + + mAtCps[0].SetAtVec(sp5C); + mAtCps[1].SetAtVec(sp5C); + mAtCps[2].SetAtVec(sp5C); + + for (int i = 0; i < 3; i++) { + g_dComIfG_gameInfo.play.mCcs.Set(&mAtCps[i]); + g_dComIfG_gameInfo.play.mCcs.SetMass(&mAtCps[i], 1); + } } -#pragma pop /* 800AA5E8-800AA6B4 0A4F28 00CC+00 4/4 0/0 0/0 .text checkNoCollisionCorret__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNoCollisionCorret() { - nofralloc -#include "asm/d/a/d_a_alink/checkNoCollisionCorret__9daAlink_cFv.s" +BOOL daAlink_c::checkNoCollisionCorret() { + if (i_checkModeFlg(0x12800) || mDemo.getDemoType() == 1 || mProcID == PROC_DOOR_OPEN || + (checkEventRun() && (!strcmp(i_dComIfGp_getEventManager().getRunEventName(), "SCENE_EXIT") || + (fopAcM_getTalkEventPartner(this) && fopAcM_getTalkEventPartner(this) == getMidnaActor()))) || + mEvtInfo.i_checkCommandDoor()) { + return true; + } + + return false; } -#pragma pop /* 800AA6B4-800AA714 0A4FF4 0060+00 1/1 0/0 0/0 .text decSwordBlur__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::decSwordBlur() { - nofralloc -#include "asm/d/a/d_a_alink/decSwordBlur__9daAlink_cFv.s" +void daAlink_c::decSwordBlur() { + if (m_swordBlur.field_0x14 < 10) { + m_swordBlur.field_0x14 = 0; + } else { + m_swordBlur.field_0x14 -= 10; + m_swordBlur.traceBlur(¤t.pos, &next.pos, shape_angle.y - field_0x2fe6); + } } -#pragma pop /* 800AA714-800AA7EC 0A5054 00D8+00 2/2 0/0 0/0 .text resetWolfAtCollision__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetWolfAtCollision() { - nofralloc -#include "asm/d/a/d_a_alink/resetWolfAtCollision__9daAlink_cFv.s" +void daAlink_c::resetWolfAtCollision() { + if (i_checkNoResetFlg0(FLG0_UNK_40)) { + if (!setSwordHitVibration(&mAtCyl) && !setSwordHitVibration(&field_0x850[0]) && !setSwordHitVibration(&field_0x850[1])) { + setSwordHitVibration(&field_0x850[2]); + } + + field_0xFB8.OffTgWolfSpNoDamage(); + mAtCyl.ResetAtHit(); + i_offNoResetFlg0(FLG0_UNK_40); + + dCcD_Cyl* cyl = field_0x850; + for (int i = 0; i < 3; i++) { + cyl->OffAtSetBit(); + cyl->ResetAtHit(); + cyl->OffTgWolfSpNoDamage(); + cyl++; + } + } } -#pragma pop /* 800AA7EC-800AA9DC 0A512C 01F0+00 1/1 0/0 0/0 .text setWolfAtCollision__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWolfAtCollision() { - nofralloc -#include "asm/d/a/d_a_alink/setWolfAtCollision__9daAlink_cFv.s" +void daAlink_c::setWolfAtCollision() { + cXyz sp8; + + if (i_checkResetFlg0(RFLG0_UNK_2)) { + if (!setSwordHitVibration(&mAtCyl) && !setSwordHitVibration(&field_0x850[0]) && !setSwordHitVibration(&field_0x850[1])) { + setSwordHitVibration(&field_0x850[2]); + } + + if (mProcID == PROC_WOLF_ROLL_ATTACK) { + mAtCyl.SetC(current.pos); + + g_dComIfG_gameInfo.play.mCcs.Set(&mAtCyl); + g_dComIfG_gameInfo.play.mCcs.SetMass(&mAtCyl, 1); + } else { + sp8.set(current.pos.x + field_0x3438 * cM_ssin(shape_angle.y), + current.pos.y, + current.pos.z + field_0x3438 * cM_scos(shape_angle.y)); + + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + mAtCyl.StartCAt(sp8); + + if (mProcID == PROC_WOLF_LOCK_ATTACK || mProcID == PROC_WOLF_JUMP_ATTACK) { + field_0xFB8.OnTgWolfSpNoDamage(); + + for (int i = 0; i < 3; i++) { + field_0x850[i].OnTgWolfSpNoDamage(); + } + } + + if (mCutType == 0x32 || mProcID == PROC_WOLF_LOCK_ATTACK) { + for (int i = 0; i < 3; i++) { + field_0x850[i].OnAtSetBit(); + } + } + } else { + mAtCyl.MoveCAt(sp8); + } + + g_dComIfG_gameInfo.play.mCcs.Set(&mAtCyl); + g_dComIfG_gameInfo.play.mCcs.SetMass(&mAtCyl, 1); + } + + i_onNoResetFlg0(FLG0_UNK_40); + } else { + resetWolfAtCollision(); + } } -#pragma pop /* 800AA9DC-800AAABC 0A531C 00E0+00 3/3 0/0 0/0 .text resetAtCollision__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetAtCollision(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/resetAtCollision__9daAlink_cFi.s" +void daAlink_c::resetAtCollision(int param_0) { + if (i_checkNoResetFlg0(FLG0_UNK_40)) { + if (param_0 && !setSwordHitVibration(&mAtCps[0]) && !setSwordHitVibration(&mAtCps[1]) && + !setSwordHitVibration(&mAtCps[2]) && !setSwordHitVibration(&mAtCyl)) { + setSwordHitVibration(&field_0xFB8); + } + + i_offNoResetFlg0(FLG0_UNK_40); + + for (int i = 0; i < 3; i++) { + mAtCps[i].ResetAtHit(); + mAtCps[i].OffAtSetBit(); + } + + field_0xFB8.ResetAtHit(); + } } -#pragma pop /* ############################################################################################## */ /* 80392028-80392034 01E688 000C+00 0/1 0/0 0/0 .rodata bottleTopPos$61387 */ @@ -13401,32 +13637,214 @@ asm void daAlink_c::setWolfCollisionPos() { /* 800ABAE0-800ABB28 0A6420 0048+00 2/2 0/0 0/0 .text initLockAt__9daAlink_cFv */ void daAlink_c::initLockAt() { - field_0x122C[0].OnAtSPrmBit(0x20); - field_0x122C[0].OnAtNoHitMark(); - field_0x122C[0].OffAtNoConHit(); - field_0x122C[0].ResetAtHit(); + mAtCps[0].OnAtSPrmBit(0x20); + mAtCps[0].OnAtNoHitMark(); + mAtCps[0].OffAtNoConHit(); + mAtCps[0].ResetAtHit(); } /* 800ABB28-800ABB84 0A6468 005C+00 3/3 0/0 0/0 .text cancelLockAt__9daAlink_cFv */ void daAlink_c::cancelLockAt() { - field_0x122C[0].OffAtSPrmBit(0x20); - field_0x122C[0].OffAtNoHitMark(); - field_0x122C[0].OnAtNoConHit(); - field_0x122C[0].ResetAtHit(); + mAtCps[0].OffAtSPrmBit(0x20); + mAtCps[0].OffAtNoHitMark(); + mAtCps[0].OnAtNoConHit(); + mAtCps[0].ResetAtHit(); field_0x814.SetAtApid(0xFFFFFFFF); } /* 800ABB84-800ABDB8 0A64C4 0234+00 1/1 0/0 0/0 .text setCollisionPos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCollisionPos() { - nofralloc -#include "asm/d/a/d_a_alink/setCollisionPos__9daAlink_cFv.s" +void daAlink_c::setCollisionPos() { + cXyz sp74; + mDoMtx_multVecZero(mpLinkModel->i_getAnmMtx(0), &sp74); + cXyz sp68 = (sp74 + mHeadTopPos) * lit_5943; + + f32 var_f31; + if (sp74.y > mHeadTopPos.y) { + sp68.y = mHeadTopPos.y; + var_f31 = sp74.y - mHeadTopPos.y; + } else { + sp68.y = sp74.y; + var_f31 = mHeadTopPos.y - sp74.y; + } + + if (var_f31 < lit_10040) { + sp68.y -= lit_5943 * (lit_10040 - var_f31); + var_f31 = lit_10040; + } + + field_0x850[2].SetC(sp68); + field_0x850[2].SetH(var_f31); + + sp68 = (((mLeftFootPos + mRightFootPos) * lit_5943) + sp74) * lit_5943; + f32 var_f0 = mLeftFootPos.y > mRightFootPos.y ? mRightFootPos.y : mLeftFootPos.y; + + f32 var_f31_2; + if (sp74.y > var_f0) { + sp68.y = var_f0; + var_f31_2 = sp74.y - var_f0; + } else { + sp68.y = sp74.y; + var_f31_2 = var_f0 - sp74.y; + } + + if (var_f31_2 < lit_10040) { + sp68.y -= lit_5943 * (lit_10040 - var_f31_2); + var_f31_2 = lit_10040; + } + + field_0x850[0].SetC(sp68); + field_0x850[0].SetH(var_f31_2); + + sp68 = (field_0x850[0].GetC() + field_0x850[2].GetC()) * lit_5943; + f32 temp_f31 = lit_5943 * (field_0x850[0].GetH() + field_0x850[2].GetH()); + + field_0x850[1].SetC(sp68); + field_0x850[1].SetH(temp_f31); + field_0x3454 = field_0x3834.y; } -#pragma pop /* 800ABDB8-800AC328 0A66F8 0570+00 1/1 0/0 0/0 .text setCollision__9daAlink_cFv */ +#ifdef NONMATCHING +void daAlink_c::setCollision() { + field_0x814.Move(); + field_0x173c.Move(); + + dCcD_Cyl* var_r26 = field_0x850; + CcG_Tg_HitMark var_r3 = checkMagicArmorNoDamage() ? CcG_Tg_UNK_MARK_8 : CcG_Tg_UNK_MARK_6; + + if (checkIronBallWaitAnime()) { + field_0x2e44.offPassNum(0x11); + } else { + field_0x2e44.onPassNum(0x11); + } + + for (int i = 0; i < 3; i++) { + var_r26->SetTgHitMark(var_r3); + var_r26++; + } + + dCcD_Cyl* var_r31 = field_0x850; + if (checkIronBallWaitAnime() || (checkPlayerGuardAndAttack() && !i_checkEndResetFlg1(ERFLG1_UNK_20))) { + BOOL var_r27; + if (field_0x3114 >= 0x3000 && field_0x3114 <= 0x5000) { + var_r27 = 1; + } else { + var_r27 = 0; + } + + for (int i = 0; i < 3; i++) { + if (var_r27) { + var_r31->OnTgSpShield(); + var_r31->OffTgShield(); + } else { + var_r31->OffTgSpShield(); + var_r31->OnTgShield(); + } + + if (checkHorseRide()) { + var_r31->OffTgShieldFrontRange(); + } else { + var_r31->OnTgShieldFrontRange(); + } + + var_r31++; + } + } else { + for (int i = 0; i < 3; i++) { + var_r31->OffTgShield(); + var_r31->OffTgSpShield(); + + if (i_checkWolf()) { + var_r31->OffTgShieldFrontRange(); + } else { + var_r31->OnTgShieldFrontRange(); + } + + var_r31++; + } + } + + if (checkNoCollisionCorret() && !checkOctaIealSpecialCollect()) { + i_onNoResetFlg3(FLG3_UNK_20000000); + } + + if (i_checkWolf()) { + setWolfCollisionPos(); + } else { + setCollisionPos(); + } + + if (mDamageTimer != 0 || i_checkModeFlg(8)) { + for (int i = 0; i < 3; i++) { + field_0x850[i].OffTgSetBit(); + field_0x850[i].ResetTgHit(); + } + + if (i_checkWolf()) { + field_0xFB8.OffTgSetBit(); + field_0xFB8.ResetTgHit(); + } + } else { + for (int i = 0; i < 3; i++) { + field_0x850[i].OnTgSetBit(); + } + + if (i_checkWolf()) { + field_0xFB8.OnTgSetBit(); + } + } + + mDoMtx_multVecSR(getShieldMtx(), &cXyz::BaseZ, &field_0x351c); + + if (checkIronBallWaitAnime() || field_0x351c.absXZ() > lit_8782) { + field_0x306c = field_0x351c.atan2sX_Z(); + } else { + field_0x306c = shape_angle.y + field_0x59e; + } + + g_dComIfG_gameInfo.play.mCcs.Set(&field_0x850[0]); + g_dComIfG_gameInfo.play.mCcs.SetMass(&field_0x850[0], 1); + + if (i_checkWolf()) { + setWolfAtCollision(); + + for (int i = 0; i < 3; i++) { + g_dComIfG_gameInfo.play.mCcs.Set(&field_0x850[i]); + g_dComIfG_gameInfo.play.mCcs.SetMass(&field_0x850[i], 1); + } + + if (i_checkModeFlg(0x100000)) { + field_0xFB8.OffCoSetBit(); + field_0xFB8.ResetCoHit(); + } else { + field_0xFB8.OnCoSetBit(); + } + + g_dComIfG_gameInfo.play.mCcs.Set(&field_0xFB8); + g_dComIfG_gameInfo.play.mCcs.SetMass(&field_0xFB8, 1); + } else { + for (int i = 0; i < 3; i++) { + g_dComIfG_gameInfo.play.mCcs.Set(&field_0x850[i]); + g_dComIfG_gameInfo.play.mCcs.SetMass(&field_0x850[i], 1); + } + + setAtCollision(); + } + + + dCcD_Cyl* var_r27_2 = field_0x850; + dCcD_Cyl* var_r26_6 = field_0xC04; + for (int i = 0; i < 3; i++) { + var_r26_6->SetC(var_r27_2->GetC()); + var_r26_6->SetR(var_r27_2->GetR()); + var_r26_6->SetH(var_r27_2->GetH()); + g_dComIfG_gameInfo.play.mCcs.Set(var_r26_6); + + var_r27_2++; + var_r26_6++; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -13435,6 +13853,7 @@ asm void daAlink_c::setCollision() { #include "asm/d/a/d_a_alink/setCollision__9daAlink_cFv.s" } #pragma pop +#endif /* 800AC328-800AC378 0A6C68 0050+00 1/0 0/0 0/0 .text getBaseAnimeFrame__9daAlink_cCFv */ // matches with literals @@ -13462,6 +13881,7 @@ void daAlink_c::setAnimeFrame(f32 frame) { mUnderFrameCtrl[0].setFrame(frame); mUnderFrameCtrl[1].setFrame(frame); mUnderFrameCtrl[2].setFrame(frame); + mUpperFrameCtrl[0].setFrame(frame); mUpperFrameCtrl[1].setFrame(frame); mUpperFrameCtrl[2].setFrame(frame); @@ -13469,17 +13889,17 @@ void daAlink_c::setAnimeFrame(f32 frame) { /* 800AC394-800AC450 0A6CD4 00BC+00 6/6 0/0 0/0 .text * setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff */ -void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* p_ctrl, u8 attr, s16 start, s16 end, f32 rate, - f32 frame) { +void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s16 i_end, f32 i_rate, + f32 i_frame) { if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { - rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; + i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; } else { - rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate; + i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate; } } - p_ctrl->setFrameCtrl(attr, start, end, rate, frame); + i_ctrl->setFrameCtrl(i_attr, i_start, i_end, i_rate, i_frame); } /* ############################################################################################## */ @@ -13662,7 +14082,7 @@ int daAlink_c::setSingleAnime(daAlink_c::daAlink_ANM i_anmID, f32 i_rate, f32 i_ * setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c */ int daAlink_c::setSingleAnimeParam(daAlink_c::daAlink_ANM i_anmID, daAlinkHIO_anm_c const* i_anmData) { - return setSingleAnime(i_anmID, i_anmData->mRate, i_anmData->mStart, i_anmData->mEndF, i_anmData->mInterpolation); + return setSingleAnime(i_anmID, i_anmData->mSpeed, i_anmData->mStartFrame, i_anmData->mEndFrame, i_anmData->mInterpolation); } /* 800AD128-800AD170 0A7A68 0048+00 1/1 0/0 0/0 .text @@ -13831,7 +14251,7 @@ asm int daAlink_c::setUnderAnime(u16 param_0, daAlink_c::daAlink_UNDER param_1, * setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c */ int daAlink_c::setUnderAnimeParam(u16 i_resID, daAlink_c::daAlink_UNDER i_packIdx, daAlinkHIO_anm_c const* i_anmData) { - return setUnderAnime(i_resID, i_packIdx, i_anmData->mRate, i_anmData->mStart, i_anmData->mEndF, i_anmData->mInterpolation); + return setUnderAnime(i_resID, i_packIdx, i_anmData->mSpeed, i_anmData->mStartFrame, i_anmData->mEndFrame, i_anmData->mInterpolation); } /* 800ADAEC-800ADB78 0A842C 008C+00 17/17 0/0 0/0 .text @@ -14255,7 +14675,7 @@ BOOL daAlink_c::checkSlope() const { /* 800B221C-800B23FC 0ACB5C 01E0+00 1/0 0/0 0/0 .text setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi */ -void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2) { +void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2) { if (checkEventRun() || param_2 != 0 || mSpecialMode != 0) { if (p_pos != NULL) { current.pos = *p_pos; @@ -14268,9 +14688,9 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2 } } - mCollisionRot.y = param_1; - current.angle.y = param_1; - field_0x2fe6 = mCollisionRot.y; + shape_angle.y = i_angle; + current.angle.y = i_angle; + field_0x2fe6 = shape_angle.y; if ((mProcID == PROC_TALK || mProcID == PROC_TRADE_ITEM_OUT) && !i_checkWolf()) { if (field_0x3198 != 0) { field_0x37c8.x = current.pos.x; @@ -14279,16 +14699,16 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 param_1, int param_2 } if (i_checkMagneBootsOn() && cBgW_CheckBGround(mMagneBootsTopVec.y)) { - field_0x3118 = mCollisionRot.y; + field_0x3118 = shape_angle.y; } if (checkHorseRide()) { - i_dComIfGp_getHorseActor()->i_setHorsePosAndAngle(¤t.pos, mCollisionRot.y); + i_dComIfGp_getHorseActor()->i_setHorsePosAndAngle(¤t.pos, shape_angle.y); } else if (checkSpinnerRide()) { fopAc_ac_c* rideAc = mRideAcKeep.getActor(); rideAc->current.pos = current.pos; - rideAc->mCollisionRot.y = mCollisionRot.y; - rideAc->current.angle.y = mCollisionRot.y; + rideAc->shape_angle.y = shape_angle.y; + rideAc->current.angle.y = shape_angle.y; rideAc->mSpeed.y = FLOAT_LABEL(lit_6108); } @@ -14310,9 +14730,9 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) { } if (p_angle != NULL) { - mCollisionRot = *p_angle; - current.angle.y = mCollisionRot.y; - field_0x2fe6 = mCollisionRot.y; + shape_angle = *p_angle; + current.angle.y = shape_angle.y; + field_0x2fe6 = shape_angle.y; } field_0x814.ClrCcMove(); @@ -14329,9 +14749,9 @@ void daAlink_c::setPlayerPosAndAngle(Mtx param_0) { field_0x3798 = current.pos; i_onEndResetFlg0(ERFLG0_UNK_800000); i_onEndResetFlg2(ERFLG2_UNK_100); - mDoMtx_MtxToRot(param_0, &mCollisionRot); - current.angle.y = mCollisionRot.y; - field_0x2fe6 = mCollisionRot.y; + mDoMtx_MtxToRot(param_0, &shape_angle); + current.angle.y = shape_angle.y; + field_0x2fe6 = shape_angle.y; mSpeed.y = FLOAT_LABEL(lit_6108); field_0x814.ClrCcMove(); } @@ -14354,16 +14774,16 @@ BOOL daAlink_c::itemButton() { return itemButtonCheck(1 << mSelectItemId); } -void daAlink_c::itemTrigger() { - itemTriggerCheck(1 << mSelectItemId); +BOOL daAlink_c::itemTrigger() { + return itemTriggerCheck(1 << mSelectItemId); } -void daAlink_c::spActionButton() { - itemButtonCheck(BTN_R); +BOOL daAlink_c::spActionButton() { + return itemButtonCheck(BTN_R); } -void daAlink_c::spActionTrigger() { - itemTriggerCheck(BTN_R); +BOOL daAlink_c::spActionTrigger() { + return itemTriggerCheck(BTN_R); } BOOL daAlink_c::midnaTalkTrigger() const { @@ -14385,8 +14805,10 @@ void daAlink_c::itemActionTrigger() { } /* 800B271C-800B2EA4 0AD05C 0788+00 1/1 0/0 0/0 .text setStickData__9daAlink_cFv */ +// matches with literals #ifdef NONMATCHING void daAlink_c::setStickData() { + BOOL var_r31 = false; field_0x2f8f = mItemButton; mItemTrigger = 0; mItemButton = 0; @@ -14398,7 +14820,7 @@ void daAlink_c::setStickData() { u32 demoMode = mDemo.getDemoMode(); if (checkDemoMoveMode(demoMode)) { - if (dDemo_c::m_object->getActor() != NULL) { + if (dDemo_c::m_object->getActor(mDemoActorId) != NULL) { field_0x33a8 = 1.0f; } else { field_0x33a8 = mDemo.getStick(); @@ -14433,9 +14855,9 @@ void daAlink_c::setStickData() { dComIfGp_2dShowOff(); i_onNoResetFlg2(FLG2_UNK_80); var_r31 = 1; - field_0x2fe4 = mCollisionRot.y; + field_0x2fe4 = shape_angle.y; } else { - if (field_0x33ac > 0.05f) { + if (!(field_0x33ac > 0.05f)) { field_0x2fb9 = 0; } @@ -14447,12 +14869,13 @@ void daAlink_c::setStickData() { if (usingFishRod) { dmg_rod_class* mg_rod = (dmg_rod_class*)mItemAcKeep.getActor(); - field_0x33a8 = JMAFastSqrt((mg_rod->getRodStickX() * mg_rod->getRodStickX()) + - (mg_rod->getRodStickY() * mg_rod->getRodStickY())); + f32 stick_x = mg_rod->getRodStickX() * mg_rod->getRodStickX(); + f32 stick_y = mg_rod->getRodStickY() * mg_rod->getRodStickY(); + field_0x33a8 = JMAFastSqrt(stick_x + stick_y); mStickAngle = cM_atan2s(-mg_rod->getRodStickX(), mg_rod->getRodStickY()); } else { field_0x33a8 = mDoCPd_c::getStickValue(PAD_1); - mStickAngle = mDoCPd_c::getStickAngle3D(PAD_1) - 0x8000; + mStickAngle = mDoCPd_c::getStickAngle3D(PAD_1) - -0x8000; } field_0x33ac = field_0x33a8; @@ -14460,16 +14883,16 @@ void daAlink_c::setStickData() { if (i_checkMagneBootsOn()) { if (field_0x2fb9 == 1 || - (field_0x2fb9 == 0 && field_0x3114 == -0x8000 && field_0x3114 <= 0x6000)) { + (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) { + 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); @@ -14522,7 +14945,7 @@ void daAlink_c::setStickData() { mItemButton |= BTN_R; } - if (checkHeavyStateOn(1, 1) && (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(FLG0_UNDERWATER))) { + if (checkHeavyStateOn(1, 1) && (!checkBootsOrArmorHeavy() || !i_checkNoResetFlg0(FLG0_UNDERWATER))) { if (i_checkWolf() && checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mInputFactor * 0.4f; } else { @@ -14536,25 +14959,25 @@ void daAlink_c::setStickData() { mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mWaterInputFactor; } field_0x33a8 *= mHeavySpeedMultiplier; - } else if (i_checkWolf() && - ((field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11)) { + } else if ((i_checkWolf() && + field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11) { i_onNoResetFlg0(FLG0_UNK_40000000); - field_0x33a8 *= daAlinkHIO_wolf_c0::m.mSwampInputRate; - mHeavySpeedMultiplier = daAlinkHIO_wolf_c0::m.mSwampInputRate; + field_0x33a8 *= daAlinkHIO_wolf_c0::m.mUnderwaterInputRate; + mHeavySpeedMultiplier = daAlinkHIO_wolf_c0::m.mUnderwaterInputRate; } } - s16 sub = mStickAngle - field_0x307c; - int x = abs(sub); + s16 angle_diff = mStickAngle - mPrevStickAngle; + int abs_v = abs(angle_diff); - 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--; + if (abs_v < 0x4000 && abs_v > 0x6D4 && field_0x3180 * angle_diff >= 0) { + field_0x3180 += angle_diff; + mStickSpinTimer = 4; + } else if (field_0x3180 * angle_diff < 0) { + field_0x3180 = angle_diff; + mStickSpinTimer = 4; + } else if (mStickSpinTimer > 0) { + mStickSpinTimer--; } else { field_0x3180 = 0; } @@ -14563,7 +14986,7 @@ void daAlink_c::setStickData() { i_offNoResetFlg0(FLG0_UNK_10000000); } - if (!var_r31 && checkNoResetFlg2(FLG2_UNK_80)) { + if (!var_r31 && i_checkNoResetFlg2(FLG2_UNK_80)) { i_offNoResetFlg2(FLG2_UNK_80); dComIfGp_2dShowOn(); } @@ -14632,8 +15055,8 @@ asm BOOL daAlink_c::checkAtnWaitAnime() { /* 800B3358-800B33E4 0ADC98 008C+00 2/2 0/0 0/0 .text * setTiredVoice__9daAlink_cFP16daPy_frameCtrl_c */ -void daAlink_c::setTiredVoice(daPy_frameCtrl_c* param_0) { - if (param_0->checkPass(lit_7448)) { +void daAlink_c::setTiredVoice(daPy_frameCtrl_c* i_frameCtrl) { + if (i_frameCtrl->checkPass(lit_7448)) { if (i_dComIfGs_getLife() <= 2) { voiceStart(Z2SE_AL_V_TIRED_L); } else { @@ -14674,7 +15097,7 @@ int daAlink_c::getDirectionFromAngle(s16 angle) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkAttentionState() { +asm bool daAlink_c::checkAttentionState() { nofralloc #include "asm/d/a/d_a_alink/checkAttentionState__9daAlink_cFv.s" } @@ -14684,7 +15107,7 @@ asm void daAlink_c::checkAttentionState() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getShapeAngleYAtnActor() { +asm s16 daAlink_c::getShapeAngleYAtnActor() { nofralloc #include "asm/d/a/d_a_alink/getShapeAngleYAtnActor__9daAlink_cFv.s" } @@ -14694,7 +15117,7 @@ asm void daAlink_c::getShapeAngleYAtnActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setShapeAngleToAtnActor(int param_0) { +asm bool daAlink_c::setShapeAngleToAtnActor(int param_0) { nofralloc #include "asm/d/a/d_a_alink/setShapeAngleToAtnActor__9daAlink_cFi.s" } @@ -14772,7 +15195,7 @@ int daAlink_c::checkRequestTalkActor(dAttList_c* param_0, fopAc_ac_c* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkServiceWaitMode() { +asm bool daAlink_c::checkServiceWaitMode() { nofralloc #include "asm/d/a/d_a_alink/checkServiceWaitMode__9daAlink_cFv.s" } @@ -14949,14 +15372,57 @@ asm void daAlink_c::setStepLandVibration() { #endif /* 800B5CCC-800B5F6C 0B060C 02A0+00 5/5 0/0 0/0 .text checkLandAction__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkLandAction(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkLandAction__9daAlink_cFi.s" +BOOL daAlink_c::checkLandAction(int param_0) { + f32 temp_f31 = lit_8782 * (mFallHeight - current.pos.y); + int temp_r3 = getDirectionFromCurrentAngle(); + int temp_r27 = getDirectionFromAngle(current.angle.y - shape_angle.y); + BOOL var_r29 = field_0x33a8 > lit_14064 && temp_r27 != 1 && !checkGrabAnime() && mProcID != PROC_CUT_HEAD && temp_r3 == DIR_FORWARD; + + if ((param_0 || temp_f31 >= daAlinkHIO_damFall_c0::m.mMinRollHeight) && temp_f31 < daAlinkHIO_damFall_c0::m.mMaxRollHeight && var_r29) { + if (temp_r27 == DIR_FORWARD) { + procFrontRollInit(); + } else { + procSideRollInit(temp_r27); + } + } else if (checkNoLandDamageSlidePolygon() || temp_f31 < daAlinkHIO_damFall_c0::m.mSmallDmgHeight) { + if (param_0) { + procLandDamageInit(0); + } else if (var_r29 && field_0x30f0 > 0x32) { + if (temp_r27 == DIR_FORWARD) { + procFrontRollInit(); + } else { + procSideRollInit(temp_r27); + } + } else if (checkInputOnR() && temp_r27 == DIR_FORWARD && temp_r3 == DIR_FORWARD && mNormalSpeed > lit_7808) { + if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) { + mNormalSpeed = daAlinkHIO_move_c0::m.mMaxSpeed; + } + mNormalSpeed *= lit_6023; + current.angle.y = shape_angle.y; + procMoveInit(); + setFootEffectProcType(2); + field_0x2f9d = 4; + resetBasAnime(); + seStartMapInfo(0x30001); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(1, 15, cXyz(tmp_0, lit_6040, tmp_0)); + } else { + procLandInit(temp_f31); + } + } else { + int var_r4; + if (temp_f31 < daAlinkHIO_damFall_c0::m.mBigDmgHeight) { + var_r4 = 1; + } else { + var_r4 = 2; + } + + procLandDamageInit(var_r4); + } + + return 1; } -#pragma pop /* 800B5F6C-800B607C 0B08AC 0110+00 3/3 0/0 0/0 .text checkSlideAction__9daAlink_cFv */ #pragma push @@ -14980,7 +15446,7 @@ asm BOOL daAlink_c::checkAutoJumpAction() { #pragma pop /* 800B69CC-800B6A30 0B130C 0064+00 2/2 0/0 0/0 .text checkCutJumpInFly__9daAlink_cFv */ -bool daAlink_c::checkCutJumpInFly() { +BOOL daAlink_c::checkCutJumpInFly() { if ((mEquipItem == EQUIP_SWORD && i_checkResetFlg0(RFLG0_UNK_80)) || checkForceSwordSwing()) { return procCutJumpInit(1); } @@ -15005,21 +15471,39 @@ asm BOOL daAlink_c::checkFrontWallTypeAction() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkItemActionInitStart() { +asm int daAlink_c::checkItemActionInitStart() { nofralloc #include "asm/d/a/d_a_alink/checkItemActionInitStart__9daAlink_cFv.s" } #pragma pop /* 800B7090-800B7168 0B19D0 00D8+00 1/1 0/0 0/0 .text checkItemChangeAutoAction__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkItemChangeAutoAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkItemChangeAutoAction__9daAlink_cFv.s" +int daAlink_c::checkItemChangeAutoAction() { + if (i_checkResetFlg0(RFLG0_UNK_80)) { + if (mEquipItem == 0x103) { + if (i_checkModeFlg(0x40000)) { + return 0; + } + + resetUpperAnime(UPPER_2, lit_6041); + + if (checkBoardRide()) { + return checkBoardSwordTriggerAction(); + } else if (i_checkReinRide()) { + return procHorseCutChargeReadyInit(); + } + + return procCutTurnChargeInit(); + } + + int ivar2 = checkItemActionInitStart(); + if (ivar2 != -1) { + return ivar2; + } + } + + return 0; } -#pragma pop /* 800B7168-800B7190 0B1AA8 0028+00 7/7 0/0 0/0 .text setFastShotTimer__9daAlink_cFv */ void daAlink_c::setFastShotTimer() { @@ -15042,7 +15526,7 @@ asm void daAlink_c::cancelItemUseQuake(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::cancelUpperItemReadyAnime(int param_0) { +asm int daAlink_c::cancelUpperItemReadyAnime(int param_0) { nofralloc #include "asm/d/a/d_a_alink/cancelUpperItemReadyAnime__9daAlink_cFi.s" } @@ -15050,14 +15534,27 @@ asm void daAlink_c::cancelUpperItemReadyAnime(int param_0) { /* 800B72E4-800B7390 0B1C24 00AC+00 8/8 0/0 0/0 .text checkItemActorPointer__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkItemActorPointer() { - nofralloc -#include "asm/d/a/d_a_alink/checkItemActorPointer__9daAlink_cFv.s" +BOOL daAlink_c::checkItemActorPointer() { + if (mItemAcKeep.getActor() != NULL) { + return true; + } + + mItemAcKeep.clearData(); + resetUpperAnime(UPPER_2, lit_6041); + mEquipItem = NO_ITEM; + + if (i_checkModeFlg(MODE_RIDING)) { + if (checkCanoeRide()) { + procCanoeWaitInit(0); + } else { + procHorseWaitInit(); + } + } else { + procWaitInit(); + } + + return false; } -#pragma pop /* 800B7390-800B74B4 0B1CD0 0124+00 2/2 0/0 0/0 .text checkSwordTwirlAction__9daAlink_cFv */ @@ -15085,21 +15582,24 @@ BOOL daAlink_c::checkUpperItemActionFly() { /* 800B7528-800B75EC 0B1E68 00C4+00 1/1 0/0 0/0 .text checkItemButtonChange__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkItemButtonChange() { - nofralloc -#include "asm/d/a/d_a_alink/checkItemButtonChange__9daAlink_cFv.s" +void daAlink_c::checkItemButtonChange() { + if (mProcID != PROC_CANOE_PADDLE_PUT && mEquipItem != NO_ITEM && !checkEquipAnime()) { + u8 temp_r0; + for (u8 i = 0; i < 2; i++) { + temp_r0 = (i + 1) % 2; + if (mEquipItem == dComIfGp_getSelectItem(i) && (mEquipItem != dComIfGp_getSelectItem(temp_r0) || mSelectItemId != temp_r0)) { + mSelectItemId = i; + } + } + } } -#pragma pop /* 800B75EC-800B7B7C 0B1F2C 0590+00 1/1 0/0 0/0 .text checkUpperItemAction__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkUpperItemAction() { +asm BOOL daAlink_c::checkUpperItemAction() { nofralloc #include "asm/d/a/d_a_alink/checkUpperItemAction__9daAlink_cFv.s" } @@ -15107,7 +15607,7 @@ asm void daAlink_c::checkUpperItemAction() { /* 800B7B7C-800B7BF8 0B24BC 007C+00 1/1 0/0 0/0 .text orderPeep__9daAlink_cFv */ void daAlink_c::orderPeep() { - field_0x2fad = ((kytag05_class*)field_0x27f4)->getSceneListID(); + mPeepExitID = ((kytag05_class*)field_0x27f4)->getSceneListID(); field_0x2ff2 = 20; fopAcM_orderOtherEvent(this, field_0x27f4, l_peepEventName, 0xFFFF, 1, 0); if (i_checkWolf()) { @@ -15191,7 +15691,8 @@ asm int daAlink_c::orderZTalk() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkNormalAction(){nofralloc +asm int daAlink_c::checkNormalAction(){ + nofralloc #include "asm/d/a/d_a_alink/checkNormalAction__9daAlink_cFv.s" } #pragma pop @@ -15213,14 +15714,14 @@ bool daAlink_c::checkReadyItem() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkItemAction() { +asm BOOL daAlink_c::checkItemAction() { nofralloc #include "asm/d/a/d_a_alink/checkItemAction__9daAlink_cFv.s" } #pragma pop /* 800B9010-800B9018 0B3950 0008+00 1/1 0/0 0/0 .text checkRAction__9daAlink_cFv */ -bool daAlink_c::checkRAction() { +BOOL daAlink_c::checkRAction() { return false; } @@ -15228,7 +15729,7 @@ bool daAlink_c::checkRAction() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkMoveDoAction() { +asm BOOL daAlink_c::checkMoveDoAction() { nofralloc #include "asm/d/a/d_a_alink/checkMoveDoAction__9daAlink_cFv.s" } @@ -15268,67 +15769,37 @@ asm BOOL daAlink_c::checkSideRollAction(int param_0) { /* 800B9254-800B92D0 0B3B94 007C+00 35/35 0/0 0/0 .text checkNoUpperAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkNoUpperAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkNoUpperAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkNoUpperAnime() const { + return checkNoSetUpperAnime() || checkSwimMoveHandAnime() || checkWindDashAnime() || checkSwordTwirlAnime() || checkKandelaarEquipAnime(); } -#pragma pop /* 800B92D0-800B92F8 0B3C10 0028+00 1/1 0/0 0/0 .text checkOneHandItemEquipAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkOneHandItemEquipAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkOneHandItemEquipAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkOneHandItemEquipAnime() const { + return checkUpperAnime(0x247) || checkUpperAnime(0x248); } -#pragma pop /* 800B92F8-800B9340 0B3C38 0048+00 1/1 0/0 0/0 .text checkItemEquipAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkItemEquipAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkItemEquipAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkItemEquipAnime() const { + return checkTwoHandItemEquipAnime() || checkOneHandItemEquipAnime(); } -#pragma pop /* 800B9340-800B9398 0B3C80 0058+00 30/30 0/0 1/1 .text checkEquipAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkEquipAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkEquipAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkEquipAnime() const { + return checkSwordEquipAnime() || checkItemEquipAnime(); } -#pragma pop /* 800B9398-800B93CC 0B3CD8 0034+00 4/4 0/0 0/0 .text checkWindDashAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkWindDashAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkWindDashAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkWindDashAnime() const { + return checkUpperAnime(0x2B7) || (checkUpperAnime(0xCE) && mProcID != PROC_SLIDE); } -#pragma pop /* 800B93CC-800B93F4 0B3D0C 0028+00 4/4 0/0 0/0 .text checkSwordTwirlAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSwordTwirlAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkSwordTwirlAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkSwordTwirlAnime() const { + return checkUpperAnime(0x40) || checkUpperAnime(0x3F); } -#pragma pop /* ############################################################################################## */ /* 804532B8-804532BC 0018B8 0004+00 1/1 0/0 0/0 .sdata2 @68266 */ @@ -15345,19 +15816,27 @@ asm void daAlink_c::swordEquip(int param_0) { #pragma pop /* 800B9580-800B9640 0B3EC0 00C0+00 1/1 0/0 0/0 .text swordUnequip__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::swordUnequip() { - nofralloc -#include "asm/d/a/d_a_alink/swordUnequip__9daAlink_cFv.s" +void daAlink_c::swordUnequip() { + f32 anm_speed; + if (checkFastUnequip()) { + anm_speed = daAlinkHIO_cut_c0::m.mFastUnequipAnmSpeed; + } else { + anm_speed = daAlinkHIO_cut_c0::m.mUnequipAnm.mSpeed; + } + + u16 anm_id = i_checkReinRide() ? (u16)0x261 : (u16)0x255; + + setUpperAnime(anm_id, UPPER_2, anm_speed, + daAlinkHIO_cut_c0::m.mUnequipAnm.mStartFrame, daAlinkHIO_cut_c0::m.mUnequipAnm.mEndFrame, + daAlinkHIO_cut_c0::m.mUnequipAnm.mInterpolation); + setFacePriTexture(FTANM_UNK_2D); + setFaceBck(0x15E, 1, 0xFFFF); } -#pragma pop /* 800B9640-800B96A4 0B3F80 0064+00 6/6 0/0 0/0 .text itemEquip__9daAlink_cFUs */ -void daAlink_c::itemEquip(u16 item_id) { - if (mThrowBoomerangAcKeep.getActor() == NULL || item_id != BOOMERANG) { - field_0x2fde = item_id; +void daAlink_c::itemEquip(u16 i_itemID) { + if (mThrowBoomerangAcKeep.getActor() == NULL || i_itemID != BOOMERANG) { + field_0x2fde = i_itemID; dComIfGp_clearPlayerStatus0(0, 0x400000); i_offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); itemUnequip(field_0x2fde, lit_6041); @@ -15365,14 +15844,53 @@ void daAlink_c::itemEquip(u16 item_id) { } /* 800B96A4-800B97EC 0B3FE4 0148+00 2/2 0/0 0/0 .text itemUnequip__9daAlink_cFUsf */ +/** + * This handles setting the animation for both equipping and unequipping items + * When `param_1` is positive, it will play the unequip animation + * When `param_1` is negative, it will play the equip animation + * + */ +// matches with literals +#ifdef NONMATCHING +void daAlink_c::itemUnequip(u16 i_itemID, f32 i_playSpeed) { + u16 anm_id; + const daAlinkHIO_anm_c* anm_data; + + if (i_itemID == BOOMERANG || i_itemID == COPY_ROD || i_itemID == KANTERA || + i_itemID == HOOKSHOT || checkBottleItem(i_itemID)) { + anm_id = 0x247; + anm_data = &daAlinkHIO_item_c0::m.mOneHandEquipAnm; + } else if (checkBowAndSlingItem(i_itemID)) { + anm_id = checkBowGrabLeftHand() ? (u16)0x247 : (u16)0x248; + anm_data = &daAlinkHIO_item_c0::m.mOneHandEquipAnm; + } else { + anm_id = 0x245; + anm_data = &daAlinkHIO_item_c0::m.mTwoHandEquipAnm; + } + + f32 anm_speed; + if (i_playSpeed > 0.0f && checkFastUnequip()) { + if (anm_id == 0x245) { + anm_speed = daAlinkHIO_item_c0::m.mTwoHandReleaseAnmSpeed; + } else { + anm_speed = daAlinkHIO_item_c0::m.mOneHandReleaseAnmSpeed; + } + } else { + anm_speed = anm_data->mSpeed * i_playSpeed; + } + + setUpperAnime(anm_id, UPPER_2, anm_speed, anm_data->mStartFrame, anm_data->mEndFrame, anm_data->mInterpolation); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::itemUnequip(u16 param_0, f32 param_1) { +asm void daAlink_c::itemUnequip(u16 i_itemID, f32 i_playSpeed) { nofralloc #include "asm/d/a/d_a_alink/itemUnequip__9daAlink_cFUsf.s" } #pragma pop +#endif /* 800B97EC-800B983C 0B412C 0050+00 2/2 0/0 0/0 .text checkFastUnequip__9daAlink_cFv */ bool daAlink_c::checkFastUnequip() { @@ -15380,44 +15898,183 @@ bool daAlink_c::checkFastUnequip() { } /* 800B983C-800B994C 0B417C 0110+00 10/10 0/0 0/0 .text allUnequip__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::allUnequip(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/allUnequip__9daAlink_cFi.s" +void daAlink_c::allUnequip(int param_0) { + if (i_checkNoResetFlg2(FLG2_UNK_1) && param_0 != 0 && !checkCanoeRide() && mEquipItem != KANTERA) { + for (u8 i = 0; i < 2; i++) { + if (dComIfGp_getSelectItem(i) == KANTERA) { + mSelectItemId = i; + } + } + itemEquip(KANTERA); + i_onNoResetFlg1(FLG1_UNK_40); + return; + } else if (mEquipItem == 0x103) { + swordUnequip(); + } else if (mEquipItem == 0x102) { + deleteEquipItem(0, 0); + field_0x2060->initOldFrameMorf(lit_7808, 0, 35); + } else { + itemUnequip(mEquipItem, lit_6040); + } + + field_0x2fde = 0xFF; } -#pragma pop /* 800B994C-800B9D2C 0B428C 03E0+00 8/8 0/0 0/0 .text checkItemChangeFromButton__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkItemChangeFromButton() { - nofralloc -#include "asm/d/a/d_a_alink/checkItemChangeFromButton__9daAlink_cFv.s" +BOOL daAlink_c::checkItemChangeFromButton() { + if (i_checkModeFlg(4) && !checkEquipAnime() && !checkBoomerangThrowAnime() && + !checkCopyRodThrowAnime() && !checkKandelaarSwingAnime() && !checkKandelaarSwingAnime()) { + + if (dComIfGs_getSelectEquipSword() != NO_ITEM && !checkNotBattleStage() && !checkCanoeRide() && + (!i_checkModeFlg(0x40000) || i_checkEquipHeavyBoots()) && mEquipItem != 0x103 && swordTrigger()) { + if (i_checkEndResetFlg1(ERFLG1_UNK_40000000)) { + return 0; + } + + swordEquip(1); + } else if (checkCanoeRide() && !checkStageName("F_SP103") && !checkCanoeSlider() && + !checkFisingRodLure() && swordTrigger()) { + itemEquip(0x105); + } else { + u8 i; + for (i = 0; i < 2; i++) { + int tmp = checkNewItemChange(i); + if (tmp && itemTriggerCheck(1 << i)) { + return changeItemTriggerKeepProc(i, tmp); + } + } + + if (doTrigger() && i_dComIfGp_getDoStatus() == 4) { + if (mEquipItem != KANTERA && i_checkNoResetFlg2(FLG2_UNK_1)) { + offKandelaarModel(); + } else if (mSwordFlourishTimer != 0 && mEquipItem == 0x103 && !checkWoodSwordEquip() && !i_checkModeFlg(0x402)) { + return procSwordUnequipSpInit(); + } else { + allUnequip(1); + } + } else if (mEquipItem == NO_ITEM && mThrowBoomerangAcKeep.getActor() == NULL && + !checkCanoeRide() && checkNoUpperAnime() && i_checkNoResetFlg2(FLG2_UNK_1)) { + for (i = 0; i < 2; i++) { + if (dComIfGp_getSelectItem(i) == KANTERA) { + mSelectItemId = i; + } + } + + itemEquip(KANTERA); + i_onNoResetFlg1(FLG1_UNK_40); + } else if (mEquipItem != 0x103 && mEquipItem != NO_ITEM && mEquipItem != 0x10B && + mEquipItem != 0x102 && (!checkCanoeRide() || !checkFisingRodLure())) { + if (!checkEventRun() || strcmp(i_dComIfGp_getEventManager().getRunEventName(), "ANGER")) { + if (strcmp(i_dComIfGp_getEventManager().getRunEventName(), "ANGER2") && checkItemSetButton(mEquipItem) == 2) { + allUnequip(1); + } + } + } + } + } + + return 0; } -#pragma pop /* 800B9D2C-800B9F50 0B466C 0224+00 12/12 0/0 0/0 .text checkNextActionFromButton__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkNextActionFromButton() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionFromButton__9daAlink_cFv.s" +BOOL daAlink_c::checkNextActionFromButton() { + if (checkItemChangeAutoAction()) { + return 1; + } + + if (checkUpperItemAction()) { + return 1; + } + + if (checkDkCaught2Anime()) { + return 0; + } + + if (i_checkModeFlg(0x400)) { + if (i_dComIfGp_getDoStatus() == 0 && checkCanoeRide() && checkFisingRodLure()) { + setDoStatus(4); + } + } else if (!i_checkModeFlg(0x40000)) { + if ((i_checkWolf() && !checkWolfGrabAnime()) || + (!i_checkWolf() && getCopyRodControllActor() == NULL && (checkEquipAnime() || + i_checkNoResetFlg0(FLG0_UNK_1000000) || checkUpperGuardAnime() || + checkIronBallWaitAnime() || checkNoUpperAnime()))) { + decideDoStatus(); + + if (checkNormalAction()) { + return 1; + } + } else { + decideCommonDoStatus(); + } + } + + if (cancelUpperItemReadyAnime(0)) { + return 1; + } + + if (checkItemAction()) { + return 1; + } + + if (!i_checkModeFlg(0x40400)) { + if (checkRAction()) { + return 1; + } + + if (checkMoveDoAction()) { + return 1; + } + } + + if (!i_checkModeFlg(0x40000) && checkSubjectAction()) { + return 1; + } + + return checkItemChangeFromButton(); } -#pragma pop /* 800B9F50-800BA09C 0B4890 014C+00 14/14 0/0 0/0 .text checkGroundSpecialMode__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkGroundSpecialMode() { - nofralloc -#include "asm/d/a/d_a_alink/checkGroundSpecialMode__9daAlink_cFv.s" +BOOL daAlink_c::checkGroundSpecialMode() { + if (mLinkAcch.ChkGroundHit() && !i_checkModeFlg(MODE_PLAYER_FLY) && !i_checkMagneBootsOn() && i_checkEndResetFlg0(ERFLG0_UNK_2)) { + return procCoMetamorphoseInit(); + } + + if (mLinkAcch.ChkGroundHit() && !i_checkModeFlg(MODE_PLAYER_FLY) && checkBoardRestart()) { + return procBoardWaitInit(mRideAcKeep.getActor()); + } + + if (checkGoatStopGame()) { + return procGoatMoveInit(); + } + + if (mSpecialMode == 1) { + return procSumouReadyInit(); + } + + if (i_checkGoronSideMove()) { + return procGoronMoveInit(); + } + + if (checkCanoeSlider()) { + return procCanoeJumpRideInit(NULL); + } + + if (checkSlideAction()) { + return 1; + } + + fopAc_ac_c* actor = checkGoronRide(); + if (actor != NULL) { + return procGoronRideWaitInit(actor); + } + + if (i_checkEndResetFlg1(ERFLG1_UNK_1)) { + return procScreamWaitInit(); + } + + return NULL; } -#pragma pop /* 800BA09C-800BA0D0 0B49DC 0034+00 4/4 0/0 0/0 .text commonCheckNextAction__9daAlink_cFi */ @@ -15430,6 +16087,121 @@ void daAlink_c::commonCheckNextAction(int param_0) { } /* 800BA0D0-800BA6A0 0B4A10 05D0+00 91/91 0/0 0/0 .text checkNextAction__9daAlink_cFi */ +// checkAttentionLock issue / literals +#ifdef NONMATCHING +#pragma push +#pragma optimization_level 2 +int daAlink_c::checkNextAction(int param_0) { + f32 temp_f31 = field_0x594; + + if (checkDeadAction(1)) { + return 1; + } + + if (checkGroundSpecialMode()) { + return 1; + } + + u32 procID = mProcID; + if (procID != PROC_MOVE_TURN && (param_0 == 0 || checkInputOnR()) && (procID != PROC_HOOKSHOT_MOVE || checkHookshotWait())) { + if (mTargetedActor != NULL || i_checkAttentionLock()) { + setSpeedAndAngleAtn(); + } else if (((!checkUpperReadyThrowAnime() || mFastShotTime != 0) || + (checkBoomerangThrowAnime() && (mThrowBoomerangAcKeep.getActor() != NULL || mEquipItem == 0x102 || i_checkNoResetFlg1(FLG1_UNK_2)))) || + (checkCopyRodThrowAnime() && (mCopyRodAcKeep.getActor() != NULL || i_checkNoResetFlg1(FLG1_UNK_10000)))) { + setSpeedAndAngleNormal(); + } + } + + setFrontWallType(); + + bool attention_state = checkAttentionState(); + if (attention_state) { + if (i_checkFmChainGrabAnime()) { + field_0x594 = 13.0f; + } else if (mTargetedActor != NULL) { + field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + } else { + field_0x594 = daAlinkHIO_noActAtnMove_c0::m.mMaxSpeed; + } + } else if (checkSlope()) { + field_0x594 = daAlinkHIO_slide_c0::m.mMaxClimbSpeed; + } else { + field_0x594 = daAlinkHIO_move_c0::m.mMaxSpeed; + } + + if (i_checkEndResetFlg0(ERFLG0_UNK_100000) && mLinkAcch.ChkGroundHit() && !i_checkModeFlg(MODE_PLAYER_FLY)) { + return procFloorDownReboundInit(); + } + + if (checkCutDashChargeAnime() && !checkDashAnime()) { + return procCutTurnMoveInit(0); + } + + if (checkNextActionFromButton()) { + return 1; + } + + if (param_0 != 0 && !checkInputOnR() && !checkEquipAnime()) { + field_0x594 = temp_f31; + return 0; + } + + int ret; + if (attention_state) { + if (checkBowAnime()) { + ret = checkNextActionBow(); + } else if (checkBoomerangAnimeAndReturnWait() && mEquipItem != 0x102) { + ret = checkNextActionBoomerang(); + } else if (checkCopyRodAnime()) { + ret = checkNextActionCopyRod(); + } else if (checkHookshotAnime()) { + ret = checkNextActionHookshot(); + } else if (checkIronBallAnime()) { + ret = checkNextActionIronBall(); + } else if (mTargetedActor != NULL || mDemo.getDemoMode() == 0x17) { + if (checkZeroSpeedF()) { + ret = procAtnActorWaitInit(); + } else { + ret = procAtnActorMoveInit(); + } + } else if (checkZeroSpeedF()) { + ret = checkWaitAction(); + } else { + ret = procAtnMoveInit(); + } + } else { + field_0x2f98 = 4; + + if (checkZeroSpeedF()) { + if (cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800 && checkInputOnR()) { + ret = procWaitTurnInit(); + if (!ret && !checkEventRun()) { + ret = checkWaitAction(); + } + } else { + ret = checkWaitAction(); + } + } else if (mProcID == PROC_MOVE_TURN && current.angle.y != shape_angle.y) { + ret = procMoveTurnInit(0); + } else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) { + if (mSpeedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 && + !checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { + ret = procSlipInit(); + } else { + ret = procMoveTurnInit(1); + } + } else if (checkInputOnR() && getDirectionFromAngle(field_0x2fe2 - current.angle.y) == DIR_BACKWARD) { + ret = procMoveTurnInit(1); + } else { + ret = procMoveInit(); + } + } + + return ret; +} +#pragma pop +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -15438,6 +16210,7 @@ asm int daAlink_c::checkNextAction(int param_0) { #include "asm/d/a/d_a_alink/checkNextAction__9daAlink_cFi.s" } #pragma pop +#endif /* 800BA6A0-800BA914 0B4FE0 0274+00 3/3 0/0 0/0 .text commonChangeItem__9daAlink_cFv */ #pragma push @@ -15464,66 +16237,80 @@ asm void daAlink_c::setItemAction() { #pragma pop /* 800BAF08-800BAF80 0B5848 0078+00 2/2 0/0 0/0 .text checkNextActionFromCrouch__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionFromCrouch(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionFromCrouch__9daAlink_cFi.s" +bool daAlink_c::checkNextActionFromCrouch(int param_0) { + if (checkNextAction(param_0)) { + if (field_0x2f8c == 1 || field_0x2f8c == 2 || field_0x2f8c == 3) { + field_0x2060->initOldFrameMorf(daAlinkHIO_crouch_c0::m.mStandInterpolation, 0, 0x23); + } + + return true; + } + + return false; } -#pragma pop /* 800BAF80-800BB020 0B58C0 00A0+00 18/18 0/0 0/0 .text checkUpperReadyThrowAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::checkUpperReadyThrowAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperReadyThrowAnime__9daAlink_cCFv.s" +int daAlink_c::checkUpperReadyThrowAnime() const { + return checkBoomerangAnime() || checkCopyRodAnime() || checkHookshotAnime() || checkIronBallAnime() || checkBowAnime(); } -#pragma pop /* 800BB020-800BB084 0B5960 0064+00 2/2 0/0 0/0 .text getBodyAngleXBasePos__9daAlink_cFP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getBodyAngleXBasePos(cXyz* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/getBodyAngleXBasePos__9daAlink_cFP4cXyz.s" +void daAlink_c::getBodyAngleXBasePos(cXyz* o_pos) { + int mtx_id; + + if (mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HOOKSHOT_ROOF_SHOOT) { + if (field_0x3020 == 0) { + mtx_id = 7; + } else { + mtx_id = 12; + } + } else { + mtx_id = 1; + } + + mDoMtx_multVecZero(mpLinkModel->i_getAnmMtx(mtx_id), o_pos); } -#pragma pop /* 800BB084-800BB2B0 0B59C4 022C+00 3/3 0/0 0/0 .text getBodyAngleXAtnActor__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getBodyAngleXAtnActor(int param_0) { +asm s16 daAlink_c::getBodyAngleXAtnActor(int param_0) { nofralloc #include "asm/d/a/d_a_alink/getBodyAngleXAtnActor__9daAlink_cFi.s" } #pragma pop /* 800BB2B0-800BB324 0B5BF0 0074+00 13/13 0/0 0/0 .text setBodyAngleXReadyAnime__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBodyAngleXReadyAnime(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setBodyAngleXReadyAnime__9daAlink_cFi.s" +void daAlink_c::setBodyAngleXReadyAnime(int param_0) { + s16 angle_x = getBodyAngleXAtnActor(param_0); + + if (checkUpperGuardAnime()) { + angle_x >>= 1; // divide by 2 adds extra addze? + } + + cLib_addCalcAngleS(&mLookAngleY, angle_x, 4, 0x0C00, 0x0180); + field_0x310a = mLookAngleY; } -#pragma pop /* 800BB324-800BB408 0B5C64 00E4+00 2/2 0/0 0/0 .text setMagicArmorBrk__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setMagicArmorBrk(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setMagicArmorBrk__9daAlink_cFi.s" +void daAlink_c::setMagicArmorBrk(int param_0) { + J3DModelData* model_data = mpLinkModel->getModelData(); + mMagicArmorBodyBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_mArcName, bodyBrkName[param_0]); + mMagicArmorBodyBrk->searchUpdateMaterialID(model_data); + model_data->entryTevRegAnimator(mMagicArmorBodyBrk); + mMagicArmorBodyBrk->setFrame(FLOAT_LABEL(lit_6108)); + + J3DModelData* head_model_data = mpLinkHatModel->getModelData(); + mMagicArmorHeadBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_mArcName, headBrkName[param_0]); + mMagicArmorHeadBrk->searchUpdateMaterialID(head_model_data); + head_model_data->entryTevRegAnimator(mMagicArmorHeadBrk); + mMagicArmorHeadBrk->setFrame(FLOAT_LABEL(lit_6108)); + + field_0x2fd7 = param_0; } -#pragma pop /* 800BB408-800BB458 0B5D48 0050+00 6/6 0/0 0/0 .text checkMagicArmorHeavy__9daAlink_cCFv */ @@ -15551,35 +16338,61 @@ BOOL daAlink_c::checkHeavyStateOn(int param_0, int param_1) { } /* 800BB560-800BB644 0B5EA0 00E4+00 1/0 0/0 0/0 .text setOutPower__9daAlink_cFfsi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setOutPower(f32 param_0, s16 param_1, int param_2) { - nofralloc -#include "asm/d/a/d_a_alink/setOutPower__9daAlink_cFfsi.s" +void daAlink_c::setOutPower(f32 param_0, s16 param_1, int param_2) { + if (!i_checkFmChainGrabAnime() || !checkBossRoom() || fopAcM_GetRoomNo(this) != 50 || !i_checkEquipHeavyBoots()) { + field_0x3400 += param_0 * cM_ssin(param_1); + field_0x3404 += param_0 * cM_scos(param_1); + + if (param_2) { + i_onEndResetFlg0(ERFLG0_UNK_8); + } + } } -#pragma pop /* 800BB644-800BB770 0B5F84 012C+00 3/3 0/0 0/0 .text initGravity__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initGravity() { - nofralloc -#include "asm/d/a/d_a_alink/initGravity__9daAlink_cFv.s" +void daAlink_c::initGravity() { + f32 gravity; + f32 max_fall_speed; + + if (i_checkWolf()) { + if (i_checkModeFlg(MODE_SWIMMING)) { + if (checkHeavyStateOn(1, 1)) { + gravity = -daAlinkHIO_wlSwim_c0::m.field_0x9C; + max_fall_speed = daAlinkHIO_wlSwim_c0::m.field_0xA0; + } else { + gravity = -daAlinkHIO_wlSwim_c0::m.field_0x60; + max_fall_speed = daAlinkHIO_wlSwim_c0::m.field_0x58; + } + } else { + gravity = daAlinkHIO_wlAutoJump_c0::m.field_0x58; + max_fall_speed = daAlinkHIO_wlAutoJump_c0::m.field_0x5c; + } + } else if (i_checkModeFlg(MODE_SWIMMING) || i_checkNoResetFlg0(FLG0_UNDERWATER)) { + max_fall_speed = getSwimMaxFallSpeed(); + if (checkHeavyStateOn(1, 1) && mProcID != PROC_OCTAIEAL_SPIT) { + gravity = daAlinkHIO_swim_c0::m.mBootsGravity; + } else { + gravity = -daAlinkHIO_swim_c0::m.mBuoyancy; + } + } else { + gravity = daAlinkHIO_autoJump_c0::m.mGravity; + max_fall_speed = daAlinkHIO_autoJump_c0::m.mMaxFallSpeed; + } + + setSpecialGravity(gravity, max_fall_speed, 1); } -#pragma pop /* 800BB770-800BB7A0 0B60B0 0030+00 64/64 0/0 0/0 .text setSpecialGravity__9daAlink_cFffi */ -void daAlink_c::setSpecialGravity(f32 gravity, f32 speed, int param_2) { - if (param_2 != 0) { +void daAlink_c::setSpecialGravity(f32 i_gravity, f32 i_speed, int i_offFlag) { + if (i_offFlag) { i_offNoResetFlg3(FLG3_UNK_4000); } else { i_onNoResetFlg3(FLG3_UNK_4000); } - mGravity = gravity; - mMaxFallSpeed = speed; + + mGravity = i_gravity; + mMaxFallSpeed = i_speed; } /* 800BB7A0-800BBD40 0B60E0 05A0+00 1/1 0/0 0/0 .text transAnimeProc__9daAlink_cFP4cXyzff @@ -15632,6 +16445,374 @@ SECTION_DEAD static char const* const stringBase_803925B2 = "F_SP113"; SECTION_SDATA2 static f32 lit_70084 = 2.25f; /* 800BBF68-800BD6FC 0B68A8 1794+00 1/1 0/0 0/0 .text posMove__9daAlink_cFv */ +// mostly matches outside some cXyz literals and float literals +#ifdef NONMATCHING +void daAlink_c::posMove() { + cXyz sp108; + + f32 temp_f30 = cM_ssin(shape_angle.y); + f32 temp_f29 = cM_scos(shape_angle.y); + + if (!i_checkNoResetFlg3(FLG3_UNK_4000)) { + initGravity(); + } + + transAnimeProc(&sp108, temp_f30, temp_f29); + + s16 var_r26; + if (i_checkModeFlg(MODE_SWIMMING)) { + var_r26 = field_0x3080; + } else if (!mLinkAcch.ChkGroundHit() || i_checkMagneBootsOn() || (i_checkModeFlg(MODE_PLAYER_FLY) && + !checkBoardRide()) || field_0x3174 == 8) { + var_r26 = 0; + } else { + var_r26 = getGroundAngle(&mLinkAcch.m_gnd, current.angle.y); + } + + setFootSpeed(); + if (i_checkEndResetFlg0(ERFLG0_UNK_10000000)) { + mSpeedF = 0.0f; + mNormalSpeed = 0.0f; + } + + mSpeedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier)); + + f32 mod = field_0x33a0 * (1.0f - field_0x2060->getOldFrameRate()) * mSpeedModifier; + if (mSpeedF < 0.0f) { + mSpeedF -= mod; + } else { + mSpeedF += mod; + } + + if (getZoraSwim() && !checkZoraWearAbility()) { + mSpeedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate; + } + + f32 var_f31 = mSpeedF; + mSpeedF *= cM_scos(var_r26); + + if (var_r26 < 0 && !checkBoardRide() && !i_checkModeFlg(MODE_SWIMMING)) { + mSpeedF *= 0.85f; + } + + if (mProcID == PROC_AUTO_JUMP && checkGrabGlide() && + (field_0xC04[0].ChkTgHit() || field_0xC04[1].ChkTgHit() || field_0xC04[2].ChkTgHit())) { + mSpeedF *= 0.5f; + } + + mSpeed.x = mSpeedF * cM_ssin(current.angle.y); + mSpeed.z = mSpeedF * cM_scos(current.angle.y); + + if (checkNoCollisionCorret() || (i_checkModeFlg(0x40) && i_checkModeFlg(0x4000))) { + field_0x342c = 0.0f; + field_0x3430 = 0.0f; + } + + BOOL eventRunning = checkEventRun(); + if (!i_checkEquipHeavyBoots() && mLinkAcch.ChkGroundHit() && !i_checkModeFlg(0x40) && !eventRunning) { + if (checkLv2MiddleBossBgRide(getMoveBGActorName(mLinkAcch.m_gnd, 0))) { + cM3dGPla plane; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &plane); + + f32 temp_f0 = cM_sht2d(cM_atan2s(plane.mNormal.absXZ(), plane.mNormal.y)); + + if (temp_f0 >= daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideAngle && temp_f0 <= daAlinkHIO_slide_c0::m.mLV2MinibossFloorSlideAngle) { + temp_f0 = ((temp_f0 - daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideAngle) * daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideSpeed) / + (daAlinkHIO_slide_c0::m.mLV2MinibossFloorSlideAngle - daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideAngle); + plane.mNormal.y = 0.0f; + plane.mNormal.normalizeZP(); + + mSpeed.x += temp_f0 * plane.mNormal.x; + mSpeed.z += temp_f0 * plane.mNormal.z; + } + } + } + + if (i_checkModeFlg(MODE_SWIMMING)) { + cLib_chasePos(&field_0x3750, cXyz::Zero, daAlinkHIO_damSwim_c0::m.field_0x84); + current.pos += field_0x3750; + + if (i_checkNoResetFlg0(FLG0_UNK_100) && mProcID != PROC_SWIM_DIVE) { + current.pos.y = mWaterY; + } else if (mDemo.getDemoType() == 4 || mProcID == PROC_ELEC_DAMAGE || i_dComIfGp_checkPlayerStatus0(0, 0x10)) { + mSpeed.y = 0.0f; + } else if (i_checkWolf()) { + if (checkHeavyStateOn(1, 1)) { + mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C; + + if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) { + mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4; + } + } else { + mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x60; + + if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) { + mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C; + } + } + } else if (!i_checkEquipHeavyBoots() && getZoraSwim()) { + mSpeed.y = -var_f31 * cM_ssin(var_r26); + } else if ((checkBootsOrArmorHeavy() && mProcID != PROC_DEAD) || mProcID == PROC_SWIM_DIVE) { + mSpeed.y += mGravity; + + if (mSpeed.y < mMaxFallSpeed) { + mSpeed.y = mMaxFallSpeed; + } + } else if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { + mSpeed.y += mGravity; + } else if (mSpeed.y < mMaxFallSpeed) { + mSpeed.y += 1.0f; + } else { + if (checkZoraWearAbility() && mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalFloatDepth) { + mSpeed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth; + + if (mSpeed.y < 0.0f) { + mSpeed.y = 0.0f; + } + } else { + mSpeed.y += daAlinkHIO_swim_c0::m.mBuoyancy; + } + + if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { + mSpeed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed; + } + } + } else if (!i_checkModeFlg(0x400)) { + if (checkHeavyStateOn(1, 1) && mProcID != PROC_SPINNER_READY && !i_checkNoResetFlg0(FLG0_UNDERWATER)) { + mSpeed.y += mGravity * 2.25f; + + if (mSpeed.y < mMaxFallSpeed * 1.5f) { + mSpeed.y = mMaxFallSpeed * 1.5f; + } + } else { + mSpeed.y += mGravity; + + if (mSpeed.y < mMaxFallSpeed) { + mSpeed.y = mMaxFallSpeed; + } + } + } else if (checkBoardRide()) { + mLinkAcch.OffLineCheck(); + mSpeed.y += mGravity; + + if (mSpeed.y < mMaxFallSpeed) { + mSpeed.y = mMaxFallSpeed; + } + } + + setIceSlipSpeed(); + var_f31 = current.pos.y; + + if (!i_checkModeFlg(0x400) || checkBoardRide()) { + if (i_checkMagneBootsOn()) { + mDoMtx_stack_c::copy(mMagneBootMtx); + mDoMtx_stack_c::YrotM(current.angle.y); + + cXyz spFC; + spFC.z = mSpeedF; + mDoMtx_stack_c::multVecSR(&spFC, &mSpeed); + current.pos += mSpeed; + current.pos.x += field_0x342c; + current.pos.z += field_0x3430; + } else { + current.pos += mSpeed; + current.pos.x += field_0x342c; + current.pos.z += field_0x3430; + + if (i_checkEndResetFlg1(ERFLG1_UNK_800) && checkStageName("F_SP113")) { + current.pos.y -= 50.0f; + } + } + } + + if (checkBoardRide() && !i_checkModeFlg(2)) { + current.pos.y -= mSpeedF * cM_ssin(var_r26); + } + + if (i_getSumouMode() && mProcID != PROC_SUMOU_WIN_LOSE) { + current.pos.y = var_f31 - 1.0f; + mSpeed.y = mGravity; + } + + field_0x342c = 0.0f; + field_0x3430 = 0.0f; + + setPolygonSpeed(); + setWindSpeed(); + BOOL var_r27 = FALSE; + + if (!checkNoCollisionCorret() && !i_checkModeFlg(0x40)) { + if (!i_checkNoResetFlg3(FLG3_UNK_20000000)) { + current.pos += *field_0x814.GetCCMoveP(); + } + + if (!eventRunning) { + if (!i_checkEndResetFlg0(ERFLG0_UNK_8) || !checkHeavyStateOn(1, 1)) { + current.pos.x += field_0x3400; + current.pos.z += field_0x3404; + } + + if (mLinkAcch.ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) { + s16 angle1 = getGroundAngle(&mLinkAcch.m_gnd, 0); + current.pos.z += field_0x35c4.z * cM_scos(angle1); + + s16 angle2 = getGroundAngle(&mLinkAcch.m_gnd, 0x4000); + current.pos.x += field_0x35c4.x * cM_scos(angle2); + + if (checkZeroSpeedF() && field_0x35c4.abs2() > 9.0f) { + seStartOnlyReverbLevel(Z2SE_AL_ICE_SLIP); + } + } + + current.pos += field_0x3594; + + if (i_checkModeFlg(2)) { + current.pos += field_0x35ac; + } else { + current.pos.x += field_0x35ac.x; + current.pos.z += field_0x35ac.z; + } + } else if (i_checkNoResetFlg0(FLG0_UNK_14000)) { + current.pos += field_0x3594; + } + } else if (checkOctaIealSpecialCollect()) { + f32 temp_f1 = getHookshotTopPos()->abs(current.pos); + + current.pos += *field_0x814.GetCCMoveP(); + + f32 temp_f31 = getHookshotTopPos()->abs(current.pos); + if (temp_f31 > temp_f1) { + current.pos.y += temp_f31 - temp_f1; + } + } else if (!eventRunning && (mProcID == PROC_HANG_MOVE || mProcID == PROC_CLIMB_MOVE_SIDE || + mProcID == PROC_CLIMB_MOVE_UPDOWN || mProcID == PROC_CLIMB_WAIT || mProcID == PROC_HANG_WAIT)) { + f32 temp_f31 = field_0x814.GetCCMoveP()->absXZ(); + var_r27 = TRUE; + + if (temp_f31 > 1.0f) { + if ((s16)(field_0x814.GetCCMoveP()->atan2sX_Z() - shape_angle.y) >= 0) { + current.pos.x += temp_f31 * temp_f29; + current.pos.z -= temp_f31 * temp_f30; + } else { + current.pos.x -= temp_f31 * temp_f29; + current.pos.z += temp_f31 * temp_f30; + } + } + } + + if (i_checkModeFlg(MODE_SWIMMING) && i_checkNoResetFlg0(FLG0_UNK_100)) { + cXyz sp84 = current.pos - field_0x3798; + + f32 temp_f3 = sp84.absXZ(); + s16 gnd_angle = getGroundAngle(&mLinkAcch.m_wtr, sp84.atan2sX_Z()); + temp_f3 *= cM_ssin(gnd_angle); + + if (temp_f3 < 0.0f) { + temp_f3 = 0.0f; + } + + if (!(current.pos.y > mWaterY + l_autoUpHeight + temp_f3) && mProcID != PROC_SWIM_DIVE) { + current.pos.y = mWaterY; + } + } + + field_0x3400 = 0.0f; + field_0x3404 = 0.0f; + field_0x814.ClrCcMove(); + i_offNoResetFlg3(FLG3_UNK_20000000); + field_0x3464 = 0.0f; + field_0x3468 = 0.0f; + + if (checkRootTransClearMode()) { + cXyz sp78 = field_0x34d4 - sp108; + if (mProcID == PROC_CLIMB_UP_START && field_0x3012 != 0) { + sp78 = cXyz::Zero; + } + + f32 var_f0; + if (i_checkModeFlg(MODE_PLAYER_FLY)) { + var_f0 = 1.0f; + } else { + var_f0 = cM_scos(field_0x2ff0); + } + + if (!checkRootTransZClearMode()) { + sp78.z = 0.0f; + } + + if (!checkRootTransXClearMode()) { + sp78.x = 0.0f; + } + + field_0x3464 = var_f0 * (sp78.z * temp_f30 + sp78.x * temp_f29); + field_0x3464 = var_f0 * (sp78.z * temp_f29 - sp78.x * temp_f30); + + if (i_checkMagneBootsOn()) { + cXyz spD8; + mDoMtx_stack_c::copy(mMagneBootMtx); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::multVec(&sp78, &spD8); + current.pos += spD8; + } else { + current.pos.x += field_0x3464; + current.pos.z += field_0x3468; + + if (checkRootTransYClearMode()) { + current.pos.y += sp78.y; + } + } + } + + if (i_checkModeFlg(2) && current.pos.y > mFallHeight) { + mFallHeight = current.pos.y; + } + + if (i_checkMagneBootsOn()) { + cXyz spCC; + cXyz spC0 = current.pos + (mMagneBootsTopVec * l_autoUpHeight); + cXyz spB4; + Vec spA8; + + s16 var_r27 = -0x8000; + cM3dGPla plane; + + for (int i = 0; i < 8; i++) { + spA8.x = field_0x18B0[0].GetWallR() * cM_ssin(var_r27); + spA8.z = field_0x18B0[0].GetWallR() * cM_scos(var_r27); + mDoMtx_multVec(mMagneBootMtx, &spA8, &spCC); + spB4 = spC0 + spCC; + + if (commonLineCheck(&spC0, &spB4)) { + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &plane); + f32 temp_f31 = spB4.abs(mLinkLinChk.i_GetCross()); + + mDoMtx_multVecSR(mMagneBootInvMtx, &plane.mNormal, &spCC); + if (cBgW_CheckBWall(spCC.y)) { + f32 temp_f1 = spCC.absXZ(); + + f32 div = temp_f31 / temp_f1; + spCC.x *= div; + spCC.y = 0.0f; + spCC.z *= div; + + mDoMtx_multVecSR(mMagneBootMtx, &spCC, &spCC); + current.pos += spCC; + spC0 += spCC; + } + } + + var_r27 += 0x2000; + } + } else if (var_r27) { + cXyz sp9C = cXyz::Zero; + + if (hangMoveBgCheck(shape_angle.y + 0x4000, &sp9C) || hangMoveBgCheck(shape_angle.y - 0x4000, &sp9C)) { + current.pos.x += sp9C.x; + current.pos.z += sp9C.z; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -15640,6 +16821,7 @@ asm void daAlink_c::posMove() { #include "asm/d/a/d_a_alink/posMove__9daAlink_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804532C4-804532C8 0018C4 0004+00 1/1 0/0 0/0 .sdata2 @70267 */ @@ -15656,60 +16838,170 @@ asm void daAlink_c::autoGroundHit() { #pragma pop /* 800BDD70-800BDE20 0B86B0 00B0+00 2/2 0/0 0/0 .text startPeepChange__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::startPeepChange() { - nofralloc -#include "asm/d/a/d_a_alink/startPeepChange__9daAlink_cFv.s" +bool daAlink_c::startPeepChange() { + if (!i_checkNoResetFlg0(FLG0_UNK_4000)) { + i_onNoResetFlg0(FLG0_UNK_4000); + + u32 mode; + if (mProcID == PROC_PEEP_SUBJECTIVITY) { + mode = 7; + } else { + mode = 6; + u32 param = fopAcM_GetParam(this); + s32 roomNo = fopAcM_GetRoomNo(this); + dComIfGs_setTurnRestart(current.pos, shape_angle.y, roomNo, param); + } + + dStage_changeScene(mPeepExitID, FLOAT_LABEL(lit_6108), mode, fopAcM_GetRoomNo(this), shape_angle.y, -1); + return 1; + } + + return 0; } -#pragma pop /* 800BDE20-800BDE48 0B8760 0028+00 3/3 0/0 0/0 .text setLastSceneDamage__9daAlink_cFiPUl */ -void daAlink_c::setLastSceneDamage(int p1, u32* p2) { - if (p1 <= 0) { +void daAlink_c::setLastSceneDamage(int i_dmgAmount, u32* o_mode) { + if (i_dmgAmount <= 0) { return; } - if (0x80 <= p1) { - p1 = 0x7f; + + if (0x80 <= i_dmgAmount) { + i_dmgAmount = 0x7F; } - *p2 |= p1 << 4; + + *o_mode |= i_dmgAmount << 4; } /* 800BDE48-800BDF60 0B8788 0118+00 0/0 1/1 0/0 .text setLastSceneMode__9daAlink_cFPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setLastSceneMode(u32* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setLastSceneMode__9daAlink_cFPUl.s" +void daAlink_c::setLastSceneMode(u32* o_mode) { + if (i_checkEquipHeavyBoots()) { + *o_mode |= 0x400000; + } + + if (i_checkWolf()) { + *o_mode |= 0x800000; + } + + if (i_checkNoResetFlg2(FLG2_UNK_1) && mEquipItem != KANTERA) { + *o_mode |= 0x200000; + } + + if (mEquipItem == 0x103) { + *o_mode |= 0x28000000; + } else if (mEquipItem < NO_ITEM) { + *o_mode |= mEquipItem << 0x18; + } + + if (mGrabItemAcKeep.getActor() != NULL) { + if (daAlink_checkLightBallA(mGrabItemAcKeep.getActor())) { + *o_mode |= 0x100000; + } + + if (daAlink_checkLightBallB(mGrabItemAcKeep.getActor())) { + *o_mode |= 0x80000; + } + } + + if (mSwordUpTimer != 0) { + *o_mode |= (mSwordUpTimer & 0xFFFE) << 0xA; + } } -#pragma pop /* 800BDF60-800BE26C 0B88A0 030C+00 4/4 1/1 0/0 .text startRestartRoom__9daAlink_cFUliii */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::startRestartRoom(u32 i_mode, int param_1, int i_dmgAmount, int i_eventRun) { + if (!i_checkNoResetFlg0(FLG0_UNK_4000) && (i_eventRun != 0 || dComIfGp_event_compulsory(this, NULL, 0xFFFF))) { + if (!checkRestartDead(i_dmgAmount, i_mode == 4)) { + i_onNoResetFlg0(FLG0_UNK_4000); + + if (i_eventRun == 0) { + mDemo.setOriginalDemoType(); + mDemo.setDemoMode(1); + } + + u32 tmp = getStartMode(); + int start_mode = tmp; + if ((start_mode != 13 && start_mode != 2 && start_mode != 14) || checkFinalBattle() || field_0x3780.abs(dComIfGs_getRestartRoomPos()) > 0.1f) { + start_mode = 0; + } + + // event flag 0x2008 = cleared snowpeak ruins + if (!i_dComIfGs_isEventBit(0x2008) && (checkBoardRide() || checkBoardRestart())) { + i_mode = 11; + } else if (i_checkBoarSingleBattle() || (start_mode == 2 && !checkFinalBattle() && i_mode == 5)) { + i_mode = 8; + } + + setLastSceneDamage(i_dmgAmount, &i_mode); + u32 params = setParamData(dComIfGs_getRestartRoomNo(), start_mode, param_1, 0); + dStage_restartRoom(params, i_mode, 0); + + if (mProcID != PROC_DEAD) { + seStartSystem(Z2SE_FORCE_BACK); + } + } + + return 1; + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::startRestartRoom(u32 param_0, int param_1, int param_2, int param_3) { +asm int daAlink_c::startRestartRoom(u32 param_0, int param_1, int param_2, int param_3) { nofralloc #include "asm/d/a/d_a_alink/startRestartRoom__9daAlink_cFUliii.s" } #pragma pop +#endif /* 800BE26C-800BE2C0 0B8BAC 0054+00 2/2 0/0 0/0 .text checkCoachGuardGame__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCoachGuardGame() { - nofralloc -#include "asm/d/a/d_a_alink/checkCoachGuardGame__9daAlink_cFv.s" +BOOL daAlink_c::checkCoachGuardGame() { + return !i_checkBoarSingleBattle() && fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCoach, NULL); } -#pragma pop /* 800BE2C0-800BE3E4 0B8C00 0124+00 1/1 0/0 0/0 .text checkRoofRestart__9daAlink_cFv */ +// branch issues +#ifdef NONMATCHING +void daAlink_c::checkRoofRestart() { + daSpinner_c* spinner; + + if (checkSpinnerRide()) { + spinner = (daSpinner_c*)mRideAcKeep.getActor(); + } else { + spinner = NULL; + } + + if (mLinkAcch.ChkRoofHit() && (mLinkAcch.ChkGroundHit() || + (spinner != NULL && spinner->checkGroundHit() && spinner->getJumpFlg() == 0)) && + !i_checkMagneBootsOn() && (mProcID != PROC_CRAWL_START && mProcID != PROC_CRAWL_END && !checkCoachGuardGame())) { + s16 ac_name = getMoveBGActorName(mLinkAcch.m_roof, 1); + if (ac_name == PROC_OBJ_SO || ac_name == PROC_Obj_SCannon) { + return; + } + } + + f32 roof_height = mLinkAcch.GetRoofHeight(); + if (roof_height > mLinkAcch.GetGroundH()) { + f32 head_pos = mHeadTopPos.y - 10.0f; + f32 temp_f0 = 10.0f + current.pos.y; + + if (head_pos < temp_f0) { + head_pos = temp_f0; + } + + if (roof_height < head_pos) { + startRestartRoom(5, 0xC9, 4, 0); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -15718,6 +17010,7 @@ asm void daAlink_c::checkRoofRestart() { #include "asm/d/a/d_a_alink/checkRoofRestart__9daAlink_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80392094-80392094 01E6F4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -15852,7 +17145,7 @@ int daAlink_c::checkSceneChange(int exitID) { } else { if (mExitID != 0x3F) { sceneChanged = dStage_changeScene(mExitID, exitSpeed, exitMode, - fopAcM_GetRoomNo(this), mCollisionRot.y, -1); + fopAcM_GetRoomNo(this), shape_angle.y, -1); if (sceneChanged) { i_onNoResetFlg2(FLG2_SCN_CHG_START); if (mpScnChg != NULL && fopAcM_GetName(mpScnChg) == PROC_SCENE_EXIT) { @@ -15866,7 +17159,7 @@ int daAlink_c::checkSceneChange(int exitID) { } else { sceneChanged = dStage_changeSceneExitId(mLinkAcch.m_gnd, exitSpeed, exitMode, - fopAcM_GetRoomNo(this), mCollisionRot.y); + fopAcM_GetRoomNo(this), shape_angle.y); field_0x2f58 = dPath_GetRoomPath(dComIfG_Bgsp().GetRoomPathId(mLinkAcch.m_gnd), fopAcM_GetRoomNo(this)); } @@ -15917,82 +17210,40 @@ asm int daAlink_c::checkSceneChange(int param_0) { #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? -#ifdef NONMATCHING -void daAlink_c::voiceStart(u32 sfx_id) { - mZ2Link.startLinkVoice(sfx_id, mVoiceReverbIntensity); +void daAlink_c::voiceStart(u32 i_seID) { + mZ2Link.startLinkVoice(i_seID, mVoiceReverbIntensity); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::voiceStart(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/voiceStart__9daAlink_cFUl.s" -} -#pragma pop -#endif /* 800BF0B8-800BF0EC 0B99F8 0034+00 14/14 0/0 0/0 .text voiceStartLevel__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::voiceStartLevel(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/voiceStartLevel__9daAlink_cFUl.s" +void daAlink_c::voiceStartLevel(u32 i_seID) { + mZ2Link.startLinkVoiceLevel(i_seID, mVoiceReverbIntensity); } -#pragma pop /* 800BF0EC-800BF124 0B9A2C 0038+00 21/21 0/0 0/0 .text seStartSwordCut__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::seStartSwordCut(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/seStartSwordCut__9daAlink_cFUl.s" +void daAlink_c::seStartSwordCut(u32 i_seID) { + mZ2Link.startLinkSwordSound(i_seID, 0, mVoiceReverbIntensity); } -#pragma pop /* 800BF124-800BF15C 0B9A64 0038+00 1/0 0/0 0/0 .text seStartOnlyReverb__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::seStartOnlyReverb(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/seStartOnlyReverb__9daAlink_cFUl.s" +void daAlink_c::seStartOnlyReverb(u32 i_seID) { + mZ2Link.startLinkSound(i_seID, 0, mVoiceReverbIntensity); } -#pragma pop /* 800BF15C-800BF194 0B9A9C 0038+00 1/0 0/0 0/0 .text seStartOnlyReverbLevel__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::seStartOnlyReverbLevel(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/seStartOnlyReverbLevel__9daAlink_cFUl.s" +void daAlink_c::seStartOnlyReverbLevel(u32 i_seID) { + mZ2Link.startLinkSoundLevel(i_seID, 0, mVoiceReverbIntensity); } -#pragma pop /* 800BF194-800BF1CC 0B9AD4 0038+00 10/10 0/0 0/0 .text seStartMapInfo__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::seStartMapInfo(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/seStartMapInfo__9daAlink_cFUl.s" +void daAlink_c::seStartMapInfo(u32 i_seID) { + mZ2Link.startLinkSound(i_seID, mPolySound, mVoiceReverbIntensity); } -#pragma pop /* 800BF1CC-800BF204 0B9B0C 0038+00 9/9 0/0 0/0 .text seStartMapInfoLevel__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::seStartMapInfoLevel(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/seStartMapInfoLevel__9daAlink_cFUl.s" +void daAlink_c::seStartMapInfoLevel(u32 i_seID) { + mZ2Link.startLinkSoundLevel(i_seID, mPolySound, mVoiceReverbIntensity); } -#pragma pop /* 800BF204-800BF37C 0B9B44 0178+00 3/3 0/0 0/0 .text * setBasAnime__9daAlink_cFQ29daAlink_c13daAlink_UNDER */ @@ -16016,21 +17267,19 @@ asm void daAlink_c::initBasAnime() { #pragma pop /* 800BF4E0-800BF500 0B9E20 0020+00 6/6 0/0 0/0 .text resetBasAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetBasAnime() { - nofralloc -#include "asm/d/a/d_a_alink/resetBasAnime__9daAlink_cFv.s" +void daAlink_c::resetBasAnime() { + field_0x3084 = 0xFFFF; + field_0x3086 = 0xFFFF; + field_0x2d7c = NULL; + field_0x2d80 = 0; } -#pragma pop /* 800BF500-800BF79C 0B9E40 029C+00 5/5 0/0 0/0 .text checkSightLine__9daAlink_cFfP4cXyz */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkSightLine(f32 param_0, cXyz* param_1) { +asm BOOL daAlink_c::checkSightLine(f32 param_0, cXyz* param_1) { nofralloc #include "asm/d/a/d_a_alink/checkSightLine__9daAlink_cFfP4cXyz.s" } @@ -16038,26 +17287,30 @@ asm void daAlink_c::checkSightLine(f32 param_0, cXyz* param_1) { /* 800BF79C-800BF854 0BA0DC 00B8+00 2/2 0/0 0/0 .text setMetamorphoseModel__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setMetamorphoseModel(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setMetamorphoseModel__9daAlink_cFi.s" +void daAlink_c::setMetamorphoseModel(int param_0) { + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(param_0 != 0 ? (u16)0x27C : (u16)0x27D); + JKRHeap* heap = setItemHeap(); + + J3DModelData* model_data = loadAramBmd(0x31B, 0x6000); + mHeldItemModel = initModel(model_data, 0); + field_0x730.init(bck, 0, 2, lit_6040, 0, -1, false); + + mDoExt_setCurrentHeap(heap); + mEquipItem = 0x106; + field_0x33dc = mUnderFrameCtrl[0].getFrame(); } -#pragma pop /* 800BF854-800BF884 0BA194 0030+00 10/10 0/0 0/0 .text keepItemData__9daAlink_cFv */ void daAlink_c::keepItemData() { - field_0x30ce = mEquipItem; + mKeepItem = mEquipItem; deleteEquipItem(FALSE, FALSE); } /* 800BF884-800BF8D0 0BA1C4 004C+00 8/8 0/0 0/0 .text returnKeepItemData__9daAlink_cFv */ void daAlink_c::returnKeepItemData() { deleteEquipItem(FALSE, FALSE); - mEquipItem = field_0x30ce; - field_0x30ce = NO_ITEM; + mEquipItem = mKeepItem; + mKeepItem = NO_ITEM; makeItemType(); } @@ -16224,111 +17477,94 @@ bool daPy_py_c::checkMagicArmorWearFlg() const { } /* 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() && checkZoraWearFlg()) { - wear_zora = true; - } - - if (wear_zora && !i_checkNoResetFlg2(FLG2_UNK_80000)) { - ret = true; - } - - return ret; + return (!i_checkWolf() && checkZoraWearFlg()) && !i_checkNoResetFlg2(FLG2_UNK_80000); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkZoraWearAbility() const { - nofralloc -#include "asm/d/a/d_a_alink/checkZoraWearAbility__9daAlink_cCFv.s" -} -#pragma pop -#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(FLG2_UNK_80000)) { - ret = true; - } - - return ret; + return (!i_checkWolf() && checkMagicArmorWearFlg()) && !i_checkNoResetFlg2(FLG2_UNK_80000); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkMagicArmorWearAbility() const { - nofralloc -#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 -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DModelData* daAlink_c::loadAramBmd(u16 param_0, u32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/loadAramBmd__9daAlink_cFUsUl.s" +J3DModelData* daAlink_c::loadAramBmd(u16 i_resID, u32 i_bufSize) { + JKRArchive* anm_arc = dComIfGp_getAnmArchive(); + u8* tmpBuffer = new (0x20) u8[i_bufSize]; + + anm_arc->readIdxResource(tmpBuffer, i_bufSize, i_resID); + + u32 type = 'BMWR'; + JKRArchive::SDIDirEntry* dir = anm_arc->mNodes; + for (int i = 0; i < anm_arc->countDirectory(); i++) { + if (i_resID >= dir->first_file_index && i_resID < dir->first_file_index + dir->num_entries) { + type = dir->type; + break; + } + dir++; + } + + return dRes_info_c::loaderBasicBmd(type, tmpBuffer); } -#pragma pop /* 800BFF04-800BFF70 0BA844 006C+00 5/5 0/0 0/0 .text loadAram__9daAlink_cFUsUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* daAlink_c::loadAram(u16 param_0, u32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/loadAram__9daAlink_cFUsUl.s" +void* daAlink_c::loadAram(u16 i_resID, u32 i_bufSize) { + u8* tmpBuffer = new (0x20) u8[i_bufSize]; + dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, i_bufSize, i_resID); + return J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); } -#pragma pop /* 800BFF70-800BFFCC 0BA8B0 005C+00 3/3 0/0 0/0 .text loadAramItemBrk__9daAlink_cFUsP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DAnmTevRegKey* daAlink_c::loadAramItemBrk(u16 param_0, J3DModel* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/loadAramItemBrk__9daAlink_cFUsP8J3DModel.s" +J3DAnmTevRegKey* daAlink_c::loadAramItemBrk(u16 i_resID, J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)loadAram(i_resID, 0x400); + + brk->setFrame(FLOAT_LABEL(lit_6108)); + brk->searchUpdateMaterialID(model_data); + model_data->entryTevRegAnimator(brk); + + return brk; } -#pragma pop /* 800BFFCC-800C0028 0BA90C 005C+00 2/2 0/0 0/0 .text loadAramItemBtk__9daAlink_cFUsP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::loadAramItemBtk(u16 param_0, J3DModel* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/loadAramItemBtk__9daAlink_cFUsP8J3DModel.s" +J3DAnmTextureSRTKey* daAlink_c::loadAramItemBtk(u16 i_resID, J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)loadAram(i_resID, 0x400); + + btk->setFrame(FLOAT_LABEL(lit_6108)); + btk->searchUpdateMaterialID(model_data); + model_data->entryTexMtxAnimator(btk); + + return btk; } -#pragma pop /* 800C0028-800C0084 0BA968 005C+00 1/1 0/0 0/0 .text loadAramItemBtp__9daAlink_cFUsP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::loadAramItemBtp(u16 param_0, J3DModel* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/loadAramItemBtp__9daAlink_cFUsP8J3DModel.s" +J3DAnmTexPattern* daAlink_c::loadAramItemBtp(u16 i_resID, J3DModel* i_model) { + J3DModelData* model_data = i_model->getModelData(); + J3DAnmTexPattern* btp = (J3DAnmTexPattern*)loadAram(i_resID, 0x400); + + btp->setFrame(FLOAT_LABEL(lit_6108)); + btp->searchUpdateMaterialID(model_data); + model_data->entryTexNoAnimator(btp); + + return btp; } -#pragma pop /* 800C0084-800C0114 0BA9C4 0090+00 5/5 0/0 0/0 .text changeItemBck__9daAlink_cFUsf */ +// matches with literals +#ifdef NONMATCHING +void daAlink_c::changeItemBck(u16 i_resID, f32 param_1) { + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(i_resID); + if (bck != NULL) { + field_0x730.changeBckOnly(bck); + } + + if (param_1 < 0.0f) { + field_0x33dc = field_0x730.getBckAnm()->getFrameMax(); + } else { + field_0x33dc = param_1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -16337,6 +17573,7 @@ asm void daAlink_c::changeItemBck(u16 param_0, f32 param_1) { #include "asm/d/a/d_a_alink/changeItemBck__9daAlink_cFUsf.s" } #pragma pop +#endif /* 800C0114-800C0164 0BAA54 0050+00 2/2 0/0 0/0 .text checkGroupItem__9daAlink_cCFii */ int daAlink_c::checkGroupItem(int i_itemNo, int i_selItem) const { @@ -16464,7 +17701,7 @@ bool daAlink_c::checkCastleTownUseItem(u16 item_id) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::changeItemTriggerKeepProc(u8 param_0, int param_1) { +asm int daAlink_c::changeItemTriggerKeepProc(u8 param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/changeItemTriggerKeepProc__9daAlink_cFUci.s" } @@ -16475,7 +17712,7 @@ asm void daAlink_c::changeItemTriggerKeepProc(u8 param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkNewItemChange(u8 param_0) { +asm int daAlink_c::checkNewItemChange(u8 param_0) { nofralloc #include "asm/d/a/d_a_alink/checkNewItemChange__9daAlink_cFUc.s" } @@ -16580,6 +17817,353 @@ asm void daAlink_c::changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE param_0) /* 800C1F6C-800C2DA4 0BC8AC 0E38+00 229/229 0/0 0/0 .text * commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC */ +#ifdef NONMATCHING +void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { + if (mProcID == PROC_TOOL_DEMO) { + mSpeed.y = 0.0f; + resetDemoBck(); + if (i_checkModeFlg(MODE_RIDING)) { + initForceRideHorse(); + } + + if (mCommonCounter != 0) { + changeWarpMaterial(1); + } + } else if (mProcID == PROC_GRAB_STAND) { + for (int i = 0; i < 2; i++) { + field_0x312a[i] = csXyz::Zero; + } + } else if (mProcID == PROC_GRASS_WHISTLE_WAIT) { + returnKeepItemData(); + } else if (i_checkModeFlg(MODE_UNK_20)) { + fopAc_ac_c* actor = field_0x280c.getActor(); + + if (enemy != NULL) { + if (mProcID == PROC_WOLF_DOWN_AT_LAND) { + static_cast(actor)->offWolfDownPullFlg(); + if (i_procID != PROC_WOLF_BACKJUMP) { + resetWolfBallGrab(); + } + } else if (mProcID == PROC_HAWK_SUBJECT) { + static_cast(actor)->setAway(); + } else if (mProcID == PROC_GOAT_STROKE) { + static_cast(actor)->setNaderuFinish(); + } else if (mProcID == PROC_TRADE_ITEM_OUT || mProcID == PROC_NOT_USE_ITEM) { + static_cast(actor)->dead(); + } + } + field_0x280c.clearData(); + + if (mProcID == PROC_BOTTLE_SWING) { + i_offNoResetFlg2(FLG2_UNK_10000000); + } + } else if (mProcID == PROC_HOOKSHOT_FLY) { + cancelHookshotCarry(); + setOldRootQuaternion(shape_angle.x, 0, 0); + cancelItemUseQuake(1); + } else if (i_dComIfGp_checkPlayerStatus1(0x02010000)) { + if (mProcID != PROC_HOOKSHOT_FLY) { + cancelItemUseQuake(0); + } + + if (mCargoCarryAcKeep.getActor() != NULL) { + fopAcM_cancelHookCarryNow(mCargoCarryAcKeep.getActor()); + mCargoCarryAcKeep.clearData(); + } + } else if (mProcID == PROC_WOLF_ENEMY_HANG_BITE) { + resetWolfEnemyBiteAll(); + } else if (checkWolfShapeReverse()) { + setOldRootQuaternion(0, -0x8000, 0); + shape_angle.y += 0x8000; + field_0x2fe4 = shape_angle.y; + shape_angle.x = -shape_angle.x; + field_0x2fe6 = shape_angle.y; + if (mProcID != PROC_WOLF_READY_SLIDE) { + current.angle.y = shape_angle.y; + } + } else if (mProcID == PROC_WARP) { + changeWarpMaterial(1); + } else if (mProcID == PROC_WOLF_BACKJUMP) { + resetWolfBallGrab(); + } else if (mProcID == PROC_CHAIN_STRONG_PULL) { + mNowAnmPackUpper[2].setRatio(0.0f); + } else if (mProcID == PROC_SCREAM_WAIT || mProcID == PROC_WOLF_SCREAM_WAIT || mProcID == PROC_ELEC_DAMAGE) { + dComIfGp_getVibration().StopQuake(0x1F); + } else if (mProcID == PROC_GUARD_BREAK) { + field_0x814.SetTgApid(-1); + } + + if (mProcID == PROC_CHAIN_UP || mProcID == PROC_WOLF_CHAIN_UP) { + cancelFmChainGrabFromOut(); + } + + bool temp_r31 = mProcID == PROC_FISHING_CAST; + i_offNoResetFlg0(FLG0_UNK_2); + + bool flg_20000_set = checkModeFlag(0x20000); + bool flg_400_set = checkModeFlag(0x400); + if (flg_400_set && !checkBoardRide() && !checkSpinnerRide()) { + field_0x2f99 = 0xA0; + } else if (checkModeFlg(0x40840) || mProcID == PROC_BOSS_BODY_HANG || mProcID == PROC_WOLF_CHAIN_WAIT) { + field_0x2f99 = 0x70; + } + + mpProcFunc = m_procInitTable[i_procID].m_procFunc; + mProcID = i_procID; + mModeFlg = m_procInitTable[i_procID].m_mode; + + if (checkBoarRide()) { + offModeFlg(4); + } + + if (mProcID == PROC_DEAD) { + if (flg_400_set) { + if (checkHorseRide()) { + resetUnderAnime(UNDER_2, -1.0f); + } + onModeFlg(MODE_RIDING); + } else if (flg_20000_set) { + onModeFlg(MODE_SWIMMING); + } + } else if (mProcID == PROC_BOSS_BODY_HANG) { + if (checkBossOctaIealRoom()) { + onModeFlg(MODE_SWIMMING); + } + } else if (mProcID == PROC_GET_ITEM) { + if (flg_400_set) { + if (checkHorseRide()) { + resetUnderAnime(UNDER_2, -1.0f); + } + onModeFlg(MODE_RIDING); + } + } else if (mProcID == PROC_ELEC_DAMAGE) { + if (flg_20000_set) { + onModeFlg(MODE_SWIMMING); + } + + if (i_checkResetFlg1(RFLG1_UNK_2) && (checkHookshotItem(mEquipItem)) { + onModeFlg(MODE_UNK_1000); + } + } + + if (temp_r31 && (mItemAcKeep.getActor() == NULL || mItemAcKeep.getActor()->mEvtInfo.i_checkCommandDemoAccrpt()) && !i_checkEndResetFlg0(ERFLG0_UNK_1000)) { + deleteEquipItem(0, 0); + resetUpperAnime(UPPER_2, -1.0f); + } + + if (i_checkModeFlg(MODE_VINE_CLIMB)) { + mLinkAcch.SetRoofNone(); + } else { + mLinkAcch.ClrRoofNone(); + } + + field_0x2b9c = 0.0f; + field_0x2b98 = 0.0f; + mSpeedModifier = 0.0f; + field_0x2fb3 = 0; + field_0x2f9e = 6; + + clearCutTurnEffectID(); + if (!i_checkModeFlg(MODE_SWIMMING) { + field_0x3080 = 0; + } + + field_0x3082 = 0; + field_0x3088 = 0; + field_0x308a = 0; + + if (i_checkWolf()) { + shape_angle.z = 0; + mLookAngleY = 0; + field_0x59e = 0; + } else if (!i_checkReinRide() && !checkBoardRide()) { + shape_angle.x = 0; + shape_angle.z = 0; + } + + initGravity(); + + field_0x308c = 0; + field_0x33f0 = 0.0f; + field_0x33f4 = 0.0f; + field_0x30a0 = 0; + field_0x30a2 = 0; + field_0x30f0 = 0; + m_nSwordBtk->setFrame(0.0f); + field_0x310a = 0; + field_0x310c = shape_angle.y; + + if (field_0x3190 != 0) { + field_0x3190 = 0; + field_0x59e = 0; + } + + mFishingArm1Angle = csXyz::Zero; + field_0x3160 = csXyz::Zero; + + if (field_0x2fc8 != 0) { + field_0x2fc8 = 0; + resetFacePriAnime(); + } + + field_0x2fce = 5; + if (field_0x2f99 == 5) { + field_0x2f99 = 0x30; + } else if (field_0x2f99 == 4) { + field_0x2f99 = 0x20; + } + + if (i_checkModeFlg(0x40840) || mProcID == PROC_BOSS_BODY_HANG) { + field_0x2f99 = 0x50; + } + + if (i_checkModeFlg(MODE_NO_COLLISION) || mProcID == PROC_STEP_MOVE || mProcID == PROC_WOLF_TAG_JUMP) { + mLinkAcch.OffLineCheck(); + mLinkAcch.OnLineCheckNone(); + } else { + mLinkAcch.OnLineCheck(); + mLinkAcch.OffLineCheckNone(); + + for (int i = 0; i < 2; i++) { + mFootData2[i].field_0x6 = 0; + mFootData2[i].field_0x4 = 0; + mFootData2[i].field_0x2 = 0; + } + + field_0x2ba4 = 0.0f; + } + + i_onNoResetFlg0(FLG0_PLAYER_NO_DRAW); + + if (mProcID != PROC_WOLF_FALL && mProcID != PROC_WOLF_LAND) { + i_offNoResetFlg2(FLG2_UNK_200); + } + + i_offNoResetFlg2(0x11102); + i_offResetFlg0(RFLG0_UNK_2); + i_offNoResetFlg1(0x48004001); + i_offNoResetFlg0(0x80018); + + field_0x28f8 = -1; + mSight.offDrawFlg(); + mSight.offLockFlg(); + + if (mWolfLockNum != 0 && mProcID != PROC_WOLF_LOCK_ATTACK_TURN && mProcID != PROC_WOLF_LOCK_ATTACK) { + for (int i = 0; i < mWolfLockNum; i++) { + mWolfLockAcKeep[i].clearData(); + } + mWolfLockNum = 0; + } + + field_0x3078 = 0; + + if ((!checkEquipAnime() || !i_checkModeFlg(4) && + ((!i_checkModeFlg(MODE_SWIMMING) || !checkWolfEnemyThrowAnime()) && !checkModeFlg(MODE_UNK_1000))) || + (checkSwordTwirlAnime() && mProcID != PROC_ATN_ACTOR_WAIT && mProcID != PROC_ATN_ACTOR_MOVE) || + (i_checkWolf() && checkFmChainGrabAnime() && i_checkModeFlg(MODE_NO_COLLISION)) || + i_checkNoResetFlg1(FLG1_UNK_40)) + { + if ((!checkDkCaught2Anime() || mProcID != PROC_DAMAGE) && !checkNoSetUpperAnime()) { + resetUpperAnime(UPPER_2, 4.0f); + } + + if (checkBombItem(mEquipItem)) { + mEquipItem = NO_ITEM; + } + } + + if (!i_checkModeFlg(MODE_GRAB_PLACE) && !checkGrabAnime() && + !checkWolfGrabAnime() && mGrabItemAcKeep.getActor() != NULL) { + freeGrabItem(); + } + + if (!checkHookshotAnime() && mProcID != PROC_HOOKSHOT_FLY) { + cancelHookshotCarry(); + } + + if ((i_dComIfGp_checkPlayerStatus0(0, 8) && !i_checkModeFlg(MODE_VINE_CLIMB) && mProcID != PROC_HANG_CLIMB) || + ((i_dComIfGp_checkPlayerStatus1(0, 0x2000000) && mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_WALL_WAIT)) { + if (mProcID == PROC_CLIMB_TO_ROOF) { + current.pos.x += 10.0f * cM_ssin(shape_angle.y); + current.pos.z += 10.0f * cM_scos(shape_angle.y); + } else { + current.pos.x -= 10.0f * cM_ssin(shape_angle.y); + current.pos.z -= 10.0f * cM_scos(shape_angle.y); + } + } + + if (i_dComIfGp_checkPlayerStatus0(0, 0x200000)) { + seStartSystem(Z2SE_AL_HAWK_EYE_PUTOFF); + } + + if (checkUpperReadyThrowAnime() && mEquipItem != 0x102) { + i_dComIfGp_clearPlayerStatus0(0, 0xfeb5ab0f); + } else { + i_dComIfGp_clearPlayerStatus0(0, 0xffbfffcf); + } + + i_dComIfGp_clearPlayerStatus1(0,0x7fb7b78); + + cancelHookshotShot(); + if (mEquipItem == 0x109) { + deleteEquipItem(0, 0); + } + + if ((mModeFlg >> 1) % 2 && i_checkModeFlg(MODE_JUMP)) { + mLastJumpPos = current.pos; + mFallHeight = mLastJumpPos.y; + field_0x33c8 = mLastJumpPos.y; + } + + if (!i_checkModeFlg(MODE_RIDING) && flg_400_set) { + rideGetOff(); + } + + if (!checkBoarRide() && !checkHorseRide()) { + resetUnderAnime(UNDER_2, -1.0f); + } + + if (i_checkModeFlg(MODE_VINE_CLIMB | MODE_NO_COLLISION)) { + if (i_checkWolf()) { + field_0x814.SetWeight(0xFF); + } else { + field_0x814.SetWeight(0xFE); + } + } else { + field_0x814.SetWeight(0x78); + } + + dComIfGp_setAdvanceDirection(0); + + if (!checkBowAnime()) { + setBowNormalAnime(); + } + + if (flg_20000_set && !i_checkModeFlg(MODE_SWIMMING)) { + if (mProcID != PROC_CAUGHT && mProcID != PROC_HOOKSHOT_FLY && !i_checkNoResetFlg0(FLG0_UNDERWATER)) { + swimOutAfter(0); + } + } + + setBgCheckParam(); + + if ((i_checkNoResetFlg2(FLG2_UNK_40) && mProcID != PROC_WOLF_ENEMY_HANG_BITE) || + (i_checkNoResetFlg2(FLG2_UNK_8) && mProcID != PROC_WOLF_ENEMY_THROW && !i_checkWolfEnemyThrowAnime())) { + resetWolfEnemyBiteAll(); + } + + fopAc_ac_c* actor = field_0x280c.getActor(); + if (actor != NULL && (mModeFlg >> 0x11) % 2 && !i_checkModeFlg(MODE_ROPE_WALK)) { + field_0x280c.clearData(); + + if (fopAcM_GetName(actor) == PROC_Obj_Crope) { + static_cast(actor)->offRide(); + } else if (fopAcM_GetName(actor) == PROC_Obj_Wchain) { + static_cast(actor)->offRide(); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -16588,6 +18172,7 @@ asm void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC param_0) { #include "asm/d/a/d_a_alink/commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s" } #pragma pop +#endif /* 800C2DA4-800C2DDC 0BD6E4 0038+00 121/121 0/0 0/0 .text * commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC */ @@ -16621,23 +18206,22 @@ BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC procID) { #include "d/a/d_a_alink_grab.inc" /* 800E91B0-800E91C4 0E3AF0 0014+00 1/1 0/0 0/0 .text daAlink_searchGoat__FP10fopAc_ac_cPv */ -static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* param_0, void* param_1) { - if (fopAcM_GetName(param_0) == 0x106) { - return param_0; +static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* i_actor, void*) { + if (fopAcM_GetName(i_actor) == PROC_COW) { + return i_actor; } + return NULL; } /* 800E91C4-800E9210 0E3B04 004C+00 1/0 0/0 0/0 .text cancelGoronThrowEvent__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelGoronThrowEvent() { - nofralloc -#include "asm/d/a/d_a_alink/cancelGoronThrowEvent__9daAlink_cFv.s" +void daAlink_c::cancelGoronThrowEvent() { + if (mProcID == PROC_GOAT_CATCH && field_0x3012 == 0) { + field_0x3012 = 1; + i_dComIfGp_event_reset(); + } } -#pragma pop /* 800E9210-800E9344 0E3B50 0134+00 2/2 0/0 0/0 .text * setGoatStopGameFail__9daAlink_cFP10fopAc_ac_c */ @@ -16654,7 +18238,7 @@ asm void daAlink_c::setGoatStopGameFail(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatMoveInit() { +asm int daAlink_c::procGoatMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procGoatMoveInit__9daAlink_cFv.s" } @@ -16664,7 +18248,7 @@ asm void daAlink_c::procGoatMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatMove() { +asm int daAlink_c::procGoatMove() { nofralloc #include "asm/d/a/d_a_alink/procGoatMove__9daAlink_cFv.s" } @@ -16675,7 +18259,7 @@ asm void daAlink_c::procGoatMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) { +asm int daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) { nofralloc #include "asm/d/a/d_a_alink/procGoatCatchInit__9daAlink_cFP10fopAc_ac_cf.s" } @@ -16685,7 +18269,7 @@ asm void daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatCatch() { +asm int daAlink_c::procGoatCatch() { nofralloc #include "asm/d/a/d_a_alink/procGoatCatch__9daAlink_cFv.s" } @@ -16695,37 +18279,53 @@ asm void daAlink_c::procGoatCatch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatStrokeInit() { +asm int daAlink_c::procGoatStrokeInit() { nofralloc #include "asm/d/a/d_a_alink/procGoatStrokeInit__9daAlink_cFv.s" } #pragma pop /* 800EA3AC-800EA3F4 0E4CEC 0048+00 1/0 0/0 0/0 .text procGoatStroke__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procGoatStroke() { - nofralloc -#include "asm/d/a/d_a_alink/procGoatStroke__9daAlink_cFv.s" +int daAlink_c::procGoatStroke() { + if (mUnderFrameCtrl[0].checkAnmEnd()) { + checkNextAction(0); + } + + return 1; } -#pragma pop /* 800EA3F4-800EA4CC 0E4D34 00D8+00 2/2 0/0 0/0 .text procGoronMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procGoronMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procGoronMoveInit__9daAlink_cFv.s" +int daAlink_c::procGoronMoveInit() { + if (mEquipItem != NO_ITEM) { + return procPreActionUnequipInit(PROC_GORON_MOVE, NULL); + } + + if (!commonProcInitNotSameProc(PROC_GORON_MOVE)) { + return 0; + } + + mCargoCarryAcKeep.setActor(); + + if (mCargoCarryAcKeep.getActor() == NULL) { + offGoronSideMove(); + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f98 = 3; + current.angle.y = shape_angle.y + -0x4000; + field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + setSingleAnimeBase(ANM_ATN_RIGHT); + mCommonCounter = 1; + field_0x300e = 0; + return 1; } -#pragma pop /* 800EA4CC-800EA844 0E4E0C 0378+00 1/0 0/0 0/0 .text procGoronMove__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoronMove() { +asm int daAlink_c::procGoronMove() { nofralloc #include "asm/d/a/d_a_alink/procGoronMove__9daAlink_cFv.s" } @@ -16769,14 +18369,20 @@ void daAlink_c::commonWaitTurnInit() { } /* 80120474-80120500 11ADB4 008C+00 2/1 0/0 0/0 .text commonGrabPutInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::commonGrabPutInit() { - nofralloc -#include "asm/d/a/d_a_alink/commonGrabPutInit__9daAlink_cFv.s" +int daAlink_c::commonGrabPutInit() { + if (mGrabItemAcKeep.getActor() == NULL) { + if (mProcID != PROC_GRAB_STAND && (mProcID != PROC_WOLF_GRAB_PUT || !(mUnderFrameCtrl[0].getFrame() < field_0x3478))) { + dComIfGp_evmng_cutEnd(field_0x3184); + return 1; + } + } + + if (i_checkWolf()) { + return procWolfGrabPutInit(); + } + + return procGrabPutInit(); } -#pragma pop /* 80120500-80120534 11AE40 0034+00 3/3 0/0 0/0 .text commonLargeDamageUpInit__9daAlink_cFiiss */ void daAlink_c::commonLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { @@ -17640,7 +19246,7 @@ BOOL daPy_py_c::checkWolfTagLockJumpLand() const { } /* 801415E4-801415EC 13BF24 0008+00 1/0 0/0 0/0 .text checkWolfRope__9daPy_py_cFv */ -bool daPy_py_c::checkWolfRope() { +BOOL daPy_py_c::checkWolfRope() { return false; } @@ -18081,14 +19687,14 @@ void daPy_py_c::onSpinnerPathForceRemove() { } /* 80141814-8014181C 13C154 0008+00 1/0 0/0 0/0 .text getIronBallBgHit__9daPy_py_cCFv */ -bool daPy_py_c::getIronBallBgHit() const { - return false; +s16 daPy_py_c::getIronBallBgHit() const { + return 0; } /* 8014181C-80141824 13C15C 0008+00 1/0 0/0 0/0 .text getIronBallCenterPos__9daPy_py_cFv */ -bool daPy_py_c::getIronBallCenterPos() { - return false; +cXyz* daPy_py_c::getIronBallCenterPos() { + return NULL; } /* 80141824-8014182C 13C164 0008+00 1/0 0/0 0/0 .text checkCanoeFishingGetLeft__9daPy_py_cCFv */ @@ -18161,7 +19767,7 @@ void daPy_py_c::setSumouLoseHeadUp() { /* 80141874-8014187C 13C1B4 0008+00 1/0 0/0 0/0 .text getGiantPuzzleAimAngle__9daPy_py_cCFv */ s16 daPy_py_c::getGiantPuzzleAimAngle() const { - return mCollisionRot.y; + return shape_angle.y; } /* 8014187C-80141880 13C1BC 0004+00 1/0 0/0 0/0 .text setGoronSideMove__9daPy_py_cFP10fopAc_ac_c diff --git a/src/d/a/d_a_alink_HIO_data.inc b/src/d/a/d_a_alink_HIO_data.inc index 87469b134c..f069583b84 100644 --- a/src/d/a/d_a_alink_HIO_data.inc +++ b/src/d/a/d_a_alink_HIO_data.inc @@ -1,12 +1,43 @@ +// clang-format off /* 8038D664-8038D6BC 019CC4 0058+00 41/50 0/0 0/0 .rodata m__19daAlinkHIO_basic_c0 */ -daAlinkHIO_basic_c1 const daAlinkHIO_basic_c0::m = { - false, 20000, -10000, 8000, 1, 30, 400, 600, 16384, 1.0f, 4.0f, 0.7f, 3.0f, - 60.0f, 85.0f, 300.0f, 200.0f, 20.0f, 30.0f, 23.0f, 41.0f, 0.7f, 0.5f, 0.7f, 400.0f, 5000.0f, +const daAlinkHIO_basic_c1 daAlinkHIO_basic_c0::m = { + false, + 20000, + -10000, + 8000, + 1, + 30, + 400, + 600, + 16384, + 1.0f, + 4.0f, + 0.7f, + 3.0f, + 60.0f, + 85.0f, + 300.0f, + 200.0f, + 20.0f, + 30.0f, + 23.0f, + 41.0f, + 0.7f, + 0.5f, + 0.7f, + 400.0f, + 5000.0f, }; /* 8038D6BC-8038D714 019D1C 0058+00 34/47 0/0 0/0 .rodata m__18daAlinkHIO_move_c0 */ -daAlinkHIO_move_c1 const daAlinkHIO_move_c0::m = { - {11, 0.7f, 3.0f, 4.0f, 12.0f}, +const daAlinkHIO_move_c1 daAlinkHIO_move_c0::m = { + { + 11, + 0.7f, + 3.0f, + 4.0f, + 12.0f, + }, 4500, 100, 5, @@ -28,22 +59,80 @@ daAlinkHIO_move_c1 const daAlinkHIO_move_c0::m = { }; /* 8038D714-8038D768 019D74 0054+00 10/16 0/0 0/0 .rodata m__21daAlinkHIO_atnMove_c0 */ -daAlinkHIO_atnMove_c1 const daAlinkHIO_atnMove_c0::m = { - 3000, 2000, 6, 1.2f, 1.1f, 1.5f, 0.5f, 0.6f, 13.0f, 6.0f, 7.5f, - 0.7f, 1.4f, 0.25f, 0.7f, 15.0f, 2.5f, 8.0f, 0.5f, 0.4f, 1.0f, 1.3f, +const daAlinkHIO_atnMove_c1 daAlinkHIO_atnMove_c0::m = { + 3000, + 2000, + 6, + 1.2f, + 1.1f, + 1.5f, + 0.5f, + 0.6f, + 13.0f, + 6.0f, + 7.5f, + 0.7f, + 1.4f, + 0.25f, + 0.7f, + 15.0f, + 2.5f, + 8.0f, + 0.5f, + 0.4f, + 1.0f, + 1.3f, }; /* 8038D768-8038D7BC 019DC8 0054+00 3/9 0/0 0/0 .rodata m__26daAlinkHIO_noActAtnMove_c0 */ -daAlinkHIO_noActAtnMove_c1 const daAlinkHIO_noActAtnMove_c0::m = { - 3000, 2000, 6, 0.9f, 1.1f, 1.3f, 0.5f, 0.6f, 13.0f, 6.0f, 7.5f, - 0.7f, 1.3f, 0.25f, 0.7f, 13.0f, 2.5f, 8.0f, 0.35f, 0.4f, 0.1f, 2.3f, +const daAlinkHIO_noActAtnMove_c1 daAlinkHIO_noActAtnMove_c0::m = { + 3000, + 2000, + 6, + 0.9f, + 1.1f, + 1.3f, + 0.5f, + 0.6f, + 13.0f, + 6.0f, + 7.5f, + 0.7f, + 1.3f, + 0.25f, + 0.7f, + 13.0f, + 2.5f, + 8.0f, + 0.35f, + 0.4f, + 0.1f, + 2.3f, }; /* 8038D7BC-8038D82C 019E1C 0070+00 5/7 0/0 0/0 .rodata m__23daAlinkHIO_frontRoll_c0 */ -daAlinkHIO_frontRoll_c1 const daAlinkHIO_frontRoll_c0::m = { - {29, 1.1f, 0.0f, 3.0f, 22.0f}, - {29, 0.8f, 3.0f, 2.0f, 25.0f}, - {33, 1.2f, 0.0f, 1.0f, 25.0f}, +const daAlinkHIO_frontRoll_c1 daAlinkHIO_frontRoll_c0::m = { + { + 29, + 1.1f, + 0.0f, + 3.0f, + 22.0f, + }, + { + 29, + 0.8f, + 3.0f, + 2.0f, + 25.0f, + }, + { + 33, + 1.2f, + 0.0f, + 1.0f, + 25.0f, + }, 10000, 5, 1000, @@ -62,16 +151,57 @@ daAlinkHIO_frontRoll_c1 const daAlinkHIO_frontRoll_c0::m = { }; /* 8038D82C-8038D864 019E8C 0038+00 5/5 0/0 0/0 .rodata m__22daAlinkHIO_backJump_c0 */ -daAlinkHIO_backJump_c1 const daAlinkHIO_backJump_c0::m = { - {9, 0.7f, 0.0f, 2.0f, 12.0f}, {17, 1.0f, 2.0f, 2.0f, 3.0f}, 24.0f, 10.0f, 100.0f, 10.0f, +const daAlinkHIO_backJump_c1 daAlinkHIO_backJump_c0::m = { + { + 9, + 0.7f, + 0.0f, + 2.0f, + 12.0f, + }, + { + 17, + 1.0f, + 2.0f, + 2.0f, + 3.0f, + }, + 24.0f, + 10.0f, + 100.0f, + 10.0f, }; /* 8038D864-8038D8CC 019EC4 0068+00 3/3 0/0 0/0 .rodata m__22daAlinkHIO_sideStep_c0 */ -daAlinkHIO_sideStep_c1 const daAlinkHIO_sideStep_c0::m = { - {5, 1.1f, 1.0f, 3.0f, 6.0f}, - {9, 1.0f, 0.0f, 3.0f, 2.0f}, - {6, 1.0f, 0.0f, 3.0f, 7.0f}, - {9, 1.1f, 0.0f, 3.0f, 4.0f}, +const daAlinkHIO_sideStep_c1 daAlinkHIO_sideStep_c0::m = { + { + 5, + 1.1f, + 1.0f, + 3.0f, + 6.0f, + }, + { + 9, + 1.0f, + 0.0f, + 3.0f, + 2.0f, + }, + { + 6, + 1.0f, + 0.0f, + 3.0f, + 7.0f, + }, + { + 9, + 1.1f, + 0.0f, + 3.0f, + 4.0f, + }, 28.0f, 22.0f, 25.0f, @@ -81,11 +211,35 @@ daAlinkHIO_sideStep_c1 const daAlinkHIO_sideStep_c0::m = { }; /* 8038D8CC-8038D944 019F2C 0078+00 5/10 0/0 0/0 .rodata m__19daAlinkHIO_slide_c0 */ -daAlinkHIO_slide_c1 const daAlinkHIO_slide_c0::m = { - {14, 0.75f, 0.0f, 5.0f, 15.0f}, - {6, 0.9f, 0.0f, 3.0f, 7.0f}, - {15, 1.0f, 0.0f, 3.0f, 9.0f}, - {20, 1.0f, 0.0f, 3.0f, 16.0f}, +const daAlinkHIO_slide_c1 daAlinkHIO_slide_c0::m = { + { + 14, + 0.75f, + 0.0f, + 5.0f, + 15.0f, + }, + { + 6, + 0.9f, + 0.0f, + 3.0f, + 7.0f, + }, + { + 15, + 1.0f, + 0.0f, + 3.0f, + 9.0f, + }, + { + 20, + 1.0f, + 0.0f, + 3.0f, + 16.0f, + }, 40.0f, 3.0f, 50.0f, @@ -101,8 +255,14 @@ daAlinkHIO_slide_c1 const daAlinkHIO_slide_c0::m = { /* 8038D944-8038D964 019FA4 0020+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutNmV_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutNmV_c1 const daAlinkHIO_cutNmV_c0::m = { - {27, 1.2f, 2.0f, 2.0f, 16.0f}, +const daAlinkHIO_cutNormal_c1 daAlinkHIO_cutNmV_c0::m = { + { + 27, + 1.2f, + 2.0f, + 2.0f, + 16.0f, + }, 5.0f, 5.0f, 10.0f, @@ -112,8 +272,14 @@ daAlinkHIO_cutNmV_c1 const daAlinkHIO_cutNmV_c0::m = { /* 8038D964-8038D984 019FC4 0020+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutNmL_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutNmL_c1 const daAlinkHIO_cutNmL_c0::m = { - {27, 1.2f, 2.0f, 2.0f, 16.0f}, +const daAlinkHIO_cutNormal_c1 daAlinkHIO_cutNmL_c0::m = { + { + 27, + 1.2f, + 2.0f, + 2.0f, + 16.0f, + }, 3.0f, 7.0f, 13.0f, @@ -123,8 +289,14 @@ daAlinkHIO_cutNmL_c1 const daAlinkHIO_cutNmL_c0::m = { /* 8038D984-8038D9A4 019FE4 0020+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutNmR_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutNmR_c1 const daAlinkHIO_cutNmR_c0::m = { - {27, 1.2f, 3.0f, 1.0f, 16.0f}, +const daAlinkHIO_cutNormal_c1 daAlinkHIO_cutNmR_c0::m = { + { + 27, + 1.2f, + 3.0f, + 1.0f, + 16.0f, + }, 3.0f, 7.0f, 12.5f, @@ -134,8 +306,14 @@ daAlinkHIO_cutNmR_c1 const daAlinkHIO_cutNmR_c0::m = { /* 8038D9A4-8038D9C4 01A004 0020+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_cutNmSL_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutNmSL_c1 const daAlinkHIO_cutNmSL_c0::m = { - {31, 1.1f, 3.0f, 3.0f, 17.0f}, +const daAlinkHIO_cutNormal_c1 daAlinkHIO_cutNmSL_c0::m = { + { + 31, + 1.1f, + 3.0f, + 3.0f, + 17.0f, + }, 10.0f, 3.0f, 10.0f, @@ -145,8 +323,14 @@ daAlinkHIO_cutNmSL_c1 const daAlinkHIO_cutNmSL_c0::m = { /* 8038D9C4-8038D9E4 01A024 0020+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_cutNmSR_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutNmSR_c1 const daAlinkHIO_cutNmSR_c0::m = { - {27, 1.1f, 4.0f, 3.0f, 17.0f}, +const daAlinkHIO_cutNormal_c1 daAlinkHIO_cutNmSR_c0::m = { + { + 27, + 1.1f, + 4.0f, + 3.0f, + 17.0f, + }, 8.0f, 3.0f, 10.0f, @@ -156,55 +340,146 @@ daAlinkHIO_cutNmSR_c1 const daAlinkHIO_cutNmSR_c0::m = { /* 8038D9E4-8038DA10 01A044 002C+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutFnL_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutFnL_c1 const daAlinkHIO_cutFnL_c0::m = { - {29, 1.0f, 0.0f, 3.0f, 27.0f}, 0.0f, 5.0f, 7.0f, 12.0f, 21.0f, 3.0f, +const daAlinkHIO_cutFinish_c1 daAlinkHIO_cutFnL_c0::m = { + { + 29, + 1.0f, + 0.0f, + 3.0f, + 27.0f, + }, + 0, + 0, + 5.0f, + 7.0f, + 12.0f, + 21.0f, + 3.0f, }; #pragma pop /* 8038DA10-8038DA3C 01A070 002C+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutFnV_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutFnV_c1 const daAlinkHIO_cutFnV_c0::m = { - {33, 1.0f, 0.0f, 3.0f, 20.0f}, 0.0f, 5.0f, 5.0f, 11.0f, 17.0f, 1.0f, +const daAlinkHIO_cutFinish_c1 daAlinkHIO_cutFnV_c0::m = { + { + 33, + 1.0f, + 0.0f, + 3.0f, + 20.0f, + }, + 0, + 0, + 5.0f, + 5.0f, + 11.0f, + 17.0f, + 1.0f, }; #pragma pop /* 8038DA3C-8038DA68 01A09C 002C+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutFnS_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutFnS_c1 const daAlinkHIO_cutFnS_c0::m = { - {31, 1.1f, 0.0f, 3.0f, 28.0f}, 0, 4, 10.0f, 10.0f, 17.0f, 23.0f, 3.0f, +const daAlinkHIO_cutFinish_c1 daAlinkHIO_cutFnS_c0::m = { + { + 31, + 1.1f, + 0.0f, + 3.0f, + 28.0f, + }, + 0, + 4, + 10.0f, + 10.0f, + 17.0f, + 23.0f, + 3.0f, }; #pragma pop /* 8038DA68-8038DA94 01A0C8 002C+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_cutFnSl_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutFnSl_c1 const daAlinkHIO_cutFnSl_c0::m = { - {33, 0.9f, 2.0f, 3.0f, 25.0f}, 0, 4, 15.0f, 6.0f, 13.0f, 21.0f, 5.0f, +const daAlinkHIO_cutFinish_c1 daAlinkHIO_cutFnSl_c0::m = { + { + 33, + 0.9f, + 2.0f, + 3.0f, + 25.0f, + }, + 0, + 4, + 15.0f, + 6.0f, + 13.0f, + 21.0f, + 5.0f, }; #pragma pop /* 8038DA94-8038DAC0 01A0F4 002C+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_cutFnSm_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutFnSm_c1 const daAlinkHIO_cutFnSm_c0::m = { - {31, 0.9f, 2.0f, 3.0f, 20.0f}, 0, 2, 5.0f, 10.0f, 17.0f, 24.0f, 5.0f, +const daAlinkHIO_cutFinish_c1 daAlinkHIO_cutFnSm_c0::m = { + { + 31, + 0.9f, + 2.0f, + 3.0f, + 20.0f, + }, + 0, + 2, + 5.0f, + 10.0f, + 17.0f, + 24.0f, + 5.0f, }; #pragma pop /* 8038DAC0-8038DAEC 01A120 002C+00 0/1 0/0 0/0 .rodata m__20daAlinkHIO_cutFnR_c0 */ #pragma push -daAlinkHIO_cutFnR_c1 const daAlinkHIO_cutFnR_c0::m = { - {34, 1.1f, 0.0f, 3.0f, 25.0f}, 0.0f, 5.0f, 8.0f, 14.0f, 17.0f, 1.0f, +const daAlinkHIO_cutFinish_c1 daAlinkHIO_cutFnR_c0::m = { + { + 34, + 1.1f, + 0.0f, + 3.0f, + 25.0f, + }, + 0, + 0, + 5.0f, + 8.0f, + 14.0f, + 17.0f, + 1.0f, }; #pragma pop /* 8038DAEC-8038DB40 01A14C 0054+00 3/4 0/0 0/0 .rodata m__21daAlinkHIO_cutFnJU_c0 */ -daAlinkHIO_cutFnJU_c1 const daAlinkHIO_cutFnJU_c0::m = { - {19, 1.0f, 5.0f, 2.0f, 20.0f}, - {17, 1.1f, 2.0f, 4.0f, 8.0f}, - 0.0f, +const daAlinkHIO_cutFnJU_c1 daAlinkHIO_cutFnJU_c0::m = { + { + 19, + 1.0f, + 5.0f, + 2.0f, + 20.0f, + }, + { + 17, + 1.1f, + 2.0f, + 4.0f, + 8.0f, + }, + 0, + 0, 8.0f, 33.0f, 2.0f, @@ -218,9 +493,21 @@ daAlinkHIO_cutFnJU_c1 const daAlinkHIO_cutFnJU_c0::m = { }; /* 8038DB40-8038DB84 01A1A0 0044+00 4/4 0/0 0/0 .rodata m__21daAlinkHIO_cutJump_c0 */ -daAlinkHIO_cutJump_c1 const daAlinkHIO_cutJump_c0::m = { - {17, 1.1f, 0.0f, 2.0f, 18.0f}, - {29, 1.0f, 2.0f, 0.0f, 9.0f}, +const daAlinkHIO_cutJump_c1 daAlinkHIO_cutJump_c0::m = { + { + 17, + 1.1f, + 0.0f, + 2.0f, + 18.0f, + }, + { + 29, + 1.0f, + 2.0f, + 0.0f, + 9.0f, + }, 25.0f, 27.0f, 15.0f, @@ -231,11 +518,30 @@ daAlinkHIO_cutJump_c1 const daAlinkHIO_cutJump_c0::m = { }; /* 8038DB84-8038DC1C 01A1E4 0098+00 5/6 0/0 0/0 .rodata m__21daAlinkHIO_cutTurn_c0 */ -daAlinkHIO_cutTurn_c1 const daAlinkHIO_cutTurn_c0::m = { - {47, 1.0f, 2.0f, 3.0f, 28.0f}, - {9, 0.55f, 0.0f, 3.0f, 10.0f}, - {42, 1.0f, 2.0f, 3.0f, 27.0f}, - 0.0f, +const daAlinkHIO_cutTurn_c1 daAlinkHIO_cutTurn_c0::m = { + { + 47, + 1.0f, + 2.0f, + 3.0f, + 28.0f, + }, + { + 9, + 0.55f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 42, + 1.0f, + 2.0f, + 3.0f, + 27.0f, + }, + 0, + 0, 7.0f, 6.0f, 22.0f, @@ -263,8 +569,14 @@ daAlinkHIO_cutTurn_c1 const daAlinkHIO_cutTurn_c0::m = { /* 8038DC1C-8038DC3C 01A27C 0020+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_hoCutLA_c0 */ #pragma push #pragma force_active on -daAlinkHIO_hoCutLA_c1 const daAlinkHIO_hoCutLA_c0::m = { - {21, 0.9f, 1.0f, 2.0f, 14.0f}, +const daAlinkHIO_hoCutLA_c1 daAlinkHIO_hoCutLA_c0::m = { + { + 21, + 0.9f, + 1.0f, + 2.0f, + 14.0f, + }, 2.0f, 6.0f, 6.0f, @@ -274,8 +586,14 @@ daAlinkHIO_hoCutLA_c1 const daAlinkHIO_hoCutLA_c0::m = { /* 8038DC3C-8038DC5C 01A29C 0020+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_hoCutLB_c0 */ #pragma push #pragma force_active on -daAlinkHIO_hoCutLB_c1 const daAlinkHIO_hoCutLB_c0::m = { - {24, 0.9f, 4.0f, 2.0f, 16.0f}, +const daAlinkHIO_hoCutLB_c1 daAlinkHIO_hoCutLB_c0::m = { + { + 24, + 0.9f, + 4.0f, + 2.0f, + 16.0f, + }, 7.0f, 13.0f, 6.0f, @@ -285,8 +603,14 @@ daAlinkHIO_hoCutLB_c1 const daAlinkHIO_hoCutLB_c0::m = { /* 8038DC5C-8038DC7C 01A2BC 0020+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_hoCutRA_c0 */ #pragma push #pragma force_active on -daAlinkHIO_hoCutRA_c1 const daAlinkHIO_hoCutRA_c0::m = { - {24, 0.95f, 0.0f, 2.0f, 13.0f}, +const daAlinkHIO_hoCutRA_c1 daAlinkHIO_hoCutRA_c0::m = { + { + 24, + 0.95f, + 0.0f, + 2.0f, + 13.0f, + }, 2.0f, 6.0f, 6.0f, @@ -296,8 +620,14 @@ daAlinkHIO_hoCutRA_c1 const daAlinkHIO_hoCutRA_c0::m = { /* 8038DC7C-8038DC9C 01A2DC 0020+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_hoCutRB_c0 */ #pragma push #pragma force_active on -daAlinkHIO_hoCutRB_c1 const daAlinkHIO_hoCutRB_c0::m = { - {11, 0.9f, 0.0f, 2.0f, 10.0f}, +const daAlinkHIO_hoCutRB_c1 daAlinkHIO_hoCutRB_c0::m = { + { + 11, + 0.9f, + 0.0f, + 2.0f, + 10.0f, + }, 2.0f, 11.0f, 6.0f, @@ -305,10 +635,28 @@ daAlinkHIO_hoCutRB_c1 const daAlinkHIO_hoCutRB_c0::m = { #pragma pop /* 8038DC9C-8038DCF0 01A2FC 0054+00 3/3 0/0 0/0 .rodata m__25daAlinkHIO_hoCutCharge_c0 */ -daAlinkHIO_hoCutCharge_c1 const daAlinkHIO_hoCutCharge_c0::m = { - {6, 0.45f, 0.0f, 3.0f, 7.0f}, - {21, 1.0f, 3.0f, 3.0f, 22.0f}, - {49, 1.0f, 5.0f, 2.0f, 27.0f}, +const daAlinkHIO_hoCutCharge_c1 daAlinkHIO_hoCutCharge_c0::m = { + { + 6, + 0.45f, + 0.0f, + 3.0f, + 7.0f, + }, + { + 21, + 1.0f, + 3.0f, + 3.0f, + 22.0f, + }, + { + 49, + 1.0f, + 5.0f, + 2.0f, + 27.0f, + }, 4, 5, 8.0f, @@ -321,8 +669,14 @@ daAlinkHIO_hoCutCharge_c1 const daAlinkHIO_hoCutCharge_c0::m = { /* 8038DCF0-8038DD0C 01A350 001C+00 0/3 0/0 0/0 .rodata m__20daAlinkHIO_cutDaL_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutDaL_c1 const daAlinkHIO_cutDaL_c0::m = { - {12, 0.8f, 1.0f, 3.0f, 10.0f}, +const daAlinkHIO_cutDash_c1 daAlinkHIO_cutDaL_c0::m = { + { + 12, + 0.8f, + 1.0f, + 3.0f, + 10.0f, + }, 2.0f, 6.0f, }; @@ -331,8 +685,14 @@ daAlinkHIO_cutDaL_c1 const daAlinkHIO_cutDaL_c0::m = { /* 8038DD0C-8038DD28 01A36C 001C+00 0/3 0/0 0/0 .rodata m__20daAlinkHIO_cutDaR_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutDaR_c1 const daAlinkHIO_cutDaR_c0::m = { - {14, 1.0f, 0.0f, 5.0f, 11.0f}, +const daAlinkHIO_cutDash_c1 daAlinkHIO_cutDaR_c0::m = { + { + 14, + 1.0f, + 0.0f, + 5.0f, + 11.0f, + }, 2.0f, 6.0f, }; @@ -341,20 +701,56 @@ daAlinkHIO_cutDaR_c1 const daAlinkHIO_cutDaR_c0::m = { /* 8038DD28-8038DD44 01A388 001C+00 0/3 0/0 0/0 .rodata m__25daAlinkHIO_cutDaCharge_c0 */ #pragma push #pragma force_active on -daAlinkHIO_cutDaCharge_c1 const daAlinkHIO_cutDaCharge_c0::m = { - {14, 1.0f, 0.0f, 3.0f, 15.0f}, +const daAlinkHIO_cutDash_c1 daAlinkHIO_cutDaCharge_c0::m = { + { + 14, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, 3.0f, 8.0f, }; #pragma pop /* 8038DD44-8038DDB8 01A3A4 0074+00 5/5 0/0 0/0 .rodata m__21daAlinkHIO_cutDown_c0 */ -daAlinkHIO_cutDown_c1 const daAlinkHIO_cutDown_c0::m = { - {8, 1.0f, 0.0f, 3.0f, 9.0f}, - {15, 1.0f, 0.0f, 3.0f, 9.0f}, - {16, 1.3f, 1.0f, 3.0f, 17.0f}, - {73, 1.0f, 0.0f, 2.0f, 70.0f}, - {9, 0.85f, 0.0f, 3.0f, 12.0f}, +const daAlinkHIO_cutDown_c1 daAlinkHIO_cutDown_c0::m = { + { + 8, + 1.0f, + 0.0f, + 3.0f, + 9.0f, + }, + { + 15, + 1.0f, + 0.0f, + 3.0f, + 9.0f, + }, + { + 16, + 1.3f, + 1.0f, + 3.0f, + 17.0f, + }, + { + 73, + 1.0f, + 0.0f, + 2.0f, + 70.0f, + }, + { + 9, + 0.85f, + 0.0f, + 3.0f, + 12.0f, + }, 15, 6, 40.0f, @@ -363,10 +759,28 @@ daAlinkHIO_cutDown_c1 const daAlinkHIO_cutDown_c0::m = { }; /* 8038DDB8-8038DE18 01A418 0060+00 4/4 0/0 0/0 .rodata m__21daAlinkHIO_cutHead_c0 */ -daAlinkHIO_cutHead_c1 const daAlinkHIO_cutHead_c0::m = { - {8, 0.9f, 0.0f, 1.0f, 9.0f}, - {21, 1.0f, 0.0f, 2.0f, 22.0f}, - {16, 1.2f, 1.0f, 3.0f, 10.0f}, +const daAlinkHIO_cutHead_c1 daAlinkHIO_cutHead_c0::m = { + { + 8, + 0.9f, + 0.0f, + 1.0f, + 9.0f, + }, + { + 21, + 1.0f, + 0.0f, + 2.0f, + 22.0f, + }, + { + 16, + 1.2f, + 1.0f, + 3.0f, + 10.0f, + }, -4.0f, 300.0f, 400.0f, @@ -379,11 +793,35 @@ daAlinkHIO_cutHead_c1 const daAlinkHIO_cutHead_c0::m = { }; /* 8038DE18-8038DE8C 01A478 0074+00 5/5 0/0 0/0 .rodata m__26daAlinkHIO_cutLargeJump_c0 */ -daAlinkHIO_cutLargeJump_c1 const daAlinkHIO_cutLargeJump_c0::m = { - {29, 1.3f, 0.0f, 3.0f, 30.0f}, - {6, 1.0f, 0.0f, 3.0f, 7.0f}, - {16, 1.0f, 0.0f, 2.0f, 17.0f}, - {35, 1.25f, 0.0f, 0.0f, 22.0f}, +const daAlinkHIO_cutLargeJump_c1 daAlinkHIO_cutLargeJump_c0::m = { + { + 29, + 1.3f, + 0.0f, + 3.0f, + 30.0f, + }, + { + 6, + 1.0f, + 0.0f, + 3.0f, + 7.0f, + }, + { + 16, + 1.0f, + 0.0f, + 2.0f, + 17.0f, + }, + { + 35, + 1.25f, + 0.0f, + 0.0f, + 22.0f, + }, 20.0f, 33.0f, 2.0f, @@ -396,11 +834,35 @@ daAlinkHIO_cutLargeJump_c1 const daAlinkHIO_cutLargeJump_c0::m = { }; /* 8038DE8C-8038DF28 01A4EC 009C+00 21/30 0/0 0/0 .rodata m__17daAlinkHIO_cut_c0 */ -daAlinkHIO_cut_c1 const daAlinkHIO_cut_c0::m = { - {18, -1.100f, 0.0f, 3.0f, -1.0f}, - {22, 0.9f, 0.0f, 3.0f, 23.0f}, - {45, 1.0f, 0.0f, 3.0f, 15.0f}, - {47, 1.0f, 0.0f, 5.0f, 27.0f}, +const daAlinkHIO_cut_c1 daAlinkHIO_cut_c0::m = { + { + 18, + -1.100f, + 0.0f, + 3.0f, + -1.0f, + }, + { + 22, + 0.9f, + 0.0f, + 3.0f, + 23.0f, + }, + { + 45, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 47, + 1.0f, + 0.0f, + 5.0f, + 27.0f, + }, 0, 1, 15, @@ -428,29 +890,87 @@ daAlinkHIO_cut_c1 const daAlinkHIO_cut_c0::m = { }; /* 8038DF28-8038DF4C 01A588 0024+00 1/1 0/0 0/0 .rodata m__21daAlinkHIO_gAtPush_c0 */ -daAlinkHIO_gAtPush_c1 const daAlinkHIO_gAtPush_c0::m = { - {14, 1.0f, 1.0f, 5.0f, 18.0f}, 14.0f, 1.0f, 12.0f, 14.0f, +const daAlinkHIO_guardAttack_c1 daAlinkHIO_gAtPush_c0::m = { + { + 14, + 1.0f, + 1.0f, + 5.0f, + 18.0f, + }, + 14.0f, + 1.0f, + 12.0f, + 14.0f, }; /* 8038DF4C-8038DF70 01A5AC 0024+00 0/0 0/0 0/0 .rodata m__21daAlinkHIO_gAtKick_c0 */ #pragma push #pragma force_active on -daAlinkHIO_gAtKick_c1 const daAlinkHIO_gAtKick_c0::m = { - {21, 1.2f, 0.0f, 0.0f, 22.0f}, 10.0f, 6.0f, 11.0f, 18.0f, +const daAlinkHIO_guardAttack_c1 daAlinkHIO_gAtKick_c0::m = { + { + 21, + 1.2f, + 0.0f, + 0.0f, + 22.0f, + }, + 10.0f, + 6.0f, + 11.0f, + 18.0f, }; #pragma pop /* 8038DF70-8038DF9C 01A5D0 002C+00 4/4 0/0 0/0 .rodata m__22daAlinkHIO_turnMove_c0 */ -daAlinkHIO_turnMove_c1 const daAlinkHIO_turnMove_c0::m = { - {27, 1.0f, 0.0f, 3.0f, 22.0f}, 5, 2500, 200, 1000, 1.1f, 19.0f, 1.5f, 25.0f, +const daAlinkHIO_turnMove_c1 daAlinkHIO_turnMove_c0::m = { + { + 27, + 1.0f, + 0.0f, + 3.0f, + 22.0f, + }, + 5, + 2500, + 200, + 1000, + 1.1f, + 19.0f, + 1.5f, + 25.0f, }; /* 8038DF9C-8038E01C 01A5FC 0080+00 6/7 0/0 0/0 .rodata m__19daAlinkHIO_guard_c0 */ -daAlinkHIO_guard_c1 const daAlinkHIO_guard_c0::m = { - {11, 1.0f, 0.0f, 0.0f, 12.0f}, - {11, 1.0f, 0.0f, 0.0f, 12.0f}, - {19, 1.0f, 0.0f, 3.0f, 20.0f}, - {35, 1.0f, 0.0f, 3.0f, 28.0f}, +const daAlinkHIO_guard_c1 daAlinkHIO_guard_c0::m = { + { + 11, + 1.0f, + 0.0f, + 0.0f, + 12.0f, + }, + { + 11, + 1.0f, + 0.0f, + 0.0f, + 12.0f, + }, + { + 19, + 1.0f, + 0.0f, + 3.0f, + 20.0f, + }, + { + 35, + 1.0f, + 0.0f, + 3.0f, + 28.0f, + }, 8000, 5000, 0, @@ -468,9 +988,21 @@ daAlinkHIO_guard_c1 const daAlinkHIO_guard_c0::m = { }; /* 8038E01C-8038E068 01A67C 004C+00 8/9 0/0 0/0 .rodata m__20daAlinkHIO_crouch_c0 */ -daAlinkHIO_crouch_c1 const daAlinkHIO_crouch_c0::m = { - {9, 1.0f, 0.0f, 3.0f, 10.0f}, - {7, -1.0f, 0.0f, 3.0f, 2.0f}, +const daAlinkHIO_crouch_c1 daAlinkHIO_crouch_c0::m = { + { + 9, + 1.0f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 7, + -1.0f, + 0.0f, + 3.0f, + 2.0f, + }, 5, 500, 50, @@ -484,11 +1016,35 @@ daAlinkHIO_crouch_c1 const daAlinkHIO_crouch_c0::m = { }; /* 8038E068-8038E11C 01A6C8 00B4+00 26/32 0/0 0/0 .rodata m__22daAlinkHIO_autoJump_c0 */ -daAlinkHIO_autoJump_c1 const daAlinkHIO_autoJump_c0::m = { - {6, 1.2f, 3.0f, 6.0f, 7.0f}, - {7, 0.9f, 1.0f, 0.0f, 5.0f}, - {4, 0.75f, 0.0f, 2.0f, 5.0f}, - {10, 0.6f, 0.0f, 2.0f, 11.0f}, +const daAlinkHIO_autoJump_c1 daAlinkHIO_autoJump_c0::m = { + { + 6, + 1.2f, + 3.0f, + 6.0f, + 7.0f, + }, + { + 7, + 0.9f, + 1.0f, + 0.0f, + 5.0f, + }, + { + 4, + 0.75f, + 0.0f, + 2.0f, + 5.0f, + }, + { + 10, + 0.6f, + 0.0f, + 2.0f, + 11.0f, + }, 1, 9158, 12287, @@ -519,52 +1075,158 @@ daAlinkHIO_autoJump_c1 const daAlinkHIO_autoJump_c0::m = { }; /* 8038E11C-8038E164 01A77C 0048+00 7/7 0/0 0/0 .rodata m__23daAlinkHIO_smallJump_c0 */ -daAlinkHIO_smallJump_c1 const daAlinkHIO_smallJump_c0::m = { - {8, 0.6f, 3.0f, 3.0f, 9.0f}, - {5, 1.0f, 0.0f, 2.0f, 6.0f}, - {29, 0.85f, 0.0f, 5.0f, 6.0f}, +const daAlinkHIO_smallJump_c1 daAlinkHIO_smallJump_c0::m = { + { + 8, + 0.6f, + 3.0f, + 3.0f, + 9.0f, + }, + { + 5, + 1.0f, + 0.0f, + 2.0f, + 6.0f, + }, + { + 29, + 0.85f, + 0.0f, + 5.0f, + 6.0f, + }, 6.0f, 3.0f, 7.0f, }; /* 8038E164-8038E1B8 01A7C4 0054+00 15/15 0/0 0/0 .rodata m__23daAlinkHIO_wallCatch_c0 */ -daAlinkHIO_wallCatch_c1 const daAlinkHIO_wallCatch_c0::m = { - {19, 1.0f, 0.0f, 3.0f, 10.0f}, - {7, 1.0f, 0.0f, 3.0f, 8.0f}, - {29, 1.0f, 0.0f, 3.0f, 26.0f}, - {13, 1.0f, 1.0f, 2.0f, 14.0f}, +const daAlinkHIO_wallCatch_c1 daAlinkHIO_wallCatch_c0::m = { + { + 19, + 1.0f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 7, + 1.0f, + 0.0f, + 3.0f, + 8.0f, + }, + { + 29, + 1.0f, + 0.0f, + 3.0f, + 26.0f, + }, + { + 13, + 1.0f, + 1.0f, + 2.0f, + 14.0f, + }, 4.0f, }; /* 8038E1B8-8038E1E0 01A818 0028+00 4/4 0/0 0/0 .rodata m__22daAlinkHIO_wallFall_c0 */ -daAlinkHIO_wallFall_c1 const daAlinkHIO_wallFall_c0::m = { - {22, 0.8f, 0.0f, 3.0f, 23.0f}, - {12, 1.0f, 0.0f, 3.0f, 13.0f}, +const daAlinkHIO_wallFall_c1 daAlinkHIO_wallFall_c0::m = { + { + 22, + 0.8f, + 0.0f, + 3.0f, + 23.0f, + }, + { + 12, + 1.0f, + 0.0f, + 3.0f, + 13.0f, + }, }; /* 8038E1E0-8038E1F4 01A840 0014+00 2/2 0/0 0/0 .rodata m__22daAlinkHIO_wallMove_c0 */ -daAlinkHIO_wallMove_c1 const daAlinkHIO_wallMove_c0::m = { - 0.8f, 1.1f, 3.0f, 2.0f, 3.0f, +const daAlinkHIO_wallMove_c1 daAlinkHIO_wallMove_c0::m = { + 0.8f, + 1.1f, + 3.0f, + 2.0f, + 3.0f, }; /* 8038E1F4-8038E210 01A854 001C+00 2/5 0/0 0/0 .rodata m__22daAlinkHIO_wallHang_c0 */ -daAlinkHIO_wallHang_c1 const daAlinkHIO_wallHang_c0::m = { - 2, 3, 50.0f, 100.0f, 150.0f, 200.0f, 250.0f, 200.0f, +const daAlinkHIO_wallHang_c1 daAlinkHIO_wallHang_c0::m = { + 2, + 3, + 50.0f, + 100.0f, + 150.0f, + 200.0f, + 250.0f, + 200.0f, }; /* 8038E210-8038E24C 01A870 003C+00 7/7 0/0 0/0 .rodata m__22daAlinkHIO_pushpull_c0 */ -daAlinkHIO_pushpull_c1 const daAlinkHIO_pushpull_c0::m = { - 0, 120, 7, 60, 80, 40, 2, 64, 1.0f, 5.0f, - 1.0f, 3.0f, 1.0f, 3.0f, 1.0f, 0.25f, 1.0f, 0.15f, 0.75f, +const daAlinkHIO_pushpull_c1 daAlinkHIO_pushpull_c0::m = { + 0, + 120, + 7, + 60, + 80, + 40, + 2, + 64, + 1.0f, + 5.0f, + 1.0f, + 3.0f, + 1.0f, + 3.0f, + 1.0f, + 0.25f, + 1.0f, + 0.15f, + 0.75f, }; /* 8038E24C-8038E2B0 01A8AC 0064+00 1/3 0/0 0/0 .rodata m__23daAlinkHIO_damNormal_c0 */ -daAlinkHIO_damNormal_c1 const daAlinkHIO_damNormal_c0::m = { - {22, 2.3f, 0.0f, 3.0f, 20.0f}, - {19, 2.3f, 0.0f, 3.0f, 17.0f}, - {19, 2.3f, 0.0f, 3.0f, 17.0f}, - {19, 2.3f, 0.0f, 3.0f, 17.0f}, +const daAlinkHIO_damNormal_c1 daAlinkHIO_damNormal_c0::m = { + { + 22, + 2.3f, + 0.0f, + 3.0f, + 20.0f, + }, + { + 19, + 2.3f, + 0.0f, + 3.0f, + 17.0f, + }, + { + 19, + 2.3f, + 0.0f, + 3.0f, + 17.0f, + }, + { + 19, + 2.3f, + 0.0f, + 3.0f, + 17.0f, + }, 2000, 5000, 10.0f, @@ -574,15 +1236,63 @@ daAlinkHIO_damNormal_c1 const daAlinkHIO_damNormal_c0::m = { }; /* 8038E2B0-8038E36C 01A910 00BC+00 2/4 0/0 0/0 .rodata m__22daAlinkHIO_damLarge_c0 */ -daAlinkHIO_damLarge_c1 const daAlinkHIO_damLarge_c0::m = { - {49, 0.8f, 0.0f, 3.0f, 40.0f}, - {64, 1.0f, 0.0f, 3.0f, 50.0f}, - {39, 0.8f, 0.0f, 3.0f, 33.0f}, - {39, 0.8f, 0.0f, 3.0f, 33.0f}, - {2, 0.8f, 0.0f, 1.0f, 50.0f}, - {2, 1.0f, 0.0f, 1.0f, 40.0f}, - {2, 1.0f, 0.0f, 1.0f, 40.0f}, - {2, 1.0f, 0.0f, 1.0f, 40.0f}, +const daAlinkHIO_damLarge_c1 daAlinkHIO_damLarge_c0::m = { + { + 49, + 0.8f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 64, + 1.0f, + 0.0f, + 3.0f, + 50.0f, + }, + { + 39, + 0.8f, + 0.0f, + 3.0f, + 33.0f, + }, + { + 39, + 0.8f, + 0.0f, + 3.0f, + 33.0f, + }, + { + 2, + 0.8f, + 0.0f, + 1.0f, + 50.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 40.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 40.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 40.0f, + }, 1300, -5.0f, 3.0f, @@ -593,15 +1303,63 @@ daAlinkHIO_damLarge_c1 const daAlinkHIO_damLarge_c0::m = { }; /* 8038E36C-8038E428 01A9CC 00BC+00 1/3 0/0 0/0 .rodata m__21daAlinkHIO_damHuge_c0 */ -daAlinkHIO_damHuge_c1 const daAlinkHIO_damHuge_c0::m = { - {49, 0.8f, 0.0f, 3.0f, 40.0f}, - {64, 0.8f, 0.0f, 3.0f, 50.0f}, - {39, 0.8f, 0.0f, 3.0f, 33.0f}, - {39, 0.8f, 0.0f, 3.0f, 33.0f}, - {2, 1.0f, 0.0f, 1.0f, 50.0f}, - {2, 1.0f, 0.0f, 1.0f, 40.0f}, - {2, 1.0f, 0.0f, 1.0f, 40.0f}, - {2, 1.0f, 0.0f, 1.0f, 40.0f}, +const daAlinkHIO_damHuge_c1 daAlinkHIO_damHuge_c0::m = { + { + 49, + 0.8f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 64, + 0.8f, + 0.0f, + 3.0f, + 50.0f, + }, + { + 39, + 0.8f, + 0.0f, + 3.0f, + 33.0f, + }, + { + 39, + 0.8f, + 0.0f, + 3.0f, + 33.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 50.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 40.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 40.0f, + }, + { + 2, + 1.0f, + 0.0f, + 1.0f, + 40.0f, + }, 2000, -7.5f, 3.0f, @@ -612,17 +1370,41 @@ daAlinkHIO_damHuge_c1 const daAlinkHIO_damHuge_c0::m = { }; /* 8038E428-8038E454 01AA88 002C+00 1/1 0/0 0/0 .rodata m__22daAlinkHIO_damHorse_c0 */ -daAlinkHIO_damHorse_c1 const daAlinkHIO_damHorse_c0::m = { - {9, 2.0f, 0.0f, 3.0f, 10.0f}, - {11, 1.0f, 0.0f, 3.0f, 12.0f}, +const daAlinkHIO_damHorse_c1 daAlinkHIO_damHorse_c0::m = { + { + 9, + 2.0f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 11, + 1.0f, + 0.0f, + 3.0f, + 12.0f, + }, 2500, 5000, }; /* 8038E454-8038E49C 01AAB4 0048+00 9/9 0/0 0/0 .rodata m__21daAlinkHIO_damFall_c0 */ -daAlinkHIO_damFall_c1 const daAlinkHIO_damFall_c0::m = { - {11, 1.2f, 2.0f, 3.0f, 12.0f}, - {17, 0.8f, 0.0f, 0.0f, 12.0f}, +const daAlinkHIO_damFall_c1 daAlinkHIO_damFall_c0::m = { + { + 11, + 1.2f, + 2.0f, + 3.0f, + 12.0f, + }, + { + 17, + 0.8f, + 0.0f, + 0.0f, + 12.0f, + }, 10, 25, 4.0f, @@ -635,18 +1417,65 @@ daAlinkHIO_damFall_c1 const daAlinkHIO_damFall_c0::m = { }; /* 8038E49C-8038E4C0 01AAFC 0024+00 6/7 0/0 0/0 .rodata m__23daAlinkHIO_damCaught_c0 */ -daAlinkHIO_damCaught_c1 const daAlinkHIO_damCaught_c0::m = { - {59, 1.5f, 0.0f, 3.0f, 35.0f}, 300, 5, 0.7f, 3.0f, 1.3f, +const daAlinkHIO_damCaught_c1 daAlinkHIO_damCaught_c0::m = { + { + 59, + 1.5f, + 0.0f, + 3.0f, + 35.0f, + }, + 300, + 5, + 0.7f, + 3.0f, + 1.3f, }; /* 8038E4C0-8038E54C 01AB20 008C+00 1/2 0/0 0/0 .rodata m__21daAlinkHIO_damSwim_c0 */ -daAlinkHIO_damSwim_c1 const daAlinkHIO_damSwim_c0::m = { - {22, 1.2f, 0.0f, 3.0f, 18.0f}, - {19, 1.0f, 0.0f, 3.0f, 15.0f}, - {19, 1.2f, 0.0f, 3.0f, 15.0f}, - {19, 1.2f, 0.0f, 3.0f, 15.0f}, - {10, 1.0f, 0.0f, 3.0f, 11.0f}, - {11, 1.0f, 0.0f, 3.0f, 12.0f}, +const daAlinkHIO_damSwim_c1 daAlinkHIO_damSwim_c0::m = { + { + 22, + 1.2f, + 0.0f, + 3.0f, + 18.0f, + }, + { + 19, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 19, + 1.2f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 19, + 1.2f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 10, + 1.0f, + 0.0f, + 3.0f, + 11.0f, + }, + { + 11, + 1.0f, + 0.0f, + 3.0f, + 12.0f, + }, 1500, 4000, 8.0f, @@ -656,9 +1485,21 @@ daAlinkHIO_damSwim_c1 const daAlinkHIO_damSwim_c0::m = { }; /* 8038E54C-8038E5A4 01ABAC 0058+00 10/12 0/0 0/0 .rodata m__20daAlinkHIO_damage_c0 */ -daAlinkHIO_damage_c1 const daAlinkHIO_damage_c0::m = { - {14, 1.0f, 0.0f, 3.0f, 15.0f}, - {9, 1.0f, 0.0f, 3.0f, 10.0f}, +const daAlinkHIO_damage_c1 daAlinkHIO_damage_c0::m = { + { + 14, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 9, + 1.0f, + 0.0f, + 3.0f, + 10.0f, + }, 0, 30, 30, @@ -683,11 +1524,35 @@ daAlinkHIO_damage_c1 const daAlinkHIO_damage_c0::m = { }; /* 8038E5A4-8038E610 01AC04 006C+00 7/8 0/0 0/0 .rodata m__19daAlinkHIO_horse_c0 */ -daAlinkHIO_horse_c1 const daAlinkHIO_horse_c0::m = { - {18, 1.2f, 0.0f, 5.0f, 19.0f}, - {22, 1.2f, 0.0f, 3.0f, 23.0f}, - {43, 1.45f, 3.0f, 3.0f, 44.0f}, - {18, 1.2f, 0.0f, 3.0f, 23.0f}, +const daAlinkHIO_horse_c1 daAlinkHIO_horse_c0::m = { + { + 18, + 1.2f, + 0.0f, + 5.0f, + 19.0f, + }, + { + 22, + 1.2f, + 0.0f, + 3.0f, + 23.0f, + }, + { + 43, + 1.45f, + 3.0f, + 3.0f, + 44.0f, + }, + { + 18, + 1.2f, + 0.0f, + 3.0f, + 23.0f, + }, 100, 32767, 30, @@ -702,8 +1567,14 @@ daAlinkHIO_horse_c1 const daAlinkHIO_horse_c0::m = { /* ############################################################################################## */ /* 8038E610-8038E658 01AC70 0048+00 11/11 0/0 0/0 .rodata m__19daAlinkHIO_canoe_c0 */ -daAlinkHIO_canoe_c1 const daAlinkHIO_canoe_c0::m = { - {23, 1.3f, 0.0f, 3.0f, 24.0f}, +const daAlinkHIO_canoe_c1 daAlinkHIO_canoe_c0::m = { + { + 23, + 1.3f, + 0.0f, + 3.0f, + 24.0f, + }, 150, 360, 1.0f, @@ -721,9 +1592,21 @@ daAlinkHIO_canoe_c1 const daAlinkHIO_canoe_c0::m = { }; /* 8038E658-8038E6C8 01ACB8 0070+00 9/9 0/0 0/0 .rodata m__17daAlinkHIO_bow_c0 */ -daAlinkHIO_bow_c1 const daAlinkHIO_bow_c0::m = { - {9, 1.0f, 0.0f, 3.0f, 5.0f}, - {6, 1.0f, 0.0f, 3.0f, 7.0f}, +const daAlinkHIO_bow_c1 daAlinkHIO_bow_c0::m = { + { + 9, + 1.0f, + 0.0f, + 3.0f, + 5.0f, + }, + { + 6, + 1.0f, + 0.0f, + 3.0f, + 7.0f, + }, 10, 30, 70, @@ -746,9 +1629,21 @@ daAlinkHIO_bow_c1 const daAlinkHIO_bow_c0::m = { }; /* 8038E6C8-8038E714 01AD28 004C+00 22/23 0/0 0/0 .rodata m__18daAlinkHIO_boom_c0 */ -daAlinkHIO_boom_c1 const daAlinkHIO_boom_c0::m = { - {21, 0.9f, 3.0f, 2.0f, 22.0f}, - {25, 1.0f, 3.0f, 1.0f, 10.0f}, +const daAlinkHIO_boom_c1 daAlinkHIO_boom_c0::m = { + { + 21, + 0.9f, + 3.0f, + 2.0f, + 22.0f, + }, + { + 25, + 1.0f, + 3.0f, + 1.0f, + 10.0f, + }, 40, 0, 1.0f, @@ -762,24 +1657,69 @@ daAlinkHIO_boom_c1 const daAlinkHIO_boom_c0::m = { }; /* 8038E714-8038E760 01AD74 004C+00 14/14 0/0 0/0 .rodata m__18daAlinkHIO_bomb_c0 */ -daAlinkHIO_bomb_c1 const daAlinkHIO_bomb_c0::m = { - 160, 50, 50, -4.2f, -100.0f, 0.350f, 2.0f, 20.0f, 1.3f, 225.0f, - 0.0f, -0.8f, -7.0f, 26.0f, 33.0f, 10.0f, 15.0f, 40.0f, 15.0f, 300.0f, +const daAlinkHIO_bomb_c1 daAlinkHIO_bomb_c0::m = { + 160, + 50, + 50, + -4.2f, + -100.0f, + 0.350f, + 2.0f, + 20.0f, + 1.3f, + 225.0f, + 0.0f, + -0.8f, + -7.0f, + 26.0f, + 33.0f, + 10.0f, + 15.0f, + 40.0f, + 15.0f, + 300.0f, }; /* 8038E760-8038E77C 01ADC0 001C+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_huLight_c0 */ #pragma push #pragma force_active on -daAlinkHIO_huLight_c1 const daAlinkHIO_huLight_c0::m = { - 3, 0, 181, 112, 40, -70, 1.0f, 50.0f, 350.0f, 0.0f, +const daAlinkHIO_huLight_c1 daAlinkHIO_huLight_c0::m = { + 3, + 0, + 181, + 112, + 40, + -70, + 1.0f, + 50.0f, + 350.0f, + 0.0f, }; #pragma pop /* 8038E77C-8038E7CC 01ADDC 0050+00 7/8 0/0 0/0 .rodata m__23daAlinkHIO_kandelaar_c0 */ -daAlinkHIO_kandelaar_c1 const daAlinkHIO_kandelaar_c0::m = { - {30, 1.1f, 2.0f, 3.0f, 17.0f}, - {11, 1.0f, 0.0f, 3.0f, 12.0f}, - {17, 1.0f, 0.0f, 3.0f, 18.0f}, +const daAlinkHIO_kandelaar_c1 daAlinkHIO_kandelaar_c0::m = { + { + 30, + 1.1f, + 2.0f, + 3.0f, + 17.0f, + }, + { + 11, + 1.0f, + 0.0f, + 3.0f, + 12.0f, + }, + { + 17, + 1.0f, + 0.0f, + 3.0f, + 18.0f, + }, 80, 40, 20, @@ -792,14 +1732,32 @@ daAlinkHIO_kandelaar_c1 const daAlinkHIO_kandelaar_c0::m = { }; /* 8038E7CC-8038E7F4 01AE2C 0028+00 2/2 0/0 0/0 .rodata m__21daAlinkHIO_fmChain_c0 */ -daAlinkHIO_fmChain_c1 const daAlinkHIO_fmChain_c0::m = { - {20, 1.2f, 0.0f, 3.0f, 16.0f}, - {20, -1.1f, 0.0f, 3.0f, 5.0f}, +const daAlinkHIO_fmChain_c1 daAlinkHIO_fmChain_c0::m = { + { + 20, + 1.2f, + 0.0f, + 3.0f, + 16.0f, + }, + { + 20, + -1.1f, + 0.0f, + 3.0f, + 5.0f, + }, }; /* 8038E7F4-8038E840 01AE54 004C+00 17/21 0/0 0/0 .rodata m__24daAlinkHIO_magneBoots_c0 */ -daAlinkHIO_magneBoots_c1 const daAlinkHIO_magneBoots_c0::m = { - {29, 1.1f, 0.0f, 3.0f, 23.0f}, +const daAlinkHIO_magneBoots_c1 daAlinkHIO_magneBoots_c0::m = { + { + 29, + 1.1f, + 0.0f, + 3.0f, + 23.0f, + }, 0.4f, 1.0f, 1.8f, @@ -817,19 +1775,55 @@ daAlinkHIO_magneBoots_c1 const daAlinkHIO_magneBoots_c0::m = { }; /* 8038E840-8038E870 01AEA0 0030+00 6/6 0/0 0/0 .rodata m__20daAlinkHIO_pickUp_c0 */ -daAlinkHIO_pickUp_c1 const daAlinkHIO_pickUp_c0::m = { - {18, 0.9f, 0.0f, 2.0f, 13.0f}, - {18, -1.0f, 0.0f, 1.0f, 4.0f}, +const daAlinkHIO_pickUp_c1 daAlinkHIO_pickUp_c0::m = { + { + 18, + 0.9f, + 0.0f, + 2.0f, + 13.0f, + }, + { + 18, + -1.0f, + 0.0f, + 1.0f, + 4.0f, + }, 30.0f, 30.0f, }; /* 8038E870-8038E90C 01AED0 009C+00 16/17 0/0 0/0 .rodata m__19daAlinkHIO_board_c0 */ -daAlinkHIO_board_c1 const daAlinkHIO_board_c0::m = { - {9, 2.5f, 0.0f, 3.0f, 10.0f}, - {14, 0.7f, 0.0f, 8.0f, 15.0f}, - {24, 1.6f, 5.0f, 5.0f, 25.0f}, - {24, 0.8f, 0.0f, 3.0f, 25.0f}, +const daAlinkHIO_board_c1 daAlinkHIO_board_c0::m = { + { + 9, + 2.5f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 14, + 0.7f, + 0.0f, + 8.0f, + 15.0f, + }, + { + 24, + 1.6f, + 5.0f, + 5.0f, + 25.0f, + }, + { + 24, + 0.8f, + 0.0f, + 3.0f, + 25.0f, + }, 70.0f, 4.0f, 22.0f, @@ -852,18 +1846,96 @@ daAlinkHIO_board_c1 const daAlinkHIO_board_c0::m = { }; /* 8038E90C-8038E9C0 01AF6C 00B4+00 12/12 0/0 0/0 .rodata m__20daAlinkHIO_bottle_c0 */ -daAlinkHIO_bottle_c1 const daAlinkHIO_bottle_c0::m = { - {56, 1.15f, 0.0f, 3.0f, 57.0f}, {39, 1.2f, 0.0f, 3.0f, 40.0f}, {44, 1.2f, 0.0f, 3.0f, 50.0f}, - {54, 1.1f, 0.0f, 3.0f, 55.0f}, {24, 1.0f, 0.0f, 3.0f, 25.0f}, {12, 0.6f, 1.0f, 3.0f, 10.0f}, - {47, 1.0f, 0.0f, 3.0f, 48.0f}, {86, 1.0f, 0.0f, 3.0f, 87.0f}, {29, 1.2f, 0.0f, 3.0f, 30.0f}, +const daAlinkHIO_bottle_c1 daAlinkHIO_bottle_c0::m = { + { + 56, + 1.15f, + 0.0f, + 3.0f, + 57.0f, + }, + { + 39, + 1.2f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 44, + 1.2f, + 0.0f, + 3.0f, + 50.0f, + }, + { + 54, + 1.1f, + 0.0f, + 3.0f, + 55.0f, + }, + { + 24, + 1.0f, + 0.0f, + 3.0f, + 25.0f, + }, + { + 12, + 0.6f, + 1.0f, + 3.0f, + 10.0f, + }, + { + 47, + 1.0f, + 0.0f, + 3.0f, + 48.0f, + }, + { + 86, + 1.0f, + 0.0f, + 3.0f, + 87.0f, + }, + { + 29, + 1.2f, + 0.0f, + 3.0f, + 30.0f, + }, }; /* 8038E9C0-8038EA30 01B020 0070+00 15/16 0/0 0/0 .rodata m__22daAlinkHIO_hookshot_c0 */ -daAlinkHIO_hookshot_c1 const daAlinkHIO_hookshot_c0::m = { - {12, 1.0f, 0.0f, 0.0f, 13.0f}, - {39, 1.0f, 0.0f, 1.0f, 11.0f}, - {28, 1.0f, 0.0f, 2.0f, 7.0f}, - 0.0f, +const daAlinkHIO_hookshot_c1 daAlinkHIO_hookshot_c0::m = { + { + 12, + 1.0f, + 0.0f, + 0.0f, + 13.0f, + }, + { + 39, + 1.0f, + 0.0f, + 1.0f, + 11.0f, + }, + { + 28, + 1.0f, + 0.0f, + 2.0f, + 7.0f, + }, + 0, 1.0f, 3.0f, 2000.0f, @@ -879,8 +1951,14 @@ daAlinkHIO_hookshot_c1 const daAlinkHIO_hookshot_c0::m = { }; /* 8038EA30-8038EA70 01B090 0040+00 10/10 0/0 0/0 .rodata m__21daAlinkHIO_spinner_c0 */ -daAlinkHIO_spinner_c1 const daAlinkHIO_spinner_c0::m = { - {21, 0.8f, 0.0f, 3.0f, 13.0f}, +const daAlinkHIO_spinner_c1 daAlinkHIO_spinner_c0::m = { + { + 21, + 0.8f, + 0.0f, + 3.0f, + 13.0f, + }, 30, 15, 360, @@ -897,8 +1975,14 @@ daAlinkHIO_spinner_c1 const daAlinkHIO_spinner_c0::m = { }; /* 8038EA70-8038EAFC 01B0D0 008C+00 10/12 0/0 0/0 .rodata m__22daAlinkHIO_ironBall_c0 */ -daAlinkHIO_ironBall_c1 const daAlinkHIO_ironBall_c0::m = { - {19, 1.1f, 5.0f, 2.0f, 15.0f}, +const daAlinkHIO_ironBall_c1 daAlinkHIO_ironBall_c0::m = { + { + 19, + 1.1f, + 5.0f, + 2.0f, + 15.0f, + }, 5, 5, 1.0f, @@ -933,23 +2017,58 @@ daAlinkHIO_ironBall_c1 const daAlinkHIO_ironBall_c0::m = { }; /* 8038EAFC-8038EB34 01B15C 0038+00 4/4 0/0 0/0 .rodata m__21daAlinkHIO_copyRod_c0 */ -daAlinkHIO_copyRod_c1 const daAlinkHIO_copyRod_c0::m = { - 19, 1.0f, 0.0f, 3.0f, 14.0f, 39, 1.0f, 0.0f, 3.0f, 30.0f, 80.0f, 1500.0f, 100.0f, 2000.0f, +const daAlinkHIO_copyRod_c1 daAlinkHIO_copyRod_c0::m = { + 19, + 1.0f, + 0.0f, + 3.0f, + 14.0f, + 39, + 1.0f, + 0.0f, + 3.0f, + 30.0f, + 80.0f, + 1500.0f, + 100.0f, + 2000.0f, }; /* 8038EB34-8038EB50 01B194 001C+00 0/0 0/0 0/0 .rodata m__21daAlinkHIO_zwLight_c0 */ #pragma push #pragma force_active on -daAlinkHIO_zwLight_c1 const daAlinkHIO_zwLight_c0::m = { - 771, 0, 182, 225, 243, -87, 1.0f, 70.75195f, 131.83594f, 0.0f, +const daAlinkHIO_zwLight_c1 daAlinkHIO_zwLight_c0::m = { + 771, + 0, + 182, + 225, + 243, + -87, + 1.0f, + 70.75195f, + 131.83594f, + 0.0f, }; -COMPILER_STRIP_GATE(0x8038EB34, &daAlinkHIO_zwLight_c0::m); +COMPILER_STRIP_GATE(0x8038EB34, + &daAlinkHIO_zwLight_c0::m); #pragma pop /* 8038EB50-8038EB8C 01B1B0 003C+00 3/3 0/0 0/0 .rodata m__18daAlinkHIO_item_c0 */ -daAlinkHIO_item_c1 const daAlinkHIO_item_c0::m = { - {12, 1.0f, 0.0f, 3.0f, 13.0f}, - {14, 1.0f, 0.0f, 3.0f, 15.0f}, +const daAlinkHIO_item_c1 daAlinkHIO_item_c0::m = { + { + 12, + 1.0f, + 0.0f, + 3.0f, + 13.0f, + }, + { + 14, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, 15, 10000, -13000, @@ -960,9 +2079,21 @@ daAlinkHIO_item_c1 const daAlinkHIO_item_c0::m = { }; /* 8038EB8C-8038EBFC 01B1EC 0070+00 14/14 0/0 0/0 .rodata m__20daAlinkHIO_ladder_c0 */ -daAlinkHIO_ladder_c1 const daAlinkHIO_ladder_c0::m = { - {13, 0.8f, 2.0f, 3.0f, 10.0f}, - {47, 1.25f, 0.0f, 2.0f, 48.0f}, +const daAlinkHIO_ladder_c1 daAlinkHIO_ladder_c0::m = { + { + 13, + 0.8f, + 2.0f, + 3.0f, + 10.0f, + }, + { + 47, + 1.25f, + 0.0f, + 2.0f, + 48.0f, + }, 0.8f, 5.0f, 1.0f, @@ -984,8 +2115,14 @@ daAlinkHIO_ladder_c1 const daAlinkHIO_ladder_c0::m = { }; /* 8038EBFC-8038EC48 01B25C 004C+00 11/11 0/0 0/0 .rodata m__22daAlinkHIO_roofHang_c0 */ -daAlinkHIO_roofHang_c1 const daAlinkHIO_roofHang_c0::m = { - {34, 1.0f, 0.0f, 3.0f, 20.0f}, +const daAlinkHIO_roofHang_c1 daAlinkHIO_roofHang_c0::m = { + { + 34, + 1.0f, + 0.0f, + 3.0f, + 20.0f, + }, 4, 100, 2400, @@ -1004,29 +2141,119 @@ daAlinkHIO_roofHang_c1 const daAlinkHIO_roofHang_c0::m = { }; /* 8038EC48-8038ED2C 01B2A8 00E4+00 10/11 0/0 0/0 .rodata m__18daAlinkHIO_grab_c0 */ -daAlinkHIO_grab_c1 const daAlinkHIO_grab_c0::m = { - {4, 0.9f, 0.0f, 3.0f, 5.0f}, - {9, 0.65f, 0.0f, 3.0f, 8.0f}, - {4, -0.8f, 1.0f, 3.0f, 2.0f}, - {39, 0.9f, 0.0f, 3.0f, 17.0f}, - {9, -0.75f, 0.0f, 2.0f, -1.0f}, - {19, 1.0f, 6.0f, 5.0f, 11.0f}, - {19, 0.9f, 2.0f, 4.0f, 10.0f}, - {39, 1.5f, 0.0f, 3.0f, 40.0f}, - {30, -1.3f, 0.0f, 3.0f, 10.0f}, - {12, 0.55f, 0.0f, 3.0f, 10.0f}, - {49, 0.8f, 0.0f, 3.0f, 35.0f}, +const daAlinkHIO_grab_c1 daAlinkHIO_grab_c0::m = { + { + 4, + 0.9f, + 0.0f, + 3.0f, + 5.0f, + }, + { + 9, + 0.65f, + 0.0f, + 3.0f, + 8.0f, + }, + { + 4, + -0.8f, + 1.0f, + 3.0f, + 2.0f, + }, + { + 39, + 0.9f, + 0.0f, + 3.0f, + 17.0f, + }, + { + 9, + -0.75f, + 0.0f, + 2.0f, + -1.0f, + }, + { + 19, + 1.0f, + 6.0f, + 5.0f, + 11.0f, + }, + { + 19, + 0.9f, + 2.0f, + 4.0f, + 10.0f, + }, + { + 39, + 1.5f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 30, + -1.3f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 12, + 0.55f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 49, + 0.8f, + 0.0f, + 3.0f, + 35.0f, + }, 0, 15, 0.55f, }; /* 8038ED2C-8038EE28 01B38C 00FC+00 21/30 0/0 0/0 .rodata m__18daAlinkHIO_swim_c0 */ -daAlinkHIO_swim_c1 const daAlinkHIO_swim_c0::m = { - {25, 1.0f, 0.0f, 3.0f, -1.0f}, - {23, 1.0f, 0.0f, 3.0f, 24.0f}, - {12, 2.0f, 0.0f, 10.0f, 24.0f}, - {37, 1.0f, 3.0f, 5.0f, 38.0f}, +const daAlinkHIO_swim_c1 daAlinkHIO_swim_c0::m = { + { + 25, + 1.0f, + 0.0f, + 3.0f, + -1.0f, + }, + { + 23, + 1.0f, + 0.0f, + 3.0f, + 24.0f, + }, + { + 12, + 2.0f, + 0.0f, + 10.0f, + 24.0f, + }, + { + 37, + 1.0f, + 3.0f, + 5.0f, + 38.0f, + }, 15, 800, 5000, @@ -1077,11 +2304,35 @@ daAlinkHIO_swim_c1 const daAlinkHIO_swim_c0::m = { }; /* 8038EE28-8038EF28 01B488 0100+00 32/41 0/0 0/0 .rodata m__20daAlinkHIO_wlMove_c0 */ -daAlinkHIO_wlMove_c1 const daAlinkHIO_wlMove_c0::m = { - {14, 1.0f, 0.0f, 3.0f, 15.0f}, - {14, 1.0f, 0.0f, 3.0f, 12.0f}, - {8, 1.0f, 0.0f, 1.0f, 20.0f}, - {41, 1.0f, 0.0f, 3.0f, 20.0f}, +const daAlinkHIO_wlMove_c1 daAlinkHIO_wlMove_c0::m = { + { + 14, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 14, + 1.0f, + 0.0f, + 3.0f, + 12.0f, + }, + { + 8, + 1.0f, + 0.0f, + 1.0f, + 20.0f, + }, + { + 41, + 1.0f, + 0.0f, + 3.0f, + 20.0f, + }, 9000, 100, 5, @@ -1133,22 +2384,77 @@ daAlinkHIO_wlMove_c1 const daAlinkHIO_wlMove_c0::m = { }; /* 8038EF28-8038EF70 01B588 0048+00 19/27 0/0 0/0 .rodata m__23daAlinkHIO_wlMoveNoP_c0 */ -daAlinkHIO_wlMoveNoP_c1 const daAlinkHIO_wlMoveNoP_c0::m = { - 9000, 100, 5, 25.0f, 3.0f, 1.8f, 1.0f, 0.8f, 2.2f, 1.1f, - 0.1f, 0.6f, 0.6f, 5.0f, 0.5f, 0.85f, 0.9f, 2.5f, 30.0f, +const daAlinkHIO_wlMoveNoP_c1 daAlinkHIO_wlMoveNoP_c0::m = { + 9000, + 100, + 5, + 25.0f, + 3.0f, + 1.8f, + 1.0f, + 0.8f, + 2.2f, + 1.1f, + 0.1f, + 0.6f, + 0.6f, + 5.0f, + 0.5f, + 0.85f, + 0.9f, + 2.5f, + 30.0f, }; /* 8038EF70-8038EFA8 01B5D0 0038+00 3/6 0/0 0/0 .rodata m__23daAlinkHIO_wlAtnMove_c0 */ -daAlinkHIO_wlAtnMove_c1 const daAlinkHIO_wlAtnMove_c0::m = { - 9000, 100, 3, 0.8f, 1.8f, 0.2f, 0.6f, 18.0f, 2.0f, 2.0f, 1.7f, 0.4f, 12.0f, 3.0f, 2.0f, +const daAlinkHIO_wlAtnMove_c1 daAlinkHIO_wlAtnMove_c0::m = { + 9000, + 100, + 3, + 0.8f, + 1.8f, + 0.2f, + 0.6f, + 18.0f, + 2.0f, + 2.0f, + 1.7f, + 0.4f, + 12.0f, + 3.0f, + 2.0f, }; /* 8038EFA8-8038F010 01B608 0068+00 3/3 0/0 0/0 .rodata m__24daAlinkHIO_wlSideStep_c0 */ -daAlinkHIO_wlSideStep_c1 const daAlinkHIO_wlSideStep_c0::m = { - {5, 1.0f, 0.0f, 3.0f, 6.0f}, - {23, 1.0f, 1.0f, 2.0f, 2.0f}, - {4, 0.9f, 0.0f, 3.0f, 5.0f}, - {23, 1.0f, 1.0f, 2.0f, 3.0f}, +const daAlinkHIO_wlSideStep_c1 daAlinkHIO_wlSideStep_c0::m = { + { + 5, + 1.0f, + 0.0f, + 3.0f, + 6.0f, + }, + { + 23, + 1.0f, + 1.0f, + 2.0f, + 2.0f, + }, + { + 4, + 0.9f, + 0.0f, + 3.0f, + 5.0f, + }, + { + 23, + 1.0f, + 1.0f, + 2.0f, + 3.0f, + }, 33.0f, 23.0f, 30.0f, @@ -1158,16 +2464,57 @@ daAlinkHIO_wlSideStep_c1 const daAlinkHIO_wlSideStep_c0::m = { }; /* 8038F010-8038F048 01B670 0038+00 3/4 0/0 0/0 .rodata m__24daAlinkHIO_wlBackJump_c0 */ -daAlinkHIO_wlBackJump_c1 const daAlinkHIO_wlBackJump_c0::m = { - {11, 0.8f, 0.0f, 2.0f, 12.0f}, {28, 1.0f, 0.0f, 3.0f, 1.0f}, 30.0f, 20.0f, 100.0f, 10.0f, +const daAlinkHIO_wlBackJump_c1 daAlinkHIO_wlBackJump_c0::m = { + { + 11, + 0.8f, + 0.0f, + 2.0f, + 12.0f, + }, + { + 28, + 1.0f, + 0.0f, + 3.0f, + 1.0f, + }, + 30.0f, + 20.0f, + 100.0f, + 10.0f, }; /* 8038F048-8038F0A8 01B6A8 0060+00 2/2 0/0 0/0 .rodata m__20daAlinkHIO_wlHowl_c0 */ -daAlinkHIO_wlHowl_c1 const daAlinkHIO_wlHowl_c0::m = { - {49, 1.0f, 0.0f, 3.0f, 40.0f}, - {71, 1.0f, 0.0f, 3.0f, 72.0f}, - {14, 1.3f, 1.0f, 3.0f, 11.0f}, - {17, 0.9f, 0.0f, 3.0f, 18.0f}, +const daAlinkHIO_wlHowl_c1 daAlinkHIO_wlHowl_c0::m = { + { + 49, + 1.0f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 71, + 1.0f, + 0.0f, + 3.0f, + 72.0f, + }, + { + 14, + 1.3f, + 1.0f, + 3.0f, + 11.0f, + }, + { + 17, + 0.9f, + 0.0f, + 3.0f, + 18.0f, + }, 3.0f, 8.0f, 1.7f, @@ -1175,10 +2522,28 @@ daAlinkHIO_wlHowl_c1 const daAlinkHIO_wlHowl_c0::m = { }; /* 8038F0A8-8038F124 01B708 007C+00 8/13 0/0 0/0 .rodata m__24daAlinkHIO_wlAutoJump_c0 */ -daAlinkHIO_wlAutoJump_c1 const daAlinkHIO_wlAutoJump_c0::m = { - {3, 1.2f, 1.0f, 2.0f, 4.0f}, - {24, 1.0f, 1.0f, 2.0f, 2.0f}, - {5, 0.5f, 2.0f, 5.0f, 7.0f}, +const daAlinkHIO_wlAutoJump_c1 daAlinkHIO_wlAutoJump_c0::m = { + { + 3, + 1.2f, + 1.0f, + 2.0f, + 4.0f, + }, + { + 24, + 1.0f, + 1.0f, + 2.0f, + 2.0f, + }, + { + 5, + 0.5f, + 2.0f, + 5.0f, + 7.0f, + }, 1, 0, 7500, @@ -1200,14 +2565,30 @@ daAlinkHIO_wlAutoJump_c1 const daAlinkHIO_wlAutoJump_c0::m = { }; /* 8038F124-8038F138 01B784 0014+00 4/4 0/0 0/0 .rodata m__20daAlinkHIO_wlPush_c0 */ -daAlinkHIO_wlPush_c1 const daAlinkHIO_wlPush_c0::m = { - 1.0f, 3.0f, 1.0f, 3.0f, 0.75f, +const daAlinkHIO_wlPush_c1 daAlinkHIO_wlPush_c0::m = { + 1.0f, + 3.0f, + 1.0f, + 3.0f, + 0.75f, }; /* 8038F138-8038F184 01B798 004C+00 13/15 0/0 0/0 .rodata m__19daAlinkHIO_wlLie_c0 */ -daAlinkHIO_wlLie_c1 const daAlinkHIO_wlLie_c0::m = { - {14, 1.5f, 0.0f, 3.0f, 10.0f}, - {11, 1.5f, 3.0f, 3.0f, 8.0f}, +const daAlinkHIO_wlLie_c1 daAlinkHIO_wlLie_c0::m = { + { + 14, + 1.5f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 11, + 1.5f, + 3.0f, + 3.0f, + 8.0f, + }, 5, 500, 50, @@ -1223,19 +2604,64 @@ daAlinkHIO_wlLie_c1 const daAlinkHIO_wlLie_c0::m = { /* 8038F184-8038F1A0 01B7E4 001C+00 0/1 0/0 0/0 .rodata m__21daAlinkHIO_wlLight_c0 */ #pragma push #pragma force_active on -daAlinkHIO_wlLight_c1 const daAlinkHIO_wlLight_c0::m = { - 515, 0, 120, 120, 120, -30, 3.0f, 20.0f, 512.0f, -638.0f, +const daAlinkHIO_wlLight_c1 daAlinkHIO_wlLight_c0::m = { + 515, + 0, + 120, + 120, + 120, + -30, + 3.0f, + 20.0f, + 512.0f, + -638.0f, }; #pragma pop /* 8038F1A0-8038F23C 01B800 009C+00 9/11 0/0 0/0 .rodata m__24daAlinkHIO_wlWallHang_c0 */ -daAlinkHIO_wlWallHang_c1 const daAlinkHIO_wlWallHang_c0::m = { - {13, 1.2f, 8.0f, 2.0f, 14.0f}, - {39, 1.1f, 0.0f, 3.0f, 31.0f}, - {39, 1.0f, 0.0f, 5.0f, 40.0f}, - {5, 1.0f, 0.0f, 3.0f, 6.0f}, - {6, 1.0f, 0.0f, 3.0f, 7.0f}, - {16, 1.0f, 0.0f, 3.0f, 10.0f}, +const daAlinkHIO_wlWallHang_c1 daAlinkHIO_wlWallHang_c0::m = { + { + 13, + 1.2f, + 8.0f, + 2.0f, + 14.0f, + }, + { + 39, + 1.1f, + 0.0f, + 3.0f, + 31.0f, + }, + { + 39, + 1.0f, + 0.0f, + 5.0f, + 40.0f, + }, + { + 5, + 1.0f, + 0.0f, + 3.0f, + 6.0f, + }, + { + 6, + 1.0f, + 0.0f, + 3.0f, + 7.0f, + }, + { + 16, + 1.0f, + 0.0f, + 3.0f, + 10.0f, + }, 50.0f, 100.0f, 200.0f, @@ -1248,11 +2674,35 @@ daAlinkHIO_wlWallHang_c1 const daAlinkHIO_wlWallHang_c0::m = { }; /* 8038F23C-8038F29C 01B89C 0060+00 2/3 0/0 0/0 .rodata m__25daAlinkHIO_wlDamNormal_c0 */ -daAlinkHIO_wlDamNormal_c1 const daAlinkHIO_wlDamNormal_c0::m = { - {9, 1.0f, 0.0f, 0.0f, 8.0f}, - {9, 1.0f, 0.0f, 0.0f, 8.0f}, - {9, 1.0f, 0.0f, 0.0f, 8.0f}, - {9, 1.0f, 0.0f, 0.0f, 8.0f}, +const daAlinkHIO_wlDamNormal_c1 daAlinkHIO_wlDamNormal_c0::m = { + { + 9, + 1.0f, + 0.0f, + 0.0f, + 8.0f, + }, + { + 9, + 1.0f, + 0.0f, + 0.0f, + 8.0f, + }, + { + 9, + 1.0f, + 0.0f, + 0.0f, + 8.0f, + }, + { + 9, + 1.0f, + 0.0f, + 0.0f, + 8.0f, + }, 10.0f, 0.01f, 1.0f, @@ -1260,11 +2710,35 @@ daAlinkHIO_wlDamNormal_c1 const daAlinkHIO_wlDamNormal_c0::m = { }; /* 8038F29C-8038F308 01B8FC 006C+00 2/4 0/0 0/0 .rodata m__24daAlinkHIO_wlDamLarge_c0 */ -daAlinkHIO_wlDamLarge_c1 const daAlinkHIO_wlDamLarge_c0::m = { - {49, 1.0f, 0.0f, 3.0f, 40.0f}, - {39, 1.0f, 0.0f, 3.0f, 35.0f}, - {34, 1.1f, 0.0f, 3.0f, 32.0f}, - {34, 1.1f, 0.0f, 3.0f, 32.0f}, +const daAlinkHIO_wlDamLarge_c1 daAlinkHIO_wlDamLarge_c0::m = { + { + 49, + 1.0f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 39, + 1.0f, + 0.0f, + 3.0f, + 35.0f, + }, + { + 34, + 1.1f, + 0.0f, + 3.0f, + 32.0f, + }, + { + 34, + 1.1f, + 0.0f, + 3.0f, + 32.0f, + }, 1300, -5.2f, 3.0f, @@ -1277,11 +2751,35 @@ daAlinkHIO_wlDamLarge_c1 const daAlinkHIO_wlDamLarge_c0::m = { /* 8038F308-8038F374 01B968 006C+00 0/2 0/0 0/0 .rodata m__23daAlinkHIO_wlDamHuge_c0 */ #pragma push #pragma force_active on -daAlinkHIO_wlDamHuge_c1 const daAlinkHIO_wlDamHuge_c0::m = { - {49, 1.1f, 0.0f, 3.0f, 40.0f}, - {39, 1.1f, 0.0f, 3.0f, 35.0f}, - {34, 1.2f, 0.0f, 3.0f, 30.0f}, - {34, 1.2f, 0.0f, 3.0f, 30.0f}, +const daAlinkHIO_wlDamHuge_c1 daAlinkHIO_wlDamHuge_c0::m = { + { + 49, + 1.1f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 39, + 1.1f, + 0.0f, + 3.0f, + 35.0f, + }, + { + 34, + 1.2f, + 0.0f, + 3.0f, + 30.0f, + }, + { + 34, + 1.2f, + 0.0f, + 3.0f, + 30.0f, + }, 2000, -7.5f, 3.0f, @@ -1293,9 +2791,21 @@ daAlinkHIO_wlDamHuge_c1 const daAlinkHIO_wlDamHuge_c0::m = { #pragma pop /* 8038F374-8038F3B4 01B9D4 0040+00 6/6 0/0 0/0 .rodata m__23daAlinkHIO_wlDamFall_c0 */ -daAlinkHIO_wlDamFall_c1 const daAlinkHIO_wlDamFall_c0::m = { - {11, 1.0f, 0.0f, 3.0f, 12.0f}, - {17, 0.8f, 0.0f, 0.0f, 12.0f}, +const daAlinkHIO_wlDamFall_c1 daAlinkHIO_wlDamFall_c0::m = { + { + 11, + 1.0f, + 0.0f, + 3.0f, + 12.0f, + }, + { + 17, + 0.8f, + 0.0f, + 0.0f, + 12.0f, + }, 15, 35, 40.0f, @@ -1306,23 +2816,63 @@ daAlinkHIO_wlDamFall_c1 const daAlinkHIO_wlDamFall_c0::m = { }; /* 8038F3B4-8038F3C4 01BA14 0010+00 1/1 0/0 0/0 .rodata m__25daAlinkHIO_wlDamCaught_c0 */ -daAlinkHIO_wlDamCaught_c1 const daAlinkHIO_wlDamCaught_c0::m = { - 300, 5, 1.2f, 3.0f, 1.5f, +const daAlinkHIO_wlDamCaught_c1 daAlinkHIO_wlDamCaught_c0::m = { + 300, + 5, + 1.2f, + 3.0f, + 1.5f, }; /* 8038F3C4-8038F3F0 01BA24 002C+00 3/4 0/0 0/0 .rodata m__22daAlinkHIO_wlDamage_c0 */ -daAlinkHIO_wlDamage_c1 const daAlinkHIO_wlDamage_c0::m = { - {9, 1.1f, 0.0f, 3.0f, 10.0f}, - {9, 1.1f, 0.0f, 3.0f, 7.0f}, +const daAlinkHIO_wlDamage_c1 daAlinkHIO_wlDamage_c0::m = { + { + 9, + 1.1f, + 0.0f, + 3.0f, + 10.0f, + }, + { + 9, + 1.1f, + 0.0f, + 3.0f, + 7.0f, + }, 0.7f, }; /* 8038F3F0-8038F46C 01BA50 007C+00 10/14 0/0 0/0 .rodata m__21daAlinkHIO_wlSlide_c0 */ -daAlinkHIO_wlSlide_c1 const daAlinkHIO_wlSlide_c0::m = { - {20, 1.25f, 0.0f, 3.0f, 25.0f}, - {7, 1.0f, 0.0f, 3.0f, 8.0f}, - {14, 1.0f, 0.0f, 3.0f, 15.0f}, - {29, 1.0f, 0.0f, 3.0f, 27.0f}, +const daAlinkHIO_wlSlide_c1 daAlinkHIO_wlSlide_c0::m = { + { + 20, + 1.25f, + 0.0f, + 3.0f, + 25.0f, + }, + { + 7, + 1.0f, + 0.0f, + 3.0f, + 8.0f, + }, + { + 14, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 29, + 1.0f, + 0.0f, + 3.0f, + 27.0f, + }, 512, 64, 35.0f, @@ -1338,15 +2888,37 @@ daAlinkHIO_wlSlide_c1 const daAlinkHIO_wlSlide_c0::m = { }; /* 8038F46C-8038F4A4 01BACC 0038+00 7/7 0/0 0/0 .rodata m__20daAlinkHIO_wlRope_c0 */ -daAlinkHIO_wlRope_c1 const daAlinkHIO_wlRope_c0::m = { - {16, 1.0f, 0.0f, 3.0f, 17.0f}, 90, 30, 0.5f, 1.2f, 3.0f, 15.0f, 1.0f, 3.0f, 3.0f, 0.8f, +const daAlinkHIO_wlRope_c1 daAlinkHIO_wlRope_c0::m = { + { + 16, + 1.0f, + 0.0f, + 3.0f, + 17.0f, + }, + 90, + 30, + 0.5f, + 1.2f, + 3.0f, + 15.0f, + 1.0f, + 3.0f, + 3.0f, + 0.8f, }; /* 8038F4A4-8038F4E0 01BB04 003C+00 0/1 0/0 0/0 .rodata m__22daAlinkHIO_wlAtWaLr_c0 */ #pragma push #pragma force_active on -daAlinkHIO_wlAtWaLr_c1 const daAlinkHIO_wlAtWaLr_c0::m = { - {41, 0.9f, 4.0f, 3.0f, 16.0f}, +const daAlinkHIO_wlAtWaLr_c1 daAlinkHIO_wlAtWaLr_c0::m = { + { + 41, + 0.9f, + 4.0f, + 3.0f, + 16.0f, + }, 5, 3, 0.0f, @@ -1364,8 +2936,14 @@ daAlinkHIO_wlAtWaLr_c1 const daAlinkHIO_wlAtWaLr_c0::m = { /* 8038F4E0-8038F51C 01BB40 003C+00 0/1 0/0 0/0 .rodata m__22daAlinkHIO_wlAtWaSc_c0 */ #pragma push #pragma force_active on -daAlinkHIO_wlAtWaSc_c1 const daAlinkHIO_wlAtWaSc_c0::m = { - {15, 0.9f, 0.0f, 3.0f, 15.0f}, +const daAlinkHIO_wlAtWaSc_c1 daAlinkHIO_wlAtWaSc_c0::m = { + { + 15, + 0.9f, + 0.0f, + 3.0f, + 15.0f, + }, 5, 5, 10.0f, @@ -1383,8 +2961,14 @@ daAlinkHIO_wlAtWaSc_c1 const daAlinkHIO_wlAtWaSc_c0::m = { /* 8038F51C-8038F558 01BB7C 003C+00 0/1 0/0 0/0 .rodata m__22daAlinkHIO_wlAtWaTl_c0 */ #pragma push #pragma force_active on -daAlinkHIO_wlAtWaTl_c1 const daAlinkHIO_wlAtWaTl_c0::m = { - {42, 1.05f, 3.0f, 3.0f, 28.0f}, +const daAlinkHIO_wlAtWaTl_c1 daAlinkHIO_wlAtWaTl_c0::m = { + { + 42, + 1.05f, + 3.0f, + 3.0f, + 28.0f, + }, 0, 3, 10.0f, @@ -1400,16 +2984,28 @@ daAlinkHIO_wlAtWaTl_c1 const daAlinkHIO_wlAtWaTl_c0::m = { #pragma pop /* 8038F558-8038F578 01BBB8 0020+00 2/2 0/0 0/0 .rodata m__22daAlinkHIO_wlAtRoll_c0 */ -daAlinkHIO_wlAtRoll_c1 const daAlinkHIO_wlAtRoll_c0::m = { - {40, 1.0f, 4.0f, 3.0f, 23.0f}, +const daAlinkHIO_wlAtRoll_c1 daAlinkHIO_wlAtRoll_c0::m = { + { + 40, + 1.0f, + 4.0f, + 3.0f, + 23.0f, + }, 250.0f, 20.0f, 0.0f, }; /* 8038F578-8038F5B4 01BBD8 003C+00 3/5 0/0 0/0 .rodata m__23daAlinkHIO_wlAtNjump_c0 */ -daAlinkHIO_wlAtNjump_c1 const daAlinkHIO_wlAtNjump_c0::m = { - {6, 1.0f, 4.0f, 3.0f, 7.0f}, +const daAlinkHIO_wlAtNjump_c1 daAlinkHIO_wlAtNjump_c0::m = { + { + 6, + 1.0f, + 4.0f, + 3.0f, + 7.0f, + }, 30.0f, 40.0f, 23.0f, @@ -1423,9 +3019,21 @@ daAlinkHIO_wlAtNjump_c1 const daAlinkHIO_wlAtNjump_c0::m = { }; /* 8038F5B4-8038F618 01BC14 0064+00 1/4 0/0 0/0 .rodata m__23daAlinkHIO_wlAtCjump_c0 */ -daAlinkHIO_wlAtCjump_c1 const daAlinkHIO_wlAtCjump_c0::m = { - {3, 2.0f, 0.0f, 3.0f, 4.0f}, - {7, 1.2f, 2.0f, 1.0f, 8.0f}, +const daAlinkHIO_wlAtCjump_c1 daAlinkHIO_wlAtCjump_c0::m = { + { + 3, + 2.0f, + 0.0f, + 3.0f, + 4.0f, + }, + { + 7, + 1.2f, + 2.0f, + 1.0f, + 8.0f, + }, 26.0f, 45.0f, 35.0f, @@ -1444,22 +3052,82 @@ daAlinkHIO_wlAtCjump_c1 const daAlinkHIO_wlAtCjump_c0::m = { }; /* 8038F618-8038F658 01BC78 0040+00 4/4 0/0 0/0 .rodata m__22daAlinkHIO_wlAtLand_c0 */ -daAlinkHIO_wlAtLand_c1 const daAlinkHIO_wlAtLand_c0::m = { - {19, 0.9f, 0.0f, 2.0f, 2.0f}, - {14, 1.0f, 0.0f, 3.0f, 1.0f}, - {19, 1.1f, 0.0f, 2.0f, 1.0f}, +const daAlinkHIO_wlAtLand_c1 daAlinkHIO_wlAtLand_c0::m = { + { + 19, + 0.9f, + 0.0f, + 2.0f, + 2.0f, + }, + { + 14, + 1.0f, + 0.0f, + 3.0f, + 1.0f, + }, + { + 19, + 1.1f, + 0.0f, + 2.0f, + 1.0f, + }, 2.0f, }; /* 8038F658-8038F6F4 01BCB8 009C+00 6/7 0/0 0/0 .rodata m__22daAlinkHIO_wlAtDown_c0 */ -daAlinkHIO_wlAtDown_c1 const daAlinkHIO_wlAtDown_c0::m = { - {3, 1.0f, 0.0f, 3.0f, 4.0f}, - {16, 1.0f, 0.0f, 3.0f, 17.0f}, - {21, 1.0f, 0.0f, 3.0f, 22.0f}, - {49, 1.0f, 0.0f, 3.0f, 50.0f}, - {11, 1.0f, 0.0f, 3.0f, 12.0f}, - {84, 0.85f, 0.0f, 3.0f, 60.0f}, - {6, 1.0f, 0.0f, 3.0f, 9.0f}, +const daAlinkHIO_wlAtDown_c1 daAlinkHIO_wlAtDown_c0::m = { + { + 3, + 1.0f, + 0.0f, + 3.0f, + 4.0f, + }, + { + 16, + 1.0f, + 0.0f, + 3.0f, + 17.0f, + }, + { + 21, + 1.0f, + 0.0f, + 3.0f, + 22.0f, + }, + { + 49, + 1.0f, + 0.0f, + 3.0f, + 50.0f, + }, + { + 11, + 1.0f, + 0.0f, + 3.0f, + 12.0f, + }, + { + 84, + 0.85f, + 0.0f, + 3.0f, + 60.0f, + }, + { + 6, + 1.0f, + 0.0f, + 3.0f, + 9.0f, + }, 40, 3, 45.0f, @@ -1468,10 +3136,28 @@ daAlinkHIO_wlAtDown_c1 const daAlinkHIO_wlAtDown_c0::m = { }; /* 8038F6F4-8038F748 01BD54 0054+00 6/6 0/0 0/0 .rodata m__22daAlinkHIO_wlAtLock_c0 */ -daAlinkHIO_wlAtLock_c1 const daAlinkHIO_wlAtLock_c0::m = { - {6, 3.0f, 0.0f, 3.0f, 15.0f}, - {6, 2.0f, 0.0f, 2.0f, 20.0f}, - {120, 100.0f, 550.0f, 25.0f, 85.0f}, +const daAlinkHIO_wlAtLock_c1 daAlinkHIO_wlAtLock_c0::m = { + { + 6, + 3.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 6, + 2.0f, + 0.0f, + 2.0f, + 20.0f, + }, + { + 120, + 100.0f, + 550.0f, + 25.0f, + 85.0f, + }, 80.0f, 60.0f, 120.0f, @@ -1481,9 +3167,21 @@ daAlinkHIO_wlAtLock_c1 const daAlinkHIO_wlAtLock_c0::m = { }; /* 8038F748-8038F7A4 01BDA8 005C+00 5/5 0/0 0/0 .rodata m__22daAlinkHIO_wlAtBite_c0 */ -daAlinkHIO_wlAtBite_c1 const daAlinkHIO_wlAtBite_c0::m = { - {5, 1.0f, 1.0f, 0.0f, 6.0f}, - {20, 1.6f, 0.0f, 3.0f, 32.0f}, +const daAlinkHIO_wlAtBite_c1 daAlinkHIO_wlAtBite_c0::m = { + { + 5, + 1.0f, + 1.0f, + 0.0f, + 6.0f, + }, + { + 20, + 1.6f, + 0.0f, + 3.0f, + 32.0f, + }, 25, 15, 1.2f, @@ -1501,17 +3199,63 @@ daAlinkHIO_wlAtBite_c1 const daAlinkHIO_wlAtBite_c0::m = { }; /* 8038F7A4-8038F7DC 01BE04 0038+00 7/10 0/0 0/0 .rodata m__22daAlinkHIO_wlAttack_c0 */ -daAlinkHIO_wlAttack_c1 const daAlinkHIO_wlAttack_c0::m = { - {59, 1.2f, 0.0f, 2.0f, 5.0f}, 15, 5, 100.0f, 10.0f, 5.0f, 230.0f, 10.0f, 12.0f, 35.0f, 30.0f, +const daAlinkHIO_wlAttack_c1 daAlinkHIO_wlAttack_c0::m = { + { + 59, + 1.2f, + 0.0f, + 2.0f, + 5.0f, + }, + 15, + 5, + 100.0f, + 10.0f, + 5.0f, + 230.0f, + 10.0f, + 12.0f, + 35.0f, + 30.0f, }; /* 8038F7DC-8038F858 01BE3C 007C+00 5/5 0/0 0/0 .rodata m__21daAlinkHIO_wlPoint_c0 */ -daAlinkHIO_wlPoint_c1 const daAlinkHIO_wlPoint_c0::m = { - {6, 0.9f, 2.0f, 3.0f, 7.0f}, - {7, 1.0f, 0.0f, 3.0f, 8.0f}, - {11, 0.75f, 0.0f, 3.0f, 5.0f}, - {14, 1.0f, 0.0f, 3.0f, 3.0f}, - {20, 1.0f, 3.0f, 5.0f, 50.0f}, +const daAlinkHIO_wlPoint_c1 daAlinkHIO_wlPoint_c0::m = { + { + 6, + 0.9f, + 2.0f, + 3.0f, + 7.0f, + }, + { + 7, + 1.0f, + 0.0f, + 3.0f, + 8.0f, + }, + { + 11, + 0.75f, + 0.0f, + 3.0f, + 5.0f, + }, + { + 14, + 1.0f, + 0.0f, + 3.0f, + 3.0f, + }, + { + 20, + 1.0f, + 3.0f, + 5.0f, + 50.0f, + }, 45.0f, 65.0f, 15.0f, @@ -1521,10 +3265,28 @@ daAlinkHIO_wlPoint_c1 const daAlinkHIO_wlPoint_c0::m = { }; /* 8038F858-8038F8B4 01BEB8 005C+00 6/6 0/0 0/0 .rodata m__21daAlinkHIO_wlChain_c0 */ -daAlinkHIO_wlChain_c1 const daAlinkHIO_wlChain_c0::m = { - {39, 1.0f, 0.0f, 3.0f, 40.0f}, - {81, 1.0f, 0.0f, 3.0f, 82.0f}, - {47, 1.0f, 0.0f, 0.0f, 48.0f}, +const daAlinkHIO_wlChain_c1 daAlinkHIO_wlChain_c0::m = { + { + 39, + 1.0f, + 0.0f, + 3.0f, + 40.0f, + }, + { + 81, + 1.0f, + 0.0f, + 3.0f, + 82.0f, + }, + { + 47, + 1.0f, + 0.0f, + 0.0f, + 48.0f, + }, 20, 5, 1.0f, @@ -1537,10 +3299,28 @@ daAlinkHIO_wlChain_c1 const daAlinkHIO_wlChain_c0::m = { }; /* 8038F8B4-8038F95C 01BF14 00A8+00 16/24 0/0 0/0 .rodata m__20daAlinkHIO_wlSwim_c0 */ -daAlinkHIO_wlSwim_c1 const daAlinkHIO_wlSwim_c0::m = { - {25, 0.9f, 0.0f, 5.0f, -1.0f}, - {45, 1.0f, 0.0f, 3.0f, 20.0f}, - {28, 1.1f, 0.0f, 1.0f, 32.0f}, +const daAlinkHIO_wlSwim_c1 daAlinkHIO_wlSwim_c0::m = { + { + 25, + 0.9f, + 0.0f, + 5.0f, + -1.0f, + }, + { + 45, + 1.0f, + 0.0f, + 3.0f, + 20.0f, + }, + { + 28, + 1.1f, + 0.0f, + 1.0f, + 32.0f, + }, 5, 1000, 1600, @@ -1574,20 +3354,82 @@ daAlinkHIO_wlSwim_c1 const daAlinkHIO_wlSwim_c0::m = { }; /* 8038F95C-8038F9C0 01BFBC 0064+00 6/6 0/0 0/0 .rodata m__20daAlinkHIO_wlGrab_c0 */ -daAlinkHIO_wlGrab_c1 const daAlinkHIO_wlGrab_c0::m = { - {20, 1.5f, 0.0f, 3.0f, 15.0f}, {20, -1.3f, 0.0f, 3.0f, 5.0f}, {14, 1.0f, 0.0f, 3.0f, 15.0f}, - {14, -1.0f, 0.0f, 3.0f, -1.0f}, {19, 1.3f, 4.0f, 3.0f, 15.0f}, +const daAlinkHIO_wlGrab_c1 daAlinkHIO_wlGrab_c0::m = { + { + 20, + 1.5f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 20, + -1.3f, + 0.0f, + 3.0f, + 5.0f, + }, + { + 14, + 1.0f, + 0.0f, + 3.0f, + 15.0f, + }, + { + 14, + -1.0f, + 0.0f, + 3.0f, + -1.0f, + }, + { + 19, + 1.3f, + 4.0f, + 3.0f, + 15.0f, + }, }; /* 8038F9C0-8038F9F8 01C020 0038+00 0/0 0/0 0/0 .rodata m__20daAlinkHIO_wlBall_c0 */ #pragma push #pragma force_active on -daAlinkHIO_wlBall_c1 const daAlinkHIO_wlBall_c0::m = { - {64, 1.0f, 0.0f, 3.0f, 35.0f}, {54, 1.0f, 0.0f, 3.0f, 55.0f}, 60, -5.0f, 60.0f, 20.0f, +const daAlinkHIO_wlBall_c1 daAlinkHIO_wlBall_c0::m = { + { + 64, + 1.0f, + 0.0f, + 3.0f, + 35.0f, + }, + { + 54, + 1.0f, + 0.0f, + 3.0f, + 55.0f, + }, + 60, + -5.0f, + 60.0f, + 20.0f, }; #pragma pop /* 8038F9F8-8038FA10 01C058 0018+00 5/6 0/0 0/0 .rodata m__18daAlinkHIO_wolf_c0 */ -daAlinkHIO_wolf_c1 const daAlinkHIO_wolf_c0::m = { - 13000, -10000, 8000, 4000, -2000, 8000, 150, 5, 35, 60, 0.7f, -}; \ No newline at end of file +const daAlinkHIO_wolf_c1 daAlinkHIO_wolf_c0::m = { + 13000, + -10000, + 8000, + 4000, + -2000, + 8000, + 150, + 5, + 35, + 60, + 0.7f, +}; + +// clang-format on \ No newline at end of file diff --git a/src/d/a/d_a_alink_bomb.inc b/src/d/a/d_a_alink_bomb.inc index 72add7bc05..114265b47f 100644 --- a/src/d/a/d_a_alink_bomb.inc +++ b/src/d/a/d_a_alink_bomb.inc @@ -37,7 +37,7 @@ f32 daAlink_c::getBombEffScale() const { /* 800E37D0-800E37E0 0DE110 0010+00 0/0 0/0 1/1 .text getBombAtR__9daAlink_cCFv */ f32 daAlink_c::getBombAtR() const { - return daAlinkHIO_bomb_c0::m.mAtRadius; + return daAlinkHIO_bomb_c0::m.mAttackRadius; } /* 800E37E0-800E37F0 0DE120 0010+00 0/0 0/0 1/1 .text getEnemyBombColorR__9daAlink_cCFv diff --git a/src/d/a/d_a_alink_boom.inc b/src/d/a/d_a_alink_boom.inc index 258657501e..7b1b62b5e5 100644 --- a/src/d/a/d_a_alink_boom.inc +++ b/src/d/a/d_a_alink_boom.inc @@ -6,32 +6,23 @@ BOOL daAlink_c::checkBoomerangLockAccept() { } /* 800E0010-800E00B0 0DA950 00A0+00 0/0 0/0 1/1 .text getBoomSpeed__9daAlink_cFv */ -// small regalloc -#ifdef NONMATCHING f32 daAlink_c::getBoomSpeed() { f32 speed; if (checkBoomerangChargeEndWait()) { - speed = daAlinkHIO_boom_c0::m.mFlySpeed2; + speed = daAlinkHIO_boom_c0::m.mChargeFlySpeed; } else { speed = daAlinkHIO_boom_c0::m.mFlySpeed; } - if (i_checkModeFlg(0x400) && mRideAcKeep.getActor() != NULL && mSpeedF > FLOAT_LABEL(lit_6108)) { - speed += mSpeedF; + if (i_checkModeFlg(0x400)) { + fopAc_ac_c* ride_actor = mRideAcKeep.getActor(); + if (ride_actor != NULL && ride_actor->mSpeedF > FLOAT_LABEL(lit_6108)) { + speed += ride_actor->mSpeedF; + } } return speed; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 daAlink_c::getBoomSpeed() { - nofralloc -#include "asm/d/a/d_a_alink/getBoomSpeed__9daAlink_cFv.s" -} -#pragma pop -#endif /* 800E00B0-800E00C0 0DA9F0 0010+00 0/0 0/0 1/1 .text getBoomCatchSpeed__9daAlink_cCFv */ f32 daAlink_c::getBoomCatchSpeed() const { @@ -73,14 +64,13 @@ bool daAlink_c::checkBossBabaRoom() { /* 800E01CC-800E0210 0DAB0C 0044+00 0/0 1/1 0/0 .text * cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelBoomerangLock(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c.s" +void daAlink_c::cancelBoomerangLock(fopAc_ac_c* i_actor) { + daBoomerang_c* boomerang = (daBoomerang_c*)getBoomerangActor(); + + if (boomerang != NULL) { + boomerang->cancelLockActor(i_actor); + } } -#pragma pop /* 800E0210-800E0244 0DAB50 0034+00 2/2 0/0 0/0 .text getBoomerangActor__9daAlink_cFv */ fopAc_ac_c* daAlink_c::getBoomerangActor() { @@ -111,14 +101,22 @@ bool daAlink_c::checkBoomerangChargeEnd() { /* 800E02B8-800E03D0 0DABF8 0118+00 0/0 1/1 0/0 .text * checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c.s" +BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) { + if (i_checkNoResetFlg0(FLG0_UNK_20) && !checkEventRun() && !i_checkWolf() && + i_checkModeFlg(0x10000000) && + (checkHorseNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime())) { + deleteEquipItem(0, 0); + seStartOnlyReverb(JA_SE_LK_BOOM_CATCH); + i_offNoResetFlg0(FLG0_UNK_20); + + setGrabItemActor(i_grabActor); + field_0x33e4 = lit_8785; + setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); + return 1; + } + + return 0; } -#pragma pop /* 800E03D0-800E0440 0DAD10 0070+00 6/6 0/0 0/0 .text initBoomerangUpperAnimeSpeed__9daAlink_cFi */ @@ -143,26 +141,32 @@ BOOL daAlink_c::checkBoomerangAnime() const { /* 800E04AC-800E04E8 0DADEC 003C+00 13/13 0/0 0/0 .text checkBoomerangThrowAnime__9daAlink_cCFv */ BOOL daAlink_c::checkBoomerangThrowAnime() const { - return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) && checkUpperAnime(0x53); + return (mEquipItem == BOOMERANG || i_checkNoResetFlg1(FLG1_UNK_2) || mEquipItem == 0x102) && + checkUpperAnime(0x53); } /* 800E04E8-800E055C 0DAE28 0074+00 1/1 0/0 0/0 .text setBoomerangReadyQuake__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBoomerangReadyQuake() { - nofralloc -#include "asm/d/a/d_a_alink/setBoomerangReadyQuake__9daAlink_cFv.s" +void daAlink_c::setBoomerangReadyQuake() { + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartQuake(1, 1, cXyz(tmp_0, lit_6040, tmp_0)); + + i_onNoResetFlg3(FLG3_UNK_4); + field_0x3018 = daAlinkHIO_boom_c0::m.mChargeTime; } -#pragma pop /* 800E055C-800E05E8 0DAE9C 008C+00 2/2 0/0 0/0 .text setBoomerangReadyAnime__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBoomerangReadyAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setBoomerangReadyAnime__9daAlink_cFv.s" +#pragma optimization_level 2 +void daAlink_c::setBoomerangReadyAnime() { + f32 var_f31; + if (i_checkAttentionLock()) { + var_f31 = daAlinkHIO_boom_c0::m.mIdleAnmSpeed; + } else { + var_f31 = FLOAT_LABEL(lit_6108); + } + + setUpperAnimeBaseSpeed(0x54, var_f31, lit_6109); + setBoomerangReadyQuake(); } #pragma pop @@ -177,141 +181,330 @@ void daAlink_c::setBoomerangCatchAnime() { setUpperAnimeParam(0x52, UPPER_2, &daAlinkHIO_boom_c0::m.mCatchAnm); setFacePriBck(0xE8); field_0x2f97 = 254; + if (mEquipItem != COPY_ROD) { seStartOnlyReverb(JA_SE_LK_BOOM_CATCH); } } /* 800E06B8-800E08C4 0DAFF8 020C+00 1/1 0/0 0/0 .text throwBoomerang__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::throwBoomerang() { - nofralloc -#include "asm/d/a/d_a_alink/throwBoomerang__9daAlink_cFv.s" +void daAlink_c::throwBoomerang() { + daBoomerang_c* item = (daBoomerang_c*)mItemAcKeep.getActor(); + i_onNoResetFlg1(FLG1_UNK_2); + + //! @bug `item` pointer is being accessed without checking if NULL first + BOOL boomerang_item = fopAcM_GetName(item) == PROC_BOOMERANG; + if (boomerang_item) { + item->setThrow(); + item->current.angle.y = shape_angle.y + field_0x59e; + item->current.angle.x = -mLookAngleY; + + if (mTargetedActor != NULL) { + item->setAimActor(mTargetedActor); + } + + item->shape_angle.y = shape_angle.y; + mThrowBoomerangAcKeep = mItemAcKeep; + dComIfGp_setPlayerStatus0(0, 0x400000); + daPy_boomerangMove_c::initDropAngleY(); + dComIfGp_clearPlayerStatus0(0, 0x80000); + mFastShotTime = -1; + daPy_boomerangMove_c::offEventKeepFlg(); + } else { + item->mSpeedF = daAlinkHIO_pickUp_c0::m.field_0x28; + item->mSpeed.y = daAlinkHIO_pickUp_c0::m.field_0x2C; + item->current.angle.y = shape_angle.y; + + fopAcM_cancelCarryNow(item); + item = NULL; + mEquipItem = NO_ITEM; + field_0x2f94 = 0xFF; + field_0x2f96 = 0xFE; + } + + mItemAcKeep.clearData(); + mEquipItem = NO_ITEM; + field_0x2f94 = 0xFF; + field_0x2f96 = 0xFE; + + voiceStart(Z2SE_AL_V_ATTACK_S); + + if (i_checkModeFlg(MODE_RIDING)) { + if (checkCanoeRide()) { + procCanoeWaitInit(0); + } else { + procHorseWaitInit(); + } + } else if (mLinkAcch.ChkGroundHit() && boomerang_item) { + if (mTargetedActor == NULL && item != NULL) { + mTargetedActor = item; + field_0x27f4 = item; + } + + if (checkZeroSpeedF()) { + field_0x2f98 = 3; + procAtnActorWaitInit(); + } else { + procAtnActorMoveInit(); + } + + field_0x2060->initOldFrameMorf(FLOAT_LABEL(lit_6108), 0, 35); + } } -#pragma pop /* 800E08C4-800E0A9C 0DB204 01D8+00 0/0 0/0 1/1 .text returnBoomerang__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::returnBoomerang(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/returnBoomerang__9daAlink_cFi.s" +int daAlink_c::returnBoomerang(int param_0) { + dComIfGp_clearPlayerStatus0(0, 0x400000); + + if (mEquipItem == NO_ITEM && !i_checkMagneBootsOn() && mItemAcKeep.getActor() == NULL && + !checkBoardRide() && !checkBoarRide() && !i_checkWolf() && + (mProcID != PROC_HANG_READY || field_0x3198 != 3) && (!checkEventRun() || param_0 != 0) && + (checkNoUpperAnime() || checkPlayerGuard() || checkHorseTurnAnime() || + checkDashDamageAnime() || checkBoomerangAnime()) && + !i_checkModeFlg(0x1BD0810)) { + mItemAcKeep = mThrowBoomerangAcKeep; + mThrowBoomerangAcKeep.clearData(); + + mEquipItem = BOOMERANG; + field_0x2f94 = 2; + i_onNoResetFlg0(FLG0_UNK_20); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, lit_6040, tmp_0)); + return 1; + } + + mThrowBoomerangAcKeep.clearData(); + return 0; } -#pragma pop /* 800E0A9C-800E0B58 0DB3DC 00BC+00 2/2 0/0 0/0 .text checkUpperItemActionBoomerang__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpperItemActionBoomerang() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperItemActionBoomerang__9daAlink_cFv.s" +int daAlink_c::checkUpperItemActionBoomerang() { + if (field_0x3018 != 0) { + field_0x3018--; + + if (field_0x3018 == 0) { + cancelItemUseQuake(0); + } + } + + if (checkReadyItem() && !itemButton() && checkBoomerangReadyAnime()) { + setThrowBoomerangAnime(); + return 1; + } + + return cancelUpperItemReadyAnime(0); } -#pragma pop /* 800E0B58-800E0BE4 0DB498 008C+00 1/1 0/0 0/0 .text * checkUpperItemActionBoomerangFly__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpperItemActionBoomerangFly() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperItemActionBoomerangFly__9daAlink_cFv.s" +void daAlink_c::checkUpperItemActionBoomerangFly() { + if (checkBoomerangReadyAnime()) { + checkUpperItemActionBoomerang(); + } else if (checkReadyItem() && itemTrigger()) { + setBoomerangReadyAnime(); + } } -#pragma pop /* 800E0BE4-800E0D8C 0DB524 01A8+00 4/4 0/0 0/0 .text checkNextActionBoomerang__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionBoomerang() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionBoomerang__9daAlink_cFv.s" +#pragma optimization_level 2 +int daAlink_c::checkNextActionBoomerang() { + if ((checkBoomerangCatchAnime() && + mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) || + i_checkNoResetFlg1(FLG1_UNK_2)) { + return 0; + } + + if (mFastShotTime != 0) { + mFastShotTime--; + } + + if (!checkBoomerangAnime()) { + setBoomerangReadyAnime(); + setFastShotTimer(); + + if (!i_checkAttentionLock()) { + field_0x2fe4 = shape_angle.y; + } + } + + if (!i_checkAttentionLock() && mFastShotTime == 0) { + if (i_checkModeFlg(0x400)) { + if (checkCanoeRide()) { + return procCanoeBoomerangSubjectInit(); + } else { + return procHorseBoomerangSubjectInit(); + } + } else { + return procBoomerangSubjectInit(); + } + } else if (i_checkModeFlg(0x400)) { + if (checkCanoeRide()) { + return procCanoeBoomerangMoveInit(); + } else { + return procHorseBoomerangMoveInit(); + } + } else { + return procBoomerangMoveInit(); + } } #pragma pop /* 800E0D8C-800E0E64 0DB6CC 00D8+00 1/1 0/0 0/0 .text checkBoomerangCatchAction__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBoomerangCatchAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkBoomerangCatchAction__9daAlink_cFv.s" +int daAlink_c::checkBoomerangCatchAction() { + if (i_checkNoResetFlg0(FLG0_UNK_20)) { + if (!checkEventRun() && !i_checkWolf() && i_checkModeFlg(0x10000000)) { + if (checkNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime()) { + if (i_checkModeFlg(0x1) && !i_checkModeFlg(0x400)) { + return procBoomerangCatchInit(); + } + + setBoomerangCatchAnime(); + } + } + + i_offNoResetFlg0(FLG0_UNK_20); + } + + return 0; } -#pragma pop /* 800E0E64-800E0F10 0DB7A4 00AC+00 3/3 0/0 0/0 .text setBoomerangSight__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBoomerangSight() { - nofralloc -#include "asm/d/a/d_a_alink/setBoomerangSight__9daAlink_cFv.s" +void daAlink_c::setBoomerangSight() { + if (mItemAcKeep.getActor() && !checkBoomerangThrowAnime()) { + BOOL check_line = checkSightLine(getBoomLockMax(), &field_0x37e0); + + mSight.setPos(&field_0x37e0); + mSight.onDrawFlg(); + + daBoomerang_c* boomerang = (daBoomerang_c*)mItemAcKeep.getActor(); + if (boomerang->getLockReserve() || (check_line && !boomerang->getLockCntMax())) { + setItemActionButtonStatus(0x10); + itemActionTrigger(); + } + } } -#pragma pop /* 800E0F10-800E0FA0 0DB850 0090+00 1/1 0/0 0/0 .text procBoomerangSubjectInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoomerangSubjectInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBoomerangSubjectInit__9daAlink_cFv.s" +int daAlink_c::procBoomerangSubjectInit() { + if (!commonProcInitNotSameProc(PROC_BOOMERANG_SUBJECT)) { + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + initBoomerangUpperAnimeSpeed(1); + setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, FLOAT_LABEL(lit_6108), + daAlinkHIO_boom_c0::m.mStartInterpolation); + dComIfGp_setPlayerStatus0(0, 0x80000); + current.angle.y = shape_angle.y; + + return 1; } -#pragma pop /* 800E0FA0-800E1060 0DB8E0 00C0+00 1/0 0/0 0/0 .text procBoomerangSubject__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoomerangSubject() { - nofralloc -#include "asm/d/a/d_a_alink/procBoomerangSubject__9daAlink_cFv.s" +int daAlink_c::procBoomerangSubject() { + if (!checkItemActorPointer()) { + return 1; + } + + if (checkBoomerangReadyAnime()) { + setDoStatus(0x12); + } + + setShapeAngleToAtnActor(0); + + if (!checkNextAction(0)) { + if (setBodyAngleToCamera()) { + setBoomerangSight(); + } + } else { + mSight.offDrawFlg(); + } + + return 1; } -#pragma pop /* 800E1060-800E10F4 0DB9A0 0094+00 1/1 0/0 0/0 .text procBoomerangMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoomerangMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBoomerangMoveInit__9daAlink_cFv.s" +int daAlink_c::procBoomerangMoveInit() { + if (!commonProcInitNotSameProc(PROC_BOOMERANG_MOVE)) { + return 0; + } + + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + initBoomerangUpperAnimeSpeed(0); + setBlendAtnMoveAnime(daAlinkHIO_boom_c0::m.mStartInterpolation); + + dComIfGp_setPlayerStatus0(0, 0x80000); + return 1; } -#pragma pop /* 800E10F4-800E11D8 0DBA34 00E4+00 1/0 0/0 0/0 .text procBoomerangMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoomerangMove() { - nofralloc -#include "asm/d/a/d_a_alink/procBoomerangMove__9daAlink_cFv.s" +int daAlink_c::procBoomerangMove() { + if (!checkItemActorPointer()) { + return 1; + } + + if (!checkNextAction(0)) { + f32 var_f31 = lit_6041; + + if (checkZeroSpeedF()) { + onModeFlg(1); + + if (field_0x2f98 != 3) { + field_0x2f98 = 3; + var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor; + } + } else { + offModeFlg(1); + + daBoomerang_c* boomerang = (daBoomerang_c*)mItemAcKeep.getActor(); + if (boomerang != NULL) { + boomerang->onLockDistanceCancel(); + } + } + + setBlendAtnMoveAnime(var_f31); + setBodyAngleXReadyAnime(0); + } + + return 1; } -#pragma pop /* 800E11D8-800E1248 0DBB18 0070+00 1/1 0/0 0/0 .text procBoomerangCatchInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoomerangCatchInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBoomerangCatchInit__9daAlink_cFv.s" +int daAlink_c::procBoomerangCatchInit() { + if (!commonProcInitNotSameProc(PROC_BOOMERANG_CATCH)) { + return 0; + } + + setSingleAnimeParam(ANM_BOOMERANG_CATCH, &daAlinkHIO_boom_c0::m.mCatchAnm); + setBoomerangCatchAnime(); + i_offNoResetFlg0(FLG0_UNK_20); + + return 1; } -#pragma pop /* 800E1248-800E12E0 0DBB88 0098+00 1/0 0/0 0/0 .text procBoomerangCatch__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoomerangCatch() { - nofralloc -#include "asm/d/a/d_a_alink/procBoomerangCatch__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procBoomerangCatch() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (frameCtrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) { + onModeFlg(4); + } + + if (frameCtrl->checkAnmEnd()) { + resetUpperAnime(UPPER_2, lit_6041); + checkNextAction(0); + } else { + checkNextAction(1); + } + + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_bottle.inc b/src/d/a/d_a_alink_bottle.inc index 9480a5aa8d..f4c9cff3ad 100644 --- a/src/d/a/d_a_alink_bottle.inc +++ b/src/d/a/d_a_alink_bottle.inc @@ -1,43 +1,41 @@ /* 8010E48C-8010E52C 108DCC 00A0+00 1/1 0/0 0/0 .text bottleModelCallBack__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::bottleModelCallBack() { - nofralloc -#include "asm/d/a/d_a_alink/bottleModelCallBack__9daAlink_cFv.s" +int daAlink_c::bottleModelCallBack() { + if (mItemMode != 0) { + mDoMtx_stack_c::copy(mpLinkModel->i_getAnmMtx(field_0x30c2)); + mDoMtx_stack_c::transM(lit_14616, lit_6041, lit_16570); + mDoMtx_stack_c::XYZrotM(cM_deg2s(102.0f), cM_deg2s(-0.5f), cM_deg2s(-122.0f)); + mDoMtx_copy(mDoMtx_stack_c::get(), mHeldItemModel->i_getAnmMtx(1)); + } + + return 1; } -#pragma pop /* 8010E52C-8010E568 108E6C 003C+00 1/1 0/0 0/0 .text daAlink_bottleModelCallBack__FP8J3DJointi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_bottleModelCallBack(J3DJoint* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_bottleModelCallBack__FP8J3DJointi.s" +static int daAlink_bottleModelCallBack(J3DJoint* i_joint, int param_1) { + daAlink_c* link = (daAlink_c*)j3dSys.getModel()->getUserArea(); + + if (param_1 == 0) { + link->bottleModelCallBack(); + } + + return 1; } -#pragma pop /* 8010E568-8010E584 108EA8 001C+00 1/0 0/0 0/0 .text getBottleOpenAppearItem__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 daAlink_c::getBottleOpenAppearItem() const { - nofralloc -#include "asm/d/a/d_a_alink/getBottleOpenAppearItem__9daAlink_cCFv.s" +s32 daAlink_c::getBottleOpenAppearItem() const { + if (mProcID == PROC_BOTTLE_OPEN) { + return mEquipItem; + } + + return -1; } -#pragma pop /* 8010E584-8010E5D8 108EC4 0054+00 2/2 0/0 0/0 .text checkOilBottleItemNotGet__9daAlink_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkOilBottleItemNotGet(u16 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkOilBottleItemNotGet__9daAlink_cFUs.s" +BOOL daAlink_c::checkOilBottleItemNotGet(u16 i_itemNo) { + return mProcID != PROC_BOTTLE_GET && mProcID != PROC_BOTTLE_SWING && + checkOilBottleItem(i_itemNo); } -#pragma pop /* 8010E5D8-8010EAC4 108F18 04EC+00 7/7 0/0 0/0 .text setBottleModel__9daAlink_cFUs */ #pragma push @@ -53,59 +51,154 @@ asm void daAlink_c::setBottleModel(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::commonBottleDrink(int param_0) { +asm int daAlink_c::commonBottleDrink(int param_0) { nofralloc #include "asm/d/a/d_a_alink/commonBottleDrink__9daAlink_cFi.s" } #pragma pop /* 8010F45C-8010F54C 109D9C 00F0+00 2/2 0/0 0/0 .text makeFairy__9daAlink_cFP4cXyzUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::makeFairy(cXyz* param_0, u32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/makeFairy__9daAlink_cFP4cXyzUl.s" +fopAc_ac_c* daAlink_c::makeFairy(cXyz* i_pos, u32 i_params) { + cXyz fairy_pos; + + if (i_checkModeFlg(0x40000)) { + fairy_pos = *i_pos; + + if (i_checkWolf()) { + fairy_pos.y -= lit_8247; + } else { + fairy_pos.y -= lit_6896; + } + + i_pos = &fairy_pos; + } + + fopAc_ac_c* fairy_actor = + (fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_Yousei, i_params, i_pos, fopAcM_GetRoomNo(this), + &shape_angle, NULL, -1, NULL, NULL); + + field_0x285c.setData(fairy_actor); + i_onResetFlg0(RFLG0_UNK_400); + + if (checkEventRun() && field_0x285c.getActor() != NULL) { + fopAcM_OnStatus(field_0x285c.getActor(), 0x800); + } + + return field_0x285c.getActor(); } -#pragma pop /* 8010F54C-8010F698 109E8C 014C+00 2/2 0/0 0/0 .text procBottleDrinkInit__9daAlink_cFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBottleDrinkInit(u16 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procBottleDrinkInit__9daAlink_cFUs.s" +int daAlink_c::procBottleDrinkInit(u16 param_0) { + if (mDemo.getDemoMode() == 0x2A) { + if (mProcID == PROC_BOTTLE_DRINK) { + return 1; + } + } else { + if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + return 0; + } + + mDemo.i_setSpecialDemoType(); + } + + commonProcInit(PROC_BOTTLE_DRINK); + current.angle.y = shape_angle.y; + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f98 = 4; + + setSingleAnimeParam(ANM_BOTTLE_DRINK_START, &daAlinkHIO_bottle_c0::m.mStartDrinkAnm); + keepItemData(); + setBottleModel(param_0); + dComIfGp_setPlayerStatus1(0, 0x2000); + field_0x3194 = 1; + field_0x3008 = 0; + + u32 id = fopAcM_GetID(this); + dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); + mCommonCounter = 0; + field_0x300e = 0; + return 1; } -#pragma pop /* 8010F698-8010F6F4 109FD8 005C+00 1/0 0/0 0/0 .text procBottleDrink__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBottleDrink() { - nofralloc -#include "asm/d/a/d_a_alink/procBottleDrink__9daAlink_cFv.s" +int daAlink_c::procBottleDrink() { + if (field_0x300e != 0) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + field_0x300e = commonBottleDrink(0); + } + + return 1; } -#pragma pop /* 8010F6F4-8010F8E4 10A034 01F0+00 1/1 0/0 0/0 .text procBottleOpenInit__9daAlink_cFUs */ +// literals +#ifdef NONMATCHING +int daAlink_c::procBottleOpenInit(u16 param_0) { + if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + return 0; + } + + mDemo.i_setSpecialDemoType(); + commonProcInit(PROC_BOTTLE_OPEN); + current.angle.y = shape_angle.y; + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f98 = 4; + + setSingleAnimeParam(ANM_BOTTLE_OPEN, &daAlinkHIO_bottle_c0::m.mOpenBottleAnm); + keepItemData(); + setBottleModel(param_0); + dComIfGp_setPlayerStatus1(0, 0x4000); + field_0x300a = 0; + field_0x32cc = -1; + field_0x3008 = 1; + + if (mEquipItem == FAIRY) { + field_0x3194 = 3; + } else { + field_0x3194 = 2; + + if (mEquipItem == WORM) { + field_0x32cc = fopAcM_create(PROC_NPC_WORM, 2, ¤t.pos, fopAcM_GetRoomNo(this), + NULL, NULL, -1); + field_0x3008 = 0; + field_0x300a = 1; + } + } + + field_0x300e = 0; + + u32 id = fopAcM_GetID(this); + dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); + mCommonCounter = 0; + + field_0x27c8.initialize(); + + if (param_0 == 0x67) { + setCylAtParam(0x200, 0, 0, 0, 0, 30.0f, 30.0f); + } + field_0x3010 = 0; + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBottleOpenInit(u16 param_0) { +asm int daAlink_c::procBottleOpenInit(u16 param_0) { nofralloc #include "asm/d/a/d_a_alink/procBottleOpenInit__9daAlink_cFUs.s" } #pragma pop +#endif /* 8010F8E4-8010FC38 10A224 0354+00 1/0 0/0 0/0 .text procBottleOpen__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBottleOpen() { +asm int daAlink_c::procBottleOpen() { nofralloc #include "asm/d/a/d_a_alink/procBottleOpen__9daAlink_cFv.s" } @@ -116,7 +209,7 @@ asm void daAlink_c::procBottleOpen() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { +asm int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procBottleSwingInit__9daAlink_cFP10fopAc_ac_ci.s" } @@ -126,31 +219,104 @@ asm void daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBottleSwing() { +asm int daAlink_c::procBottleSwing() { nofralloc #include "asm/d/a/d_a_alink/procBottleSwing__9daAlink_cFv.s" } #pragma pop /* 801102D0-80110518 10AC10 0248+00 2/2 0/0 0/0 .text procBottleGetInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBottleGetInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procBottleGetInit__9daAlink_cFi.s" +int daAlink_c::procBottleGetInit(int param_0) { + BOOL proc_pickup = mProcID == PROC_PICK_UP; + commonProcInit(PROC_BOTTLE_GET); + + int var_r30; + if (mEquipItem == KANTERA) { + setSingleAnime(ANM_BOTTLE_GET, daAlinkHIO_bottle_c0::m.mGetAnm.mSpeed, lit_11442, + daAlinkHIO_bottle_c0::m.mGetAnm.mEndFrame, + daAlinkHIO_bottle_c0::m.mGetAnm.mInterpolation); + field_0x2f93 = 0xFE; + + if (proc_pickup) { + execItemGet(KANTERA); + var_r30 = 0xF8; + dComIfGp_setItemOilCount(-dComIfGs_getMaxOil()); + } else { + dComIfGp_setItemOilCount(dComIfGs_getMaxOil()); + + if (param_0) { + var_r30 = 0x9C; + } else { + var_r30 = 0x6E; + } + } + + setGetSubBgm(var_r30); + } else { + setSingleAnimeParam(ANM_BOTTLE_GET, &daAlinkHIO_bottle_c0::m.mGetAnm); + var_r30 = mEquipItem; + } + + dComIfGp_setPlayerStatus1(0, 0x4001000); + mMsgClassID = -1; + field_0x3194 = 0; + field_0x32cc = var_r30 + 0x65; + + if (mEquipItem == KANTERA) { + field_0x3194 = 12; + } + + if (mEquipItem == KANTERA) { + resetBasAnime(); + } + + u32 id = fopAcM_GetID(this); + dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); + + if (mEquipItem == FAIRY_DROP || mEquipItem == CHUCHU_RARE || mEquipItem == WORM) { + setFaceBasicTexture(FTANM_UNK_48); + setFaceBasicBck(0x143); + } else if (mEquipItem == UGLY_SOUP) { + setFaceBasicBck(0x146); + } + + // event flag 0x4A40: Ordon Day 1 completed + if (mEquipItem == BEE_CHILD && i_dComIfGs_isEventBit(0x4A40)) { + dComIfGs_onEventBit(0x4C80); // event flag 0x4C80: Collected Bee Larva on Ordon Day 2 + } + + return 1; } -#pragma pop /* 80110518-80110648 10AE58 0130+00 1/0 0/0 0/0 .text procBottleGet__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBottleGet() { - nofralloc -#include "asm/d/a/d_a_alink/procBottleGet__9daAlink_cFv.s" +int daAlink_c::procBottleGet() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + simpleAnmPlay(field_0x0718); + + if (frameCtrl->checkAnmEnd() && checkEndMessage(field_0x32cc)) { + resetFairyEffect(); + if (mEquipItem != KANTERA) { + deleteEquipItem(0, 0); + } + + resetSpecialEvent(); + } else if (frameCtrl->getFrame() >= lit_8369) { + field_0x2f93 = 0xFE; + } else if (frameCtrl->getFrame() >= lit_14954) { + mItemMode = 0; + } else if (frameCtrl->getFrame() >= lit_7808) { + mHeldItemModel->getModelData()->getMaterialNodePointer(0)->getShape()->show(); + field_0x2f93 = 5; + mItemMode = 1; + } + + if (frameCtrl->checkPass(lit_8779)) { + setGetSubBgm(mEquipItem); + } + + return 1; } -#pragma pop /* 80110648-80110654 10AF88 000C+00 0/0 1/0 0/0 .text Insect_Release__9dInsect_cFv */ #pragma push diff --git a/src/d/a/d_a_alink_bow.inc b/src/d/a/d_a_alink_bow.inc index 21c6237470..81a4814d5c 100644 --- a/src/d/a/d_a_alink_bow.inc +++ b/src/d/a/d_a_alink_bow.inc @@ -1,146 +1,154 @@ +#include "rel/d/a/d_a_arrow/d_a_arrow.h" + /* 800DE64C-800DE740 0D8F8C 00F4+00 1/1 0/0 2/2 .text getArrowFlyData__9daAlink_cCFPfPfi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getArrowFlyData(f32* param_0, f32* param_1, int param_2) const { - nofralloc -#include "asm/d/a/d_a_alink/getArrowFlyData__9daAlink_cCFPfPfi.s" +void daAlink_c::getArrowFlyData(f32* o_distance, f32* o_speed, int i_forceCharge) const { + if (mEquipItem == PACHINKO) { + *o_distance = daAlinkHIO_bow_c0::m.mSlingshotDistance; + *o_speed = daAlinkHIO_bow_c0::m.mSlingshotSpeed; + } else if (i_dComIfGp_checkPlayerStatus0(0, 0x200000)) { + *o_distance = daAlinkHIO_bow_c0::m.mScopeArrowDistance; + *o_speed = daAlinkHIO_bow_c0::m.mScopeArrowSpeed; + } else if (field_0x301c == 0 || i_forceCharge) { + if (field_0x301e == 1) { + *o_distance = daAlinkHIO_bow_c0::m.mChargeBombArrowDistance; + *o_speed = daAlinkHIO_bow_c0::m.mChargeBombArrowSpeed; + } else { + *o_distance = daAlinkHIO_bow_c0::m.mChargeArrowDistance; + *o_speed = daAlinkHIO_bow_c0::m.mChargeArrowSpeed; + } + } else if (field_0x301e == 1) { + *o_distance = daAlinkHIO_bow_c0::m.mBombArrowDistance; + *o_speed = daAlinkHIO_bow_c0::m.mBombArrowSpeed; + } else { + *o_distance = daAlinkHIO_bow_c0::m.mArrowDistance; + *o_speed = daAlinkHIO_bow_c0::m.mArrowSpeed; + } } -#pragma pop /* 800DE740-800DE750 0D9080 0010+00 0/0 0/0 1/1 .text getArrowIncAtR__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getArrowIncAtR() const { - nofralloc -#include "asm/d/a/d_a_alink/getArrowIncAtR__9daAlink_cCFv.s" +f32 daAlink_c::getArrowIncAtR() const { + return daAlinkHIO_bow_c0::m.mArrowAttackRadius; } -#pragma pop /* 800DE750-800DE760 0D9090 0010+00 0/0 0/0 1/1 .text getBombArrowFlyExplodeTime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getBombArrowFlyExplodeTime() const { - nofralloc -#include "asm/d/a/d_a_alink/getBombArrowFlyExplodeTime__9daAlink_cCFv.s" +s16 daAlink_c::getBombArrowFlyExplodeTime() const { + return daAlinkHIO_bow_c0::m.mBombArrowFlyExplodeTime; } -#pragma pop /* 800DE760-800DE770 0D90A0 0010+00 0/0 0/0 1/1 .text getArrowIncAtMaxStart__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getArrowIncAtMaxStart() const { - nofralloc -#include "asm/d/a/d_a_alink/getArrowIncAtMaxStart__9daAlink_cCFv.s" +f32 daAlink_c::getArrowIncAtMaxStart() const { + return daAlinkHIO_bow_c0::m.mArrowIncAttackMaxStart; } -#pragma pop /* 800DE770-800DE780 0D90B0 0010+00 0/0 0/0 1/1 .text getArrowIncAtMax__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getArrowIncAtMax() const { - nofralloc -#include "asm/d/a/d_a_alink/getArrowIncAtMax__9daAlink_cCFv.s" +f32 daAlink_c::getArrowIncAtMax() const { + return daAlinkHIO_bow_c0::m.mArrowIncAttackMax; } -#pragma pop /* 800DE780-800DE7D4 0D90C0 0054+00 10/10 0/0 0/0 .text checkBowAndSlingItem__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkBowAndSlingItem(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkBowAndSlingItem__9daAlink_cFi.s" +BOOL daAlink_c::checkBowAndSlingItem(int i_itemNo) { + return checkBowItem(i_itemNo) || i_itemNo == PACHINKO; } -#pragma pop /* 800DE7D4-800DE884 0D9114 00B0+00 1/1 0/0 0/0 .text setSlingModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSlingModel() { - nofralloc -#include "asm/d/a/d_a_alink/setSlingModel__9daAlink_cFv.s" +void daAlink_c::setSlingModel() { + J3DAnmTransform* bck = (J3DAnmTransform*)mAnmHeap9.loadDataIdx(0x1F9); + JKRHeap* heap = setItemHeap(); + + J3DModelData* model_data = loadAramBmd(0x319, 0x2C00); + mHeldItemModel = initModel(model_data, 0); + field_0x730.init(bck, 0, 2, lit_6040, 0, -1, false); + + mDoExt_setCurrentHeap(heap); + field_0x2f95 = 5; + field_0x2f94 = 103; } -#pragma pop /* 800DE884-800DE990 0D91C4 010C+00 0/0 1/1 1/1 .text checkBowCameraArrowPosP__9daAlink_cFPsPs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/checkBowCameraArrowPosP__9daAlink_cFPsPs.s" +cXyz* daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) { + if (!checkBowAnime() || mEquipItem == PACHINKO) { + return NULL; + } + + s16 var_28; + if (checkHorseRide() && i_checkBoarSingleBattle() && i_dComIfGp_getHorseActor() != NULL) { + var_28 = i_dComIfGp_getHorseActor()->shape_angle.y; + } else if (i_checkMagneBootsOn()) { + var_28 = field_0x3118; + } else { + var_28 = shape_angle.y; + } + + var_28 += field_0x59e; + + mDoMtx_stack_c::transS(field_0x3834); + concatMagneBootMtx(); + mDoMtx_stack_c::ZXYrotM(mLookAngleY, var_28, 0); + mDoMtx_stack_c::multVec(&localPos, &field_0x37e0); + + *param_0 = mLookAngleY; + *param_1 = var_28; + return &field_0x37e0; } -#pragma pop /* 800DE990-800DE9B8 0D92D0 0028+00 1/0 0/0 0/0 .text checkArrowChargeEnd__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkArrowChargeEnd() const { - nofralloc -#include "asm/d/a/d_a_alink/checkArrowChargeEnd__9daAlink_cCFv.s" +bool daAlink_c::checkArrowChargeEnd() const { + return checkBowChargeWaitAnime() && field_0x301c == 0; } -#pragma pop /* 800DE9B8-800DE9E8 0D92F8 0030+00 3/3 0/0 0/0 .text checkBowReadyAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBowReadyAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkBowReadyAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkBowReadyAnime() const { + return checkBowReloadAnime() || checkBowChargeWaitAnime() || checkBowWaitAnime(); } -#pragma pop /* 800DE9E8-800DEA3C 0D9328 0054+00 16/16 0/0 0/0 .text checkBowAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBowAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkBowAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkBowAnime() const { + return checkBowReadyAnime() || checkBowShootAnime(); } -#pragma pop /* 800DEA3C-800DEAE4 0D937C 00A8+00 2/2 0/0 0/0 .text makeArrow__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::makeArrow() { - nofralloc -#include "asm/d/a/d_a_alink/makeArrow__9daAlink_cFv.s" +void daAlink_c::makeArrow() { + if (dComIfGs_getArrowNum() != 0) { + if (field_0x301e == 1 && dComIfGp_getSelectItemNum(mSelectItemId) == 0) { + field_0x301e = 0; + } + + fopAc_ac_c* arrow_actor = daArrow_c::makeArrow(this, field_0x301e); + mItemAcKeep.setData(arrow_actor); + } + + field_0x3018 = 0; } -#pragma pop /* 800DEAE4-800DEB8C 0D9424 00A8+00 3/3 0/0 0/0 .text deleteArrow__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::deleteArrow() { - nofralloc -#include "asm/d/a/d_a_alink/deleteArrow__9daAlink_cFv.s" +void daAlink_c::deleteArrow() { + daArrow_c* arrow = (daArrow_c*)mItemAcKeep.getActor(); + + if (arrow != NULL && fopAcM_GetName(arrow) == PROC_ARROW) { + if (arrow->checkBombArrow() && + (mDamageTimer == daAlinkHIO_damage_c0::m.mInvincibleTime || i_checkModeFlg(8))) { + arrow->setBombArrowExplode(); + dComIfGp_addSelectItemNum(mSelectItemId, -1); + dComIfGp_setItemArrowNumCount(-1); + } else { + fopAcM_delete(arrow); + } + mItemAcKeep.clearData(); + } } -#pragma pop /* 800DEB8C-800DEBC8 0D94CC 003C+00 6/6 0/0 0/0 .text setBowOrSlingStatus__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBowOrSlingStatus() { - nofralloc -#include "asm/d/a/d_a_alink/setBowOrSlingStatus__9daAlink_cFv.s" +void daAlink_c::setBowOrSlingStatus() { + if (mEquipItem == PACHINKO) { + dComIfGp_setPlayerStatus0(0, 0x40); + } else { + dComIfGp_setPlayerStatus0(0, 0x1000); + } } -#pragma pop /* 800DEBC8-800DED88 0D9508 01C0+00 1/1 0/0 0/0 .text changeArrowType__9daAlink_cFv */ #pragma push @@ -154,43 +162,77 @@ asm void daAlink_c::changeArrowType() { /* 800DED88-800DEE1C 0D96C8 0094+00 1/1 0/0 0/0 .text cancelBowMoveRideNotAtn__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelBowMoveRideNotAtn() { - nofralloc -#include "asm/d/a/d_a_alink/cancelBowMoveRideNotAtn__9daAlink_cFv.s" +#pragma optimization_level 2 +BOOL daAlink_c::cancelBowMoveRideNotAtn() { + return i_checkModeFlg(0x400) && i_checkAttentionLock() && mTargetedActor == NULL; } #pragma pop /* 800DEE1C-800DEEDC 0D975C 00C0+00 3/3 0/0 0/0 .text cancelBowMove__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelBowMove() { - nofralloc -#include "asm/d/a/d_a_alink/cancelBowMove__9daAlink_cFv.s" +#pragma optimization_level 2 +BOOL daAlink_c::cancelBowMove() { + if (mTargetedActor == NULL && !i_checkAttentionLock() && mFastShotTime == 0 && + !checkBowReadyAnime() && (!checkBowShootAnime() || mUpperFrameCtrl[2].checkAnmEnd())) { + resetUpperAnime(UPPER_2, lit_6041); + return true; + } + + return false; } #pragma pop /* 800DEEDC-800DEFB8 0D981C 00DC+00 3/3 0/0 0/0 .text setBowReadyAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBowReadyAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setBowReadyAnime__9daAlink_cFv.s" +void daAlink_c::setBowReadyAnime() { + if (!checkBowAnime()) { + if (mEquipItem == BOMB_ARROW) { + if (dComIfGp_getSelectItemNum(mSelectItemId) != 0) { + field_0x301e = 1; + } else { + field_0x301e = 0; + } + } else { + field_0x301e = 0; + } + } + + setUpperAnimeBase(0xD); + + if (i_checkResetFlg0(RFLG0_UNK_80)) { + mItemMode = 0; + } else { + mItemMode = 3; + } + + field_0x2f97 = 5; + field_0x2f96 = 4; + + if (mEquipItem == PACHINKO) { + changeItemBck(0x1F1, lit_6041); + } else { + changeItemBck(0x43, lit_6041); + } } -#pragma pop /* 800DEFB8-800DF0BC 0D98F8 0104+00 2/2 0/0 0/0 .text setBowReloadAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBowReloadAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setBowReloadAnime__9daAlink_cFv.s" +void daAlink_c::setBowReloadAnime() { + setUpperAnimeParam(9, UPPER_2, &daAlinkHIO_bow_c0::m.mLoadAnm); + setFacePriTexture(FTANM_UNK_8); + setFacePriBck(0xE5); + + if (mEquipItem == PACHINKO) { + changeItemBck(0x1F0, daAlinkHIO_bow_c0::m.mLoadAnm.mStartFrame); + field_0x2f97 = 5; + seStartOnlyReverb(Z2SE_AL_PACHINKO_DRAW); + } else { + changeItemBck(0x41, daAlinkHIO_bow_c0::m.mLoadAnm.mStartFrame); + field_0x2f97 = 7; + seStartOnlyReverb(Z2SE_AL_DRAW_BOW); + } + + field_0x2f96 = 0; + field_0x301c = daAlinkHIO_bow_c0::m.mChargeArrowTime; } -#pragma pop /* 800DF0BC-800DF798 0D99FC 06DC+00 2/2 0/0 0/0 .text checkUpperItemActionBow__9daAlink_cFv */ #pragma push @@ -203,20 +245,21 @@ asm void daAlink_c::checkUpperItemActionBow() { #pragma pop /* 800DF798-800DF814 0DA0D8 007C+00 1/1 0/0 0/0 .text checkUpperItemActionBowFly__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpperItemActionBowFly() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperItemActionBowFly__9daAlink_cFv.s" +void daAlink_c::checkUpperItemActionBowFly() { + if (checkBowAnime()) { + checkUpperItemActionBow(); + setBodyAngleXReadyAnime(0); + } else if (checkReadyItem() && itemTrigger()) { + setBowReadyAnime(); + mItemMode = 0; + } } -#pragma pop /* 800DF814-800DFAE8 0DA154 02D4+00 4/4 0/0 0/0 .text checkNextActionBow__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkNextActionBow() { +asm int daAlink_c::checkNextActionBow() { nofralloc #include "asm/d/a/d_a_alink/checkNextActionBow__9daAlink_cFv.s" } @@ -234,81 +277,110 @@ asm void daAlink_c::setBowModel() { /* 800DFBC8-800DFC28 0DA508 0060+00 4/4 0/0 0/0 .text checkBowGrabLeftHand__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkBowGrabLeftHand() const { - nofralloc -#include "asm/d/a/d_a_alink/checkBowGrabLeftHand__9daAlink_cCFv.s" +bool daAlink_c::checkBowGrabLeftHand() const { + return i_checkReinRide() && !checkBowAnime(); } -#pragma pop /* 800DFC28-800DFC70 0DA568 0048+00 6/6 0/0 0/0 .text setBowHangAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBowHangAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setBowHangAnime__9daAlink_cFv.s" +void daAlink_c::setBowHangAnime() { + if (checkBowItem(mEquipItem)) { + changeItemBck(0x58, FLOAT_LABEL(lit_6108)); + } } -#pragma pop /* 800DFC70-800DFCD8 0DA5B0 0068+00 3/3 0/0 0/0 .text setBowNormalAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBowNormalAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setBowNormalAnime__9daAlink_cFv.s" +void daAlink_c::setBowNormalAnime() { + if (checkBowItem(mEquipItem)) { + changeItemBck(0x59, lit_6041); + } else if (mEquipItem == PACHINKO) { + changeItemBck(0x1F9, lit_6041); + } } -#pragma pop /* 800DFCD8-800DFD6C 0DA618 0094+00 3/3 0/0 0/0 .text setBowSight__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setBowSight() { - nofralloc -#include "asm/d/a/d_a_alink/setBowSight__9daAlink_cFv.s" +void daAlink_c::setBowSight() { + if (checkBowChargeWaitAnime() && !i_dComIfGp_checkPlayerStatus0(0, 0x200000)) { + cXyz sight_pos; + f32 dist; + f32 speed; + + getArrowFlyData(&dist, &speed, TRUE); + checkSightLine(dist, &sight_pos); + mSight.setPos(&sight_pos); + mSight.offDrawFlg(); + } else { + mSight.offDrawFlg(); + } } -#pragma pop /* 800DFD6C-800DFDDC 0DA6AC 0070+00 1/1 0/0 0/0 .text procBowSubjectInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBowSubjectInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBowSubjectInit__9daAlink_cFv.s" +int daAlink_c::procBowSubjectInit() { + if (!commonProcInitNotSameProc(PROC_BOW_SUBJECT)) { + return 0; + } + + setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, FLOAT_LABEL(lit_6108), + daAlinkHIO_bow_c0::m.mStartInterpolation); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setBowOrSlingStatus(); + return 1; } -#pragma pop /* 800DFDDC-800DFE3C 0DA71C 0060+00 1/0 0/0 0/0 .text procBowSubject__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBowSubject() { - nofralloc -#include "asm/d/a/d_a_alink/procBowSubject__9daAlink_cFv.s" +int daAlink_c::procBowSubject() { + setDoStatus(0x12); + if (!checkNextAction(0) && setBodyAngleToCamera()) { + setBowSight(); + } + + return 1; } -#pragma pop /* 800DFE3C-800DFEC0 0DA77C 0084+00 1/1 0/0 0/0 .text procBowMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBowMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBowMoveInit__9daAlink_cFv.s" +int daAlink_c::procBowMoveInit() { + if (!commonProcInitNotSameProc(PROC_BOW_MOVE)) { + return 0; + } + + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + setBlendAtnMoveAnime(daAlinkHIO_bow_c0::m.mStartInterpolation); + mCommonCounter = 0; + setBowOrSlingStatus(); + return 1; } -#pragma pop /* 800DFEC0-800DFFE0 0DA800 0120+00 1/0 0/0 0/0 .text procBowMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBowMove() { - nofralloc -#include "asm/d/a/d_a_alink/procBowMove__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procBowMove() { + cancelBowMove(); + + if (mFastShotTime == 0 && mCommonCounter != 0 && checkBowWaitAnime() && !itemButton()) { + resetUpperAnime(UPPER_2, lit_6041); + } + + mCommonCounter = 1; + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (!checkNextAction(0)) { + f32 var_f31 = lit_6041; + + if (checkZeroSpeedF()) { + onModeFlg(1); + + if (field_0x2f98 != 3) { + field_0x2f98 = 3; + var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor; + } + current.angle.y = shape_angle.y - 0x4000; + } else { + offModeFlg(1); + } + + setBlendAtnMoveAnime(var_f31); + setBodyAngleXReadyAnime(0); + } + + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_canoe.inc b/src/d/a/d_a_alink_canoe.inc index 4e36f7cca9..6f2121d764 100644 --- a/src/d/a/d_a_alink_canoe.inc +++ b/src/d/a/d_a_alink_canoe.inc @@ -1,179 +1,161 @@ +#include "rel/d/a/d_a_canoe/d_a_canoe.h" + /* 800F3BB0-800F3BDC 0EE4F0 002C+00 1/1 0/0 2/2 .text getCanoeMaxSpeed__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCanoeMaxSpeed() const { - nofralloc -#include "asm/d/a/d_a_alink/getCanoeMaxSpeed__9daAlink_cCFv.s" +f32 daAlink_c::getCanoeMaxSpeed() const { + if (checkCanoeSlider()) { + return daAlinkHIO_canoe_c0::m.field_0x3C; + } + + return daAlinkHIO_canoe_c0::m.field_0x24; } -#pragma pop /* 800F3BDC-800F3BEC 0EE51C 0010+00 0/0 0/0 1/1 .text getCanoeBackMaxSpeed__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCanoeBackMaxSpeed() const { - nofralloc -#include "asm/d/a/d_a_alink/getCanoeBackMaxSpeed__9daAlink_cCFv.s" +f32 daAlink_c::getCanoeBackMaxSpeed() const { + return daAlinkHIO_canoe_c0::m.mBackMaxSpeed; } -#pragma pop /* 800F3BEC-800F3C18 0EE52C 002C+00 0/0 0/0 1/1 .text getCanoeCres__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCanoeCres() const { - nofralloc -#include "asm/d/a/d_a_alink/getCanoeCres__9daAlink_cCFv.s" +f32 daAlink_c::getCanoeCres() const { + if (checkCanoeSlider()) { + return daAlinkHIO_canoe_c0::m.field_0x44; + } + + return daAlinkHIO_canoe_c0::m.field_0x28; } -#pragma pop /* 800F3C18-800F3C44 0EE558 002C+00 2/2 0/0 0/0 .text getCanoeSpeedRate__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCanoeSpeedRate() const { - nofralloc -#include "asm/d/a/d_a_alink/getCanoeSpeedRate__9daAlink_cCFv.s" +f32 daAlink_c::getCanoeSpeedRate() const { + if (checkCanoeSlider()) { + return daAlinkHIO_canoe_c0::m.field_0x40; + } + + return daAlinkHIO_canoe_c0::m.field_0x20; } -#pragma pop /* 800F3C44-800F3CCC 0EE584 0088+00 0/0 0/0 1/1 .text getCanoeMaxRotSpeed__9daAlink_cCFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getCanoeMaxRotSpeed() const { +asm s16 daAlink_c::getCanoeMaxRotSpeed() const { nofralloc #include "asm/d/a/d_a_alink/getCanoeMaxRotSpeed__9daAlink_cCFv.s" } #pragma pop /* 800F3CCC-800F3CD8 0EE60C 000C+00 1/1 0/0 1/1 .text getCanoeLocalPaddleTop__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCanoeLocalPaddleTop() { - nofralloc -#include "asm/d/a/d_a_alink/getCanoeLocalPaddleTop__9daAlink_cFv.s" +cXyz* daAlink_c::getCanoeLocalPaddleTop() { + return (cXyz*)&localPaddleTop; } -#pragma pop /* 800F3CD8-800F3CF8 0EE618 0020+00 3/3 0/0 0/0 .text daAlink_searchCanoe__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -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" +static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1) { + if (fopAcM_GetName(param_0) == PROC_CANOE && + static_cast(param_0)->getModel() != NULL) { + return param_0; + } + + return NULL; } -#pragma pop /* 800F3CF8-800F3D58 0EE638 0060+00 0/0 2/2 0/0 .text checkCanoeRideTandem__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCanoeRideTandem() { - nofralloc -#include "asm/d/a/d_a_alink/checkCanoeRideTandem__9daAlink_cFv.s" +BOOL daAlink_c::checkCanoeRideTandem() { + daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); + + if (checkCanoeRide() && canoe != NULL && canoe->checkTandem()) { + return true; + } + + return false; } -#pragma pop /* 800F3D58-800F3DA0 0EE698 0048+00 7/7 0/0 0/0 .text checkFishingRodAndLureItem__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkFishingRodAndLureItem() const { - nofralloc -#include "asm/d/a/d_a_alink/checkFishingRodAndLureItem__9daAlink_cCFv.s" +BOOL daAlink_c::checkFishingRodAndLureItem() const { + return checkFisingRodLure() || checkFishingRodItem(mEquipItem); } -#pragma pop /* 800F3DA0-800F3DFC 0EE6E0 005C+00 4/4 0/0 0/0 .text initFishingRodHand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initFishingRodHand() { - nofralloc -#include "asm/d/a/d_a_alink/initFishingRodHand__9daAlink_cFv.s" +void daAlink_c::initFishingRodHand() { + field_0x2f94 = 0x65; + field_0x2f95 = 0x65; + field_0x3018 = 1; + + if (mEquipItem == JEWEL_WORM_ROD || mEquipItem == WORM_ROD) { + mItemMode = 0x74; + } else if (mEquipItem == JEWEL_BEE_ROD || mEquipItem == BEE_ROD) { + mItemMode = 0x76; + } else { + mItemMode = 0xFF; + } } -#pragma pop /* 800F3DFC-800F3E4C 0EE73C 0050+00 1/1 0/0 1/1 .text getCanoePaddleMatrix__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCanoePaddleMatrix() { - nofralloc -#include "asm/d/a/d_a_alink/getCanoePaddleMatrix__9daAlink_cFv.s" +MtxP daAlink_c::getCanoePaddleMatrix() { + mDoMtx_stack_c::copy(getRightItemMatrix()); + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mDoMtx_stack_c::transM(tmp_0, tmp_0, lit_5944); + return mDoMtx_stack_c::get(); } -#pragma pop /* 800F3E4C-800F3EB8 0EE78C 006C+00 0/0 0/0 4/4 .text * checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkFishingRodGrab(fopAc_ac_c* param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c.s" +BOOL daAlink_c::checkFishingRodGrab(fopAc_ac_c* param_0) const { + return checkFishingRodAndLureItem() && mItemAcKeep.getID() == fopAcM_GetID(param_0); } -#pragma pop /* 800F3EB8-800F3F38 0EE7F8 0080+00 0/0 0/0 2/2 .text * checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCanoePaddleGrab(fopAc_ac_c* param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c.s" +BOOL daAlink_c::checkCanoePaddleGrab(fopAc_ac_c* param_0) const { + return mEquipItem == 0x10B && checkCanoeRideOwn(param_0); } -#pragma pop /* 800F3F38-800F3FC4 0EE878 008C+00 0/0 0/0 1/1 .text checkCanoeFishingRodGrabOrPut__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCanoeFishingRodGrabOrPut() const { - nofralloc -#include "asm/d/a/d_a_alink/checkCanoeFishingRodGrabOrPut__9daAlink_cCFv.s" +BOOL daAlink_c::checkCanoeFishingRodGrabOrPut() const { + return checkFisingRodLure() && checkCanoeRide() && + (checkEquipAnime() || mProcID == PROC_CANOE_PADDLE_PUT || + mProcID == PROC_CANOE_PADDLE_GRAB || mProcID == PROC_CANOE_ROD_GRAB); } -#pragma pop /* 800F3FC4-800F4008 0EE904 0044+00 2/2 0/0 0/0 .text initCanoeRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initCanoeRide() { - nofralloc -#include "asm/d/a/d_a_alink/initCanoeRide__9daAlink_cFv.s" +void daAlink_c::initCanoeRide() { + field_0x3012 = 1; + field_0x3588 = l_waitBaseAnime; + field_0x384c = (cXyz*)&l_canoeBaseAnime; + mRideStatus = 3; + field_0x3010 = 0; } -#pragma pop /* 800F4008-800F40E4 0EE948 00DC+00 2/2 0/0 0/0 .text checkCanoeJumpRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkCanoeJumpRide() { - nofralloc -#include "asm/d/a/d_a_alink/checkCanoeJumpRide__9daAlink_cFv.s" +BOOL daAlink_c::checkCanoeJumpRide() { + daCanoe_c* canoe = NULL; + + if (field_0x850[0].ChkCoHit()) { + canoe = (daCanoe_c*)field_0x850[0].GetCoHitAc(); + } else if (field_0x850[1].ChkCoHit()) { + canoe = (daCanoe_c*)field_0x850[1].GetCoHitAc(); + } + + if (mSpeed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE && + canoe->checkJumpRideFlg() && !checkDeadHP() && + (mProcID != PROC_FALL || field_0x3010 != 0)) { + return procCanoeJumpRideInit(canoe); + } + + return 0; } -#pragma pop /* 800F40E4-800F4140 0EEA24 005C+00 2/2 0/0 0/0 .text setArmReelAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setArmReelAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setArmReelAnime__9daAlink_cFv.s" +void daAlink_c::setArmReelAnime() { + setUpperAnimeBaseSpeed(0x1FB, lit_6040, lit_6041); + mUpperFrameCtrl[2].setRate(FLOAT_LABEL(lit_6108)); + mNowAnmPackUpper[2].setRatio(lit_6040); + field_0x2f97 = 8; + i_offNoResetFlg1(FLG1_UNK_8000); } -#pragma pop /* 800F4140-800F4490 0EEA80 0350+00 1/1 0/0 0/0 .text setFishingWaitAction__9daAlink_cFv */ @@ -187,25 +169,34 @@ asm void daAlink_c::setFishingWaitAction() { #pragma pop /* 800F4490-800F4564 0EEDD0 00D4+00 3/3 0/0 0/0 .text setFishGetFace__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setFishGetFace() { - nofralloc -#include "asm/d/a/d_a_alink/setFishGetFace__9daAlink_cFv.s" +void daAlink_c::setFishGetFace() { + if (field_0x2fc8 == 1) { + setFacePriBck(0x140); + } else if (field_0x2fc8 == 2) { + setFacePriTexture(FTANM_UNK_7A); + setFacePriBck(0x143); + } else if (field_0x2fc8 == 3) { + setFacePriTexture(FTANM_UNK_7B); + setFacePriBck(0x146); + } else if (field_0x2fc8 == 4) { + setFacePriTexture(FTANM_UNK_7C); + setFacePriBck(0x149); + } else { + resetFacePriAnime(); + } } -#pragma pop /* 800F4564-800F459C 0EEEA4 0038+00 3/3 0/0 0/0 .text * setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setRideCanoeBasePos(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c.s" +void daAlink_c::setRideCanoeBasePos(fopAc_ac_c* param_0) { + field_0x37c8.x = FLOAT_LABEL(lit_6108); + field_0x37c8.y = lit_5944; + field_0x37c8.z = lit_20823; + + if (static_cast(param_0)->checkTandem()) { + field_0x37c8.z += lit_20824; + } } -#pragma pop /* 800F459C-800F47D8 0EEEDC 023C+00 20/20 0/0 0/0 .text setSyncCanoePos__9daAlink_cFv */ #pragma push @@ -228,62 +219,151 @@ asm void daAlink_c::canoeCommon() { #pragma pop /* 800F4924-800F4A50 0EF264 012C+00 10/10 0/0 0/0 .text checkNextActionCanoe__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionCanoe() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionCanoe__9daAlink_cFv.s" +int daAlink_c::checkNextActionCanoe() { + if ((!checkFishingRodAndLureItem() || mItemAcKeep.getActor() == NULL || + static_cast(mItemAcKeep.getActor())->checkRodEquipPermission()) && + checkNextActionFromButton()) { + return 1; + } + + if (checkBowAnime()) { + return checkNextActionBow(); + } else if (checkBoomerangAnimeAndReturnWait()) { + return checkNextActionBoomerang(); + } else if (checkHookshotAnime()) { + return checkNextActionHookshot(); + } else if (checkGrabAnimeAndThrow()) { + return procCanoeGrabMoveInit(); + } else if (checkCanoeFishingWaitAnime()) { + return procCanoeFishingWaitInit(); + } else { + return procCanoeWaitInit(0); + } } -#pragma pop /* 800F4A50-800F4B90 0EF390 0140+00 2/2 0/0 0/0 .text procCanoeRideInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCanoeRideInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCanoeRideInit__9daAlink_cFv.s" +int daAlink_c::procCanoeRideInit() { + commonProcInit(PROC_CANOE_RIDE); + setHeavyBoots(0); + mRideAcKeep.setData(field_0x27f4); + deleteEquipItem(0, 0); + daCanoe_c* canoe = (daCanoe_c*)field_0x27f4; + + setSingleAnime(ANM_HANG_CLIMB_TOP, daAlinkHIO_wallCatch_c0::m.mClimbAnm.mSpeed, + daAlinkHIO_wallCatch_c0::m.mClimbStartFrame, + daAlinkHIO_wallCatch_c0::m.mClimbAnm.mEndFrame, + daAlinkHIO_wallCatch_c0::m.mClimbAnm.mInterpolation); + setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + setRideCanoeBasePos(canoe); + + if ((s16)(fopAcM_searchActorAngleY(canoe, this) - canoe->shape_angle.y) > 0) { + shape_angle.y = canoe->shape_angle.y - 0x4000; + field_0x3008 = 0; + field_0x37c8.x = lit_20991; + } else { + shape_angle.y = canoe->shape_angle.y + 0x4000; + field_0x3008 = 1; + field_0x37c8.x = lit_20992; + } + + mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + current.angle.y = shape_angle.y; + + initCanoeRide(); + field_0x300e = 0x80; + swimOutAfter(1); + return 1; } -#pragma pop /* 800F4B90-800F4C78 0EF4D0 00E8+00 1/0 0/0 0/0 .text procCanoeRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCanoeRide() { - nofralloc -#include "asm/d/a/d_a_alink/procCanoeRide__9daAlink_cFv.s" +int daAlink_c::procCanoeRide() { + daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); + if (canoe == NULL) { + return checkNextAction(0); + } + + mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + if (frameCtrl->checkAnmEnd()) { + procCanoeWaitInit(1); + } else if (frameCtrl->getFrame() < lit_7710) { + field_0x300e += 0x180; + + if (field_0x3008 == 0) { + canoe->incShapeAngleZ(-field_0x300e); + } else { + canoe->incShapeAngleZ(field_0x300e); + } + canoe->incShapeOffsetY(lit_21021); + } + + return 1; } -#pragma pop /* 800F4C78-800F4D84 0EF5B8 010C+00 4/4 0/0 0/0 .text * procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c.s" +int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) { + BOOL var_r31; + daCanoe_c* canoe = (daCanoe_c*)param_0; + + commonProcInit(PROC_CANOE_JUMP_RIDE); + + if (canoe == NULL) { + canoe = (daCanoe_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchCanoe, NULL); + var_r31 = true; + } else { + var_r31 = false; + } + + setHeavyBoots(0); + setSingleAnimeParam(ANM_JUMP_LAND, &daAlinkHIO_autoJump_c0::m.mLandAnm); + deleteEquipItem(0, 0); + + mRideAcKeep.setData(canoe); + setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + setRideCanoeBasePos(canoe); + mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + current.angle.y = shape_angle.y; + + initCanoeRide(); + if (var_r31) { + procCanoeWaitInit(2); + } + + return 1; } -#pragma pop /* 800F4D84-800F4DF8 0EF6C4 0074+00 1/0 0/0 0/0 .text procCanoeJumpRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCanoeJumpRide() { - nofralloc -#include "asm/d/a/d_a_alink/procCanoeJumpRide__9daAlink_cFv.s" +int daAlink_c::procCanoeJumpRide() { + daCanoe_c* canoe = (daCanoe_c*)mRideAcKeep.getActor(); + if (canoe == NULL) { + return checkNextAction(0); + } + + mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); + + if (mUnderFrameCtrl[0].checkAnmEnd()) { + procCanoeWaitInit(1); + } + + return 1; } -#pragma pop /* 800F4DF8-800F5048 0EF738 0250+00 2/2 0/0 0/0 .text procCanoeGetOffInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeGetOffInit() { +asm int daAlink_c::procCanoeGetOffInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeGetOffInit__9daAlink_cFv.s" } @@ -293,7 +373,7 @@ asm void daAlink_c::procCanoeGetOffInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeGetOff() { +asm int daAlink_c::procCanoeGetOff() { nofralloc #include "asm/d/a/d_a_alink/procCanoeGetOff__9daAlink_cFv.s" } @@ -304,7 +384,7 @@ asm void daAlink_c::procCanoeGetOff() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeWaitInit(int param_0) { +asm int daAlink_c::procCanoeWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCanoeWaitInit__9daAlink_cFi.s" } @@ -314,7 +394,7 @@ asm void daAlink_c::procCanoeWaitInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeWait() { +asm int daAlink_c::procCanoeWait() { nofralloc #include "asm/d/a/d_a_alink/procCanoeWait__9daAlink_cFv.s" } @@ -324,7 +404,7 @@ asm void daAlink_c::procCanoeWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeRowInit(int param_0) { +asm int daAlink_c::procCanoeRowInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCanoeRowInit__9daAlink_cFi.s" } @@ -334,7 +414,7 @@ asm void daAlink_c::procCanoeRowInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeRow() { +asm int daAlink_c::procCanoeRow() { nofralloc #include "asm/d/a/d_a_alink/procCanoeRow__9daAlink_cFv.s" } @@ -344,7 +424,7 @@ asm void daAlink_c::procCanoeRow() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoePaddleShiftInit(int param_0) { +asm int daAlink_c::procCanoePaddleShiftInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCanoePaddleShiftInit__9daAlink_cFi.s" } @@ -355,7 +435,7 @@ asm void daAlink_c::procCanoePaddleShiftInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoePaddleShift() { +asm int daAlink_c::procCanoePaddleShift() { nofralloc #include "asm/d/a/d_a_alink/procCanoePaddleShift__9daAlink_cFv.s" } @@ -365,7 +445,7 @@ asm void daAlink_c::procCanoePaddleShift() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoePaddlePutInit(int param_0) { +asm int daAlink_c::procCanoePaddlePutInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCanoePaddlePutInit__9daAlink_cFi.s" } @@ -375,7 +455,7 @@ asm void daAlink_c::procCanoePaddlePutInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoePaddlePut() { +asm int daAlink_c::procCanoePaddlePut() { nofralloc #include "asm/d/a/d_a_alink/procCanoePaddlePut__9daAlink_cFv.s" } @@ -385,7 +465,7 @@ asm void daAlink_c::procCanoePaddlePut() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoePaddleGrabInit() { +asm int daAlink_c::procCanoePaddleGrabInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoePaddleGrabInit__9daAlink_cFv.s" } @@ -396,7 +476,7 @@ asm void daAlink_c::procCanoePaddleGrabInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoePaddleGrab() { +asm int daAlink_c::procCanoePaddleGrab() { nofralloc #include "asm/d/a/d_a_alink/procCanoePaddleGrab__9daAlink_cFv.s" } @@ -407,7 +487,7 @@ asm void daAlink_c::procCanoePaddleGrab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeRodGrabInit() { +asm int daAlink_c::procCanoeRodGrabInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeRodGrabInit__9daAlink_cFv.s" } @@ -417,7 +497,7 @@ asm void daAlink_c::procCanoeRodGrabInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeRodGrab() { +asm int daAlink_c::procCanoeRodGrab() { nofralloc #include "asm/d/a/d_a_alink/procCanoeRodGrab__9daAlink_cFv.s" } @@ -427,7 +507,7 @@ asm void daAlink_c::procCanoeRodGrab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeFishingWaitInit() { +asm int daAlink_c::procCanoeFishingWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeFishingWaitInit__9daAlink_cFv.s" } @@ -438,7 +518,7 @@ asm void daAlink_c::procCanoeFishingWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeFishingWait() { +asm int daAlink_c::procCanoeFishingWait() { nofralloc #include "asm/d/a/d_a_alink/procCanoeFishingWait__9daAlink_cFv.s" } @@ -448,7 +528,7 @@ asm void daAlink_c::procCanoeFishingWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeFishingReelInit() { +asm int daAlink_c::procCanoeFishingReelInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeFishingReelInit__9daAlink_cFv.s" } @@ -459,7 +539,7 @@ asm void daAlink_c::procCanoeFishingReelInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeFishingReel() { +asm int daAlink_c::procCanoeFishingReel() { nofralloc #include "asm/d/a/d_a_alink/procCanoeFishingReel__9daAlink_cFv.s" } @@ -469,7 +549,7 @@ asm void daAlink_c::procCanoeFishingReel() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeFishingGetInit() { +asm int daAlink_c::procCanoeFishingGetInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeFishingGetInit__9daAlink_cFv.s" } @@ -480,7 +560,7 @@ asm void daAlink_c::procCanoeFishingGetInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeFishingGet() { +asm int daAlink_c::procCanoeFishingGet() { nofralloc #include "asm/d/a/d_a_alink/procCanoeFishingGet__9daAlink_cFv.s" } @@ -490,7 +570,7 @@ asm void daAlink_c::procCanoeFishingGet() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeSubjectivityInit() { +asm int daAlink_c::procCanoeSubjectivityInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeSubjectivityInit__9daAlink_cFv.s" } @@ -501,7 +581,7 @@ asm void daAlink_c::procCanoeSubjectivityInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeSubjectivity() { +asm int daAlink_c::procCanoeSubjectivity() { nofralloc #include "asm/d/a/d_a_alink/procCanoeSubjectivity__9daAlink_cFv.s" } @@ -511,7 +591,7 @@ asm void daAlink_c::procCanoeSubjectivity() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBowSubjectInit() { +asm int daAlink_c::procCanoeBowSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBowSubjectInit__9daAlink_cFv.s" } @@ -522,7 +602,7 @@ asm void daAlink_c::procCanoeBowSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBowSubject() { +asm int daAlink_c::procCanoeBowSubject() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBowSubject__9daAlink_cFv.s" } @@ -533,7 +613,7 @@ asm void daAlink_c::procCanoeBowSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBowMoveInit() { +asm int daAlink_c::procCanoeBowMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBowMoveInit__9daAlink_cFv.s" } @@ -543,7 +623,7 @@ asm void daAlink_c::procCanoeBowMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBowMove() { +asm int daAlink_c::procCanoeBowMove() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBowMove__9daAlink_cFv.s" } @@ -554,7 +634,7 @@ asm void daAlink_c::procCanoeBowMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeGrabMoveInit() { +asm int daAlink_c::procCanoeGrabMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeGrabMoveInit__9daAlink_cFv.s" } @@ -564,7 +644,7 @@ asm void daAlink_c::procCanoeGrabMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeGrabMove() { +asm int daAlink_c::procCanoeGrabMove() { nofralloc #include "asm/d/a/d_a_alink/procCanoeGrabMove__9daAlink_cFv.s" } @@ -575,7 +655,7 @@ asm void daAlink_c::procCanoeGrabMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBoomerangSubjectInit() { +asm int daAlink_c::procCanoeBoomerangSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBoomerangSubjectInit__9daAlink_cFv.s" } @@ -585,7 +665,7 @@ asm void daAlink_c::procCanoeBoomerangSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBoomerangSubject() { +asm int daAlink_c::procCanoeBoomerangSubject() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBoomerangSubject__9daAlink_cFv.s" } @@ -595,7 +675,7 @@ asm void daAlink_c::procCanoeBoomerangSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBoomerangMoveInit() { +asm int daAlink_c::procCanoeBoomerangMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBoomerangMoveInit__9daAlink_cFv.s" } @@ -605,7 +685,7 @@ asm void daAlink_c::procCanoeBoomerangMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBoomerangMove() { +asm int daAlink_c::procCanoeBoomerangMove() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBoomerangMove__9daAlink_cFv.s" } @@ -616,7 +696,7 @@ asm void daAlink_c::procCanoeBoomerangMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeHookshotSubjectInit() { +asm int daAlink_c::procCanoeHookshotSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeHookshotSubjectInit__9daAlink_cFv.s" } @@ -626,7 +706,7 @@ asm void daAlink_c::procCanoeHookshotSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeHookshotSubject() { +asm int daAlink_c::procCanoeHookshotSubject() { nofralloc #include "asm/d/a/d_a_alink/procCanoeHookshotSubject__9daAlink_cFv.s" } @@ -636,7 +716,7 @@ asm void daAlink_c::procCanoeHookshotSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeHookshotMoveInit() { +asm int daAlink_c::procCanoeHookshotMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeHookshotMoveInit__9daAlink_cFv.s" } @@ -647,7 +727,7 @@ asm void daAlink_c::procCanoeHookshotMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeHookshotMove() { +asm int daAlink_c::procCanoeHookshotMove() { nofralloc #include "asm/d/a/d_a_alink/procCanoeHookshotMove__9daAlink_cFv.s" } @@ -657,7 +737,7 @@ asm void daAlink_c::procCanoeHookshotMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBottleDrinkInit(u16 param_0) { +asm int daAlink_c::procCanoeBottleDrinkInit(u16 param_0) { nofralloc #include "asm/d/a/d_a_alink/procCanoeBottleDrinkInit__9daAlink_cFUs.s" } @@ -668,7 +748,7 @@ asm void daAlink_c::procCanoeBottleDrinkInit(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeBottleDrink() { +asm int daAlink_c::procCanoeBottleDrink() { nofralloc #include "asm/d/a/d_a_alink/procCanoeBottleDrink__9daAlink_cFv.s" } @@ -678,7 +758,7 @@ asm void daAlink_c::procCanoeBottleDrink() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeKandelaarPourInit() { +asm int daAlink_c::procCanoeKandelaarPourInit() { nofralloc #include "asm/d/a/d_a_alink/procCanoeKandelaarPourInit__9daAlink_cFv.s" } @@ -688,7 +768,7 @@ asm void daAlink_c::procCanoeKandelaarPourInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCanoeKandelaarPour() { +asm int daAlink_c::procCanoeKandelaarPour() { nofralloc #include "asm/d/a/d_a_alink/procCanoeKandelaarPour__9daAlink_cFv.s" } @@ -709,7 +789,7 @@ asm void daAlink_c::setGroundFishingRodActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFishingCastInit() { +asm int daAlink_c::procFishingCastInit() { nofralloc #include "asm/d/a/d_a_alink/procFishingCastInit__9daAlink_cFv.s" } @@ -719,7 +799,7 @@ asm void daAlink_c::procFishingCastInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFishingCast() { +asm int daAlink_c::procFishingCast() { nofralloc #include "asm/d/a/d_a_alink/procFishingCast__9daAlink_cFv.s" } @@ -730,7 +810,7 @@ asm void daAlink_c::procFishingCast() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFishingFoodInit() { +asm int daAlink_c::procFishingFoodInit() { nofralloc #include "asm/d/a/d_a_alink/procFishingFoodInit__9daAlink_cFv.s" } @@ -740,7 +820,7 @@ asm void daAlink_c::procFishingFoodInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFishingFood() { +asm int daAlink_c::procFishingFood() { nofralloc #include "asm/d/a/d_a_alink/procFishingFood__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_copyrod.inc b/src/d/a/d_a_alink_copyrod.inc index 6c4044c00f..1a847756e3 100644 --- a/src/d/a/d_a_alink_copyrod.inc +++ b/src/d/a/d_a_alink_copyrod.inc @@ -1,3 +1,5 @@ +#include "rel/d/a/d_a_cstatue/d_a_cstatue.h" + /* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */ BOOL daAlink_c::checkLv6BossRoom() { return checkStageName("D_MN06A"); @@ -44,26 +46,18 @@ fopAc_ac_c* daAlink_c::getCopyRodCameraActor() { } /* 800E13AC-800E1408 0DBCEC 005C+00 2/2 0/0 0/0 .text initCopyRodUpperAnimeSpeed__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/initCopyRodUpperAnimeSpeed__9daAlink_cFi.s" -} -#pragma pop - -/* void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { - if (checkCopyRodThrowAnime()) { - if (param_1 == 0) { - mUpperFrameCtrl[2].setRate(); +void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { + if (!checkCopyRodThrowAnime()) { + if (param_0) { + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mUpperFrameCtrl[2].setRate(tmp_0); + mUpperFrameCtrl[2].setFrame(tmp_0); + getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0); + } else { + mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed); } - f32 tmp = FLOAT_LABEL(lit_6108); - mUpperFrameCtrl[2].setRate(tmp); - mUpperFrameCtrl[2].setFrame(tmp); - } -} */ +} /* 800E1408-800E145C 0DBD48 0054+00 2/2 0/0 0/0 .text checkForestOldCentury__9daAlink_cFv */ @@ -72,24 +66,17 @@ BOOL daAlink_c::checkForestOldCentury() { } /* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkCopyRodTopUse() { - nofralloc -#include "asm/d/a/d_a_alink/checkCopyRodTopUse__9daAlink_cFv.s" +BOOL daAlink_c::checkCopyRodTopUse() { + // Event flag 0x2580: Dominion Rod power restored + return (i_dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && field_0x300e != 0)) || + i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 || + checkForestOldCentury(); } -#pragma pop /* 800E1530-800E158C 0DBE70 005C+00 4/4 0/0 0/0 .text checkCopyRodAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCopyRodAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkCopyRodAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkCopyRodAnime() const { + return checkCopyRodReadyAnime() || checkCopyRodThrowAnime(); } -#pragma pop /* 800E158C-800E15FC 0DBECC 0070+00 2/2 0/0 0/0 .text setCopyRodControllAnime__9daAlink_cFv */ void daAlink_c::setCopyRodControllAnime() { @@ -121,49 +108,42 @@ void daAlink_c::setCopyRodModel() { mDoExt_setCurrentHeap(heap); field_0x0724->setFrame(FLOAT_LABEL(lit_6108)); field_0x2f94 = 2; - field_0x122C[0].SetAtSpl(dCcG_At_Spl_UNK_0); - field_0x122C[0].SetAtAtp(0); - field_0x122C[0].SetAtSe(20); - field_0x122C[0].SetAtHitMark(1); - field_0x122C[0].OnAtSetBit(); - field_0x122C[0].SetAtHitCallback(NULL); - field_0x122C[0].SetAtMtrl(0); + mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0); + mAtCps[0].SetAtAtp(0); + mAtCps[0].SetAtSe(20); + mAtCps[0].SetAtHitMark(1); + mAtCps[0].OnAtSetBit(); + mAtCps[0].SetAtHitCallback(NULL); + mAtCps[0].SetAtMtrl(0); mHeldItemModel->i_setBaseTRMtx(mpLinkModel->i_getAnmMtx(field_0x30c0)); mHeldItemModel->calc(); } /* 800E1840-800E191C 0DC180 00DC+00 2/2 0/0 0/0 .text setCopyRodReadyAnime__9daAlink_cFv */ -// regalloc -#ifdef NONMATCHING +#pragma push +#pragma optimization_level 2 void daAlink_c::setCopyRodReadyAnime() { - f32 tmp; + f32 speed; if (i_checkAttentionLock()) { - tmp = daAlinkHIO_boom_c0::m.valc; + speed = daAlinkHIO_boom_c0::m.mIdleAnmSpeed; } else { - tmp = FLOAT_LABEL(lit_6108); + speed = FLOAT_LABEL(lit_6108); } - setUpperAnimeBaseSpeed(0x54, tmp, lit_6109); + setUpperAnimeBaseSpeed(0x54, speed, lit_6109); + if (checkCopyRodTopUse()) { seStartSwordCut(Z2SE_AL_COPYROD_READY); } else { seStartSwordCut(Z2SE_AL_COPYROD_READY_OFF); } - field_0x122C[0].SetR(lit_8676); - field_0x122C[0].SetAtType(0x1000000); + + mAtCps[0].SetR(lit_8676); + mAtCps[0].SetAtType(0x1000000); initLockAt(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCopyRodReadyAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setCopyRodReadyAnime__9daAlink_cFv.s" -} #pragma pop -#endif /* 800E191C-800E1A30 0DC25C 0114+00 1/1 0/0 0/0 .text throwCopyRod__9daAlink_cFv */ void daAlink_c::throwCopyRod() { @@ -193,147 +173,276 @@ void daAlink_c::throwCopyRod() { } /* 800E1A30-800E1ADC 0DC370 00AC+00 0/0 0/0 1/1 .text returnCopyRod__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::returnCopyRod() { - nofralloc -#include "asm/d/a/d_a_alink/returnCopyRod__9daAlink_cFv.s" -} -#pragma pop - -/* void daAlink_c::returnCopyRod() { +int daAlink_c::returnCopyRod() { i_offNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); - if (mEquipItem == 0x46) { + int var_r31; + if (mEquipItem == COPY_ROD) { mItemAcKeep = mCopyRodAcKeep; i_onNoResetFlg0(FLG0_UNK_20); - cXyz tmp(0, 1, 0); - dComIfGp_getVibration().StartShock(1, 1, tmp); + var_r31 = 1; + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, lit_6040, tmp_0)); + } else { + var_r31 = 0; } + mCopyRodAcKeep.clearData(); -} */ + return var_r31; +} /* 800E1ADC-800E1BB4 0DC41C 00D8+00 2/2 0/0 0/0 .text checkUpperItemActionCopyRod__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpperItemActionCopyRod() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperItemActionCopyRod__9daAlink_cFv.s" +BOOL daAlink_c::checkUpperItemActionCopyRod() { + if (field_0x3018 != 0) { + field_0x3018--; + } + + if (checkReadyItem() && !itemButton() && checkCopyRodReadyAnime()) { + setUpperAnimeParam(0x53, UPPER_2, &daAlinkHIO_boom_c0::m.mThrowAnm); + mSearchBallScale = getCopyRodBallDisMax(); + + if (!mSight.getLockFlg()) { + mSearchBallScale -= lit_7308; + } + + return true; + } + + return cancelUpperItemReadyAnime(0); } -#pragma pop /* 800E1BB4-800E1C44 0DC4F4 0090+00 1/1 0/0 0/0 .text checkUpperItemActionCopyRodFly__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpperItemActionCopyRodFly() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperItemActionCopyRodFly__9daAlink_cFv.s" +void daAlink_c::checkUpperItemActionCopyRodFly() { + if (mCopyRodAcKeep.getActor() == NULL) { + if (checkCopyRodReadyAnime()) { + checkUpperItemActionCopyRod(); + } else if (checkReadyItem() && itemTrigger()) { + setCopyRodReadyAnime(); + } + } } -#pragma pop /* 800E1C44-800E1D6C 0DC584 0128+00 2/2 0/0 0/0 .text checkNextActionCopyRod__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionCopyRod() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionCopyRod__9daAlink_cFv.s" +#pragma optimization_level 2 +int daAlink_c::checkNextActionCopyRod() { + if ((checkBoomerangCatchAnime() && + mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) || + i_checkNoResetFlg1(FLG1_UNK_10000)) { + return 0; + } + + if (mFastShotTime != 0) { + mFastShotTime--; + } + + if (!checkCopyRodAnime()) { + setCopyRodReadyAnime(); + setFastShotTimer(); + + if (!i_checkAttentionLock()) { + field_0x2fe4 = shape_angle.y; + } + } + + if (!i_checkAttentionLock() && mFastShotTime == 0) { + return procCopyRodSubjectInit(); + } + + return procCopyRodMoveInit(); } #pragma pop /* 800E1D6C-800E1E20 0DC6AC 00B4+00 1/1 0/0 0/0 .text setCopyRodSight__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCopyRodSight() { - nofralloc -#include "asm/d/a/d_a_alink/setCopyRodSight__9daAlink_cFv.s" +void daAlink_c::setCopyRodSight() { + if (mItemAcKeep.getActor() && !checkCopyRodThrowAnime()) { + cXyz sight_pos; + + checkSightLine(getCopyRodBallDisMax(), &sight_pos); + mSight.setPos(&sight_pos); + mSight.onDrawFlg(); + + if (mAtCps[0].ChkAtHit()) { + mSight.onLockFlg(); + } else { + mSight.offLockFlg(); + } + } } -#pragma pop /* 800E1E20-800E1EB0 0DC760 0090+00 1/1 0/0 0/0 .text procCopyRodSubjectInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodSubjectInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodSubjectInit__9daAlink_cFv.s" +int daAlink_c::procCopyRodSubjectInit() { + if (!commonProcInitNotSameProc(PROC_COPY_ROD_SUBJECT)) { + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + initCopyRodUpperAnimeSpeed(1); + setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, FLOAT_LABEL(lit_6108), daAlinkHIO_boom_c0::m.mStartInterpolation); + + dComIfGp_setPlayerStatus0(0, 0x80); + current.angle.y = shape_angle.y; + return 1; } -#pragma pop /* 800E1EB0-800E1F68 0DC7F0 00B8+00 1/0 0/0 0/0 .text procCopyRodSubject__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodSubject() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodSubject__9daAlink_cFv.s" +int daAlink_c::procCopyRodSubject() { + if (!checkItemActorPointer()) { + return 1; + } + + if (checkCopyRodReadyAnime()) { + setDoStatus(0x12); + } + + setShapeAngleToAtnActor(0); + + if (!checkNextAction(0)) { + if (setBodyAngleToCamera()) { + setCopyRodSight(); + } + } else { + mSight.offDrawFlg(); + } + + return 1; } -#pragma pop /* 800E1F68-800E1FFC 0DC8A8 0094+00 1/1 0/0 0/0 .text procCopyRodMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodMoveInit__9daAlink_cFv.s" +int daAlink_c::procCopyRodMoveInit() { + if (!commonProcInitNotSameProc(PROC_COPY_ROD_MOVE)) { + return 0; + } + + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + initCopyRodUpperAnimeSpeed(0); + setBlendAtnMoveAnime(daAlinkHIO_boom_c0::m.mStartInterpolation); + + dComIfGp_setPlayerStatus0(0, 0x80); + return 1; } -#pragma pop /* 800E1FFC-800E20C8 0DC93C 00CC+00 1/0 0/0 0/0 .text procCopyRodMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodMove() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodMove__9daAlink_cFv.s" +int daAlink_c::procCopyRodMove() { + if (!checkItemActorPointer()) { + return 1; + } + + if (!checkNextAction(0)) { + f32 var_f31 = lit_6041; + + if (checkZeroSpeedF()) { + onModeFlg(1); + + if (field_0x2f98 != 3) { + field_0x2f98 = 3; + var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor; + } + } else { + offModeFlg(1); + } + + setBlendAtnMoveAnime(var_f31); + setBodyAngleXReadyAnime(0); + } + + return 1; } -#pragma pop /* 800E20C8-800E21FC 0DCA08 0134+00 1/1 0/0 0/0 .text procCopyRodSwingInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodSwingInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodSwingInit__9daAlink_cFv.s" +int daAlink_c::procCopyRodSwingInit() { + commonProcInit(PROC_COPY_ROD_SWING); + daCstatue_c* statue = (daCstatue_c*)getCopyRodControllActor(); + + if (statue != NULL && ((fopAcM_GetName(statue) == PROC_CSTATUE && !statue->checkNotSmallType()) || fopAcM_GetName(statue) != PROC_CSTATUE)) { + setSingleAnimeParam(ANM_COPYROD_SWING_LARGE, &daAlinkHIO_copyRod_c0::m.mBigSwingAnm); + field_0x3478 = lit_8781; + field_0x347c = lit_13382; + field_0x3480 = daAlinkHIO_copyRod_c0::m.mBigSwingAnm.mCheckFrame; + field_0x3484 = lit_7807; + } else { + setSingleAnimeParam(ANM_COPYROD_SWING, &daAlinkHIO_copyRod_c0::m.mSwingAnm); + field_0x3478 = lit_7450; + field_0x347c = lit_8783; + field_0x3480 = daAlinkHIO_copyRod_c0::m.mSwingAnm.mCheckFrame; + field_0x3484 = lit_8130; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + mCommonCounter = 1; + field_0x300e = 0; + + voiceStart(Z2SE_AL_V_ATTACK_S); + mAtCps[0].SetR(lit_11442); + mAtCps[0].SetAtType(AT_TYPE_COPY_ROD); + cancelLockAt(); + return 1; } -#pragma pop /* 800E21FC-800E2308 0DCB3C 010C+00 1/0 0/0 0/0 .text procCopyRodSwing__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodSwing() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodSwing__9daAlink_cFv.s" +int daAlink_c::procCopyRodSwing() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + mCommonCounter = 0; + + if (frameCtrl->checkAnmEnd()) { + setCopyRodControllAnime(); + checkNextAction(0); + } else if (frameCtrl->getFrame() > field_0x3480 && checkNextAction(1)) { + if (i_checkModeFlg(0x1000)) { + setCopyRodControllAnime(); + } + } else if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) { + if (field_0x300e == 0) { + seStartSwordCut(Z2SE_AL_COPYROD_SWING); + } + + field_0x300e = 1; + if (changeCutReverseProc(ANM_CUT_RECOIL_A)) { + return 1; + } + } else { + field_0x300e = 0; + } + + return 1; } -#pragma pop /* 800E2308-800E23A4 0DCC48 009C+00 1/0 0/0 0/0 .text procCopyRodReviveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodReviveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodReviveInit__9daAlink_cFv.s" +int daAlink_c::procCopyRodReviveInit() { + if (!commonProcInitNotSameProc(PROC_COPY_ROD_REVIVE)) { + return 1; + } + + if (mDemo.getParam0() == 0) { + if (mEquipItem != COPY_ROD) { + deleteEquipItem(0, 0); + mEquipItem = COPY_ROD; + setCopyRodModel(); + } + field_0x0724->setFrame(FLOAT_LABEL(lit_6108)); + } + + setSingleAnimeBase(ANM_GET_MASTER_SWORD); + mNormalSpeed = FLOAT_LABEL(lit_6108); + return 1; } -#pragma pop /* 800E23A4-800E23FC 0DCCE4 0058+00 1/0 0/0 0/0 .text procCopyRodRevive__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCopyRodRevive() { - nofralloc -#include "asm/d/a/d_a_alink/procCopyRodRevive__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procCopyRodRevive() { + simpleAnmPlay(field_0x0724); + + if (mUnderFrameCtrl[0].checkAnmEnd()) { + dComIfGp_evmng_cutEnd(field_0x3184); + } + + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_crawl.inc b/src/d/a/d_a_alink_crawl.inc index 8ca8b73d66..fa8986da38 100644 --- a/src/d/a/d_a_alink_crawl.inc +++ b/src/d/a/d_a_alink_crawl.inc @@ -161,7 +161,7 @@ asm void daAlink_c::setCrawlAutoMoveAimPos() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlStartInit() { +asm int daAlink_c::procCrawlStartInit() { nofralloc #include "asm/d/a/d_a_alink/procCrawlStartInit__9daAlink_cFv.s" } @@ -171,7 +171,7 @@ asm void daAlink_c::procCrawlStartInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlStart() { +asm int daAlink_c::procCrawlStart() { nofralloc #include "asm/d/a/d_a_alink/procCrawlStart__9daAlink_cFv.s" } @@ -181,7 +181,7 @@ asm void daAlink_c::procCrawlStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) { +asm int daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) { nofralloc #include "asm/d/a/d_a_alink/procCrawlMoveInit__9daAlink_cFss.s" } @@ -191,7 +191,7 @@ asm void daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlMove() { +asm int daAlink_c::procCrawlMove() { nofralloc #include "asm/d/a/d_a_alink/procCrawlMove__9daAlink_cFv.s" } @@ -201,7 +201,7 @@ asm void daAlink_c::procCrawlMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { +asm int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { nofralloc #include "asm/d/a/d_a_alink/procCrawlAutoMoveInit__9daAlink_cFiP4cXyz.s" } @@ -211,7 +211,7 @@ asm void daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlAutoMove() { +asm int daAlink_c::procCrawlAutoMove() { nofralloc #include "asm/d/a/d_a_alink/procCrawlAutoMove__9daAlink_cFv.s" } @@ -221,7 +221,7 @@ asm void daAlink_c::procCrawlAutoMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) { +asm int daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) { nofralloc #include "asm/d/a/d_a_alink/procCrawlEndInit__9daAlink_cFiss.s" } @@ -231,7 +231,7 @@ asm void daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCrawlEnd() { +asm int daAlink_c::procCrawlEnd() { nofralloc #include "asm/d/a/d_a_alink/procCrawlEnd__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_cut.inc b/src/d/a/d_a_alink_cut.inc index 1fe5d47af8..1521bfc777 100644 --- a/src/d/a/d_a_alink_cut.inc +++ b/src/d/a/d_a_alink_cut.inc @@ -11,14 +11,19 @@ static asm void daAlink_searchNightStalker(fopAc_ac_c* param_0, void* param_1) { /* 800D0E08-800D0E98 0CB748 0090+00 1/1 0/0 0/0 .text checkLightSwordMtrl__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkLightSwordMtrl() { - nofralloc -#include "asm/d/a/d_a_alink/checkLightSwordMtrl__9daAlink_cFv.s" +void daAlink_c::checkLightSwordMtrl() { + if (checkLightMasterSwordEquip()) { + stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); + + if (i_dStage_stagInfo_GetSaveTbl(stag_info) == 0x17 || + fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchNightStalker, NULL)) { + i_onNoResetFlg3(FLG3_UNK_100000); + return; + } + } + + i_offNoResetFlg3(FLG3_UNK_100000); } -#pragma pop /* 800D0E98-800D0ECC 0CB7D8 0034+00 5/5 0/0 0/0 .text checkSwordEquipAnime__9daAlink_cCFv */ @@ -51,6 +56,7 @@ void daAlink_c::initCutTurnAt(f32 param_0, int param_1) { field_0xFB8.SetAtHitMark(3); field_0xFB8.SetAtSe(1); field_0xFB8.SetAtAtp(param_1); + u8 mtrl; if (!i_checkNoResetFlg3(FLG3_UNK_100000)) { mtrl = 0; @@ -64,20 +70,13 @@ void daAlink_c::initCutTurnAt(f32 param_0, int param_1) { /* 800D102C-800D1088 0CB96C 005C+00 2/2 0/0 0/0 .text checkCutFinishJumpUp__9daAlink_cFv */ -#ifdef NONMATCHING bool daAlink_c::checkCutFinishJumpUp() { - return checkCutBackState() && (!checkNotBattleStage() && swordSwingTrigger()); + if (checkCutBackState() && !checkNotBattleStage() && swordSwingTrigger()) { + return true; + } + + return false; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkCutFinishJumpUp() { - nofralloc -#include "asm/d/a/d_a_alink/checkCutFinishJumpUp__9daAlink_cFv.s" -} -#pragma pop -#endif /* 800D1088-800D10E0 0CB9C8 0058+00 2/2 0/0 0/0 .text changeCutFast__9daAlink_cFv */ void daAlink_c::changeCutFast() { @@ -127,38 +126,14 @@ void daAlink_c::offSwordModel() { /* 800D13AC-800D13E4 0CBCEC 0038+00 1/1 0/0 0/0 .text checkCutTypeNoBlur__9daAlink_cCFv */ BOOL daAlink_c::checkCutTypeNoBlur() const { - return mCutType == TYPE_CUT_STAB || mCutType == TYPE_CUT_STAB_COMBO || - mCutType == TYPE_CUT_STAB_FINISH || i_checkNoResetFlg0(FLG0_UNDERWATER); + return mCutType == CUT_TYPE_NM_STAB || mCutType == CUT_TYPE_COMBO_STAB || + mCutType == CUT_TYPE_FINISH_STAB || i_checkNoResetFlg0(FLG0_UNDERWATER); } /* 800D13E4-800D1424 0CBD24 0040+00 7/7 0/0 0/0 .text checkCutTurnInput__9daAlink_cCFv */ -#ifdef NONMATCHING -u32 daAlink_c::checkCutTurnInput() const { - - s32 unk0; - int unk1; - int unk2; - int unk3; - - unk0 = abs(field_0x3180); - s16 ex = -2048; - unk1 = unk0 ^ (u32)ex; - unk2 = (unk1 & unk0); - unk3 = (unk1 >> 1); - - - return (u32)(unk3 -= unk2) >> 0x1FU; +bool daAlink_c::checkCutTurnInput() const { + return 0xF800 < abs(field_0x3180); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkCutTurnInput() const { - nofralloc -#include "asm/d/a/d_a_alink/checkCutTurnInput__9daAlink_cCFv.s" -} -#pragma pop -#endif /* 800D1424-800D1430 0CBD64 000C+00 7/7 0/0 0/0 .text getCutTurnDirection__9daAlink_cCFv */ @@ -176,12 +151,12 @@ void daAlink_c::resetCombo(int param_0) { } /* 800D1454-800D152C 0CBD94 00D8+00 1/1 0/0 0/0 .text checkComboCnt__9daAlink_cFv */ -// something with i_checkAttentionLock -#ifdef NONMATCHING +#pragma push +#pragma optimization_level 2 void daAlink_c::checkComboCnt() { if ((mEquipItem == EQUIP_SWORD && mComboCutCount == 2) && - (i_checkAttentionLock() && (field_0x122C[0].ChkAtHit() || field_0x122C[1].ChkAtHit() || - field_0x122C[2].ChkAtHit()))) { + (i_checkAttentionLock() && + (mAtCps[0].ChkAtHit() || mAtCps[1].ChkAtHit() || mAtCps[2].ChkAtHit()))) { i_onNoResetFlg0(FLG0_UNK_8000); } if (field_0x307e > 0) { @@ -190,16 +165,7 @@ void daAlink_c::checkComboCnt() { resetCombo(1); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkComboCnt() { - nofralloc -#include "asm/d/a/d_a_alink/checkComboCnt__9daAlink_cFv.s" -} #pragma pop -#endif /* 800D152C-800D1540 0CBE6C 0014+00 22/22 0/0 0/0 .text setCutType__9daAlink_cFUc */ void daAlink_c::setCutType(u8 type) { @@ -209,50 +175,141 @@ void daAlink_c::setCutType(u8 type) { /* 800D1540-800D1688 0CBE80 0148+00 8/8 0/0 0/0 .text * setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCylAtParam(u32 param_0, dCcG_At_Spl param_1, u8 param_2, u8 param_3, - int param_4, f32 param_5, f32 param_6) { - nofralloc -#include "asm/d/a/d_a_alink/setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff.s" +void daAlink_c::setCylAtParam(u32 i_AtType, dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, + f32 i_radius, f32 i_height) { + if (checkWoodSwordEquip() && (i_AtSe == 14 || i_AtSe == 1 || i_AtSe == 16)) { + i_AtSe = 5; + } + + u8 mtrl; + if (i_AtType & 2) { + if (i_checkNoResetFlg3(FLG3_UNK_100000)) { + mtrl = 4; + } else { + mtrl = 0; + } + } else if (mEquipItem == WATER_BOTTLE) { + mtrl = 6; + } else { + mtrl = 0; + } + + mAtCyl.SetAtType(i_AtType); + mAtCyl.SetAtSpl(i_spl); + mAtCyl.SetAtHitMark(i_hitMark); + mAtCyl.SetAtSe(i_AtSe); + mAtCyl.SetAtAtp(i_atp); + mAtCyl.SetR(i_radius); + mAtCyl.SetH(i_height); + mAtCyl.SetAtMtrl(mtrl); + + if (mProcID == PROC_GUARD_ATTACK) { + mAtCyl.OnAtNoHitMark(); + } else { + mAtCyl.OffAtNoHitMark(); + } + + if (i_checkWolf()) { + dCcD_Cyl* cyl = field_0x850; + for (int i = 0; i < 3; i++) { + cyl->SetAtType(i_AtType); + cyl->SetAtSpl(i_spl); + cyl->SetAtHitMark(i_hitMark); + cyl->SetAtSe(i_AtSe); + cyl->SetAtAtp(i_atp); + cyl++; + } + } } -#pragma pop /* 800D1688-800D1788 0CBFC8 0100+00 9/9 0/0 0/0 .text * setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSwordAtParam(dCcG_At_Spl param_0, u8 param_1, u8 param_2, int param_3, - f32 param_4, f32 param_5) { - nofralloc -#include "asm/d/a/d_a_alink/setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff.s" +void daAlink_c::setSwordAtParam(dCcG_At_Spl i_spl, u8 i_hitMark, u8 i_AtSe, int i_atp, f32 param_4, + f32 i_radius) { + dCcD_Cps* atCps = mAtCps; + u32 atType = getSwordAtType(); + mAtCps[0].OffAtNoHitMark(); + + if (checkWoodSwordEquip() && (i_AtSe == 14 || i_AtSe == 1 || i_AtSe == 16)) { + i_AtSe = 5; + } + + if (i_spl == 0) { + field_0x2fd0 = 0; + } else { + field_0x2fd0 = 1; + } + + u8 mtrl; + if (i_checkNoResetFlg3(FLG3_UNK_100000)) { + mtrl = 4; + } else { + mtrl = 0; + } + + for (int i = 0; i < 3; i++) { + atCps->SetAtSpl(i_spl); + atCps->SetAtHitMark(i_hitMark); + atCps->SetAtAtp(i_atp); + atCps->SetR(i_radius); + atCps->SetAtSe(i_AtSe); + atCps->SetAtMtrl(mtrl); + atCps->SetAtType(atType); + atCps++; + } + + field_0x33d0 = param_4; } -#pragma pop /* 800D1788-800D17EC 0CC0C8 0064+00 1/1 0/0 1/1 .text * notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c */ -bool daAlink_c::notSwordHitVibActor(fopAc_ac_c* p_actor) { +BOOL daAlink_c::notSwordHitVibActor(fopAc_ac_c* p_actor) { if (p_actor != NULL && fopAcM_GetGroup(p_actor) == 4) { s16 name = fopAcM_GetName(p_actor); - if (!checkSpecialNpc(p_actor) && name != 0x108 && name != 0x240) { + + if (!checkSpecialNpc(p_actor) && name != PROC_NI && name != PROC_NPC_BLUENS) { return true; } } + return false; } /* 800D17EC-800D1920 0CC12C 0134+00 4/4 0/0 0/0 .text * setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSwordHitVibration(dCcD_GObjInf* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf.s" +BOOL daAlink_c::setSwordHitVibration(dCcD_GObjInf* i_gobj) { + if (i_gobj->ChkAtHit()) { + if (notSwordHitVibActor(i_gobj->GetAtHitAc())) { + return true; + } + + int var_r4; + if (i_checkWolf()) { + var_r4 = 3; + } else if (i_gobj->ChkAtShieldHit()) { + if (field_0x2fd0 == 1) { + var_r4 = 5; + } else if (field_0x2fd0 == 2) { + var_r4 = 2; + } else { + var_r4 = 3; + } + } else if (field_0x2fd0 == 2 || + (i_gobj->GetAtHitAc() != NULL && fopAcM_GetGroup(i_gobj->GetAtHitAc()) == 3)) { + var_r4 = 2; + } else if (field_0x2fd0 == 1) { + var_r4 = 4; + } else { + var_r4 = 2; + } + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(var_r4, 31, cXyz(tmp_0, lit_6040, tmp_0)); + return true; + } + + return false; } -#pragma pop /* 800D1920-800D1978 0CC260 0058+00 3/3 0/0 0/0 .text checkAtShieldHit__9daAlink_cFR12dCcD_GObjInf */ @@ -279,14 +336,68 @@ asm BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) { #pragma pop /* 800D1E1C-800D20B4 0CC75C 0298+00 4/4 0/0 0/0 .text setCutDash__9daAlink_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCutDash(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setCutDash__9daAlink_cFii.s" +void daAlink_c::setCutDash(int param_0, int param_1) { + if (!param_0 && i_checkNoResetFlg1(FLG1_UNK_4000000)) { + checkCutAction(); + } else { + field_0x2fce = 5; + resetCombo(0); + i_offNoResetFlg2(FLG2_UNK_2); + + setSwordAtParam(dCcG_At_Spl_UNK_0, 7, 16, 1, daAlinkHIO_cut_c0::m.mRunCutLength, + daAlinkHIO_cut_c0::m.mRunCutRadius); + field_0x2fd0 = 2; + mRunCutComboCount++; + + if (param_1) { + setUpperAnimeParam(0x82, UPPER_2, &daAlinkHIO_cutDaCharge_c0::m.mCutAnm); + + if (checkBoardRide()) { + setCutType(13); + } else { + setCutType(0x38); + } + + if (mRunCutComboCount == 3) { + mRunCutComboCount = 1; + } + } else if (mRunCutComboCount == 1 || mRunCutComboCount == 3) { + setUpperAnimeParam(0x80, UPPER_2, &daAlinkHIO_cutDaL_c0::m.mCutAnm); + + if (checkBoardRide()) { + setCutType(11); + } else if (mProcID == PROC_SIDESTEP) { + setCutType(CUT_TYPE_AIR); + } else { + setCutType(0x25); + } + + mRunCutComboCount = 1; + setFacePriTexture(FTANM_UNK_13); + } else { + setUpperAnimeParam(0x81, UPPER_2, &daAlinkHIO_cutDaR_c0::m.mCutAnm); + + if (checkBoardRide()) { + setCutType(12); + } else if (mProcID == PROC_SIDESTEP) { + setCutType(0x11); + } else { + setCutType(0x26); + } + + setFacePriTexture(FTANM_UNK_14); + } + + setFacePriBck(0x104); + field_0x2f96 = 2; + field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + + setSwordVoiceSe(Z2SE_AL_V_ATTACK_RUN); + setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_0, 7, 16, 1, lit_6895, lit_6896); + setCutWaterDropEffect(); + field_0x2fb7 = 0; + } } -#pragma pop /* 800D20B4-800D20FC 0CC9F4 0048+00 4/4 0/0 0/0 .text checkForceSwordSwing__9daAlink_cFv */ @@ -301,6 +412,7 @@ void daAlink_c::setComboReserb() { } else { field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; } + if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) { i_onNoResetFlg2(FLG2_UNK_2); } @@ -312,7 +424,7 @@ BOOL daAlink_c::checkComboReserb() { } /* 800D21D0-800D2284 0CCB10 00B4+00 1/1 0/0 0/0 .text commonCutAction__9daAlink_cFv */ -bool daAlink_c::commonCutAction() { +int daAlink_c::commonCutAction() { if (mComboCutCount == 4) { resetCombo(1); } @@ -327,16 +439,16 @@ bool daAlink_c::commonCutAction() { if (mComboCutCount > 1) { mComboCutCount = 1; } - return true; - } else { - return false; + return 1; } + + return 0; } /* 800D2284-800D22BC 0CCBC4 0038+00 13/13 0/0 0/0 .text setSwordVoiceSe__9daAlink_cFUl */ -void daAlink_c::setSwordVoiceSe(u32 sfx_id) { +void daAlink_c::setSwordVoiceSe(u32 i_seID) { if (!i_checkNoResetFlg0(FLG0_UNDERWATER)) { - voiceStart(sfx_id); + voiceStart(i_seID); } } @@ -345,6 +457,7 @@ void daAlink_c::setSwordVoiceSe(u32 sfx_id) { void daAlink_c::setSwordChargeVoiceSe() { if (mCommonCounter != 0) { mCommonCounter--; + if (mCommonCounter == 0) { setSwordVoiceSe(Z2SE_AL_V_TAME); } @@ -369,11 +482,59 @@ bool daAlink_c::checkCutTurnInputTrigger() { /* 800D23C0-800D2684 0CCD00 02C4+00 7/7 0/0 0/0 .text checkCutAction__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCutAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkCutAction__9daAlink_cFv.s" +#pragma optimization_level 2 +int daAlink_c::checkCutAction() { + if (commonCutAction()) { + return 1; + } + + int cutDir = getCutDirection(); + + if (mComboCutCount == 4) { + if (i_checkNoResetFlg0(FLG0_UNK_1000000)) { + if (checkInputOnR() && (cutDir == DIR_FORWARD || cutDir == DIR_BACKWARD)) { + procCutFinishInit(3); + } else { + procCutFinishInit(4); + } + } else if (i_checkNoResetFlg0(FLG0_UNK_8000)) { + procCutFinishInit(hitFinishType[cutDir]); + } else if (i_checkAttentionLock()) { + procCutFinishInit(atnFinishType[cutDir]); + } else { + procCutFinishInit(finishType[cutDir]); + } + } else if (mComboCutCount == 3) { + if (i_checkNoResetFlg0(FLG0_UNK_8000)) { + if (cutDir == 0) { + procCutNormalInit(hitType[cutDir]); + } else { + procCutFinishInit(hitType[cutDir]); + } + } else if (i_checkAttentionLock()) { + procCutNormalInit(atnNormalType3[cutDir]); + } else { + procCutNormalInit(normalType3[cutDir]); + } + } else if (mProcID == PROC_CUT_NORMAL && field_0x300a != 4) { + if (field_0x300a == 2) { + procCutNormalInit(1); + } else { + procCutNormalInit(2); + } + } else if (i_checkAttentionLock()) { + if (mComboCutCount == 1) { + procCutNormalInit(atnNormalType1[cutDir]); + } else { + procCutNormalInit(atnNormalType2[cutDir]); + } + } else if (mComboCutCount == 1) { + procCutNormalInit(normalType1_6982[cutDir]); + } else { + procCutNormalInit(normalType2[cutDir]); + } + + return 1; } #pragma pop @@ -391,111 +552,138 @@ void daAlink_c::checkCutTurnCharge() { } /* 800D26EC-800D2760 0CD02C 0074+00 4/4 0/0 0/0 .text getCutDirection__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getCutDirection() { - nofralloc -#include "asm/d/a/d_a_alink/getCutDirection__9daAlink_cFv.s" +int daAlink_c::getCutDirection() { + s16 angle; + + if (!checkInputOnR()) { + return DIR_NONE; + } + + if (mTargetedActor != NULL) { + angle = field_0x2fe2 - fopAcM_searchActorAngleY(this, mTargetedActor); + } else { + angle = field_0x2fe2 - field_0x2fe6; + } + + return getDirectionFromAngle(angle); } -#pragma pop /* 800D2760-800D27E4 0CD0A0 0084+00 4/4 0/0 0/0 .text checkCutCancelNextMode__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCutCancelNextMode(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkCutCancelNextMode__9daAlink_cFi.s" +BOOL daAlink_c::checkCutCancelNextMode(int param_0) { + f32 old_speed = mNormalSpeed; + u8 old_2f98 = field_0x2f98; + + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f98 = param_0; + onModeFlg(4); + + if (checkNextAction(1)) { + return 1; + } + + mNormalSpeed = old_speed; + field_0x2f98 = old_2f98; + return 0; } -#pragma pop /* 800D27E4-800D2890 0CD124 00AC+00 4/4 0/0 0/0 .text checkDoCutAction__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkDoCutAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkDoCutAction__9daAlink_cFv.s" +void daAlink_c::checkDoCutAction() { + // event flag 0x2A40: Learned Jump Strike + if (doButton() && (i_dComIfGs_isEventBit(0x2A40) || i_checkNoResetFlg3(FLG3_UNK_200))) { + procCutLargeJumpChargeInit(); + } else if (checkDownAttackState()) { + procCutDownInit(); + } else if (checkCutHeadState()) { + procCutHeadInit(); + } else { + procCutJumpInit(0); + } } -#pragma pop /* 800D2890-800D28F4 0CD1D0 0064+00 2/2 0/0 0/0 .text checkCutBackState__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkCutBackState() { - nofralloc -#include "asm/d/a/d_a_alink/checkCutBackState__9daAlink_cFv.s" +BOOL daAlink_c::checkCutBackState() { + // event flag 0x2902: Learned Backslice + return i_dComIfGs_isEventBit(0x2902) || i_checkNoResetFlg3(FLG3_UNK_20); } -#pragma pop /* 800D28F4-800D29D4 0CD234 00E0+00 6/6 0/0 0/0 .text checkCutHeadState__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCutHeadState() { - nofralloc -#include "asm/d/a/d_a_alink/checkCutHeadState__9daAlink_cFv.s" +BOOL daAlink_c::checkCutHeadState() { + fopEn_enemy_c* temp_r27 = (fopEn_enemy_c*)mTargetedActor; + + // event flag 0x2901: Learned Helm Splitter + return ((!checkBootsOrArmorHeavy() && (temp_r27 != NULL) && + (i_dComIfGs_isEventBit(0x2901) || i_checkNoResetFlg3(FLG3_UNK_40))) && + fopAcM_GetGroup(temp_r27) == 2) && + temp_r27->checkHeadLockFlg(); } -#pragma pop /* 800D29D4-800D2ABC 0CD314 00E8+00 4/4 0/0 0/0 .text checkDownAttackState__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkDownAttackState() { - nofralloc -#include "asm/d/a/d_a_alink/checkDownAttackState__9daAlink_cFv.s" +BOOL daAlink_c::checkDownAttackState() { + fopEn_enemy_c* enemy = (fopEn_enemy_c*)mTargetedActor; + + if (enemy != NULL && + (fopAcM_GetGroup(enemy) == 2 && enemy->checkDownFlg() && + ((!i_checkWolf() && (i_dComIfGs_isEventBit(0x2904) || i_checkNoResetFlg3(FLG3_UNK_10)) && + enemy->getDownPos().abs2(current.pos) < lit_7174) || + (i_checkWolf() && + (fopAcM_GetName(mTargetedActor) == PROC_E_PO || + fopAcM_GetName(mTargetedActor) == PROC_E_HP) && + enemy->getDownPos().abs2(current.pos) < lit_7174)))) { + return true; + } + + return false; } -#pragma pop /* 800D2ABC-800D2B88 0CD3FC 00CC+00 1/1 1/1 0/0 .text checkCutLargeTurnState__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCutLargeTurnState() const { - nofralloc -#include "asm/d/a/d_a_alink/checkCutLargeTurnState__9daAlink_cCFv.s" +BOOL daAlink_c::checkCutLargeTurnState() const { + // event flag 0x2A20: Learned Great Spin + return ((i_dComIfGs_isEventBit(0x2A20) || i_checkNoResetFlg3(FLG3_UNK_100)) && + i_dComIfGs_getLife() == dComIfGs_getMaxLifeGauge()) || + (mDemo.getDemoMode() == 0x24 && mDemo.getParam0() == 0x33); } -#pragma pop /* 800D2B88-800D2BFC 0CD4C8 0074+00 2/2 0/0 0/0 .text cancelCutCharge__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::cancelCutCharge() { - nofralloc -#include "asm/d/a/d_a_alink/cancelCutCharge__9daAlink_cFv.s" +void daAlink_c::cancelCutCharge() { + if (mComboCutCount == 4) { + resetCombo(1); + checkNextAction(0); + } else { + mComboCutCount++; + + if (mComboCutCount <= 3) { + procCutNormalInit(2); + } else { + procCutFinishInit(1); + } + } } -#pragma pop /* 800D2BFC-800D2C54 0CD53C 0058+00 3/3 0/0 0/0 .text initCutAtnActorSearch__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initCutAtnActorSearch() { - nofralloc -#include "asm/d/a/d_a_alink/initCutAtnActorSearch__9daAlink_cFv.s" +void daAlink_c::initCutAtnActorSearch() { + if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { + field_0x3010 = 1; + } else { + field_0x3010 = 0; + } + + field_0x32cc = (u32)mTargetedActor; } -#pragma pop /* 800D2C54-800D2C78 0CD594 0024+00 3/3 0/0 0/0 .text checkCutAtnActorChange__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCutAtnActorChange() { - nofralloc -#include "asm/d/a/d_a_alink/checkCutAtnActorChange__9daAlink_cFv.s" +void daAlink_c::checkCutAtnActorChange() { + if (field_0x32cc != (u32)mTargetedActor) { + field_0x3010 = 0; + field_0x32cc = (u32)mTargetedActor; + } } -#pragma pop /* 800D2C78-800D2F58 0CD5B8 02E0+00 2/2 0/0 0/0 .text setCutJumpSpeed__9daAlink_cFi */ -// literals, and small issue with JMAFastSqrt instructions +// matches with literals #ifdef NONMATCHING -void daAlink_c::setCutJumpSpeed(int cut_type) { +void daAlink_c::setCutJumpSpeed(int i_airAt) { if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; @@ -503,12 +691,11 @@ void daAlink_c::setCutJumpSpeed(int cut_type) { mSpeed.y *= 1.35f; } - // cut_type 0 = standing jump attack - if (mTargetedActor != NULL && cut_type == 0) { - mCollisionRot.y = cLib_targetAngleY(¤t.pos, &mTargetedActor->mEyePos); - cXyz targetPos(mTargetedActor->mEyePos.x - (cM_ssin(mCollisionRot.y) * 70.0f), + if (mTargetedActor != NULL && !i_airAt) { + shape_angle.y = cLib_targetAngleY(¤t.pos, &mTargetedActor->mEyePos); + cXyz targetPos(mTargetedActor->mEyePos.x - (cM_ssin(shape_angle.y) * 70.0f), mTargetedActor->mEyePos.y + 50.0f, - mTargetedActor->mEyePos.z - (cM_scos(mCollisionRot.y) * 70.0f)); + mTargetedActor->mEyePos.z - (cM_scos(shape_angle.y) * 70.0f)); if (fopAcM_gc_c::gndCheck(&targetPos)) { targetPos.y = fopAcM_gc_c::getGroundY(); @@ -546,242 +733,891 @@ asm void daAlink_c::setCutJumpSpeed(int param_0) { /* 800D2F58-800D31B8 0CD898 0260+00 3/3 0/0 0/0 .text procCutNormalInit__9daAlink_cFi */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutNormalInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCutNormalInit__9daAlink_cFi.s" +#pragma optimization_level 2 +int daAlink_c::procCutNormalInit(int i_type) { + const daAlink_cutParamTbl* cutParams = &cutParamTable_7312[i_type]; + + commonProcInit(PROC_CUT_NORMAL); + setCutType(cutParams->m_cutType); + field_0x3198 = cutParams->field_0x4; + + const daAlinkHIO_cutNormal_c1* cutData; + if (i_type == 1) { + cutData = &daAlinkHIO_cutNmL_c0::m; + } else if (i_type == 2) { + cutData = &daAlinkHIO_cutNmR_c0::m; + } else if (i_type == 4) { + cutData = &daAlinkHIO_cutNmSR_c0::m; + } else if (i_type == 3) { + cutData = &daAlinkHIO_cutNmSL_c0::m; + } else { + cutData = &daAlinkHIO_cutNmV_c0::m; + } + + field_0x3478 = cutData->mAttackStartFrame; + field_0x347c = cutData->mAttackEndFrame; + field_0x3480 = cutData->mSpeed; + + if (checkHeavyStateOn(1, 1)) { + field_0x3480 *= mHeavySpeedMultiplier; + } + + field_0x3484 = cutData->mCutAnm.mCheckFrame; + + f32 morf; + if (!checkZoraWearAbility() && i_checkNoResetFlg0(FLG0_UNDERWATER)) { + morf = cutParams->m_morf; + } else { + morf = cutData->mCutAnm.mInterpolation; + } + + setSingleAnime(cutParams->m_anmID, cutData->mCutAnm.mSpeed, cutData->mCutAnm.mStartFrame, + cutData->mCutAnm.mEndFrame, morf); + current.angle.y = shape_angle.y; + + if (!i_checkAttentionLock() && checkInputOnR()) { + mCommonCounter = field_0x2fe2; + } else { + mCommonCounter = shape_angle.y; + } + + if (mComboCutCount != 1) { + field_0x2f99 = 12; + } + + field_0x3588 = l_halfAtnWaitBaseAnime; + field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, daAlinkHIO_cut_c0::m.mSwordLength, + daAlinkHIO_cut_c0::m.mSwordRadius); + setSwordComboVoice(); + field_0x3012 = 0; + + dComIfGp_setPlayerStatus0(0, 0x8000); + setCutWaterDropEffect(); + + int cutDir = getCutDirection(); + if (mComboCutCount == 1 && (cutDir == DIR_LEFT || cutDir == DIR_RIGHT)) { + field_0x300e = 1; + } else { + field_0x300e = 0; + } + + field_0x300a = 4; + initCutAtnActorSearch(); + return 1; } #pragma pop /* 800D31B8-800D34D8 0CDAF8 0320+00 1/0 0/0 0/0 .text procCutNormal__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutNormal() { - nofralloc -#include "asm/d/a/d_a_alink/procCutNormal__9daAlink_cFv.s" +int daAlink_c::procCutNormal() { + if (checkGroundSpecialMode()) { + return 1; + } + setBodyAngleXReadyAnime(1); + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + setComboReserb(); + checkCutTurnCharge(); + checkCutAtnActorChange(); + + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_move_c0::m.mDeceleration); + i_onEndResetFlg0(ERFLG0_UNK_8000000); + field_0x2f99 = 4; + + if (field_0x300e != 0 && i_checkNoResetFlg2(FLG2_UNK_2)) { + int cutDir = getCutDirection(); + if ((cutDir == DIR_RIGHT && mCutType == CUT_TYPE_NM_LEFT && + frameCtrl->getFrame() > lit_7448) || + (cutDir == DIR_LEFT && mCutType == CUT_TYPE_NM_RIGHT && + frameCtrl->getFrame() > lit_7448)) { + field_0x300a = cutDir; + } + } + + if (frameCtrl->checkAnmEnd()) { + resetCombo(1); + + if (mDemo.getDemoMode() == 0x24 || mDemo.getDemoMode() == 0x54) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextAction(0); + } + } else if ((!(frameCtrl->getFrame() > field_0x3484) && field_0x300a == 4) || + !checkCutCancelNextMode(3)) { + if (frameCtrl->getFrame() > field_0x3484) { + resetCombo(1); + } + + if (changeCutReverseProc((daAlink_ANM)field_0x3198)) { + return 1; + } + + if (setShapeAngleToAtnActor(field_0x3010)) { + mCommonCounter = shape_angle.y; + + if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { + field_0x3010 = 1; + } + } else { + cLib_addCalcAngleS(&shape_angle.y, mCommonCounter, 2, 0x2000, 0x800); + } + + current.angle.y = shape_angle.y; + + if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) { + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + seStartSwordCut(Z2SE_AL_SWORD_SWING_S); + mNormalSpeed = field_0x3480; + } + + i_onResetFlg0(FLG0_UNK_2); + } + + if (mCutType == CUT_TYPE_NM_LEFT) { + if (frameCtrl->getFrame() >= lit_7449) { + field_0x2f92 = 0; + } else if (frameCtrl->getFrame() >= lit_7450) { + field_0x2f92 = 100; + } + } else if (mCutType == CUT_TYPE_NM_RIGHT) { + if (frameCtrl->getFrame() >= lit_7451) { + field_0x2f92 = 0; + } else if (frameCtrl->getFrame() >= lit_7450) { + field_0x2f92 = 100; + } + } else if (frameCtrl->getFrame() >= lit_7449) { + field_0x2f92 = 0; + } + } + + return 1; } -#pragma pop /* 800D34D8-800D382C 0CDE18 0354+00 4/4 0/0 0/0 .text procCutFinishInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutFinishInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCutFinishInit__9daAlink_cFi.s" +int daAlink_c::procCutFinishInit(int i_type) { + const daAlinkHIO_cutFinish_c1* cutData; + const daAlink_cutParamTbl* cutParams = &cutParamTable_7455[i_type]; + BOOL front_roll = mProcID == PROC_FRONT_ROLL; + + commonProcInit(PROC_CUT_FINISH); + setCutType(cutParams->m_cutType); + field_0x3198 = cutParams->field_0x4; + mCommonCounter = cutParams->field_0xa; + field_0x300e = cutParams->field_0xb; + + BOOL var_r30 = FALSE; + if (i_type == 0) { + cutData = &daAlinkHIO_cutFnL_c0::m; + } else if (i_type == 1) { + cutData = &daAlinkHIO_cutFnV_c0::m; + } else if (i_type == 2) { + cutData = &daAlinkHIO_cutFnS_c0::m; + } else if (i_type == 3) { + cutData = &daAlinkHIO_cutFnSl_c0::m; + var_r30 = TRUE; + } else if (i_type == 4) { + cutData = &daAlinkHIO_cutFnSm_c0::m; + var_r30 = TRUE; + } else { + cutData = &daAlinkHIO_cutFnR_c0::m; + } + + f32 var_f31; + if (front_roll) { + var_f31 = cutData->mAttackStartFrame; + } else if (mComboCutCount == 3) { + var_f31 = cutData->mComboStartFrame; + } else { + var_f31 = cutData->mCutAnm.mStartFrame; + } + + f32 morf; + if (!checkZoraWearAbility() && i_checkNoResetFlg0(FLG0_UNDERWATER)) { + morf = cutParams->m_morf; + } else { + morf = cutData->mCutAnm.mInterpolation; + } + + setSingleAnime(cutParams->m_anmID, cutData->mCutAnm.mSpeed, var_f31, cutData->mCutAnm.mEndFrame, + morf); + + field_0x3478 = cutData->mAttackStartFrame; + field_0x347c = cutData->mAttackEndFrame; + field_0x3480 = cutData->mSpeed; + + if (checkHeavyStateOn(1, 1)) { + field_0x3480 *= mHeavySpeedMultiplier; + } + + current.angle.y = shape_angle.y; + field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + + if (mComboCutCount == 3) { + field_0x3484 = cutData->mComboCheckFrame; + field_0x3008 = cutData->mComboStopTime; + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, + daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); + field_0x32d0 = Z2SE_AL_SWORD_SWING_S; + } else { + field_0x3484 = cutData->mCutAnm.mCheckFrame; + field_0x3008 = cutData->mStopTime; + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, cutParams->m_atSe, (var_r30 ? TRUE : FALSE) + 3, + daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); + + if (i_type == 2) { + field_0x32d0 = Z2SE_AL_SWORD_THRUST; + } else { + field_0x32d0 = Z2SE_AL_SWORD_SWING_L; + } + } + + if (var_r30) { + setSwordVoiceSe(Z2SE_AL_V_IAIGIRI); + } else { + setSwordComboVoice(); + } + + field_0x2f99 = 12; + field_0x3588 = l_halfAtnWaitBaseAnime; + + if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_FINISH_STAB) { + field_0x2f99 = 13; + } + + field_0x3012 = 0; + dComIfGp_setPlayerStatus0(0, 0x8000); + setCutWaterDropEffect(); + initCutAtnActorSearch(); + + if (mAttention->LockonTarget(0) != NULL && var_r30) { + field_0x280c.setData(mAttention->LockonTarget(0)); + } else { + field_0x280c.clearData(); + } + + if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B) { + field_0x2fd0 = 1; + } else { + field_0x2fd0 = 0; + } + + return 1; } -#pragma pop /* 800D382C-800D3ADC 0CE16C 02B0+00 1/0 0/0 0/0 .text procCutFinish__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutFinish() { +asm int daAlink_c::procCutFinish() { nofralloc #include "asm/d/a/d_a_alink/procCutFinish__9daAlink_cFv.s" } #pragma pop /* 800D3ADC-800D3CCC 0CE41C 01F0+00 2/2 0/0 0/0 .text procCutFinishJumpUpInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutFinishJumpUpInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCutFinishJumpUpInit__9daAlink_cFv.s" +int daAlink_c::procCutFinishJumpUpInit() { + BOOL side_roll = mProcID == PROC_SIDE_ROLL; + + commonProcInit(PROC_CUT_FINISH_JUMP_UP); + + if (mEquipItem != 0x103) { + deleteEquipItem(0, 0); + setSwordModel(); + } + + setCutType(CUT_TYPE_TWIRL); + mSpeed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV; + mNormalSpeed = daAlinkHIO_cutFnJU_c0::m.mSpeedH; + + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + } else if (checkHeavyStateOn(1, 1)) { + mSpeed.y *= lit_7624; + } + + if (side_roll) { + if (field_0x2f98 == 2) { + current.angle.y = shape_angle.y + 0x4000; + } else { + current.angle.y = shape_angle.y - 0x4000; + } + } else { + current.angle.y = shape_angle.y; + } + + field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + f32 var_f31 = daAlinkHIO_cutFnJU_c0::m.mCutAnm.mStartFrame; + + setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, daAlinkHIO_cutFnJU_c0::m.mAttackRadius, + lit_7625); + field_0x32cc = Z2SE_AL_SWORD_SWING_L; + + setSingleAnime(ANM_CUT_TWIRL, daAlinkHIO_cutFnJU_c0::m.mCutAnm.mSpeed, var_f31, + daAlinkHIO_cutFnJU_c0::m.mCutAnm.mEndFrame, + daAlinkHIO_cutFnJU_c0::m.mCutAnm.mInterpolation); + setSwordVoiceSe(Z2SE_AL_V_SOTOMO_ATK); + field_0x3012 = 0; + field_0x3478 = current.pos.y; + dComIfGp_setPlayerStatus0(0, 0x8000); + setCutWaterDropEffect(); + field_0x2fd0 = 1; + return 1; } -#pragma pop /* 800D3CCC-800D3DD8 0CE60C 010C+00 1/0 0/0 0/0 .text procCutFinishJumpUp__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutFinishJumpUp() { - nofralloc -#include "asm/d/a/d_a_alink/procCutFinishJumpUp__9daAlink_cFv.s" +int daAlink_c::procCutFinishJumpUp() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->getFrame() >= lit_7448) { + offModeFlg(0x100); + } + + if (frameCtrl->getFrame() >= lit_6109) { + field_0x2f92 = 100; + } + + if (mLinkAcch.ChkGroundHit()) { + return procCutFinishJumpUpLandInit(); + } + + if (mDemo.getDemoMode() != 0x52 && + current.pos.y < mLastJumpPos.y - daAlinkHIO_cutFnJU_c0::m.mFallHeight) { + return procFallInit(2, daAlinkHIO_cutFnJU_c0::m.mFallInterpolation); + } + + if (frameCtrl->getFrame() >= daAlinkHIO_cutFnJU_c0::m.mAttackStartFrame && + frameCtrl->getFrame() < daAlinkHIO_cutFnJU_c0::m.mAttackEndFrame) { + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + seStartSwordCut(field_0x32cc); + } + + i_onResetFlg0(RFLG0_UNK_2); + } + + return 1; } -#pragma pop /* 800D3DD8-800D3ECC 0CE718 00F4+00 1/1 0/0 0/0 .text procCutFinishJumpUpLandInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutFinishJumpUpLandInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCutFinishJumpUpLandInit__9daAlink_cFv.s" +int daAlink_c::procCutFinishJumpUpLandInit() { + commonProcInit(PROC_CUT_FINISH_JUMP_UP_LAND); + checkCutLandDamage(); + + setSingleAnimeParam(ANM_CUT_TWIRL_LAND, &daAlinkHIO_cutFnJU_c0::m.mLandAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setCutType(CUT_TYPE_TWIRL); + + field_0x2f9d = 4; + setFootEffectProcType(2); + i_onResetFlg1(RFLG1_UNK_30); + + if (mComboCutCount == 3) { + field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mComboCheckFrame; + field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mComboStopTime; + } else { + field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mLandAnm.mCheckFrame; + field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mStopTime; + } + + field_0x3012 = 0; + field_0x3588 = l_halfAtnWaitBaseAnime; + initCutAtnActorSearch(); + return 1; } -#pragma pop /* 800D3ECC-800D4068 0CE80C 019C+00 1/0 0/0 0/0 .text procCutFinishJumpUpLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutFinishJumpUpLand() { - nofralloc -#include "asm/d/a/d_a_alink/procCutFinishJumpUpLand__9daAlink_cFv.s" +int daAlink_c::procCutFinishJumpUpLand() { + if (checkGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + setComboReserb(); + checkCutTurnCharge(); + field_0x2f99 = 4; + checkCutAtnActorChange(); + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x52) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else if (field_0x3008 > 0) { + if (!(frameCtrl->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) { + field_0x3008--; + } + } else { + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f98 = 2; + checkNextAction(0); + } + } else if (!(frameCtrl->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) { + if (frameCtrl->getFrame() > field_0x3484) { + resetCombo(1); + } + + setShapeAngleToAtnActor(field_0x3010); + + if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { + field_0x3010 = 1; + } + + current.angle.y = shape_angle.y; + + if (frameCtrl->getFrame() >= lit_7710) { + field_0x2f92 = 0; + } + } + + return 1; } -#pragma pop /* 800D4068-800D41FC 0CE9A8 0194+00 2/2 0/0 0/0 .text * procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM.s" +int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) { + dKy_Sound_set(current.pos, 100, fopAcM_GetID(this), 5); + + if (i_anmID == ANM_CUT_JUMP) { + return 1; + } + + commonProcInit(PROC_CUT_REVERSE); + + if (i_anmID == ANM_SHIELD_ATTACK_RECOIL) { + setSingleAnimeParam(i_anmID, &daAlinkHIO_guard_c0::m.mRecoilAnm); + mCommonCounter = 1; + field_0x3478 = daAlinkHIO_guard_c0::m.mRecoilAnm.mCheckFrame; + field_0x2f98 = 2; + setUpperGuardAnime(lit_6041); + } else { + setSingleAnimeParam(i_anmID, &daAlinkHIO_cut_c0::m.mRecoilAnm); + mCommonCounter = 0; + field_0x3478 = daAlinkHIO_cut_c0::m.mRecoilAnm.mCheckFrame; + field_0x2f98 = 4; + } + + mNormalSpeed = daAlinkHIO_cut_c0::m.mRecoilSpeed; + current.angle.y = shape_angle.y - -0x8000; + field_0x307e = 0; + field_0x3012 = 0; + + int temp_r3; + if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B || + mCutType == CUT_TYPE_JUMP) { + temp_r3 = 5; + } else { + temp_r3 = 3; + } + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(temp_r3, 31, cXyz(tmp_0, lit_6040, tmp_0)); + return 1; } -#pragma pop /* 800D41FC-800D42FC 0CEB3C 0100+00 1/0 0/0 0/0 .text procCutReverse__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutReverse() { - nofralloc -#include "asm/d/a/d_a_alink/procCutReverse__9daAlink_cFv.s" +int daAlink_c::procCutReverse() { + if (checkGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_cut_c0::m.mRecoilDeceleration); + + if (mCommonCounter == 0) { + checkCutTurnCharge(); + i_onEndResetFlg0(ERFLG0_UNK_8000000); + } + + if (mCommonCounter != 0) { + setUpperGuardAnime(lit_6041); + } + + if (frameCtrl->checkAnmEnd()) { + current.angle.y = shape_angle.y; + checkNextAction(0); + } else if (frameCtrl->getFrame() > field_0x3478) { + current.angle.y = shape_angle.y; + + if (!checkNextAction(1)) { + current.angle.y = shape_angle.y - -0x8000; + } + } + + return 1; } -#pragma pop /* 800D42FC-800D43F8 0CEC3C 00FC+00 2/2 0/0 0/0 .text procCutJumpInit__9daAlink_cFi */ -bool daAlink_c::procCutJumpInit(int jump_type) { +int daAlink_c::procCutJumpInit(int i_airCut) { commonProcInit(PROC_CUT_JUMP); setSingleAnimeParam(ANM_CUT_JUMP, &daAlinkHIO_cutJump_c0::m.mCutAnm); - if (jump_type != 0) { + + if (i_airCut) { mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH; mSpeed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV; } else { mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH; mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV; } - setCutJumpSpeed(jump_type); - current.angle.y = mCollisionRot.y; - setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, + + setCutJumpSpeed(i_airCut); + current.angle.y = shape_angle.y; + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); - setCutType(TYPE_CUT_JUMP); + setCutType(CUT_TYPE_JUMP); setSwordComboVoice(); dComIfGp_setPlayerStatus0(0, 0x8000); field_0x3198 = 2; - return true; + return 1; } /* 800D43F8-800D452C 0CED38 0134+00 1/0 0/0 0/0 .text procCutJump__9daAlink_cFv */ -#ifdef NONMATCHING -bool daAlink_c::procCutJump() { - if (current.angle.y == mCollisionRot.y && changeCutReverseProc(ANM_CUT_JUMP)) { +int daAlink_c::procCutJump() { + if (current.angle.y == shape_angle.y && changeCutReverseProc(ANM_CUT_JUMP)) { current.angle.y += 0x8000; - mNormalSpeed = 27.0f; - cXyz xyz(0.0f, 1.0f, 0.0f); - dComIfGp_getVibration().StartShock(5, 31, xyz); - } else if (current.angle.y != mCollisionRot.y) { - cLib_chaseF(&mNormalSpeed, 5.0f, 1.0f); + mNormalSpeed = lit_7807; + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(5, 31, cXyz(tmp_0, lit_6040, tmp_0)); + } else if (current.angle.y != shape_angle.y) { + cLib_chaseF(&mNormalSpeed, lit_7808, lit_6040); } if (checkCutTurnInput()) { field_0x3198 = getCutTurnDirection(); } + if (mLinkAcch.ChkGroundHit()) { procCutJumpLandInit(field_0x3198); } else if (mUnderFrameCtrl[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) { if (!i_checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); } + i_onResetFlg0(RFLG0_UNK_2); } - return true; + + return 1; +} + +/* 800D452C-800D4684 0CEE6C 0158+00 1/1 0/0 0/0 .text procCutJumpLandInit__9daAlink_cFi + */ +int daAlink_c::procCutJumpLandInit(int param_0) { + commonProcInit(PROC_CUT_JUMP_LAND); + checkCutLandDamage(); + setSingleAnimeParam(ANM_CUT_JUMP_LAND, &daAlinkHIO_cutJump_c0::m.mLandAnm); + + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + field_0x2060->initOldFrameMorf(lit_7808 * daAlinkHIO_cutJump_c0::m.mLandAnm.mInterpolation, + 0, 0x23); + } + + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + seStartSwordCut(Z2SE_AL_SWORD_SWING_L); + m_swordBlur.initBlur(FLOAT_LABEL(lit_6108), 0, &mSwordTopPos, &field_0x3498, &field_0x34a4); + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, + daAlinkHIO_cut_c0::m.mSwordRadius); + } + + i_onResetFlg0(RFLG0_UNK_2); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setCutType(CUT_TYPE_JUMP); + field_0x2f9d = 4; + setFootEffectProcType(2); + + i_onResetFlg1(RFLG1_UNK_30); + field_0x3588 = l_halfAtnWaitBaseAnime; + field_0x3198 = param_0; + setStepLandVibration(); + return 1; +} + +/* 800D4684-800D47DC 0CEFC4 0158+00 1/0 0/0 0/0 .text procCutJumpLand__9daAlink_cFv */ +int daAlink_c::procCutJumpLand() { + if (checkGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (changeCutReverseProc(ANM_CUT_RECOIL_B)) { + return 1; + } + + field_0x2f99 = 4; + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (field_0x3198 != 2 && checkCutTurnInput()) { + field_0x3198 = getCutTurnDirection(); + } + + if (frameCtrl->checkAnmEnd()) { + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_cutJump_c0::m.mJumpSpinDelay && + field_0x3198 != 2) { + procCutTurnInit(1, field_0x3198); + } else { + if (frameCtrl->getFrame() > daAlinkHIO_cutJump_c0::m.mLandAnm.mCheckFrame) { + onModeFlg(4); + + if (checkNextAction(1)) { + return 1; + } + } + + if (frameCtrl->getFrame() < daAlinkHIO_cutJump_c0::m.mEndAttackFrame) { + i_onResetFlg0(RFLG0_UNK_2); + } + } + + return 1; +} + +/* 800D47DC-800D4A74 0CF11C 0298+00 7/7 0/0 0/0 .text procCutTurnInit__9daAlink_cFii */ +// regalloc +#ifdef NONMATCHING +int daAlink_c::procCutTurnInit(int param_0, int param_1) { + const daAlinkHIO_cutTurn_c1* cutData = &daAlinkHIO_cutTurn_c0::m; + const daAlinkHIO_anm_c* anm_data; + daAlink_ANM anmID; + + commonProcInit(PROC_CUT_TURN); + + if (param_1 == 2) { + param_1 = getCutTurnDirection(); + } + + f32 var_f31; + if (param_1 == 1) { + anmID = ANM_CUT_TURN_RIGHT; + anm_data = &cutData->mRightTurnAnm; + + if (param_0) { + var_f31 = cutData->mRightTurnInputStartFrame; + } else { + var_f31 = cutData->mRightTurnAnm.mStartFrame; + } + + field_0x3484 = cutData->mRightAttackStartFrame; + field_0x3488 = cutData->mRightAttackEndFrame; + field_0x3010 = 1; + field_0x300a = 6; + } else { + anmID = ANM_CUT_TURN_LEFT; + anm_data = &cutData->mLeftTurnAnm; + + if (param_0) { + var_f31 = cutData->mLeftTurnInputStartFrame; + } else { + var_f31 = anm_data->mStartFrame; + } + + field_0x3484 = cutData->mLeftAttackStartFrame; + field_0x3488 = cutData->mLeftAttackEndFrame; + field_0x3010 = 0; + field_0x300a = 8; + } + + field_0x3480 = anm_data->->mCheckFrame; + resetCombo(1); + + f32 morf; + if (!checkZoraWearAbility() && i_checkNoResetFlg0(FLG0_UNDERWATER)) { + morf = lit_7625; + } else { + morf = anm_data->mInterpolation; + } + + setSingleAnime(anmID, anm_data->mSpeed, var_f31, anm_data->mEndFrame, morf); + + int var_r29_3; + if (checkCutLargeTurnState()) { + var_r29_3 = 4; + field_0x32cc = Z2SE_AL_KAITEN_L_SLASH; + setSwordVoiceSe(Z2SE_AL_V_KAITENGIRI_L); + field_0x3478 = cutData->mLargeAttackRadius; + field_0x348c = cutData->mLargeAttackAccel; + + if (anmID == ANM_CUT_TURN_RIGHT) { + setCutType(CUT_TYPE_LARGE_TURN_RIGHT); + } else { + setCutType(CUT_TYPE_LARGE_TURN_LEFT); + } + } else { + var_r29_3 = 3; + field_0x32cc = Z2SE_AL_KAITENGIRI; + setSwordVoiceSe(Z2SE_AL_V_KAITEN); + + if (anmID == ANM_CUT_TURN_RIGHT) { + setCutType(CUT_TYPE_TURN_RIGHT); + } else { + setCutType(CUT_TYPE_TURN_LEFT); + } + + if (i_checkNoResetFlg3(FLG3_UNK_100000)) { + field_0x3478 = cutData->mLightAttackRadius; + field_0x348c = cutData->mLightAttackRadiusAccel; + } else { + field_0x3478 = cutData->mAttackRadius; + field_0x348c = cutData->mAttackRadiusAccel; + } + } + + field_0x347c = lit_6896; + field_0x3588 = l_halfAtnWaitBaseAnime; + field_0x3008 = cutData->mStopTime; + current.angle.y = shape_angle.y; + field_0x3180 = 0; + dComIfGp_setPlayerStatus0(0, 0x8000); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x3012 = 0; + setCutWaterDropEffect(); + initCutTurnAt(field_0x347c, var_r29_3); + return 1; } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool daAlink_c::procCutJump() { - nofralloc -#include "asm/d/a/d_a_alink/procCutJump__9daAlink_cFv.s" -} -#pragma pop -#endif - -/* 800D452C-800D4684 0CEE6C 0158+00 1/1 0/0 0/0 .text procCutJumpLandInit__9daAlink_cFi - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutJumpLandInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCutJumpLandInit__9daAlink_cFi.s" -} -#pragma pop - -/* 800D4684-800D47DC 0CEFC4 0158+00 1/0 0/0 0/0 .text procCutJumpLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutJumpLand() { - nofralloc -#include "asm/d/a/d_a_alink/procCutJumpLand__9daAlink_cFv.s" -} -#pragma pop - -/* 800D47DC-800D4A74 0CF11C 0298+00 7/7 0/0 0/0 .text procCutTurnInit__9daAlink_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutTurnInit(int param_0, int param_1) { +asm int daAlink_c::procCutTurnInit(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procCutTurnInit__9daAlink_cFii.s" } #pragma pop +#endif /* 800D4A74-800D4C68 0CF3B4 01F4+00 1/0 0/0 0/0 .text procCutTurn__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutTurn() { - nofralloc -#include "asm/d/a/d_a_alink/procCutTurn__9daAlink_cFv.s" +int daAlink_c::procCutTurn() { + if (checkGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + field_0x2f99 = 4; + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_move_c0::m.mDeceleration); + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (mComboCutCount != 0) { + field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + } + + if (frameCtrl->getFrame() >= lit_7945) { + field_0x2f92 = 0; + } + + if (frameCtrl->checkAnmEnd()) { + if (field_0x3008 > 0) { + if (!(frameCtrl->getFrame() > field_0x3480) || !checkCutCancelNextMode(3)) { + field_0x3008--; + } + } else if (mDemo.getDemoMode() == 0x24) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + field_0x2f98 = 3; + checkNextAction(0); + } + } else if (!(frameCtrl->getFrame() > field_0x3480) || !checkCutCancelNextMode(3)) { + if (frameCtrl->getFrame() >= field_0x3484 && frameCtrl->getFrame() < field_0x3488) { + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + seStartSwordCut(field_0x32cc); + mNormalSpeed = daAlinkHIO_cutTurn_c0::m.mSpeed; + + if (checkHeavyStateOn(1, 1)) { + mNormalSpeed *= mHeavySpeedMultiplier; + } + } + + i_onResetFlg0(RFLG0_UNK_2); + cLib_chaseF(&field_0x347c, field_0x3478, field_0x348c); + field_0xFB8.SetR(field_0x347c); + } + } + + return 1; } -#pragma pop /* 800D4C68-800D4D04 0CF5A8 009C+00 3/3 0/0 0/0 .text procCutTurnChargeInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutTurnChargeInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCutTurnChargeInit__9daAlink_cFv.s" +int daAlink_c::procCutTurnChargeInit() { + if (mComboCutCount == 0 && checkDashAnime()) { + setUpperAnimeBase(0x83); + return 1; + } + + commonProcInit(PROC_CUT_TURN_CHARGE); + setSingleAnimeParam(ANM_CUT_TURN_CHARGE_START, &daAlinkHIO_cutTurn_c0::m.mChargeAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + mCommonCounter = daAlinkHIO_cut_c0::m.mNormalSwingDuration; + return 1; } -#pragma pop /* 800D4D04-800D4DDC 0CF644 00D8+00 1/0 0/0 0/0 .text procCutTurnCharge__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutTurnCharge() { - nofralloc -#include "asm/d/a/d_a_alink/procCutTurnCharge__9daAlink_cFv.s" +int daAlink_c::procCutTurnCharge() { + if (checkGroundSpecialMode()) { + return 1; + } + + setSwordChargeVoiceSe(); + field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + + if (!swordButton() && mDemo.getDemoMode() != 0x5B) { + if (mCommonCounter != 0) { + checkCutAction(); + } else { + cancelCutCharge(); + } + } else if (mUnderFrameCtrl[0].checkAnmEnd()) { + procCutTurnMoveInit(0); + } else if (mUnderFrameCtrl[0].getFrame() >= lit_7977) { + field_0x2f92 = 100; + } + + return 1; } -#pragma pop /* 800D4DDC-800D4EFC 0CF71C 0120+00 3/3 0/0 0/0 .text procCutTurnMoveInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutTurnMoveInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCutTurnMoveInit__9daAlink_cFi.s" +int daAlink_c::procCutTurnMoveInit(int param_0) { + commonProcInit(PROC_CUT_TURN_MOVE); + + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + if (param_0) { + setUpperAnimeBaseSpeed(getMainBckData(ANM_CUT_JUMP_LARGE_CHARGE)->m_underID, + FLOAT_LABEL(lit_6108), lit_6041); + + f32 frame = mUnderFrameCtrl[0].getFrame(); + mUpperFrameCtrl[2].setFrame(frame); + getNowAnmPackUpper(UPPER_2)->setFrame(frame); + setFacePriAnime(ANM_CUT_JUMP_LARGE_CHARGE); + } + + setSingleAnimeBaseSpeed(ANM_CUT_TURN_CHARGE, FLOAT_LABEL(lit_6108), + daAlinkHIO_cutTurn_c0::m.mMoveFBInterpolation); + field_0x2f98 = 0; + field_0x594 = daAlinkHIO_cutTurn_c0::m.mMaxSpeed; + + if (!checkWoodSwordEquip()) { + simpleAnmPlay(m_nSwordBtk); + } else { + field_0x3008 = 1; + } + + mCommonCounter = param_0; + i_onNoResetFlg1(FLG1_UNK_10000000); + dComIfGp_setPlayerStatus0(0, 0x40000000); + return 1; } -#pragma pop /* 800D4EFC-800D53C8 0CF83C 04CC+00 1/0 0/0 0/0 .text procCutTurnMove__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutTurnMove() { +asm int daAlink_c::procCutTurnMove() { nofralloc #include "asm/d/a/d_a_alink/procCutTurnMove__9daAlink_cFv.s" } @@ -791,28 +1627,34 @@ asm void daAlink_c::procCutTurnMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutDownInit() { +asm int daAlink_c::procCutDownInit() { nofralloc #include "asm/d/a/d_a_alink/procCutDownInit__9daAlink_cFv.s" } #pragma pop /* 800D57F8-800D58A0 0D0138 00A8+00 1/0 0/0 0/0 .text procCutDown__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutDown() { - nofralloc -#include "asm/d/a/d_a_alink/procCutDown__9daAlink_cFv.s" +int daAlink_c::procCutDown() { + if (field_0x300e != 0) { + return 1; + } + + if (mLinkAcch.ChkGroundHit() && mSpeed.y <= FLOAT_LABEL(lit_6108)) { + procCutDownLandInit((fopEn_enemy_c*)field_0x280c.getActor()); + } else if (mUnderFrameCtrl[0].checkAnmEnd() && mCommonCounter == 0) { + mCommonCounter = 1; + setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_FALL, &daAlinkHIO_cutDown_c0::m.mFallAnm); + } + + return 1; } -#pragma pop /* 800D58A0-800D5ADC 0D01E0 023C+00 1/1 0/0 0/0 .text * procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutDownLandInit(fopEn_enemy_c* param_0) { +asm int daAlink_c::procCutDownLandInit(fopEn_enemy_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c.s" } @@ -822,7 +1664,7 @@ asm void daAlink_c::procCutDownLandInit(fopEn_enemy_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutDownLand() { +asm int daAlink_c::procCutDownLand() { nofralloc #include "asm/d/a/d_a_alink/procCutDownLand__9daAlink_cFv.s" } @@ -832,77 +1674,146 @@ asm void daAlink_c::procCutDownLand() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutHeadInit() { +asm int daAlink_c::procCutHeadInit() { nofralloc #include "asm/d/a/d_a_alink/procCutHeadInit__9daAlink_cFv.s" } #pragma pop /* 800D5FC8-800D6130 0D0908 0168+00 1/0 0/0 0/0 .text procCutHead__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutHead() { - nofralloc -#include "asm/d/a/d_a_alink/procCutHead__9daAlink_cFv.s" +int daAlink_c::procCutHead() { + if (field_0x300e == 0) { + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), field_0x3478); + + if (mSpeed.y <= FLOAT_LABEL(lit_6108)) { + setSingleAnimeParam(ANM_CUT_HEAD, &daAlinkHIO_cutHead_c0::m.mCutAnm); + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + setSpecialGravity(tmp_0, mMaxFallSpeed, 0); + field_0x300e = 1; + setCutWaterDropEffect(); + setSwordVoiceSe(Z2SE_AL_V_KABUTO_ATK); + } + } else { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + mNormalSpeed *= lit_8501; + + if (frameCtrl->checkPass(lit_8502)) { + mSpeed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV; + mNormalSpeed = daAlinkHIO_cutHead_c0::m.mAddSpeedH; + initGravity(); + } + + if (frameCtrl->getFrame() >= daAlinkHIO_cutHead_c0::m.mAttackStartFrame && + frameCtrl->getFrame() < daAlinkHIO_cutHead_c0::m.mAttackEndFrame) { + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + seStartSwordCut(Z2SE_AL_SWORD_SWING_L); + } + + i_onResetFlg0(RFLG0_UNK_2); + } + + if (mLinkAcch.ChkGroundHit()) { + procCutHeadLandInit(); + } + } + + return 1; } -#pragma pop /* 800D6130-800D618C 0D0A70 005C+00 1/1 0/0 0/0 .text procCutHeadLandInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutHeadLandInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCutHeadLandInit__9daAlink_cFv.s" +int daAlink_c::procCutHeadLandInit() { + commonProcInit(PROC_CUT_HEAD_LAND); + checkCutLandDamage(); + setSingleAnimeParam(ANM_CUT_HEAD_LAND, &daAlinkHIO_cutHead_c0::m.mLandAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + return 1; } -#pragma pop /* 800D618C-800D6238 0D0ACC 00AC+00 1/0 0/0 0/0 .text procCutHeadLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutHeadLand() { - nofralloc -#include "asm/d/a/d_a_alink/procCutHeadLand__9daAlink_cFv.s" +int daAlink_c::procCutHeadLand() { + i_onEndResetFlg0(ERFLG0_UNK_8000000); + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x53) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextAction(0); + } + } else if (frameCtrl->getFrame() > daAlinkHIO_cutHead_c0::m.mLandAnm.mCheckFrame) { + checkNextAction(1); + } + + return 1; } -#pragma pop /* 800D6238-800D62A0 0D0B78 0068+00 2/2 0/0 0/0 .text procCutLargeJumpChargeInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutLargeJumpChargeInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCutLargeJumpChargeInit__9daAlink_cFv.s" +int daAlink_c::procCutLargeJumpChargeInit() { + commonProcInit(PROC_CUT_LARGE_JUMP_CHARGE); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE_CHARGE, &daAlinkHIO_cutLargeJump_c0::m.mChargeAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + mCommonCounter = daAlinkHIO_cut_c0::m.mNormalSwingDuration; + return 1; } -#pragma pop /* 800D62A0-800D6374 0D0BE0 00D4+00 1/0 0/0 0/0 .text procCutLargeJumpCharge__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutLargeJumpCharge() { - nofralloc -#include "asm/d/a/d_a_alink/procCutLargeJumpCharge__9daAlink_cFv.s" +int daAlink_c::procCutLargeJumpCharge() { + if (checkGroundSpecialMode()) { + return 1; + } + + if (checkDownAttackState()) { + setDoStatusEmphasys(0x30); + } else if (checkCutHeadState()) { + setDoStatusEmphasys(0x77); + } else { + setDoStatus(0x86); + } + + setSwordChargeVoiceSe(); + + if (!doButton() && mDemo.getDemoMode() != 0x5C) { + checkDoCutAction(); + } else if (mUnderFrameCtrl[0].checkAnmEnd()) { + procCutTurnMoveInit(1); + } + + return 1; } -#pragma pop /* 800D6374-800D6484 0D0CB4 0110+00 2/1 0/0 0/0 .text procCutLargeJumpInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutLargeJumpInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCutLargeJumpInit__9daAlink_cFv.s" +int daAlink_c::procCutLargeJumpInit() { + if (mDemo.getDemoMode() == 0x56 && + (mProcID == PROC_CUT_LARGE_JUMP || mProcID == PROC_CUT_LARGE_JUMP_LAND)) { + return 1; + } + + commonProcInit(PROC_CUT_LARGE_JUMP); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE_START, &daAlinkHIO_cutLargeJump_c0::m.mChargeMoveAnm); + field_0x3588 = l_halfAtnWaitBaseAnime; + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + mCommonCounter = 0; + + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, daAlinkHIO_cut_c0::m.mSwordLength, + daAlinkHIO_cut_c0::m.mSwordRadius); + setCutType(CUT_TYPE_LARGE_JUMP_INIT); + setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_1); + setCutWaterDropEffect(); + field_0x300e = 4; + field_0x3010 = 0; + field_0x3198 = 2; + return 1; } -#pragma pop /* 800D6484-800D66C0 0D0DC4 023C+00 1/0 0/0 0/0 .text procCutLargeJump__9daAlink_cFv */ -bool daAlink_c::procCutLargeJump() { - daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; +int daAlink_c::procCutLargeJump() { + daPy_frameCtrl_c* frameCtrl = &mUnderFrameCtrl[0]; if (field_0x3010 != 0) { field_0x2f99 = 4; @@ -913,25 +1824,25 @@ bool daAlink_c::procCutLargeJump() { } if (mCommonCounter == 0) { - if (ctrl->checkAnmEnd()) { + if (frameCtrl->checkAnmEnd()) { field_0x2f99 = 12; setSingleAnimeParam(ANM_CUT_JUMP_LARGE, &daAlinkHIO_cutLargeJump_c0::m.mCutAnm); mCommonCounter = 1; setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2); } else { - if (ctrl->getFrame() >= lit_7307) { + if (frameCtrl->getFrame() >= lit_7307) { field_0x3010 = 1; } - if (!i_checkModeFlg(2) && ctrl->getFrame() >= lit_7808) { + if (!i_checkModeFlg(2) && frameCtrl->getFrame() >= lit_7808) { setJumpMode(); mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH; mSpeed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV; setCutJumpSpeed(0); } - if (ctrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mJumpAttackStartF && - ctrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mJumpAttackEndF) { + if (frameCtrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mJumpAttackStartFrame && + frameCtrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mJumpAttackEndFrame) { if (!i_checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } @@ -941,64 +1852,184 @@ bool daAlink_c::procCutLargeJump() { } else { if (field_0x300e != 0) { field_0x300e--; + if (field_0x300e == 0) { - setSwordAtParam(dCcG_At_Spl_UNK_01, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength, + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); - setCutType(TYPE_CUT_LARGE_JUMP); + setCutType(CUT_TYPE_LARGE_JUMP); } } if (mLinkAcch.ChkGroundHit()) { procCutLargeJumpLandInit(field_0x3198); - } else { - if (ctrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mCutInitF) { - if (!i_checkNoResetFlg0(FLG0_UNK_40)) { - seStartSwordCut(Z2SE_AL_SWORD_SWING_S); - } - i_onResetFlg0(2); + } else if (frameCtrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mCutInitFrame) { + if (!i_checkNoResetFlg0(FLG0_UNK_40)) { + seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } + + i_onResetFlg0(2); } } - return true; + + return 1; } /* 800D66C0-800D67FC 0D1000 013C+00 1/1 0/0 0/0 .text procCutLargeJumpLandInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutLargeJumpLandInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCutLargeJumpLandInit__9daAlink_cFi.s" +int daAlink_c::procCutLargeJumpLandInit(int param_0) { + commonProcInit(PROC_CUT_LARGE_JUMP_LAND); + checkCutLandDamage(); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE_LAND, &daAlinkHIO_cutLargeJump_c0::m.mLandAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f99 = 12; + field_0x3588 = l_halfAtnWaitBaseAnime; + field_0x2f9d = 4; + setFootEffectProcType(4); + i_onResetFlg1(RFLG1_UNK_30); + i_onResetFlg0(RFLG0_UNK_2); + setCutType(CUT_TYPE_LARGE_JUMP); + field_0x3478 = daAlinkHIO_cutLargeJump_c0::m.mLandAttackRadius; + field_0x347c = lit_6896; + mCommonCounter = 0; + field_0x3198 = param_0; + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(3, 31, cXyz(tmp_0, lit_6040, tmp_0)); + setCutLargeJumpLandEffect(); + seStartOnlyReverb(Z2SE_AL_JUMP_ATK_L_IMPACT); + return 1; } -#pragma pop /* 800D67FC-800D698C 0D113C 0190+00 1/0 0/0 0/0 .text procCutLargeJumpLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCutLargeJumpLand() { - nofralloc -#include "asm/d/a/d_a_alink/procCutLargeJumpLand__9daAlink_cFv.s" +int daAlink_c::procCutLargeJumpLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + i_onEndResetFlg0(ERFLG0_UNK_8000000); + field_0x2f99 = 4; + + if (field_0x3198 != 2 && checkCutTurnInput()) { + field_0x3198 = getCutTurnDirection(); + } + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x56) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextAction(0); + } + } else if (frameCtrl->getFrame() > daAlinkHIO_cutLargeJump_c0::m.mSpinSlashCheckFrame && field_0x3198 != 2) { + procCutTurnInit(1, field_0x3198); + } else if (frameCtrl->getFrame() > daAlinkHIO_cutLargeJump_c0::m.mLandAnm.mCheckFrame) { + checkNextAction(1); + } else if (frameCtrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mLandAttackEndFrame) { + i_onResetFlg0(RFLG0_UNK_2); + + if (frameCtrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mLandAttackInitFrame) { + if (mCommonCounter == 0) { + resetAtCollision(0); + mCommonCounter = 1; + setCutType(CUT_TYPE_LARGE_JUMP_FINISH); + initCutTurnAt(field_0x347c, 4); + } + + cLib_chaseF(&field_0x347c, field_0x3478, lit_8676); + field_0xFB8.SetR(field_0x347c); + } + } + + return 1; } -#pragma pop /* 800D698C-800D6A38 0D12CC 00AC+00 2/1 0/0 0/0 .text procSwordUnequipSpInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSwordUnequipSpInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSwordUnequipSpInit__9daAlink_cFv.s" +int daAlink_c::procSwordUnequipSpInit() { + if (!commonProcInitNotSameProc(PROC_SWORD_UNEQUIP_SP)) { + return 0; + } + + setSingleAnimeBaseSpeed(ANM_FINISH, daAlinkHIO_cut_c0::m.mFlourishAnmSpeed, lit_6109); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x3588 = l_halfAtnWaitBaseAnime; + field_0x3198 = 0; + mCommonCounter = 0; + field_0x300e = (0x1E - mDemo.getDemoMode()) != 0; + field_0x3010 = 0; + + return 1; } -#pragma pop /* 800D6A38-800D6D94 0D1378 035C+00 1/0 0/0 0/0 .text procSwordUnequipSp__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSwordUnequipSp() { - nofralloc -#include "asm/d/a/d_a_alink/procSwordUnequipSp__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procSwordUnequipSp() { + if (checkGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (field_0x300e != 0) { + field_0x2f99 = 4; + } else { + field_0x300e = 1; + } + + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (mCommonCounter != 0) { + i_onEndResetFlg1(ERFLG1_GANON_FINISH); + } + + if (field_0x3010 == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) { + field_0x3010 = 1; + setFaceBasicBck(0x149); + setFaceBasicBtp(0x3E1); + } + + if (frameCtrl->checkAnmEnd()) { + if (field_0x3198 != 0) { + if (mDemo.getDemoMode() == 0x1E) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextAction(0); + } + } else { + field_0x3198 = 1; + setSingleAnimeBaseSpeed(ANM_FINISH_END, daAlinkHIO_cut_c0::m.mFlourishEndAnmSpeed, lit_6109); + } + } else if (field_0x3198 != 0) { + if (!(frameCtrl->getFrame() > daAlinkHIO_cut_c0::m.mFlourishControlStartFrame) || !checkNextAction(1)) { + if (frameCtrl->getFrame() >= lit_8779) { + field_0x2f92 = 1; + } else if (frameCtrl->getFrame() >= lit_8780) { + field_0x2f93 = 6; + } else if (frameCtrl->getFrame() >= lit_7451) { + field_0x2f92 = 4; + } else if (frameCtrl->getFrame() >= lit_8781) { + if (mDemo.getDemoMode() == 0x1E) { + if (mDemo.getParam0() == 1) { + frameCtrl->setFrame(lit_8781); + frameCtrl->setRate(FLOAT_LABEL(lit_6108)); + dComIfGp_evmng_cutEnd(field_0x3184); + } else if (frameCtrl->getRate() < lit_8782) { + setWaterInAnmRate(frameCtrl, daAlinkHIO_cut_c0::m.mFlourishEndAnmSpeed); + } + } + deleteEquipItem(0, 1); + } else if (frameCtrl->checkPass(lit_8783)) { + seStartSwordCut(0x20008); + } + } + } else { + if (frameCtrl->getFrame() >= lit_7710) { + field_0x2f93 = 0xFE; + mCommonCounter = 1; + i_onEndResetFlg1(ERFLG1_GANON_FINISH); + } + + if (frameCtrl->checkPass(lit_8502) || frameCtrl->checkPass(lit_8781)) { + seStartSwordCut(0x20006); + } else if (frameCtrl->checkPass(lit_8784) || frameCtrl->checkPass(lit_8785) || frameCtrl->checkPass(lit_8786)) { + seStartSwordCut(0x20007); + } + } + + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_damage.inc b/src/d/a/d_a_alink_damage.inc index a36565f3d9..bcc8870b33 100644 --- a/src/d/a/d_a_alink_damage.inc +++ b/src/d/a/d_a_alink_damage.inc @@ -1,157 +1,216 @@ /* 800D6D94-800D6DA4 0D16D4 0010+00 0/0 0/0 2/2 .text getFreezeR__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getFreezeR() const { - nofralloc -#include "asm/d/a/d_a_alink/getFreezeR__9daAlink_cCFv.s" +s16 daAlink_c::getFreezeR() const { + return daAlinkHIO_damage_c0::m.mFreezeR; } -#pragma pop /* 800D6DA4-800D6DB4 0D16E4 0010+00 0/0 0/0 2/2 .text getFreezeG__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getFreezeG() const { - nofralloc -#include "asm/d/a/d_a_alink/getFreezeG__9daAlink_cCFv.s" +s16 daAlink_c::getFreezeG() const { + return daAlinkHIO_damage_c0::m.mFreezeG; } -#pragma pop /* 800D6DB4-800D6DC4 0D16F4 0010+00 0/0 0/0 2/2 .text getFreezeB__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getFreezeB() const { - nofralloc -#include "asm/d/a/d_a_alink/getFreezeB__9daAlink_cCFv.s" +s16 daAlink_c::getFreezeB() const { + return daAlinkHIO_damage_c0::m.mFreezeB; } -#pragma pop /* 800D6DC4-800D6DF0 0D1704 002C+00 2/2 0/0 0/0 .text checkMiddleBossGoronRoom__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkMiddleBossGoronRoom() { - nofralloc -#include "asm/d/a/d_a_alink/checkMiddleBossGoronRoom__9daAlink_cFv.s" +bool daAlink_c::checkMiddleBossGoronRoom() { + return checkStageName("D_MN04B"); } -#pragma pop /* 800D6DF0-800D6E24 0D1730 0034+00 1/0 0/0 0/0 .text setDkCaught__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setDkCaught(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setDkCaught__9daAlink_cFP10fopAc_ac_c.s" +void daAlink_c::setDkCaught(fopAc_ac_c* param_0) { + if (!i_checkNoResetFlg1(FLG1_UNK_1)) { + i_onNoResetFlg1(FLG1_UNK_1); + field_0x28f8 = fopAcM_GetID(param_0); + } } -#pragma pop /* 800D6E24-800D6F00 0D1764 00DC+00 2/2 0/0 0/0 .text freezeTimerDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::freezeTimerDamage() { - nofralloc -#include "asm/d/a/d_a_alink/freezeTimerDamage__9daAlink_cFv.s" +void daAlink_c::freezeTimerDamage() { + field_0x3008--; + field_0x300a++; + + if (field_0x300a % 45 == 0) { + setDamagePoint(1, 1, 0, 0); + } + + if (escapeTrigger()) { + field_0x3008 -= 2; + } + + if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) { + field_0x3008 -= 2; + } + + if (field_0x3008 < 0) { + field_0x3008 = 0; + } } -#pragma pop /* 800D6F00-800D6F2C 0D1840 002C+00 1/0 0/0 0/0 .text onPressedDamage__9daAlink_cFRC4cXyzs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::onPressedDamage(cXyz const& param_0, s16 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/onPressedDamage__9daAlink_cFRC4cXyzs.s" +void daAlink_c::onPressedDamage(cXyz const& param_0, s16 param_1) { + i_onNoResetFlg2(FLG2_UNK_1000); + field_0x3104 = param_1; + field_0x3744 = param_0; } -#pragma pop /* 800D6F2C-800D6FE0 0D186C 00B4+00 3/3 0/0 0/0 .text checkNoLandDamageSlidePolygon__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkNoLandDamageSlidePolygon() { +asm BOOL daAlink_c::checkNoLandDamageSlidePolygon() { nofralloc #include "asm/d/a/d_a_alink/checkNoLandDamageSlidePolygon__9daAlink_cFv.s" } #pragma pop /* 800D6FE0-800D70A0 0D1920 00C0+00 6/6 0/0 0/0 .text checkCutLandDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCutLandDamage() { - nofralloc -#include "asm/d/a/d_a_alink/checkCutLandDamage__9daAlink_cFv.s" +void daAlink_c::checkCutLandDamage() { + if (!checkEventRun()) { + f32 var_f31 = (mFallHeight - current.pos.y) * lit_8782; + + if (var_f31 >= daAlinkHIO_damFall_c0::m.mSmallDmgHeight && !checkNoLandDamageSlidePolygon()) { + if (var_f31 >= daAlinkHIO_damFall_c0::m.mBigDmgHeight) { + setLandDamagePoint(8); + } else { + setLandDamagePoint(4); + } + + onModeFlg(8); + } + } } -#pragma pop /* 800D70A0-800D7160 0D19E0 00C0+00 2/2 0/0 0/0 .text checkCaughtEscapeCutTurn__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCaughtEscapeCutTurn() { - nofralloc -#include "asm/d/a/d_a_alink/checkCaughtEscapeCutTurn__9daAlink_cFv.s" +BOOL daAlink_c::checkCaughtEscapeCutTurn() { + if (mLinkAcch.ChkGroundHit() && (i_checkSwordGet() || i_checkWolf()) && checkCutTurnInputTrigger()) { + if (i_checkWolf()) { + return procWolfRollAttackInit(2, 0); + } + + if (mEquipItem != 0x103) { + deleteEquipItem(0, 0); + setSwordModel(); + } + + return procCutTurnInit(1, 2); + } + + return 0; } -#pragma pop /* 800D7160-800D7208 0D1AA0 00A8+00 1/0 0/0 0/0 .text setThrowDamage__9daAlink_cFsffiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::setThrowDamage(s16 param_0, f32 param_1, f32 param_2, int param_3, int param_4, +bool daAlink_c::setThrowDamage(s16 param_0, f32 param_1, f32 param_2, int param_3, int param_4, int param_5) { - nofralloc -#include "asm/d/a/d_a_alink/setThrowDamage__9daAlink_cFsffiii.s" + field_0x3408 = param_1; + field_0x340c = param_2; + field_0x318c = param_3; + field_0x2ffe = param_0; + + if (param_4) { + i_onEndResetFlg0(ERFLG0_UNK_40); + } else { + i_onEndResetFlg0(ERFLG0_UNK_80); + } + + if (param_5 == 1) { + i_onEndResetFlg0(ERFLG0_UNK_40000000); + } else if (param_5 == 2) { + i_onEndResetFlg1(ERFLG1_UNK_80); + } + + if (i_getSumouMode()) { + cancelSumouMode(); + } + + return true; } -#pragma pop /* 800D7208-800D72BC 0D1B48 00B4+00 2/2 0/0 0/0 .text damageMagnification__9daAlink_cFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 daAlink_c::damageMagnification(int param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/damageMagnification__9daAlink_cFii.s" +f32 daAlink_c::damageMagnification(int i_checkZoraMag, int param_1) { + f32 base_mag; + + if (param_1 == 0 && i_checkNoResetFlg3(FLG3_UNK_40000000) && !i_checkEndResetFlg2(ERFLG2_UNK_40)) { + base_mag = lit_7624; /* 1.5 */ + } else { + base_mag = lit_6040; /* 1.0 */ + } + + if (i_checkWolf() && !checkCargoCarry() && param_1 == 0) { + return /* 2.0 */ lit_7307 * base_mag; + } + + if (checkZoraWearAbility() && i_checkZoraMag) { + return /* 10.0 */ lit_7625 * base_mag; + } + + return base_mag; } -#pragma pop /* 800D72BC-800D7478 0D1BFC 01BC+00 6/6 1/1 0/0 .text setDamagePoint__9daAlink_cFiiii */ +// regalloc and literals +#ifdef NONMATCHING +int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgTimer, int param_3) { + if (i_dmgAmount <= 0) { + i_dComIfGp_setItemLifeCount(-i_dmgAmount, 0); + return 0; + } + + f32 magnified_dmgF = (f32)i_dmgAmount * damageMagnification(i_checkZoraMag, param_3); + int magnified_dmg = magnified_dmgF; + if ((int)(magnified_dmgF * 10.0f) % 10 != 0) { + magnified_dmg++; + } + + if (i_checkWolf()) { + offWolfEyeUp(); + } + + if (checkMagicArmorNoDamage()) { + i_dComIfGp_setItemRupeeCount(-magnified_dmg * 10); + } else { + i_dComIfGp_setItemLifeCount(-magnified_dmg, 0); + } + + i_onResetFlg1(0x400); + mSwordUpTimer = 0; + + if (i_setDmgTimer) { + mDamageTimer = daAlinkHIO_damage_c0::m.mInvincibleTime; + setDamageColorTime(); + } + + field_0x3006 = 0; + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setDamagePoint(int param_0, int param_1, int param_2, int param_3) { +asm int daAlink_c::setDamagePoint(int param_0, int param_1, int param_2, int param_3) { nofralloc #include "asm/d/a/d_a_alink/setDamagePoint__9daAlink_cFiiii.s" } #pragma pop +#endif /* 800D7478-800D74A4 0D1DB8 002C+00 6/6 0/0 0/0 .text setDamagePointNormal__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setDamagePointNormal(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setDamagePointNormal__9daAlink_cFi.s" +void daAlink_c::setDamagePointNormal(int i_dmgAmount) { + setDamagePoint(i_dmgAmount, FALSE, TRUE, 0); } -#pragma pop /* 800D74A4-800D74F4 0D1DE4 0050+00 3/3 0/0 0/0 .text setLandDamagePoint__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setLandDamagePoint(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setLandDamagePoint__9daAlink_cFi.s" +void daAlink_c::setLandDamagePoint(int i_dmgAmount) { + i_onEndResetFlg2(ERFLG2_UNK_40); + setDamagePoint(i_dmgAmount, FALSE, TRUE, 0); + i_offEndResetFlg2(ERFLG2_UNK_40); } -#pragma pop /* 800D74F4-800D76C4 0D1E34 01D0+00 11/11 0/0 0/0 .text getDamageVec__9daAlink_cFP12dCcD_GObjInf */ @@ -165,35 +224,29 @@ asm void daAlink_c::getDamageVec(dCcD_GObjInf* param_0) { #pragma pop /* 800D76C4-800D7768 0D2004 00A4+00 1/1 0/0 0/0 .text setDashDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setDashDamage() { - nofralloc -#include "asm/d/a/d_a_alink/setDashDamage__9daAlink_cFv.s" +void daAlink_c::setDashDamage() { + setUpperAnimeParam(0xAD, UPPER_2, &daAlinkHIO_damage_c0::m.mDashDmgAnm); + setFacePriBck(0x121); + setFacePriTexture(FTANM_UNK_27); + voiceStart(Z2SE_AL_V_DAMAGE_S); + seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); + freeGrabItem(); } -#pragma pop /* 800D7768-800D77C8 0D20A8 0060+00 2/2 0/0 3/3 .text * checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo.s" +bool daAlink_c::checkIcePolygonDamage(cBgS_PolyInfo* i_poly) { + if (dComIfG_Bgsp().GetPolyAtt0(*i_poly) == 8 && dKy_pol_argument_get(i_poly) & 0x60) { + return true; + } + + return false; } -#pragma pop /* 800D77C8-800D7820 0D2108 0058+00 8/8 0/0 0/0 .text checkMagicArmorNoDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkMagicArmorNoDamage() { - nofralloc -#include "asm/d/a/d_a_alink/checkMagicArmorNoDamage__9daAlink_cFv.s" +BOOL daAlink_c::checkMagicArmorNoDamage() { + return checkMagicArmorWearAbility() && !checkMagicArmorHeavy(); } -#pragma pop /* 800D7820-800D7A98 0D2160 0278+00 1/1 0/0 0/0 .text checkPolyDamage__9daAlink_cFv */ #pragma push @@ -217,57 +270,38 @@ 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--; } + mDamageTimer--; - if (mProcID != PROC_DK_CAUGHT && i_checkNoResetFlg1(1)) { + if (mProcID != PROC_DK_CAUGHT && i_checkNoResetFlg1(FLG1_UNK_1)) { i_offNoResetFlg1(1); } - if (checkDkCaught2Anime() && i_checkNoResetFlg0(FLG0_UNK_20000)) { + if (!checkDkCaught2Anime() && i_checkNoResetFlg0(FLG0_UNK_20000)) { i_offNoResetFlg0(FLG0_UNK_20000); } } else if (mDamageColorTime != 0) { mDamageColorTime--; - if (mDamageColorTime + mDamageTimer == 0) { + if ((mDamageColorTime + mDamageTimer) % 16 == 0) { + setDamageColorTime(); } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::damageTimerCount() { - nofralloc -#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 -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHugeAttack(int param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkHugeAttack__9daAlink_cCFi.s" +bool daAlink_c::checkHugeAttack(int param_0) const { + return param_0 == 2 || param_0 == 7 || param_0 == 11 || param_0 == 14; } -#pragma pop /* 800D7C14-800D7C40 0D2554 002C+00 3/3 0/0 0/0 .text checkLargeAttack__9daAlink_cCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkLargeAttack(int param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkLargeAttack__9daAlink_cCFi.s" +bool daAlink_c::checkLargeAttack(int param_0) const { + return param_0 == 1 || param_0 == 6 || param_0 == 10 || param_0 == 13; } -#pragma pop /* 800D7C40-800D8F3C 0D2580 12FC+00 1/1 0/0 0/0 .text checkDamageAction__9daAlink_cFv */ #pragma push @@ -284,7 +318,7 @@ asm BOOL daAlink_c::checkDamageAction() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { +asm int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procDamageInit__9daAlink_cFP12dCcD_GObjInfi.s" } @@ -294,7 +328,7 @@ asm void daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDamage() { +asm int daAlink_c::procDamage() { nofralloc #include "asm/d/a/d_a_alink/procDamage__9daAlink_cFv.s" } @@ -305,7 +339,7 @@ asm void daAlink_c::procDamage() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 param_3, +asm int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 param_3, dCcD_GObjInf* param_4, int param_5) { nofralloc #include "asm/d/a/d_a_alink/procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi.s" @@ -316,7 +350,7 @@ asm void daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLargeDamage() { +asm int daAlink_c::procCoLargeDamage() { nofralloc #include "asm/d/a/d_a_alink/procCoLargeDamage__9daAlink_cFv.s" } @@ -326,7 +360,7 @@ asm void daAlink_c::procCoLargeDamage() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { +asm int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { nofralloc #include "asm/d/a/d_a_alink/procLargeDamageUpInit__9daAlink_cFiiss.s" } @@ -336,7 +370,7 @@ asm void daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLargeDamageUp() { +asm int daAlink_c::procLargeDamageUp() { nofralloc #include "asm/d/a/d_a_alink/procLargeDamageUp__9daAlink_cFv.s" } @@ -347,7 +381,7 @@ asm void daAlink_c::procLargeDamageUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2, s16 param_3) { +asm int daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 param_2, s16 param_3) { nofralloc #include "asm/d/a/d_a_alink/procCoLargeDamageWallInit__9daAlink_cFiiss.s" } @@ -355,62 +389,98 @@ asm void daAlink_c::procCoLargeDamageWallInit(int param_0, int param_1, s16 para /* 800DAC28-800DAC84 0D5568 005C+00 1/0 0/0 0/0 .text procCoLargeDamageWall__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoLargeDamageWall() { - nofralloc -#include "asm/d/a/d_a_alink/procCoLargeDamageWall__9daAlink_cFv.s" +int daAlink_c::procCoLargeDamageWall() { + if (mUnderFrameCtrl[0].checkAnmEnd()) { + procCoLargeDamageInit(field_0x3198, field_0x3008, field_0x3080, field_0x3082, NULL, 0); + } + + return 1; } -#pragma pop /* 800DAC84-800DAD90 0D55C4 010C+00 2/2 0/0 0/0 .text procCoPolyDamageInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoPolyDamageInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoPolyDamageInit__9daAlink_cFv.s" +int daAlink_c::procCoPolyDamageInit() { + seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); + + if (!i_checkWolf()) { + voiceStart(Z2SE_AL_V_DAMAGE_S); + } + + if (checkIronBallWaitAnime()) { + return 1; + } + + commonProcInit(PROC_POLY_DAMAGE); + + if (i_checkWolf()) { + setSingleAnimeWolfParam(WANM_DMG_SMALL, &daAlinkHIO_wlDamage_c0::m.field_0x14); + voiceStart(Z2SE_WL_V_DAMAGE); + field_0x3478 = daAlinkHIO_wlDamage_c0::m.field_0x14.mCheckFrame; + } else { + setSingleAnimeParam(ANM_DMG, &daAlinkHIO_damage_c0::m.mFloorDmgAnm); + field_0x3478 = daAlinkHIO_damage_c0::m.mFloorDmgAnm.mCheckFrame; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + return 1; } -#pragma pop /* 800DAD90-800DAE10 0D56D0 0080+00 1/0 0/0 0/0 .text procCoPolyDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoPolyDamage() { - nofralloc -#include "asm/d/a/d_a_alink/procCoPolyDamage__9daAlink_cFv.s" +int daAlink_c::procCoPolyDamage() { + if (mUnderFrameCtrl[0].checkAnmEnd()) { + commonCheckNextAction(0); + } else if (mUnderFrameCtrl[0].getFrame() > field_0x3478) { + if (!i_checkWolf()) { + onModeFlg(4); + } + + commonCheckNextAction(1); + } + + return 1; } -#pragma pop /* 800DAE10-800DB060 0D5750 0250+00 2/2 0/0 0/0 .text procLandDamageInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLandDamageInit(int param_0) { +asm int daAlink_c::procLandDamageInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procLandDamageInit__9daAlink_cFi.s" } #pragma pop /* 800DB060-800DB140 0D59A0 00E0+00 1/0 0/0 0/0 .text procLandDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procLandDamage() { - nofralloc -#include "asm/d/a/d_a_alink/procLandDamage__9daAlink_cFv.s" +int daAlink_c::procLandDamage() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (field_0x3198 != 0) { + if (frameCtrl->checkAnmEnd()) { + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_damFall_c0::m.mStandAnm.mCheckFrame) { + onModeFlg(4); + checkNextAction(1); + } + } else { + if (frameCtrl->checkAnmEnd()) { + if (field_0x3008 > 0) { + field_0x3008--; + } else { + setSingleAnimeParam(ANM_DMG_FALL_RECOVER, &daAlinkHIO_damFall_c0::m.mStandAnm); + field_0x3198 = 1; + } + } + } + + return 1; } -#pragma pop /* 800DB140-800DB418 0D5A80 02D8+00 1/1 0/0 0/0 .text * procCoElecDamageInit__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, int param_2) { +asm int daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, int param_2) { nofralloc #include "asm/d/a/d_a_alink/procCoElecDamageInit__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfi.s" } @@ -420,37 +490,45 @@ asm void daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoElecDamage() { +asm int daAlink_c::procCoElecDamage() { nofralloc #include "asm/d/a/d_a_alink/procCoElecDamage__9daAlink_cFv.s" } #pragma pop /* 800DB5B0-800DB610 0D5EF0 0060+00 2/2 0/0 0/0 .text procStEscapeInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procStEscapeInit() { - nofralloc -#include "asm/d/a/d_a_alink/procStEscapeInit__9daAlink_cFv.s" +int daAlink_c::procStEscapeInit() { + commonProcInit(PROC_HUMAN_ST_ESCAPE); + setSingleAnimeParam(ANM_FROZEN_FREE, &daAlinkHIO_damCaught_c0::m.field_0x0); + + f32 tmp_7 = lit_8502; + mUnderFrameCtrl[0].setFrame(tmp_7); + getNowAnmPackUnder(UNDER_0)->setFrame(tmp_7); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + return 1; } -#pragma pop /* 800DB610-800DB6A4 0D5F50 0094+00 1/0 0/0 0/0 .text procStEscape__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procStEscape() { - nofralloc -#include "asm/d/a/d_a_alink/procStEscape__9daAlink_cFv.s" +int daAlink_c::procStEscape() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (frameCtrl->checkAnmEnd()) { + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.field_0x0.mCheckFrame) { + onModeFlg(4); + checkNextAction(1); + } + + return 1; } -#pragma pop /* 800DB6A4-800DB860 0D5FE4 01BC+00 1/1 0/0 0/0 .text procDkCaughtInit__9daAlink_cFUi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDkCaughtInit(unsigned int param_0) { +asm int daAlink_c::procDkCaughtInit(unsigned int param_0) { nofralloc #include "asm/d/a/d_a_alink/procDkCaughtInit__9daAlink_cFUi.s" } @@ -460,99 +538,159 @@ asm void daAlink_c::procDkCaughtInit(unsigned int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDkCaught() { +asm int daAlink_c::procDkCaught() { nofralloc #include "asm/d/a/d_a_alink/procDkCaught__9daAlink_cFv.s" } #pragma pop /* 800DBC98-800DBD1C 0D65D8 0084+00 2/2 0/0 0/0 .text setScreamWaitAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setScreamWaitAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setScreamWaitAnime__9daAlink_cFv.s" +void daAlink_c::setScreamWaitAnime() { + setSingleAnimeBase(ANM_WAIT_F); + voiceStart(Z2SE_AL_V_TERRORED); + mCommonCounter = 1; + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartQuake(5, 1, cXyz(tmp_0, lit_6040, tmp_0)); } -#pragma pop /* 800DBD1C-800DBDA4 0D665C 0088+00 1/1 0/0 0/0 .text procScreamWaitInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procScreamWaitInit() { - nofralloc -#include "asm/d/a/d_a_alink/procScreamWaitInit__9daAlink_cFv.s" +int daAlink_c::procScreamWaitInit() { + commonProcInit(PROC_SCREAM_WAIT); + + if (i_checkEndResetFlg1(ERFLG1_UNK_2)) { + setScreamWaitAnime(); + } else { + setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, daAlinkHIO_basic_c0::m.mAnmBlendFactor); + mCommonCounter = 0; + } + + current.angle.y = shape_angle.y; + mNormalSpeed = FLOAT_LABEL(lit_6108); + return 1; } -#pragma pop /* 800DBDA4-800DBE00 0D66E4 005C+00 1/0 0/0 0/0 .text procScreamWait__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procScreamWait() { - nofralloc -#include "asm/d/a/d_a_alink/procScreamWait__9daAlink_cFv.s" +int daAlink_c::procScreamWait() { + i_onEndResetFlg0(ERFLG0_UNK_8000000); + + if (!i_checkEndResetFlg1(ERFLG1_UNK_1)) { + checkNextAction(0); + } else if (mCommonCounter == 0 && i_checkEndResetFlg1(ERFLG1_UNK_2)) { + setScreamWaitAnime(); + } + + return 1; } -#pragma pop /* 800DBE00-800DBE74 0D6740 0074+00 1/1 0/0 0/0 .text procCoSandWallHitInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoSandWallHitInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoSandWallHitInit__9daAlink_cFv.s" +int daAlink_c::procCoSandWallHitInit() { + if (!commonProcInitNotSameProc(PROC_SAND_WALL_HIT)) { + return 1; + } + + if (i_checkWolf()) { + setSingleAnimeWolfBase(WANM_WAIT_WIND); + } else { + setSingleAnimeBase(ANM_WAIT_WIND); + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + + return 1; } -#pragma pop /* 800DBE74-800DBED8 0D67B4 0064+00 1/0 0/0 0/0 .text procCoSandWallHit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoSandWallHit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoSandWallHit__9daAlink_cFv.s" +int daAlink_c::procCoSandWallHit() { + if (mLinkAcch.ChkGroundHit()) { + offModeFlg(2); + } + + if (!i_checkEndResetFlg1(ERFLG1_UNK_400)) { + setDamagePointNormal(1); + procCoPolyDamageInit(); + } + + return 1; } -#pragma pop /* 800DBED8-800DC214 0D6818 033C+00 1/1 0/0 0/0 .text procCoLavaReturnInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLavaReturnInit(int param_0) { +asm int daAlink_c::procCoLavaReturnInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCoLavaReturnInit__9daAlink_cFi.s" } #pragma pop /* 800DC214-800DC278 0D6B54 0064+00 1/0 0/0 0/0 .text procCoLavaReturn__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoLavaReturn() { - nofralloc -#include "asm/d/a/d_a_alink/procCoLavaReturn__9daAlink_cFv.s" +int daAlink_c::procCoLavaReturn() { + cLib_chaseF(&mSinkShapeOffset, FLOAT_LABEL(lit_6108), lit_7977); + + if (mUnderFrameCtrl[0].checkAnmEnd()) { + startRestartRoom(field_0x32cc, 0xC9, field_0x3198, 1); + } + + return 1; } -#pragma pop /* 800DC278-800DC474 0D6BB8 01FC+00 1/1 0/0 0/0 .text procCoSwimFreezeReturnInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoSwimFreezeReturnInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoSwimFreezeReturnInit__9daAlink_cFv.s" +int daAlink_c::procCoSwimFreezeReturnInit() { + if (!dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + return 0; + } + + mDemo.i_setSpecialDemoType(); + u32 chk_40000 = i_checkModeFlg(0x40000); + + if (!commonProcInitNotSameProc(PROC_SWIM_FREEZE_RETURN)) { + return 1; + } + + i_onNoResetFlg0(FLG0_UNK_100); + J3DTransformInfo* transInfo = field_0x2060->getOldFrameTransInfo(0); + + f32 var_f31; + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlDamNormal_c0::m.field_0x5C, lit_7625); + mUnderFrameCtrl[0].setEnd(3); + mUnderFrameCtrl[0].setAttribute(0); + setFaceBasicTexture(FTANM_UNK_90); + field_0x2f9b = 1; + var_f31 = daAlinkHIO_wlSwim_c0::m.field_0x48; + } else { + setSingleAnime(ANM_SWIM_DMG_FREEZE, daAlinkHIO_damNormal_c0::m.field_0x60, FLOAT_LABEL(lit_6108), 5, lit_7625); + voiceStart(Z2SE_AL_V_DAMAGE_FREEZE); + var_f31 = daAlinkHIO_swim_c0::m.mInitHeight; + } + + seStartOnlyReverb(Z2SE_AL_FREEZE); + + if (!chk_40000) { + transInfo->mTranslate.y -= var_f31; + current.pos.y = mWaterY; + } + + field_0x3080 = 0; + mDamageTimer = 0; + mNormalSpeed = FLOAT_LABEL(lit_6108); + i_onNoResetFlg1(FLG1_UNK_40000000); + field_0x3194 = 1; + + u32 id = fopAcM_GetID(this); + dCam_getBody()->StartEventCamera(9, id, "Type", 1, &field_0x3194, 0); + mCommonCounter = 0x2D; + return 1; } -#pragma pop /* 800DC474-800DC548 0D6DB4 00D4+00 1/0 0/0 0/0 .text procCoSwimFreezeReturn__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoSwimFreezeReturn() { +asm int daAlink_c::procCoSwimFreezeReturn() { nofralloc #include "asm/d/a/d_a_alink/procCoSwimFreezeReturn__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_demo.inc b/src/d/a/d_a_alink_demo.inc index b9b983841f..3358f54975 100644 --- a/src/d/a/d_a_alink_demo.inc +++ b/src/d/a/d_a_alink_demo.inc @@ -1,3 +1,5 @@ +#include "f_op/f_op_msg_mng.h" + /* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */ BOOL daAlink_c::checkEventRun() const { return i_dComIfGp_event_runCheck() || checkPlayerDemoMode(); @@ -37,14 +39,9 @@ asm int daAlink_c::checkDemoAction() { /* 80116E60-80116E9C 1117A0 003C+00 4/4 0/0 0/0 .text checkDemoMoveMode__9daAlink_cCFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkDemoMoveMode(u32 param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkDemoMoveMode__9daAlink_cCFUl.s" +bool daAlink_c::checkDemoMoveMode(u32 i_mode) const { + return i_mode == 2 || i_mode == 3 || i_mode == 0x26; } -#pragma pop /* 80116E9C-80117064 1117DC 01C8+00 1/1 0/0 0/0 .text setDemoMoveData__9daAlink_cFPUlPC4cXyz */ #pragma push @@ -77,35 +74,42 @@ asm void daAlink_c::setDemoData() { #pragma pop /* 80117B90-80117C34 1124D0 00A4+00 1/1 0/0 0/0 .text resetDemoBck__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetDemoBck() { - nofralloc -#include "asm/d/a/d_a_alink/resetDemoBck__9daAlink_cFv.s" +void daAlink_c::resetDemoBck() { + mAnmHeap7.resetArcNo(); + mAnmHeap5.resetArcNo(); + mAnmHeap6.resetArcNo(); + mUnderAnmHeap[0].resetArcNo(); + mUnderAnmHeap[0].resetIdx(); + mAnmHeap7.resetIdx(); + mAnmHeap5.resetIdx(); + mAnmHeap6.resetIdx(); + + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, daAlinkHIO_wlMove_c0::m.field_0x94); + setFaceBasicAnime(ANM_WAIT); + } else { + setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, daAlinkHIO_basic_c0::m.mAnmBlendFactor); + } } -#pragma pop /* 80117C34-80117C90 112574 005C+00 3/3 0/0 0/0 .text endHighModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::endHighModel() { - nofralloc -#include "asm/d/a/d_a_alink/endHighModel__9daAlink_cFv.s" +void daAlink_c::endHighModel() { + if (field_0x068c != NULL) { + mpDemoFCTongueModel->getModelData()->removeTexMtxAnimator(field_0x068c); + } + + i_offNoResetFlg1(FLG1_UNK_10); + field_0x0698 = NULL; + field_0x068c = NULL; } -#pragma pop /* 80117C90-80117CF8 1125D0 0068+00 21/21 0/0 0/0 .text resetSpecialEvent__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetSpecialEvent() { - nofralloc -#include "asm/d/a/d_a_alink/resetSpecialEvent__9daAlink_cFv.s" +void daAlink_c::resetSpecialEvent() { + i_dComIfGp_event_reset(); + dCam_getBody()->EndEventCamera(fopAcM_GetID(this)); + endDemoMode(); } -#pragma pop /* 80117CF8-801180EC 112638 03F4+00 4/4 0/0 0/0 .text endDemoMode__9daAlink_cFv */ #pragma push @@ -118,24 +122,36 @@ asm void daAlink_c::endDemoMode() { #pragma pop /* 801180EC-80118170 112A2C 0084+00 2/2 0/0 0/0 .text getDemoLookActor__9daAlink_cFv */ +// weird gameinfo load +#ifdef NONMATCHING +fopAc_ac_c* daAlink_c::getDemoLookActor() { + if (mDemo.getParam0() == 1) { + return (fopAc_ac_c*)dComIfGp_event_getPt1(); + } else if (mDemo.getParam0() == 2) { + return (fopAc_ac_c*)dComIfGp_event_getPt2(); + } else if (mDemo.getParam0() == 3) { + return (fopAc_ac_c*)fopAcM_getTalkEventPartner(this); + } else if (mDemo.getParam0() == 4) { + return getMidnaActor(); + } + + return NULL; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getDemoLookActor() { +asm fopAc_ac_c* daAlink_c::getDemoLookActor() { nofralloc #include "asm/d/a/d_a_alink/getDemoLookActor__9daAlink_cFv.s" } #pragma pop +#endif /* 80118170-801181A0 112AB0 0030+00 4/4 0/0 0/0 .text checkFlyAtnWait__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkFlyAtnWait() { - nofralloc -#include "asm/d/a/d_a_alink/checkFlyAtnWait__9daAlink_cFv.s" +BOOL daAlink_c::checkFlyAtnWait() { + return mDemo.getDemoMode() == 0x17 && (mDemo.getParam1() == 4 || mDemo.getParam1() == 5); } -#pragma pop /* 801181A0-801182D4 112AE0 0134+00 2/2 0/0 0/0 .text setGetItemFace__9daAlink_cFUs */ #pragma push @@ -149,14 +165,10 @@ asm void daAlink_c::setGetItemFace(u16 param_0) { /* 801182D4-80118308 112C14 0034+00 2/2 0/0 0/0 .text checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabTalkActor(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c.s" +BOOL daAlink_c::checkGrabTalkActor(fopAc_ac_c* i_actor) { + s16 name = fopAcM_GetName(i_actor); + return name == PROC_NPC_KYURY || name == PROC_MYNA || name == PROC_OBJ_SSITEM || name == PROC_TAG_MSG; } -#pragma pop /* 80118308-8011856C 112C48 0264+00 2/2 0/0 0/0 .text setTalkStartBack__9daAlink_cFP4cXyz */ @@ -211,14 +223,24 @@ asm void daAlink_c::setTradeItemOutHand() { #pragma pop /* 801187B4-80118840 1130F4 008C+00 5/5 0/0 0/0 .text checkEndMessage__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkEndMessage(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkEndMessage__9daAlink_cFUl.s" +BOOL daAlink_c::checkEndMessage(u32 param_0) { + if (mMsgClassID == -1) { + mMsgClassID = fopMsgM_messageSet(param_0, 1000); + } else { + msg_class* msg = fopMsgM_SearchByID(mMsgClassID); + + if (msg != NULL) { + if (msg->field_0xf8 == 14) { + msg->field_0xf8 = 16; + } else if (msg->field_0xf8 == 0x12) { + msg->field_0xf8 = 0x13; + return 1; + } + } + } + + return 0; } -#pragma pop /* 80118840-801188B0 113180 0070+00 1/1 0/0 0/0 .text setDemoRightHandIndex__9daAlink_cFUs */ #pragma push @@ -268,8 +290,8 @@ BOOL daAlink_c::checkFinalBattle() { } /* 80118B34-80118BF4 113474 00C0+00 3/3 0/0 0/0 .text checkRestartDead__9daAlink_cFii */ -BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int param_1) { - i_dmgAmount *= (int)damageMagnification(param_1, 1); +BOOL daAlink_c::checkRestartDead(int i_dmgAmount, int i_checkZoraMag) { + i_dmgAmount *= (int)damageMagnification(i_checkZoraMag, 1); if (mProcID != PROC_DEAD && i_dmgAmount >= i_dComIfGs_getLife() && !checkMagicArmorNoDamage() && !dComIfGs_checkBottle(FAIRY)) { @@ -287,9 +309,9 @@ void daAlink_c::setDeadRideSyncPos() { if (i_checkReinRide()) { setSyncRidePos(); } else if (checkSpinnerRide()) { - s16 old_angle = mCollisionRot.y; + s16 old_angle = shape_angle.y; setSpinnerSyncPos(); - mCollisionRot.y = old_angle; + shape_angle.y = old_angle; } } } @@ -383,7 +405,7 @@ int daAlink_c::procDemoCommon() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoToolDemoInit() { +asm int daAlink_c::procCoToolDemoInit() { nofralloc #include "asm/d/a/d_a_alink/procCoToolDemoInit__9daAlink_cFv.s" } @@ -393,7 +415,7 @@ asm void daAlink_c::procCoToolDemoInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoToolDemo() { +asm int daAlink_c::procCoToolDemo() { nofralloc #include "asm/d/a/d_a_alink/procCoToolDemo__9daAlink_cFv.s" } @@ -403,7 +425,7 @@ asm void daAlink_c::procCoToolDemo() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoTalkInit() { +asm int daAlink_c::procCoTalkInit() { nofralloc #include "asm/d/a/d_a_alink/procCoTalkInit__9daAlink_cFv.s" } @@ -413,7 +435,7 @@ asm void daAlink_c::procCoTalkInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoTalk() { +asm int daAlink_c::procCoTalk() { nofralloc #include "asm/d/a/d_a_alink/procCoTalk__9daAlink_cFv.s" } @@ -423,7 +445,7 @@ asm void daAlink_c::procCoTalk() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoOpenTreasureInit() { +asm int daAlink_c::procCoOpenTreasureInit() { nofralloc #include "asm/d/a/d_a_alink/procCoOpenTreasureInit__9daAlink_cFv.s" } @@ -433,7 +455,7 @@ asm void daAlink_c::procCoOpenTreasureInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoOpenTreasure() { +asm int daAlink_c::procCoOpenTreasure() { nofralloc #include "asm/d/a/d_a_alink/procCoOpenTreasure__9daAlink_cFv.s" } @@ -443,7 +465,7 @@ asm void daAlink_c::procCoOpenTreasure() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoUnequipInit() { +asm int daAlink_c::procCoUnequipInit() { nofralloc #include "asm/d/a/d_a_alink/procCoUnequipInit__9daAlink_cFv.s" } @@ -453,7 +475,7 @@ asm void daAlink_c::procCoUnequipInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoUnequip() { +asm int daAlink_c::procCoUnequip() { nofralloc #include "asm/d/a/d_a_alink/procCoUnequip__9daAlink_cFv.s" } @@ -505,7 +527,7 @@ asm bool daAlink_c::checkTreasureRupeeReturn(int param_0) const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoGetItemInit() { +asm int daAlink_c::procCoGetItemInit() { nofralloc #include "asm/d/a/d_a_alink/procCoGetItemInit__9daAlink_cFv.s" } @@ -515,7 +537,7 @@ asm void daAlink_c::procCoGetItemInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoGetItem() { +asm int daAlink_c::procCoGetItem() { nofralloc #include "asm/d/a/d_a_alink/procCoGetItem__9daAlink_cFv.s" } @@ -525,7 +547,7 @@ asm void daAlink_c::procCoGetItem() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoTurnBackInit() { +asm int daAlink_c::procCoTurnBackInit() { nofralloc #include "asm/d/a/d_a_alink/procCoTurnBackInit__9daAlink_cFv.s" } @@ -535,7 +557,7 @@ asm void daAlink_c::procCoTurnBackInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoTurnBack() { +asm int daAlink_c::procCoTurnBack() { nofralloc #include "asm/d/a/d_a_alink/procCoTurnBack__9daAlink_cFv.s" } @@ -545,7 +567,7 @@ asm void daAlink_c::procCoTurnBack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDoorOpenInit() { +asm int daAlink_c::procDoorOpenInit() { nofralloc #include "asm/d/a/d_a_alink/procDoorOpenInit__9daAlink_cFv.s" } @@ -555,7 +577,7 @@ asm void daAlink_c::procDoorOpenInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDoorOpen() { +asm int daAlink_c::procDoorOpen() { nofralloc #include "asm/d/a/d_a_alink/procDoorOpen__9daAlink_cFv.s" } @@ -565,7 +587,7 @@ asm void daAlink_c::procDoorOpen() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLookWaitInit() { +asm int daAlink_c::procCoLookWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procCoLookWaitInit__9daAlink_cFv.s" } @@ -575,7 +597,7 @@ asm void daAlink_c::procCoLookWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLookWait() { +asm int daAlink_c::procCoLookWait() { nofralloc #include "asm/d/a/d_a_alink/procCoLookWait__9daAlink_cFv.s" } @@ -585,7 +607,7 @@ asm void daAlink_c::procCoLookWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoDemoPushPullWaitInit() { +asm int daAlink_c::procCoDemoPushPullWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procCoDemoPushPullWaitInit__9daAlink_cFv.s" } @@ -595,7 +617,7 @@ asm void daAlink_c::procCoDemoPushPullWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoDemoPushMoveInit() { +asm int daAlink_c::procCoDemoPushMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procCoDemoPushMoveInit__9daAlink_cFv.s" } @@ -615,7 +637,7 @@ asm void daAlink_c::setMonkeyMoveAnime() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procMonkeyMoveInit() { +asm int daAlink_c::procMonkeyMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procMonkeyMoveInit__9daAlink_cFv.s" } @@ -625,7 +647,7 @@ asm void daAlink_c::procMonkeyMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procMonkeyMove() { +asm int daAlink_c::procMonkeyMove() { nofralloc #include "asm/d/a/d_a_alink/procMonkeyMove__9daAlink_cFv.s" } @@ -635,7 +657,7 @@ asm void daAlink_c::procMonkeyMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDemoBoomerangCatchInit() { +asm int daAlink_c::procDemoBoomerangCatchInit() { nofralloc #include "asm/d/a/d_a_alink/procDemoBoomerangCatchInit__9daAlink_cFv.s" } @@ -645,7 +667,7 @@ asm void daAlink_c::procDemoBoomerangCatchInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDemoBoomerangCatch() { +asm int daAlink_c::procDemoBoomerangCatch() { nofralloc #include "asm/d/a/d_a_alink/procDemoBoomerangCatch__9daAlink_cFv.s" } @@ -655,7 +677,7 @@ asm void daAlink_c::procDemoBoomerangCatch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoDeadInit(int param_0) { +asm int daAlink_c::procCoDeadInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCoDeadInit__9daAlink_cFi.s" } @@ -665,7 +687,7 @@ asm void daAlink_c::procCoDeadInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoDead() { +asm int daAlink_c::procCoDead() { nofralloc #include "asm/d/a/d_a_alink/procCoDead__9daAlink_cFv.s" } @@ -676,7 +698,7 @@ asm void daAlink_c::procCoDead() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLookAroundInit() { +asm int daAlink_c::procCoLookAroundInit() { nofralloc #include "asm/d/a/d_a_alink/procCoLookAroundInit__9daAlink_cFv.s" } @@ -686,7 +708,7 @@ asm void daAlink_c::procCoLookAroundInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoLookAround() { +asm int daAlink_c::procCoLookAround() { nofralloc #include "asm/d/a/d_a_alink/procCoLookAround__9daAlink_cFv.s" } @@ -697,7 +719,7 @@ asm void daAlink_c::procCoLookAround() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBossAtnWaitInit() { +asm int daAlink_c::procBossAtnWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procBossAtnWaitInit__9daAlink_cFv.s" } @@ -708,7 +730,7 @@ asm void daAlink_c::procBossAtnWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoQuakeWaitInit() { +asm int daAlink_c::procCoQuakeWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procCoQuakeWaitInit__9daAlink_cFv.s" } @@ -718,7 +740,7 @@ asm void daAlink_c::procCoQuakeWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoCaughtInit() { +asm int daAlink_c::procCoCaughtInit() { nofralloc #include "asm/d/a/d_a_alink/procCoCaughtInit__9daAlink_cFv.s" } @@ -728,7 +750,7 @@ asm void daAlink_c::procCoCaughtInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLookUpInit() { +asm int daAlink_c::procLookUpInit() { nofralloc #include "asm/d/a/d_a_alink/procLookUpInit__9daAlink_cFv.s" } @@ -738,7 +760,7 @@ asm void daAlink_c::procLookUpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLookUp() { +asm int daAlink_c::procLookUp() { nofralloc #include "asm/d/a/d_a_alink/procLookUp__9daAlink_cFv.s" } @@ -748,7 +770,7 @@ asm void daAlink_c::procLookUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLookUpToGetItemInit() { +asm int daAlink_c::procLookUpToGetItemInit() { nofralloc #include "asm/d/a/d_a_alink/procLookUpToGetItemInit__9daAlink_cFv.s" } @@ -759,7 +781,7 @@ asm void daAlink_c::procLookUpToGetItemInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLookUpToGetItem() { +asm int daAlink_c::procLookUpToGetItem() { nofralloc #include "asm/d/a/d_a_alink/procLookUpToGetItem__9daAlink_cFv.s" } @@ -769,7 +791,7 @@ asm void daAlink_c::procLookUpToGetItem() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHandPatInit() { +asm int daAlink_c::procHandPatInit() { nofralloc #include "asm/d/a/d_a_alink/procHandPatInit__9daAlink_cFv.s" } @@ -779,7 +801,7 @@ asm void daAlink_c::procHandPatInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHandPat() { +asm int daAlink_c::procHandPat() { nofralloc #include "asm/d/a/d_a_alink/procHandPat__9daAlink_cFv.s" } @@ -789,7 +811,7 @@ asm void daAlink_c::procHandPat() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoFogDeadInit() { +asm int daAlink_c::procCoFogDeadInit() { nofralloc #include "asm/d/a/d_a_alink/procCoFogDeadInit__9daAlink_cFv.s" } @@ -799,7 +821,7 @@ asm void daAlink_c::procCoFogDeadInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoFogDead() { +asm int daAlink_c::procCoFogDead() { nofralloc #include "asm/d/a/d_a_alink/procCoFogDead__9daAlink_cFv.s" } @@ -810,7 +832,7 @@ asm void daAlink_c::procCoFogDead() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSmellWaitInit() { +asm int daAlink_c::procWolfSmellWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfSmellWaitInit__9daAlink_cFv.s" } @@ -820,7 +842,7 @@ asm void daAlink_c::procWolfSmellWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoNodInit() { +asm int daAlink_c::procCoNodInit() { nofralloc #include "asm/d/a/d_a_alink/procCoNodInit__9daAlink_cFv.s" } @@ -830,7 +852,7 @@ asm void daAlink_c::procCoNodInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoNod() { +asm int daAlink_c::procCoNod() { nofralloc #include "asm/d/a/d_a_alink/procCoNod__9daAlink_cFv.s" } @@ -840,7 +862,7 @@ asm void daAlink_c::procCoNod() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoEyeAwayInit() { +asm int daAlink_c::procCoEyeAwayInit() { nofralloc #include "asm/d/a/d_a_alink/procCoEyeAwayInit__9daAlink_cFv.s" } @@ -850,7 +872,7 @@ asm void daAlink_c::procCoEyeAwayInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoGlareInit() { +asm int daAlink_c::procCoGlareInit() { nofralloc #include "asm/d/a/d_a_alink/procCoGlareInit__9daAlink_cFv.s" } @@ -860,7 +882,7 @@ asm void daAlink_c::procCoGlareInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoGlare() { +asm int daAlink_c::procCoGlare() { nofralloc #include "asm/d/a/d_a_alink/procCoGlare__9daAlink_cFv.s" } @@ -871,7 +893,7 @@ asm void daAlink_c::procCoGlare() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatStopReadyInit() { +asm int daAlink_c::procGoatStopReadyInit() { nofralloc #include "asm/d/a/d_a_alink/procGoatStopReadyInit__9daAlink_cFv.s" } @@ -881,7 +903,7 @@ asm void daAlink_c::procGoatStopReadyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoatStopReady() { +asm int daAlink_c::procGoatStopReady() { nofralloc #include "asm/d/a/d_a_alink/procGoatStopReady__9daAlink_cFv.s" } @@ -892,7 +914,7 @@ asm void daAlink_c::procGoatStopReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoGetReadySitInit() { +asm int daAlink_c::procCoGetReadySitInit() { nofralloc #include "asm/d/a/d_a_alink/procCoGetReadySitInit__9daAlink_cFv.s" } @@ -902,7 +924,7 @@ asm void daAlink_c::procCoGetReadySitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoGetReadySit() { +asm int daAlink_c::procCoGetReadySit() { nofralloc #include "asm/d/a/d_a_alink/procCoGetReadySit__9daAlink_cFv.s" } @@ -912,7 +934,7 @@ asm void daAlink_c::procCoGetReadySit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoTwGateInit() { +asm int daAlink_c::procCoTwGateInit() { nofralloc #include "asm/d/a/d_a_alink/procCoTwGateInit__9daAlink_cFv.s" } @@ -932,7 +954,7 @@ int daAlink_c::procCoTwGate() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSnowEscapeInit() { +asm int daAlink_c::procWolfSnowEscapeInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfSnowEscapeInit__9daAlink_cFv.s" } @@ -942,7 +964,7 @@ asm void daAlink_c::procWolfSnowEscapeInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSnowEscape() { +asm int daAlink_c::procWolfSnowEscape() { nofralloc #include "asm/d/a/d_a_alink/procWolfSnowEscape__9daAlink_cFv.s" } @@ -952,7 +974,7 @@ asm void daAlink_c::procWolfSnowEscape() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procZoraMoveInit() { +asm int daAlink_c::procZoraMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procZoraMoveInit__9daAlink_cFv.s" } @@ -962,7 +984,7 @@ asm void daAlink_c::procZoraMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procZoraMove() { +asm int daAlink_c::procZoraMove() { nofralloc #include "asm/d/a/d_a_alink/procZoraMove__9daAlink_cFv.s" } @@ -972,7 +994,7 @@ asm void daAlink_c::procZoraMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLookAroundTurnInit() { +asm int daAlink_c::procLookAroundTurnInit() { nofralloc #include "asm/d/a/d_a_alink/procLookAroundTurnInit__9daAlink_cFv.s" } @@ -982,7 +1004,7 @@ asm void daAlink_c::procLookAroundTurnInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLookAroundTurn() { +asm int daAlink_c::procLookAroundTurn() { nofralloc #include "asm/d/a/d_a_alink/procLookAroundTurn__9daAlink_cFv.s" } @@ -993,7 +1015,7 @@ asm void daAlink_c::procLookAroundTurn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procTradeItemOutInit() { +asm int daAlink_c::procTradeItemOutInit() { nofralloc #include "asm/d/a/d_a_alink/procTradeItemOutInit__9daAlink_cFv.s" } @@ -1003,7 +1025,7 @@ asm void daAlink_c::procTradeItemOutInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procTradeItemOut() { +asm int daAlink_c::procTradeItemOut() { nofralloc #include "asm/d/a/d_a_alink/procTradeItemOut__9daAlink_cFv.s" } @@ -1023,7 +1045,7 @@ asm void daAlink_c::checkLetterItem(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procNotUseItemInit(int param_0) { +asm int daAlink_c::procNotUseItemInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procNotUseItemInit__9daAlink_cFi.s" } @@ -1033,7 +1055,7 @@ asm void daAlink_c::procNotUseItemInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procNotUseItem() { +asm int daAlink_c::procNotUseItem() { nofralloc #include "asm/d/a/d_a_alink/procNotUseItem__9daAlink_cFv.s" } @@ -1043,7 +1065,7 @@ asm void daAlink_c::procNotUseItem() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwordReadyInit() { +asm int daAlink_c::procSwordReadyInit() { nofralloc #include "asm/d/a/d_a_alink/procSwordReadyInit__9daAlink_cFv.s" } @@ -1053,7 +1075,7 @@ asm void daAlink_c::procSwordReadyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwordReady() { +asm int daAlink_c::procSwordReady() { nofralloc #include "asm/d/a/d_a_alink/procSwordReady__9daAlink_cFv.s" } @@ -1073,7 +1095,7 @@ asm void daAlink_c::setSwordPushAnime() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwordPushInit() { +asm int daAlink_c::procSwordPushInit() { nofralloc #include "asm/d/a/d_a_alink/procSwordPushInit__9daAlink_cFv.s" } @@ -1083,7 +1105,7 @@ asm void daAlink_c::procSwordPushInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwordPush() { +asm int daAlink_c::procSwordPush() { nofralloc #include "asm/d/a/d_a_alink/procSwordPush__9daAlink_cFv.s" } @@ -1094,7 +1116,7 @@ asm void daAlink_c::procSwordPush() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGanonFinishInit() { +asm int daAlink_c::procGanonFinishInit() { nofralloc #include "asm/d/a/d_a_alink/procGanonFinishInit__9daAlink_cFv.s" } @@ -1115,7 +1137,7 @@ bool daAlink_c::procGanonFinish() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCutFastReadyInit() { +asm int daAlink_c::procCutFastReadyInit() { nofralloc #include "asm/d/a/d_a_alink/procCutFastReadyInit__9daAlink_cFv.s" } @@ -1139,7 +1161,7 @@ int daAlink_c::procMasterSwordStickInit() { setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_STICK); voiceStart(Z2SE_AL_V_MSTR_SW_STICK); mNormalSpeed = FLOAT_LABEL(lit_6108); - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; mCommonCounter = 0; return 1; @@ -1181,7 +1203,7 @@ int daAlink_c::procMasterSwordPullInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procMasterSwordPull() { +asm int daAlink_c::procMasterSwordPull() { nofralloc #include "asm/d/a/d_a_alink/procMasterSwordPull__9daAlink_cFv.s" } @@ -1201,10 +1223,10 @@ int daAlink_c::procDungeonWarpReadyInit() { u32 id; if (checkItemSetButton(DUNGEON_EXIT) != 2) { - id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, + id = fopAcM_create(PROC_OBJ_TKS, 0, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); } else { - id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &mCollisionRot, + id = fopAcM_create(PROC_NPC_TKC, 2, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1); } @@ -1216,7 +1238,7 @@ int daAlink_c::procDungeonWarpReadyInit() { commonProcInit(PROC_DUNGEON_WARP_READY); setSingleAnimeBase(ANM_TRADE_ITEM_PULL_OUT); mNormalSpeed = FLOAT_LABEL(lit_6108); - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; field_0x32cc = id; mCommonCounter = 0; keepItemData(); @@ -1229,7 +1251,7 @@ int daAlink_c::procDungeonWarpReadyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDungeonWarpReady() { +asm int daAlink_c::procDungeonWarpReady() { nofralloc #include "asm/d/a/d_a_alink/procDungeonWarpReady__9daAlink_cFv.s" } @@ -1253,7 +1275,7 @@ bool daAlink_c::procDungeonWarpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDungeonWarpInit() { +asm int daAlink_c::procDungeonWarpInit() { nofralloc #include "asm/d/a/d_a_alink/procDungeonWarpInit__9daAlink_cFv.s" } @@ -1273,7 +1295,7 @@ int daAlink_c::procDungeonWarp() { } f32 sin = cM_ssin(mCommonCounter); - mCollisionRot.y += (s16)(14336.0f * sin); + shape_angle.y += (s16)(14336.0f * sin); field_0x300e = 8.0f * sin + 24.0f * (1.0f - mScale.x); if (field_0x3012 != 0) { @@ -1293,7 +1315,7 @@ int daAlink_c::procDungeonWarp() { if (checkItemGet(DUNGEON_EXIT, 1)) { int escape = dStage_stagInfo_GetEscapeWarp(i_dComIfGp_getStage()->getStagInfo()); - dStage_changeScene(escape, 0.0f, 12, -1, mCollisionRot.y, -1); + dStage_changeScene(escape, 0.0f, 12, -1, shape_angle.y, -1); dMeter2Info_warpOutProc(); } else { dungeonReturnWarp(); @@ -1330,7 +1352,7 @@ asm int daAlink_c::procDungeonWarp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDungeonWarpSceneStartInit() { +asm int daAlink_c::procDungeonWarpSceneStartInit() { nofralloc #include "asm/d/a/d_a_alink/procDungeonWarpSceneStartInit__9daAlink_cFv.s" } @@ -1340,7 +1362,7 @@ asm void daAlink_c::procDungeonWarpSceneStartInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procDungeonWarpSceneStart() { +asm int daAlink_c::procDungeonWarpSceneStart() { nofralloc #include "asm/d/a/d_a_alink/procDungeonWarpSceneStart__9daAlink_cFv.s" } @@ -1429,14 +1451,14 @@ void daAlink_c::skipPortalObjWarp() { if (i_checkNoResetFlg3(FLG3_UNK_2000000) && (dComIfGp_TargetWarpPt_get() == 9 && dComIfGp_TransportWarp_check())) { - dStage_changeScene(2, FLOAT_LABEL(lit_6108), 0, fopAcM_GetRoomNo(this), mCollisionRot.y, + dStage_changeScene(2, FLOAT_LABEL(lit_6108), 0, fopAcM_GetRoomNo(this), shape_angle.y, -1); } else { u32 data = setParamData(dMeter2Info_getWarpRoomNo(), 0, 0xCA, 0); dComIfGs_setTurnRestart(dMeter2Info_getWarpPos(), dMeter2Info_getWarpPlayerNo(), dMeter2Info_getWarpRoomNo(), data); dComIfGp_setNextStage(dMeter2Info_getWarpStageName(), -4, dMeter2Info_getWarpRoomNo(), -1, - FLOAT_LABEL(lit_6108), 0, 1, 0, mCollisionRot.y, 1, 0); + FLOAT_LABEL(lit_6108), 0, 1, 0, shape_angle.y, 1, 0); } if (mProcID == PROC_WARP) { @@ -1477,7 +1499,7 @@ void daAlink_c::checkWarpStart() { if (dMeter2Info_getWarpStatus() == 1) { stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); u32 exitID = dStage_stagInfo_GetEscapeWarp(stag_info); - dStage_changeScene(exitID, FLOAT_LABEL(lit_6108), 0, -1, mCollisionRot.y, -1); + dStage_changeScene(exitID, FLOAT_LABEL(lit_6108), 0, -1, shape_angle.y, -1); } else { dungeonReturnWarp(); } @@ -1501,7 +1523,7 @@ asm void daAlink_c::warpModelTexScroll() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoWarpInit(int param_0, int param_1) { +asm int daAlink_c::procCoWarpInit(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procCoWarpInit__9daAlink_cFii.s" } @@ -1511,7 +1533,7 @@ asm void daAlink_c::procCoWarpInit(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoWarp() { +asm int daAlink_c::procCoWarp() { nofralloc #include "asm/d/a/d_a_alink/procCoWarp__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_effect.inc b/src/d/a/d_a_alink_effect.inc index e019bfb82b..6f0931a623 100644 --- a/src/d/a/d_a_alink_effect.inc +++ b/src/d/a/d_a_alink_effect.inc @@ -12,8 +12,8 @@ void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, csXyz #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, - csXyz const* param_3) { +asm JPABaseEmitter* daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, + csXyz const* param_3) { nofralloc #include "asm/d/a/d_a_alink/setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s" } @@ -22,35 +22,34 @@ asm void daAlink_c::setEmitter(u32* param_0, u16 param_1, cXyz const* param_2, /* 80120634-801206C4 11AF74 0090+00 4/4 0/0 0/0 .text * setEmitterPolyColor__9daAlink_cFPUlUsR13cBgS_PolyInfoPC4cXyzPC5csXyz */ -void daAlink_c::setEmitterPolyColor(u32* param_0, u16 param_1, cBgS_PolyInfo& param_2, - cXyz const* param_3, csXyz const* param_4) { +JPABaseEmitter* daAlink_c::setEmitterPolyColor(u32* param_0, u16 param_1, cBgS_PolyInfo& param_2, + cXyz const* param_3, csXyz const* param_4) { *param_0 = dComIfGp_particle_setPolyColor(*param_0, param_1, param_2, param_3, &mTevStr, param_4, NULL, 0, NULL, -1, NULL); dComIfGp_particle_levelEmitterOnEventMove(*param_0); - dComIfGp_particle_getEmitter(*param_0); + + return dComIfGp_particle_getEmitter(*param_0); } /* 801206C4-80120778 11B004 00B4+00 2/2 0/0 0/0 .text * setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setEmitterColor(u32* param_0, u16 param_1, cXyz const* param_2, - csXyz const* param_3) { - nofralloc -#include "asm/d/a/d_a_alink/setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz.s" +JPABaseEmitter* daAlink_c::setEmitterColor(u32* param_0, u16 param_1, cXyz const* param_2, + csXyz const* param_3) { + *param_0 = dComIfGp_particle_setColor(*param_0, param_1, param_2, &mTevStr, NULL, NULL, + FLOAT_LABEL(lit_6108), -1, param_3, NULL, NULL, -1, NULL); + dComIfGp_particle_levelEmitterOnEventMove(*param_0); + + return dComIfGp_particle_getEmitter(*param_0); } -#pragma pop /* 80120778-801207BC 11B0B8 0044+00 9/9 0/0 0/0 .text stopDrawParticle__9daAlink_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::stopDrawParticle(u32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/stopDrawParticle__9daAlink_cFUl.s" +void daAlink_c::stopDrawParticle(u32 param_0) { + JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(param_0); + + if (emitter != NULL) { + emitter->stopDrawParticle(); + } } -#pragma pop /* 801207BC-80120880 11B0FC 00C4+00 1/0 0/0 0/0 .text setEffectFrontRollParam__9daAlink_cFv */ #pragma push @@ -93,9 +92,7 @@ asm void daAlink_c::setEffectSmallLandParam() { #pragma pop /* 80121000-80121004 11B940 0004+00 1/0 0/0 0/0 .text setEffectLandParam__9daAlink_cFv */ -void daAlink_c::setEffectLandParam() { - /* empty function */ -} +void daAlink_c::setEffectLandParam() {} /* 80121004-801211C0 11B944 01BC+00 1/0 0/0 0/0 .text setEffectSumouParam__9daAlink_cFv */ @@ -339,14 +336,14 @@ asm void daAlink_c::setWolfBarrierHitEffect(dBgS_LinChk& param_0) { /* 80124144-801241E0 11EA84 009C+00 9/9 0/0 0/0 .text setCutWaterDropEffect__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCutWaterDropEffect() { - nofralloc -#include "asm/d/a/d_a_alink/setCutWaterDropEffect__9daAlink_cFv.s" +void daAlink_c::setCutWaterDropEffect() { + if (field_0x32c0 > 0) { + cXyz sp18; + mDoMtx_multVecZero(mpLinkModel->i_getAnmMtx(1), &sp18); + dComIfGp_particle_setColor(0x2A4, &sp18, &mTevStr, NULL, NULL, FLOAT_LABEL(lit_6108), -1, + &shape_angle, NULL, NULL, -1, NULL); + } } -#pragma pop /* 801241E0-801244E4 11EB20 0304+00 1/1 0/0 0/0 .text setWaterDropEffect__9daAlink_cFv */ #pragma push @@ -511,45 +508,44 @@ asm void daAlink_c::setFreezeEffect() { #pragma pop /* 80125524-801255BC 11FE64 0098+00 1/1 0/0 0/0 .text setWoodShieldBurnEffect__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWoodShieldBurnEffect() { - nofralloc -#include "asm/d/a/d_a_alink/setWoodShieldBurnEffect__9daAlink_cFv.s" +void daAlink_c::setWoodShieldBurnEffect() { + if (field_0x2fcb != 0) { + for (int i = 0; i < 2; i++) { + JPABaseEmitter* emitter = + setEmitter(&field_0x3260[i], effName_42309[i], ¤t.pos, NULL); + + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mShieldModel->getBaseTRMtx()); + } + } + } } -#pragma pop /* 801255BC-80125628 11FEFC 006C+00 3/3 0/0 0/0 .text clearWoodShieldBurnEffect__9daAlink_cFv */ -#ifdef NONMATCHING void daAlink_c::clearWoodShieldBurnEffect() { if (field_0x2fcb != 0) { for (int i = 0; i < 2; i++) { - stopDrawParticle(field_0x3260[i].field_0x0); + stopDrawParticle(field_0x3260[i]); } + field_0x2fcb = 0; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::clearWoodShieldBurnEffect() { - nofralloc -#include "asm/d/a/d_a_alink/clearWoodShieldBurnEffect__9daAlink_cFv.s" -} -#pragma pop -#endif /* 80125628-801256EC 11FF68 00C4+00 1/1 0/0 0/0 .text setWoodShieldBurnOutEffect__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWoodShieldBurnOutEffect() { - nofralloc -#include "asm/d/a/d_a_alink/setWoodShieldBurnOutEffect__9daAlink_cFv.s" +void daAlink_c::setWoodShieldBurnOutEffect() { + for (int i = 0; i < 2; i++) { + JPABaseEmitter* emitter = dComIfGp_particle_setColor( + effName_42340[i], ¤t.pos, &mTevStr, NULL, NULL, FLOAT_LABEL(lit_6108), -1); + + if (emitter != NULL) { + emitter->setGlobalRTMatrix(mShieldModel->getBaseTRMtx()); + } + } + + field_0x2fcb = 1; + clearWoodShieldBurnEffect(); } -#pragma pop /* 801256EC-80125778 12002C 008C+00 2/2 0/0 0/0 .text * initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz */ @@ -738,6 +734,7 @@ bool daAlink_sight_c::create() { if (!mLockCursor.create()) { return false; } + ResTIMG* data = (ResTIMG*)dComIfG_getObjectRes(l_arcName, daAlink_c::getSightBti()); setSightImage(data); return true; diff --git a/src/d/a/d_a_alink_grab.inc b/src/d/a/d_a_alink_grab.inc index 8afa86684a..4a60fcfe62 100644 --- a/src/d/a/d_a_alink_grab.inc +++ b/src/d/a/d_a_alink_grab.inc @@ -37,8 +37,6 @@ 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); @@ -46,36 +44,28 @@ void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo* mPolyInfo4.ClearPi(); } - field_0x342c = param_0 * 0.8f; - field_0x3430 = param_1 * 0.8f; + f32 tmp_08 = lit_14064; + field_0x342c = tmp_08 * param_0; + field_0x3430 = tmp_08 * param_1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setGrabCollisionOffset(f32 param_0, f32 param_1, cBgS_PolyInfo* param_2) { - nofralloc -#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 */ bool daAlink_c::exchangeGrabActor(fopAc_ac_c* p_actor) { fopAc_ac_c* actor = mGrabItemAcKeep.getActor(); - if (actor == NULL) { return false; } fopAcM_cancelCarryNow(actor); - actor->mCollisionRot.z = 0; - actor->mCollisionRot.x = 0; + actor->shape_angle.z = 0; + actor->shape_angle.x = 0; + if (checkGrabCarryActor()) { actor->current.angle.z = 0; actor->current.angle.x = 0; } + setGrabItemActor(p_actor); return true; } @@ -93,60 +83,41 @@ bool daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) { setGrabUpperAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); return true; } + return false; } /* 800E3BCC-800E3C1C 0DE50C 0050+00 2/2 0/0 0/0 .text getGrabThrowRate__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getGrabThrowRate() { - nofralloc -#include "asm/d/a/d_a_alink/getGrabThrowRate__9daAlink_cFv.s" +f32 daAlink_c::getGrabThrowRate() { + if (checkHeavyStateOn(1, 1)) { + return lit_6023 * mHeavySpeedMultiplier; + } + + return lit_6023; } -#pragma pop /* 800E3C1C-800E3C6C 0DE55C 0050+00 3/3 0/0 0/0 .text checkGrabThrowAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabThrowAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabThrowAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkGrabThrowAnime() const { + return checkGrabUpThrowAnime() || checkGrabSideThrowAnime() || checkGrabHeavyThrowAnime(); } -#pragma pop /* 800E3C6C-800E3C9C 0DE5AC 0030+00 25/25 0/0 0/0 .text checkGrabAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkGrabAnime() const { + return checkGrabAnimeUp() || checkGrabAnimeSide() || checkGrabAnimeCarry(); } -#pragma pop /* 800E3C9C-800E3CF4 0DE5DC 0058+00 5/5 0/0 0/0 .text checkGrabAnimeAndThrow__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabAnimeAndThrow() const { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabAnimeAndThrow__9daAlink_cCFv.s" +BOOL daAlink_c::checkGrabAnimeAndThrow() const { + return checkGrabAnime() || checkGrabThrowAnime(); } -#pragma pop /* 800E3CF4-800E3D1C 0DE634 0028+00 10/10 0/0 0/0 .text checkGrabCarryActor__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkGrabCarryActor() { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabCarryActor__9daAlink_cFv.s" +BOOL daAlink_c::checkGrabCarryActor() { + return mGrabItemAcKeep.getActor() != NULL && + fopAcM_CheckCarryType(mGrabItemAcKeep.getActor(), fopAcM_CARRY_TYPE_8); } -#pragma pop /* 800E3D1C-800E3D6C 0DE65C 0050+00 1/1 0/0 0/0 .text checkGrabSlowMoveActor__9daAlink_cFv */ #pragma push @@ -160,24 +131,16 @@ asm void daAlink_c::checkGrabSlowMoveActor() { /* 800E3D6C-800E3D94 0DE6AC 0028+00 1/1 0/0 0/0 .text checkGrabHeavyActor__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabHeavyActor() { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabHeavyActor__9daAlink_cFv.s" +BOOL daAlink_c::checkGrabHeavyActor() { + return mGrabItemAcKeep.getActor() != NULL && + fopAcM_CheckCarryType(mGrabItemAcKeep.getActor(), fopAcM_CARRY_HEAVY); } -#pragma pop /* 800E3D94-800E3DBC 0DE6D4 0028+00 2/2 0/0 0/0 .text checkGrabSideActor__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabSideActor() { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabSideActor__9daAlink_cFv.s" +BOOL daAlink_c::checkGrabSideActor() { + return mGrabItemAcKeep.getActor() != NULL && + fopAcM_CheckCarryType(mGrabItemAcKeep.getActor(), fopAcM_CARRY_SIDE); } -#pragma pop /* 800E3DBC-800E3F20 0DE6FC 0164+00 5/5 0/0 0/0 .text setGrabUpperAnime__9daAlink_cFf */ #pragma push @@ -190,14 +153,15 @@ asm void daAlink_c::setGrabUpperAnime(f32 param_0) { #pragma pop /* 800E3F20-800E3F50 0DE860 0030+00 8/8 0/0 0/0 .text checkGrabRooster__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkGrabRooster() { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabRooster__9daAlink_cFv.s" +BOOL daAlink_c::checkGrabRooster() { + if (mGrabItemAcKeep.getActor() != NULL && + (fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_NI || + fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_NPC_TKJ2)) { + return true; + } + + return false; } -#pragma pop /* ############################################################################################## */ /* 80425628-80425634 052348 000C+00 0/1 0/0 0/0 .bss @4421 */ @@ -299,14 +263,9 @@ asm void daAlink_c::setCarryArmAngle(f32 param_0, f32 param_1) { #pragma pop /* 800E5150-800E5170 0DFA90 0020+00 1/1 0/0 0/0 .text checkGrabNotThrow__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGrabNotThrow() { - nofralloc -#include "asm/d/a/d_a_alink/checkGrabNotThrow__9daAlink_cFv.s" +BOOL daAlink_c::checkGrabNotThrow() { + return checkGrabCarryActor(); } -#pragma pop /* 800E5170-800E53AC 0DFAB0 023C+00 1/1 0/0 0/0 .text checkNextActionGrab__9daAlink_cFv */ @@ -320,14 +279,13 @@ asm void daAlink_c::checkNextActionGrab() { #pragma pop /* 800E53AC-800E53F8 0DFCEC 004C+00 2/2 0/0 0/0 .text initGrabNextMode__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initGrabNextMode() { - nofralloc -#include "asm/d/a/d_a_alink/initGrabNextMode__9daAlink_cFv.s" +void daAlink_c::initGrabNextMode() { + if (!checkGrabAnime()) { + setGrabUpperAnime(lit_6041); + } + + checkNextAction(0); } -#pragma pop /* 800E53F8-800E57AC 0DFD38 03B4+00 3/3 0/0 0/0 .text setGrabItemThrow__9daAlink_cFv */ #pragma push @@ -361,14 +319,10 @@ asm void daAlink_c::putObjLineCheck(dBgS_LinChk& param_0, cXyz* param_1, fopAc_a #pragma pop /* 800E5B6C-800E5BB4 0E04AC 0048+00 3/3 0/0 0/0 .text grabLineCheck__9daAlink_cFP4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::grabLineCheck(cXyz* param_0, cXyz* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/grabLineCheck__9daAlink_cFP4cXyzP4cXyz.s" +void daAlink_c::grabLineCheck(cXyz* i_start, cXyz* i_end) { + mObjLinChk.Set(i_start, i_end, mGrabItemAcKeep.getActor()); + dComIfG_Bgsp().LineCross(&mObjLinChk); } -#pragma pop /* 800E5BB4-800E5CBC 0E04F4 0108+00 6/6 0/0 0/0 .text setGrabItemActor__9daAlink_cFP10fopAc_ac_c */ @@ -385,7 +339,7 @@ asm void daAlink_c::setGrabItemActor(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabReadyInit() { +asm int daAlink_c::procGrabReadyInit() { nofralloc #include "asm/d/a/d_a_alink/procGrabReadyInit__9daAlink_cFv.s" } @@ -395,7 +349,7 @@ asm void daAlink_c::procGrabReadyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabReady() { +asm int daAlink_c::procGrabReady() { nofralloc #include "asm/d/a/d_a_alink/procGrabReady__9daAlink_cFv.s" } @@ -405,7 +359,7 @@ asm void daAlink_c::procGrabReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabUpInit() { +asm int daAlink_c::procGrabUpInit() { nofralloc #include "asm/d/a/d_a_alink/procGrabUpInit__9daAlink_cFv.s" } @@ -415,7 +369,7 @@ asm void daAlink_c::procGrabUpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabUp() { +asm int daAlink_c::procGrabUp() { nofralloc #include "asm/d/a/d_a_alink/procGrabUp__9daAlink_cFv.s" } @@ -425,7 +379,7 @@ asm void daAlink_c::procGrabUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabMiss() { +asm int daAlink_c::procGrabMiss() { nofralloc #include "asm/d/a/d_a_alink/procGrabMiss__9daAlink_cFv.s" } @@ -435,7 +389,7 @@ asm void daAlink_c::procGrabMiss() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabThrowInit(int param_0) { +asm int daAlink_c::procGrabThrowInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procGrabThrowInit__9daAlink_cFi.s" } @@ -445,7 +399,7 @@ asm void daAlink_c::procGrabThrowInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabThrow() { +asm int daAlink_c::procGrabThrow() { nofralloc #include "asm/d/a/d_a_alink/procGrabThrow__9daAlink_cFv.s" } @@ -455,7 +409,7 @@ asm void daAlink_c::procGrabThrow() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabPutInit() { +asm int daAlink_c::procGrabPutInit() { nofralloc #include "asm/d/a/d_a_alink/procGrabPutInit__9daAlink_cFv.s" } @@ -465,7 +419,7 @@ asm void daAlink_c::procGrabPutInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabPut() { +asm int daAlink_c::procGrabPut() { nofralloc #include "asm/d/a/d_a_alink/procGrabPut__9daAlink_cFv.s" } @@ -475,7 +429,7 @@ asm void daAlink_c::procGrabPut() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabWaitInit() { +asm int daAlink_c::procGrabWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procGrabWaitInit__9daAlink_cFv.s" } @@ -485,7 +439,7 @@ asm void daAlink_c::procGrabWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabWait() { +asm int daAlink_c::procGrabWait() { nofralloc #include "asm/d/a/d_a_alink/procGrabWait__9daAlink_cFv.s" } @@ -496,7 +450,7 @@ asm void daAlink_c::procGrabWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabReboundInit(int param_0) { +asm int daAlink_c::procGrabReboundInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procGrabReboundInit__9daAlink_cFi.s" } @@ -506,7 +460,7 @@ asm void daAlink_c::procGrabReboundInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabRebound() { +asm int daAlink_c::procGrabRebound() { nofralloc #include "asm/d/a/d_a_alink/procGrabRebound__9daAlink_cFv.s" } @@ -516,7 +470,7 @@ asm void daAlink_c::procGrabRebound() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabStandInit() { +asm int daAlink_c::procGrabStandInit() { nofralloc #include "asm/d/a/d_a_alink/procGrabStandInit__9daAlink_cFv.s" } @@ -526,7 +480,7 @@ asm void daAlink_c::procGrabStandInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrabStand() { +asm int daAlink_c::procGrabStand() { nofralloc #include "asm/d/a/d_a_alink/procGrabStand__9daAlink_cFv.s" } @@ -550,7 +504,7 @@ bool daAlink_c::checkInsectActorName(fopAc_ac_c* insectActor) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procInsectCatchInit() { +asm int daAlink_c::procInsectCatchInit() { nofralloc #include "asm/d/a/d_a_alink/procInsectCatchInit__9daAlink_cFv.s" } @@ -577,7 +531,7 @@ bool daAlink_c::procInsectCatch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPickUpInit() { +asm int daAlink_c::procPickUpInit() { nofralloc #include "asm/d/a/d_a_alink/procPickUpInit__9daAlink_cFv.s" } @@ -587,7 +541,7 @@ asm void daAlink_c::procPickUpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPickUp() { +asm int daAlink_c::procPickUp() { nofralloc #include "asm/d/a/d_a_alink/procPickUp__9daAlink_cFv.s" } @@ -597,7 +551,7 @@ asm void daAlink_c::procPickUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPickPutInit(int param_0) { +asm int daAlink_c::procPickPutInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procPickPutInit__9daAlink_cFi.s" } @@ -607,7 +561,7 @@ asm void daAlink_c::procPickPutInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPickPut() { +asm int daAlink_c::procPickPut() { nofralloc #include "asm/d/a/d_a_alink/procPickPut__9daAlink_cFv.s" } @@ -625,28 +579,17 @@ asm void daAlink_c::checkSetChainPullAnime(s16 param_0) { /* 800E794C-800E7994 0E228C 0048+00 3/3 0/0 0/0 .text getChainStickAngleY__9daAlink_cCFs */ -// one instruction off -#ifdef NONMATCHING s16 daAlink_c::getChainStickAngleY(s16 param_0) const { - s16 tmp = field_0x2fe2 - param_0; + s16 angle = field_0x2fe2 - param_0; - if (tmp >= 14336 && tmp < 32640) { - return param_0 + 32640; - } else if (tmp <= -14336 && tmp <= -32640) { - return field_0x2fe2; + if (angle >= 0x3800 && angle < 0x7F80) { + return param_0 + 0x7F80; + } else if (angle <= -0x3800 && angle > -0x7F80) { + return param_0 - 0x7F80; } - return param_0 - 32640; + + return field_0x2fe2; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s16 daAlink_c::getChainStickAngleY(s16 param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/getChainStickAngleY__9daAlink_cCFs.s" -} -#pragma pop -#endif /* 800E7994-800E79F8 0E22D4 0064+00 1/1 0/0 0/0 .text checkChainEmphasys__9daAlink_cFv */ #pragma push @@ -662,7 +605,7 @@ asm u8 daAlink_c::checkChainEmphasys() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::searchFmChainPos() { +asm u8 daAlink_c::searchFmChainPos() { nofralloc #include "asm/d/a/d_a_alink/searchFmChainPos__9daAlink_cFv.s" } @@ -698,7 +641,7 @@ bool daAlink_c::checkChainBlockPushPull() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFmChainUpInit() { +asm int daAlink_c::procFmChainUpInit() { nofralloc #include "asm/d/a/d_a_alink/procFmChainUpInit__9daAlink_cFv.s" } @@ -708,7 +651,7 @@ asm void daAlink_c::procFmChainUpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFmChainUp() { +asm int daAlink_c::procFmChainUp() { nofralloc #include "asm/d/a/d_a_alink/procFmChainUp__9daAlink_cFv.s" } @@ -718,7 +661,7 @@ asm void daAlink_c::procFmChainUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFmChainStrongPullInit() { +asm int daAlink_c::procFmChainStrongPullInit() { nofralloc #include "asm/d/a/d_a_alink/procFmChainStrongPullInit__9daAlink_cFv.s" } @@ -729,7 +672,7 @@ asm void daAlink_c::procFmChainStrongPullInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFmChainStrongPull() { +asm int daAlink_c::procFmChainStrongPull() { nofralloc #include "asm/d/a/d_a_alink/procFmChainStrongPull__9daAlink_cFv.s" } @@ -747,14 +690,9 @@ asm void daAlink_c::setWallGrabStatus(u8 param_0, u8 param_1) { #pragma pop /* 800E7EE4-800E7EF4 0E2824 0010+00 2/2 0/0 0/0 .text getWallGrabStatus__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::getWallGrabStatus() { - nofralloc -#include "asm/d/a/d_a_alink/getWallGrabStatus__9daAlink_cFv.s" +int daAlink_c::getWallGrabStatus() { + return i_dComIfGp_getRStatus(); } -#pragma pop /* 800E7EF4-800E7F18 0E2834 0024+00 1/1 0/0 0/0 .text wallGrabTrigger__9daAlink_cFv */ void daAlink_c::wallGrabTrigger() { @@ -802,43 +740,25 @@ asm void daAlink_c::checkPullBehindWall() { void daAlink_c::offGoatStopGame() { if (mSpecialMode != SMODE_GOAT_STOP) { return; - } else { - mSpecialMode = 0; } + + mSpecialMode = 0; } /* 800E82B0-800E8314 0E2BF0 0064+00 4/4 0/0 0/0 .text * checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c */ -#ifdef NONMATCHING BOOL daAlink_c::checkGoatCatchActor(fopAc_ac_c* param_0) { s16 name = fopAcM_GetName(param_0); - bool check = false; - - if (name == 0x1b1 || name == 0x21) { - if (checkSpecialNpc(param_0) || name == 0x106) { - check = true; - } - } - - return check; + return name == PROC_E_GOB || (name == PROC_OBJ_GRA && checkSpecialNpc(param_0)) || name == PROC_COW; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkGoatCatchActor(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c.s" -} -#pragma pop -#endif /* 800E8314-800E8334 0E2C54 0020+00 2/2 0/0 0/0 .text getGoatCatchDistance2__9daAlink_cFv */ -float daAlink_c::getGoatCatchDistance2() { - if (field_0x27f4->mBase.mProcName == 0x216) { +f32 daAlink_c::getGoatCatchDistance2() { + if (fopAcM_GetName(field_0x27f4) == PROC_B_MGN) { return lit_16066; } + return lit_16067; } @@ -862,7 +782,7 @@ asm void daAlink_c::getPushPullAnimeSpeed() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoPushPullWaitInit(int param_0) { +asm int daAlink_c::procCoPushPullWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procCoPushPullWaitInit__9daAlink_cFi.s" } @@ -872,7 +792,7 @@ asm void daAlink_c::procCoPushPullWaitInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoPushPullWait() { +asm int daAlink_c::procCoPushPullWait() { nofralloc #include "asm/d/a/d_a_alink/procCoPushPullWait__9daAlink_cFv.s" } @@ -883,7 +803,7 @@ asm void daAlink_c::procCoPushPullWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoPushMoveInit(int param_0, int param_1) { +asm int daAlink_c::procCoPushMoveInit(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procCoPushMoveInit__9daAlink_cFii.s" } @@ -893,7 +813,7 @@ asm void daAlink_c::procCoPushMoveInit(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoPushMove() { +asm int daAlink_c::procCoPushMove() { nofralloc #include "asm/d/a/d_a_alink/procCoPushMove__9daAlink_cFv.s" } @@ -903,7 +823,7 @@ asm void daAlink_c::procCoPushMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPullMoveInit(int param_0) { +asm int daAlink_c::procPullMoveInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procPullMoveInit__9daAlink_cFi.s" } @@ -913,7 +833,7 @@ asm void daAlink_c::procPullMoveInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procPullMove() { +asm int daAlink_c::procPullMove() { nofralloc #include "asm/d/a/d_a_alink/procPullMove__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_guard.inc b/src/d/a/d_a_alink_guard.inc index 13ee2abf87..0b579dde62 100644 --- a/src/d/a/d_a_alink_guard.inc +++ b/src/d/a/d_a_alink_guard.inc @@ -1,13 +1,8 @@ /* 800DC548-800DC5A4 0D6E88 005C+00 13/13 0/0 0/0 .text checkEnemyGroup__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkEnemyGroup__9daAlink_cFP10fopAc_ac_c.s" +BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* i_actor) { + return i_actor != NULL && (fopAcM_GetGroup(i_actor) == 2 || fopAcM_GetName(i_actor) == PROC_E_ZH || checkSpecialNpc(i_actor)); } -#pragma pop /* 800DC5A4-800DC5DC 0D6EE4 0038+00 4/4 0/0 0/0 .text checkSpecialNpc__9daAlink_cFP10fopAc_ac_c */ #pragma push @@ -63,14 +58,9 @@ asm void daAlink_c::setArrowShieldActor(fopAc_ac_c* param_0, int param_1) { /* 800DCA2C-800DCA80 0D736C 0054+00 1/1 0/0 2/2 .text * checkWoodShieldEquipNotIronBall__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWoodShieldEquipNotIronBall() const { - nofralloc -#include "asm/d/a/d_a_alink/checkWoodShieldEquipNotIronBall__9daAlink_cCFv.s" +BOOL daAlink_c::checkWoodShieldEquipNotIronBall() const { + return checkWoodShieldEquip() && !checkIronBallEquip(); } -#pragma pop /* 800DCA80-800DCD74 0D73C0 02F4+00 0/0 0/0 1/1 .text * getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz */ @@ -86,98 +76,57 @@ asm void daAlink_c::getArrowShieldOffset(cXyz const* param_0, csXyz const* param /* 800DCD74-800DCDF0 0D76B4 007C+00 0/0 0/0 2/2 .text * setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const* param_2, - cXyz const* param_3) const { - nofralloc -#include "asm/d/a/d_a_alink/setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz.s" +void daAlink_c::setArrowShieldPos(cXyz* param_0, csXyz* param_1, cXyz const* param_2, + cXyz const* param_3) const { + cXyz sp1C; + + mDoMtx_multVecSR(getShieldMtx(), param_3, &sp1C); + param_1->x = sp1C.atan2sY_XZ(); + param_1->y = sp1C.atan2sX_Z(); + + mDoMtx_multVec(getShieldMtx(), param_2, param_0); } -#pragma pop /* 800DCDF0-800DCE6C 0D7730 007C+00 17/17 0/0 0/0 .text checkUpperGuardAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkUpperGuardAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperGuardAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkUpperGuardAnime() const { + return i_checkNoResetFlg2(FLG2_UNK_8000000) && !checkEventRun() && !i_checkNoResetFlg0(FLG0_UNK_2) && + mProcID != PROC_GUARD_BREAK && mProcID != PROC_CUT_REVERSE && mProcID != PROC_GUARD_ATTACK; } -#pragma pop /* 800DCE6C-800DCF04 0D77AC 0098+00 1/0 0/0 0/0 .text checkPlayerGuard__9daAlink_cCFv */ -#ifdef NONMATCHING BOOL daAlink_c::checkPlayerGuard() const { - bool ret = true; - bool bvar2 = true; - if (!i_checkSmallUpperGuardAnime()) { - bool bvar1 = false; - if (i_checkShieldGet() && checkHorseLieAnime()) { - bvar1 = true; - } - if (!bvar1) { - bvar2 = false; - } - } - - if (!bvar2 && !checkUpperGuardAnime()) { - ret = false; - } - - return ret; + return (i_checkSmallUpperGuardAnime() || (i_checkShieldGet() && checkHorseLieAnime())) || + checkUpperGuardAnime(); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkPlayerGuard() const { - nofralloc -#include "asm/d/a/d_a_alink/checkPlayerGuard__9daAlink_cCFv.s" -} -#pragma pop -#endif /* 800DCF04-800DCF64 0D7844 0060+00 5/5 0/0 0/0 .text checkPlayerGuardAndAttack__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkPlayerGuardAndAttack() const { - nofralloc -#include "asm/d/a/d_a_alink/checkPlayerGuardAndAttack__9daAlink_cCFv.s" +BOOL daAlink_c::checkPlayerGuardAndAttack() const { + return checkPlayerGuard() || mProcID == PROC_GUARD_ATTACK; } -#pragma pop /* 800DCF64-800DD008 0D78A4 00A4+00 2/2 0/0 0/0 .text checkGuardAccept__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkGuardAccept() { - nofralloc -#include "asm/d/a/d_a_alink/checkGuardAccept__9daAlink_cFv.s" +BOOL daAlink_c::checkGuardAccept() { + return i_checkModeFlg(0x80) && i_checkShieldGet() && !i_checkFmChainGrabAnime() && !checkNotBattleStage(); } -#pragma pop /* 800DD008-800DD018 0D7948 0010+00 11/11 0/0 0/0 .text setUpperGuardAnime__9daAlink_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setUpperGuardAnime(f32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setUpperGuardAnime__9daAlink_cFf.s" +void daAlink_c::setUpperGuardAnime(f32) { + i_onNoResetFlg2(FLG2_UNK_8000000); } -#pragma pop /* 800DD018-800DD114 0D7958 00FC+00 1/1 0/0 0/0 .text setShieldGuard__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setShieldGuard() { - nofralloc -#include "asm/d/a/d_a_alink/setShieldGuard__9daAlink_cFv.s" +void daAlink_c::setShieldGuard() { + if ((mProcID == PROC_GUARD_SLIP && mEquipItem != IRONBALL) || i_checkSmallUpperGuardAnime() || + (checkGuardAccept() && !checkGrabAnime() && !checkUpperReadyThrowAnime() && + !checkDkCaught2Anime() && !checkKandelaarSwingAnime() && !checkCutDashAnime() && + !checkCutDashChargeAnime() && (!checkEquipAnime() || checkUpperGuardAnime()) && + !i_checkRideOn() && checkGuardActionChange())) { + i_onNoResetFlg2(FLG2_UNK_8000000); + } else { + i_offNoResetFlg2(FLG2_UNK_8000000); + } } -#pragma pop /* 800DD114-800DD1D4 0D7A54 00C0+00 1/1 0/0 0/0 .text setGuardSe__9daAlink_cFP12dCcD_GObjInf */ #pragma push @@ -204,7 +153,7 @@ asm void daAlink_c::setSmallGuard(dCcD_GObjInf* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { +asm int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { nofralloc #include "asm/d/a/d_a_alink/procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf.s" } @@ -214,7 +163,7 @@ asm void daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGuardSlip() { +asm int daAlink_c::procGuardSlip() { nofralloc #include "asm/d/a/d_a_alink/procGuardSlip__9daAlink_cFv.s" } @@ -225,7 +174,7 @@ asm void daAlink_c::procGuardSlip() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGuardAttackInit() { +asm int daAlink_c::procGuardAttackInit() { nofralloc #include "asm/d/a/d_a_alink/procGuardAttackInit__9daAlink_cFv.s" } @@ -235,7 +184,7 @@ asm void daAlink_c::procGuardAttackInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGuardAttack() { +asm int daAlink_c::procGuardAttack() { nofralloc #include "asm/d/a/d_a_alink/procGuardAttack__9daAlink_cFv.s" } @@ -245,7 +194,7 @@ asm void daAlink_c::procGuardAttack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGuardBreakInit() { +asm int daAlink_c::procGuardBreakInit() { nofralloc #include "asm/d/a/d_a_alink/procGuardBreakInit__9daAlink_cFv.s" } @@ -255,7 +204,7 @@ asm void daAlink_c::procGuardBreakInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGuardBreak() { +asm int daAlink_c::procGuardBreak() { nofralloc #include "asm/d/a/d_a_alink/procGuardBreak__9daAlink_cFv.s" } @@ -275,7 +224,7 @@ asm bool daAlink_c::procTurnMoveInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procTurnMove() { +asm int daAlink_c::procTurnMove() { nofralloc #include "asm/d/a/d_a_alink/procTurnMove__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_hang.inc b/src/d/a/d_a_alink_hang.inc index aa285e3a14..72ce24aeeb 100644 --- a/src/d/a/d_a_alink_hang.inc +++ b/src/d/a/d_a_alink_hang.inc @@ -24,7 +24,7 @@ asm void daAlink_c::getHangDirectionFromAngle() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) { +asm BOOL daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) { nofralloc #include "asm/d/a/d_a_alink/hangMoveBgCheck__9daAlink_cFsP4cXyz.s" } @@ -84,7 +84,7 @@ asm void daAlink_c::checkHangStartSideWall(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangStartInit() { +asm int daAlink_c::procHangStartInit() { nofralloc #include "asm/d/a/d_a_alink/procHangStartInit__9daAlink_cFv.s" } @@ -94,7 +94,7 @@ asm void daAlink_c::procHangStartInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangStart() { +asm int daAlink_c::procHangStart() { nofralloc #include "asm/d/a/d_a_alink/procHangStart__9daAlink_cFv.s" } @@ -105,7 +105,7 @@ asm void daAlink_c::procHangStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { +asm int daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { nofralloc #include "asm/d/a/d_a_alink/procHangFallStartInit__9daAlink_cFP8cM3dGPla.s" } @@ -115,7 +115,7 @@ asm void daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangFallStart() { +asm int daAlink_c::procHangFallStart() { nofralloc #include "asm/d/a/d_a_alink/procHangFallStart__9daAlink_cFv.s" } @@ -125,7 +125,7 @@ asm void daAlink_c::procHangFallStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangUpInit(int param_0) { +asm int daAlink_c::procHangUpInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procHangUpInit__9daAlink_cFi.s" } @@ -135,7 +135,7 @@ asm void daAlink_c::procHangUpInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangUp() { +asm int daAlink_c::procHangUp() { nofralloc #include "asm/d/a/d_a_alink/procHangUp__9daAlink_cFv.s" } @@ -145,7 +145,7 @@ asm void daAlink_c::procHangUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangWaitInit() { +asm int daAlink_c::procHangWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procHangWaitInit__9daAlink_cFv.s" } @@ -155,7 +155,7 @@ asm void daAlink_c::procHangWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangWait() { +asm int daAlink_c::procHangWait() { nofralloc #include "asm/d/a/d_a_alink/procHangWait__9daAlink_cFv.s" } @@ -165,7 +165,7 @@ asm void daAlink_c::procHangWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangMoveInit(int param_0) { +asm int daAlink_c::procHangMoveInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procHangMoveInit__9daAlink_cFi.s" } @@ -175,7 +175,7 @@ asm void daAlink_c::procHangMoveInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangMove() { +asm int daAlink_c::procHangMove() { nofralloc #include "asm/d/a/d_a_alink/procHangMove__9daAlink_cFv.s" } @@ -185,7 +185,7 @@ asm void daAlink_c::procHangMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangClimbInit(f32 param_0) { +asm int daAlink_c::procHangClimbInit(f32 param_0) { nofralloc #include "asm/d/a/d_a_alink/procHangClimbInit__9daAlink_cFf.s" } @@ -195,7 +195,7 @@ asm void daAlink_c::procHangClimbInit(f32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangClimb() { +asm int daAlink_c::procHangClimb() { nofralloc #include "asm/d/a/d_a_alink/procHangClimb__9daAlink_cFv.s" } @@ -206,7 +206,7 @@ asm void daAlink_c::procHangClimb() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangWallCatchInit() { +asm int daAlink_c::procHangWallCatchInit() { nofralloc #include "asm/d/a/d_a_alink/procHangWallCatchInit__9daAlink_cFv.s" } @@ -216,7 +216,7 @@ asm void daAlink_c::procHangWallCatchInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangWallCatch() { +asm int daAlink_c::procHangWallCatch() { nofralloc #include "asm/d/a/d_a_alink/procHangWallCatch__9daAlink_cFv.s" } @@ -226,7 +226,7 @@ asm void daAlink_c::procHangWallCatch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangReadyInit() { +asm int daAlink_c::procHangReadyInit() { nofralloc #include "asm/d/a/d_a_alink/procHangReadyInit__9daAlink_cFv.s" } @@ -236,7 +236,7 @@ asm void daAlink_c::procHangReadyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangReady() { +asm int daAlink_c::procHangReady() { nofralloc #include "asm/d/a/d_a_alink/procHangReady__9daAlink_cFv.s" } @@ -247,7 +247,7 @@ asm void daAlink_c::procHangReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangLeverDownInit() { +asm int daAlink_c::procHangLeverDownInit() { nofralloc #include "asm/d/a/d_a_alink/procHangLeverDownInit__9daAlink_cFv.s" } @@ -257,7 +257,7 @@ asm void daAlink_c::procHangLeverDownInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHangLeverDown() { +asm int daAlink_c::procHangLeverDown() { nofralloc #include "asm/d/a/d_a_alink/procHangLeverDown__9daAlink_cFv.s" } @@ -309,7 +309,7 @@ asm void daAlink_c::setBossBodyHangPos() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procBossBodyHangInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -319,7 +319,7 @@ asm void daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBossBodyHang() { +asm int daAlink_c::procBossBodyHang() { nofralloc #include "asm/d/a/d_a_alink/procBossBodyHang__9daAlink_cFv.s" } @@ -413,7 +413,7 @@ asm void daAlink_c::checkLadderFall() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderUpStartInit() { +asm int daAlink_c::procLadderUpStartInit() { nofralloc #include "asm/d/a/d_a_alink/procLadderUpStartInit__9daAlink_cFv.s" } @@ -423,7 +423,7 @@ asm void daAlink_c::procLadderUpStartInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderUpStart() { +asm int daAlink_c::procLadderUpStart() { nofralloc #include "asm/d/a/d_a_alink/procLadderUpStart__9daAlink_cFv.s" } @@ -434,7 +434,7 @@ asm void daAlink_c::procLadderUpStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderUpEndInit(int param_0) { +asm int daAlink_c::procLadderUpEndInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procLadderUpEndInit__9daAlink_cFi.s" } @@ -444,7 +444,7 @@ asm void daAlink_c::procLadderUpEndInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderUpEnd() { +asm int daAlink_c::procLadderUpEnd() { nofralloc #include "asm/d/a/d_a_alink/procLadderUpEnd__9daAlink_cFv.s" } @@ -454,7 +454,7 @@ asm void daAlink_c::procLadderUpEnd() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderDownStartInit() { +asm int daAlink_c::procLadderDownStartInit() { nofralloc #include "asm/d/a/d_a_alink/procLadderDownStartInit__9daAlink_cFv.s" } @@ -465,7 +465,7 @@ asm void daAlink_c::procLadderDownStartInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderDownStart() { +asm int daAlink_c::procLadderDownStart() { nofralloc #include "asm/d/a/d_a_alink/procLadderDownStart__9daAlink_cFv.s" } @@ -476,7 +476,7 @@ asm void daAlink_c::procLadderDownStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderDownEndInit(int param_0) { +asm int daAlink_c::procLadderDownEndInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procLadderDownEndInit__9daAlink_cFi.s" } @@ -486,7 +486,7 @@ asm void daAlink_c::procLadderDownEndInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderDownEnd() { +asm int daAlink_c::procLadderDownEnd() { nofralloc #include "asm/d/a/d_a_alink/procLadderDownEnd__9daAlink_cFv.s" } @@ -496,7 +496,7 @@ asm void daAlink_c::procLadderDownEnd() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) { +asm int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) { nofralloc #include "asm/d/a/d_a_alink/procLadderMoveInit__9daAlink_cFiiP4cXyz.s" } @@ -506,7 +506,7 @@ asm void daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procLadderMove() { +asm int daAlink_c::procLadderMove() { nofralloc #include "asm/d/a/d_a_alink/procLadderMove__9daAlink_cFv.s" } @@ -672,7 +672,7 @@ asm void daAlink_c::setClimbStartNotGround() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbUpStartInit(int param_0) { +asm int daAlink_c::procClimbUpStartInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procClimbUpStartInit__9daAlink_cFi.s" } @@ -682,7 +682,7 @@ asm void daAlink_c::procClimbUpStartInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbUpStart() { +asm int daAlink_c::procClimbUpStart() { nofralloc #include "asm/d/a/d_a_alink/procClimbUpStart__9daAlink_cFv.s" } @@ -692,7 +692,7 @@ asm void daAlink_c::procClimbUpStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbDownStartInit(s16 param_0) { +asm int daAlink_c::procClimbDownStartInit(s16 param_0) { nofralloc #include "asm/d/a/d_a_alink/procClimbDownStartInit__9daAlink_cFs.s" } @@ -702,7 +702,7 @@ asm void daAlink_c::procClimbDownStartInit(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbDownStart() { +asm int daAlink_c::procClimbDownStart() { nofralloc #include "asm/d/a/d_a_alink/procClimbDownStart__9daAlink_cFv.s" } @@ -712,7 +712,7 @@ asm void daAlink_c::procClimbDownStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbMoveUpDownInit(int param_0) { +asm int daAlink_c::procClimbMoveUpDownInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procClimbMoveUpDownInit__9daAlink_cFi.s" } @@ -723,7 +723,7 @@ asm void daAlink_c::procClimbMoveUpDownInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbMoveUpDown() { +asm int daAlink_c::procClimbMoveUpDown() { nofralloc #include "asm/d/a/d_a_alink/procClimbMoveUpDown__9daAlink_cFv.s" } @@ -734,7 +734,7 @@ asm void daAlink_c::procClimbMoveUpDown() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbMoveSideInit() { +asm int daAlink_c::procClimbMoveSideInit() { nofralloc #include "asm/d/a/d_a_alink/procClimbMoveSideInit__9daAlink_cFv.s" } @@ -744,7 +744,7 @@ asm void daAlink_c::procClimbMoveSideInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbMoveSide() { +asm int daAlink_c::procClimbMoveSide() { nofralloc #include "asm/d/a/d_a_alink/procClimbMoveSide__9daAlink_cFv.s" } @@ -754,7 +754,7 @@ asm void daAlink_c::procClimbMoveSide() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbWaitInit(int param_0, int param_1) { +asm int daAlink_c::procClimbWaitInit(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procClimbWaitInit__9daAlink_cFii.s" } @@ -764,7 +764,7 @@ asm void daAlink_c::procClimbWaitInit(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbWait() { +asm int daAlink_c::procClimbWait() { nofralloc #include "asm/d/a/d_a_alink/procClimbWait__9daAlink_cFv.s" } @@ -775,7 +775,7 @@ asm void daAlink_c::procClimbWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbToRoofInit() { +asm int daAlink_c::procClimbToRoofInit() { nofralloc #include "asm/d/a/d_a_alink/procClimbToRoofInit__9daAlink_cFv.s" } @@ -785,7 +785,7 @@ asm void daAlink_c::procClimbToRoofInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procClimbToRoof() { +asm int daAlink_c::procClimbToRoof() { nofralloc #include "asm/d/a/d_a_alink/procClimbToRoof__9daAlink_cFv.s" } @@ -858,7 +858,7 @@ asm void daAlink_c::checkNextActionRoofHang() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1, +asm int daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1, int param_2) { nofralloc #include "asm/d/a/d_a_alink/procRoofHangStartInit__9daAlink_cFRC13cBgS_PolyInfoRC4cXyzi.s" @@ -869,7 +869,7 @@ asm void daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz con #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangStart() { +asm int daAlink_c::procRoofHangStart() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangStart__9daAlink_cFv.s" } @@ -880,7 +880,7 @@ asm void daAlink_c::procRoofHangStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangWaitInit(int param_0) { +asm int daAlink_c::procRoofHangWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procRoofHangWaitInit__9daAlink_cFi.s" } @@ -890,7 +890,7 @@ asm void daAlink_c::procRoofHangWaitInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangWait() { +asm int daAlink_c::procRoofHangWait() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangWait__9daAlink_cFv.s" } @@ -900,7 +900,7 @@ asm void daAlink_c::procRoofHangWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangFrontMoveInit() { +asm int daAlink_c::procRoofHangFrontMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangFrontMoveInit__9daAlink_cFv.s" } @@ -911,7 +911,7 @@ asm void daAlink_c::procRoofHangFrontMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangFrontMove() { +asm int daAlink_c::procRoofHangFrontMove() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangFrontMove__9daAlink_cFv.s" } @@ -921,7 +921,7 @@ asm void daAlink_c::procRoofHangFrontMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangSideMoveInit() { +asm int daAlink_c::procRoofHangSideMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangSideMoveInit__9daAlink_cFv.s" } @@ -932,7 +932,7 @@ asm void daAlink_c::procRoofHangSideMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangSideMove() { +asm int daAlink_c::procRoofHangSideMove() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangSideMove__9daAlink_cFv.s" } @@ -943,7 +943,7 @@ asm void daAlink_c::procRoofHangSideMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangTurnInit() { +asm int daAlink_c::procRoofHangTurnInit() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangTurnInit__9daAlink_cFv.s" } @@ -953,7 +953,7 @@ asm void daAlink_c::procRoofHangTurnInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofHangTurn() { +asm int daAlink_c::procRoofHangTurn() { nofralloc #include "asm/d/a/d_a_alink/procRoofHangTurn__9daAlink_cFv.s" } @@ -974,7 +974,7 @@ asm void daAlink_c::setRoofHangSwitch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procRoofSwitchHangInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -984,7 +984,7 @@ asm void daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procRoofSwitchHang() { +asm int daAlink_c::procRoofSwitchHang() { nofralloc #include "asm/d/a/d_a_alink/procRoofSwitchHang__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_hook.inc b/src/d/a/d_a_alink_hook.inc index c2fe6d7661..6e6f036a87 100644 --- a/src/d/a/d_a_alink_hook.inc +++ b/src/d/a/d_a_alink_hook.inc @@ -40,18 +40,18 @@ cXyz* daAlink_c::getHookshotTopPos() { /* 80108600-80108668 102F40 0068+00 1/0 0/0 0/0 .text checkHookshotReturnMode__9daAlink_cCFv */ bool daAlink_c::checkHookshotReturnMode() const { return checkHookshotItem(mEquipItem) && - (mHookshotMode == 4 || mHookshotMode == 5 || mHookshotMode == 6); + (mItemMode == 4 || mItemMode == 5 || mItemMode == 6); } /* 80108668-801086DC 102FA8 0074+00 1/0 0/0 0/0 .text checkHookshotShootReturnMode__9daAlink_cCFv */ bool daAlink_c::checkHookshotShootReturnMode() const { - return (checkHookshotItem(mEquipItem) && mHookshotMode == 3) || checkHookshotReturnMode(); + return (checkHookshotItem(mEquipItem) && mItemMode == 3) || checkHookshotReturnMode(); } /* 801086DC-8010871C 10301C 0040+00 6/6 0/0 0/0 .text resetHookshotMode__9daAlink_cFv */ void daAlink_c::resetHookshotMode() { - mHookshotMode = 0; + mItemMode = 0; initLockAt(); mSearchBallScale = __float_max[0]; } @@ -150,7 +150,7 @@ BOOL daAlink_c::checkBossOctaIealRoom() { /* 80108A18-80108A3C 103358 0024+00 19/19 0/0 0/0 .text checkHookshotWait__9daAlink_cCFv */ BOOL daAlink_c::checkHookshotWait() const { - return mHookshotMode == 0 || mHookshotMode == 1; + return mItemMode == 0 || mItemMode == 1; } /* 80108A3C-80108A90 10337C 0054+00 1/1 0/0 0/0 .text setHookshotCatchNow__9daAlink_cFv @@ -187,7 +187,7 @@ bool daAlink_c::setHookshotCarryOffset(unsigned int actorID, cXyz const* offset) fopAc_ac_c* actor = field_0x284c.getActor(); if (actor != NULL && fopAcM_checkHookCarryNow(actor) && actorID == field_0x284c.getID()) { - field_0x37f8 = *offset; + mIronBallCenterPos = *offset; return true; } @@ -231,16 +231,16 @@ void daAlink_c::setHookshotModel() { field_0x3020 = 0; field_0x3024 = 0; - field_0x122C[0].SetAtSpl(dCcG_At_Spl_UNK_0); - field_0x122C[0].OffAtNoHitMark(); - field_0x122C[0].SetAtAtp(0); - field_0x122C[0].SetR(lit_7808); - field_0x122C[0].SetAtSe(8); - field_0x122C[0].SetAtType(AT_TYPE_HOOKSHOT); - field_0x122C[0].SetAtHitMark(1); - field_0x122C[0].OnAtSetBit(); - field_0x122C[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack); - field_0x122C[0].SetAtMtrl(0); + mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0); + mAtCps[0].OffAtNoHitMark(); + mAtCps[0].SetAtAtp(0); + mAtCps[0].SetR(lit_7808); + mAtCps[0].SetAtSe(8); + mAtCps[0].SetAtType(AT_TYPE_HOOKSHOT); + mAtCps[0].SetAtHitMark(1); + mAtCps[0].OnAtSetBit(); + mAtCps[0].SetAtHitCallback(daAlink_hookshotAtHitCallBack); + mAtCps[0].SetAtMtrl(0); field_0x076c->init(&mHookshotTopPos, 1); } @@ -257,9 +257,9 @@ asm void daAlink_c::setHookshotSight() { /* 80108EEC-80108F64 10382C 0078+00 1/1 0/0 0/0 .text cancelHookshotShot__9daAlink_cFv */ void daAlink_c::cancelHookshotShot() { if (checkHookshotItem(mEquipItem) && - (mHookshotMode == 3 || mHookshotMode == 5 || mHookshotMode == 4)) { + (mItemMode == 3 || mItemMode == 5 || mItemMode == 4)) { if (mProcID != PROC_HOOKSHOT_MOVE && mProcID != PROC_HOOKSHOT_FLY && mProcID != PROC_HOOKSHOT_SUBJECT) { - mHookshotMode = 6; + mItemMode = 6; } } } @@ -268,7 +268,7 @@ void daAlink_c::cancelHookshotShot() { // checkAttentionLock has weird codegen #ifdef NONMATCHING bool daAlink_c::cancelHookshotMove() { - if (mFastShotTime == 0 && mHookshotMode == 0) { + if (mFastShotTime == 0 && mItemMode == 0) { if (checkHookshotAnime() && (mTargetedActor == NULL && !i_checkAttentionLock() || !itemButton())) { resetUpperAnime(UPPER_2, -1.0f); @@ -291,24 +291,26 @@ asm bool daAlink_c::cancelHookshotMove() { /* 8010903C-80109070 10397C 0034+00 2/2 0/0 0/0 .text * checkHookshotReadyMaterialOffMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHookshotReadyMaterialOffMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHookshotReadyMaterialOffMode__9daAlink_cCFv.s" +BOOL daAlink_c::checkHookshotReadyMaterialOffMode() const { + return mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HORSE_HOOKSHOT_SUBJECT || + mProcID == PROC_SWIM_HOOKSHOT_SUBJECT || mProcID == PROC_HOOKSHOT_SUBJECT; } -#pragma pop /* 80109070-801090EC 1039B0 007C+00 5/5 0/0 0/0 .text setHookshotReadyMaterial__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setHookshotReadyMaterial() { - nofralloc -#include "asm/d/a/d_a_alink/setHookshotReadyMaterial__9daAlink_cFv.s" +void daAlink_c::setHookshotReadyMaterial() { + if (i_checkNoResetFlg2(FLG2_UNK_80000) || checkCasualWearFlg()) { + mFallVoiceInit = 0; + } else if (checkZoraWearFlg()) { + field_0x32cc = 0x37B; + mFallVoiceInit = 14; + } else if (checkMagicArmorWearFlg()) { + field_0x32cc = 0xC80; + mFallVoiceInit = 13; + } else { + field_0x32cc = 0x11C47; + mFallVoiceInit = 18; + } } -#pragma pop /* 801090EC-80109170 103A2C 0084+00 8/8 0/0 0/0 .text initHookshotUpperAnimeSpeed__9daAlink_cFi */ #pragma push @@ -356,7 +358,7 @@ asm void daAlink_c::checkUpperItemActionHookshot() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkNextActionHookshot() { +asm int daAlink_c::checkNextActionHookshot() { nofralloc #include "asm/d/a/d_a_alink/checkNextActionHookshot__9daAlink_cFv.s" } @@ -501,7 +503,7 @@ asm void daAlink_c::commonHookshotWallWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotSubjectInit() { +asm int daAlink_c::procHookshotSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procHookshotSubjectInit__9daAlink_cFv.s" } @@ -512,7 +514,7 @@ asm void daAlink_c::procHookshotSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotSubject() { +asm int daAlink_c::procHookshotSubject() { nofralloc #include "asm/d/a/d_a_alink/procHookshotSubject__9daAlink_cFv.s" } @@ -523,7 +525,7 @@ asm void daAlink_c::procHookshotSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotMoveInit() { +asm int daAlink_c::procHookshotMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procHookshotMoveInit__9daAlink_cFv.s" } @@ -533,7 +535,7 @@ asm void daAlink_c::procHookshotMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotMove() { +asm int daAlink_c::procHookshotMove() { nofralloc #include "asm/d/a/d_a_alink/procHookshotMove__9daAlink_cFv.s" } @@ -544,7 +546,7 @@ asm void daAlink_c::procHookshotMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotFlyInit() { +asm int daAlink_c::procHookshotFlyInit() { nofralloc #include "asm/d/a/d_a_alink/procHookshotFlyInit__9daAlink_cFv.s" } @@ -554,7 +556,7 @@ asm void daAlink_c::procHookshotFlyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotFly() { +asm int daAlink_c::procHookshotFly() { nofralloc #include "asm/d/a/d_a_alink/procHookshotFly__9daAlink_cFv.s" } @@ -565,7 +567,7 @@ asm void daAlink_c::procHookshotFly() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int param_2) { +asm int daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int param_2) { nofralloc #include "asm/d/a/d_a_alink/procHookshotRoofWaitInit__9daAlink_cFiP10fopAc_ac_ci.s" } @@ -576,7 +578,7 @@ asm void daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, i #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotRoofWait() { +asm int daAlink_c::procHookshotRoofWait() { nofralloc #include "asm/d/a/d_a_alink/procHookshotRoofWait__9daAlink_cFv.s" } @@ -587,7 +589,7 @@ asm void daAlink_c::procHookshotRoofWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procHookshotRoofShootInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -598,7 +600,7 @@ asm void daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotRoofShoot() { +asm int daAlink_c::procHookshotRoofShoot() { nofralloc #include "asm/d/a/d_a_alink/procHookshotRoofShoot__9daAlink_cFv.s" } @@ -609,7 +611,7 @@ asm void daAlink_c::procHookshotRoofShoot() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -620,7 +622,7 @@ asm void daAlink_c::procHookshotRoofBootsInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotRoofBoots() { +asm int daAlink_c::procHookshotRoofBoots() { nofralloc #include "asm/d/a/d_a_alink/procHookshotRoofBoots__9daAlink_cFv.s" } @@ -630,7 +632,7 @@ asm void daAlink_c::procHookshotRoofBoots() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) { +asm int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) { nofralloc #include "asm/d/a/d_a_alink/procHookshotWallWaitInit__9daAlink_cFisi.s" } @@ -641,7 +643,7 @@ asm void daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotWallWait() { +asm int daAlink_c::procHookshotWallWait() { nofralloc #include "asm/d/a/d_a_alink/procHookshotWallWait__9daAlink_cFv.s" } @@ -651,7 +653,7 @@ asm void daAlink_c::procHookshotWallWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotWallShootInit() { +asm int daAlink_c::procHookshotWallShootInit() { nofralloc #include "asm/d/a/d_a_alink/procHookshotWallShootInit__9daAlink_cFv.s" } @@ -662,7 +664,7 @@ asm void daAlink_c::procHookshotWallShootInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHookshotWallShoot() { +asm int daAlink_c::procHookshotWallShoot() { nofralloc #include "asm/d/a/d_a_alink/procHookshotWallShoot__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_horse.inc b/src/d/a/d_a_alink_horse.inc index c2d4c51109..d7d33e5dbb 100644 --- a/src/d/a/d_a_alink_horse.inc +++ b/src/d/a/d_a_alink_horse.inc @@ -9,14 +9,13 @@ static asm void* daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1) { #pragma pop /* 800EC758-800EC76C 0E7098 0014+00 1/1 0/0 0/0 .text daAlink_searchCoach__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchCoach__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1) { + if (fopAcM_GetName(param_0) == PROC_NPC_COACH) { + return param_0; + } + + return NULL; } -#pragma pop /* 800EC76C-800EC7B0 0E70AC 0044+00 3/3 0/0 0/0 .text checkHorseZeldaBowMode__9daAlink_cFv */ #pragma push @@ -41,35 +40,29 @@ asm void daAlink_c::setHorseZeldaDamage() { /* 800EC7DC-800EC814 0E711C 0038+00 2/2 0/0 0/0 .text checkHorseDashAccept__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkHorseDashAccept() { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseDashAccept__9daAlink_cFv.s" +BOOL daAlink_c::checkHorseDashAccept() { + return !checkStageName("F_SP103"); } -#pragma pop /* 800EC814-800EC87C 0E7154 0068+00 1/1 0/0 0/0 .text checkCowGame__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkCowGame() { - nofralloc -#include "asm/d/a/d_a_alink/checkCowGame__9daAlink_cFv.s" +BOOL daAlink_c::checkCowGame() { + return checkStageName("F_SP00") && + (dComIfGp_getStartStageLayer() == 4 || dComIfGp_getStartStageLayer() == 5); } -#pragma pop /* 800EC87C-800EC8F8 0E71BC 007C+00 2/2 0/0 0/0 .text getReinRideDirection__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getReinRideDirection() { - nofralloc -#include "asm/d/a/d_a_alink/getReinRideDirection__9daAlink_cFv.s" +int daAlink_c::getReinRideDirection() { + s16 angle = fopAcM_searchActorAngleY(field_0x27f4, this) - field_0x27f4->shape_angle.y; + + if (fopAcM_GetName(field_0x27f4) == PROC_HORSE && abs(angle) > 0x6800) { + return DIR_BACKWARD; + } else if (angle > 0) { + return DIR_LEFT; + } + + return DIR_RIGHT; } -#pragma pop /* 800EC8F8-800ECA3C 0E7238 0144+00 1/1 0/0 0/0 .text checkReinRideBgCheck__9daAlink_cFv */ @@ -83,14 +76,19 @@ asm void daAlink_c::checkReinRideBgCheck() { #pragma pop /* 800ECA3C-800ECAAC 0E737C 0070+00 3/3 0/0 0/0 .text commonInitForceRideRein__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::commonInitForceRideRein() { - nofralloc -#include "asm/d/a/d_a_alink/commonInitForceRideRein__9daAlink_cFv.s" +void daAlink_c::commonInitForceRideRein() { + setHeavyBoots(0); + onModeFlg(0x400); + field_0x2fc0 = 0; + field_0x2fab = 0x13; + field_0x3002 = 0; + field_0x3004 = 0; + field_0x30a6 = 0; + + initServiceWaitTime(); + mAttentionInfo.field_0xa = 0x46; + mUnderFrameCtrl[0].onEndFlg(); } -#pragma pop /* 800ECAAC-800ECB58 0E73EC 00AC+00 1/1 0/0 0/0 .text initForceRideBoar__9daAlink_cFv */ #pragma push @@ -103,14 +101,14 @@ asm void daAlink_c::initForceRideBoar() { #pragma pop /* 800ECB58-800ECBD0 0E7498 0078+00 4/4 0/0 0/0 .text initForceRideHorse__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initForceRideHorse() { - nofralloc -#include "asm/d/a/d_a_alink/initForceRideHorse__9daAlink_cFv.s" +void daAlink_c::initForceRideHorse() { + commonInitForceRideRein(); + mRideStatus = 1; + mRideAcKeep.setData(i_dComIfGp_getHorseActor()); + field_0x384c = (cXyz*)&l_horseBaseAnime; + i_dComIfGp_getHorseActor()->onRideFlg(); + mZ2Link.setRiding(true); } -#pragma pop /* 800ECBD0-800ECD90 0E7510 01C0+00 5/5 0/0 0/0 .text rideGetOff__9daAlink_cFv */ #pragma push @@ -124,34 +122,20 @@ asm void daAlink_c::rideGetOff() { /* 800ECD90-800ECDC4 0E76D0 0034+00 1/1 0/0 0/0 .text checkHorseNotDamageReaction__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHorseNotDamageReaction() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseNotDamageReaction__9daAlink_cCFv.s" +BOOL daAlink_c::checkHorseNotDamageReaction() const { + return mProcID == PROC_HORSE_TURN || mProcID == PROC_HORSE_JUMP || mProcID == PROC_HORSE_HANG || + mProcID == PROC_HORSE_LAND; } -#pragma pop /* 800ECDC4-800ECDEC 0E7704 0028+00 1/1 0/0 2/2 .text checkHorseWaitLashAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHorseWaitLashAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseWaitLashAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkHorseWaitLashAnime() const { + return checkHorseUnderDashStartAnime() && i_checkModeFlg(1); } -#pragma pop /* 800ECDEC-800ECE10 0E772C 0024+00 1/1 0/0 0/0 .text checkHorseReinLeftOnly__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHorseReinLeftOnly() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseReinLeftOnly__9daAlink_cCFv.s" +BOOL daAlink_c::checkHorseReinLeftOnly() const { + return (field_0x2fab & 8) && !(field_0x2fab & 0x10); } -#pragma pop /* 800ECE10-800ECF04 0E7750 00F4+00 2/2 0/0 0/0 .text getReinHandType__9daAlink_cCFv */ #pragma push @@ -165,35 +149,22 @@ asm void daAlink_c::getReinHandType() const { /* 800ECF04-800ECF5C 0E7844 0058+00 5/5 0/0 1/1 .text checkHorseLieAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkHorseLieAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseLieAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkHorseLieAnime() const { + return checkUnderMove0BckNoArc(ANM_HORSE_CROUCH) || checkUpperHorseLieAnime(); } -#pragma pop /* 800ECF5C-800ECF9C 0E789C 0040+00 0/0 0/0 3/3 .text checkHorseSubjectivity__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkHorseSubjectivity() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseSubjectivity__9daAlink_cCFv.s" +BOOL daAlink_c::checkHorseSubjectivity() const { + return i_dComIfGp_checkPlayerStatus0(0, 0x2000) || mProcID == PROC_HORSE_BOW_SUBJECT || + mProcID == PROC_HORSE_HOOKSHOT_SUBJECT || mProcID == PROC_HORSE_BOOMERANG_SUBJECT; } -#pragma pop /* 800ECF9C-800ECFF4 0E78DC 0058+00 2/2 0/0 0/0 .text setHorseSwordUpAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setHorseSwordUpAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setHorseSwordUpAnime__9daAlink_cFv.s" +void daAlink_c::setHorseSwordUpAnime() { + setUpperAnimeBaseSpeed(0xCC, daAlinkHIO_horse_c0::m.mSwordUpAnmSpeed, daAlinkHIO_horse_c0::m.mSwordUpInterpolation); + setFaceBck(0xE8, 1, 0xFFFF); } -#pragma pop /* 800ECFF4-800ED074 0E7934 0080+00 1/1 0/0 0/0 .text setHorseTurnUpperAnime__9daAlink_cFi */ #pragma push @@ -206,14 +177,9 @@ asm void daAlink_c::setHorseTurnUpperAnime(int param_0) { #pragma pop /* 800ED074-800ED0D4 0E79B4 0060+00 9/9 0/0 0/0 .text checkHorseNoUpperAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkHorseNoUpperAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkHorseNoUpperAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkHorseNoUpperAnime() const { + return checkHorseTiredAnime() || checkNoUpperAnime() || checkHorseSwordUpAnime(); } -#pragma pop /* 800ED0D4-800ED1F0 0E7A14 011C+00 0/0 0/0 2/2 .text getHorseReinHandPos__9daAlink_cFP4cXyzP4cXyz */ @@ -247,14 +213,9 @@ asm void daAlink_c::setHorseStirrup() { #pragma pop /* 800ED4B8-800ED4DC 0E7DF8 0024+00 1/1 0/0 0/0 .text changeBoarRunRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::changeBoarRunRide() { - nofralloc -#include "asm/d/a/d_a_alink/changeBoarRunRide__9daAlink_cFv.s" +void daAlink_c::changeBoarRunRide() { + static_cast(mRideAcKeep.getActor())->setRunRideMode(); } -#pragma pop /* 800ED4DC-800ED78C 0E7E1C 02B0+00 7/7 0/0 0/0 .text setSyncHorsePos__9daAlink_cFv */ #pragma push @@ -287,14 +248,13 @@ asm void daAlink_c::setSyncBoarRunPos() { #pragma pop /* 800EDA24-800EDA78 0E8364 0054+00 33/33 0/0 0/0 .text setSyncRidePos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSyncRidePos() { - nofralloc -#include "asm/d/a/d_a_alink/setSyncRidePos__9daAlink_cFv.s" +void daAlink_c::setSyncRidePos() { + if (checkHorseRide()) { + setSyncHorsePos(); + } else { + setSyncBoarPos(); + } } -#pragma pop /* 800EDA78-800EDB48 0E83B8 00D0+00 6/6 0/0 0/0 .text setHorseTurnAnime__9daAlink_cFv */ #pragma push @@ -525,7 +485,7 @@ asm void daAlink_c::setHorseGetOff(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseRideInit() { +asm int daAlink_c::procHorseRideInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseRideInit__9daAlink_cFv.s" } @@ -535,7 +495,7 @@ asm void daAlink_c::procHorseRideInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseRide() { +asm int daAlink_c::procHorseRide() { nofralloc #include "asm/d/a/d_a_alink/procHorseRide__9daAlink_cFv.s" } @@ -546,7 +506,7 @@ asm void daAlink_c::procHorseRide() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseGetOffInit(int param_0) { +asm int daAlink_c::procHorseGetOffInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procHorseGetOffInit__9daAlink_cFi.s" } @@ -556,7 +516,7 @@ asm void daAlink_c::procHorseGetOffInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseGetOff() { +asm int daAlink_c::procHorseGetOff() { nofralloc #include "asm/d/a/d_a_alink/procHorseGetOff__9daAlink_cFv.s" } @@ -567,7 +527,7 @@ asm void daAlink_c::procHorseGetOff() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseWaitInit() { +asm int daAlink_c::procHorseWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseWaitInit__9daAlink_cFv.s" } @@ -577,7 +537,7 @@ asm void daAlink_c::procHorseWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseWait() { +asm int daAlink_c::procHorseWait() { nofralloc #include "asm/d/a/d_a_alink/procHorseWait__9daAlink_cFv.s" } @@ -587,7 +547,7 @@ asm void daAlink_c::procHorseWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseTurnInit() { +asm int daAlink_c::procHorseTurnInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseTurnInit__9daAlink_cFv.s" } @@ -597,7 +557,7 @@ asm void daAlink_c::procHorseTurnInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseTurn() { +asm int daAlink_c::procHorseTurn() { nofralloc #include "asm/d/a/d_a_alink/procHorseTurn__9daAlink_cFv.s" } @@ -607,7 +567,7 @@ asm void daAlink_c::procHorseTurn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseJumpInit() { +asm int daAlink_c::procHorseJumpInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseJumpInit__9daAlink_cFv.s" } @@ -617,7 +577,7 @@ asm void daAlink_c::procHorseJumpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseJump() { +asm int daAlink_c::procHorseJump() { nofralloc #include "asm/d/a/d_a_alink/procHorseJump__9daAlink_cFv.s" } @@ -627,7 +587,7 @@ asm void daAlink_c::procHorseJump() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseLandInit() { +asm int daAlink_c::procHorseLandInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseLandInit__9daAlink_cFv.s" } @@ -637,7 +597,7 @@ asm void daAlink_c::procHorseLandInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseLand() { +asm int daAlink_c::procHorseLand() { nofralloc #include "asm/d/a/d_a_alink/procHorseLand__9daAlink_cFv.s" } @@ -647,7 +607,7 @@ asm void daAlink_c::procHorseLand() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseSubjectivityInit() { +asm int daAlink_c::procHorseSubjectivityInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseSubjectivityInit__9daAlink_cFv.s" } @@ -658,7 +618,7 @@ asm void daAlink_c::procHorseSubjectivityInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseSubjectivity() { +asm int daAlink_c::procHorseSubjectivity() { nofralloc #include "asm/d/a/d_a_alink/procHorseSubjectivity__9daAlink_cFv.s" } @@ -668,7 +628,7 @@ asm void daAlink_c::procHorseSubjectivity() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseCutInit() { +asm int daAlink_c::procHorseCutInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseCutInit__9daAlink_cFv.s" } @@ -678,7 +638,7 @@ asm void daAlink_c::procHorseCutInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseCut() { +asm int daAlink_c::procHorseCut() { nofralloc #include "asm/d/a/d_a_alink/procHorseCut__9daAlink_cFv.s" } @@ -688,7 +648,7 @@ asm void daAlink_c::procHorseCut() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseCutChargeReadyInit() { +asm int daAlink_c::procHorseCutChargeReadyInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseCutChargeReadyInit__9daAlink_cFv.s" } @@ -698,7 +658,7 @@ asm void daAlink_c::procHorseCutChargeReadyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseCutChargeReady() { +asm int daAlink_c::procHorseCutChargeReady() { nofralloc #include "asm/d/a/d_a_alink/procHorseCutChargeReady__9daAlink_cFv.s" } @@ -709,7 +669,7 @@ asm void daAlink_c::procHorseCutChargeReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseCutTurnInit() { +asm int daAlink_c::procHorseCutTurnInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseCutTurnInit__9daAlink_cFv.s" } @@ -719,7 +679,7 @@ asm void daAlink_c::procHorseCutTurnInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseCutTurn() { +asm int daAlink_c::procHorseCutTurn() { nofralloc #include "asm/d/a/d_a_alink/procHorseCutTurn__9daAlink_cFv.s" } @@ -730,7 +690,7 @@ asm void daAlink_c::procHorseCutTurn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { +asm int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { nofralloc #include "asm/d/a/d_a_alink/procHorseDamageInit__9daAlink_cFP12dCcD_GObjInf.s" } @@ -740,7 +700,7 @@ asm void daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseDamage() { +asm int daAlink_c::procHorseDamage() { nofralloc #include "asm/d/a/d_a_alink/procHorseDamage__9daAlink_cFv.s" } @@ -750,7 +710,7 @@ asm void daAlink_c::procHorseDamage() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBowSubjectInit() { +asm int daAlink_c::procHorseBowSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseBowSubjectInit__9daAlink_cFv.s" } @@ -761,7 +721,7 @@ asm void daAlink_c::procHorseBowSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBowSubject() { +asm int daAlink_c::procHorseBowSubject() { nofralloc #include "asm/d/a/d_a_alink/procHorseBowSubject__9daAlink_cFv.s" } @@ -772,7 +732,7 @@ asm void daAlink_c::procHorseBowSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBowMoveInit() { +asm int daAlink_c::procHorseBowMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseBowMoveInit__9daAlink_cFv.s" } @@ -782,7 +742,7 @@ asm void daAlink_c::procHorseBowMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBowMove() { +asm int daAlink_c::procHorseBowMove() { nofralloc #include "asm/d/a/d_a_alink/procHorseBowMove__9daAlink_cFv.s" } @@ -793,7 +753,7 @@ asm void daAlink_c::procHorseBowMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseGrabMoveInit() { +asm int daAlink_c::procHorseGrabMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseGrabMoveInit__9daAlink_cFv.s" } @@ -803,7 +763,7 @@ asm void daAlink_c::procHorseGrabMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseGrabMove() { +asm int daAlink_c::procHorseGrabMove() { nofralloc #include "asm/d/a/d_a_alink/procHorseGrabMove__9daAlink_cFv.s" } @@ -814,7 +774,7 @@ asm void daAlink_c::procHorseGrabMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBoomerangSubjectInit() { +asm int daAlink_c::procHorseBoomerangSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseBoomerangSubjectInit__9daAlink_cFv.s" } @@ -824,7 +784,7 @@ asm void daAlink_c::procHorseBoomerangSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBoomerangSubject() { +asm int daAlink_c::procHorseBoomerangSubject() { nofralloc #include "asm/d/a/d_a_alink/procHorseBoomerangSubject__9daAlink_cFv.s" } @@ -834,7 +794,7 @@ asm void daAlink_c::procHorseBoomerangSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBoomerangMoveInit() { +asm int daAlink_c::procHorseBoomerangMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseBoomerangMoveInit__9daAlink_cFv.s" } @@ -844,7 +804,7 @@ asm void daAlink_c::procHorseBoomerangMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBoomerangMove() { +asm int daAlink_c::procHorseBoomerangMove() { nofralloc #include "asm/d/a/d_a_alink/procHorseBoomerangMove__9daAlink_cFv.s" } @@ -855,7 +815,7 @@ asm void daAlink_c::procHorseBoomerangMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseHookshotSubjectInit() { +asm int daAlink_c::procHorseHookshotSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseHookshotSubjectInit__9daAlink_cFv.s" } @@ -865,7 +825,7 @@ asm void daAlink_c::procHorseHookshotSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseHookshotSubject() { +asm int daAlink_c::procHorseHookshotSubject() { nofralloc #include "asm/d/a/d_a_alink/procHorseHookshotSubject__9daAlink_cFv.s" } @@ -875,7 +835,7 @@ asm void daAlink_c::procHorseHookshotSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseHookshotMoveInit() { +asm int daAlink_c::procHorseHookshotMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseHookshotMoveInit__9daAlink_cFv.s" } @@ -886,7 +846,7 @@ asm void daAlink_c::procHorseHookshotMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseHookshotMove() { +asm int daAlink_c::procHorseHookshotMove() { nofralloc #include "asm/d/a/d_a_alink/procHorseHookshotMove__9daAlink_cFv.s" } @@ -896,7 +856,7 @@ asm void daAlink_c::procHorseHookshotMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBottleDrinkInit(u16 param_0) { +asm int daAlink_c::procHorseBottleDrinkInit(u16 param_0) { nofralloc #include "asm/d/a/d_a_alink/procHorseBottleDrinkInit__9daAlink_cFUs.s" } @@ -907,7 +867,7 @@ asm void daAlink_c::procHorseBottleDrinkInit(u16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseBottleDrink() { +asm int daAlink_c::procHorseBottleDrink() { nofralloc #include "asm/d/a/d_a_alink/procHorseBottleDrink__9daAlink_cFv.s" } @@ -917,7 +877,7 @@ asm void daAlink_c::procHorseBottleDrink() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseKandelaarPourInit() { +asm int daAlink_c::procHorseKandelaarPourInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseKandelaarPourInit__9daAlink_cFv.s" } @@ -927,7 +887,7 @@ asm void daAlink_c::procHorseKandelaarPourInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseKandelaarPour() { +asm int daAlink_c::procHorseKandelaarPour() { nofralloc #include "asm/d/a/d_a_alink/procHorseKandelaarPour__9daAlink_cFv.s" } @@ -938,7 +898,7 @@ asm void daAlink_c::procHorseKandelaarPour() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseComebackInit() { +asm int daAlink_c::procHorseComebackInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseComebackInit__9daAlink_cFv.s" } @@ -948,7 +908,7 @@ asm void daAlink_c::procHorseComebackInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseComeback() { +asm int daAlink_c::procHorseComeback() { nofralloc #include "asm/d/a/d_a_alink/procHorseComeback__9daAlink_cFv.s" } @@ -958,7 +918,7 @@ asm void daAlink_c::procHorseComeback() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseRunInit() { +asm int daAlink_c::procHorseRunInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseRunInit__9daAlink_cFv.s" } @@ -968,7 +928,7 @@ asm void daAlink_c::procHorseRunInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseRun() { +asm int daAlink_c::procHorseRun() { nofralloc #include "asm/d/a/d_a_alink/procHorseRun__9daAlink_cFv.s" } @@ -979,7 +939,7 @@ asm void daAlink_c::procHorseRun() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) { +asm int daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procHorseHangInit__9daAlink_cFP12dCcD_GObjInfi.s" } @@ -989,7 +949,7 @@ asm void daAlink_c::procHorseHangInit(dCcD_GObjInf* param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseHang() { +asm int daAlink_c::procHorseHang() { nofralloc #include "asm/d/a/d_a_alink/procHorseHang__9daAlink_cFv.s" } @@ -1000,7 +960,7 @@ asm void daAlink_c::procHorseHang() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseGetKeyInit() { +asm int daAlink_c::procHorseGetKeyInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseGetKeyInit__9daAlink_cFv.s" } @@ -1010,7 +970,7 @@ asm void daAlink_c::procHorseGetKeyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseGetKey() { +asm int daAlink_c::procHorseGetKey() { nofralloc #include "asm/d/a/d_a_alink/procHorseGetKey__9daAlink_cFv.s" } @@ -1021,7 +981,7 @@ asm void daAlink_c::procHorseGetKey() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseLookDownInit() { +asm int daAlink_c::procHorseLookDownInit() { nofralloc #include "asm/d/a/d_a_alink/procHorseLookDownInit__9daAlink_cFv.s" } @@ -1031,7 +991,7 @@ asm void daAlink_c::procHorseLookDownInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHorseLookDown() { +asm int daAlink_c::procHorseLookDown() { nofralloc #include "asm/d/a/d_a_alink/procHorseLookDown__9daAlink_cFv.s" } @@ -1041,7 +1001,7 @@ asm void daAlink_c::procHorseLookDown() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoarRunInit() { +asm int daAlink_c::procBoarRunInit() { nofralloc #include "asm/d/a/d_a_alink/procBoarRunInit__9daAlink_cFv.s" } @@ -1051,7 +1011,7 @@ asm void daAlink_c::procBoarRunInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoarRun() { +asm int daAlink_c::procBoarRun() { nofralloc #include "asm/d/a/d_a_alink/procBoarRun__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_hvyboots.inc b/src/d/a/d_a_alink_hvyboots.inc index e4de9b8861..61afe884e9 100644 --- a/src/d/a/d_a_alink_hvyboots.inc +++ b/src/d/a/d_a_alink_hvyboots.inc @@ -1,3 +1,24 @@ +#include "dolphin/types.h" +#include "d/a/d_a_alink.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" +#include "JSystem/JMath/JMath.h" +#include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2AudioMgr.h" +#include "d/com/d_com_inf_game.h" +#include "d/msg/d_msg_object.h" +#include "f_op/f_op_actor_mng.h" +#include "m_Do/m_Do_audio.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_mtx.h" +#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/d_a_scene_exit/d_a_scene_exit.h" +#include "rel/d/a/d_a_mg_rod/d_a_mg_rod.h" +#include "rel/d/a/d_a_spinner/d_a_spinner.h" +#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h" +#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h" + /* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */ void daAlink_c::concatMagneBootMtx() { if (i_checkMagneBootsOn()) { @@ -22,8 +43,8 @@ void daAlink_c::multVecMagneBootInvMtx(cXyz* vec) { /* 800E24B0-800E251C 0DCDF0 006C+00 2/2 0/0 0/0 .text * commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz */ -int daAlink_c::commonMagneLineCheck(cXyz* param_0, cXyz* param_1) { - mMagneLineChk.Set(param_0, param_1, this); +int daAlink_c::commonMagneLineCheck(cXyz* i_start, cXyz* i_end) { + mMagneLineChk.Set(i_start, i_end, this); if (dComIfG_Bgsp().LineCross(&mMagneLineChk) && daTagMagne_c::checkMagnetCode(mMagneLineChk)) { return 1; @@ -34,14 +55,9 @@ int daAlink_c::commonMagneLineCheck(cXyz* param_0, cXyz* param_1) { /* 800E251C-800E2580 0DCE5C 0064+00 2/2 0/0 0/0 .text checkBootsMoveAnime__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBootsMoveAnime(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkBootsMoveAnime__9daAlink_cFi.s" +BOOL daAlink_c::checkBootsMoveAnime(int param_0) { + return (checkHeavyStateOn(param_0, 1) && !i_checkNoResetFlg0(FLG0_UNDERWATER)) || checkDkCaught2Anime(); } -#pragma pop /* 800E2580-800E2738 0DCEC0 01B8+00 17/17 0/0 0/0 .text setHeavyBoots__9daAlink_cFi */ #pragma push @@ -116,20 +132,26 @@ int daAlink_c::checkMagneBootsFly() { } /* 800E3048-800E30DC 0DD988 0094+00 2/2 0/0 0/0 .text procBootsEquipInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBootsEquipInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBootsEquipInit__9daAlink_cFv.s" +int daAlink_c::procBootsEquipInit() { + commonProcInit(PROC_BOOTS_EQUIP); + setSingleAnimeParam(ANM_HVY_BOOTS_PUT_ON, &daAlinkHIO_magneBoots_c0::m.mEquipAnm); + + if (checkUpperReadyThrowAnime()) { + resetUpperAnime(UPPER_2, lit_6041); + dComIfGp_clearPlayerStatus0(0, ~0x400030); + } + + current.angle.y = shape_angle.y; + mNormalSpeed = FLOAT_LABEL(lit_6108); + + return 1; } -#pragma pop /* 800E30DC-800E3218 0DDA1C 013C+00 1/0 0/0 0/0 .text procBootsEquip__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBootsEquip() { +asm int daAlink_c::procBootsEquip() { nofralloc #include "asm/d/a/d_a_alink/procBootsEquip__9daAlink_cFv.s" } @@ -150,7 +172,7 @@ asm int daAlink_c::procMagneBootsFlyInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procMagneBootsFly() { +asm int daAlink_c::procMagneBootsFly() { nofralloc #include "asm/d/a/d_a_alink/procMagneBootsFly__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_iceleaf.inc b/src/d/a/d_a_alink_iceleaf.inc index d18fc409e3..c6edc3f52c 100644 --- a/src/d/a/d_a_alink_iceleaf.inc +++ b/src/d/a/d_a_alink_iceleaf.inc @@ -1,49 +1,34 @@ /* 80105A84-80105A98 1003C4 0014+00 1/1 0/0 0/0 .text daAlink_searchIceLeaf__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchIceLeaf(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchIceLeaf__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) { + if (fopAcM_GetName(i_actor) == PROC_Obj_IceLeaf) { + return i_actor; + } + + return NULL; } -#pragma pop /* 80105A98-80105ABC 1003D8 0024+00 3/3 0/0 0/0 .text checkSnowCode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSnowCode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkSnowCode__9daAlink_cCFv.s" +bool daAlink_c::checkSnowCode() const { + return field_0x2fa8 == 6 || field_0x2fa8 == 5; } -#pragma pop /* 80105ABC-80105B10 1003FC 0054+00 1/1 0/0 1/1 .text * checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo.s" +bool daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& i_poly) { + int code = dComIfG_Bgsp().GetSpecialCode(i_poly); + return code == 6 || code == 5; } -#pragma pop /* 80105B10-80105B58 100450 0048+00 2/2 0/0 0/0 .text checkBoardRestart__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBoardRestart() { - nofralloc -#include "asm/d/a/d_a_alink/checkBoardRestart__9daAlink_cFv.s" +bool daAlink_c::checkBoardRestart() { + return (mRideStatus == 0 && mRideAcKeep.getActor() != NULL) && fopAcM_GetName(mRideAcKeep.getActor()) == PROC_Obj_IceLeaf; } -#pragma pop /* 80105B58-80106534 100498 09DC+00 7/7 0/0 0/0 .text boardCommon__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::boardCommon(int param_0) { +asm int daAlink_c::boardCommon(int param_0) { nofralloc #include "asm/d/a/d_a_alink/boardCommon__9daAlink_cFi.s" } @@ -51,58 +36,61 @@ asm void daAlink_c::boardCommon(int param_0) { /* 80106534-8010658C 100E74 0058+00 6/6 0/0 0/0 .text setCommonBoardAnime__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setCommonBoardAnime(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setCommonBoardAnime__9daAlink_cFi.s" +void daAlink_c::setCommonBoardAnime(int param_0) { + setDoubleAnime(FLOAT_LABEL(lit_6108), daAlinkHIO_board_c0::m.mStandAnmSpeed, lit_6040, + param_0 != 0 ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, + 11, daAlinkHIO_board_c0::m.mStandInterpolation); } -#pragma pop /* 8010658C-80106618 100ECC 008C+00 5/5 0/0 0/0 .text checkNextActionBoard__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionBoard() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionBoard__9daAlink_cFv.s" +int daAlink_c::checkNextActionBoard() { + if (checkNextActionFromButton()) { + return 1; + } + + if ((!doButton() && (mProcID == PROC_BOARD_ROW || mProcID == PROC_BOARD_TURN)) || + mProcID == PROC_BOARD_CUT || mProcID == PROC_BOARD_ROW || mProcID == PROC_BOARD_JUMP) { + return 0; + } + + return procBoardWaitInit(NULL); } -#pragma pop /* 80106618-80106650 100F58 0038+00 2/2 0/0 0/0 .text checkBoardSwordTriggerAction__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkBoardSwordTriggerAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkBoardSwordTriggerAction__9daAlink_cFv.s" +int daAlink_c::checkBoardSwordTriggerAction() { + if (i_checkModeFlg(2)) { + return procBoardCutInit(); + } else { + return procBoardWaitInit(NULL); + } } -#pragma pop /* 80106650-801066B8 100F90 0068+00 3/3 0/0 0/0 .text * commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::commonProcBoardInit(daAlink_c::daAlink_PROC param_0) { - nofralloc -#include "asm/d/a/d_a_alink/commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC.s" +int daAlink_c::commonProcBoardInit(daAlink_c::daAlink_PROC i_procID) { + if (mProcID == i_procID) { + return 0; + } + + u32 check = i_checkModeFlg(2); + commonProcInit(i_procID); + + if (check) { + onModeFlg(2); + } + + return 1; } -#pragma pop /* 801066B8-801066EC 100FF8 0034+00 1/1 0/0 0/0 .text getBoardRowAnmSpeed__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getBoardRowAnmSpeed() { - nofralloc -#include "asm/d/a/d_a_alink/getBoardRowAnmSpeed__9daAlink_cFv.s" +f32 daAlink_c::getBoardRowAnmSpeed() { + return daAlinkHIO_board_c0::m.mPushAnmMinSpeed + + ((daAlinkHIO_board_c0::m.mPushAnmMaxSpeed - daAlinkHIO_board_c0::m.mPushAnmMinSpeed) * + (lit_6040 - (mNormalSpeed / daAlinkHIO_board_c0::m.mFastPushSwitchSpeed))); } -#pragma pop /* 801066EC-80106774 10102C 0088+00 3/3 0/0 0/0 .text setBoardLandAnime__9daAlink_cFv */ #pragma push @@ -118,28 +106,35 @@ asm void daAlink_c::setBoardLandAnime() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardRideInit() { +asm int daAlink_c::procBoardRideInit() { nofralloc #include "asm/d/a/d_a_alink/procBoardRideInit__9daAlink_cFv.s" } #pragma pop /* 801069D0-80106A38 101310 0068+00 1/0 0/0 0/0 .text procBoardRide__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardRide() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardRide__9daAlink_cFv.s" +int daAlink_c::procBoardRide() { + field_0x2f99 = 15; + + if (mLinkAcch.ChkGroundHit()) { + if (field_0x280c.getActor()) { + shape_angle.y = field_0x280c.getActor()->shape_angle.y + -0x4000; + current.angle.y = shape_angle.y; + procBoardWaitInit(field_0x280c.getActor()); + } else { + checkNextAction(1); + } + } + + return 1; } -#pragma pop /* 80106A38-80106BCC 101378 0194+00 13/13 0/0 0/0 .text * procBoardWaitInit__9daAlink_cFP10fopAc_ac_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procBoardWaitInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -149,119 +144,190 @@ asm void daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardWait() { +asm int daAlink_c::procBoardWait() { nofralloc #include "asm/d/a/d_a_alink/procBoardWait__9daAlink_cFv.s" } #pragma pop /* 80106E88-80106F00 1017C8 0078+00 1/1 0/0 0/0 .text procBoardRowInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardRowInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardRowInit__9daAlink_cFv.s" +int daAlink_c::procBoardRowInit() { + commonProcInit(PROC_BOARD_ROW); + setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), daAlinkHIO_board_c0::m.mPushInterpolation); + i_onResetFlg1(0x40); + field_0x3008 = 4; + field_0x3010 = 1; + field_0x3012 = 0; + + return 1; } -#pragma pop /* 80106F00-80107060 101840 0160+00 1/0 0/0 0/0 .text procBoardRow__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardRow() { +asm int daAlink_c::procBoardRow() { nofralloc #include "asm/d/a/d_a_alink/procBoardRow__9daAlink_cFv.s" } #pragma pop /* 80107060-801070DC 1019A0 007C+00 1/1 0/0 0/0 .text procBoardTurnInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardTurnInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardTurnInit__9daAlink_cFv.s" +int daAlink_c::procBoardTurnInit() { + commonProcInit(PROC_BOARD_TURN); + setSingleAnime(ANM_RIDE_JUMP, FLOAT_LABEL(lit_6108), lit_6040, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, lit_6109); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x3010 = shape_angle.y + 0x8000; + field_0x3012 = 0; + field_0x300a = 0; + + return 1; } -#pragma pop /* 801070DC-80107218 101A1C 013C+00 1/0 0/0 0/0 .text procBoardTurn__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardTurn() { +asm int daAlink_c::procBoardTurn() { nofralloc #include "asm/d/a/d_a_alink/procBoardTurn__9daAlink_cFv.s" } #pragma pop /* 80107218-80107300 101B58 00E8+00 4/4 0/0 0/0 .text procBoardJumpInit__9daAlink_cFfi */ +#ifdef NONMATCHING +int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) { + commonProcInit(PROC_BOARD_JUMP); + field_0x3008 = 0; + field_0x3012 = 1; + + setSingleAnime(ANM_RIDE_JUMP, FLOAT_LABEL(lit_6108), + daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, + daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, + daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); + + if (param_1 == 0) { + mSpeed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY); + } + + field_0x3010 = 0; + seStartOnlyReverb(Z2SE_AL_SNOBO_JUMP); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardJumpInit(f32 param_0, int param_1) { +asm int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procBoardJumpInit__9daAlink_cFfi.s" } #pragma pop +#endif /* 80107300-801073D0 101C40 00D0+00 1/0 0/0 0/0 .text procBoardJump__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardJump() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardJump__9daAlink_cFv.s" +int daAlink_c::procBoardJump() { + if (boardCommon(1)) { + return 1; + } + + if (!checkNextActionBoard()) { + if (!i_checkModeFlg(2)) { + setBoardLandAnime(); + procBoardWaitInit(NULL); + } else if (field_0x3012 != 0 && field_0x3010 == 0 && field_0x2060->getOldFrameRate() < lit_8782) { + setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed, + daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, + daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, + lit_6041); + field_0x3010 = 1; + } + } + + return 1; } -#pragma pop /* 801073D0-80107418 101D10 0048+00 1/1 0/0 0/0 .text procBoardSubjectivityInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardSubjectivityInit() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardSubjectivityInit__9daAlink_cFv.s" +int daAlink_c::procBoardSubjectivityInit() { + commonProcBoardInit(PROC_BOARD_SUBJECTIVITY); + setSubjectMode(); + setCommonBoardAnime(0); + + return 1; } -#pragma pop /* 80107418-801074AC 101D58 0094+00 1/0 0/0 0/0 .text procBoardSubjectivity__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardSubjectivity() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardSubjectivity__9daAlink_cFv.s" +int daAlink_c::procBoardSubjectivity() { + i_onResetFlg0(0x4000000); + s16 old_shape_angle = shape_angle.y; + s16 old_angle = current.angle.y; + + if (boardCommon(0)) { + return 1; + } + + shape_angle.y = old_shape_angle; + + if (checkSubjectEnd(1)) { + procBoardWaitInit(NULL); + } else { + setRideSubjectAngle(old_angle); + } + + return 1; } -#pragma pop /* 801074AC-8010755C 101DEC 00B0+00 3/3 0/0 0/0 .text procBoardCutInit__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::procBoardCutInit() { + commonProcBoardInit(PROC_BOARD_CUT); + + bool var_r31 = false; + if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) { + if (mUnderFrameCtrl[0].getFrame() > daAlinkHIO_cut_c0::m.mNormalSwingDuration) { + var_r31 = true; + } + } + + setCommonBoardAnime(0); + setCutDash(1, var_r31); + field_0x3012 = 0; + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardCutInit() { +asm int daAlink_c::procBoardCutInit() { nofralloc #include "asm/d/a/d_a_alink/procBoardCutInit__9daAlink_cFv.s" } #pragma pop +#endif /* 8010755C-801075D4 101E9C 0078+00 1/0 0/0 0/0 .text procBoardCut__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBoardCut() { - nofralloc -#include "asm/d/a/d_a_alink/procBoardCut__9daAlink_cFv.s" +int daAlink_c::procBoardCut() { + if (boardCommon(1)) { + return 1; + } + + checkCutTurnCharge(); + if (!checkNextActionBoard() && checkNoUpperAnime()) { + procBoardWaitInit(NULL); + } + + return 1; } -#pragma pop /* 801075D4-80107744 101F14 0170+00 2/2 0/0 0/0 .text procBoardCutTurnInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardCutTurnInit() { +asm int daAlink_c::procBoardCutTurnInit() { nofralloc #include "asm/d/a/d_a_alink/procBoardCutTurnInit__9daAlink_cFv.s" } @@ -271,7 +337,7 @@ asm void daAlink_c::procBoardCutTurnInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procBoardCutTurn() { +asm int daAlink_c::procBoardCutTurn() { nofralloc #include "asm/d/a/d_a_alink/procBoardCutTurn__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_ironball.inc b/src/d/a/d_a_alink_ironball.inc index b827468035..3fc4fd5c7f 100644 --- a/src/d/a/d_a_alink_ironball.inc +++ b/src/d/a/d_a_alink_ironball.inc @@ -1,107 +1,98 @@ /* 8011243C-80112458 10CD7C 001C+00 1/0 0/0 0/0 .text getIronBallCenterPos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::getIronBallCenterPos() { - nofralloc -#include "asm/d/a/d_a_alink/getIronBallCenterPos__9daAlink_cFv.s" +cXyz* daAlink_c::getIronBallCenterPos() { + if (mEquipItem == IRONBALL) { + return &mIronBallCenterPos; + } + + return NULL; } -#pragma pop /* 80112458-80112474 10CD98 001C+00 1/0 0/0 0/0 .text getIronBallBgHit__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::getIronBallBgHit() const { - nofralloc -#include "asm/d/a/d_a_alink/getIronBallBgHit__9daAlink_cCFv.s" +s16 daAlink_c::getIronBallBgHit() const { + if (mEquipItem == IRONBALL) { + return field_0x301c; + } + + return 0; } -#pragma pop /* 80112474-801124B4 10CDB4 0040+00 0/0 2/2 1/1 .text checkIronBallThrowMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkIronBallThrowMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallThrowMode__9daAlink_cCFv.s" +bool daAlink_c::checkIronBallThrowMode() const { + return mEquipItem == IRONBALL && + (field_0x3018 == 4 || field_0x3018 == 5 || field_0x3018 == 6 || field_0x3018 == 3); } -#pragma pop /* 801124B4-801124FC 10CDF4 0048+00 0/0 1/1 1/1 .text checkIronBallThrowReturnMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkIronBallThrowReturnMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallThrowReturnMode__9daAlink_cCFv.s" +bool daAlink_c::checkIronBallThrowReturnMode() const { + return mEquipItem == IRONBALL && (field_0x3018 == 4 || field_0x3018 == 5 || field_0x3018 == 6 || + field_0x3018 == 7 || field_0x3018 == 3); } -#pragma pop /* 801124FC-80112524 10CE3C 0028+00 1/0 0/0 0/0 .text checkIronBallReturn__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkIronBallReturn() const { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallReturn__9daAlink_cCFv.s" +bool daAlink_c::checkIronBallReturn() const { + return mEquipItem == IRONBALL && field_0x3018 == 7; } -#pragma pop /* 80112524-80112568 10CE64 0044+00 1/0 0/0 0/0 .text checkIronBallGroundStop__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkIronBallGroundStop() const { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallGroundStop__9daAlink_cCFv.s" +bool daAlink_c::checkIronBallGroundStop() const { + return mEquipItem == IRONBALL && field_0x3018 != 0 && field_0x3018 != 8 && field_0x301e == 0 && + field_0x301e < 10; } -#pragma pop /* 80112568-80112628 10CEA8 00C0+00 5/5 0/0 0/0 .text setIronBallWaitUpperAnime__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setIronBallWaitUpperAnime(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setIronBallWaitUpperAnime__9daAlink_cFi.s" +void daAlink_c::setIronBallWaitUpperAnime(int param_0) { + if (!checkIronBallWaitAnime() && !checkIronBallPreSwingAnime() && + (field_0x3018 == 0 || field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) { + setUpperAnimeBaseSpeed(0x19C, daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed, + daAlinkHIO_basic_c0::m.mAnmBlendFactor); + setFacePriBck(0xE8); + field_0x2f96 = 254; + field_0x2f97 = 5; + field_0x3018 = 0; + } } -#pragma pop /* 80112628-801126F8 10CF68 00D0+00 1/1 0/0 0/0 .text checkIronBallDelete__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkIronBallDelete() { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallDelete__9daAlink_cFv.s" +void daAlink_c::checkIronBallDelete() { + if (mProcID == PROC_IRON_BALL_SUBJECT || mProcID == PROC_IRON_BALL_MOVE || + mProcID == PROC_IRON_BALL_THROW || mProcID == PROC_IRON_BALL_RETURN) { + return; + } + + if (field_0x3018 == 1 || field_0x3018 == 2 || field_0x3018 == 3 || + ((field_0x3018 == 0 || field_0x3018 == 8) && !checkIronBallWaitAnime() && + !checkEquipAnime() && + (!i_checkModeFlg(4) || i_checkModeFlg(0x70C52) || !mLinkAcch.ChkGroundHit()))) { + deleteEquipItem(1, 0); + } } -#pragma pop /* 801126F8-80112768 10D038 0070+00 2/2 0/0 0/0 .text setIronBallReturn__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setIronBallReturn(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setIronBallReturn__9daAlink_cFi.s" +void daAlink_c::setIronBallReturn(int param_0) { + if (param_0 && field_0x301e != 0) { + field_0x301e--; + } else if (field_0x3018 != 7) { + field_0x3018 = 7; + field_0x301e = 0; + seStartOnlyReverb(Z2SE_AL_IB_PULLBACK); + } } -#pragma pop /* 80112768-801127F0 10D0A8 0088+00 2/2 0/0 0/0 .text setIronBallBgCheckPos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setIronBallBgCheckPos() { - nofralloc -#include "asm/d/a/d_a_alink/setIronBallBgCheckPos__9daAlink_cFv.s" +void daAlink_c::setIronBallBgCheckPos() { + cXyz sp8; + mDoMtx_stack_c::transS(*mIronBallChainPos); + mDoMtx_stack_c::ZXYrotM(*mIronBallChainAngle); + mDoMtx_stack_c::multVec(&l_ironBallCenterVec, &sp8); + + mIronBallBgChkPos.set(sp8.x, (sp8.y - lit_14621) - mSearchBallScale, sp8.z); + cLib_chaseF(&mSearchBallScale, FLOAT_LABEL(lit_6108), lit_7307); } -#pragma pop /* 801127F0-80112C80 10D130 0490+00 1/1 0/0 0/0 .text setIronBallModel__9daAlink_cFv */ #pragma push @@ -114,9 +105,7 @@ asm void daAlink_c::setIronBallModel() { #pragma pop /* 80112C80-80112C84 10D5C0 0004+00 2/2 2/2 0/0 .text __ct__5csXyzFv */ -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} +extern "C" void __ct__5csXyzFv() {} /* 80112C84-80112E7C 10D5C4 01F8+00 1/1 0/0 0/0 .text * setIronBallGroundVec__9daAlink_cFPC4cXyzP4cXyz */ @@ -141,14 +130,18 @@ asm void daAlink_c::setIronBallChainPos() { #pragma pop /* 80113CA0-80113D58 10E5E0 00B8+00 1/1 0/0 0/0 .text checkIronBallReturnChange__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkIronBallReturnChange() { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallReturnChange__9daAlink_cFv.s" +BOOL daAlink_c::checkIronBallReturnChange() { + if (mProcID != PROC_IRON_BALL_THROW || + (!(mLookAngleY > 0x400) && mIronBallBgChkPos.y < (current.pos.y - lit_8472)) || + (mLookAngleY > 0x400 && mItemMode == 0x64) || + (field_0xFB8.ChkAtHit() && field_0xFB8.GetAtHitGObj() != NULL && + static_cast(field_0xFB8.GetAtHitGObj())->ChkTgIronBallRebound())) { + setIronBallReturn(0); + return true; + } + + return false; } -#pragma pop /* 80113D58-801150E4 10E698 138C+00 1/1 0/0 0/0 .text setIronBallPos__9daAlink_cFv */ #pragma push @@ -162,137 +155,277 @@ asm void daAlink_c::setIronBallPos() { /* 801150E4-8011510C 10FA24 0028+00 10/10 0/0 0/0 .text checkIronBallAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkIronBallAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkIronBallAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkIronBallAnime() const { + return checkIronBallPreSwingAnime() || checkIronBallSwingAnime(); } -#pragma pop /* 8011510C-801151E0 10FA4C 00D4+00 1/1 0/0 0/0 .text setIronBallReadyAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setIronBallReadyAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setIronBallReadyAnime__9daAlink_cFv.s" +void daAlink_c::setIronBallReadyAnime() { + resetUpperAnime(UPPER_2, lit_6041); + setSingleAnime(ANM_IRONBALL_ATTACK, daAlinkHIO_ironBall_c0::m.mPrepareAnmSpeed, FLOAT_LABEL(lit_6108), + 0x15, daAlinkHIO_ironBall_c0::m.mPrepareInterpolation); + setUpperAnimeBaseSpeed(0x19A, daAlinkHIO_ironBall_c0::m.mPrepareAnmSpeed, lit_6041); + mNowAnmPackUpper[2].setRatio(FLOAT_LABEL(lit_6108)); + voiceStart(Z2SE_AL_V_SWING_IB); + + field_0xFB8.OffAtSetBit(); + field_0xFB8.ResetAtHit(); + field_0xFB8.SetAtAtp(2); + + field_0x301e = 10; + field_0x3020 = 0; + field_0x3494 = lit_7808; + mSearchBallScale = FLOAT_LABEL(lit_6108); } -#pragma pop /* 801151E0-80115254 10FB20 0074+00 2/2 0/0 0/0 .text setIronBallBaseAnime__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setIronBallBaseAnime() { - nofralloc -#include "asm/d/a/d_a_alink/setIronBallBaseAnime__9daAlink_cFv.s" +void daAlink_c::setIronBallBaseAnime() { + if (checkIronBallSwingAnime() && !checkUnderMove0BckNoArc(ANM_IRONBALL_TURN)) { + setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation); + mUnderFrameCtrl[0].setFrame(mUpperFrameCtrl[2].getFrame()); + getNowAnmPackUnder(UNDER_0)->setFrame(mUpperFrameCtrl[2].getFrame()); + } } -#pragma pop /* 80115254-801153F8 10FB94 01A4+00 1/1 0/0 0/0 .text checkUpperItemActionIronBall__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpperItemActionIronBall() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpperItemActionIronBall__9daAlink_cFv.s" +BOOL daAlink_c::checkUpperItemActionIronBall() { + if (!itemButton() && checkReadyItem()) { + field_0x3020 = 1; + } + + if (checkIronBallPreSwingAnime()) { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + if (field_0x3020 != 0 && frameCtrl->checkPass(lit_10286)) { + return procIronBallThrowInit(); + } + + if (frameCtrl->checkAnmEnd()) { + if (i_checkModeFlg(1)) { + setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation); + } + + u16 upperId = getMainBckData(ANM_IRONBALL_TURN)->m_upperID; + setUpperAnimeBaseSpeed(upperId, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation); + field_0x3018 = 2; + seStartOnlyReverb(Z2SE_AL_IB_SWING); + return 1; + } + + if (frameCtrl->getFrame() > lit_8781) { + field_0x3018 = 1; + } + } else { + daPy_frameCtrl_c* frameCtrl = &mUpperFrameCtrl[2]; + + if (field_0x3020 != 0 && frameCtrl->checkPass(lit_10193)) { + return procIronBallThrowInit(); + } else if (frameCtrl->checkPass(FLOAT_LABEL(lit_6108))) { + seStartOnlyReverb(Z2SE_AL_IB_SWING); + } + } + + return cancelUpperItemReadyAnime(0); } -#pragma pop /* 801153F8-801154E4 10FD38 00EC+00 2/2 0/0 0/0 .text checkNextActionIronBall__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionIronBall() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionIronBall__9daAlink_cFv.s" +#pragma optimization_level 2 +int daAlink_c::checkNextActionIronBall() { + if (mFastShotTime != 0) { + mFastShotTime--; + } + + if (!checkIronBallAnime()) { + setIronBallReadyAnime(); + setFastShotTimer(); + + if (!i_checkAttentionLock()) { + field_0x2fe4 = shape_angle.y; + } + } + + if (!i_checkAttentionLock() && mFastShotTime == 0) { + return procIronBallSubjectInit(); + } else { + return procIronBallMoveInit(); + } } #pragma pop /* 801154E4-80115564 10FE24 0080+00 1/1 0/0 0/0 .text procIronBallSubjectInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallSubjectInit() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallSubjectInit__9daAlink_cFv.s" +int daAlink_c::procIronBallSubjectInit() { + if (!commonProcInitNotSameProc(PROC_IRON_BALL_SUBJECT)) { + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + + if (checkIronBallAnime()) { + setIronBallBaseAnime(); + } + + current.angle.y = shape_angle.y; + dComIfGp_setPlayerStatus0(0, 0x400); + return 1; } -#pragma pop /* 80115564-801155EC 10FEA4 0088+00 1/0 0/0 0/0 .text procIronBallSubject__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallSubject() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallSubject__9daAlink_cFv.s" +int daAlink_c::procIronBallSubject() { + if (checkIronBallAnime()) { + setDoStatus(0x12); + } + + setShapeAngleToAtnActor(0); + + if (!checkNextAction(0) && itemButton() && field_0x3018 == 2) { + setBodyAngleToCamera(); + } + + return 1; } -#pragma pop /* 801155EC-80115674 10FF2C 0088+00 1/1 0/0 0/0 .text procIronBallMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallMoveInit__9daAlink_cFv.s" +int daAlink_c::procIronBallMoveInit() { + if (!commonProcInitNotSameProc(PROC_IRON_BALL_MOVE)) { + return 0; + } + + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + if (checkIronBallPreSwingAnime()) { + mNormalSpeed = FLOAT_LABEL(lit_6108); + } + + dComIfGp_setPlayerStatus0(0, 0x400); + return 1; } -#pragma pop /* 80115674-8011577C 10FFB4 0108+00 1/0 0/0 0/0 .text procIronBallMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallMove() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallMove__9daAlink_cFv.s" +int daAlink_c::procIronBallMove() { + if (checkIronBallAnime()) { + setDoStatus(0x12); + } + + setShapeAngleToAtnActor(0); + + if (!checkNextAction(0)) { + f32 var_f31 = lit_6041; + + if (checkIronBallPreSwingAnime()) { + mNormalSpeed = FLOAT_LABEL(lit_6108); + } + + if (checkZeroSpeedF()) { + onModeFlg(1); + + if (field_0x2f98 != 2) { + field_0x2f98 = 2; + var_f31 = daAlinkHIO_basic_c0::m.mAnmBlendFactor; + } + } else { + offModeFlg(1); + } + + if (i_checkModeFlg(1)) { + setIronBallBaseAnime(); + } else { + setBlendAtnMoveAnime(var_f31); + } + + setBodyAngleXReadyAnime(0); + } + + return 1; } -#pragma pop /* 8011577C-80115860 1100BC 00E4+00 1/1 0/0 0/0 .text procIronBallThrowInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallThrowInit() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallThrowInit__9daAlink_cFv.s" +int daAlink_c::procIronBallThrowInit() { + commonProcInit(PROC_IRON_BALL_THROW); + setSingleAnime(ANM_IRONBALL_ATTACK, daAlinkHIO_ironBall_c0::m.mPreThrowAnmSpeed, lit_34957, 30, daAlinkHIO_ironBall_c0::m.mPreThrowAnmInterpolation); + field_0x2f99 = 12; + field_0x3588 = l_ironBallBaseAnime; + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + mCommonCounter = 0; + field_0x3018 = 3; + field_0x3024 = 0; + field_0x3026 = 0; + + voiceStart(Z2SE_AL_V_THROW_IB); + seStartOnlyReverb(Z2SE_AL_IB_THROW); + field_0xFB8.SetAtAtp(3); + return 1; } -#pragma pop /* 80115860-801159F0 1101A0 0190+00 1/0 0/0 0/0 .text procIronBallThrow__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procIronBallThrow() { +asm int daAlink_c::procIronBallThrow() { nofralloc #include "asm/d/a/d_a_alink/procIronBallThrow__9daAlink_cFv.s" } #pragma pop /* 801159F0-80115AA0 110330 00B0+00 2/2 0/0 0/0 .text procIronBallReturnInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallReturnInit() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallReturnInit__9daAlink_cFv.s" +int daAlink_c::procIronBallReturnInit() { + commonProcInit(PROC_IRON_BALL_RETURN); + + if (field_0x3018 == 8) { + mCommonCounter = 1; + setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm); + field_0x2f99 = 12; + } else { + setSingleAnimeBaseSpeed(ANM_IRONBALL_PULL, daAlinkHIO_ironBall_c0::m.mPullAnmSpeed, daAlinkHIO_ironBall_c0::m.mPullInterpolation); + field_0x2f99 = 12; + mCommonCounter = 0; + } + + field_0x3588 = l_ironBallBaseAnime; + return 1; } -#pragma pop /* 80115AA0-80115C20 1103E0 0180+00 1/0 0/0 0/0 .text procIronBallReturn__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procIronBallReturn() { - nofralloc -#include "asm/d/a/d_a_alink/procIronBallReturn__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procIronBallReturn() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (mEquipItem != IRONBALL) { + return checkWaitAction(); + } + + field_0x2f99 = 4; + + if (field_0x3018 == 8 && mCommonCounter == 0) { + mCommonCounter = 1; + setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm); + field_0x2f99 = 12; + seStartOnlyReverb(Z2SE_AL_IB_CATCH); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(3, 1, cXyz(tmp_0, lit_6040, tmp_0)); + } else if (frameCtrl->checkAnmEnd()) { + if (field_0x3018 == 8) { + field_0x3018 = 0; + setIronBallWaitUpperAnime(1); + checkNextAction(0); + } + } else if (field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCheckFrame) { + field_0x3018 = 0; + setIronBallWaitUpperAnime(1); + + if (!checkNextAction(1)) { + field_0x3018 = 8; + resetUpperAnime(UPPER_2, FLOAT_LABEL(lit_6108)); + } + } + + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_kandelaar.inc b/src/d/a/d_a_alink_kandelaar.inc index c0bf0c4263..bd3bbfd90a 100644 --- a/src/d/a/d_a_alink_kandelaar.inc +++ b/src/d/a/d_a_alink_kandelaar.inc @@ -1,88 +1,96 @@ /* 80110654-80110668 10AF94 0014+00 1/1 0/0 0/0 .text daAlink_searchTagKandelaar__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchTagKandelaar(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchTagKandelaar__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* param_1) { + if (fopAcM_GetName(i_actor) == PROC_TAG_LANTERN) { + return i_actor; + } + + return NULL; } -#pragma pop /* 80110668-801106E8 10AFA8 0080+00 1/1 0/0 0/0 .text daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchTagKtOnFire(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchTagKtOnFire(fopAc_ac_c* i_actor, void* param_1) { + daAlink_c* link = daAlink_getAlinkActorClass(); + + if (fopAcM_GetName(i_actor) == PROC_Tag_KtOnFire && + i_actor->current.pos.abs2(link->current.pos) < lit_26816 && + fopAcM_seenActorAngleY(link, i_actor) < 0x3000) { + return i_actor; + } + + return NULL; } -#pragma pop /* 801106E8-8011078C 10B028 00A4+00 1/0 0/0 0/0 .text setKandelaarMtx__9daAlink_cFPA4_fii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setKandelaarMtx(f32 (*param_0)[4], int param_1, int param_2) { - nofralloc -#include "asm/d/a/d_a_alink/setKandelaarMtx__9daAlink_cFPA4_fii.s" +void daAlink_c::setKandelaarMtx(Mtx i_mtx, int param_1, int param_2) { + if (field_0x06fc != NULL) { + if (i_checkNoResetFlg2(FLG2_UNK_1)) { + deleteEquipItem(0, 1); + } + + i_onEndResetFlg1(ERFLG1_UNK_4); + + field_0x06fc->i_setBaseTRMtx(i_mtx); + if (param_1 == 0) { + i_onEndResetFlg1(ERFLG1_UNK_8); + } + + if (param_2 != 0) { + i_onEndResetFlg1(ERFLG1_UNK_10); + } + } } -#pragma pop /* 8011078C-801107BC 10B0CC 0030+00 2/2 0/0 0/0 .text checkWaterInKandelaarOffset__9daAlink_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWaterInKandelaarOffset(f32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkWaterInKandelaarOffset__9daAlink_cFf.s" +BOOL daAlink_c::checkWaterInKandelaarOffset(f32 param_0) { + f32 tmp_65 = lit_17593; // tmp can be removed with literals + f32 base_y_pos; + if (i_checkModeFlg(0x40)) { + base_y_pos = mRightFootPos.y; + } else { + base_y_pos = current.pos.y; + } + + return param_0 > tmp_65 + base_y_pos; } -#pragma pop /* 801107BC-80110840 10B0FC 0084+00 2/2 0/0 0/0 .text checkWaterInKandelaar__9daAlink_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWaterInKandelaar(f32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkWaterInKandelaar__9daAlink_cFf.s" +void daAlink_c::checkWaterInKandelaar(f32 param_0) { + if (i_checkNoResetFlg2(FLG2_UNK_1) && checkWaterInKandelaarOffset(param_0)) { + if (mEquipItem == KANTERA) { + deleteEquipItem(1, 1); + } else { + offKandelaarModel(); + seStartOnlyReverb(Z2SE_AL_ITEM_TAKEOUT); + } + } } -#pragma pop /* 80110840-8011087C 10B180 003C+00 13/13 0/0 0/0 .text offKandelaarModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::offKandelaarModel() { - nofralloc -#include "asm/d/a/d_a_alink/offKandelaarModel__9daAlink_cFv.s" +void daAlink_c::offKandelaarModel() { + i_offNoResetFlg2(0x10000001); + mZ2Link.setKanteraState(0); } -#pragma pop /* 8011087C-801108B4 10B1BC 0038+00 1/0 0/0 0/0 .text checkUseKandelaar__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkUseKandelaar(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkUseKandelaar__9daAlink_cFi.s" +bool daAlink_c::checkUseKandelaar(int param_0) { + return (param_0 == 0 && i_checkNoResetFlg2(FLG2_UNK_1)) || + (param_0 != 0 && mEquipItem == KANTERA); } -#pragma pop /* 801108B4-801108EC 10B1F4 0038+00 1/0 0/0 0/0 .text checkKandelaarSwing__9daAlink_cCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkKandelaarSwing(int param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkKandelaarSwing__9daAlink_cCFi.s" +bool daAlink_c::checkKandelaarSwing(int param_0) const { + if ((checkKandelaarSwingAnime() || mProcID == PROC_KANDELAAR_SWING) && (dComIfGs_getOil() != 0 || param_0 == 0)) { + return true; + } + + return false; } -#pragma pop /* 801108EC-80110BEC 10B22C 0300+00 1/1 0/0 0/0 .text kandelaarModelCallBack__9daAlink_cFv */ #pragma push @@ -96,35 +104,30 @@ asm void daAlink_c::kandelaarModelCallBack() { /* 80110BEC-80110C28 10B52C 003C+00 1/1 0/0 0/0 .text daAlink_kandelaarModelCallBack__FP8J3DJointi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_kandelaarModelCallBack__FP8J3DJointi.s" +static int daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1) { + daAlink_c* link = (daAlink_c*)j3dSys.getModel()->getUserArea(); + + if (param_1 == 0) { + link->kandelaarModelCallBack(); + } + + return 1; } -#pragma pop /* 80110C28-80110C6C 10B568 0044+00 1/0 0/0 0/0 .text getKandelaarFlamePos__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::getKandelaarFlamePos() { - nofralloc -#include "asm/d/a/d_a_alink/getKandelaarFlamePos__9daAlink_cFv.s" +cXyz* daAlink_c::getKandelaarFlamePos() { + if ((!i_checkNoResetFlg2((daPy_FLG2)0x20001) && !i_checkEndResetFlg1(ERFLG1_UNK_4)) || i_checkWolf() || !i_checkNoResetFlg1(FLG1_UNK_80)) { + return NULL; + } + + return &mKandelaarFlamePos; } -#pragma pop /* 80110C6C-80110C94 10B5AC 0028+00 3/3 0/0 0/0 .text checkKandelaarEquipAnime__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkKandelaarEquipAnime() const { - nofralloc -#include "asm/d/a/d_a_alink/checkKandelaarEquipAnime__9daAlink_cCFv.s" +BOOL daAlink_c::checkKandelaarEquipAnime() const { + return checkUpperAnime(0x264) || checkUpperAnime(0x268); } -#pragma pop /* 80110C94-80110E80 10B5D4 01EC+00 1/1 0/0 0/0 .text preKandelaarDraw__9daAlink_cFv */ #pragma push @@ -138,9 +141,7 @@ asm void daAlink_c::preKandelaarDraw() { /* 80110E80-80110E84 10B7C0 0004+00 0/0 3/0 0/0 .text * setTevColor__11J3DTevBlockFUlPC13J3DGXColorS10 */ -void J3DTevBlock::setTevColor(u32 param_0, J3DGXColorS10 const* param_1) { - /* empty function */ -} +void J3DTevBlock::setTevColor(u32 param_0, J3DGXColorS10 const* param_1) {} /* 80110E84-80110F88 10B7C4 0104+00 4/4 0/0 0/0 .text setKandelaarModel__9daAlink_cFv */ #pragma push @@ -154,14 +155,16 @@ asm void daAlink_c::setKandelaarModel() { /* 80110F88-80110FE0 10B8C8 0058+00 3/3 0/0 0/0 .text resetOilBottleModel__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetOilBottleModel() { - nofralloc -#include "asm/d/a/d_a_alink/resetOilBottleModel__9daAlink_cFv.s" +void daAlink_c::resetOilBottleModel() { + deleteEquipItem(0, 1); + + if (field_0x300e != 0) { + setKandelaarModel(); + mEquipItem = KANTERA; + } + + returnKeepItemData(); } -#pragma pop /* 80110FE0-801110B8 10B920 00D8+00 3/3 0/0 0/0 .text commonKandelaarPourInit__9daAlink_cFv */ #pragma push @@ -198,39 +201,49 @@ asm void daAlink_c::initKandelaarSwing() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procKandelaarSwingInit() { +asm int daAlink_c::procKandelaarSwingInit() { nofralloc #include "asm/d/a/d_a_alink/procKandelaarSwingInit__9daAlink_cFv.s" } #pragma pop /* 801115CC-8011167C 10BF0C 00B0+00 1/0 0/0 0/0 .text procKandelaarSwing__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procKandelaarSwing() { - nofralloc -#include "asm/d/a/d_a_alink/procKandelaarSwing__9daAlink_cFv.s" +int daAlink_c::procKandelaarSwing() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x27) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextAction(0); + } + } else if (frameCtrl->getFrame() > field_0x3478 && mDemo.getDemoMode() != 0x27) { + onModeFlg(4); + checkNextAction(1); + } + + return 1; } -#pragma pop /* 8011167C-80111724 10BFBC 00A8+00 1/1 0/0 0/0 .text procKandelaarPourInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procKandelaarPourInit() { - nofralloc -#include "asm/d/a/d_a_alink/procKandelaarPourInit__9daAlink_cFv.s" +int daAlink_c::procKandelaarPourInit() { + if (!dComIfGp_event_compulsory(this, 0, 0xFBFF)) { + return 0; + } + + mDemo.i_setSpecialDemoType(); + commonProcInit(PROC_KANDELAAR_POUR); + current.angle.y = shape_angle.y; + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f98 = 4; + setSingleAnimeParam(ANM_OIL_BOTTLE_POUR_START, &daAlinkHIO_kandelaar_c0::m.mBeginUnkAnm); + commonKandelaarPourInit(); + return 1; } -#pragma pop /* 80111724-8011174C 10C064 0028+00 1/0 0/0 0/0 .text procKandelaarPour__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procKandelaarPour() { - nofralloc -#include "asm/d/a/d_a_alink/procKandelaarPour__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procKandelaarPour() { + commonKandelaarPour(0); + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_link.inc b/src/d/a/d_a_alink_link.inc index 4d4b6e1097..9368dbbacd 100644 --- a/src/d/a/d_a_alink_link.inc +++ b/src/d/a/d_a_alink_link.inc @@ -1,53 +1,80 @@ /* 800C2DDC-800C2EAC 0BD71C 00D0+00 17/17 0/0 0/0 .text * procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c */ -#ifdef NONMATCHING int daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { - commonProcInit(ACT_PROC_PREACTION_UNEQUIP); - mNormalSpeed = 0.0f; - setBlendMoveAnime(4.0f); + commonProcInit(PROC_PREACTION_UNEQUIP); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); allUnequip(0); field_0x3010 = 0; - if (param_1 == NULL) { - field_0x300e = 0; - } else { + if (param_1 != NULL) { field_0x280c.setData(param_1); field_0x300e = 1; - if (fopAcM_GetName(param_1) == 0x2cb) { + + if (fopAcM_GetName(param_1) == PROC_Tag_Lv8Gate) { if (mEquipItem == KANTERA) { field_0x3010 = 1; - } else { - if (i_checkNoResetFlg2(1) != 0) { - offKandelaarModel(); - } + } else if (i_checkNoResetFlg2(FLG2_UNK_1)) { + offKandelaarModel(); } } + } else { + field_0x300e = 0; } field_0x3198 = param_0; return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procPreActionUnequipInit(int param_0, fopAc_ac_c* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c.s" -} -#pragma pop -#endif /* 800C2EAC-800C3098 0BD7EC 01EC+00 1/0 0/0 0/0 .text procPreActionUnequip__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procPreActionUnequip() { - nofralloc -#include "asm/d/a/d_a_alink/procPreActionUnequip__9daAlink_cFv.s" +int daAlink_c::procPreActionUnequip() { + if (checkNoUpperAnime()) { + if (field_0x300e != 0 && (field_0x27f4 == NULL || field_0x27f4 != field_0x280c.getActor())) { + checkWaitAction(); + } else if (field_0x3198 == PROC_PUSH_PULL_WAIT) { + procCoPushPullWaitInit(1); + } else if (field_0x3198 == PROC_LADDER_DOWN_START) { + procLadderDownStartInit(); + } else if (field_0x3198 == PROC_LADDER_UP_START) { + procLadderUpStartInit(); + } else if (field_0x3198 == PROC_GRAB_READY) { + procGrabReadyInit(); + } else if (field_0x3198 == PROC_GET_ITEM) { + procCoGetItemInit(); + } else if (field_0x3198 == PROC_GET_READY_SIT) { + procCoGetReadySitInit(); + } else if (field_0x3198 == PROC_CHAIN_UP) { + procFmChainUpInit(); + } else if (field_0x3198 == PROC_PICK_UP) { + procPickUpInit(); + } else if (field_0x3198 == PROC_CRAWL_START) { + procCrawlStartInit(); + } else if (field_0x3198 == PROC_GRASS_WHISTLE_GET) { + procGrassWhistleGetInit(); + } else if (field_0x3198 == PROC_GOAT_STROKE) { + procGoatStrokeInit(); + } else if (field_0x3198 == PROC_HANG_READY) { + procHangReadyInit(); + } else if (field_0x3198 == PROC_INSECT_CATCH) { + procInsectCatchInit(); + } else if (field_0x3198 == PROC_GORON_MOVE) { + procGoronMoveInit(); + } else if (field_0x3198 == PROC_BOTTLE_SWING) { + procBottleSwingInit(NULL, 0); + } else if (field_0x3198 == PROC_HANG_LEVER_DOWN) { + procHangLeverDownInit(); + } else if (field_0x3198 == PROC_PICK_PUT) { + procPickPutInit(1); + } else { + checkNextAction(0); + } + } else { + setBlendMoveAnime(lit_6041); + } + + return 1; } -#pragma pop /* 800C3098-800C30F0 0BD9D8 0058+00 1/1 0/0 0/0 .text procServiceWaitInit__9daAlink_cFv */ @@ -55,7 +82,7 @@ int daAlink_c::procServiceWaitInit() { commonProcInit(PROC_SERVICE_WAIT); setSingleAnimeBase(ANM_SERVICE_WAIT); mNormalSpeed = FLOAT_LABEL(lit_6108); - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; field_0x2f98 = 4; return 1; } @@ -64,7 +91,7 @@ int daAlink_c::procServiceWaitInit() { int daAlink_c::procServiceWait() { J3DFrameCtrl* ctrl = &mUnderFrameCtrl[0]; if ((!checkNextAction(0) && !checkFrontWallTypeAction()) && - (checkEventRun() || checkGuardActionChange() || mCollisionRot.y != field_0x2fe6)) { + (checkEventRun() || checkGuardActionChange() || shape_angle.y != field_0x2fe6)) { ctrl->setRate(FLOAT_LABEL(lit_6108)); procWaitInit(); } else { @@ -80,18 +107,40 @@ int daAlink_c::procServiceWait() { } /* 800C3224-800C3338 0BDB64 0114+00 2/2 0/0 0/0 .text procTiredWaitInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procTiredWaitInit() { - nofralloc -#include "asm/d/a/d_a_alink/procTiredWaitInit__9daAlink_cFv.s" +int daAlink_c::procTiredWaitInit() { + BOOL no_upper_anm = checkNoSetUpperAnime(); + + if (!commonProcInitNotSameProc(PROC_TIRED_WAIT)) { + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + BOOL tired_anm = checkUnderMove0BckNoArc(ANM_WAIT_TIRED); + + if (no_upper_anm && + ((tired_anm && mNowAnmPackUnder[0].getRatio() < lit_16641) || + checkUnderMove1BckNoArc(ANM_STEP_TURN) || checkUnderMove1BckNoArc(ANM_SMALL_GUARD))) { + f32 var_f31; + if (tired_anm) { + var_f31 = mUnderFrameCtrl[0].getFrame(); + } else { + var_f31 = mUpperFrameCtrl[1].getFrame(); + } + + setSingleAnimeBase(ANM_WAIT_TIRED); + mUnderFrameCtrl[0].setFrame(var_f31); + getNowAnmPackUnder(UNDER_0)->setFrame(var_f31); + } else { + setSingleAnimeBase(ANM_WAIT_TO_TIRED); + } + + return 1; } -#pragma pop /* 800C3338-800C33B8 0BDC78 0080+00 1/0 0/0 0/0 .text procTiredWait__9daAlink_cFv */ int daAlink_c::procTiredWait() { daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; + if (!checkNextAction(0)) { if (ctrl->checkAnmEnd()) { setSingleAnimeBase(ANM_WAIT_TIRED); @@ -99,24 +148,56 @@ int daAlink_c::procTiredWait() { setTiredVoice(ctrl); } } + return 1; } /* 800C33B8-800C3504 0BDCF8 014C+00 26/26 0/0 0/0 .text procWaitInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procWaitInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWaitInit__9daAlink_cFv.s" +int daAlink_c::procWaitInit() { + if (mProcID == PROC_TURN_BACK) { + i_onEndResetFlg0(ERFLG0_UNK_8000000); + } + + if (mProcID == PROC_WAIT) { + return 0; + } + + if (!checkEventRun() && mProcID == PROC_SERVICE_WAIT && !mUnderFrameCtrl[0].checkAnmEnd() && + checkNoUpperAnime()) { + return 0; + } + + BOOL var_r30; + if (mProcID == PROC_GUARD_ATTACK || mProcID == PROC_CUT_REVERSE) { + var_r30 = false; + } else { + var_r30 = true; + } + + commonProcInit(PROC_WAIT); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); + current.angle.y = shape_angle.y; + + if (var_r30) { + field_0x2f98 = 4; + } + + initServiceWaitTime(); + + if (i_checkEndResetFlg0(ERFLG0_UNK_8000000) && + (checkUnderMove0BckNoArc(ANM_WAIT) || checkUnderMove0BckNoArc(ANM_WAIT_TIRED))) { + setSingleAnimeBase(ANM_WAIT_B_TO_A); + } + + return 1; } -#pragma pop /* 800C3504-800C36CC 0BDE44 01C8+00 1/0 0/0 0/0 .text procWait__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWait() { +asm int daAlink_c::procWait() { nofralloc #include "asm/d/a/d_a_alink/procWait__9daAlink_cFv.s" } @@ -125,15 +206,16 @@ asm void daAlink_c::procWait() { /* 800C36CC-800C3730 0BE00C 0064+00 3/3 0/0 0/0 .text procMoveInit__9daAlink_cFv */ int daAlink_c::procMoveInit() { if (!commonProcInitNotSameProc(PROC_MOVE)) { - return false; + return 0; } + setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); setFootEffectProcType(3); return 1; } /* 800C3730-800C3810 0BE070 00E0+00 1/0 0/0 0/0 .text procMove__9daAlink_cFv */ -// results of cLib_minMaxLimit are put in r4 instead of r3 +// reg swap #ifdef NONMATCHING int daAlink_c::procMove() { setFootEffectProcType(3); @@ -142,6 +224,7 @@ int daAlink_c::procMove() { mNormalSpeed > field_0x594 * daAlinkHIO_move_c0::m.mWalkChangeRate) { mNormalSpeed = field_0x594 * daAlinkHIO_move_c0::m.mWalkChangeRate; } + setBlendMoveAnime(-1.0f); if (field_0x3174 != 8) { field_0x30a0 = @@ -167,6 +250,7 @@ int daAlink_c::procAtnMoveInit() { if (!commonProcInitNotSameProc(PROC_ATN_MOVE)) { return 0; } + setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); return 1; } @@ -178,6 +262,7 @@ int daAlink_c::procAtnMove() { setBlendAtnMoveAnime(lit_6041); } } + return 1; } @@ -191,6 +276,7 @@ int daAlink_c::procAtnActorWaitInit() { if (mTargetedActor != NULL) { fopAcM_searchActorAngleY(this, mTargetedActor); } + mNormalSpeed = FLOAT_LABEL(lit_6108); if (field_0x2f98 != 2) { field_0x2f98 = 3; @@ -215,6 +301,7 @@ int daAlink_c::procAtnActorWait() { } checkSwordTwirlAction(); } + return 1; } @@ -224,6 +311,7 @@ int daAlink_c::procAtnActorMoveInit() { if (!commonProcInitNotSameProc(PROC_ATN_ACTOR_MOVE)) { return 0; } + setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); return 1; } @@ -234,6 +322,7 @@ int daAlink_c::procAtnActorMove() { setBlendAtnMoveAnime(lit_6041); checkSwordTwirlAction(); } + return 1; } @@ -248,39 +337,39 @@ int daAlink_c::procWaitTurnInit() { if (checkEventRun()) { mNormalSpeed = FLOAT_LABEL(lit_6108); } + field_0x300e = field_0x2fe2; - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; return 1; } /* 800C3B1C-800C3C3C 0BE45C 0120+00 1/0 0/0 0/0 .text procWaitTurn__9daAlink_cFv */ int daAlink_c::procWaitTurn() { cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_move_c0::m.mDeceleration); + if (checkGroundSpecialMode()) { return 1; + } else if (i_checkEndResetFlg0(ERFLG0_UNK_100000)) { + return procFloorDownReboundInit(); } else { - if (i_checkEndResetFlg0(ERFLG0_UNK_100000)) { - return procFloorDownReboundInit(); - } else { - s16 angle = cLib_addCalcAngleS(&mCollisionRot.y, field_0x300e, 30, 0x3CDF, 8000); - current.angle.y = mCollisionRot.y; - if (checkNextActionFromButton()) { - return 1; - } else { - if (angle == 0) { - if (checkEventRun()) { - if (mDemo.getDemoMode() == 5) { - dComIfGp_evmng_cutEnd(field_0x3184); - } else if (!checkNextAction(0)) { - checkWaitAction(); - } - } else { - checkNextAction(0); - } + s16 angle = cLib_addCalcAngleS(&shape_angle.y, field_0x300e, 30, 0x3CDF, 8000); + current.angle.y = shape_angle.y; + + if (checkNextActionFromButton()) { + return 1; + } else if (angle == 0) { + if (checkEventRun()) { + if (mDemo.getDemoMode() == 5) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else if (!checkNextAction(0)) { + checkWaitAction(); } + } else { + checkNextAction(0); } } } + return 1; } @@ -294,17 +383,18 @@ int daAlink_c::procMoveTurnInit(int param_0) { dComIfGp_setPlayerStatus0(0, 0x800); if (param_0 != 0) { - field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle << 2) + 19030; - field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1; + field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle * 4) + 19030; + field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; field_0x300a = 2; current.angle.y = field_0x2fe2; mNormalSpeed *= lit_5943; } else { - field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1; + field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle; field_0x300a = 3; } - field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle << 1; + + field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle; return 1; } @@ -312,12 +402,12 @@ int daAlink_c::procMoveTurnInit(int param_0) { /* 800C3D38-800C3DA0 0BE678 0068+00 1/0 0/0 0/0 .text procMoveTurn__9daAlink_cFv */ int daAlink_c::procMoveTurn() { setSpeedAndAngleNormal(); - cLib_addCalcAngleS(&mCollisionRot.y, current.angle.y, field_0x300a, field_0x300e, - field_0x3010); + cLib_addCalcAngleS(&shape_angle.y, current.angle.y, field_0x300a, field_0x300e, field_0x3010); if (!checkNextAction(0)) { setBlendMoveAnime(lit_6041); } + return 1; } @@ -326,61 +416,66 @@ int daAlink_c::procSideStepInit(int jump_type) { if (jump_type == 1 && !checkHeavyStateOn(1, 1) && (checkNoUpperAnime() || checkEquipAnime() || field_0x2fcc != 0 && checkUpperGuardAnime())) { return procBackJumpInit(0); - } else { - commonProcInit(PROC_SIDESTEP); - field_0x2f98 = jump_type; - - if (field_0x2f98 == 1) { - current.angle.y = mCollisionRot.y + 0x8000; - setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm); - mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH; - mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV; - field_0x300a = 0; - } else { - daAlink_ANM anm_id; - if (field_0x2f98 == 2) { - anm_id = ANM_SIDE_JUMP_LEFT; - current.angle.y = mCollisionRot.y + 0x4000; - } else { - anm_id = ANM_SIDE_JUMP_RIGHT; - current.angle.y = mCollisionRot.y - 0x4000; - } - setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm); - mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH; - mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV; - field_0x300a = 1; - } - if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; - } - voiceStart(Z2SE_AL_V_JUMP_S); - mCommonCounter = 0; - field_0x300e = 0; - return 1; } + + commonProcInit(PROC_SIDESTEP); + field_0x2f98 = jump_type; + + if (field_0x2f98 == 1) { + current.angle.y = shape_angle.y + 0x8000; + setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm); + mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH; + mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV; + field_0x300a = 0; + } else { + daAlink_ANM anm_id; + if (field_0x2f98 == 2) { + anm_id = ANM_SIDE_JUMP_LEFT; + current.angle.y = shape_angle.y + 0x4000; + } else { + anm_id = ANM_SIDE_JUMP_RIGHT; + current.angle.y = shape_angle.y - 0x4000; + } + + setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm); + mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH; + mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV; + field_0x300a = 1; + } + + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + } + + voiceStart(Z2SE_AL_V_JUMP_S); + mCommonCounter = 0; + field_0x300e = 0; + return 1; } /* 800C3F60-800C40F0 0BE8A0 0190+00 1/0 0/0 0/0 .text procSideStep__9daAlink_cFv */ int daAlink_c::procSideStep() { if (mTargetedActor != NULL && field_0x300a != 0) { s16 actor_angle = fopAcM_searchActorAngleY(this, mTargetedActor); - cLib_addCalcAngleS(&mCollisionRot.y, actor_angle, 5, 0x5E8, 0x13C); + cLib_addCalcAngleS(&shape_angle.y, actor_angle, 5, 0x5E8, 0x13C); + if (field_0x2f98 == 2) { - current.angle.y = mCollisionRot.y + 0x4000; + current.angle.y = shape_angle.y + 0x4000; } else { - current.angle.y = mCollisionRot.y - 0x4000; + current.angle.y = shape_angle.y - 0x4000; } } + if (doTrigger() && field_0x300a != 0) { mCommonCounter = 1; } if (checkUpperItemActionFly()) { - return true; + return 1; } else if (mLinkAcch.ChkGroundHit() && field_0x300e != 0) { if (mCommonCounter != 0 && checkSideRollAction(field_0x2f98)) { - return true; + return 1; } else { return procSideStepLandInit(); } @@ -400,10 +495,11 @@ int daAlink_c::procSideStep() { */ int daAlink_c::procSideStepLandInit() { commonProcInit(PROC_SIDESTEP_LAND); + if (field_0x2f98 == 1) { field_0x2f9d = 4; setSingleAnimeParam(ANM_BACK_JUMP_LAND, &daAlinkHIO_sideStep_c0::m.mBackLandAnm); - field_0x3478 = daAlinkHIO_sideStep_c0::m.mBackLandAnm.field_0x10; + field_0x3478 = daAlinkHIO_sideStep_c0::m.mBackLandAnm.mCheckFrame; field_0x2f98 = 2; field_0x300a = 0; field_0x2fb0 = 0; @@ -418,22 +514,25 @@ int daAlink_c::procSideStepLandInit() { anm_id = ANM_SIDE_JUMP_RIGHT_LAND; uvar3 = 0x40; } + setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideLandAnm); - field_0x3478 = daAlinkHIO_sideStep_c0::m.mSideLandAnm.field_0x10; + field_0x3478 = daAlinkHIO_sideStep_c0::m.mSideLandAnm.mCheckFrame; field_0x300a = 1; field_0x2fb0 = 8; field_0x2fcc = 0; + if (checkEnemyGroup(mTargetedActor) && mEquipItem == EQUIP_SWORD && checkNoUpperAnime()) { setUpperAnimeBaseSpeed(uvar3, daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed, lit_6041); seStartSwordCut(Z2SE_AL_WAIT_SWORD_SWING); } } + field_0x2f9d = 4; setFootEffectProcType(2); i_onResetFlg1(0x30); mNormalSpeed = FLOAT_LABEL(lit_6108); mCommonCounter = 0; - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; setStepLandVibration(); return 1; } @@ -442,6 +541,7 @@ int daAlink_c::procSideStepLandInit() { int daAlink_c::procSideStepLand() { daPy_frameCtrl_c* ctrl = &mUnderFrameCtrl[0]; i_onEndResetFlg0(ERFLG0_UNK_8000000); + if (field_0x2fcc != 0) { field_0x2fcc = 10; } @@ -474,13 +574,13 @@ int daAlink_c::procSlideInit(s16 param_0) { field_0x3090 = 8; current.angle.y = param_0; - if (getMoveBGActorName(mLinkAcch.m_gnd, 0) == 0xD4) { + if (getMoveBGActorName(mLinkAcch.m_gnd, 0) == PROC_Obj_Lv3R10Saka) { field_0x300e = 1; } else { field_0x300e = 0; } - if (cLib_distanceAngleS(param_0, mCollisionRot.y) < 0x3800 || field_0x300e != 0) { + if (cLib_distanceAngleS(param_0, shape_angle.y) < 0x3800 || field_0x300e != 0) { field_0x3198 = 1; setSingleAnimeParam(ANM_SLIDE_FORWARD, &daAlinkHIO_slide_c0::m.mForwardSlideAnm); dComIfGp_setPlayerStatus1(0, 0x100); @@ -499,6 +599,7 @@ int daAlink_c::procSlideInit(s16 param_0) { field_0x2f9d = 0x60; setFootEffectProcType(1); } + field_0x594 = daAlinkHIO_slide_c0::m.mMaxSpeed; field_0x33cc = FLOAT_LABEL(lit_6108); mCommonCounter = 0; @@ -514,7 +615,7 @@ SECTION_SDATA2 static f32 lit_73057 = -4096.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSlide() { +asm int daAlink_c::procSlide() { nofralloc #include "asm/d/a/d_a_alink/procSlide__9daAlink_cFv.s" } @@ -526,15 +627,16 @@ int daAlink_c::procSlideLandInit(int param_0) { if (param_0 != 0) { setSingleAnimeParam(ANM_SLIDE_FORWARD_END, &daAlinkHIO_slide_c0::m.mForwardLandAnm); - field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.field_0x10; + field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.mCheckFrame; field_0x3198 = 1; field_0x2f99 = 4; field_0x3588 = l_waitBaseAnime; } else { setSingleAnimeParam(ANM_SLIDE_BACKWARD_END, &daAlinkHIO_slide_c0::m.mBackwardLandAnm); - field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.field_0x10; + field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.mCheckFrame; field_0x3198 = 0; } + field_0x814.SetWeight(255); mNormalSpeed *= lit_5943; return 1; @@ -550,17 +652,17 @@ int daAlink_c::procSlideLand() { } if (ctrl->checkAnmEnd()) { - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; checkNextAction(0); - } else { - if (ctrl->getFrame() > field_0x3478) { - s16 tmp_angle = current.angle.y; - current.angle.y = mCollisionRot.y; - if (!checkNextAction(1)) { - current.angle.y = tmp_angle; - } + } else if (ctrl->getFrame() > field_0x3478) { + s16 tmp_angle = current.angle.y; + current.angle.y = shape_angle.y; + + if (!checkNextAction(1)) { + current.angle.y = tmp_angle; } } + return 1; } @@ -599,7 +701,7 @@ int daAlink_c::procFrontRollInit() { } else { mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; } - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; voiceStart(Z2SE_AL_V_BACKTEN); mCommonCounter = 0; setFootEffectProcType(0); @@ -634,68 +736,164 @@ asm int daAlink_c::procFrontRollInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procFrontRoll() { +asm int daAlink_c::procFrontRoll() { nofralloc #include "asm/d/a/d_a_alink/procFrontRoll__9daAlink_cFv.s" } #pragma pop /* 800C4F14-800C4FFC 0BF854 00E8+00 1/1 0/0 0/0 .text procFrontRollCrashInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procFrontRollCrashInit() { - nofralloc -#include "asm/d/a/d_a_alink/procFrontRollCrashInit__9daAlink_cFv.s" +int daAlink_c::procFrontRollCrashInit() { + commonProcInit(PROC_FRONT_ROLL_CRASH); + setSingleAnime(ANM_ROLL_CRASH, FLOAT_LABEL(lit_6108), + daAlinkHIO_frontRoll_c0::m.mCrashAnm.mStartFrame, + daAlinkHIO_frontRoll_c0::m.mCrashAnm.mEndFrame, + daAlinkHIO_frontRoll_c0::m.mCrashAnm.mInterpolation); + + mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashSpeedH; + mSpeed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV; + + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + } + + current.angle.y -= -0x8000; + setFrontRollCrashShock(mRollCrashFlg); + voiceStart(Z2SE_AL_V_ZENTEN_FAIL); + i_onResetFlg0(0x2000); + + return 1; } -#pragma pop /* 800C4FFC-800C5160 0BF93C 0164+00 1/0 0/0 0/0 .text procFrontRollCrash__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procFrontRollCrash() { - nofralloc -#include "asm/d/a/d_a_alink/procFrontRollCrash__9daAlink_cFv.s" +int daAlink_c::procFrontRollCrash() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (!i_checkModeFlg(2)) { + if (frameCtrl->checkAnmEnd()) { + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashAnm.mCheckFrame) { + onModeFlg(4); + checkNextAction(1); + } else if (frameCtrl->getFrame() >= lit_10193) { + field_0x2f92 = 4; + } else if (frameCtrl->getFrame() >= lit_8130) { + field_0x2f93 = 10; + } + } else if ((mLinkAcch.ChkGroundHit() || i_checkEndResetFlg2(ERFLG2_UNK_100) || + i_checkMagneBootsOn()) && + i_checkModeFlg(2)) { + mNormalSpeed = FLOAT_LABEL(lit_6108); + setWaterInAnmRate(frameCtrl, daAlinkHIO_frontRoll_c0::m.mCrashAnm.mSpeed); + frameCtrl->offEndFlg(); + current.angle.y = shape_angle.y; + voiceStart(Z2SE_AL_V_ZENTEN_FAIL_2); + offModeFlg(2); + onModeFlg(0x8001); + } + + return 1; } -#pragma pop /* 800C5160-800C5240 0BFAA0 00E0+00 3/3 0/0 0/0 .text procFrontRollSuccessInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procFrontRollSuccessInit() { - nofralloc -#include "asm/d/a/d_a_alink/procFrontRollSuccessInit__9daAlink_cFv.s" +int daAlink_c::procFrontRollSuccessInit() { + BOOL dk_caught = mProcID == PROC_DK_CAUGHT; + + commonProcInit(PROC_FRONT_ROLL_SUCCESS); + setSingleAnimeParam(ANM_BARRIER_RECOIL, &daAlinkHIO_frontRoll_c0::m.mCrashHitAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + if (!dk_caught) { + setFrontRollCrashShock(mRollCrashFlg); + i_onResetFlg0(0x2000); + } else { + f32 tmp_3 = lit_6109; + mUnderFrameCtrl[0].setFrame(tmp_3); + getNowAnmPackUnder(UNDER_0)->setFrame(tmp_3); + } + + field_0x3588 = l_halfAtnWaitBaseAnime; + field_0x2f99 = 4; + setFootEffectProcType(1); + current.angle.y = shape_angle.y - -0x8000; + + return 1; } -#pragma pop /* 800C5240-800C5328 0BFB80 00E8+00 1/0 0/0 0/0 .text procFrontRollSuccess__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procFrontRollSuccess() { - nofralloc -#include "asm/d/a/d_a_alink/procFrontRollSuccess__9daAlink_cFv.s" +int daAlink_c::procFrontRollSuccess() { + daPy_frameCtrl_c* frameCtrl = &mUnderFrameCtrl[0]; + + field_0x2f99 = 4; + i_onEndResetFlg0(0x8000000); + + if (frameCtrl->checkAnmEnd()) { + current.angle.y = shape_angle.y; + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.mCheckFrame) { + onModeFlg(4); + current.angle.y = shape_angle.y; + checkNextAction(1); + } else if (frameCtrl->getFrame() >= lit_8130) { + field_0x2f92 = 1; + field_0x2f93 = 6; + } else if (frameCtrl->getFrame() > lit_7710) { + field_0x2f9d = 0x60; + } + + return 1; } -#pragma pop /* 800C5328-800C5484 0BFC68 015C+00 3/3 0/0 0/0 .text procSideRollInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procSideRollInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procSideRollInit__9daAlink_cFi.s" +int daAlink_c::procSideRollInit(int param_0) { + BOOL guard_anime = checkUpperGuardAnime(); + + if (!commonProcInitNotSameProc(PROC_SIDE_ROLL)) { + return 0; + } + + field_0x2f98 = param_0; + + daAlink_ANM anmID; + if (field_0x2f98 == 2) { + anmID = ANM_SIDE_ROLL_LEFT; + current.angle.y = shape_angle.y + 0x4000; + } else { + anmID = ANM_SIDE_ROLL_RIGHT; + current.angle.y = shape_angle.y + -0x4000; + } + + setSingleAnime(anmID, daAlinkHIO_turnMove_c0::m.mSideRollAnmSpeed, + daAlinkHIO_turnMove_c0::m.mTurnAnm.mStartFrame, + daAlinkHIO_turnMove_c0::m.mTurnAnm.mEndFrame, + daAlinkHIO_turnMove_c0::m.mTurnAnm.mInterpolation); + mNormalSpeed = daAlinkHIO_turnMove_c0::m.mSideRollSpeed; + + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + } else if (checkHeavyStateOn(1, 1)) { + mNormalSpeed *= mHeavySpeedMultiplier; + } + + setFootEffectProcType(0); + field_0x2f9d = 4; + voiceStart(Z2SE_AL_V_SOTOMO_ROLL); + + if (guard_anime) { + i_onNoResetFlg0(FLG0_UNK_2); + } + mCommonCounter = 0; + + return 1; } -#pragma pop /* 800C5484-800C5700 0BFDC4 027C+00 1/0 0/0 0/0 .text procSideRoll__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSideRoll() { +asm int daAlink_c::procSideRoll() { nofralloc #include "asm/d/a/d_a_alink/procSideRoll__9daAlink_cFv.s" } @@ -723,61 +921,146 @@ void daAlink_c::backJumpSpeedDec() { } /* 800C57A4-800C5964 0C00E4 01C0+00 6/6 0/0 0/0 .text procBackJumpInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procBackJumpInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procBackJumpInit__9daAlink_cFi.s" +int daAlink_c::procBackJumpInit(int param_0) { + u32 horse_ride = checkHorseRide(); + BOOL guard_anime = checkUpperGuardAnime(); + BOOL ganon_finish = mProcID == PROC_GANON_FINISH; + + commonProcInit(PROC_BACK_JUMP); + + if (param_0) { + setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_cutDown_c0::m.mRecoverAnm); + mNormalSpeed = daAlinkHIO_cutDown_c0::m.mRecoverSpeedV; + mSpeed.y = daAlinkHIO_cutDown_c0::m.mSpeedV; + voiceStart(Z2SE_AL_V_TODOME_RETURN); + } else { + setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_backJump_c0::m.mBackflipAnm); + mNormalSpeed = daAlinkHIO_backJump_c0::m.mBackflipSpeedH; + mSpeed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV; + voiceStart(Z2SE_AL_V_BACKTEN); + } + + field_0x3478 = mNormalSpeed; + + if (horse_ride) { + onModeFlg(0x2000); + field_0x3008 = 5; + } else { + field_0x3008 = 0; + } + + if (ganon_finish) { + shape_angle.y -= -0x8000; + setOldRootQuaternion(0, -0x8000, 0); + field_0x2060->getOldFrameTransInfo(0)->mTranslate.z += lit_20991; + i_onNoResetFlg3(FLG3_UNK_4000000); + } + + current.angle.y = shape_angle.y - -0x8000; + field_0x3198 = 2; + + if (guard_anime) { + i_onNoResetFlg0(FLG0_UNK_2); + } + + return 1; } -#pragma pop /* 800C5964-800C5A54 0C02A4 00F0+00 1/0 0/0 0/0 .text procBackJump__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBackJump() { - nofralloc -#include "asm/d/a/d_a_alink/procBackJump__9daAlink_cFv.s" +int daAlink_c::procBackJump() { + if (field_0x3008 != 0) { + field_0x3008--; + } else { + offModeFlg(0x2000); + } + + if (checkCutTurnInput() && mEquipItem == 0x103) { + field_0x3198 = getCutTurnDirection(); + } + + backJumpSpeedDec(); + + if (mLinkAcch.ChkGroundHit() && mUnderFrameCtrl[0].checkAnmEnd()) { + procBackJumpLandInit(field_0x3198); + } else if (mDemo.getDemoMode() != 0x10 && + current.pos.y < mLastJumpPos.y - daAlinkHIO_backJump_c0::m.mFallHeight) { + procFallInit(2, daAlinkHIO_backJump_c0::m.mFallInterpolation); + } + + checkItemChangeFromButton(); + return 1; } -#pragma pop /* 800C5A54-800C5AF0 0C0394 009C+00 1/1 0/0 0/0 .text procBackJumpLandInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBackJumpLandInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procBackJumpLandInit__9daAlink_cFi.s" +int daAlink_c::procBackJumpLandInit(int i_cutDirection) { + commonProcInit(PROC_BACK_JUMP_LAND); + setSingleAnimeParam(ANM_BACKFLIP_LAND, &daAlinkHIO_backJump_c0::m.mLandAnm); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + field_0x2f9d = 4; + setFootEffectProcType(2); + i_onResetFlg1(0x30); + + field_0x3198 = i_cutDirection; + current.angle.y = shape_angle.y; + field_0x2fcc = 10; + setStepLandVibration(); + + return 1; } -#pragma pop /* 800C5AF0-800C5C28 0C0430 0138+00 1/0 0/0 0/0 .text procBackJumpLand__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procBackJumpLand() { - nofralloc -#include "asm/d/a/d_a_alink/procBackJumpLand__9daAlink_cFv.s" +#pragma optimization_level 2 +int daAlink_c::procBackJumpLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (field_0x2fcc != 0) { + field_0x2fcc = 10; + } + + i_onEndResetFlg0(0x8000000); + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x10) { + dComIfGp_getPEvtManager()->cutEnd(field_0x3184); + } else { + if (!i_checkAttentionLock()) { + i_offNoResetFlg2(FLG2_UNK_8000000); + } + checkNextAction(0); + } + } else if (frameCtrl->getFrame() > daAlinkHIO_backJump_c0::m.mLandAnm.mCheckFrame) { + if (mEquipItem == 0x103 && (field_0x3198 != 2 || checkCutTurnInput())) { + return procCutTurnInit(1, field_0x3198); + } + + checkNextAction(1); + } + + return 1; } #pragma pop /* 800C5C28-800C5CA4 0C0568 007C+00 1/1 0/0 0/0 .text procSlipInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSlipInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSlipInit__9daAlink_cFv.s" +int daAlink_c::procSlipInit() { + commonProcInit(PROC_SLIP); + setSingleAnimeParam(ANM_SLIP, &daAlinkHIO_move_c0::m.mSlideAnm); + mNormalSpeed = mSpeedF * daAlinkHIO_move_c0::m.mSlideSpeed; + + field_0x2f9d = 0x40; + setFootEffectProcType(1); + field_0x3008 = 5; + + return 1; } -#pragma pop /* 800C5CA4-800C5E68 0C05E4 01C4+00 1/0 0/0 0/0 .text procSlip__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSlip() { +asm int daAlink_c::procSlip() { nofralloc #include "asm/d/a/d_a_alink/procSlip__9daAlink_cFv.s" } @@ -787,7 +1070,7 @@ asm void daAlink_c::procSlip() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procAutoJumpInit(int param_0) { +asm int daAlink_c::procAutoJumpInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procAutoJumpInit__9daAlink_cFi.s" } @@ -801,55 +1084,111 @@ SECTION_SDATA2 static f32 lit_73781 = 2.0f / 3.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procAutoJump() { +asm int daAlink_c::procAutoJump() { nofralloc #include "asm/d/a/d_a_alink/procAutoJump__9daAlink_cFv.s" } #pragma pop -/* ############################################################################################## */ -/* 804532E8-804532EC 0018E8 0004+00 1/1 0/0 0/0 .sdata2 @73790 */ -SECTION_SDATA2 static f32 lit_73790 = 92.0f; - /* 800C66DC-800C6798 0C101C 00BC+00 1/1 0/0 0/0 .text procDiveJumpInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procDiveJumpInit() { - nofralloc -#include "asm/d/a/d_a_alink/procDiveJumpInit__9daAlink_cFv.s" +int daAlink_c::procDiveJumpInit() { + commonProcInit(PROC_DIVE_JUMP); + setSingleAnimeParam(ANM_DIVE_START, &daAlinkHIO_autoJump_c0::m.mDiveAnm); + deleteEquipItem(TRUE, TRUE); + setHeavyBoots(0); + + mSpeed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV; + mNormalSpeed = daAlinkHIO_autoJump_c0::m.mDiveSpeedH; + mGravity = daAlinkHIO_autoJump_c0::m.mDiveGravity; + + mCommonCounter = 0; + current.angle.y = shape_angle.y; + field_0x33b0 = 92.0f; + + voiceStart(Z2SE_AL_V_JUMP_DIVING); + return 1; } -#pragma pop /* 800C6798-800C6850 0C10D8 00B8+00 1/0 0/0 0/0 .text procDiveJump__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procDiveJump() { - nofralloc -#include "asm/d/a/d_a_alink/procDiveJump__9daAlink_cFv.s" +int daAlink_c::procDiveJump() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (mLinkAcch.ChkGroundHit()) { + return procFrontRollInit(); + } + + if (mCommonCounter == 0) { + if (frameCtrl->checkAnmEnd()) { + setSingleAnimeParam(ANM_DIVE, &daAlinkHIO_autoJump_c0::m.mDiveConnectAnm); + mCommonCounter = 1; + field_0x2f99 = 2; + } + } else { + field_0x2f99 = 2; + + if (frameCtrl->getFrame() >= lit_6109) { + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_5943); + } + } + + return 1; } -#pragma pop /* 800C6850-800C692C 0C1190 00DC+00 1/1 0/0 0/0 .text procRollJumpInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procRollJumpInit() { - nofralloc -#include "asm/d/a/d_a_alink/procRollJumpInit__9daAlink_cFv.s" +int daAlink_c::procRollJumpInit() { + commonProcInit(PROC_ROLL_JUMP); + setSingleAnimeBaseSpeed(ANM_ROLL_JUMP, FLOAT_LABEL(lit_6108), + daAlinkHIO_autoJump_c0::m.mSpinJumpInterpolation); + + field_0x3478 = field_0x3410; + mNormalSpeed = field_0x3410; + mSpeed.y = field_0x3414; + + field_0x2fe6 = field_0x30ee; + shape_angle.y = field_0x30ee; + current.angle.y = shape_angle.y; + + mLinkAcch.i_ClrGroundHit(); + field_0x347c = FLOAT_LABEL(lit_6108); + shape_angle.x = 1; + + voiceStart(Z2SE_AL_V_GORONJUMP); + seStartOnlyReverb(Z2SE_AL_GORON_JUMP_START); + mCommonCounter = 1; + + return 1; } -#pragma pop /* 800C692C-800C6A48 0C126C 011C+00 1/0 0/0 0/0 .text procRollJump__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procRollJump() { - nofralloc -#include "asm/d/a/d_a_alink/procRollJump__9daAlink_cFv.s" +int daAlink_c::procRollJump() { + if (mLinkAcch.ChkGroundHit()) { + return checkLandAction(0); + } + + if (mSpeed.y < FLOAT_LABEL(lit_6108)) { + procFallInit(3, daAlinkHIO_autoJump_c0::m.mSpinJumpFallInterpolation); + } else { + s16 old_angle = shape_angle.x; + shape_angle.x += daAlinkHIO_autoJump_c0::m.mSpinJumpRotateSpeed; + + if (shape_angle.x * old_angle <= 0) { + if (mCommonCounter != 0) { + seStartOnlyReverb(Z2SE_AL_GORON_JUMP_ROLLING); + mCommonCounter = 0; + } else { + mCommonCounter = 1; + } + } + + cLib_chaseF(&field_0x347c, + field_0x33a8 * cM_scos(field_0x2fe2 - shape_angle.y) * + daAlinkHIO_autoJump_c0::m.mSpinJumpAddSpeed, + daAlinkHIO_autoJump_c0::m.mSpinJumpAccel); + mNormalSpeed = field_0x3478 + field_0x347c; + } + + return 1; } -#pragma pop /* 800C6A48-800C6D20 0C1388 02D8+00 30/30 0/0 0/0 .text procFallInit__9daAlink_cFif */ #pragma push @@ -862,34 +1201,110 @@ asm int daAlink_c::procFallInit(int param_0, f32 param_1) { #pragma pop /* 800C6D20-800C6F18 0C1660 01F8+00 1/0 0/0 0/0 .text procFall__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procFall() { - nofralloc -#include "asm/d/a/d_a_alink/procFall__9daAlink_cFv.s" +int daAlink_c::procFall() { + if (field_0x3012 == 0) { + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_9054); + } else if (field_0x3012 > 0) { + field_0x3012 = -1; + return 1; + } + + setLandPassiveData(); + if (checkUpperItemActionFly()) { + return 1; + } + + if (mLinkAcch.ChkGroundHit()) { + return checkLandAction(field_0x300e); + } + + if (i_dComIfGs_getLife() != 0) { + if (field_0x3008 == 1) { + if (field_0x300a > 0) { + field_0x300a--; + } else { + setFrontWallType(); + + if ((field_0x32cc != 0 || + ((checkInputOnR() && getDirectionFromShapeAngle() == 0) || doTrigger())) && + checkFrontWallTypeAction()) { + return 1; + } + } + } else if (field_0x3008 == 2 && checkFrontWallTypeAction()) { + return 1; + } + + setFallVoice(); + + f32 tmp_f1 = (mFallHeight - current.pos.y) * lit_8782; + if (mCommonCounter == 0 && tmp_f1 > daAlinkHIO_damFall_c0::m.mFallAnmTransitionHeight) { + setSingleAnimeBaseSpeed(ANM_DMG_FALL, FLOAT_LABEL(lit_6108), + daAlinkHIO_damFall_c0::m.mFallAnmMorf); + mCommonCounter = 1; + } + + if (current.angle.y == shape_angle.y && checkCutJumpInFly()) { + return 1; + } + } + + if (i_dComIfGs_getLife() != 0) { + checkItemChangeFromButton(); + } + + return 1; } -#pragma pop /* 800C6F18-800C6FE4 0C1858 00CC+00 6/6 0/0 0/0 .text procLandInit__9daAlink_cFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procLandInit(f32 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procLandInit__9daAlink_cFf.s" +int daAlink_c::procLandInit(f32 param_0) { + commonProcInit(PROC_LAND); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + setSingleAnimeParam(ANM_JUMP_LAND, &daAlinkHIO_autoJump_c0::m.mLandAnm); + + if (checkGrabGlide()) { + mUnderFrameCtrl[0].setRate(lit_5943); + } else if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + f32 rate = mUnderFrameCtrl[0].getRate() * lit_28286; + mUnderFrameCtrl[0].setRate(rate); + } + + field_0x2f9d = 4; + setFootEffectProcType(4); + + i_onResetFlg1(0x30); + current.angle.y = shape_angle.y; + field_0x3478 = param_0; + + return 1; } -#pragma pop /* 800C6FE4-800C70F8 0C1924 0114+00 1/0 0/0 0/0 .text procLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procLand() { - nofralloc -#include "asm/d/a/d_a_alink/procLand__9daAlink_cFv.s" +int daAlink_c::procLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->checkAnmEnd()) { + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCheckFrame) { + checkNextAction(1); + } else if (frameCtrl->checkPass(lit_7450)) { + int var_r4; + if (checkBootsOrArmorHeavy()) { + var_r4 = 3; + } else if (i_checkNoResetFlg0(FLG0_UNDERWATER) || + field_0x3478 < daAlinkHIO_damFall_c0::m.mMinRollHeight) { + var_r4 = 1; + } else { + var_r4 = 2; + } + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + dComIfGp_getVibration().StartShock(var_r4, 15, cXyz(tmp_0, lit_6040, tmp_0)); + } + + return 1; } -#pragma pop /* 800C70F8-800C72D4 0C1A38 01DC+00 3/3 0/0 0/0 .text procSmallJumpInit__9daAlink_cFi */ #pragma push @@ -905,53 +1320,97 @@ asm int daAlink_c::procSmallJumpInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSmallJump() { +asm int daAlink_c::procSmallJump() { nofralloc #include "asm/d/a/d_a_alink/procSmallJump__9daAlink_cFv.s" } #pragma pop /* 800C74D4-800C755C 0C1E14 0088+00 1/1 0/0 0/0 .text procStepMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procStepMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procStepMoveInit__9daAlink_cFv.s" +int daAlink_c::procStepMoveInit() { + commonProcInit(PROC_STEP_MOVE); + setSingleAnimeParam(ANM_S_JUMP_START, &daAlinkHIO_smallJump_c0::m.mStepClimbAnm); + field_0x3478 = lit_5943 * mNormalSpeed; + mNormalSpeed = FLOAT_LABEL(lit_6108); + + mCommonCounter = 0; + field_0x3588 = l_waitBaseAnime; + + return 1; } -#pragma pop /* 800C755C-800C7690 0C1E9C 0134+00 1/0 0/0 0/0 .text procStepMove__9daAlink_cFv */ +#ifdef NONMATCHING +int daAlink_c::procStepMove() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (mCommonCounter == 0) { + field_0x2f99 = 4; + + if (frameCtrl->checkAnmEnd()) { + return checkNextAction(0); + } + + if (frameCtrl->getFrame() > daAlinkHIO_smallJump_c0::m.mStepLandAnm.mCheckFrame) { + mNormalSpeed = field_0x3478; + + if (checkNextAction(1)) { + return 1; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + } + } else if (frameCtrl->checkAnmEnd()) { + setSingleAnimeParam(ANM_S_JUMP_END, &daAlinkHIO_smallJump_c0::m.mStepLandAnm); + current.pos.set(field_0x34ec.x + cM_ssin(shape_angle.y) * 2.0f, field_0x34ec.y, + field_0x34ec.z + cM_scos(shape_angle.y) * 2.0f); + field_0x2f99 = 80; + mCommonCounter = 1; + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procStepMove() { +asm int daAlink_c::procStepMove() { nofralloc #include "asm/d/a/d_a_alink/procStepMove__9daAlink_cFv.s" } #pragma pop +#endif /* 800C7690-800C76F8 0C1FD0 0068+00 1/0 0/0 0/0 .text procCrouchInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCrouchInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCrouchInit__9daAlink_cFv.s" -} -#pragma pop +int daAlink_c::procCrouchInit() { + if (!commonProcInitNotSameProc(PROC_CROUCH)) { + return 0; + } -/* ############################################################################################## */ -/* 804532EC-804532F0 0018EC 0004+00 1/1 0/0 0/0 .sdata2 @74138 */ -SECTION_SDATA2 static f32 lit_74138 = -80.0f; + setSingleAnimeBaseSpeed(ANM_CROUCH, daAlinkHIO_crouch_c0::m.mCrouchAnmSpeed, + daAlinkHIO_crouch_c0::m.mCrouchInterpolation); + current.angle.y = shape_angle.y; + return 1; +} /* 800C76F8-800C77F4 0C2038 00FC+00 1/0 0/0 0/0 .text procCrouch__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCrouch() { - nofralloc -#include "asm/d/a/d_a_alink/procCrouch__9daAlink_cFv.s" +#pragma optimization_level 2 +int daAlink_c::procCrouch() { + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_move_c0::m.mDeceleration); + + if (checkAttentionState()) { + setFaceBasicBck(0xE8); + } else { + setFaceBasicBck(0); + } + + if (mDemo.getDemoMode() != 0x29 && + (mSinkShapeOffset <= -80.0f || (i_checkAttentionLock() && checkGuardAccept()))) { + checkNextActionFromCrouch(0); + } + + return 1; } #pragma pop @@ -977,15 +1436,15 @@ static u8 lit_4420[12]; /* 8042561C-80425628 05233C 000C+00 37/39 0/0 0/0 .bss l_wolfBaseAnime */ static Vec l_wolfBaseAnime; -bool daMidna_c::checkMidnaRealBody() { +BOOL daMidna_c::checkMidnaRealBody() { return dKy_darkworld_check() == 1 || dComIfGs_isTransformLV(3); } /* 800C77F4-800C7C64 0C2134 0470+00 4/2 0/0 0/0 .text procCoMetamorphoseInit__9daAlink_cFv */ -// 1 missing instruction, lots of regalloc. maybe related +// small regalloc #ifdef NONMATCHING int daAlink_c::procCoMetamorphoseInit() { - int svar8 = 0; + int var_r29 = 0; if (i_dComIfGp_getEvent().i_isOrderOK()) { if (!dComIfGp_event_compulsory(this, NULL, 0xFFFF)) { @@ -993,14 +1452,14 @@ int daAlink_c::procCoMetamorphoseInit() { } mDemo.i_setSpecialDemoType(); mDamageTimer = 0; - svar8 = 1; + var_r29 = 1; } - if (!commonProcInitNotSameProc(METAMORPHOSE)) { + if (!commonProcInitNotSameProc(PROC_METAMORPHOSE)) { return 1; } - field_0x3198 = svar8; + field_0x3198 = var_r29; field_0x3008 = 0; field_0x300e = 0; field_0x3010 = 0; @@ -1012,8 +1471,9 @@ int daAlink_c::procCoMetamorphoseInit() { field_0x300a = 1; mSpeed.y = 0.0f; mNormalSpeed = 0.0f; + if (i_checkWolf()) { - mCommonCounter = mCollisionRot.x; + mCommonCounter = shape_angle.x; } } else { deleteEquipItem(FALSE, TRUE); @@ -1029,10 +1489,11 @@ int daAlink_c::procCoMetamorphoseInit() { field_0x3588 = l_wolfBaseAnime; field_0x347c = 0.5f; field_0x3480 = daAlinkHIO_basic_c0::m.mWolfLinkTransformSpeed; - mCommonCounter = mCollisionRot.x; + mCommonCounter = shape_angle.x; daMidna_c* midna = getMidnaActor(); - if (i_checkMidnaRide() && midna->checkMidnaRealBody() && midna->checkDemoTypeNone()) { + if (i_checkMidnaRide() && daMidna_c::checkMidnaRealBody() && + midna->checkDemoTypeNone()) { midna->changeOriginalDemo(); midna->changeDemoMode(15); } @@ -1041,46 +1502,46 @@ int daAlink_c::procCoMetamorphoseInit() { if (mDemo.getDemoMode() == 0x39 && mDemo.getParam1() == 1) { voiceStart(Z2SE_AL_V_TRANSFORM); } + setSingleAnimeBase(ANM_TRANSFORM_TO_WOLF); setMetamorphoseModel(1); field_0x3588 = l_waitBaseAnime; field_0x3480 = daAlinkHIO_basic_c0::m.mLinkWolfTransformSpeed; - cXyz pos(current.pos.x + (cM_ssin(mCollisionRot.y) * 100.0f), - current.pos.y + 300.0f, - current.pos.z + (cM_scos(mCollisionRot.y) * 100.0f)); + cXyz pos(current.pos.x + (cM_ssin(shape_angle.y) * 100.0f), current.pos.y + 300.0f, + current.pos.z + (cM_scos(shape_angle.y) * 100.0f)); mLinkGndChk.SetPos(&pos); f32 gnd_cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk); if (gnd_cross != -1000000000.0f) { - pos.y = -1000000000.0f; - cXyz tmp_4c = current.pos; - cXyz tmp_58 = pos; - BOOL check = false; + pos.y = gnd_cross; + + cXyz sp14 = current.pos; + cXyz sp8 = pos; + + BOOL var_r28 = false; for (int i = 0; i < 4; i++) { if (i == 3) { - tmp_4c.y = gnd_cross + 5.0f; + sp14.y = gnd_cross + 5.0f; } else { - tmp_4c.y = current.pos.y + field_0x18B0[i].GetWallH(); + sp14.y = current.pos.y + field_0x18B0[i].GetWallH(); } - tmp_58.y = tmp_4c.y; + sp8.y = sp14.y; - if (commonLineCheck(&tmp_4c, &tmp_58) && dBgS_CheckBWallPoly(mLinkLinChk)) { - if (dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) { - check = true; - break; - } + if (commonLineCheck(&sp14, &sp8) && dBgS_CheckBWallPoly(mLinkLinChk) && + dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) { + var_r28 = true; + break; } } - if (check) { + if (var_r28) { mCommonCounter = field_0x2ff0; } else { pos -= current.pos; - pos.atan2sY_XZ(); - mCommonCounter = svar8; + mCommonCounter = pos.atan2sY_XZ(); - if (cM_deg2s(70.0f) < abs(mCommonCounter)) { + if (abs(mCommonCounter) > cM_deg2s(70.0f)) { mCommonCounter = field_0x2ff0; } } @@ -1154,69 +1615,107 @@ SECTION_SDATA2 static f32 lit_74395 = 1.0f / 36.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoMetamorphose() { +asm int daAlink_c::procCoMetamorphose() { nofralloc #include "asm/d/a/d_a_alink/procCoMetamorphose__9daAlink_cFv.s" } #pragma pop /* 800C82E8-800C83A0 0C2C28 00B8+00 2/0 0/0 0/0 .text procCoMetamorphoseOnlyInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoMetamorphoseOnlyInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoMetamorphoseOnlyInit__9daAlink_cFv.s" +int daAlink_c::procCoMetamorphoseOnlyInit() { + if (!commonProcInitNotSameProc(PROC_METAMORPHOSE_ONLY)) { + return 1; + } + + deleteEquipItem(0, 1); + if ((i_checkWolf() && mDemo.getDemoMode() == 0x46) || + (!i_checkWolf() && mDemo.getDemoMode() == 0x47)) { + mCommonCounter = 1; + field_0x300e = 1; + } else { + mCommonCounter = 0; + field_0x300e = 0; + } + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + setSpecialGravity(tmp_0, mMaxFallSpeed, 0); + + return 1; } -#pragma pop /* 800C83A0-800C8460 0C2CE0 00C0+00 1/0 0/0 0/0 .text procCoMetamorphoseOnly__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoMetamorphoseOnly() { - nofralloc -#include "asm/d/a/d_a_alink/procCoMetamorphoseOnly__9daAlink_cFv.s" +int daAlink_c::procCoMetamorphoseOnly() { + if (mCommonCounter == 0) { + mClothesChangeWaitTimer = 4; + mCommonCounter = 1; + } else if (mClothesChangeWaitTimer == 0) { + if (field_0x300e == 0) { + field_0x300e = 1; + + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, + lit_6041); + } else { + setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, lit_6041); + } + } + + dComIfGp_evmng_cutEnd(field_0x3184); + } + + return 1; } -#pragma pop /* 800C8460-800C84D0 0C2DA0 0070+00 2/2 0/0 0/0 .text procFloorDownReboundInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::procFloorDownReboundInit() { - nofralloc -#include "asm/d/a/d_a_alink/procFloorDownReboundInit__9daAlink_cFv.s" +int daAlink_c::procFloorDownReboundInit() { + commonProcInit(PROC_FLOOR_DOWN_REBOUND); + setSingleAnime(ANM_JUMP_LAND, lit_9652, daAlinkHIO_autoJump_c0::m.mLandAnm.mStartFrame, + daAlinkHIO_autoJump_c0::m.mLandAnm.mEndFrame, lit_7625); + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + field_0x2f98 = 4; + + return 1; } -#pragma pop /* 800C84D0-800C854C 0C2E10 007C+00 1/0 0/0 0/0 .text procFloorDownRebound__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procFloorDownRebound() { - nofralloc -#include "asm/d/a/d_a_alink/procFloorDownRebound__9daAlink_cFv.s" +int daAlink_c::procFloorDownRebound() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->checkAnmEnd()) { + checkNextAction(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCheckFrame) { + checkNextAction(1); + } + + return 1; } -#pragma pop /* 800C854C-800C85D8 0C2E8C 008C+00 1/1 0/0 0/0 .text * procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procGoronRideWaitInit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c.s" +int daAlink_c::procGoronRideWaitInit(fopAc_ac_c* param_0) { + if (!commonProcInitNotSameProc(PROC_GORON_RIDE_WAIT)) { + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.pos.x = param_0->current.pos.x; + current.pos.z = param_0->current.pos.z; + field_0x2f99 = 0x50; + current.angle.y = shape_angle.y; + setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); + + return 1; } -#pragma pop /* 800C85D8-800C8700 0C2F18 0128+00 1/0 0/0 0/0 .text procGoronRideWait__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGoronRideWait() { +asm int daAlink_c::procGoronRideWait() { nofralloc #include "asm/d/a/d_a_alink/procGoronRideWait__9daAlink_cFv.s" } @@ -1236,7 +1735,9 @@ COMPILER_STRIP_GATE(0x8039207C, &lit_74748); #pragma push #pragma force_active on SECTION_RODATA static Vec const localBoomCatchPos = { - 18.7f, 146.3f, 69.2f, + 18.7f, + 146.3f, + 69.2f, }; COMPILER_STRIP_GATE(0x80392088, &localBoomCatchPos); #pragma pop @@ -1271,12 +1772,12 @@ int daAlink_c::execute() { } if (checkHorseRide() && checkBoarSingleBattle() && dComIfGp_getHorseActor() != NULL) { - mCollisionRot.y = dComIfGp_getHorseActor()->mCollisionRot.y; - current.angle.y = mCollisionRot.y; + shape_angle.y = dComIfGp_getHorseActor()->shape_angle.y; + current.angle.y = shape_angle.y; } else if (checkMagneBootsOn()) { - mCollisionRot.y = field_0x3118; + shape_angle.y = field_0x3118; } else if (checkModeFlg(MODE_VINE_CLIMB) || checkCargoCarry()) { - mCollisionRot.y = field_0x3108; + shape_angle.y = field_0x3108; } if (checkNoResetFlg2(FLG2_UNK_1) && mEquipItem != KANTERA && checkItemSetButton(KANTERA) == 2) { @@ -1302,15 +1803,17 @@ int daAlink_c::execute() { field_0x3510 = current.pos; if (checkMagneBootsOn()) { - if (checkNoResetFlg0(FLG0_UNK_2000) && dComIfG_Bgsp().ChkPolySafe(mMagneLineChk) && dComIfG_Bgsp().ChkMoveBG(mMagneLineChk)) { - s16 shape_angle_y = mCollisionRot.y; + if (checkNoResetFlg0(FLG0_UNK_2000) && dComIfG_Bgsp().ChkPolySafe(mMagneLineChk) && + dComIfG_Bgsp().ChkMoveBG(mMagneLineChk)) { + s16 shape_angle_y = shape_angle.y; s16 angle_y = current.angle.y; f32 pos_y = current.pos.y; - dComIfG_Bgsp().MoveBgCrrPos(mMagneLineChk, true, ¤t.pos, ¤t.angle, &mCollisionRot, false, false); - + dComIfG_Bgsp().MoveBgCrrPos(mMagneLineChk, true, ¤t.pos, ¤t.angle, + &shape_angle, false, false); + if (field_0x3114 > 0x6000 || field_0x3114 == -0x8000) { - mCollisionRot.y = shape_angle_y - (s16)(mCollisionRot.y - shape_angle_y); + shape_angle.y = shape_angle_y - (s16)(shape_angle.y - shape_angle_y); current.angle.y = angle_y - (s16)(current.angle.y - angle_y); } @@ -1318,13 +1821,14 @@ int daAlink_c::execute() { if (getMoveBGActorName(mMagneLineChk, 0) == PROC_Obj_MagneArm) { field_0x34c8.y += current.pos.y - pos_y; - } else { + } else { field_0x34c8.y += (current.pos.y - pos_y) * 0.1f; } } - } else if (mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(MODE_VINE_CLIMB | MODE_UNK_800) && mProcID != PROC_TOOL_DEMO && - mLinkAcch.GetGroundH() != -1000000000.0f && - dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) { + } else if (mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(MODE_VINE_CLIMB | MODE_UNK_800) && + mProcID != PROC_TOOL_DEMO && mLinkAcch.GetGroundH() != -1000000000.0f && + dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && + dComIfG_Bgsp().ChkMoveBG(mLinkAcch.m_gnd)) { bool uvar23; if (mProcID == PROC_SPINNER_READY) { uvar23 = true; @@ -1333,14 +1837,15 @@ int daAlink_c::execute() { } f32 pos_y = current.pos.y; - dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, uvar23, ¤t.pos, ¤t.angle, &mCollisionRot, false, false); + dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, uvar23, ¤t.pos, ¤t.angle, + &shape_angle, false, false); dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, uvar23, &next.pos, NULL, NULL, false, false); field_0x34c8.y += (current.pos.y - pos_y) * 0.1f; } field_0x3798 = next.pos; - field_0x2fe6 = mCollisionRot.y; - field_0x307c = mStickAngle; + field_0x2fe6 = shape_angle.y; + mPrevStickAngle = mStickAngle; field_0x33a4 = field_0x33ac; if (checkResetFlg0(RFLG0_UNK_8000000) && !checkCutDashAnime()) { @@ -1349,7 +1854,7 @@ int daAlink_c::execute() { mResetFlg0 = 0; mResetFlg1 = 0; - + daAlink_matAnm_c::decMorfFrame(); field_0x2180[0]->offSetFlg(); field_0x2180[1]->offSetFlg(); @@ -1493,17 +1998,18 @@ int daAlink_c::execute() { if (field_0x30d0 != 0) { field_0x30d0--; } else { - offNoResetFlg1(FLG1_UNK_400000); + offNoResetFlg1(FLG1_DASH_MODE); } if (field_0x2fd2 != 0) { field_0x2fd2--; } - if (field_0x2fd3 != 0 && mProcID != PROC_BOTTLE_DRINK && mProcID != PROC_CANOE_BOTTLE_DRINK && mProcID != PROC_HORSE_BOTTLE_DRINK) { + if (field_0x2fd3 != 0 && mProcID != PROC_BOTTLE_DRINK && mProcID != PROC_CANOE_BOTTLE_DRINK && + mProcID != PROC_HORSE_BOTTLE_DRINK) { field_0x2fd3--; } - + if (field_0x2fd4 != 0 && mProcID != PROC_GUARD_SLIP) { field_0x2fd4--; @@ -1524,22 +2030,26 @@ int daAlink_c::execute() { if (event_name != NULL) { if (!strcmp(event_name, "kiko_yami") || !strcmp(event_name, "fire_insect") || - (checkStageName("F_SP108") && (!strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "yami_mog"))) || - (checkStageName("R_SP109") && (!strcmp(event_name, "MapToolCamera1") || !strcmp(event_name, "MapToolCamera2") || !strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "fire_insect"))) || - (checkStageName("F_SP115") && !strcmp(event_name, "MapToolCamera23"))) { + (checkStageName("F_SP108") && + (!strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "yami_mog"))) || + (checkStageName("R_SP109") && + (!strcmp(event_name, "MapToolCamera1") || !strcmp(event_name, "MapToolCamera2") || + !strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "fire_insect"))) || + (checkStageName("F_SP115") && !strcmp(event_name, "MapToolCamera23"))) { mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime + 1; } } - + if (checkEndResetFlg1(ERFLG1_UNK_200) || (checkDungeon() && mEvtInfo.checkCommandDoor()) || - mProcID == PROC_WOLF_GET_SMELL || mProcID == PROC_WOLF_DIG || mProcID == PROC_WOLF_DIG_THROUGH || - checkNoResetFlg0(FLG0_UNK_4000) || dComIfGp_checkPlayerStatus1(0, 0x1000000) || + mProcID == PROC_WOLF_GET_SMELL || mProcID == PROC_WOLF_DIG || + mProcID == PROC_WOLF_DIG_THROUGH || checkNoResetFlg0(FLG0_UNK_4000) || + dComIfGp_checkPlayerStatus1(0, 0x1000000) || (checkEventRun() && partner != NULL && (partner->mAttentionInfo.mFlags & 0x400000)) || !strcmp(dComIfGp_getEventManager().getRunEventName(), l_defaultGetEventName)) { mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime; } else if (mTargetedActor != NULL || dComIfGp_checkPlayerStatus0(0, 0x2000)) { mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime - 1; - } else if (!dComIfGp_getEvent().isOrderOK() && mProcID != PROC_GET_ITEM && + } else if (!dComIfGp_getEvent().isOrderOK() && mProcID != PROC_GET_ITEM && mWolfEyeUp <= daAlinkHIO_wolf_c0::m.mSensesLingerTime) { offWolfEyeUp(); } else { @@ -1556,7 +2066,10 @@ int daAlink_c::execute() { } fopAc_ac_c* item_actor = mGrabItemAcKeep.getActor(); - if (item_actor != NULL && (!fopAcM_checkCarryNow(item_actor) || (checkNoResetFlg0(FLG0_UNDERWATER) && (checkGrabRooster() || fopAcM_GetName(item_actor) == PROC_E_NEST || checkGrabCarryActor())))) { + if (item_actor != NULL && (!fopAcM_checkCarryNow(item_actor) || + (checkNoResetFlg0(FLG0_UNDERWATER) && + (checkGrabRooster() || fopAcM_GetName(item_actor) == PROC_E_NEST || + checkGrabCarryActor())))) { freeGrabItem(); } @@ -1580,7 +2093,8 @@ int daAlink_c::execute() { checkWarpStart(); if (!checkSpecialDemoMode() && mClothesChangeWaitTimer == 0) { - if (!checkDemoAction() && !checkDeadAction(0) && !checkNoResetFlg0(FLG0_UNK_100000) && !checkAutoJumpAction()) { + if (!checkDemoAction() && !checkDeadAction(0) && !checkNoResetFlg0(FLG0_UNK_100000) && + !checkAutoJumpAction()) { checkSwimAction(0); } @@ -1607,14 +2121,17 @@ int daAlink_c::execute() { if (checkCutFastReady()) { if (checkNoUpperAnime()) { - setUpperAnime(0x255, UPPER_2, daAlinkHIO_cut_c0::m.mEquipAnm.mRate, 12.0f, daAlinkHIO_cut_c0::m.mEquipAnm.mEndF, daAlinkHIO_cut_c0::m.mEquipAnm.mInterpolation); + setUpperAnime(0x255, UPPER_2, daAlinkHIO_cut_c0::m.mEquipAnm.mSpeed, 12.0f, + daAlinkHIO_cut_c0::m.mEquipAnm.mEndFrame, + daAlinkHIO_cut_c0::m.mEquipAnm.mInterpolation); onNoResetFlg0(FLG0_UNK_1000000); } } else if (checkNoResetFlg0(FLG0_UNK_1000000)) { resetUpperAnime(UPPER_2, 5.0f); } - if (mEquipItem == KANTERA && checkNoUpperAnime() && !checkKandelaarEquipAnime() && (checkModeFlg(MODE_UNK_1000) || mProcID == PROC_CROUCH)) { + if (mEquipItem == KANTERA && checkNoUpperAnime() && !checkKandelaarEquipAnime() && + (checkModeFlg(MODE_UNK_1000) || mProcID == PROC_CROUCH)) { if (checkReinRide()) { setUpperAnimeBase(0x264); } else { @@ -1633,7 +2150,7 @@ int daAlink_c::execute() { } playFaceTextureAnime(); - + cXyz old_pos = current.pos; posMove(); @@ -1661,7 +2178,8 @@ int daAlink_c::execute() { setWaterY(); autoGroundHit(); - if (checkNoResetFlg0(FLG0_UNDERWATER) || (checkPossibleWaterInMode() && !checkNoResetFlg0(FLG0_UNK_100))) { + if (checkNoResetFlg0(FLG0_UNDERWATER) || + (checkPossibleWaterInMode() && !checkNoResetFlg0(FLG0_UNK_100))) { f32 var_f31; if (mProcID == PROC_HOOKSHOT_FLY) { var_f31 = current.pos.y - (field_0x598 * 0.5f); @@ -1671,7 +2189,8 @@ int daAlink_c::execute() { var_f31 = current.pos.y; } - if (!checkNoResetFlg0(FLG0_UNK_80) || mWaterY - var_f31 <= daAlinkHIO_swim_c0::m.mInitHeight) { + if (!checkNoResetFlg0(FLG0_UNK_80) || + mWaterY - var_f31 <= daAlinkHIO_swim_c0::m.mInitHeight) { swimOutAfter(0); } } @@ -1680,7 +2199,7 @@ int daAlink_c::execute() { J3DTransformInfo ti; field_0x1f20->getAnm(0)->getTransform(0, &ti); mDoMtx_stack_c::transS(old_pos); - mDoMtx_stack_c::YrotM(mCollisionRot.y); + mDoMtx_stack_c::YrotM(shape_angle.y); Vec tmp; mDoMtx_stack_c::multVec(&tmp, ¤t.pos); @@ -1691,7 +2210,10 @@ int daAlink_c::execute() { current.pos.y = mLinkAcch.GetGroundH(); } } - } else if (mProcID == PROC_HOOKSHOT_FLY || mProcID == PROC_MAGNE_BOOTS_FLY || (checkModeFlg(MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING) && mProcID != PROC_HORSE_GETOFF && mProcID != PROC_WOLF_CHAIN_READY && !checkBoardRide())) { + } else if (mProcID == PROC_HOOKSHOT_FLY || mProcID == PROC_MAGNE_BOOTS_FLY || + (checkModeFlg(MODE_ROPE_WALK | MODE_VINE_CLIMB | MODE_UNK_800 | MODE_RIDING) && + mProcID != PROC_HORSE_GETOFF && mProcID != PROC_WOLF_CHAIN_READY && + !checkBoardRide())) { current.pos = pos; } else if (checkModeFlg(MODE_UNK_4000)) { if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) { @@ -1710,7 +2232,9 @@ int daAlink_c::execute() { if (mLinkAcch.GetGroundH() != -1000000000.0f) { setRoomInfo(); - if (!checkModeFlg(MODE_PLAYER_FLY) && !checkMagneBootsOn() && mProcID != PROC_TOOL_DEMO && mProcID != PROC_GANON_FINISH && mProcID != PROC_DUNGEON_WARP && (field_0x2f8c == 1 || field_0x2f8c == 3)) { + if (!checkModeFlg(MODE_PLAYER_FLY) && !checkMagneBootsOn() && mProcID != PROC_TOOL_DEMO && + mProcID != PROC_GANON_FINISH && mProcID != PROC_DUNGEON_WARP && + (field_0x2f8c == 1 || field_0x2f8c == 3)) { setStepsOffset(); } else { field_0x2b9c = 0.0f; @@ -1732,7 +2256,8 @@ int daAlink_c::execute() { dComIfG_Bgsp().MoveBgTransPos(mLinkAcch.m_gnd, true, &field_0x34ec, NULL, NULL); } - if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && mWaterY >= mLinkAcch.GetGroundH()) { + if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && + mWaterY >= mLinkAcch.GetGroundH()) { mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); } else if (checkEndResetFlg0(ERFLG0_UNK_200000)) { mPolySound = 11; @@ -1740,7 +2265,7 @@ int daAlink_c::execute() { mPolySound = dKy_pol_sound_get(&mLinkAcch.m_gnd); } - field_0x2ff0 = getGroundAngle(&mLinkAcch.m_gnd, mCollisionRot.y); + field_0x2ff0 = getGroundAngle(&mLinkAcch.m_gnd, shape_angle.y); } else { if (mProcID == PROC_TOOL_DEMO || mProcID == PROC_GANON_FINISH) { if (checkNoResetFlg0(FLG0_UNK_80) && mWaterY >= mLinkAcch.GetGroundH()) { @@ -1811,7 +2336,8 @@ int daAlink_c::execute() { } } - if (checkModeFlg(MODE_VINE_CLIMB) && mCommonCounter != 0 && dComIfG_Bgsp().ChkPolySafe(mPolyInfo1)) { + if (checkModeFlg(MODE_VINE_CLIMB) && mCommonCounter != 0 && + dComIfG_Bgsp().ChkPolySafe(mPolyInfo1)) { mZ2Link.framework(dKy_pol_sound_get(&mPolyInfo1), mVoiceReverbIntensity); } else { mZ2Link.framework(mPolySound, mVoiceReverbIntensity); @@ -1864,7 +2390,7 @@ int daAlink_c::execute() { if (field_0x2fcb != 0) { if (checkWoodShieldEquip() && mWaterY < mShieldModel->getBaseTRMtx()[1][3]) { field_0x2fcb--; - + if (field_0x2fcb == 0) { dMeter2Info_setShield(NO_ITEM, true); stickArrowIncrement(1); @@ -1874,7 +2400,8 @@ int daAlink_c::execute() { dMeter2Info_setFloatingMessage(2047, 90, false); stage_stag_info_class* pstag = dComIfGp_getStage()->getStagInfo(); - if (dStage_stagInfo_GetSaveTbl(pstag) == 0x11 && !dComIfGs_isItemFirstBit(HYLIA_SHIELD)) { + if (dStage_stagInfo_GetSaveTbl(pstag) == 0x11 && + !dComIfGs_isItemFirstBit(HYLIA_SHIELD)) { fopAcM_onSwitch(this, 0x6F); } seStartOnlyReverb(Z2SE_AL_WOOD_SHIELD_BURN); @@ -1892,12 +2419,13 @@ int daAlink_c::execute() { daMidna_c* pmidna = getMidnaActor(); if (mClothesChangeWaitTimer == 0) { - if ((pmidna->checkMidnaTired() || pmidna->checkForceTiredColor()) && !pmidna->checkForceNormalColor()) { + if ((pmidna->checkMidnaTired() || pmidna->checkForceTiredColor()) && + !pmidna->checkForceNormalColor()) { field_0x79c->getModelData()->entryTevRegAnimator(field_0x7ac); mpWlMidnaHatModel->getModelData()->entryTevRegAnimator(field_0x7b0); field_0x7a4->getModelData()->entryTevRegAnimator(field_0x7b4); mpWlMidnaHairModel->getModelData()->entryTevRegAnimator(field_0x7b8); - } else { + } else { field_0x79c->getModelData()->removeTevRegAnimator(field_0x7ac); mpWlMidnaHatModel->getModelData()->removeTevRegAnimator(field_0x7b0); field_0x7a4->getModelData()->removeTevRegAnimator(field_0x7b4); @@ -1952,20 +2480,22 @@ int daAlink_c::execute() { mSight.mLockCursor.update(); setGrabItemPos(); - + checkRoofRestart(); mExitID = 0x3F; mpScnChg = NULL; cMtx_multVec(mpLinkModel->getAnmMtx(0), &localBoomCatchPos, &field_0x3534); - + if (checkResetFlg0(RFLG0_UNK_10)) { mZ2Link.setResumeAttack(true); } else { mZ2Link.setResumeAttack(false); } - if (!checkEventRun() && checkNoResetFlg0(FLG0_UNK_80) && (mWaterY > current.pos.y + 40.0f || checkModeFlg(MODE_SWIMMING)) && getMoveBGActorName(mLinkAcch.m_wtr, 1) == PROC_Obj_Onsen) { + if (!checkEventRun() && checkNoResetFlg0(FLG0_UNK_80) && + (mWaterY > current.pos.y + 40.0f || checkModeFlg(MODE_SWIMMING)) && + getMoveBGActorName(mLinkAcch.m_wtr, 1) == PROC_Obj_Onsen) { if (mHotspringRecoverTimer != 0) { mHotspringRecoverTimer--; } else { @@ -1976,7 +2506,8 @@ int daAlink_c::execute() { mHotspringRecoverTimer = daAlinkHIO_basic_c0::m.mHotspringRecoverTime; } - if ((checkAttentionLock() || !checkUpperReadyThrowAnime()) && mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_ROOF_SHOOT) { + if ((checkAttentionLock() || !checkUpperReadyThrowAnime()) && + mProcID != PROC_HOOKSHOT_WALL_SHOOT && mProcID != PROC_HOOKSHOT_ROOF_SHOOT) { mFastShotTime = 0; } @@ -1995,8 +2526,8 @@ int daAlink_c::execute() { if (cBgW_CheckBGround(var_f31_2) && !checkModeFlg(MODE_PLAYER_FLY)) { mEvtInfo.onCondition(0x5D); } else if (checkModeFlg(MODE_SWIMMING) || mProcID == PROC_WOLF_ROPE_MOVE || - ((checkReinRide() || checkCanoeRide() || checkSpinnerRide()) && - !checkNoResetFlg3(FLG3_UNK_80000) && !checkModeFlg(MODE_JUMP))) { + ((checkReinRide() || checkCanoeRide() || checkSpinnerRide()) && + !checkNoResetFlg3(FLG3_UNK_80000) && !checkModeFlg(MODE_JUMP))) { mEvtInfo.onCondition(1); if (checkReinRide() || checkCanoeRide()) { mEvtInfo.onCondition(8); @@ -2038,7 +2569,8 @@ int daAlink_c::execute() { if (!checkWolf()) { for (int i = 0; i < 2; i++) { u8 tmp = (i + 1) & 1; - if (dComIfGp_getSelectItem(i) == EMPTY_BOTTLE && (field_0x2fae & (1 << i)) && dComIfGp_getSelectItem(tmp) == EMPTY_BOTTLE) { + if (dComIfGp_getSelectItem(i) == EMPTY_BOTTLE && (field_0x2fae & (1 << i)) && + dComIfGp_getSelectItem(tmp) == EMPTY_BOTTLE) { field_0x2fae |= (1 << tmp); } } @@ -2095,7 +2627,10 @@ int daAlink_c::execute() { } else if (dComIfGp_getDoStatus() == 0x99) { setDoStatusEmphasys(0x15); } else if (dComIfGp_getDoStatus() == 0x91) { - if (checkWolf() || (field_0x27f4 != NULL && (field_0x27f4->mSpeedF > 0.1f || (checkGoatCatchActor(field_0x27f4) && fopAcM_GetName(field_0x27f4) != PROC_COW)))) { + if (checkWolf() || + (field_0x27f4 != NULL && + (field_0x27f4->mSpeedF > 0.1f || (checkGoatCatchActor(field_0x27f4) && + fopAcM_GetName(field_0x27f4) != PROC_COW)))) { setDoStatusEmphasys(0x15); } else { setDoStatus(0); @@ -2106,9 +2641,12 @@ int daAlink_c::execute() { } else { setDoStatus(0); } - } else if (dComIfGp_getDoStatus() == 0x19 && dComIfGp_getHorseActor() != NULL && dComIfGp_getHorseActor()->getZeldaActor() != NULL) { + } else if (dComIfGp_getDoStatus() == 0x19 && dComIfGp_getHorseActor() != NULL && + dComIfGp_getHorseActor()->getZeldaActor() != NULL) { setDoStatus(0x19); - } else if (dComIfGp_getDoStatus() == 5 && field_0x27f4 != NULL && (fopAcM_GetName(field_0x27f4) == PROC_Obj_WindStone || fopAcM_GetName(field_0x27f4) == PROC_Obj_SmWStone)) { + } else if (dComIfGp_getDoStatus() == 5 && field_0x27f4 != NULL && + (fopAcM_GetName(field_0x27f4) == PROC_Obj_WindStone || + fopAcM_GetName(field_0x27f4) == PROC_Obj_SmWStone)) { setDoStatusEmphasys(0x3B); } else if (dComIfGp_getDoStatus() == 0x14) { if (checkEndResetFlg1(ERFLG1_UNK_4000000)) { @@ -2137,14 +2675,15 @@ int daAlink_c::execute() { } mDoAud_setLinkHp(dComIfGs_getLife(), dComIfGs_getMaxLifeGauge()); - + if (dComIfGp_att_getCatghTarget() != NULL && !checkWolf()) { - if (checkRideOn() && checkCastleTownUseItem(EMPTY_BOTTLE) ) { + if (checkRideOn() && checkCastleTownUseItem(EMPTY_BOTTLE)) { dComIfGp_setBottleStatus(0x6C, 0); } } - if (checkEndResetFlg2(ERFLG2_UNK_20) && dComIfGp_checkPlayerStatus0(0, 0x200000) && (field_0x310e != field_0x310a || field_0x3110 != field_0x310c)) { + if (checkEndResetFlg2(ERFLG2_UNK_20) && dComIfGp_checkPlayerStatus0(0, 0x200000) && + (field_0x310e != field_0x310a || field_0x3110 != field_0x310c)) { mDoAud_seStartLevel(Z2SE_AL_HAWK_EYE_PAN, NULL, 0, 0); } @@ -2161,23 +2700,23 @@ int daAlink_c::execute() { mEndResetFlg2 = 0; field_0x3540 = next.pos; - field_0x3108 = mCollisionRot.y; + field_0x3108 = shape_angle.y; if (checkHorseRide() && checkBoarSingleBattle()) { - if (abs(mCollisionRot.y) < 0x4000) { - mCollisionRot.y = 0; + if (abs(shape_angle.y) < 0x4000) { + shape_angle.y = 0; } else { - mCollisionRot.y = -0x8000; + shape_angle.y = -0x8000; } } else if (checkMagneBootsOn()) { - field_0x3118 = mCollisionRot.y; - mCollisionRot.y = getMagneBootsLocalAngleY(mCollisionRot.y, 0); + field_0x3118 = shape_angle.y; + shape_angle.y = getMagneBootsLocalAngleY(shape_angle.y, 0); } else if (checkModeFlg(MODE_VINE_CLIMB)) { - field_0x3108 = mCollisionRot.y; - mCollisionRot.y += field_0x308c; + field_0x3108 = shape_angle.y; + shape_angle.y += field_0x308c; } else if (checkCargoCarry() && mCargoCarryAcKeep.getActor() != NULL) { - field_0x3108 = mCollisionRot.y; - mCollisionRot.y = mCargoCarryAcKeep.getActor()->mCollisionRot.y; + field_0x3108 = shape_angle.y; + shape_angle.y = mCargoCarryAcKeep.getActor()->shape_angle.y; } return 1; @@ -2194,8 +2733,8 @@ asm int daAlink_c::execute() { #endif /* 800CAFA8-800CAFC8 0C58E8 0020+00 1/0 0/0 0/0 .text daAlink_Execute__FP9daAlink_c */ -static void daAlink_Execute(daAlink_c* pLinkPtr) { - pLinkPtr->execute(); +static int daAlink_Execute(daAlink_c* i_this) { + return i_this->execute(); } /* 800CAFC8-800CB480 0C5908 04B8+00 2/2 0/0 0/0 .text setDrawHand__9daAlink_cFv */ @@ -2281,42 +2820,83 @@ void daAlink_c::modelCalc(J3DModel* p_model) { } /* 800CC298-800CC2E0 0C6BD8 0048+00 2/2 0/0 0/0 .text basicModelDraw__9daAlink_cFP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::basicModelDraw(J3DModel* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/basicModelDraw__9daAlink_cFP8J3DModel.s" +void daAlink_c::basicModelDraw(J3DModel* i_model) { + g_env_light.setLightTevColorType_MAJI(i_model, &mTevStr); + mDoExt_modelEntryDL(i_model); } -#pragma pop /* 800CC2E0-800CC364 0C6C20 0084+00 1/1 0/0 0/0 .text modelDraw__9daAlink_cFP8J3DModeli */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::modelDraw(J3DModel* param_0, int param_1) { - nofralloc -#include "asm/d/a/d_a_alink/modelDraw__9daAlink_cFP8J3DModeli.s" +void daAlink_c::modelDraw(J3DModel* i_model, int param_1) { + g_env_light.setLightTevColorType_MAJI(i_model, &mTevStr); + + if (param_1 == 0) { + mDoExt_modelEntryDL(i_model); + } else { + i_model->calcMaterial(); + i_model->diff(); + } + + daMirror_c::entry(i_model); } -#pragma pop /* ############################################################################################## */ /* 8045333C-80453344 00193C 0008+00 1/1 0/0 0/0 .sdata2 notColor0$76211 */ -SECTION_SDATA2 static u8 notColor0[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +SECTION_SDATA2 static GXColorS10 notColor0 = { + 0x0000, + 0x0000, + 0x0000, + 0x00FF, }; /* 800CC364-800CC7DC 0C6CA4 0478+00 2/2 0/0 0/0 .text * setWaterDropColor__9daAlink_cFPC13J3DGXColorS10 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWaterDropColor(J3DGXColorS10 const* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setWaterDropColor__9daAlink_cFPC13J3DGXColorS10.s" +void daAlink_c::setWaterDropColor(J3DGXColorS10 const* i_color) { + J3DGXColorS10* var_r31; + + if (&field_0x32a0[0] == i_color) { + if (i_checkNoResetFlg2(FLG2_UNK_80000) || checkZoraWearAbility() || + checkMagicArmorWearAbility()) { + var_r31 = (J3DGXColorS10*)¬Color0; + i_color = (J3DGXColorS10*)¬Color0; + } else { + var_r31 = (J3DGXColorS10*)&i_color[1]; + } + } else { + var_r31 = (J3DGXColorS10*)i_color; + } + + if (!i_checkNoResetFlg2(FLG2_UNK_80000)) { + if (checkZoraWearAbility()) { + field_0x064C->getMaterialNodePointer(13)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(0)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(1)->setTevColor(1, i_color); + mpLinkHatModel->getModelData()->getMaterialNodePointer(1)->setTevColor(1, i_color); + } else if (checkMagicArmorWearAbility()) { + field_0x064C->getMaterialNodePointer(11)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(10)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(9)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(8)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(6)->setTevColor(1, i_color); + mpLinkHatModel->getModelData()->getMaterialNodePointer(2)->setTevColor(1, i_color); + mpLinkHatModel->getModelData()->getMaterialNodePointer(1)->setTevColor(1, i_color); + } else if (checkCasualWearFlg()) { + field_0x064C->getMaterialNodePointer(7)->setTevColor(1, i_color); + mpLinkHatModel->getModelData()->getMaterialNodePointer(0)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(5)->setTevColor(1, var_r31); + } else { + field_0x064C->getMaterialNodePointer(17)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(9)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(0)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(1)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(2)->setTevColor(1, i_color); + mpLinkHatModel->getModelData()->getMaterialNodePointer(0)->setTevColor(1, i_color); + field_0x064C->getMaterialNodePointer(16)->setTevColor(1, var_r31); + field_0x064C->getMaterialNodePointer(15)->setTevColor(1, var_r31); + field_0x064C->getMaterialNodePointer(14)->setTevColor(1, var_r31); + } + } } -#pragma pop /* 800CC7DC-800CC7FC 0C711C 0020+00 2/2 0/0 0/0 .text initTevCustomColor__9daAlink_cFv */ void daAlink_c::initTevCustomColor() { @@ -2332,21 +2912,16 @@ void daAlink_c::initTevCustomColor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::draw() { +asm int daAlink_c::draw() { nofralloc #include "asm/d/a/d_a_alink/draw__9daAlink_cFv.s" } #pragma pop /* 800CD78C-800CD7AC 0C80CC 0020+00 1/0 0/0 0/0 .text daAlink_Draw__FP9daAlink_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_Draw(daAlink_c* param_0) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_Draw__FP9daAlink_c.s" +static int daAlink_Draw(daAlink_c* i_this) { + return i_this->draw(); } -#pragma pop /* ############################################################################################## */ /* 803B3580-803B3590 0106A0 0010+00 3/3 0/0 0/0 .data __vt__15daAlink_sight_c */ @@ -2433,21 +3008,42 @@ asm void daAlink_c::checkNoSubjectModeCamera() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::acceptSubjectModeChange() { +asm bool daAlink_c::acceptSubjectModeChange() { nofralloc #include "asm/d/a/d_a_alink/acceptSubjectModeChange__9daAlink_cFv.s" } #pragma pop /* 800CE628-800CE728 0C8F68 0100+00 5/5 0/0 0/0 .text checkSubjectAction__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSubjectAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkSubjectAction__9daAlink_cFv.s" +int daAlink_c::checkSubjectAction() { + if (acceptSubjectModeChange()) { + i_onResetFlg0(RFLG0_UNK_4000000); + + if (dComIfGp_checkCameraAttentionStatus(field_0x317c, 0x1000)) { + if (i_checkModeFlg(0x400)) { + if (checkCanoeRide()) { + return procCanoeSubjectivityInit(); + } else if (checkBoardRide()) { + return procBoardSubjectivityInit(); + } else { + return procHorseSubjectivityInit(); + } + } + + if (i_checkModeFlg(0x20000)) { + return procWolfRopeSubjectivityInit(); + } + + if (i_checkModeFlg(0x40000)) { + return procCoSwimSubjectivityInit(); + } + + return procCoSubjectivityInit(); + } + } + + return 0; } -#pragma pop /* 800CE728-800CE8A0 0C9068 0178+00 1/1 0/0 0/0 .text checkBodyAngleX__9daAlink_cFs */ #pragma push @@ -2463,13 +3059,20 @@ asm void daAlink_c::checkBodyAngleX(s16 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setBodyAngleToCamera() { +asm BOOL daAlink_c::setBodyAngleToCamera() { nofralloc #include "asm/d/a/d_a_alink/setBodyAngleToCamera__9daAlink_cFv.s" } #pragma pop /* 800CEAF4-800CEB58 0C9434 0064+00 9/9 0/0 0/0 .text setSubjectMode__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +void daAlink_c::setSubjectMode() { + dComIfGp_setPlayerStatus0(0, 0x2000); + seStartSystem(Z2SE_SUBJ_VIEW_IN); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2478,23 +3081,24 @@ asm void daAlink_c::setSubjectMode() { #include "asm/d/a/d_a_alink/setSubjectMode__9daAlink_cFv.s" } #pragma pop +#endif /* 800CEB58-800CEBD8 0C9498 0080+00 2/2 0/0 0/0 .text subjectCancelTrigger__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::subjectCancelTrigger() { - nofralloc -#include "asm/d/a/d_a_alink/subjectCancelTrigger__9daAlink_cFv.s" +BOOL daAlink_c::subjectCancelTrigger() { + if (i_checkWolf() || checkNotBattleStage() || !i_checkSwordGet() || + (i_checkModeFlg(0x40000) && !i_checkEquipHeavyBoots())) { + return itemTriggerCheck(BTN_B); + } + + return false; } -#pragma pop /* 800CEBD8-800CECE4 0C9518 010C+00 9/9 0/0 0/0 .text checkSubjectEnd__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkSubjectEnd(int param_0) { +asm int daAlink_c::checkSubjectEnd(int param_0) { nofralloc #include "asm/d/a/d_a_alink/checkSubjectEnd__9daAlink_cFi.s" } @@ -2511,74 +3115,108 @@ asm void daAlink_c::searchPeepObj(fopAc_ac_c* param_0, void* param_1) { #pragma pop /* 800CED48-800CED84 0C9688 003C+00 1/1 0/0 0/0 .text daAlink_searchPeepObj__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchPeepObj(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchPeepObj__FP10fopAc_ac_cPv.s" +static int daAlink_searchPeepObj(fopAc_ac_c* param_0, void* param_1) { + daAlink_getAlinkActorClass()->searchPeepObj(param_0, param_1); + return 0; } -#pragma pop /* 800CED84-800CEE08 0C96C4 0084+00 2/2 0/0 0/0 .text procCoSubjectivityInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoSubjectivityInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoSubjectivityInit__9daAlink_cFv.s" +int daAlink_c::procCoSubjectivityInit() { + commonProcInit(PROC_SUBJECTIVITY); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + setSubjectMode(); + field_0x2fe6 = shape_angle.y; + + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT, FLOAT_LABEL(lit_6108), lit_6109); + } else { + setSingleAnimeBaseSpeed(ANM_WAIT, FLOAT_LABEL(lit_6108), lit_6109); + } + + return 1; } -#pragma pop /* 800CEE08-800CEF70 0C9748 0168+00 1/0 0/0 0/0 .text procCoSubjectivity__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoSubjectivity() { +asm int daAlink_c::procCoSubjectivity() { nofralloc #include "asm/d/a/d_a_alink/procCoSubjectivity__9daAlink_cFv.s" } #pragma pop /* 800CEF70-800CF018 0C98B0 00A8+00 1/1 0/0 0/0 .text procCoSwimSubjectivityInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoSwimSubjectivityInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoSwimSubjectivityInit__9daAlink_cFv.s" +int daAlink_c::procCoSwimSubjectivityInit() { + commonProcInit(PROC_SWIM_SUBJECTIVITY); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + setSubjectMode(); + + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlSwim_c0::m.field_0x88, + daAlinkHIO_wlSwim_c0::m.field_0x68); + } else { + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, + daAlinkHIO_swim_c0::m.mWaitInterpolation); + } + + dComIfGp_setPlayerStatus0(0, 0x100000); + mCommonCounter = 0; + + return 1; } -#pragma pop /* 800CF018-800CF100 0C9958 00E8+00 1/0 0/0 0/0 .text procCoSwimSubjectivity__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoSwimSubjectivity() { +asm int daAlink_c::procCoSwimSubjectivity() { nofralloc #include "asm/d/a/d_a_alink/procCoSwimSubjectivity__9daAlink_cFv.s" } #pragma pop /* 800CF100-800CF1B8 0C9A40 00B8+00 1/1 0/0 0/0 .text procCoPeepSubjectivityInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoPeepSubjectivityInit() { - nofralloc -#include "asm/d/a/d_a_alink/procCoPeepSubjectivityInit__9daAlink_cFv.s" +int daAlink_c::procCoPeepSubjectivityInit() { + commonProcInit(PROC_PEEP_SUBJECTIVITY); + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT, tmp_0, lit_6109); + } else { + setSingleAnimeBaseSpeed(ANM_WAIT, tmp_0, lit_6109); + } + + i_onPlayerNoDraw(); + setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0); + mSpeed.y = FLOAT_LABEL(lit_6108); + dComIfGp_setPlayerStatus0(0, 0x2000); + field_0x3478 = lit_6183; + mCommonCounter = shape_angle.y; + + return 1; } -#pragma pop /* 800CF1B8-800CF25C 0C9AF8 00A4+00 1/0 0/0 0/0 .text procCoPeepSubjectivity__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoPeepSubjectivity() { - nofralloc -#include "asm/d/a/d_a_alink/procCoPeepSubjectivity__9daAlink_cFv.s" +int daAlink_c::procCoPeepSubjectivity() { + if (doTrigger() || peepSubjectCancelTrigger()) { + kytag05_class* peep = NULL; + fopAcIt_Executor((fopAcIt_ExecutorFunc)daAlink_searchPeepObj, &peep); + + if (peep != NULL) { + mPeepExitID = peep->getSceneListID(); + } + + if (dComIfGp_event_compulsory(this, 0, 0xFFFF)) { + startPeepChange(); + } + } + + return 1; } -#pragma pop /* 800CF25C-800CF270 0C9B9C 0014+00 1/0 0/0 0/0 .text checkBoardRide__9daAlink_cCFv */ u32 daAlink_c::checkBoardRide() const { @@ -2741,11 +3379,9 @@ static u8 dComIfGp_getRStatus() { /* 800CFF4C-800CFFA4 0CA88C 0058+00 1/1 0/0 0/0 .text checkAttentionLock__9daAlink_cFv */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkAttentionLock() { - nofralloc -#include "asm/d/a/d_a_alink/checkAttentionLock__9daAlink_cFv.s" +#pragma optimization_level 2 +BOOL daAlink_c::checkAttentionLock() { + return mAttention->Lockon(); } #pragma pop @@ -2828,8 +3464,7 @@ u32 daAlink_c::checkReinRide() const { /* 800D0110-800D0138 0CAA50 0028+00 1/1 0/0 0/0 .text checkWolfEnemyThrowAnime__9daAlink_cCFv */ BOOL daAlink_c::checkWolfEnemyThrowAnime() const { - return checkUpperAnime(0x2BD) || - checkUpperAnime(0x2BE); + return checkUpperAnime(0x2BD) || checkUpperAnime(0x2BE); } /* 800D0138-800D014C 0CAA78 0014+00 1/1 0/0 0/0 .text checkSpecialDemoMode__9daAlink_cCFv diff --git a/src/d/a/d_a_alink_spinner.inc b/src/d/a/d_a_alink_spinner.inc index b5f5632282..2e2867833c 100644 --- a/src/d/a/d_a_alink_spinner.inc +++ b/src/d/a/d_a_alink_spinner.inc @@ -112,20 +112,18 @@ void daAlink_c::setSpinnerSyncPos() { daSpinner_c* spinner = (daSpinner_c*)mRideAcKeep.getActor(); mDoMtx_multVecZero(spinner->getModelMtx(), ¤t.pos); - mDoMtx_stack_c::ZXYrotS(spinner->mCollisionRot); - mDoMtx_stack_c::YrotM(mCollisionRot.y - spinner->mCollisionRot.y); - mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &mCollisionRot); + mDoMtx_stack_c::ZXYrotS(spinner->shape_angle); + mDoMtx_stack_c::YrotM(shape_angle.y - spinner->shape_angle.y); + mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &shape_angle); field_0x37a4 = spinner->current.pos; } /* 8010DC64-8010DDCC 1085A4 0168+00 1/1 0/0 0/0 .text procSpinnerReadyInit__9daAlink_cFv */ -// matches with literals -#ifdef NONMATCHING int daAlink_c::procSpinnerReadyInit() { fopAc_ac_c* spinner = (fopAc_ac_c*)fopAcM_fastCreate( PROC_SPINNER, daSpinner_c::getWaitArg(), ¤t.pos, fopAcM_GetRoomNo(this), - &mCollisionRot, NULL, -1, NULL, NULL); + &shape_angle, NULL, -1, NULL, NULL); if (spinner == NULL) { return 0; @@ -133,20 +131,20 @@ int daAlink_c::procSpinnerReadyInit() { commonProcInit(PROC_SPINNER_READY); mRideAcKeep.setData(spinner); - setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mRate, 6.0f, - daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndF, + setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mSpeed, lit_7977, + daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndFrame, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation); - mNormalSpeed = 0.0f; + mNormalSpeed = FLOAT_LABEL(lit_6108); setHeavyBoots(0); - mSpeed.y = 26.0f; + mSpeed.y = lit_7451; voiceStart(Z2SE_AL_V_JUMP_S); seStartOnlyReverb(Z2SE_AL_SPINNER_START); field_0x2f99 = 15; deleteEquipItem(TRUE, TRUE); - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; field_0x3588 = l_waitBaseAnime; field_0x33b0 = field_0x3588.y; field_0x34d4 = l_waitBaseAnime; @@ -154,16 +152,6 @@ int daAlink_c::procSpinnerReadyInit() { return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procSpinnerReadyInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSpinnerReadyInit__9daAlink_cFv.s" -} -#pragma pop -#endif /* 8010DDCC-8010DE64 10870C 0098+00 1/0 0/0 0/0 .text procSpinnerReady__9daAlink_cFv */ int daAlink_c::procSpinnerReady() { @@ -211,7 +199,7 @@ int daAlink_c::procSpinnerWaitInit() { mNormalSpeed = 0.0f; mCommonCounter = 0; - field_0x300e = mCollisionRot.y; + field_0x300e = shape_angle.y; field_0x3010 = 0; field_0x3198 = ANM_RIDE_CROUCH; field_0x33b0 = 70.0f; @@ -259,13 +247,13 @@ int daAlink_c::procSpinnerWait() { s16 angle = field_0x33ac * 384.0f * field_0x33ac; if (direction == DIR_LEFT) { - mCollisionRot.y += angle; + shape_angle.y += angle; } else if (direction == DIR_RIGHT) { - mCollisionRot.y -= angle; + shape_angle.y -= angle; } - current.angle.y = mCollisionRot.y; - field_0x300e = mCollisionRot.y; + current.angle.y = shape_angle.y; + field_0x300e = shape_angle.y; } } else { if (checkSetItemTrigger(SPINNER) || swordSwingTrigger() || itemSetBtn == 2) { @@ -316,20 +304,20 @@ int daAlink_c::procSpinnerWait() { } } else if (spinner->getButtonJump() && field_0x3198 != ANM_RIDE_JUMP) { field_0x3198 = ANM_RIDE_JUMP; - setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStart, - daAlinkHIO_board_c0::m.mAirborneAnm.mEndF, + setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, + daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); field_0x3010 = 0; } else if (field_0x3198 == ANM_RIDE_JUMP) { if (!spinner->getJumpFlg()) { - setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mRate, - daAlinkHIO_board_c0::m.mLandAnm.mStart, 16, + setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mSpeed, + daAlinkHIO_board_c0::m.mLandAnm.mStartFrame, 16, daAlinkHIO_board_c0::m.mLandAnm.mInterpolation); field_0x3198 = ANM_RIDE_JUMP_LAND; } else if (field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) { - setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mRate, - daAlinkHIO_board_c0::m.mAirborneAnm.mStart, - daAlinkHIO_board_c0::m.mAirborneAnm.mEndF, -1.0f); + setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed, + daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, + daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f); field_0x3010 = 1; } } else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) || @@ -341,7 +329,7 @@ int daAlink_c::procSpinnerWait() { } setSpinnerSyncPos(); - mCollisionRot.y = field_0x300e; + shape_angle.y = field_0x300e; return 1; } diff --git a/src/d/a/d_a_alink_sumou.inc b/src/d/a/d_a_alink_sumou.inc index 55e1e9a31a..aa9da1facc 100644 --- a/src/d/a/d_a_alink_sumou.inc +++ b/src/d/a/d_a_alink_sumou.inc @@ -1,12 +1,20 @@ /* 800EA844-800EA8D0 0E5184 008C+00 5/5 0/0 0/0 .text checkSumouVsActor__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSumouVsActor() { - nofralloc -#include "asm/d/a/d_a_alink/checkSumouVsActor__9daAlink_cFv.s" +BOOL daAlink_c::checkSumouVsActor() { + mCargoCarryAcKeep.setActor(); + + if (mCargoCarryAcKeep.getActor() == NULL) { + cancelSumouMode(); + procWaitInit(); + return false; + } + + if (mSpecialMode == 0xD || mSpecialMode == 0xB || mSpecialMode == 0xC || mSpecialMode == 0xE) { + procSumouWinLoseInit(); + return false; + } + + return true; } -#pragma pop /* 800EA8D0-800EA908 0E5210 0038+00 5/5 0/0 0/0 .text cancelSumouMode__9daAlink_cFv */ void daAlink_c::cancelSumouMode() { @@ -26,20 +34,34 @@ void daAlink_c::setSumouPunchStatus() { } /* 800EA950-800EAA28 0E5290 00D8+00 4/4 0/0 0/0 .text procSumouReadyInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSumouReadyInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSumouReadyInit__9daAlink_cFv.s" +int daAlink_c::procSumouReadyInit() { + if (!commonProcInitNotSameProc(PROC_SUMOU_READY)) { + return 0; + } + + setSingleAnimeBaseMorf(ANM_SUMOU_MIAU, FLOAT_LABEL(lit_6108)); + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + field_0x3588 = l_waitBaseAnime; + field_0x34d4 = field_0x3588; + field_0x2f99 = 4; + mSpecialMode = 1; + mCommonCounter = 0; + field_0x300e = 0; + deleteEquipItem(0, 1); + + if (mThrowBoomerangAcKeep.getActor() != NULL) { + static_cast(mThrowBoomerangAcKeep.getActor())->onForceDelete(); + } + + return 1; } -#pragma pop /* 800EAA28-800EAC4C 0E5368 0224+00 1/0 0/0 0/0 .text procSumouReady__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouReady() { +asm int daAlink_c::procSumouReady() { nofralloc #include "asm/d/a/d_a_alink/procSumouReady__9daAlink_cFv.s" } @@ -49,7 +71,7 @@ asm void daAlink_c::procSumouReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouMoveInit() { +asm int daAlink_c::procSumouMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procSumouMoveInit__9daAlink_cFv.s" } @@ -59,7 +81,7 @@ asm void daAlink_c::procSumouMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouMove() { +asm int daAlink_c::procSumouMove() { nofralloc #include "asm/d/a/d_a_alink/procSumouMove__9daAlink_cFv.s" } @@ -67,20 +89,31 @@ asm void daAlink_c::procSumouMove() { /* 800EB208-800EB2BC 0E5B48 00B4+00 4/4 0/0 0/0 .text procSumouSideMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSumouSideMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSumouSideMoveInit__9daAlink_cFv.s" +int daAlink_c::procSumouSideMoveInit() { + commonProcInit(PROC_SUMOU_SIDE_MOVE); + mSpecialMode = 0x16; + field_0x2f98 = 3; + current.angle.y = shape_angle.y + -0x4000; + field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + setSingleAnimeBase(ANM_SUMOU_FIGHT_WAIT); + + field_0x3198 = 0x141; + setSumouPunchStatus(); + setDoStatusEmphasys(0x15); + dComIfGp_setAdvanceDirection(5); + + field_0x2f99 = 12; + setFootEffectProcType(5); + field_0x3008 = 15; + + return 1; } -#pragma pop /* 800EB2BC-800EB624 0E5BFC 0368+00 1/0 0/0 0/0 .text procSumouSideMove__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouSideMove() { +asm int daAlink_c::procSumouSideMove() { nofralloc #include "asm/d/a/d_a_alink/procSumouSideMove__9daAlink_cFv.s" } @@ -91,7 +124,7 @@ asm void daAlink_c::procSumouSideMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) { +asm int daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) { nofralloc #include "asm/d/a/d_a_alink/procSumouActionInit__9daAlink_cFiii.s" } @@ -101,7 +134,7 @@ asm void daAlink_c::procSumouActionInit(int param_0, int param_1, int param_2) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouAction() { +asm int daAlink_c::procSumouAction() { nofralloc #include "asm/d/a/d_a_alink/procSumouAction__9daAlink_cFv.s" } @@ -109,31 +142,46 @@ asm void daAlink_c::procSumouAction() { /* 800EC0F8-800EC170 0E6A38 0078+00 1/1 0/0 0/0 .text procSumouStaggerInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSumouStaggerInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSumouStaggerInit__9daAlink_cFv.s" +int daAlink_c::procSumouStaggerInit() { + commonProcInit(PROC_SUMOU_STAGGER); + + if (mSpecialMode == 0x11) { + mSpecialMode = 0x20; + } else { + mSpecialMode = 0x1F; + } + + setSingleAnimeBase(ANM_SUMOU_STAGGER); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f99 = 12; + field_0x3008 = 30; + return 1; } -#pragma pop /* 800EC170-800EC20C 0E6AB0 009C+00 1/0 0/0 0/0 .text procSumouStagger__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSumouStagger() { - nofralloc -#include "asm/d/a/d_a_alink/procSumouStagger__9daAlink_cFv.s" +int daAlink_c::procSumouStagger() { + field_0x2f99 = 4; + + if (!checkSumouVsActor()) { + return 1; + } + + field_0x3008--; + if (mSpecialMode == 0x1C || mSpecialMode == 0x21 || mSpecialMode == 0x1B) { + procSumouActionInit(0, 0, 0); + } else if (field_0x3008 == 0) { + procSumouSideMoveInit(); + } + + return 1; } -#pragma pop /* 800EC20C-800EC3D8 0E6B4C 01CC+00 1/1 0/0 0/0 .text procSumouWinLoseInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouWinLoseInit() { +asm int daAlink_c::procSumouWinLoseInit() { nofralloc #include "asm/d/a/d_a_alink/procSumouWinLoseInit__9daAlink_cFv.s" } @@ -143,27 +191,37 @@ asm void daAlink_c::procSumouWinLoseInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouWinLose() { +asm int daAlink_c::procSumouWinLose() { nofralloc #include "asm/d/a/d_a_alink/procSumouWinLose__9daAlink_cFv.s" } #pragma pop /* 800EC538-800EC5F4 0E6E78 00BC+00 1/0 0/0 0/0 .text procSumouShikoInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procSumouShikoInit() { - nofralloc -#include "asm/d/a/d_a_alink/procSumouShikoInit__9daAlink_cFv.s" +int daAlink_c::procSumouShikoInit() { + if (!commonProcInitNotSameProc(PROC_SUMOU_SHIKO)) { + return 0; + } + + setSingleAnimeBase(ANM_SUMOU_SHIKO); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x3588 = l_waitBaseAnime; + field_0x34d4 = field_0x3588; + field_0x2f99 = 12; + mCommonCounter = 0; + mSpecialMode = 0; + + setFootEffectProcType(5); + deleteEquipItem(0, 1); + + return 1; } -#pragma pop /* 800EC5F4-800EC724 0E6F34 0130+00 1/0 0/0 0/0 .text procSumouShiko__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSumouShiko() { +asm int daAlink_c::procSumouShiko() { nofralloc #include "asm/d/a/d_a_alink/procSumouShiko__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_swim.inc b/src/d/a/d_a_alink_swim.inc index 271cd34233..81a3f68252 100644 --- a/src/d/a/d_a_alink_swim.inc +++ b/src/d/a/d_a_alink_swim.inc @@ -1,106 +1,120 @@ /* 80101890-801018E4 0FC1D0 0054+00 6/6 0/0 0/0 .text checkZoraWearMaskDraw__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkZoraWearMaskDraw() { - nofralloc -#include "asm/d/a/d_a_alink/checkZoraWearMaskDraw__9daAlink_cFv.s" +BOOL daAlink_c::checkZoraWearMaskDraw() { + return checkZoraWearAbility() && !i_checkNoResetFlg0(FLG0_UNK_100); } -#pragma pop /* 801018E4-80101934 0FC224 0050+00 1/1 0/0 0/0 .text checkAcceptUseItemInWater__9daAlink_cCFUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkAcceptUseItemInWater(u16 param_0) const { - nofralloc -#include "asm/d/a/d_a_alink/checkAcceptUseItemInWater__9daAlink_cCFUs.s" +BOOL daAlink_c::checkAcceptUseItemInWater(u16 i_itemNo) const { + return i_itemNo == HVY_BOOTS || i_itemNo == WATER_BOMB || checkHookshotItem(i_itemNo); } -#pragma pop /* 80101934-801019B8 0FC274 0084+00 4/4 0/0 0/0 .text swimDeleteItem__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::swimDeleteItem() { - nofralloc -#include "asm/d/a/d_a_alink/swimDeleteItem__9daAlink_cFv.s" +void daAlink_c::swimDeleteItem() { + if (!checkHookshotItem(mEquipItem) && (mEquipItem != 0x103 || !checkBootsOrArmorHeavy())) { + deleteEquipItem(1, 1); + } + + if (i_checkNoResetFlg2(FLG2_UNK_1)) { + offKandelaarModel(); + } } -#pragma pop /* 801019B8-80101A18 0FC2F8 0060+00 11/11 0/0 0/0 .text getZoraSwim__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::getZoraSwim() const { - nofralloc -#include "asm/d/a/d_a_alink/getZoraSwim__9daAlink_cCFv.s" +bool daAlink_c::getZoraSwim() const { + return checkUnderMove0BckNoArc(ANM_SWIM_C) || checkUnderMove0BckNoArc(ANM_SWIM_ZORA_START); } -#pragma pop /* 80101A18-80101AA8 0FC358 0090+00 6/6 0/0 0/0 .text getSwimFrontMaxSpeed__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getSwimFrontMaxSpeed() const { - nofralloc -#include "asm/d/a/d_a_alink/getSwimFrontMaxSpeed__9daAlink_cCFv.s" +f32 daAlink_c::getSwimFrontMaxSpeed() const { + if (checkBootsOrArmorHeavy()) { + return daAlinkHIO_swim_c0::m.mUnderwaterMaxSinkSpeed; + } else if (checkZoraWearAbility()) { + return lit_8130; + } else if (checkSwimDashMode()) { + return daAlinkHIO_swim_c0::m.mDMaxSpeed; + } else { + return daAlinkHIO_swim_c0::m.mMaxForwardSpeed; + } } -#pragma pop /* 80101AA8-80101B44 0FC3E8 009C+00 5/5 0/0 0/0 .text getSwimMaxFallSpeed__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getSwimMaxFallSpeed() const { - nofralloc -#include "asm/d/a/d_a_alink/getSwimMaxFallSpeed__9daAlink_cCFv.s" +f32 daAlink_c::getSwimMaxFallSpeed() const { + if (mProcID == PROC_DIVE_JUMP) { + return -daAlinkHIO_swim_c0::m.mMaxUnderwaterSpeed; + } else if (checkBootsOrArmorHeavy()) { + return daAlinkHIO_swim_c0::m.mBootsMaxSinkSpeed; + } else if (getZoraSwim()) { + return daAlinkHIO_swim_c0::m.mMaxSinkSpeed; + } else { + return daAlinkHIO_swim_c0::m.mInitMaxSinkSpeed; + } } -#pragma pop /* 80101B44-80101C94 0FC484 0150+00 1/1 0/0 0/0 .text checkOxygenTimer__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkOxygenTimer() { - nofralloc -#include "asm/d/a/d_a_alink/checkOxygenTimer__9daAlink_cFv.s" +void daAlink_c::checkOxygenTimer() { + BOOL hide_timer; + + if (!i_checkNoResetFlg0(FLG0_UNK_100) || (i_checkModeFlg(MODE_SWIMMING) && mWaterY > lit_7808 + current.pos.y)) { + hide_timer = false; + } else { + hide_timer = true; + } + + if (dComIfGp_getOxygenShowFlag()) { + if (checkZoraWearAbility()) { + offOxygenTimer(); + } else if (hide_timer) { + s32 max = dComIfGp_getMaxOxygen(); + dComIfGp_setOxygenCount(max); + + if (field_0x2fbe < 90) { + field_0x2fbe++; + } else { + offOxygenTimer(); + } + } else if (!checkEventRun()) { + dComIfGp_setOxygenCount(-1); + } + } else if (!hide_timer && !checkZoraWearAbility()) { + if (field_0x2fbe != 0) { + field_0x2fbe--; + } else { + dComIfGp_onOxygenShowFlag(); + dComIfGp_setOxygen(dComIfGp_getMaxOxygen()); + } + } } -#pragma pop /* 80101C94-80101CB8 0FC5D4 0024+00 3/3 0/0 0/0 .text offOxygenTimer__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::offOxygenTimer() { - nofralloc -#include "asm/d/a/d_a_alink/offOxygenTimer__9daAlink_cFv.s" +void daAlink_c::offOxygenTimer() { + dComIfGp_offOxygenShowFlag(); + s32 max = dComIfGp_getMaxOxygen(); + dComIfGp_setOxygen(max); + + field_0x2fbe = 90; } -#pragma pop /* 80101CB8-80101CF4 0FC5F8 003C+00 2/2 0/0 0/0 .text checkPossibleWaterInMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkPossibleWaterInMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkPossibleWaterInMode__9daAlink_cCFv.s" +BOOL daAlink_c::checkPossibleWaterInMode() const { + return i_checkModeFlg(MODE_VINE_CLIMB) || i_dComIfGp_checkPlayerStatus1(0, 0x2000000) || mProcID == PROC_HOOKSHOT_FLY; } -#pragma pop /* 80101CF4-80101D70 0FC634 007C+00 18/18 0/0 0/0 .text * setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* param_0, f32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf.s" +void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) { + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + if (checkZoraWearAbility()) { + i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; + } else { + i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate; + } + } + + i_frameCtrl->setRate(i_rate); } -#pragma pop /* 80101D70-801023E4 0FC6B0 0674+00 2/2 0/0 0/0 .text swimBgCheck__9daAlink_cFf */ #pragma push @@ -125,14 +139,36 @@ asm void daAlink_c::setSpeedAndAngleSwim() { /* 801029C8-80102B1C 0FD308 0154+00 3/3 0/0 0/0 .text checkNextActionSwim__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionSwim() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionSwim__9daAlink_cFv.s" +int daAlink_c::checkNextActionSwim() { + if (checkSwimButtonMove() && getZoraSwim()) { + field_0x3000 = 30; + } + + if ((checkZoraWearAbility() && !checkHeavyStateOn(1, 1)) || i_checkNoResetFlg0(FLG0_UNK_100)) { + setTalkStatus(); + } + + if (orderTalk(1)) { + return 1; + } + + if (mAttList != NULL && mAttList->mType == 7 && i_checkNoResetFlg0(FLG0_UNK_100) && fopAcM_GetName(field_0x27f4) == PROC_CANOE) { + setDoStatus(0x17); + + if (doTrigger()) { + return procCanoeRideInit(); + } + } else if (checkSwimButtonMove() && !checkZoraSwimMove()) { + if (checkSwimButtonAccept()) { + return procSwimDiveInit(); + } + + field_0x3000 = 30; + return procSwimMoveInit(); + } + + return checkNextActionFromButton(); } -#pragma pop /* 80102B1C-80103058 0FD45C 053C+00 3/3 0/0 0/0 .text checkSwimAction__9daAlink_cFi */ #pragma push @@ -148,13 +184,36 @@ asm void daAlink_c::checkSwimAction(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkSwimUpAction() { +asm int daAlink_c::checkSwimUpAction() { nofralloc #include "asm/d/a/d_a_alink/checkSwimUpAction__9daAlink_cFv.s" } #pragma pop /* 801032C8-80103398 0FDC08 00D0+00 8/8 0/0 0/0 .text swimOutAfter__9daAlink_cFi */ +// setInWater needs work +#ifdef NONMATCHING +void daAlink_c::swimOutAfter(int param_0) { + i_onNoResetFlg0(FLG0_UNK_100); + i_onEndResetFlg1(ERFLG1_UNK_100); + mZ2Link.setInWater(false); + + if (i_checkNoResetFlg0(FLG0_UNDERWATER)) { + i_offNoResetFlg0(FLG0_UNDERWATER); + } else { + field_0x2b98 = FLOAT_LABEL(lit_6108); + field_0x2f98 = 4; + } + + field_0x3750 = cXyz::Zero; + field_0x3000 = 0; + offOxygenTimer(); + + if (checkSwimMoveHandAnime() || checkZoraSwimDamageAnime()) { + resetUpperAnime(UPPER_2, lit_6109); + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -163,16 +222,16 @@ asm void daAlink_c::swimOutAfter(int param_0) { #include "asm/d/a/d_a_alink/swimOutAfter__9daAlink_cFi.s" } #pragma pop +#endif /* 80103398-801033CC 0FDCD8 0034+00 1/1 0/0 0/0 .text checkSwimFall__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSwimFall() { - nofralloc -#include "asm/d/a/d_a_alink/checkSwimFall__9daAlink_cFv.s" +bool daAlink_c::checkSwimFall() { + if (!i_checkNoResetFlg0(FLG0_UNK_80) || current.pos.y > mWaterY + l_autoUpHeight) { + return true; + } + + return false; } -#pragma pop /* 801033CC-80103698 0FDD0C 02CC+00 1/1 0/0 0/0 .text checkSwimOutAction__9daAlink_cFv */ #pragma push @@ -196,73 +255,56 @@ asm void daAlink_c::setSwimMoveAnime() { /* 80103EE0-80103F08 0FE820 0028+00 5/5 0/0 0/0 .text checkSwimButtonAccept__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSwimButtonAccept() { - nofralloc -#include "asm/d/a/d_a_alink/checkSwimButtonAccept__9daAlink_cFv.s" +bool daAlink_c::checkSwimButtonAccept() { + return i_dComIfGp_getDoStatus() == 0x41 || i_dComIfGp_getDoStatus() == 0x4C; } -#pragma pop /* 80103F08-80103F24 0FE848 001C+00 4/4 0/0 0/0 .text checkUpSwimButtonAccept__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkUpSwimButtonAccept() { - nofralloc -#include "asm/d/a/d_a_alink/checkUpSwimButtonAccept__9daAlink_cFv.s" +bool daAlink_c::checkUpSwimButtonAccept() { + return i_dComIfGp_getDoStatus() == 0x97; } -#pragma pop /* 80103F24-80103F94 0FE864 0070+00 2/2 0/0 0/0 .text checkSwimButtonMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSwimButtonMove() { - nofralloc -#include "asm/d/a/d_a_alink/checkSwimButtonMove__9daAlink_cFv.s" +BOOL daAlink_c::checkSwimButtonMove() { + return !i_checkNoResetFlg0(FLG0_UNK_100) && (checkSwimButtonAccept() || checkUpSwimButtonAccept()) && doButton(); } -#pragma pop /* 80103F94-80103FE8 0FE8D4 0054+00 3/3 0/0 0/0 .text checkZoraSwimMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkZoraSwimMove() { - nofralloc -#include "asm/d/a/d_a_alink/checkZoraSwimMove__9daAlink_cFv.s" +BOOL daAlink_c::checkZoraSwimMove() { + return checkSwimButtonMove() || field_0x3000 != 0; } -#pragma pop /* 80103FE8-80104034 0FE928 004C+00 2/2 0/0 0/0 .text checkSwimNeckUpDown__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkSwimNeckUpDown() const { - nofralloc -#include "asm/d/a/d_a_alink/checkSwimNeckUpDown__9daAlink_cCFv.s" +BOOL daAlink_c::checkSwimNeckUpDown() const { + return !i_checkNoResetFlg0(FLG0_UNK_100) && checkUnderMove0BckNoArc(ANM_SWIM_WAIT); } -#pragma pop /* 80104034-801040F8 0FE974 00C4+00 3/3 0/0 0/0 .text setSwimUpDownOffset__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSwimUpDownOffset() { - nofralloc -#include "asm/d/a/d_a_alink/setSwimUpDownOffset__9daAlink_cFv.s" +void daAlink_c::setSwimUpDownOffset() { + mCommonCounter += (s16)((cM_rndF(lit_16570) + lit_27477) * lit_27476); + + f32 var_f1; + if (i_checkWolf()) { + if (checkHeavyStateOn(1, 1)) { + var_f1 = daAlinkHIO_wlSwim_c0::m.field_0x98; + } else { + var_f1 = daAlinkHIO_wlSwim_c0::m.field_0x6C; + } + } else { + var_f1 = daAlinkHIO_swim_c0::m.mWaitVibrationIntensity; + } + + field_0x2b98 = var_f1 * cM_ssin(mCommonCounter); } -#pragma pop /* 801040F8-801041E8 0FEA38 00F0+00 2/2 0/0 0/0 .text procSwimUpInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimUpInit() { +asm int daAlink_c::procSwimUpInit() { nofralloc #include "asm/d/a/d_a_alink/procSwimUpInit__9daAlink_cFv.s" } @@ -272,7 +314,7 @@ asm void daAlink_c::procSwimUpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimUp() { +asm int daAlink_c::procSwimUp() { nofralloc #include "asm/d/a/d_a_alink/procSwimUp__9daAlink_cFv.s" } @@ -282,7 +324,7 @@ asm void daAlink_c::procSwimUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimWaitInit(int param_0) { +asm int daAlink_c::procSwimWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procSwimWaitInit__9daAlink_cFi.s" } @@ -292,7 +334,7 @@ asm void daAlink_c::procSwimWaitInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimWait() { +asm int daAlink_c::procSwimWait() { nofralloc #include "asm/d/a/d_a_alink/procSwimWait__9daAlink_cFv.s" } @@ -302,7 +344,7 @@ asm void daAlink_c::procSwimWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimMoveInit() { +asm int daAlink_c::procSwimMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procSwimMoveInit__9daAlink_cFv.s" } @@ -312,7 +354,7 @@ asm void daAlink_c::procSwimMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimMove() { +asm int daAlink_c::procSwimMove() { nofralloc #include "asm/d/a/d_a_alink/procSwimMove__9daAlink_cFv.s" } @@ -322,7 +364,7 @@ asm void daAlink_c::procSwimMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimDiveInit() { +asm int daAlink_c::procSwimDiveInit() { nofralloc #include "asm/d/a/d_a_alink/procSwimDiveInit__9daAlink_cFv.s" } @@ -332,7 +374,7 @@ asm void daAlink_c::procSwimDiveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimDive() { +asm int daAlink_c::procSwimDive() { nofralloc #include "asm/d/a/d_a_alink/procSwimDive__9daAlink_cFv.s" } @@ -342,7 +384,7 @@ asm void daAlink_c::procSwimDive() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimHookshotSubjectInit() { +asm int daAlink_c::procSwimHookshotSubjectInit() { nofralloc #include "asm/d/a/d_a_alink/procSwimHookshotSubjectInit__9daAlink_cFv.s" } @@ -352,7 +394,7 @@ asm void daAlink_c::procSwimHookshotSubjectInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimHookshotSubject() { +asm int daAlink_c::procSwimHookshotSubject() { nofralloc #include "asm/d/a/d_a_alink/procSwimHookshotSubject__9daAlink_cFv.s" } @@ -362,7 +404,7 @@ asm void daAlink_c::procSwimHookshotSubject() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimHookshotMoveInit() { +asm int daAlink_c::procSwimHookshotMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procSwimHookshotMoveInit__9daAlink_cFv.s" } @@ -373,7 +415,7 @@ asm void daAlink_c::procSwimHookshotMoveInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimHookshotMove() { +asm int daAlink_c::procSwimHookshotMove() { nofralloc #include "asm/d/a/d_a_alink/procSwimHookshotMove__9daAlink_cFv.s" } @@ -384,7 +426,7 @@ asm void daAlink_c::procSwimHookshotMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { +asm int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { nofralloc #include "asm/d/a/d_a_alink/procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf.s" } @@ -394,7 +436,7 @@ asm void daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procSwimDamage() { +asm int daAlink_c::procSwimDamage() { nofralloc #include "asm/d/a/d_a_alink/procSwimDamage__9daAlink_cFv.s" } @@ -405,18 +447,24 @@ asm void daAlink_c::procSwimDamage() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procOctaIealSpitInit() { +asm int daAlink_c::procOctaIealSpitInit() { nofralloc #include "asm/d/a/d_a_alink/procOctaIealSpitInit__9daAlink_cFv.s" } #pragma pop /* 80105A00-80105A84 100340 0084+00 1/0 0/0 0/0 .text procOctaIealSpit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procOctaIealSpit() { - nofralloc -#include "asm/d/a/d_a_alink/procOctaIealSpit__9daAlink_cFv.s" -} -#pragma pop \ No newline at end of file +int daAlink_c::procOctaIealSpit() { + if (mDemo.getDemoMode() == 0x2E) { + i_cancelOriginalDemo(); + } + + cLib_addCalc(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_5943, field_0x3478, lit_9054); + field_0x2f99 = 7; + + if (mUnderFrameCtrl[0].checkAnmEnd()) { + procSwimWaitInit(0); + } + + return 1; +} \ No newline at end of file diff --git a/src/d/a/d_a_alink_swindow.inc b/src/d/a/d_a_alink_swindow.inc index f7214b8ffd..283e6bc8bd 100644 --- a/src/d/a/d_a_alink_swindow.inc +++ b/src/d/a/d_a_alink_swindow.inc @@ -1,4 +1,53 @@ /* 801406A8-80140888 13AFE8 01E0+00 0/0 1/1 0/0 .text initStatusWindow__9daAlink_cFv */ +// regalloc +#ifdef NONMATCHING +void daAlink_c::initStatusWindow() { + u16 var_r28; + u16 var_r30; + u16 var_r31; + + i_onNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); + + void* tmpBuffer = new (0x20) void*[0x500]; + + if (i_checkWolf()) { + var_r28 = 0x2FF; + var_r31 = 0x408; + var_r30 = 0x3A7; + changeModelDataDirectWolf(0); + } else { + var_r28 = 0x26A; + var_r31 = 0x3AF; + var_r30 = 0x32C; + + if (checkZoraWearAbility() && !checkZoraWearMaskDraw()) { + field_0x06f0->hide(); + } + changeModelDataDirect(0); + } + + dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, 0x1400, var_r28); + m_sWindowBck = new mDoExt_bckAnm(); + J3DAnmTransform* bck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); + m_sWindowBck->init(bck, 1, 2, 1.0f, 0, -1, false); + + tmpBuffer = new (0x20) void*[0x100]; + + dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, 0x400, var_r31); + J3DAnmTexPattern* btp = (J3DAnmTexPattern*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); + btp->setFrame(0.0f); + btp->searchUpdateMaterialID(field_0x06c0); + field_0x06c0->entryTexNoAnimator(btp); + + tmpBuffer = new (0x20) void*[0x100]; + + dComIfGp_getAnmArchive()->readIdxResource(tmpBuffer, 0x400, var_r30); + J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)J3DAnmLoaderDataBase::load(tmpBuffer, J3DLOADER_UNK_FLAG0); + btk->setFrame(0.0f); + btk->searchUpdateMaterialID(field_0x06c0); + field_0x06c0->entryTexMtxAnimator(btk); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -7,6 +56,7 @@ asm void daAlink_c::initStatusWindow() { #include "asm/d/a/d_a_alink/initStatusWindow__9daAlink_cFv.s" } #pragma pop +#endif /* 80140888-80140984 13B1C8 00FC+00 0/0 1/1 0/0 .text statusWindowExecute__9daAlink_cFPC4cXyzs */ void daAlink_c::statusWindowExecute(cXyz const* param_0, s16 param_1) { diff --git a/src/d/a/d_a_alink_whistle.inc b/src/d/a/d_a_alink_whistle.inc index 9a4692f698..11d7096963 100644 --- a/src/d/a/d_a_alink_whistle.inc +++ b/src/d/a/d_a_alink_whistle.inc @@ -59,10 +59,10 @@ int daAlink_c::procGrassWhistleGetInit() { commonProcInit(PROC_GRASS_WHISTLE_GET); mNormalSpeed = 0.0f; - current.angle.y = mCollisionRot.y; + current.angle.y = shape_angle.y; field_0x2f98 = 4; - setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.field_0x50); + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm); field_0x2f92 = 0xFE; field_0x280c.setData(field_0x27f4); @@ -70,10 +70,10 @@ int daAlink_c::procGrassWhistleGetInit() { mCommonCounter = yobikusa->getType(); field_0x300e = yobikusa->getPathID(); field_0x3010 = yobikusa->isPlayerCorrect(); - field_0x3012 = yobikusa->mCollisionRot.y + 0x8000; - field_0x37c8.set(yobikusa->current.pos.x + cM_ssin(yobikusa->mCollisionRot.y) * 50.0f, + field_0x3012 = yobikusa->shape_angle.y + 0x8000; + field_0x37c8.set(yobikusa->current.pos.x + cM_ssin(yobikusa->shape_angle.y) * 50.0f, yobikusa->current.pos.y + 50.0f, - yobikusa->current.pos.z + cM_scos(yobikusa->mCollisionRot.y) * 50.0f); + yobikusa->current.pos.z + cM_scos(yobikusa->shape_angle.y) * 50.0f); voiceStart(Z2SE_AL_V_SWING_BOTTLE); return 1; } @@ -112,7 +112,7 @@ int daAlink_c::procGrassWhistleGet() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s16 param_3, +asm int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s16 param_3, cXyz* param_4) { nofralloc #include "asm/d/a/d_a_alink/procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz.s" @@ -124,69 +124,92 @@ asm void daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procGrassWhistleWait() { +asm int daAlink_c::procGrassWhistleWait() { nofralloc #include "asm/d/a/d_a_alink/procGrassWhistleWait__9daAlink_cFv.s" } #pragma pop /* 80111FF0-801120C8 10C930 00D8+00 2/2 0/0 0/0 .text procCoHorseCallWaitInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procCoHorseCallWaitInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procCoHorseCallWaitInit__9daAlink_cFi.s" +int daAlink_c::procCoHorseCallWaitInit(int param_0) { + commonProcInit(PROC_HORSE_CALL_WAIT); + + if (param_0 == 4) { + field_0x3010 = 2; + } else if (param_0 == 1) { + field_0x3010 = 0x3D; + } else { + field_0x3010 = 0x10; + } + + if (i_checkWolf()) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, lit_6109); + } else { + setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, lit_6109); + } + + setGrassCancelStatus(0); + dComIfGp_setPlayerStatus1(0, 0x4000000); + return 1; } -#pragma pop /* 801120C8-801121B4 10CA08 00EC+00 1/0 0/0 0/0 .text procCoHorseCallWait__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procCoHorseCallWait() { +asm int daAlink_c::procCoHorseCallWait() { nofralloc #include "asm/d/a/d_a_alink/procCoHorseCallWait__9daAlink_cFv.s" } #pragma pop /* 801121B4-80112220 10CAF4 006C+00 1/0 0/0 0/0 .text procHawkCatchInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procHawkCatchInit() { - nofralloc -#include "asm/d/a/d_a_alink/procHawkCatchInit__9daAlink_cFv.s" +int daAlink_c::procHawkCatchInit() { + if (mProcID == PROC_HAWK_SUBJECT || !commonProcInitNotSameProc(PROC_HAWK_CATCH)) { + return 0; + } + + setSingleAnimeBase(ANM_HAWK_CATCH); + deleteEquipItem(0, 1); + return 1; } -#pragma pop /* 80112220-80112278 10CB60 0058+00 1/0 0/0 0/0 .text procHawkCatch__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procHawkCatch() { - nofralloc -#include "asm/d/a/d_a_alink/procHawkCatch__9daAlink_cFv.s" +int daAlink_c::procHawkCatch() { + if (mUnderFrameCtrl[0].checkAnmEnd()) { + dComIfGp_evmng_cutEnd(field_0x3184); + procHawkSubjectInit(); + } + + return 1; } -#pragma pop /* 80112278-80112304 10CBB8 008C+00 2/2 0/0 0/0 .text procHawkSubjectInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procHawkSubjectInit() { - nofralloc -#include "asm/d/a/d_a_alink/procHawkSubjectInit__9daAlink_cFv.s" +int daAlink_c::procHawkSubjectInit() { + if (!commonProcInitNotSameProc(PROC_HAWK_SUBJECT)) { + return 0; + } + + setSingleAnimeBase(ANM_HAWK_WAIT); + + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchHawk, NULL); + if (actor != NULL) { + field_0x280c.setData(actor); + } + + mCommonCounter = 0; + field_0x59e = 0; + deleteEquipItem(0, 1); + return 1; } -#pragma pop /* 80112304-8011243C 10CC44 0138+00 1/0 0/0 0/0 .text procHawkSubject__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procHawkSubject() { +asm int daAlink_c::procHawkSubject() { nofralloc #include "asm/d/a/d_a_alink/procHawkSubject__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_alink_wolf.inc b/src/d/a/d_a_alink_wolf.inc index 7beb3b7252..46ef687f67 100644 --- a/src/d/a/d_a_alink_wolf.inc +++ b/src/d/a/d_a_alink_wolf.inc @@ -68,20 +68,20 @@ void daAlink_c::setWolfDigStatus(u8 flag) { } /* 80127D68-80127DC4 1226A8 005C+00 4/4 0/0 0/0 .text checkWolfShapeReverse__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL daAlink_c::checkWolfShapeReverse() const { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfShapeReverse__9daAlink_cCFv.s" +BOOL daAlink_c::checkWolfShapeReverse() const { + return ((mProcID == PROC_WOLF_SLIDE_READY || mProcID == PROC_WOLF_LOCK_ATTACK_TURN || + mProcID == PROC_WOLF_JUMP_AT_SLIDE_LAND) && + mCommonCounter != 0) || + mProcID == PROC_WOLF_SLIP_TURN_LAND || + (mProcID == PROC_WOLF_LARGE_DAMAGE_UP && field_0x3198 != 0) || + mProcID == PROC_WOLF_ROPE_TURN; } -#pragma pop /* 80127DC4-80127E08 122704 0044+00 1/1 0/0 0/0 .text checkWolfSideStep__9daAlink_cCFv */ BOOL daAlink_c::checkWolfSideStep() const { return field_0x2f98 != 0 && - ((mProcID == PROC_WOLF_ATN_AC_MOVE && !i_checkModeFlg(1)) || mProcID == PROC_WOLF_SIDESTEP_LAND || - mProcID == PROC_WOLF_BACKJUMP_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 */ @@ -124,7 +124,7 @@ asm void daAlink_c::setSpeedAndAngleWolfAtn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkWolfAtnWait() { +asm BOOL daAlink_c::checkWolfAtnWait() { nofralloc #include "asm/d/a/d_a_alink/checkWolfAtnWait__9daAlink_cFv.s" } @@ -154,14 +154,10 @@ asm void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { /* 80128F0C-80128F5C 12384C 0050+00 2/2 0/0 0/0 .text checkWolfAtnMoveBack__9daAlink_cFs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfAtnMoveBack(s16 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfAtnMoveBack__9daAlink_cFs.s" +BOOL daAlink_c::checkWolfAtnMoveBack(s16 param_0) { + f32 cos = cM_scos(param_0); + return (field_0x2f98 != 1 && cos < lit_44003) || (field_0x2f98 == 1 && cos < lit_44004); } -#pragma pop /* 80128F5C-80129114 12389C 01B8+00 5/5 0/0 0/0 .text setWolfAtnMoveDirection__9daAlink_cFv */ #pragma push @@ -209,45 +205,29 @@ asm void daAlink_c::setDoubleAnimeWolf(f32 param_0, f32 param_1, f32 param_2, /* 80129678-801296A8 123FB8 0030+00 35/35 0/0 0/0 .text * setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSingleAnimeWolfBase(daAlink_c::daAlink_WANM param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM.s" +void daAlink_c::setSingleAnimeWolfBase(daAlink_c::daAlink_WANM i_anmID) { + setSingleAnimeWolf(i_anmID, lit_6040, FLOAT_LABEL(lit_6108), -1, lit_6109); } -#pragma pop /* 801296A8-801296D8 123FE8 0030+00 3/3 0/0 0/0 .text * setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSingleAnimeWolfBaseMorf(daAlink_c::daAlink_WANM param_0, f32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s" +void daAlink_c::setSingleAnimeWolfBaseMorf(daAlink_c::daAlink_WANM i_anmID, f32 i_morf) { + setSingleAnimeWolf(i_anmID, lit_6040, FLOAT_LABEL(lit_6108), -1, i_morf); } -#pragma pop /* 801296D8-80129704 124018 002C+00 44/44 0/0 0/0 .text * setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSingleAnimeWolfBaseSpeed(daAlink_c::daAlink_WANM param_0, f32 param_1, - f32 param_2) { - nofralloc -#include "asm/d/a/d_a_alink/setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff.s" +void daAlink_c::setSingleAnimeWolfBaseSpeed(daAlink_c::daAlink_WANM i_anmID, f32 i_speed, f32 i_morf) { + setSingleAnimeWolf(i_anmID, i_speed, FLOAT_LABEL(lit_6108), -1, i_morf); } -#pragma pop /* 80129704-80129848 124044 0144+00 29/29 0/0 0/0 .text * setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setSingleAnimeWolf(daAlink_c::daAlink_WANM param_0, f32 param_1, f32 param_2, - s16 param_3, f32 param_4) { +asm void daAlink_c::setSingleAnimeWolf(daAlink_c::daAlink_WANM i_anmID, f32 i_speed, f32 i_start, + s16 i_endFrame, f32 i_morf) { nofralloc #include "asm/d/a/d_a_alink/setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf.s" } @@ -255,26 +235,37 @@ asm void daAlink_c::setSingleAnimeWolf(daAlink_c::daAlink_WANM param_0, f32 para /* 80129848-8012987C 124188 0034+00 53/53 0/0 0/0 .text * setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setSingleAnimeWolfParam(daAlink_c::daAlink_WANM param_0, - daAlinkHIO_anm_c const* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c.s" +void daAlink_c::setSingleAnimeWolfParam(daAlink_c::daAlink_WANM i_anmID, + daAlinkHIO_anm_c const* i_anmData) { + setSingleAnimeWolf(i_anmID, i_anmData->mSpeed, i_anmData->mStartFrame, i_anmData->mEndFrame, i_anmData->mInterpolation); } -#pragma pop /* 8012987C-80129958 1241BC 00DC+00 5/5 0/0 0/0 .text checkWolfLandAction__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfLandAction(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfLandAction__9daAlink_cFi.s" +int daAlink_c::checkWolfLandAction(int param_0) { + f32 temp_f31 = lit_8782 * (mFallHeight - current.pos.y); + + if (checkNoLandDamageSlidePolygon() || temp_f31 < daAlinkHIO_wlDamFall_c0::m.field_0x2C) { + if (param_0 != 0) { + procWolfLandDamageInit(0); + } else if (mProcID == PROC_WOLF_JUMP_ATTACK || mProcID == PROC_WOLF_DASH_REVERSE) { + return 0; + } else { + procWolfLandInit(); + } + } else { + int var_r4; + if (temp_f31 < daAlinkHIO_wlDamFall_c0::m.field_0x30) { + var_r4 = 1; + } else { + var_r4 = 2; + } + + procWolfLandDamageInit(var_r4); + } + + return 1; } -#pragma pop /* 80129958-801299A8 124298 0050+00 1/1 0/0 1/1 .text checkMidnaUseAbility__9daAlink_cCFv */ @@ -292,6 +283,7 @@ void daAlink_c::checkWolfUseAbility() { if (checkMidnaLockJumpPoint() != NULL && !i_checkMidnaRide()) { offWolfEyeUp(); } else { + // event flag 0x4308: senses ability unlocked if (i_dComIfGs_isEventBit(0x4308) && field_0x2fd2 == 0 && !checkEventRun() && mWolfEyeUp < daAlinkHIO_wolf_c0::m.mSensesLingerTime && wolfSenseTrigger()) { if (mWolfEyeUp == 0) { @@ -326,7 +318,7 @@ int daAlink_c::checkWolfGroundSpecialMode() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkNextActionWolf(int param_0) { +asm int daAlink_c::checkNextActionWolf(int param_0) { nofralloc #include "asm/d/a/d_a_alink/checkNextActionWolf__9daAlink_cFi.s" } @@ -353,25 +345,41 @@ asm void daAlink_c::checkWolfAttackReverse(int param_0) { #pragma pop /* 8012A330-8012A41C 124C70 00EC+00 1/1 0/0 0/0 .text checkWolfBarrierHitReverse__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfBarrierHitReverse() { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfBarrierHitReverse__9daAlink_cFv.s" +int daAlink_c::checkWolfBarrierHitReverse() { + if (field_0x3100 != 0 && mProcID != PROC_FRONT_ROLL_SUCCESS && mProcID != PROC_DAMAGE && + mProcID != PROC_WOLF_ATTACK_REVERSE && mProcID != PROC_WOLF_DASH_REVERSE) { + if (i_checkWolf()) { + return procWolfDashReverseInit(1); + } else if (mLinkAcch.ChkGroundHit()) { + if (cLib_distanceAngleS(shape_angle.y, field_0x3102) >= 0x4000) { + setFrontRollCrashShock(0); + return procDamageInit(NULL, 1); + } else { + return procFrontRollSuccessInit(); + } + } else { + setFrontRollCrashShock(0); + return procCoLargeDamageInit(-6, 1, 0, 0, NULL, 0); + } + } + + return 0; } -#pragma pop /* 8012A41C-8012A498 124D5C 007C+00 2/2 0/0 0/0 .text * checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfBarrierWallHit(cBgS_PolyInfo& param_0) { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo.s" +bool daAlink_c::checkWolfBarrierWallHit(cBgS_PolyInfo& i_poly) { + if (field_0x3100 != 0 || checkZeroSpeedF()) { + return false; + } + + s16 bg_name = getMoveBGActorName(i_poly, 1); + if (bg_name == PROC_OBJ_TP || bg_name == PROC_OBJ_GB || bg_name == PROC_Obj_GanonWall2) { + return true; + } + + return false; } -#pragma pop /* 8012A498-8012ACCC 124DD8 0834+00 1/1 0/0 0/0 .text wolfBgCheck__9daAlink_cFv */ #pragma push @@ -385,14 +393,21 @@ asm void daAlink_c::wolfBgCheck() { /* 8012ACCC-8012AD1C 12560C 0050+00 1/1 0/0 0/0 .text changeWolfBlendRate__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::changeWolfBlendRate(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/changeWolfBlendRate__9daAlink_cFi.s" +void daAlink_c::changeWolfBlendRate(int param_0) { + if (checkWolfGrabAnime()) { + if (param_0 == 7) { + mNowAnmPackUpper[2].setRatio(FLOAT_LABEL(lit_6108)); + } else if (param_0 == 3) { + mNowAnmPackUpper[2].setRatio(lit_6040); + } + } else if (checkBarkAnime()) { + if (param_0 == 2) { + mNowAnmPackUpper[2].setRatio(FLOAT_LABEL(lit_6108)); + } else if (param_0 == 3) { + mNowAnmPackUpper[2].setRatio(lit_6040); + } + } } -#pragma pop /* 8012AD1C-8012B724 12565C 0A08+00 1/1 0/0 0/0 .text setWolfFootMatrix__9daAlink_cFv */ #pragma push @@ -418,7 +433,7 @@ asm void daAlink_c::wolfFootBgCheck() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkWolfWaitSlipPolygon() { +asm BOOL daAlink_c::checkWolfWaitSlipPolygon() { nofralloc #include "asm/d/a/d_a_alink/checkWolfWaitSlipPolygon__9daAlink_cFv.s" } @@ -436,9 +451,7 @@ asm void daAlink_c::setWolfWaitSlip() { /* 8012C308-8012C30C 126C48 0004+00 4/4 0/0 0/0 .text checkWolfAtnDoCharge__9daAlink_cFv */ -void daAlink_c::checkWolfAtnDoCharge() { - /* empty function */ -} +void daAlink_c::checkWolfAtnDoCharge() {} /* 8012C30C-8012CB0C 126C4C 0800+00 1/1 0/0 0/0 .text setWolfChainPos__9daAlink_cFv */ #pragma push @@ -451,6 +464,23 @@ asm void daAlink_c::setWolfChainPos() { #pragma pop /* 8012CB0C-8012CBE4 12744C 00D8+00 1/1 0/0 0/0 .text setWolfAnmVoice__9daAlink_cFv */ +#ifdef NONMATCHING +void daAlink_c::setWolfAnmVoice() { + s8* var_r30 = field_0x2160; + + if (field_0x2fd8 >= 12 || field_0x215c == NULL) { + return; + } + + for (int i = 0; i < 4; i++) { + f32 temp_f31 = *var_r30; + if (*var_r30 != -1 && field_0x215c->checkPass(temp_f31)) { + voiceStart(label[field_0x2fd8]); + } + var_r30++; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -459,12 +489,13 @@ asm void daAlink_c::setWolfAnmVoice() { #include "asm/d/a/d_a_alink/setWolfAnmVoice__9daAlink_cFv.s" } #pragma pop +#endif /* 8012CBE4-8012CD28 127524 0144+00 4/4 0/0 0/0 .text procWolfServiceWaitInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfServiceWaitInit(int param_0) { +asm int daAlink_c::procWolfServiceWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfServiceWaitInit__9daAlink_cFi.s" } @@ -475,7 +506,7 @@ asm void daAlink_c::procWolfServiceWaitInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfServiceWait() { +asm int daAlink_c::procWolfServiceWait() { nofralloc #include "asm/d/a/d_a_alink/procWolfServiceWait__9daAlink_cFv.s" } @@ -483,90 +514,146 @@ asm void daAlink_c::procWolfServiceWait() { /* 8012CF68-8012CFEC 1278A8 0084+00 1/1 0/0 0/0 .text procWolfTiredWaitInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfTiredWaitInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfTiredWaitInit__9daAlink_cFv.s" +int daAlink_c::procWolfTiredWaitInit() { + if (checkWolfWaitSlipPolygon() && !checkInputOnR()) { + return procWolfWaitSlipInit(); + } + + if (!commonProcInitNotSameProc(PROC_WOLF_TIRED_WAIT)) { + return 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + setSingleAnimeWolfBase(WANM_WAIT_TO_TIRED); + return 1; } -#pragma pop /* 8012CFEC-8012D050 12792C 0064+00 1/0 0/0 0/0 .text procWolfTiredWait__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfTiredWait() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfTiredWait__9daAlink_cFv.s" +int daAlink_c::procWolfTiredWait() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (!checkNextActionWolf(0) && frameCtrl->checkAnmEnd()) { + setSingleAnimeWolfBase(WANM_WAIT_TIRED); + } + + return 1; } -#pragma pop /* 8012D050-8012D104 127990 00B4+00 3/2 0/0 0/0 .text procWolfMidnaRideShockInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfMidnaRideShockInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfMidnaRideShockInit__9daAlink_cFv.s" +int daAlink_c::procWolfMidnaRideShockInit() { + if (!i_checkWolf()) { + dComIfGp_evmng_cutEnd(field_0x3184); + return procWaitInit(); + } + + if (!commonProcInitNotSameProc(PROC_WOLF_MIDNA_RIDE_SHOCK)) { + return 0; + } + + setSingleAnimeWolfBase(WANM_MIDNA_SHOCK); + setFaceBasicTexture(FTANM_UNK_9F); + + voiceStart(Z2SE_WL_V_MD_SHOCK); + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + + return 1; } -#pragma pop /* 8012D104-8012D1A8 127A44 00A4+00 1/0 0/0 0/0 .text procWolfMidnaRideShock__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfMidnaRideShock() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfMidnaRideShock__9daAlink_cFv.s" +int daAlink_c::procWolfMidnaRideShock() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x32) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextActionWolf(0); + } + } else if (frameCtrl->getFrame() > lit_17382 && mDemo.getDemoMode() != 0x32) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8012D1A8-8012D2A8 127AE8 0100+00 13/13 0/0 0/0 .text procWolfWaitInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfWaitInit() { +asm int daAlink_c::procWolfWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfWaitInit__9daAlink_cFv.s" } #pragma pop /* 8012D2A8-8012D380 127BE8 00D8+00 1/0 0/0 0/0 .text procWolfWait__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::procWolfWait() { + s16 old_shapeangle = shape_angle.y; + + if (!checkNextActionWolf(0) && !checkFrontWallTypeAction()) { + field_0x33f0 = (s16)(shape_angle.y - old_shapeangle) * lit_15460; + setBlendWolfMoveAnime(lit_6041); + + if (checkServiceWaitMode()) { + field_0x30ca--; + + if (field_0x30ca == 0) { + procWolfServiceWaitInit(0); + } + } else { + initServiceWaitTime(); + } + } + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfWait() { +asm int daAlink_c::procWolfWait() { nofralloc #include "asm/d/a/d_a_alink/procWolfWait__9daAlink_cFv.s" } #pragma pop +#endif /* 8012D380-8012D3E4 127CC0 0064+00 2/2 0/0 0/0 .text procWolfMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfMoveInit__9daAlink_cFv.s" +int daAlink_c::procWolfMoveInit() { + if (!commonProcInitNotSameProc(PROC_WOLF_MOVE)) { + return 0; + } + + setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94); + setFootEffectProcType(3); + + return 1; } -#pragma pop /* 8012D3E4-8012D474 127D24 0090+00 1/0 0/0 0/0 .text procWolfMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfMove() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfMove__9daAlink_cFv.s" +int daAlink_c::procWolfMove() { + if (!checkNextActionWolf(0) && !checkFrontWallTypeAction()) { + if (mDemo.getDemoMode() == 2) { + if (mNormalSpeed > field_0x594 * daAlinkHIO_wlMoveNoP_c0::m.field_0x28) { + mNormalSpeed = field_0x594 * daAlinkHIO_wlMoveNoP_c0::m.field_0x28; + } + } + + setBlendWolfMoveAnime(lit_6041); + field_0x30a2 = field_0x2fec; + } + + return 1; } -#pragma pop /* 8012D474-8012D590 127DB4 011C+00 1/1 0/0 0/0 .text procWolfDashInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDashInit() { +asm int daAlink_c::procWolfDashInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfDashInit__9daAlink_cFv.s" } @@ -576,7 +663,7 @@ asm void daAlink_c::procWolfDashInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDash() { +asm int daAlink_c::procWolfDash() { nofralloc #include "asm/d/a/d_a_alink/procWolfDash__9daAlink_cFv.s" } @@ -586,7 +673,7 @@ asm void daAlink_c::procWolfDash() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDashReverseInit(int param_0) { +asm int daAlink_c::procWolfDashReverseInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfDashReverseInit__9daAlink_cFi.s" } @@ -597,49 +684,89 @@ asm void daAlink_c::procWolfDashReverseInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDashReverse() { +asm int daAlink_c::procWolfDashReverse() { nofralloc #include "asm/d/a/d_a_alink/procWolfDashReverse__9daAlink_cFv.s" } #pragma pop /* 8012DBA8-8012DC44 1284E8 009C+00 1/1 0/0 0/0 .text procWolfAtnActorMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfAtnActorMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfAtnActorMoveInit__9daAlink_cFv.s" +int daAlink_c::procWolfAtnActorMoveInit() { + if (!commonProcInitNotSameProc(PROC_WOLF_ATN_AC_MOVE)) { + return 0; + } + + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + setWolfAtnMoveDirection(); + setBlendWolfAtnMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94); + + if (checkWolfAtnWait()) { + voiceStartLevel(Z2SE_WL_V_ROAR); + } + + return 1; } -#pragma pop /* 8012DC44-8012DD08 128584 00C4+00 1/0 0/0 0/0 .text procWolfAtnActorMove__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfAtnActorMove() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfAtnActorMove__9daAlink_cFv.s" +int daAlink_c::procWolfAtnActorMove() { + setWolfAtnMoveDirection(); + + if (!checkNextActionWolf(0)) { + if (checkZeroSpeedF()) { + onModeFlg(1); + + if (checkWolfWaitSlipPolygon() && !checkInputOnR()) { + return procWolfWaitSlipInit(); + } + } else { + offModeFlg(1); + } + + setBlendWolfAtnMoveAnime(lit_6041); + + if (checkWolfAtnWait()) { + voiceStartLevel(Z2SE_WL_V_ROAR); + } + } + + return 1; } -#pragma pop /* 8012DD08-8012DDB4 128648 00AC+00 1/1 0/0 0/0 .text procWolfWaitTurnInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfWaitTurnInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfWaitTurnInit__9daAlink_cFv.s" +int daAlink_c::procWolfWaitTurnInit() { + if (!commonProcInitNotSameProc(PROC_WOLF_WAIT_TURN)) { + return 0; + } + + f32 var_f1; + if (checkWolfDashMode()) { + var_f1 = daAlinkHIO_wlMove_c0::m.field_0x74; + } else { + var_f1 = daAlinkHIO_wlMoveNoP_c0::m.field_0x18; + } + + setSingleAnimeWolfBaseSpeed(WANM_WALK_A, var_f1, daAlinkHIO_wlMove_c0::m.field_0x94); + + if (checkEventRun()) { + mNormalSpeed = FLOAT_LABEL(lit_6108); + } + + field_0x300e = field_0x2fe2; + current.angle.y = shape_angle.y; + + return 1; } -#pragma pop /* 8012DDB4-8012DEC8 1286F4 0114+00 1/0 0/0 0/0 .text procWolfWaitTurn__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfWaitTurn() { +asm int daAlink_c::procWolfWaitTurn() { nofralloc #include "asm/d/a/d_a_alink/procWolfWaitTurn__9daAlink_cFv.s" } @@ -650,7 +777,7 @@ asm void daAlink_c::procWolfWaitTurn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSideStepInit(int param_0) { +asm int daAlink_c::procWolfSideStepInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfSideStepInit__9daAlink_cFi.s" } @@ -660,90 +787,169 @@ asm void daAlink_c::procWolfSideStepInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSideStep() { +asm int daAlink_c::procWolfSideStep() { nofralloc #include "asm/d/a/d_a_alink/procWolfSideStep__9daAlink_cFv.s" } #pragma pop /* 8012E1E8-8012E2DC 128B28 00F4+00 1/1 0/0 0/0 .text procWolfSideStepLandInit__9daAlink_cFs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSideStepLandInit(s16 param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSideStepLandInit__9daAlink_cFs.s" +int daAlink_c::procWolfSideStepLandInit(s16 param_0) { + commonProcInit(PROC_WOLF_SIDESTEP_LAND); + + if (field_0x2f98 == 1) { + setSingleAnimeWolfParam(WANM_BACK_JUMP_END, &daAlinkHIO_wlSideStep_c0::m.field_0x3C); + field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x3C.mCheckFrame; + field_0x2fcc = 10; + } else { + field_0x2fcc = 0; + setSingleAnimeWolfParam(field_0x2f98 == 2 ? WANM_SIDE_JUMP_LEFT_END : WANM_SIDE_JUMP_RIGHT_END, &daAlinkHIO_wlSideStep_c0::m.field_0x14); + field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x14.mCheckFrame; + } + + field_0x3012 = param_0; + field_0x2f9d = 4; + setFootEffectProcType(2); + i_onResetFlg1(0xC); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setStepLandVibration(); + + return 1; } -#pragma pop /* 8012E2DC-8012E398 128C1C 00BC+00 1/0 0/0 0/0 .text procWolfSideStepLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSideStepLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSideStepLand__9daAlink_cFv.s" +int daAlink_c::procWolfSideStepLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (field_0x2fcc != 0) { + field_0x2fcc = 10; + } + + setWolfAtnMoveDirection(); + checkWolfAtnDoCharge(); + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x10) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextActionWolf(0); + } + } else if (frameCtrl->getFrame() > field_0x3478) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8012E398-8012E508 128CD8 0170+00 3/3 0/0 0/0 .text procWolfBackJumpInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfBackJumpInit(int param_0) { +asm int daAlink_c::procWolfBackJumpInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfBackJumpInit__9daAlink_cFi.s" } #pragma pop /* 8012E508-8012E5F4 128E48 00EC+00 1/0 0/0 0/0 .text procWolfBackJump__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfBackJump() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfBackJump__9daAlink_cFv.s" +int daAlink_c::procWolfBackJump() { + cLib_addCalcAngleS(&shape_angle.y, mCommonCounter, + daAlinkHIO_wlAtnMove_c0::m.field_0x4, + daAlinkHIO_wlAtnMove_c0::m.field_0x0, + daAlinkHIO_wlAtnMove_c0::m.field_0x2); + current.angle.y = shape_angle.y - -0x8000; + + if (field_0x3010 != 0) { + checkWolfAtnDoCharge(); + } + + backJumpSpeedDec(); + + if (mUnderFrameCtrl[0].checkAnmEnd() && mLinkAcch.ChkGroundHit()) { + procWolfBackJumpLandInit(field_0x3012, field_0x3010); + } else if (mDemo.getDemoMode() != 0x10 && current.pos.y < mLastJumpPos.y - daAlinkHIO_wlBackJump_c0::m.field_0x30) { + field_0x2f98 = 0; + procWolfFallInit(2, daAlinkHIO_wlBackJump_c0::m.field_0x34); + } + + return 1; } -#pragma pop /* 8012E5F4-8012E684 128F34 0090+00 1/1 0/0 0/0 .text procWolfBackJumpLandInit__9daAlink_cFss */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfBackJumpLandInit(s16 param_0, s16 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/procWolfBackJumpLandInit__9daAlink_cFss.s" +int daAlink_c::procWolfBackJumpLandInit(s16 param_0, s16 param_1) { + commonProcInit(PROC_WOLF_BACKJUMP_LAND); + setSingleAnimeWolfParam(WANM_BACKFLIP_END, &daAlinkHIO_wlBackJump_c0::m.field_0x14); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x2f9d = 4; + setFootEffectProcType(2); + field_0x2fcc = 10; + field_0x3012 = param_0; + field_0x3010 = param_1; + setStepLandVibration(); + + return 1; } -#pragma pop /* 8012E684-8012E754 128FC4 00D0+00 1/0 0/0 0/0 .text procWolfBackJumpLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfBackJumpLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfBackJumpLand__9daAlink_cFv.s" +int daAlink_c::procWolfBackJumpLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (field_0x2fcc != 0) { + field_0x2fcc = 10; + } + + setWolfAtnMoveDirection(); + + if (field_0x3010 != 0) { + checkWolfAtnDoCharge(); + } + + if (frameCtrl->checkAnmEnd()) { + if (mDemo.getDemoMode() == 0x10) { + dComIfGp_evmng_cutEnd(field_0x3184); + } else { + checkNextActionWolf(0); + } + } else if (frameCtrl->getFrame() > daAlinkHIO_wlBackJump_c0::m.field_0x14.mCheckFrame) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8012E754-8012E83C 129094 00E8+00 2/2 0/0 0/0 .text procWolfHowlInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfHowlInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procWolfHowlInit__9daAlink_cFi.s" +int daAlink_c::procWolfHowlInit(int param_0) { + if (checkEventRun() && mProcID == PROC_WOLF_HOWL) { + return 0; + } + + commonProcInit(PROC_WOLF_HOWL); + + if (param_0 != 0) { + setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.field_0x14); + onModeFlg(0x800000); + field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x14.mCheckFrame; + field_0x300e = 1; + } else { + setSingleAnimeWolfParam(WANM_HOWL, &daAlinkHIO_wlHowl_c0::m.field_0x0); + field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x0.mCheckFrame; + field_0x300e = 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + mCommonCounter = 0; + + return 1; } -#pragma pop /* 8012E83C-8012E9C8 12917C 018C+00 1/0 0/0 0/0 .text procWolfHowl__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHowl() { +asm int daAlink_c::procWolfHowl() { nofralloc #include "asm/d/a/d_a_alink/procWolfHowl__9daAlink_cFv.s" } @@ -754,7 +960,7 @@ asm void daAlink_c::procWolfHowl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfAutoJumpInit(int param_0) { +asm int daAlink_c::procWolfAutoJumpInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfAutoJumpInit__9daAlink_cFi.s" } @@ -764,7 +970,7 @@ asm void daAlink_c::procWolfAutoJumpInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfAutoJump() { +asm int daAlink_c::procWolfAutoJump() { nofralloc #include "asm/d/a/d_a_alink/procWolfAutoJump__9daAlink_cFv.s" } @@ -775,7 +981,7 @@ asm void daAlink_c::procWolfAutoJump() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfFallInit(int param_0, f32 param_1) { +asm int daAlink_c::procWolfFallInit(int param_0, f32 param_1) { nofralloc #include "asm/d/a/d_a_alink/procWolfFallInit__9daAlink_cFif.s" } @@ -785,88 +991,161 @@ asm void daAlink_c::procWolfFallInit(int param_0, f32 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfFall() { +asm int daAlink_c::procWolfFall() { nofralloc #include "asm/d/a/d_a_alink/procWolfFall__9daAlink_cFv.s" } #pragma pop /* 8012F138-8012F1F0 129A78 00B8+00 2/2 0/0 0/0 .text procWolfLandInit__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::procWolfLandInit() { + commonProcInit(PROC_WOLF_LAND); + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_02f99 = 12; + + setSingleWolfAnimeParam(WANM_JUMP_ATTACK_END, &daAlinkHIO_wlAutoJump_c0::m.field_0x14); + field_0x3478 = daAlinkHIO_wlAutoJump_c0::m.field_0x14.mCheckFrame; + mCommonCounter = 1; + + field_0x2f9d = 4; + setFootEffectProcType(4); + + dComIfGp_getVibration().StartShock(cXyz(0.0f, 1.0f, 0.0f)); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLandInit() { +asm int daAlink_c::procWolfLandInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfLandInit__9daAlink_cFv.s" } #pragma pop +#endif /* 8012F1F0-8012F278 129B30 0088+00 1/0 0/0 0/0 .text procWolfLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfLand__9daAlink_cFv.s" +int daAlink_c::procWolfLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (mCommonCounter != 0) { + field_0x2f99 = 4; + } + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > field_0x3478) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8012F278-8012F358 129BB8 00E0+00 1/1 0/0 0/0 .text procWolfSitInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSitInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSitInit__9daAlink_cFi.s" +int daAlink_c::procWolfSitInit(int param_0) { + if (!commonProcInitNotSameProc(PROC_WOLF_SIT)) { + return 0; + } + + if (param_0 != 0 && !checkUnderMove0BckNoArcWolf(WANM_WAIT_SIT) && !checkUnderMove0BckNoArcWolf(WANM_HOWL_SIT)) { + setSingleAnimeWolfParam(WANM_SIT, &daAlinkHIO_wlLie_c0::m.field_0x0); + field_0x3198 = 0; + } else { + field_0x3198 = 1; + + if (!checkUnderMove0BckNoArcWolf(WANM_WAIT_SIT)) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.field_0x44, daAlinkHIO_wlLie_c0::m.field_0x48); + } + } + + current.angle.y = shape_angle.y; + + return 1; } -#pragma pop /* 8012F358-8012F41C 129C98 00C4+00 1/0 0/0 0/0 .text procWolfSit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSit__9daAlink_cFv.s" +int daAlink_c::procWolfSit() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), checkWolfDashMode() ? + daAlinkHIO_wlMove_c0::m.field_0x6C : + daAlinkHIO_wlMoveNoP_c0::m.field_0x10); + + if (!spActionButton() && mDemo.getDemoMode() != 0xF) { + checkNextActionWolfFromLie(); + } else if (frameCtrl->checkAnmEnd()) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.field_0x44, daAlinkHIO_wlLie_c0::m.field_0x48); + field_0x3198 = 1; + } + + return 1; } -#pragma pop /* 8012F41C-8012F500 129D5C 00E4+00 1/1 0/0 0/0 .text procWolfStepMoveInit__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +int daAlink_c::procWolfStepMoveInit() { + commonProcInit(PROC_WOLF_STEP_MOVE); + setSingleAnimeWolfParam(WANM_BUMP_START, &daAlinkHIO_wlWallHang_c0::m.field_0x50); + field_0x3478 = 0.5f * mNormalSpeed; + mNormalSpeed = 0.0f; + mCommonCounter = 0; + + field_0x3588 = l_wolfBaseAnime; + current.pos.x -= cM_ssin(shape_angle.y) * 10.0f; + current.pos.z -= cM_scos(shape_angle.y) * 10.0f; + + field_0x2060->getOldFrameTransInfo(0)->mTranslate.z += 10.0f; + + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfStepMoveInit() { +asm int daAlink_c::procWolfStepMoveInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfStepMoveInit__9daAlink_cFv.s" } #pragma pop +#endif /* 8012F500-8012F634 129E40 0134+00 1/0 0/0 0/0 .text procWolfStepMove__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfStepMove() { +asm int daAlink_c::procWolfStepMove() { nofralloc #include "asm/d/a/d_a_alink/procWolfStepMove__9daAlink_cFv.s" } #pragma pop /* 8012F634-8012F6EC 129F74 00B8+00 1/1 0/0 0/0 .text procWolfSlipInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlipInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlipInit__9daAlink_cFv.s" +int daAlink_c::procWolfSlipInit() { + commonProcInit(PROC_WOLF_SLIP); + setSingleAnimeWolfParam(WANM_SLIP, &daAlinkHIO_wlMove_c0::m.field_0x0); + + if (checkWolfDashMode()) { + mNormalSpeed = mSpeedF * daAlinkHIO_wlMove_c0::m.field_0xA4; + } else { + mNormalSpeed = mSpeedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C; + } + + current.angle.y = shape_angle.y; + field_0x3588 = l_wolfBaseAnime; + setFootEffectProcType(1); + + return 1; } -#pragma pop /* 8012F6EC-8012F840 12A02C 0154+00 1/0 0/0 0/0 .text procWolfSlip__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlip() { +asm int daAlink_c::procWolfSlip() { nofralloc #include "asm/d/a/d_a_alink/procWolfSlip__9daAlink_cFv.s" } @@ -877,7 +1156,7 @@ asm void daAlink_c::procWolfSlip() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlipTurnInit(int param_0) { +asm int daAlink_c::procWolfSlipTurnInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfSlipTurnInit__9daAlink_cFi.s" } @@ -887,38 +1166,52 @@ asm void daAlink_c::procWolfSlipTurnInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlipTurn() { +asm int daAlink_c::procWolfSlipTurn() { nofralloc #include "asm/d/a/d_a_alink/procWolfSlipTurn__9daAlink_cFv.s" } #pragma pop /* 8012FB18-8012FBB4 12A458 009C+00 1/1 0/0 0/0 .text procWolfSlipTurnLandInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlipTurnLandInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlipTurnLandInit__9daAlink_cFv.s" +int daAlink_c::procWolfSlipTurnLandInit() { + commonProcInit(PROC_WOLF_SLIP_TURN_LAND); + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + setFrameCtrl(frameCtrl, 0, 0, + daAlinkHIO_wlMove_c0::m.field_0x14.mEndFrame, + daAlinkHIO_wlMove_c0::m.field_0x14.mSpeed, + frameCtrl->getFrame() + daAlinkHIO_wlMove_c0::m.field_0x14.mSpeed); + + mNormalSpeed = lit_19379 * daAlinkHIO_wlMoveNoP_c0::m.field_0x8; + field_0x2f99 = 5; + setFootEffectProcType(2); + field_0x2f9d = 8; + field_0x2f98 = 0; + + return 1; } -#pragma pop /* 8012FBB4-8012FC38 12A4F4 0084+00 1/0 0/0 0/0 .text procWolfSlipTurnLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlipTurnLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlipTurnLand__9daAlink_cFv.s" +int daAlink_c::procWolfSlipTurnLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + field_0x2f99 = 5; + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x14.mCheckFrame) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8012FC38-8012FD2C 12A578 00F4+00 2/2 0/0 0/0 .text procWolfSlideReadyInit__9daAlink_cFsi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlideReadyInit(s16 param_0, int param_1) { +asm int daAlink_c::procWolfSlideReadyInit(s16 param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procWolfSlideReadyInit__9daAlink_cFsi.s" } @@ -928,7 +1221,7 @@ asm void daAlink_c::procWolfSlideReadyInit(s16 param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlideReady() { +asm int daAlink_c::procWolfSlideReady() { nofralloc #include "asm/d/a/d_a_alink/procWolfSlideReady__9daAlink_cFv.s" } @@ -938,7 +1231,7 @@ asm void daAlink_c::procWolfSlideReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlideInit(s16 param_0, int param_1) { +asm int daAlink_c::procWolfSlideInit(s16 param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procWolfSlideInit__9daAlink_cFsi.s" } @@ -948,7 +1241,7 @@ asm void daAlink_c::procWolfSlideInit(s16 param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSlide() { +asm int daAlink_c::procWolfSlide() { nofralloc #include "asm/d/a/d_a_alink/procWolfSlide__9daAlink_cFv.s" } @@ -956,75 +1249,102 @@ asm void daAlink_c::procWolfSlide() { /* 801300D4-80130138 12AA14 0064+00 1/1 0/0 0/0 .text procWolfSlideLandInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlideLandInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlideLandInit__9daAlink_cFv.s" +int daAlink_c::procWolfSlideLandInit() { + commonProcInit(PROC_WOLF_SLIDE_LAND); + setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD_END, &daAlinkHIO_wlSlide_c0::m.field_0x28); + mNormalSpeed *= lit_5943; + field_0x814.SetWeight(0xFF); + + return 1; } -#pragma pop /* 80130138-801301E4 12AA78 00AC+00 1/0 0/0 0/0 .text procWolfSlideLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlideLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlideLand__9daAlink_cFv.s" +int daAlink_c::procWolfSlideLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), lit_7450); + + if (frameCtrl->checkAnmEnd()) { + current.angle.y = shape_angle.y; + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.field_0x28.mCheckFrame) { + s16 old_angle = current.angle.y; + current.angle.y = shape_angle.y; + + if (!checkNextActionWolf(1)) { + current.angle.y = old_angle; + } + } + + return 1; } -#pragma pop /* 801301E4-80130268 12AB24 0084+00 3/3 0/0 0/0 .text procWolfWaitSlipInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfWaitSlipInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfWaitSlipInit__9daAlink_cFv.s" +int daAlink_c::procWolfWaitSlipInit() { + if (!commonProcInitNotSameProc(PROC_WOLF_WAIT_SLIP)) { + return 0; + } + + setSingleAnimeWolfBaseSpeed(WANM_ATN, daAlinkHIO_wlMove_c0::m.field_0xB8, daAlinkHIO_wlMove_c0::m.field_0xBC); + mNormalSpeed = FLOAT_LABEL(lit_6108); + setWolfWaitSlip(); + field_0x2f9d = 120; + setFootEffectProcType(1); + + return 1; } -#pragma pop /* 80130268-80130440 12ABA8 01D8+00 1/0 0/0 0/0 .text procWolfWaitSlip__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfWaitSlip() { +asm int daAlink_c::procWolfWaitSlip() { nofralloc #include "asm/d/a/d_a_alink/procWolfWaitSlip__9daAlink_cFv.s" } #pragma pop /* 80130440-801304D4 12AD80 0094+00 2/2 0/0 0/0 .text procWolfSlopeStartInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlopeStartInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlopeStartInit__9daAlink_cFi.s" +int daAlink_c::procWolfSlopeStartInit(int param_0) { + commonProcInit(PROC_WOLF_SLOPE_START); + setSingleAnimeWolfParam(WANM_SLIDE_W, &daAlinkHIO_wlSlide_c0::m.field_0x3C); + field_0x3588 = l_wolfBaseAnime; + mNormalSpeed = FLOAT_LABEL(lit_6108); + current.angle.y = shape_angle.y; + + if (param_0) { + field_0x2f99 = 13; + } + + return 1; } -#pragma pop /* 801304D4-8013056C 12AE14 0098+00 1/0 0/0 0/0 .text procWolfSlopeStart__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSlopeStart() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSlopeStart__9daAlink_cFv.s" +int daAlink_c::procWolfSlopeStart() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.field_0x3C.mCheckFrame) { + if (!checkNextActionWolf(1)) { + field_0x2f99 = 5; + } + } else { + field_0x2f99 = 5; + } + + return 1; } -#pragma pop /* 8013056C-80130580 12AEAC 0014+00 1/1 0/0 0/0 .text daAlink_searchGoldWolf__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchGoldWolf(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchGoldWolf__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchGoldWolf(fopAc_ac_c* i_actor, void*) { + if (fopAcM_GetName(i_actor) == PROC_NPC_GWOLF) { + return i_actor; + } + + return NULL; } -#pragma pop /* 80130580-80130654 12AEC0 00D4+00 1/1 0/0 0/0 .text daAlink_searchWolfHowl__FP10fopAc_ac_cPv */ #pragma push @@ -1038,21 +1358,32 @@ static asm void daAlink_searchWolfHowl(fopAc_ac_c* param_0, void* param_1) { /* 80130654-80130700 12AF94 00AC+00 1/1 0/0 0/0 .text setWolfHowlNotHappen__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWolfHowlNotHappen(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setWolfHowlNotHappen__9daAlink_cFi.s" +void daAlink_c::setWolfHowlNotHappen(int param_0) { + mMsgClassID = -1; + + if (field_0x3198 == 0xEE) { + field_0x32cc = 0x532; + } else { + field_0x32cc = 0x535; + } + + mCommonCounter = 0; + + if (!checkUnderMove0BckNoArcWolf(WANM_HOWL_END)) { + if (param_0 != 0) { + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.field_0x44, daAlinkHIO_wlLie_c0::m.field_0x48); + } else { + setSingleAnimeWolfBase(WANM_SERVICE_WAIT_D); + } + } } -#pragma pop /* 80130700-80130BC4 12B040 04C4+00 1/1 0/0 0/0 .text procWolfHowlDemoInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHowlDemoInit() { +asm int daAlink_c::procWolfHowlDemoInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfHowlDemoInit__9daAlink_cFv.s" } @@ -1062,7 +1393,7 @@ asm void daAlink_c::procWolfHowlDemoInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHowlDemo() { +asm int daAlink_c::procWolfHowlDemo() { nofralloc #include "asm/d/a/d_a_alink/procWolfHowlDemo__9daAlink_cFv.s" } @@ -1080,38 +1411,16 @@ asm void daObj_Sekizoa_c::setWolfHowling() { #pragma pop /* 80131408-80131450 12BD48 0048+00 1/0 0/0 0/0 .text checkWolfRope__9daAlink_cFv */ -#ifdef NONMATCHING -bool daAlink_c::checkWolfRope() { - bool ret = false; - bool bvar1 = false; - - if (i_checkModeFlg(MODE_UNK_20000) && field_0x280c.getActor() != NULL) { - bvar1 = true; - } - - // actor is Crope - if (bvar1 && fopAcM_GetName(field_0x280c.getActor()) == 0x2BE) { - ret = true; - } - return ret; +BOOL daAlink_c::checkWolfRope() { + return i_checkModeFlg(0x20000) && field_0x280c.getActor() != NULL && fopAcM_GetName(field_0x280c.getActor()) == PROC_Obj_Crope; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::checkWolfRope() { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfRope__9daAlink_cFv.s" -} -#pragma pop -#endif /* 80131450-80131628 12BD90 01D8+00 2/2 0/0 0/0 .text * checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkWolfRopeHit(dCcD_GObjInf* param_0, cXyz const* param_1, +asm fopAc_ac_c* daAlink_c::checkWolfRopeHit(dCcD_GObjInf* param_0, cXyz const* param_1, int param_2) const { nofralloc #include "asm/d/a/d_a_alink/checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi.s" @@ -1120,45 +1429,71 @@ asm void daAlink_c::checkWolfRopeHit(dCcD_GObjInf* param_0, cXyz const* param_1, /* 80131628-801316A4 12BF68 007C+00 2/2 0/0 0/0 .text checkWolfRopeJumpHang__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfRopeJumpHang() { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfRopeJumpHang__9daAlink_cFv.s" +int daAlink_c::checkWolfRopeJumpHang() { + fopAc_ac_c* hit_actor = checkWolfRopeHit(&field_0x850[0], ¤t.pos, 1); + if (hit_actor == NULL) { + hit_actor = checkWolfRopeHit(&field_0xFB8, ¤t.pos, 1); + } + + if (hit_actor != NULL) { + field_0x280c.setData(hit_actor); + return procWolfRopeHangInit(4); + } + + return 0; } -#pragma pop /* 801316A4-80131718 12BFE4 0074+00 1/1 0/0 0/0 .text getWolfRopeMoveSpeed__9daAlink_cFv */ +// matches with literals +#ifdef NONMATCHING +f32 daAlink_c::getWolfRopeMoveSpeed() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + f32 frame = frameCtrl->getFrame(); + + if (frame >= 13.5f) { + frame -= 13.5f; + } + + return daAlinkHIO_wlRope_c0::m.field_0x24 * frameCtrl->getRate() * cM_fsin(0.2327106f * frame); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getWolfRopeMoveSpeed() { +asm f32 daAlink_c::getWolfRopeMoveSpeed() { nofralloc #include "asm/d/a/d_a_alink/getWolfRopeMoveSpeed__9daAlink_cFv.s" } #pragma pop +#endif /* 80131718-801319F0 12C058 02D8+00 6/6 0/0 0/0 .text setWolfRopePosY__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setWolfRopePosY() { +asm int daAlink_c::setWolfRopePosY() { nofralloc #include "asm/d/a/d_a_alink/setWolfRopePosY__9daAlink_cFv.s" } #pragma pop /* 801319F0-80131A6C 12C330 007C+00 5/5 0/0 0/0 .text initWolfRopeShapeAngle__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::initWolfRopeShapeAngle() { - nofralloc -#include "asm/d/a/d_a_alink/initWolfRopeShapeAngle__9daAlink_cFv.s" +s16 daAlink_c::initWolfRopeShapeAngle() { + fopAc_ac_c* actor = field_0x280c.getActor(); + int a = abs((s16)(actor->shape_angle.y - shape_angle.y)); + + s16 angle; + if (a < 0x4000) { + shape_angle.y = actor->shape_angle.y; + angle = actor->shape_angle.x; + } else { + shape_angle.y = actor->shape_angle.y - -0x8000; + angle = -actor->shape_angle.x; + } + + return angle; } -#pragma pop /* 80131A6C-80131AFC 12C3AC 0090+00 5/5 0/0 0/0 .text wolfRopeSwingInc__9daAlink_cFf */ #pragma push @@ -1182,21 +1517,30 @@ asm void daAlink_c::setWolfRopeOffsetY(int param_0) { /* 80131C00-80131C74 12C540 0074+00 2/2 0/0 0/0 .text getDirectionRopeMove__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getDirectionRopeMove() const { - nofralloc -#include "asm/d/a/d_a_alink/getDirectionRopeMove__9daAlink_cCFv.s" +int daAlink_c::getDirectionRopeMove() const { + s16 angle = field_0x2fe2 - shape_angle.y; + + if (abs(angle) > 0x5000) { + return DIR_BACKWARD; + } + + if (angle >= 0x3000) { + return DIR_LEFT; + } + + if (angle <= -0x3000) { + return DIR_RIGHT; + } + + return DIR_FORWARD; } -#pragma pop /* 80131C74-80131DA0 12C5B4 012C+00 5/5 0/0 0/0 .text procWolfRopeMoveInit__9daAlink_cFii */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) { +asm int daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeMoveInit__9daAlink_cFii.s" } @@ -1206,7 +1550,7 @@ asm void daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeMove() { +asm int daAlink_c::procWolfRopeMove() { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeMove__9daAlink_cFv.s" } @@ -1217,7 +1561,7 @@ asm void daAlink_c::procWolfRopeMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeHangInit(int param_0) { +asm int daAlink_c::procWolfRopeHangInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeHangInit__9daAlink_cFi.s" } @@ -1227,7 +1571,7 @@ asm void daAlink_c::procWolfRopeHangInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeHang() { +asm int daAlink_c::procWolfRopeHang() { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeHang__9daAlink_cFv.s" } @@ -1238,7 +1582,7 @@ asm void daAlink_c::procWolfRopeHang() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeTurnInit() { +asm int daAlink_c::procWolfRopeTurnInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeTurnInit__9daAlink_cFv.s" } @@ -1248,7 +1592,7 @@ asm void daAlink_c::procWolfRopeTurnInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeTurn() { +asm int daAlink_c::procWolfRopeTurn() { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeTurn__9daAlink_cFv.s" } @@ -1258,7 +1602,7 @@ asm void daAlink_c::procWolfRopeTurn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeStaggerInit(int param_0) { +asm int daAlink_c::procWolfRopeStaggerInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeStaggerInit__9daAlink_cFi.s" } @@ -1269,7 +1613,7 @@ asm void daAlink_c::procWolfRopeStaggerInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeStagger() { +asm int daAlink_c::procWolfRopeStagger() { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeStagger__9daAlink_cFv.s" } @@ -1277,20 +1621,37 @@ asm void daAlink_c::procWolfRopeStagger() { /* 8013384C-80133930 12E18C 00E4+00 1/1 0/0 0/0 .text procWolfRopeSubjectivityInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfRopeSubjectivityInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfRopeSubjectivityInit__9daAlink_cFv.s" +int daAlink_c::procWolfRopeSubjectivityInit() { + commonProcInit(PROC_WOLF_ROPE_SUBJECTIVITY); + + if (!checkUnderMove0BckNoArcWolf(WANM_ROPE_WALK)) { + setSingleAnimeWolfBaseSpeed(WANM_ROPE_WALK, FLOAT_LABEL(lit_6108), daAlinkHIO_wlRope_c0::m.field_0x20); + } + + mCommonCounter = initWolfRopeShapeAngle(); + current.angle.y = shape_angle.y; + + setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mSpeed.y = tmp_0; + mNormalSpeed = tmp_0; + + setWolfRopeOffsetY(setWolfRopePosY()); + + if (checkWolfGrabAnime()) { + field_0x30a0 = -0x1800; + } + + setSubjectMode(); + return 1; } -#pragma pop /* 80133930-80133D6C 12E270 043C+00 1/0 0/0 0/0 .text procWolfRopeSubjectivity__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRopeSubjectivity() { +asm int daAlink_c::procWolfRopeSubjectivity() { nofralloc #include "asm/d/a/d_a_alink/procWolfRopeSubjectivity__9daAlink_cFv.s" } @@ -1322,7 +1683,7 @@ asm cXyz* daAlink_c::checkMidnaLockJumpPoint() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfTagJumpInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -1332,7 +1693,7 @@ asm void daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfTagJump() { +asm int daAlink_c::procWolfTagJump() { nofralloc #include "asm/d/a/d_a_alink/procWolfTagJump__9daAlink_cFv.s" } @@ -1343,7 +1704,7 @@ asm void daAlink_c::procWolfTagJump() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { +asm int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfTagJumpLandInit__9daAlink_cFP10fopAc_ac_c.s" } @@ -1354,21 +1715,22 @@ asm void daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfTagJumpLand() { +asm int daAlink_c::procWolfTagJumpLand() { nofralloc #include "asm/d/a/d_a_alink/procWolfTagJumpLand__9daAlink_cFv.s" } #pragma pop /* 80135050-801350A4 12F990 0054+00 1/1 0/0 0/0 .text daAlink_searchGiant__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchGiant(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchGiant__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchGiant(fopAc_ac_c* param_0, void* param_1) { + cXyz* tmp = static_cast(param_1); + + if (fopAcM_GetName(param_0) == PROC_OBJ_SEKIZOA && param_0->current.pos.abs2(*tmp) < lit_49124) { + return param_0; + } + + return NULL; } -#pragma pop /* 801350A4-80135160 12F9E4 00BC+00 1/1 0/0 0/0 .text daAlink_searchGiantTalk__FP10fopAc_ac_cPv */ #pragma push @@ -1381,35 +1743,43 @@ static asm void daAlink_searchGiantTalk(fopAc_ac_c* param_0, void* param_1) { #pragma pop /* 80135160-801351F8 12FAA0 0098+00 1/1 0/0 0/0 .text procWolfGiantPuzzleInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procWolfGiantPuzzleInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfGiantPuzzleInit__9daAlink_cFv.s" +int daAlink_c::procWolfGiantPuzzleInit() { + if (!commonProcInitNotSameProc(PROC_WOLF_GIANT_PUZZLE)) { + return 0; + } + + setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0xBC); + current.angle.y = shape_angle.y; + + field_0x2f98 = 4; + mCommonCounter = shape_angle.y; + field_0x3478 = FLOAT_LABEL(lit_6108); + field_0x347c = daAlinkHIO_wlMoveNoP_c0::m.field_0x10; + field_0x594 = daAlinkHIO_wlMoveNoP_c0::m.field_0x8; + offWolfEyeUp(); + + return 1; } -#pragma pop /* 801351F8-80135458 12FB38 0260+00 1/0 0/0 0/0 .text procWolfGiantPuzzle__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGiantPuzzle() { +asm int daAlink_c::procWolfGiantPuzzle() { nofralloc #include "asm/d/a/d_a_alink/procWolfGiantPuzzle__9daAlink_cFv.s" } #pragma pop /* 80135458-801354C8 12FD98 0070+00 2/2 0/0 0/0 .text setWolfHangGroundY__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWolfHangGroundY() { - nofralloc -#include "asm/d/a/d_a_alink/setWolfHangGroundY__9daAlink_cFv.s" +void daAlink_c::setWolfHangGroundY() { + cXyz pos; + mDoMtx_multVecZero(mpLinkModel->i_getAnmMtx(0), &pos); + + mLinkGndChk.SetPos(&pos); + field_0x33d8 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); } -#pragma pop /* 801354C8-801355EC 12FE08 0124+00 2/2 0/0 0/0 .text changeWolfHangEndProc__9daAlink_cFv */ @@ -1424,30 +1794,47 @@ asm void daAlink_c::changeWolfHangEndProc() { /* 801355EC-80135668 12FF2C 007C+00 2/2 0/0 0/0 .text procWolfHangReadyInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfHangReadyInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfHangReadyInit__9daAlink_cFv.s" +int daAlink_c::procWolfHangReadyInit() { + commonProcInit(PROC_WOLF_HANG_READY); + setSingleAnimeWolf(WANM_VJMP_START, + daAlinkHIO_wlWallHang_c0::m.field_0x0.mSpeed, + daAlinkHIO_wlWallHang_c0::m.field_0x0.mStartFrame, + 12, + daAlinkHIO_wlWallHang_c0::m.field_0x0.mInterpolation); + field_0x3198 = field_0x2f91; + mCommonCounter = field_0x306e + 0x8000; + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + + return 1; } -#pragma pop /* 80135668-801356F0 12FFA8 0088+00 1/0 0/0 0/0 .text procWolfHangReady__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfHangReady() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfHangReady__9daAlink_cFv.s" +int daAlink_c::procWolfHangReady() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + cLib_addCalcAngleS(&shape_angle.y, mCommonCounter, 2, 0x1000, 0x400); + current.angle.y = shape_angle.y; + + if (frameCtrl->checkAnmEnd()) { + shape_angle.y = mCommonCounter; + current.angle.y = shape_angle.y; + + if (!procWolfHangWallCatchInit(field_0x3198)) { + checkWaitAction(); + } + } + + return 1; } -#pragma pop /* 801356F0-80135AF4 130030 0404+00 3/3 0/0 0/0 .text procWolfHangWallCatchInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHangWallCatchInit(int param_0) { +asm int daAlink_c::procWolfHangWallCatchInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfHangWallCatchInit__9daAlink_cFi.s" } @@ -1458,7 +1845,7 @@ asm void daAlink_c::procWolfHangWallCatchInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHangWallCatch() { +asm int daAlink_c::procWolfHangWallCatch() { nofralloc #include "asm/d/a/d_a_alink/procWolfHangWallCatch__9daAlink_cFv.s" } @@ -1469,7 +1856,7 @@ asm void daAlink_c::procWolfHangWallCatch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) { +asm int daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfHangFallStartInit__9daAlink_cFP8cM3dGPla.s" } @@ -1480,28 +1867,27 @@ asm void daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfHangFallStart() { +asm int daAlink_c::procWolfHangFallStart() { nofralloc #include "asm/d/a/d_a_alink/procWolfHangFallStart__9daAlink_cFv.s" } #pragma pop /* 80136064-801360EC 1309A4 0088+00 1/1 0/0 0/0 .text setWolfHeadDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWolfHeadDamage() { - nofralloc -#include "asm/d/a/d_a_alink/setWolfHeadDamage__9daAlink_cFv.s" +void daAlink_c::setWolfHeadDamage() { + setUpperAnimeParam(0x2A7, UPPER_2, &daAlinkHIO_wlDamage_c0::m.field_0x0); + seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); + freeGrabItem(); + setFacePriTexture(FTANM_UNK_90); + voiceStart(Z2SE_WL_V_DAMAGE); } -#pragma pop /* 801360EC-80136508 130A2C 041C+00 1/1 0/0 0/0 .text * procWolfDamageInit__9daAlink_cFP12dCcD_GObjInf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { +asm int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfDamageInit__9daAlink_cFP12dCcD_GObjInf.s" } @@ -1511,7 +1897,7 @@ asm void daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDamage() { +asm int daAlink_c::procWolfDamage() { nofralloc #include "asm/d/a/d_a_alink/procWolfDamage__9daAlink_cFv.s" } @@ -1522,7 +1908,7 @@ asm void daAlink_c::procWolfDamage() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { +asm int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) { nofralloc #include "asm/d/a/d_a_alink/procWolfLargeDamageUpInit__9daAlink_cFiiss.s" } @@ -1533,7 +1919,7 @@ asm void daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLargeDamageUp() { +asm int daAlink_c::procWolfLargeDamageUp() { nofralloc #include "asm/d/a/d_a_alink/procWolfLargeDamageUp__9daAlink_cFv.s" } @@ -1543,21 +1929,34 @@ asm void daAlink_c::procWolfLargeDamageUp() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLandDamageInit(int param_0) { +asm int daAlink_c::procWolfLandDamageInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfLandDamageInit__9daAlink_cFi.s" } #pragma pop /* 80136DE4-80136EC4 131724 00E0+00 1/0 0/0 0/0 .text procWolfLandDamage__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfLandDamage() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfLandDamage__9daAlink_cFv.s" +int daAlink_c::procWolfLandDamage() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (field_0x3198 != 0) { + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlDamFall_c0::m.field_0x14.mCheckFrame) { + checkNextActionWolf(1); + } + } else if (frameCtrl->checkAnmEnd()) { + if (field_0x3008 > 0) { + field_0x3008--; + } else { + setSingleAnimeWolfParam(WANM_FALL_LAND_START, &daAlinkHIO_wlDamFall_c0::m.field_0x14); + setFaceBasicTexture(FTANM_UNK_96); + field_0x3198 = 1; + } + } + + return 1; } -#pragma pop /* 80136EC4-80136F54 131804 0090+00 2/2 0/0 0/0 .text setWolfScreamWaitAnime__9daAlink_cFv */ #pragma push @@ -1570,34 +1969,60 @@ asm void daAlink_c::setWolfScreamWaitAnime() { #pragma pop /* 80136F54-80136FF8 131894 00A4+00 1/1 0/0 0/0 .text procWolfScreamWaitInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procWolfScreamWaitInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfScreamWaitInit__9daAlink_cFv.s" +int daAlink_c::procWolfScreamWaitInit() { + commonProcInit(PROC_WOLF_SCREAM_WAIT); + if (i_checkEndResetFlg1(ERFLG1_UNK_2)) { + setWolfScreamWaitAnime(); + } else { + setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, daAlinkHIO_wlMove_c0::m.field_0xBC); + mCommonCounter = 0; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x300e = 0; + field_0x3588 = l_wolfBaseAnime; + + return 1; } -#pragma pop /* 80136FF8-801370E4 131938 00EC+00 1/0 0/0 0/0 .text procWolfScreamWait__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfScreamWait() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfScreamWait__9daAlink_cFv.s" +int daAlink_c::procWolfScreamWait() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (!i_checkEndResetFlg1(ERFLG1_UNK_1)) { + if (field_0x300e != 0) { + field_0x2f99 = 5; + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlDamLarge_c0::m.field_0x0.mCheckFrame) { + checkNextActionWolf(1); + } + } else { + field_0x300e = 1; + setSingleAnimeWolf(WANM_DMG_AIR_FRONT_GETUP, + daAlinkHIO_wlDamLarge_c0::m.field_0x0.mSpeed, + lit_8676, + daAlinkHIO_wlDamLarge_c0::m.field_0x0.mEndFrame, + daAlinkHIO_wlDamLarge_c0::m.field_0x0.mInterpolation); + field_0x2f99 = 13; + } + } else if (mCommonCounter == 0 && i_checkEndResetFlg1(ERFLG1_UNK_2)) { + setWolfScreamWaitAnime(); + } + + return 1; } -#pragma pop /* 801370E4-8013712C 131A24 0048+00 3/3 0/0 0/0 .text getWolfLieMoveAnmSpeed__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::getWolfLieMoveAnmSpeed() { - nofralloc -#include "asm/d/a/d_a_alink/getWolfLieMoveAnmSpeed__9daAlink_cFv.s" +f32 daAlink_c::getWolfLieMoveAnmSpeed() { + if (field_0x3198 != 0) { + // return getAnmSpeedStickRate(lit_5943, lit_7624); inline doesnt match here? + return lit_5943 + (field_0x33a8 * lit_7624); + } + + return getAnmSpeedStickRate(daAlinkHIO_wlLie_c0::m.field_0x3C, daAlinkHIO_wlLie_c0::m.field_0x38); } -#pragma pop /* 8013712C-801371A0 131A6C 0074+00 3/3 0/0 0/0 .text getWolfLieMoveSpeed__9daAlink_cFv */ @@ -1611,14 +2036,12 @@ asm void daAlink_c::getWolfLieMoveSpeed() { #pragma pop /* 801371A0-801371FC 131AE0 005C+00 0/0 0/0 2/2 .text checkMidnaDisappearMode__9daAlink_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkMidnaDisappearMode() const { - nofralloc -#include "asm/d/a/d_a_alink/checkMidnaDisappearMode__9daAlink_cCFv.s" +BOOL daAlink_c::checkMidnaDisappearMode() const { + return mProcID == PROC_WOLF_DIG_THROUGH || + (i_checkWolf() && i_dComIfGp_checkPlayerStatus0(0, 0x8000000) && + !i_dComIfGp_checkPlayerStatus0(0, 0x10) && + (mTargetedActor == NULL || !(mTargetedActor->mAttentionInfo.mFlags & 0x800000))); } -#pragma pop /* 801371FC-801372B4 131B3C 00B8+00 3/3 0/0 0/0 .text checkWolfLieContinue__9daAlink_cFi */ @@ -1632,42 +2055,48 @@ asm void daAlink_c::checkWolfLieContinue(int param_0) { #pragma pop /* 801372B4-80137330 131BF4 007C+00 3/3 0/0 0/0 .text checkNextActionWolfFromLie__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkNextActionWolfFromLie() { - nofralloc -#include "asm/d/a/d_a_alink/checkNextActionWolfFromLie__9daAlink_cFv.s" +int daAlink_c::checkNextActionWolfFromLie() { + if (checkNextActionWolf(0)) { + if (field_0x2f8c == 1 || field_0x2f8c == 2 || field_0x2f8c == 3) { + field_0x2060->initOldFrameMorf(daAlinkHIO_wlLie_c0::m.field_0x30, 0, 40); + } + return 1; + } + + return 0; } -#pragma pop /* 80137330-801373F8 131C70 00C8+00 3/3 0/0 0/0 .text setWolfLieMoveVoice__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWolfLieMoveVoice(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/setWolfLieMoveVoice__9daAlink_cFi.s" +void daAlink_c::setWolfLieMoveVoice(int param_0) { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (frameCtrl->getRate() == FLOAT_LABEL(lit_6108) && field_0x3012 != 0) { + field_0x3012--; + } + + if ((param_0 != 0 && (frameCtrl->checkPass(lit_17382) || frameCtrl->checkPass(lit_7451))) || + (frameCtrl->getRate() == FLOAT_LABEL(lit_6108) && field_0x3012 == 0)) { + voiceStart(Z2SE_WL_V_BREATH_WALK); + field_0x3012 = 30; + } } -#pragma pop /* 801373F8-80137420 131D38 0028+00 2/2 0/0 0/0 .text checkWolfLieCode__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfLieCode() { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfLieCode__9daAlink_cFv.s" +bool daAlink_c::checkWolfLieCode() { + if (mLinkAcch.ChkGroundHit() && field_0x2fa8 == 4) { + return true; + } + + return false; } -#pragma pop /* 80137420-8013753C 131D60 011C+00 2/2 0/0 0/0 .text procWolfLieStartInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLieStartInit(int param_0) { +asm int daAlink_c::procWolfLieStartInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfLieStartInit__9daAlink_cFi.s" } @@ -1677,7 +2106,7 @@ asm void daAlink_c::procWolfLieStartInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLieStart() { +asm int daAlink_c::procWolfLieStart() { nofralloc #include "asm/d/a/d_a_alink/procWolfLieStart__9daAlink_cFv.s" } @@ -1688,7 +2117,7 @@ asm void daAlink_c::procWolfLieStart() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLieMoveInit(int param_0) { +asm int daAlink_c::procWolfLieMoveInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfLieMoveInit__9daAlink_cFi.s" } @@ -1698,7 +2127,7 @@ asm void daAlink_c::procWolfLieMoveInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLieMove() { +asm int daAlink_c::procWolfLieMove() { nofralloc #include "asm/d/a/d_a_alink/procWolfLieMove__9daAlink_cFv.s" } @@ -1709,7 +2138,7 @@ asm void daAlink_c::procWolfLieMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { +asm int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { nofralloc #include "asm/d/a/d_a_alink/procWolfLieAutoMoveInit__9daAlink_cFiP4cXyz.s" } @@ -1720,7 +2149,7 @@ asm void daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLieAutoMove() { +asm int daAlink_c::procWolfLieAutoMove() { nofralloc #include "asm/d/a/d_a_alink/procWolfLieAutoMove__9daAlink_cFv.s" } @@ -1740,7 +2169,7 @@ asm void daAlink_c::setSpeedAndAngleSwimWolf() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getWolfSwimMoveAnmSpeed() { +asm f32 daAlink_c::getWolfSwimMoveAnmSpeed() { nofralloc #include "asm/d/a/d_a_alink/getWolfSwimMoveAnmSpeed__9daAlink_cFv.s" } @@ -1750,7 +2179,7 @@ asm void daAlink_c::getWolfSwimMoveAnmSpeed() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::decideDoStatusSwimWolf() { +asm int daAlink_c::decideDoStatusSwimWolf() { nofralloc #include "asm/d/a/d_a_alink/decideDoStatusSwimWolf__9daAlink_cFv.s" } @@ -1760,59 +2189,90 @@ asm void daAlink_c::decideDoStatusSwimWolf() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSwimUpInit() { +asm int daAlink_c::procWolfSwimUpInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfSwimUpInit__9daAlink_cFv.s" } #pragma pop /* 80138484-8013852C 132DC4 00A8+00 1/0 0/0 0/0 .text procWolfSwimUp__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSwimUp() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSwimUp__9daAlink_cFv.s" +int daAlink_c::procWolfSwimUp() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + setNormalSpeedF(FLOAT_LABEL(lit_6108), daAlinkHIO_wlSwim_c0::m.field_0x54); + + if (frameCtrl->checkAnmEnd()) { + procWolfSwimWaitInit(0); + } else if (checkInputOnR() && frameCtrl->getFrame() > daAlinkHIO_wlSwim_c0::m.field_0x0.mCheckFrame) { + procWolfSwimMoveInit(); + } else { + current.pos.y = mWaterY; + } + + return 1; } -#pragma pop /* 8013852C-80138644 132E6C 0118+00 7/7 0/0 0/0 .text procWolfSwimWaitInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSwimWaitInit(int param_0) { +asm int daAlink_c::procWolfSwimWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfSwimWaitInit__9daAlink_cFi.s" } #pragma pop /* 80138644-8013871C 132F84 00D8+00 1/0 0/0 0/0 .text procWolfSwimWait__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSwimWait() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSwimWait__9daAlink_cFv.s" +int daAlink_c::procWolfSwimWait() { + if (mDemo.getDemoMode() == 6 || mDemo.getDemoMode() == 8) { + setShapeAngleToTalkActor(); + current.angle.y = shape_angle.y; + } + + setSpeedAndAngleSwimWolf(); + setSwimUpDownOffset(); + + if (checkWolfDashMode()) { + mUnderFrameCtrl[0].setRate(daAlinkHIO_wlSwim_c0::m.field_0x64); + } else { + mUnderFrameCtrl[0].setRate(daAlinkHIO_wlSwim_c0::m.field_0x88); + } + + if (checkSwimUpAction()) { + return 1; + } + + if (decideDoStatusSwimWolf()) { + return 1; + } + + if (checkInputOnR()) { + procWolfSwimMoveInit(); + } + + return 1; } -#pragma pop /* 8013871C-801387A0 13305C 0084+00 4/4 0/0 0/0 .text procWolfSwimMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfSwimMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfSwimMoveInit__9daAlink_cFv.s" +int daAlink_c::procWolfSwimMoveInit() { + commonProcInit(PROC_WOLF_SWIM_MOVE); + setSingleAnimeWolfBaseSpeed(WANM_SWIM, getWolfSwimMoveAnmSpeed(), daAlinkHIO_wlSwim_c0::m.field_0x78); + + if (i_checkNoResetFlg0(FLG0_UNK_100)) { + current.pos.y = mWaterY; + mSpeed.y = FLOAT_LABEL(lit_6108); + } + + dComIfGp_setPlayerStatus0(0, 0x100000); + return 1; } -#pragma pop /* 801387A0-8013890C 1330E0 016C+00 1/0 0/0 0/0 .text procWolfSwimMove__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSwimMove() { +asm int daAlink_c::procWolfSwimMove() { nofralloc #include "asm/d/a/d_a_alink/procWolfSwimMove__9daAlink_cFv.s" } @@ -1822,7 +2282,7 @@ asm void daAlink_c::procWolfSwimMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSwimEndWaitInit(int param_0) { +asm int daAlink_c::procWolfSwimEndWaitInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfSwimEndWaitInit__9daAlink_cFi.s" } @@ -1833,7 +2293,7 @@ asm void daAlink_c::procWolfSwimEndWaitInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfSwimEndWait() { +asm int daAlink_c::procWolfSwimEndWait() { nofralloc #include "asm/d/a/d_a_alink/procWolfSwimEndWait__9daAlink_cFv.s" } @@ -1841,35 +2301,42 @@ asm void daAlink_c::procWolfSwimEndWait() { /* 80138B6C-80138C04 1334AC 0098+00 1/0 0/0 0/0 .text * onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool daAlink_c::onWolfEnemyBiteAll(fopAc_ac_c* param_0, daPy_py_c::daPy_FLG2 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2.s" +bool daAlink_c::onWolfEnemyBiteAll(fopAc_ac_c* param_0, daPy_py_c::daPy_FLG2 param_1) { + if (field_0x281c.getActor() != NULL) { + return 0; + } + + if (param_1 == 8) { + if (mCutType != 0x2C && mCutType != 0x2D && mCutType != 0x31 && mCutType != 0x39 && mCutType != 0x32) { + return 0; + } + } else if (mCutType != 0x39) { + return 0; + } + + i_onNoResetFlg2(param_1); + field_0x281c.setData(param_0); + + return 1; } -#pragma pop /* 80138C04-80138C44 133544 0040+00 4/4 0/0 0/0 .text resetWolfEnemyBiteAll__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::resetWolfEnemyBiteAll() { - nofralloc -#include "asm/d/a/d_a_alink/resetWolfEnemyBiteAll__9daAlink_cFv.s" +void daAlink_c::resetWolfEnemyBiteAll() { + field_0x281c.clearData(); + i_offNoResetFlg2(0x58); } -#pragma pop /* 80138C44-80138CB8 133584 0074+00 1/1 0/0 0/0 .text checkWolfEnemyThrowAction__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::checkWolfEnemyThrowAction() { - nofralloc -#include "asm/d/a/d_a_alink/checkWolfEnemyThrowAction__9daAlink_cFv.s" +void daAlink_c::checkWolfEnemyThrowAction() { + daPy_frameCtrl_c* frameCtrl = &mUpperFrameCtrl[2]; + + if (frameCtrl->checkAnmEnd()) { + resetUpperAnime(UPPER_2, lit_6109); + } else if (frameCtrl->checkPass(lit_16210)) { + resetWolfEnemyBiteAll(); + } } -#pragma pop /* 80138CB8-80138DC0 1335F8 0108+00 1/1 0/0 0/0 .text setWolfLockDomeModel__9daAlink_cFv */ @@ -1903,6 +2370,27 @@ asm void daAlink_c::resetWolfBallGrab() { #pragma pop /* 80139048-8013911C 133988 00D4+00 1/1 0/0 0/0 .text checkWolfLockData__9daAlink_cFv */ +#ifdef NONMATCHING +void daAlink_c::checkWolfLockData() { + for (int i = 0; i < 10; i++) { + mWolfLockAcKeep[i].setActor(); + } + + for (int i = 0; i < mWolfLockNum; i++) { + if (mWolfLockAcKeep[i].getActor() == NULL) { + int var_r29 = i; + + for (; var_r29 < mWolfLockNum - 1; var_r29++) { + mWolfLockAcKeep[i].setData(mWolfLockAcKeep[i + 1].getActor()); + } + + mWolfLockAcKeep[var_r29].clearData(); + mWolfLockNum--; + i--; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1911,6 +2399,7 @@ asm void daAlink_c::checkWolfLockData() { #include "asm/d/a/d_a_alink/checkWolfLockData__9daAlink_cFv.s" } #pragma pop +#endif /* 8013911C-8013916C 133A5C 0050+00 1/0 0/0 0/0 .text checkWolfLock__9daAlink_cCFP10fopAc_ac_c */ bool daAlink_c::checkWolfLock(fopAc_ac_c* p_actor) const { @@ -1945,27 +2434,50 @@ fopAc_ac_c* daAlink_c::getWolfLockActorEnd() { /* 801391E4-801392A8 133B24 00C4+00 1/1 0/0 0/0 .text * searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::searchWolfLockEnemy(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv.s" +void daAlink_c::searchWolfLockEnemy(fopAc_ac_c* param_0, void* param_1) { + fopAc_ac_c** tmp = (fopAc_ac_c**)param_1; + + for (int i = 0; i < mWolfLockNum; i++) { + if (mWolfLockAcKeep[i].getActor() == param_0) { + return; + } + } + + fopEn_enemy_c* enemy = static_cast(param_0); + if (fopAcM_GetGroup(enemy) == 2 && enemy->mAttentionInfo.mFlags & 5 && !enemy->checkWolfNoLock()) { + f32 d = current.pos.abs2(enemy->mEyePos); + + if (enemy->mEyePos.y >= current.pos.y - lit_6895 && d < field_0x3478) { + field_0x3478 = d; + *tmp = param_0; + } + } } -#pragma pop /* 801392A8-801392E4 133BE8 003C+00 1/1 0/0 0/0 .text * daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchWolfLockEnemy(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv.s" +static int daAlink_searchWolfLockEnemy(fopAc_ac_c* param_0, void* param_1) { + daAlink_getAlinkActorClass()->searchWolfLockEnemy(param_0, param_1); + return 0; } -#pragma pop /* 801392E4-801393A4 133C24 00C0+00 1/1 0/0 0/0 .text checkWolfComboCnt__9daAlink_cFv */ +// checkAttentionLock +#ifdef NONMATCHING +void daAlink_c::checkWolfComboCnt() { + if (!i_dComIfGp_checkPlayerStatus1(0, 0x1000000)) { + if (mComboCutCount == 2 && checkAttentionLock() && field_0x10f0.ChkAtHit()) { + i_onNoResetFlg0(FLG0_UNK_8000); + } + + if (field_0x307e > 0) { + field_0x307e--; + } else { + resetCombo(1); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1974,6 +2486,7 @@ asm void daAlink_c::checkWolfComboCnt() { #include "asm/d/a/d_a_alink/checkWolfComboCnt__9daAlink_cFv.s" } #pragma pop +#endif /* 801393A4-801395B4 133CE4 0210+00 4/4 0/0 0/0 .text checkWolfAttackAction__9daAlink_cFv */ @@ -1988,25 +2501,43 @@ asm void daAlink_c::checkWolfAttackAction() { /* 801395B4-80139600 133EF4 004C+00 2/2 0/0 0/0 .text * setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM param_0, f32 param_1) { - nofralloc -#include "asm/d/a/d_a_alink/setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf.s" +void daAlink_c::setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM i_anmID, f32 param_1) { + setUpperAnime(i_anmID == WANM_FLING_LEFT ? (u16)0x2BD : (u16)0x2BE, UPPER_2, daAlinkHIO_wlAtBite_c0::m.field_0x2C, param_1, -1, lit_6041); } -#pragma pop /* 80139600-801396F8 133F40 00F8+00 2/2 0/0 0/0 .text * setWolfEnemyHangBitePos__9daAlink_cFP13fopEn_enemy_c */ +// matches with literals +#ifdef NONMATCHING +BOOL daAlink_c::setWolfEnemyHangBitePos(fopEn_enemy_c* i_enemy) { + if (i_enemy != NULL) { + current.pos = i_enemy->getDownPos(); + cXyz old_pos = current.pos; + + current.pos.x -= 60.0f * cM_ssin(shape_angle.y); + current.pos.x -= 135.0f; + current.pos.x -= 60.0f * cM_scos(shape_angle.y); + + if (commonLineCheck(&field_0x3540, ¤t.pos)) { + current.pos = old_pos; + return 0; + } else { + return 1; + } + } + + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::setWolfEnemyHangBitePos(fopEn_enemy_c* param_0) { +asm BOOL daAlink_c::setWolfEnemyHangBitePos(fopEn_enemy_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/setWolfEnemyHangBitePos__9daAlink_cFP13fopEn_enemy_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804256EC-804256F8 05240C 000C+00 0/1 0/0 0/0 .bss @50952 */ @@ -2016,7 +2547,7 @@ static u8 lit_50952[12]; #pragma pop /* 804256F8-80425708 052418 000C+04 1/2 0/0 0/0 .bss l_wolfBiteHitMarkScale */ -static u8 l_wolfBiteHitMarkScale[12 + 4 /* padding */]; +static Vec l_wolfBiteHitMarkScale; /* 801396F8-801397A4 134038 00AC+00 1/1 0/0 0/0 .text * setWolfBiteDamage__9daAlink_cFP13fopEn_enemy_c */ @@ -2042,40 +2573,56 @@ asm void daAlink_c::checkWolfLockAttackChargeState() { /* 801398A8-80139908 1341E8 0060+00 1/1 0/0 0/0 .text procWolfRollAttackChargeInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfRollAttackChargeInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfRollAttackChargeInit__9daAlink_cFv.s" +int daAlink_c::procWolfRollAttackChargeInit() { + commonProcInit(PROC_WOLF_ROLL_ATTACK_CHARGE); + setSingleAnimeWolfBaseSpeed(WANM_CUT_TURN_CHARGE, FLOAT_LABEL(lit_6108), daAlinkHIO_wlAttack_c0::m.mReadyInterpolation); + voiceStartLevel(Z2SE_WL_V_ROAR); + return 1; } -#pragma pop /* 80139908-801399C4 134248 00BC+00 1/0 0/0 0/0 .text procWolfRollAttackCharge__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfRollAttackCharge() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfRollAttackCharge__9daAlink_cFv.s" +int daAlink_c::procWolfRollAttackCharge() { + if (checkWolfGroundSpecialMode()) { + return 1; + } + + if (!itemButtonCheck(BTN_B)) { + checkWolfAttackAction(); + } else if (field_0x2060->getOldFrameRate() < lit_9054) { + procWolfRollAttackMoveInit(); + } else { + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_wlMoveNoP_c0::m.field_0x10); + setShapeAngleToAtnActor(0); + current.angle.y = shape_angle.y; + voiceStartLevel(Z2SE_WL_V_ROAR); + } + + return 1; } -#pragma pop /* 801399C4-80139A70 134304 00AC+00 1/1 0/0 0/0 .text procWolfRollAttackMoveInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfRollAttackMoveInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfRollAttackMoveInit__9daAlink_cFv.s" +int daAlink_c::procWolfRollAttackMoveInit() { + commonProcInit(PROC_WOLF_ROLL_ATTACK_MOVE); + if (checkZeroSpeedF()) { + onModeFlg(1); + } + + field_0x3008 = daAlinkHIO_wlAttack_c0::m.mUnkTime; + field_0x300a = daAlinkHIO_wlAtLock_c0::m.field_0x28.mEndFrame; + field_0x3012 = 30; + field_0x3198 = 0; + field_0x2fe4 = shape_angle.y; + voiceStartLevel(Z2SE_WL_V_ROAR); + dComIfGp_setPlayerStatus0(0, 0x40000000); + + return 1; } -#pragma pop /* 80139A70-80139DE0 1343B0 0370+00 1/0 0/0 0/0 .text procWolfRollAttackMove__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRollAttackMove() { +asm int daAlink_c::procWolfRollAttackMove() { nofralloc #include "asm/d/a/d_a_alink/procWolfRollAttackMove__9daAlink_cFv.s" } @@ -2085,7 +2632,7 @@ asm void daAlink_c::procWolfRollAttackMove() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackInit(int param_0) { +asm int daAlink_c::procWolfJumpAttackInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfJumpAttackInit__9daAlink_cFi.s" } @@ -2095,38 +2642,44 @@ asm void daAlink_c::procWolfJumpAttackInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttack() { +asm int daAlink_c::procWolfJumpAttack() { nofralloc #include "asm/d/a/d_a_alink/procWolfJumpAttack__9daAlink_cFv.s" } #pragma pop /* 8013A7EC-8013A8A0 13512C 00B4+00 2/2 0/0 0/0 .text procWolfJumpAttackKickInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackKickInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfJumpAttackKickInit__9daAlink_cFv.s" +int daAlink_c::procWolfJumpAttackKickInit() { + commonProcInit(PROC_WOLF_JUMP_AT_KICK); + setSingleAnimeWolfParam(WANM_JUMP_KICK, &daAlinkHIO_wlAtCjump_c0::m.field_0x14); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mSpeed.y = tmp_0; + mNormalSpeed = tmp_0; + setSpecialGravity(tmp_0, mMaxFallSpeed, 0); + + voiceStart(Z2SE_WL_V_ATTACK_S); + seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_S); + dComIfGp_setPlayerStatus1(0, 0x200000); + return 1; } -#pragma pop /* 8013A8A0-8013A8FC 1351E0 005C+00 1/0 0/0 0/0 .text procWolfJumpAttackKick__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackKick() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfJumpAttackKick__9daAlink_cFv.s" +int daAlink_c::procWolfJumpAttackKick() { + if (mUnderFrameCtrl[0].checkAnmEnd()) { + procWolfBackJumpInit(2); + dComIfGp_setPlayerStatus1(0, 0x200000); + } + + return 1; } -#pragma pop /* 8013A8FC-8013AAC4 13523C 01C8+00 2/2 0/0 0/0 .text * procWolfJumpAttackSlideLandInit__9daAlink_cFiii */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int param_2) { +asm int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int param_2) { nofralloc #include "asm/d/a/d_a_alink/procWolfJumpAttackSlideLandInit__9daAlink_cFiii.s" } @@ -2136,7 +2689,7 @@ asm void daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, in #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackSlideLand() { +asm int daAlink_c::procWolfJumpAttackSlideLand() { nofralloc #include "asm/d/a/d_a_alink/procWolfJumpAttackSlideLand__9daAlink_cFv.s" } @@ -2144,31 +2697,60 @@ asm void daAlink_c::procWolfJumpAttackSlideLand() { /* 8013AC44-8013ACF4 135584 00B0+00 1/1 0/0 0/0 .text * procWolfJumpAttackNormalLandInit__9daAlink_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) { - nofralloc -#include "asm/d/a/d_a_alink/procWolfJumpAttackNormalLandInit__9daAlink_cFi.s" +int daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) { + commonProcInit(PROC_WOLF_JUMP_AT_NORMAL_LAND); + setSingleAnimeWolfParam(WANM_ATTACK_A_END, &daAlinkHIO_wlAtLand_c0::m.field_0x0); + + setFootEffectProcType(2); + field_0x2f9d = 0x18; + mNormalSpeed = FLOAT_LABEL(lit_6108); + field_0x3012 = 0; + mCommonCounter = param_0; + field_0x2f99 = 12; + field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + + if (param_0 != 0) { + dComIfGp_setPlayerStatus1(0, 0x200000); + } + + return 1; } -#pragma pop /* 8013ACF4-8013ADF0 135634 00FC+00 1/0 0/0 0/0 .text procWolfJumpAttackNormalLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfJumpAttackNormalLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfJumpAttackNormalLand__9daAlink_cFv.s" +int daAlink_c::procWolfJumpAttackNormalLand() { + if (checkWolfGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + field_0x2f99 = 4; + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_wlMoveNoP_c0::m.field_0x10); + setComboReserb(); + checkCutTurnCharge(); + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlAtLand_c0::m.field_0x0.mCheckFrame) { + if (mCommonCounter != 0) { + shape_angle.y -= -0x8000; + return procWolfJumpAttackInit(3); + } + + if (checkNextActionWolf(1)) { + return 1; + } + } + + return 1; } -#pragma pop /* 8013ADF0-8013AFC0 135730 01D0+00 2/2 0/0 0/0 .text procWolfWaitAttackInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfWaitAttackInit(int param_0) { +asm int daAlink_c::procWolfWaitAttackInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfWaitAttackInit__9daAlink_cFi.s" } @@ -2178,7 +2760,7 @@ asm void daAlink_c::procWolfWaitAttackInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfWaitAttack() { +asm int daAlink_c::procWolfWaitAttack() { nofralloc #include "asm/d/a/d_a_alink/procWolfWaitAttack__9daAlink_cFv.s" } @@ -2188,7 +2770,7 @@ asm void daAlink_c::procWolfWaitAttack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRollAttackInit(int param_0, int param_1) { +asm int daAlink_c::procWolfRollAttackInit(int param_0, int param_1) { nofralloc #include "asm/d/a/d_a_alink/procWolfRollAttackInit__9daAlink_cFii.s" } @@ -2198,7 +2780,7 @@ asm void daAlink_c::procWolfRollAttackInit(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfRollAttack() { +asm int daAlink_c::procWolfRollAttack() { nofralloc #include "asm/d/a/d_a_alink/procWolfRollAttack__9daAlink_cFv.s" } @@ -2208,7 +2790,7 @@ asm void daAlink_c::procWolfRollAttack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDownAttackInit() { +asm int daAlink_c::procWolfDownAttackInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfDownAttackInit__9daAlink_cFv.s" } @@ -2218,7 +2800,7 @@ asm void daAlink_c::procWolfDownAttackInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDownAttack() { +asm int daAlink_c::procWolfDownAttack() { nofralloc #include "asm/d/a/d_a_alink/procWolfDownAttack__9daAlink_cFv.s" } @@ -2229,7 +2811,7 @@ asm void daAlink_c::procWolfDownAttack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDownAtLandInit(fopEn_enemy_c* param_0) { +asm int daAlink_c::procWolfDownAtLandInit(fopEn_enemy_c* param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfDownAtLandInit__9daAlink_cFP13fopEn_enemy_c.s" } @@ -2239,7 +2821,7 @@ asm void daAlink_c::procWolfDownAtLandInit(fopEn_enemy_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDownAtLand() { +asm int daAlink_c::procWolfDownAtLand() { nofralloc #include "asm/d/a/d_a_alink/procWolfDownAtLand__9daAlink_cFv.s" } @@ -2249,27 +2831,39 @@ asm void daAlink_c::procWolfDownAtLand() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDownAtMissLandInit() { +asm int daAlink_c::procWolfDownAtMissLandInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfDownAtMissLandInit__9daAlink_cFv.s" } #pragma pop /* 8013BD54-8013BE24 136694 00D0+00 1/0 0/0 0/0 .text procWolfDownAtMissLand__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfDownAtMissLand() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfDownAtMissLand__9daAlink_cFv.s" +int daAlink_c::procWolfDownAtMissLand() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + if (checkWolfGroundSpecialMode()) { + return 1; + } + + field_0x2f99 = 4; + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlAtDown_c0::m.field_0x64.mCheckFrame) { + checkNextActionWolf(1); + } else if (frameCtrl->getFrame() >= lit_6109 && frameCtrl->getFrame() < lit_8783) { + seStartMapInfoLevel(Z2SE_FN_WOLF_SLIP); + field_0x2f9d = 0x18; + } + + return 1; } -#pragma pop /* 8013BE24-8013C3E4 136764 05C0+00 2/2 0/0 0/0 .text procWolfLockAttackInit__9daAlink_cFi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLockAttackInit(int param_0) { +asm int daAlink_c::procWolfLockAttackInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfLockAttackInit__9daAlink_cFi.s" } @@ -2279,7 +2873,7 @@ asm void daAlink_c::procWolfLockAttackInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLockAttack() { +asm int daAlink_c::procWolfLockAttack() { nofralloc #include "asm/d/a/d_a_alink/procWolfLockAttack__9daAlink_cFv.s" } @@ -2289,7 +2883,7 @@ asm void daAlink_c::procWolfLockAttack() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLockAttackTurnInit(int param_0) { +asm int daAlink_c::procWolfLockAttackTurnInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfLockAttackTurnInit__9daAlink_cFi.s" } @@ -2299,7 +2893,7 @@ asm void daAlink_c::procWolfLockAttackTurnInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfLockAttackTurn() { +asm int daAlink_c::procWolfLockAttackTurn() { nofralloc #include "asm/d/a/d_a_alink/procWolfLockAttackTurn__9daAlink_cFv.s" } @@ -2309,7 +2903,7 @@ asm void daAlink_c::procWolfLockAttackTurn() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfAttackReverseInit() { +asm int daAlink_c::procWolfAttackReverseInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfAttackReverseInit__9daAlink_cFv.s" } @@ -2320,7 +2914,7 @@ asm void daAlink_c::procWolfAttackReverseInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfAttackReverse() { +asm int daAlink_c::procWolfAttackReverse() { nofralloc #include "asm/d/a/d_a_alink/procWolfAttackReverse__9daAlink_cFv.s" } @@ -2330,38 +2924,64 @@ asm void daAlink_c::procWolfAttackReverse() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfEnemyThrowInit(int param_0) { +asm int daAlink_c::procWolfEnemyThrowInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfEnemyThrowInit__9daAlink_cFi.s" } #pragma pop /* 8013CC5C-8013CCF4 13759C 0098+00 1/0 0/0 0/0 .text procWolfEnemyThrow__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfEnemyThrow() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfEnemyThrow__9daAlink_cFv.s" +int daAlink_c::procWolfEnemyThrow() { + if (checkWolfGroundSpecialMode()) { + return 1; + } + + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + field_0x2f99 = 5; + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlAtBite_c0::m.field_0x34) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8013CCF4-8013CDEC 137634 00F8+00 1/1 0/0 0/0 .text procWolfEnemyHangBiteInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfEnemyHangBiteInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfEnemyHangBiteInit__9daAlink_cFv.s" +int daAlink_c::procWolfEnemyHangBiteInit() { + commonProcInit(PROC_WOLF_ENEMY_HANG_BITE); + setSingleAnimeWolfParam(WANM_CATCH_START, &daAlinkHIO_wlAtBite_c0::m.field_0x14); + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + setSpecialGravity(tmp_0, mMaxFallSpeed, 0); + + if (!setWolfEnemyHangBitePos((fopEn_enemy_c*)field_0x281c.getActor())) { + return procWolfJumpAttackKickInit(); + } else { + current.angle.y = shape_angle.y; + field_0x2f99 = 0x50; + field_0x3008 = daAlinkHIO_wlAtBite_c0::m.field_0x28; + field_0x300a = 0; + mCommonCounter = 0; + field_0x300e = 0; + field_0x3478 = daAlinkHIO_wlAtBite_c0::m.field_0x40; + field_0x3010 = shape_angle.y; + voiceStart(Z2SE_WL_V_BITE_ATTACK); + dComIfGp_setPlayerStatus1(0, 0x200000); + } + + return 1; } -#pragma pop /* 8013CDEC-8013D0D4 13772C 02E8+00 1/0 0/0 0/0 .text procWolfEnemyHangBite__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfEnemyHangBite() { +asm int daAlink_c::procWolfEnemyHangBite() { nofralloc #include "asm/d/a/d_a_alink/procWolfEnemyHangBite__9daAlink_cFv.s" } @@ -2371,7 +2991,7 @@ asm void daAlink_c::procWolfEnemyHangBite() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGrabUpInit() { +asm int daAlink_c::procWolfGrabUpInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfGrabUpInit__9daAlink_cFv.s" } @@ -2381,7 +3001,7 @@ asm void daAlink_c::procWolfGrabUpInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGrabUp() { +asm int daAlink_c::procWolfGrabUp() { nofralloc #include "asm/d/a/d_a_alink/procWolfGrabUp__9daAlink_cFv.s" } @@ -2389,20 +3009,33 @@ asm void daAlink_c::procWolfGrabUp() { /* 8013D588-8013D65C 137EC8 00D4+00 2/2 0/0 0/0 .text procWolfGrabPutInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfGrabPutInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfGrabPutInit__9daAlink_cFv.s" +int daAlink_c::procWolfGrabPutInit() { + if (mProcID == PROC_WOLF_GRAB_PUT) { + return 0; + } + + BOOL grab_obj = checkWolfGrabAnimeObj(); + commonProcInit(PROC_WOLF_GRAB_PUT); + + if (grab_obj) { + setSingleAnimeWolfParam(WANM_PICKUP_A, &daAlinkHIO_wlGrab_c0::m.field_0x14); + field_0x3478 = lit_7625; + field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x14.mCheckFrame; + } else { + setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.field_0x3C); + field_0x3478 = lit_8502; + field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x3C.mCheckFrame; + } + + mNormalSpeed = FLOAT_LABEL(lit_6108); + return 1; } -#pragma pop /* 8013D65C-8013D818 137F9C 01BC+00 1/0 0/0 0/0 .text procWolfGrabPut__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGrabPut() { +asm int daAlink_c::procWolfGrabPut() { nofralloc #include "asm/d/a/d_a_alink/procWolfGrabPut__9daAlink_cFv.s" } @@ -2410,71 +3043,118 @@ asm void daAlink_c::procWolfGrabPut() { /* 8013D818-8013D86C 138158 0054+00 1/1 0/0 0/0 .text procWolfGrabThrowInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfGrabThrowInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfGrabThrowInit__9daAlink_cFv.s" +int daAlink_c::procWolfGrabThrowInit() { + commonProcInit(PROC_WOLF_GRAB_THROW); + setSingleAnimeWolfParam(WANM_PICKUP_THROW, &daAlinkHIO_wlGrab_c0::m.field_0x50); + current.angle.y = shape_angle.y; + + return 1; } -#pragma pop /* 8013D86C-8013D930 1381AC 00C4+00 1/0 0/0 0/0 .text procWolfGrabThrow__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfGrabThrow() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfGrabThrow__9daAlink_cFv.s" +int daAlink_c::procWolfGrabThrow() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), daAlinkHIO_wlMoveNoP_c0::m.field_0x10); + setShapeAngleToAtnActor(0); + current.angle.y = shape_angle.y; + + if (frameCtrl->checkPass(lit_7625)) { + setGrabItemThrow(); + } + + if (frameCtrl->checkAnmEnd()) { + checkNextActionWolf(0); + } else if (frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.field_0x50.mCheckFrame) { + checkNextActionWolf(1); + } + + return 1; } -#pragma pop /* 8013D930-8013DA8C 138270 015C+00 1/1 0/0 0/0 .text procWolfPushInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfPushInit() { +asm int daAlink_c::procWolfPushInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfPushInit__9daAlink_cFv.s" } #pragma pop /* 8013DA8C-8013DB58 1383CC 00CC+00 1/0 0/0 0/0 .text procWolfPush__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfPush() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfPush__9daAlink_cFv.s" +int daAlink_c::procWolfPush() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + field_0x2f99 = 4; + + if (frameCtrl->checkAnmEnd()) { + if (mCommonCounter != 0) { + setSingleAnimeWolf(WANM_PUSH_LIGHT, lit_6040, FLOAT_LABEL(lit_6108), field_0x300e, lit_6109); + mUnderFrameCtrl[0].setAttribute(0); + mCommonCounter = 0; + } else { + checkNextActionWolf(0); + } + } else if (mCommonCounter == 0 && frameCtrl->checkPass(lit_52470)) { + if (field_0x280c.getActor() != NULL) { + fopAcM_setCarryNow(field_0x280c.getActor(), 0); + } + } + + return 1; } -#pragma pop /* 8013DB58-8013DB6C 138498 0014+00 1/1 0/0 0/0 .text daAlink_searchEnemyCargo__FP10fopAc_ac_cPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daAlink_searchEnemyCargo(fopAc_ac_c* param_0, void* param_1) { - nofralloc -#include "asm/d/a/d_a_alink/daAlink_searchEnemyCargo__FP10fopAc_ac_cPv.s" +static fopAc_ac_c* daAlink_searchEnemyCargo(fopAc_ac_c* param_0, void*) { + if (fopAcM_GetName(param_0) == PROC_E_YC) { + return param_0; + } + + return NULL; } -#pragma pop /* 8013DB6C-8013DC5C 1384AC 00F0+00 3/2 0/0 0/0 .text procWolfCargoCarryInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daAlink_c::procWolfCargoCarryInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfCargoCarryInit__9daAlink_cFv.s" +int daAlink_c::procWolfCargoCarryInit() { + if (!commonProcInitNotSameProc(PROC_WOLF_CARGO_CARRY)) { + return 1; + } + + f32 tmp_0 = FLOAT_LABEL(lit_6108); + mNormalSpeed = tmp_0; + mSpeed.y = tmp_0; + setSpecialGravity(tmp_0, mMaxFallSpeed, 0); + + daAlink_WANM wanm; + if (checkCargoCarry()) { + mCommonCounter = 1; + wanm = WANM_WAIT_KARGOROK; + } else { + mCommonCounter = 0; + + fopAc_ac_c* cargo_actor = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchEnemyCargo, NULL); + if (cargo_actor != NULL) { + field_0x280c.setData(cargo_actor); + } + + wanm = WANM_CATCH_KARGOROK; + } + + if (!dComIfGp_evmng_checkStartDemo()) { + voiceStart(Z2SE_WL_V_CATCHED); + } + + setSingleAnimeWolfBase(wanm); + + return 1; } -#pragma pop /* 8013DC5C-8013DDF8 13859C 019C+00 1/0 0/0 0/0 .text procWolfCargoCarry__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfCargoCarry() { +asm int daAlink_c::procWolfCargoCarry() { nofralloc #include "asm/d/a/d_a_alink/procWolfCargoCarry__9daAlink_cFv.s" } @@ -2482,30 +3162,47 @@ asm void daAlink_c::procWolfCargoCarry() { /* 8013DDF8-8013DE70 138738 0078+00 1/1 0/0 0/0 .text procWolfChainUpInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfChainUpInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfChainUpInit__9daAlink_cFv.s" +int daAlink_c::procWolfChainUpInit() { + field_0x2fa3 = searchFmChainPos(); + + if (field_0x2fa3 == 0) { + return procWolfWaitInit(); + } + + commonProcInit(PROC_WOLF_CHAIN_UP); + setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.field_0x28); + mNormalSpeed = FLOAT_LABEL(lit_6108); + + return 1; } -#pragma pop /* 8013DE70-8013DF30 1387B0 00C0+00 1/0 0/0 0/0 .text procWolfChainUp__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfChainUp() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfChainUp__9daAlink_cFv.s" +int daAlink_c::procWolfChainUp() { + daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; + + setWallGrabStatus(0x96, 2); + + if (frameCtrl->checkAnmEnd() || (checkInputOnR() && frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.field_0x28.mCheckFrame)) { + u8 old_2fa3 = field_0x2fa3; + fopAc_ac_c* old_actor = field_0x2844.getActor(); + + procWolfWaitInit(); + setUpperAnimeBaseSpeed(m_wlAnmDataTable[WANM_CHAIN_PULL].field_0x0, FLOAT_LABEL(lit_6108), lit_6109); + + if (old_actor != NULL) { + field_0x2fa3 = old_2fa3; + field_0x2844.setData(old_actor); + } + } + + return 1; } -#pragma pop /* 8013DF30-8013E034 138870 0104+00 1/1 0/0 0/0 .text procWolfGanonCatchInit__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGanonCatchInit() { +asm int daAlink_c::procWolfGanonCatchInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfGanonCatchInit__9daAlink_cFv.s" } @@ -2515,27 +3212,29 @@ asm void daAlink_c::procWolfGanonCatchInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGanonCatch() { +asm int daAlink_c::procWolfGanonCatch() { nofralloc #include "asm/d/a/d_a_alink/procWolfGanonCatch__9daAlink_cFv.s" } #pragma pop /* 8013E240-8013E2A8 138B80 0068+00 1/1 0/0 0/0 .text procWolfChainReadyInit__9daAlink_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daAlink_c::procWolfChainReadyInit() { - nofralloc -#include "asm/d/a/d_a_alink/procWolfChainReadyInit__9daAlink_cFv.s" +int daAlink_c::procWolfChainReadyInit() { + commonProcInit(PROC_WOLF_CHAIN_READY); + field_0x280c.setData(field_0x27f4); + setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.field_0x0); + mNormalSpeed = FLOAT_LABEL(lit_6108); + mCommonCounter = 0; + field_0x300e = 0; + + return 1; } -#pragma pop /* 8013E2A8-8013E6C0 138BE8 0418+00 1/0 0/0 0/0 .text procWolfChainReady__9daAlink_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfChainReady() { +asm int daAlink_c::procWolfChainReady() { nofralloc #include "asm/d/a/d_a_alink/procWolfChainReady__9daAlink_cFv.s" } @@ -2546,7 +3245,7 @@ asm void daAlink_c::procWolfChainReady() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfChainWaitInit() { +asm int daAlink_c::procWolfChainWaitInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfChainWaitInit__9daAlink_cFv.s" } @@ -2556,7 +3255,7 @@ asm void daAlink_c::procWolfChainWaitInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfChainWait() { +asm int daAlink_c::procWolfChainWait() { nofralloc #include "asm/d/a/d_a_alink/procWolfChainWait__9daAlink_cFv.s" } @@ -2566,7 +3265,7 @@ asm void daAlink_c::procWolfChainWait() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDigInit() { +asm int daAlink_c::procWolfDigInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfDigInit__9daAlink_cFv.s" } @@ -2576,7 +3275,7 @@ asm void daAlink_c::procWolfDigInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDig() { +asm int daAlink_c::procWolfDig() { nofralloc #include "asm/d/a/d_a_alink/procWolfDig__9daAlink_cFv.s" } @@ -2586,7 +3285,7 @@ asm void daAlink_c::procWolfDig() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDigThroughInit(int param_0) { +asm int daAlink_c::procWolfDigThroughInit(int param_0) { nofralloc #include "asm/d/a/d_a_alink/procWolfDigThroughInit__9daAlink_cFi.s" } @@ -2596,7 +3295,7 @@ asm void daAlink_c::procWolfDigThroughInit(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfDigThrough() { +asm int daAlink_c::procWolfDigThrough() { nofralloc #include "asm/d/a/d_a_alink/procWolfDigThrough__9daAlink_cFv.s" } @@ -2630,7 +3329,7 @@ void daAlink_c::setSmellSave() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGetSmellInit() { +asm int daAlink_c::procWolfGetSmellInit() { nofralloc #include "asm/d/a/d_a_alink/procWolfGetSmellInit__9daAlink_cFv.s" } @@ -2640,7 +3339,7 @@ asm void daAlink_c::procWolfGetSmellInit() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::procWolfGetSmell() { +asm int daAlink_c::procWolfGetSmell() { nofralloc #include "asm/d/a/d_a_alink/procWolfGetSmell__9daAlink_cFv.s" } diff --git a/src/d/a/d_a_itembase.cpp b/src/d/a/d_a_itembase.cpp index 9811545c17..aa00fad483 100644 --- a/src/d/a/d_a_itembase.cpp +++ b/src/d/a/d_a_itembase.cpp @@ -143,7 +143,7 @@ int daItemBase_c::DrawBase() { /* 80144C30-80144C7C 13F570 004C+00 1/0 1/0 9/0 .text RotateYBase__12daItemBase_cFv */ void daItemBase_c::RotateYBase() { - mCollisionRot.y += (s16)(0xFFFF / getData().field_0x1c); + shape_angle.y += (s16)(0xFFFF / getData().field_0x1c); } /* 80144C7C-80144CA0 13F5BC 0024+00 1/0 1/0 5/0 .text setListStart__12daItemBase_cFv */ diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 580ee36e2e..c8a550aa03 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -2318,7 +2318,7 @@ void daNpcT_c::setPos(cXyz i_pos) { /* 8014A99C-8014AA18 1452DC 007C+00 0/0 0/0 29/29 .text setAngle__8daNpcT_cF5csXyz */ void daNpcT_c::setAngle(csXyz i_angle) { current.angle = i_angle; - mCollisionRot = current.angle; + shape_angle = current.angle; field_0xd78 = current.angle; field_0xd7e = field_0xd78; next.angle = current.angle; @@ -2327,7 +2327,7 @@ void daNpcT_c::setAngle(csXyz i_angle) { /* 8014AA18-8014AA40 145358 0028+00 0/0 0/0 138/138 .text setAngle__8daNpcT_cFs */ void daNpcT_c::setAngle(s16 i_angle) { current.angle.y = i_angle; - mCollisionRot.y = current.angle.y; + shape_angle.y = current.angle.y; field_0xd78.y = current.angle.y; field_0xd7e.y = field_0xd78.y; next.angle.y = current.angle.y; diff --git a/src/d/a/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp index f3ef351a00..94b766c4f9 100644 --- a/src/d/a/d_a_obj_item.cpp +++ b/src/d/a/d_a_obj_item.cpp @@ -284,7 +284,7 @@ void daItem_c::setBaseMtx() { /* 8015B190-8015B1C8 155AD0 0038+00 1/1 0/0 0/0 .text setBaseMtx_0__8daItem_cFv */ void daItem_c::setBaseMtx_0() { mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::ZXYrotM(mCollisionRot); + mDoMtx_stack_c::ZXYrotM(shape_angle); } /* ############################################################################################## */ @@ -301,7 +301,7 @@ void daItem_c::setBaseMtx_1() { mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::transM(0.0f, y, 0.0f); - mDoMtx_stack_c::ZXYrotM(mCollisionRot); + mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::transM(0.0f, -y, 0.0f); } #else @@ -647,8 +647,8 @@ int daItem_c::_daItem_create() { orig.angle.x = 0; current.angle.z = 0; current.angle.x = 0; - mCollisionRot.z = 0; - mCollisionRot.x = 0; + shape_angle.z = 0; + shape_angle.x = 0; field_0x95d = true; } @@ -744,7 +744,7 @@ int daItem_c::_daItem_execute() { } mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::ZXYrotM(mCollisionRot); + mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::inverse(); mDoMtx_stack_c::multVec(&carry_pos, &carry_pos); daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &carry_pos); @@ -865,8 +865,8 @@ SECTION_SDATA2 static f32 lit_4404 = 15.0f; void daItem_c::procInitSimpleGetDemo() { current.pos = daPy_getPlayerActorClass()->getItemPos(); current.pos.y += 15.0f; - mCollisionRot.z = 0; - mCollisionRot.x = 0; + shape_angle.z = 0; + shape_angle.x = 0; mScale = field_0x930; fopAcM_SetSpeed(this, 0, getData().field_0x2c, 0); fopAcM_SetGravity(this, getData().field_0x30); @@ -1076,8 +1076,8 @@ void daItem_c::mode_water_init() { 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; + shape_angle.z = 0; + shape_angle.x = 0; field_0x940 = 0; mScale = field_0x930; } @@ -1361,9 +1361,9 @@ int daItem_c::itemActionForRupee() { } if (field_0x94b == 0) { - mCollisionRot.x += getData().field_0x1a; + shape_angle.x += getData().field_0x1a; } else { - mCollisionRot.x = 0; + shape_angle.x = 0; } return 1; @@ -1466,7 +1466,7 @@ int daItem_c::initAction() { if (isHeart(m_itemNo)) { mSpeedF = (cM_rndF(5.0f) + 20.0f) - 15.0f; - mCollisionRot.z = cM_rndFX(getData().field_0x2a); + shape_angle.z = cM_rndFX(getData().field_0x2a); } field_0x949 = 0; @@ -1530,8 +1530,8 @@ asm void daItem_c::initSpeed(int param_0) { void daItem_c::initAngle() { current.angle.z = 0; current.angle.x = 0; - mCollisionRot.z = 0; - mCollisionRot.x = 0; + shape_angle.z = 0; + shape_angle.x = 0; } /* 8015DE50-8015DE70 158790 0020+00 1/0 0/0 0/0 .text daItem_Draw__FP8daItem_c */ diff --git a/src/d/a/d_a_player.cpp b/src/d/a/d_a_player.cpp index f103a528fc..87abd94b82 100644 --- a/src/d/a/d_a_player.cpp +++ b/src/d/a/d_a_player.cpp @@ -245,7 +245,7 @@ int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param daAlink_c* link = daAlink_getAlinkActorClass(); if ((param_2 == NULL || !link->checkBoomerangCarry(param_2)) && (m_eventKeepFlg == 0 || field_0x0 != 0)) { - s16 tmp = (m_dropAngleY + link->mCollisionRot.y) + cM_rndF(2048.0f); + s16 tmp = (m_dropAngleY + link->shape_angle.y) + cM_rndF(2048.0f); param_0->x = link->current.pos.x + field_0x8 * cM_ssin(tmp); param_0->z = link->current.pos.z + field_0x8 * cM_scos(tmp); @@ -472,7 +472,7 @@ void* daPy_anmHeap_c::loadData(u16 i_resId) { if (mArcNo == 0xFFFF) { dComIfGp_getAnmArchive()->readIdxResource(mBuffer, mBufferSize, i_resId); JKRHeap* heap = setAnimeHeap(); - void* data = J3DAnmLoaderDataBase::load(mBuffer, UNK_FLAG0); + void* data = J3DAnmLoaderDataBase::load(mBuffer, J3DLOADER_UNK_FLAG0); mDoExt_setCurrentHeap(heap); return data; } @@ -607,7 +607,7 @@ void daPy_sightPacket_c::setSight() { mDoLib_project(&mPos, &tmp); mDoMtx_stack_c::transS(tmp.x, tmp.y, tmp.z); mDoMtx_stack_c::scaleM(32.0f, 32.0f, 32.0f); - mDoMtx_stack_c::copy(field_0x14); + mDoMtx_copy(mDoMtx_stack_c::get(), field_0x14); dComIfGd_set2DXlu(this); } @@ -635,7 +635,7 @@ BOOL daPy_py_c::checkMasterSwordEquip() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm bool daPy_py_c::checkWoodShieldEquip() { +asm BOOL daPy_py_c::checkWoodShieldEquip() { nofralloc #include "asm/d/a/d_a_player/checkWoodShieldEquip__9daPy_py_cFv.s" } diff --git a/src/d/bg/d_bg_s.cpp b/src/d/bg/d_bg_s.cpp index 087a1ad529..5c15f0b296 100644 --- a/src/d/bg/d_bg_s.cpp +++ b/src/d/bg/d_bg_s.cpp @@ -448,7 +448,7 @@ void dBgS::Move() { cBgS_ChkElm* elm = m_chk_element; for (int i = 0; i < 0x100; i++) { if (elm->ChkUsed()) { - elm->m_bgw_base_ptr->CalcDiffShapeAngleY(elm->m_actor_ptr->mCollisionRot.y); + elm->m_bgw_base_ptr->CalcDiffShapeAngleY(elm->m_actor_ptr->shape_angle.y); } elm++; } @@ -462,7 +462,7 @@ bool dBgS::Regist(dBgW_Base* pbgw, fopAc_ac_c* p_actor) { } if (p_actor != NULL && pbgw->ChkMoveBg()) { - pbgw->SetOldShapeAngleY(p_actor->mCollisionRot.y); + pbgw->SetOldShapeAngleY(p_actor->shape_angle.y); pbgw->SetRoomId(fopAcM_GetRoomNo(p_actor)); } diff --git a/src/d/bg/d_bg_s_acch.cpp b/src/d/bg/d_bg_s_acch.cpp index 222ad58b75..25a23d5b76 100644 --- a/src/d/bg/d_bg_s_acch.cpp +++ b/src/d/bg/d_bg_s_acch.cpp @@ -213,8 +213,8 @@ SECTION_SDATA2 static f32 lit_4092 = 1000.0f; // matches with literals #ifdef NONMATCHING dBgS_Acch::dBgS_Acch() { - SetPolyPassChk(&GetPolyPassChkInfo()); - SetGrpPassChk(&GetGrpPassChkInfo()); + SetPolyPassChk(GetPolyPassChkInfo()); + SetGrpPassChk(GetGrpPassChkInfo()); m_flags = 0; SetRoofNone(); @@ -309,17 +309,12 @@ void dBgS_Acch::GroundCheckInit(dBgS& param_0) { } } -/* ############################################################################################## */ -/* 80424B20-80424B2C 051840 000C+00 1/1 0/0 0/0 .bss @4166 */ -static u8 lit_4166[12]; - -/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */ -static u8 tmpRoofChk[80 + 4 /* padding */]; -// static dBgS_RoofChk tmpRoofChk; - /* 80076350-8007654C 070C90 01FC+00 2/2 0/0 0/0 .text GroundCheck__9dBgS_AcchFR4dBgS */ // issues with tmpRoofChk #ifdef NONMATCHING +/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */ +static dBgS_RoofChk tmpRoofChk; + void dBgS_Acch::GroundCheck(dBgS& param_0) { if (!(m_flags & GRND_NONE)) { cXyz grnd_pos; @@ -369,6 +364,13 @@ void dBgS_Acch::GroundCheck(dBgS& param_0) { } } #else +/* ############################################################################################## */ +/* 80424B20-80424B2C 051840 000C+00 1/1 0/0 0/0 .bss @4166 */ +static u8 lit_4166[12]; + +/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */ +static u8 tmpRoofChk[80 + 4 /* padding */]; + #pragma push #pragma optimization_level 0 #pragma optimizewithasm off diff --git a/src/d/bg/d_bg_s_movebg_actor.cpp b/src/d/bg/d_bg_s_movebg_actor.cpp index 9fed5c3f5f..90ee3982d9 100644 --- a/src/d/bg/d_bg_s_movebg_actor.cpp +++ b/src/d/bg/d_bg_s_movebg_actor.cpp @@ -170,7 +170,7 @@ int dBgS_MoveBgActor::MoveBGCreate(char const* p_name, int dzb_id, MoveBGActor_S u32 param_3, Mtx* param_4) { if (param_4 == NULL) { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); - mDoMtx_stack_c::YrotM(mCollisionRot.y); + mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z); PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c); } else { @@ -220,7 +220,7 @@ bool dBgS_MoveBgActor::MoveBGExecute() { bool ret = Execute(&tmp); if (tmp == NULL) { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); - mDoMtx_stack_c::YrotM(mCollisionRot.y); + mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z); PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c); } else { diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index 33648aa461..9477aeb75f 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -9,6 +9,7 @@ #include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/mtx/mtxvec.h" +#include "rel/d/a/d_a_horse/d_a_horse.h" // // Forward References: @@ -476,7 +477,7 @@ void cBgW::GlobalVtx() { /* 80079484-80079564 073DC4 00E0+00 1/1 0/0 0/0 .text SetVtx__4cBgWFv */ // matches with literals #ifdef NONMATCHING -int cBgW::SetVtx() { +bool cBgW::SetVtx() { if (field_0x88 & 0x10) { pm_vtx_tbl = NULL; } else if (field_0x88 & 0x1) { @@ -1136,7 +1137,7 @@ s32 cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& poly) const { return 0xFF; } - int room_index = pm_bgd->m_g_tbl[tmp].field_0x2a; + room_index = pm_bgd->m_g_tbl[tmp].field_0x2a; if (room_index >= 0xFF) { room_index = 0xFF; } diff --git a/src/d/cc/d_cc_uty.cpp b/src/d/cc/d_cc_uty.cpp index 1c4307ec7e..17667dd9d7 100644 --- a/src/d/cc/d_cc_uty.cpp +++ b/src/d/cc/d_cc_uty.cpp @@ -126,28 +126,28 @@ u16 cc_pl_cut_bit_get() { daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0); u16 bit = 0; - if (link->getCutType() == daPy_py_c::TYPE_CUT_VERTICAL) { + if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_VERTICAL) { bit = 0x1; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_STAB) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_STAB) { bit = 0x2; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_STAB_COMBO) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_COMBO_STAB) { bit = 0x200; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_SWEEP) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_RIGHT) { bit = 0x4; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_HORIZONTAL) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_LEFT) { bit = 0x8; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_LEFT_SWEEP_FINISH) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_LEFT) { bit = 0x20; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_DOWN_FINISH) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) { bit = 0x40; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_TURN_RIGHT || link->getCutType() == 9 || + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || link->getCutType() == 9 || link->getCutType() == 43 || - link->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_RIGHT) { + link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) { bit = 0x80; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_TURN_LEFT || - link->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_LEFT) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT || + link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT) { bit = 0x800; - } else if (link->getCutType() == daPy_py_c::TYPE_CUT_JUMP) { + } else if (link->getCutType() == daPy_py_c::CUT_TYPE_JUMP) { bit = 0x100; } else if (link->getCutType() == 40 || link->getCutType() == 41) { bit = 0x400; @@ -465,8 +465,8 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) { } if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK && - link->getCutType() == daPy_py_c::TYPE_CUT_HEAD) { - p_info->mHitDirection = link->mCollisionRot.y; + link->getCutType() == daPy_py_c::CUT_TYPE_HEAD_JUMP) { + p_info->mHitDirection = link->shape_angle.y; } if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) && diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index a50cf1985b..d85e252e31 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -424,23 +424,23 @@ void dComIfG_play_c::clearItemBombNumCount(u8 i_item) { mItemBombNumCount[i_item] = 0; } -void dComIfG_play_c::setNowVibration(u8 vib_status) { - mNowVibration = vib_status; +void dComIfG_play_c::setNowVibration(u8 i_vibration) { + mNowVibration = i_vibration; } u32 dComIfG_play_c::getNowVibration() { return mNowVibration; } -void dComIfG_play_c::setStartStage(dStage_startStage_c* p_startStage) { +void dComIfG_play_c::setStartStage(dStage_startStage_c* i_startStage) { mLayerOld = mStartStage.getLayer(); - mStartStage = *p_startStage; + mStartStage = *i_startStage; } /* 8002B3F4-8002B434 025D34 0040+00 1/1 0/0 0/0 .text dComIfG_get_timelayer__FPi */ -void dComIfG_get_timelayer(int* layer) { +void dComIfG_get_timelayer(int* i_layer) { if (dKy_daynight_check()) { - *layer += 1; + *i_layer += 1; } } @@ -1062,7 +1062,7 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId, // Stage is Fishing Pond or Hena's Hut else if (!strcmp(stageName, "F_SP127") || !strcmp(stageName, "R_SP127")) { - switch (g_env_light[0x12fe]) { + switch (g_env_light.field_0x12fe) { case 1: layer = 0; break; @@ -1189,8 +1189,8 @@ void dComIfG_play_c::drawSimpleModel() { /* 8002CAF0-8002CB30 027430 0040+00 0/0 0/0 16/16 .text * addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc */ -int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 drawBG) { - if (mSimpleModel != NULL && mSimpleModel->addModel(i_modelData, roomNo, drawBG)) { +int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int i_roomNo, u8 i_drawBG) { + if (mSimpleModel != NULL && mSimpleModel->addModel(i_modelData, i_roomNo, i_drawBG)) { return 1; } @@ -1199,9 +1199,9 @@ int dComIfG_play_c::addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 dra /* 8002CB30-8002CB68 027470 0038+00 0/0 0/0 16/16 .text * removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai */ -int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int roomNo) { +int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int i_roomNo) { if (mSimpleModel != NULL) { - mSimpleModel->removeModel(i_modelData, roomNo); + mSimpleModel->removeModel(i_modelData, i_roomNo); return 1; } @@ -1210,38 +1210,38 @@ int dComIfG_play_c::removeSimpleModel(J3DModelData* i_modelData, int roomNo) { /* 8002CB68-8002CB94 0274A8 002C+00 0/0 0/0 16/16 .text * entrySimpleModel__14dComIfG_play_cFP8J3DModeli */ -void dComIfG_play_c::entrySimpleModel(J3DModel* i_model, int roomNo) { +void dComIfG_play_c::entrySimpleModel(J3DModel* i_model, int i_roomNo) { if (mSimpleModel != NULL) { - mSimpleModel->entry(i_model, roomNo); + mSimpleModel->entry(i_model, i_roomNo); } } -void dComIfG_play_c::setTimerNowTimeMs(int time) { - mTimerInfo.mTimerNowTimeMs = time; +void dComIfG_play_c::setTimerNowTimeMs(int i_time) { + mTimerInfo.mTimerNowTimeMs = i_time; } int dComIfG_play_c::getTimerNowTimeMs() { return mTimerInfo.mTimerNowTimeMs; } -void dComIfG_play_c::setTimerLimitTimeMs(int time) { - mTimerInfo.mTimerLimitTimeMs = time; +void dComIfG_play_c::setTimerLimitTimeMs(int i_time) { + mTimerInfo.mTimerLimitTimeMs = i_time; } int dComIfG_play_c::getTimerLimitTimeMs() { return mTimerInfo.mTimerLimitTimeMs; } -void dComIfG_play_c::setTimerMode(int mode) { - mTimerInfo.mTimerMode = mode; +void dComIfG_play_c::setTimerMode(int i_mode) { + mTimerInfo.mTimerMode = i_mode; } int dComIfG_play_c::getTimerMode() { return mTimerInfo.mTimerMode; } -void dComIfG_play_c::setTimerType(u8 type) { - mTimerInfo.mTimerType = type; +void dComIfG_play_c::setTimerType(u8 i_type) { + mTimerInfo.mTimerType = i_type; } u8 dComIfG_play_c::getTimerType() { @@ -1249,8 +1249,8 @@ u8 dComIfG_play_c::getTimerType() { } /* 8002CBD4-8002CBDC -00001 0008+00 0/0 0/0 0/0 .text setTimerPtr__14dComIfG_play_cFP8dTimer_c */ -void dComIfG_play_c::setTimerPtr(dTimer_c* ptr) { - mTimerInfo.mTimerPtr = ptr; +void dComIfG_play_c::setTimerPtr(dTimer_c* i_ptr) { + mTimerInfo.mTimerPtr = i_ptr; } /* 8002CBDC-8002CBE4 02751C 0008+00 6/6 7/7 15/15 .text getTimerPtr__14dComIfG_play_cFv @@ -1281,7 +1281,7 @@ SECTION_SDATA extern GXColor g_blackColor = {0, 0, 0, 255}; /* 8002CC54-8002CD44 027594 00F0+00 1/1 1/1 0/0 .text dComIfG_changeOpeningScene__FP11scene_classs */ -int dComIfG_changeOpeningScene(scene_class* scene, s16 procName) { +int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName) { dComIfGp_offEnableNextStage(); dComIfGp_setNextStage("F_SP102", 100, 0, 10); mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(), @@ -1292,28 +1292,28 @@ int dComIfG_changeOpeningScene(scene_class* scene, s16 procName) { mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); } - fopScnM_ChangeReq(scene, procName, 0, 30); - fopScnM_ReRequest(procName, 0); + fopScnM_ChangeReq(i_scene, i_procName, 0, 30); + fopScnM_ReRequest(i_procName, 0); return 1; } /* 8002CD44-8002CDB8 027684 0074+00 0/0 2/2 0/0 .text dComIfG_resetToOpening__FP11scene_class */ -BOOL dComIfG_resetToOpening(scene_class* scene) { +BOOL dComIfG_resetToOpening(scene_class* i_scene) { if (mDoRst::isReturnToMenu() || !mDoRst::isReset() || mDoGph_gInf_c::getFader()->getStatus() == 2) { return 0; } - dComIfG_changeOpeningScene(scene, PROC_OPENING_SCENE); + dComIfG_changeOpeningScene(i_scene, PROC_OPENING_SCENE); mDoAud_bgmStop(30); mDoAud_resetProcess(); return 1; } -static int phase_1(char* arc_name) { - if (!dComIfG_setObjectRes(arc_name, 0, NULL)) { - OSReport_Error("%s.arc Read Error !!\n", arc_name); +static int phase_1(char* i_arcName) { + if (!dComIfG_setObjectRes(i_arcName, 0, NULL)) { + OSReport_Error("%s.arc Read Error !!\n", i_arcName); return cPhs_ERROR_e; } @@ -1321,11 +1321,11 @@ static int phase_1(char* arc_name) { } /* 8002CE38-8002CEB4 027778 007C+00 1/0 0/0 0/0 .text phase_2__FPc */ -static int phase_2(char* arc_name) { - int syncStatus = dComIfG_syncObjectRes(arc_name); +static int phase_2(char* i_arcName) { + int syncStatus = dComIfG_syncObjectRes(i_arcName); if (syncStatus < 0) { - OSReport_Error("%s.arc Sync Read Error !!\n", arc_name); + OSReport_Error("%s.arc Sync Read Error !!\n", i_arcName); return cPhs_ERROR_e; } else { return syncStatus > 0 ? 0 : 2; @@ -1339,7 +1339,7 @@ static int phase_3(char*) { /* 8002CEBC-8002CEFC 0277FC 0040+00 0/0 7/7 550/550 .text * dComIfG_resLoad__FP30request_of_phase_process_classPCc */ -int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_name) { +int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcName) { static int (*l_method[3])(void*) = {(int (*)(void*))phase_1, (int (*)(void*))phase_2, (int (*)(void*))phase_3}; @@ -1347,12 +1347,12 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* arc_nam return cPhs_COMPLEATE_e; } - return dComLbG_PhaseHandler(i_phase, l_method, (void*)arc_name); + return dComLbG_PhaseHandler(i_phase, l_method, (void*)i_arcName); } /* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */ -static int phase_01(phaseParam_c* phase) { - if (dComIfG_setObjectRes(phase->mResName, 0, phase->mpHeap) == 0) { +static int phase_01(phaseParam_c* i_phasePrm) { + if (dComIfG_setObjectRes(i_phasePrm->mResName, 0, i_phasePrm->mpHeap) == 0) { return 5; } @@ -1360,8 +1360,8 @@ static int phase_01(phaseParam_c* phase) { } /* 8002CF5C-8002CFB8 02789C 005C+00 1/0 0/0 0/0 .text phase_02__FP12phaseParam_c */ -static int phase_02(phaseParam_c* phase) { - int syncStatus = dComIfG_syncObjectRes(phase->mResName); +static int phase_02(phaseParam_c* i_phasePrm) { + int syncStatus = dComIfG_syncObjectRes(i_phasePrm->mResName); if (syncStatus < 0) { return 5; } else { @@ -1371,12 +1371,12 @@ static int phase_02(phaseParam_c* phase) { /* 8002CFB8-8002CFC0 0278F8 0008+00 1/0 0/0 0/0 .text phase_03__FP12phaseParam_c */ static int phase_03(phaseParam_c*) { - return false; + return 0; } /* 8002CFC0-8002D008 027900 0048+00 1/1 3/3 0/0 .text * dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap */ -int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName, JKRHeap* heap) { +int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resName, JKRHeap* i_heap) { static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02, (int (*)(void*))phase_03}; @@ -1384,42 +1384,42 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* resName return cPhs_COMPLEATE_e; } - phaseParam_c param(resName, heap); + phaseParam_c param(i_resName, i_heap); return dComLbG_PhaseHandler(i_phase, l_method, ¶m); } /* 8002D008-8002D06C 027948 0064+00 1/1 10/10 540/540 .text * dComIfG_resDelete__FP30request_of_phase_process_classPCc */ -int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resName) { +int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* i_resName) { if (i_phase->id != cPhs_TWO_e) { return 0; } - dComIfG_deleteObjectResMain(resName); + dComIfG_deleteObjectResMain(i_resName); i_phase->id = cPhs_ZERO_e; return 1; } -s8 dComIfGp_getReverb(int roomNo) { - return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), roomNo); +s8 dComIfGp_getReverb(int i_roomNo) { + return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), i_roomNo); } /* 8002D0B4-8002D1AC 0279F4 00F8+00 0/0 3/3 34/34 .text * dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj */ -int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle, - f32 param_5, _GXTexObj* tex) { +int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 i_angle, + f32 param_5, GXTexObj* i_tex) { if (param_3.ChkSetInfo() && -1000000000.0f != param_1) { cM3dGPla plane; dComIfG_Bgsp().GetTriPla(param_3, &plane); - return dComIfGd_setSimpleShadow(pos, param_1, param_2, &plane.mNormal, angle, param_5, tex); + return dComIfGd_setSimpleShadow(i_pos, param_1, param_2, &plane.mNormal, i_angle, param_5, i_tex); } else { return 0; } } /* 8002D1AC-8002D25C 027AEC 00B0+00 0/0 0/0 1/1 .text dComIfGp_getMapTrans__FiPfPfPs */ -int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) { +int dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle) { dStage_Multi_c* multi = dComIfGp_getMulti(); if (multi == NULL) { return 0; @@ -1427,10 +1427,10 @@ int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) { dStage_Mult_info* info = multi->mInfo; for (int i = 0; i < multi->field_0x0; i++) { - if (roomNo == info->mRoomNo) { - *transX = info->mTransX; - *transY = info->mTransY; - *angle = info->mAngle; + if (i_roomNo == info->mRoomNo) { + *o_transX = info->mTransX; + *o_transY = info->mTransY; + *o_angle = info->mAngle; return 1; } info++; @@ -1440,8 +1440,8 @@ int dComIfGp_getMapTrans(int roomNo, f32* transX, f32* transY, s16* angle) { } /* 8002D25C-8002D2AC 027B9C 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomCamera__Fi */ -stage_camera_class* dComIfGp_getRoomCamera(int roomNo) { - dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(roomNo); +stage_camera_class* dComIfGp_getRoomCamera(int i_roomNo) { + dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(i_roomNo); if (status == NULL) { return NULL; @@ -1451,8 +1451,8 @@ stage_camera_class* dComIfGp_getRoomCamera(int roomNo) { } /* 8002D2AC-8002D2FC 027BEC 0050+00 0/0 3/3 3/3 .text dComIfGp_getRoomArrow__Fi */ -stage_arrow_class* dComIfGp_getRoomArrow(int roomNo) { - dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(roomNo); +stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo) { + dStage_roomStatus_c* status = dComIfGp_roomControl_getStatusRoomDt(i_roomNo); if (status == NULL) { return NULL; @@ -1462,41 +1462,41 @@ stage_arrow_class* dComIfGp_getRoomArrow(int roomNo) { } /* 8002D2FC-8002D554 027C3C 0258+00 2/2 7/7 4/4 .text dComIfGp_setNextStage__FPCcsScScfUliScsii */ -void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f32 lastSpeed, - u32 lastMode, int setPoint, s8 wipe, s16 lastAngle, int param_9, - int wipeSpeedT) { - if (layer >= 15) { - layer = -1; +void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer, f32 i_lastSpeed, + u32 i_lastMode, int i_setPoint, s8 i_wipe, s16 i_lastAngle, int param_9, + int i_wipeSpeedT) { + if (i_layer >= 15) { + i_layer = -1; } if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() && daPy_getLinkPlayerActorClass() != NULL) { s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.mRoomNo; cXyz pos = dMapInfo_n::getMapPlayerPos(); - s16 angle = daPy_getLinkPlayerActorClass()->mCollisionRot.y; + s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y; u8 level = dComIfGp_getNowLevel(); dComIfGs_setPlayerFieldLastStayInfo(dComIfGp_getStartStageName(), pos, angle, curPoint, 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) { + if (!strcmp(i_stage, "F_SP121") && i_roomNo == 13 && (i_point == 99 || i_point == 98) && i_layer == 2) { dComIfGs_setKeyNum(6, 2); } else { dComIfGs_setKeyNum(6, 0); } if (daAlink_getAlinkActorClass() != NULL) { - daAlink_getAlinkActorClass()->setLastSceneMode(&lastMode); + daAlink_getAlinkActorClass()->setLastSceneMode(&i_lastMode); } char* saveName = (char*)dMeter2Info_getSaveStageName(); - if (strcmp(saveName, "") && strcmp(stage, saveName)) { + if (strcmp(saveName, "") && strcmp(i_stage, saveName)) { dMeter2Info_setSaveStageName(""); } u8 wipe_speed; - switch (wipeSpeedT) { + switch (i_wipeSpeedT) { case 0: wipe_speed = 26; break; @@ -1514,15 +1514,15 @@ void dComIfGp_setNextStage(char const* stage, s16 point, s8 roomNo, s8 layer, f3 break; } - g_dComIfG_gameInfo.play.setNextStage(stage, roomNo, point, layer, wipe, wipe_speed); - g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(lastSpeed, lastMode, lastAngle); - if (setPoint) { - dComIfGs_setStartPoint(point); + g_dComIfG_gameInfo.play.setNextStage(i_stage, i_roomNo, i_point, i_layer, i_wipe, wipe_speed); + g_dComIfG_gameInfo.info.getRestart().setLastSceneInfo(i_lastSpeed, i_lastMode, i_lastAngle); + if (i_setPoint) { + dComIfGs_setStartPoint(i_point); } } -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); +void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer) { + dComIfGp_setNextStage(i_stage, i_point, i_roomNo, i_layer, 0.0f, 0, 1, 0, 0, 1, 0); } BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) { @@ -1705,29 +1705,29 @@ u16 dComIfGs_getMaxLifeGauge() { return (dComIfGs_getMaxLife() / 5) * 4; } -void dComIfGs_setSelectItemIndex(int i_no, u8 item_index) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectItemIndex(i_no, item_index); +void dComIfGs_setSelectItemIndex(int i_no, u8 i_slotNo) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectItemIndex(i_no, i_slotNo); dComIfGp_setSelectItem(i_no); } -void dComIfGs_setMixItemIndex(int i_no, u8 item_index) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMixItemIndex(i_no, item_index); +void dComIfGs_setMixItemIndex(int i_no, u8 i_slotNo) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMixItemIndex(i_no, i_slotNo); } /* 8002DD3C-8002DDC8 02867C 008C+00 3/3 1/1 0/0 .text dComIfGs_getSelectMixItemNoArrowIndex__Fi */ -u8 dComIfGs_getSelectMixItemNoArrowIndex(int index) { - u8 item_index = dComIfGs_getSelectItemIndex(index); - u8 mix_index = dComIfGs_getMixItemIndex(index); +u8 dComIfGs_getSelectMixItemNoArrowIndex(int i_selmixItemIdx) { + u8 sel_item_slotNo = dComIfGs_getSelectItemIndex(i_selmixItemIdx); + u8 mix_item_slotNo = dComIfGs_getMixItemIndex(i_selmixItemIdx); - if (item_index >= SLOT_15 && item_index < SLOT_18) { - return item_index; + if (sel_item_slotNo >= SLOT_15 && sel_item_slotNo < SLOT_18) { + return sel_item_slotNo; } - if (mix_index != NO_ITEM && mix_index >= SLOT_15 && mix_index < SLOT_18) { - return mix_index; + if (mix_item_slotNo != NO_ITEM && mix_item_slotNo >= SLOT_15 && mix_item_slotNo < SLOT_18) { + return mix_item_slotNo; } - return NO_ITEM; + return 0xFF; } u8 dComIfGs_getMixItemIndex(int i_no) { @@ -1735,37 +1735,37 @@ u8 dComIfGs_getMixItemIndex(int i_no) { } /* 8002DDF4-8002DF1C 028734 0128+00 1/1 13/13 0/0 .text dComIfGp_setSelectItem__Fi */ -void dComIfGp_setSelectItem(int index) { - if (index == SELECT_ITEM_DOWN) { - if (dComIfGs_getSelectItemIndex(index) != NO_ITEM) { - u8 selectItemIdx = dComIfGs_getSelectItemIndex(index); - g_dComIfG_gameInfo.play.setSelectItem(index, selectItemIdx); +void dComIfGp_setSelectItem(int i_selItemIdx) { + if (i_selItemIdx == SELECT_ITEM_DOWN) { + if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) { + u8 selItem_slotNo = dComIfGs_getSelectItemIndex(i_selItemIdx); + g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, selItem_slotNo); - if (selectItemIdx == NO_ITEM) { - dComIfGs_setSelectItemIndex(index, NO_ITEM); + if (selItem_slotNo == 0xFF) { + dComIfGs_setSelectItemIndex(i_selItemIdx, 0xFF); } } else { - g_dComIfG_gameInfo.play.setSelectItem(index, NO_ITEM); + g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, NO_ITEM); } - } else if (dComIfGs_getSelectItemIndex(index) != NO_ITEM) { - u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(index), false); - g_dComIfG_gameInfo.play.setSelectItem(index, item); + } else if (dComIfGs_getSelectItemIndex(i_selItemIdx) != 0xFF) { + u8 item = dComIfGs_getItem(dComIfGs_getSelectItemIndex(i_selItemIdx), false); + g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, item); if (item == NO_ITEM) { - dComIfGs_setSelectItemIndex(index, NO_ITEM); + dComIfGs_setSelectItemIndex(i_selItemIdx, 0xFF); } } else { - g_dComIfG_gameInfo.play.setSelectItem(index, NO_ITEM); + g_dComIfG_gameInfo.play.setSelectItem(i_selItemIdx, NO_ITEM); } } /* 8002DF1C-8002E048 02885C 012C+00 4/4 19/19 0/0 .text dComIfGp_getSelectItem__Fi */ -u8 dComIfGp_getSelectItem(int index) { - u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(index); +u8 dComIfGp_getSelectItem(int i_selItemIdx) { + u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(i_selItemIdx); - if ((index == SELECT_ITEM_X || index == SELECT_ITEM_Y) && - dComIfGs_getMixItemIndex(index) != NO_ITEM) { - u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(index), false); + if ((i_selItemIdx == SELECT_ITEM_X || i_selItemIdx == SELECT_ITEM_Y) && + dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF) { + u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(i_selItemIdx), false); if (saveItem == BOW) { saveItem = playItem; @@ -1962,27 +1962,26 @@ u8 dComIfGs_getBottleMax() { } /* 8002E5C0-8002E688 028F00 00C8+00 0/0 11/11 0/0 .text dComIfGp_getSelectItemNum__Fi */ -int dComIfGp_getSelectItemNum(int index) { - u8 selectItem = dComIfGp_getSelectItem(index); - int itemNum = 0; +s16 dComIfGp_getSelectItemNum(int i_selItemIdx) { + u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx); + s16 itemNum = 0; if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || selectItem == BOMB_ARROW) { - selectItem = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15; + selectItem = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15; itemNum = dComIfGs_getBombNum(selectItem); } else if (selectItem == PACHINKO) { itemNum = dComIfGs_getPachinkoNum(); } else if (selectItem == BEE_CHILD) { - selectItem = dComIfGs_getSelectItemIndex(index); - itemNum = dComIfGs_getBottleNum(selectItem - SLOT_11); + itemNum = dComIfGs_getBottleNum(dComIfGs_getSelectItemIndex(i_selItemIdx) - SLOT_11); } return itemNum; } /* 8002E688-8002E714 028FC8 008C+00 0/0 5/5 0/0 .text dComIfGp_getSelectItemMaxNum__Fi */ -int dComIfGp_getSelectItemMaxNum(int index) { - u8 selectItem = dComIfGp_getSelectItem(index); +int dComIfGp_getSelectItemMaxNum(int i_selItemIdx) { + u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx); int itemNum = 0; if (selectItem == BOMB_BAG_LV1) { @@ -2000,42 +1999,41 @@ int dComIfGp_getSelectItemMaxNum(int index) { } /* 8002E714-8002E83C 029054 0128+00 0/0 2/2 0/0 .text dComIfGp_setSelectItemNum__Fis */ -void dComIfGp_setSelectItemNum(int index, s16 num) { - u8 selectItem = dComIfGp_getSelectItem(index); +void dComIfGp_setSelectItemNum(int i_selItemIdx, s16 i_num) { + u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx); if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || selectItem == BOMB_ARROW) { - u8 mix_index = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15; + u8 mix_slotNo = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15; - if (num > dComIfGs_getBombMax(selectItem)) { - num = dComIfGs_getBombMax(selectItem); + if (i_num > dComIfGs_getBombMax(selectItem)) { + i_num = dComIfGs_getBombMax(selectItem); } - dComIfGs_setBombNum(mix_index, num); + dComIfGs_setBombNum(mix_slotNo, i_num); } else if (selectItem == PACHINKO) { - dComIfGs_setPachinkoNum(num); + dComIfGs_setPachinkoNum(i_num); } else if (selectItem == BEE_CHILD) { - u8 bottle_idx = dComIfGs_getSelectItemIndex(index) - SLOT_11; + u8 bottle_slot_no = dComIfGs_getSelectItemIndex(i_selItemIdx) - SLOT_11; - if (num > dComIfGs_getBottleMax()) { - num = dComIfGs_getBottleMax(); + if (i_num > dComIfGs_getBottleMax()) { + i_num = dComIfGs_getBottleMax(); } - dComIfGs_setBottleNum(bottle_idx, num); + dComIfGs_setBottleNum(bottle_slot_no, i_num); } } /* 8002E83C-8002E910 02917C 00D4+00 0/0 5/5 0/0 .text dComIfGp_addSelectItemNum__Fis */ -void dComIfGp_addSelectItemNum(int index, s16 num) { - u8 selectItem = dComIfGp_getSelectItem(index); +void dComIfGp_addSelectItemNum(int i_selItemIdx, s16 i_num) { + u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx); if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || selectItem == BOMB_ARROW) { - u8 mix_index = dComIfGs_getSelectMixItemNoArrowIndex(index) - SLOT_15; - dComIfGp_setItemBombNumCount(mix_index, num); + u8 slot_no = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15; + dComIfGp_setItemBombNumCount(slot_no, i_num); } else if (selectItem == PACHINKO) { - dComIfGp_setItemPachinkoNumCount(num); + dComIfGp_setItemPachinkoNumCount(i_num); } else if (selectItem == BEE_CHILD) { - selectItem = dComIfGs_getSelectItemIndex(index); - dComIfGs_addBottleNum(selectItem - SLOT_11, num); + dComIfGs_addBottleNum(dComIfGs_getSelectItemIndex(i_selItemIdx) - SLOT_11, i_num); } } @@ -2062,8 +2060,8 @@ void dComIfGs_gameStart() { dComIfGp_setNextStage(name, point, roomNo, -1, 0.0f, 0, 1, 0, 0, 0, 0); } -u32 dComIfG_getTrigA(u32 pad) { - return mDoCPd_c::getTrigA(pad); +u32 dComIfG_getTrigA(u32 i_padNo) { + return mDoCPd_c::getTrigA(i_padNo); } /* ############################################################################################## */ @@ -2093,7 +2091,7 @@ asm void dComIfGp_calcNowRegion() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void dComIfG_getNowCalcRegion() { +static asm u8 dComIfG_getNowCalcRegion() { nofralloc #include "asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s" } @@ -2166,45 +2164,45 @@ void dComIfGs_setSelectEquipShield(u8 i_itemNo) { g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_SHIELD, i_itemNo); } -void dComIfGs_setKeyNum(int i_stageNo, u8 keyNum) { +void dComIfGs_setKeyNum(int i_stageNo, u8 i_keyNum) { if (dComIfGp_getStageStagInfo()) { stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo(); if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) { - dComIfGs_setKeyNum(keyNum); + dComIfGs_setKeyNum(i_keyNum); } } - g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().setKeyNum(keyNum); + g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().setKeyNum(i_keyNum); } /* 8002F0E0-8002F128 029A20 0048+00 1/1 0/0 0/0 .text dComIfGs_setWarpItemData__FiPCc4cXyzsScUcUc */ -static void dComIfGs_setWarpItemData(int param_0, char const* stage, cXyz pos, s16 angle, s8 roomNo, +static void dComIfGs_setWarpItemData(int, char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_5, u8 param_6) { - g_dComIfG_gameInfo.play.setWarpItemData(stage, pos, angle, roomNo, param_5, param_6); + g_dComIfG_gameInfo.play.setWarpItemData(i_stage, i_pos, i_angle, i_roomNo, param_5, param_6); } -void dComIfG_play_c::setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4, +void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4, u8 param_5) { - strcpy(mWarpItemStage, stage); - mWarpItemPos.set(pos); - mWarpItemAngle = angle; - mWarpItemRoom = roomNo; + strcpy(mWarpItemStage, i_stage); + mWarpItemPos.set(i_pos); + mWarpItemAngle = i_angle; + mWarpItemRoom = i_roomNo; field_0x4fac = param_5; field_0x4fab = param_4; } -void dComIfGs_setWarpItemData(char const* stage, cXyz pos, s16 angle, s8 roomNo, u8 param_4, +void dComIfGs_setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4, u8 param_5) { - dComIfGs_setWarpItemData(0, stage, pos, angle, roomNo, param_4, param_5); - dComIfGs_setLastWarpMarkItemData(stage, pos, angle, roomNo, param_4, param_5); + dComIfGs_setWarpItemData(0, i_stage, i_pos, i_angle, i_roomNo, param_4, param_5); + dComIfGs_setLastWarpMarkItemData(i_stage, i_pos, i_angle, i_roomNo, param_4, param_5); } -void dComIfGs_setLastWarpMarkItemData(const char* stage, cXyz pos, s16 angle, s8 roomNo, u8 unk1, - u8 unk2) { - g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpItemData(stage, pos, angle, - roomNo, unk1, unk2); +void dComIfGs_setLastWarpMarkItemData(const char* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, + u8 param_4, u8 param_5) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpItemData( + i_stage, i_pos, i_angle, i_roomNo, param_4, param_5); } const char* dComIfGs_getWarpStageName() { @@ -2228,9 +2226,7 @@ BOOL dComIfGs_getWarpMarkFlag() { return dComIfGs_getLastWarpAcceptStage() >= 0; } -void dComIfGs_setWarpMarkFlag(u8) { - /* empty function */ -} +void dComIfGs_setWarpMarkFlag(u8) {} /* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */ dComIfG_resLoader_c::dComIfG_resLoader_c() { @@ -2250,10 +2246,10 @@ dComIfG_resLoader_c::~dComIfG_resLoader_c() { } /* 8002F3B4-8002F434 029CF4 0080+00 0/0 0/0 1/1 .text load__19dComIfG_resLoader_cFPPCcP7JKRHeap */ -int dComIfG_resLoader_c::load(char const** param_0, JKRHeap* heap) { - field_0x0 = param_0; +int dComIfG_resLoader_c::load(char const** i_resNameTbl, JKRHeap* i_heap) { + field_0x0 = i_resNameTbl; - int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], heap); + int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], i_heap); if (phase_state == cPhs_COMPLEATE_e) { if (field_0x0[field_0xc + 1][0] != 0) { field_0xc++; @@ -2266,25 +2262,23 @@ int dComIfG_resLoader_c::load(char const** param_0, JKRHeap* heap) { } /* 8002F434-8002F478 029D74 0044+00 0/0 12/12 12/12 .text dComIfG_getStageRes__FPCc */ -void* dComIfG_getStageRes(char const* resName) { - return dComIfG_getStageRes("Stg_00", resName); +void* dComIfG_getStageRes(char const* i_resName) { + return dComIfG_getStageRes("Stg_00", i_resName); } /* 8002F478-8002F4BC 029DB8 0044+00 0/0 1/1 0/0 .text dComIfG_getOldStageRes__FPCc */ -void* dComIfG_getOldStageRes(char const* resName) { - return dComIfG_getStageRes("Xtg_00", resName); +void* dComIfG_getOldStageRes(char const* i_resName) { + return dComIfG_getStageRes("Xtg_00", i_resName); } -char* dComIfG_getRoomArcName(int roomNo) { +char* dComIfG_getRoomArcName(int i_roomNo) { static char buf[32]; - sprintf(buf, "R%02d_00", roomNo); + sprintf(buf, "R%02d_00", i_roomNo); return buf; } /* 8002F500-8002F504 029E40 0004+00 0/0 1/1 0/0 .text dComIfGp_ret_wp_set__FSc */ -void dComIfGp_ret_wp_set(s8) { - /* empty function */ -} +void dComIfGp_ret_wp_set(s8) {} void dComIfGp_world_dark_set(u8 param_0) { g_dComIfG_gameInfo.mWorldDark = param_0; @@ -2294,14 +2288,14 @@ u8 dComIfGp_world_dark_get() { return g_dComIfG_gameInfo.mWorldDark; } -int dComIfG_TimerStart(int mode, s16 time) { - if (mode == dComIfG_getTimerMode()) { +int dComIfG_TimerStart(int i_mode, s16 i_time) { + if (i_mode == dComIfG_getTimerMode()) { dTimer_c* timer = dComIfG_getTimerPtr(); if (timer != NULL) { - if (time == 0) { - timer->start(mode); + if (i_time == 0) { + timer->start(i_mode); } else { - timer->start(mode, time); + timer->start(i_mode, i_time); } return 1; } else { @@ -2312,8 +2306,8 @@ int dComIfG_TimerStart(int mode, s16 time) { return 0; } -int dComIfG_TimerStop(int mode) { - if (mode == dComIfG_getTimerMode()) { +int dComIfG_TimerStop(int i_mode) { + if (i_mode == dComIfG_getTimerMode()) { dTimer_c* timer = dComIfG_getTimerPtr(); if (timer != NULL) { timer->stop(4); @@ -2326,8 +2320,8 @@ int dComIfG_TimerStop(int mode) { return 0; } -int dComIfG_TimerReStart(int mode) { - if (mode == dComIfG_getTimerMode()) { +int dComIfG_TimerReStart(int i_mode) { + if (i_mode == dComIfG_getTimerMode()) { dTimer_c* timer = dComIfG_getTimerPtr(); if (timer != NULL) { timer->restart(4); @@ -2340,8 +2334,8 @@ int dComIfG_TimerReStart(int mode) { return 0; } -int dComIfG_TimerEnd(int mode, int param_1) { - if (mode == dComIfG_getTimerMode()) { +int dComIfG_TimerEnd(int i_mode, int param_1) { + if (i_mode == dComIfG_getTimerMode()) { dTimer_c* timer = dComIfG_getTimerPtr(); if (timer != NULL) { timer->end(param_1); @@ -2355,8 +2349,8 @@ int dComIfG_TimerEnd(int mode, int param_1) { } /* 8002F72C-8002F79C 02A06C 0070+00 0/0 0/0 2/2 .text dComIfG_TimerDeleteCheck__Fi */ -int dComIfG_TimerDeleteCheck(int mode) { - if (mode == dComIfG_getTimerMode()) { +int dComIfG_TimerDeleteCheck(int i_mode) { + if (i_mode == dComIfG_getTimerMode()) { dTimer_c* timer = dComIfG_getTimerPtr(); if (timer != NULL) { return timer->deleteCheck(); @@ -2368,8 +2362,8 @@ int dComIfG_TimerDeleteCheck(int mode) { return 0; } -int dComIfG_TimerDeleteRequest(int mode) { - if (mode == dComIfG_getTimerMode()) { +int dComIfG_TimerDeleteRequest(int i_mode) { + if (i_mode == dComIfG_getTimerMode()) { dTimer_c* timer = dComIfG_getTimerPtr(); if (timer != NULL) { timer->deleteRequest(); @@ -2434,31 +2428,13 @@ bool dComIfGs_shake_kandelaar_check() { return check; } -/* ############################################################################################## */ -/* 80451D20-80451D28 000320 0008+00 1/1 0/0 0/0 .sdata2 @7580 */ -SECTION_SDATA2 static f64 lit_7580 = 0.6; - /* 8002FA54-8002FA84 02A394 0030+00 0/0 4/4 96/96 .text dComIfGs_wolfeye_effect_check__Fv */ -#ifdef NONMATCHING -int dComIfGs_wolfeye_effect_check() { - BOOL ret = 0; - if (g_env_light.field_0xf3d == 1 && g_env_light.field_0xf40 > 0.6) { - ret = 1; - } +bool dComIfGs_wolfeye_effect_check() { + dScnKy_env_light_c* env_light = i_dKy_getEnvlight(); - return ret; + return env_light->field_0xf3d == 1 && env_light->field_0xf40 > 0.6; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dComIfGs_wolfeye_effect_check() { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s" -} -#pragma pop -#endif void dComIfGs_Grass_hide_Set(s8 param_0) { g_dComIfG_gameInfo.field_0x1ddfc = param_0; @@ -2491,58 +2467,52 @@ BOOL dComIfGp_TransportWarp_check() { /* 8002FB20-8002FB80 02A460 0060+00 2/2 6/6 0/0 .text * dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv */ -int dComLbG_PhaseHandler(request_of_phase_process_class* param_0, cPhs__Handler* param_1, - void* param_2) { - int ret = cPhs_Handler(param_0, param_1, param_2); - switch (ret) { +int dComLbG_PhaseHandler(request_of_phase_process_class* i_phaseReq, cPhs__Handler* i_handler, + void* i_data) { + int phase = cPhs_Handler(i_phaseReq, i_handler, i_data); + switch (phase) { case 2: - ret = dComLbG_PhaseHandler(param_0, param_1, param_2); + phase = dComLbG_PhaseHandler(i_phaseReq, i_handler, i_data); break; case 1: case 3: break; } - return ret; + + return phase; } /* 8002FB80-8002FC3C 02A4C0 00BC+00 0/0 1/1 1/1 .text dComIfGs_onVisitedRoom__Fi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfGs_onVisitedRoom(int param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGs_onVisitedRoom__Fi.s" +void dComIfGs_onVisitedRoom(int i_roomNo) { + dStage_FileList2_dt_c* fileList = dStage_roomControl_c::getFileList2(i_roomNo); + + if (fileList != NULL && fileList->field_0x13 < 0x40) { + u8 region = dComIfG_getNowCalcRegion(); + if (region != 0xFF && !dComIfGs_isRegionBit(region)) { + dComIfGs_onRegionBit(region); + } + + s32 stayNo = dComIfGp_roomControl_getStayNo(); + dStage_FileList2_dt_c* list = dStage_roomControl_c::getFileList2(stayNo); + dComIfGs_onSaveVisitedRoom(list->field_0x13, i_roomNo); + } } -#pragma pop /* 8002FC3C-8002FC98 02A57C 005C+00 0/0 0/0 1/1 .text dComIfGs_offVisitedRoom__Fi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfGs_offVisitedRoom(int param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGs_offVisitedRoom__Fi.s" +void dComIfGs_offVisitedRoom(int i_roomNo) { + s32 stayNo = dComIfGp_roomControl_getStayNo(); + dStage_FileList2_dt_c* list = dStage_roomControl_c::getFileList2(stayNo); + + dComIfGs_offSaveVisitedRoom(list->field_0x13, i_roomNo); } -#pragma pop /* 8002FC98-8002FCF4 02A5D8 005C+00 0/0 1/1 0/0 .text dComIfGs_isVisitedRoom__Fi */ -// instructions swapped -#ifdef NONMATCHING BOOL dComIfGs_isVisitedRoom(int param_0) { - int stayNo = dComIfGp_roomControl_getStayNo(); + s32 stayNo = dComIfGp_roomControl_getStayNo(); dStage_FileList2_dt_c* fileList = dStage_roomControl_c::getFileList2(stayNo); + return dComIfGs_isSaveVisitedRoom(fileList->field_0x13, param_0); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL dComIfGs_isVisitedRoom(int param_0) { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGs_isVisitedRoom__Fi.s" -} -#pragma pop -#endif /* 8002FCF4-8002FD08 02A634 0014+00 0/0 1/1 0/0 .text dComIfGs_staffroll_next_go__Fv */ void dComIfGs_staffroll_next_go() { diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index f279e51cd1..d21038f7c3 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -1081,10 +1081,10 @@ bool dAttention_c::chaseAttention() { if (!chkFlag(0x4000)) { cSGlobe g1(actor->mAttentionInfo.mPosition - mOwnerAttnPos); - cSAngle a1(g1.U() - mpPlayer->mCollisionRot.y); + cSAngle a1(g1.U() - mpPlayer->shape_angle.y); cSGlobe g2(mOwnerAttnPos - actor->mAttentionInfo.mPosition); - cSAngle a2(g2.U() - actor->mCollisionRot.y); + cSAngle a2(g2.U() - actor->shape_angle.y); u32 type; f32 weight = calcWeight(0x4C, actor, g1.R(), a1.Val(), a2.Val(), &type); @@ -1850,7 +1850,7 @@ f32 dAttention_c::LockonReleaseDistanse() { int idx = mLockOnList[mLockOnOffset].mType + actor->mAttentionInfo.field_0x0[0]; cSGlobe tmp_g(actor->mAttentionInfo.mPosition - mOwnerAttnPos); - cSAngle tmp_a(tmp_g.U() - mpPlayer->mCollisionRot.y); + cSAngle tmp_a(tmp_g.U() - mpPlayer->shape_angle.y); return distace_angle_adjust(dist_table[idx].field_0x8, tmp_a, 1.0f) + dist_table[idx].field_0x4; } diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index dc01d590e0..bd0cec2e52 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -3553,7 +3553,7 @@ asm void dCam_getAngleX(camera_class* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dCam_getControledAngleY(camera_class* param_0) { +asm s16 dCam_getControledAngleY(camera_class* param_0) { nofralloc #include "asm/d/d_camera/dCam_getControledAngleY__FP12camera_class.s" } diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index 370e64da47..5d6bcdf13e 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -249,7 +249,7 @@ extern "C" extern void* __vt__Q214JStudio_JStage13TCreateObject[4]; extern "C" extern void* __vt__Q215JStudio_JAudio213TCreateObject[4]; extern "C" extern void* __vt__Q217JStudio_JParticle13TCreateObject[6]; extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; -extern "C" extern u8 data_80450B74[4]; +extern "C" extern Z2SoundStarter* data_80450B74; extern "C" u8 mEmitterMng__13dPa_control_c[4]; // @@ -790,7 +790,7 @@ int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2, } if (flags & 8) { - param_0->mCollisionRot = demo_actor->getRatate(); + param_0->shape_angle = demo_actor->getRatate(); } if (flags & 4) { @@ -1427,6 +1427,10 @@ bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorNa /* 80451DE0-80451DE8 0003E0 0008+00 1/1 0/0 0/0 .sdata2 @5123 */ SECTION_SDATA2 static f64 lit_5123 = 1.0 / 29.999998435378155; +inline Z2SoundStarter* Z2GetSoundStarter() { + return data_80450B74; +} + /* 80039678-80039910 033FB8 0298+00 0/0 1/1 0/0 .text create__7dDemo_cFv */ #ifdef NONMATCHING void dDemo_c::create() { @@ -1442,10 +1446,10 @@ void dDemo_c::create() { m_control->setSecondPerFrame(1.0 / 29.999998435378155); m_control->setFactory(m_factory); - m_control->appendCreateObject(m_stage); - m_control->appendCreateObject(m_audio); - m_control->appendCreateObject(m_particle); - m_control->appendCreateObject(m_message); + m_factory->appendCreateObject(m_stage); + m_factory->appendCreateObject(m_audio); + m_factory->appendCreateObject(m_particle); + m_factory->appendCreateObject(m_message); m_system->setObject(m_object); m_data = NULL; diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp index faeab6a55d..dba0047cfa 100644 --- a/src/d/d_item.cpp +++ b/src/d/d_item.cpp @@ -1220,24 +1220,13 @@ void item_func_HAWK_EYE() { } /* 800986C4-80098718 093004 0054+00 1/0 0/0 0/0 .text item_func_WOOD_STICK__Fv */ -// load instructions are switched -#ifdef NONMATCHING void item_func_WOOD_STICK() { dComIfGs_setCollectSword(COLLECT_WOODEN_SWORD); dComIfGs_setSelectEquipSword(WOOD_STICK); - dComIfGs_onSwitch(28, dComIfGp_roomControl_getStayNo()); // wrong order + s32 roomNo = dComIfGp_roomControl_getStayNo(); + dComIfGs_onSwitch(28, roomNo); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void item_func_WOOD_STICK() { - nofralloc -#include "asm/d/d_item/item_func_WOOD_STICK__Fv.s" -} -#pragma pop -#endif void item_func_BOOMERANG() { dComIfGs_setItem(SLOT_0, BOOMERANG); diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 8289ca668c..689dac49a6 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -367,7 +367,7 @@ SECTION_DATA static void* lit_4017[8] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) { +asm J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) { nofralloc #include "asm/d/d_resorce/loaderBasicBmd__11dRes_info_cFUlPv.s" } @@ -686,8 +686,8 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) { "No Command Archive ArcHeader(size) SolidHeap(size) Resource Cnt ArchiveName\n"); for (int i = 0; i < param_1; i++) { - if (getCount() != 0) { - JKRArchive* archive = getArchive(); + if (param_0->getCount() != 0) { + JKRArchive* archive = param_0->getArchive(); header = NULL; blockSize1 = 0; @@ -696,15 +696,15 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) { blockSize1 = myGetMemBlockSize0(header); } - JKRSolidHeap* dataHeap = mDataHeap; + JKRSolidHeap* dataHeap = param_0->mDataHeap; blockSize2 = 0; if (dataHeap != NULL) { blockSize2 = myGetMemBlockSize0((void*)dataHeap); } - JUTReportConsole_f("%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n", i, getDMCommand(), - archive, header, blockSize1, &mDataHeap, blockSize2, mRes, - getArchiveName()); + JUTReportConsole_f("%2d %08x %08x %08x(%6x) %08x(%5x) %08x %3d %s\n", i, + param_0->getDMCommand(), archive, header, blockSize1, + ¶m_0->mDataHeap, blockSize2, param_0->mRes, param_0->getArchiveName()); } param_0++; } diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp index 0b6e98cbfb..66fad523cc 100644 --- a/src/d/event/d_event.cpp +++ b/src/d/event/d_event.cpp @@ -382,13 +382,6 @@ asm int dEvt_control_c::talkCheck(dEvt_order_c* param_0) { #pragma pop #endif -/* ############################################################################################## */ -/* 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_80379DA3 = "DEFAULT_TALK_XY"; -#pragma pop - /* 80041B58-80041C90 03C498 0138+00 1/1 0/0 0/0 .text * talkXyCheck__14dEvt_control_cFP12dEvt_order_c */ int dEvt_control_c::talkXyCheck(dEvt_order_c* p_order) { diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp index 91faacfcba..982b3d06d9 100644 --- a/src/d/event/d_event_data.cpp +++ b/src/d/event/d_event_data.cpp @@ -805,6 +805,8 @@ SECTION_SDATA2 static f32 lit_4669 = -1.0f; #ifdef NONMATCHING // matches besides floats void dEvDtStaff_c::specialProcSound() { + SoundData* data = (SoundData*)&mData; + int staffId = i_dComIfGp_evmng_getMyStaffId("SOUND", NULL, 0); if (staffId == -1) { return; @@ -843,7 +845,7 @@ void dEvDtStaff_c::specialProcSound() { specialProc_WaitProc(staffId); break; case 'NOMS': - if (mSoundWait <= dDemo_c::getFrameNoMsg()) { + if (data->timer <= dDemo_c::getFrameNoMsg()) { dComIfGp_evmng_cutEnd(staffId); } break; @@ -876,9 +878,9 @@ SECTION_DEAD static char const* const stringBase_80379E65 = "SCALE"; /* 80044CB8-80044EE4 03F5F8 022C+00 1/1 0/0 0/0 .text specialProcCreate__12dEvDtStaff_cFv */ +// matches with literals #ifdef NONMATCHING void dEvDtStaff_c::specialProcCreate() { - // regalloc char* name; u32 arg; cXyz pos; @@ -1097,12 +1099,12 @@ void dEvDtStaff_c::specialProcDirector() { dStage_MapEvent_dt_c* mapEvent = dEvt_control_c::searchMapEventData(data->unk); if (mapEvent != NULL) { if (mapEvent->mType == 0) { - data->mSoundWait = mapEvent->field_0x14; + data->unk2 = mapEvent->field_0x14; } else { - data->mSoundWait = -1; + data->unk2 = -1; } } else { - data->mSoundWait = 0; + data->unk2 = 0; } break; case 'CAST': @@ -1176,9 +1178,9 @@ void dEvDtStaff_c::specialProcDirector() { case 'NEXT': break; case 'VIBR': - if (data->mSoundWait > 0) { - data->mSoundWait--; - if (data->mSoundWait == 0) { + if (data->unk2 > 0) { + data->unk2--; + if (data->unk2 == 0) { dComIfGp_getVibration().StopQuake(0x1F); } } else { @@ -1197,8 +1199,8 @@ void dEvDtStaff_c::specialProcDirector() { } break; case 'MAPT': - data->mSoundWait--; - if (data->mSoundWait <= 0) { + data->unk2--; + if (data->unk2 <= 0) { dComIfGp_evmng_cutEnd(staffId); } break; diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp index 440264d86a..2127d52404 100644 --- a/src/d/event/d_event_manager.cpp +++ b/src/d/event/d_event_manager.cpp @@ -1044,7 +1044,7 @@ void dEvent_manager_c::cutEnd(int cutIndex) { return; } else if (cutIndex == -1) { return; - } else if (field_0x1aa == -1) { + } else if (mCurrentEventCompositId == -1) { return; } else { // instruction swap diff --git a/src/d/kankyo/d_kankyo_rain.cpp b/src/d/kankyo/d_kankyo_rain.cpp index f40ca4158d..b803a409a9 100644 --- a/src/d/kankyo/d_kankyo_rain.cpp +++ b/src/d/kankyo/d_kankyo_rain.cpp @@ -745,10 +745,10 @@ asm void dKyr_rain_move() { static bool d_krain_cut_turn_check() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); - return player != NULL && (player->getCutType() == daPy_py_c::TYPE_CUT_TURN_RIGHT || - player->getCutType() == daPy_py_c::TYPE_CUT_TURN_LEFT || - player->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_LEFT || - player->getCutType() == daPy_py_c::TYPE_CUT_LARGE_TURN_RIGHT); + return player != NULL && (player->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || + player->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT || + player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT || + player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT); } /* ############################################################################################## */ @@ -2027,8 +2027,8 @@ asm void dKyr_evil_draw(f32 (*param_0)[4], u8** param_1) { /* 8006F160-8006F168 069AA0 0008+00 0/0 1/0 0/0 .text getKandelaarFlamePos__9daPy_py_cFv */ -bool daPy_py_c::getKandelaarFlamePos() { - return false; +cXyz* daPy_py_c::getKandelaarFlamePos() { + return NULL; } /* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp index 49368d2616..0665fb820c 100644 --- a/src/d/kankyo/d_kankyo_wether.cpp +++ b/src/d/kankyo/d_kankyo_wether.cpp @@ -533,7 +533,7 @@ SECTION_SDATA2 static u8 lit_4378[4] = { SECTION_SDATA2 static f32 lit_4379 = 1.0f; // remove these once float data is fixed -inline u32 tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, +inline JPABaseEmitter* tmp_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, const GXColor* param_10, @@ -543,7 +543,7 @@ inline u32 tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy param_9, param_10, param_11, lit_4379); } -inline u32 tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2, +inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2, const cXyz* param_3) { return tmp_dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL, NULL, NULL); @@ -920,7 +920,7 @@ static void wether_move_rain() { if (g_env_light.mSnowCount == 0 && cam != NULL) { // Stage is not Fishing Pond - if (strcmp(dComIfGp_getStartStageName(), "R_SP127") || cam->field_0xd8.y > 0.0f) { + if (strcmp(dComIfGp_getStartStageName(), "R_SP127") || cam->mLookat.mEye.y > 0.0f) { if (g_env_light.mRainCount < 125.0f) { mDoAud_rainPlay(FALSE); } else { @@ -1503,14 +1503,14 @@ void dKyw_wether_proc() { if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") || !strcmp(dComIfGp_getStartStageName(), "F_SP127") || (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && - FLOAT_LABEL(lit_4378) != g_env_light.field_0x11d8)) { + FLOAT_LABEL(lit_4378) != g_env_light.mDiceWeatherTime)) { if (!dKy_darkworld_check()) { // Stage is Hyrule Field if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") || g_env_light.mDaytime >= 75.0f || g_env_light.mDaytime <= 120.0f) { // Stage is Hyrule Field if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && - g_env_light.field_0x12c9 >= 1 && g_env_light.field_0x12c9 < 6) { + g_env_light.mDiceWeatherMode >= 1 && g_env_light.mDiceWeatherMode < 6) { dKy_get_dayofweek(); cLib_addCalc(&g_env_light.field_0xebc, lit_4379, lit_5362, lit_5363, lit_4770); g_env_light.mMoyaMode = 7; diff --git a/src/d/meter/d_meter2.cpp b/src/d/meter/d_meter2.cpp index b613f96843..aa60e21eb6 100644 --- a/src/d/meter/d_meter2.cpp +++ b/src/d/meter/d_meter2.cpp @@ -324,10 +324,10 @@ int dMeter2_c::_create() { mMaxMagic = dComIfGs_getMaxMagic(); - mNowOil = dComIfGs_getOil(); + mNowOil = (s16)dComIfGs_getOil(); dComIfGp_setItemNowOil(mNowOil); - mMaxOil = dComIfGs_getMaxOil(); + mMaxOil = (s16)dComIfGs_getMaxOil(); mNowOxygen = dComIfGp_getOxygen(); dComIfGp_setNowOxygen(mNowOxygen); diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index befe696a0e..a743aa3910 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -1812,7 +1812,7 @@ SECTION_SDATA2 static u32 lit_5199 = 0xFFFFFFFF; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm u32 dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2, +asm JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2, dKy_tevstr_c const* param_3, csXyz const* param_4, cXyz const* param_5, u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, _GXColor const* param_9, _GXColor const* param_10, cXyz const* param_11, diff --git a/src/d/save/d_save.cpp b/src/d/save/d_save.cpp index 2f653a457d..37014fdffc 100644 --- a/src/d/save/d_save.cpp +++ b/src/d/save/d_save.cpp @@ -242,8 +242,8 @@ void dSv_player_status_a_c::init() { unk10 = 0; for (int i = 0; i < MAX_SELECT_ITEM; i++) { - mSelectItem[i] = NO_ITEM; - mMixItem[i] = NO_ITEM; + mSelectItem[i] = 0xFF; + mMixItem[i] = 0xFF; dComIfGp_setSelectItem(i); } @@ -268,9 +268,9 @@ void dSv_player_status_a_c::init() { } } -void dSv_player_status_a_c::setSelectItemIndex(int i_no, u8 item_index) { +void dSv_player_status_a_c::setSelectItemIndex(int i_no, u8 i_slotNo) { if (i_no < MAX_SELECT_ITEM) { - mSelectItem[i_no] = item_index; + mSelectItem[i_no] = i_slotNo; } } @@ -281,9 +281,9 @@ u8 dSv_player_status_a_c::getSelectItemIndex(int i_no) const { return 0; } -void dSv_player_status_a_c::setMixItemIndex(int i_no, u8 item_index) { +void dSv_player_status_a_c::setMixItemIndex(int i_no, u8 i_slotNo) { if (i_no < MAX_SELECT_ITEM) { - mMixItem[i_no] = item_index; + mMixItem[i_no] = i_slotNo; } } @@ -312,6 +312,7 @@ BOOL dSv_player_status_a_c::isMagicFlag(u8 i_magic) const { if (i_magic == 0) { return i_dComIfGs_isEventBit(0x2304); // Magic Unlocked } + return (mMagicFlag & (u8)(1 << i_magic)) ? TRUE : FALSE; } @@ -423,7 +424,7 @@ void dSv_player_last_mark_info_c::init() { } void dSv_player_last_mark_info_c::setWarpItemData(const char* i_name, const cXyz& i_pos, - s16 i_angle, s8 i_roomNo, u8 unk1, u8 unk2) { + s16 i_angle, s8 i_roomNo, u8, u8) { strcpy(mName, i_name); mPos.set(i_pos); mAngleY = i_angle; @@ -437,25 +438,25 @@ void dSv_player_item_c::init() { } } -void dSv_player_item_c::setItem(int item_slot, u8 i_itemNo) { - if (item_slot < MAX_ITEM_SLOTS) { - mItems[item_slot] = i_itemNo; +void dSv_player_item_c::setItem(int i_slotNo, u8 i_itemNo) { + if (i_slotNo < MAX_ITEM_SLOTS) { + mItems[i_slotNo] = i_itemNo; setLineUpItem(); } for (int i = DEFAULT_SELECT_ITEM_INDEX; i < MAX_SELECT_ITEM - 1; i++) { - if (item_slot == dComIfGs_getSelectItemIndex(i)) { + if (i_slotNo == dComIfGs_getSelectItemIndex(i)) { dComIfGp_setSelectItem(i); } } } -u8 dSv_player_item_c::getItem(int slot_no, bool check_combo) const { - if (slot_no < MAX_ITEM_SLOTS) { - if (check_combo) { +u8 dSv_player_item_c::getItem(int i_slotNo, bool i_checkCombo) const { + if (i_slotNo < MAX_ITEM_SLOTS) { + if (i_checkCombo) { for (int i = 0; i < SELECT_ITEM_NUM; i++) { - if ((slot_no == dComIfGs_getSelectItemIndex(i) || - slot_no == dComIfGs_getMixItemIndex(i)) && + if ((i_slotNo == dComIfGs_getSelectItemIndex(i) || + i_slotNo == dComIfGs_getMixItemIndex(i)) && dComIfGs_getMixItemIndex(i) != NO_ITEM) { u8 select_item = mItems[dComIfGs_getSelectItemIndex(i)]; u8 mix_item = mItems[dComIfGs_getMixItemIndex(i)]; @@ -516,14 +517,16 @@ u8 dSv_player_item_c::getItem(int slot_no, bool check_combo) const { } } } - return mItems[slot_no]; + return mItems[i_slotNo]; } return NO_ITEM; } -static u8 i_item_lst[23] = {0x0A, 0x08, 0x06, 0x02, 0x09, 0x04, 0x03, 0x00, 0x01, 0x17, 0x14, 0x05, - 0x0F, 0x10, 0x11, 0x0B, 0x0C, 0x0D, 0x0E, 0x13, 0x12, 0x16, 0x15}; +static u8 i_item_lst[23] = { + 0x0A, 0x08, 0x06, 0x02, 0x09, 0x04, 0x03, 0x00, 0x01, 0x17, 0x14, 0x05, + 0x0F, 0x10, 0x11, 0x0B, 0x0C, 0x0D, 0x0E, 0x13, 0x12, 0x16, 0x15, +}; /* 800332F8-80033354 02DC38 005C+00 2/2 0/0 0/0 .text setLineUpItem__17dSv_player_item_cFv */ // this is close @@ -554,10 +557,11 @@ asm void dSv_player_item_c::setLineUpItem() { #pragma pop #endif -u8 dSv_player_item_c::getLineUpItem(int slot_no) const { - if (slot_no < MAX_ITEM_SLOTS) { - return mItemSlots[slot_no]; +u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const { + if (i_slotNo < MAX_ITEM_SLOTS) { + return mItemSlots[i_slotNo]; } + return NO_ITEM; } @@ -771,13 +775,13 @@ u8 dSv_player_item_c::checkEmptyBottle() { return bottleNum; } -void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum) { +void dSv_player_item_c::setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, bool i_setNum) { for (int i = 0; i < 3; i++) { - if (curBomb == mItems[i + SLOT_15]) { - setItem(i + SLOT_15, newBomb); + if (i_curBomb == mItems[i + SLOT_15]) { + setItem(i + SLOT_15, i_newBomb); - if (setNum == true && newBomb != BOMB_BAG_LV1) { - dComIfGs_setBombNum(i, dComIfGs_getBombMax(newBomb)); + if (i_setNum == true && i_newBomb != BOMB_BAG_LV1) { + dComIfGs_setBombNum(i, dComIfGs_getBombMax(i_newBomb)); } for (int j = 0; j < 3; j++) { @@ -790,16 +794,16 @@ void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, bool setNum) { } } -void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, bool setNum) { +void dSv_player_item_c::setBombBagItemIn(u8 i_curBomb, u8 i_newBomb, u8 i_bombNum, bool i_setNum) { for (int i = 0; i < 3; i++) { - if (curBomb == mItems[i + SLOT_15]) { - setItem(i + SLOT_15, newBomb); + if (i_curBomb == mItems[i + SLOT_15]) { + setItem(i + SLOT_15, i_newBomb); - if (setNum == 1 && newBomb != BOMB_BAG_LV1) { - if (bombNum > dComIfGs_getBombMax(newBomb)) { - bombNum = dComIfGs_getBombMax(newBomb); + if (i_setNum == 1 && i_newBomb != BOMB_BAG_LV1) { + if (i_bombNum > dComIfGs_getBombMax(i_newBomb)) { + i_bombNum = dComIfGs_getBombMax(i_newBomb); } - dComIfGs_setBombNum(i, bombNum); + dComIfGs_setBombNum(i, i_bombNum); } for (int j = 0; j < 3; j++) { @@ -812,12 +816,12 @@ void dSv_player_item_c::setBombBagItemIn(u8 curBomb, u8 newBomb, u8 bombNum, boo } } -void dSv_player_item_c::setEmptyBombBagItemIn(u8 newBomb, bool setNum) { - setBombBagItemIn(BOMB_BAG_LV1, newBomb, setNum); +void dSv_player_item_c::setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum) { + setBombBagItemIn(BOMB_BAG_LV1, i_newBomb, i_setNum); } -void dSv_player_item_c::setEmptyBombBagItemIn(u8 newBomb, u8 bombNum, bool setNum) { - setBombBagItemIn(BOMB_BAG_LV1, newBomb, bombNum, setNum); +void dSv_player_item_c::setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum) { + setBombBagItemIn(BOMB_BAG_LV1, i_newBomb, i_bombNum, i_setNum); } void dSv_player_item_c::setEmptyBombBag() { @@ -829,20 +833,20 @@ void dSv_player_item_c::setEmptyBombBag() { } } -void dSv_player_item_c::setEmptyBombBag(u8 newBomb, u8 bombNum) { +void dSv_player_item_c::setEmptyBombBag(u8 i_newBomb, u8 i_bombNum) { for (int i = 0; i < 3; i++) { if (dComIfGs_getItem((u8)(i + SLOT_15), true) == NO_ITEM) { - dComIfGs_setItem((u8)(i + SLOT_15), newBomb); + dComIfGs_setItem((u8)(i + SLOT_15), i_newBomb); - if (newBomb == BOMB_BAG_LV1) { + if (i_newBomb == BOMB_BAG_LV1) { return; } - if (bombNum > dComIfGs_getBombMax(newBomb)) { - bombNum = dComIfGs_getBombMax(newBomb); + if (i_bombNum > dComIfGs_getBombMax(i_newBomb)) { + i_bombNum = dComIfGs_getBombMax(i_newBomb); } - dComIfGs_setBombNum(i, bombNum); + dComIfGs_setBombNum(i, i_bombNum); return; } } @@ -895,17 +899,17 @@ void dSv_player_item_c::setBaitItem(u8 i_itemNo) { switch (i_itemNo) { case BEE_CHILD: { i_dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_BEE_ROD : - mItems[SLOT_20] = BEE_ROD; + mItems[SLOT_20] = BEE_ROD; break; } case WORM: { i_dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_WORM_ROD : - mItems[SLOT_20] = WORM_ROD; + mItems[SLOT_20] = WORM_ROD; break; } case NO_ITEM: { i_dComIfGs_isItemFirstBit(ZORAS_JEWEL) ? mItems[SLOT_20] = JEWEL_ROD : - mItems[SLOT_20] = FISHING_ROD_1; + mItems[SLOT_20] = FISHING_ROD_1; break; } } @@ -922,41 +926,19 @@ void dSv_player_get_item_c::init() { } /* 80033E60-80033E94 02E7A0 0034+00 0/0 3/3 1/1 .text onFirstBit__21dSv_player_get_item_cFUc */ -// this is a few instructions off -#ifdef NONMATCHING void dSv_player_get_item_c::onFirstBit(u8 i_itemNo) { - mItemFlags[i_itemNo >> 5] |= (1 << (i_itemNo & 0x1F)); + mItemFlags[i_itemNo / 32] |= (1 << (i_itemNo % 32)); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSv_player_get_item_c::onFirstBit(u8 i_itemNo) { - nofralloc -#include "asm/d/save/d_save/onFirstBit__21dSv_player_get_item_cFUc.s" -} -#pragma pop -#endif /* 80033E94-80033EC8 02E7D4 0034+00 0/0 7/7 1/1 .text offFirstBit__21dSv_player_get_item_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSv_player_get_item_c::offFirstBit(u8 i_itemNo) { - nofralloc -#include "asm/d/save/d_save/offFirstBit__21dSv_player_get_item_cFUc.s" +void dSv_player_get_item_c::offFirstBit(u8 i_itemNo) { + mItemFlags[i_itemNo / 32] &= ~(1 << (i_itemNo % 32)); } -#pragma pop /* 80033EC8-80033F00 02E808 0038+00 4/4 87/87 2/2 .text isFirstBit__21dSv_player_get_item_cCFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dSv_player_get_item_c::isFirstBit(u8 i_itemNo) const { - nofralloc -#include "asm/d/save/d_save/isFirstBit__21dSv_player_get_item_cCFUc.s" +int dSv_player_get_item_c::isFirstBit(u8 i_itemNo) const { + return mItemFlags[i_itemNo / 32] & (1 << (i_itemNo % 32)) ? TRUE : FALSE; } -#pragma pop void dSv_player_item_record_c::init() { mArrowNum = 0; @@ -976,20 +958,20 @@ void dSv_player_item_record_c::init() { } } -void dSv_player_item_record_c::setBombNum(u8 i_bagIdx, u8 bag_id) { - mBombNum[i_bagIdx] = bag_id; +void dSv_player_item_record_c::setBombNum(u8 i_bagIdx, u8 i_bombNum) { + mBombNum[i_bagIdx] = i_bombNum; } u8 dSv_player_item_record_c::getBombNum(u8 i_bagIdx) const { return mBombNum[i_bagIdx]; } -void dSv_player_item_record_c::setBottleNum(u8 i_bottleIdx, u8 bottle_num) { - mBottleNum[i_bottleIdx] = bottle_num; +void dSv_player_item_record_c::setBottleNum(u8 i_bottleIdx, u8 i_bottleNum) { + mBottleNum[i_bottleIdx] = i_bottleNum; } -u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 num) { - int bottleNum = mBottleNum[i_bottleIdx] + num; +u8 dSv_player_item_record_c::addBottleNum(u8 i_bottleIdx, s16 i_no) { + int bottleNum = mBottleNum[i_bottleIdx] + i_no; dComIfGs_getItem((u8)(i_bottleIdx + SLOT_11), true); @@ -1018,27 +1000,27 @@ void dSv_player_item_max_c::init() { mItemMax[7] = 0; } -void dSv_player_item_max_c::setBombNum(u8 bomb_id, u8 bomb_max) { - switch (bomb_id) { +void dSv_player_item_max_c::setBombNum(u8 i_bombType, u8 i_maxNum) { + switch (i_bombType) { case NORMAL_BOMB: - mItemMax[NORMAL_BOMB_MAX] = bomb_max; + mItemMax[NORMAL_BOMB_MAX] = i_maxNum; return; case WATER_BOMB: - mItemMax[WATER_BOMB_MAX] = bomb_max; + mItemMax[WATER_BOMB_MAX] = i_maxNum; return; case POKE_BOMB: - mItemMax[POKE_BOMB_MAX] = bomb_max; + mItemMax[POKE_BOMB_MAX] = i_maxNum; return; } } -u8 dSv_player_item_max_c::getBombNum(u8 bombId) const { +u8 dSv_player_item_max_c::getBombNum(u8 i_bombType) const { u8 lv_multiplier = 1; if (i_dComIfGs_isItemFirstBit(BOMB_BAG_LV2)) { lv_multiplier = 2; } - switch (bombId) { + switch (i_bombType) { case NORMAL_BOMB: return (u8)(mItemMax[NORMAL_BOMB_MAX] * lv_multiplier); case WATER_BOMB: @@ -1106,9 +1088,9 @@ void dSv_light_drop_c::init() { } } -void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 dropNum) { +void dSv_light_drop_c::setLightDropNum(u8 i_nowLevel, u8 i_dropNum) { if (i_nowLevel < LIGHT_DROP_STAGE || i_nowLevel > 6) { - mLightDropNum[i_nowLevel] = dropNum; + mLightDropNum[i_nowLevel] = i_dropNum; } } @@ -1166,9 +1148,9 @@ void dSv_fishing_info_c::init() { } } -void dSv_fishing_info_c::addFishCount(u8 fish_index) { - if (mFishCount[fish_index] < 999) { - mFishCount[fish_index] += 1; +void dSv_fishing_info_c::addFishCount(u8 i_fishIdx) { + if (mFishCount[i_fishIdx] < 999) { + mFishCount[i_fishIdx] += 1; } } @@ -1319,7 +1301,7 @@ void dSv_memBit_c::onDungeonItem(int i_no) { } s32 dSv_memBit_c::isDungeonItem(int i_no) const { - return mDungeonItem & (u8)(1 << i_no) ? 1 : 0; + return mDungeonItem & (u8)(1 << i_no) ? TRUE : FALSE; } void dSv_event_c::init() { @@ -1384,15 +1366,15 @@ BOOL dSv_memory2_c::isVisitedRoom(int i_no) { return (1 << (i_no & 0x1F) & mVisitedRoom[i_no >> 5]) ? TRUE : FALSE; } -bool dSv_danBit_c::init(s8 i_stage) { - if (i_stage != mStageNo) { +bool dSv_danBit_c::init(s8 i_stageNo) { + if (i_stageNo != mStageNo) { mSwitch[0] = 0; mSwitch[1] = 0; mItem[0] = 0; mItem[1] = 0; mItem[2] = 0; mItem[3] = 0; - mStageNo = i_stage; + mStageNo = i_stageNo; unk1 = 0; for (int i = 0; i < 16; i++) { @@ -1921,8 +1903,7 @@ int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) { - nofralloc +asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum){nofralloc #include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s" } #pragma pop diff --git a/src/f_op/f_op_actor.cpp b/src/f_op/f_op_actor.cpp index 8da6d9f2db..cca5d65420 100644 --- a/src/f_op/f_op_actor.cpp +++ b/src/f_op/f_op_actor.cpp @@ -299,7 +299,7 @@ static int fopAc_Create(void* actor) { fopAcM_SetParam(ac, append->mParameter); ac->orig.pos = append->mPos; ac->orig.angle = append->mAngle; - ac->mCollisionRot = append->mAngle; + ac->shape_angle = 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); diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 816a2a1f71..24d07bdcb8 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -752,9 +752,14 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) { /* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */ void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) { - p_actor->current.pos += p_actor->mSpeed; + p_actor->current.pos.x += p_actor->mSpeed.x; + p_actor->current.pos.y += p_actor->mSpeed.y; + p_actor->current.pos.z += p_actor->mSpeed.z; + if (p_movePos != NULL) { - p_actor->current.pos += *p_movePos; + p_actor->current.pos.x += p_movePos->x; + p_actor->current.pos.y += p_movePos->y; + p_actor->current.pos.z += p_movePos->z; } } @@ -816,7 +821,7 @@ asm s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p s32 fopAcM_seenActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { return abs(static_cast( cLib_targetAngleY(&p_actorA->current.pos, &p_actorB->current.pos) - - p_actorA->mCollisionRot.y)); + p_actorA->shape_angle.y)); } /* ############################################################################################## */ @@ -1747,7 +1752,7 @@ void* enemySearchJugge(void* p_actor, void* p_data) { /* 8001CA1C-8001CAD8 01735C 00BC+00 0/0 0/0 6/6 .text fopAcM_myRoomSearchEnemy__FSc */ #ifdef NONMATCHING -void fopAcM_myRoomSearchEnemy(s8 roomNo) { +fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) { int procID = dStage_roomControl_c::getStatusProcID(roomNo); scene_class* roomProc = fopScnM_SearchByID(procID); @@ -1807,8 +1812,8 @@ void fopAcM_cancelCarryNow(fopAc_ac_c* p_actor) { } } - p_actor->mCollisionRot.z = 0; - p_actor->mCollisionRot.x = 0; + p_actor->shape_angle.z = 0; + p_actor->shape_angle.x = 0; if (i_dComIfGp_event_runCheck() && fopAcM_GetGroup(p_actor) != 2) { p_actor->mStatus |= 0x800; @@ -1879,7 +1884,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { tmp0 = param_0->current.pos; tmp0.y += param_2; - mDoMtx_YrotS((MtxP)calc_mtx, param_0->mCollisionRot.y); + mDoMtx_YrotS((MtxP)calc_mtx, param_0->shape_angle.y); tmp1.x = FLOAT_LABEL(lit_4645); tmp1.y = 50.0f; @@ -1899,7 +1904,7 @@ s32 fopAcM_wayBgCheck(fopAc_ac_c const* param_0, f32 param_1, f32 param_2) { /* 8001CFD8-8001D020 017918 0048+00 0/0 0/0 2/2 .text fopAcM_plAngleCheck__FPC10fopAc_ac_cs */ s32 fopAcM_plAngleCheck(fopAc_ac_c const* p_actor, s16 i_angle) { - s16 angle = p_actor->mCollisionRot.y - dComIfGp_getPlayer(0)->mCollisionRot.y; + s16 angle = p_actor->shape_angle.y - dComIfGp_getPlayer(0)->shape_angle.y; if (angle <= i_angle && angle >= (s16)-i_angle) { return 0; } @@ -2021,7 +2026,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) { tmp0 = player->current.pos; tmp0.y = param_0->current.pos.y; - mDoMtx_YrotS((MtxP)calc_mtx, player->mCollisionRot.y); + mDoMtx_YrotS((MtxP)calc_mtx, player->shape_angle.y); tmp1.x = FLOAT_LABEL(lit_4645); tmp1.y = param_0->current.pos.y - player->current.pos.y; @@ -2150,7 +2155,7 @@ fopAc_ac_c* fopAcM_findObject4EventCB(fopAc_ac_c* p_actor, void* p_data) { #ifdef NONMATCHING fopAc_ac_c* fopAcM_searchFromName4Event(char const* name, s16 eventID) { fopAcM_search4ev_prm prm; - prm.field_0x1e = eventID; + prm.mEventID = eventID; strcpy(prm.mName, name); char* chr = strchr(prm.mName, ':'); @@ -2229,7 +2234,7 @@ 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 */ void fpoAcM_relativePos(fopAc_ac_c const* actor, cXyz const* p_inPos, cXyz* p_outPos) { - s16 angle = -actor->mCollisionRot.y; + s16 angle = -actor->shape_angle.y; cXyz pos = *p_inPos - actor->current.pos; p_outPos->x = (pos.z * cM_ssin(angle)) + (pos.x * cM_scos(angle)); diff --git a/src/init.c b/src/init.c index aa86ff38d1..f7e09b8a94 100644 --- a/src/init.c +++ b/src/init.c @@ -15,7 +15,7 @@ SECTION_INIT void __check_pad3(); SECTION_INIT void __set_debug_bba(); SECTION_INIT u8 __get_debug_bba(); SECTION_INIT void __start(); -SECTION_INIT void __init_registers(); +SECTION_INIT void __init_registers(void); SECTION_INIT void __init_data(); SECTION_INIT void __init_hardware(); SECTION_INIT void __flush_cache(); @@ -57,14 +57,48 @@ extern void* _SDA2_BASE_; extern void* _SDA_BASE_; /* 800032B0-80003340 0001B0 0090+00 1/1 0/0 0/0 .init __init_registers */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -SECTION_INIT asm void __init_registers() { +SECTION_INIT asm void __init_registers(void) { + // clang-format off nofralloc -#include "asm/init/__init_registers.s" + + li r0, 0 + li r3, 0 + li r4, 0 + li r5, 0 + li r6, 0 + li r7, 0 + li r8, 0 + li r9, 0 + li r10, 0 + li r11, 0 + li r12, 0 + li r14, 0 + li r15, 0 + li r16, 0 + li r17, 0 + li r18, 0 + li r19, 0 + li r20, 0 + li r21, 0 + li r22, 0 + li r23, 0 + li r24, 0 + li r25, 0 + li r26, 0 + li r27, 0 + li r28, 0 + li r29, 0 + li r30, 0 + li r31, 0 + lis r1, _stack_end+0x1000@h + ori r1, r1, _stack_end+0x1000@l + lis r2, _SDA2_BASE_@h + ori r2, r2, _SDA2_BASE_@l + lis r13, _SDA_BASE_@h + ori r13, r13, _SDA_BASE_@l + blr + // clang-format on } -#pragma pop /* 80003340-80003400 000240 00C0+00 1/1 0/0 1/1 .init __init_data */ #pragma push @@ -77,24 +111,45 @@ SECTION_INIT asm void __init_data() { #pragma pop /* 80003400-80003424 000300 0024+00 1/1 0/0 0/0 .init __init_hardware */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off SECTION_INIT asm void __init_hardware() { + // clang-format off nofralloc -#include "asm/init/__init_hardware.s" + + mfmsr r0 + ori r0, r0, 0x2000 + mtmsr r0 + mflr r31 + bl __OSPSInit + bl __OSFPRInit + bl __OSCacheInit + mtlr r31 + blr + // clang-format on } -#pragma pop /* 80003424-80003458 000324 0034+00 1/1 0/0 0/0 .init __flush_cache */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off SECTION_INIT asm void __flush_cache() { + // clang-format off nofralloc -#include "asm/init/__flush_cache.s" + + lis r5, 0xFFFF + ori r5, r5, 0xFFF1 + and r5, r5, r3 + subf r3, r5, r3 + add r4, r4, r3 + +lbl_80003438: + dcbst 0, r5 + sync + icbi 0, r5 + addic r5, r5, 8 + addic. r4, r4, -8 + bge lbl_80003438 + + isync + blr + // clang-format on } -#pragma pop /* 80003458-80003488 000358 0030+00 1/1 55/55 137/137 .init memset */ SECTION_INIT void* memset(void* dst, int val, size_t n) { diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index c4b624f3f8..5ebac9d7d8 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -45,7 +45,7 @@ static u8 sTmpBuf[0x4000]; /* 80017498-8001769C 011DD8 0204+00 0/0 1/1 0/0 .text mDoMemCdRWm_Store__FP12CARDFileInfoPvUl */ #ifdef NONMATCHING -void mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) { +s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) { mDoMemCdRWm_BuildHeader((mDoMemCdRWm_HeaderData*)sTmpBuf); s32 card_state = CARDWrite(file, sTmpBuf, sizeof(sTmpBuf), 0); @@ -153,14 +153,15 @@ static asm BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* param_0) { #pragma pop /* 80017C74-80017CB4 0125B4 0040+00 1/1 0/0 0/0 .text mDoMemCdRWm_CalcCheckSum__FPvUl */ -// matches except regalloc in the beginning -#ifdef NONMATCHING static u32 mDoMemCdRWm_CalcCheckSum(void* data, u32 size) { - u16 high = 0; - u16 low = 0; + u16 high; + u16 low; + low = 0; + high = 0; + u16* d = (u16*)data; - for (int i = 0; i < size / 2; i++) { + for (int i = 0; i < size / 2; i++) { high += *d; low += ~*d; d++; @@ -168,23 +169,14 @@ static u32 mDoMemCdRWm_CalcCheckSum(void* data, u32 size) { return high << 16 | low; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm u32 mDoMemCdRWm_CalcCheckSum(void* param_0, u32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSum__FPvUl.s" -} -#pragma pop -#endif /* 80017CB4-80017CEC 0125F4 0038+00 2/2 0/0 0/0 .text mDoMemCdRWm_CalcCheckSumGameData__FPvUl */ -// same beginning regalloc issue -#ifdef NONMATCHING static u64 mDoMemCdRWm_CalcCheckSumGameData(void* data, u32 size) { - u32 high = 0; - u32 low = 0; + u32 high; + u32 low; + + low = 0; + high = 0; u8* d = (u8*)data; for (int i = 0; i < size; i++) { @@ -195,16 +187,6 @@ static u64 mDoMemCdRWm_CalcCheckSumGameData(void* data, u32 size) { return (u64)high << 32 | low; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm u64 mDoMemCdRWm_CalcCheckSumGameData(void* param_0, u32 param_1) { - nofralloc -#include "asm/m_Do/m_Do_MemCardRWmng/mDoMemCdRWm_CalcCheckSumGameData__FPvUl.s" -} -#pragma pop -#endif /* 80017CEC-80017D38 01262C 004C+00 1/1 4/4 0/0 .text mDoMemCdRWm_TestCheckSumGameData__FPv */ BOOL mDoMemCdRWm_TestCheckSumGameData(void* data) { diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 598ee0a5ea..f7df99c6e7 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -462,7 +462,7 @@ int mDoGph_AfterOfDraw() { JUTDbPrint::getManager()->setVisible(true); } else { int sysConsole_visible = JFWSystem::getSystemConsole()->isVisible(); - int port3_connected = mDoCPd_c::isConnect(mDoCPd_c::PAD_2); + int port3_connected = mDoCPd_c::isConnect(PAD_3); BOOL procBar_visible = port3_connected && fapGmHIO_getMeter() && !sysConsole_visible; BOOL console_visible = port3_connected && fapGmHIO_isPrint(); @@ -487,7 +487,7 @@ int mDoGph_AfterOfDraw() { GXSetCoPlanar(GX_DISABLE); GXSetZTexture(GX_ZT_DISABLE, GX_TF_Z8, 0); GXSetDither(GX_ENABLE); - GXSetClipMode(GX_DISABLE); + GXSetClipMode(GX_CLIP_ENABLE); GXSetCullMode(GX_CULL_NONE); JUTVideo::getManager()->setRenderMode(mDoMch_render_c::getRenderModeObj()); mDoGph_gInf_c::endFrame(); diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 6c1d3df034..7ea5a81a24 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -669,13 +669,13 @@ int mDoMch_Create() { JKRHeap::setDefaultDebugFill(mDebugFill); JFWSystem::setMaxStdHeap(1); - u32 arenaHi = OSGetArenaHi(); - u32 arenaLo = OSGetArenaLo(); + u32 arenaHi = (u32)OSGetArenaHi(); + u32 arenaLo = (u32)OSGetArenaLo(); if (arenaHi > 0x81800000 && arenaHi - 0x1800000 > arenaLo) { - OSSetArenaHi(arenaHi - 0x1800000); + OSSetArenaHi((void*)(arenaHi - 0x1800000)); } - u32 arenaSize = (OSGetArenaHi() - OSGetArenaLo()) - 0xF0; + u32 arenaSize = ((u32)OSGetArenaHi() - (u32)OSGetArenaLo()) - 0xF0; my_PrintHeap("アリーナ", arenaSize); if (mDoMain::memMargin != -1) { diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 844e00aeb1..5cd9a893aa 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -9,6 +9,7 @@ #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTReport.h" +#include "c/c_dylink.h" #include "d/com/d_com_inf_game.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -24,26 +25,7 @@ // Forward References: // -extern "C" void version_check__Fv(); -extern "C" void CheckHeap1__9HeapCheckFv(); -extern "C" static void CheckHeap__FUl(); -extern "C" static void countUsed__FP10JKRExpHeap(); -extern "C" void getUsedCount__9HeapCheckCFv(); -extern "C" void heapDisplay__9HeapCheckCFv(); -extern "C" static void debugDisplay__Fv(); -extern "C" static void Debug_console__FUl(); -extern "C" void* LOAD_COPYDATE__FPv(); -extern "C" static void debug__Fv(); -extern "C" static void main01__Fv(); -extern "C" void main(); -extern "C" bool dump_sort__7JKRHeapFv(); -extern "C" void __sinit_m_Do_main_cpp(); extern "C" extern char const* const m_Do_m_Do_main__stringBase0; -extern "C" u8 COPYDATE_STRING__7mDoMain[18 + 2 /* padding */]; -extern "C" u32 memMargin__7mDoMain; -extern "C" u8 sPowerOnTime__7mDoMain[4]; -extern "C" u8 sHungUpTime__7mDoMain[4]; -extern "C" s8 developmentMode__7mDoMain; extern "C" extern u8 data_80450B38[4]; extern "C" extern u8 data_80450B3C[4]; extern "C" extern u8 data_80450B40[4]; @@ -71,59 +53,8 @@ extern "C" extern u8 data_80450B90[4 + 4 /* padding */]; // External References: // -extern "C" void OSReportInit__Fv(); -extern "C" void mDoAud_Execute__Fv(); -extern "C" void create__8mDoCPd_cFv(); -extern "C" void read__8mDoCPd_cFv(); -extern "C" void mDoGph_Create__Fv(); -extern "C" void mDoMch_HeapCheckAll__Fv(); -extern "C" void mDoMch_Create__Fv(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_getZeldaHeap__Fv(); -extern "C" void mDoExt_getCommandHeap__Fv(); -extern "C" void mDoExt_getArchiveHeap__Fv(); -extern "C" void mDoExt_getJ2dHeap__Fv(); -extern "C" void mDoExt_getHostIOHeap__Fv(); -extern "C" void create__20mDoDvdThd_callback_cFPFPv_PvPv(); -extern "C" void update__15mDoMemCd_Ctrl_cFv(); -extern "C" void cDyl_InitAsync__Fv(); -extern "C" void fapGm_Execute__Fv(); -extern "C" void fapGm_Create__Fv(); -extern "C" void fopAcM_initManager__Fv(); -extern "C" void ct__13dComIfG_inf_cFv(); extern "C" void dump__14dRes_control_cFv(); extern "C" void dump__24DynamicModuleControlBaseFv(); -extern "C" void getFreeSize__7JKRHeapFv(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void getTotalUsedSize__10JKRExpHeapCFv(); -extern "C" void create__12JKRSolidHeapFUlP7JKRHeapb(); -extern "C" void getFreeSize__11JKRAramHeapFv(); -extern "C" void getTotalFreeSize__11JKRAramHeapFv(); -extern "C" void dump__11JKRAramHeapFv(); -extern "C" void JUTReport__FiiPCce(); -extern "C" void JUTReport__FiiiPCce(); -extern "C" void setMessageCount__12JUTAssertionFi(); -extern "C" void clear__10JUTConsoleFv(); -extern "C" void dumpToTerminal__10JUTConsoleFUi(); -extern "C" void scroll__10JUTConsoleFi(); -extern "C" void getLineOffset__10JUTConsoleCFv(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" u8 m_gamePad__8mDoCPd_c[16]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" extern JKRSolidHeap* g_mDoAud_audioHeap; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 systemConsole__9JFWSystem[4]; -extern "C" u8 sSystemHeap__7JKRHeap[4]; -extern "C" u8 sCurrentHeap__7JKRHeap[4]; -extern "C" u8 sRootHeap__7JKRHeap[4]; -extern "C" u8 sAramObject__7JKRAram[4]; // // Declarations: @@ -299,7 +230,7 @@ OSTime mDoMain::sHungUpTime; /* 80450B18 0001+00 data_80450B18 None */ /* 80450B19 0001+00 data_80450B19 None */ /* 80450B1A 0002+00 data_80450B1A None */ -static bool mDisplayHeapSize; // sDisplayHeapDebug +static bool mDisplayHeapSize; static u8 sDisplayHeap; static bool sCheckHeap; @@ -477,40 +408,21 @@ bool Debug_console(u32 i_padNo) { return 0; } -/* ############################################################################################## */ -/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80373C23 = "/str/Final/Release/COPYDATE"; -#pragma pop - /* 8000614C-800061C8 000A8C 007C+00 1/1 0/0 0/0 .text LOAD_COPYDATE__FPv */ -#ifdef NONMATCHING s32 LOAD_COPYDATE(void*) { s32 status; - u8 buffer[32]; - u8 fileInfo[80]; - // DVDFileInfo fileInfo; - status = DVDOpen("/str/Final/Release/COPYDATE", (DVDFileInfo*)&fileInfo); + DVDFileInfo __attribute__((aligned(0x20))) fileInfo; + u8 buffer[0x20]; + status = DVDOpen("/str/Final/Release/COPYDATE", &fileInfo); if (status) { - DVDReadPrio((DVDFileInfo*)fileInfo, &buffer, 32, 0, 2); + DVDReadPrio(&fileInfo, &buffer, 32, 0, 2); memcpy(mDoMain::COPYDATE_STRING, buffer, 17); - status = DVDClose((DVDFileInfo*)fileInfo); + status = DVDClose(&fileInfo); } return status; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* LOAD_COPYDATE(void* param_0) { - nofralloc -#include "asm/m_Do/m_Do_main/LOAD_COPYDATE__FPv.s" -} -#pragma pop -#endif static void debug() { if (mDoMain::developmentMode) { @@ -537,15 +449,11 @@ static void debug() { } } -/* ############################################################################################## */ -/* 80450B34-80450B38 000034 0004+00 1/1 0/0 0/0 .sbss frame$3939 */ -static u32 frame; - /* 8000628C-80006454 000BCC 01C8+00 1/1 0/0 0/0 .text main01__Fv */ -// only issue is output check section with weird code gen -#ifdef NONMATCHING void main01(void) { - mDoMch_Create__Fv(); + static u32 frame; + + mDoMch_Create(); mDoGph_Create(); mDoCPd_c::create(); @@ -590,26 +498,22 @@ void main01(void) { } JUTConsole* console = JFWSystem::getSystemConsole(); - s32 output = 0; - if (mDoMain::developmentMode != 0) { - output = JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE; - } - - console->setOutput(output); + console->setOutput(mDoMain::developmentMode ? JUTConsole::OUTPUT_OSR_AND_CONSOLE : + JUTConsole::OUTPUT_NONE); console->setPosition(32, 42); - mDoDvdThd_callback_c::create(LOAD_COPYDATE, NULL); - fapGm_Create__Fv(); - fopAcM_initManager__Fv(); + mDoDvdThd_callback_c::create((mDoDvdThd_callback_func)LOAD_COPYDATE, NULL); + fapGm_Create(); + fopAcM_initManager(); mDisplayHeapSize = 0; - cDyl_InitAsync__Fv(); + cDyl_InitAsync(); g_mDoAud_audioHeap = JKRSolidHeap::create(0x14D800, JKRHeap::getCurrentHeap(), false); do { frame++; if (fillcheck_check_frame != 0 && frame % fillcheck_check_frame == 0) { - mDoMch_HeapCheckAll__Fv(); + mDoMch_HeapCheckAll(); } if (SyncWidthSound) { @@ -617,21 +521,11 @@ void main01(void) { } mDoCPd_c::read(); - fapGm_Execute__Fv(); - mDoAud_Execute__Fv(); + fapGm_Execute(); + mDoAud_Execute(); debug(); } while (true); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void main01() { - nofralloc -#include "asm/m_Do/m_Do_main/main01__Fv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 803D3420-803DB420 000140 8000+00 1/1 0/0 0/0 .bss mainThreadStack */ @@ -722,8 +616,7 @@ SECTION_DEAD static char const* const stringBase_80373CA7 = "コマンド"; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_m_Do_main_cpp() { - nofralloc +asm void __sinit_m_Do_main_cpp(){nofralloc #include "asm/m_Do/m_Do_main/__sinit_m_Do_main_cpp.s" } #pragma pop From 70172e9d822d6f3b651feda64175417acb3c31dd Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Tue, 20 Dec 2022 09:24:11 -0700 Subject: [PATCH 4/8] clean up for pr --- include/f_pc/f_pc_executor.h | 6 +- include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h | 2 +- include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h | 88 +++++------ rel/d/a/e/d_a_e_wb/d_a_e_wb.cpp | 2 +- rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp | 203 +++++++++++++++++++++++--- 5 files changed, 235 insertions(+), 66 deletions(-) diff --git a/include/f_pc/f_pc_executor.h b/include/f_pc/f_pc_executor.h index fca6a858c1..3a0390d7e1 100644 --- a/include/f_pc/f_pc_executor.h +++ b/include/f_pc/f_pc_executor.h @@ -16,9 +16,9 @@ s32 fpcEx_Execute(base_process_class* pProc); s32 fpcEx_ToExecuteQ(base_process_class* pProc); void fpcEx_Handler(fpcLnIt_QueueFunc pFunc); -inline base_process_class* fpcM_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData) { - return fpcEx_Search(pFunc, pUserData); -} +// inline base_process_class* fpcM_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData) { +// return fpcEx_Search(pFunc, pUserData); +// } extern "C" { void fpcEx_IsExist__FUi(void); diff --git a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h index e752b8586a..691283f45a 100644 --- a/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h +++ b/include/rel/d/a/e/d_a_e_wb/d_a_e_wb.h @@ -154,4 +154,4 @@ private: /* 0x17E8 */ f32 mSpeedRate; }; -#endif /* D_A_E_WB_H */ +#endif /* D_A_E_WB_H */ \ No newline at end of file diff --git a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h index 78d5363285..b8f6238b92 100644 --- a/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h +++ b/include/rel/d/a/e/d_a_e_yc/d_a_e_yc.h @@ -2,9 +2,9 @@ #define D_A_E_YC_H #include "dolphin/types.h" -#include "f_op/f_op_actor.h" -#include "Z2AudioLib/Z2Creature.h" -#include "d/com/d_com_inf_game.h" +// #include "f_op/f_op_actor.h" +// #include "Z2AudioLib/Z2Creature.h" +// #include "d/com/d_com_inf_game.h" // #include "d/bg/d_bg_s_acch.h" // #include "d/cc/d_cc_d.h" @@ -75,10 +75,10 @@ // static u8 now[48]; // }; -struct daE_YC_HIO_c { - /* 807EFECC */ daE_YC_HIO_c(); - /* 807F27BC */ ~daE_YC_HIO_c(); -}; +// struct daE_YC_HIO_c { +// /* 807EFECC */ daE_YC_HIO_c(); +// /* 807F27BC */ ~daE_YC_HIO_c(); +// }; // struct dVibration_c { // /* 8006FA24 */ void StartShock(int, int, cXyz); @@ -100,42 +100,42 @@ struct daE_YC_HIO_c { // cXyz const*, f32); // }; -class e_yc_class : public fopAc_ac_c { -public: - /* 0x568 */ u8 field_0x568[80]; - /* 0x5B8 */ int field_0x5B8; - /* 0x5BC */ Z2CreatureEnemy mEnemy; - /* 0x660 */ int mAnm; - /* 0x664 */ int field_0x664; - /* 0x668 */ u8 field_0x668[6]; - /* 0x66E */ s16 mCurrentAction; - /* 0x670 */ s16 field_0x670; - /* 0x672 */ u8 field_0x672[2]; - /* 0x674 */ f32 field_0x674; - /* 0x678 */ f32 field_0x678; - /* 0x67C */ f32 field_0x67C; - /* 0x680 */ s16 field_0x680; - /* 0x682 */ u8 field_0x682[2]; - /* 0x684 */ f32 field_0x684; - /* 0x688 */ u32 field_0x688; - /* 0x68C */ u8 field_0x68C[4]; - /* 0x690 */ f32 field_0x690; - /* 0x694 */ u8 field_0x694[28]; - /* 0x69C */ f32 field_0x69C; - /* 0x6A0 */ s16 field_0x6A0; - /* 0x6A2 */ s16 field_0x6A2; - /* 0x6A4 */ s16 field_0x6A4; - /* 0x6A6 */ s16 field_0x6A6; - /* 0x6A8 */ s16 field_0x6A8; - /* 0x6AA */ s16 field_0x6AA; - /* 0x6AC */ void* field_0x6AC; - /* 0x6B0 */ u8 field_0x6B0[72]; - /* 0x6F4 */ dBgS_Acch mBgS_Acch; - /* 0x8CC */ u8 field_0x8CC[28]; - /* 0x8E8 */ dCcD_GStts mCcD_GStts; - /* 0x908 */ dCcD_GObjInf mCcD_GObjInf; - /* 0xA0C */ u8 field_0xA0C[364]; - /* 0xB78 */ cCcD_Obj* mpTgHitObj; -}; +// class e_yc_class : public fopAc_ac_c { +// public: +// /* 0x568 */ u8 field_0x568[80]; +// /* 0x5B8 */ int field_0x5B8; +// /* 0x5BC */ Z2CreatureEnemy mEnemy; +// /* 0x660 */ int mAnm; +// /* 0x664 */ int field_0x664; +// /* 0x668 */ u8 field_0x668[6]; +// /* 0x66E */ s16 mCurrentAction; +// /* 0x670 */ s16 field_0x670; +// /* 0x672 */ u8 field_0x672[2]; +// /* 0x674 */ f32 field_0x674; +// /* 0x678 */ f32 field_0x678; +// /* 0x67C */ f32 field_0x67C; +// /* 0x680 */ s16 field_0x680; +// /* 0x682 */ u8 field_0x682[2]; +// /* 0x684 */ f32 field_0x684; +// /* 0x688 */ u32 field_0x688; +// /* 0x68C */ u8 field_0x68C[4]; +// /* 0x690 */ f32 field_0x690; +// /* 0x694 */ u8 field_0x694[28]; +// /* 0x69C */ f32 field_0x69C; +// /* 0x6A0 */ s16 field_0x6A0; +// /* 0x6A2 */ s16 field_0x6A2; +// /* 0x6A4 */ s16 field_0x6A4; +// /* 0x6A6 */ s16 field_0x6A6; +// /* 0x6A8 */ s16 field_0x6A8; +// /* 0x6AA */ s16 field_0x6AA; +// /* 0x6AC */ void* field_0x6AC; +// /* 0x6B0 */ u8 field_0x6B0[72]; +// /* 0x6F4 */ dBgS_Acch mBgS_Acch; +// /* 0x8CC */ u8 field_0x8CC[28]; +// /* 0x8E8 */ dCcD_GStts mCcD_GStts; +// /* 0x908 */ dCcD_GObjInf mCcD_GObjInf; +// /* 0xA0C */ u8 field_0xA0C[364]; +// /* 0xB78 */ cCcD_Obj* mpTgHitObj; +// }; #endif /* D_A_E_YC_H */ 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 fc951ee7e7..555b3033c1 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 @@ -5180,4 +5180,4 @@ static u8 data_807E3900[4]; static u8 data_807E3904[4]; #pragma pop -/* 807E2F0C-807E2F0C 000580 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 807E2F0C-807E2F0C 000580 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp index 2ed1d13fe2..a601674aa9 100644 --- a/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp +++ b/rel/d/a/e/d_a_e_yc/d_a_e_yc.cpp @@ -7,6 +7,180 @@ #include "dol2asm.h" #include "dolphin/types.h" +// +// Types: +// + +struct request_of_phase_process_class {}; + +struct mDoMtx_stack_c { + /* 8000CE38 */ void scaleM(f32, f32, f32); + + static u8 now[48]; +}; + +struct mDoExt_McaMorfCallBack2_c {}; + +struct mDoExt_McaMorfCallBack1_c {}; + +struct J3DAnmTransform {}; + +struct J3DModelData {}; + +struct Z2Creature {}; + +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 fopAc_ac_c { + /* 80018B64 */ fopAc_ac_c(); +}; + +struct e_yc_class {}; + +struct daE_YC_HIO_c { + /* 807EFECC */ daE_YC_HIO_c(); + /* 807F27BC */ ~daE_YC_HIO_c(); +}; + +struct Vec {}; + +struct cXyz { + /* 80266B34 */ void operator-(Vec const&) const; +}; + +struct dVibration_c { + /* 8006FA24 */ void StartShock(int, int, cXyz); +}; + +struct dKy_tevstr_c {}; + +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 dPa_levelEcallBack {}; + +struct csXyz {}; + +struct _GXColor {}; + +struct dPa_control_c { + struct level_c { + /* 8004B918 */ void getEmitter(u32); + }; + + /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, 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); + /* 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 dDlst_shadowControl_c { + static u8 mSimpleTexObj[32]; +}; + +struct dCcD_Stts { + /* 80083860 */ void Init(int, int, fopAc_ac_c*); +}; + +struct dCcD_SrcSph {}; + +struct dCcD_Sph { + /* 80084A34 */ void Set(dCcD_SrcSph const&); +}; + +struct dCcD_GStts { + /* 80083760 */ dCcD_GStts(); + /* 80083830 */ void Move(); +}; + +struct dCcD_GObjInf { + /* 80083A28 */ dCcD_GObjInf(); + /* 80084460 */ void ChkTgHit(); + /* 800844F8 */ void GetTgHitObj(); +}; + +struct dBgS_PolyPassChk { + /* 80078E68 */ void SetObj(); +}; + +struct dBgS_ObjAcch { + /* 807F274C */ ~dBgS_ObjAcch(); +}; + +struct dBgS_AcchCir { + /* 80075EAC */ dBgS_AcchCir(); + /* 80075F58 */ void SetWall(f32, f32); +}; + +struct dBgS {}; + +struct dBgS_Acch { + /* 80075F94 */ ~dBgS_Acch(); + /* 800760A0 */ dBgS_Acch(); + /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); + /* 80076AAC */ void CrrPos(dBgS&); +}; + +struct cM3dGSph { + /* 8026F648 */ void SetC(cXyz const&); + /* 8026F708 */ void SetR(f32); + /* 807F26BC */ ~cM3dGSph(); +}; + +struct cM3dGAab { + /* 807F2704 */ ~cM3dGAab(); +}; + +struct cCcD_Obj {}; + +struct cCcS { + /* 80264BA8 */ void Set(cCcD_Obj*); +}; + +struct cBgS_PolyInfo {}; + +struct _GXTexObj {}; + +struct Z2CreatureEnemy { + /* 802C0F64 */ Z2CreatureEnemy(); + /* 802C1094 */ void init(Vec*, Vec*, u8, u8); + /* 802C1B7C */ void setLinkSearch(bool); + /* 802C1B90 */ void setEnemyName(char const*); +}; + +struct JGeometry { + template + struct TVec3 {}; + /* TVec3 */ + struct TVec3__template0 {}; +}; + +struct J3DModel {}; + +struct J3DFrameCtrl { + /* 8032842C */ void checkPass(f32); +}; + // // Forward References: // @@ -108,6 +282,11 @@ extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void checkPass__12J3DFrameCtrlFf(); +extern "C" void PSMTXCopy(); +extern "C" void PSMTXTrans(); +extern "C" void PSMTXMultVec(); +extern "C" void PSVECAdd(); +extern "C" void PSVECSquareMag(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); @@ -119,15 +298,19 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); 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" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; 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_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -// extern "C" extern void* calc_mtx[1 + 1 /* padding */]; +extern "C" extern u8 g_env_light[4880]; +extern "C" extern u8 j3dSys[284]; +extern "C" extern void* calc_mtx[1 + 1 /* padding */]; +extern "C" extern u32 __float_nan; extern "C" extern u8 pauseTimer__9dScnPly_c[4]; extern "C" void __register_global_object(); @@ -330,19 +513,6 @@ static asm void daE_YC_Draw(e_yc_class* param_0) { #pragma pop /* 807F00BC-807F01AC 0002DC 00F0+00 1/1 0/0 0/0 .text damage_check__FP10e_yc_class */ -#ifdef NONMATCHING -static void damage_check(e_yc_class* param_0) { - param_0->mCcD_GStts.Move(); - fopAc_ac_c* player = dComIfGp_getPlayer(0); - if (param_0->field_0x6AA == 0 && !param_0->mCcD_GObjInf.ChkTgHit()) { - param_0->mpTgHitObj = param_0->mCcD_GObjInf.GetTgHitObj(); - - if (((daAlink_c*)player)->getCutType() != 0x2c) { - return; - } - } -} -#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -351,7 +521,6 @@ static asm void damage_check(e_yc_class* param_0) { #include "asm/rel/d/a/e/d_a_e_yc/d_a_e_yc/damage_check__FP10e_yc_class.s" } #pragma pop -#endif /* ############################################################################################## */ /* 807F2878-807F287C 000014 0004+00 0/2 0/0 0/0 .rodata @3859 */ @@ -920,4 +1089,4 @@ static asm void func_807F2848() { } #pragma pop -/* 807F294C-807F294C 0000E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 807F294C-807F294C 0000E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file From 620c4dd1d934b844bec5a62c5ee708dd8116e9f8 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Tue, 20 Dec 2022 09:36:38 -0700 Subject: [PATCH 5/8] remove asm --- .../d_a_npc/CheckCreateHeap__FP10fopAc_ac_c.s | 9 - .../__ct__23daBaseNpc_moveBgActor_cFv.s | 18 -- .../a/d_a_npc/attnSttsOn__11daBaseNpc_cFii.s | 24 -- .../chkPassed__13daNpcF_Path_cF4cXyz.s | 23 -- ...kPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs.s | 31 --- asm/d/a/d_a_npc/ctrlFaceMotion__8daNpcT_cFv.s | 48 ---- asm/d/a/d_a_npc/daBaseNpc_decIdx__FiPUsii.s | 26 --- asm/d/a/d_a_npc/daBaseNpc_incIdx__FiPUsii.s | 26 --- asm/d/a/d_a_npc/daNpcF_addIdx__FiiRUsi.s | 19 -- .../daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c.s | 77 ------ asm/d/a/d_a_npc/daNpcF_chkEvtBit__FUl.s | 17 -- ...daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs.s | 95 -------- asm/d/a/d_a_npc/daNpcF_chkTmpBit__FUl.s | 17 -- .../a/d_a_npc/daNpcF_clearMessageTmpBit__Fv.s | 28 --- asm/d/a/d_a_npc/daNpcF_decIdx__FiRUsii.s | 26 --- asm/d/a/d_a_npc/daNpcF_getDistTableIdx__Fii.s | 6 - asm/d/a/d_a_npc/daNpcF_incIdx__FiRUsii.s | 26 --- asm/d/a/d_a_npc/daNpcF_offTmpBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcF_onEvtBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcF_onTmpBit__FUl.s | 17 -- ...LineSegmentLengthSquare2D__FffffffPfPfPf.s | 46 ---- asm/d/a/d_a_npc/daNpcF_subIdx__FiiRUsi.s | 22 -- asm/d/a/d_a_npc/daNpcT_addIdx__FiiRUsi.s | 19 -- .../daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c.s | 80 ------- asm/d/a/d_a_npc/daNpcT_chkEvtBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcT_chkTmpBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcT_decIdx__FiRUsii.s | 26 --- asm/d/a/d_a_npc/daNpcT_getDistTableIdx__Fii.s | 6 - asm/d/a/d_a_npc/daNpcT_incIdx__FiRUsii.s | 26 --- asm/d/a/d_a_npc/daNpcT_offEvtBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcT_offTmpBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcT_onEvtBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcT_onTmpBit__FUl.s | 17 -- asm/d/a/d_a_npc/daNpcT_subIdx__FiiRUsi.s | 22 -- ...ntry__18daNpcF_ActorMngr_cFP10fopAc_ac_c.s | 10 - asm/d/a/d_a_npc/execute__8daNpcT_cFv.s | 221 ------------------ .../getActorP__18daNpcF_ActorMngr_cFv.s | 22 -- ...getAttentionPos__8daNpcF_cFP10fopAc_ac_c.s | 31 --- .../a/d_a_npc/getDistTableIdx__8daNpcF_cFii.s | 11 - .../a/d_a_npc/getIdx__16daBaseNpc_path_cFv.s | 3 - .../getTexPtrnAnmP__11daBaseNpc_cFPci.s | 16 -- .../getTrnsfrmKeyAnmP__11daBaseNpc_cFPci.s | 16 -- ...XyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz.s | 50 ---- .../initTalk__8daNpcF_cFiPP10fopAc_ac_c.s | 27 --- .../initTalk__8daNpcT_cFiPP10fopAc_ac_c.s | 36 --- .../a/d_a_npc/initialize__13daNpcF_Path_cFv.s | 24 -- .../a/d_a_npc/initialize__13daNpcT_Path_cFv.s | 14 -- .../d_a_npc/initialize__15daNpcF_MatAnm_cFv.s | 10 - .../d_a_npc/initialize__15daNpcT_MatAnm_cFv.s | 10 - .../initialize__18daNpcF_ActorMngr_cFv.s | 4 - .../a/d_a_npc/isPath__16daBaseNpc_path_cFv.s | 6 - .../limitter__18daBaseNpc_lookat_cFsPsss.s | 33 --- .../a/d_a_npc/orderEvent__11daBaseNpc_cFiPc.s | 45 ---- .../d_a_npc/remove__18daNpcF_ActorMngr_cFv.s | 4 - .../reverseDir__16daBaseNpc_path_cFv.s | 9 - asm/d/a/d_a_npc/reverse__13daNpcF_Path_cFv.s | 11 - asm/d/a/d_a_npc/reverse__13daNpcT_Path_cFv.s | 14 -- .../setAttnPos__18daBaseNpc_lookat_cFP4cXyz.s | 4 - ...m__11daBaseNpc_cFP15J3DAnmTransformfiiib.s | 18 -- ...c_cFP16J3DAnmTexPatternP12J3DModelDatafi.s | 17 -- .../d_a_npc/setEnvTevColor__11daBaseNpc_cFv.s | 24 -- .../setJntPos__18daBaseNpc_lookat_cF4cXyzi.s | 10 - ...tMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi.s | 10 - ...tMinJntLmt__18daBaseNpc_lookat_cF5csXyzi.s | 10 - asm/d/a/d_a_npc/setMtx__11daBaseNpc_cFi.s | 77 ------ .../setNextPathInfo__13daNpcT_Path_cFScUc.s | 33 --- ...DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs.s | 30 --- asm/d/a/d_a_npc/setRoomNo__11daBaseNpc_cFv.s | 18 -- 68 files changed, 1794 deletions(-) delete mode 100644 asm/d/a/d_a_npc/CheckCreateHeap__FP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/__ct__23daBaseNpc_moveBgActor_cFv.s delete mode 100644 asm/d/a/d_a_npc/attnSttsOn__11daBaseNpc_cFii.s delete mode 100644 asm/d/a/d_a_npc/chkPassed__13daNpcF_Path_cF4cXyz.s delete mode 100644 asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs.s delete mode 100644 asm/d/a/d_a_npc/ctrlFaceMotion__8daNpcT_cFv.s delete mode 100644 asm/d/a/d_a_npc/daBaseNpc_decIdx__FiPUsii.s delete mode 100644 asm/d/a/d_a_npc/daBaseNpc_incIdx__FiPUsii.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_addIdx__FiiRUsi.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_chkEvtBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_chkTmpBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_clearMessageTmpBit__Fv.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_decIdx__FiRUsii.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_getDistTableIdx__Fii.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_incIdx__FiRUsii.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_offTmpBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_onEvtBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_onTmpBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf.s delete mode 100644 asm/d/a/d_a_npc/daNpcF_subIdx__FiiRUsi.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_addIdx__FiiRUsi.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_chkEvtBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_chkTmpBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_decIdx__FiRUsii.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_getDistTableIdx__Fii.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_incIdx__FiRUsii.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_offEvtBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_offTmpBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_onEvtBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_onTmpBit__FUl.s delete mode 100644 asm/d/a/d_a_npc/daNpcT_subIdx__FiiRUsi.s delete mode 100644 asm/d/a/d_a_npc/entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/execute__8daNpcT_cFv.s delete mode 100644 asm/d/a/d_a_npc/getActorP__18daNpcF_ActorMngr_cFv.s delete mode 100644 asm/d/a/d_a_npc/getAttentionPos__8daNpcF_cFP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/getDistTableIdx__8daNpcF_cFii.s delete mode 100644 asm/d/a/d_a_npc/getIdx__16daBaseNpc_path_cFv.s delete mode 100644 asm/d/a/d_a_npc/getTexPtrnAnmP__11daBaseNpc_cFPci.s delete mode 100644 asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__11daBaseNpc_cFPci.s delete mode 100644 asm/d/a/d_a_npc/hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz.s delete mode 100644 asm/d/a/d_a_npc/initTalk__8daNpcF_cFiPP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/initTalk__8daNpcT_cFiPP10fopAc_ac_c.s delete mode 100644 asm/d/a/d_a_npc/initialize__13daNpcF_Path_cFv.s delete mode 100644 asm/d/a/d_a_npc/initialize__13daNpcT_Path_cFv.s delete mode 100644 asm/d/a/d_a_npc/initialize__15daNpcF_MatAnm_cFv.s delete mode 100644 asm/d/a/d_a_npc/initialize__15daNpcT_MatAnm_cFv.s delete mode 100644 asm/d/a/d_a_npc/initialize__18daNpcF_ActorMngr_cFv.s delete mode 100644 asm/d/a/d_a_npc/isPath__16daBaseNpc_path_cFv.s delete mode 100644 asm/d/a/d_a_npc/limitter__18daBaseNpc_lookat_cFsPsss.s delete mode 100644 asm/d/a/d_a_npc/orderEvent__11daBaseNpc_cFiPc.s delete mode 100644 asm/d/a/d_a_npc/remove__18daNpcF_ActorMngr_cFv.s delete mode 100644 asm/d/a/d_a_npc/reverseDir__16daBaseNpc_path_cFv.s delete mode 100644 asm/d/a/d_a_npc/reverse__13daNpcF_Path_cFv.s delete mode 100644 asm/d/a/d_a_npc/reverse__13daNpcT_Path_cFv.s delete mode 100644 asm/d/a/d_a_npc/setAttnPos__18daBaseNpc_lookat_cFP4cXyz.s delete mode 100644 asm/d/a/d_a_npc/setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib.s delete mode 100644 asm/d/a/d_a_npc/setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi.s delete mode 100644 asm/d/a/d_a_npc/setEnvTevColor__11daBaseNpc_cFv.s delete mode 100644 asm/d/a/d_a_npc/setJntPos__18daBaseNpc_lookat_cF4cXyzi.s delete mode 100644 asm/d/a/d_a_npc/setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi.s delete mode 100644 asm/d/a/d_a_npc/setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi.s delete mode 100644 asm/d/a/d_a_npc/setMtx__11daBaseNpc_cFi.s delete mode 100644 asm/d/a/d_a_npc/setNextPathInfo__13daNpcT_Path_cFScUc.s delete mode 100644 asm/d/a/d_a_npc/setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs.s delete mode 100644 asm/d/a/d_a_npc/setRoomNo__11daBaseNpc_cFv.s diff --git a/asm/d/a/d_a_npc/CheckCreateHeap__FP10fopAc_ac_c.s b/asm/d/a/d_a_npc/CheckCreateHeap__FP10fopAc_ac_c.s deleted file mode 100644 index 379cc511f3..0000000000 --- a/asm/d/a/d_a_npc/CheckCreateHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8014F4F8: -/* 8014F4F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014F4FC 7C 08 02 A6 */ mflr r0 -/* 8014F500 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014F504 48 00 00 15 */ bl MoveBGCreateHeap__23daBaseNpc_moveBgActor_cFv -/* 8014F508 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014F50C 7C 08 03 A6 */ mtlr r0 -/* 8014F510 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014F514 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/__ct__23daBaseNpc_moveBgActor_cFv.s b/asm/d/a/d_a_npc/__ct__23daBaseNpc_moveBgActor_cFv.s deleted file mode 100644 index 4711dd2e1f..0000000000 --- a/asm/d/a/d_a_npc/__ct__23daBaseNpc_moveBgActor_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8014F4B4: -/* 8014F4B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014F4B8 7C 08 02 A6 */ mflr r0 -/* 8014F4BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014F4C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014F4C4 7C 7F 1B 78 */ mr r31, r3 -/* 8014F4C8 4B FF F2 01 */ bl __ct__11daBaseNpc_cFv -/* 8014F4CC 3C 60 80 3B */ lis r3, __vt__23daBaseNpc_moveBgActor_c@ha /* 0x803B3948@ha */ -/* 8014F4D0 38 03 39 48 */ addi r0, r3, __vt__23daBaseNpc_moveBgActor_c@l /* 0x803B3948@l */ -/* 8014F4D4 90 1F 05 68 */ stw r0, 0x568(r31) -/* 8014F4D8 38 00 00 00 */ li r0, 0 -/* 8014F4DC 90 1F 0A 14 */ stw r0, 0xa14(r31) -/* 8014F4E0 7F E3 FB 78 */ mr r3, r31 -/* 8014F4E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014F4E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014F4EC 7C 08 03 A6 */ mtlr r0 -/* 8014F4F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014F4F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/attnSttsOn__11daBaseNpc_cFii.s b/asm/d/a/d_a_npc/attnSttsOn__11daBaseNpc_cFii.s deleted file mode 100644 index cfbb599229..0000000000 --- a/asm/d/a/d_a_npc/attnSttsOn__11daBaseNpc_cFii.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8014EFA4: -/* 8014EFA4 3C C0 80 40 */ lis r6, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014EFA8 38 C6 61 C0 */ addi r6, r6, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014EFAC 80 C6 5D B4 */ lwz r6, 0x5db4(r6) -/* 8014EFB0 80 06 05 74 */ lwz r0, 0x574(r6) -/* 8014EFB4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8014EFB8 41 82 00 1C */ beq lbl_8014EFD4 -/* 8014EFBC 2C 05 00 00 */ cmpwi r5, 0 -/* 8014EFC0 41 82 00 0C */ beq lbl_8014EFCC -/* 8014EFC4 38 00 00 0A */ li r0, 0xa -/* 8014EFC8 48 00 00 20 */ b lbl_8014EFE8 -lbl_8014EFCC: -/* 8014EFCC 38 00 00 01 */ li r0, 1 -/* 8014EFD0 48 00 00 18 */ b lbl_8014EFE8 -lbl_8014EFD4: -/* 8014EFD4 2C 04 00 00 */ cmpwi r4, 0 -/* 8014EFD8 41 82 00 0C */ beq lbl_8014EFE4 -/* 8014EFDC 38 00 00 0A */ li r0, 0xa -/* 8014EFE0 48 00 00 08 */ b lbl_8014EFE8 -lbl_8014EFE4: -/* 8014EFE4 38 00 00 01 */ li r0, 1 -lbl_8014EFE8: -/* 8014EFE8 90 03 05 5C */ stw r0, 0x55c(r3) -/* 8014EFEC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/chkPassed__13daNpcF_Path_cF4cXyz.s b/asm/d/a/d_a_npc/chkPassed__13daNpcF_Path_cF4cXyz.s deleted file mode 100644 index d49a580f4f..0000000000 --- a/asm/d/a/d_a_npc/chkPassed__13daNpcF_Path_cF4cXyz.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80150A24: -/* 80150A24 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80150A28 7C 08 02 A6 */ mflr r0 -/* 80150A2C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80150A30 7C 68 1B 78 */ mr r8, r3 -/* 80150A34 C0 04 00 00 */ lfs f0, 0(r4) -/* 80150A38 D0 01 00 08 */ stfs f0, 8(r1) -/* 80150A3C C0 04 00 04 */ lfs f0, 4(r4) -/* 80150A40 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80150A44 C0 04 00 08 */ lfs f0, 8(r4) -/* 80150A48 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80150A4C 80 C3 00 04 */ lwz r6, 4(r3) -/* 80150A50 38 61 00 08 */ addi r3, r1, 8 -/* 80150A54 80 86 00 08 */ lwz r4, 8(r6) -/* 80150A58 A0 A8 00 00 */ lhz r5, 0(r8) -/* 80150A5C A0 C6 00 00 */ lhz r6, 0(r6) -/* 80150A60 88 E8 00 03 */ lbz r7, 3(r8) -/* 80150A64 89 08 00 02 */ lbz r8, 2(r8) -/* 80150A68 48 00 43 F5 */ bl daNpcF_chkPassed__F4cXyzP4dPntUsUsii -/* 80150A6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80150A70 7C 08 03 A6 */ mtlr r0 -/* 80150A74 38 21 00 20 */ addi r1, r1, 0x20 -/* 80150A78 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs.s b/asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs.s deleted file mode 100644 index a69cb010c6..0000000000 --- a/asm/d/a/d_a_npc/chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_801548F4: -/* 801548F4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 801548F8 7C 08 02 A6 */ mflr r0 -/* 801548FC 90 01 00 34 */ stw r0, 0x34(r1) -/* 80154900 C0 04 00 00 */ lfs f0, 0(r4) -/* 80154904 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80154908 C0 04 00 04 */ lfs f0, 4(r4) -/* 8015490C D0 01 00 24 */ stfs f0, 0x24(r1) -/* 80154910 C0 04 00 08 */ lfs f0, 8(r4) -/* 80154914 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 80154918 C0 05 00 00 */ lfs f0, 0(r5) -/* 8015491C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80154920 C0 05 00 04 */ lfs f0, 4(r5) -/* 80154924 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80154928 C0 05 00 08 */ lfs f0, 8(r5) -/* 8015492C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80154930 C0 06 00 00 */ lfs f0, 0(r6) -/* 80154934 D0 01 00 08 */ stfs f0, 8(r1) -/* 80154938 C0 06 00 04 */ lfs f0, 4(r6) -/* 8015493C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80154940 C0 06 00 08 */ lfs f0, 8(r6) -/* 80154944 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80154948 38 61 00 20 */ addi r3, r1, 0x20 -/* 8015494C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80154950 38 A1 00 08 */ addi r5, r1, 8 -/* 80154954 7C E6 3B 78 */ mr r6, r7 -/* 80154958 48 00 10 11 */ bl daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs -/* 8015495C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80154960 7C 08 03 A6 */ mtlr r0 -/* 80154964 38 21 00 30 */ addi r1, r1, 0x30 -/* 80154968 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/ctrlFaceMotion__8daNpcT_cFv.s b/asm/d/a/d_a_npc/ctrlFaceMotion__8daNpcT_cFv.s deleted file mode 100644 index 2b114c4d05..0000000000 --- a/asm/d/a/d_a_npc/ctrlFaceMotion__8daNpcT_cFv.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_8014924C: -/* 8014924C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80149250 7C 08 02 A6 */ mflr r0 -/* 80149254 90 01 00 24 */ stw r0, 0x24(r1) -/* 80149258 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8014925C 7C 7F 1B 78 */ mr r31, r3 -/* 80149260 38 7F 0B 50 */ addi r3, r31, 0xb50 -/* 80149264 A0 9F 0E 20 */ lhz r4, 0xe20(r31) -/* 80149268 38 A1 00 0C */ addi r5, r1, 0xc -/* 8014926C 38 C1 00 08 */ addi r6, r1, 8 -/* 80149270 4B FF C6 51 */ bl play__22daNpcT_MotionSeqMngr_cFUsPiPf -/* 80149274 2C 03 00 00 */ cmpwi r3, 0 -/* 80149278 41 82 00 74 */ beq lbl_801492EC -/* 8014927C 7F E3 FB 78 */ mr r3, r31 -/* 80149280 80 81 00 0C */ lwz r4, 0xc(r1) -/* 80149284 38 A0 00 01 */ li r5, 1 -/* 80149288 48 00 11 01 */ bl setFaceMotionAnm__8daNpcT_cFib -/* 8014928C C0 21 00 08 */ lfs f1, 8(r1) -/* 80149290 C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 80149294 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80149298 40 80 00 30 */ bge lbl_801492C8 -/* 8014929C 80 7F 05 78 */ lwz r3, 0x578(r31) -/* 801492A0 C0 3F 0A 80 */ lfs f1, 0xa80(r31) -/* 801492A4 4B EC 68 D9 */ bl setMorf__13mDoExt_morf_cFf -/* 801492A8 C0 1F 0A 80 */ lfs f0, 0xa80(r31) -/* 801492AC D0 1F 0D FC */ stfs f0, 0xdfc(r31) -/* 801492B0 80 7F 05 7C */ lwz r3, 0x57c(r31) -/* 801492B4 28 03 00 00 */ cmplwi r3, 0 -/* 801492B8 41 82 00 34 */ beq lbl_801492EC -/* 801492BC C0 3F 0A 80 */ lfs f1, 0xa80(r31) -/* 801492C0 4B EC 68 BD */ bl setMorf__13mDoExt_morf_cFf -/* 801492C4 48 00 00 28 */ b lbl_801492EC -lbl_801492C8: -/* 801492C8 80 7F 05 78 */ lwz r3, 0x578(r31) -/* 801492CC 4B EC 68 B1 */ bl setMorf__13mDoExt_morf_cFf -/* 801492D0 C0 01 00 08 */ lfs f0, 8(r1) -/* 801492D4 D0 1F 0D FC */ stfs f0, 0xdfc(r31) -/* 801492D8 80 7F 05 7C */ lwz r3, 0x57c(r31) -/* 801492DC 28 03 00 00 */ cmplwi r3, 0 -/* 801492E0 41 82 00 0C */ beq lbl_801492EC -/* 801492E4 C0 21 00 08 */ lfs f1, 8(r1) -/* 801492E8 4B EC 68 95 */ bl setMorf__13mDoExt_morf_cFf -lbl_801492EC: -/* 801492EC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801492F0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801492F4 7C 08 03 A6 */ mtlr r0 -/* 801492F8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801492FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daBaseNpc_decIdx__FiPUsii.s b/asm/d/a/d_a_npc/daBaseNpc_decIdx__FiPUsii.s deleted file mode 100644 index 4feac3a000..0000000000 --- a/asm/d/a/d_a_npc/daBaseNpc_decIdx__FiPUsii.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8014D620: -/* 8014D620 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014D624 7C 08 02 A6 */ mflr r0 -/* 8014D628 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014D62C 7C 68 1B 78 */ mr r8, r3 -/* 8014D630 7C 87 23 78 */ mr r7, r4 -/* 8014D634 7C A0 2B 78 */ mr r0, r5 -/* 8014D638 2C 06 00 00 */ cmpwi r6, 0 -/* 8014D63C 40 80 00 1C */ bge lbl_8014D658 -/* 8014D640 38 60 00 01 */ li r3, 1 -/* 8014D644 7D 04 43 78 */ mr r4, r8 -/* 8014D648 7C E5 3B 78 */ mr r5, r7 -/* 8014D64C 7C 06 03 78 */ mr r6, r0 -/* 8014D650 4B FF FE E9 */ bl daBaseNpc_addIdx__FiiPUsi -/* 8014D654 48 00 00 18 */ b lbl_8014D66C -lbl_8014D658: -/* 8014D658 38 60 00 01 */ li r3, 1 -/* 8014D65C 7D 04 43 78 */ mr r4, r8 -/* 8014D660 7C E5 3B 78 */ mr r5, r7 -/* 8014D664 7C 06 03 78 */ mr r6, r0 -/* 8014D668 4B FF FF 1D */ bl daBaseNpc_subIdx__FiiPUsi -lbl_8014D66C: -/* 8014D66C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014D670 7C 08 03 A6 */ mtlr r0 -/* 8014D674 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014D678 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daBaseNpc_incIdx__FiPUsii.s b/asm/d/a/d_a_npc/daBaseNpc_incIdx__FiPUsii.s deleted file mode 100644 index 0d5edf3164..0000000000 --- a/asm/d/a/d_a_npc/daBaseNpc_incIdx__FiPUsii.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8014D5C4: -/* 8014D5C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014D5C8 7C 08 02 A6 */ mflr r0 -/* 8014D5CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014D5D0 7C 68 1B 78 */ mr r8, r3 -/* 8014D5D4 7C 87 23 78 */ mr r7, r4 -/* 8014D5D8 7C A0 2B 78 */ mr r0, r5 -/* 8014D5DC 2C 06 00 00 */ cmpwi r6, 0 -/* 8014D5E0 40 80 00 1C */ bge lbl_8014D5FC -/* 8014D5E4 38 60 00 01 */ li r3, 1 -/* 8014D5E8 7D 04 43 78 */ mr r4, r8 -/* 8014D5EC 7C E5 3B 78 */ mr r5, r7 -/* 8014D5F0 7C 06 03 78 */ mr r6, r0 -/* 8014D5F4 4B FF FF 91 */ bl daBaseNpc_subIdx__FiiPUsi -/* 8014D5F8 48 00 00 18 */ b lbl_8014D610 -lbl_8014D5FC: -/* 8014D5FC 38 60 00 01 */ li r3, 1 -/* 8014D600 7D 04 43 78 */ mr r4, r8 -/* 8014D604 7C E5 3B 78 */ mr r5, r7 -/* 8014D608 7C 06 03 78 */ mr r6, r0 -/* 8014D60C 4B FF FF 2D */ bl daBaseNpc_addIdx__FiiPUsi -lbl_8014D610: -/* 8014D610 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014D614 7C 08 03 A6 */ mtlr r0 -/* 8014D618 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014D61C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_addIdx__FiiRUsi.s b/asm/d/a/d_a_npc/daNpcF_addIdx__FiiRUsi.s deleted file mode 100644 index 48756ed948..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_addIdx__FiiRUsi.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8015056C: -/* 8015056C 38 E0 00 00 */ li r7, 0 -/* 80150570 A1 05 00 00 */ lhz r8, 0(r5) -/* 80150574 7D 08 1A 14 */ add r8, r8, r3 -/* 80150578 7C 04 40 00 */ cmpw r4, r8 -/* 8015057C 41 81 00 24 */ bgt lbl_801505A0 -/* 80150580 2C 06 00 00 */ cmpwi r6, 0 -/* 80150584 41 82 00 14 */ beq lbl_80150598 -/* 80150588 7C 08 23 D6 */ divw r0, r8, r4 -/* 8015058C 7C 00 21 D6 */ mullw r0, r0, r4 -/* 80150590 7D 00 40 50 */ subf r8, r0, r8 -/* 80150594 48 00 00 0C */ b lbl_801505A0 -lbl_80150598: -/* 80150598 39 04 FF FF */ addi r8, r4, -1 -/* 8015059C 38 E0 00 01 */ li r7, 1 -lbl_801505A0: -/* 801505A0 B1 05 00 00 */ sth r8, 0(r5) -/* 801505A4 7C E3 3B 78 */ mr r3, r7 -/* 801505A8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c.s b/asm/d/a/d_a_npc/daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c.s deleted file mode 100644 index bfe8ac41c2..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_chkDoBtnEqSpeak__FP10fopAc_ac_c.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_80155854: -/* 80155854 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80155858 7C 08 02 A6 */ mflr r0 -/* 8015585C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80155860 39 61 00 20 */ addi r11, r1, 0x20 -/* 80155864 48 20 C9 75 */ bl _savegpr_28 -/* 80155868 7C 7C 1B 78 */ mr r28, r3 -/* 8015586C 3B C0 00 00 */ li r30, 0 -/* 80155870 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80155874 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80155878 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8015587C 7F 84 E3 78 */ mr r4, r28 -/* 80155880 81 83 06 28 */ lwz r12, 0x628(r3) -/* 80155884 81 8C 01 D8 */ lwz r12, 0x1d8(r12) -/* 80155888 7D 89 03 A6 */ mtctr r12 -/* 8015588C 4E 80 04 21 */ bctrl -/* 80155890 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80155894 41 82 00 B8 */ beq lbl_8015594C -/* 80155898 3B A0 00 00 */ li r29, 0 -/* 8015589C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801558A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801558A4 3B E3 56 B8 */ addi r31, r3, 0x56b8 -/* 801558A8 48 00 00 44 */ b lbl_801558EC -lbl_801558AC: -/* 801558AC 7F E3 FB 78 */ mr r3, r31 -/* 801558B0 7F A4 EB 78 */ mr r4, r29 -/* 801558B4 4B F1 DE 81 */ bl ActionTarget__12dAttention_cFl -/* 801558B8 7C 03 E0 40 */ cmplw r3, r28 -/* 801558BC 40 82 00 2C */ bne lbl_801558E8 -/* 801558C0 7F E3 FB 78 */ mr r3, r31 -/* 801558C4 4B F1 AF BD */ bl getActionBtnB__12dAttention_cFv -/* 801558C8 28 03 00 00 */ cmplwi r3, 0 -/* 801558CC 41 82 00 1C */ beq lbl_801558E8 -/* 801558D0 7F E3 FB 78 */ mr r3, r31 -/* 801558D4 4B F1 AF AD */ bl getActionBtnB__12dAttention_cFv -/* 801558D8 80 03 00 0C */ lwz r0, 0xc(r3) -/* 801558DC 28 00 00 03 */ cmplwi r0, 3 -/* 801558E0 40 82 00 08 */ bne lbl_801558E8 -/* 801558E4 3B C0 00 01 */ li r30, 1 -lbl_801558E8: -/* 801558E8 3B BD 00 01 */ addi r29, r29, 1 -lbl_801558EC: -/* 801558EC 80 1F 04 30 */ lwz r0, 0x430(r31) -/* 801558F0 7C 1D 00 00 */ cmpw r29, r0 -/* 801558F4 41 80 FF B8 */ blt lbl_801558AC -/* 801558F8 3B A0 00 00 */ li r29, 0 -/* 801558FC 48 00 00 44 */ b lbl_80155940 -lbl_80155900: -/* 80155900 7F E3 FB 78 */ mr r3, r31 -/* 80155904 7F A4 EB 78 */ mr r4, r29 -/* 80155908 4B F1 DC 35 */ bl LockonTarget__12dAttention_cFl -/* 8015590C 7C 03 E0 40 */ cmplw r3, r28 -/* 80155910 40 82 00 2C */ bne lbl_8015593C -/* 80155914 7F E3 FB 78 */ mr r3, r31 -/* 80155918 4B F1 AF 69 */ bl getActionBtnB__12dAttention_cFv -/* 8015591C 28 03 00 00 */ cmplwi r3, 0 -/* 80155920 41 82 00 1C */ beq lbl_8015593C -/* 80155924 7F E3 FB 78 */ mr r3, r31 -/* 80155928 4B F1 AF 59 */ bl getActionBtnB__12dAttention_cFv -/* 8015592C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80155930 28 00 00 01 */ cmplwi r0, 1 -/* 80155934 40 82 00 08 */ bne lbl_8015593C -/* 80155938 3B C0 00 01 */ li r30, 1 -lbl_8015593C: -/* 8015593C 3B BD 00 01 */ addi r29, r29, 1 -lbl_80155940: -/* 80155940 80 1F 03 D8 */ lwz r0, 0x3d8(r31) -/* 80155944 7C 1D 00 00 */ cmpw r29, r0 -/* 80155948 41 80 FF B8 */ blt lbl_80155900 -lbl_8015594C: -/* 8015594C 7F C3 F3 78 */ mr r3, r30 -/* 80155950 39 61 00 20 */ addi r11, r1, 0x20 -/* 80155954 48 20 C8 D1 */ bl _restgpr_28 -/* 80155958 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8015595C 7C 08 03 A6 */ mtlr r0 -/* 80155960 38 21 00 20 */ addi r1, r1, 0x20 -/* 80155964 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_chkEvtBit__FUl.s b/asm/d/a/d_a_npc/daNpcF_chkEvtBit__FUl.s deleted file mode 100644 index ac122900a2..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_chkEvtBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80155634: -/* 80155634 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80155638 7C 08 02 A6 */ mflr r0 -/* 8015563C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80155640 7C 60 1B 78 */ mr r0, r3 -/* 80155644 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80155648 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015564C 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80155650 54 00 08 3C */ slwi r0, r0, 1 -/* 80155654 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80155658 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8015565C 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80155660 4B ED F3 5D */ bl isEventBit__11dSv_event_cCFUs -/* 80155664 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80155668 7C 08 03 A6 */ mtlr r0 -/* 8015566C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80155670 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs.s b/asm/d/a/d_a_npc/daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs.s deleted file mode 100644 index bd5a02b901..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_chkPointInArea__F4cXyz4cXyz4cXyzs.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_80155968: -/* 80155968 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8015596C 7C 08 02 A6 */ mflr r0 -/* 80155970 90 01 00 84 */ stw r0, 0x84(r1) -/* 80155974 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 80155978 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8015597C DB C1 00 60 */ stfd f30, 0x60(r1) -/* 80155980 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 80155984 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 80155988 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8015598C DB 81 00 40 */ stfd f28, 0x40(r1) -/* 80155990 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 80155994 39 61 00 40 */ addi r11, r1, 0x40 -/* 80155998 48 20 C8 45 */ bl _savegpr_29 -/* 8015599C 7C 7D 1B 78 */ mr r29, r3 -/* 801559A0 7C 9E 23 78 */ mr r30, r4 -/* 801559A4 7C BF 2B 78 */ mr r31, r5 -/* 801559A8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 801559AC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 801559B0 7C 06 00 D0 */ neg r0, r6 -/* 801559B4 7C 04 07 34 */ extsh r4, r0 -/* 801559B8 4B EB 6A 25 */ bl mDoMtx_YrotS__FPA4_fs -/* 801559BC C0 1E 00 00 */ lfs f0, 0(r30) -/* 801559C0 FC 20 00 50 */ fneg f1, f0 -/* 801559C4 C0 1E 00 04 */ lfs f0, 4(r30) -/* 801559C8 FC 40 00 50 */ fneg f2, f0 -/* 801559CC C0 1E 00 08 */ lfs f0, 8(r30) -/* 801559D0 FC 60 00 50 */ fneg f3, f0 -/* 801559D4 4B EB 73 C9 */ bl transM__14mDoMtx_stack_cFfff -/* 801559D8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 801559DC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 801559E0 7F A4 EB 78 */ mr r4, r29 -/* 801559E4 38 A1 00 20 */ addi r5, r1, 0x20 -/* 801559E8 48 1F 13 85 */ bl PSMTXMultVec -/* 801559EC C0 1F 00 00 */ lfs f0, 0(r31) -/* 801559F0 FC 00 02 10 */ fabs f0, f0 -/* 801559F4 FF E0 00 18 */ frsp f31, f0 -/* 801559F8 C0 1F 00 08 */ lfs f0, 8(r31) -/* 801559FC FC 00 02 10 */ fabs f0, f0 -/* 80155A00 FF C0 00 18 */ frsp f30, f0 -/* 80155A04 C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80155A08 FC 00 02 10 */ fabs f0, f0 -/* 80155A0C FF A0 00 18 */ frsp f29, f0 -/* 80155A10 C0 01 00 28 */ lfs f0, 0x28(r1) -/* 80155A14 FC 00 02 10 */ fabs f0, f0 -/* 80155A18 FF 80 00 18 */ frsp f28, f0 -/* 80155A1C 38 61 00 08 */ addi r3, r1, 8 -/* 80155A20 7F C4 F3 78 */ mr r4, r30 -/* 80155A24 7F A5 EB 78 */ mr r5, r29 -/* 80155A28 48 11 11 0D */ bl __mi__4cXyzCFRC3Vec -/* 80155A2C C0 01 00 08 */ lfs f0, 8(r1) -/* 80155A30 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80155A34 C0 21 00 0C */ lfs f1, 0xc(r1) -/* 80155A38 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80155A3C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80155A40 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80155A44 C0 5F 00 04 */ lfs f2, 4(r31) -/* 80155A48 FC 00 10 50 */ fneg f0, f2 -/* 80155A4C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80155A50 4C 40 13 82 */ cror 2, 0, 2 -/* 80155A54 41 82 00 10 */ beq lbl_80155A64 -/* 80155A58 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 80155A5C 4C 40 13 82 */ cror 2, 0, 2 -/* 80155A60 40 82 00 0C */ bne lbl_80155A6C -lbl_80155A64: -/* 80155A64 38 60 00 00 */ li r3, 0 -/* 80155A68 48 00 00 34 */ b lbl_80155A9C -lbl_80155A6C: -/* 80155A6C EC 3D 07 72 */ fmuls f1, f29, f29 -/* 80155A70 EC 1F 07 F2 */ fmuls f0, f31, f31 -/* 80155A74 EC 41 00 24 */ fdivs f2, f1, f0 -/* 80155A78 EC 3C 07 32 */ fmuls f1, f28, f28 -/* 80155A7C EC 1E 07 B2 */ fmuls f0, f30, f30 -/* 80155A80 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80155A84 EC 22 00 2A */ fadds f1, f2, f0 -/* 80155A88 C0 02 99 DC */ lfs f0, lit_4140(r2) -/* 80155A8C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80155A90 4C 40 13 82 */ cror 2, 0, 2 -/* 80155A94 7C 00 00 26 */ mfcr r0 -/* 80155A98 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f -lbl_80155A9C: -/* 80155A9C E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 80155AA0 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 80155AA4 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 80155AA8 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 80155AAC E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 80155AB0 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 80155AB4 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 80155AB8 CB 81 00 40 */ lfd f28, 0x40(r1) -/* 80155ABC 39 61 00 40 */ addi r11, r1, 0x40 -/* 80155AC0 48 20 C7 69 */ bl _restgpr_29 -/* 80155AC4 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80155AC8 7C 08 03 A6 */ mtlr r0 -/* 80155ACC 38 21 00 80 */ addi r1, r1, 0x80 -/* 80155AD0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_chkTmpBit__FUl.s b/asm/d/a/d_a_npc/daNpcF_chkTmpBit__FUl.s deleted file mode 100644 index 4ec4872dae..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_chkTmpBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_801556B4: -/* 801556B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801556B8 7C 08 02 A6 */ mflr r0 -/* 801556BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 801556C0 7C 60 1B 78 */ mr r0, r3 -/* 801556C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801556C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801556CC 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 801556D0 54 00 08 3C */ slwi r0, r0, 1 -/* 801556D4 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 801556D8 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 801556DC 7C 84 02 2E */ lhzx r4, r4, r0 -/* 801556E0 4B ED F2 DD */ bl isEventBit__11dSv_event_cCFUs -/* 801556E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801556E8 7C 08 03 A6 */ mtlr r0 -/* 801556EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801556F0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_clearMessageTmpBit__Fv.s b/asm/d/a/d_a_npc/daNpcF_clearMessageTmpBit__Fv.s deleted file mode 100644 index b73cca0baa..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_clearMessageTmpBit__Fv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80155AE8: -/* 80155AE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80155AEC 7C 08 02 A6 */ mflr r0 -/* 80155AF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80155AF4 38 60 00 0B */ li r3, 0xb -/* 80155AF8 4B FF FC 3D */ bl daNpcF_offTmpBit__FUl -/* 80155AFC 38 60 00 0C */ li r3, 0xc -/* 80155B00 4B FF FC 35 */ bl daNpcF_offTmpBit__FUl -/* 80155B04 38 60 00 0D */ li r3, 0xd -/* 80155B08 4B FF FC 2D */ bl daNpcF_offTmpBit__FUl -/* 80155B0C 38 60 00 0E */ li r3, 0xe -/* 80155B10 4B FF FC 25 */ bl daNpcF_offTmpBit__FUl -/* 80155B14 38 60 00 0F */ li r3, 0xf -/* 80155B18 4B FF FC 1D */ bl daNpcF_offTmpBit__FUl -/* 80155B1C 38 60 00 33 */ li r3, 0x33 -/* 80155B20 4B FF FC 15 */ bl daNpcF_offTmpBit__FUl -/* 80155B24 38 60 00 34 */ li r3, 0x34 -/* 80155B28 4B FF FC 0D */ bl daNpcF_offTmpBit__FUl -/* 80155B2C 38 60 00 35 */ li r3, 0x35 -/* 80155B30 4B FF FC 05 */ bl daNpcF_offTmpBit__FUl -/* 80155B34 38 60 00 36 */ li r3, 0x36 -/* 80155B38 4B FF FB FD */ bl daNpcF_offTmpBit__FUl -/* 80155B3C 38 60 00 37 */ li r3, 0x37 -/* 80155B40 4B FF FB F5 */ bl daNpcF_offTmpBit__FUl -/* 80155B44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80155B48 7C 08 03 A6 */ mtlr r0 -/* 80155B4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80155B50 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_decIdx__FiRUsii.s b/asm/d/a/d_a_npc/daNpcF_decIdx__FiRUsii.s deleted file mode 100644 index 64aab097d1..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_decIdx__FiRUsii.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80150654: -/* 80150654 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80150658 7C 08 02 A6 */ mflr r0 -/* 8015065C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80150660 7C 68 1B 78 */ mr r8, r3 -/* 80150664 7C 87 23 78 */ mr r7, r4 -/* 80150668 7C A0 2B 78 */ mr r0, r5 -/* 8015066C 2C 06 00 00 */ cmpwi r6, 0 -/* 80150670 41 82 00 1C */ beq lbl_8015068C -/* 80150674 38 60 00 01 */ li r3, 1 -/* 80150678 7D 04 43 78 */ mr r4, r8 -/* 8015067C 7C E5 3B 78 */ mr r5, r7 -/* 80150680 7C 06 03 78 */ mr r6, r0 -/* 80150684 4B FF FE E9 */ bl daNpcF_addIdx__FiiRUsi -/* 80150688 48 00 00 18 */ b lbl_801506A0 -lbl_8015068C: -/* 8015068C 38 60 00 01 */ li r3, 1 -/* 80150690 7D 04 43 78 */ mr r4, r8 -/* 80150694 7C E5 3B 78 */ mr r5, r7 -/* 80150698 7C 06 03 78 */ mr r6, r0 -/* 8015069C 4B FF FF 11 */ bl daNpcF_subIdx__FiiRUsi -lbl_801506A0: -/* 801506A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801506A4 7C 08 03 A6 */ mtlr r0 -/* 801506A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 801506AC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_getDistTableIdx__Fii.s b/asm/d/a/d_a_npc/daNpcF_getDistTableIdx__Fii.s deleted file mode 100644 index 21d54fd324..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_getDistTableIdx__Fii.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80155AD4: -/* 80155AD4 1C 84 00 14 */ mulli r4, r4, 0x14 -/* 80155AD8 38 04 00 5E */ addi r0, r4, 0x5e -/* 80155ADC 7C 03 02 14 */ add r0, r3, r0 -/* 80155AE0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 80155AE4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_incIdx__FiRUsii.s b/asm/d/a/d_a_npc/daNpcF_incIdx__FiRUsii.s deleted file mode 100644 index 6baa3fa163..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_incIdx__FiRUsii.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_801505F8: -/* 801505F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801505FC 7C 08 02 A6 */ mflr r0 -/* 80150600 90 01 00 14 */ stw r0, 0x14(r1) -/* 80150604 7C 68 1B 78 */ mr r8, r3 -/* 80150608 7C 87 23 78 */ mr r7, r4 -/* 8015060C 7C A0 2B 78 */ mr r0, r5 -/* 80150610 2C 06 00 00 */ cmpwi r6, 0 -/* 80150614 41 82 00 1C */ beq lbl_80150630 -/* 80150618 38 60 00 01 */ li r3, 1 -/* 8015061C 7D 04 43 78 */ mr r4, r8 -/* 80150620 7C E5 3B 78 */ mr r5, r7 -/* 80150624 7C 06 03 78 */ mr r6, r0 -/* 80150628 4B FF FF 85 */ bl daNpcF_subIdx__FiiRUsi -/* 8015062C 48 00 00 18 */ b lbl_80150644 -lbl_80150630: -/* 80150630 38 60 00 01 */ li r3, 1 -/* 80150634 7D 04 43 78 */ mr r4, r8 -/* 80150638 7C E5 3B 78 */ mr r5, r7 -/* 8015063C 7C 06 03 78 */ mr r6, r0 -/* 80150640 4B FF FF 2D */ bl daNpcF_addIdx__FiiRUsi -lbl_80150644: -/* 80150644 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80150648 7C 08 03 A6 */ mtlr r0 -/* 8015064C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80150650 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_offTmpBit__FUl.s b/asm/d/a/d_a_npc/daNpcF_offTmpBit__FUl.s deleted file mode 100644 index ac06ebcc88..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_offTmpBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80155734: -/* 80155734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80155738 7C 08 02 A6 */ mflr r0 -/* 8015573C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80155740 7C 60 1B 78 */ mr r0, r3 -/* 80155744 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80155748 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015574C 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 80155750 54 00 08 3C */ slwi r0, r0, 1 -/* 80155754 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 80155758 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 8015575C 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80155760 4B ED F2 45 */ bl offEventBit__11dSv_event_cFUs -/* 80155764 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80155768 7C 08 03 A6 */ mtlr r0 -/* 8015576C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80155770 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_onEvtBit__FUl.s b/asm/d/a/d_a_npc/daNpcF_onEvtBit__FUl.s deleted file mode 100644 index 88a50e36ba..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_onEvtBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80155674: -/* 80155674 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80155678 7C 08 02 A6 */ mflr r0 -/* 8015567C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80155680 7C 60 1B 78 */ mr r0, r3 -/* 80155684 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80155688 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015568C 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 80155690 54 00 08 3C */ slwi r0, r0, 1 -/* 80155694 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 80155698 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8015569C 7C 84 02 2E */ lhzx r4, r4, r0 -/* 801556A0 4B ED F2 ED */ bl onEventBit__11dSv_event_cFUs -/* 801556A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801556A8 7C 08 03 A6 */ mtlr r0 -/* 801556AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 801556B0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_onTmpBit__FUl.s b/asm/d/a/d_a_npc/daNpcF_onTmpBit__FUl.s deleted file mode 100644 index 286afc42ce..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_onTmpBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_801556F4: -/* 801556F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801556F8 7C 08 02 A6 */ mflr r0 -/* 801556FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80155700 7C 60 1B 78 */ mr r0, r3 -/* 80155704 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80155708 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8015570C 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 80155710 54 00 08 3C */ slwi r0, r0, 1 -/* 80155714 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 80155718 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 8015571C 7C 84 02 2E */ lhzx r4, r4, r0 -/* 80155720 4B ED F2 6D */ bl onEventBit__11dSv_event_cFUs -/* 80155724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80155728 7C 08 03 A6 */ mtlr r0 -/* 8015572C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80155730 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf.s b/asm/d/a/d_a_npc/daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf.s deleted file mode 100644 index d35ac230c9..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80154DA8: -/* 80154DA8 38 00 00 00 */ li r0, 0 -/* 80154DAC ED 05 18 28 */ fsubs f8, f5, f3 -/* 80154DB0 ED 26 20 28 */ fsubs f9, f6, f4 -/* 80154DB4 EC A8 02 32 */ fmuls f5, f8, f8 -/* 80154DB8 EC 09 02 72 */ fmuls f0, f9, f9 -/* 80154DBC EC E5 00 2A */ fadds f7, f5, f0 -/* 80154DC0 C0 C2 99 D8 */ lfs f6, lit_4116(r2) -/* 80154DC4 FC 06 38 00 */ fcmpu cr0, f6, f7 -/* 80154DC8 40 82 00 10 */ bne lbl_80154DD8 -/* 80154DCC D0 C5 00 00 */ stfs f6, 0(r5) -/* 80154DD0 38 60 00 00 */ li r3, 0 -/* 80154DD4 4E 80 00 20 */ blr -lbl_80154DD8: -/* 80154DD8 EC 01 18 28 */ fsubs f0, f1, f3 -/* 80154DDC EC A8 00 32 */ fmuls f5, f8, f0 -/* 80154DE0 EC 02 20 28 */ fsubs f0, f2, f4 -/* 80154DE4 EC 09 00 32 */ fmuls f0, f9, f0 -/* 80154DE8 EC 05 00 2A */ fadds f0, f5, f0 -/* 80154DEC EC A0 38 24 */ fdivs f5, f0, f7 -/* 80154DF0 FC 06 28 40 */ fcmpo cr0, f6, f5 -/* 80154DF4 4C 40 13 82 */ cror 2, 0, 2 -/* 80154DF8 40 82 00 18 */ bne lbl_80154E10 -/* 80154DFC C0 02 99 DC */ lfs f0, lit_4140(r2) -/* 80154E00 FC 05 00 40 */ fcmpo cr0, f5, f0 -/* 80154E04 4C 40 13 82 */ cror 2, 0, 2 -/* 80154E08 40 82 00 08 */ bne lbl_80154E10 -/* 80154E0C 38 00 00 01 */ li r0, 1 -lbl_80154E10: -/* 80154E10 EC 08 01 72 */ fmuls f0, f8, f5 -/* 80154E14 EC 03 00 2A */ fadds f0, f3, f0 -/* 80154E18 D0 03 00 00 */ stfs f0, 0(r3) -/* 80154E1C EC 09 01 72 */ fmuls f0, f9, f5 -/* 80154E20 EC 04 00 2A */ fadds f0, f4, f0 -/* 80154E24 D0 04 00 00 */ stfs f0, 0(r4) -/* 80154E28 C0 83 00 00 */ lfs f4, 0(r3) -/* 80154E2C EC 04 08 28 */ fsubs f0, f4, f1 -/* 80154E30 EC 60 00 32 */ fmuls f3, f0, f0 -/* 80154E34 C0 04 00 00 */ lfs f0, 0(r4) -/* 80154E38 EC 20 10 28 */ fsubs f1, f0, f2 -/* 80154E3C EC 04 10 28 */ fsubs f0, f4, f2 -/* 80154E40 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80154E44 EC 03 00 2A */ fadds f0, f3, f0 -/* 80154E48 D0 05 00 00 */ stfs f0, 0(r5) -/* 80154E4C 7C 03 03 78 */ mr r3, r0 -/* 80154E50 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcF_subIdx__FiiRUsi.s b/asm/d/a/d_a_npc/daNpcF_subIdx__FiiRUsi.s deleted file mode 100644 index b4b5c3f1e2..0000000000 --- a/asm/d/a/d_a_npc/daNpcF_subIdx__FiiRUsi.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_801505AC: -/* 801505AC 38 E0 00 00 */ li r7, 0 -/* 801505B0 A1 05 00 00 */ lhz r8, 0(r5) -/* 801505B4 7D 03 40 51 */ subf. r8, r3, r8 -/* 801505B8 40 80 00 34 */ bge lbl_801505EC -/* 801505BC 2C 06 00 00 */ cmpwi r6, 0 -/* 801505C0 41 82 00 24 */ beq lbl_801505E4 -/* 801505C4 7C 08 23 D6 */ divw r0, r8, r4 -/* 801505C8 7C 00 21 D6 */ mullw r0, r0, r4 -/* 801505CC 7C 00 40 50 */ subf r0, r0, r8 -/* 801505D0 7C 64 02 14 */ add r3, r4, r0 -/* 801505D4 7C 03 23 D6 */ divw r0, r3, r4 -/* 801505D8 7C 00 21 D6 */ mullw r0, r0, r4 -/* 801505DC 7D 00 18 50 */ subf r8, r0, r3 -/* 801505E0 48 00 00 0C */ b lbl_801505EC -lbl_801505E4: -/* 801505E4 39 00 00 00 */ li r8, 0 -/* 801505E8 38 E0 00 01 */ li r7, 1 -lbl_801505EC: -/* 801505EC B1 05 00 00 */ sth r8, 0(r5) -/* 801505F0 7C E3 3B 78 */ mr r3, r7 -/* 801505F4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_addIdx__FiiRUsi.s b/asm/d/a/d_a_npc/daNpcT_addIdx__FiiRUsi.s deleted file mode 100644 index a9821d8f54..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_addIdx__FiiRUsi.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80145A38: -/* 80145A38 38 E0 00 00 */ li r7, 0 -/* 80145A3C A1 05 00 00 */ lhz r8, 0(r5) -/* 80145A40 7D 08 1A 14 */ add r8, r8, r3 -/* 80145A44 7C 04 40 00 */ cmpw r4, r8 -/* 80145A48 41 81 00 24 */ bgt lbl_80145A6C -/* 80145A4C 2C 06 00 00 */ cmpwi r6, 0 -/* 80145A50 41 82 00 14 */ beq lbl_80145A64 -/* 80145A54 7C 08 23 D6 */ divw r0, r8, r4 -/* 80145A58 7C 00 21 D6 */ mullw r0, r0, r4 -/* 80145A5C 7D 00 40 50 */ subf r8, r0, r8 -/* 80145A60 48 00 00 0C */ b lbl_80145A6C -lbl_80145A64: -/* 80145A64 39 04 FF FF */ addi r8, r4, -1 -/* 80145A68 38 E0 00 01 */ li r7, 1 -lbl_80145A6C: -/* 80145A6C B1 05 00 00 */ sth r8, 0(r5) -/* 80145A70 7C E3 3B 78 */ mr r3, r7 -/* 80145A74 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c.s b/asm/d/a/d_a_npc/daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c.s deleted file mode 100644 index 75dce9e89e..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c.s +++ /dev/null @@ -1,80 +0,0 @@ -lbl_8014C5E0: -/* 8014C5E0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8014C5E4 7C 08 02 A6 */ mflr r0 -/* 8014C5E8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8014C5EC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8014C5F0 48 21 5B E9 */ bl _savegpr_28 -/* 8014C5F4 7C 7C 1B 78 */ mr r28, r3 -/* 8014C5F8 3B C0 00 00 */ li r30, 0 -/* 8014C5FC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014C600 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014C604 88 03 5E 24 */ lbz r0, 0x5e24(r3) -/* 8014C608 28 00 00 1C */ cmplwi r0, 0x1c -/* 8014C60C 40 82 00 D8 */ bne lbl_8014C6E4 -/* 8014C610 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8014C614 7F 84 E3 78 */ mr r4, r28 -/* 8014C618 81 83 06 28 */ lwz r12, 0x628(r3) -/* 8014C61C 81 8C 01 D8 */ lwz r12, 0x1d8(r12) -/* 8014C620 7D 89 03 A6 */ mtctr r12 -/* 8014C624 4E 80 04 21 */ bctrl -/* 8014C628 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8014C62C 41 82 00 B8 */ beq lbl_8014C6E4 -/* 8014C630 3B A0 00 00 */ li r29, 0 -/* 8014C634 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014C638 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014C63C 3B E3 56 B8 */ addi r31, r3, 0x56b8 -/* 8014C640 48 00 00 44 */ b lbl_8014C684 -lbl_8014C644: -/* 8014C644 7F E3 FB 78 */ mr r3, r31 -/* 8014C648 7F A4 EB 78 */ mr r4, r29 -/* 8014C64C 4B F2 70 E9 */ bl ActionTarget__12dAttention_cFl -/* 8014C650 7C 03 E0 40 */ cmplw r3, r28 -/* 8014C654 40 82 00 2C */ bne lbl_8014C680 -/* 8014C658 7F E3 FB 78 */ mr r3, r31 -/* 8014C65C 4B F2 42 25 */ bl getActionBtnB__12dAttention_cFv -/* 8014C660 28 03 00 00 */ cmplwi r3, 0 -/* 8014C664 41 82 00 1C */ beq lbl_8014C680 -/* 8014C668 7F E3 FB 78 */ mr r3, r31 -/* 8014C66C 4B F2 42 15 */ bl getActionBtnB__12dAttention_cFv -/* 8014C670 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8014C674 28 00 00 03 */ cmplwi r0, 3 -/* 8014C678 40 82 00 08 */ bne lbl_8014C680 -/* 8014C67C 3B C0 00 01 */ li r30, 1 -lbl_8014C680: -/* 8014C680 3B BD 00 01 */ addi r29, r29, 1 -lbl_8014C684: -/* 8014C684 80 1F 04 30 */ lwz r0, 0x430(r31) -/* 8014C688 7C 1D 00 00 */ cmpw r29, r0 -/* 8014C68C 41 80 FF B8 */ blt lbl_8014C644 -/* 8014C690 3B A0 00 00 */ li r29, 0 -/* 8014C694 48 00 00 44 */ b lbl_8014C6D8 -lbl_8014C698: -/* 8014C698 7F E3 FB 78 */ mr r3, r31 -/* 8014C69C 7F A4 EB 78 */ mr r4, r29 -/* 8014C6A0 4B F2 6E 9D */ bl LockonTarget__12dAttention_cFl -/* 8014C6A4 7C 03 E0 40 */ cmplw r3, r28 -/* 8014C6A8 40 82 00 2C */ bne lbl_8014C6D4 -/* 8014C6AC 7F E3 FB 78 */ mr r3, r31 -/* 8014C6B0 4B F2 41 D1 */ bl getActionBtnB__12dAttention_cFv -/* 8014C6B4 28 03 00 00 */ cmplwi r3, 0 -/* 8014C6B8 41 82 00 1C */ beq lbl_8014C6D4 -/* 8014C6BC 7F E3 FB 78 */ mr r3, r31 -/* 8014C6C0 4B F2 41 C1 */ bl getActionBtnB__12dAttention_cFv -/* 8014C6C4 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8014C6C8 28 00 00 01 */ cmplwi r0, 1 -/* 8014C6CC 40 82 00 08 */ bne lbl_8014C6D4 -/* 8014C6D0 3B C0 00 01 */ li r30, 1 -lbl_8014C6D4: -/* 8014C6D4 3B BD 00 01 */ addi r29, r29, 1 -lbl_8014C6D8: -/* 8014C6D8 80 1F 03 D8 */ lwz r0, 0x3d8(r31) -/* 8014C6DC 7C 1D 00 00 */ cmpw r29, r0 -/* 8014C6E0 41 80 FF B8 */ blt lbl_8014C698 -lbl_8014C6E4: -/* 8014C6E4 7F C3 F3 78 */ mr r3, r30 -/* 8014C6E8 39 61 00 20 */ addi r11, r1, 0x20 -/* 8014C6EC 48 21 5B 39 */ bl _restgpr_28 -/* 8014C6F0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8014C6F4 7C 08 03 A6 */ mtlr r0 -/* 8014C6F8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8014C6FC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_chkEvtBit__FUl.s b/asm/d/a/d_a_npc/daNpcT_chkEvtBit__FUl.s deleted file mode 100644 index 0830c5b663..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_chkEvtBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014CAAC: -/* 8014CAAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014CAB0 7C 08 02 A6 */ mflr r0 -/* 8014CAB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014CAB8 7C 60 1B 78 */ mr r0, r3 -/* 8014CABC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014CAC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014CAC4 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8014CAC8 54 00 08 3C */ slwi r0, r0, 1 -/* 8014CACC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8014CAD0 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8014CAD4 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8014CAD8 4B EE 7E E5 */ bl isEventBit__11dSv_event_cCFUs -/* 8014CADC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014CAE0 7C 08 03 A6 */ mtlr r0 -/* 8014CAE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014CAE8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_chkTmpBit__FUl.s b/asm/d/a/d_a_npc/daNpcT_chkTmpBit__FUl.s deleted file mode 100644 index b25b02c100..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_chkTmpBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014CB6C: -/* 8014CB6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014CB70 7C 08 02 A6 */ mflr r0 -/* 8014CB74 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014CB78 7C 60 1B 78 */ mr r0, r3 -/* 8014CB7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014CB80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014CB84 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8014CB88 54 00 08 3C */ slwi r0, r0, 1 -/* 8014CB8C 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 8014CB90 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 8014CB94 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8014CB98 4B EE 7E 25 */ bl isEventBit__11dSv_event_cCFUs -/* 8014CB9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014CBA0 7C 08 03 A6 */ mtlr r0 -/* 8014CBA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014CBA8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_decIdx__FiRUsii.s b/asm/d/a/d_a_npc/daNpcT_decIdx__FiRUsii.s deleted file mode 100644 index 71b9379fd6..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_decIdx__FiRUsii.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80145B20: -/* 80145B20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80145B24 7C 08 02 A6 */ mflr r0 -/* 80145B28 90 01 00 14 */ stw r0, 0x14(r1) -/* 80145B2C 7C 68 1B 78 */ mr r8, r3 -/* 80145B30 7C 87 23 78 */ mr r7, r4 -/* 80145B34 7C A0 2B 78 */ mr r0, r5 -/* 80145B38 2C 06 00 00 */ cmpwi r6, 0 -/* 80145B3C 41 82 00 1C */ beq lbl_80145B58 -/* 80145B40 38 60 00 01 */ li r3, 1 -/* 80145B44 7D 04 43 78 */ mr r4, r8 -/* 80145B48 7C E5 3B 78 */ mr r5, r7 -/* 80145B4C 7C 06 03 78 */ mr r6, r0 -/* 80145B50 4B FF FE E9 */ bl daNpcT_addIdx__FiiRUsi -/* 80145B54 48 00 00 18 */ b lbl_80145B6C -lbl_80145B58: -/* 80145B58 38 60 00 01 */ li r3, 1 -/* 80145B5C 7D 04 43 78 */ mr r4, r8 -/* 80145B60 7C E5 3B 78 */ mr r5, r7 -/* 80145B64 7C 06 03 78 */ mr r6, r0 -/* 80145B68 4B FF FF 11 */ bl daNpcT_subIdx__FiiRUsi -lbl_80145B6C: -/* 80145B6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80145B70 7C 08 03 A6 */ mtlr r0 -/* 80145B74 38 21 00 10 */ addi r1, r1, 0x10 -/* 80145B78 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_getDistTableIdx__Fii.s b/asm/d/a/d_a_npc/daNpcT_getDistTableIdx__Fii.s deleted file mode 100644 index 2e46d0b907..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_getDistTableIdx__Fii.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8014CA18: -/* 8014CA18 1C 84 00 14 */ mulli r4, r4, 0x14 -/* 8014CA1C 38 04 00 5E */ addi r0, r4, 0x5e -/* 8014CA20 7C 03 02 14 */ add r0, r3, r0 -/* 8014CA24 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8014CA28 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_incIdx__FiRUsii.s b/asm/d/a/d_a_npc/daNpcT_incIdx__FiRUsii.s deleted file mode 100644 index bf41ff5d1d..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_incIdx__FiRUsii.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80145AC4: -/* 80145AC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80145AC8 7C 08 02 A6 */ mflr r0 -/* 80145ACC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80145AD0 7C 68 1B 78 */ mr r8, r3 -/* 80145AD4 7C 87 23 78 */ mr r7, r4 -/* 80145AD8 7C A0 2B 78 */ mr r0, r5 -/* 80145ADC 2C 06 00 00 */ cmpwi r6, 0 -/* 80145AE0 41 82 00 1C */ beq lbl_80145AFC -/* 80145AE4 38 60 00 01 */ li r3, 1 -/* 80145AE8 7D 04 43 78 */ mr r4, r8 -/* 80145AEC 7C E5 3B 78 */ mr r5, r7 -/* 80145AF0 7C 06 03 78 */ mr r6, r0 -/* 80145AF4 4B FF FF 85 */ bl daNpcT_subIdx__FiiRUsi -/* 80145AF8 48 00 00 18 */ b lbl_80145B10 -lbl_80145AFC: -/* 80145AFC 38 60 00 01 */ li r3, 1 -/* 80145B00 7D 04 43 78 */ mr r4, r8 -/* 80145B04 7C E5 3B 78 */ mr r5, r7 -/* 80145B08 7C 06 03 78 */ mr r6, r0 -/* 80145B0C 4B FF FF 2D */ bl daNpcT_addIdx__FiiRUsi -lbl_80145B10: -/* 80145B10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80145B14 7C 08 03 A6 */ mtlr r0 -/* 80145B18 38 21 00 10 */ addi r1, r1, 0x10 -/* 80145B1C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_offEvtBit__FUl.s b/asm/d/a/d_a_npc/daNpcT_offEvtBit__FUl.s deleted file mode 100644 index 28bcba2a80..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_offEvtBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014CA6C: -/* 8014CA6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014CA70 7C 08 02 A6 */ mflr r0 -/* 8014CA74 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014CA78 7C 60 1B 78 */ mr r0, r3 -/* 8014CA7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014CA80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014CA84 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8014CA88 54 00 08 3C */ slwi r0, r0, 1 -/* 8014CA8C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8014CA90 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8014CA94 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8014CA98 4B EE 7F 0D */ bl offEventBit__11dSv_event_cFUs -/* 8014CA9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014CAA0 7C 08 03 A6 */ mtlr r0 -/* 8014CAA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014CAA8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_offTmpBit__FUl.s b/asm/d/a/d_a_npc/daNpcT_offTmpBit__FUl.s deleted file mode 100644 index 2b2255bacb..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_offTmpBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014CB2C: -/* 8014CB2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014CB30 7C 08 02 A6 */ mflr r0 -/* 8014CB34 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014CB38 7C 60 1B 78 */ mr r0, r3 -/* 8014CB3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014CB40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014CB44 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8014CB48 54 00 08 3C */ slwi r0, r0, 1 -/* 8014CB4C 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 8014CB50 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 8014CB54 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8014CB58 4B EE 7E 4D */ bl offEventBit__11dSv_event_cFUs -/* 8014CB5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014CB60 7C 08 03 A6 */ mtlr r0 -/* 8014CB64 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014CB68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_onEvtBit__FUl.s b/asm/d/a/d_a_npc/daNpcT_onEvtBit__FUl.s deleted file mode 100644 index 75becefa1f..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_onEvtBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014CA2C: -/* 8014CA2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014CA30 7C 08 02 A6 */ mflr r0 -/* 8014CA34 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014CA38 7C 60 1B 78 */ mr r0, r3 -/* 8014CA3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014CA40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014CA44 38 63 07 F0 */ addi r3, r3, 0x7f0 -/* 8014CA48 54 00 08 3C */ slwi r0, r0, 1 -/* 8014CA4C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */ -/* 8014CA50 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */ -/* 8014CA54 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8014CA58 4B EE 7F 35 */ bl onEventBit__11dSv_event_cFUs -/* 8014CA5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014CA60 7C 08 03 A6 */ mtlr r0 -/* 8014CA64 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014CA68 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_onTmpBit__FUl.s b/asm/d/a/d_a_npc/daNpcT_onTmpBit__FUl.s deleted file mode 100644 index d3d829e4c9..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_onTmpBit__FUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014CAEC: -/* 8014CAEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014CAF0 7C 08 02 A6 */ mflr r0 -/* 8014CAF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014CAF8 7C 60 1B 78 */ mr r0, r3 -/* 8014CAFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014CB00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014CB04 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8014CB08 54 00 08 3C */ slwi r0, r0, 1 -/* 8014CB0C 3C 80 80 38 */ lis r4, tempBitLabels__20dSv_event_tmp_flag_c@ha /* 0x803790C0@ha */ -/* 8014CB10 38 84 90 C0 */ addi r4, r4, tempBitLabels__20dSv_event_tmp_flag_c@l /* 0x803790C0@l */ -/* 8014CB14 7C 84 02 2E */ lhzx r4, r4, r0 -/* 8014CB18 4B EE 7E 75 */ bl onEventBit__11dSv_event_cFUs -/* 8014CB1C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014CB20 7C 08 03 A6 */ mtlr r0 -/* 8014CB24 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014CB28 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/daNpcT_subIdx__FiiRUsi.s b/asm/d/a/d_a_npc/daNpcT_subIdx__FiiRUsi.s deleted file mode 100644 index c5387f1d35..0000000000 --- a/asm/d/a/d_a_npc/daNpcT_subIdx__FiiRUsi.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80145A78: -/* 80145A78 38 E0 00 00 */ li r7, 0 -/* 80145A7C A1 05 00 00 */ lhz r8, 0(r5) -/* 80145A80 7D 03 40 51 */ subf. r8, r3, r8 -/* 80145A84 40 80 00 34 */ bge lbl_80145AB8 -/* 80145A88 2C 06 00 00 */ cmpwi r6, 0 -/* 80145A8C 41 82 00 24 */ beq lbl_80145AB0 -/* 80145A90 7C 08 23 D6 */ divw r0, r8, r4 -/* 80145A94 7C 00 21 D6 */ mullw r0, r0, r4 -/* 80145A98 7C 00 40 50 */ subf r0, r0, r8 -/* 80145A9C 7C 64 02 14 */ add r3, r4, r0 -/* 80145AA0 7C 03 23 D6 */ divw r0, r3, r4 -/* 80145AA4 7C 00 21 D6 */ mullw r0, r0, r4 -/* 80145AA8 7D 00 18 50 */ subf r8, r0, r3 -/* 80145AAC 48 00 00 0C */ b lbl_80145AB8 -lbl_80145AB0: -/* 80145AB0 39 00 00 00 */ li r8, 0 -/* 80145AB4 38 E0 00 01 */ li r7, 1 -lbl_80145AB8: -/* 80145AB8 B1 05 00 00 */ sth r8, 0(r5) -/* 80145ABC 7C E3 3B 78 */ mr r3, r7 -/* 80145AC0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c.s b/asm/d/a/d_a_npc/entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c.s deleted file mode 100644 index 1cf593250c..0000000000 --- a/asm/d/a/d_a_npc/entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_801506BC: -/* 801506BC 28 04 00 00 */ cmplwi r4, 0 -/* 801506C0 41 82 00 0C */ beq lbl_801506CC -/* 801506C4 80 04 00 04 */ lwz r0, 4(r4) -/* 801506C8 48 00 00 08 */ b lbl_801506D0 -lbl_801506CC: -/* 801506CC 38 00 FF FF */ li r0, -1 -lbl_801506D0: -/* 801506D0 90 03 00 00 */ stw r0, 0(r3) -/* 801506D4 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/execute__8daNpcT_cFv.s b/asm/d/a/d_a_npc/execute__8daNpcT_cFv.s deleted file mode 100644 index 86934a6e07..0000000000 --- a/asm/d/a/d_a_npc/execute__8daNpcT_cFv.s +++ /dev/null @@ -1,221 +0,0 @@ -lbl_8014852C: -/* 8014852C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80148530 7C 08 02 A6 */ mflr r0 -/* 80148534 90 01 00 14 */ stw r0, 0x14(r1) -/* 80148538 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014853C 93 C1 00 08 */ stw r30, 8(r1) -/* 80148540 7C 7E 1B 78 */ mr r30, r3 -/* 80148544 81 83 0E 3C */ lwz r12, 0xe3c(r3) -/* 80148548 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 8014854C 7D 89 03 A6 */ mtctr r12 -/* 80148550 4E 80 04 21 */ bctrl -/* 80148554 7F C3 F3 78 */ mr r3, r30 -/* 80148558 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 8014855C 81 8C 00 5C */ lwz r12, 0x5c(r12) -/* 80148560 7D 89 03 A6 */ mtctr r12 -/* 80148564 4E 80 04 21 */ bctrl -/* 80148568 2C 03 00 00 */ cmpwi r3, 0 -/* 8014856C 40 82 00 18 */ bne lbl_80148584 -/* 80148570 7F C3 F3 78 */ mr r3, r30 -/* 80148574 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 80148578 81 8C 00 60 */ lwz r12, 0x60(r12) -/* 8014857C 7D 89 03 A6 */ mtctr r12 -/* 80148580 4E 80 04 21 */ bctrl -lbl_80148584: -/* 80148584 7F C3 F3 78 */ mr r3, r30 -/* 80148588 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 8014858C 81 8C 00 64 */ lwz r12, 0x64(r12) -/* 80148590 7D 89 03 A6 */ mtctr r12 -/* 80148594 4E 80 04 21 */ bctrl -/* 80148598 7F C3 F3 78 */ mr r3, r30 -/* 8014859C 38 9E 08 64 */ addi r4, r30, 0x864 -/* 801485A0 4B ED 21 2D */ bl fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz -/* 801485A4 38 7E 06 8C */ addi r3, r30, 0x68c -/* 801485A8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801485AC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801485B0 3B E4 0F 38 */ addi r31, r4, 0xf38 -/* 801485B4 7F E4 FB 78 */ mr r4, r31 -/* 801485B8 4B F2 E4 F5 */ bl CrrPos__9dBgS_AcchFR4dBgS -/* 801485BC 80 1E 07 68 */ lwz r0, 0x768(r30) -/* 801485C0 90 1E 09 30 */ stw r0, 0x930(r30) -/* 801485C4 80 1E 07 6C */ lwz r0, 0x76c(r30) -/* 801485C8 90 1E 09 34 */ stw r0, 0x934(r30) -/* 801485CC 80 1E 07 70 */ lwz r0, 0x770(r30) -/* 801485D0 90 1E 09 38 */ stw r0, 0x938(r30) -/* 801485D4 88 1E 07 74 */ lbz r0, 0x774(r30) -/* 801485D8 98 1E 09 3C */ stb r0, 0x93c(r30) -/* 801485DC A0 1E 07 7C */ lhz r0, 0x77c(r30) -/* 801485E0 B0 1E 09 44 */ sth r0, 0x944(r30) -/* 801485E4 A0 1E 07 7E */ lhz r0, 0x77e(r30) -/* 801485E8 B0 1E 09 46 */ sth r0, 0x946(r30) -/* 801485EC 80 1E 07 80 */ lwz r0, 0x780(r30) -/* 801485F0 90 1E 09 48 */ stw r0, 0x948(r30) -/* 801485F4 80 1E 07 84 */ lwz r0, 0x784(r30) -/* 801485F8 90 1E 09 4C */ stw r0, 0x94c(r30) -/* 801485FC C0 1E 07 8C */ lfs f0, 0x78c(r30) -/* 80148600 D0 1E 09 54 */ stfs f0, 0x954(r30) -/* 80148604 C0 1E 07 90 */ lfs f0, 0x790(r30) -/* 80148608 D0 1E 09 58 */ stfs f0, 0x958(r30) -/* 8014860C C0 1E 07 94 */ lfs f0, 0x794(r30) -/* 80148610 D0 1E 09 5C */ stfs f0, 0x95c(r30) -/* 80148614 80 1E 07 98 */ lwz r0, 0x798(r30) -/* 80148618 90 1E 09 60 */ stw r0, 0x960(r30) -/* 8014861C C0 1E 07 9C */ lfs f0, 0x79c(r30) -/* 80148620 D0 1E 09 64 */ stfs f0, 0x964(r30) -/* 80148624 80 1E 07 A0 */ lwz r0, 0x7a0(r30) -/* 80148628 90 1E 09 68 */ stw r0, 0x968(r30) -/* 8014862C 38 7E 09 44 */ addi r3, r30, 0x944 -/* 80148630 A8 9E 04 DE */ lha r4, 0x4de(r30) -/* 80148634 4B ED 54 B1 */ bl fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos -/* 80148638 B0 7E 0D CA */ sth r3, 0xdca(r30) -/* 8014863C C0 1E 07 24 */ lfs f0, 0x724(r30) -/* 80148640 D0 1E 0D F4 */ stfs f0, 0xdf4(r30) -/* 80148644 C0 22 9A 40 */ lfs f1, lit_5667(r2) -/* 80148648 C0 1E 0D F4 */ lfs f0, 0xdf4(r30) -/* 8014864C FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 80148650 41 82 00 4C */ beq lbl_8014869C -/* 80148654 38 7E 07 7C */ addi r3, r30, 0x77c -/* 80148658 48 06 2E 69 */ bl dKy_pol_sound_get__FPC13cBgS_PolyInfo -/* 8014865C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80148660 90 1E 0D A8 */ stw r0, 0xda8(r30) -/* 80148664 88 7E 08 86 */ lbz r3, 0x886(r30) -/* 80148668 4B EE 4A 05 */ bl dComIfGp_getReverb__Fi -/* 8014866C 98 7E 0E 24 */ stb r3, 0xe24(r30) -/* 80148670 80 1E 06 B8 */ lwz r0, 0x6b8(r30) -/* 80148674 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 -/* 80148678 41 82 00 24 */ beq lbl_8014869C -/* 8014867C C0 3E 08 58 */ lfs f1, 0x858(r30) -/* 80148680 C0 1E 0D F4 */ lfs f0, 0xdf4(r30) -/* 80148684 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80148688 40 81 00 14 */ ble lbl_8014869C -/* 8014868C 38 7E 08 0C */ addi r3, r30, 0x80c -/* 80148690 48 06 2E 31 */ bl dKy_pol_sound_get__FPC13cBgS_PolyInfo -/* 80148694 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80148698 90 1E 0D A8 */ stw r0, 0xda8(r30) -lbl_8014869C: -/* 8014869C 7F C3 F3 78 */ mr r3, r30 -/* 801486A0 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 801486A4 81 8C 00 68 */ lwz r12, 0x68(r12) -/* 801486A8 7D 89 03 A6 */ mtctr r12 -/* 801486AC 4E 80 04 21 */ bctrl -/* 801486B0 C0 22 9A 40 */ lfs f1, lit_5667(r2) -/* 801486B4 C0 1E 0D F4 */ lfs f0, 0xdf4(r30) -/* 801486B8 FC 01 00 00 */ fcmpu cr0, f1, f0 -/* 801486BC 41 82 00 14 */ beq lbl_801486D0 -/* 801486C0 7F C3 F3 78 */ mr r3, r30 -/* 801486C4 48 00 05 AD */ bl setEnvTevColor__8daNpcT_cFv -/* 801486C8 7F C3 F3 78 */ mr r3, r30 -/* 801486CC 48 00 06 01 */ bl setRoomNo__8daNpcT_cFv -lbl_801486D0: -/* 801486D0 38 60 00 00 */ li r3, 0 -/* 801486D4 80 1E 0B 60 */ lwz r0, 0xb60(r30) -/* 801486D8 2C 00 00 00 */ cmpwi r0, 0 -/* 801486DC 40 82 00 14 */ bne lbl_801486F0 -/* 801486E0 80 1E 0B 64 */ lwz r0, 0xb64(r30) -/* 801486E4 2C 00 FF FF */ cmpwi r0, -1 -/* 801486E8 40 82 00 08 */ bne lbl_801486F0 -/* 801486EC 38 60 00 01 */ li r3, 1 -lbl_801486F0: -/* 801486F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 801486F4 41 82 00 24 */ beq lbl_80148718 -/* 801486F8 7F C3 F3 78 */ mr r3, r30 -/* 801486FC 48 00 0B 51 */ bl ctrlFaceMotion__8daNpcT_cFv -/* 80148700 7F C3 F3 78 */ mr r3, r30 -/* 80148704 38 80 00 01 */ li r4, 1 -/* 80148708 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 8014870C 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80148710 7D 89 03 A6 */ mtctr r12 -/* 80148714 4E 80 04 21 */ bctrl -lbl_80148718: -/* 80148718 38 60 00 00 */ li r3, 0 -/* 8014871C 80 1E 0B 84 */ lwz r0, 0xb84(r30) -/* 80148720 2C 00 00 00 */ cmpwi r0, 0 -/* 80148724 40 82 00 14 */ bne lbl_80148738 -/* 80148728 80 1E 0B 88 */ lwz r0, 0xb88(r30) -/* 8014872C 2C 00 FF FF */ cmpwi r0, -1 -/* 80148730 40 82 00 08 */ bne lbl_80148738 -/* 80148734 38 60 00 01 */ li r3, 1 -lbl_80148738: -/* 80148738 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8014873C 41 82 00 0C */ beq lbl_80148748 -/* 80148740 7F C3 F3 78 */ mr r3, r30 -/* 80148744 48 00 0B BD */ bl ctrlMotion__8daNpcT_cFv -lbl_80148748: -/* 80148748 7F C3 F3 78 */ mr r3, r30 -/* 8014874C 48 00 07 01 */ bl playAllAnm__8daNpcT_cFv -/* 80148750 7F C3 F3 78 */ mr r3, r30 -/* 80148754 48 00 0A F9 */ bl ctrlFaceMotion__8daNpcT_cFv -/* 80148758 7F C3 F3 78 */ mr r3, r30 -/* 8014875C 38 80 00 00 */ li r4, 0 -/* 80148760 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 80148764 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80148768 7D 89 03 A6 */ mtctr r12 -/* 8014876C 4E 80 04 21 */ bctrl -/* 80148770 7F C3 F3 78 */ mr r3, r30 -/* 80148774 48 00 0B 8D */ bl ctrlMotion__8daNpcT_cFv -/* 80148778 7F C3 F3 78 */ mr r3, r30 -/* 8014877C 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 80148780 81 8C 00 6C */ lwz r12, 0x6c(r12) -/* 80148784 7D 89 03 A6 */ mtctr r12 -/* 80148788 4E 80 04 21 */ bctrl -/* 8014878C 38 7E 0D FC */ addi r3, r30, 0xdfc -/* 80148790 C0 22 99 D8 */ lfs f1, lit_4116(r2) -/* 80148794 C0 42 99 DC */ lfs f2, lit_4140(r2) -/* 80148798 48 12 7F A9 */ bl cLib_chaseF__FPfff -/* 8014879C 7F C3 F3 78 */ mr r3, r30 -/* 801487A0 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 801487A4 81 8C 00 80 */ lwz r12, 0x80(r12) -/* 801487A8 7D 89 03 A6 */ mtctr r12 -/* 801487AC 4E 80 04 21 */ bctrl -/* 801487B0 7F C3 F3 78 */ mr r3, r30 -/* 801487B4 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 801487B8 81 8C 00 74 */ lwz r12, 0x74(r12) -/* 801487BC 7D 89 03 A6 */ mtctr r12 -/* 801487C0 4E 80 04 21 */ bctrl -/* 801487C4 88 1E 0E 2C */ lbz r0, 0xe2c(r30) -/* 801487C8 28 00 00 00 */ cmplwi r0, 0 -/* 801487CC 40 82 00 5C */ bne lbl_80148828 -/* 801487D0 88 1E 0E 33 */ lbz r0, 0xe33(r30) -/* 801487D4 28 00 00 00 */ cmplwi r0, 0 -/* 801487D8 41 82 00 28 */ beq lbl_80148800 -/* 801487DC 38 00 00 00 */ li r0, 0 -/* 801487E0 88 7F 40 75 */ lbz r3, 0x4075(r31) -/* 801487E4 28 03 00 00 */ cmplwi r3, 0 -/* 801487E8 41 82 00 0C */ beq lbl_801487F4 -/* 801487EC 28 03 00 02 */ cmplwi r3, 2 -/* 801487F0 40 82 00 08 */ bne lbl_801487F8 -lbl_801487F4: -/* 801487F4 38 00 00 01 */ li r0, 1 -lbl_801487F8: -/* 801487F8 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 801487FC 40 82 00 18 */ bne lbl_80148814 -lbl_80148800: -/* 80148800 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80148804 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80148808 88 03 4F AD */ lbz r0, 0x4fad(r3) -/* 8014880C 28 00 00 00 */ cmplwi r0, 0 -/* 80148810 40 82 00 18 */ bne lbl_80148828 -lbl_80148814: -/* 80148814 7F C3 F3 78 */ mr r3, r30 -/* 80148818 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 8014881C 81 8C 00 88 */ lwz r12, 0x88(r12) -/* 80148820 7D 89 03 A6 */ mtctr r12 -/* 80148824 4E 80 04 21 */ bctrl -lbl_80148828: -/* 80148828 7F C3 F3 78 */ mr r3, r30 -/* 8014882C 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 80148830 81 8C 00 90 */ lwz r12, 0x90(r12) -/* 80148834 7D 89 03 A6 */ mtctr r12 -/* 80148838 4E 80 04 21 */ bctrl -/* 8014883C 7F C3 F3 78 */ mr r3, r30 -/* 80148840 81 9E 0E 3C */ lwz r12, 0xe3c(r30) -/* 80148844 81 8C 00 8C */ lwz r12, 0x8c(r12) -/* 80148848 7D 89 03 A6 */ mtctr r12 -/* 8014884C 4E 80 04 21 */ bctrl -/* 80148850 38 60 00 01 */ li r3, 1 -/* 80148854 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80148858 83 C1 00 08 */ lwz r30, 8(r1) -/* 8014885C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80148860 7C 08 03 A6 */ mtlr r0 -/* 80148864 38 21 00 10 */ addi r1, r1, 0x10 -/* 80148868 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getActorP__18daNpcF_ActorMngr_cFv.s b/asm/d/a/d_a_npc/getActorP__18daNpcF_ActorMngr_cFv.s deleted file mode 100644 index c5482c63d5..0000000000 --- a/asm/d/a/d_a_npc/getActorP__18daNpcF_ActorMngr_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_801506EC: -/* 801506EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801506F0 7C 08 02 A6 */ mflr r0 -/* 801506F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 801506F8 38 00 00 00 */ li r0, 0 -/* 801506FC 90 01 00 08 */ stw r0, 8(r1) -/* 80150700 80 63 00 00 */ lwz r3, 0(r3) -/* 80150704 38 81 00 08 */ addi r4, r1, 8 -/* 80150708 4B EC 92 B5 */ bl fopAcM_SearchByID__FUiPP10fopAc_ac_c -/* 8015070C 2C 03 00 01 */ cmpwi r3, 1 -/* 80150710 40 82 00 14 */ bne lbl_80150724 -/* 80150714 80 61 00 08 */ lwz r3, 8(r1) -/* 80150718 28 03 00 00 */ cmplwi r3, 0 -/* 8015071C 41 82 00 08 */ beq lbl_80150724 -/* 80150720 48 00 00 08 */ b lbl_80150728 -lbl_80150724: -/* 80150724 38 60 00 00 */ li r3, 0 -lbl_80150728: -/* 80150728 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8015072C 7C 08 03 A6 */ mtlr r0 -/* 80150730 38 21 00 10 */ addi r1, r1, 0x10 -/* 80150734 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getAttentionPos__8daNpcF_cFP10fopAc_ac_c.s b/asm/d/a/d_a_npc/getAttentionPos__8daNpcF_cFP10fopAc_ac_c.s deleted file mode 100644 index 23f4734da0..0000000000 --- a/asm/d/a/d_a_npc/getAttentionPos__8daNpcF_cFP10fopAc_ac_c.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_8015496C: -/* 8015496C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80154970 7C 08 02 A6 */ mflr r0 -/* 80154974 90 01 00 24 */ stw r0, 0x24(r1) -/* 80154978 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8015497C 7C 7F 1B 78 */ mr r31, r3 -/* 80154980 C0 05 05 50 */ lfs f0, 0x550(r5) -/* 80154984 D0 01 00 08 */ stfs f0, 8(r1) -/* 80154988 C0 05 05 54 */ lfs f0, 0x554(r5) -/* 8015498C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80154990 C0 05 05 58 */ lfs f0, 0x558(r5) -/* 80154994 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80154998 A8 05 00 08 */ lha r0, 8(r5) -/* 8015499C 2C 00 00 FD */ cmpwi r0, 0xfd -/* 801549A0 40 82 00 14 */ bne lbl_801549B4 -/* 801549A4 48 00 AA 59 */ bl getAttentionOffsetY__9daPy_py_cFv -/* 801549A8 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 801549AC EC 00 08 28 */ fsubs f0, f0, f1 -/* 801549B0 D0 01 00 0C */ stfs f0, 0xc(r1) -lbl_801549B4: -/* 801549B4 C0 01 00 08 */ lfs f0, 8(r1) -/* 801549B8 D0 1F 00 00 */ stfs f0, 0(r31) -/* 801549BC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 801549C0 D0 1F 00 04 */ stfs f0, 4(r31) -/* 801549C4 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 801549C8 D0 1F 00 08 */ stfs f0, 8(r31) -/* 801549CC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801549D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801549D4 7C 08 03 A6 */ mtlr r0 -/* 801549D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 801549DC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getDistTableIdx__8daNpcF_cFii.s b/asm/d/a/d_a_npc/getDistTableIdx__8daNpcF_cFii.s deleted file mode 100644 index aac3f7b3e5..0000000000 --- a/asm/d/a/d_a_npc/getDistTableIdx__8daNpcF_cFii.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80154278: -/* 80154278 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8015427C 7C 08 02 A6 */ mflr r0 -/* 80154280 90 01 00 14 */ stw r0, 0x14(r1) -/* 80154284 7C 83 23 78 */ mr r3, r4 -/* 80154288 7C A4 2B 78 */ mr r4, r5 -/* 8015428C 48 00 18 49 */ bl daNpcF_getDistTableIdx__Fii -/* 80154290 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80154294 7C 08 03 A6 */ mtlr r0 -/* 80154298 38 21 00 10 */ addi r1, r1, 0x10 -/* 8015429C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getIdx__16daBaseNpc_path_cFv.s b/asm/d/a/d_a_npc/getIdx__16daBaseNpc_path_cFv.s deleted file mode 100644 index 3abcfbdc97..0000000000 --- a/asm/d/a/d_a_npc/getIdx__16daBaseNpc_path_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8014DB04: -/* 8014DB04 A0 63 0A 10 */ lhz r3, 0xa10(r3) -/* 8014DB08 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTexPtrnAnmP__11daBaseNpc_cFPci.s b/asm/d/a/d_a_npc/getTexPtrnAnmP__11daBaseNpc_cFPci.s deleted file mode 100644 index 7e981ee209..0000000000 --- a/asm/d/a/d_a_npc/getTexPtrnAnmP__11daBaseNpc_cFPci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8014EF28: -/* 8014EF28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014EF2C 7C 08 02 A6 */ mflr r0 -/* 8014EF30 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014EF34 7C 83 23 78 */ mr r3, r4 -/* 8014EF38 7C A4 2B 78 */ mr r4, r5 -/* 8014EF3C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014EF40 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014EF44 3C A5 00 02 */ addis r5, r5, 2 -/* 8014EF48 38 C0 00 80 */ li r6, 0x80 -/* 8014EF4C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8014EF50 4B EE D3 9D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 8014EF54 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014EF58 7C 08 03 A6 */ mtlr r0 -/* 8014EF5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014EF60 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__11daBaseNpc_cFPci.s b/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__11daBaseNpc_cFPci.s deleted file mode 100644 index 611ab9a58b..0000000000 --- a/asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__11daBaseNpc_cFPci.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8014EE44: -/* 8014EE44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014EE48 7C 08 02 A6 */ mflr r0 -/* 8014EE4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014EE50 7C 83 23 78 */ mr r3, r4 -/* 8014EE54 7C A4 2B 78 */ mr r4, r5 -/* 8014EE58 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014EE5C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014EE60 3C A5 00 02 */ addis r5, r5, 2 -/* 8014EE64 38 C0 00 80 */ li r6, 0x80 -/* 8014EE68 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8014EE6C 4B EE D4 81 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 8014EE70 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014EE74 7C 08 03 A6 */ mtlr r0 -/* 8014EE78 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014EE7C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz.s b/asm/d/a/d_a_npc/hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz.s deleted file mode 100644 index 9d1cdc59e7..0000000000 --- a/asm/d/a/d_a_npc/hermite__13daNpcT_Path_cFR4cXyzR4cXyzR4cXyzR4cXyzR16daNpcT_Hermite_cR4cXyz.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_80145B7C: -/* 80145B7C C0 27 00 00 */ lfs f1, 0(r7) -/* 80145B80 C0 08 00 10 */ lfs f0, 0x10(r8) -/* 80145B84 EC 81 00 32 */ fmuls f4, f1, f0 -/* 80145B88 C0 25 00 00 */ lfs f1, 0(r5) -/* 80145B8C C0 08 00 0C */ lfs f0, 0xc(r8) -/* 80145B90 EC 61 00 32 */ fmuls f3, f1, f0 -/* 80145B94 C0 24 00 00 */ lfs f1, 0(r4) -/* 80145B98 C0 08 00 04 */ lfs f0, 4(r8) -/* 80145B9C EC 41 00 32 */ fmuls f2, f1, f0 -/* 80145BA0 C0 26 00 00 */ lfs f1, 0(r6) -/* 80145BA4 C0 08 00 08 */ lfs f0, 8(r8) -/* 80145BA8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80145BAC EC 02 00 2A */ fadds f0, f2, f0 -/* 80145BB0 EC 03 00 2A */ fadds f0, f3, f0 -/* 80145BB4 EC 04 00 2A */ fadds f0, f4, f0 -/* 80145BB8 D0 09 00 00 */ stfs f0, 0(r9) -/* 80145BBC C0 27 00 04 */ lfs f1, 4(r7) -/* 80145BC0 C0 08 00 10 */ lfs f0, 0x10(r8) -/* 80145BC4 EC 81 00 32 */ fmuls f4, f1, f0 -/* 80145BC8 C0 25 00 04 */ lfs f1, 4(r5) -/* 80145BCC C0 08 00 0C */ lfs f0, 0xc(r8) -/* 80145BD0 EC 61 00 32 */ fmuls f3, f1, f0 -/* 80145BD4 C0 24 00 04 */ lfs f1, 4(r4) -/* 80145BD8 C0 08 00 04 */ lfs f0, 4(r8) -/* 80145BDC EC 41 00 32 */ fmuls f2, f1, f0 -/* 80145BE0 C0 26 00 04 */ lfs f1, 4(r6) -/* 80145BE4 C0 08 00 08 */ lfs f0, 8(r8) -/* 80145BE8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80145BEC EC 02 00 2A */ fadds f0, f2, f0 -/* 80145BF0 EC 03 00 2A */ fadds f0, f3, f0 -/* 80145BF4 EC 04 00 2A */ fadds f0, f4, f0 -/* 80145BF8 D0 09 00 04 */ stfs f0, 4(r9) -/* 80145BFC C0 27 00 08 */ lfs f1, 8(r7) -/* 80145C00 C0 08 00 10 */ lfs f0, 0x10(r8) -/* 80145C04 EC 81 00 32 */ fmuls f4, f1, f0 -/* 80145C08 C0 25 00 08 */ lfs f1, 8(r5) -/* 80145C0C C0 08 00 0C */ lfs f0, 0xc(r8) -/* 80145C10 EC 61 00 32 */ fmuls f3, f1, f0 -/* 80145C14 C0 24 00 08 */ lfs f1, 8(r4) -/* 80145C18 C0 08 00 04 */ lfs f0, 4(r8) -/* 80145C1C EC 41 00 32 */ fmuls f2, f1, f0 -/* 80145C20 C0 26 00 08 */ lfs f1, 8(r6) -/* 80145C24 C0 08 00 08 */ lfs f0, 8(r8) -/* 80145C28 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80145C2C EC 02 00 2A */ fadds f0, f2, f0 -/* 80145C30 EC 03 00 2A */ fadds f0, f3, f0 -/* 80145C34 EC 04 00 2A */ fadds f0, f4, f0 -/* 80145C38 D0 09 00 08 */ stfs f0, 8(r9) -/* 80145C3C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initTalk__8daNpcF_cFiPP10fopAc_ac_c.s b/asm/d/a/d_a_npc/initTalk__8daNpcF_cFiPP10fopAc_ac_c.s deleted file mode 100644 index 91c7360c1b..0000000000 --- a/asm/d/a/d_a_npc/initTalk__8daNpcF_cFiPP10fopAc_ac_c.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80153D1C: -/* 80153D1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80153D20 7C 08 02 A6 */ mflr r0 -/* 80153D24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80153D28 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80153D2C 7C 7F 1B 78 */ mr r31, r3 -/* 80153D30 7C 80 23 78 */ mr r0, r4 -/* 80153D34 7C A7 2B 78 */ mr r7, r5 -/* 80153D38 38 7F 09 F8 */ addi r3, r31, 0x9f8 -/* 80153D3C 7F E4 FB 78 */ mr r4, r31 -/* 80153D40 7C 05 03 78 */ mr r5, r0 -/* 80153D44 38 C0 00 00 */ li r6, 0 -/* 80153D48 48 0F 62 49 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 80153D4C C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 80153D50 D0 1F 05 2C */ stfs f0, 0x52c(r31) -/* 80153D54 D0 1F 04 F8 */ stfs f0, 0x4f8(r31) -/* 80153D58 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 80153D5C D0 1F 05 00 */ stfs f0, 0x500(r31) -/* 80153D60 38 00 00 00 */ li r0, 0 -/* 80153D64 98 1F 09 E9 */ stb r0, 0x9e9(r31) -/* 80153D68 98 1F 09 EC */ stb r0, 0x9ec(r31) -/* 80153D6C 38 60 00 01 */ li r3, 1 -/* 80153D70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80153D74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80153D78 7C 08 03 A6 */ mtlr r0 -/* 80153D7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80153D80 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initTalk__8daNpcT_cFiPP10fopAc_ac_c.s b/asm/d/a/d_a_npc/initTalk__8daNpcT_cFiPP10fopAc_ac_c.s deleted file mode 100644 index 5508d0b9f9..0000000000 --- a/asm/d/a/d_a_npc/initTalk__8daNpcT_cFiPP10fopAc_ac_c.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8014BBF0: -/* 8014BBF0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014BBF4 7C 08 02 A6 */ mflr r0 -/* 8014BBF8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014BBFC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014BC00 7C 7F 1B 78 */ mr r31, r3 -/* 8014BC04 7C 80 23 78 */ mr r0, r4 -/* 8014BC08 7C A7 2B 78 */ mr r7, r5 -/* 8014BC0C 38 7F 09 74 */ addi r3, r31, 0x974 -/* 8014BC10 7F E4 FB 78 */ mr r4, r31 -/* 8014BC14 7C 05 03 78 */ mr r5, r0 -/* 8014BC18 38 C0 00 00 */ li r6, 0 -/* 8014BC1C 48 0F E3 75 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c -/* 8014BC20 7F E3 FB 78 */ mr r3, r31 -/* 8014BC24 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014BC28 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014BC2C 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 8014BC30 4B EC EA E1 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 8014BC34 B0 7F 0D C8 */ sth r3, 0xdc8(r31) -/* 8014BC38 A8 1F 0D D8 */ lha r0, 0xdd8(r31) -/* 8014BC3C 2C 00 00 01 */ cmpwi r0, 1 -/* 8014BC40 40 82 00 0C */ bne lbl_8014BC4C -/* 8014BC44 38 00 00 00 */ li r0, 0 -/* 8014BC48 B0 1F 0D D8 */ sth r0, 0xdd8(r31) -lbl_8014BC4C: -/* 8014BC4C C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 8014BC50 D0 1F 05 2C */ stfs f0, 0x52c(r31) -/* 8014BC54 D0 1F 04 F8 */ stfs f0, 0x4f8(r31) -/* 8014BC58 D0 1F 04 FC */ stfs f0, 0x4fc(r31) -/* 8014BC5C D0 1F 05 00 */ stfs f0, 0x500(r31) -/* 8014BC60 38 60 00 01 */ li r3, 1 -/* 8014BC64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014BC68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014BC6C 7C 08 03 A6 */ mtlr r0 -/* 8014BC70 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014BC74 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__13daNpcF_Path_cFv.s b/asm/d/a/d_a_npc/initialize__13daNpcF_Path_cFv.s deleted file mode 100644 index 8d1fb84add..0000000000 --- a/asm/d/a/d_a_npc/initialize__13daNpcF_Path_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80150900: -/* 80150900 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80150904 7C 08 02 A6 */ mflr r0 -/* 80150908 90 01 00 14 */ stw r0, 0x14(r1) -/* 8015090C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80150910 7C 7F 1B 78 */ mr r31, r3 -/* 80150914 38 00 00 00 */ li r0, 0 -/* 80150918 B0 03 00 00 */ sth r0, 0(r3) -/* 8015091C 98 03 00 02 */ stb r0, 2(r3) -/* 80150920 98 03 00 03 */ stb r0, 3(r3) -/* 80150924 90 03 00 04 */ stw r0, 4(r3) -/* 80150928 38 7F 00 20 */ addi r3, r31, 0x20 -/* 8015092C 38 80 00 00 */ li r4, 0 -/* 80150930 38 A0 00 00 */ li r5, 0 -/* 80150934 4B FF FF 3D */ bl initialize__16daNpcF_SPCurve_cFP5dPathi -/* 80150938 C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 8015093C D0 1F 00 08 */ stfs f0, 8(r31) -/* 80150940 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 80150944 D0 1F 00 10 */ stfs f0, 0x10(r31) -/* 80150948 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8015094C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80150950 7C 08 03 A6 */ mtlr r0 -/* 80150954 38 21 00 10 */ addi r1, r1, 0x10 -/* 80150958 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__13daNpcT_Path_cFv.s b/asm/d/a/d_a_npc/initialize__13daNpcT_Path_cFv.s deleted file mode 100644 index b047750e58..0000000000 --- a/asm/d/a/d_a_npc/initialize__13daNpcT_Path_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80145C40: -/* 80145C40 38 00 00 00 */ li r0, 0 -/* 80145C44 90 03 00 00 */ stw r0, 0(r3) -/* 80145C48 C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 80145C4C D0 03 00 04 */ stfs f0, 4(r3) -/* 80145C50 D0 03 00 08 */ stfs f0, 8(r3) -/* 80145C54 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80145C58 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 80145C5C D0 03 00 14 */ stfs f0, 0x14(r3) -/* 80145C60 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80145C64 B0 03 00 1C */ sth r0, 0x1c(r3) -/* 80145C68 98 03 00 20 */ stb r0, 0x20(r3) -/* 80145C6C 98 03 00 21 */ stb r0, 0x21(r3) -/* 80145C70 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__15daNpcF_MatAnm_cFv.s b/asm/d/a/d_a_npc/initialize__15daNpcF_MatAnm_cFv.s deleted file mode 100644 index 52926b30a3..0000000000 --- a/asm/d/a/d_a_npc/initialize__15daNpcF_MatAnm_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80150738: -/* 80150738 C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 8015073C D0 03 00 F4 */ stfs f0, 0xf4(r3) -/* 80150740 D0 03 00 F8 */ stfs f0, 0xf8(r3) -/* 80150744 D0 03 00 FC */ stfs f0, 0xfc(r3) -/* 80150748 D0 03 01 00 */ stfs f0, 0x100(r3) -/* 8015074C 38 00 00 00 */ li r0, 0 -/* 80150750 98 03 01 04 */ stb r0, 0x104(r3) -/* 80150754 98 03 01 05 */ stb r0, 0x105(r3) -/* 80150758 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__15daNpcT_MatAnm_cFv.s b/asm/d/a/d_a_npc/initialize__15daNpcT_MatAnm_cFv.s deleted file mode 100644 index 397ed3b84b..0000000000 --- a/asm/d/a/d_a_npc/initialize__15daNpcT_MatAnm_cFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80145764: -/* 80145764 C0 02 99 D8 */ lfs f0, lit_4116(r2) -/* 80145768 D0 03 00 F4 */ stfs f0, 0xf4(r3) -/* 8014576C D0 03 00 F8 */ stfs f0, 0xf8(r3) -/* 80145770 D0 03 00 FC */ stfs f0, 0xfc(r3) -/* 80145774 D0 03 01 00 */ stfs f0, 0x100(r3) -/* 80145778 38 00 00 00 */ li r0, 0 -/* 8014577C 98 03 01 04 */ stb r0, 0x104(r3) -/* 80145780 98 03 01 05 */ stb r0, 0x105(r3) -/* 80145784 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/initialize__18daNpcF_ActorMngr_cFv.s b/asm/d/a/d_a_npc/initialize__18daNpcF_ActorMngr_cFv.s deleted file mode 100644 index 2f0c72e21f..0000000000 --- a/asm/d/a/d_a_npc/initialize__18daNpcF_ActorMngr_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_801506B0: -/* 801506B0 38 00 FF FF */ li r0, -1 -/* 801506B4 90 03 00 00 */ stw r0, 0(r3) -/* 801506B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/isPath__16daBaseNpc_path_cFv.s b/asm/d/a/d_a_npc/isPath__16daBaseNpc_path_cFv.s deleted file mode 100644 index 11db162cf7..0000000000 --- a/asm/d/a/d_a_npc/isPath__16daBaseNpc_path_cFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8014D9A8: -/* 8014D9A8 80 63 00 04 */ lwz r3, 4(r3) -/* 8014D9AC 30 03 FF FF */ addic r0, r3, -1 -/* 8014D9B0 7C 00 19 10 */ subfe r0, r0, r3 -/* 8014D9B4 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8014D9B8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/limitter__18daBaseNpc_lookat_cFsPsss.s b/asm/d/a/d_a_npc/limitter__18daBaseNpc_lookat_cFsPsss.s deleted file mode 100644 index 502af22d29..0000000000 --- a/asm/d/a/d_a_npc/limitter__18daBaseNpc_lookat_cFsPsss.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8014DB40: -/* 8014DB40 7C 88 07 34 */ extsh r8, r4 -/* 8014DB44 A8 65 00 00 */ lha r3, 0(r5) -/* 8014DB48 7D 28 1A 14 */ add r9, r8, r3 -/* 8014DB4C 7C C0 07 34 */ extsh r0, r6 -/* 8014DB50 7C 00 48 00 */ cmpw r0, r9 -/* 8014DB54 40 80 00 24 */ bge lbl_8014DB78 -/* 8014DB58 7C 08 00 00 */ cmpw r8, r0 -/* 8014DB5C 40 80 00 14 */ bge lbl_8014DB70 -/* 8014DB60 7C 00 48 50 */ subf r0, r0, r9 -/* 8014DB64 7C 00 18 50 */ subf r0, r0, r3 -/* 8014DB68 B0 05 00 00 */ sth r0, 0(r5) -/* 8014DB6C 48 00 00 0C */ b lbl_8014DB78 -lbl_8014DB70: -/* 8014DB70 38 00 00 00 */ li r0, 0 -/* 8014DB74 B0 05 00 00 */ sth r0, 0(r5) -lbl_8014DB78: -/* 8014DB78 A8 C5 00 00 */ lha r6, 0(r5) -/* 8014DB7C 7D 08 32 14 */ add r8, r8, r6 -/* 8014DB80 7C E3 07 34 */ extsh r3, r7 -/* 8014DB84 7C 08 18 00 */ cmpw r8, r3 -/* 8014DB88 4C 80 00 20 */ bgelr -/* 8014DB8C 7C 80 07 34 */ extsh r0, r4 -/* 8014DB90 7C 03 00 00 */ cmpw r3, r0 -/* 8014DB94 40 80 00 14 */ bge lbl_8014DBA8 -/* 8014DB98 7C 03 40 50 */ subf r0, r3, r8 -/* 8014DB9C 7C 00 30 50 */ subf r0, r0, r6 -/* 8014DBA0 B0 05 00 00 */ sth r0, 0(r5) -/* 8014DBA4 4E 80 00 20 */ blr -lbl_8014DBA8: -/* 8014DBA8 38 00 00 00 */ li r0, 0 -/* 8014DBAC B0 05 00 00 */ sth r0, 0(r5) -/* 8014DBB0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/orderEvent__11daBaseNpc_cFiPc.s b/asm/d/a/d_a_npc/orderEvent__11daBaseNpc_cFiPc.s deleted file mode 100644 index e0301e9417..0000000000 --- a/asm/d/a/d_a_npc/orderEvent__11daBaseNpc_cFiPc.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8014EFF4: -/* 8014EFF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014EFF8 7C 08 02 A6 */ mflr r0 -/* 8014EFFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014F000 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014F004 7C 7F 1B 78 */ mr r31, r3 -/* 8014F008 28 05 00 00 */ cmplwi r5, 0 -/* 8014F00C 41 82 00 44 */ beq lbl_8014F050 -/* 8014F010 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014F014 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014F018 38 63 4F F8 */ addi r3, r3, 0x4ff8 -/* 8014F01C 7F E4 FB 78 */ mr r4, r31 -/* 8014F020 38 C0 00 FF */ li r6, 0xff -/* 8014F024 4B EF 87 35 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc -/* 8014F028 B0 7F 08 9A */ sth r3, 0x89a(r31) -/* 8014F02C 7F E3 FB 78 */ mr r3, r31 -/* 8014F030 A8 9F 08 9A */ lha r4, 0x89a(r31) -/* 8014F034 38 A0 00 FF */ li r5, 0xff -/* 8014F038 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */ -/* 8014F03C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */ -/* 8014F040 38 E0 00 00 */ li r7, 0 -/* 8014F044 39 00 00 01 */ li r8, 1 -/* 8014F048 4B EC C6 35 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs -/* 8014F04C 48 00 00 3C */ b lbl_8014F088 -lbl_8014F050: -/* 8014F050 80 1F 08 48 */ lwz r0, 0x848(r31) -/* 8014F054 2C 00 00 00 */ cmpwi r0, 0 -/* 8014F058 41 80 00 30 */ blt lbl_8014F088 -/* 8014F05C 80 1F 05 5C */ lwz r0, 0x55c(r31) -/* 8014F060 28 00 00 0A */ cmplwi r0, 0xa -/* 8014F064 40 82 00 24 */ bne lbl_8014F088 -/* 8014F068 A0 1F 00 FA */ lhz r0, 0xfa(r31) -/* 8014F06C 60 00 00 01 */ ori r0, r0, 1 -/* 8014F070 B0 1F 00 FA */ sth r0, 0xfa(r31) -/* 8014F074 2C 04 00 00 */ cmpwi r4, 0 -/* 8014F078 41 82 00 10 */ beq lbl_8014F088 -/* 8014F07C 38 80 00 00 */ li r4, 0 -/* 8014F080 38 A0 00 00 */ li r5, 0 -/* 8014F084 4B EC C1 19 */ bl fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs -lbl_8014F088: -/* 8014F088 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014F08C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014F090 7C 08 03 A6 */ mtlr r0 -/* 8014F094 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014F098 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/remove__18daNpcF_ActorMngr_cFv.s b/asm/d/a/d_a_npc/remove__18daNpcF_ActorMngr_cFv.s deleted file mode 100644 index 49c64dc578..0000000000 --- a/asm/d/a/d_a_npc/remove__18daNpcF_ActorMngr_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_801506E0: -/* 801506E0 38 00 FF FF */ li r0, -1 -/* 801506E4 90 03 00 00 */ stw r0, 0(r3) -/* 801506E8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/reverseDir__16daBaseNpc_path_cFv.s b/asm/d/a/d_a_npc/reverseDir__16daBaseNpc_path_cFv.s deleted file mode 100644 index 52b65f5549..0000000000 --- a/asm/d/a/d_a_npc/reverseDir__16daBaseNpc_path_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8014DA48: -/* 8014DA48 88 03 0A 12 */ lbz r0, 0xa12(r3) -/* 8014DA4C 7C 00 07 75 */ extsb. r0, r0 -/* 8014DA50 38 00 00 01 */ li r0, 1 -/* 8014DA54 40 81 00 08 */ ble lbl_8014DA5C -/* 8014DA58 38 00 FF FF */ li r0, -1 -lbl_8014DA5C: -/* 8014DA5C 98 03 0A 12 */ stb r0, 0xa12(r3) -/* 8014DA60 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/reverse__13daNpcF_Path_cFv.s b/asm/d/a/d_a_npc/reverse__13daNpcF_Path_cFv.s deleted file mode 100644 index 6a24d437db..0000000000 --- a/asm/d/a/d_a_npc/reverse__13daNpcF_Path_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80150BBC: -/* 80150BBC 88 03 00 02 */ lbz r0, 2(r3) -/* 80150BC0 28 00 00 01 */ cmplwi r0, 1 -/* 80150BC4 40 82 00 10 */ bne lbl_80150BD4 -/* 80150BC8 38 00 00 00 */ li r0, 0 -/* 80150BCC 98 03 00 02 */ stb r0, 2(r3) -/* 80150BD0 4E 80 00 20 */ blr -lbl_80150BD4: -/* 80150BD4 38 00 00 01 */ li r0, 1 -/* 80150BD8 98 03 00 02 */ stb r0, 2(r3) -/* 80150BDC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/reverse__13daNpcT_Path_cFv.s b/asm/d/a/d_a_npc/reverse__13daNpcT_Path_cFv.s deleted file mode 100644 index b77e19f753..0000000000 --- a/asm/d/a/d_a_npc/reverse__13daNpcT_Path_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80145DA0: -/* 80145DA0 88 03 00 20 */ lbz r0, 0x20(r3) -/* 80145DA4 28 00 00 01 */ cmplwi r0, 1 -/* 80145DA8 40 82 00 18 */ bne lbl_80145DC0 -/* 80145DAC 38 00 00 00 */ li r0, 0 -/* 80145DB0 98 03 00 20 */ stb r0, 0x20(r3) -/* 80145DB4 38 00 00 01 */ li r0, 1 -/* 80145DB8 B0 03 00 1E */ sth r0, 0x1e(r3) -/* 80145DBC 4E 80 00 20 */ blr -lbl_80145DC0: -/* 80145DC0 38 00 00 01 */ li r0, 1 -/* 80145DC4 98 03 00 20 */ stb r0, 0x20(r3) -/* 80145DC8 B0 03 00 1E */ sth r0, 0x1e(r3) -/* 80145DCC 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setAttnPos__18daBaseNpc_lookat_cFP4cXyz.s b/asm/d/a/d_a_npc/setAttnPos__18daBaseNpc_lookat_cFP4cXyz.s deleted file mode 100644 index 279ae843d3..0000000000 --- a/asm/d/a/d_a_npc/setAttnPos__18daBaseNpc_lookat_cFP4cXyz.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8014E6A0: -/* 8014E6A0 90 83 00 98 */ stw r4, 0x98(r3) -/* 8014E6A4 38 60 00 01 */ li r3, 1 -/* 8014E6A8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib.s b/asm/d/a/d_a_npc/setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib.s deleted file mode 100644 index d5371b3289..0000000000 --- a/asm/d/a/d_a_npc/setBckAnm__11daBaseNpc_cFP15J3DAnmTransformfiiib.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8014EEE4: -/* 8014EEE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014EEE8 7C 08 02 A6 */ mflr r0 -/* 8014EEEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014EEF0 7C AB 2B 78 */ mr r11, r5 -/* 8014EEF4 7C CA 33 78 */ mr r10, r6 -/* 8014EEF8 7C E0 3B 78 */ mr r0, r7 -/* 8014EEFC 7D 09 43 78 */ mr r9, r8 -/* 8014EF00 38 A0 00 01 */ li r5, 1 -/* 8014EF04 7D 66 5B 78 */ mr r6, r11 -/* 8014EF08 7D 47 07 34 */ extsh r7, r10 -/* 8014EF0C 7C 08 07 34 */ extsh r8, r0 -/* 8014EF10 38 63 07 EC */ addi r3, r3, 0x7ec -/* 8014EF14 4B EB E8 C9 */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb -/* 8014EF18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014EF1C 7C 08 03 A6 */ mtlr r0 -/* 8014EF20 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014EF24 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi.s b/asm/d/a/d_a_npc/setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi.s deleted file mode 100644 index 2c855bfedf..0000000000 --- a/asm/d/a/d_a_npc/setBtpAnm__11daBaseNpc_cFP16J3DAnmTexPatternP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8014EF64: -/* 8014EF64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014EF68 7C 08 02 A6 */ mflr r0 -/* 8014EF6C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014EF70 7C 80 23 78 */ mr r0, r4 -/* 8014EF74 7C C7 33 78 */ mr r7, r6 -/* 8014EF78 38 85 00 58 */ addi r4, r5, 0x58 -/* 8014EF7C 7C 05 03 78 */ mr r5, r0 -/* 8014EF80 38 C0 00 01 */ li r6, 1 -/* 8014EF84 39 00 00 00 */ li r8, 0 -/* 8014EF88 39 20 FF FF */ li r9, -1 -/* 8014EF8C 38 63 08 08 */ addi r3, r3, 0x808 -/* 8014EF90 4B EB E5 BD */ bl init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss -/* 8014EF94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014EF98 7C 08 03 A6 */ mtlr r0 -/* 8014EF9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014EFA0 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setEnvTevColor__11daBaseNpc_cFv.s b/asm/d/a/d_a_npc/setEnvTevColor__11daBaseNpc_cFv.s deleted file mode 100644 index 523d1d1dfd..0000000000 --- a/asm/d/a/d_a_npc/setEnvTevColor__11daBaseNpc_cFv.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8014F0A0: -/* 8014F0A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014F0A4 7C 08 02 A6 */ mflr r0 -/* 8014F0A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014F0AC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014F0B0 93 C1 00 08 */ stw r30, 8(r1) -/* 8014F0B4 7C 7E 1B 78 */ mr r30, r3 -/* 8014F0B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014F0BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014F0C0 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 8014F0C4 7F E3 FB 78 */ mr r3, r31 -/* 8014F0C8 38 9E 09 E8 */ addi r4, r30, 0x9e8 -/* 8014F0CC 4B F2 5B 1D */ bl GetPolyColor__4dBgSFRC13cBgS_PolyInfo -/* 8014F0D0 98 7E 04 8D */ stb r3, 0x48d(r30) -/* 8014F0D4 7F E3 FB 78 */ mr r3, r31 -/* 8014F0D8 38 9E 09 E8 */ addi r4, r30, 0x9e8 -/* 8014F0DC 4B F2 60 25 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 8014F0E0 98 7E 04 8C */ stb r3, 0x48c(r30) -/* 8014F0E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014F0E8 83 C1 00 08 */ lwz r30, 8(r1) -/* 8014F0EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014F0F0 7C 08 03 A6 */ mtlr r0 -/* 8014F0F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014F0F8 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setJntPos__18daBaseNpc_lookat_cF4cXyzi.s b/asm/d/a/d_a_npc/setJntPos__18daBaseNpc_lookat_cF4cXyzi.s deleted file mode 100644 index 0bda9ba38d..0000000000 --- a/asm/d/a/d_a_npc/setJntPos__18daBaseNpc_lookat_cF4cXyzi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8014E67C: -/* 8014E67C C0 04 00 00 */ lfs f0, 0(r4) -/* 8014E680 1C 05 00 0C */ mulli r0, r5, 0xc -/* 8014E684 7C 63 02 14 */ add r3, r3, r0 -/* 8014E688 D0 03 00 34 */ stfs f0, 0x34(r3) -/* 8014E68C C0 04 00 04 */ lfs f0, 4(r4) -/* 8014E690 D0 03 00 38 */ stfs f0, 0x38(r3) -/* 8014E694 C0 04 00 08 */ lfs f0, 8(r4) -/* 8014E698 D0 03 00 3C */ stfs f0, 0x3c(r3) -/* 8014E69C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi.s b/asm/d/a/d_a_npc/setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi.s deleted file mode 100644 index 32fb389fc5..0000000000 --- a/asm/d/a/d_a_npc/setMaxJntLmt__18daBaseNpc_lookat_cF5csXyzi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8014E634: -/* 8014E634 A8 04 00 00 */ lha r0, 0(r4) -/* 8014E638 1C A5 00 06 */ mulli r5, r5, 6 -/* 8014E63C 7C 63 2A 14 */ add r3, r3, r5 -/* 8014E640 B0 03 00 04 */ sth r0, 4(r3) -/* 8014E644 A8 04 00 02 */ lha r0, 2(r4) -/* 8014E648 B0 03 00 06 */ sth r0, 6(r3) -/* 8014E64C A8 04 00 04 */ lha r0, 4(r4) -/* 8014E650 B0 03 00 08 */ sth r0, 8(r3) -/* 8014E654 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi.s b/asm/d/a/d_a_npc/setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi.s deleted file mode 100644 index 20fd31a1a0..0000000000 --- a/asm/d/a/d_a_npc/setMinJntLmt__18daBaseNpc_lookat_cF5csXyzi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8014E658: -/* 8014E658 A8 04 00 00 */ lha r0, 0(r4) -/* 8014E65C 1C A5 00 06 */ mulli r5, r5, 6 -/* 8014E660 7C 63 2A 14 */ add r3, r3, r5 -/* 8014E664 B0 03 00 1C */ sth r0, 0x1c(r3) -/* 8014E668 A8 04 00 02 */ lha r0, 2(r4) -/* 8014E66C B0 03 00 1E */ sth r0, 0x1e(r3) -/* 8014E670 A8 04 00 04 */ lha r0, 4(r4) -/* 8014E674 B0 03 00 20 */ sth r0, 0x20(r3) -/* 8014E678 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setMtx__11daBaseNpc_cFi.s b/asm/d/a/d_a_npc/setMtx__11daBaseNpc_cFi.s deleted file mode 100644 index 9b9de4bdd9..0000000000 --- a/asm/d/a/d_a_npc/setMtx__11daBaseNpc_cFi.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_8014F390: -/* 8014F390 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8014F394 7C 08 02 A6 */ mflr r0 -/* 8014F398 90 01 00 24 */ stw r0, 0x24(r1) -/* 8014F39C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8014F3A0 48 21 2E 39 */ bl _savegpr_28 -/* 8014F3A4 7C 7F 1B 78 */ mr r31, r3 -/* 8014F3A8 7C 9C 23 78 */ mr r28, r4 -/* 8014F3AC 80 63 07 54 */ lwz r3, 0x754(r3) -/* 8014F3B0 83 C3 00 04 */ lwz r30, 4(r3) -/* 8014F3B4 83 BE 00 04 */ lwz r29, 4(r30) -/* 8014F3B8 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 8014F3BC 4B EB D9 A9 */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 8014F3C0 38 7F 09 1A */ addi r3, r31, 0x91a -/* 8014F3C4 4B EB DB 81 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz -/* 8014F3C8 38 7F 04 EC */ addi r3, r31, 0x4ec -/* 8014F3CC 4B EB DA A5 */ bl scaleM__14mDoMtx_stack_cFRC4cXyz -/* 8014F3D0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8014F3D4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8014F3D8 38 9E 00 24 */ addi r4, r30, 0x24 -/* 8014F3DC 48 1F 70 D5 */ bl PSMTXCopy -/* 8014F3E0 2C 1C 00 00 */ cmpwi r28, 0 -/* 8014F3E4 41 82 00 0C */ beq lbl_8014F3F0 -/* 8014F3E8 93 FE 00 14 */ stw r31, 0x14(r30) -/* 8014F3EC 48 00 00 0C */ b lbl_8014F3F8 -lbl_8014F3F0: -/* 8014F3F0 38 00 00 00 */ li r0, 0 -/* 8014F3F4 90 1E 00 14 */ stw r0, 0x14(r30) -lbl_8014F3F8: -/* 8014F3F8 A0 1F 08 40 */ lhz r0, 0x840(r31) -/* 8014F3FC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 8014F400 41 82 00 80 */ beq lbl_8014F480 -/* 8014F404 80 1F 08 3C */ lwz r0, 0x83c(r31) -/* 8014F408 28 00 00 00 */ cmplwi r0, 0 -/* 8014F40C 41 82 00 74 */ beq lbl_8014F480 -/* 8014F410 3B C0 00 00 */ li r30, 0 -/* 8014F414 48 00 00 18 */ b lbl_8014F42C -lbl_8014F418: -/* 8014F418 38 7F 07 EC */ addi r3, r31, 0x7ec -/* 8014F41C 7F A4 EB 78 */ mr r4, r29 -/* 8014F420 C0 3F 07 FC */ lfs f1, 0x7fc(r31) -/* 8014F424 4B EB E5 C5 */ bl entryJoint__13mDoExt_bckAnmFP12J3DModelDataUsf -/* 8014F428 3B DE 00 01 */ addi r30, r30, 1 -lbl_8014F42C: -/* 8014F42C 80 7F 08 3C */ lwz r3, 0x83c(r31) -/* 8014F430 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e -/* 8014F434 7C A3 02 2E */ lhzx r5, r3, r0 -/* 8014F438 28 05 FF FF */ cmplwi r5, 0xffff -/* 8014F43C 40 82 FF DC */ bne lbl_8014F418 -/* 8014F440 80 7F 07 54 */ lwz r3, 0x754(r31) -/* 8014F444 4B EC 1D A9 */ bl modelCalc__16mDoExt_McaMorfSOFv -/* 8014F448 38 A0 00 00 */ li r5, 0 -/* 8014F44C 38 80 00 00 */ li r4, 0 -/* 8014F450 48 00 00 18 */ b lbl_8014F468 -lbl_8014F454: -/* 8014F454 80 7D 00 28 */ lwz r3, 0x28(r29) -/* 8014F458 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 8014F45C 7C 63 00 2E */ lwzx r3, r3, r0 -/* 8014F460 90 83 00 54 */ stw r4, 0x54(r3) -/* 8014F464 38 A5 00 01 */ addi r5, r5, 1 -lbl_8014F468: -/* 8014F468 80 7F 08 3C */ lwz r3, 0x83c(r31) -/* 8014F46C 54 A0 0B FC */ rlwinm r0, r5, 1, 0xf, 0x1e -/* 8014F470 7C 03 02 2E */ lhzx r0, r3, r0 -/* 8014F474 28 00 FF FF */ cmplwi r0, 0xffff -/* 8014F478 40 82 FF DC */ bne lbl_8014F454 -/* 8014F47C 48 00 00 0C */ b lbl_8014F488 -lbl_8014F480: -/* 8014F480 80 7F 07 54 */ lwz r3, 0x754(r31) -/* 8014F484 4B EC 1D 69 */ bl modelCalc__16mDoExt_McaMorfSOFv -lbl_8014F488: -/* 8014F488 39 61 00 20 */ addi r11, r1, 0x20 -/* 8014F48C 48 21 2D 99 */ bl _restgpr_28 -/* 8014F490 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8014F494 7C 08 03 A6 */ mtlr r0 -/* 8014F498 38 21 00 20 */ addi r1, r1, 0x20 -/* 8014F49C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setNextPathInfo__13daNpcT_Path_cFScUc.s b/asm/d/a/d_a_npc/setNextPathInfo__13daNpcT_Path_cFScUc.s deleted file mode 100644 index 25e29e5b70..0000000000 --- a/asm/d/a/d_a_npc/setNextPathInfo__13daNpcT_Path_cFScUc.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80145D2C: -/* 80145D2C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80145D30 7C 08 02 A6 */ mflr r0 -/* 80145D34 90 01 00 14 */ stw r0, 0x14(r1) -/* 80145D38 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80145D3C 7C 7F 1B 78 */ mr r31, r3 -/* 80145D40 38 00 00 00 */ li r0, 0 -/* 80145D44 B0 03 00 1C */ sth r0, 0x1c(r3) -/* 80145D48 98 A3 00 20 */ stb r5, 0x20(r3) -/* 80145D4C 80 63 00 00 */ lwz r3, 0(r3) -/* 80145D50 A0 63 00 02 */ lhz r3, 2(r3) -/* 80145D54 28 03 FF FF */ cmplwi r3, 0xffff -/* 80145D58 41 82 00 30 */ beq lbl_80145D88 -/* 80145D5C 7C 84 07 74 */ extsb r4, r4 -/* 80145D60 4B F0 BA 8D */ bl dPath_GetRoomPath__Fii -/* 80145D64 90 7F 00 00 */ stw r3, 0(r31) -/* 80145D68 80 7F 00 00 */ lwz r3, 0(r31) -/* 80145D6C 28 03 00 00 */ cmplwi r3, 0 -/* 80145D70 40 82 00 0C */ bne lbl_80145D7C -/* 80145D74 38 60 00 00 */ li r3, 0 -/* 80145D78 48 00 00 14 */ b lbl_80145D8C -lbl_80145D7C: -/* 80145D7C 88 03 00 05 */ lbz r0, 5(r3) -/* 80145D80 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 80145D84 98 1F 00 21 */ stb r0, 0x21(r31) -lbl_80145D88: -/* 80145D88 38 60 00 01 */ li r3, 1 -lbl_80145D8C: -/* 80145D8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80145D90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80145D94 7C 08 03 A6 */ mtlr r0 -/* 80145D98 38 21 00 10 */ addi r1, r1, 0x10 -/* 80145D9C 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs.s b/asm/d/a/d_a_npc/setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs.s deleted file mode 100644 index 2e5d6b7856..0000000000 --- a/asm/d/a/d_a_npc/setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80147DCC: -/* 80147DCC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80147DD0 7C 08 02 A6 */ mflr r0 -/* 80147DD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80147DD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80147DDC 93 C1 00 08 */ stw r30, 8(r1) -/* 80147DE0 7C 7E 1B 78 */ mr r30, r3 -/* 80147DE4 7C DF 33 78 */ mr r31, r6 -/* 80147DE8 28 05 00 00 */ cmplwi r5, 0 -/* 80147DEC 41 82 00 38 */ beq lbl_80147E24 -/* 80147DF0 28 04 00 00 */ cmplwi r4, 0 -/* 80147DF4 41 82 00 30 */ beq lbl_80147E24 -/* 80147DF8 C0 02 9A 30 */ lfs f0, lit_5422(r2) -/* 80147DFC D0 1E 00 0C */ stfs f0, 0xc(r30) -/* 80147E00 C0 02 9A 34 */ lfs f0, lit_5423(r2) -/* 80147E04 D0 1E 00 10 */ stfs f0, 0x10(r30) -/* 80147E08 7C 83 23 78 */ mr r3, r4 -/* 80147E0C 7C A4 2B 78 */ mr r4, r5 -/* 80147E10 4B ED 29 01 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80147E14 7C 1F 18 50 */ subf r0, r31, r3 -/* 80147E18 B0 1E 00 16 */ sth r0, 0x16(r30) -/* 80147E1C 38 00 40 00 */ li r0, 0x4000 -/* 80147E20 B0 1E 00 14 */ sth r0, 0x14(r30) -lbl_80147E24: -/* 80147E24 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80147E28 83 C1 00 08 */ lwz r30, 8(r1) -/* 80147E2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80147E30 7C 08 03 A6 */ mtlr r0 -/* 80147E34 38 21 00 10 */ addi r1, r1, 0x10 -/* 80147E38 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setRoomNo__11daBaseNpc_cFv.s b/asm/d/a/d_a_npc/setRoomNo__11daBaseNpc_cFv.s deleted file mode 100644 index 6d57796432..0000000000 --- a/asm/d/a/d_a_npc/setRoomNo__11daBaseNpc_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8014F0FC: -/* 8014F0FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8014F100 7C 08 02 A6 */ mflr r0 -/* 8014F104 90 01 00 14 */ stw r0, 0x14(r1) -/* 8014F108 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8014F10C 7C 7F 1B 78 */ mr r31, r3 -/* 8014F110 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8014F114 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8014F118 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 8014F11C 38 9F 09 E8 */ addi r4, r31, 0x9e8 -/* 8014F120 4B F2 5F E1 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 8014F124 98 7F 04 E2 */ stb r3, 0x4e2(r31) -/* 8014F128 98 7F 08 BE */ stb r3, 0x8be(r31) -/* 8014F12C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8014F130 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8014F134 7C 08 03 A6 */ mtlr r0 -/* 8014F138 38 21 00 10 */ addi r1, r1, 0x10 -/* 8014F13C 4E 80 00 20 */ blr From 3ce58f012f47f91cac7669ddeca700a26c6816a5 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Tue, 20 Dec 2022 15:22:21 -0700 Subject: [PATCH 6/8] fix bug in remove-asm that doesn't account for .inc files --- tools/tp.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/tools/tp.py b/tools/tp.py index 4ee938b0c6..e679b95de9 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -751,12 +751,16 @@ def remove_unused_asm_cmd(check: bool): def remove_unused_asm(check: bool): unused_files, error_files = find_unused_asm_files(False, use_progress_bar=not check) - if not check: - for unused_file in unused_files: + for unused_file in unused_files: + if not check: unused_file.unlink() - CONSOLE.print(f"removed '{unused_file}'") + CONSOLE.print(f"removed '{unused_file}'") - text = Text(" OK") + text = Text(" OK") + text.stylize("bold green") + CONSOLE.print(text) + if check: + text = Text(" NOTE: The was just a check run. No files were actually removed.") text.stylize("bold green") CONSOLE.print(text) @@ -867,14 +871,19 @@ def find_all_asm_files() -> Tuple[Set[Path], Set[Path]]: if path.is_dir(): recursive(path) else: - if path.suffix == ".s": + if path.suffix == ".s" or path.suffix == ".inc": files.add(path) else: errors.add(path) + # Check for all .s files in ./asm/ root = Path("./asm/") assert root.exists() + recursive(root) + # check for .inc files in all directories + root = Path("./") + assert root.exists() recursive(root) LOG.debug( @@ -942,7 +951,7 @@ def find_all_files() -> Set[Path]: if path.is_dir(): recursive(path) else: - if path.suffix == ".cpp" or path.suffix == ".c": + if path.suffix == ".cpp" or path.suffix == ".c" or path.suffix == ".inc": files.add(path) src_root = Path("./src/") @@ -960,7 +969,7 @@ def find_all_files() -> Set[Path]: return files -def find_includes(lines: List[str], non_matching: bool, ext: str = ".s") -> Set[Path]: +def find_includes(lines: List[str], non_matching: bool, ext: Tuple[str, str] = (".s",".inc")) -> Set[Path]: includes = set() for line in lines: key = '#include "' @@ -975,6 +984,8 @@ def find_includes(lines: List[str], non_matching: bool, ext: str = ".s") -> Set[ include_path = line[start:end] if include_path.endswith(ext): + if include_path.endswith(".inc"): + include_path = "src/"+include_path includes.add(Path(include_path)) return includes @@ -1002,7 +1013,7 @@ def find_used_asm_files(non_matching: bool, use_progress_bar: bool = True) -> Se includes.update(find_includes(file.readlines(), non_matching)) # TODO: NON_MATCHING - LOG.debug(f"find_used_asm_files: found {len(includes)} included .s files") + LOG.debug(f"find_used_asm_files: found {len(includes)} included .s or .inc files") return includes From 0f533216b90e35d0943891b2f1a833cc72eb8fed Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Tue, 20 Dec 2022 17:07:52 -0700 Subject: [PATCH 7/8] add missing repo in Contributing.md --- docs/Contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Contributing.md b/docs/Contributing.md index 7d2d0a299e..294dba36fa 100644 --- a/docs/Contributing.md +++ b/docs/Contributing.md @@ -4,7 +4,7 @@ Ghidra Setup ----- 1. Install [Java 11 64-bit Runtime and Development Kit](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html). 2. Download Ghidra from [here](https://github.com/NationalSecurityAgency/ghidra/releases). -3. Open a pull request against [this repo](), adding your desired username and permissions level into users.yaml +3. Open a pull request against [this repo](https://github.com/zsrtp/tp-ghidra-server), adding your desired username and permissions level into users.yaml 4. Login using the following server info: ``` From 73873f11bddff9ae8c3a1675bcac4317a9d24f9f Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Wed, 21 Dec 2022 09:56:34 -0700 Subject: [PATCH 8/8] fixes for taka --- include/d/a/d_a_npc.h | 14 +++++++------- include/d/d_path.h | 1 - src/d/a/d_a_npc.cpp | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index 6c3bdb6bbd..67c63d578b 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -164,14 +164,14 @@ public: /* 80146188 */ int chkPassed1(cXyz, int); /* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int); - inline cXyz* getPntPos(u16 i_idx) { + cXyz* getPntPos(u16 i_idx) { u16 tmpidx = i_idx; dStage_dPnt_c* tmppnt = &mpRoomPath->m_points[tmpidx]; return &tmppnt->m_position; } - inline int chkClose() { + int chkClose() { int roomPath = dPath_ChkClose(mpRoomPath); return roomPath; } @@ -181,7 +181,7 @@ public: return path->m_num; } - inline u16& getIdx() { return mIdx; } + u16& getIdx() { return mIdx; } }; class mDoExt_McaMorfSO; @@ -389,11 +389,11 @@ public: /* 8014CCE8 */ virtual void changeBtk(int*, int*); /* 8014A628 */ virtual void setMotionAnm(int, f32, int); - inline bool checkHide() { + bool checkHide() { return field_0xe25 || (!dComIfGs_wolfeye_effect_check() && field_0xa89); } - inline s16 checkStep() { + s16 checkStep() { return mStepNo == 1; } @@ -820,8 +820,8 @@ public: /* 80150DE0 */ int getDstPos(cXyz, cXyz&); /* 80150EB4 */ void setNextIdxDst(cXyz); - inline u16& getIdx() { return mIdx; }; - inline cXyz* getPntPos(); // finish + u16& getIdx() { return mIdx; }; + cXyz* getPntPos(); // finish }; class daNpcF_MoveBgActor_c { diff --git a/include/d/d_path.h b/include/d/d_path.h index e68c146eb7..e3c17df3b9 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -15,7 +15,6 @@ struct dPath { /* 0x8 */ dStage_dPnt_c* m_points; }; -// should be move to dlib TU per chn debug inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); } dPath* dPath_GetRoomPath(int path_index, int room_no); diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index c8a550aa03..723d4d7c9e 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -898,7 +898,7 @@ int daNpcT_Path_c::setNextPathInfo(s8 param_0, u8 i_direction) { mDirection = i_direction; u16 next_id = mpRoomPath->m_nextID; - if (next_id != 65535) { + if (next_id != 0xFFFF) { mpRoomPath = dPath_GetRoomPath(next_id,param_0); if (!mpRoomPath) { return 0; @@ -2152,7 +2152,7 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa } if (talk_partner_conv->isMouthCheck()) { - field_0xd98 &= 0xffffbfff; + field_0xd98 &= ~0x4000; } else { field_0xd98 |= 0x4000; } @@ -2160,7 +2160,7 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa field_0xdb4 = 0x14; } else { if (field_0xd98 & 0x4000) { - field_0xd98 &= 0xffffbfff; + field_0xd98 &= ~0x4000; } mSubMtd = (profile_method_class*)-1; }