diff options
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; } } |
