diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bullet/bulletTest.ll | 192958 | ||||
-rw-r--r-- | tests/bullet/libBullet.ll.tar.bz2 | bin | 842345 -> 0 bytes | |||
-rw-r--r-- | tests/bullet/libBullet.names | 2068 | ||||
-rw-r--r-- | tests/bullet/libBullet.namespace | 4060 | ||||
-rw-r--r-- | tests/bullet/output.txt | 200 | ||||
-rw-r--r-- | tests/runner.py | 19 | ||||
-rw-r--r-- | tests/settings.py | 2 |
7 files changed, 193177 insertions, 6130 deletions
diff --git a/tests/bullet/bulletTest.ll b/tests/bullet/bulletTest.ll new file mode 100644 index 00000000..bbf096ca --- /dev/null +++ b/tests/bullet/bulletTest.ll @@ -0,0 +1,192958 @@ +; ModuleID = 'bulletTest.bc' +target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" +target triple = "i386-pc-linux-gnu" + +%0 = type { i32, void ()* } +%struct..0AabbCalculationCallback = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btQuadWord } +%struct..0BridgeTriangleRaycastCallback = type { %struct.btTriangleRaycastCallback, %"struct.btCollisionWorld::RayResultCallback"*, %struct.btCollisionObject*, %struct.btTriangleMeshShape*, %struct.btTransform } +%struct..0CenterCallback = type { %struct.btActionInterface, i8, %struct.btQuadWord, %struct.btQuadWord, float } +%struct..0CleanPairCallback = type { %struct.btActionInterface, %struct.btBroadphaseProxy*, %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface* } +%struct..0FilteredCallback = type { %struct.btActionInterface, %struct.btActionInterface*, %struct.btQuadWord, %struct.btQuadWord } +%struct..0InplaceSolverIslandCallback = type { %struct.btActionInterface, %struct.btContactSolverInfo*, %struct.btActionInterface*, %struct.btTypedConstraint**, i32, %struct.btActionInterface*, %struct.btStackAlloc*, %struct.btActionInterface*, %"struct.btAlignedObjectArray<btCollisionObject*>", %"struct.btAlignedObjectArray<btPersistentManifold*>", %"struct.btAlignedObjectArray<btTypedConstraint*>" } +%struct..0LocalTriangleSphereCastCallback = type { %struct.btActionInterface, %struct.btTransform, %struct.btTransform, %struct.btTransform, float, float } +%struct..0MyNodeOverlapCallback = type { %struct.btActionInterface, %struct.btStridingMeshInterface*, %struct.btActionInterface* } +%struct..0NodeTriangleCallback = type { %struct.btActionInterface, %struct.NodeArray* } +%struct..0btIntermediateResult = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btQuadWord, float, i8 } +%struct..0btMultiSapOverlapFilterCallback = type { %struct.btActionInterface } +%struct..1BridgeTriangleRaycastCallback = type { %struct.btTriangleRaycastCallback, %"struct.btCollisionWorld::RayResultCallback"*, %struct.btCollisionObject*, %struct.btConcaveShape*, %struct.btTransform } +%struct..1InertiaCallback = type { %struct.btActionInterface, %struct.btMatrix3x3, %struct.btQuadWord } +%struct..1MyNodeOverlapCallback = type { %struct.btActionInterface, %struct.btMultiSapBroadphase*, %"struct.btMultiSapBroadphase::btMultiSapProxy"*, %struct.btActionInterface* } +%struct..1QuantizedNodeTriangleCallback = type { %struct.btActionInterface, %struct.QuantizedNodeArray*, %struct.btQuantizedBvh* } +%struct..1RemovePairCallback = type { %struct.btActionInterface, %struct.btBroadphaseProxy* } +%struct..2LocalInfoAdder2 = type { %"struct.btCollisionWorld::RayResultCallback", %"struct.btCollisionWorld::RayResultCallback"*, i32 } +%struct..2MyNodeOverlapCallback = type { %struct.btActionInterface, %struct.btStridingMeshInterface*, %struct.btActionInterface*, [3 x %struct.btQuadWord] } +%struct..3BridgeTriangleConvexcastCallback = type { %struct.btTriangleConvexcastCallback, %"struct.btCollisionWorld::ConvexResultCallback"*, %struct.btCollisionObject*, %struct.btTriangleMeshShape* } +%struct..4BridgeTriangleConvexcastCallback = type { %struct.btTriangleConvexcastCallback, %"struct.btCollisionWorld::ConvexResultCallback"*, %struct.btCollisionObject*, %struct.btConcaveShape* } +%struct..5LocalInfoAdder = type { %"struct.btCollisionWorld::ConvexResultCallback", %"struct.btCollisionWorld::ConvexResultCallback"*, i32 } +%struct.BT_BOX_BOX_TRANSFORM_CACHE = type { %struct.btQuadWord, %struct.btMatrix3x3, %struct.btMatrix3x3 } +%struct.BT_QUANTIZED_BVH_NODE = type { [3 x i16], [3 x i16], i32 } +%struct.BroadphaseAabbTester = type { %struct.btActionInterface, %struct.btActionInterface* } +%struct.BroadphaseRayTester = type { %struct.btActionInterface, %struct.btBroadphaseRayCallback* } +%struct.BvhSubtreeInfoArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btBvhSubtreeInfo*, i8 } +%struct.CONTACT_KEY_TOKEN = type { i32, i32 } +%struct.CONTACT_KEY_TOKEN_COMP = type <{ i8 }> +%struct.CProfileIterator = type { %struct.CProfileNode*, %struct.CProfileNode* } +%struct.CProfileNode = type { i8*, i32, float, i32, i32, %struct.CProfileNode*, %struct.CProfileNode*, %struct.CProfileNode* } +%struct.CProfileSample = type <{ i8 }> +%struct.ClipVertex = type { %struct.btQuadWord, i32 } +%struct.ConvexH = type { %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<ConvexH::HalfEdge>", %"struct.btAlignedObjectArray<btPlane>" } +%"struct.ConvexH::HalfEdge" = type { i16, i8, i8 } +%struct.DISTANCE_PLANE_3D_FUNC = type <{ i8 }> +%struct.DebugDrawcallback = type { %struct.btActionInterface, %struct.btActionInterface, %struct.btActionInterface*, %struct.btQuadWord, %struct.btTransform } +%struct.GIM_AABB = type { %struct.btQuadWord, %struct.btQuadWord } +%struct.GIM_AABB_DATA = type { %struct.GIM_AABB, i32 } +%struct.GIM_BOX_TREE = type { i32, %"struct.gim_array<GIM_BOX_TREE_NODE>" } +%struct.GIM_BOX_TREE_NODE = type { %struct.GIM_AABB, i32, i32, i32, i32 } +%struct.GIM_BVH_DATA = type { %struct.GIM_AABB, i32 } +%struct.GIM_BVH_DATA_ARRAY = type { %"struct.btAlignedObjectArray<GIM_BVH_DATA>" } +%struct.GIM_CONTACT = type { %struct.btQuadWord, %struct.btQuadWord, float, float, i32, i32 } +%struct.GIM_PAIR = type { i32, i32 } +%struct.GIM_QUANTIZED_BVH_NODE_ARRAY = type { %struct.QuantizedNodeArray } +%struct.GIM_RSORT_TOKEN = type { i32, i32 } +%struct.GIM_RSORT_TOKEN_COMPARATOR = type <{ i8 }> +%struct.GIM_STANDARD_ALLOCATOR = type { %struct.btGenericPoolAllocator } +%struct.GIM_ShapeRetriever = type { %struct.btGImpactShapeInterface*, %struct.btTriangleShapeEx, %struct.btTetrahedronShapeEx, %"struct.GIM_ShapeRetriever::ChildShapeRetriever", %"struct.GIM_ShapeRetriever::TetraShapeRetriever", %"struct.GIM_ShapeRetriever::TetraShapeRetriever", %"struct.GIM_ShapeRetriever::ChildShapeRetriever"* } +%"struct.GIM_ShapeRetriever::ChildShapeRetriever" = type { i32 (...)**, %struct.GIM_ShapeRetriever* } +%"struct.GIM_ShapeRetriever::TetraShapeRetriever" = type { %"struct.GIM_ShapeRetriever::ChildShapeRetriever" } +%struct.GIM_TRIANGLE = type { float, [3 x %struct.btQuadWord] } +%struct.GIM_TRIANGLE_CALCULATION_CACHE = type { float, [3 x %struct.btQuadWord], [3 x %struct.btQuadWord], %struct.btQuaternion, %struct.btQuaternion, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, [4 x float], float, float, [4 x float], float, float, [16 x %struct.btQuadWord], [16 x %struct.btQuadWord], [16 x %struct.btQuadWord] } +%struct.GIM_TRIANGLE_CONTACT = type { float, i32, %struct.btQuaternion, [16 x %struct.btQuadWord] } +%struct.GIM_TRIANGLE_CONTACT_DATA = type { float, i32, %struct.btQuaternion, [16 x %struct.btQuadWord] } +%struct.HullDesc = type { i32, i32, %struct.btQuadWord*, i32, float, i32, i32 } +%struct.HullLibrary = type { %"struct.btAlignedObjectArray<btHullTriangle*>", %"struct.btAlignedObjectArray<int>" } +%struct.HullResult = type { i8, i32, %"struct.btAlignedObjectArray<btVector3>", i32, i32, %"struct.btAlignedObjectArray<int>" } +%struct.IndexedMeshArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btIndexedMesh*, i8 } +%struct.LocalSupportVertexCallback = type { %struct.btActionInterface, %struct.btQuadWord, float, %struct.btQuadWord } +%struct.MaterialArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btMaterialProperties*, i8 } +%struct.NodeArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btOptimizedBvhNode*, i8 } +%struct.PHullResult = type { i32, i32, i32, %struct.btQuadWord*, %"struct.btAlignedObjectArray<int>" } +%struct.PfxConstraintRow = type { [3 x float], float, float, float, float, float } +%struct.QuantizedNodeArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.BT_QUANTIZED_BVH_NODE*, i8 } +%struct.SphereTriangleDetector = type { %struct.btActionInterface, %struct.btPolyhedralConvexShape*, %struct.btTriangleShape*, float } +%struct.SupportVertexCallback = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btTransform, float, %struct.btQuadWord } +%struct.__base_class_type_info_pseudo = type { %"struct.std::type_info"*, i32 } +%struct.__class_type_info_pseudo = type { %struct.__type_info_pseudo } +%struct.__si_class_type_info_pseudo = type { %struct.__type_info_pseudo, %"struct.std::type_info"* } +%struct.__type_info_pseudo = type { i8*, i8* } +%struct.__vmi_class_type_info_pseudo1 = type { %struct.__type_info_pseudo, i32, i32, [1 x %struct.__base_class_type_info_pseudo] } +%struct.__vmi_class_type_info_pseudo2 = type { %struct.__type_info_pseudo, i32, i32, [2 x %struct.__base_class_type_info_pseudo] } +%struct.anon = type { void (%struct.btQuadWord*, %struct.btConvexShape*, %struct.btQuadWord*)*, i32 } +%struct.bt32BitAxisSweep3 = type { %"struct.btAxisSweep3Internal<unsigned int>" } +%struct.btAABB = type { %struct.btQuadWord, %struct.btQuadWord } +%struct.btActionInterface = type { i32 (...)** } +%struct.btActivatingCollisionAlgorithm = type { %struct.btCollisionAlgorithm } +%"struct.btAlignedAllocator<BT_QUANTIZED_BVH_NODE,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<ConvexH::HalfEdge,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<GIM_BVH_DATA,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btActionInterface*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btBroadphaseInterface*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btBroadphasePair,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btBvhSubtreeInfo,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btCollisionAlgorithm*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btCollisionObject*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btCollisionShape*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btCompoundShapeChild,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btDbvt::sStkCLN,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btDbvt::sStkNN,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btElement,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btHashInt,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btHullTriangle*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btIndexedMesh,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btPersistentManifold*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btRigidBody*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btSolverConstraint,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btTriangle,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btTriangleInfo,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btTypedConstraint*,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btTypedConstraint::btConstraintInfo1,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<btVector3,16u>" = type <{ i8 }> +%"struct.btAlignedAllocator<int,16u>" = type <{ i8 }> +%"struct.btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.BT_QUANTIZED_BVH_NODE*, i8 } +%"struct.btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>.base.32" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.BT_QUANTIZED_BVH_NODE*, i8 } +%"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 } +%"struct.btAlignedObjectArray<ConvexH::HalfEdge>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.ConvexH::HalfEdge"*, i8 } +%"struct.btAlignedObjectArray<GIM_BVH_DATA>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.GIM_AABB_DATA*, i8 } +%"struct.btAlignedObjectArray<GIM_CONTACT>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.GIM_CONTACT*, i8 } +%"struct.btAlignedObjectArray<GIM_PAIR>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 } +%"struct.btAlignedObjectArray<btActionInterface*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btActionInterface**, i8 } +%"struct.btAlignedObjectArray<btBroadphasePair>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btBroadphasePair*, i8 } +%"struct.btAlignedObjectArray<btCollisionAlgorithm*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionAlgorithm**, i8 } +%"struct.btAlignedObjectArray<btCollisionObject*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionObject**, i8 } +%"struct.btAlignedObjectArray<btCollisionShape*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionShape**, i8 } +%"struct.btAlignedObjectArray<btCompoundShapeChild>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCompoundShapeChild*, i8 } +%"struct.btAlignedObjectArray<btDbvt::sStkCLN>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btDbvt::sStkCLN"*, i8 } +%"struct.btAlignedObjectArray<btDbvt::sStkNN>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btDbvt::sStkCLN"*, i8 } +%"struct.btAlignedObjectArray<btDbvtNode*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btDbvtNode**, i8 } +%"struct.btAlignedObjectArray<btElement>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 } +%"struct.btAlignedObjectArray<btGImpactMeshShapePart*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btGImpactMeshShapePart**, i8 } +%"struct.btAlignedObjectArray<btHashInt>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btHashInt*, i8 } +%"struct.btAlignedObjectArray<btHashPtr>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btHashPtr*, i8 } +%"struct.btAlignedObjectArray<btHullTriangle*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btHullTriangle**, i8 } +%"struct.btAlignedObjectArray<btMaterial*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btMaterial**, i8 } +%"struct.btAlignedObjectArray<btMultiSapBroadphase::btBridgeProxy*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btMultiSapBroadphase::btBridgeProxy"**, i8 } +%"struct.btAlignedObjectArray<btMultiSapBroadphase::btMultiSapProxy*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btMultiSapBroadphase::btMultiSapProxy"**, i8 } +%"struct.btAlignedObjectArray<btPersistentManifold*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btPersistentManifold**, i8 } +%"struct.btAlignedObjectArray<btPlane>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btPlane*, i8 } +%"struct.btAlignedObjectArray<btRigidBody*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btRigidBody**, i8 } +%"struct.btAlignedObjectArray<btTransform>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTransform*, i8 } +%"struct.btAlignedObjectArray<btTriangle>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTriangle*, i8 } +%"struct.btAlignedObjectArray<btTriangleInfo>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTriangleInfo*, i8 } +%"struct.btAlignedObjectArray<btTypedConstraint*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTypedConstraint**, i8 } +%"struct.btAlignedObjectArray<btTypedConstraint::btConstraintInfo1>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 } +%"struct.btAlignedObjectArray<btVector3>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btQuadWord*, i8 } +%"struct.btAlignedObjectArray<btWheelInfo>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btWheelInfo*, i8 } +%"struct.btAlignedObjectArray<float>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, float*, i8 } +%"struct.btAlignedObjectArray<int>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, i32*, i8 } +%"struct.btAlignedObjectArray<short unsigned int>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, i16*, i8 } +%"struct.btAlignedObjectArray<unsigned int>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, i32*, i8 } +%struct.btAxisSweep3 = type { %"struct.btAxisSweep3Internal<short unsigned int>" } +%"struct.btAxisSweep3Internal<short unsigned int>" = type { %struct.btActionInterface, i16, i16, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i16, i16, %"struct.btAxisSweep3Internal<short unsigned int>::Handle"*, i16, [3 x %"struct.btAxisSweep3Internal<short unsigned int>::Edge"*], [3 x i8*], %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface*, i8, i32, %struct.btDbvtBroadphase*, %struct..0btMultiSapOverlapFilterCallback* } +%"struct.btAxisSweep3Internal<short unsigned int>::Edge" = type { i16, i16 } +%"struct.btAxisSweep3Internal<short unsigned int>::Handle" = type { %struct.btBroadphaseProxy, [3 x i16], [3 x i16], %struct.btBroadphaseProxy* } +%"struct.btAxisSweep3Internal<unsigned int>" = type { %struct.btActionInterface, i32, i32, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, %"struct.btAxisSweep3Internal<unsigned int>::Handle"*, i32, [3 x %struct.CONTACT_KEY_TOKEN*], [3 x i8*], %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface*, i8, i32, %struct.btDbvtBroadphase*, %struct..0btMultiSapOverlapFilterCallback* } +%"struct.btAxisSweep3Internal<unsigned int>::Edge" = type { i32, i32 } +%"struct.btAxisSweep3Internal<unsigned int>::Handle" = type { %struct.btBroadphaseProxy, [3 x i32], [3 x i32], %struct.btBroadphaseProxy* } +%struct.btBU_Simplex1to4 = type { %struct.btPolyhedralConvexAabbCachingShape, i32, [4 x %struct.btQuadWord] } +%struct.btBlock = type { %struct.btBlock*, i8* } +%struct.btBox2dBox2dCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold* } +%struct.btBox2dShape = type { %struct.btPolyhedralConvexShape, %struct.btQuadWord, [4 x %struct.btQuadWord], [4 x %struct.btQuadWord] } +%struct.btBoxBoxCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold* } +%"struct.btBoxBoxCollisionAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc } +%struct.btBoxBoxDetector = type { %struct.btActionInterface, %struct.btBoxShape*, %struct.btBoxShape* } +%struct.btBoxShape = type { %struct.btPolyhedralConvexShape } +%struct.btBridgedManifoldResult = type { %struct.btManifoldResult, %"struct.btCollisionWorld::ContactResultCallback"* } +%struct.btBroadphaseAabbCallback = type { i32 (...)** } +%struct.btBroadphaseInterface = type { i32 (...)** } +%struct.btBroadphasePair = type { %struct.btBroadphaseProxy*, %struct.btBroadphaseProxy*, %struct.btCollisionAlgorithm*, %"union.btBroadphasePair::._22" } +%struct.btBroadphasePairArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btBroadphasePair*, i8 } +%struct.btBroadphaseProxy = type { i8*, i16, i16, i8*, i32, %struct.btQuadWord, %struct.btQuadWord } +%struct.btBroadphaseRayCallback = type { %struct.btActionInterface, %struct.btQuadWord, [3 x i32], float } +%struct.btBvhSubtreeInfo = type { [3 x i16], [3 x i16], i32, i32, [3 x i32] } +%struct.btBvhSubtreeInfoData = type { i32, i32, [3 x i16], [3 x i16] } +%struct.btBvhTree = type { i32, %struct.GIM_BVH_DATA_ARRAY } +%struct.btBvhTriangleMeshShape = type { %struct.btTriangleMeshShape, %struct.btOptimizedBvh*, %struct.btTriangleInfoMap*, i8, i8, [11 x i8] } +%struct.btCapsuleShape = type { %struct.btConvexInternalShape, i32 } +%struct.btCapsuleShapeX = type { %struct.btCapsuleShape } +%struct.btCharacterControllerInterface = type { %struct.btActionInterface } +%struct.btChunk = type { i32, i32, i8*, i32, i32 } +%struct.btClock = type { %struct.btClockData* } +%struct.btClockData = type { %struct.CONTACT_KEY_TOKEN } +%struct.btClosestNotMeConvexResultCallback = type { %"struct.btCollisionWorld::ClosestConvexResultCallback", %struct.btCollisionObject*, float, %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface* } +%struct.btCollisionAlgorithm = type { i32 (...)**, %struct.btActionInterface* } +%struct.btCollisionAlgorithmConstructionInfo = type { %struct.btActionInterface*, %struct.btPersistentManifold* } +%struct.btCollisionAlgorithmCreateFunc = type { i32 (...)**, i8 } +%struct.btCollisionConfiguration = type { i32 (...)** } +%struct.btCollisionDispatcher = type { %struct.btActionInterface, i32, %"struct.btAlignedObjectArray<btPersistentManifold*>", %struct.btManifoldResult, void (%struct.btBroadphasePair*, %struct.btCollisionDispatcher*, %struct.btDispatcherInfo*)*, %struct.btPoolAllocator*, %struct.btPoolAllocator*, [36 x [36 x %struct.btCollisionAlgorithmCreateFunc*]], %struct.btActionInterface* } +%struct.btCollisionObject = type { i32 (...)**, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, float, %struct.btBroadphaseProxy*, %struct.btCollisionShape*, i8*, %struct.btCollisionShape*, i32, i32, i32, i32, float, float, float, i32, i8*, float, float, float, i32 } +%struct.btCollisionObjectArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionObject**, i8 } +%struct.btCollisionObjectFloatData = type { i8*, i8*, %struct.btCollisionShapeData*, i8*, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, float, float, float, i32, i32, i32, i32, i32, i32, i32 } +%struct.btCollisionPairCallback = type { %struct.btActionInterface, %struct.btDispatcherInfo*, %struct.btCollisionDispatcher* } +%struct.btCollisionShape = type { i32 (...)**, i32, i8* } +%struct.btCollisionShapeData = type { i8*, i32, [4 x i8] } +%struct.btCollisionWorld = type { i32 (...)**, %"struct.btAlignedObjectArray<btCollisionObject*>", %struct.btActionInterface*, %struct.btDispatcherInfo, %struct.btStackAlloc*, %struct.btActionInterface*, %struct.btActionInterface*, i8 } +%struct.btCollisionWorld.base.32 = type { i32 (...)**, %"struct.btAlignedObjectArray<btCollisionObject*>", %struct.btActionInterface*, %struct.btDispatcherInfo, %struct.btStackAlloc*, %struct.btActionInterface*, %struct.btActionInterface*, i8 } +%"struct.btCollisionWorld::ClosestConvexResultCallback" = type { %"struct.btCollisionWorld::ConvexResultCallback", %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btCollisionObject* } +%"struct.btCollisionWorld::ClosestRayResultCallback" = type { %"struct.btCollisionWorld::RayResultCallback", %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord } +%"struct.btCollisionWorld::ContactResultCallback" = type { i32 (...)**, i16, i16 } +%"struct.btCollisionWorld::ConvexResultCallback" = type { i32 (...)**, float, i16, i16 } +%"struct.btCollisionWorld::LocalConvexResult" = type { %struct.btCollisionObject*, %struct.CONTACT_KEY_TOKEN*, %struct.btQuadWord, %struct.btQuadWord, float } +%"struct.btCollisionWorld::LocalRayResult" = type { %struct.btCollisionObject*, %struct.CONTACT_KEY_TOKEN*, %struct.btQuadWord, float } +%"struct.btCollisionWorld::LocalShapeInfo" = type { i32, i32 } +%"struct.btCollisionWorld::RayResultCallback" = type { i32 (...)**, float, %struct.btCollisionObject*, i16, i16, i32 } +%struct.btCompoundCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %"struct.btAlignedObjectArray<btCollisionAlgorithm*>", i8, %struct.btPersistentManifold*, i8, i32 } +%struct.btCompoundLeafCallback = type { %struct.btActionInterface, %struct.btCollisionObject*, %struct.btCollisionObject*, %struct.btActionInterface*, %struct.btDispatcherInfo*, %struct.btManifoldResult*, %struct.btCollisionAlgorithm**, %struct.btPersistentManifold* } +%struct.btCompoundShape = type { %struct.btCollisionShape, %"struct.btAlignedObjectArray<btCompoundShapeChild>", %struct.btQuadWord, %struct.btQuadWord, %struct.btDbvt*, i32, float, %struct.btQuadWord } +%struct.btCompoundShapeChild = type { %struct.btTransform, %struct.btCollisionShape*, i32, float, %struct.btDbvtNode* } +%struct.btCompoundShapeChildData = type { %struct.btTransform, %struct.btCollisionShapeData*, i32, float } +%struct.btConcaveShape = type { %struct.btCollisionShape, float } +%struct.btConeShape = type { %struct.btConvexInternalShape, float, float, float, [3 x i32] } +%struct.btConeShapeX = type { %struct.btConeShape } +%struct.btConeTwistConstraint = type { %struct.btTypedConstraint, [3 x %struct.btJacobianEntry], %struct.btTransform, %struct.btTransform, float, float, float, float, float, float, float, float, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, float, float, float, float, i8, i8, i8, i8, float, float, %struct.btQuadWord, i8, i8, %struct.btQuaternion, float, %struct.btQuadWord, i32, float, float, float } +%struct.btConnectivityProcessor = type { %struct.btActionInterface, i32, i32, %struct.btQuadWord*, %struct.btTriangleInfoMap* } +%struct.btConstraintArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btSolverConstraint*, i8 } +%struct.btConstraintSetting = type { float, float, float } +%struct.btConstraintSolver = type { i32 (...)** } +%struct.btContactArray = type { %"struct.btAlignedObjectArray<GIM_CONTACT>" } +%struct.btContactConstraint = type { %struct.btTypedConstraint, %struct.btPersistentManifold } +%struct.btContactSolverInfo = type { %struct.btContactSolverInfoData } +%struct.btContactSolverInfoData = type { float, float, float, float, float, i32, float, float, float, float, float, i32, float, float, float, i32, i32, i32 } +%struct.btContinuousConvexCollision = type { %struct.btActionInterface, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, %struct.btConvexShape*, %struct.btConvexShape* } +%struct.btContinuousDynamicsWorld = type { %struct.btDiscreteDynamicsWorld } +%struct.btConvex2dConvex2dAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, i8, %struct.btPersistentManifold*, i8, i32, i32 } +%"struct.btConvex2dConvex2dAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc, %struct.btActionInterface*, %struct.btVoronoiSimplexSolver*, i32, i32 } +%struct.btConvex2dShape = type { %struct.btConvexShape, %struct.btConvexShape* } +%struct.btConvexCast = type { i32 (...)** } +%"struct.btConvexCast::CastResult" = type { i32 (...)**, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btActionInterface*, float } +%struct.btConvexConcaveCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btConvexTriangleCallback } +%struct.btConvexConvexAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, i8, %struct.btPersistentManifold*, i8, i32, i32 } +%"struct.btConvexConvexAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc, %struct.btActionInterface*, %struct.btVoronoiSimplexSolver*, i32, i32 } +%struct.btConvexHullShape = type { %struct.btPolyhedralConvexAabbCachingShape, %"struct.btAlignedObjectArray<btVector3>" } +%struct.btConvexInternalAabbCachingShape = type { %struct.btConvexInternalShape, %struct.btQuadWord, %struct.btQuadWord, i8 } +%struct.btConvexInternalAabbCachingShape.base.32 = type { %struct.btConvexInternalShape, %struct.btQuadWord, %struct.btQuadWord, i8 } +%struct.btConvexInternalShape = type { %struct.btConvexShape, %struct.btQuadWord, %struct.btQuadWord, float, float } +%struct.btConvexPenetrationDepthSolver = type { i32 (...)** } +%struct.btConvexPlaneCollisionAlgorithm = type { %struct.btCollisionAlgorithm, i8, %struct.btPersistentManifold*, i8, i32, i32 } +%"struct.btConvexPlaneCollisionAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc, i32, i32 } +%struct.btConvexPointCloudShape = type { %struct.btPolyhedralConvexAabbCachingShape, %struct.btQuadWord*, i32 } +%struct.btConvexShape = type { %struct.btCollisionShape } +%struct.btConvexTriangleCallback = type { %struct.btActionInterface, %struct.btCollisionObject*, %struct.btCollisionObject*, %struct.btQuadWord, %struct.btQuadWord, %struct.btManifoldResult*, %struct.btActionInterface*, %struct.btDispatcherInfo*, float, i32, %struct.btPersistentManifold* } +%struct.btConvexTriangleMeshShape = type { %struct.btPolyhedralConvexAabbCachingShape, %struct.btStridingMeshInterface* } +%struct.btCylinderShape = type { %struct.btConvexInternalShape, i32 } +%struct.btCylinderShapeX = type { %struct.btCapsuleShape } +%struct.btDbvt = type { %struct.btDbvtNode*, %struct.btDbvtNode*, i32, i32, i32, %"struct.btAlignedObjectArray<btDbvt::sStkCLN>" } +%"struct.btDbvt::IClone" = type { i32 (...)** } +%"struct.btDbvt::ICollide" = type { i32 (...)** } +%"struct.btDbvt::sStkCLN" = type { %struct.btDbvtNode*, %struct.btDbvtNode* } +%"struct.btDbvt::sStkNN" = type { %struct.btDbvtNode*, %struct.btDbvtNode* } +%struct.btDbvtBroadphase = type { %struct.btActionInterface, [2 x %struct.btDbvt], [3 x %struct.btDbvtProxy*], %struct..0btMultiSapOverlapFilterCallback*, float, i32, i32, i32, i32, i32, i32, i32, i32, float, i32, i32, i32, i8, i8, i8 } +%struct.btDbvtNode = type { %struct.GIM_AABB, %struct.btDbvtNode*, %"union.btDbvtNode::._22" } +%struct.btDbvtNodeEnumerator = type { %struct.btActionInterface, %"struct.btAlignedObjectArray<btDbvtNode*>" } +%struct.btDbvtProxy = type { %struct.btBroadphaseProxy, %struct.btDbvtNode*, [2 x %struct.btDbvtProxy*], i32 } +%struct.btDbvtTreeCollider = type { %struct.btActionInterface, %struct.btDbvtBroadphase*, %struct.btDbvtProxy* } +%struct.btDbvtVolume = type { %struct.btQuadWord, %struct.btQuadWord } +%struct.btDefaultCollisionConfiguration = type { %struct.btActionInterface, i32, %struct.btStackAlloc*, i8, %struct.btPoolAllocator*, i8, %struct.btPoolAllocator*, i8, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc* } +%struct.btDefaultCollisionConstructionInfo = type { %struct.btStackAlloc*, %struct.btPoolAllocator*, %struct.btPoolAllocator*, i32, i32, i32, i32, i32 } +%struct.btDefaultMotionState = type { %struct.btActionInterface, %struct.btTransform, %struct.btTransform, %struct.btTransform, i8* } +%struct.btDefaultVehicleRaycaster = type { %struct.btActionInterface, %struct.btDynamicsWorld* } +%struct.btDiscreteCollisionDetectorInterface = type { i32 (...)** } +%"struct.btDiscreteCollisionDetectorInterface::ClosestPointInput" = type { %struct.btTransform, %struct.btTransform, float, %struct.btStackAlloc* } +%"struct.btDiscreteCollisionDetectorInterface::Result" = type { i32 (...)** } +%struct.btDiscreteDynamicsWorld = type { %struct.btDynamicsWorld, %struct.btActionInterface*, %struct.btSimulationIslandManager*, %"struct.btAlignedObjectArray<btTypedConstraint*>", %"struct.btAlignedObjectArray<btRigidBody*>", %struct.btQuadWord, float, i8, i8, i8, %"struct.btAlignedObjectArray<btActionInterface*>", i32 } +%struct.btDispatcher = type { i32 (...)** } +%struct.btDispatcherInfo = type { float, i32, i32, float, i8, %struct.btActionInterface*, i8, i8, i8, float, i8, float, i8, %struct.btStackAlloc* } +%struct.btDynamicsWorld = type { %struct.btCollisionWorld, void (%struct.btDynamicsWorld*, float)*, void (%struct.btDynamicsWorld*, float)*, i8*, %struct.btContactSolverInfo } +%struct.btElement = type { i32, i32 } +%struct.btEmptyAlgorithm = type { %struct.btCollisionAlgorithm } +%struct.btEmptyShape = type { %struct.btConcaveShape, %struct.btQuadWord } +%struct.btGImpactBoxSet = type { %struct.btQuantizedBvhTree, %struct.btActionInterface* } +%struct.btGImpactBvh = type { %struct.btBvhTree, %struct.btActionInterface* } +%struct.btGImpactCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %struct.btCollisionAlgorithm*, %struct.btPersistentManifold*, %struct.btManifoldResult*, %struct.btDispatcherInfo*, i32, i32, i32, i32 } +%"struct.btGImpactCollisionAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc } +%struct.btGImpactCompoundShape = type { %struct.btGImpactShapeInterface, %"struct.btGImpactCompoundShape::CompoundPrimitiveManager", %"struct.btAlignedObjectArray<btTransform>", %"struct.btAlignedObjectArray<btCollisionShape*>" } +%"struct.btGImpactCompoundShape::CompoundPrimitiveManager" = type { %struct.btActionInterface, %struct.btGImpactCompoundShape* } +%struct.btGImpactMeshShape = type { %struct.btGImpactShapeInterface, %struct.btStridingMeshInterface*, %"struct.btAlignedObjectArray<btGImpactMeshShapePart*>" } +%struct.btGImpactMeshShapePart = type { %struct.btGImpactShapeInterface, %"struct.btGImpactMeshShapePart::TrimeshPrimitiveManager" } +%"struct.btGImpactMeshShapePart::TrimeshPrimitiveManager" = type { %struct.btActionInterface, float, %struct.btStridingMeshInterface*, %struct.btQuadWord, i32, i32, i8*, i32, i32, i32, i8*, i32, i32, i32 } +%struct.btGImpactQuantizedBvh = type { %struct.btQuantizedBvhTree, %struct.btActionInterface* } +%struct.btGImpactShapeInterface = type { %struct.btConcaveShape, %struct.GIM_AABB, i8, %struct.btQuadWord, %struct.btGImpactBoxSet } +%struct.btGImpactTriangleCallback = type { %struct.btActionInterface, %struct.btGImpactCollisionAlgorithm*, %struct.btCollisionObject*, %struct.btCollisionObject*, %struct.btGImpactShapeInterface*, i8, float } +%struct.btGeneric6DofConstraint = type { %struct.btTypedConstraint, %struct.btTransform, %struct.btTransform, [3 x %struct.btJacobianEntry], [3 x %struct.btJacobianEntry], %struct.btTranslationalLimitMotor, [3 x %struct.btRotationalLimitMotor], float, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, [3 x %struct.btQuadWord], %struct.btQuadWord, float, float, i8, %struct.btQuadWord, i8, i8, i32, i8 } +%struct.btGeneric6DofSpringConstraint = type { [1297 x i8], [6 x i8], [6 x float], [6 x float], [6 x float] } +%struct.btGenericMemoryPool = type { i8*, i32*, i32*, i32, i32, i32, i32 } +%struct.btGenericPoolAllocator = type { i32 (...)**, i32, i32, [16 x %struct.btGenericMemoryPool*], i32 } +%struct.btGhostObject = type { %struct.btCollisionObject, %"struct.btAlignedObjectArray<btCollisionObject*>" } +%struct.btGjkConvexCast = type { %struct.btActionInterface, %struct.btVoronoiSimplexSolver*, %struct.btConvexShape*, %struct.btConvexShape* } +%struct.btGjkEpaPenetrationDepthSolver = type { %struct.btActionInterface } +%"struct.btGjkEpaSolver2::sResults" = type { i32, [2 x %struct.btQuadWord], %struct.btQuadWord, float } +%struct.btGjkPairDetector = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btActionInterface*, %struct.btVoronoiSimplexSolver*, %struct.btConvexShape*, %struct.btConvexShape*, i32, i32, float, float, i8, float, i32, i32, i32, i32 } +%struct.btHashInt = type { i32 } +%"struct.btHashMap<btHashInt,btTriangleInfo>" = type { %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<btTriangleInfo>", %"struct.btAlignedObjectArray<btHashInt>" } +%"struct.btHashMap<btHashPtr,btCollisionShape*>" = type { %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<btCollisionShape*>", %"struct.btAlignedObjectArray<btHashPtr>" } +%struct.btHashPtr = type { %"union.btHashPtr::._23" } +%struct.btHashedOverlappingPairCache = type { %struct..0btMultiSapOverlapFilterCallback, %"struct.btAlignedObjectArray<btBroadphasePair>", %struct.btActionInterface*, i8, %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %struct.btActionInterface* } +%struct.btHeightfieldTerrainShape = type { %struct.btConcaveShape, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, float, float, float, float, float, %"union.btBroadphasePair::._22", i32, i8, i8, i32, %struct.btQuadWord } +%struct.btHinge2Constraint = type { %struct.btGeneric6DofSpringConstraint, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord } +%struct.btHingeConstraint = type { %struct.btTypedConstraint, [3 x %struct.btJacobianEntry], [3 x %struct.btJacobianEntry], %struct.btTransform, %struct.btTransform, float, float, float, float, float, float, float, float, float, float, float, float, float, i8, i8, i8, i8, i8, i8, float, i32, float, float, float } +%struct.btHullTriangle = type { %struct.int3, %struct.int3, i32, i32, float } +%struct.btIDebugDraw = type { i32 (...)** } +%struct.btIndexedMesh = type { i32, i8*, i32, i32, i8*, i32, i32, i32 } +%struct.btIntIndexData = type { i32 } +%struct.btInternalTriangleIndexCallback = type { i32 (...)** } +%struct.btJacobianEntry = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float } +%struct.btKinematicCharacterController = type { %struct..0btMultiSapOverlapFilterCallback, float, %struct.btPairCachingGhostObject*, %struct.btConvexShape*, float, float, float, float, float, float, float, float, float, float, float, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btQuadWord, %"struct.btAlignedObjectArray<btPersistentManifold*>", i8, %struct.btQuadWord, i8, i8, i8, i8, float, i32 } +%struct.btKinematicClosestNotMeConvexResultCallback = type { %"struct.btCollisionWorld::ClosestConvexResultCallback", %struct.btCollisionObject*, %struct.btQuadWord, float } +%struct.btManifoldArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btPersistentManifold**, i8 } +%struct.btManifoldPoint = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, i32, i32, i32, i32, i8*, float, i8, float, float, float, float, float, float, i32, %struct.btQuadWord, %struct.btQuadWord, [3 x %struct.PfxConstraintRow] } +%struct.btManifoldResult = type { %struct.btActionInterface, %struct.btPersistentManifold*, %struct.btTransform, %struct.btTransform, %struct.btCollisionObject*, %struct.btCollisionObject*, i32, i32, i32, i32 } +%struct.btMaterial = type { float, float, [2 x i32] } +%struct.btMaterialProperties = type { i32, i8*, i32, i32, i32, i8*, i32, i32 } +%struct.btMatrix3x3 = type { [3 x %struct.btQuadWord] } +%struct.btMeshPartData = type { %struct.btQuadWord*, %struct.btVector3DoubleData*, %struct.btHashInt*, %struct.btShortIntIndexTripletData*, %struct.btShortIntIndexData*, i32, i32 } +%struct.btMinkowskiPenetrationDepthSolver = type { %struct.btActionInterface } +%struct.btMinkowskiSumShape = type { %struct.btConvexInternalShape, %struct.btTransform, %struct.btTransform, %struct.btConvexShape*, %struct.btConvexShape* } +%struct.btMotionState = type { i32 (...)** } +%struct.btMultiSapBroadphase = type { %struct.btActionInterface, %"struct.btAlignedObjectArray<btActionInterface*>", %struct.btSimpleBroadphase*, %struct..0btMultiSapOverlapFilterCallback*, %struct.btQuantizedBvh*, i8, %struct.btActionInterface*, i32, %"struct.btAlignedObjectArray<btMultiSapBroadphase::btMultiSapProxy*>" } +%"struct.btMultiSapBroadphase::btBridgeProxy" = type { %struct.btBroadphaseProxy*, %struct.btActionInterface* } +%"struct.btMultiSapBroadphase::btMultiSapProxy" = type { %struct.btBroadphaseProxy, %"struct.btAlignedObjectArray<btMultiSapBroadphase::btBridgeProxy*>", %struct.btQuadWord, %struct.btQuadWord, i32 } +%struct.btMultiSphereShape = type { %struct.btConvexInternalAabbCachingShape, %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<float>" } +%struct.btMultimaterialTriangleMeshShape = type { %struct.btBvhTriangleMeshShape, %"struct.btAlignedObjectArray<btMaterial*>", i32** } +%struct.btNodeOverlapCallback = type { i32 (...)** } +%struct.btNullPairCache = type { %struct..0btMultiSapOverlapFilterCallback, %"struct.btAlignedObjectArray<btBroadphasePair>" } +%struct.btOptimizedBvh = type { %struct.btQuantizedBvh } +%struct.btOptimizedBvhNode = type { %struct.btQuadWord, %struct.btQuadWord, i32, i32, i32, [5 x i32] } +%struct.btOptimizedBvhNodeDoubleData = type { %struct.btVector3DoubleData, %struct.btVector3DoubleData, i32, i32, i32, [4 x i8] } +%struct.btOptimizedBvhNodeFloatData = type { %struct.btQuadWord, %struct.btQuadWord, i32, i32, i32, [4 x i8] } +%struct.btOverlappingPairCache = type { %struct.btActionInterface } +%struct.btOverlappingPairCallback = type { i32 (...)** } +%struct.btPairCachingGhostObject = type { %struct.btGhostObject, %struct.btHashedOverlappingPairCache* } +%struct.btPairSet = type { %"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>" } +%struct.btPersistentManifold = type { %struct.btHashInt, [4 x %struct.btManifoldPoint], i8*, i8*, i32, float, float, i32, i32, i32 } +%struct.btPerturbedContactResult = type { %struct.btManifoldResult, %struct.btManifoldResult*, %struct.btTransform, %struct.btTransform, %struct.btTransform, i8, %struct.btActionInterface* } +%struct.btPlane = type { %struct.btQuadWord, float } +%struct.btPoint2PointConstraint = type { %struct.btTypedConstraint, [3 x %struct.btJacobianEntry], %struct.btQuadWord, %struct.btQuadWord, i32, float, float, i8, %struct.btConstraintSetting } +%struct.btPointCollector = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btQuadWord, float, i8 } +%struct.btPolyhedralConvexAabbCachingShape = type { %struct.btPolyhedralConvexShape, %struct.btQuadWord, %struct.btQuadWord, i8 } +%struct.btPolyhedralConvexAabbCachingShape.base.32 = type { %struct.btPolyhedralConvexShape, %struct.btQuadWord, %struct.btQuadWord, i8 } +%struct.btPolyhedralConvexShape = type { %struct.btConvexInternalShape } +%struct.btPoolAllocator = type { i32, i32, i32, i8*, i8* } +%struct.btPositionAndRadius = type { %struct.btQuadWord, float } +%struct.btPrimitiveManagerBase = type { i32 (...)** } +%struct.btPrimitiveTriangle = type { [3 x %struct.btQuadWord], %struct.btQuaternion, float, float } +%struct.btQuadWord = type { [4 x float] } +%struct.btQuantizedBvh = type { i32 (...)**, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, i8, %struct.NodeArray, %struct.NodeArray, %struct.QuantizedNodeArray, %struct.QuantizedNodeArray, i32, %struct.BvhSubtreeInfoArray, i32 } +%struct.btQuantizedBvhDoubleData = type { %struct.btVector3DoubleData, %struct.btVector3DoubleData, %struct.btVector3DoubleData, i32, i32, i32, i32, %struct.btOptimizedBvhNodeDoubleData*, %struct.BT_QUANTIZED_BVH_NODE*, i32, i32, %struct.btBvhSubtreeInfoData* } +%struct.btQuantizedBvhFloatData = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, i32, i32, %struct.btOptimizedBvhNodeFloatData*, %struct.BT_QUANTIZED_BVH_NODE*, %struct.btBvhSubtreeInfoData*, i32, i32 } +%struct.btQuantizedBvhNode = type { [3 x i16], [3 x i16], i32 } +%struct.btQuantizedBvhTree = type { i32, %struct.GIM_QUANTIZED_BVH_NODE_ARRAY, %struct.GIM_AABB, %struct.btQuadWord } +%struct.btQuaternion = type { %struct.btQuadWord } +%struct.btRaycastVehicle = type { %struct.btActionInterface, %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<float>", %"struct.btAlignedObjectArray<float>", i32, i32, float, float, %struct.btActionInterface*, float, float, float, %struct.btRigidBody*, i32, i32, i32, %"struct.btAlignedObjectArray<btWheelInfo>" } +%"struct.btRaycastVehicle::btVehicleTuning" = type { float, float, float, float, float, float } +%struct.btRigidBody = type { %struct.btCollisionObject, %struct.btMatrix3x3, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, i8, float, float, float, float, float, float, %struct.btActionInterface*, %"struct.btAlignedObjectArray<btTypedConstraint*>", i32, i32, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32 } +%"struct.btRigidBody::btRigidBodyConstructionInfo" = type { float, %struct.btActionInterface*, %struct.btTransform, %struct.btCollisionShape*, %struct.btQuadWord, float, float, float, float, float, float, i8, float, float, float, float } +%struct.btRigidBodyFloatData = type { %struct.btCollisionObjectFloatData, %struct.btMatrix3x3, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, float, float, float, float, float, i32 } +%struct.btRotationalLimitMotor = type { float, float, float, float, float, float, float, float, float, float, float, i8, float, float, i32, float } +%struct.btSapBroadphaseArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btActionInterface**, i8 } +%struct.btScaledBvhTriangleMeshShape = type { %struct.btConcaveShape, %struct.btQuadWord, %struct.btBvhTriangleMeshShape* } +%struct.btScaledTriangleCallback = type { %struct.btActionInterface, %struct.btActionInterface*, %struct.btQuadWord } +%struct.btSequentialImpulseConstraintSolver = type { %struct.btActionInterface, %struct.btConstraintArray, %struct.btConstraintArray, %struct.btConstraintArray, %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>", i32 } +%struct.btSerializer = type { i32 (...)** } +%struct.btShapeHull = type { %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<int>", i32, %struct.btConvexShape* } +%struct.btShortIntIndexData = type { i16, [2 x i8] } +%struct.btShortIntIndexTripletData = type { [3 x i16], [2 x i8] } +%struct.btSimpleBroadphase = type { %struct.btActionInterface, i32, i32, i32, %struct.btSimpleBroadphaseProxy*, i8*, i32, %struct..0btMultiSapOverlapFilterCallback*, i8, i32 } +%struct.btSimpleBroadphaseProxy = type { %struct.btBroadphaseProxy, i32 } +%struct.btSimpleDynamicsWorld = type { %struct.btDynamicsWorld, %struct.btActionInterface*, i8, %struct.btQuadWord } +%struct.btSimulationIslandManager = type { i32 (...)**, %struct.btPairSet, %"struct.btAlignedObjectArray<btPersistentManifold*>", %"struct.btAlignedObjectArray<btCollisionObject*>", i8 } +%struct.btSingleContactCallback = type { %struct.btActionInterface, %struct.btCollisionObject*, %struct.btCollisionWorld*, %"struct.btCollisionWorld::ContactResultCallback"* } +%struct.btSingleRayCallback = type { %struct.btBroadphaseRayCallback, %struct.btQuadWord, %struct.btQuadWord, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btCollisionWorld*, %"struct.btCollisionWorld::RayResultCallback"* } +%struct.btSingleSweepCallback = type { %struct.btBroadphaseRayCallback, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btCollisionWorld*, %"struct.btCollisionWorld::ConvexResultCallback"*, float, %struct.btConvexShape* } +%struct.btSliderConstraint = type { %struct.btTypedConstraint, i8, i8, %struct.btTransform, %struct.btTransform, i8, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, i8, i8, i32, [3 x %struct.btJacobianEntry], [3 x float], [3 x %struct.btJacobianEntry], float, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, i8, float, float, float, i8, float, float, float } +%struct.btSolve2LinearConstraint = type { float, float } +%struct.btSolverConstraint = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, %struct.btHashInt, %struct.btHashInt, %"union.btSolverConstraint::._25", %"union.btSolverConstraint::._25", %"union.btBroadphasePair::._22", float, float, float, float, float } +%struct.btSortedOverlappingPairCache = type { %struct..0btMultiSapOverlapFilterCallback, %"struct.btAlignedObjectArray<btBroadphasePair>", i8, i8, %struct.btActionInterface*, %struct.btActionInterface* } +%struct.btSphereBoxCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold*, i8 } +%struct.btSphereShape = type { %struct.btConvexInternalShape } +%struct.btSphereSphereCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold* } +%struct.btSphereTriangleCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold*, i8 } +%struct.btStackAlloc = type { i8*, i32, i32, %struct.btBlock*, i8 } +%struct.btStaticPlaneShape = type { %struct.btConcaveShape, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btQuadWord } +%struct.btStridingMeshInterface = type { i32 (...)**, %struct.btQuadWord } +%struct.btSubSimplexCloses |