From 4913395dbd1a33d794028ceb82579b4baffe954d 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] 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 8b6a227cc81..fc8be3633dd 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 9a1f008e206..00000000000 --- 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 508d13b7481..00000000000 --- 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 68e3af5b891..00000000000 --- 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 5f7a917b5b6..00000000000 --- 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 3014d8651ed..00000000000 --- 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 1bbfb15a3e7..00000000000 --- 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 48281438d06..00000000000 --- 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 08f0fc833c2..00000000000 --- 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 d9eb2807cf9..00000000000 --- 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 5d089979b45..00000000000 --- 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 42f6025cd7f..00000000000 --- 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 ed499044916..00000000000 --- 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 9c67b2f71f8..00000000000 --- 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 f1f58702e18..00000000000 --- 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 43009011774..00000000000 --- 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 4f6e86db194..00000000000 --- 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 7b27a59bcbd..00000000000 --- 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 7f3b857b4a9..00000000000 --- 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 9d174e8afd8..00000000000 --- 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 5c9c6c511d1..00000000000 --- 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 4ce25f30aff..00000000000 --- 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 edae1f775cd..00000000000 --- 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 5af5abfa12f..00000000000 --- 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 5453431b518..00000000000 --- 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 ad39419d1e0..00000000000 --- 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 79afc32944e..00000000000 --- 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 b15aa1badac..00000000000 --- 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 17442842996..00000000000 --- 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 32a0f647bf1..00000000000 --- 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 cd4e0eb7996..00000000000 --- 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 8b514f384d4..00000000000 --- 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 96fb41913c9..00000000000 --- 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 7034d86689b..00000000000 --- 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 86260002d8a..00000000000 --- 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 88c0d267410..00000000000 --- 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 52bc44dc25a..00000000000 --- 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 bbc717e9ab6..00000000000 --- 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 802c56808d6..00000000000 --- 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 b1953404dc6..00000000000 --- 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 d0d16308250..00000000000 --- 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 9dbadb49b1a..00000000000 --- 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 2dd077ed56d..e9185021cf4 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 f1f4fec5457..00000000000 --- 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 029639a1f33..00000000000 --- 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 ed7bb16130d..00000000000 --- 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 9cc8f2b3ca1..00000000000 --- 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 dd032dd138f..00000000000 --- 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 4f2274370b1..00000000000 --- 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 346168175c0..00000000000 --- 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 595192847b5..00000000000 --- 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 3d4ef581909..00000000000 --- 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 7068622ca04..00000000000 --- 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 2f0964eb23e..00000000000 --- 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 d28fed241b8..00000000000 --- 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 f1cf7996f58..00000000000 --- 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 5f03e805ac4..00000000000 --- 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 352ea367b34..00000000000 --- 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 8d181c2fffe..00000000000 --- 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 7ca6d1c1d3f..00000000000 --- 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 697d42ee978..00000000000 --- 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 1c6afabc964..00000000000 --- 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 8dd4578d3af..00000000000 --- 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 f645a08efa3..00000000000 --- 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 4874a95ea93..00000000000 --- 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 6a33145978b..00000000000 --- 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 949bba64ebb..00000000000 --- 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 f2338066a7c..6c86b3ff37e 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 0543615f180..00000000000 --- 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 a33bc773426..00000000000 --- 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 b969169ebbf..00000000000 --- 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 ffc84e6f613..00000000000 --- 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 af7f1b73698..00000000000 --- 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 6b53180ede6..00000000000 --- 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 0544bce3ab7..00000000000 --- 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 1e52708ff12..00000000000 --- 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 74fe72acea3..00000000000 --- 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 57b9b0e6a0b..00000000000 --- 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 d0f798a8b2a..00000000000 --- 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 1f9b6dbf51c..00000000000 --- 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 c4c6411fbbe..00000000000 --- 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 77df7c8d32f..00000000000 --- 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 6a16012da49..00000000000 --- 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 322afebbbc6..00000000000 --- 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 85ebaf1010e..00000000000 --- 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 e3f8330e166..00000000000 --- 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 197e19bbca7..00000000000 --- 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 ad7e85654b4..00000000000 --- 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 a5c1d476a7a..00000000000 --- 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 6cac3824e30..00000000000 --- 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 adc1b1eefb0..00000000000 --- 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 1226ca28ef0..00000000000 --- 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 df53aaa3d3a..00000000000 --- 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 d5b0cfcbe88..00000000000 --- 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 6ef7746cf87..00000000000 --- 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 3722a20f8c5..00000000000 --- 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 6bdfcc86530..00000000000 --- 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 034537f3637..00000000000 --- 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 d6594c6487d..00000000000 --- 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 c29262d43df..00000000000 --- 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 72c1dce8b56..00000000000 --- 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 3217c504dcb..00000000000 --- 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 ed19e643d56..00000000000 --- 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 a4c4231b15e..00000000000 --- 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 f7246f69a2c..00000000000 --- 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 13f1ff0ce59..00000000000 --- 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 ade8e9c47de..00000000000 --- 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 d215de6d082..00000000000 --- 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 fbfb0b2d6c8..00000000000 --- 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 8e139b6a4a6..00000000000 --- 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 714b83e1ff3..00000000000 --- 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 b15069fc9e3..00000000000 --- 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 969cbbcd0b0..00000000000 --- 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 c3231c4ab3a..00000000000 --- 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 b058beb43c1..00000000000 --- 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 bb481a8d187..00000000000 --- 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 c91c633768c..00000000000 --- 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 cfa080b4648..00000000000 --- 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 f32f04931ad..00000000000 --- 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 a42a38873cb..00000000000 --- 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 92d96027906..00000000000 --- 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 4714492e159..00000000000 --- 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 d4cf2e34805..00000000000 --- 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 b671437be84..00000000000 --- 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 2aa204d7d00..00000000000 --- 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 8968111fd5e..00000000000 --- 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 80046fc389c..00000000000 --- 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 47b502e6722..00000000000 --- 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 fa5d00d018f..00000000000 --- 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 981a0023c2a..00000000000 --- 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 4fa690ea67f..00000000000 --- 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 78a6d04fab9..0474f4eb5a1 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 d635b919795..2cbe551312a 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 fcc391beea6..931c225adbc 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 331fc0b3479..5371f8113a8 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 8aab5683060..1977afe281c 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 68143507959..c9c21cfd406 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 a4bded7e42c..fd75fc48f75 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 923bf225ed8..e5559255ba2 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 2e3e1430c0a..309194628a1 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 977a166ea87..c9767d3a7e4 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 f6c8d893884..3becd55f1fd 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 d0ae61b76ed..faccd6431c5 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 38aba619a09..927ee8d6e8c 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 cb252d9aeac..71bad19d43f 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 91b256d6a8a..979d41b3dd3 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 f297f75b6b9..5aec4a6b0e3 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 7f9d62dfde5..e539c6f08c3 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 9dcd5cb8596..c9ab2dd7807 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 883422a6b12..32ed36683a0 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 16cdfbc8b97..7df6f5c7a6c 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 2effbc58a36..1e5e9c7604d 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 bc17ae7176e..b6d3448e209 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 6b9c2b8a660..d19f153e46c 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 b1544967720..e00cb38cafb 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 ec015bcede5..7872f4a5af8 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 6158da71822..0d0a803c887 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 47be2b5aa43..96ea1d49258 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 3787acb30c1..b0baf02a57b 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 b4d243bfcdf..4a4abb8f91c 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 9c2d9dc8dab..294b2f0e1e4 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 3731b66a4e8..6e4187ba36d 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 6ddae09a323..75ec2f715b1 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 6cddd5d1d1d..edc02abc6a4 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 2269ffa5888..198e1294342 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 6a9588ce32c..a77b19347a0 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 d97b55a70be..b6f66d37832 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 8d4b45fefa5..511e5ecdece 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 f57c11a6772..1e0b9075025 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 5abca2df630..d4a8cc965d4 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 045f4946c61..3bba3e49227 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 d0c679161c4..e85f70bf2c6 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 26b5f79c271..0fd60a1a982 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 4e488b58c3b..f8aa17bf876 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 4efd9ee670a..af5aea5963b 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 1ba0605b3e4..fe95da62591 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 c8ff7d7f81e..ab055c090ce 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 0375602fe51..123a7d17b83 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 422d74dcc9c..38ac7fb48f2 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 8d92f22c07f..cf94fb234c2 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 893860bf6d6..45b4e09a2f6 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 cba8bd7a2b4..f47658441c3 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 25a2baa7f50..717ce664cf5 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 1b7f72b98aa..8585bfcd17d 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 25b90255e8f..c70594f53c8 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 29fdeccd5cf..35f960d8888 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 634f17fc5d4..cf575daf32c 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 e9af49c67fa..513b9f35222 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 af996a34441..ec8ca228cce 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 0b64fd91305..1ea61165edd 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 85ac3e614ca..7ff81a0eed0 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 b6830c059da..bd019b7bf9f 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 9df76c790d6..2bd2f9140f2 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 ba078e8ace6..0fd6536f985 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 49de4d5d667..2c600618dbf 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 5c34e8a0deb..8c6cf5aeb15 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 6379b65f5bd..82e6b9e8c44 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 aa7acc5375e..914fb6b6f92 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 f681d5902f4..c4c30ecf4e7 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 02eaed213dc..14fa344b207 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 46139a44b82..2df64f0e079 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 ec5b7216861..7c5c2560e4e 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 70028dfb5b7..34faa9a8ff4 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 475b166588e..ceaf5ab32a0 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 567321c3e5b..21f24d9b9d2 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 f7c2a13628b..827190e051a 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 7f5c5b6ea0b..5e6531a913d 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 77a61a1df6e..14f206254ce 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 b1ebc46eafc..a0f75a01f71 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 abe16035705..95aa6aa4f75 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 5fdc07c8ab8..324f5e5de15 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 756fa665827..ba0a9133399 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 e9a7ea697c8..b712bfb6505 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 b791104c762..50bbdadf28d 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 09dca04f648..93f76df74be 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 229df23a8fa..f98beeb25fe 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 efcaab35c02..4d2dd35e96e 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 ecb63a12d71..ecbcda371cb 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 e8e3d1f001c..d8a7da3b70a 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 032ad4a8772..55e1e9a31a8 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 f78c36711a9..6d5e0d17423 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 2ea2abae8d5..cc553bbc41c 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 37fc112a41f..4a589f4cfc0 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 844c2b15d45..7c37fc147fd 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 180e9413444..f3ef351a001 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 3ba889cc11e..518fc004f6f 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 a90f05d40eb..c42b0280541 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 a0b0b529c91..9fed5c3f5f4 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 8ebaceb52e2..e6972b6fc57 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 5c2841b7d60..e3e1a781ad1 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 6bd6f9b2a05..1c4307ec7e8 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 fc4d68878e7..a50cf1985b0 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 8568d2c812a..c8569314ea6 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 2a9a15fae57..dc01d590e01 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 0513dd6d3d2..b7623f1ee9c 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 756b208ea45..fc8551f2d32 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 ffb20e58968..2c501a71068 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 2b8000bc5f1..b97537deb97 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 ed36960c30d..dc582d2f9be 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 23524eb3692..a0dac1edbd7 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 591bcad391f..440264d86a5 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 4d8c3ffd6de..6dbee8d36e7 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 131694e9ca7..d30985334f2 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 5fb82586ee9..f40ca4158d6 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 cfce8569203..49368d2616b 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 b6ef5f15cf9..ed5edf5e531 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 c267e39d189..4b3aaaa8c7b 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 dff7b09725a..eb1c4af2798 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 d18b471145b..245b78caf4c 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 974ec36a529..b613f96843c 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 b86c853db19..7887fcfeda6 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 62ddd4827ea..f80e660d17c 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 4dab2352f28..2ae022f1dac 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 2b393e9a2ce..607115dfac4 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 008cc27ba1e..e5bff1a6cfd 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 a1ed926d3fc..b26a1f35b87 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 fae456195e6..0c5bed8a960 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 0246a96efbb..9b11dbe3a79 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 77ac77ae87f..6bac26a1f2f 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 f912cf3da39..a1aebfc7334 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 411e9c1f193..f93553efda5 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 c6c7f51a595..62ec8f8a3c6 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 f0539aa172d..77f2f9503a0 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 8f656bd41e4..c4b624f3f8f 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 1cd5f83c221..6351b2d3744 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 43c0ff16e11..598ee0a5ea7 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 dfb56d6ffe3..6a313f6314d 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