ksys/phys: rearrange the folder layout to match link order

A folder's files are linked before its subfolders, and the rigid body
files are linked as one flat sequence. ListShape is the one file that
does not fit this order.

| Old | New |
|---|---|
| RigidBody/Shape/<Kind>/phys<Kind>Shape.cpp | RigidBody/Shape/phys<Kind>Shape.cpp |
| RigidBody/Shape/<Kind>/phys<Kind>RigidBody.cpp | RigidBody/physRigidBody<Kind>.cpp |
| RigidBody/Shape/List/physListShapeRigidBody.cpp | RigidBody/physRigidBodyListShape.cpp |
| physHavokMemoryAllocator.cpp | System/physHavokMemoryAllocator.cpp |
| StaticCompound/physStaticCompound{,Mgr,RigidBodyGroup,Util}.cpp | System/ |
| StaticCompound/physStaticCompound{Info,Autogen}.cpp | System/physStaticCompoundInfo.cpp |

The original has the type infos' cleanup functions just before
StaticCompoundInfo's functions, so the merged file defines the
reflection data first, with plain static cleanup functions as in
Havok's generated reflection code. Template instantiations would be
emitted after the rest of the file.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
This commit is contained in:
Léo Lam
2026-09-28 03:39:31 +02:00
parent 0ee30415f7
commit 89322a8d0c
61 changed files with 215 additions and 216 deletions
+4 -4
View File
@@ -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
Can't render this file because it is too large.
+2 -2
View File
@@ -3,8 +3,8 @@
#include <thread/seadReadWriteLock.h>
#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 {
+46 -48
View File
@@ -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
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h"
#include <Havok/Physics2012/Collide/Shape/Convex/Box/hkpBoxShape.h>
#include <Havok/Physics2012/Collide/Shape/Convex/ConvexTransform/hkpConvexTransformShape.h>
#include "KingSystem/Physics/physConversions.h"
@@ -1,9 +1,9 @@
#include "KingSystem/Physics/RigidBody/Shape/BoxWater/physBoxWaterShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physBoxWaterShape.h"
#include <Havok/Common/Base/Types/Geometry/Aabb/hkAabb.h>
#include <Havok/Common/Base/Types/Geometry/Sphere/hkSphere.h>
#include <Havok/Physics2012/Collide/Shape/HeightField/Plane/hkpPlaneShape.h>
#include <Havok/Physics2012/Collide/Shape/Query/hkpShapeRayCastOutput.h>
#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"
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h"
#include <Havok/Physics2012/Collide/Shape/Convex/Capsule/hkpCapsuleShape.h>
#include <heap/seadHeap.h>
#include <math/seadMathCalcCommon.h>
@@ -1,8 +1,8 @@
#include "KingSystem/Physics/RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physCharacterPrismShape.h"
#include <Havok/Geometry/Internal/Types/hkcdVertex.h>
#include <Havok/Physics2012/Collide/Shape/Convex/ConvexVertices/hkpConvexVerticesShape.h>
#include <Havok/Physics2012/Collide/Shape/Convex/hkpConvexShape.h>
#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h"
#include "KingSystem/Physics/physConversions.h"
namespace ksys::phys {
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h"
#include <Havok/Physics2012/Collide/Shape/Convex/Cylinder/hkpCylinderShape.h>
#include "KingSystem/Physics/physConversions.h"
#include "KingSystem/Utils/HeapUtil.h"
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/RigidBody/Shape/CylinderWater/physCylinderWaterShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physCylinderWaterShape.h"
#include <Havok/Common/Base/Types/Geometry/Aabb/hkAabb.h>
#include <Havok/Common/Base/Types/Geometry/Aabb/hkAabbUtil.h>
#include <Havok/Common/Base/Types/Geometry/Sphere/hkSphere.h>
@@ -2,7 +2,7 @@
#include <prim/seadTypedBitFlag.h>
#include <thread/seadAtomic.h>
#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"
@@ -1,14 +1,14 @@
#include "KingSystem/Physics/RigidBody/Shape/List/physListShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physListShape.h"
#include <Havok/Physics2012/Collide/Shape/Compound/Collection/List/hkpListShape.h>
#include <Havok/Physics2012/Collide/Shape/Convex/Sphere/hkpSphereShape.h>
#include <basis/seadRawPrint.h>
#include <container/seadSafeArray.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/physSphereShape.h"
#include "KingSystem/Physics/physHeapUtil.h"
namespace ksys::phys {
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/RigidBody/Shape/Polytope/physPolytopeShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physPolytopeShape.h"
#include <Havok/Common/Base/Types/Geometry/hkStridedVertices.h>
#include <Havok/Physics2012/Collide/Shape/Convex/ConvexTransform/hkpConvexTransformShape.h>
#include <Havok/Physics2012/Collide/Shape/Convex/ConvexVertices/hkpConvexVerticesShape.h>
@@ -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 {
@@ -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"
@@ -1,7 +1,7 @@
#include "KingSystem/Physics/RigidBody/TeraMesh/physTeraMeshRigidBody.h"
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include "KingSystem/Physics/RigidBody/physRigidBodyParam.h"
#include "KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h"
#include "KingSystem/Physics/System/physStaticCompoundUtil.h"
namespace ksys::phys {
@@ -1,6 +1,6 @@
#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxRigidBody.h"
#include "KingSystem/Physics/RigidBody/physRigidBodyBox.h"
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include "KingSystem/Physics/RigidBody/Shape/Box/physBoxShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physBoxShape.h"
namespace ksys::phys {
@@ -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 {
@@ -1,6 +1,6 @@
#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleRigidBody.h"
#include "KingSystem/Physics/RigidBody/physRigidBodyCapsule.h"
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include "KingSystem/Physics/RigidBody/Shape/Capsule/physCapsuleShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physCapsuleShape.h"
#include "KingSystem/Utils/SafeDelete.h"
namespace ksys::phys {
@@ -1,6 +1,6 @@
#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderRigidBody.h"
#include "KingSystem/Physics/RigidBody/physRigidBodyCylinder.h"
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include "KingSystem/Physics/RigidBody/Shape/Cylinder/physCylinderShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physCylinderShape.h"
#include "KingSystem/Utils/SafeDelete.h"
namespace ksys::phys {
@@ -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 {
@@ -5,7 +5,7 @@
#include <Havok/Physics2012/Utilities/Dynamics/ScaleSystem/hkpSystemScalingUtility.h>
#include <math/seadMathCalcCommon.h>
#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"
@@ -2,24 +2,24 @@
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBodyCinfo.h>
#include <basis/seadRawPrint.h>
#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"
@@ -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 {
@@ -1,23 +1,23 @@
#include "KingSystem/Physics/RigidBody/physRigidBodyParam.h"
#include <basis/seadRawPrint.h>
#include <functional>
#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"
@@ -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 {
@@ -1,6 +1,6 @@
#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereRigidBody.h"
#include "KingSystem/Physics/RigidBody/physRigidBodySphere.h"
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include "KingSystem/Physics/RigidBody/Shape/Sphere/physSphereShape.h"
#include "KingSystem/Physics/RigidBody/Shape/physSphereShape.h"
namespace ksys::phys {
@@ -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<BodyLayerType>(i);
if (int(getContactLayerForBodyLayerType(type)) == int(layer))
return type;
}
return BodyLayerType::Invalid;
}
} // namespace ksys::phys
@@ -1 +0,0 @@
#include "KingSystem/Physics/StaticCompound/physStaticCompoundUtil.h"
@@ -1,14 +1,14 @@
#include "KingSystem/Physics/System/physCharacterControllerParam.h"
#include <basis/seadRawPrint.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/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 {
@@ -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"
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/physHavokMemoryAllocator.h"
#include "KingSystem/Physics/System/physHavokMemoryAllocator.h"
#include "KingSystem/Utils/HeapUtil.h"
namespace ksys::phys {
@@ -14,10 +14,10 @@
#include <Havok/Physics2012/Utilities/Collide/ShapeUtils/ShapeKeyPath/hkpShapeKeyPath.h>
#include <prim/seadScopeGuard.h>
#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"
@@ -3,9 +3,9 @@
#include <Havok/Physics2012/Collide/Query/Collector/PointCollector/hkpAllCdPointCollector.h>
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include <Havok/Physics2012/Dynamics/World/hkpWorld.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/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"
@@ -1,12 +1,12 @@
#include "KingSystem/Physics/StaticCompound/physStaticCompound.h"
#include "KingSystem/Physics/System/physStaticCompound.h"
#include <Havok/Common/Serialize/Util/hkNativePackfileUtils.h>
#include <Havok/Common/Serialize/Util/hkRootLevelContainer.h>
#include <Havok/Physics2012/Utilities/Serialize/hkpPhysicsData.h>
#include <heap/seadHeapMgr.h>
#include <prim/seadScopedLock.h>
#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"
@@ -1,8 +1,15 @@
#include "KingSystem/Physics/System/physStaticCompoundInfo.h"
#include <Havok/Common/Base/Reflection/hkClass.h>
#include <Havok/Common/Base/Reflection/hkClassMember.h>
#include <Havok/Common/Base/Reflection/hkTypeInfo.h>
#include <array>
#include "KingSystem/Physics/StaticCompound/physStaticCompoundInfo.h"
#define DEFINE_TYPE_INFO(TYPE) \
static void cleanupLoadedObject##TYPE(void* p) { \
static_cast<TYPE*>(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", "!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", "!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", "!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<BodyLayerType>(i);
if (int(getContactLayerForBodyLayerType(type)) == int(layer))
return type;
}
return BodyLayerType::Invalid;
}
} // namespace ksys::phys
@@ -1,9 +1,9 @@
#include "KingSystem/Physics/StaticCompound/physStaticCompoundMgr.h"
#include "KingSystem/Physics/System/physStaticCompoundMgr.h"
#include <Havok/Physics2012/Internal/Collide/StaticCompound/hkpStaticCompoundShape.h>
#include <prim/seadScopedLock.h>
#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 {
@@ -1,4 +1,4 @@
#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h"
#include "KingSystem/Physics/System/physStaticCompoundRigidBodyGroup.h"
#include <Havok/Common/Base/hkBase.h>
#include <Havok/Physics2012/Dynamics/Entity/hkpRigidBody.h>
#include <Havok/Physics2012/Dynamics/World/hkpPhysicsSystem.h>
@@ -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"
@@ -0,0 +1 @@
#include "KingSystem/Physics/System/physStaticCompoundUtil.h"
+2 -2
View File
@@ -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"