diff --git a/data/uking_functions.csv b/data/uking_functions.csv index a4f97988..69875092 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -84755,15 +84755,15 @@ Address,Quality,Size,Name 0x0000007100fcaecc,O,000092,_ZNK4ksys4phys14StaticCompound18getRuntimeTypeInfoEv 0x0000007100fcaf28,O,000008,_ZNK4ksys4phys14StaticCompound10needsParseEv 0x0000007100fcaf30,O,000372,_ZN4ksys4phys14StaticCompound33checkDerivedRuntimeTypeInfoStaticEPKN4sead15RuntimeTypeInfo9InterfaceE -0x0000007100fcb0a4,O,000004,_ZN10hkTypeInfo19cleanupFunctionImplIN4ksys4phys9ShapeInfoEEEvPv -0x0000007100fcb0a8,O,000004,_ZN10hkTypeInfo19cleanupFunctionImplIN4ksys4phys9ActorInfoEEEvPv -0x0000007100fcb0ac,O,000136,_ZN10hkTypeInfo19cleanupFunctionImplIN4ksys4phys18StaticCompoundInfoEEEvPv +0x0000007100fcb0a4,O,000004,_ZN4ksys4physL28cleanupLoadedObjectShapeInfoEPv +0x0000007100fcb0a8,O,000004,_ZN4ksys4physL28cleanupLoadedObjectActorInfoEPv +0x0000007100fcb0ac,O,000136,_ZN4ksys4physL37cleanupLoadedObjectStaticCompoundInfoEPv 0x0000007100fcb134,O,000088,_ZNK4ksys4phys18StaticCompoundInfo11getActorIdxEjj 0x0000007100fcb18c,O,000048,_ZNK4ksys4phys18StaticCompoundInfo17getShapeInfoStartEi 0x0000007100fcb1bc,O,000048,_ZNK4ksys4phys18StaticCompoundInfo15getShapeInfoEndEi 0x0000007100fcb1ec,O,000048,_ZNK4ksys4phys18StaticCompoundInfo12getShapeInfoEi 0x0000007100fcb21c,O,000120,_ZN4ksys4phys16getBodyLayerTypeENS0_12ContactLayerE -0x0000007100fcb294,O,000396,_GLOBAL__sub_I_physStaticCompoundAutogen.cpp +0x0000007100fcb294,O,000396,_GLOBAL__sub_I_physStaticCompoundInfo.cpp 0x0000007100fcb420,O,000080,_ZN4ksys4phys17StaticCompoundMgrC1Ev 0x0000007100fcb470,O,000076,_ZN4ksys4phys17StaticCompoundMgrD1Ev 0x0000007100fcb4bc,O,000084,_ZN4ksys4phys17StaticCompoundMgrD0Ev diff --git a/src/KingSystem/Map/mapPlacementMap.cpp b/src/KingSystem/Map/mapPlacementMap.cpp index 05461527..e2bb1182 100644 --- a/src/KingSystem/Map/mapPlacementMap.cpp +++ b/src/KingSystem/Map/mapPlacementMap.cpp @@ -3,8 +3,8 @@ #include #include "KingSystem/AOC/aocManager.h" #include "KingSystem/Map/mapObject.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompound.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h" +#include "KingSystem/Physics/System/physStaticCompound.h" +#include "KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h" #include "KingSystem/Resource/resLoadRequest.h" namespace ksys::map { diff --git a/src/KingSystem/Physics/CMakeLists.txt b/src/KingSystem/Physics/CMakeLists.txt index a4efb365..9f9b7656 100644 --- a/src/KingSystem/Physics/CMakeLists.txt +++ b/src/KingSystem/Physics/CMakeLists.txt @@ -41,17 +41,31 @@ target_sources(uking PRIVATE RigidBody/physRigidBody.h RigidBody/physRigidBodyAccessor.cpp RigidBody/physRigidBodyAccessor.h + RigidBody/physRigidBodyBox.cpp + RigidBody/physRigidBodyBox.h + RigidBody/physRigidBodyBoxWater.cpp + RigidBody/physRigidBodyBoxWater.h + RigidBody/physRigidBodyCapsule.cpp + RigidBody/physRigidBodyCapsule.h RigidBody/physRigidBodyContactEvent.h + RigidBody/physRigidBodyCylinder.cpp + RigidBody/physRigidBodyCylinder.h + RigidBody/physRigidBodyCylinderWater.cpp + RigidBody/physRigidBodyCylinderWater.h RigidBody/physRigidBodyFromResource.cpp RigidBody/physRigidBodyFromResource.h RigidBody/physRigidBodyFromShape.cpp RigidBody/physRigidBodyFromShape.h + RigidBody/physRigidBodyListShape.cpp + RigidBody/physRigidBodyListShape.h RigidBody/physRigidBodyMotionEntity.cpp RigidBody/physRigidBodyMotionEntity.h RigidBody/physRigidBodyMotionSensor.cpp RigidBody/physRigidBodyMotionSensor.h RigidBody/physRigidBodyParam.cpp RigidBody/physRigidBodyParam.h + RigidBody/physRigidBodyPolytope.cpp + RigidBody/physRigidBodyPolytope.h RigidBody/physRigidBodyRequestMgr.cpp RigidBody/physRigidBodyRequestMgr.h RigidBody/physRigidBodyResource.cpp @@ -60,44 +74,30 @@ target_sources(uking PRIVATE RigidBody/physRigidBodySet.h RigidBody/physRigidBodySetParam.cpp RigidBody/physRigidBodySetParam.h + RigidBody/physRigidBodySphere.cpp + RigidBody/physRigidBodySphere.h - RigidBody/Shape/Box/physBoxRigidBody.cpp - RigidBody/Shape/Box/physBoxRigidBody.h - RigidBody/Shape/Box/physBoxShape.cpp - RigidBody/Shape/Box/physBoxShape.h - RigidBody/Shape/BoxWater/physBoxWaterRigidBody.cpp - RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h - RigidBody/Shape/BoxWater/physBoxWaterShape.cpp - RigidBody/Shape/BoxWater/physBoxWaterShape.h - RigidBody/Shape/Capsule/physCapsuleRigidBody.cpp - RigidBody/Shape/Capsule/physCapsuleRigidBody.h - RigidBody/Shape/Capsule/physCapsuleShape.cpp - RigidBody/Shape/Capsule/physCapsuleShape.h - RigidBody/Shape/CharacterPrism/physCharacterPrismShape.cpp - RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h - RigidBody/Shape/Cylinder/physCylinderRigidBody.cpp - RigidBody/Shape/Cylinder/physCylinderRigidBody.h - RigidBody/Shape/Cylinder/physCylinderShape.cpp - RigidBody/Shape/Cylinder/physCylinderShape.h - RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.cpp - RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h - RigidBody/Shape/CylinderWater/physCylinderWaterShape.cpp - RigidBody/Shape/CylinderWater/physCylinderWaterShape.h - RigidBody/Shape/List/physListShape.cpp - RigidBody/Shape/List/physListShape.h - RigidBody/Shape/List/physListShapeRigidBody.cpp - RigidBody/Shape/List/physListShapeRigidBody.h - RigidBody/Shape/Polytope/physPolytopeRigidBody.cpp - RigidBody/Shape/Polytope/physPolytopeRigidBody.h - RigidBody/Shape/Polytope/physPolytopeShape.cpp - RigidBody/Shape/Polytope/physPolytopeShape.h - RigidBody/Shape/Sphere/physSphereRigidBody.cpp - RigidBody/Shape/Sphere/physSphereRigidBody.h - RigidBody/Shape/Sphere/physSphereShape.cpp - RigidBody/Shape/Sphere/physSphereShape.h + RigidBody/Shape/physBoxShape.cpp + RigidBody/Shape/physBoxShape.h + RigidBody/Shape/physBoxWaterShape.cpp + RigidBody/Shape/physBoxWaterShape.h + RigidBody/Shape/physCapsuleShape.cpp + RigidBody/Shape/physCapsuleShape.h + RigidBody/Shape/physCharacterPrismShape.cpp + RigidBody/Shape/physCharacterPrismShape.h + RigidBody/Shape/physCylinderShape.cpp + RigidBody/Shape/physCylinderShape.h + RigidBody/Shape/physCylinderWaterShape.cpp + RigidBody/Shape/physCylinderWaterShape.h + RigidBody/Shape/physListShape.cpp + RigidBody/Shape/physListShape.h + RigidBody/Shape/physPolytopeShape.cpp + RigidBody/Shape/physPolytopeShape.h RigidBody/Shape/physShape.h RigidBody/Shape/physShapeParamObj.cpp RigidBody/Shape/physShapeParamObj.h + RigidBody/Shape/physSphereShape.cpp + RigidBody/Shape/physSphereShape.h RigidBody/TeraMesh/physTeraMeshRigidBody.cpp RigidBody/TeraMesh/physTeraMeshRigidBody.h @@ -106,18 +106,6 @@ target_sources(uking PRIVATE RigidBody/TerrainHeightField/physTerrainHeightFieldRigidBody.h - StaticCompound/physStaticCompound.cpp - StaticCompound/physStaticCompound.h - StaticCompound/physStaticCompoundAutogen.cpp - StaticCompound/physStaticCompoundInfo.cpp - StaticCompound/physStaticCompoundInfo.h - StaticCompound/physStaticCompoundMgr.cpp - StaticCompound/physStaticCompoundMgr.h - StaticCompound/physStaticCompoundRigidBodyGroup.cpp - StaticCompound/physStaticCompoundRigidBodyGroup.h - StaticCompound/physStaticCompoundUtil.cpp - StaticCompound/physStaticCompoundUtil.h - SupportBone/physSupportBoneParam.cpp SupportBone/physSupportBoneParam.h SupportBone/physSupportBoneResource.cpp @@ -144,6 +132,8 @@ target_sources(uking PRIVATE System/physContactMgr.h System/physContactPointInfo.cpp System/physContactPointInfo.h + System/physHavokMemoryAllocator.cpp + System/physHavokMemoryAllocator.h System/physLayerContactPointInfo.cpp System/physLayerContactPointInfo.h System/physEntityContactListener.cpp @@ -178,6 +168,16 @@ target_sources(uking PRIVATE System/physShapeCast.h System/physShapeCastWithInfo.cpp System/physShapeCastWithInfo.h + System/physStaticCompound.cpp + System/physStaticCompound.h + System/physStaticCompoundInfo.cpp + System/physStaticCompoundInfo.h + System/physStaticCompoundMgr.cpp + System/physStaticCompoundMgr.h + System/physStaticCompoundRigidBodyGroup.cpp + System/physStaticCompoundRigidBodyGroup.h + System/physStaticCompoundUtil.cpp + System/physStaticCompoundUtil.h System/physSystem.cpp System/physSystem.h System/physSystemData.cpp @@ -188,8 +188,6 @@ target_sources(uking PRIVATE physConversions.h physDefines.cpp physDefines.h - physHavokMemoryAllocator.cpp - physHavokMemoryAllocator.h physHeapUtil.h physLayerMaskBuilder.h physMaterialMask.cpp diff --git a/src/KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physBoxShape.cpp similarity index 98% rename from src/KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physBoxShape.cpp index 1ded03e0..fe54a365 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physBoxShape.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" #include #include #include "KingSystem/Physics/physConversions.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h b/src/KingSystem/Physics/RigidBody/Shape/physBoxShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physBoxShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.cpp similarity index 97% rename from src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.cpp index 5adc16ec..787d9801 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.cpp @@ -1,9 +1,9 @@ -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h" #include #include #include #include -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" #include "KingSystem/Physics/physConversions.h" #include "KingSystem/Utils/HeapUtil.h" #include "KingSystem/Utils/SafeDelete.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h b/src/KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physCapsuleShape.cpp similarity index 98% rename from src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physCapsuleShape.cpp index fb4c7c78..25fb18f8 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physCapsuleShape.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" #include #include #include diff --git a/src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h b/src/KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.cpp similarity index 97% rename from src/KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.cpp index 1e58d6d8..31f747ff 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.cpp @@ -1,8 +1,8 @@ -#include "KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h" #include #include #include -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include "KingSystem/Physics/physConversions.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h b/src/KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physCylinderShape.cpp similarity index 97% rename from src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physCylinderShape.cpp index f306f2a4..b167fcf5 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physCylinderShape.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" #include #include "KingSystem/Physics/physConversions.h" #include "KingSystem/Utils/HeapUtil.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h b/src/KingSystem/Physics/RigidBody/Shape/physCylinderShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physCylinderShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.cpp similarity index 98% rename from src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.cpp index f9b65b07..679cac0b 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h" #include #include #include diff --git a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h b/src/KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h similarity index 95% rename from src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h index a06a2b8f..02e8de24 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h +++ b/src/KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h @@ -2,7 +2,7 @@ #include #include -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" #include "KingSystem/Physics/RigidBody/physRigidBody.h" #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" #include "KingSystem/Physics/physMaterialMask.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/List/physListShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physListShape.cpp similarity index 94% rename from src/KingSystem/Physics/RigidBody/Shape/List/physListShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physListShape.cpp index fbffbb46..3bcbb344 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/List/physListShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physListShape.cpp @@ -1,14 +1,14 @@ -#include "KingSystem/Physics/RigidBody/Shape/List/physListShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physListShape.h" #include #include #include #include -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" -#include "KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" #include "KingSystem/Physics/physHeapUtil.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/List/physListShape.h b/src/KingSystem/Physics/RigidBody/Shape/physListShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/List/physListShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physListShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physPolytopeShape.cpp similarity index 98% rename from src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physPolytopeShape.cpp index 8ce7f93d..7c8f2dc8 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physPolytopeShape.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include #include #include diff --git a/src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h b/src/KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/physShapeParamObj.cpp b/src/KingSystem/Physics/RigidBody/Shape/physShapeParamObj.cpp index 90a04023..42c58aeb 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/physShapeParamObj.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physShapeParamObj.cpp @@ -1,11 +1,11 @@ #include "KingSystem/Physics/RigidBody/Shape/physShapeParamObj.h" -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" -#include "KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include "KingSystem/Physics/RigidBody/Shape/physShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.cpp b/src/KingSystem/Physics/RigidBody/Shape/physSphereShape.cpp similarity index 98% rename from src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.cpp rename to src/KingSystem/Physics/RigidBody/Shape/physSphereShape.cpp index 46f211de..a5e04131 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.cpp +++ b/src/KingSystem/Physics/RigidBody/Shape/physSphereShape.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" #include "KingSystem/Physics/physConversions.h" #include "KingSystem/Utils/HeapUtil.h" #include "KingSystem/Utils/SafeDelete.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h b/src/KingSystem/Physics/RigidBody/Shape/physSphereShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h rename to src/KingSystem/Physics/RigidBody/Shape/physSphereShape.h diff --git a/src/KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBody.cpp b/src/KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBody.cpp index 438a035a..9e55c51d 100644 --- a/src/KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBody.cpp @@ -1,7 +1,7 @@ #include "KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBody.h" #include #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h" +#include "KingSystem/Physics/System/physStaticCompoundUtil.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyBox.cpp similarity index 93% rename from src/KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyBox.cpp index 9e38ba43..80f2babb 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyBox.cpp @@ -1,6 +1,6 @@ -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyBox.h" #include -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyBox.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyBox.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyBoxWater.cpp similarity index 92% rename from src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyBoxWater.cpp index 3f30214f..5c02928d 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyBoxWater.cpp @@ -1,5 +1,5 @@ -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyBoxWater.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyBoxWater.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyBoxWater.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyCapsule.cpp similarity index 93% rename from src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyCapsule.cpp index b4a2663b..1d8b9594 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyCapsule.cpp @@ -1,6 +1,6 @@ -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCapsule.h" #include -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" #include "KingSystem/Utils/SafeDelete.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyCapsule.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyCapsule.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyCylinder.cpp similarity index 93% rename from src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyCylinder.cpp index 48764205..0f1a6ac3 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyCylinder.cpp @@ -1,6 +1,6 @@ -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCylinder.h" #include -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" #include "KingSystem/Utils/SafeDelete.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyCylinder.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyCylinder.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.cpp similarity index 92% rename from src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.cpp index 154f70e8..9e5acbeb 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.cpp @@ -1,5 +1,5 @@ -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h" #include "KingSystem/Utils/SafeDelete.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.h diff --git a/src/KingSystem/Physics/RigidBody/physRigidBodyFromResource.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyFromResource.cpp index 397cee6b..6e4384d1 100644 --- a/src/KingSystem/Physics/RigidBody/physRigidBodyFromResource.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyFromResource.cpp @@ -5,7 +5,7 @@ #include #include #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h" +#include "KingSystem/Physics/System/physStaticCompoundUtil.h" #include "KingSystem/Physics/physConversions.h" #include "KingSystem/Physics/physMaterialMask.h" diff --git a/src/KingSystem/Physics/RigidBody/physRigidBodyFromShape.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyFromShape.cpp index 3f1bd76e..286c6242 100644 --- a/src/KingSystem/Physics/RigidBody/physRigidBodyFromShape.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyFromShape.cpp @@ -2,24 +2,24 @@ #include #include #include -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" -#include "KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h" -#include "KingSystem/Physics/RigidBody/Shape/List/physListShape.h" -#include "KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physListShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include "KingSystem/Physics/RigidBody/Shape/physShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyBox.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyBoxWater.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCapsule.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCylinder.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyListShape.h" #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyPolytope.h" +#include "KingSystem/Physics/RigidBody/physRigidBodySphere.h" #include "KingSystem/Physics/System/physGroupFilter.h" #include "KingSystem/Physics/physConversions.h" #include "KingSystem/Physics/physDefines.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyListShape.cpp similarity index 95% rename from src/KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyListShape.cpp index 3bb9c3b9..ff31dcbb 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyListShape.cpp @@ -1,5 +1,5 @@ -#include "KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/List/physListShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyListShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physListShape.h" #include "KingSystem/Utils/SafeDelete.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyListShape.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyListShape.h diff --git a/src/KingSystem/Physics/RigidBody/physRigidBodyParam.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyParam.cpp index 9339f5d7..73021829 100644 --- a/src/KingSystem/Physics/RigidBody/physRigidBodyParam.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyParam.cpp @@ -1,23 +1,23 @@ #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" #include #include -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h" -#include "KingSystem/Physics/RigidBody/Shape/List/physListShape.h" -#include "KingSystem/Physics/RigidBody/Shape/List/physListShapeRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physListShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include "KingSystem/Physics/RigidBody/Shape/physShapeParamObj.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyBox.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyBoxWater.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCapsule.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCylinder.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyCylinderWater.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyListShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyPolytope.h" +#include "KingSystem/Physics/RigidBody/physRigidBodySphere.h" #include "KingSystem/Physics/System/physEntityGroupFilter.h" #include "KingSystem/Utils/SafeDelete.h" diff --git a/src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodyPolytope.cpp similarity index 92% rename from src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodyPolytope.cpp index 97a3ca0c..0a6e4be3 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodyPolytope.cpp @@ -1,5 +1,5 @@ -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodyPolytope.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include "KingSystem/Utils/SafeDelete.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodyPolytope.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodyPolytope.h diff --git a/src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.cpp b/src/KingSystem/Physics/RigidBody/physRigidBodySphere.cpp similarity index 93% rename from src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.cpp rename to src/KingSystem/Physics/RigidBody/physRigidBodySphere.cpp index 2ed40ff9..00884113 100644 --- a/src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.cpp +++ b/src/KingSystem/Physics/RigidBody/physRigidBodySphere.cpp @@ -1,6 +1,6 @@ -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h" +#include "KingSystem/Physics/RigidBody/physRigidBodySphere.h" #include -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h b/src/KingSystem/Physics/RigidBody/physRigidBodySphere.h similarity index 100% rename from src/KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h rename to src/KingSystem/Physics/RigidBody/physRigidBodySphere.h diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundInfo.cpp b/src/KingSystem/Physics/StaticCompound/physStaticCompoundInfo.cpp deleted file mode 100644 index 149bdbeb..00000000 --- a/src/KingSystem/Physics/StaticCompound/physStaticCompoundInfo.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h" - -namespace ksys::phys { - -int StaticCompoundInfo::getActorIdx(u32 hash_id, u32 srt_hash) const { - for (int i = 0; i < m_ActorInfo.getSize(); ++i) { - const auto& info = m_ActorInfo[i]; - if (info.m_HashId == hash_id && u32(info.m_SRTHash) == srt_hash) - return i; - } - return -1; -} - -int StaticCompoundInfo::getShapeInfoStart(int actor_idx) const { - if (actor_idx < 0 || actor_idx >= m_ActorInfo.getSize()) - return -1; - return m_ActorInfo[actor_idx].m_ShapeInfoStart; -} - -int StaticCompoundInfo::getShapeInfoEnd(int actor_idx) const { - if (actor_idx < 0 || actor_idx >= m_ActorInfo.getSize()) - return -1; - return m_ActorInfo[actor_idx].m_ShapeInfoEnd; -} - -const ShapeInfo* StaticCompoundInfo::getShapeInfo(int shape_idx) const { - if (shape_idx < 0 || shape_idx >= m_ShapeInfo.getSize()) - return nullptr; - return &m_ShapeInfo[shape_idx]; -} - -static ContactLayer getContactLayerForBodyLayerType(BodyLayerType type) { - ContactLayer map[NumBodyLayerTypes]; - map[int(BodyLayerType::EntityGround)] = ContactLayer::EntityGround; - map[int(BodyLayerType::EntityGroundSmooth)] = ContactLayer::EntityGroundSmooth; - map[int(BodyLayerType::EntityGroundRough)] = ContactLayer::EntityGroundRough; - map[int(BodyLayerType::EntityObject)] = ContactLayer::EntityObject; - map[int(BodyLayerType::EntityGroundObject)] = ContactLayer::EntityGroundObject; - map[int(BodyLayerType::EntityTree)] = ContactLayer::EntityTree; - map[int(BodyLayerType::SensorInDoor)] = ContactLayer::SensorInDoor; - map[int(BodyLayerType::EntityNoHit)] = ContactLayer::EntityNoHit; - map[int(BodyLayerType::EntityWallForClimb)] = ContactLayer::EntityWallForClimb; - map[int(BodyLayerType::EntityWater)] = ContactLayer::EntityWater; - return map[int(type)]; -} - -BodyLayerType getBodyLayerType(ContactLayer layer) { - for (int i = 0; i < NumBodyLayerTypes; ++i) { - auto type = static_cast(i); - if (int(getContactLayerForBodyLayerType(type)) == int(layer)) - return type; - } - return BodyLayerType::Invalid; -} - -} // namespace ksys::phys diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundUtil.cpp b/src/KingSystem/Physics/StaticCompound/physStaticCompoundUtil.cpp deleted file mode 100644 index 72d1bcbb..00000000 --- a/src/KingSystem/Physics/StaticCompound/physStaticCompoundUtil.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h" diff --git a/src/KingSystem/Physics/System/physCharacterControllerParam.cpp b/src/KingSystem/Physics/System/physCharacterControllerParam.cpp index a4ca3d0f..dc190d05 100644 --- a/src/KingSystem/Physics/System/physCharacterControllerParam.cpp +++ b/src/KingSystem/Physics/System/physCharacterControllerParam.cpp @@ -1,14 +1,14 @@ #include "KingSystem/Physics/System/physCharacterControllerParam.h" #include -#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h" -#include "KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h" -#include "KingSystem/Physics/RigidBody/Shape/List/physListShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physListShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h" #include "KingSystem/Physics/RigidBody/Shape/physShape.h" #include "KingSystem/Physics/RigidBody/Shape/physShapeParamObj.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" #include "KingSystem/Utils/SafeDelete.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/System/physClosestPointQueryWithInfo.cpp b/src/KingSystem/Physics/System/physClosestPointQueryWithInfo.cpp index 65f34b68..0aa43528 100644 --- a/src/KingSystem/Physics/System/physClosestPointQueryWithInfo.cpp +++ b/src/KingSystem/Physics/System/physClosestPointQueryWithInfo.cpp @@ -1,6 +1,6 @@ #include "KingSystem/Physics/System/physClosestPointQueryWithInfo.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/physRigidBodySphere.h" #include "KingSystem/Physics/System/physQueryContactPointInfo.h" #include "KingSystem/Physics/System/physSystem.h" diff --git a/src/KingSystem/Physics/physHavokMemoryAllocator.cpp b/src/KingSystem/Physics/System/physHavokMemoryAllocator.cpp similarity index 94% rename from src/KingSystem/Physics/physHavokMemoryAllocator.cpp rename to src/KingSystem/Physics/System/physHavokMemoryAllocator.cpp index efe356ce..dfa76401 100644 --- a/src/KingSystem/Physics/physHavokMemoryAllocator.cpp +++ b/src/KingSystem/Physics/System/physHavokMemoryAllocator.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/physHavokMemoryAllocator.h" +#include "KingSystem/Physics/System/physHavokMemoryAllocator.h" #include "KingSystem/Utils/HeapUtil.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/physHavokMemoryAllocator.h b/src/KingSystem/Physics/System/physHavokMemoryAllocator.h similarity index 100% rename from src/KingSystem/Physics/physHavokMemoryAllocator.h rename to src/KingSystem/Physics/System/physHavokMemoryAllocator.h diff --git a/src/KingSystem/Physics/System/physRayCast.cpp b/src/KingSystem/Physics/System/physRayCast.cpp index 338bfe12..e7f8f9b9 100644 --- a/src/KingSystem/Physics/System/physRayCast.cpp +++ b/src/KingSystem/Physics/System/physRayCast.cpp @@ -14,10 +14,10 @@ #include #include #include "KingSystem/Physics/RigidBody/physRigidBody.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h" #include "KingSystem/Physics/System/physEntityContactListener.h" #include "KingSystem/Physics/System/physGroupFilter.h" #include "KingSystem/Physics/System/physPhantom.h" +#include "KingSystem/Physics/System/physStaticCompoundUtil.h" #include "KingSystem/Physics/System/physSystem.h" #include "KingSystem/Physics/physConversions.h" #include "KingSystem/Physics/physLayerMaskBuilder.h" diff --git a/src/KingSystem/Physics/System/physShapeCastWithInfo.cpp b/src/KingSystem/Physics/System/physShapeCastWithInfo.cpp index 10bb5afd..bcb4a0c9 100644 --- a/src/KingSystem/Physics/System/physShapeCastWithInfo.cpp +++ b/src/KingSystem/Physics/System/physShapeCastWithInfo.cpp @@ -3,9 +3,9 @@ #include #include #include -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h" -#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h" +#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h" #include "KingSystem/Physics/RigidBody/physRigidBody.h" +#include "KingSystem/Physics/RigidBody/physRigidBodySphere.h" #include "KingSystem/Physics/System/physQueryContactPointInfo.h" #include "KingSystem/Physics/System/physSystem.h" #include "KingSystem/Physics/physConversions.h" diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompound.cpp b/src/KingSystem/Physics/System/physStaticCompound.cpp similarity index 96% rename from src/KingSystem/Physics/StaticCompound/physStaticCompound.cpp rename to src/KingSystem/Physics/System/physStaticCompound.cpp index 88853b39..d95f642d 100644 --- a/src/KingSystem/Physics/StaticCompound/physStaticCompound.cpp +++ b/src/KingSystem/Physics/System/physStaticCompound.cpp @@ -1,12 +1,12 @@ -#include "KingSystem/Physics/StaticCompound/physStaticCompound.h" +#include "KingSystem/Physics/System/physStaticCompound.h" #include #include #include #include #include -#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundMgr.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h" +#include "KingSystem/Physics/System/physStaticCompoundInfo.h" +#include "KingSystem/Physics/System/physStaticCompoundMgr.h" +#include "KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h" #include "KingSystem/Physics/System/physSystem.h" #include "KingSystem/Utils/Debug.h" #include "KingSystem/Utils/HeapUtil.h" diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompound.h b/src/KingSystem/Physics/System/physStaticCompound.h similarity index 100% rename from src/KingSystem/Physics/StaticCompound/physStaticCompound.h rename to src/KingSystem/Physics/System/physStaticCompound.h diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundAutogen.cpp b/src/KingSystem/Physics/System/physStaticCompoundInfo.cpp similarity index 50% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundAutogen.cpp rename to src/KingSystem/Physics/System/physStaticCompoundInfo.cpp index 20d6066e..920255be 100644 --- a/src/KingSystem/Physics/StaticCompound/physStaticCompoundAutogen.cpp +++ b/src/KingSystem/Physics/System/physStaticCompoundInfo.cpp @@ -1,8 +1,15 @@ +#include "KingSystem/Physics/System/physStaticCompoundInfo.h" #include #include #include #include -#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h" + +#define DEFINE_TYPE_INFO(TYPE) \ + static void cleanupLoadedObject##TYPE(void* p) { \ + static_cast(p)->~TYPE(); \ + } \ + const hkTypeInfo TYPE##_TypeInfo(#TYPE, "!" #TYPE, nullptr, cleanupLoadedObject##TYPE, \ + nullptr, sizeof(TYPE)) namespace ksys::phys { @@ -38,7 +45,7 @@ const hkClass& ShapeInfo::staticClass() { return ShapeInfo_Class; } -const hkTypeInfo ShapeInfo_TypeInfo = hkTypeInfo::make("ShapeInfo", "!ShapeInfo"); +DEFINE_TYPE_INFO(ShapeInfo); // ActorInfo @@ -69,7 +76,7 @@ const hkClass& ActorInfo::staticClass() { return ActorInfo_Class; } -const hkTypeInfo ActorInfo_TypeInfo = hkTypeInfo::make("ActorInfo", "!ActorInfo"); +DEFINE_TYPE_INFO(ActorInfo); // StaticCompoundInfo @@ -98,7 +105,57 @@ const hkClass& StaticCompoundInfo::staticClass() { return StaticCompoundInfo_Class; } -const hkTypeInfo StaticCompoundInfo_TypeInfo = - hkTypeInfo::make("StaticCompoundInfo", "!StaticCompoundInfo"); +DEFINE_TYPE_INFO(StaticCompoundInfo); + +int StaticCompoundInfo::getActorIdx(u32 hash_id, u32 srt_hash) const { + for (int i = 0; i < m_ActorInfo.getSize(); ++i) { + const auto& info = m_ActorInfo[i]; + if (info.m_HashId == hash_id && u32(info.m_SRTHash) == srt_hash) + return i; + } + return -1; +} + +int StaticCompoundInfo::getShapeInfoStart(int actor_idx) const { + if (actor_idx < 0 || actor_idx >= m_ActorInfo.getSize()) + return -1; + return m_ActorInfo[actor_idx].m_ShapeInfoStart; +} + +int StaticCompoundInfo::getShapeInfoEnd(int actor_idx) const { + if (actor_idx < 0 || actor_idx >= m_ActorInfo.getSize()) + return -1; + return m_ActorInfo[actor_idx].m_ShapeInfoEnd; +} + +const ShapeInfo* StaticCompoundInfo::getShapeInfo(int shape_idx) const { + if (shape_idx < 0 || shape_idx >= m_ShapeInfo.getSize()) + return nullptr; + return &m_ShapeInfo[shape_idx]; +} + +static ContactLayer getContactLayerForBodyLayerType(BodyLayerType type) { + ContactLayer map[NumBodyLayerTypes]; + map[int(BodyLayerType::EntityGround)] = ContactLayer::EntityGround; + map[int(BodyLayerType::EntityGroundSmooth)] = ContactLayer::EntityGroundSmooth; + map[int(BodyLayerType::EntityGroundRough)] = ContactLayer::EntityGroundRough; + map[int(BodyLayerType::EntityObject)] = ContactLayer::EntityObject; + map[int(BodyLayerType::EntityGroundObject)] = ContactLayer::EntityGroundObject; + map[int(BodyLayerType::EntityTree)] = ContactLayer::EntityTree; + map[int(BodyLayerType::SensorInDoor)] = ContactLayer::SensorInDoor; + map[int(BodyLayerType::EntityNoHit)] = ContactLayer::EntityNoHit; + map[int(BodyLayerType::EntityWallForClimb)] = ContactLayer::EntityWallForClimb; + map[int(BodyLayerType::EntityWater)] = ContactLayer::EntityWater; + return map[int(type)]; +} + +BodyLayerType getBodyLayerType(ContactLayer layer) { + for (int i = 0; i < NumBodyLayerTypes; ++i) { + auto type = static_cast(i); + if (int(getContactLayerForBodyLayerType(type)) == int(layer)) + return type; + } + return BodyLayerType::Invalid; +} } // namespace ksys::phys diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h b/src/KingSystem/Physics/System/physStaticCompoundInfo.h similarity index 100% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h rename to src/KingSystem/Physics/System/physStaticCompoundInfo.h diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundMgr.cpp b/src/KingSystem/Physics/System/physStaticCompoundMgr.cpp similarity index 95% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundMgr.cpp rename to src/KingSystem/Physics/System/physStaticCompoundMgr.cpp index c16285a2..95c4c607 100644 --- a/src/KingSystem/Physics/StaticCompound/physStaticCompoundMgr.cpp +++ b/src/KingSystem/Physics/System/physStaticCompoundMgr.cpp @@ -1,9 +1,9 @@ -#include "KingSystem/Physics/StaticCompound/physStaticCompoundMgr.h" +#include "KingSystem/Physics/System/physStaticCompoundMgr.h" #include #include -#include "KingSystem/Physics/StaticCompound/physStaticCompound.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h" +#include "KingSystem/Physics/System/physStaticCompound.h" +#include "KingSystem/Physics/System/physStaticCompoundInfo.h" +#include "KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h" #include "KingSystem/Physics/System/physSystem.h" namespace ksys::phys { diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundMgr.h b/src/KingSystem/Physics/System/physStaticCompoundMgr.h similarity index 100% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundMgr.h rename to src/KingSystem/Physics/System/physStaticCompoundMgr.h diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.cpp b/src/KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.cpp similarity index 98% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.cpp rename to src/KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.cpp index 8623a3b3..a3da25c2 100644 --- a/src/KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.cpp +++ b/src/KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.cpp @@ -1,4 +1,4 @@ -#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h" +#include "KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h" #include #include #include @@ -6,8 +6,8 @@ #include "KingSystem/Physics/RigidBody/physRigidBody.h" #include "KingSystem/Physics/RigidBody/physRigidBodyFromResource.h" #include "KingSystem/Physics/RigidBody/physRigidBodyParam.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompoundMgr.h" +#include "KingSystem/Physics/System/physStaticCompoundInfo.h" +#include "KingSystem/Physics/System/physStaticCompoundMgr.h" #include "KingSystem/Physics/System/physSystem.h" #include "KingSystem/Utils/MathUtil.h" diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h b/src/KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h similarity index 100% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h rename to src/KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h diff --git a/src/KingSystem/Physics/System/physStaticCompoundUtil.cpp b/src/KingSystem/Physics/System/physStaticCompoundUtil.cpp new file mode 100644 index 00000000..3216d4bf --- /dev/null +++ b/src/KingSystem/Physics/System/physStaticCompoundUtil.cpp @@ -0,0 +1 @@ +#include "KingSystem/Physics/System/physStaticCompoundUtil.h" diff --git a/src/KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h b/src/KingSystem/Physics/System/physStaticCompoundUtil.h similarity index 100% rename from src/KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h rename to src/KingSystem/Physics/System/physStaticCompoundUtil.h diff --git a/src/KingSystem/Physics/System/physSystem.cpp b/src/KingSystem/Physics/System/physSystem.cpp index acc926fc..2a42ae70 100644 --- a/src/KingSystem/Physics/System/physSystem.cpp +++ b/src/KingSystem/Physics/System/physSystem.cpp @@ -6,19 +6,19 @@ #include "KingSystem/Physics/Ragdoll/physRagdollResource.h" #include "KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBodyResource.h" #include "KingSystem/Physics/RigidBody/physRigidBodyResource.h" -#include "KingSystem/Physics/StaticCompound/physStaticCompound.h" #include "KingSystem/Physics/SupportBone/physSupportBoneResource.h" #include "KingSystem/Physics/System/physContactListener.h" #include "KingSystem/Physics/System/physContactMgr.h" #include "KingSystem/Physics/System/physContactPointInfo.h" #include "KingSystem/Physics/System/physEntityGroupFilter.h" #include "KingSystem/Physics/System/physGroupFilter.h" +#include "KingSystem/Physics/System/physHavokMemoryAllocator.h" #include "KingSystem/Physics/System/physLayerContactPointInfo.h" #include "KingSystem/Physics/System/physMaterialTable.h" #include "KingSystem/Physics/System/physRayCastRequestMgr.h" #include "KingSystem/Physics/System/physSensorGroupFilter.h" +#include "KingSystem/Physics/System/physStaticCompound.h" #include "KingSystem/Physics/System/physSystemData.h" -#include "KingSystem/Physics/physHavokMemoryAllocator.h" #include "KingSystem/Resource/resEntryFactory.h" #include "KingSystem/Resource/resSystem.h"