summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/SOUE01/rels/d_a_obj_junk_repairingNP/symbols.txt2
-rw-r--r--config/SOUE01/splits.txt1
-rw-r--r--config/SOUE01/symbols.txt58
-rw-r--r--configure.py2
-rw-r--r--include/d/a/d_a_base.h11
-rw-r--r--include/d/a/d_a_player.h5
-rw-r--r--include/d/a/e/d_a_e_remly.h2
-rw-r--r--include/d/a/e/d_a_en_base.h3
-rw-r--r--include/d/a/npc/d_a_npc.h3
-rw-r--r--include/d/a/obj/d_a_obj_base.h106
-rw-r--r--include/d/a/obj/d_a_obj_desert.h42
-rw-r--r--include/d/a/obj/d_a_obj_junk_repairing.h6
-rw-r--r--include/d/a/obj/d_a_obj_tbox.h2
-rw-r--r--include/d/col/bg/d_bg_pc.h2
-rw-r--r--include/d/col/bg/d_bg_s_acch.h5
-rw-r--r--include/d/d_linkage.h8
-rw-r--r--include/d/d_player_act.h2
-rw-r--r--include/d/d_shadow.h17
-rw-r--r--include/m/m3d/m_shadow.h2
-rw-r--r--include/toBeSorted/d_d3d.h6
-rw-r--r--include/toBeSorted/event_manager.h8
-rw-r--r--include/toBeSorted/time_area_mgr.h1
-rw-r--r--src/REL/d/a/b/d_a_b_girahimu.cpp2
-rw-r--r--src/REL/d/a/b/d_a_b_girahimu2.cpp6
-rw-r--r--src/REL/d/a/b/d_a_b_girahimu_base.cpp18
-rw-r--r--src/REL/d/a/b/d_a_b_lastboss.cpp10
-rw-r--r--src/REL/d/a/d_a_bombf.cpp6
-rw-r--r--src/REL/d/a/d_a_girahimu_sword_beam.cpp4
-rw-r--r--src/REL/d/a/d_a_invisible.cpp4
-rw-r--r--src/REL/d/a/d_a_knight_leader_bird.cpp2
-rw-r--r--src/REL/d/a/e/d_a_e_hb_leaf.cpp2
-rw-r--r--src/REL/d/a/e/d_a_e_ks.cpp34
-rw-r--r--src/REL/d/a/e/d_a_e_remly.cpp56
-rw-r--r--src/REL/d/a/e/d_a_e_skytail.cpp8
-rw-r--r--src/REL/d/a/e/d_a_e_sm.cpp10
-rw-r--r--src/REL/d/a/npc/d_a_npc_honeycomb.cpp6
-rw-r--r--src/REL/d/a/npc/d_a_npc_rival_lod.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_D3_dummy.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_F302_light.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_F400_gate_leaf.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_F400_gate_seal.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_amber.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_appear_bridge.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_bamboo_island.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_barrel.cpp46
-rw-r--r--src/REL/d/a/obj/d_a_obj_bird_statue.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_blade.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_block_underground.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_bstone.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_chair.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_chest.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_control_panel.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_decoB.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_desert.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_desert_debris.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_display_only_nbs.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_distant_ship.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_door.cpp10
-rw-r--r--src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_fence_boko.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_fence_boko2.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_fence_konsai.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_flag.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_fruit_guts_leaf.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_girahim_foot.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_girahimu_floor.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_girahimu_knife.cpp18
-rw-r--r--src/REL/d/a/obj/d_a_obj_girahimu_sword_link.cpp26
-rw-r--r--src/REL/d/a/obj/d_a_obj_grass_coil.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_grave.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_hole.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_impa_door.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_insect_island.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_iron_stage.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_island_LOD.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_island_nusi.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_ivy_rope.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_junk_repairing.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_lava_F200.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_megami_island.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_mole_cover.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_mole_soil.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_move_elec.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_mushroom.cpp16
-rw-r--r--src/REL/d/a/obj/d_a_obj_oct_grass.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_paint.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_pinwheel.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_pool_cock.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_pumpkin_bar.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_puzzle_island.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_ring.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_rope_base.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_rope_igaiga.cpp26
-rw-r--r--src/REL/d/a/obj/d_a_obj_roulette_island_c.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_roulette_island_r.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_ruined_save.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_seat_sword.cpp10
-rw-r--r--src/REL/d/a/obj/d_a_obj_shed.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_ship_window.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_shrine_after.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_shrine_bef_inside.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_shrine_before.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_smoke.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_soil.cpp102
-rw-r--r--src/REL/d/a/obj/d_a_obj_spike.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_stage_cover.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_stopping_rope.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_stream_lava.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_sun_light.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_tenijima.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_terry_island.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_time_stage_bg.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_tower_hand_D101.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_trap_rock_1.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_treasure_island.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_treasure_island_b.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_triforce.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_tubo.cpp34
-rw-r--r--src/REL/d/a/obj/d_a_obj_tumble_weed.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_under_cloud.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_underground_switch.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_uta_demo_pedest.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_utajima.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_utajima_island.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_utajima_lv2.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_water_shield.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_windmill.cpp2
-rw-r--r--src/REL/d/t/d_t_sound_area.cpp2
-rw-r--r--src/d/a/d_a_base.cpp35
-rw-r--r--src/d/a/d_a_bird_base.cpp2
-rw-r--r--src/d/a/d_a_fish_base.cpp4
-rw-r--r--src/d/a/d_a_item.cpp35
-rw-r--r--src/d/a/d_a_salbage_obj.cpp16
-rw-r--r--src/d/a/obj/d_a_obj_arrow.cpp10
-rw-r--r--src/d/a/obj/d_a_obj_base.cpp452
-rw-r--r--src/d/a/obj/d_a_obj_bomb.cpp42
-rw-r--r--src/d/a/obj/d_a_obj_boomerang.cpp4
-rw-r--r--src/d/a/obj/d_a_obj_fairy.cpp8
-rw-r--r--src/d/a/obj/d_a_obj_switch.cpp2
-rw-r--r--src/d/a/obj/d_a_obj_tbox.cpp8
-rw-r--r--src/d/a/obj/d_a_obj_water_spout.cpp2
-rw-r--r--src/d/d_stage_parse.cpp2
-rw-r--r--src/m/m3d/m_shadow.cpp6
-rw-r--r--src/toBeSorted/d_enemy_sword_mdl.cpp4
-rw-r--r--src/toBeSorted/item_mdl_item.cpp4
-rw-r--r--src/toBeSorted/item_mdl_light_fruit.cpp5
-rw-r--r--src/toBeSorted/item_mdl_misc.cpp24
-rw-r--r--src/toBeSorted/item_mdl_rupee.cpp5
-rw-r--r--src/toBeSorted/item_mdl_stamina_fruit.cpp4
154 files changed, 1128 insertions, 608 deletions
diff --git a/config/SOUE01/rels/d_a_obj_junk_repairingNP/symbols.txt b/config/SOUE01/rels/d_a_obj_junk_repairingNP/symbols.txt
index 2438cdea..7ee10eb1 100644
--- a/config/SOUE01/rels/d_a_obj_junk_repairingNP/symbols.txt
+++ b/config/SOUE01/rels/d_a_obj_junk_repairingNP/symbols.txt
@@ -4,7 +4,7 @@ _unresolved = .text:0x00000060; // type:function size:0x4 scope:global
__register_global_object = .text:0x00000070; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
dAcOJunkRep_c_classInit__Fv = .text:0x000000F0; // type:function size:0xDC
-__dt__17dMyShadowCircle_cFv = .text:0x000001D0; // type:function size:0x58
+__dt__15dShadowCircle_cFv = .text:0x000001D0; // type:function size:0x58
__dt__26sFState_c<13dAcOJunkRep_c>Fv = .text:0x00000230; // type:function size:0x58
__dt__29sFStateFct_c<13dAcOJunkRep_c>Fv = .text:0x00000290; // type:function size:0x6C
__dt__82sStateMgr_c<13dAcOJunkRep_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000300; // type:function size:0xA0
diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt
index 894eb239..2ed11c6a 100644
--- a/config/SOUE01/splits.txt
+++ b/config/SOUE01/splits.txt
@@ -144,6 +144,7 @@ d/a/d_a_base.cpp:
d/a/obj/d_a_obj_base.cpp:
.text start:0x8002DE40 end:0x8002F300 align:16
.data start:0x805015B8 end:0x80501638
+ .sdata2 start:0x80576CA0 end:0x80576CC8
d/a/e/d_a_en_base.cpp:
.text start:0x8002F300 end:0x80030CB0 align:16
diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt
index cf364588..058f02f1 100644
--- a/config/SOUE01/symbols.txt
+++ b/config/SOUE01/symbols.txt
@@ -588,7 +588,7 @@ setRoomTevColors__3d3dFQ34nw4r3g3d6ResMdlib = .text:0x80017B10; // type:function
fn_80017CF0 = .text:0x80017CF0; // type:function size:0x230
fn_80017F20 = .text:0x80017F20; // type:function size:0x20C
fn_80018130 = .text:0x80018130; // type:function size:0x788
-fn_800188C0 = .text:0x800188C0; // type:function size:0x3EC
+setLight__3d3dFPQ23m3d6smdl_ciP13ActorLighting = .text:0x800188C0; // type:function size:0x3EC
IsDerivedFrom__Q34nw4r3g3d6G3dObjCFQ44nw4r3g3d6G3dObj7TypeObj = .text:0x80018CB0; // type:function size:0x1C scope:weak
fn_80018CD0 = .text:0x80018CD0; // type:function size:0x34
fn_80018D10 = .text:0x80018D10; // type:function size:0x190
@@ -641,8 +641,8 @@ __dt__14dScnCallback_cFv = .text:0x8001A550; // type:function size:0x40 scope:we
fn_8001A590 = .text:0x8001A590; // type:function size:0x198
fn_8001A730 = .text:0x8001A730; // type:function size:0x1E4
fn_8001A920 = .text:0x8001A920; // type:function size:0x7F4
-fn_8001B120 = .text:0x8001B120; // type:function size:0x160
-fn_8001B280 = .text:0x8001B280; // type:function size:0x180
+drawMdl__15dShadowCircle_cFRQ23m3d6smdl_cRC9mSphere_cR13ActorLightingUllP12dAcObjBase_cf = .text:0x8001B120; // type:function size:0x160
+drawTexObj__15dShadowCircle_cFPC9_GXTexObjRC6mMtx_cRC9mSphere_cR13ActorLightingUlllllP12dAcObjBase_cf = .text:0x8001B280; // type:function size:0x180
fn_8001B400 = .text:0x8001B400; // type:function size:0x4
fn_8001B410 = .text:0x8001B410; // type:function size:0xA4
fn_8001B4C0 = .text:0x8001B4C0; // type:function size:0x34
@@ -1030,7 +1030,7 @@ createHeap__9dAcBase_cFv = .text:0x8002C3A0; // type:function size:0x8
__ct__9dAcBase_cFv = .text:0x8002C3B0; // type:function size:0x178
__dt__7dBase_cFv = .text:0x8002C530; // type:function size:0x58
__dt__9dAcBase_cFv = .text:0x8002C590; // type:function size:0xB4
-setTempCreateParams__9dAcBase_cFP7mVec3_cP7mAng3_cP7mVec3_clUlP9dAcBase_cUcUsScPC9ActorInfo = .text:0x8002C650; // type:function size:0x34
+setTempCreateParams__9dAcBase_cFPC7mVec3_cPC7mAng3_cPC7mVec3_clUlP9dAcBase_cUcUsScPC9ActorInfo = .text:0x8002C650; // type:function size:0x34
createSoundSource__9dAcBase_cFv = .text:0x8002C690; // type:function size:0x78
initAllocatorWork1Heap__9dAcBase_cFiPci = .text:0x8002C710; // type:function size:0xC
initAllocator__9dAcBase_cFiPcPQ23EGG4Heapi = .text:0x8002C720; // type:function size:0x8C
@@ -1104,9 +1104,9 @@ deleteWithFlagNoItemDrop__9dAcBase_cFv = .text:0x8002DD90; // type:function size
setPolyAttrs__9dAcBase_cFR13cBgS_PolyInfo = .text:0x8002DDD0; // type:function size:0x54
setPolyAttrsDupe__9dAcBase_cFR13cBgS_PolyInfo = .text:0x8002DE30; // type:function size:0x4
getOarcFile__12dAcObjBase_cFPCcPCc = .text:0x8002DE40; // type:function size:0x14
-ActorObjectBase__getOarcSubentry = .text:0x8002DE60; // type:function size:0x14
+getOarcSubEntry__12dAcObjBase_cFPCcPCc = .text:0x8002DE60; // type:function size:0x14
getOarcResFile__12dAcObjBase_cFPCc = .text:0x8002DE80; // type:function size:0xC
-ActorObjectBase__getOarcModelFile = .text:0x8002DE90; // type:function size:0xC
+getOarcModelFile__12dAcObjBase_cFPCc = .text:0x8002DE90; // type:function size:0xC
getOarcZev__12dAcObjBase_cFPCc = .text:0x8002DEA0; // type:function size:0xC
getOarcDZB__12dAcObjBase_cFPCcPCc = .text:0x8002DEB0; // type:function size:0x14
getOarcPLC__12dAcObjBase_cFPCcPCc = .text:0x8002DED0; // type:function size:0x14
@@ -1118,33 +1118,33 @@ postExecute__12dAcObjBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x8002E2A0; // type
preDraw__12dAcObjBase_cFv = .text:0x8002E330; // type:function size:0x27C
getObjectListEntry__12dAcObjBase_cFv = .text:0x8002E5B0; // type:function size:0x8
restorePosRotFromCopy__12dAcObjBase_cFv = .text:0x8002E5C0; // type:function size:0x70
-create__12dAcObjBase_cFQ28fProfile14PROFILE_NAME_eUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUl = .text:0x8002E630; // type:function size:0x98
+create__12dAcObjBase_cFUsUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUl = .text:0x8002E630; // type:function size:0x98
create__12dAcObjBase_cFPCcUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUsSc = .text:0x8002E6D0; // type:function size:0xA0
-findObject__12dAcObjBase_cFQ28fProfile14PROFILE_NAME_eP9fLiMgBa_cP12dAcObjBase_c = .text:0x8002E770; // type:function size:0x7C
+findObject__12dAcObjBase_cFUsP9fLiMgBa_cP12dAcObjBase_c = .text:0x8002E770; // type:function size:0x7C
getNextObject__12dAcObjBase_cFP9fLiMgBa_cP12dAcObjBase_c = .text:0x8002E7F0; // type:function size:0x58
isPlayer__12dAcObjBase_cFv = .text:0x8002E850; // type:function size:0x14
calcVelocity__12dAcObjBase_cFRC7mVec3_cf = .text:0x8002E870; // type:function size:0x68
calcVelocity__12dAcObjBase_cFv = .text:0x8002E8E0; // type:function size:0xB8
updateMatrix__12dAcObjBase_cFv = .text:0x8002E9A0; // type:function size:0x58
-ActorObjectBase__setDefaultCullDistance = .text:0x8002EA00; // type:function size:0xC
+setDefaultCullDistance__12dAcObjBase_cFv = .text:0x8002EA00; // type:function size:0xC
canBeLinkedToWoodTag__12dAcObjBase_cFv = .text:0x8002EA10; // type:function size:0x8
drop__12dAcObjBase_cFv = .text:0x8002EA20; // type:function size:0x8
-fn_8002EA30__12dAcObjBase_cFfffffPv = .text:0x8002EA30; // type:function size:0x24
-fn_8002EA60 = .text:0x8002EA60; // type:function size:0xD0
-fn_8002EB30 = .text:0x8002EB30; // type:function size:0x5C
-ActorObjectBase__putInODesert = .text:0x8002EB90; // type:function size:0xD8
-drawModelType1__12dAcObjBase_cFPQ23m3d6smdl_c = .text:0x8002EC70; // type:function size:0x60
-fn_8002ECD0__12dAcObjBase_cFPQ23m3d6smdl_ci = .text:0x8002ECD0; // type:function size:0x50
-fn_8002ED20 = .text:0x8002ED20; // type:function size:0x88
-fn_8002edb0__12dAcObjBase_cFRQ23m3d15mShadowCircle_cRQ23m3d6smdl_cPC9mSphere_cllf = .text:0x8002EDB0; // type:function size:0x8C
-drawShadow__12dAcObjBase_cFRQ23m3d15mShadowCircle_cPvRC6mMtx_cPC9mSphere_clllllf = .text:0x8002EE40; // type:function size:0xFC
-create__12dAcObjBase_cFP12dAcObjBase_cQ28fProfile14PROFILE_NAME_eUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUl = .text:0x8002EF40; // type:function size:0x24
-fn_8002EF70 = .text:0x8002EF70; // type:function size:0x28
-fn_8002EFA0 = .text:0x8002EFA0; // type:function size:0x50
+setSinkDepths__12dAcObjBase_cFfffffP9dBgS_Acch = .text:0x8002EA30; // type:function size:0x24
+calcSinkDepth__12dAcObjBase_cFRC13cBgS_PolyInfo = .text:0x8002EA60; // type:function size:0xD0
+setGndNormal__12dAcObjBase_cFRC13cBgS_PolyInfo = .text:0x8002EB30; // type:function size:0x5C
+putInODesert__12dAcObjBase_cFfP7mVec3_c = .text:0x8002EB90; // type:function size:0xD8
+drawModel__12dAcObjBase_cFPQ23m3d6smdl_c = .text:0x8002EC70; // type:function size:0x60
+drawModel__12dAcObjBase_cFPQ23m3d6smdl_ci = .text:0x8002ECD0; // type:function size:0x50
+drawShadowAlone__12dAcObjBase_cFRQ23m3d6smdl_c = .text:0x8002ED20; // type:function size:0x88
+drawShadow__12dAcObjBase_cFR15dShadowCircle_cRQ23m3d6smdl_cRC9mSphere_cllf = .text:0x8002EDB0; // type:function size:0x8C
+drawShadow__12dAcObjBase_cFR15dShadowCircle_cPC9_GXTexObjRC6mMtx_cRC9mSphere_clllllf = .text:0x8002EE40; // type:function size:0xFC
+createChildAttached__12dAcObjBase_cFUsUlP7mVec3_cP7mAng3_cP7mVec3_cUlUl = .text:0x8002EF40; // type:function size:0x24
+createChildDetached__12dAcObjBase_cFUsUlP7mVec3_cP7mAng3_cP7mVec3_cUlUl = .text:0x8002EF70; // type:function size:0x28
+fn_8002efa0__12dAcObjBase_cFv = .text:0x8002EFA0; // type:function size:0x50
fn_8002eff0__12dAcObjBase_cFRCfRCsP8cCcD_ObjRCfRCf = .text:0x8002EFF0; // type:function size:0x194
-createInsectActor__12dAcObjBase_cFP9dAcBase_cQ28fProfile14PROFILE_NAME_eUlP7mVec3_cP7mAng3_cP7mVec3_cUll = .text:0x8002F190; // type:function size:0x24
-createActorUnkGroup3__12dAcObjBase_cFQ28fProfile14PROFILE_NAME_eUlUlP7mVec3_cP7mAng3_cP7mVec3_cUl = .text:0x8002F1C0; // type:function size:0x98
-createActorUnkGroup3__12dAcObjBase_cFPCcUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUsSc = .text:0x8002F260; // type:function size:0xA0
+createInsectActor__12dAcObjBase_cFP9dAcBase_cUsUlP7mVec3_cP7mAng3_cP7mVec3_cUll = .text:0x8002F190; // type:function size:0x24
+createStageActor__12dAcObjBase_cFUsUlUlP7mVec3_cP7mAng3_cP7mVec3_cUl = .text:0x8002F1C0; // type:function size:0x98
+createStageActor__12dAcObjBase_cFPCcUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUsSc = .text:0x8002F260; // type:function size:0xA0
__ct__11dAcEnBase_cFv = .text:0x8002F300; // type:function size:0x74
__dt__11dAcEnBase_cFv = .text:0x8002F380; // type:function size:0x74
preExecute__11dAcEnBase_cFv = .text:0x8002F400; // type:function size:0xB4
@@ -4009,7 +4009,7 @@ fn_800BBC30 = .text:0x800BBC30; // type:function size:0x58
fn_800BBC90 = .text:0x800BBC90; // type:function size:0x4C
fn_800BBCE0 = .text:0x800BBCE0; // type:function size:0x54
fn_800BBD40__14dTimeAreaMgr_cFv = .text:0x800BBD40; // type:function size:0xC0
-fn_800BBE00 = .text:0x800BBE00; // type:function size:0xAC
+fn_800BBE00__14dTimeAreaMgr_cFv = .text:0x800BBE00; // type:function size:0xAC
TimeStoneBase__setActiveStone = .text:0x800BBEB0; // type:function size:0x3C
fn_800BBEF0 = .text:0x800BBEF0; // type:function size:0x14
clearCurrActiveTimeshiftStone = .text:0x800BBF10; // type:function size:0x5C
@@ -13219,8 +13219,8 @@ isProfile__24@unnamed@d_a_player_cpp@FP9dAcBase_cUs = .text:0x80243FD0; // type:
ActorLink__preUpdate = .text:0x80244000; // type:function size:0x58C
ActorLink__update = .text:0x80244590; // type:function size:0x11F0
fn_80245780 = .text:0x80245780; // type:function size:0x4
-fn_80245790 = .text:0x80245790; // type:function size:0x50
-fn_802457E0 = .text:0x802457E0; // type:function size:0xC4
+updateShadow__7dAcPy_cFRCQ23m3d6smdl_c = .text:0x80245790; // type:function size:0x50
+updateShadow__7dAcPy_cFRC9mSphere_cRC6mMtx_c = .text:0x802457E0; // type:function size:0xC4
fn_802458B0 = .text:0x802458B0; // type:function size:0xC
fn_802458C0 = .text:0x802458C0; // type:function size:0x444
ActorLink__drawHelper = .text:0x80245D10; // type:function size:0x14
@@ -17658,7 +17658,7 @@ create__Q23m3d9mShadow_cFiUciUsUlQ34nw4r3g3d6ResMdlUl = .text:0x802EC110; // typ
__ct__Q23m3d14mShadowChild_cFv = .text:0x802EC300; // type:function size:0x2C
remove__Q23m3d9mShadow_cFv = .text:0x802EC330; // type:function size:0xD4
reset__Q23m3d9mShadow_cFv = .text:0x802EC410; // type:function size:0x8C
-addCircle__Q23m3d9mShadow_cFPQ23m3d15mShadowCircle_cUlUl = .text:0x802EC4A0; // type:function size:0x1DC
+addCircle__Q23m3d9mShadow_cFPQ23m3d15mShadowCircle_cUlb = .text:0x802EC4A0; // type:function size:0x1DC
drawMdl__Q23m3d9mShadow_cFPQ23m3d15mShadowCircle_cUlRQ23m3d9scnLeaf_cRC9mSphere_cR7mVec3_c6mColorUlf = .text:0x802EC680; // type:function size:0x9C
addMdlToCircle__Q23m3d9mShadow_cFPQ23m3d15mShadowCircle_cRQ23m3d9scnLeaf_cRC9mSphere_c = .text:0x802EC720; // type:function size:0x24
removeCircle__Q23m3d9mShadow_cFPQ23m3d15mShadowCircle_c = .text:0x802EC750; // type:function size:0x28
@@ -29998,7 +29998,7 @@ __vt__29dEmitterCallbackCursorTrail_c = .data:0x80501500; // type:object size:0x
__vt__9SoundInfo = .data:0x80501528; // type:object size:0xC
@19465 = .data:0x80501538; // type:object size:0xC data:string
__vt__9dAcBase_c = .data:0x80501544; // type:object size:0x74
-ActorObjectBase__vtable = .data:0x805015B8; // type:object size:0x80
+__vt__12dAcObjBase_c = .data:0x805015B8; // type:object size:0x80
lbl_80501638 = .data:0x80501638; // type:object size:0xA data:string
lbl_80501644 = .data:0x80501644; // type:object size:0xC data:4byte
ActorEnemyBase__vtable = .data:0x80501650; // type:object size:0x90
diff --git a/configure.py b/configure.py
index 35fff01a..36bdc451 100644
--- a/configure.py
+++ b/configure.py
@@ -437,7 +437,7 @@ config.libs = [
Object(NonMatching, "toBeSorted/d_emitter_callbacks.cpp"),
Object(Matching, "toBeSorted/sound_info.cpp"),
Object(NonMatching, "d/a/d_a_base.cpp"),
- Object(NonMatching, "d/a/obj/d_a_obj_base.cpp"),
+ Object(Matching, "d/a/obj/d_a_obj_base.cpp"),
Object(NonMatching, "d/a/e/d_a_en_base.cpp"),
Object(NonMatching, "d/a/npc/d_a_npc.cpp"),
Object(NonMatching, "toBeSorted/d_npc_common.cpp"),
diff --git a/include/d/a/d_a_base.h b/include/d/a/d_a_base.h
index b405f69d..1b9478a2 100644
--- a/include/d/a/d_a_base.h
+++ b/include/d/a/d_a_base.h
@@ -76,6 +76,7 @@ public:
AC_PROP_0x100 = (1 << 8),
AC_PROP_0x400 = (1 << 10),
AC_PROP_0x800 = (1 << 11),
+ AC_PROP_0x1000 = (1 << 12),
AC_PROP_0x2000000 = (1 << 25),
AC_PROP_0x4000000 = (1 << 26),
AC_PROP_0x8000000 = (1 << 27),
@@ -223,8 +224,8 @@ public:
public:
static void setTempCreateParams(
- mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, s32 roomId, u32 params2, dAcBase_c *parent, u8 subtype, u16 unkFlag,
- s8 viewClipIdx, const ActorInfo *actorInfo
+ const mVec3_c *pos, const mAng3_c *rot, const mVec3_c *scale, s32 roomId, u32 params2, dAcBase_c *parent,
+ u8 subtype, u16 unkFlag, s8 viewClipIdx, const ActorInfo *actorInfo
);
dSoundSourceIf_c *createSoundSource();
@@ -312,9 +313,9 @@ public:
static u32 s_Create_Params2;
static u16 s_Create_UnkFlags;
static u8 s_Create_ViewClipIdx;
- static mVec3_c *s_Create_Position;
- static mAng3_c *s_Create_Rotation;
- static mVec3_c *s_Create_Scale;
+ static const mVec3_c *s_Create_Position;
+ static const mAng3_c *s_Create_Rotation;
+ static const mVec3_c *s_Create_Scale;
static dAcBase_c *s_Create_Parent;
static const ActorInfo *s_Create_ActorInfo;
static u8 s_Create_Subtype;
diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h
index 69849bc9..b2e72ef6 100644
--- a/include/d/a/d_a_player.h
+++ b/include/d/a/d_a_player.h
@@ -9,6 +9,8 @@
#include "d/d_player_mdl.h"
#include "m/m_angle.h"
#include "m/m_color.h"
+#include "m/m_mtx.h"
+#include "m/m_sphere.h"
#include "nw4r/g3d/res/g3d_resfile.h"
#include "toBeSorted/file_manager.h"
#include "toBeSorted/minigame_mgr.h"
@@ -122,6 +124,9 @@ public:
static bool isInMinigameRollerCoaster();
static bool isInMinigameSprialChargeTutorial();
+ bool updateShadow(const m3d::smdl_c &mdl);
+ bool updateShadow(const mSphere_c &sph, const mMtx_c &mtx);
+
public:
f32 getField_0x4564() const {
return field_0x4564;
diff --git a/include/d/a/e/d_a_e_remly.h b/include/d/a/e/d_a_e_remly.h
index b7f27ce8..9eab72f6 100644
--- a/include/d/a/e/d_a_e_remly.h
+++ b/include/d/a/e/d_a_e_remly.h
@@ -194,7 +194,7 @@ private:
/* 0xB32 */ mAng field_0xB32;
/* 0xB34 */ mAng field_0xB34;
/* 0xB38 */ f32 mYPosition;
- /* 0xB3C */ f32 mYOffset;
+ /* 0xB3C */ f32 mSinkDepth;
/* 0xB40 */ f32 mScaleFTarget;
/* 0xB44 */ u16 field_0xB44;
/* 0xB46 */ u16 field_0xB46;
diff --git a/include/d/a/e/d_a_en_base.h b/include/d/a/e/d_a_en_base.h
index 2342540b..17a99924 100644
--- a/include/d/a/e/d_a_en_base.h
+++ b/include/d/a/e/d_a_en_base.h
@@ -5,6 +5,7 @@
#include "d/a/obj/d_a_obj_base.h"
#include "d/d_cc.h"
#include "f/f_list_mg.h"
+#include "f/f_list_nd.h"
#include "m/m3d/m_mdl.h"
#include "m/m_angle.h"
#include "m/m_vec.h"
@@ -36,7 +37,7 @@ public:
virtual void postExecute(MAIN_STATE_e state) override;
virtual int preDraw() override;
- virtual void *getObjectListEntry() override {
+ virtual fLiNdBa_c *getObjectListEntry() override {
return &mEnemyLink;
}
diff --git a/include/d/a/npc/d_a_npc.h b/include/d/a/npc/d_a_npc.h
index 8be382ee..2bf3662e 100644
--- a/include/d/a/npc/d_a_npc.h
+++ b/include/d/a/npc/d_a_npc.h
@@ -6,6 +6,7 @@
#include "d/a/d_a_itembase.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/d_message.h"
+#include "f/f_list_nd.h"
#include "libms/flowfile.h"
#include "m/m3d/m_anmchr.h"
#include "m/m3d/m_anmtexsrt.h"
@@ -374,7 +375,7 @@ public:
}
/* vt 0x0E8 */ virtual void acNpc_vt_0xE8();
- /* vt 0x074 */ virtual void *getObjectListEntry() override {
+ /* vt 0x074 */ virtual fLiNdBa_c *getObjectListEntry() override {
return &mNpcListEntry;
}
diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h
index 393f38b0..a05a9fd3 100644
--- a/include/d/a/obj/d_a_obj_base.h
+++ b/include/d/a/obj/d_a_obj_base.h
@@ -3,24 +3,21 @@
#include "common.h"
#include "d/a/d_a_base.h"
-#include "d/a/d_a_salbage_if.h"
#include "d/col/c/c_cc_d.h"
#include "d/col/c/c_m3d_g_aab.h"
#include "d/d_jnt_col.h"
#include "d/d_light_env.h"
#include "d/d_linkage.h"
-#include "egg/math/eggMath.h"
-#include "m/m3d/m_shadow.h"
#include "m/m3d/m_smdl.h"
#include "m/m_angle.h"
#include "m/m_mtx.h"
#include "m/m_vec.h"
#include "m/types_m.h"
-// Ghidra: ActorObjectBase
-// size: 0x330
-// vtable: 0x805015b8
-// non-official name
+class dBgS_Acch;
+class dShadowCircle_c;
+class dSalvageIf_c;
+
class dAcObjBase_c : public dAcBase_c {
public:
enum ObjProperties_e {
@@ -59,10 +56,12 @@ public:
};
public:
- /* 0x0FC */ f32 mYOffset;
- /* 0x100 */ f32 field_0x100;
- /* 0x104 */ f32 unkfloat;
- /* 0x108 */ char field_0x108[12];
+ /* 0x0FC */ f32 mSinkDepth;
+ /* 0x100 */ f32 mDeepSinkTarget;
+ /* 0x104 */ f32 mShallowSinkTarget;
+ /* 0x104 */ f32 mDeepSinkRate;
+ /* 0x104 */ f32 mShallowSinkRate;
+ /* 0x104 */ f32 mDefaultSinkRate;
/* 0x114 */ u16 mTargetFiTextID;
/* 0x116 */ u8 mTargetFiRelated;
/* 0x118 */ mVec3_c mOldPosition;
@@ -70,8 +69,8 @@ public:
/* 0x130 */ mVec3_c mPositionCopy3;
/* 0x13C */ mAng3_c mAngle;
/* 0x144 */ f32 mSpeed;
- /* 0x148 */ f32 mAcceleration;
- /* 0x14C */ f32 mMaxSpeed;
+ /* 0x148 */ f32 mGravity;
+ /* 0x14C */ f32 mMaxFallSpeed;
/* 0x150 */ mVec3_c mVelocity;
/* 0x15C */ mMtx_c mWorldMtx;
/* 0x18C */ cM3dGAab mBoundingBox;
@@ -79,7 +78,7 @@ public:
/* 0x1A8 */ f32 field_0x1A8;
/* 0x1AC */ u32 mObjectActorFlags;
/* 0x1B0 */ f32 field_0x1B0;
- /* 0x1B4 */ mVec3_c field_0x1B4;
+ /* 0x1B4 */ mVec3_c mGndNormal;
/* 0x1C0 */ cCcD_Stts mStts;
/* 0x1FC */ mVec3_c mStartingPos;
/* 0x208 */ mAng3_c mStartingRot;
@@ -124,7 +123,7 @@ public:
}
f32 getYOffset() const {
- return mYOffset;
+ return mSinkDepth;
}
bool isFullyStopped(f32 speed = EGG::Math<f32>::epsilon()) const {
@@ -139,8 +138,8 @@ public:
return std::fabsf(mVelocity.y) <= speed;
}
- bool checkYOffsetField_0x100() const {
- return mYOffset <= field_0x100;
+ bool checkAtDeepSinkDepth() const {
+ return mSinkDepth <= mDeepSinkTarget;
}
void unsetObjectProperty(u32 property) {
@@ -174,8 +173,8 @@ public:
static void *getOarcResFile(const char *oarcName);
static void *getOarcModelFile(const char *oarcName);
static void *getOarcZev(const char *oarcName);
- static void *getOarcDZB(const char *dzbName, const char *dzbName2);
- static void *getOarcPLC(const char *plcName, const char *plcName2);
+ static void *getOarcDZB(const char *oarcName, const char *dzbName);
+ static void *getOarcPLC(const char *oarcName, const char *plcName);
public:
dAcObjBase_c();
@@ -184,72 +183,59 @@ public:
virtual int preExecute() override;
virtual void postExecute(MAIN_STATE_e state) override;
virtual int preDraw() override;
- virtual void *getObjectListEntry();
+ virtual fLiNdBa_c *getObjectListEntry();
virtual bool restorePosRotFromCopy() override;
virtual bool canBeLinkedToWoodTag();
virtual bool drop();
public:
static dAcObjBase_c *create(
- fProfile::PROFILE_NAME_e actorId, u32 roomId, u32 params1, const mVec3_c *pos, const mAng3_c *rot,
- const mVec3_c *scale, u32 params2
+ ProfileName actorId, u32 roomId, u32 params1, const mVec3_c *pos, const mAng3_c *rot, const mVec3_c *scale,
+ u32 params2
);
static dAcObjBase_c *create(
const char *name, u32 roomId, u32 params1, const mVec3_c *pos, const mAng3_c *rot, const mVec3_c *scale,
u32 params2, u16 id, s8 viewclipId
);
- static dAcObjBase_c *create(
- dAcObjBase_c *, fProfile::PROFILE_NAME_e actorId, u32 params1, const mVec3_c *pos, const mAng3_c *rot,
- const mVec3_c *scale, u32 params2, u32 roomId
- );
- static dAcObjBase_c *findObject(fProfile::PROFILE_NAME_e actorId, fLiMgBa_c *refList, dAcObjBase_c *parent);
+ static dAcObjBase_c *findObject(ProfileName actorId, fLiMgBa_c *refList, dAcObjBase_c *parent);
static dAcObjBase_c *getNextObject(fLiMgBa_c *ref, dAcObjBase_c *parent);
bool isPlayer();
void calcVelocity(const mVec3_c &pos, f32 speed);
void calcVelocity();
void updateMatrix();
void setDefaultCullDistance();
- void fn_8002EA30(f32, f32, f32, f32, f32, void *);
- void fn_8002EA60(void *);
- void fn_8002EB30(void *);
-
- void putInODesert(f32 depth, mVec3_c *position);
- void fn_8002ECD0(m3d::smdl_c *smdl, UNKWORD);
- // Disabling makes Items and Link Disappear
- void drawModelType1(m3d::smdl_c *smdl);
- // Disabling make Lava and other objects Disappear
- void drawModel2();
- void fn_8002ed20();
- void fn_8002edb0(m3d::mShadowCircle_c &shadow, m3d::smdl_c &smdl, const mSphere_c *sph, s32, s32, f32);
- void drawShadow(
- m3d::mShadowCircle_c &shadow, void *, const mMtx_c &mtx, const mSphere_c *sph, s32, s32, s32, s32, s32, f32
- );
- void createChildAttached(
- fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2,
- u32 roomId
- );
- void createChildNonAttached(
- fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2,
- u32 roomId
+ void setSinkDepths(f32, f32, f32, f32, f32, dBgS_Acch *);
+ void calcSinkDepth(const cBgS_PolyInfo &);
+ void setGndNormal(const cBgS_PolyInfo &);
+
+ bool putInODesert(f32 depth, mVec3_c *position);
+ void drawModel(m3d::smdl_c *smdl);
+ void drawModel(m3d::smdl_c *smdl, int lightSetIdx);
+ bool drawShadowAlone(m3d::smdl_c &mdl);
+ bool drawShadow(dShadowCircle_c &shadow, m3d::smdl_c &smdl, const mSphere_c &sph, s32, s32, f32);
+ bool drawShadow(
+ dShadowCircle_c &shadow, const GXTexObj *pTex, const mMtx_c &mtx, const mSphere_c &sph, s32 priority, s32 alpha,
+ s32 red, s32 green, s32 blue, f32 height
);
void fn_8002efa0();
bool fn_8002eff0(const f32 &, const s16 &, cCcD_Obj *, const f32 &, const f32 &);
- void createChildAttached2(
- fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2,
- u32 roomId
+
+ dAcObjBase_c *createChildAttached(
+ ProfileName actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, u32 roomId
+ );
+ dAcObjBase_c *createChildDetached(
+ ProfileName actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, u32 roomId
);
- // These may not belong here
- static dAcBase_c *createInsectActor(
- dAcBase_c *parent, fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale,
- u32 params2, s32 roomId
+ static dAcObjBase_c *createInsectActor(
+ dAcBase_c *parent, ProfileName actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2,
+ s32 roomId
);
- static dAcBase_c *createActorUnkGroup3(
- fProfile::PROFILE_NAME_e actorId, u32 roomId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale,
- u32 params2
+ static dAcObjBase_c *createStageActor(
+ ProfileName actorId, u32 roomId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2
);
- static dAcBase_c *createActorUnkGroup3(
+ static dAcObjBase_c *createStageActor(
const char *name, u32 roomId, u32 params1, const mVec3_c *pos, const mAng3_c *rot, const mVec3_c *scale,
u32 params2, u16 id, s8 viewclipId
);
diff --git a/include/d/a/obj/d_a_obj_desert.h b/include/d/a/obj/d_a_obj_desert.h
index 8c646da5..4cc8080f 100644
--- a/include/d/a/obj/d_a_obj_desert.h
+++ b/include/d/a/obj/d_a_obj_desert.h
@@ -2,13 +2,55 @@
#define D_A_OBJ_DESERT_H
#include "d/a/obj/d_a_obj_base.h"
+#include "d/col/bg/d_bg_w_sv.h"
+#include "m/m3d/m_smdl.h"
+#include "m/m_vec.h"
+#include "nw4r/g3d/g3d_scnobj.h"
+#include "nw4r/g3d/res/g3d_resfile.h"
class dAcODesert : public dAcObjBase_c {
public:
dAcODesert();
virtual ~dAcODesert();
+ class ScnCallback_c : public nw4r::g3d::IScnObjCallback {
+ public:
+ ScnCallback_c(dAcODesert *pDesert) : mpDesert(pDesert) {}
+ virtual void ExecCallback_CALC_MAT(nw4r::g3d::ScnObj::Timing, nw4r::g3d::ScnObj *, u32, void *);
+
+ dAcODesert *mpDesert;
+ };
+
+ struct Entry {
+ Entry() : mIsSet(0) {}
+
+ /* 0x00 */ s32 mIsSet; // Guess
+ /* 0x04 */ mVec3_c mPosition;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ };
+
+ void addEntry(const Entry &entry) {
+ field_0x1684++;
+ if (field_0x1684 >= 10) {
+ field_0x1684 = 0;
+ }
+ mEntries[field_0x1684] = entry;
+ }
+
private:
+ /* 0x 330 */ nw4r::g3d::ResFile mRes;
+ /* 0x 334 */ m3d::smdl_c mMdl;
+ /* 0x 350 */ dBgWSv mBgW;
+
+ /* 0x 568 */ u8 field_0x568[0x590 - 0x568];
+
+ /* 0x 590 */ ScnCallback_c mScnCallback;
+ /* 0x 598 */ bool mbRequestCalcMat; // Rename when better name for fn_308_910 is known
+
+ /* 0x */ u8 field_0x599[0x1684 - 0x599];
+ /* 0x1684 */ s32 field_0x1684;
+ /* 0x1688 */ Entry mEntries[1];
};
#endif
diff --git a/include/d/a/obj/d_a_obj_junk_repairing.h b/include/d/a/obj/d_a_obj_junk_repairing.h
index c40e9c26..55b3e9df 100644
--- a/include/d/a/obj/d_a_obj_junk_repairing.h
+++ b/include/d/a/obj/d_a_obj_junk_repairing.h
@@ -2,13 +2,11 @@
#define D_A_OBJ_JUNK_REPAIRING_H
#include "d/a/obj/d_a_obj_base.h"
-#include "m/m3d/m_shadow.h"
+#include "d/d_shadow.h"
#include "m/m3d/m_smdl.h"
#include "nw4r/g3d/res/g3d_resfile.h"
#include "s/s_State.hpp"
-class dMyShadowCircle_c : public m3d::mShadowCircle_c {};
-
class dAcOJunkRep_c : public dAcObjBase_c {
public:
dAcOJunkRep_c() : mStateMgr(*this), mpModelToUse(nullptr) {}
@@ -39,7 +37,7 @@ private:
m3d::smdl_c *mpModelToUse;
m3d::smdl_c mModel1;
m3d::smdl_c mModel2;
- dMyShadowCircle_c mShadow;
+ dShadowCircle_c mShadow;
STATE_MGR_DECLARE(dAcOJunkRep_c);
};
diff --git a/include/d/a/obj/d_a_obj_tbox.h b/include/d/a/obj/d_a_obj_tbox.h
index 368a7f04..e3d1b483 100644
--- a/include/d/a/obj/d_a_obj_tbox.h
+++ b/include/d/a/obj/d_a_obj_tbox.h
@@ -47,7 +47,7 @@ public:
virtual void unkVirtFunc_0x6C() override;
virtual void doInteraction(s32) override;
- virtual void *getObjectListEntry() override;
+ virtual fLiNdBa_c *getObjectListEntry() override;
STATE_FUNC_DECLARE(dAcTbox_c, DugOut);
STATE_FUNC_DECLARE(dAcTbox_c, WaitAppear);
diff --git a/include/d/col/bg/d_bg_pc.h b/include/d/col/bg/d_bg_pc.h
index a5845962..832ea0b2 100644
--- a/include/d/col/bg/d_bg_pc.h
+++ b/include/d/col/bg/d_bg_pc.h
@@ -62,6 +62,8 @@ enum dBgPc_Attribute {
POLY_ATTR_SLOPE_RUN = 15,
POLY_ATTR_SAND_DEEP_SLOW = 16,
POLY_ATTR_CURSED_WATER = 17,
+
+ POLY_ATTR_SAND_SHALLOW2 = 20,
};
class dBgPc {
public:
diff --git a/include/d/col/bg/d_bg_s_acch.h b/include/d/col/bg/d_bg_s_acch.h
index f1227411..f143f187 100644
--- a/include/d/col/bg/d_bg_s_acch.h
+++ b/include/d/col/bg/d_bg_s_acch.h
@@ -140,7 +140,7 @@ public:
/* 0x 0020 0000 */ GND_THIN_CELLING_OFF = (1 << 21),
/* 0x 0040 0000 */ WALL_SORT = (1 << 22),
/* 0x 0080 0000 */ LINE_DOWN = (1 << 23),
-
+ /* 0x 0100 0000 */ ACCH_FLAG_0x1000000 = (1 << 24),
/* 0x 0200 0000 */ ACCH_FLAG_0x2000000 = (1 << 25),
/* 0x 0400 0000 */ ACCH_FLAG_0x4000000 = (1 << 26),
/* 0x 0800 0000 */ ACCH_FLAG_0x8000000 = (1 << 27),
@@ -281,6 +281,9 @@ public:
void SetWaterNone() {
mFlags |= WATER_NONE;
}
+ void SetGroundSink() {
+ mFlags |= ACCH_FLAG_0x1000000;
+ }
bool ChkWallHit() {
return mFlags & WALL_HIT;
}
diff --git a/include/d/d_linkage.h b/include/d/d_linkage.h
index 9cf24418..5ee53ff5 100644
--- a/include/d/d_linkage.h
+++ b/include/d/d_linkage.h
@@ -63,6 +63,10 @@ public:
return mState == state;
}
+ void setState(State_e state) {
+ mState = state;
+ }
+
bool checkType_1_3_5_6_9() const {
return mType == CONNECTION_1 || mType == CONNECTION_3 || mType == CONNECTION_5 || mType == CONNECTION_6 ||
mType == CONNECTION_9;
@@ -87,8 +91,8 @@ public:
return field_0xA0->getArrowOffsetPosAndAngle(param_1, param_2, param_3, param_4, param_5);
}
- dAcBase_c *getControllingActor() {
- return static_cast<dAcBase_c *>(mControllingActor.p_owner);
+ dAcObjBase_c *getControllingActor() {
+ return (dAcObjBase_c *)(mControllingActor.p_owner);
}
void setField_0x8C_0x90(f32 f0, f32 f1) {
diff --git a/include/d/d_player_act.h b/include/d/d_player_act.h
index 4f614842..e2257692 100644
--- a/include/d/d_player_act.h
+++ b/include/d/d_player_act.h
@@ -236,7 +236,7 @@ public:
return mPositionCopy3;
}
/* vt 0x1A8 */ virtual f32 vt_0x1A8() {
- return mYOffset;
+ return mSinkDepth;
}
/* vt 0x1AC */ virtual f32 vt_0x1AC() {
return 0.0f;
diff --git a/include/d/d_shadow.h b/include/d/d_shadow.h
index 902f2e6a..009bf821 100644
--- a/include/d/d_shadow.h
+++ b/include/d/d_shadow.h
@@ -1,14 +1,29 @@
#ifndef D_SHADOW_H
#define D_SHADOW_H
+#include "d/d_light_env.h"
#include "m/m3d/m_shadow.h"
+#include "m/m3d/m_smdl.h"
+#include "m/m_mtx.h"
+#include "m/m_sphere.h"
+#include "rvl/GX/GXTexture.h"
+
+class dAcObjBase_c;
// This is unofficial, idk if this is close, but this is a common shadow extension.
-//
class dShadowCircle_c : public m3d::mShadowCircle_c {
public:
dShadowCircle_c() {}
virtual ~dShadowCircle_c() {}
+
+ bool drawMdl(
+ m3d::smdl_c &mdl, const mSphere_c &sph, ActorLighting &actorLighting, u32 priority, s32 alpha, dAcObjBase_c *,
+ f32 height
+ );
+ bool drawTexObj(
+ const GXTexObj *pTex, const mMtx_c &mtx, const mSphere_c &sph, ActorLighting &actorLighting, u32 priority,
+ s32 alpha, s32 red, s32 green, s32 blue, dAcObjBase_c *, f32 height
+ );
};
#endif
diff --git a/include/m/m3d/m_shadow.h b/include/m/m3d/m_shadow.h
index c49c4740..4fb3c2de 100644
--- a/include/m/m3d/m_shadow.h
+++ b/include/m/m3d/m_shadow.h
@@ -165,7 +165,7 @@ public:
create(int count, u8 unk1, int unk2, u16 texBufferSize, u32 drawOpaPriority, nw4r::g3d::ResMdl mdl, u32 heapSize);
void reset();
- bool addCircle(mShadowCircle_c *circle, u32 priority, u32 unk);
+ bool addCircle(mShadowCircle_c *circle, u32 priority, bool unk);
void removeCircle(mShadowCircle_c *circle);
void drawAllShadows();
diff --git a/include/toBeSorted/d_d3d.h b/include/toBeSorted/d_d3d.h
index 212fd381..d834c093 100644
--- a/include/toBeSorted/d_d3d.h
+++ b/include/toBeSorted/d_d3d.h
@@ -3,11 +3,13 @@
#include "common.h"
#include "d/a/d_a_base.h"
+#include "d/d_light_env.h"
#include "egg/egg_types.h"
#include "m/m3d/m_anmmdl.h"
#include "m/m3d/m_fanm.h"
#include "m/m3d/m_mdl.h"
#include "m/m3d/m_proc.h"
+#include "m/m3d/m_smdl.h"
#include "m/m_color.h"
#include "m/m_mtx.h"
#include "m/m_vec.h"
@@ -29,6 +31,8 @@ void fn_80016860();
void clearList();
void fn_80017500();
+void setLight(m3d::smdl_c *pMdl, int lightSetIdx, ActorLighting *pLighting);
+
class AnmMdlWrapper : public m3d::mdlAnmChr {
public:
AnmMdlWrapper();
@@ -207,7 +211,7 @@ public:
doDraw();
}
- void fn_800192F0(u8, const mMtx_c&, u8);
+ void fn_800192F0(u8, const mMtx_c &, u8);
private:
void doRemove();
diff --git a/include/toBeSorted/event_manager.h b/include/toBeSorted/event_manager.h
index 929cb869..3de101fb 100644
--- a/include/toBeSorted/event_manager.h
+++ b/include/toBeSorted/event_manager.h
@@ -51,6 +51,13 @@ public:
return strequals(getCurrentEventName(), name);
}
+ static bool checkFlag(int flag) {
+ if (!isInEvent()) {
+ flag &= 0xFEC80000;
+ }
+ return (sInstance->mStateFlags & flag) != 0;
+ }
+
static bool eventRelatedStateFlags_shift0x11_1();
// Something like isActorInEvent maybe?
@@ -63,6 +70,7 @@ private:
/* 0x084 */ Event mCurrentEvent;
/* 0x0C4 */ u8 _0C4[0x184 - 0x0C4];
/* 0x184 */ int mState;
+ /* 0x188 */ int mStateFlags;
/* 0x18C */ u8 _18C[0x19C - 0x18C];
};
diff --git a/include/toBeSorted/time_area_mgr.h b/include/toBeSorted/time_area_mgr.h
index 501793b9..0dd78a20 100644
--- a/include/toBeSorted/time_area_mgr.h
+++ b/include/toBeSorted/time_area_mgr.h
@@ -73,6 +73,7 @@ public:
f32 fn_800B9CE0(const mVec3_c &position);
static bool fn_800BBD40();
+ static bool fn_800BBE00();
bool isInLanayruMiningFacility() const {
return mIsInLanayruMiningFacility;
diff --git a/src/REL/d/a/b/d_a_b_girahimu.cpp b/src/REL/d/a/b/d_a_b_girahimu.cpp
index ff124e86..39e87ec0 100644
--- a/src/REL/d/a/b/d_a_b_girahimu.cpp
+++ b/src/REL/d/a/b/d_a_b_girahimu.cpp
@@ -883,7 +883,7 @@ int dAcGirahimu_c::actorExecute() {
if (mbOnGround) {
calcVelocity();
} else {
- mVelocity.y += mAcceleration;
+ mVelocity.y += mGravity;
}
mPosition += mTeleportDodgeAmount;
diff --git a/src/REL/d/a/b/d_a_b_girahimu2.cpp b/src/REL/d/a/b/d_a_b_girahimu2.cpp
index bb062f23..084c1adf 100644
--- a/src/REL/d/a/b/d_a_b_girahimu2.cpp
+++ b/src/REL/d/a/b/d_a_b_girahimu2.cpp
@@ -757,7 +757,7 @@ void dAcGirahimu2_c::initializeState_UpAttack() {
mCallback.field_0x04E = false;
mCallback.field_0x088 = false;
mSubstateTimer = 2;
- mAcceleration = -8.0f;
+ mGravity = -8.0f;
mSpeed = 0.0f;
mSpeedTarget = 0.0f;
mMdlSwordA.fn_8006B7A0(0x210000);
@@ -815,7 +815,7 @@ void dAcGirahimu2_c::executeState_UpAttack() {
void dAcGirahimu2_c::finalizeState_UpAttack() {
mMdlSwordA.disable();
mMdlSwordB.disable();
- mAcceleration = -6.0f;
+ mGravity = -6.0f;
mSubstate = 0;
mSpeed = 0.0f;
mSpeedTarget = 0.0f;
@@ -1953,7 +1953,7 @@ int dAcGirahimu2_c::actorExecute() {
if (mbOnGround) {
calcVelocity();
} else {
- mVelocity.y += mAcceleration;
+ mVelocity.y += mGravity;
}
mPosition += mTeleportDodgeAmount;
diff --git a/src/REL/d/a/b/d_a_b_girahimu_base.cpp b/src/REL/d/a/b/d_a_b_girahimu_base.cpp
index 4181ed5e..fa396498 100644
--- a/src/REL/d/a/b/d_a_b_girahimu_base.cpp
+++ b/src/REL/d/a/b/d_a_b_girahimu_base.cpp
@@ -1518,7 +1518,7 @@ void dAcGirahimuBase_c::executeState_BackStep() {
case 2: {
mbOnGround = false;
if (mVelocity.y <= 0.0f && mAcch.ChkGndHit() && mPosition.y <= mStartingPos.y + 100.0f) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.0f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.0f, field_0x1B0);
mAngle.y = mVelocity.atan2sX_Z();
mSpeedTarget = 0.0f;
mSpeed = mVelocity.absXZ();
@@ -2194,8 +2194,8 @@ void dAcGirahimuBase_c::createCollision() {
mBoundingBox.Set(mVec3_c(-100.0f, -500.0f, -100.0f), mVec3_c(100.0f, 1000.0f, 100.0f));
mAnmIDBody = ANM_NONE;
- mAcceleration = -6.0f;
- mMaxSpeed = -80.0f;
+ mGravity = -6.0f;
+ mMaxFallSpeed = -80.0f;
mSpeedChangeFactor = 0.5f;
field_0xD7C = true;
mWarpScale.set(1.05f, 1.05f, 1.05f);
@@ -2895,10 +2895,10 @@ void dAcGirahimuBase_c::calcJumpMovement(f32 f0, f32 f1) {
mVec3_c v0(0.0f, 0.0f, f0);
v0.rotY(mAngle.y);
v0 += mPosition;
- { mAcceleration = 5.0f; } // used to force rodata pool in preamble
- mAcceleration = _weird_zero + 6.0f;
+ { mGravity = 5.0f; } // used to force rodata pool in preamble
+ mGravity = _weird_zero + 6.0f;
calcVelocity(v0, f1);
- mAcceleration = -mAcceleration;
+ mGravity = -mGravity;
}
int dAcGirahimuBase_c::draw() {
@@ -2906,12 +2906,12 @@ int dAcGirahimuBase_c::draw() {
return SUCCEEDED;
}
- drawModelType1(&mMdlBody);
- drawModelType1(&mMdlPias);
+ drawModel(&mMdlBody);
+ drawModel(&mMdlPias);
static mSphere_c bodySph(mVec3_c(0.0f, 100.0f, 0.0f), 300.0f);
static mSphere_c swordSph(mVec3_c(0.0f, 0.0f, 0.0f), 0.0f);
- fn_8002edb0(mShadow, mMdlBody, &bodySph, -1, -1, 0.0f);
+ drawShadow(mShadow, mMdlBody, bodySph, -1, -1, 0.0f);
if (mbHoldingSwordA) {
mMdlSwordA.entry(this, nullptr, nullptr);
m3d::mShadow_c::GetInstance()->addMdlToCircle(&mShadow, mMdlSwordA.mMdl, swordSph);
diff --git a/src/REL/d/a/b/d_a_b_lastboss.cpp b/src/REL/d/a/b/d_a_b_lastboss.cpp
index 4bd6964f..49a91271 100644
--- a/src/REL/d/a/b/d_a_b_lastboss.cpp
+++ b/src/REL/d/a/b/d_a_b_lastboss.cpp
@@ -203,8 +203,8 @@ int dAcBlastboss_c::create() {
mLightningCc.SetTgShieldType(~AT_TYPE_NONE);
mLightningCc.SetStts(mStts);
- mAcceleration = -5.0f;
- mMaxSpeed = -80.0f;
+ mGravity = -5.0f;
+ mMaxFallSpeed = -80.0f;
mBoundingBox.Set(mVec3_c(-200.0f, -300.0f, -200.0f), mVec3_c(200.0f, 300.0f, 200.0f));
changeState(StateID_Fight);
@@ -1727,7 +1727,7 @@ void dAcBlastboss_c::initializeState_Down() {
setAnm("DownBStart", 5.0f);
mSubState = SUB_STATE_0;
mSpeed = -20.0f;
- mAcceleration = -5.0f;
+ mGravity = -5.0f;
mVelocity.y = 60.0f;
mIsSwordEmpowered = false;
mCc1.ClrTg_0x8000000();
@@ -2345,10 +2345,10 @@ void dAcBlastboss_c::setAnmRate(f32 rate) {
}
int dAcBlastboss_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
mSwordMdl.entry(this, nullptr, nullptr);
if (field_0x114C) {
- drawModelType1(&mThunderMdl);
+ drawModel(&mThunderMdl);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/d_a_bombf.cpp b/src/REL/d/a/d_a_bombf.cpp
index d1cfd327..47b4bf4d 100644
--- a/src/REL/d/a/d_a_bombf.cpp
+++ b/src/REL/d/a/d_a_bombf.cpp
@@ -43,8 +43,8 @@ int dAcBombf_c::actorCreate() {
}
mStts.SetDefaultRank();
- mAcceleration = -2.0f;
- mMaxSpeed = -80.0f;
+ mGravity = -2.0f;
+ mMaxFallSpeed = -80.0f;
mStateMgr.changeState(StateID_Wait);
mBoundingBox.Set(mVec3_c(-80.0, -50.0f, -80.0f), mVec3_c(80.0, 60.0f, 80.0f));
mAngle = mRotation;
@@ -143,7 +143,7 @@ int dAcBombf_c::draw() {
if (mIsUnderground != 0 && !dAcPy_c::LINK->checkActionFlagsCont(0x400000)) {
return SUCCEEDED;
}
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/d_a_girahimu_sword_beam.cpp b/src/REL/d/a/d_a_girahimu_sword_beam.cpp
index 188f11a1..8106896e 100644
--- a/src/REL/d/a/d_a_girahimu_sword_beam.cpp
+++ b/src/REL/d/a/d_a_girahimu_sword_beam.cpp
@@ -80,7 +80,7 @@ int dAcGirahimuSwordBeam_c::create() {
mRotation.z -= 0x4000;
}
transformMatrix();
- mMaxSpeed = -60.0f;
+ mMaxFallSpeed = -60.0f;
mEmitter0.init(this);
mEmitter1.init(this);
@@ -220,7 +220,7 @@ int dAcGirahimuSwordBeam_c::actorExecute() {
int dAcGirahimuSwordBeam_c::draw() {
mSphere_c sph(mVec3_c(0.0f, 0.0f, 0.0f), field_0xB0C);
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, field_0xB10, -1, -1, -1, mPosition.y - mAcch.GetGroundH());
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, field_0xB10, -1, -1, -1, mPosition.y - mAcch.GetGroundH());
return SUCCEEDED;
}
diff --git a/src/REL/d/a/d_a_invisible.cpp b/src/REL/d/a/d_a_invisible.cpp
index 0dc8f48d..b28ebf82 100644
--- a/src/REL/d/a/d_a_invisible.cpp
+++ b/src/REL/d/a/d_a_invisible.cpp
@@ -16,8 +16,8 @@ int dAcInvisible::create() {
mStts.SetRank(9);
mSph.SetStts(mStts);
mCps.SetStts(mStts);
- mAcceleration = 0.0;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0;
+ mMaxFallSpeed = -40.0f;
mStateMgr.changeState(StateID_Wait);
mBoundingBox.Set(mVec3_c(-0.0f, -0.0f, -0.0f), mVec3_c(0.0f, 0.0f, 0.0f));
return SUCCEEDED;
diff --git a/src/REL/d/a/d_a_knight_leader_bird.cpp b/src/REL/d/a/d_a_knight_leader_bird.cpp
index a9199547..921a6394 100644
--- a/src/REL/d/a/d_a_knight_leader_bird.cpp
+++ b/src/REL/d/a/d_a_knight_leader_bird.cpp
@@ -86,7 +86,7 @@ void dAcKnightLeaderBird_c::updateSpineMtx() {
void dAcKnightLeaderBird_c::initializeState_Wait() {
mSpeed = 0.0f;
mVelocity.set(0.0f, 0.0f, 0.0f);
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
changeBirdAction(sBirdLordAnmName, BIRD_ACTION_GLIDE, m3d::PLAY_MODE_4, 8.0f);
}
void dAcKnightLeaderBird_c::executeState_Wait() {}
diff --git a/src/REL/d/a/e/d_a_e_hb_leaf.cpp b/src/REL/d/a/e/d_a_e_hb_leaf.cpp
index 92047ba0..7c7e7003 100644
--- a/src/REL/d/a/e/d_a_e_hb_leaf.cpp
+++ b/src/REL/d/a/e/d_a_e_hb_leaf.cpp
@@ -87,7 +87,7 @@ int dAcEhb_leaf_c::actorExecute() {
int dAcEhb_leaf_c::draw() {
if (!isHidden()) {
- drawModelType1(&mModel.getModel());
+ drawModel(&mModel.getModel());
}
return SUCCEEDED;
diff --git a/src/REL/d/a/e/d_a_e_ks.cpp b/src/REL/d/a/e/d_a_e_ks.cpp
index ef18a9dc..e5d99fae 100644
--- a/src/REL/d/a/e/d_a_e_ks.cpp
+++ b/src/REL/d/a/e/d_a_e_ks.cpp
@@ -330,7 +330,7 @@ void dAcEKs_c::fn_155_A60() {
}
mSpeed = 65.f;
mAcchCir.SetWall(20.f, 60.f);
- mAcceleration = -6.f;
+ mGravity = -6.f;
field_0xD5E = 5;
mAcch.SetGroundUpY(0.f);
@@ -361,7 +361,7 @@ void dAcEKs_c::fn_155_A60() {
field_0xDA9 = 1;
}
if (mHealth == 0) {
- mAcceleration = -4.f;
+ mGravity = -4.f;
field_0xD92 = field_0xD98 * 0.2f;
field_0xD94 = field_0xD96 * 0.1f;
}
@@ -374,7 +374,7 @@ void dAcEKs_c::fn_155_A60() {
if (mHealth == 0) {
mSpeed = 65.f;
mAcchCir.SetWall(20, 60);
- mAcceleration = -6.f;
+ mGravity = -6.f;
field_0xD5E = 5;
mAcch.SetGroundUpY(0);
unsetActorProperty(AC_PROP_0x1);
@@ -1342,8 +1342,8 @@ int dAcEKs_c::actorCreate() {
mSph.Set(sSrcSph);
mSph.SetStts(mStts);
- mAcceleration = 0.f;
- mMaxSpeed = -40.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = -40.f;
setStartingPosition(mPosition);
field_0xBE0 = mPosition;
@@ -1747,7 +1747,7 @@ int dAcEKs_c::draw() {
}
}
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
if (!isState(StateID_Wait)) {
field_0xD18 = mPosition.y - mAcch.GetGroundH();
@@ -1757,7 +1757,7 @@ int dAcEKs_c::draw() {
50.f + dAcEKs_HIO_c::sInstance.getZero1()
);
field_0xAE4.transS(mPosition);
- drawShadow(mShadow, nullptr, field_0xAE4, &sph, -1, -1, -1, -1, -1, field_0xD18);
+ drawShadow(mShadow, nullptr, field_0xAE4, sph, -1, -1, -1, -1, -1, field_0xD18);
}
return SUCCEEDED;
@@ -2635,7 +2635,7 @@ void dAcEKs_c::executeState_Damage() {
}
if (mAcch.ChkGroundLanding() && field_0xDB5 != 0) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, 1, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 1, 1, field_0x1B0);
field_0xDB5 = 0;
}
@@ -2688,7 +2688,7 @@ void dAcEKs_c::initializeState_Stun() {
field_0xDA5 = 0;
mAngle.y = cLib::targetAngleY(dAcPy_c::GetLink()->mPosition, mPosition);
mSpeed = 30.f;
- mAcceleration = -2.5f;
+ mGravity = -2.5f;
field_0xD5C = 5;
mStunSoundTimer = cM::rndInt(20) + 20;
mAcch.SetGroundUpY(0);
@@ -2729,17 +2729,13 @@ void dAcEKs_c::executeState_Stun() {
}
if (mAcch.ChkGndHit()) {
if (field_0xDB5 != 0) {
- dJEffManager_c::spawnGroundEffect(
- mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, 1, field_0x1B0
- );
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 1, 1, field_0x1B0);
field_0xDB5 = 0;
}
field_0xD5C = 0;
field_0xDA9 = 1;
if (dBgS::GetInstance()->GetSpecialCode(mAcch.GetGnd()) == POLY_ATTR_LAVA) {
- dJEffManager_c::spawnGroundEffect(
- mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, 1, field_0x1B0
- );
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 1, 1, field_0x1B0);
resetInteractionFlags(0x1);
startSound(SE_EKs_V_DEATH2);
unsetActorProperty(AC_PROP_0x1);
@@ -2822,7 +2818,7 @@ void dAcEKs_c::executeState_Stun() {
}
void dAcEKs_c::finalizeState_Stun() {
field_0xC10.y = 0.f;
- mAcceleration = 0.f;
+ mGravity = 0.f;
mSph.OnCoSet();
resetInteractionFlags(0x1);
if (mType == EKS_FIRE) {
@@ -2853,7 +2849,7 @@ void dAcEKs_c::initializeState_WindBlow() {
field_0xD20 = 0.f;
mLightInfluence.SetScale(0);
}
- mAcceleration = -0.5f;
+ mGravity = -0.5f;
mAcch.ClrRoofNone();
mAcchCir.SetWall(20, 60);
mAcch.SetRoofCrrHeight(55);
@@ -2869,7 +2865,7 @@ void dAcEKs_c::executeState_WindBlow() {
}
if (mAcch.ChkGroundLanding() && dBgS::GetInstance()->GetSpecialCode(mAcch.GetGnd()) == POLY_ATTR_LAVA) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, 1, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 1, 1, field_0x1B0);
startSound(SE_EKs_V_DEATH2);
unsetActorProperty(AC_PROP_0x1);
kill(false);
@@ -2945,7 +2941,7 @@ void dAcEKs_c::executeState_WindBlow() {
}
void dAcEKs_c::finalizeState_WindBlow() {
mSpeed = 0.f;
- mAcceleration = 0.f;
+ mGravity = 0.f;
mVelocity.y = 0.f;
mRotation.x = 0;
mAngle.set(mRotation);
diff --git a/src/REL/d/a/e/d_a_e_remly.cpp b/src/REL/d/a/e/d_a_e_remly.cpp
index 7ce91edf..b1033146 100644
--- a/src/REL/d/a/e/d_a_e_remly.cpp
+++ b/src/REL/d/a/e/d_a_e_remly.cpp
@@ -164,8 +164,8 @@ int dAcEremly_c::actorCreate() {
mBoundingBox.Set(mVec3_c(-150.f, -700.f, -150.f), mVec3_c(150.f, 150.f, 150.f));
- mAcceleration = -3.f;
- mMaxSpeed = -60.f;
+ mGravity = -3.f;
+ mMaxFallSpeed = -60.f;
mScale.set(1.f, 1.f, 1.f);
mScaleF = 1.f;
@@ -477,7 +477,7 @@ int dAcEremly_c::actorExecute() {
}
} else {
mSlopeXTarget = mSlopeZTarget = 0;
- mYPosition = mPosition.y + mYOffset;
+ mYPosition = mPosition.y + mSinkDepth;
}
if (!isUnderWater() && isState(StateID_Water)) {
@@ -575,17 +575,17 @@ int dAcEremly_c::draw() {
}
m3d::smdl_c &mdl = mMdl.getModel();
- drawModelType1(&mdl);
+ drawModel(&mdl);
static mSphere_c sph(mVec3_c(0.f, getValue0(), 0.f), _weird_zero + 290.f);
- fn_8002edb0(mShadow, mdl, &sph, -1, -1, mPosition.y - mAcch.GetGroundH());
+ drawShadow(mShadow, mdl, sph, -1, -1, mPosition.y - mAcch.GetGroundH());
return SUCCEEDED;
}
void dAcEremly_c::initializeState_Wait() {
mSomeCounter = 0;
- mAcceleration = -3.f;
+ mGravity = -3.f;
checkSlope(true);
@@ -833,7 +833,7 @@ void dAcEremly_c::finalizeState_Run() {}
void dAcEremly_c::initializeState_Escape() {
field_0xB6E = 0;
- mAcceleration = -3.f;
+ mGravity = -3.f;
mMdl.setAnm("RemlyRun", m3d::PLAY_MODE_4, 4.f);
mAnimation = ANM_Run;
mMdl.setRate(2.f);
@@ -965,7 +965,7 @@ void dAcEremly_c::initializeState_Hold() {
mAnimation = ANM_Hold;
mSph.ClrCoSet();
- mYOffset = 0.f;
+ mSinkDepth = 0.f;
mYPosition = mPosition.y;
field_0xB6A = 0;
@@ -993,7 +993,7 @@ void dAcEremly_c::initializeState_Hold() {
mLinkage.field_0x8C = 13.f + _weird_zero;
}
- mAcceleration = -1.75f + _weird_zero;
+ mGravity = -1.75f + _weird_zero;
mAnimTimer = 64.f + cM::rndF(64.f);
mAnimSafeTimer = 90;
}
@@ -1028,14 +1028,14 @@ void dAcEremly_c::executeState_Hold() {
}
if (isScary()) {
- mAcceleration = -3.f;
+ mGravity = -3.f;
changeState(StateID_NightFoo);
} else if (field_0xB68 == 0) {
- mAcceleration = -3.f;
+ mGravity = -3.f;
mAnimTimer = 0;
changeState(StateID_Wait);
} else {
- mAcceleration = -3.f;
+ mGravity = -3.f;
changeState(StateID_EscapeDash);
}
}
@@ -1068,7 +1068,7 @@ void dAcEremly_c::executeState_Jump() {
if (mAcch.ChkGndHit() && mMdl.getAnm().isStop()) {
mAngle.y = mRotation.y;
setActorProperty(AC_PROP_0x1);
- mAcceleration = -3.f;
+ mGravity = -3.f;
if (isScary()) {
changeState(StateID_NightFoo);
@@ -1109,7 +1109,7 @@ void dAcEremly_c::initializeState_Fly() {
f32 f = 200.f + _weird_zero;
- mYOffset = 0.f;
+ mSinkDepth = 0.f;
mAnmStep = 0;
mAcch.SetRoofCrrHeight(f);
@@ -1157,11 +1157,11 @@ void dAcEremly_c::executeState_Fly() {
switch (mAnmStep) {
default: {
sLib::addCalcScaledDiff(&mVelocity.y, 8.f, 0.7f, 2.f);
- sLib::addCalcScaled(&mAcceleration, 0.7f, 2.f);
+ sLib::addCalcScaled(&mGravity, 0.7f, 2.f);
sLib::addCalcAngle(mAngle.y.ref(), getXZAngleToPlayer(), 2, 0x800);
sLib::addCalcAngle(mRotation.y.ref(), mAngle.y, 2, 0x800);
if (mStartingPos.y + 300.f < mPosition.y) {
- mAcceleration = 0.f;
+ mGravity = 0.f;
mVelocity.y = 0.f;
mAnmStep++;
}
@@ -1180,7 +1180,7 @@ void dAcEremly_c::executeState_Fly() {
} else {
targetSpeed = 0.f;
}
- sLib::addCalcScaledDiff(&mYOffset, targetSpeed, 0.5f, 10.f);
+ sLib::addCalcScaledDiff(&mSinkDepth, targetSpeed, 0.5f, 10.f);
if (mSomeCounter < 120 && mStartingPos.squareDistanceToXZ(mPosition) > 2500.f) {
s32 angle = ++mFlyAngleCounter * 300;
@@ -1196,7 +1196,7 @@ void dAcEremly_c::executeState_Fly() {
mSomeCounter++;
}
} else {
- mAcceleration = 0.f;
+ mGravity = 0.f;
mVelocity.y = 0.f;
mSomeCounter = 0;
}
@@ -1211,8 +1211,8 @@ void dAcEremly_c::executeState_Fly() {
return;
}
if (mAcch.ChkGndHit()) {
- mYOffset = 0.f;
- mAcceleration = -3.f;
+ mSinkDepth = 0.f;
+ mGravity = -3.f;
mSpeed = 0.f;
mAnmStep++;
mAcch.SetRoofNone();
@@ -1250,7 +1250,7 @@ void dAcEremly_c::finalizeState_Fly() {}
void dAcEremly_c::initializeState_Damage() {
mSomeCounter = 0;
- mAcceleration = -3.f;
+ mGravity = -3.f;
if (mAnimation == ANM_Scared) {
mSomeCounter = 1;
}
@@ -1378,7 +1378,7 @@ void dAcEremly_c::finalizeState_Scared() {}
void dAcEremly_c::initializeState_Stun() {
field_0xB6B = false;
- mAcceleration = -3.f;
+ mGravity = -3.f;
if (mAnimation != ANM_Piyo1 && mAnimation != ANM_Piyo2) {
mMdl.setAnm("RemlyPiyo1", m3d::PLAY_MODE_4, 4.f);
mAnimation = ANM_Piyo1;
@@ -1455,7 +1455,7 @@ void dAcEremly_c::initializeState_Water() {
mMdl.setAnm("RemlySwim", m3d::PLAY_MODE_4, 4.f);
mAnimation = ANM_Swim;
field_0xB6B = false;
- mAcceleration = 0.f;
+ mGravity = 0.f;
mSpeed = 0.f;
mSph.ClrAtSet();
field_0xB68 = 0;
@@ -1488,14 +1488,14 @@ void dAcEremly_c::executeState_Water() {
field_0xB6F = 1;
} else if (field_0xB6F) {
mStts.SetRank(5);
- mAcceleration = -3.f;
+ mGravity = -3.f;
if ((s32)++mNoGroundCounter > 30) {
changeState(StateID_Fly);
}
} else {
mSpeed = 0.f;
- mAcceleration = -3.f;
+ mGravity = -3.f;
mStts.SetRank(5);
if (mAnimation != ANM_SwimDamage && mAnimation != ANM_Water) {
@@ -1798,7 +1798,7 @@ void dAcEremly_c::initializeState_NightRun() {
mSomeCounter2 = 0;
field_0xB6B = false;
mSph.ClrAtSet();
- mAcceleration = -3.f;
+ mGravity = -3.f;
mMdl.setRate(1.5f);
mAnimTimer = 0;
fn_177_77C0();
@@ -1952,7 +1952,7 @@ void dAcEremly_c::executeState_BirthWait() {
mPosition.y += 10.f;
mVelocity.set(0.f, 0.f, 0.f);
mSpeed = 0.f;
- mAcceleration = -3.f;
+ mGravity = -3.f;
setActorProperty(AC_PROP_0x1);
if (isScary()) {
@@ -2482,7 +2482,7 @@ void dAcEremly_c::spawnGroundEffect() {
m.multVec(in, out);
out += mPosition;
- dJEffManager_c::spawnGroundEffect(out, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, mScale.x * 0.7f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(out, mPolyAttr0, mPolyAttr1, mGndNormal, 1, mScale.x * 0.7f, field_0x1B0);
}
bool dAcEremly_c::fn_177_86C0() {
diff --git a/src/REL/d/a/e/d_a_e_skytail.cpp b/src/REL/d/a/e/d_a_e_skytail.cpp
index c10fb31d..02a945fc 100644
--- a/src/REL/d/a/e/d_a_e_skytail.cpp
+++ b/src/REL/d/a/e/d_a_e_skytail.cpp
@@ -270,8 +270,8 @@ int dAcESkytail_c::create() {
for (int i = 0; i < (s32)ARRAY_LENGTH(mCc); ++i) {
mCc[i].SetC(mPosition);
}
- mAcceleration = -0.0f;
- mMaxSpeed = -80.0f;
+ mGravity = -0.0f;
+ mMaxFallSpeed = -80.0f;
mHealth = 4;
mSpeed = 70.0f;
field_0x13B6 = 0;
@@ -524,9 +524,9 @@ int dAcESkytail_c::actorExecute() {
}
int dAcESkytail_c::draw() {
- drawModelType1(&mBodyMdl.getModel());
+ drawModel(&mBodyMdl.getModel());
for (int i = 0; i < (s32)ARRAY_LENGTH(mAntennaMdl); ++i) {
- drawModelType1(&mAntennaMdl[i].getModel());
+ drawModel(&mAntennaMdl[i].getModel());
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/e/d_a_e_sm.cpp b/src/REL/d/a/e/d_a_e_sm.cpp
index 2ae4bdc2..a3f3142b 100644
--- a/src/REL/d/a/e/d_a_e_sm.cpp
+++ b/src/REL/d/a/e/d_a_e_sm.cpp
@@ -166,7 +166,7 @@ int dAcEsm_c::actorCreate() {
mObjAcch.SetGndThinCellingOff();
mObjAcch.SetWtrChkMode(1);
- mMaxSpeed = -40.f;
+ mMaxFallSpeed = -40.f;
mSph.Set(sSphSrc);
@@ -220,7 +220,7 @@ int dAcEsm_c::actorCreate() {
mHealth = 100;
if (field_0xBBF != 1) {
- mAcceleration = -3.f;
+ mGravity = -3.f;
}
calcVelocity();
mPosition += mVelocity;
@@ -718,7 +718,7 @@ int dAcEsm_c::draw() {
return SUCCEEDED;
}
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
if (mHealth == 0) {
return SUCCEEDED;
@@ -726,7 +726,7 @@ int dAcEsm_c::draw() {
s8 var = 0;
mSphere_c sph(mVec3_c(0.f, 50.f, 0.f), mScale.x * (var + 240.f));
- drawShadow(mShadowCircle, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
+ drawShadow(mShadowCircle, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
return SUCCEEDED;
}
@@ -772,7 +772,7 @@ void dAcEsm_c::initializeState_Walk() {
field_0xBAA = mAngle.y;
field_0xBA8 = 0;
field_0xBCB = 0;
- mAcceleration = -3.f;
+ mGravity = -3.f;
}
void dAcEsm_c::executeState_Walk() {
field_0xBA6 += (s16)(1000.f + field_0xB70 / mScaleTarget.x);
diff --git a/src/REL/d/a/npc/d_a_npc_honeycomb.cpp b/src/REL/d/a/npc/d_a_npc_honeycomb.cpp
index c0896360..1d09e0a3 100644
--- a/src/REL/d/a/npc/d_a_npc_honeycomb.cpp
+++ b/src/REL/d/a/npc/d_a_npc_honeycomb.cpp
@@ -53,8 +53,8 @@ int dAcNpcHc_c::create() {
mCollider.addCc(mSph, srcSph);
mStts.SetRank(8);
mCollider.SetStts(mStts);
- mAcceleration = -5.f;
- mMaxSpeed = -50.f;
+ mGravity = -5.f;
+ mMaxFallSpeed = -50.f;
mBoundingBox.Set(mVec3_c(-200.f, -200.f, -200.f), mVec3_c(200.f, 200.f, 200.f));
mRandomnessTimer = cM::rndF(65536.f);
field_0x934 = mPosition;
@@ -268,7 +268,7 @@ int dAcNpcHc_c::actorExecute() {
int dAcNpcHc_c::draw() {
if (mDeathTimer == 0) {
- drawModelType1(&mModel);
+ drawModel(&mModel);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/npc/d_a_npc_rival_lod.cpp b/src/REL/d/a/npc/d_a_npc_rival_lod.cpp
index 5b727b57..768438aa 100644
--- a/src/REL/d/a/npc/d_a_npc_rival_lod.cpp
+++ b/src/REL/d/a/npc/d_a_npc_rival_lod.cpp
@@ -16,8 +16,8 @@ bool dAcNpcRivalLOD_c::createHeap() {
int dAcNpcRivalLOD_c::create() {
CREATE_ALLOCATOR(dAcNpcRivalLOD_c);
0.0f; // float order, cool
- mAcceleration = -1.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -1.0f;
+ mMaxFallSpeed = -40.0f;
setState(StateID_Wait);
mBoundingBox.Set(mVec3_c(-110.0f, -30.0f, -130.0f), mVec3_c(130.0f, 190.0f, 110.0f));
return SUCCEEDED;
@@ -35,7 +35,7 @@ int dAcNpcRivalLOD_c::actorExecute() {
}
int dAcNpcRivalLOD_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_D3_dummy.cpp b/src/REL/d/a/obj/d_a_obj_D3_dummy.cpp
index fd854446..db2bd03c 100644
--- a/src/REL/d/a/obj/d_a_obj_D3_dummy.cpp
+++ b/src/REL/d/a/obj/d_a_obj_D3_dummy.cpp
@@ -55,8 +55,8 @@ int dAcOD3Dummy_c::create() {
if (DungeonflagManager::sInstance->getCounterOrFlag(2, 8)) {
registerBgs();
}
- mAcceleration = 0.f;
- mMaxSpeed = 0.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = 0.f;
mStateMgr.changeState(StateID_Wait);
mBoundingBox.Set(mVec3_c(-0.f, -0.f, -0.f), mVec3_c(0.f, 0.f, 0.f));
return SUCCEEDED;
diff --git a/src/REL/d/a/obj/d_a_obj_F302_light.cpp b/src/REL/d/a/obj/d_a_obj_F302_light.cpp
index 308a1f76..a6383508 100644
--- a/src/REL/d/a/obj/d_a_obj_F302_light.cpp
+++ b/src/REL/d/a/obj/d_a_obj_F302_light.cpp
@@ -37,8 +37,8 @@ bool dAcOF302Light_c::createHeap() {
int dAcOF302Light_c::actorCreate() {
field_0x440 = getFromParams(0, 0xFF);
CREATE_ALLOCATOR(dAcOF302Light_c);
- mAcceleration = 0.f;
- mMaxSpeed = -40.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = -40.f;
updateMatrix();
mMdl.setLocalMtx(mWorldMtx);
if (field_0x440 < 0xFF && !SceneflagManager::sInstance->checkBoolFlag(mRoomID, field_0x440)) {
@@ -92,7 +92,7 @@ int dAcOF302Light_c::actorExecuteInEvent() {
}
int dAcOF302Light_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_F400_gate_leaf.cpp b/src/REL/d/a/obj/d_a_obj_F400_gate_leaf.cpp
index 1b7e4d97..2bfa22bc 100644
--- a/src/REL/d/a/obj/d_a_obj_F400_gate_leaf.cpp
+++ b/src/REL/d/a/obj/d_a_obj_F400_gate_leaf.cpp
@@ -47,7 +47,7 @@ int dAcOF400GateLeaf_c::draw() {
StoryflagManager *storyFlagManager = StoryflagManager::sInstance;
u32 counterIdx = getStoryflag();
if (!storyFlagManager->getCounterOrFlag(counterIdx)) {
- dAcObjBase_c::drawModelType1(&mMdl);
+ dAcObjBase_c::drawModel(&mMdl);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_F400_gate_seal.cpp b/src/REL/d/a/obj/d_a_obj_F400_gate_seal.cpp
index e3834de2..f66b1678 100644
--- a/src/REL/d/a/obj/d_a_obj_F400_gate_seal.cpp
+++ b/src/REL/d/a/obj/d_a_obj_F400_gate_seal.cpp
@@ -110,6 +110,6 @@ int dAcOF400GateSeal_c::actorExecute() {
}
int dAcOF400GateSeal_c::draw() {
- dAcObjBase_c::drawModelType1(&mMdl);
+ dAcObjBase_c::drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_amber.cpp b/src/REL/d/a/obj/d_a_obj_amber.cpp
index 33ff845a..c188e289 100644
--- a/src/REL/d/a/obj/d_a_obj_amber.cpp
+++ b/src/REL/d/a/obj/d_a_obj_amber.cpp
@@ -59,9 +59,9 @@ int dAcOAmber_c::actorPostCreate() {
}
int dAcOAmber_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
if (field_0x37c != 1.0e+9f) {
- drawShadow(mShadowCircle, nullptr, mWorldMtx, &mShadowSph, -1, -1, -1, -1, -1, field_0x37c);
+ drawShadow(mShadowCircle, nullptr, mWorldMtx, mShadowSph, -1, -1, -1, -1, -1, field_0x37c);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_appear_bridge.cpp b/src/REL/d/a/obj/d_a_obj_appear_bridge.cpp
index 6b79487d..d9247fc7 100644
--- a/src/REL/d/a/obj/d_a_obj_appear_bridge.cpp
+++ b/src/REL/d/a/obj/d_a_obj_appear_bridge.cpp
@@ -65,7 +65,7 @@ int dAcOappearBridge_c::actorExecute() {
}
int dAcOappearBridge_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_bamboo_island.cpp b/src/REL/d/a/obj/d_a_obj_bamboo_island.cpp
index b8425c7e..778fcc16 100644
--- a/src/REL/d/a/obj/d_a_obj_bamboo_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_bamboo_island.cpp
@@ -63,7 +63,7 @@ int dAcObambooIsland_c::actorExecute() {
int dAcObambooIsland_c::draw() {
for (int i = 0; i < 2; i++) {
- drawModelType1(&mModels[i]);
+ drawModel(&mModels[i]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_barrel.cpp b/src/REL/d/a/obj/d_a_obj_barrel.cpp
index dfcb3ee6..ec1e2bfc 100644
--- a/src/REL/d/a/obj/d_a_obj_barrel.cpp
+++ b/src/REL/d/a/obj/d_a_obj_barrel.cpp
@@ -176,7 +176,7 @@ int dAcOBarrel_c::actorCreate() {
CREATE_ALLOCATOR(dAcOBarrel_c);
if (!field_0xE08 && !isType_0()) {
- fn_8002EA30(-100.f, 0.f, 2.f, 1.f, 4.f, &mObjAcch);
+ setSinkDepths(-100.f, 0.f, 2.f, 1.f, 4.f, &mObjAcch);
}
mObjAcch.Set(this, 1, &mAcchCir);
@@ -193,8 +193,8 @@ int dAcOBarrel_c::actorCreate() {
mSph.SetStts(mStts);
mObjAcch.SetClrSpeedY();
- mAcceleration = -4.f;
- mMaxSpeed = -40.f;
+ mGravity = -4.f;
+ mMaxFallSpeed = -40.f;
field_0xDDC = 0.f;
field_0xDEC = mAng(0);
@@ -390,19 +390,19 @@ void dAcOBarrel_c::doInteraction(s32 i) {
}
int dAcOBarrel_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.f, 50.f, 0.f), 80.f);
- if (mYOffset >= 0.f) {
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
+ if (mSinkDepth >= 0.f) {
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
}
return SUCCEEDED;
}
void dAcOBarrel_c::initializeState_Wait() {
- mAcceleration = -4.f;
+ mGravity = -4.f;
field_0xE0E = false;
}
void dAcOBarrel_c::executeState_Wait() {
@@ -415,7 +415,7 @@ void dAcOBarrel_c::executeState_Wait() {
if (mObjAcch.ChkGroundLanding() && !field_0xE0E) {
fn_293_37B0();
if (mVelocity.y > 0.f) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.f, field_0x1B0);
}
if (field_0xE0A) {
@@ -439,13 +439,13 @@ void dAcOBarrel_c::executeState_Wait() {
return;
}
- if (!field_0xE08 && !isType_0() && mYOffset < 0.f && fn_293_4BC0()) {
+ if (!field_0xE08 && !isType_0() && mSinkDepth < 0.f && fn_293_4BC0()) {
mSpeed = 0.f;
field_0xE00 = false;
fn_293_5910();
}
- if (!field_0xE08 && !isType_0() && checkYOffsetField_0x100()) {
+ if (!field_0xE08 && !isType_0() && checkAtDeepSinkDepth()) {
killNoItemDrop();
return;
}
@@ -637,7 +637,7 @@ void dAcOBarrel_c::initializeState_Slope() {
void dAcOBarrel_c::executeState_Slope() {
if (mObjAcch.ChkGroundLanding() && !field_0xE0E) {
fn_293_37B0();
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.f, field_0x1B0);
startSound(SE_Barrel_ROLL_GROUND);
} else if (mObjAcch.ChkGndHit()) {
field_0xDDC = 0.f;
@@ -666,7 +666,7 @@ void dAcOBarrel_c::executeState_Slope() {
field_0xE00 = fn_293_4F80();
}
- if (!field_0xE08 && !isType_0() && mYOffset < 0.f && fn_293_4BC0()) {
+ if (!field_0xE08 && !isType_0() && mSinkDepth < 0.f && fn_293_4BC0()) {
mSpeed = 0.f;
field_0xE00 = false;
fn_293_5910();
@@ -679,7 +679,7 @@ void dAcOBarrel_c::executeState_Slope() {
mCyl.ClrAtSet();
}
- if (!field_0xE08 && !isType_0() && checkYOffsetField_0x100()) {
+ if (!field_0xE08 && !isType_0() && checkAtDeepSinkDepth()) {
killNoItemDrop();
return;
}
@@ -704,7 +704,7 @@ void dAcOBarrel_c::initializeState_Water() {
field_0xDE4.x = cM::rndInt(0x100) + 0x900;
field_0xDF2 = cM::rndInt(0x100) + 0x1000;
- mAcceleration *= 0.25f;
+ mGravity *= 0.25f;
mVelocity.y *= 0.25f;
mStts.SetRank(9);
@@ -716,7 +716,7 @@ void dAcOBarrel_c::initializeState_Water() {
}
void dAcOBarrel_c::executeState_Water() {
if (mType == dAcOBarrel_c::Type2 && 0 == sLib::calcTimer(&field_0xE16)) {
- mVelocity.y = nw4r::ut::Max(mVelocity.y + mAcceleration * 0.2f, mMaxSpeed * 0.2f);
+ mVelocity.y = nw4r::ut::Max(mVelocity.y + mGravity * 0.2f, mMaxFallSpeed * 0.2f);
if (mObjAcch.ChkGndHit()) {
fn_293_4200();
@@ -728,8 +728,8 @@ void dAcOBarrel_c::executeState_Water() {
mWaterEffect.execute(mObjAcch.GetWtrGroundH(), mObjAcch.GetGroundH());
}
- if (mType != dAcOBarrel_c::Type2 && nw4r::math::FAbs(field_0xDE0 + mAcceleration) < 0.1f &&
- nw4r::math::FAbs(mVelocity.y + mAcceleration) < 0.1f) {
+ if (mType != dAcOBarrel_c::Type2 && nw4r::math::FAbs(field_0xDE0 + mGravity) < 0.1f &&
+ nw4r::math::FAbs(mVelocity.y + mGravity) < 0.1f) {
mStateMgr.changeState(StateID_Water2);
} else if (!fn_293_4C60()) {
mStateMgr.changeState(StateID_Wait);
@@ -763,7 +763,7 @@ void dAcOBarrel_c::initializeState_Explode() {
setActorProperty(AC_PROP_0x4);
mSpeed = 0.f;
mVelocity = mVec3_c::Zero;
- mAcceleration = 0.f;
+ mGravity = 0.f;
mSph.ClrTgSet();
mSph.ClrCoSet();
@@ -798,7 +798,7 @@ void dAcOBarrel_c::initializeState_KrakenBorn() {
void dAcOBarrel_c::executeState_KrakenBorn() {
if (mObjAcch.ChkGroundLanding()) {
fn_293_37B0();
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.f, field_0x1B0);
startSound(SE_Barrel_ROLL_GROUND);
} else if (mObjAcch.ChkGndHit()) {
field_0xDDC = 0.f;
@@ -887,7 +887,7 @@ void dAcOBarrel_c::fn_293_30D0() {
}
}
AttentionManager *pAttnMgr = AttentionManager::GetInstance();
- if (mYOffset >= 0.f) {
+ if (mSinkDepth >= 0.f) {
pAttnMgr->addPickUpTarget(*this, 120.f);
pAttnMgr->addUnk3Target(*this, 1, 500.f, -200.f, 200.f);
}
@@ -1216,7 +1216,7 @@ bool dAcOBarrel_c::fn_293_45A0() {
}
}
- if (mObjAcch.ChkGndHit() && mYOffset >= 0.f) {
+ if (mObjAcch.ChkGndHit() && mSinkDepth >= 0.f) {
if ((!isType_0() && field_0xDDC < -500.f) || (isType_0() && field_0xDDC < -1000.f)) {
return true;
}
@@ -1264,7 +1264,7 @@ bool dAcOBarrel_c::fn_293_4D00() {
!getLinkage().checkState(dLinkage_c::STATE_ACTIVE) // ensure not Linked
&& mStateMgr.isState(StateID_Wait) // Must be on normal ground
&& !field_0xE02 && !field_0xE08 //
- && mYOffset >= 0.f //
+ && mSinkDepth >= 0.f //
&& mObjAcch.ChkGndHit() && dBgS::GetInstance()->ChkMoveBG(mObjAcch.GetGnd(), true) //
&& isSpeedStopped() && isVerticalSpeedStopped() // No Movement XZ or Y
&& !fn_293_4A90(mAng::d2s(0.09f)) // Perfectly Flat Ground
@@ -1412,7 +1412,7 @@ inline f32 some_calc(f32 acc, f32 gnd, f32 pos) {
void dAcOBarrel_c::fn_293_5850(f32 *pMult, bool reduceY) {
f32 pos = mPosition.y;
f32 gnd = mObjAcch.GetWtrGroundH();
- field_0xDE0 = some_calc(mAcceleration, gnd, pos) / 50.f;
+ field_0xDE0 = some_calc(mGravity, gnd, pos) / 50.f;
mSpeed *= 0.93f;
diff --git a/src/REL/d/a/obj/d_a_obj_bird_statue.cpp b/src/REL/d/a/obj/d_a_obj_bird_statue.cpp
index c44b90af..a89650a8 100644
--- a/src/REL/d/a/obj/d_a_obj_bird_statue.cpp
+++ b/src/REL/d/a/obj/d_a_obj_bird_statue.cpp
@@ -34,6 +34,6 @@ int dAcOBirdStatue_c::create() {
}
int dAcOBirdStatue_c::draw() {
- dAcObjBase_c::drawModelType1(&mMdl);
+ dAcObjBase_c::drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_blade.cpp b/src/REL/d/a/obj/d_a_obj_blade.cpp
index fe3102f7..5b904ea1 100644
--- a/src/REL/d/a/obj/d_a_obj_blade.cpp
+++ b/src/REL/d/a/obj/d_a_obj_blade.cpp
@@ -37,6 +37,6 @@ int dAcOblade_c::actorExecute() {
}
int dAcOblade_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_block_underground.cpp b/src/REL/d/a/obj/d_a_obj_block_underground.cpp
index 04e639de..821b214c 100644
--- a/src/REL/d/a/obj/d_a_obj_block_underground.cpp
+++ b/src/REL/d/a/obj/d_a_obj_block_underground.cpp
@@ -203,7 +203,7 @@ int dAcOBlockUnderground::actorExecute() {
int dAcOBlockUnderground::draw() {
if (dAcPy_c::GetLink()->checkActionFlagsCont(0x400000)) {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_bstone.cpp b/src/REL/d/a/obj/d_a_obj_bstone.cpp
index f8019267..5b8853f3 100644
--- a/src/REL/d/a/obj/d_a_obj_bstone.cpp
+++ b/src/REL/d/a/obj/d_a_obj_bstone.cpp
@@ -43,8 +43,8 @@ int dAcObstonec::create() {
mBg.SetUnkBase(1);
}
- mAcceleration = -1.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -1.0f;
+ mMaxFallSpeed = -40.0f;
mBoundingBox.Set(mVec3_c(-350.0f, -60.0f, -240.0f), mVec3_c(350.0f, 600.0f, 240.0f));
return SUCCEEDED;
}
@@ -76,7 +76,7 @@ int dAcObstonec::actorExecute() {
int dAcObstonec::draw() {
if (mVariant != 1 || mBg.ChkUsed()) {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_chair.cpp b/src/REL/d/a/obj/d_a_obj_chair.cpp
index a5dd695c..726c69c2 100644
--- a/src/REL/d/a/obj/d_a_obj_chair.cpp
+++ b/src/REL/d/a/obj/d_a_obj_chair.cpp
@@ -101,8 +101,8 @@ int dAcOChair_c::create() {
mObjAcch.CrrPos(*dBgS::GetInstance());
}
- mAcceleration = -2.f;
- mMaxSpeed = -40.f;
+ mGravity = -2.f;
+ mMaxFallSpeed = -40.f;
field_0xB1B = 1;
field_0xB1A = 1;
@@ -187,9 +187,9 @@ int dAcOChair_c::actorExecute() {
int dAcOChair_c::draw() {
if (!isBench()) {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.f, 40.f, 0.f), 80.f);
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, 0.f);
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, 0.f);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_chest.cpp b/src/REL/d/a/obj/d_a_obj_chest.cpp
index 81135a64..462db233 100644
--- a/src/REL/d/a/obj/d_a_obj_chest.cpp
+++ b/src/REL/d/a/obj/d_a_obj_chest.cpp
@@ -114,8 +114,8 @@ int dAcOChest_c::create() {
dBgS::GetInstance()->Regist(&mBgW, this);
dBgS::GetInstance()->RegistBg(&mBgW, this);
- mAcceleration = 0.0f;
- mMaxSpeed = 0.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = 0.0f;
mStateMgr.changeState(StateID_Wait);
@@ -161,9 +161,9 @@ int dAcOChest_c::actorExecute() {
}
int dAcOChest_c::draw() {
- drawModelType1(&mAnmMdl.getModel());
+ drawModel(&mAnmMdl.getModel());
if (hasInsideModel()) {
- drawModelType1(&mInsideMdl);
+ drawModel(&mInsideMdl);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_control_panel.cpp b/src/REL/d/a/obj/d_a_obj_control_panel.cpp
index 5efd6752..4aff586d 100644
--- a/src/REL/d/a/obj/d_a_obj_control_panel.cpp
+++ b/src/REL/d/a/obj/d_a_obj_control_panel.cpp
@@ -1,13 +1,11 @@
#include "d/a/obj/d_a_obj_control_panel.h"
-#include "c/c_lib.h"
#include "common.h"
#include "d/a/d_a_itembase.h"
#include "d/a/d_a_player.h"
#include "d/a/obj/d_a_obj_D3_dummy.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/col/bg/d_bg_s.h"
-#include "d/d_base.h"
#include "d/d_camera.h"
#include "d/d_cs_game.h"
#include "d/d_pad.h"
@@ -120,8 +118,8 @@ bool dAcOCtrlPnl_c::createHeap() {
int dAcOCtrlPnl_c::actorCreate() {
CREATE_ALLOCATOR_SIZE(dAcOCtrlPnl_c, 0x8000);
dBgS::GetInstance()->Regist(&mBgW, this);
- mAcceleration = 0.f;
- mMaxSpeed = 0.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = 0.f;
mBoundingBox.Set(mVec3_c(-200.f, -0.f, -200.f), mVec3_c(200.f, 200.f, 200.f));
updatePuzzleFromFile();
updateTilePositions();
@@ -197,7 +195,7 @@ int dAcOCtrlPnl_c::actorExecute() {
}
int dAcOCtrlPnl_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_decoB.cpp b/src/REL/d/a/obj/d_a_obj_decoB.cpp
index ba3fc3fb..42fbca9f 100644
--- a/src/REL/d/a/obj/d_a_obj_decoB.cpp
+++ b/src/REL/d/a/obj/d_a_obj_decoB.cpp
@@ -22,8 +22,8 @@ bool dAcODecoB_c::createHeap() {
int dAcODecoB_c::create() {
CREATE_ALLOCATOR_SIZE(dAcODecoB_c, 0x1000);
- mAcceleration = 0.0f;
- mMaxSpeed = 0.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = 0.0f;
mStateMgr.changeState(StateID_Wait);
mBoundingBox.Set(mVec3_c(-350.0f, 100.0f, -100.0f), mVec3_c(350.0f, -300.0f, 100.0f));
return SUCCEEDED;
@@ -42,7 +42,7 @@ int dAcODecoB_c::actorExecute() {
}
int dAcODecoB_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_desert.cpp b/src/REL/d/a/obj/d_a_obj_desert.cpp
index a9cd13e4..5c53a377 100644
--- a/src/REL/d/a/obj/d_a_obj_desert.cpp
+++ b/src/REL/d/a/obj/d_a_obj_desert.cpp
@@ -2,5 +2,5 @@
SPECIAL_ACTOR_PROFILE(OBJ_DESERT, dAcODesert, fProfile::OBJ_DESERT, 0x274, 0, 4);
-dAcODesert::dAcODesert() {}
+dAcODesert::dAcODesert() : mScnCallback(this) {}
dAcODesert::~dAcODesert() {}
diff --git a/src/REL/d/a/obj/d_a_obj_desert_debris.cpp b/src/REL/d/a/obj/d_a_obj_desert_debris.cpp
index eff17424..6517b718 100644
--- a/src/REL/d/a/obj/d_a_obj_desert_debris.cpp
+++ b/src/REL/d/a/obj/d_a_obj_desert_debris.cpp
@@ -55,7 +55,7 @@ int dAcOdesertDebris_c::actorExecute() {
}
int dAcOdesertDebris_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_display_only_nbs.cpp b/src/REL/d/a/obj/d_a_obj_display_only_nbs.cpp
index 7f645e1e..778a2ef4 100644
--- a/src/REL/d/a/obj/d_a_obj_display_only_nbs.cpp
+++ b/src/REL/d/a/obj/d_a_obj_display_only_nbs.cpp
@@ -36,6 +36,6 @@ int dAcOdisplayOnlyNbs_c::actorExecute() {
}
int dAcOdisplayOnlyNbs_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_distant_ship.cpp b/src/REL/d/a/obj/d_a_obj_distant_ship.cpp
index 804b3114..ad329955 100644
--- a/src/REL/d/a/obj/d_a_obj_distant_ship.cpp
+++ b/src/REL/d/a/obj/d_a_obj_distant_ship.cpp
@@ -44,7 +44,7 @@ int dAcOdistantShip_c::actorExecute() {
int dAcOdistantShip_c::draw() {
if (mIsVisible) {
- drawModelType1(&mModel);
+ drawModel(&mModel);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_door.cpp b/src/REL/d/a/obj/d_a_obj_door.cpp
index a0a442b0..b4552e18 100644
--- a/src/REL/d/a/obj/d_a_obj_door.cpp
+++ b/src/REL/d/a/obj/d_a_obj_door.cpp
@@ -307,7 +307,7 @@ int dAcOdoor_c::actorCreate() {
if (mSceneflag < 0xFF && !SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag)) {
mLock.link(
static_cast<dAcOLock_c *>(
- create(this, fProfile::OBJ_SHUTTER_LOCK, 0, nullptr, nullptr, nullptr, 0, 0x3F)
+ createChildAttached(fProfile::OBJ_SHUTTER_LOCK, 0, nullptr, nullptr, nullptr, 0, 0x3F)
)
);
}
@@ -1270,16 +1270,16 @@ int dAcOdoor_c::actorExecute() {
int dAcOdoor_c::draw() {
if (isTimeEffected()) {
if (!mTimeBits.field_0x00) {
- drawModelType1(&mMdl1);
+ drawModel(&mMdl1);
}
if (!mTimeBits.field_0x01) {
- drawModelType1(&mMdl0);
+ drawModel(&mMdl0);
}
} else {
if (getType() == DOOR_TEMPLE_MAIN) {
- drawModelType1(&mAnmChr.getModel());
+ drawModel(&mAnmChr.getModel());
} else {
- drawModelType1(&mMdl0);
+ drawModel(&mMdl0);
}
}
return SUCCEEDED;
diff --git a/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp b/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp
index d5f7196a..77f06e5e 100644
--- a/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp
+++ b/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp
@@ -127,8 +127,8 @@ int dAcODungeonShip_c::create() {
mStts.SetRank(2);
mCc.Set(sCcSrc);
mCc.SetStts(mStts);
- mAcceleration = 0.0f;
- mMaxSpeed = 0.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = 0.0f;
mBoundingBox.Set(mVec3_c(-6000.0f, -500.0f, -2000.0f), mVec3_c(5000.0f, 4000.0f, 2000.0f));
if (SceneflagManager::sInstance->checkBoolFlag(mRoomID, (mParams >> 0x10) & 0xFF)) {
dBgS::GetInstance()->RegistBg(&mBg, this);
@@ -209,7 +209,7 @@ int dAcODungeonShip_c::actorExecute() {
int dAcODungeonShip_c::draw() {
mMdl.mProc.mCallback.field_0x08 = field_0x862;
mMdl.mProc.mCallback.field_0x09 = 1;
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_fence_boko.cpp b/src/REL/d/a/obj/d_a_obj_fence_boko.cpp
index baea4b9c..9ce82fcd 100644
--- a/src/REL/d/a/obj/d_a_obj_fence_boko.cpp
+++ b/src/REL/d/a/obj/d_a_obj_fence_boko.cpp
@@ -49,6 +49,6 @@ int dAcOfenceBoko_c::actorExecute() {
}
int dAcOfenceBoko_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_fence_boko2.cpp b/src/REL/d/a/obj/d_a_obj_fence_boko2.cpp
index b0a57119..71918332 100644
--- a/src/REL/d/a/obj/d_a_obj_fence_boko2.cpp
+++ b/src/REL/d/a/obj/d_a_obj_fence_boko2.cpp
@@ -37,6 +37,6 @@ int dAcOfenceBoko2_c::actorExecute() {
}
int dAcOfenceBoko2_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_fence_konsai.cpp b/src/REL/d/a/obj/d_a_obj_fence_konsai.cpp
index 2fd78177..3131d001 100644
--- a/src/REL/d/a/obj/d_a_obj_fence_konsai.cpp
+++ b/src/REL/d/a/obj/d_a_obj_fence_konsai.cpp
@@ -34,6 +34,6 @@ int dAcOfenceKonsai_c::actorExecute() {
}
int dAcOfenceKonsai_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_flag.cpp b/src/REL/d/a/obj/d_a_obj_flag.cpp
index c9075989..ac3179fe 100644
--- a/src/REL/d/a/obj/d_a_obj_flag.cpp
+++ b/src/REL/d/a/obj/d_a_obj_flag.cpp
@@ -104,8 +104,8 @@ int dAcOFlag_c::actorCreate() {
mCps.SetR(sSrcCps.mCpsInf.mRadius * mScale.x);
mCps.SetStts(mStts);
- mAcceleration = -9.8f;
- mMaxSpeed = 0.f;
+ mGravity = -9.8f;
+ mMaxFallSpeed = 0.f;
mStateMgr.changeState(StateID_Wait);
if (type == 1) {
@@ -210,7 +210,7 @@ int dAcOFlag_c::actorExecute() {
}
int dAcOFlag_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp b/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp
index 4c8e59d4..815feb3a 100644
--- a/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp
+++ b/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp
@@ -162,7 +162,7 @@ int dAcOFlyingClawshotTarget_c::actorExecute() {
}
int dAcOFlyingClawshotTarget_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_fruit_guts_leaf.cpp b/src/REL/d/a/obj/d_a_obj_fruit_guts_leaf.cpp
index c42791d2..64f5a6ee 100644
--- a/src/REL/d/a/obj/d_a_obj_fruit_guts_leaf.cpp
+++ b/src/REL/d/a/obj/d_a_obj_fruit_guts_leaf.cpp
@@ -90,7 +90,7 @@ int dAcOFruitGutsLeaf_c::actorExecute() {
}
int dAcOFruitGutsLeaf_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp
index b0023024..9bc715d1 100644
--- a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp
+++ b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp
@@ -50,9 +50,9 @@ int dAcOgirahimFoot_c::doDelete() {
int dAcOgirahimFoot_c::draw() {
if (*mStateMgr.getStateID() == StateID_Appear) {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.0f, 25.0f, 0.0f), 200.0f);
- fn_8002edb0(mShadow, mMdl, &sph, -1, -1, 0.0f);
+ drawShadow(mShadow, mMdl, sph, -1, -1, 0.0f);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_girahimu_floor.cpp b/src/REL/d/a/obj/d_a_obj_girahimu_floor.cpp
index 1b5f8ebf..a9e7f99d 100644
--- a/src/REL/d/a/obj/d_a_obj_girahimu_floor.cpp
+++ b/src/REL/d/a/obj/d_a_obj_girahimu_floor.cpp
@@ -96,8 +96,8 @@ int dAcOGirahimuFloor_c::actorCreate() {
mAnmMatClr[2].setFrame(0.0f, 0);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
mMdl.setPriorityDraw(0x22, 9);
if (mType == TYPE_Generate) {
mMdl.setAnm(mAnmMatClr[0]);
@@ -220,7 +220,7 @@ int dAcOGirahimuFloor_c::actorExecute() {
}
int dAcOGirahimuFloor_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_girahimu_knife.cpp b/src/REL/d/a/obj/d_a_obj_girahimu_knife.cpp
index 90a9fe82..222601a0 100644
--- a/src/REL/d/a/obj/d_a_obj_girahimu_knife.cpp
+++ b/src/REL/d/a/obj/d_a_obj_girahimu_knife.cpp
@@ -69,10 +69,10 @@ void dAcObjGirahimuKnife_c::init() {
sSomething2 = 1;
field_0x793 = true;
field_0x750.set(0.0f, 0.0f, 0.0f);
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
field_0x792 = true;
mStts.SetRank(12);
- mMaxSpeed = -6000.0f;
+ mMaxFallSpeed = -6000.0f;
mBoundingBox.Set(mVec3_c(-100.0f, -100.0f, -100.0f), mVec3_c(100.0f, 100.0f, 100.0f));
field_0x75C.set(1.2f, 0.0f, 1.2f);
field_0x774 = 20.0f;
@@ -102,7 +102,7 @@ int dAcObjGirahimuKnife_c::actorExecute() {
executeState();
- mVelocity.y -= mAcceleration;
+ mVelocity.y -= mGravity;
mPosition += mVelocity;
mSph1.SetAtVec(mVelocity);
@@ -131,8 +131,8 @@ int dAcObjGirahimuKnife_c::actorExecute() {
int dAcObjGirahimuKnife_c::draw() {
static mSphere_c sph(mVec3_c(0.0f, 60.0f, 0.0f), 100.0f);
f32 f = mPosition.y;
- drawModelType1(&mMdl);
- fn_8002edb0(mShadow, mMdl, &sph, -1, -1, f);
+ drawModel(&mMdl);
+ drawShadow(mShadow, mMdl, sph, -1, -1, f);
return SUCCEEDED;
}
@@ -176,7 +176,7 @@ void dAcObjGirahimuKnife_c::initializeState_Attack() {
mSph1.ClrCoSet();
mSph0.ClrCoSet();
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
field_0x78C = true;
if (mState != 6) {
@@ -235,7 +235,7 @@ void dAcObjGirahimuKnife_c::initializeState_AttackEnd() {
}
void dAcObjGirahimuKnife_c::executeState_AttackEnd() {
mVelocity.set(0.0f, 0.0f, 0.0f);
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
if (field_0x6D0 <= 0 && sLib::chase(&field_0x75C.y, 0.0f, 0.1f)) {
deleteRequest();
}
@@ -244,7 +244,7 @@ void dAcObjGirahimuKnife_c::finalizeState_AttackEnd() {}
void dAcObjGirahimuKnife_c::initializeState_Return() {
mSph1.SetAt_0xE(0);
- mAcceleration = 1.0f;
+ mGravity = 1.0f;
mVec3_c v0 = field_0x6D8;
mVec3_c v1 = mPosition - field_0x6D8;
@@ -278,7 +278,7 @@ void dAcObjGirahimuKnife_c::executeState_Return() {
void dAcObjGirahimuKnife_c::finalizeState_Return() {}
void dAcObjGirahimuKnife_c::initializeState_Hit() {
- mAcceleration = 1.0f;
+ mGravity = 1.0f;
mSph1.ClrAtSet();
if (mState == 8) {
mSph1.ClrAtSet();
diff --git a/src/REL/d/a/obj/d_a_obj_girahimu_sword_link.cpp b/src/REL/d/a/obj/d_a_obj_girahimu_sword_link.cpp
index e5f33f5a..72eade17 100644
--- a/src/REL/d/a/obj/d_a_obj_girahimu_sword_link.cpp
+++ b/src/REL/d/a/obj/d_a_obj_girahimu_sword_link.cpp
@@ -46,9 +46,9 @@ int dAcObjGirahimuSwordLink_c::create() {
}
void dAcObjGirahimuSwordLink_c::init() {
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mStts.SetRank(12);
- mMaxSpeed = -6000.0f;
+ mMaxFallSpeed = -6000.0f;
mBoundingBox.Set(mVec3_c(-100.0f, -100.0f, -100.0f), mVec3_c(100.0f, 100.0f, 100.0f));
mAcch.Set(&mPosition, &mOldPosition, this, 1, &mAcchCir, nullptr, nullptr, nullptr);
mAcchCir.SetWall(0.0f, 50.0f);
@@ -80,7 +80,7 @@ int dAcObjGirahimuSwordLink_c::draw() {
mMdl.entry(this, nullptr, nullptr);
static mSphere_c sph(mVec3_c(0.0f, 100.0f, 0.0f), 200.0f);
- fn_8002edb0(mShadow, mMdl.mMdl, &sph, -1, -1, 0.0f);
+ drawShadow(mShadow, mMdl.mMdl, sph, -1, -1, 0.0f);
return true;
}
@@ -89,7 +89,7 @@ void dAcObjGirahimuSwordLink_c::executeState_Hide() {}
void dAcObjGirahimuSwordLink_c::finalizeState_Hide() {}
void dAcObjGirahimuSwordLink_c::initializeState_Equip() {
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mVelocity.set(0.0f, 0.0f, 0.0f);
mRotation.set(mAng(0), mAng(0), mAng(0));
mMdl.SetGrp(0xC);
@@ -98,7 +98,7 @@ void dAcObjGirahimuSwordLink_c::executeState_Equip() {}
void dAcObjGirahimuSwordLink_c::finalizeState_Equip() {}
void dAcObjGirahimuSwordLink_c::initializeState_GetSword() {
- mAcceleration = 3.0f;
+ mGravity = 3.0f;
mVec3_c v(-7.0f, 112.0f, 36.0f);
v.rotY(mAngleCopy.y);
v += mGhirahimPos;
@@ -108,7 +108,7 @@ void dAcObjGirahimuSwordLink_c::initializeState_GetSword() {
}
void dAcObjGirahimuSwordLink_c::executeState_GetSword() {
mRotation.z -= 0x2000;
- mVelocity.y -= mAcceleration;
+ mVelocity.y -= mGravity;
mPosition += mVelocity;
}
void dAcObjGirahimuSwordLink_c::finalizeState_GetSword() {
@@ -127,7 +127,7 @@ void dAcObjGirahimuSwordLink_c::executeState_Throw() {
field_0xD00.slerpTo(q, 0.2f, field_0xD00);
field_0x8B0.fromQuat(field_0xD00);
- mVelocity.y -= mAcceleration;
+ mVelocity.y -= mGravity;
mRotation.z += field_0xD10;
mPosition += mVelocity;
@@ -173,7 +173,7 @@ void dAcObjGirahimuSwordLink_c::executeState_AtThrow() {
field_0xD00.slerpTo(q, 0.5f, field_0xD00);
field_0x8B0.fromQuat(field_0xD00);
- mVelocity.y -= mAcceleration;
+ mVelocity.y -= mGravity;
mPosition += mVelocity;
if (lineCheck()) {
changeState(StateID_Reflect);
@@ -198,7 +198,7 @@ void dAcObjGirahimuSwordLink_c::finalizeState_AtThrow() {
void dAcObjGirahimuSwordLink_c::initializeState_Stick() {
startSound(SE_OGhSwL_BOUND);
mMdl.setInactive();
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mVelocity.set(0.0f, 0.0f, 0.0f);
}
void dAcObjGirahimuSwordLink_c::executeState_Stick() {
@@ -260,7 +260,7 @@ void dAcObjGirahimuSwordLink_c::executeState_Reflect() {
field_0xD00.slerpTo(q, 0.5f, field_0xD00);
field_0x8B0.fromQuat(field_0xD00);
- mVelocity.y -= mAcceleration;
+ mVelocity.y -= mGravity;
mPosition += mVelocity;
if (lineCheck()) {
if (mPosition.y < 40.0f) {
@@ -319,14 +319,14 @@ void dAcObjGirahimuSwordLink_c::setHide() {
}
void dAcObjGirahimuSwordLink_c::setThrow(const mVec3_c &force, mAng angle, f32 rate) {
- mAcceleration = 3.0f;
+ mGravity = 3.0f;
field_0xD10 = angle;
calcVelocity(force, rate);
changeState(StateID_Throw);
}
void dAcObjGirahimuSwordLink_c::setAtThrow(const mVec3_c &velocity) {
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
field_0xD10 = 0;
mVelocity.set(velocity);
changeState(StateID_AtThrow);
@@ -390,7 +390,7 @@ void dAcObjGirahimuSwordLink_c::reflect(const mVec3_c &rot, f32 gravity, f32, f3
if (gravity < 0.0f) {
gravity = -gravity;
}
- mAcceleration = gravity;
+ mGravity = gravity;
}
bool dAcObjGirahimuSwordLink_c::lineCheck() {
diff --git a/src/REL/d/a/obj/d_a_obj_grass_coil.cpp b/src/REL/d/a/obj/d_a_obj_grass_coil.cpp
index 78ea0801..ad52a0f9 100644
--- a/src/REL/d/a/obj/d_a_obj_grass_coil.cpp
+++ b/src/REL/d/a/obj/d_a_obj_grass_coil.cpp
@@ -144,7 +144,7 @@ const float dAcOgrassCoil_c::sSqDistThreshold = 1000000.f;
const u32 dAcOgrassCoil_c::lbl_268_rodata_4C = 2;
int dAcOgrassCoil_c::draw() {
- drawModelType1(&mMdl[mCut]);
+ drawModel(&mMdl[mCut]);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_grave.cpp b/src/REL/d/a/obj/d_a_obj_grave.cpp
index 2efe3048..ea74833a 100644
--- a/src/REL/d/a/obj/d_a_obj_grave.cpp
+++ b/src/REL/d/a/obj/d_a_obj_grave.cpp
@@ -93,8 +93,8 @@ int dAcOGrave_c::create() {
mBgW.SetPushPullCallback(pushPullCb);
mBgW.SetUnkCallback(unkCb);
dBgS::GetInstance()->Regist(&mBgW, this);
- mAcceleration = 0.f;
- mMaxSpeed = -40.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = -40.f;
mOrigPos1 = mPosition;
field_0x7F6 = true;
if (mSceneflag < 0xFF && SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag)) {
@@ -146,9 +146,9 @@ int dAcOGrave_c::actorExecute() {
}
int dAcOGrave_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.f, 50.f, 0.f), 50.f);
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, 0.f);
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, 0.f);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_hole.cpp b/src/REL/d/a/obj/d_a_obj_hole.cpp
index 524feaba..4f6e98a4 100644
--- a/src/REL/d/a/obj/d_a_obj_hole.cpp
+++ b/src/REL/d/a/obj/d_a_obj_hole.cpp
@@ -54,7 +54,7 @@ int dAcOhole_c::actorExecute() {
}
int dAcOhole_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_impa_door.cpp b/src/REL/d/a/obj/d_a_obj_impa_door.cpp
index 487836b5..72f3b3e4 100644
--- a/src/REL/d/a/obj/d_a_obj_impa_door.cpp
+++ b/src/REL/d/a/obj/d_a_obj_impa_door.cpp
@@ -39,7 +39,7 @@ int dAcOimpaDoor_c::actorExecute() {
}
int dAcOimpaDoor_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_insect_island.cpp b/src/REL/d/a/obj/d_a_obj_insect_island.cpp
index 5625bdcc..844dcd8e 100644
--- a/src/REL/d/a/obj/d_a_obj_insect_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_insect_island.cpp
@@ -100,8 +100,8 @@ int dAcOinsectIsland_c::actorExecute() {
}
int dAcOinsectIsland_c::draw() {
- drawModelType1(&mMainMdl);
- drawModelType1(&mWtrMdl0);
- drawModelType1(&mWtrMdl1);
+ drawModel(&mMainMdl);
+ drawModel(&mWtrMdl0);
+ drawModel(&mWtrMdl1);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_iron_stage.cpp b/src/REL/d/a/obj/d_a_obj_iron_stage.cpp
index 3f8cf682..cae28246 100644
--- a/src/REL/d/a/obj/d_a_obj_iron_stage.cpp
+++ b/src/REL/d/a/obj/d_a_obj_iron_stage.cpp
@@ -36,6 +36,6 @@ int dAcOironStage_c::actorExecute() {
}
int dAcOironStage_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_island_LOD.cpp b/src/REL/d/a/obj/d_a_obj_island_LOD.cpp
index 80921158..67608619 100644
--- a/src/REL/d/a/obj/d_a_obj_island_LOD.cpp
+++ b/src/REL/d/a/obj/d_a_obj_island_LOD.cpp
@@ -50,6 +50,6 @@ int dAcOislandLOD_c::draw() {
if (blurAndPaletteManager.fn_80024770(7) && !blurAndPaletteManager.fn_800247A0(7)) {
return SUCCEEDED;
}
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_island_nusi.cpp b/src/REL/d/a/obj/d_a_obj_island_nusi.cpp
index 14d613e0..8f6baa86 100644
--- a/src/REL/d/a/obj/d_a_obj_island_nusi.cpp
+++ b/src/REL/d/a/obj/d_a_obj_island_nusi.cpp
@@ -77,7 +77,7 @@ int dAcOislandNusi_c::actorExecute() {
int dAcOislandNusi_c::draw() {
for (int i = 0; i < 2; i++) {
- drawModelType1(&mMdls[i]);
+ drawModel(&mMdls[i]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_ivy_rope.cpp b/src/REL/d/a/obj/d_a_obj_ivy_rope.cpp
index df8cd5a3..4af6875a 100644
--- a/src/REL/d/a/obj/d_a_obj_ivy_rope.cpp
+++ b/src/REL/d/a/obj/d_a_obj_ivy_rope.cpp
@@ -930,12 +930,12 @@ void dAcOivyRope_c::fn_256_D850() {
}
mMtx_c m;
m.transS(field_0xF68);
- drawShadow(mShadow, nullptr, m, &sph, -1, idk, -1, -1, -1, val);
+ drawShadow(mShadow, nullptr, m, sph, -1, idk, -1, -1, -1, val);
}
} else {
mMtx_c m;
m.transS(fn_256_D730(mSegmentCount - 1));
- drawShadow(mShadow, nullptr, m, &sph, -1, -1, -1, -1, -1, 175.f);
+ drawShadow(mShadow, nullptr, m, sph, -1, -1, -1, -1, -1, 175.f);
}
}
}
diff --git a/src/REL/d/a/obj/d_a_obj_junk_repairing.cpp b/src/REL/d/a/obj/d_a_obj_junk_repairing.cpp
index 72762c8f..d906b6ba 100644
--- a/src/REL/d/a/obj/d_a_obj_junk_repairing.cpp
+++ b/src/REL/d/a/obj/d_a_obj_junk_repairing.cpp
@@ -36,8 +36,8 @@ bool dAcOJunkRep_c::createHeap() {
int dAcOJunkRep_c::create() {
CREATE_ALLOCATOR(dAcOJunkRep_c);
- mAcceleration = -1.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -1.0f;
+ mMaxFallSpeed = -40.0f;
mStateMgr.changeState(StateID_Wait);
@@ -58,9 +58,9 @@ int dAcOJunkRep_c::actorExecute() {
}
int dAcOJunkRep_c::draw() {
- drawModelType1(mpModelToUse);
+ drawModel(mpModelToUse);
static mSphere_c sph(mVec3_c(0.0f, 37.5f, 0.0f), 75.0f);
- fn_8002edb0(mShadow, *mpModelToUse, &sph, -1, -1, sSomeFloat);
+ drawShadow(mShadow, *mpModelToUse, sph, -1, -1, sSomeFloat);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_lava_F200.cpp b/src/REL/d/a/obj/d_a_obj_lava_F200.cpp
index af4961b2..e81a35d9 100644
--- a/src/REL/d/a/obj/d_a_obj_lava_F200.cpp
+++ b/src/REL/d/a/obj/d_a_obj_lava_F200.cpp
@@ -60,7 +60,7 @@ int dAcOlavaF200_c::actorExecute() {
int dAcOlavaF200_c::draw() {
for (int i = 0; i < 2; i++) {
- drawModelType1(&mModels[i]);
+ drawModel(&mModels[i]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_megami_island.cpp b/src/REL/d/a/obj/d_a_obj_megami_island.cpp
index 5ace732f..ef23ce5e 100644
--- a/src/REL/d/a/obj/d_a_obj_megami_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_megami_island.cpp
@@ -108,7 +108,7 @@ int dAcOmegamiIsland_c::actorExecute() {
int dAcOmegamiIsland_c::draw() {
for (int i = 0; i < 2; i++) {
- drawModelType1(&mMdls[i]);
+ drawModel(&mMdls[i]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_mole_cover.cpp b/src/REL/d/a/obj/d_a_obj_mole_cover.cpp
index 9c77bf99..5a23594c 100644
--- a/src/REL/d/a/obj/d_a_obj_mole_cover.cpp
+++ b/src/REL/d/a/obj/d_a_obj_mole_cover.cpp
@@ -46,6 +46,6 @@ int dAcOmoleCover_c::actorExecute() {
}
int dAcOmoleCover_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_mole_soil.cpp b/src/REL/d/a/obj/d_a_obj_mole_soil.cpp
index 87599226..fe11605d 100644
--- a/src/REL/d/a/obj/d_a_obj_mole_soil.cpp
+++ b/src/REL/d/a/obj/d_a_obj_mole_soil.cpp
@@ -64,7 +64,7 @@ int dAcOmoleSoil_c::actorExecute() {
int dAcOmoleSoil_c::draw() {
if (field_0x391) {
- drawModelType1(&mModel);
+ drawModel(&mModel);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_move_elec.cpp b/src/REL/d/a/obj/d_a_obj_move_elec.cpp
index b965fca0..b1ba4ed4 100644
--- a/src/REL/d/a/obj/d_a_obj_move_elec.cpp
+++ b/src/REL/d/a/obj/d_a_obj_move_elec.cpp
@@ -71,8 +71,8 @@ int dAcOMoveElec_c::create() {
mStts.SetRank(13);
mCc.Set(sSrcUnk);
mCc.SetStts(mStts);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
mCc.SetField_0xB4(1);
mEffect.init(this);
mMdl.setAnm("D301DamageWall", m3d::PLAY_MODE_4);
@@ -125,7 +125,7 @@ int dAcOMoveElec_c::actorExecute() {
}
int dAcOMoveElec_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_mushroom.cpp b/src/REL/d/a/obj/d_a_obj_mushroom.cpp
index 01ff5ba3..6f2ae468 100644
--- a/src/REL/d/a/obj/d_a_obj_mushroom.cpp
+++ b/src/REL/d/a/obj/d_a_obj_mushroom.cpp
@@ -87,8 +87,8 @@ const dAcOMushRoom_HIO_c dAcOMushRoom_HIO_c::sInstance = {
};
static const Vec sRadius[4] = {
- {105.0f, 90.0f, 210.0f},
- {105.0f, 90.0f, 205.0f},
+ {105.0f, 90.0f, 210.0f},
+ {105.0f, 90.0f, 205.0f},
{105.0f, 135.0f, 312.0f},
{105.0f, 135.0f, 312.0f},
};
@@ -230,8 +230,8 @@ int dAcOMushRoom_c::create() {
CREATE_ALLOCATOR_SIZE(dAcOMushRoom_c, 0x2000);
initCc();
- mAcceleration = 0.0f;
- mMaxSpeed = 0.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = 0.0f;
changeState(StateID_Init);
mBoundingBox.Set(sBboxMin[getType()], sBboxMax[getType()]);
field_0x7BC = 0.0f;
@@ -308,12 +308,12 @@ int dAcOMushRoom_c::actorExecute() {
}
int dAcOMushRoom_c::draw() {
- drawModelType1(mMdl.getMdl());
+ drawModel(mMdl.getMdl());
mSphere_c sph(mVec3_c(0.0f, getShadowOffsetY(), 0.0f), getRadiusX() * 2.0f);
if (getType() == TYPE_MushroomD) {
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, 0xC8, 0xB4, 0xE6, 0xFF, 0.0f);
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, 0xC8, 0xB4, 0xE6, 0xFF, 0.0f);
} else {
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, 0.0f);
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, 0.0f);
}
if (mCameraIdx >= 0) {
@@ -450,7 +450,7 @@ void dAcOMushRoom_c::executeState_Wait() {
s32 type = getType();
mVec3_c pos = mPosition + sOffsets[type] * mScale.y;
- if (dAcObjBase_c::create(this, fProfile::OBJ_SPORE, p1, &pos, nullptr, nullptr, 0, 0x3F)) {
+ if (dAcObjBase_c::createChildAttached(fProfile::OBJ_SPORE, p1, &pos, nullptr, nullptr, 0, 0x3F)) {
field_0x892 = false;
}
startCloudEmitter();
diff --git a/src/REL/d/a/obj/d_a_obj_oct_grass.cpp b/src/REL/d/a/obj/d_a_obj_oct_grass.cpp
index 933d38d5..b6be4fbb 100644
--- a/src/REL/d/a/obj/d_a_obj_oct_grass.cpp
+++ b/src/REL/d/a/obj/d_a_obj_oct_grass.cpp
@@ -41,8 +41,8 @@ bool dAcOOctGrass_c::createHeap() {
int dAcOOctGrass_c::create() {
CREATE_ALLOCATOR(dAcOOctGrass_c);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
if ((mParams & 0xF) != 0) {
mMdl.setPriorityDraw(0x1C, 9);
}
@@ -66,7 +66,7 @@ int dAcOOctGrass_c::actorExecute() {
}
int dAcOOctGrass_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_paint.cpp b/src/REL/d/a/obj/d_a_obj_paint.cpp
index 4efdfd47..598ae62e 100644
--- a/src/REL/d/a/obj/d_a_obj_paint.cpp
+++ b/src/REL/d/a/obj/d_a_obj_paint.cpp
@@ -60,9 +60,9 @@ int dAcOpaint_c::actorExecute() {
}
int dAcOpaint_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.0f, 0.0f, 0.0f), 100.0f);
- fn_8002edb0(mShadow, mMdl, &sph, -1, -1, 0.0f);
+ drawShadow(mShadow, mMdl, sph, -1, -1, 0.0f);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_pinwheel.cpp b/src/REL/d/a/obj/d_a_obj_pinwheel.cpp
index 31144cdf..92a17d34 100644
--- a/src/REL/d/a/obj/d_a_obj_pinwheel.cpp
+++ b/src/REL/d/a/obj/d_a_obj_pinwheel.cpp
@@ -75,7 +75,7 @@ int dAcOpinwheel_c::actorExecute() {
}
int dAcOpinwheel_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_pool_cock.cpp b/src/REL/d/a/obj/d_a_obj_pool_cock.cpp
index 0c0a2d73..e74e819c 100644
--- a/src/REL/d/a/obj/d_a_obj_pool_cock.cpp
+++ b/src/REL/d/a/obj/d_a_obj_pool_cock.cpp
@@ -22,8 +22,8 @@ bool dAcOPoolCock_c::createHeap() {
int dAcOPoolCock_c::actorCreate() {
CREATE_ALLOCATOR(dAcOPoolCock_c);
- mAcceleration = -0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -0.0f;
+ mMaxFallSpeed = -40.0f;
mOpenSceneflag = mParams & 0xFF;
mOpenDirection = mVec3_c::Ez;
mOpenDirection.rotY(mRotation.y);
@@ -76,8 +76,8 @@ int dAcOPoolCock_c::actorExecute() {
int dAcOPoolCock_c::draw() {
if (mOpenProgress < 400.0f) {
- drawModelType1(&mModels[0]);
- drawModelType1(&mModels[1]);
+ drawModel(&mModels[0]);
+ drawModel(&mModels[1]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_pumpkin_bar.cpp b/src/REL/d/a/obj/d_a_obj_pumpkin_bar.cpp
index bc1af437..ae850e3d 100644
--- a/src/REL/d/a/obj/d_a_obj_pumpkin_bar.cpp
+++ b/src/REL/d/a/obj/d_a_obj_pumpkin_bar.cpp
@@ -61,7 +61,7 @@ int dAcOpumpkinBar_c::actorExecute() {
}
int dAcOpumpkinBar_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp b/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp
index 970858dc..8f40216a 100644
--- a/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp
+++ b/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp
@@ -18,8 +18,8 @@ bool dAcOPumpkinLeaf_c::createHeap() {
int dAcOPumpkinLeaf_c::create() {
CREATE_ALLOCATOR_SIZE(dAcOPumpkinLeaf_c, 0x1000);
- mAcceleration = -1.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -1.0f;
+ mMaxFallSpeed = -40.0f;
updateMatrix();
mStateMgr.changeState(StateID_Wait);
mBoundingBox.Set(mVec3_c(-50.0f, -10.0f, -50.0f), mVec3_c(50.0f, 50.0f, 50.0f));
@@ -39,7 +39,7 @@ int dAcOPumpkinLeaf_c::actorExecute() {
}
int dAcOPumpkinLeaf_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_puzzle_island.cpp b/src/REL/d/a/obj/d_a_obj_puzzle_island.cpp
index d42f4be0..eb30dcbf 100644
--- a/src/REL/d/a/obj/d_a_obj_puzzle_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_puzzle_island.cpp
@@ -59,6 +59,6 @@ int dAcOpuzzleIsland_c::actorExecute() {
}
int dAcOpuzzleIsland_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_ring.cpp b/src/REL/d/a/obj/d_a_obj_ring.cpp
index 55cd6c33..a9419302 100644
--- a/src/REL/d/a/obj/d_a_obj_ring.cpp
+++ b/src/REL/d/a/obj/d_a_obj_ring.cpp
@@ -25,8 +25,8 @@ int dAcOring_c::create() {
updateMatrix();
mModel.setScale(mScale);
mModel.setLocalMtx(mWorldMtx);
- mAcceleration = -5.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -5.0f;
+ mMaxFallSpeed = -40.0f;
field_0x38C = dAcPy_c::LINK->mPosition.y;
mStateMgr.changeState(StateID_Move);
return SUCCEEDED;
@@ -47,7 +47,7 @@ int dAcOring_c::actorExecute() {
}
int dAcOring_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_rope_base.cpp b/src/REL/d/a/obj/d_a_obj_rope_base.cpp
index 3ca31e8d..5366bbb7 100644
--- a/src/REL/d/a/obj/d_a_obj_rope_base.cpp
+++ b/src/REL/d/a/obj/d_a_obj_rope_base.cpp
@@ -44,6 +44,6 @@ int dAcOropeBase_c::actorExecute() {
}
int dAcOropeBase_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_rope_igaiga.cpp b/src/REL/d/a/obj/d_a_obj_rope_igaiga.cpp
index 77774cb1..d2323d4f 100644
--- a/src/REL/d/a/obj/d_a_obj_rope_igaiga.cpp
+++ b/src/REL/d/a/obj/d_a_obj_rope_igaiga.cpp
@@ -86,8 +86,8 @@ int dAcOropeIgaiga_c::create() {
mCollider.Set(sSphSrc);
mCollider.SetStts(mStts);
mCollider.ClrAtSet();
- mAcceleration = 0.0f;
- mMaxSpeed = -100.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -100.0f;
mInitTimer = 5;
mPnts2Idx = 0xff;
field_0x91E = -1;
@@ -142,7 +142,7 @@ int dAcOropeIgaiga_c::actorExecute() {
}
int dAcOropeIgaiga_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
@@ -184,7 +184,7 @@ void dAcOropeIgaiga_c::finalizeState_Init() {
}
void dAcOropeIgaiga_c::initializeState_Rope() {
- mAcceleration = -3.0f;
+ mGravity = -3.0f;
}
void dAcOropeIgaiga_c::executeState_Rope() {
@@ -265,7 +265,7 @@ void dAcOropeIgaiga_c::finalizeState_Rope() {}
void dAcOropeIgaiga_c::initializeState_Ground() {
mVelocityYRelated = -1;
- mAcceleration = -4.f;
+ mGravity = -4.f;
mStts.SetRank(0);
fn_257_1F20();
mGroundTimer = 0x1e;
@@ -306,12 +306,12 @@ void dAcOropeIgaiga_c::executeState_Ground() {
if (mVelocityYRelated > 0) {
mVelocity.y = 7.f * mVelocityYRelated;
} else if (mVelocityYRelated == 0) {
- mAcceleration = 0.f;
+ mGravity = 0.f;
mSpeed = 0.f;
}
}
} else if (field_0x91E > 0) {
- mAcceleration = -4.f;
+ mGravity = -4.f;
mObjAcch.CrrPos(*dBgS::GetInstance());
}
if (mVelocityYRelated != 0 && !mObjAcch.ChkGndHit()) {
@@ -333,7 +333,7 @@ void dAcOropeIgaiga_c::executeState_Ground() {
void dAcOropeIgaiga_c::finalizeState_Ground() {}
void dAcOropeIgaiga_c::initializeState_Tree() {
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
}
void dAcOropeIgaiga_c::executeState_Tree() {
@@ -344,7 +344,7 @@ void dAcOropeIgaiga_c::executeState_Tree() {
mStateMgr.changeState(StateID_Ground);
f32 random = cM::rndF(2.f);
mGroundTimer = 0;
- mAcceleration = -(3.f + random);
+ mGravity = -(3.f + random);
}
fn_257_1DF0();
}
@@ -355,7 +355,7 @@ void dAcOropeIgaiga_c::initializeState_Stick() {
mStts.SetRank(0);
mStickTimer = 10;
mVelocity.y = 17.f;
- mAcceleration = -3.f;
+ mGravity = -3.f;
if (dAcPy_c::GetLink()->getCenterTranslation().y > mPosition.y) {
mLinkHigher = true;
} else {
@@ -446,7 +446,7 @@ void dAcOropeIgaiga_c::executeState_Stick() {
mPosition.x = linkPos.x;
mPosition.z = linkPos.z;
if (mVelocityYRelated > 0) {
- mAcceleration = -3.5f;
+ mGravity = -3.5f;
mRotation.x += mRotationXOffset;
calcVelocity();
mPosition += mVelocity;
@@ -657,13 +657,13 @@ void dAcOropeIgaiga_c::fn_257_20F0(f32 speed, f32 velocityY) {
}
mAngle.y += angleOffset;
mVelocity.y = velocityY;
- mAcceleration = -4.f;
+ mGravity = -4.f;
}
void dAcOropeIgaiga_c::fn_257_21A0() {
mVelocityYRelated = 0;
mVelocity.y = 0.f;
- mAcceleration = 0.f;
+ mGravity = 0.f;
mSpeed = 0.f;
mRotationXOffset = 100;
}
diff --git a/src/REL/d/a/obj/d_a_obj_roulette_island_c.cpp b/src/REL/d/a/obj/d_a_obj_roulette_island_c.cpp
index 7b089cde..61fc5552 100644
--- a/src/REL/d/a/obj/d_a_obj_roulette_island_c.cpp
+++ b/src/REL/d/a/obj/d_a_obj_roulette_island_c.cpp
@@ -85,8 +85,8 @@ int dAcOrouletteIslandC_c::actorExecute() {
}
int dAcOrouletteIslandC_c::draw() {
- drawModelType1(&mMdl);
- drawModelType1(&mMdl_s);
+ drawModel(&mMdl);
+ drawModel(&mMdl_s);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_roulette_island_r.cpp b/src/REL/d/a/obj/d_a_obj_roulette_island_r.cpp
index b85c6196..1da0a91c 100644
--- a/src/REL/d/a/obj/d_a_obj_roulette_island_r.cpp
+++ b/src/REL/d/a/obj/d_a_obj_roulette_island_r.cpp
@@ -104,8 +104,8 @@ int dAcOrouletteIslandR_c::actorExecute() {
}
int dAcOrouletteIslandR_c::draw() {
- drawModelType1(&mMdl);
- drawModelType1(&mMdl_s);
+ drawModel(&mMdl);
+ drawModel(&mMdl_s);
return SUCCEEDED;
}
void dAcOrouletteIslandR_c::initializeState_Wait() {
diff --git a/src/REL/d/a/obj/d_a_obj_ruined_save.cpp b/src/REL/d/a/obj/d_a_obj_ruined_save.cpp
index 95f9caf7..3011e7da 100644
--- a/src/REL/d/a/obj/d_a_obj_ruined_save.cpp
+++ b/src/REL/d/a/obj/d_a_obj_ruined_save.cpp
@@ -55,7 +55,7 @@ int dAcOruinedSave_c::actorExecuteInEvent() {
}
int dAcOruinedSave_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_seat_sword.cpp b/src/REL/d/a/obj/d_a_obj_seat_sword.cpp
index a7503ae0..b56ed3f8 100644
--- a/src/REL/d/a/obj/d_a_obj_seat_sword.cpp
+++ b/src/REL/d/a/obj/d_a_obj_seat_sword.cpp
@@ -86,8 +86,8 @@ int dAcOSeatSword_c::create() {
mPedestalMdl_s.setPriorityDraw(0x22, 0x9);
}
- mAcceleration = 0.f;
- mMaxSpeed = -40.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = -40.f;
if (mSubtype == 1) {
field_0x7E8 = l_inGroundRot;
@@ -179,12 +179,12 @@ void dAcOSeatSword_c::registerInEvent() {
int dAcOSeatSword_c::draw() {
if (!mStateMgr.isState(StateID_Get)) {
- drawModelType1(&mSwordMdl);
+ drawModel(&mSwordMdl);
}
- drawModelType1(&mPedestalMdl);
+ drawModel(&mPedestalMdl);
if (mSubtype == 1) {
- drawModelType1(&mPedestalMdl_s);
+ drawModel(&mPedestalMdl_s);
}
return SUCCEEDED;
diff --git a/src/REL/d/a/obj/d_a_obj_shed.cpp b/src/REL/d/a/obj/d_a_obj_shed.cpp
index cb6df749..ade6da32 100644
--- a/src/REL/d/a/obj/d_a_obj_shed.cpp
+++ b/src/REL/d/a/obj/d_a_obj_shed.cpp
@@ -38,8 +38,8 @@ int dAcOShed_c::create() {
CREATE_ALLOCATOR(dAcOShed_c);
mBgW.SetCrrFunc(dBgS_MoveBGProc_Typical);
dBgS::GetInstance()->Regist(&mBgW, this);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
if (mSceneFlag < 0xFF) {
bool flag = SceneflagManager::sInstance->checkFlag(mRoomID, mSceneFlag);
if (flag) {
@@ -70,7 +70,7 @@ int dAcOShed_c::actorExecute() {
}
int dAcOShed_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_ship_window.cpp b/src/REL/d/a/obj/d_a_obj_ship_window.cpp
index f4d8c9ed..08e171f2 100644
--- a/src/REL/d/a/obj/d_a_obj_ship_window.cpp
+++ b/src/REL/d/a/obj/d_a_obj_ship_window.cpp
@@ -49,7 +49,7 @@ int dAcOshipWindow_c::actorCreate() {
mOpenEventId = getFromParams(8, 0xFF);
mCloseEventId = getFromParams(16, 0xFF);
mEventOnce = getFromParams(24, 0x1);
- mMaxSpeed = -40.0f;
+ mMaxFallSpeed = -40.0f;
mRotation.z.set(0);
mMdls[1].setPriorityDraw(0xF, 0);
mMdls[0].setPriorityDraw(0xB, 0);
@@ -103,10 +103,10 @@ int dAcOshipWindow_c::actorExecuteInEvent() {
int dAcOshipWindow_c::draw() {
if (mPastState <= 0.0f ||
(dTimeAreaMgr_c::GetInstance()->isField0x7A() && !dTimeAreaMgr_c::GetInstance()->isField0x78())) {
- drawModelType1(&mMdls[0]);
+ drawModel(&mMdls[0]);
}
if (mPastState > 0.0f) {
- drawModelType1(&mMdls[1]);
+ drawModel(&mMdls[1]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_shrine_after.cpp b/src/REL/d/a/obj/d_a_obj_shrine_after.cpp
index a44c866d..bec03814 100644
--- a/src/REL/d/a/obj/d_a_obj_shrine_after.cpp
+++ b/src/REL/d/a/obj/d_a_obj_shrine_after.cpp
@@ -28,6 +28,6 @@ int dAcOshrineAfter_c::actorExecute() {
}
int dAcOshrineAfter_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_shrine_bef_inside.cpp b/src/REL/d/a/obj/d_a_obj_shrine_bef_inside.cpp
index 05f1d359..4b3c80fd 100644
--- a/src/REL/d/a/obj/d_a_obj_shrine_bef_inside.cpp
+++ b/src/REL/d/a/obj/d_a_obj_shrine_bef_inside.cpp
@@ -53,7 +53,7 @@ int dAcOshrineBefInside_c::actorExecute() {
int dAcOshrineBefInside_c::draw() {
for (int i = 0; i < 2; i++) {
- drawModelType1(&mModel[i]);
+ drawModel(&mModel[i]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_shrine_before.cpp b/src/REL/d/a/obj/d_a_obj_shrine_before.cpp
index cf9aa98b..e3e0076b 100644
--- a/src/REL/d/a/obj/d_a_obj_shrine_before.cpp
+++ b/src/REL/d/a/obj/d_a_obj_shrine_before.cpp
@@ -28,6 +28,6 @@ int dAcOshrineBefore_c::actorExecute() {
}
int dAcOshrineBefore_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_smoke.cpp b/src/REL/d/a/obj/d_a_obj_smoke.cpp
index 71d50df2..fafa73c4 100644
--- a/src/REL/d/a/obj/d_a_obj_smoke.cpp
+++ b/src/REL/d/a/obj/d_a_obj_smoke.cpp
@@ -47,7 +47,7 @@ int dAcOsmoke_c::actorExecute() {
}
int dAcOsmoke_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_soil.cpp b/src/REL/d/a/obj/d_a_obj_soil.cpp
index 57cebabf..471b0aa3 100644
--- a/src/REL/d/a/obj/d_a_obj_soil.cpp
+++ b/src/REL/d/a/obj/d_a_obj_soil.cpp
@@ -1,4 +1,5 @@
#include "d/a/obj/d_a_obj_soil.h"
+
#include "c/c_math.h"
#include "common.h"
#include "d/a/d_a_base.h"
@@ -52,19 +53,12 @@ s32 useUnused() {
240.f,
240.f,
};
- static const s32 a2[] = {
- 1,
- 0x000F0000,
- 0x459C4000,
- 0x006E6950,
- 0
- };
+ static const s32 a2[] = {1, 0x000F0000, 0x459C4000, 0x006E6950, 0};
return (s32)a1 + (s32)a2;
}
-
bool dAcOsoil_c::createHeap() {
- void* data = getOarcResFile("MoundShovel");
+ void *data = getOarcResFile("MoundShovel");
if (data == nullptr) {
return false;
}
@@ -74,19 +68,19 @@ bool dAcOsoil_c::createHeap() {
mModels[MODEL_COVERED].setPriorityDraw(0x22, field_0x793 ? 0x82 : 9);
setModelColorFromParams(&mColors[MODEL_COVERED], mModels[MODEL_COVERED]);
if (isSubtypeVentOrDrop()) {
- static const char* oarcResForType[4] = {
+ static const char *oarcResForType[4] = {
"HoleShovel",
"HoleShovel",
"MudShovel",
"MudShovel",
};
- static const char* mdlForType[4] = {
+ static const char *mdlForType[4] = {
"HoleShovel",
"HoleShovel",
"MudShovel",
"MudShovel",
};
- void* subtypeData = getOarcResFile(oarcResForType[getSubtype()]);
+ void *subtypeData = getOarcResFile(oarcResForType[getSubtype()]);
if (subtypeData == nullptr) {
return false;
}
@@ -118,7 +112,7 @@ int dAcOsoil_c::actorCreate() {
}
if (getFromParams(0x13, 1) == 0 && mItemSubtype == ITEMTYPE_DROP && mSubtype != SUBTYPE_TBOX) {
mForInsects = true;
- }
+ }
if (!mForInsects) {
mCountInParams = getFromParams(0xC, 0xF);
if (mCountInParams == 0) {
@@ -145,8 +139,8 @@ int dAcOsoil_c::actorCreate() {
mStts.SetRank(0);
mCollider.Set(sCylSrc);
mCollider.SetStts(mStts);
- mAcceleration = 0.f;
- mMaxSpeed = -40.f;
+ mGravity = 0.f;
+ mMaxFallSpeed = -40.f;
updateMatrix();
if (isSubtypeVentOrDrop()) {
mModels[MODEL_DUG_UP].setLocalMtx(mWorldMtx);
@@ -194,9 +188,9 @@ int dAcOsoil_c::actorPostCreate() {
}
}
if (mForInsects) {
- dTgInsect_c* tgInsect = nullptr;
+ dTgInsect_c *tgInsect = nullptr;
do {
- tgInsect = static_cast<dTgInsect_c*>(fManager_c::searchBaseByProfName(fProfile::TAG_INSECT, tgInsect));
+ tgInsect = static_cast<dTgInsect_c *>(fManager_c::searchBaseByProfName(fProfile::TAG_INSECT, tgInsect));
if (tgInsect != nullptr) {
f32 dist = tgInsect->mPosition.squareDistanceToXZ(mPosition);
if (dist < 10000.f) {
@@ -204,9 +198,10 @@ int dAcOsoil_c::actorPostCreate() {
break;
}
}
- } while(tgInsect != nullptr);
+ } while (tgInsect != nullptr);
}
- if (mSceneflag < 0xFF && !SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag) && dScGame_c::currentSpawnInfo.stageName == "F401") {
+ if (mSceneflag < 0xFF && !SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag) &&
+ dScGame_c::currentSpawnInfo.stageName == "F401") {
mColors[MODEL_DUG_UP].a = 0xFF;
mModelIndex = MODEL_DUG_UP;
mModels[MODEL_DUG_UP].setTevColorAll(GX_TEVREG1, mColors[MODEL_DUG_UP], false);
@@ -223,7 +218,6 @@ int dAcOsoil_c::actorPostCreate() {
return SUCCEEDED;
}
-
int dAcOsoil_c::doDelete() {
if (mAlwaysLoaded) {
changeLoadedEntitiesNoSet();
@@ -232,13 +226,13 @@ int dAcOsoil_c::doDelete() {
}
extern "C" dAcBase_c *getCurrentEventActor();
-extern "C" bool AcItem__isKeyPiece2(dAcItem_c*);
+extern "C" bool AcItem__isKeyPiece2(dAcItem_c *);
int dAcOsoil_c::actorExecute() {
if (mShouldSetFlagInEvent) {
if (EventManager::isInEvent()) {
if (EventManager::isCurrentEvent("DefaultGetItem") || EventManager::isCurrentEvent("ItemGetGorgeous")) {
if (mItemSubtype == ITEMTYPE_KEY_PIECE) {
- if (AcItem__isKeyPiece2(static_cast<dAcItem_c*>(getCurrentEventActor()))) {
+ if (AcItem__isKeyPiece2(static_cast<dAcItem_c *>(getCurrentEventActor()))) {
mShouldSetFlagInEvent = false;
SceneflagManager::sInstance->setFlag(mRoomID, mSceneflag);
}
@@ -281,16 +275,16 @@ int dAcOsoil_c::draw() {
if (isSubtypeVentOrDrop()) {
if (mStateMgr.isState(StateID_Ready)) {
if (mHideCover) {
- drawModelType1(&mModels[MODEL_DUG_UP]);
+ drawModel(&mModels[MODEL_DUG_UP]);
} else {
- drawModelType1(&mModels[MODEL_COVERED]);
- drawModelType1(&mModels[MODEL_DUG_UP]);
+ drawModel(&mModels[MODEL_COVERED]);
+ drawModel(&mModels[MODEL_DUG_UP]);
}
} else {
- drawModelType1(&mModels[mModelIndex]);
+ drawModel(&mModels[mModelIndex]);
}
- } else if(mModelIndex == MODEL_COVERED) {
- drawModelType1(&mModels[MODEL_COVERED]);
+ } else if (mModelIndex == MODEL_COVERED) {
+ drawModel(&mModels[MODEL_COVERED]);
}
return SUCCEEDED;
}
@@ -416,10 +410,10 @@ void dAcOsoil_c::finalizeState_Ready() {
void dAcOsoil_c::tryLinkTbox() {
if (mSubtype == SUBTYPE_TBOX && !mHasTriedTboxLink) {
mHasTriedTboxLink = true;
- dAcTbox_c* tbox = nullptr;
+ dAcTbox_c *tbox = nullptr;
f32 minDist = 100.f;
do {
- tbox = static_cast<dAcTbox_c*>(fManager_c::searchBaseByProfName(fProfile::TBOX, tbox));
+ tbox = static_cast<dAcTbox_c *>(fManager_c::searchBaseByProfName(fProfile::TBOX, tbox));
if (tbox != nullptr) {
f32 dist = tbox->mPosition.squareDistanceToXZ(mPosition);
if (dist < minDist) {
@@ -427,9 +421,9 @@ void dAcOsoil_c::tryLinkTbox() {
mTboxLink.link(tbox);
}
}
- } while(tbox != nullptr);
+ } while (tbox != nullptr);
if (mTboxLink.isLinked()) {
- dAcTbox_c* tbox = mTboxLink.get();
+ dAcTbox_c *tbox = mTboxLink.get();
if (tbox->hasBeenOpened() == true) {
mStateMgr.changeState(StateID_Hole);
mInteractionDisabled = true;
@@ -470,7 +464,7 @@ void dAcOsoil_c::giveItemFinal() {
}
} else if (mInsectLink.isLinked()) {
calcItemAndInsectSpawnPos();
- dTgInsect_c* tgInsect = mInsectLink.get();
+ dTgInsect_c *tgInsect = mInsectLink.get();
tgInsect->reveal(&mItemAndInsectSpawnPos);
}
}
@@ -485,7 +479,7 @@ void dAcOsoil_c::fn_255_1A50() {
if (mFinalDigTimer != 0 && --mFinalDigTimer == 0) {
if (mSubtype == SUBTYPE_TBOX) {
if (!mTboxPrepared && mTboxLink.isLinked()) {
- dAcTbox_c* tbox = mTboxLink.get();
+ dAcTbox_c *tbox = mTboxLink.get();
tbox->unsetActorProperty(AC_PROP_0x40000000);
tbox->unsetObjectProperty(OBJ_PROP_0x200);
tbox->mRotation.y = tbox->getXZAngleToPlayer();
@@ -496,8 +490,8 @@ void dAcOsoil_c::fn_255_1A50() {
}
}
if (mTboxPrepared) {
- if (mTboxLink.isLinked()) {
- dAcTbox_c* tbox = mTboxLink.get();
+ if (mTboxLink.isLinked()) {
+ dAcTbox_c *tbox = mTboxLink.get();
if (tbox->mScale.x >= 1) {
mTboxPrepared = false;
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_READ_RIDDLE_A);
@@ -508,12 +502,14 @@ void dAcOsoil_c::fn_255_1A50() {
}
}
-bool dAcOsoil_c::checkCoHit(bool* pOut) {
+bool dAcOsoil_c::checkCoHit(bool *pOut) {
bool hitByWind = false;
*pOut = false;
if (mCollider.ChkCoHit()) {
- dAcObjBase_c* actor = mCollider.GetCoActor();
- if (actor != nullptr && (actor->mProfileName == fProfile::OBJ_WIND || actor->mProfileName == fProfile::OBJ_WIND02 || actor->mProfileName == fProfile::OBJ_WIND03)) {
+ dAcObjBase_c *actor = mCollider.GetCoActor();
+ if (actor != nullptr &&
+ (actor->mProfileName == fProfile::OBJ_WIND || actor->mProfileName == fProfile::OBJ_WIND02 ||
+ actor->mProfileName == fProfile::OBJ_WIND03)) {
hitByWind = true;
} else {
*pOut = true;
@@ -522,17 +518,14 @@ bool dAcOsoil_c::checkCoHit(bool* pOut) {
return hitByWind;
}
-void dAcOsoil_c::setModelColorFromParams(GXColor* pOutColor, m3d::smdl_c& mdl) {
+void dAcOsoil_c::setModelColorFromParams(GXColor *pOutColor, m3d::smdl_c &mdl) {
u32 param = getFromParams(0x14, 0xF);
if (param >= 5) {
param = 0;
}
static const mColor colors[5] = {
- mColor(0x6E, 0x69, 0x50, 0xFF),
- mColor(0xB4, 0x8C, 0, 0xFF),
- mColor(0xC8, 0x96, 0x50, 0xFF),
- mColor(0x8C, 0x6E, 0x46, 0xFF),
- mColor(0x8C, 0x82, 0x64, 0xFF),
+ mColor(0x6E, 0x69, 0x50, 0xFF), mColor(0xB4, 0x8C, 0, 0xFF), mColor(0xC8, 0x96, 0x50, 0xFF),
+ mColor(0x8C, 0x6E, 0x46, 0xFF), mColor(0x8C, 0x82, 0x64, 0xFF),
};
*pOutColor = colors[param];
mdl.setTevColorAll(GX_TEVREG1, *pOutColor, false);
@@ -570,7 +563,7 @@ void dAcOsoil_c::handleModelsOpacities() {
return;
}
if (dAcPy_c::LINK->mPosition.squareDistance(mPosition) < 1000000.f) {
- dCamera_c* camera = dScGame_c::getCamera();
+ dCamera_c *camera = dScGame_c::getCamera();
if (camera != nullptr) {
f32 dist = (camera->getPosition() - mPosition).y * (1.f / 80.f);
if (dist < 0.1f) {
@@ -592,18 +585,7 @@ void dAcOsoil_c::handleModelsOpacities() {
}
s32 moreUnusedd() {
- static const s32 stuff[] = {
- 0x49742400,
- 0x42a00000,
- 0x3c4ccccd,
- 0x41f00000,
- 0x42c80000,
- 0x0000001e,
- 0x00000014,
- 0x00000032,
- 0x461c4000,
- 0x40a00000,
- 0x48afc800
- };
- return (s32) stuff;
+ static const s32 stuff[] = {0x49742400, 0x42a00000, 0x3c4ccccd, 0x41f00000, 0x42c80000, 0x0000001e,
+ 0x00000014, 0x00000032, 0x461c4000, 0x40a00000, 0x48afc800};
+ return (s32)stuff;
}
diff --git a/src/REL/d/a/obj/d_a_obj_spike.cpp b/src/REL/d/a/obj/d_a_obj_spike.cpp
index 9188021b..b8621ef2 100644
--- a/src/REL/d/a/obj/d_a_obj_spike.cpp
+++ b/src/REL/d/a/obj/d_a_obj_spike.cpp
@@ -83,7 +83,7 @@ int dAcOspike_c::actorExecute() {
}
int dAcOspike_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_stage_cover.cpp b/src/REL/d/a/obj/d_a_obj_stage_cover.cpp
index b2c62eed..3f76736b 100644
--- a/src/REL/d/a/obj/d_a_obj_stage_cover.cpp
+++ b/src/REL/d/a/obj/d_a_obj_stage_cover.cpp
@@ -35,7 +35,7 @@ int dAcOstageCover_c::actorExecute() {
}
int dAcOstageCover_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_stopping_rope.cpp b/src/REL/d/a/obj/d_a_obj_stopping_rope.cpp
index 3da0f987..97962c47 100644
--- a/src/REL/d/a/obj/d_a_obj_stopping_rope.cpp
+++ b/src/REL/d/a/obj/d_a_obj_stopping_rope.cpp
@@ -36,7 +36,7 @@ int dAcOStoppingRope_c::actorExecute() {
}
int dAcOStoppingRope_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_stream_lava.cpp b/src/REL/d/a/obj/d_a_obj_stream_lava.cpp
index 4e11814c..80fa29ec 100644
--- a/src/REL/d/a/obj/d_a_obj_stream_lava.cpp
+++ b/src/REL/d/a/obj/d_a_obj_stream_lava.cpp
@@ -119,7 +119,7 @@ int dAcOstreamLava_c::actorExecute() {
int dAcOstreamLava_c::draw() {
if (!mHideActor) {
- drawModelType1(&mModel);
+ drawModel(&mModel);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_sun_light.cpp b/src/REL/d/a/obj/d_a_obj_sun_light.cpp
index 114691a8..8e07e0ac 100644
--- a/src/REL/d/a/obj/d_a_obj_sun_light.cpp
+++ b/src/REL/d/a/obj/d_a_obj_sun_light.cpp
@@ -46,7 +46,7 @@ int dAcOsunLight_c::actorExecute() {
int dAcOsunLight_c::draw() {
if (isDay()) {
- drawModelType1(&mModel);
+ drawModel(&mModel);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp b/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp
index 8fe2a321..37e5db47 100644
--- a/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tarzan_pole.cpp
@@ -55,8 +55,8 @@ int dAcOTarzanPole_c::create() {
mCollider.Set(sCcSrc);
mCollider.SetStts(mStts);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
mFloat = (s32)(mParams & 0xFF) * 10.0f;
if ((s32)(mParams & 0xFF) == 0xFF) {
@@ -102,6 +102,6 @@ int dAcOTarzanPole_c::actorExecute() {
}
int dAcOTarzanPole_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_tenijima.cpp b/src/REL/d/a/obj/d_a_obj_tenijima.cpp
index 7cf72bd6..c1f93a52 100644
--- a/src/REL/d/a/obj/d_a_obj_tenijima.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tenijima.cpp
@@ -60,7 +60,7 @@ int dAcOtenijima_c::actorExecute() {
}
int dAcOtenijima_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_terry_island.cpp b/src/REL/d/a/obj/d_a_obj_terry_island.cpp
index ca7b2a50..ae938b8c 100644
--- a/src/REL/d/a/obj/d_a_obj_terry_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_terry_island.cpp
@@ -120,7 +120,7 @@ int dAcOterryIsland_c::actorExecute() {
}
int dAcOterryIsland_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_time_stage_bg.cpp b/src/REL/d/a/obj/d_a_obj_time_stage_bg.cpp
index efb71c64..4c4ff3ac 100644
--- a/src/REL/d/a/obj/d_a_obj_time_stage_bg.cpp
+++ b/src/REL/d/a/obj/d_a_obj_time_stage_bg.cpp
@@ -53,8 +53,8 @@ int dAcOTimeStageBg_c::actorCreate() {
}
CREATE_ALLOCATOR(dAcOTimeStageBg_c);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
updateMatrix();
mSceneCallback.attach(mMdl1);
mMdl1.setLocalMtx(mWorldMtx);
@@ -103,12 +103,12 @@ int dAcOTimeStageBg_c::actorExecute() {
int dAcOTimeStageBg_c::draw() {
if (field_0x3F8 > 0.0f) {
if (!secondMdl() || field_0x3F8 != 255.0f) {
- drawModelType1(&mMdl1);
+ drawModel(&mMdl1);
}
}
if (secondMdl() && field_0x3F8 == 255.0f) {
- drawModelType1(&mMdl2);
+ drawModel(&mMdl2);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp b/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp
index 2fb30b82..2e42654a 100644
--- a/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp
+++ b/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp
@@ -91,7 +91,7 @@ int dAcOtoD3StoneFigure_c::actorExecute() {
int dAcOtoD3StoneFigure_c::draw() {
if (dScGame_c::currentSpawnInfo.layer != 0x12) {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp b/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp
index 09ebb0dd..5d63faa4 100644
--- a/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp
@@ -38,8 +38,8 @@ int dAcOTowerGearD101_c::actorCreate() {
nw4r::g3d::ResMdl mdl = mMdl.getResMdl();
mMdlCallback.init(mdl.GetResNode("model0").GetID());
mMdl.setCallback(&mMdlCallback);
- mAcceleration = 0.0f;
- mMaxSpeed = 0.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = 0.0f;
mStateMgr.changeState(StateID_Wait);
mVec3_c s = field_0x3AC;
@@ -77,7 +77,7 @@ int dAcOTowerGearD101_c::actorExecute() {
}
int dAcOTowerGearD101_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_tower_hand_D101.cpp b/src/REL/d/a/obj/d_a_obj_tower_hand_D101.cpp
index b36f9045..fed9d9bd 100644
--- a/src/REL/d/a/obj/d_a_obj_tower_hand_D101.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tower_hand_D101.cpp
@@ -324,7 +324,7 @@ int dAcOTowerHandD101_c::actorExecuteInEvent() {
}
int dAcOTowerHandD101_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_trap_rock_1.cpp b/src/REL/d/a/obj/d_a_obj_trap_rock_1.cpp
index 30ab8033..fcf3bce3 100644
--- a/src/REL/d/a/obj/d_a_obj_trap_rock_1.cpp
+++ b/src/REL/d/a/obj/d_a_obj_trap_rock_1.cpp
@@ -32,8 +32,8 @@ int dAcOtrapRock1_c::create() {
mBgW.SetCrrFunc(dBgS_MoveBGProc_Typical);
dBgS::GetInstance()->Regist(&mBgW, this);
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
mStateMgr.changeState(StateID_TrapWait);
mVec3_c min, max;
mMdl.getBounds(&min, &max);
@@ -58,7 +58,7 @@ int dAcOtrapRock1_c::actorExecute() {
}
int dAcOtrapRock1_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_treasure_island.cpp b/src/REL/d/a/obj/d_a_obj_treasure_island.cpp
index 125eb63f..3ec35624 100644
--- a/src/REL/d/a/obj/d_a_obj_treasure_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_treasure_island.cpp
@@ -108,10 +108,10 @@ int dAcOtreasureIsland_c::actorExecute() {
}
int dAcOtreasureIsland_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
if (subtype == 2) {
- drawModelType1(&mWater00);
- drawModelType1(&mWater01);
+ drawModel(&mWater00);
+ drawModel(&mWater01);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_treasure_island_b.cpp b/src/REL/d/a/obj/d_a_obj_treasure_island_b.cpp
index f9e41590..93362846 100644
--- a/src/REL/d/a/obj/d_a_obj_treasure_island_b.cpp
+++ b/src/REL/d/a/obj/d_a_obj_treasure_island_b.cpp
@@ -121,9 +121,9 @@ int dAcOtreasureIslandB_c::actorExecute() {
}
int dAcOtreasureIslandB_c::draw() {
- drawModelType1(&mMdl[ISLAND]);
+ drawModel(&mMdl[ISLAND]);
if (getStateID() != StateID_CoverBreak) {
- drawModelType1(&mMdl[ROCK]);
+ drawModel(&mMdl[ROCK]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_triforce.cpp b/src/REL/d/a/obj/d_a_obj_triforce.cpp
index ca2608dc..e37ff747 100644
--- a/src/REL/d/a/obj/d_a_obj_triforce.cpp
+++ b/src/REL/d/a/obj/d_a_obj_triforce.cpp
@@ -76,6 +76,6 @@ int dAcOtriforce_c::actorExecute() {
}
int dAcOtriforce_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return 1;
}
diff --git a/src/REL/d/a/obj/d_a_obj_tubo.cpp b/src/REL/d/a/obj/d_a_obj_tubo.cpp
index 232483c4..e7a67c4f 100644
--- a/src/REL/d/a/obj/d_a_obj_tubo.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tubo.cpp
@@ -75,15 +75,15 @@ int dAcOtubo_c::actorCreate() {
mEff_0x91C.setIsSmall(true);
int unkParam = getParams_0x3000();
if (unkParam != 1 && unkParam != 2) {
- fn_8002EA30(-60.f, -20.f, 2.f, 1.f, 4.f, &mObjAcch);
+ setSinkDepths(-60.f, -20.f, 2.f, 1.f, 4.f, &mObjAcch);
}
mStts.SetRank(5);
mSph.Set(sSphSrc);
mSph.SetStts(mStts);
mSph.ClrAtSet();
- mAcceleration = -4.f;
- mMaxSpeed = -40.f;
+ mGravity = -4.f;
+ mMaxFallSpeed = -40.f;
mbMovingForward = 0;
field_0x9D8 = 2.f;
@@ -201,12 +201,12 @@ void dAcOtubo_c::registerInEvent() {
}
int dAcOtubo_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.f, 30.f, 0.f), 40.f);
- if (mYOffset >= 0.f) {
- drawShadow(mShdw, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
+ if (mSinkDepth >= 0.f) {
+ drawShadow(mShdw, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
}
return SUCCEEDED;
}
@@ -216,7 +216,7 @@ void dAcOtubo_c::executeState_Wait() {
if (mObjAcch.ChkGroundLanding()) {
if (!mbField_0x9EF || !EventManager::isInEvent()) {
if (field_0x9F6 == 2) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.0f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.0f, field_0x1B0);
}
if (mbField_0x9F3) {
startSound(SE_Tubo_PUT);
@@ -225,7 +225,7 @@ void dAcOtubo_c::executeState_Wait() {
if (checkOnLava()) {
if (field_0x9F6 != 2) {
dJEffManager_c::spawnGroundEffect(
- mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.0f, field_0x1B0
+ mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.0f, field_0x1B0
);
}
startSound(SE_O_FALL_LAVA_S);
@@ -359,7 +359,7 @@ void dAcOtubo_c::initializeState_Slope() {
}
void dAcOtubo_c::executeState_Slope() {
if (mObjAcch.ChkGroundLanding()) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 0, 1.0f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 0, 1.0f, field_0x1B0);
} else if (mObjAcch.ChkGndHit()) {
field_0x9DC = 0.f;
addPickupTarget();
@@ -580,7 +580,7 @@ void dAcOtubo_c::fn_272_2670() {
}
if (mObjAcch.ChkGndHit()) {
- if (mYOffset >= 0.f && !checkCarryType()) {
+ if (mSinkDepth >= 0.f && !checkCarryType()) {
field_0x9DC = 0.f;
} else if (checkInvalidGround()) {
mSpeed = 0.0f;
@@ -603,8 +603,8 @@ void dAcOtubo_c::fn_272_2670() {
mEff_0x91C.execute(waterH, groundH);
if (checkSubmerged()) {
- mAcceleration = -0.8f;
- mMaxSpeed = -7.f;
+ mGravity = -0.8f;
+ mMaxFallSpeed = -7.f;
field_0x9DC = 0.f;
cLib::addCalcPosXZ(&mVelocity, mVec3_c::Zero, 0.05f, 1.0f, 0.2f);
mSpeed = EGG::Math<f32>::sqrt(mVelocity.x * mVelocity.x + mVelocity.z * mVelocity.z);
@@ -613,8 +613,8 @@ void dAcOtubo_c::fn_272_2670() {
}
mbSubmerged = true;
} else {
- mAcceleration = -4.f;
- mMaxSpeed = -40.f;
+ mGravity = -4.f;
+ mMaxFallSpeed = -40.f;
mbSubmerged = false;
if (checkCarryType()) {
mStateMgr.changeState(StateID_Grab);
@@ -641,7 +641,7 @@ void dAcOtubo_c::attemptDestroy() {
return;
}
- if (mObjAcch.ChkGndHit() && mYOffset >= 0.f && !checkCarryType()) {
+ if (mObjAcch.ChkGndHit() && mSinkDepth >= 0.f && !checkCarryType()) {
if ((field_0x9DC < -100.f && !mbField_0x9EE) || fn_272_3660()) {
destroy();
return;
@@ -666,7 +666,7 @@ void dAcOtubo_c::attemptDestroy() {
if (mObjAcch.ChkRoofHit()) {
destroy();
- } else if (!mbField_0x9EF && checkYOffsetField_0x100() && getParams_0x3000() != 1) {
+ } else if (!mbField_0x9EF && checkAtDeepSinkDepth() && getParams_0x3000() != 1) {
killNoItemDrop();
} else if (fn_272_38A0()) {
destroy();
@@ -763,7 +763,7 @@ void dAcOtubo_c::adjustSpeed() {
step *= gndAngle.cos();
if (gndAngle < mAng::d2s(5) || mAng::fromVec(pla.GetN()).absDiff(mAngle.y) > mAng::d2s(90)) {
- f32 stepSize = mYOffset;
+ f32 stepSize = mSinkDepth;
sLib::chase(&mSpeed, 0.f, step + stepSize * -0.05f);
} else {
if (!mbMovingForward) {
diff --git a/src/REL/d/a/obj/d_a_obj_tumble_weed.cpp b/src/REL/d/a/obj/d_a_obj_tumble_weed.cpp
index 3e600b80..3e133bf6 100644
--- a/src/REL/d/a/obj/d_a_obj_tumble_weed.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tumble_weed.cpp
@@ -64,8 +64,8 @@ int dAcOTumbleWeed_c::actorCreate() {
mDowsingTarget.initialize(DowsingTarget::SLOT_TREASURE, 0, nullptr, 0.0f);
mDowsingTarget.doRegister();
- mAcceleration = -2.f;
- mMaxSpeed = -40.f;
+ mGravity = -2.f;
+ mMaxFallSpeed = -40.f;
field_0x974 = 0.0f;
field_0x98B = true;
@@ -154,11 +154,11 @@ int dAcOTumbleWeed_c::actorExecute() {
}
int dAcOTumbleWeed_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
static mSphere_c sph(mVec3_c(0.f, 30.f, 0.f), 50.f);
if (0.f < mScale.x) {
- drawShadow(mShdw, nullptr, mShadowMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
+ drawShadow(mShdw, nullptr, mShadowMtx, sph, -1, -1, -1, -1, -1, mPosition.y - mObjAcch.GetGroundH());
}
return SUCCEEDED;
diff --git a/src/REL/d/a/obj/d_a_obj_under_cloud.cpp b/src/REL/d/a/obj/d_a_obj_under_cloud.cpp
index 0af63227..167d8f8b 100644
--- a/src/REL/d/a/obj/d_a_obj_under_cloud.cpp
+++ b/src/REL/d/a/obj/d_a_obj_under_cloud.cpp
@@ -72,6 +72,6 @@ int dAcOunderCloud_c::draw() {
if (lightEnv.fn_80024770(6) && !lightEnv.fn_800247A0(6)) {
return SUCCEEDED;
}
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_underground_switch.cpp b/src/REL/d/a/obj/d_a_obj_underground_switch.cpp
index aca8de7f..49ca46f8 100644
--- a/src/REL/d/a/obj/d_a_obj_underground_switch.cpp
+++ b/src/REL/d/a/obj/d_a_obj_underground_switch.cpp
@@ -87,7 +87,7 @@ int dAcOUgSwitch_c::actorExecuteInEvent() {
}
int dAcOUgSwitch_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_uta_demo_pedest.cpp b/src/REL/d/a/obj/d_a_obj_uta_demo_pedest.cpp
index 2f0b48d3..74b50b22 100644
--- a/src/REL/d/a/obj/d_a_obj_uta_demo_pedest.cpp
+++ b/src/REL/d/a/obj/d_a_obj_uta_demo_pedest.cpp
@@ -55,6 +55,6 @@ int dAcOutaDemoPedest_c::actorExecute() {
}
int dAcOutaDemoPedest_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_utajima.cpp b/src/REL/d/a/obj/d_a_obj_utajima.cpp
index d25bacc9..ab894928 100644
--- a/src/REL/d/a/obj/d_a_obj_utajima.cpp
+++ b/src/REL/d/a/obj/d_a_obj_utajima.cpp
@@ -78,7 +78,7 @@ int dAcOutajima_c::actorExecute() {
int dAcOutajima_c::draw() {
for (int i = 0; i < 2; i++) {
- drawModelType1(&mMdls[i]);
+ drawModel(&mMdls[i]);
}
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_utajima_island.cpp b/src/REL/d/a/obj/d_a_obj_utajima_island.cpp
index b38a3cac..86f1174c 100644
--- a/src/REL/d/a/obj/d_a_obj_utajima_island.cpp
+++ b/src/REL/d/a/obj/d_a_obj_utajima_island.cpp
@@ -91,7 +91,7 @@ int dAcOutajimaIsland_c::actorExecute() {
}
int dAcOutajimaIsland_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_utajima_lv2.cpp b/src/REL/d/a/obj/d_a_obj_utajima_lv2.cpp
index 39906b7c..47f4c197 100644
--- a/src/REL/d/a/obj/d_a_obj_utajima_lv2.cpp
+++ b/src/REL/d/a/obj/d_a_obj_utajima_lv2.cpp
@@ -46,6 +46,6 @@ int dAcOutajimaLv2_c::actorExecute() {
}
int dAcOutajimaLv2_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_water_shield.cpp b/src/REL/d/a/obj/d_a_obj_water_shield.cpp
index 2ae69e37..ef4839cc 100644
--- a/src/REL/d/a/obj/d_a_obj_water_shield.cpp
+++ b/src/REL/d/a/obj/d_a_obj_water_shield.cpp
@@ -47,7 +47,7 @@ int dAcOwaterShield_c::actorExecute() {
}
int dAcOwaterShield_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/a/obj/d_a_obj_windmill.cpp b/src/REL/d/a/obj/d_a_obj_windmill.cpp
index 063ac162..b4253b8a 100644
--- a/src/REL/d/a/obj/d_a_obj_windmill.cpp
+++ b/src/REL/d/a/obj/d_a_obj_windmill.cpp
@@ -123,7 +123,7 @@ int dAcOwindmill_c::actorExecute() {
}
int dAcOwindmill_c::draw() {
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
return SUCCEEDED;
}
diff --git a/src/REL/d/t/d_t_sound_area.cpp b/src/REL/d/t/d_t_sound_area.cpp
index 59bf2db0..18db3a69 100644
--- a/src/REL/d/t/d_t_sound_area.cpp
+++ b/src/REL/d/t/d_t_sound_area.cpp
@@ -18,7 +18,7 @@ void float_ordering() {
int dTgSndAr_c::create() {
mScale *= 0.01f;
if (dTgSndMg_c::GetInstance() == nullptr) {
- dAcObjBase_c::createActorUnkGroup3(fProfile::SOUND_AREA_MGR, mRoomID, 0, nullptr, nullptr, nullptr, -1);
+ dAcObjBase_c::createStageActor(fProfile::SOUND_AREA_MGR, mRoomID, 0, nullptr, nullptr, nullptr, -1);
}
switch (getTypeFromParams()) {
diff --git a/src/d/a/d_a_base.cpp b/src/d/a/d_a_base.cpp
index 9fac1e7a..afe82995 100644
--- a/src/d/a/d_a_base.cpp
+++ b/src/d/a/d_a_base.cpp
@@ -1,11 +1,13 @@
#include "d/a/d_a_base.h"
#include "c/c_lib.h"
+#include "c/c_math.h"
#include "common.h"
#include "d/a/d_a_player.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/col/bg/d_bg_s.h"
#include "d/col/bg/d_bg_s_gnd_chk.h"
+#include "d/d_base.h"
#include "d/d_heap.h"
#include "d/d_room.h"
#include "d/d_sc_game.h"
@@ -30,9 +32,9 @@ u32 dAcBase_c::s_Create_Params2 = -1;
u16 dAcBase_c::s_Create_UnkFlags = -1;
u8 dAcBase_c::s_Create_ViewClipIdx = -1;
-mVec3_c *dAcBase_c::s_Create_Position;
-mAng3_c *dAcBase_c::s_Create_Rotation;
-mVec3_c *dAcBase_c::s_Create_Scale;
+const mVec3_c *dAcBase_c::s_Create_Position;
+const mAng3_c *dAcBase_c::s_Create_Rotation;
+const mVec3_c *dAcBase_c::s_Create_Scale;
dAcBase_c *dAcBase_c::s_Create_Parent;
const ActorInfo *dAcBase_c::s_Create_ActorInfo;
u8 dAcBase_c::s_Create_Subtype;
@@ -84,8 +86,8 @@ dAcBase_c::dAcBase_c()
dAcBase_c::~dAcBase_c() {}
void dAcBase_c::setTempCreateParams(
- mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, s32 roomId, u32 params2, dAcBase_c *parent, u8 subtype, u16 unkFlag,
- s8 viewClipIdx, const ActorInfo *actorInfo
+ const mVec3_c *pos, const mAng3_c *rot, const mVec3_c *scale, s32 roomId, u32 params2, dAcBase_c *parent,
+ u8 subtype, u16 unkFlag, s8 viewClipIdx, const ActorInfo *actorInfo
) {
s_Create_Position = pos;
s_Create_Rotation = rot;
@@ -268,7 +270,26 @@ void dAcBase_c::postExecute(fBase_c::MAIN_STATE_e state) {
it->calc();
}
- // TODO - ...
+ if (state != CANCELED) {
+ unsetActorProperty(AC_PROP_0x20000000);
+ unsetActorProperty(AC_PROP_0x4000000);
+ setActorProperty(AC_PROP_0x10000000);
+
+ // Kill Actors out of bounds, but keep player within bounds
+ if ((mPosition.x < -1000000.0f || mPosition.x > 1000000.0f) ||
+ (mPosition.y < -1000000.0f || mPosition.y > 1000000.0f) ||
+ (mPosition.z < -1000000.0f || mPosition.z > 1000000.0f)) {
+ if (mProfileName == fProfile::PLAYER) {
+ mPosition.x = cM::minMaxLimit(mPosition.x, -1000000.0f, 1000000.0f);
+ mPosition.y = cM::minMaxLimit(mPosition.y, -1000000.0f, 1000000.0f);
+ mPosition.z = cM::minMaxLimit(mPosition.z, -1000000.0f, 1000000.0f);
+ } else {
+ killNoItemDrop();
+ }
+ }
+ }
+
+ dBase_c::postExecute(state);
}
void dAcBase_c::unkVirtFunc_0x5C() {
@@ -381,7 +402,7 @@ void dAcBase_c::forEveryActor(void *func(dAcBase_c *, dAcBase_c *), dAcBase_c *p
}
mAng dAcBase_c::getXZAngleToPlayer() const {
- return cLib::targetAngleY(this->mPosition, dAcPy_c::LINK->mPosition);
+ return cLib::targetAngleY(this->mPosition, dAcPy_c::GetLink()->mPosition);
}
bool dAcBase_c::getDistanceToActor(dAcBase_c *actor, f32 distThresh, f32 *outDist) {
diff --git a/src/d/a/d_a_bird_base.cpp b/src/d/a/d_a_bird_base.cpp
index 28f481bf..27eb8012 100644
--- a/src/d/a/d_a_bird_base.cpp
+++ b/src/d/a/d_a_bird_base.cpp
@@ -17,7 +17,7 @@ int dAcBirdBase_c::doDelete() {
}
int dAcBirdBase_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
return SUCCEEDED;
}
diff --git a/src/d/a/d_a_fish_base.cpp b/src/d/a/d_a_fish_base.cpp
index e00132f8..54253876 100644
--- a/src/d/a/d_a_fish_base.cpp
+++ b/src/d/a/d_a_fish_base.cpp
@@ -23,8 +23,8 @@ bool dAcFishBase_c::createHeap() {
}
int dAcFishBase_c::create() {
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
field_0xA7C = 0;
field_0xA7E = 0;
field_0xA80 = cM::rndF(65536.0f);
diff --git a/src/d/a/d_a_item.cpp b/src/d/a/d_a_item.cpp
index bedc7495..bff88bc4 100644
--- a/src/d/a/d_a_item.cpp
+++ b/src/d/a/d_a_item.cpp
@@ -784,8 +784,8 @@ int dAcItem_c::create() {
mObjAcch.SetRoofCrrHeight(50.0f);
mObjAcch.SetClrSpeedY();
mObjAcch.SetField_0xC(4);
- mAcceleration = -2.0f;
- mMaxSpeed = -80.0f;
+ mGravity = -2.0f;
+ mMaxFallSpeed = -80.0f;
mGetItemPouchSlot = sGetItemPouchSlot;
mItemQuantity = sGetItemQuantity;
@@ -1049,8 +1049,9 @@ int dAcItem_c::create() {
if (type == TEAR_MAX) {
type = TEAR_FARON;
}
- dAcObjBase_c *forceSign =
- dAcObjBase_c::create(this, fProfile::OBJ_FORCE_SIGN, type & 0xFF, nullptr, nullptr, nullptr, nullptr, 0x3F);
+ dAcObjBase_c *forceSign = dAcObjBase_c::createChildAttached(
+ fProfile::OBJ_FORCE_SIGN, type & 0xFF, nullptr, nullptr, nullptr, nullptr, 0x3F
+ );
if (forceSign != nullptr) {
mForceSignRef.link(forceSign);
}
@@ -1253,7 +1254,7 @@ int dAcItem_c::actorExecute() {
mCyl.ClrCoHit();
field_0xD65 = 0;
if ((isAnyRupeeV() || mId == ITEM_STAMINA_FRUIT) && field_0xD66 && mObjAcch.ChkGroundLanding()) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, 0.7f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 1, 0.7f, field_0x1B0);
}
if (isStarryFireflyV() && !checkObjectProperty(OBJ_PROP_0x200)) {
@@ -1305,13 +1306,13 @@ int dAcItem_c::draw() {
/* nothing */
} else if (mMdlScaleType == 2) {
mSphere_c v(mVec3_c(0.0f, 0.0f, 0.0f), getItemFlagStruct(getItemId())->field_0x02);
- drawShadow(mShdw, nullptr, mWorldMtx, &v, -1, -1, -1, -1, -1, field_0xD18);
+ drawShadow(mShdw, nullptr, mWorldMtx, v, -1, -1, -1, -1, -1, field_0xD18);
} else {
mSphere_c v(
mVec3_c(0.0f, field_0xCD8 * 0.5f * getItemFlagStruct(getItemId())->field_0x01, 0.0f),
field_0xCD8 * getItemFlagStruct(getItemId())->field_0x02
);
- drawShadow(mShdw, nullptr, mWorldMtx, &v, -1, -1, -1, -1, -1, field_0xD18);
+ drawShadow(mShdw, nullptr, mWorldMtx, v, -1, -1, -1, -1, -1, field_0xD18);
}
}
return SUCCEEDED;
@@ -1366,7 +1367,7 @@ void dAcItem_c::initializeState_Wait() {
}
mMdlScaleType = 0;
mSinkOffset = 0.0f;
- mYOffset = 0.0f;
+ mSinkDepth = 0.0f;
}
void dAcItem_c::executeState_Wait() {
@@ -1594,33 +1595,33 @@ void dAcItem_c::executeState_Wait() {
}
switch (which) {
- case 1: mAcceleration = (this->*mFnGetRupeeGravity)(); break;
- case 2: mAcceleration = (this->*mFnGetGravity1)(); break;
+ case 1: mGravity = (this->*mFnGetRupeeGravity)(); break;
+ case 2: mGravity = (this->*mFnGetGravity1)(); break;
}
} else if (isHeartV()) {
if (field_0xD52) {
if (mFnGetHeartGravity != nullptr) {
- mAcceleration = (this->*mFnGetHeartGravity)();
+ mGravity = (this->*mFnGetHeartGravity)();
}
} else {
if (mFnGetGravity1 != nullptr) {
- mAcceleration = (this->*mFnGetGravity1)();
+ mGravity = (this->*mFnGetGravity1)();
}
}
} else {
if (mFnGetRupeeGravity == nullptr || !field_0xD62) {
if (mFnGetGravity1 != nullptr) {
- mAcceleration = (this->*mFnGetGravity1)();
+ mGravity = (this->*mFnGetGravity1)();
}
} else {
if (mFnGetRupeeGravity != nullptr) {
- mAcceleration = (this->*mFnGetRupeeGravity)();
+ mGravity = (this->*mFnGetRupeeGravity)();
}
}
}
if (mFnGetGravity4 != nullptr) {
- mMaxSpeed = (this->*mFnGetGravity4)();
+ mMaxFallSpeed = (this->*mFnGetGravity4)();
}
fn_80256F20();
@@ -1658,7 +1659,7 @@ void dAcItem_c::executeState_Wait() {
mSinkOffset = 0.0f;
}
- mYOffset = mSinkOffset;
+ mSinkDepth = mSinkOffset;
if (isAnyTear() && mObjAcch.ChkGroundLanding()) {
startSoundWithFloatParam(SE_Item_A43_FALL, mVelocity.y);
}
@@ -1725,7 +1726,7 @@ void dAcItem_c::finalizeState_Wait() {
mObjAcch.SetRoofNone();
mObjAcch.Clr_0x2000000();
mSinkOffset = 0.0f;
- mYOffset = 0.0f;
+ mSinkDepth = 0.0f;
if (isTriforce() && mEff_0x928.hasEmitters()) {
mEff_0x928.remove(true);
}
diff --git a/src/d/a/d_a_salbage_obj.cpp b/src/d/a/d_a_salbage_obj.cpp
index 81b7173d..6eded1d4 100644
--- a/src/d/a/d_a_salbage_obj.cpp
+++ b/src/d/a/d_a_salbage_obj.cpp
@@ -115,8 +115,8 @@ int dAcSalbageObj_c::preDraw() {
}
int dAcSalbageObj_c::draw() {
- drawModelType1(mpMdl);
- fn_8002edb0(mShadow, *mpMdl, &mShadowSph, -1, -1, field_0x900);
+ drawModel(mpMdl);
+ drawShadow(mShadow, *mpMdl, mShadowSph, -1, -1, field_0x900);
return SUCCEEDED;
}
@@ -156,7 +156,7 @@ void dAcSalbageObj_c::initSalbageObj() {
case BEHAVIOR_CARRY: {
mSpeed = 0.0f;
mVelocity.set(0.0f, 0.0f, 0.0f);
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mSalvageIf.setHidden();
if (dSalvageMgr_c::sInstance->getCurrentSalvageObjId() != mSalvageIf.getSalvageObjId()) {
mStateMgr.changeState(StateID_Kill);
@@ -170,7 +170,7 @@ void dAcSalbageObj_c::initSalbageObj() {
case BEHAVIOR_FLY: {
mSpeed = 0.0f;
mVelocity.set(0.0f, 0.0f, 0.0f);
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mStateMgr.changeState(StateID_Fly);
break;
}
@@ -180,11 +180,11 @@ void dAcSalbageObj_c::initSalbageObj() {
return;
} else {
mBehavior = BEHAVIOR_STATIONARY;
- mAcceleration = -1.0f;
- mMaxSpeed = -40.0f;
+ mGravity = -1.0f;
+ mMaxFallSpeed = -40.0f;
initCcAndBg();
mSpeed = 0.0f;
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mVelocity.set(0.0f, 0.0f, 0.0f);
mStateMgr.changeState(StateID_Wait);
}
@@ -369,7 +369,7 @@ void dAcSalbageObj_c::initializeState_DemoThrow() {
mAngle.x = 0;
mAngle.y = mRotation.y;
mAngle.z = 0;
- mMaxSpeed = -40.0f;
+ mMaxFallSpeed = -40.0f;
mBgObjAcch.Set(this, 1, &mBgAcchCir);
mBgObjAcch.SetWaterNone();
mBgObjAcch.SetRoofNone();
diff --git a/src/d/a/obj/d_a_obj_arrow.cpp b/src/d/a/obj/d_a_obj_arrow.cpp
index ee0c1097..15f7b6ed 100644
--- a/src/d/a/obj/d_a_obj_arrow.cpp
+++ b/src/d/a/obj/d_a_obj_arrow.cpp
@@ -647,13 +647,13 @@ void dAcArrow_c::executeState_Move() {
}
} else {
f32 diff = mPosition.distance(field_0x6C8);
- if (diff > field_0x6A4 || mAcceleration < 0.0f) {
+ if (diff > field_0x6A4 || mGravity < 0.0f) {
if (isSlingshotProjectile()) {
- mAcceleration = -5.0f;
+ mGravity = -5.0f;
} else {
- mAcceleration = -2.0f;
+ mGravity = -2.0f;
}
- mVelocity.y += mAcceleration;
+ mVelocity.y += mGravity;
if (isSlingshotProjectile()) {
dAcPy_c *link = dAcPy_c::GetLink2();
f32 xz = mVelocity.absXZ();
@@ -945,6 +945,6 @@ int dAcArrow_c::draw() {
setInitialPosition();
unsetArrowFlag(ARROW_INITIAL_SPAWN);
}
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/d/a/obj/d_a_obj_base.cpp b/src/d/a/obj/d_a_obj_base.cpp
index ac66e142..ef5ec939 100644
--- a/src/d/a/obj/d_a_obj_base.cpp
+++ b/src/d/a/obj/d_a_obj_base.cpp
@@ -1 +1,453 @@
#include "d/a/obj/d_a_obj_base.h"
+
+#include "common.h"
+#include "d/a/d_a_base.h"
+#include "d/a/d_a_player.h"
+#include "d/a/obj/d_a_obj_desert.h"
+#include "d/col/bg/d_bg_pc.h"
+#include "d/col/c/c_bg_s_poly_info.h"
+#include "d/col/c/c_m3d_g_pla.h"
+#include "d/d_base.h"
+#include "d/d_bzs_types.h"
+#include "d/d_linkage.h"
+#include "d/d_stage.h"
+#include "d/d_stage_mgr.h"
+#include "d/d_vec.h"
+#include "d/t/d_t_view_clip.h"
+#include "f/f_base.h"
+#include "f/f_list_mg.h"
+#include "f/f_list_nd.h"
+#include "f/f_manager.h"
+#include "f/f_profile.h"
+#include "f/f_profile_name.h"
+#include "m/m3d/m_smdl.h"
+#include "m/m_angle.h"
+#include "m/m_mtx.h"
+#include "m/m_vec.h"
+#include "nw4r/math/math_geometry.h"
+#include "s/s_Math.h"
+#include "toBeSorted/actor_info.h"
+#include "toBeSorted/arc_managers/oarc_manager.h"
+#include "toBeSorted/d_d3d.h"
+#include "toBeSorted/event_manager.h"
+#include "toBeSorted/time_area_mgr.h"
+
+void *dAcObjBase_c::getOarcFile(const char *oarcName, const char *fileName) {
+ return OarcManager::GetInstance()->getData(oarcName, fileName);
+}
+
+void *dAcObjBase_c::getOarcSubEntry(const char *oarcName, const char *fileName) {
+ return OarcManager::GetInstance()->getSubEntryData(oarcName, fileName);
+}
+
+void *dAcObjBase_c::getOarcResFile(const char *oarcName) {
+ return OarcManager::GetInstance()->getMdlFromArc2(oarcName);
+}
+
+void *dAcObjBase_c::getOarcModelFile(const char *oarcName) {
+ return OarcManager::GetInstance()->getMdlFromArc(oarcName);
+}
+
+void *dAcObjBase_c::getOarcZev(const char *oarcName) {
+ return OarcManager::GetInstance()->getZevFromArc(oarcName);
+}
+
+void *dAcObjBase_c::getOarcDZB(const char *oarcName, const char *dzbName) {
+ return OarcManager::GetInstance()->getDzbFromArc(oarcName, dzbName);
+}
+
+void *dAcObjBase_c::getOarcPLC(const char *oarcName, const char *plcName) {
+ return OarcManager::GetInstance()->getPlcFromArc(oarcName, plcName);
+}
+
+dAcObjBase_c::dAcObjBase_c()
+ : mTargetFiTextID(0xFFFF),
+ mCullingDistance(8000.0f),
+ field_0x1A8(400.0f),
+ field_0x1B0(-1e9f),
+ mGndNormal(0.0f, 1.0f, 0.0f),
+ mStts(this),
+ mStartingPos(mPosition.x, mPosition.y, mPosition.z),
+ mStartingRot(mRotation) {
+ mLightingInfo.reset();
+ mpSalvageIf = nullptr;
+ if (s_Create_Rotation != nullptr) {
+ mAngle = *s_Create_Rotation;
+ }
+ if (mpActorInfo != nullptr) {
+ mTargetFiTextID = mpActorInfo->fiTextEntryId;
+ }
+ if (dStageMgr_c::GetInstance()->getStif() != nullptr) {
+ mCullingDistance = dStageMgr_c::GetInstance()->getStif()->defaultCullingDistance;
+ }
+}
+
+dAcObjBase_c::~dAcObjBase_c() {}
+
+int dAcObjBase_c::preCreate() {
+ if (fBase_c::preCreate() == NOT_READY) {
+ return NOT_READY;
+ }
+
+ mOldPosition = mPosition;
+ mPositionCopy2 = mPosition;
+ mPositionCopy3 = mPosition;
+
+ return SUCCEEDED;
+}
+
+int dAcObjBase_c::preExecute() {
+ bool notOk = false;
+ if (dAcBase_c::preExecute() == NOT_READY) {
+ notOk = true;
+ }
+
+ mLinkage.fn_80051190(this);
+
+ unsetObjectProperty(OBJ_PROP_0x4000 | OBJ_PROP_0x400 | OBJ_PROP_0x80 | OBJ_PROP_0x20);
+
+ if (checkObjectProperty(OBJ_PROP_0x40)) {
+ setObjectProperty(OBJ_PROP_0x80);
+ } else if (checkObjectProperty(OBJ_PROP_0x1)) {
+ if (checkActorProperty(AC_PROP_0x1) && checkActorProperty(AC_PROP_0x10000000)) {
+ if (!(EventManager::checkFlag(0x10) || EventManager::FUN_800a0570(this) ||
+ (checkActorProperty(AC_PROP_0x1000) && dTimeAreaMgr_c::fn_800BBE00()))) {
+ if (!dTimeAreaMgr_c::fn_800BBD40() || !dTgViewClip_c::checkForceOn(mViewClipIdx)) {
+ return false;
+ }
+ }
+ }
+ }
+
+ if (notOk) {
+ return NOT_READY;
+ }
+
+ if (!checkObjectProperty(OBJ_PROP_0x1)) {
+ unsetObjectProperty(OBJ_PROP_0x40);
+ }
+
+ return SUCCEEDED;
+}
+
+void dAcObjBase_c::postExecute(MAIN_STATE_e state) {
+ if (state != CANCELED) {
+ mOldPosition = mPosition;
+ mStts.Move();
+ if (!mLinkage.checkState(dLinkage_c::STATE_ACTIVE)) {
+ mLinkage.setState(dLinkage_c::STATE_0);
+ }
+ unsetObjectProperty(OBJ_PROP_0x8000 | OBJ_PROP_0x2000);
+ }
+
+ return dAcBase_c::postExecute(state);
+}
+
+extern "C" bool fn_801BB750(f32 f, nw4r::math::AABB &);
+
+int dAcObjBase_c::preDraw() {
+ bool notOk = false;
+ if (dBase_c::preDraw() == NOT_READY) {
+ notOk = true;
+ }
+
+ unsetObjectProperty(OBJ_PROP_0x2 | OBJ_PROP_0x1);
+
+ mMtx_c m = mWorldMtx;
+ m.scaleM(mScale);
+ nw4r::math::AABB aabb;
+ // UHHHH
+ aabb.Set((nw4r::math::AABB *)(&mBoundingBox), m);
+
+ f32 cull = dTgViewClip_c::getCull(mViewClipIdx, mCullingDistance);
+ if (EventManager::checkFlag(0x20)) {
+ cull = FLT_MAX;
+ }
+ if (cull < 0.0f) {
+ if (checkActorProperty(AC_PROP_0x1) && checkActorProperty(AC_PROP_0x2)) {
+ setObjectProperty(OBJ_PROP_0x1 | OBJ_PROP_0x2);
+ return NOT_READY;
+ }
+ cull = mCullingDistance;
+ }
+ if (fn_801BB750(cull, aabb)) {
+ setObjectProperty(OBJ_PROP_0x2);
+ }
+
+ aabb.min.x -= field_0x1A8;
+ aabb.min.y -= field_0x1A8;
+ aabb.min.z -= field_0x1A8;
+
+ aabb.max.x += field_0x1A8;
+ aabb.max.y += field_0x1A8;
+ aabb.max.z += field_0x1A8;
+
+ if (fn_801BB750(cull, aabb)) {
+ setObjectProperty(OBJ_PROP_0x1);
+ }
+
+ if (checkObjectProperty(OBJ_PROP_0x2) && checkActorProperty(AC_PROP_0x2)) {
+ return NOT_READY;
+ }
+
+ if ((notOk || checkObjectProperty(OBJ_PROP_0x200)) ||
+ (mLinkage.checkState(dLinkage_c::STATE_ACTIVE) && mLinkage.getControllingActor()->isPlayer() &&
+ (mLinkage.getControllingActor() && mLinkage.getControllingActor()->checkObjectProperty(OBJ_PROP_0x200)))) {
+ return NOT_READY;
+ }
+
+ return SUCCEEDED;
+}
+
+fLiNdBa_c *dAcObjBase_c::getObjectListEntry() {
+ return nullptr;
+}
+
+bool dAcObjBase_c::restorePosRotFromCopy() {
+ if (!dAcBase_c::restorePosRotFromCopy()) {
+ return false;
+ }
+
+ mOldPosition = mPosition;
+ mAngle = mRotation;
+ return true;
+}
+
+dAcObjBase_c *dAcObjBase_c::create(
+ ProfileName profile, u32 roomID, u32 params, const mVec3_c *pPos, const mAng3_c *pRot, const mVec3_c *pScale,
+ u32 params2
+) {
+ setTempCreateParams(pPos, pRot, pScale, roomID, params2, nullptr, 0, 0xFFFF, 0xFF, nullptr);
+ return static_cast<dAcObjBase_c *>(createBase(profile, dStage_c::getParentForRoom(roomID), params, ACTOR));
+}
+
+dAcObjBase_c *dAcObjBase_c::create(
+ const char *name, u32 roomID, u32 params, const mVec3_c *pPos, const mAng3_c *pRot, const mVec3_c *pScale,
+ u32 params2, u16 id, s8 viewclipId
+) {
+ const ActorInfo *pInfo = getActorInfoByName(name);
+ setTempCreateParams(pPos, pRot, pScale, roomID, params2, nullptr, pInfo->subtype, id, viewclipId, pInfo);
+ return static_cast<dAcObjBase_c *>(createBase(pInfo->profileId, dStage_c::getParentForRoom(roomID), params, ACTOR));
+}
+
+dAcObjBase_c *dAcObjBase_c::findObject(ProfileName actorId, fLiMgBa_c *refList, dAcObjBase_c *parent) {
+ fLiNdBa_c *pNode = parent != nullptr ? parent->getObjectListEntry() : nullptr;
+ pNode = (fLiNdBa_c *)refList->searchNodeByProfName(actorId, pNode);
+ return pNode != nullptr ? (dAcObjBase_c *)pNode->p_owner : nullptr;
+}
+
+dAcObjBase_c *dAcObjBase_c::getNextObject(fLiMgBa_c *ref, dAcObjBase_c *parent) {
+ fLiNdBa_c *pNode = parent != nullptr ? parent->getObjectListEntry()->getNext() : ref->getFirst();
+
+ return pNode != nullptr ? (dAcObjBase_c *)pNode->p_owner : nullptr;
+}
+
+bool dAcObjBase_c::isPlayer() {
+ return this == dAcPy_c::GetLink();
+}
+
+void dAcObjBase_c::calcVelocity(const mVec3_c &pos, f32 speed) {
+ mVec3_c v = pos - mPosition;
+ mVelocity.set((v.x / speed), (mGravity * speed * 0.5f) + (v.y / speed), (v.z / speed));
+}
+
+void dAcObjBase_c::calcVelocity() {
+ f32 f = nw4r::ut::Max(mVelocity.y + mGravity, mMaxFallSpeed);
+ setXYZCirclePoint(mVelocity, mAngle.y, mSpeed, f);
+}
+
+void dAcObjBase_c::updateMatrix() {
+ mWorldMtx.transS(mPosition.x, mPosition.y + getYOffset(), mPosition.z);
+ mWorldMtx.ZXYrotM(mRotation);
+}
+
+void dAcObjBase_c::setDefaultCullDistance() {
+ mCullingDistance = 8000.0f;
+}
+
+bool dAcObjBase_c::canBeLinkedToWoodTag() {
+ return false;
+}
+
+bool dAcObjBase_c::drop() {
+ return true;
+}
+
+void dAcObjBase_c::setSinkDepths(f32 f0, f32 f1, f32 f2, f32 f3, f32 f4, dBgS_Acch *acch) {
+ acch->SetGroundSink();
+ mDeepSinkTarget = f0;
+ mShallowSinkTarget = f1;
+ mDeepSinkRate = f2;
+ mShallowSinkRate = f3;
+ mDefaultSinkRate = f4;
+}
+
+void dAcObjBase_c::calcSinkDepth(const cBgS_PolyInfo &gnd) {
+ f32 target = 0.0f;
+ f32 step = mDefaultSinkRate;
+
+ if (!mLinkage.checkState(dLinkage_c::STATE_ACTIVE)) {
+ int attr = dBgS::GetInstance()->GetSpecialCode(gnd);
+
+ if (attr == POLY_ATTR_SAND_DEEP_INSTANT || attr == POLY_ATTR_LAVA || attr == POLY_ATTR_SAND_DEEP_SLOW ||
+ attr == POLY_ATTR_SAND_MED || attr == POLY_ATTR_CURSED_WATER) {
+ target = mDeepSinkTarget;
+ step = mDeepSinkRate;
+ } else if (attr == POLY_ATTR_SAND_SHALLOW || attr == POLY_ATTR_SAND_SHALLOW2) {
+ target = mShallowSinkTarget;
+ step = mShallowSinkRate;
+ }
+ }
+ sLib::chase(&mSinkDepth, target, step);
+}
+
+void dAcObjBase_c::setGndNormal(const cBgS_PolyInfo &gnd) {
+ cM3dGPla plane;
+ dBgS::GetInstance()->GetTriPla(gnd, &plane);
+ mGndNormal = plane.GetN();
+}
+
+bool dAcObjBase_c::putInODesert(f32 depth, mVec3_c *pos) {
+ dAcODesert *pDesert = static_cast<dAcODesert *>(fManager_c::searchBaseByProfName(fProfile::OBJ_DESERT));
+ if (pDesert != nullptr) {
+ dAcODesert::Entry entry;
+ entry.mIsSet = 1;
+ entry.mPosition = *pos;
+ // entry.field_0x10 = ???
+ entry.field_0x14 = depth;
+ pDesert->addEntry(entry);
+ return true;
+ } else {
+ return false;
+ }
+}
+
+void dAcObjBase_c::drawModel(m3d::smdl_c *pMdl) {
+ d3d::setLight(pMdl, mLightingInfo.mLightSetIdx >= 0 ? mLightingInfo.mLightSetIdx : -1, &mLightingInfo);
+ pMdl->entry();
+}
+
+void dAcObjBase_c::drawModel(m3d::smdl_c *pMdl, int lightSetIdx) {
+ d3d::setLight(pMdl, lightSetIdx, &mLightingInfo);
+ pMdl->entry();
+}
+
+bool dAcObjBase_c::drawShadowAlone(m3d::smdl_c &mdl) {
+ bool check;
+ if (dStageMgr_c::GetInstance()->checkFlag0x88A0(0x2)) {
+ check = false;
+ } else {
+ if (mLinkage.fn_800513C0()) {
+ if (mLinkage.getControllingActor()->isActorPlayer()) {
+ static_cast<dAcPy_c *>(mLinkage.getControllingActor())->updateShadow(mdl);
+ }
+ check = false;
+ } else {
+ check = true;
+ }
+ }
+ return check;
+}
+
+bool dAcObjBase_c::drawShadow(
+ dShadowCircle_c &shadow, m3d::smdl_c &mdl, const mSphere_c &sph, s32 priority, s32 alpha, f32 height
+) {
+ return drawShadowAlone(mdl) ? shadow.drawMdl(mdl, sph, mLightingInfo, priority, alpha, this, height) : false;
+}
+
+bool dAcObjBase_c::drawShadow(
+ dShadowCircle_c &shadow, const GXTexObj *pTex, const mMtx_c &mtx, const mSphere_c &sph, s32 priority, s32 alpha,
+ s32 red, s32 green, s32 blue, f32 height
+) {
+ bool check;
+ if (dStageMgr_c::GetInstance()->checkFlag0x88A0(0x2)) {
+ check = false;
+ } else {
+ if (mLinkage.fn_800513C0()) {
+ if (mLinkage.getControllingActor()->isActorPlayer()) {
+ static_cast<dAcPy_c *>(mLinkage.getControllingActor())->updateShadow(sph, mtx);
+ }
+ check = false;
+ } else {
+ check = true;
+ }
+ }
+
+ return check ? shadow.drawTexObj(pTex, mtx, sph, mLightingInfo, priority, alpha, red, green, blue, this, height) :
+ false;
+}
+
+dAcObjBase_c *dAcObjBase_c::createChildAttached(
+ ProfileName actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, u32 roomId
+) {
+ return static_cast<dAcObjBase_c *>(createActor(actorId, params1, pos, rot, scale, params2, roomId, this));
+}
+dAcObjBase_c *dAcObjBase_c::createChildDetached(
+ ProfileName actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, u32 roomId
+) {
+ return static_cast<dAcObjBase_c *>(createActor(actorId, params1, pos, rot, scale, params2, roomId, nullptr));
+}
+
+void dAcObjBase_c::fn_8002efa0() {
+ if (isRoomFlags_0x6_Set()) {
+ setObjectProperty(OBJ_PROP_0x200);
+ } else {
+ unsetObjectProperty(OBJ_PROP_0x200);
+ }
+}
+bool dAcObjBase_c::fn_8002eff0(
+ const f32 &radius, const s16 &rollRotRange, cCcD_Obj *pCc, const f32 &heightMax, const f32 &heightMin
+) {
+ if (pCc == nullptr || pCc->ChkCoHit()) {
+ dAcPy_c *pPlayer = dAcPy_c::GetLinkM();
+
+ f32 rad = (radius + 40.0f);
+ f32 heightDiffToPlayer = dAcPy_c::GetLinkM()->mPosition.y - mPosition.y;
+
+ bool b = heightDiffToPlayer > heightMin;
+ if (b) {
+ b = heightDiffToPlayer < heightMax;
+ }
+ if (b) {
+ b = pPlayer->checkCurrentAction(12 /* ROLL */);
+ }
+ if (b) {
+ mVec3_c v = pPlayer->mPosition - mPosition;
+ b = v.squareMagXZ() < rad * rad;
+ }
+ if (b) {
+ // TODO: Find a better solution for ang bullsh*t
+ s32 a = getPostionDifference(*pPlayer).atan2sX_Z();
+ mAng b = (mAng)a - pPlayer->mAngle.y;
+ if (mAng(b).abs() < rollRotRange) {
+ pPlayer->setBonkRelatedAnimFlag(false);
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+// These may not belong here
+dAcObjBase_c *dAcObjBase_c::createInsectActor(
+ dAcBase_c *parent, ProfileName actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2,
+ s32 roomId
+) {
+ return static_cast<dAcObjBase_c *>(parent->createActor(actorId, params1, pos, rot, scale, params2, roomId, parent));
+}
+
+dAcObjBase_c *dAcObjBase_c::createStageActor(
+ ProfileName profile, u32 roomID, u32 params, mVec3_c *pPos, mAng3_c *pRot, mVec3_c *pScale, u32 params2
+) {
+ setTempCreateParams(pPos, pRot, pScale, roomID, params2, nullptr, 0, 0xFFFF, 0xFF, nullptr);
+ return static_cast<dAcObjBase_c *>(createBase(profile, dStage_c::getParentForRoom(roomID), params, STAGE));
+}
+
+dAcObjBase_c *dAcObjBase_c::createStageActor(
+ const char *name, u32 roomID, u32 params, const mVec3_c *pPos, const mAng3_c *pRot, const mVec3_c *pScale,
+ u32 params2, u16 id, s8 viewclipId
+) {
+ const ActorInfo *pInfo = getActorInfoByName(name);
+ setTempCreateParams(pPos, pRot, pScale, roomID, params2, nullptr, pInfo->subtype, id, viewclipId, pInfo);
+ return static_cast<dAcObjBase_c *>(createBase(pInfo->profileId, dStage_c::getParentForRoom(roomID), params, STAGE));
+}
diff --git a/src/d/a/obj/d_a_obj_bomb.cpp b/src/d/a/obj/d_a_obj_bomb.cpp
index 05d5e931..4b00a842 100644
--- a/src/d/a/obj/d_a_obj_bomb.cpp
+++ b/src/d/a/obj/d_a_obj_bomb.cpp
@@ -210,8 +210,8 @@ int dAcBomb_c::create() {
mBoundingBox.Set(sHIO.getBBoxMin(), sHIO.getBBoxMax());
- mAcceleration = dAcPy_c::getBombAcceleration();
- mMaxSpeed = dAcPy_c::getBombMaxSpeed();
+ mGravity = dAcPy_c::getBombAcceleration();
+ mMaxFallSpeed = dAcPy_c::getBombMaxSpeed();
mFuseTime = dAcPy_c::getBombExplodeTimer();
@@ -234,8 +234,8 @@ int dAcBomb_c::create() {
setFlag(dAcBomb_c::FLAG_PLAYER_MAKE);
if (checkWaterIn()) {
setFlag(dAcBomb_c::FLAG_UNDERWATER);
- mAcceleration = dAcPy_c::getBombAcceleration_1();
- mMaxSpeed = dAcPy_c::getBombMaxSpeed_1();
+ mGravity = dAcPy_c::getBombAcceleration_1();
+ mMaxFallSpeed = dAcPy_c::getBombMaxSpeed_1();
}
changeState(StateID_Carry);
} break;
@@ -517,7 +517,7 @@ void dAcBomb_c::initializeState_Explode() {
mSpeed = 0.0f;
mVelocity = mVec3_c::Zero;
- mAcceleration = 0.0f;
+ mGravity = 0.0f;
mSph.ClrTgSet();
mSph.ClrCoSet();
@@ -681,8 +681,8 @@ void dAcBomb_c::executeState_Wait() {
gndAngle = 0;
}
- f32 prevAccel = mAcceleration;
- mVelocity.y = nw4r::ut::Max(mVelocity.y + mAcceleration, mMaxSpeed);
+ f32 prevAccel = mGravity;
+ mVelocity.y = nw4r::ut::Max(mVelocity.y + mGravity, mMaxFallSpeed);
bombVelocity.y = mVelocity.y;
mPosition += bombVelocity;
mPosition += mStts.GetCcMove();
@@ -693,7 +693,7 @@ void dAcBomb_c::executeState_Wait() {
mVelocity.y = 0.0f;
}
}
- mAcceleration = prevAccel;
+ mGravity = prevAccel;
f32 prevVelocityY = mVelocity.y;
s16 a0 = 0;
s16 a1 = 0;
@@ -711,7 +711,7 @@ void dAcBomb_c::executeState_Wait() {
f32 sinkTarget = 0.0f;
f32 sinkRate = 4.0f;
mVec3_c force = mVec3_c::Zero;
- f32 sinkValue = mYOffset;
+ f32 sinkValue = mSinkDepth;
if (mAcch.ChkGndHit() && !mLinkage.checkState(dLinkage_c::STATE_ACTIVE)) {
s32 attr = dBgS::GetInstance()->GetSpecialCode(mAcch.mGnd);
if (attr == POLY_ATTR_CURSED_WATER) {
@@ -722,8 +722,8 @@ void dAcBomb_c::executeState_Wait() {
}
sinkRate = nw4r::math::FAbs(prevVelocityY);
mVelocity.y = prevVelocityY;
- mAcceleration = dAcPy_c::getBombAcceleration_1();
- mMaxSpeed = dAcPy_c::getBombMaxSpeed_1();
+ mGravity = dAcPy_c::getBombAcceleration_1();
+ mMaxFallSpeed = dAcPy_c::getBombMaxSpeed_1();
} else if (attr == POLY_ATTR_SAND_DEEP_INSTANT || attr == POLY_ATTR_SAND_DEEP_SLOW ||
attr == POLY_ATTR_SAND_MED) {
sinkTarget = -10.0f;
@@ -735,7 +735,7 @@ void dAcBomb_c::executeState_Wait() {
}
cLib::addCalcPosXZ(&mStreamForce, force, 0.5f, 10.0f, 3.0f);
sLib::chase(&sinkValue, sinkTarget, sinkRate);
- mYOffset = sinkValue;
+ mSinkDepth = sinkValue;
if (sinkValue <= -60.0f) {
setFlag(dAcBomb_c::FLAG_DELETE_BOMB);
}
@@ -784,7 +784,7 @@ void dAcBomb_c::executeState_Wait() {
if (prevVelocityY < -5.0f) {
startSoundWithFloatParam(SE_BM_BOUND, prevVelocityY * -1.0f);
if (dBgS::GetInstance()->GetPolyAtt0(mAcch.GetGnd()) != POLY_ATT_0_LAVA) {
- dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, field_0x1B4, 1, 0.8f, field_0x1B0);
+ dJEffManager_c::spawnGroundEffect(mPosition, mPolyAttr0, mPolyAttr1, mGndNormal, 1, 0.8f, field_0x1B0);
}
}
@@ -994,8 +994,8 @@ void dAcBomb_c::setBombColor() {
if (
// Is controlled - and by player
// And Controlling Actor (player) as objprop 0x200 set
- (mLinkage.checkState(dLinkage_c::STATE_ACTIVE) && static_cast<dAcObjBase_c *>(mLinkage.getControllingActor())->isPlayer())
- && ((pObj = static_cast<dAcObjBase_c *>(mLinkage.getControllingActor())) && pObj->checkObjectProperty(OBJ_PROP_0x200))
+ (mLinkage.checkState(dLinkage_c::STATE_ACTIVE) &&mLinkage.getControllingActor()->isPlayer())
+ && ((pObj = mLinkage.getControllingActor()) && pObj->checkObjectProperty(OBJ_PROP_0x200))
// OOOOR this bomb has it set.
|| checkObjectProperty(OBJ_PROP_0x200)
) {
@@ -1156,8 +1156,8 @@ int dAcBomb_c::actorExecute() {
mSpeed *= 0.5f;
mVelocity.y *= 0.5f;
- mAcceleration = dAcPy_c::getBombAcceleration_1();
- mMaxSpeed = dAcPy_c::getBombMaxSpeed_1();
+ mGravity = dAcPy_c::getBombAcceleration_1();
+ mMaxFallSpeed = dAcPy_c::getBombMaxSpeed_1();
}
if (checkFlag(dAcBomb_c::FLAG_DELETE_BOMB)) {
@@ -1167,8 +1167,8 @@ int dAcBomb_c::actorExecute() {
}
} else {
unsetFlag(dAcBomb_c::FLAG_UNDERWATER);
- mAcceleration = dAcPy_c::getBombAcceleration();
- mMaxSpeed = dAcPy_c::getBombMaxSpeed();
+ mGravity = dAcPy_c::getBombAcceleration();
+ mMaxFallSpeed = dAcPy_c::getBombMaxSpeed();
}
if (mSpeed > 1.0f || f > 1.0f) {
@@ -1250,12 +1250,12 @@ int dAcBomb_c::draw() {
return SUCCEEDED;
}
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
mSphere_c sph(mVec3_c(0.0f, mScale.x * sHIO.getBombScale(), 0.0f), mScale.x * sHIO.getBombScale());
if (!isState(StateID_FlowerWait)) {
- drawShadow(mShdw, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - mAcch.GetGroundH());
+ drawShadow(mShdw, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, mPosition.y - mAcch.GetGroundH());
}
return SUCCEEDED;
}
diff --git a/src/d/a/obj/d_a_obj_boomerang.cpp b/src/d/a/obj/d_a_obj_boomerang.cpp
index d7c707f1..a2320767 100644
--- a/src/d/a/obj/d_a_obj_boomerang.cpp
+++ b/src/d/a/obj/d_a_obj_boomerang.cpp
@@ -565,11 +565,11 @@ int dAcBoomerang_c::draw() {
if (mStateMgr.isState(StateID_EventReturnWait) || dAcPy_c::GetLink2()->checkModelUpdateFlag(0x10000 | 0x80)) {
return SUCCEEDED;
}
- drawModelType1(&mMdl);
+ drawModel(&mMdl);
if (!mStateMgr.isState(StateID_Wait)) {
mProc.entry();
static mSphere_c sph(mVec3_c::Zero, 50.f);
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - mAcch.GetGroundH());
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, mPosition.y - mAcch.GetGroundH());
}
return SUCCEEDED;
}
diff --git a/src/d/a/obj/d_a_obj_fairy.cpp b/src/d/a/obj/d_a_obj_fairy.cpp
index e6b173e7..7b10e258 100644
--- a/src/d/a/obj/d_a_obj_fairy.cpp
+++ b/src/d/a/obj/d_a_obj_fairy.cpp
@@ -78,8 +78,8 @@ int dAcOFairy_c::create() {
mAcchCir.SetWall(20.0f, 150.0f);
mObjAcch.SetWaterNone();
mObjAcch.SetGndThinCellingOff();
- mAcceleration = 0.0f;
- mMaxSpeed = -40.0f;
+ mGravity = 0.0f;
+ mMaxFallSpeed = -40.0f;
setPosYWaveParams();
int rnd = cM::rndInt(40);
@@ -255,12 +255,12 @@ int dAcOFairy_c::actorExecute() {
int dAcOFairy_c::draw() {
if (!mStateMgr.isState(StateID_CatchDemo)) {
- drawModelType1(&mModel.getModel());
+ drawModel(&mModel.getModel());
if (!isCuring()) {
static mSphere_c sph(mVec3_c(0.0f, 0.0f, 0.0f), 10.0f);
f32 f = mObjAcch.GetGroundH();
- drawShadow(mShadow, nullptr, mWorldMtx, &sph, -1, -1, -1, -1, -1, mPosition.y - f);
+ drawShadow(mShadow, nullptr, mWorldMtx, sph, -1, -1, -1, -1, -1, mPosition.y - f);
}
}
diff --git a/src/d/a/obj/d_a_obj_switch.cpp b/src/d/a/obj/d_a_obj_switch.cpp
index 6ffba7c8..11489382 100644
--- a/src/d/a/obj/d_a_obj_switch.cpp
+++ b/src/d/a/obj/d_a_obj_switch.cpp
@@ -206,7 +206,7 @@ int dAcOsw_c::actorExecuteInEvent() {
}
int dAcOsw_c::draw() {
- drawModelType1(&mModel);
+ drawModel(&mModel);
return SUCCEEDED;
}
diff --git a/src/d/a/obj/d_a_obj_tbox.cpp b/src/d/a/obj/d_a_obj_tbox.cpp
index d1747e8f..f310c918 100644
--- a/src/d/a/obj/d_a_obj_tbox.cpp
+++ b/src/d/a/obj/d_a_obj_tbox.cpp
@@ -1508,9 +1508,9 @@ int dAcTbox_c::draw() {
return SUCCEEDED;
}
- drawModelType1(&mMdl1.getModel());
+ drawModel(&mMdl1.getModel());
if (fn_8026D540()) {
- drawModelType1(&mOpenFxMdl);
+ drawModel(&mOpenFxMdl);
}
static mSphere_c shadowSphs[4] = {
@@ -1520,7 +1520,7 @@ int dAcTbox_c::draw() {
mSphere_c(mVec3_c(0.0f, 45.0f, 0.0f), 100.0f),
};
- drawShadow(mShadowCircle, nullptr, mWorldMtx, &shadowSphs[mVariant], -1, -1, -1, -1, -1, 0.0f);
+ drawShadow(mShadowCircle, nullptr, mWorldMtx, shadowSphs[mVariant], -1, -1, -1, -1, -1, 0.0f);
return SUCCEEDED;
}
@@ -1571,7 +1571,7 @@ bool dAcTbox_c::isValidVariant(int variant) {
return 0 <= variant && variant <= 3;
}
-void *dAcTbox_c::getObjectListEntry() {
+fLiNdBa_c *dAcTbox_c::getObjectListEntry() {
return &mTboxListNode;
}
diff --git a/src/d/a/obj/d_a_obj_water_spout.cpp b/src/d/a/obj/d_a_obj_water_spout.cpp
index 052fa74e..e9c512f7 100644
--- a/src/d/a/obj/d_a_obj_water_spout.cpp
+++ b/src/d/a/obj/d_a_obj_water_spout.cpp
@@ -56,7 +56,7 @@ int dAcOwaterSpout_c::actorExecute() {
}
int dAcOwaterSpout_c::draw() {
- drawModelType1(&mMdl.getModel());
+ drawModel(&mMdl.getModel());
return SUCCEEDED;
}
diff --git a/src/d/d_stage_parse.cpp b/src/d/d_stage_parse.cpp
index 8433f485..8fc95a77 100644
--- a/src/d/d_stage_parse.cpp
+++ b/src/d/d_stage_parse.cpp
@@ -338,7 +338,7 @@ static void handleBzsStas(int roomid, const BzsSectionHead *section) {
u16 flag = getEnemyDefeatFlagFromId(roomid, obj->id);
s8 viewClipIdx = getViewClipIndexFromId(obj->id);
if (stage->checkEnemyDefeatFlag(flag)) {
- dAcObjBase_c::createActorUnkGroup3(
+ dAcObjBase_c::createStageActor(
obj->name, roomid, obj->params1, &obj->position, &obj->angle, &obj->scale, obj->params2, flag,
viewClipIdx
);
diff --git a/src/m/m3d/m_shadow.cpp b/src/m/m3d/m_shadow.cpp
index 5ef73781..e6ef3c54 100644
--- a/src/m/m3d/m_shadow.cpp
+++ b/src/m/m3d/m_shadow.cpp
@@ -123,7 +123,7 @@ void mShadow_c::reset() {
swapHeaps();
}
-bool mShadow_c::addCircle(mShadowCircle_c *circle, u32 priority, u32 isMdl) {
+bool mShadow_c::addCircle(mShadowCircle_c *circle, u32 priority, bool isMdl) {
if (circle->mpChild != nullptr) {
// Already linked, OK
return true;
@@ -189,7 +189,7 @@ bool mShadow_c::drawMdl(
mShadowCircle_c *circle, u32 priority, scnLeaf_c &mdl, const mSphere_c &sph, mVec3_c &pos, mColor color, u32 param9,
f32 dist
) {
- if (!addCircle(circle, priority, 1)) {
+ if (!addCircle(circle, priority, true)) {
return false;
}
@@ -234,7 +234,7 @@ bool mShadow_c::drawTexObj(
mShadowCircle_c *circle, u32 priority, const GXTexObj *texObj, const mMtx_c &mtx, const mSphere_c &sph,
mVec3_c &pos, mColor color, u32 param9, f32 dist
) {
- if (!addCircle(circle, priority, 0)) {
+ if (!addCircle(circle, priority, false)) {
return false;
}
diff --git a/src/toBeSorted/d_enemy_sword_mdl.cpp b/src/toBeSorted/d_enemy_sword_mdl.cpp
index cf76bf8c..a6f51390 100644
--- a/src/toBeSorted/d_enemy_sword_mdl.cpp
+++ b/src/toBeSorted/d_enemy_sword_mdl.cpp
@@ -121,9 +121,9 @@ void dEnemySwordMdl_c::calc(const mMtx_c &mtx, const mVec3_c &v1, bool mass) {
bool dEnemySwordMdl_c::entry(dAcObjBase_c *obj, dShadowCircle_c *shadow, mSphere_c *sph) {
if (dScGame_c::currentSpawnInfo.getTrial() == SpawnInfo::TRIAL) {
- obj->fn_8002ECD0(&mMdl, 7);
+ obj->drawModel(&mMdl, 7);
} else {
- obj->drawModelType1(&mMdl);
+ obj->drawModel(&mMdl);
}
mProc.entry();
if (shadow != nullptr && sph != nullptr) {
diff --git a/src/toBeSorted/item_mdl_item.cpp b/src/toBeSorted/item_mdl_item.cpp
index eb2b2a0d..8cd8b825 100644
--- a/src/toBeSorted/item_mdl_item.cpp
+++ b/src/toBeSorted/item_mdl_item.cpp
@@ -459,9 +459,9 @@ void dItemMdlItem_c::setLocalMtx(const mMtx_c &mtx) {
void dItemMdlItem_c::draw() {
if (mDrawMode == DrawMode_Get) {
- mpItem->fn_8002ECD0(&mMdl, 6);
+ mpItem->drawModel(&mMdl, 6);
} else {
- mpItem->fn_8002ECD0(&mMdl, 7);
+ mpItem->drawModel(&mMdl, 7);
}
}
diff --git a/src/toBeSorted/item_mdl_light_fruit.cpp b/src/toBeSorted/item_mdl_light_fruit.cpp
index fe6b3c01..08fc78c9 100644
--- a/src/toBeSorted/item_mdl_light_fruit.cpp
+++ b/src/toBeSorted/item_mdl_light_fruit.cpp
@@ -5,7 +5,6 @@
#include "d/a/d_a_itembase.h"
#include "toBeSorted/arc_managers/oarc_manager.h"
-
bool dItemMdlLightFruit_c::isMdlForItemId(u16 itemId) {
return itemId == ITEM_LIGHT_FRUIT;
}
@@ -93,11 +92,11 @@ void dItemMdlLightFruit_c::draw() {
switch (mDrawMode) {
case DrawMode_Put:
mPutAnmTexSrt.play();
- mpItem->fn_8002ECD0(&mPutMdl, 7);
+ mpItem->drawModel(&mPutMdl, 7);
break;
case DrawMode_Get:
mGetAnmTexSrt.play();
- mpItem->fn_8002ECD0(&mGetMdl, 6);
+ mpItem->drawModel(&mGetMdl, 6);
break;
}
}
diff --git a/src/toBeSorted/item_mdl_misc.cpp b/src/toBeSorted/item_mdl_misc.cpp
index b9c345cd..bc052fec 100644
--- a/src/toBeSorted/item_mdl_misc.cpp
+++ b/src/toBeSorted/item_mdl_misc.cpp
@@ -284,8 +284,8 @@ void dItemMdlPut_c::setLocalMtx(const mMtx_c &mtx) {
void dItemMdlPut_c::draw() {
switch (mDrawMode) {
- case DrawMode_Put: mpItem->fn_8002ECD0(&mPutMdl, 7); break;
- case DrawMode_Get: mpItem->fn_8002ECD0(&mGetMdl, 6); break;
+ case DrawMode_Put: mpItem->drawModel(&mPutMdl, 7); break;
+ case DrawMode_Get: mpItem->drawModel(&mGetMdl, 6); break;
}
}
@@ -560,9 +560,9 @@ void dItemMdlShield_c::setLocalMtx(const mMtx_c &mtx) {
void dItemMdlShield_c::draw() {
if (mDrawMode == DrawMode_Get) {
- mpItem->fn_8002ECD0(&mMdl, 6);
+ mpItem->drawModel(&mMdl, 6);
} else {
- mpItem->fn_8002ECD0(&mMdl, 7);
+ mpItem->drawModel(&mMdl, 7);
}
}
@@ -828,9 +828,9 @@ void dItemMdlBottle_c::draw() {
}
if (mDrawMode == DrawMode_Get) {
- mpItem->fn_8002ECD0(&mMdl.getModel(), 6);
+ mpItem->drawModel(&mMdl.getModel(), 6);
} else {
- mpItem->fn_8002ECD0(&mMdl.getModel(), 7);
+ mpItem->drawModel(&mMdl.getModel(), 7);
}
}
@@ -967,11 +967,11 @@ void dItemMdlTear_c::draw() {
switch (mDrawMode) {
case DrawMode_Put:
mPutAnmTexSrt.play();
- mpItem->fn_8002ECD0(&mPutMdl, 7);
+ mpItem->drawModel(&mPutMdl, 7);
break;
case DrawMode_Get:
mGetAnmTexSrt.play();
- mpItem->fn_8002ECD0(&mGetMdl, 6);
+ mpItem->drawModel(&mGetMdl, 6);
break;
}
}
@@ -1038,8 +1038,8 @@ void dItemMdlFirefly_c::setLocalMtx(const mMtx_c &mtx) {
void dItemMdlFirefly_c::draw() {
switch (mDrawMode) {
- case DrawMode_Put: mpItem->fn_8002ECD0(&mMdl, 7); break;
- case DrawMode_Get: mpItem->fn_8002ECD0(&mMdl, 6); break;
+ case DrawMode_Put: mpItem->drawModel(&mMdl, 7); break;
+ case DrawMode_Get: mpItem->drawModel(&mMdl, 6); break;
}
mAnmMatClr.play();
}
@@ -1314,8 +1314,8 @@ void dItemMdlPotion_c::draw() {
mAnmChr.play();
mAnmTexSrt.play();
switch (mDrawMode) {
- case DrawMode_Put: mpItem->fn_8002ECD0(&mMdl, 7); break;
- case DrawMode_Get: mpItem->fn_8002ECD0(&mMdl, 6); break;
+ case DrawMode_Put: mpItem->drawModel(&mMdl, 7); break;
+ case DrawMode_Get: mpItem->drawModel(&mMdl, 6); break;
}
}
diff --git a/src/toBeSorted/item_mdl_rupee.cpp b/src/toBeSorted/item_mdl_rupee.cpp
index 0aec69f0..3611feb1 100644
--- a/src/toBeSorted/item_mdl_rupee.cpp
+++ b/src/toBeSorted/item_mdl_rupee.cpp
@@ -99,7 +99,6 @@ bool dItemMdlRupee_c::init(u16 itemId, dAcItem_c *item, mAllocator_c *allocator)
mGetMdl.setAnm(mGetAnmTexPat);
mGetAnmTexPat.setFrame(sMdlConfig[i].texPatFrame, 0);
}
-
mpItem = item;
return true;
@@ -125,8 +124,8 @@ void dItemMdlRupee_c::setLocalMtx(const mMtx_c &mtx) {
void dItemMdlRupee_c::draw() {
switch (mDrawMode) {
- case DrawMode_Put: mpItem->fn_8002ECD0(&mPutMdl, 7); break;
- case DrawMode_Get: mpItem->fn_8002ECD0(&mGetMdl, 6); break;
+ case DrawMode_Put: mpItem->drawModel(&mPutMdl, 7); break;
+ case DrawMode_Get: mpItem->drawModel(&mGetMdl, 6); break;
}
}
diff --git a/src/toBeSorted/item_mdl_stamina_fruit.cpp b/src/toBeSorted/item_mdl_stamina_fruit.cpp
index cf1e0947..58b05e60 100644
--- a/src/toBeSorted/item_mdl_stamina_fruit.cpp
+++ b/src/toBeSorted/item_mdl_stamina_fruit.cpp
@@ -85,11 +85,11 @@ void dItemMdlStaminaFruit_c::draw() {
switch (mDrawMode) {
case DrawMode_Put:
mPutAnmTexSrt.play();
- mpItem->fn_8002ECD0(&mPutMdl, 7);
+ mpItem->drawModel(&mPutMdl, 7);
break;
case DrawMode_Get:
mGetAnmTexSrt.play();
- mpItem->fn_8002ECD0(&mGetMdl, 6);
+ mpItem->drawModel(&mGetMdl, 6);
break;
}
}