mirror of
https://github.com/bulletphysics/bullet3
synced 2025-01-08 08:30:16 +00:00
added basic serialization for several constraints including btPoint2PointConstraint, btHingeConstraint, btSliderConstraint, btConeTwistConstraint, btGeneric6DofConstraint
(no motor support or advanced settings yet) added btStaticPlaneShape serialization Added toggle in cmake for BenchmarksDemo to enable/disable graphics rendering
This commit is contained in:
parent
7003823bed
commit
00f58e5a91
@ -10,15 +10,15 @@ ENDIF (NOT CMAKE_BUILD_TYPE)
|
||||
|
||||
|
||||
OPTION(USE_DOUBLE_PRECISION "Use double precision" OFF)
|
||||
OPTION(USE_GLUT_GRAPHICAL_BENCHMARK "Use Graphical Benchmark" ON)
|
||||
OPTION(USE_GRAPHICAL_BENCHMARK "Use Graphical Benchmark" OFF)
|
||||
|
||||
IF (USE_DOUBLE_PRECISION)
|
||||
ADD_DEFINITIONS( -DBT_USE_DOUBLE_PRECISION)
|
||||
ENDIF (USE_DOUBLE_PRECISION)
|
||||
|
||||
IF(USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
ADD_DEFINITIONS( -DUSE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
ENDIF (USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
IF(USE_GRAPHICAL_BENCHMARK)
|
||||
ADD_DEFINITIONS( -DUSE_GRAPHICAL_BENCHMARK)
|
||||
ENDIF (USE_GRAPHICAL_BENCHMARK)
|
||||
|
||||
IF (WIN32)
|
||||
OPTION(USE_GLUT "Use Glut" OFF)
|
||||
|
@ -17,9 +17,9 @@ subject to the following restrictions:
|
||||
#define COLLISION_RADIUS 0.0f
|
||||
|
||||
#include "BenchmarkDemo.h"
|
||||
#ifdef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifdef USE_GRAPHICAL_BENCHMARK
|
||||
#include "GlutStuff.h"
|
||||
#endif //USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
///btBulletDynamicsCommon.h is the main Bullet include file, contains most common include files.
|
||||
#include "btBulletDynamicsCommon.h"
|
||||
@ -178,7 +178,7 @@ public:
|
||||
|
||||
void draw ()
|
||||
{
|
||||
#ifdef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifdef USE_GRAPHICAL_BENCHMARK
|
||||
glDisable (GL_LIGHTING);
|
||||
glColor3f (0.0, 1.0, 0.0);
|
||||
glBegin (GL_LINES);
|
||||
@ -206,7 +206,7 @@ public:
|
||||
}
|
||||
glEnd ();
|
||||
glEnable (GL_LIGHTING);
|
||||
#endif //USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
}
|
||||
};
|
||||
@ -217,9 +217,9 @@ static btRaycastBar2 raycastBar;
|
||||
|
||||
void BenchmarkDemo::clientMoveAndDisplay()
|
||||
{
|
||||
#ifdef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifdef USE_GRAPHICAL_BENCHMARK
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
#endif //USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
//simple dynamics world doesn't handle fixed-time-stepping
|
||||
float ms = getDeltaTimeMicroseconds();
|
||||
@ -242,11 +242,11 @@ void BenchmarkDemo::clientMoveAndDisplay()
|
||||
|
||||
renderme();
|
||||
|
||||
#ifdef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifdef USE_GRAPHICAL_BENCHMARK
|
||||
glFlush();
|
||||
|
||||
glutSwapBuffers();
|
||||
#endif //USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
swapBuffers();
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
}
|
||||
|
||||
@ -255,7 +255,7 @@ void BenchmarkDemo::clientMoveAndDisplay()
|
||||
void BenchmarkDemo::displayCallback(void)
|
||||
{
|
||||
|
||||
#ifdef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifdef USE_GRAPHICAL_BENCHMARK
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
renderme();
|
||||
@ -265,8 +265,8 @@ void BenchmarkDemo::displayCallback(void)
|
||||
m_dynamicsWorld->debugDrawWorld();
|
||||
|
||||
glFlush();
|
||||
glutSwapBuffers();
|
||||
#endif //USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
swapBuffers();
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
}
|
||||
|
||||
|
||||
@ -1224,7 +1224,7 @@ void BenchmarkDemo::exitPhysics()
|
||||
|
||||
|
||||
|
||||
#ifndef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifndef USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
btRigidBody* DemoApplication::localCreateRigidBody(float mass, const btTransform& startTransform,btCollisionShape* shape)
|
||||
{
|
||||
@ -1246,5 +1246,5 @@ btRigidBody* DemoApplication::localCreateRigidBody(float mass, const btTransform
|
||||
|
||||
return body;
|
||||
}
|
||||
#endif //USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
|
@ -33,7 +33,7 @@ struct btCollisionAlgorithmCreateFunc;
|
||||
class btDefaultCollisionConfiguration;
|
||||
|
||||
|
||||
#ifndef USE_GLUT_GRAPHICAL_BENCHMARK
|
||||
#ifndef USE_GRAPHICAL_BENCHMARK
|
||||
///empty placeholder
|
||||
class DemoApplication
|
||||
{
|
||||
@ -59,13 +59,21 @@ public:
|
||||
|
||||
};
|
||||
///BenchmarkDemo is provides several performance tests
|
||||
class BenchmarkDemo : public DemoApplication
|
||||
#define PlatformDemoApplication DemoApplication
|
||||
#else //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#include "Win32DemoApplication.h"
|
||||
#define PlatformDemoApplication Win32DemoApplication
|
||||
#else
|
||||
#include "GlutDemoApplication.h"
|
||||
class BenchmarkDemo : public GlutDemoApplication
|
||||
#define PlatformDemoApplication GlutDemoApplication
|
||||
#endif
|
||||
|
||||
#endif //USE_GRAPHICAL_BENCHMARK
|
||||
|
||||
|
||||
class BenchmarkDemo : public PlatformDemoApplication
|
||||
{
|
||||
|
||||
//keep the collision shapes, for deletion/cleanup
|
||||
|
@ -8,8 +8,8 @@
|
||||
# You shouldn't have to modify anything below this line
|
||||
########################################################
|
||||
|
||||
IF (USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
|
||||
IF (USE_GRAPHICAL_BENCHMARK)
|
||||
IF (USE_GLUT)
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL
|
||||
@ -18,14 +18,31 @@ IF (USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
LINK_LIBRARIES(
|
||||
OpenGLSupport BulletDynamics BulletCollision LinearMath ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||
)
|
||||
|
||||
|
||||
ADD_EXECUTABLE(AppBenchmarks
|
||||
main.cpp
|
||||
BenchmarkDemo.cpp
|
||||
BenchmarkDemo.h
|
||||
)
|
||||
ELSE (USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
ELSE (USE_GLUT)
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL
|
||||
)
|
||||
|
||||
LINK_LIBRARIES(
|
||||
OpenGLSupport BulletDynamics BulletCollision LinearMath ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(AppBenchmarks
|
||||
WIN32
|
||||
../OpenGL/Win32AppMain.cpp
|
||||
main.cpp
|
||||
BenchmarkDemo.cpp
|
||||
BenchmarkDemo.h
|
||||
Win32BenchmarkDemo.cpp
|
||||
)
|
||||
ENDIF (USE_GLUT)
|
||||
ELSE (USE_GRAPHICAL_BENCHMARK)
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${BULLET_PHYSICS_SOURCE_DIR}/src
|
||||
@ -41,4 +58,4 @@ ELSE (USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
main.cpp
|
||||
BenchmarkDemo.cpp
|
||||
)
|
||||
ENDIF (USE_GLUT_GRAPHICAL_BENCHMARK)
|
||||
ENDIF (USE_GRAPHICAL_BENCHMARK)
|
25
Demos/Benchmarks/Win32BenchmarkDemo.cpp
Normal file
25
Demos/Benchmarks/Win32BenchmarkDemo.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
#ifdef _WINDOWS
|
||||
/*
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
Copyright (c) 2003-2009 Erwin Coumans http://bulletphysics.org
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it freely,
|
||||
subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
|
||||
#include "BenchmarkDemo.h"
|
||||
|
||||
///The 'createDemo' function is called from Bullet/Demos/OpenGL/Win32AppMain.cpp to instantiate this particular demo
|
||||
DemoApplication* createDemo()
|
||||
{
|
||||
return new BenchmarkDemo(1);
|
||||
}
|
||||
|
||||
#endif
|
@ -102,7 +102,9 @@ void ConstraintDemo::initPhysics()
|
||||
|
||||
setupEmptyDynamicsWorld();
|
||||
|
||||
btCollisionShape* groundShape = new btBoxShape(btVector3(btScalar(50.),btScalar(40.),btScalar(50.)));
|
||||
//btCollisionShape* groundShape = new btBoxShape(btVector3(btScalar(50.),btScalar(40.),btScalar(50.)));
|
||||
btCollisionShape* groundShape = new btStaticPlaneShape(btVector3(0,1,0),40);
|
||||
|
||||
m_collisionShapes.push_back(groundShape);
|
||||
btTransform groundTransform;
|
||||
groundTransform.setIdentity();
|
||||
@ -138,8 +140,14 @@ void ConstraintDemo::initPhysics()
|
||||
(body1->getCenterOfMassTransform().getBasis().inverse()*(body1->getCenterOfMassTransform().getBasis() * axisInA)) :
|
||||
body0->getCenterOfMassTransform().getBasis() * axisInA;
|
||||
|
||||
//#define P2P
|
||||
#ifdef P2P
|
||||
btTypedConstraint* p2p = new btPoint2PointConstraint(*body0,pivotInA);
|
||||
//btTypedConstraint* p2p = new btPoint2PointConstraint(*body0,*body1,pivotInA,pivotInB);
|
||||
//btTypedConstraint* hinge = new btHingeConstraint(*body0,*body1,pivotInA,pivotInB,axisInA,axisInB);
|
||||
m_dynamicsWorld->addConstraint(p2p);
|
||||
p2p->setDbgDrawSize(btScalar(5.f));
|
||||
#else
|
||||
btHingeConstraint* hinge = new btHingeConstraint(*body0,pivotInA,axisInA);
|
||||
|
||||
//use zero targetVelocity and a small maxMotorImpulse to simulate joint friction
|
||||
@ -148,10 +156,12 @@ void ConstraintDemo::initPhysics()
|
||||
float targetVelocity = 1.f;
|
||||
float maxMotorImpulse = 1.0f;
|
||||
hinge->enableAngularMotor(true,targetVelocity,maxMotorImpulse);
|
||||
|
||||
m_dynamicsWorld->addConstraint(hinge);//p2p);
|
||||
// m_dynamicsWorld->addConstraint(p2p);
|
||||
m_dynamicsWorld->addConstraint(hinge);
|
||||
hinge->setDbgDrawSize(btScalar(5.f));
|
||||
#endif //P2P
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
@ -600,8 +610,8 @@ void ConstraintDemo::clientMoveAndDisplay()
|
||||
}
|
||||
|
||||
{
|
||||
static bool once = false;
|
||||
if (m_dynamicsWorld->getDebugDrawer())
|
||||
static bool once = true;
|
||||
if ( m_dynamicsWorld->getDebugDrawer() && once)
|
||||
{
|
||||
m_dynamicsWorld->getDebugDrawer()->setDebugMode(btIDebugDraw::DBG_DrawConstraints+btIDebugDraw::DBG_DrawConstraintLimits);
|
||||
once=false;
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "bullet_btTransformFloatData.h"
|
||||
#include "bullet_btTransformDoubleData.h"
|
||||
#include "bullet_btCollisionShapeData.h"
|
||||
#include "bullet_btStaticPlaneShapeData.h"
|
||||
#include "bullet_btConvexInternalShapeData.h"
|
||||
#include "bullet_btPositionAndRadius.h"
|
||||
#include "bullet_btMultiSphereShapeData.h"
|
||||
@ -37,9 +38,22 @@
|
||||
#include "bullet_btMeshPartData.h"
|
||||
#include "bullet_btStridingMeshInterfaceData.h"
|
||||
#include "bullet_btTriangleMeshShapeData.h"
|
||||
#include "bullet_btCompoundShapeChildData.h"
|
||||
#include "bullet_btCompoundShapeData.h"
|
||||
#include "bullet_btCylinderShapeData.h"
|
||||
#include "bullet_btCapsuleShapeData.h"
|
||||
#include "bullet_btConvexHullShapeData.h"
|
||||
#include "bullet_btCollisionObjectDoubleData.h"
|
||||
#include "bullet_btCollisionObjectFloatData.h"
|
||||
#include "bullet_btRigidBodyFloatData.h"
|
||||
#include "bullet_btRigidBodyDoubleData.h"
|
||||
#include "bullet_btConstraintInfo1.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
#include "bullet_btPoint2PointConstraintFloatData.h"
|
||||
#include "bullet_btPoint2PointConstraintDoubleData.h"
|
||||
#include "bullet_btHingeConstraintDoubleData.h"
|
||||
#include "bullet_btHingeConstraintFloatData.h"
|
||||
#include "bullet_btConeTwistConstraintData.h"
|
||||
#include "bullet_btGeneric6DofConstraintData.h"
|
||||
#include "bullet_btSliderConstraintData.h"
|
||||
#endif//__BULLET_H__
|
@ -36,6 +36,7 @@ namespace Bullet {
|
||||
class btTransformFloatData;
|
||||
class btTransformDoubleData;
|
||||
class btCollisionShapeData;
|
||||
class btStaticPlaneShapeData;
|
||||
class btConvexInternalShapeData;
|
||||
class btPositionAndRadius;
|
||||
class btMultiSphereShapeData;
|
||||
@ -44,10 +45,23 @@ namespace Bullet {
|
||||
class btMeshPartData;
|
||||
class btStridingMeshInterfaceData;
|
||||
class btTriangleMeshShapeData;
|
||||
class btCompoundShapeChildData;
|
||||
class btCompoundShapeData;
|
||||
class btCylinderShapeData;
|
||||
class btCapsuleShapeData;
|
||||
class btConvexHullShapeData;
|
||||
class btCollisionObjectDoubleData;
|
||||
class btCollisionObjectFloatData;
|
||||
class btRigidBodyFloatData;
|
||||
class btRigidBodyDoubleData;
|
||||
class btConstraintInfo1;
|
||||
class btTypedConstraintData;
|
||||
class btPoint2PointConstraintFloatData;
|
||||
class btPoint2PointConstraintDoubleData;
|
||||
class btHingeConstraintDoubleData;
|
||||
class btHingeConstraintFloatData;
|
||||
class btConeTwistConstraintData;
|
||||
class btGeneric6DofConstraintData;
|
||||
class btSliderConstraintData;
|
||||
}
|
||||
#endif//__BULLETCOMMON_H__
|
@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTCAPSULESHAPEDATA__H__
|
||||
#define __BULLET_BTCAPSULESHAPEDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btConvexInternalShapeData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btCapsuleShapeData
|
||||
{
|
||||
public:
|
||||
btConvexInternalShapeData m_convexInternalShapeData;
|
||||
int m_upAxis;
|
||||
char m_padding[4];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTCAPSULESHAPEDATA__H__
|
@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTCOMPOUNDSHAPECHILDDATA__H__
|
||||
#define __BULLET_BTCOMPOUNDSHAPECHILDDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTransformFloatData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btCompoundShapeChildData
|
||||
{
|
||||
public:
|
||||
btTransformFloatData m_transform;
|
||||
btCollisionShapeData *m_childShape;
|
||||
int m_childShapeType;
|
||||
float m_childMargin;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTCOMPOUNDSHAPECHILDDATA__H__
|
@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTCOMPOUNDSHAPEDATA__H__
|
||||
#define __BULLET_BTCOMPOUNDSHAPEDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btCollisionShapeData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btCompoundShapeData
|
||||
{
|
||||
public:
|
||||
btCollisionShapeData m_collisionShapeData;
|
||||
btCompoundShapeChildData *m_childShapePtr;
|
||||
int m_numChildShapes;
|
||||
float m_collisionMargin;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTCOMPOUNDSHAPEDATA__H__
|
@ -0,0 +1,51 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTCONETWISTCONSTRAINTDATA__H__
|
||||
#define __BULLET_BTCONETWISTCONSTRAINTDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTransformFloatData.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btConeTwistConstraintData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame;
|
||||
btTransformFloatData m_rbBFrame;
|
||||
float m_swingSpan1;
|
||||
float m_swingSpan2;
|
||||
float m_twistSpan;
|
||||
float m_limitSoftness;
|
||||
float m_biasFactor;
|
||||
float m_relaxationFactor;
|
||||
float m_damping;
|
||||
char m_pad[4];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTCONETWISTCONSTRAINTDATA__H__
|
@ -0,0 +1,40 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTCONSTRAINTINFO1__H__
|
||||
#define __BULLET_BTCONSTRAINTINFO1__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btConstraintInfo1
|
||||
{
|
||||
public:
|
||||
int m_numConstraintRows;
|
||||
int nub;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTCONSTRAINTINFO1__H__
|
@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTCYLINDERSHAPEDATA__H__
|
||||
#define __BULLET_BTCYLINDERSHAPEDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btConvexInternalShapeData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btCylinderShapeData
|
||||
{
|
||||
public:
|
||||
btConvexInternalShapeData m_convexInternalShapeData;
|
||||
int m_upAxis;
|
||||
char m_padding[4];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTCYLINDERSHAPEDATA__H__
|
@ -0,0 +1,50 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTGENERIC6DOFCONSTRAINTDATA__H__
|
||||
#define __BULLET_BTGENERIC6DOFCONSTRAINTDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTransformFloatData.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
#include "bullet_btVector3FloatData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btGeneric6DofConstraintData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame;
|
||||
btTransformFloatData m_rbBFrame;
|
||||
btVector3FloatData m_linearUpperLimit;
|
||||
btVector3FloatData m_linearLowerLimit;
|
||||
btVector3FloatData m_angularUpperLimit;
|
||||
btVector3FloatData m_angularLowerLimit;
|
||||
int m_useLinearReferenceFrameA;
|
||||
int m_useOffsetForConstraintFrame;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTGENERIC6DOFCONSTRAINTDATA__H__
|
@ -0,0 +1,53 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTHINGECONSTRAINTDOUBLEDATA__H__
|
||||
#define __BULLET_BTHINGECONSTRAINTDOUBLEDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTransformDoubleData.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btHingeConstraintDoubleData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformDoubleData m_rbAFrame;
|
||||
btTransformDoubleData m_rbBFrame;
|
||||
int m_useReferenceFrameA;
|
||||
int m_angularOnly;
|
||||
int m_enableAngularMotor;
|
||||
float m_motorTargetVelocity;
|
||||
float m_maxMotorImpulse;
|
||||
float m_lowerLimit;
|
||||
float m_upperLimit;
|
||||
float m_limitSoftness;
|
||||
float m_biasFactor;
|
||||
float m_relaxationFactor;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTHINGECONSTRAINTDOUBLEDATA__H__
|
@ -0,0 +1,53 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTHINGECONSTRAINTFLOATDATA__H__
|
||||
#define __BULLET_BTHINGECONSTRAINTFLOATDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTransformFloatData.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btHingeConstraintFloatData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame;
|
||||
btTransformFloatData m_rbBFrame;
|
||||
int m_useReferenceFrameA;
|
||||
int m_angularOnly;
|
||||
int m_enableAngularMotor;
|
||||
float m_motorTargetVelocity;
|
||||
float m_maxMotorImpulse;
|
||||
float m_lowerLimit;
|
||||
float m_upperLimit;
|
||||
float m_limitSoftness;
|
||||
float m_biasFactor;
|
||||
float m_relaxationFactor;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTHINGECONSTRAINTFLOATDATA__H__
|
@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTPOINT2POINTCONSTRAINTDOUBLEDATA__H__
|
||||
#define __BULLET_BTPOINT2POINTCONSTRAINTDOUBLEDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
#include "bullet_btVector3DoubleData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btPoint2PointConstraintDoubleData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btVector3DoubleData m_pivotInA;
|
||||
btVector3DoubleData m_pivotInB;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTPOINT2POINTCONSTRAINTDOUBLEDATA__H__
|
@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTPOINT2POINTCONSTRAINTFLOATDATA__H__
|
||||
#define __BULLET_BTPOINT2POINTCONSTRAINTFLOATDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
#include "bullet_btVector3FloatData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btPoint2PointConstraintFloatData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btVector3FloatData m_pivotInA;
|
||||
btVector3FloatData m_pivotInB;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTPOINT2POINTCONSTRAINTFLOATDATA__H__
|
@ -0,0 +1,49 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTSLIDERCONSTRAINTDATA__H__
|
||||
#define __BULLET_BTSLIDERCONSTRAINTDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btTransformFloatData.h"
|
||||
#include "bullet_btTypedConstraintData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btSliderConstraintData
|
||||
{
|
||||
public:
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame;
|
||||
btTransformFloatData m_rbBFrame;
|
||||
float m_linearUpperLimit;
|
||||
float m_linearLowerLimit;
|
||||
float m_angularUpperLimit;
|
||||
float m_angularLowerLimit;
|
||||
int m_useLinearReferenceFrameA;
|
||||
int m_useOffsetForConstraintFrame;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTSLIDERCONSTRAINTDATA__H__
|
@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTSTATICPLANESHAPEDATA__H__
|
||||
#define __BULLET_BTSTATICPLANESHAPEDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btCollisionShapeData.h"
|
||||
#include "bullet_btVector3FloatData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btStaticPlaneShapeData
|
||||
{
|
||||
public:
|
||||
btCollisionShapeData m_collisionShapeData;
|
||||
btVector3FloatData m_localScaling;
|
||||
btVector3FloatData m_planeNormal;
|
||||
float m_planeConstant;
|
||||
char m_pad[4];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTSTATICPLANESHAPEDATA__H__
|
@ -0,0 +1,52 @@
|
||||
/* Copyright (C) 2006-2009 Erwin Coumans & Charlie C
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
// Auto generated from makesdna dna.c
|
||||
#ifndef __BULLET_BTTYPEDCONSTRAINTDATA__H__
|
||||
#define __BULLET_BTTYPEDCONSTRAINTDATA__H__
|
||||
|
||||
|
||||
// -------------------------------------------------- //
|
||||
#include "bullet_Common.h"
|
||||
#include "bullet_btVector3FloatData.h"
|
||||
|
||||
namespace Bullet {
|
||||
|
||||
|
||||
// ---------------------------------------------- //
|
||||
class btTypedConstraintData
|
||||
{
|
||||
public:
|
||||
bInvalidHandle *m_rbA;
|
||||
bInvalidHandle *m_rbB;
|
||||
btVector3FloatData m_appliedLinearImpulse;
|
||||
btVector3FloatData m_appliedAngularImpulseA;
|
||||
btVector3FloatData m_appliedAngularImpulseB;
|
||||
int m_objectType;
|
||||
int m_userConstraintType;
|
||||
int m_userConstraintId;
|
||||
int m_needsFeedback;
|
||||
float m_appliedImpulse;
|
||||
float m_dbgDrawSize;
|
||||
int m_disableCollisionsBetweenLinkedBodies;
|
||||
char m_pad[4];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif//__BULLET_BTTYPEDCONSTRAINTDATA__H__
|
@ -423,6 +423,7 @@ void bFile::parseStruct(char *strcPtr, char *dtPtr, int old_dna, int new_dna, bo
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------- //
|
||||
static void getElement(int arrayLen, const char *cur, const char *old, char *oldPtr, char *curData)
|
||||
{
|
||||
@ -436,7 +437,7 @@ static void getElement(int arrayLen, const char *cur, const char *old, char *old
|
||||
#define setEle(value, current, type, cast, size, ptr)\
|
||||
if (strcmp(current, type)==0)\
|
||||
{\
|
||||
(*(cast*)ptr) = value;\
|
||||
(*(cast*)ptr) = (cast)value;\
|
||||
ptr += size;\
|
||||
}
|
||||
double value = 0.0;
|
||||
|
@ -121,7 +121,12 @@ void btBulletFile::parseData()
|
||||
{
|
||||
m_rigidBodies.push_back((bStructHandle*) id);
|
||||
}
|
||||
|
||||
|
||||
if (dataChunk.code == BT_CONSTRAINT_CODE)
|
||||
{
|
||||
m_constraints.push_back((bStructHandle*) id);
|
||||
}
|
||||
|
||||
if (dataChunk.code == BT_COLLISIONOBJECT_CODE)
|
||||
{
|
||||
m_collisionObjects.push_back((bStructHandle*) id);
|
||||
|
@ -23,6 +23,7 @@ subject to the following restrictions:
|
||||
|
||||
#define BT_COLLISIONOBJECT_CODE MAKE_ID('C','O','B','J')
|
||||
#define BT_RIGIDBODY_CODE MAKE_ID('R','B','D','Y')
|
||||
#define BT_CONSTRAINT_CODE MAKE_ID('C','O','N','S')
|
||||
#define BT_BOXSHAPE_CODE MAKE_ID('B','O','X','S')
|
||||
#define BT_SHAPE_CODE MAKE_ID('S','H','A','P')
|
||||
|
||||
@ -44,6 +45,8 @@ namespace bParse {
|
||||
|
||||
btAlignedObjectArray<bStructHandle*> m_collisionShapes;
|
||||
|
||||
btAlignedObjectArray<bStructHandle*> m_constraints;
|
||||
|
||||
btBulletFile();
|
||||
|
||||
btBulletFile(const char* fileName);
|
||||
|
@ -42,6 +42,18 @@ btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShap
|
||||
|
||||
switch (shapeData->m_shapeType)
|
||||
{
|
||||
case STATIC_PLANE_PROXYTYPE:
|
||||
{
|
||||
btStaticPlaneShapeData* planeData = (btStaticPlaneShapeData*)shapeData;
|
||||
btVector3 planeNormal,localScaling;
|
||||
planeNormal.deSerializeFloat(planeData->m_planeNormal);
|
||||
localScaling.deSerializeFloat(planeData->m_localScaling);
|
||||
shape = new btStaticPlaneShape(planeNormal,btScalar(planeData->m_planeConstant));
|
||||
shape->setLocalScaling(localScaling);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case CYLINDER_SHAPE_PROXYTYPE:
|
||||
case CAPSULE_SHAPE_PROXYTYPE:
|
||||
case BOX_SHAPE_PROXYTYPE:
|
||||
@ -294,6 +306,9 @@ bool btBulletWorldImporter::loadFileFromMemory( bParse::btBulletFile* bulletFil
|
||||
if (shape)
|
||||
shapeMap.insert(shapeData,shape);
|
||||
}
|
||||
|
||||
btHashMap<btHashPtr,btRigidBody*> bodyMap;
|
||||
|
||||
for (i=0;i<bulletFile2->m_rigidBodies.size();i++)
|
||||
{
|
||||
if (bulletFile2->getFlags() & bParse::FD_DOUBLE_PRECISION)
|
||||
@ -314,7 +329,8 @@ bool btBulletWorldImporter::loadFileFromMemory( bParse::btBulletFile* bulletFil
|
||||
shape->calculateLocalInertia(mass,localInertia);
|
||||
}
|
||||
bool isDynamic = mass!=0.f;
|
||||
createRigidBody(isDynamic,mass,startTransform,shape);
|
||||
btRigidBody* body = createRigidBody(isDynamic,mass,startTransform,shape);
|
||||
bodyMap.insert(colObjData,body);
|
||||
} else
|
||||
{
|
||||
printf("error: no shape found\n");
|
||||
@ -338,7 +354,8 @@ bool btBulletWorldImporter::loadFileFromMemory( bParse::btBulletFile* bulletFil
|
||||
shape->calculateLocalInertia(mass,localInertia);
|
||||
}
|
||||
bool isDynamic = mass!=0.f;
|
||||
createRigidBody(isDynamic,mass,startTransform,shape);
|
||||
btRigidBody* body = createRigidBody(isDynamic,mass,startTransform,shape);
|
||||
bodyMap.insert(colObjData,body);
|
||||
} else
|
||||
{
|
||||
printf("error: no shape found\n");
|
||||
@ -351,6 +368,206 @@ bool btBulletWorldImporter::loadFileFromMemory( bParse::btBulletFile* bulletFil
|
||||
btCollisionObjectData* colObjData = (btCollisionObjectData*)bulletFile2->m_collisionObjects[i];
|
||||
printf("bla");
|
||||
}
|
||||
|
||||
|
||||
for (i=0;i<bulletFile2->m_constraints.size();i++)
|
||||
{
|
||||
btTypedConstraintData* constraintData = (btTypedConstraintData*)bulletFile2->m_constraints[i];
|
||||
btRigidBody** rbAptr = bodyMap.find(constraintData->m_rbA);
|
||||
btRigidBody** rbBptr = bodyMap.find(constraintData->m_rbB);
|
||||
|
||||
switch (constraintData->m_objectType)
|
||||
{
|
||||
case POINT2POINT_CONSTRAINT_TYPE:
|
||||
{
|
||||
btPoint2PointConstraint* constraint = 0;
|
||||
|
||||
if (bulletFile2->getFlags() & bParse::FD_DOUBLE_PRECISION)
|
||||
{
|
||||
btPoint2PointConstraintDoubleData* p2pData = (btPoint2PointConstraintDoubleData*)constraintData;
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btVector3 pivotInA,pivotInB;
|
||||
pivotInA.deSerializeDouble(p2pData->m_pivotInA);
|
||||
pivotInB.deSerializeDouble(p2pData->m_pivotInB);
|
||||
constraint = new btPoint2PointConstraint(**rbAptr,**rbBptr,pivotInA,pivotInB);
|
||||
} else
|
||||
{
|
||||
btVector3 pivotInA;
|
||||
pivotInA.deSerializeDouble(p2pData->m_pivotInA);
|
||||
constraint = new btPoint2PointConstraint(**rbAptr,pivotInA);
|
||||
}
|
||||
} else
|
||||
{
|
||||
btPoint2PointConstraintFloatData* p2pData = (btPoint2PointConstraintFloatData*)constraintData;
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btVector3 pivotInA,pivotInB;
|
||||
pivotInA.deSerializeFloat(p2pData->m_pivotInA);
|
||||
pivotInB.deSerializeFloat(p2pData->m_pivotInB);
|
||||
constraint = new btPoint2PointConstraint(**rbAptr,**rbBptr,pivotInA,pivotInB);
|
||||
|
||||
} else
|
||||
{
|
||||
btVector3 pivotInA;
|
||||
pivotInA.deSerializeFloat(p2pData->m_pivotInA);
|
||||
constraint = new btPoint2PointConstraint(**rbAptr,pivotInA);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
m_dynamicsWorld->addConstraint(constraint,constraintData->m_disableCollisionsBetweenLinkedBodies!=0);
|
||||
constraint->setDbgDrawSize(constraintData->m_dbgDrawSize);
|
||||
break;
|
||||
}
|
||||
case HINGE_CONSTRAINT_TYPE:
|
||||
{
|
||||
btHingeConstraint* hinge = 0;
|
||||
|
||||
if (bulletFile2->getFlags() & bParse::FD_DOUBLE_PRECISION)
|
||||
{
|
||||
btHingeConstraintDoubleData* hingeData = (btHingeConstraintDoubleData*)constraintData;
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btTransform rbAFrame,rbBFrame;
|
||||
rbAFrame.deSerializeDouble(hingeData->m_rbAFrame);
|
||||
rbBFrame.deSerializeDouble(hingeData->m_rbBFrame);
|
||||
hinge = new btHingeConstraint(**rbAptr,**rbBptr,rbAFrame,rbBFrame,hingeData->m_useReferenceFrameA!=0);
|
||||
} else
|
||||
{
|
||||
btTransform rbAFrame;
|
||||
rbAFrame.deSerializeDouble(hingeData->m_rbAFrame);
|
||||
hinge = new btHingeConstraint(**rbAptr,rbAFrame,hingeData->m_useReferenceFrameA!=0);
|
||||
}
|
||||
if (hingeData->m_enableAngularMotor)
|
||||
{
|
||||
hinge->enableAngularMotor(true,hingeData->m_motorTargetVelocity,hingeData->m_maxMotorImpulse);
|
||||
}
|
||||
hinge->setAngularOnly(hingeData->m_angularOnly!=0);
|
||||
hinge->setLimit(btScalar(hingeData->m_lowerLimit),btScalar(hingeData->m_upperLimit),btScalar(hingeData->m_limitSoftness),btScalar(hingeData->m_biasFactor),btScalar(hingeData->m_relaxationFactor));
|
||||
} else
|
||||
{
|
||||
btHingeConstraintFloatData* hingeData = (btHingeConstraintFloatData*)constraintData;
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btTransform rbAFrame,rbBFrame;
|
||||
rbAFrame.deSerializeFloat(hingeData->m_rbAFrame);
|
||||
rbBFrame.deSerializeFloat(hingeData->m_rbBFrame);
|
||||
hinge = new btHingeConstraint(**rbAptr,**rbBptr,rbAFrame,rbBFrame,hingeData->m_useReferenceFrameA!=0);
|
||||
} else
|
||||
{
|
||||
btTransform rbAFrame;
|
||||
rbAFrame.deSerializeFloat(hingeData->m_rbAFrame);
|
||||
hinge = new btHingeConstraint(**rbAptr,rbAFrame,hingeData->m_useReferenceFrameA!=0);
|
||||
}
|
||||
if (hingeData->m_enableAngularMotor)
|
||||
{
|
||||
hinge->enableAngularMotor(true,hingeData->m_motorTargetVelocity,hingeData->m_maxMotorImpulse);
|
||||
}
|
||||
hinge->setAngularOnly(hingeData->m_angularOnly!=0);
|
||||
hinge->setLimit(btScalar(hingeData->m_lowerLimit),btScalar(hingeData->m_upperLimit),btScalar(hingeData->m_limitSoftness),btScalar(hingeData->m_biasFactor),btScalar(hingeData->m_relaxationFactor));
|
||||
}
|
||||
m_dynamicsWorld->addConstraint(hinge,constraintData->m_disableCollisionsBetweenLinkedBodies!=0);
|
||||
hinge->setDbgDrawSize(constraintData->m_dbgDrawSize);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
case CONETWIST_CONSTRAINT_TYPE:
|
||||
{
|
||||
btConeTwistConstraintData* coneData = (btConeTwistConstraintData*)constraintData;
|
||||
btConeTwistConstraint* coneTwist = 0;
|
||||
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btTransform rbAFrame,rbBFrame;
|
||||
rbAFrame.deSerializeFloat(coneData->m_rbAFrame);
|
||||
rbBFrame.deSerializeFloat(coneData->m_rbBFrame);
|
||||
coneTwist = new btConeTwistConstraint(**rbAptr,**rbBptr,rbAFrame,rbBFrame);
|
||||
} else
|
||||
{
|
||||
btTransform rbAFrame;
|
||||
rbAFrame.deSerializeFloat(coneData->m_rbAFrame);
|
||||
coneTwist = new btConeTwistConstraint(**rbAptr,rbAFrame);
|
||||
}
|
||||
coneTwist->setLimit(coneData->m_swingSpan1,coneData->m_swingSpan2,coneData->m_twistSpan,coneData->m_limitSoftness,coneData->m_biasFactor,coneData->m_relaxationFactor);
|
||||
coneTwist->setDamping(coneData->m_damping);
|
||||
m_dynamicsWorld->addConstraint(coneTwist,constraintData->m_disableCollisionsBetweenLinkedBodies!=0);
|
||||
coneTwist->setDbgDrawSize(constraintData->m_dbgDrawSize);
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case D6_CONSTRAINT_TYPE:
|
||||
{
|
||||
btGeneric6DofConstraintData* dofData = (btGeneric6DofConstraintData*)constraintData;
|
||||
btGeneric6DofConstraint* dof = 0;
|
||||
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btTransform rbAFrame,rbBFrame;
|
||||
rbAFrame.deSerializeFloat(dofData->m_rbAFrame);
|
||||
rbBFrame.deSerializeFloat(dofData->m_rbBFrame);
|
||||
dof = new btGeneric6DofConstraint(**rbAptr,**rbBptr,rbAFrame,rbBFrame,dofData->m_useLinearReferenceFrameA!=0);
|
||||
} else
|
||||
{
|
||||
btTransform rbBFrame;
|
||||
rbBFrame.deSerializeFloat(dofData->m_rbBFrame);
|
||||
dof = new btGeneric6DofConstraint(**rbBptr,rbBFrame,dofData->m_useLinearReferenceFrameA!=0);
|
||||
}
|
||||
btVector3 angLowerLimit,angUpperLimit, linLowerLimit,linUpperlimit;
|
||||
angLowerLimit.deSerializeFloat(dofData->m_angularLowerLimit);
|
||||
angUpperLimit.deSerializeFloat(dofData->m_angularUpperLimit);
|
||||
linLowerLimit.deSerializeFloat(dofData->m_linearLowerLimit);
|
||||
linUpperlimit.deSerializeFloat(dofData->m_linearUpperLimit);
|
||||
|
||||
dof->setAngularLowerLimit(angLowerLimit);
|
||||
dof->setAngularUpperLimit(angUpperLimit);
|
||||
dof->setLinearLowerLimit(linLowerLimit);
|
||||
dof->setLinearUpperLimit(linUpperlimit);
|
||||
|
||||
m_dynamicsWorld->addConstraint(dof,constraintData->m_disableCollisionsBetweenLinkedBodies!=0);
|
||||
dof->setDbgDrawSize(constraintData->m_dbgDrawSize);
|
||||
break;
|
||||
}
|
||||
case SLIDER_CONSTRAINT_TYPE:
|
||||
{
|
||||
btSliderConstraintData* sliderData = (btSliderConstraintData*)constraintData;
|
||||
btSliderConstraint* slider = 0;
|
||||
if (rbAptr && rbBptr)
|
||||
{
|
||||
btTransform rbAFrame,rbBFrame;
|
||||
rbAFrame.deSerializeFloat(sliderData->m_rbAFrame);
|
||||
rbBFrame.deSerializeFloat(sliderData->m_rbBFrame);
|
||||
slider = new btSliderConstraint(**rbAptr,**rbBptr,rbAFrame,rbBFrame,sliderData->m_useLinearReferenceFrameA!=0);
|
||||
} else
|
||||
{
|
||||
btTransform rbBFrame;
|
||||
rbBFrame.deSerializeFloat(sliderData->m_rbBFrame);
|
||||
slider = new btSliderConstraint(**rbBptr,rbBFrame,sliderData->m_useLinearReferenceFrameA!=0);
|
||||
}
|
||||
slider->setLowerLinLimit(sliderData->m_linearLowerLimit);
|
||||
slider->setUpperLinLimit(sliderData->m_linearUpperLimit);
|
||||
slider->setLowerAngLimit(sliderData->m_angularLowerLimit);
|
||||
slider->setUpperAngLimit(sliderData->m_angularUpperLimit);
|
||||
slider->setUseFrameOffset(sliderData->m_useOffsetForConstraintFrame!=0);
|
||||
|
||||
m_dynamicsWorld->addConstraint(slider,constraintData->m_disableCollisionsBetweenLinkedBodies!=0);
|
||||
slider->setDbgDrawSize(constraintData->m_dbgDrawSize);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
printf("unknown constraint type\n");
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -123,6 +123,7 @@ typedef unsigned long uintptr_t;
|
||||
#include "LinearMath/btMatrix3x3.h"
|
||||
#include "LinearMath/btTransform.h"
|
||||
#include "BulletCollision/CollisionShapes/btCollisionShape.h"
|
||||
#include "BulletCollision/CollisionShapes/btStaticPlaneShape.h"
|
||||
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
|
||||
#include "BulletCollision/CollisionShapes/btMultiSphereShape.h"
|
||||
#include "BulletCollision/CollisionShapes/btConvexHullShape.h"
|
||||
@ -132,6 +133,13 @@ typedef unsigned long uintptr_t;
|
||||
#include "BulletCollision/CollisionShapes/btCylinderShape.h"
|
||||
#include "BulletCollision/CollisionShapes/btCapsuleShape.h"
|
||||
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
|
||||
#include "BulletDynamics/ConstraintSolver/btTypedConstraint.h"
|
||||
#include "BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h"
|
||||
#include "BulletDynamics/ConstraintSolver/btHingeConstraint.h"
|
||||
#include "BulletDynamics/ConstraintSolver/btConeTwistConstraint.h"
|
||||
#include "BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h"
|
||||
#include "BulletDynamics/ConstraintSolver/btSliderConstraint.h"
|
||||
|
||||
#include "BulletDynamics/Dynamics/btRigidBody.h"
|
||||
|
||||
|
||||
@ -152,6 +160,7 @@ char *includefiles[] = {
|
||||
"../../../src/LinearMath/btMatrix3x3.h",
|
||||
"../../../src/LinearMath/btTransform.h",
|
||||
"../../../src/BulletCollision/CollisionShapes/btCollisionShape.h",
|
||||
"../../../src/BulletCollision/CollisionShapes/btStaticPlaneShape.h",
|
||||
"../../../src/BulletCollision/CollisionShapes/btConvexInternalShape.h",
|
||||
"../../../src/BulletCollision/CollisionShapes/btMultiSphereShape.h",
|
||||
"../../../src/BulletCollision/CollisionShapes/btStridingMeshInterface.h",
|
||||
@ -162,6 +171,13 @@ char *includefiles[] = {
|
||||
"../../../src/BulletCollision/CollisionShapes/btConvexHullShape.h",
|
||||
"../../../src/BulletCollision/CollisionDispatch/btCollisionObject.h",
|
||||
"../../../src/BulletDynamics/Dynamics/btRigidBody.h",
|
||||
"../../../src/BulletDynamics/ConstraintSolver/btTypedConstraint.h",
|
||||
"../../../src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h",
|
||||
"../../../src/BulletDynamics/ConstraintSolver/btHingeConstraint.h",
|
||||
"../../../src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h",
|
||||
"../../../src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h",
|
||||
"../../../src/BulletDynamics/ConstraintSolver/btSliderConstraint.h",
|
||||
|
||||
// empty string to indicate end of includefiles
|
||||
""
|
||||
};
|
||||
@ -539,6 +555,8 @@ const char* skipStructTypes[]=
|
||||
{
|
||||
"btRigidBodyConstructionInfo",
|
||||
"Euler",
|
||||
"btConstraintInfo2",
|
||||
"btConstraintSetting",
|
||||
""
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,42 @@ public:
|
||||
//debugging
|
||||
virtual const char* getName()const {return "STATICPLANE";}
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct btStaticPlaneShapeData
|
||||
{
|
||||
btCollisionShapeData m_collisionShapeData;
|
||||
|
||||
btVector3FloatData m_localScaling;
|
||||
btVector3FloatData m_planeNormal;
|
||||
float m_planeConstant;
|
||||
char m_pad[4];
|
||||
};
|
||||
|
||||
|
||||
SIMD_FORCE_INLINE int btStaticPlaneShape::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btStaticPlaneShapeData);
|
||||
}
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
SIMD_FORCE_INLINE const char* btStaticPlaneShape::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
btStaticPlaneShapeData* planeData = (btStaticPlaneShapeData*) dataBuffer;
|
||||
btCollisionShape::serialize(&planeData->m_collisionShapeData,serializer);
|
||||
|
||||
m_localScaling.serializeFloat(planeData->m_localScaling);
|
||||
m_planeNormal.serializeFloat(planeData->m_planeNormal);
|
||||
planeData->m_planeConstant = float(m_planeConstant);
|
||||
|
||||
return "btStaticPlaneShapeData";
|
||||
}
|
||||
|
||||
|
||||
#endif //STATIC_PLANE_SHAPE_H
|
||||
|
@ -99,6 +99,20 @@ public:
|
||||
btScalar m_maxMotorImpulse;
|
||||
btVector3 m_accMotorImpulse;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
void init();
|
||||
|
||||
void computeConeLimitInfo(const btQuaternion& qCone, // in
|
||||
btScalar& swingAngle, btVector3& vSwingAxis, btScalar& swingLimit); // all outs
|
||||
|
||||
void computeTwistLimitInfo(const btQuaternion& qTwist, // in
|
||||
btScalar& twistAngle, btVector3& vTwistAxis); // all outs
|
||||
|
||||
void adjustSwingAxisToUseEllipseNormal(btVector3& vSwingAxis) const;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
btConeTwistConstraint(btRigidBody& rbA,btRigidBody& rbB,const btTransform& rbAFrame, const btTransform& rbBFrame);
|
||||
@ -243,17 +257,61 @@ public:
|
||||
btVector3 GetPointForAngle(btScalar fAngleInRadians, btScalar fLength) const;
|
||||
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
protected:
|
||||
void init();
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
void computeConeLimitInfo(const btQuaternion& qCone, // in
|
||||
btScalar& swingAngle, btVector3& vSwingAxis, btScalar& swingLimit); // all outs
|
||||
|
||||
void computeTwistLimitInfo(const btQuaternion& qTwist, // in
|
||||
btScalar& twistAngle, btVector3& vTwistAxis); // all outs
|
||||
|
||||
void adjustSwingAxisToUseEllipseNormal(btVector3& vSwingAxis) const;
|
||||
};
|
||||
|
||||
struct btConeTwistConstraintData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame;
|
||||
btTransformFloatData m_rbBFrame;
|
||||
|
||||
//limits
|
||||
float m_swingSpan1;
|
||||
float m_swingSpan2;
|
||||
float m_twistSpan;
|
||||
float m_limitSoftness;
|
||||
float m_biasFactor;
|
||||
float m_relaxationFactor;
|
||||
|
||||
float m_damping;
|
||||
|
||||
char m_pad[4];
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
SIMD_FORCE_INLINE int btConeTwistConstraint::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btConeTwistConstraintData);
|
||||
|
||||
}
|
||||
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
SIMD_FORCE_INLINE const char* btConeTwistConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
btConeTwistConstraintData* cone = (btConeTwistConstraintData*) dataBuffer;
|
||||
btTypedConstraint::serialize(&cone->m_typeConstraintData,serializer);
|
||||
|
||||
m_rbAFrame.serializeFloat(cone->m_rbAFrame);
|
||||
m_rbBFrame.serializeFloat(cone->m_rbBFrame);
|
||||
|
||||
cone->m_swingSpan1 = float(m_swingSpan1);
|
||||
cone->m_swingSpan2 = float(m_swingSpan2);
|
||||
cone->m_twistSpan = float(m_twistSpan);
|
||||
cone->m_limitSoftness = float(m_limitSoftness);
|
||||
cone->m_biasFactor = float(m_biasFactor);
|
||||
cone->m_relaxationFactor = float(m_relaxationFactor);
|
||||
cone->m_damping = float(m_damping);
|
||||
|
||||
return "btConeTwistConstraintData";
|
||||
}
|
||||
|
||||
|
||||
#endif //CONETWISTCONSTRAINT_H
|
||||
|
@ -498,7 +498,64 @@ public:
|
||||
// access for UseFrameOffset
|
||||
bool getUseFrameOffset() { return m_useOffsetForConstraintFrame; }
|
||||
void setUseFrameOffset(bool frameOffsetOnOff) { m_useOffsetForConstraintFrame = frameOffsetOnOff; }
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct btGeneric6DofConstraintData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame; // constraint axii. Assumes z is hinge axis.
|
||||
btTransformFloatData m_rbBFrame;
|
||||
|
||||
btVector3FloatData m_linearUpperLimit;
|
||||
btVector3FloatData m_linearLowerLimit;
|
||||
|
||||
btVector3FloatData m_angularUpperLimit;
|
||||
btVector3FloatData m_angularLowerLimit;
|
||||
|
||||
int m_useLinearReferenceFrameA;
|
||||
int m_useOffsetForConstraintFrame;
|
||||
};
|
||||
|
||||
SIMD_FORCE_INLINE int btGeneric6DofConstraint::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btGeneric6DofConstraintData);
|
||||
}
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
SIMD_FORCE_INLINE const char* btGeneric6DofConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
|
||||
btGeneric6DofConstraintData* dof = (btGeneric6DofConstraintData*)dataBuffer;
|
||||
btTypedConstraint::serialize(&dof->m_typeConstraintData,serializer);
|
||||
|
||||
m_frameInA.serializeFloat(dof->m_rbAFrame);
|
||||
m_frameInB.serializeFloat(dof->m_rbBFrame);
|
||||
|
||||
|
||||
int i;
|
||||
for (i=0;i<3;i++)
|
||||
{
|
||||
dof->m_angularLowerLimit.m_floats[i] = m_angularLimits[i].m_loLimit;
|
||||
dof->m_angularUpperLimit.m_floats[i] = m_angularLimits[i].m_hiLimit;
|
||||
dof->m_linearLowerLimit.m_floats[i] = m_linearLimits.m_lowerLimit[i];
|
||||
dof->m_linearUpperLimit.m_floats[i] = m_linearLimits.m_upperLimit[i];
|
||||
}
|
||||
|
||||
dof->m_useLinearReferenceFrameA = m_useLinearReferenceFrameA? 1 : 0;
|
||||
dof->m_useOffsetForConstraintFrame = m_useOffsetForConstraintFrame ? 1 : 0;
|
||||
|
||||
return "btGeneric6DofConstraintData";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif //GENERIC_6DOF_CONSTRAINT_H
|
||||
|
@ -24,6 +24,15 @@ subject to the following restrictions:
|
||||
|
||||
class btRigidBody;
|
||||
|
||||
#ifdef BT_USE_DOUBLE_PRECISION
|
||||
#define btHingeConstraintData btHingeConstraintDoubleData
|
||||
#define btHingeConstraintDataName "btHingeConstraintDoubleData"
|
||||
#else
|
||||
#define btHingeConstraintData btHingeConstraintFloatData
|
||||
#define btHingeConstraintDataName "btHingeConstraintFloatData"
|
||||
#endif //BT_USE_DOUBLE_PRECISION
|
||||
|
||||
|
||||
/// hinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space
|
||||
/// axis defines the orientation of the hinge axis
|
||||
ATTRIBUTE_ALIGNED16(class) btHingeConstraint : public btTypedConstraint
|
||||
@ -222,6 +231,83 @@ public:
|
||||
// access for UseFrameOffset
|
||||
bool getUseFrameOffset() { return m_useOffsetForConstraintFrame; }
|
||||
void setUseFrameOffset(bool frameOffsetOnOff) { m_useOffsetForConstraintFrame = frameOffsetOnOff; }
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct btHingeConstraintDoubleData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformDoubleData m_rbAFrame; // constraint axii. Assumes z is hinge axis.
|
||||
btTransformDoubleData m_rbBFrame;
|
||||
int m_useReferenceFrameA;
|
||||
int m_angularOnly;
|
||||
int m_enableAngularMotor;
|
||||
float m_motorTargetVelocity;
|
||||
float m_maxMotorImpulse;
|
||||
|
||||
float m_lowerLimit;
|
||||
float m_upperLimit;
|
||||
float m_limitSoftness;
|
||||
float m_biasFactor;
|
||||
float m_relaxationFactor;
|
||||
|
||||
};
|
||||
|
||||
struct btHingeConstraintFloatData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame; // constraint axii. Assumes z is hinge axis.
|
||||
btTransformFloatData m_rbBFrame;
|
||||
int m_useReferenceFrameA;
|
||||
int m_angularOnly;
|
||||
|
||||
int m_enableAngularMotor;
|
||||
float m_motorTargetVelocity;
|
||||
float m_maxMotorImpulse;
|
||||
|
||||
float m_lowerLimit;
|
||||
float m_upperLimit;
|
||||
float m_limitSoftness;
|
||||
float m_biasFactor;
|
||||
float m_relaxationFactor;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
SIMD_FORCE_INLINE int btHingeConstraint::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btHingeConstraintData);
|
||||
}
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
SIMD_FORCE_INLINE const char* btHingeConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
btHingeConstraintData* hingeData = (btHingeConstraintData*)dataBuffer;
|
||||
btTypedConstraint::serialize(&hingeData->m_typeConstraintData,serializer);
|
||||
|
||||
m_rbAFrame.serialize(hingeData->m_rbAFrame);
|
||||
m_rbBFrame.serialize(hingeData->m_rbBFrame);
|
||||
|
||||
hingeData->m_angularOnly = m_angularOnly;
|
||||
hingeData->m_enableAngularMotor = m_enableAngularMotor;
|
||||
hingeData->m_maxMotorImpulse = float(m_maxMotorImpulse);
|
||||
hingeData->m_motorTargetVelocity = float(m_motorTargetVelocity);
|
||||
hingeData->m_useReferenceFrameA = m_useReferenceFrameA;
|
||||
|
||||
hingeData->m_lowerLimit = float(m_lowerLimit);
|
||||
hingeData->m_upperLimit = float(m_upperLimit);
|
||||
hingeData->m_limitSoftness = float(m_limitSoftness);
|
||||
hingeData->m_biasFactor = float(m_biasFactor);
|
||||
hingeData->m_relaxationFactor = float(m_relaxationFactor);
|
||||
|
||||
return btHingeConstraintDataName;
|
||||
}
|
||||
|
||||
#endif //HINGECONSTRAINT_H
|
||||
|
@ -22,6 +22,15 @@ subject to the following restrictions:
|
||||
|
||||
class btRigidBody;
|
||||
|
||||
|
||||
#ifdef BT_USE_DOUBLE_PRECISION
|
||||
#define btPoint2PointConstraintData btPoint2PointConstraintDoubleData
|
||||
#define btPoint2PointConstraintDataName "btPoint2PointConstraintDoubleData"
|
||||
#else
|
||||
#define btPoint2PointConstraintData btPoint2PointConstraintFloatData
|
||||
#define btPoint2PointConstraintDataName "btPoint2PointConstraintFloatData"
|
||||
#endif //BT_USE_DOUBLE_PRECISION
|
||||
|
||||
struct btConstraintSetting
|
||||
{
|
||||
btConstraintSetting() :
|
||||
@ -95,7 +104,45 @@ public:
|
||||
return m_pivotInB;
|
||||
}
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct btPoint2PointConstraintFloatData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btVector3FloatData m_pivotInA;
|
||||
btVector3FloatData m_pivotInB;
|
||||
};
|
||||
|
||||
struct btPoint2PointConstraintDoubleData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btVector3DoubleData m_pivotInA;
|
||||
btVector3DoubleData m_pivotInB;
|
||||
};
|
||||
|
||||
|
||||
SIMD_FORCE_INLINE int btPoint2PointConstraint::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btPoint2PointConstraintData);
|
||||
|
||||
}
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
SIMD_FORCE_INLINE const char* btPoint2PointConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
btPoint2PointConstraintData* p2pData = (btPoint2PointConstraintData*)dataBuffer;
|
||||
|
||||
btTypedConstraint::serialize(&p2pData->m_typeConstraintData,serializer);
|
||||
m_pivotInA.serialize(p2pData->m_pivotInA);
|
||||
m_pivotInB.serialize(p2pData->m_pivotInB);
|
||||
|
||||
return btPoint2PointConstraintDataName;
|
||||
}
|
||||
|
||||
#endif //POINT2POINTCONSTRAINT_H
|
||||
|
@ -230,8 +230,60 @@ public:
|
||||
// access for UseFrameOffset
|
||||
bool getUseFrameOffset() { return m_useOffsetForConstraintFrame; }
|
||||
void setUseFrameOffset(bool frameOffsetOnOff) { m_useOffsetForConstraintFrame = frameOffsetOnOff; }
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
struct btSliderConstraintData
|
||||
{
|
||||
btTypedConstraintData m_typeConstraintData;
|
||||
btTransformFloatData m_rbAFrame; // constraint axii. Assumes z is hinge axis.
|
||||
btTransformFloatData m_rbBFrame;
|
||||
|
||||
float m_linearUpperLimit;
|
||||
float m_linearLowerLimit;
|
||||
|
||||
float m_angularUpperLimit;
|
||||
float m_angularLowerLimit;
|
||||
|
||||
int m_useLinearReferenceFrameA;
|
||||
int m_useOffsetForConstraintFrame;
|
||||
|
||||
};
|
||||
|
||||
|
||||
SIMD_FORCE_INLINE int btSliderConstraint::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btSliderConstraintData);
|
||||
}
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
SIMD_FORCE_INLINE const char* btSliderConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
|
||||
btSliderConstraintData* sliderData = (btSliderConstraintData*) dataBuffer;
|
||||
btTypedConstraint::serialize(&sliderData->m_typeConstraintData,serializer);
|
||||
|
||||
m_frameInA.serializeFloat(sliderData->m_rbAFrame);
|
||||
m_frameInB.serializeFloat(sliderData->m_rbBFrame);
|
||||
|
||||
sliderData->m_linearUpperLimit = float(m_upperLinLimit);
|
||||
sliderData->m_linearLowerLimit = float(m_lowerLinLimit);
|
||||
|
||||
sliderData->m_angularUpperLimit = float(m_upperAngLimit);
|
||||
sliderData->m_angularLowerLimit = float(m_lowerAngLimit);
|
||||
|
||||
sliderData->m_useLinearReferenceFrameA = m_useLinearReferenceFrameA;
|
||||
sliderData->m_useOffsetForConstraintFrame = m_useOffsetForConstraintFrame;
|
||||
|
||||
return "btSliderConstraintData";
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif //SLIDER_CONSTRAINT_H
|
||||
|
@ -113,4 +113,37 @@ btScalar btTypedConstraint::getMotorFactor(btScalar pos, btScalar lowLim, btScal
|
||||
return lim_fact;
|
||||
}
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
const char* btTypedConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
||||
{
|
||||
btTypedConstraintData* tcd = (btTypedConstraintData*) dataBuffer;
|
||||
|
||||
tcd->m_rbA = (btRigidBodyData*)&m_rbA;
|
||||
tcd->m_rbB = (btRigidBodyData*)&m_rbB;
|
||||
|
||||
m_appliedAngularImpulseA.serializeFloat(tcd->m_appliedAngularImpulseA);
|
||||
m_appliedAngularImpulseB.serializeFloat(tcd->m_appliedAngularImpulseB);
|
||||
m_appliedLinearImpulse.serializeFloat(tcd->m_appliedLinearImpulse);
|
||||
|
||||
tcd->m_objectType = m_objectType;
|
||||
tcd->m_needsFeedback = m_needsFeedback;
|
||||
tcd->m_userConstraintId =m_userConstraintId;
|
||||
tcd->m_userConstraintType =m_userConstraintType;
|
||||
|
||||
tcd->m_appliedImpulse = float(m_appliedImpulse);
|
||||
tcd->m_dbgDrawSize = float(m_dbgDrawSize );
|
||||
|
||||
tcd->m_disableCollisionsBetweenLinkedBodies = false;
|
||||
|
||||
int i;
|
||||
for (i=0;i<m_rbA.getNumConstraintRefs();i++)
|
||||
if (m_rbA.getConstraintRef(i) == this)
|
||||
tcd->m_disableCollisionsBetweenLinkedBodies = true;
|
||||
for (i=0;i<m_rbB.getNumConstraintRefs();i++)
|
||||
if (m_rbB.getConstraintRef(i) == this)
|
||||
tcd->m_disableCollisionsBetweenLinkedBodies = true;
|
||||
|
||||
return "btTypedConstraintData";
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Bullet Continuous Collision Detection and Physics Library
|
||||
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
||||
Copyright (c) 2003-2010 Erwin Coumans http://continuousphysics.com/Bullet/
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
@ -21,6 +21,7 @@ class btRigidBody;
|
||||
#include "btSolverConstraint.h"
|
||||
#include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
|
||||
struct btSolverBody;
|
||||
class btSerializer;
|
||||
|
||||
enum btTypedConstraintType
|
||||
{
|
||||
@ -248,6 +249,11 @@ public:
|
||||
return m_dbgDrawSize;
|
||||
}
|
||||
|
||||
virtual int calculateSerializeBufferSize() const;
|
||||
|
||||
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
||||
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
||||
|
||||
};
|
||||
|
||||
// returns angle in range [-SIMD_2_PI, SIMD_2_PI], closest to one of the limits
|
||||
@ -277,4 +283,33 @@ SIMD_FORCE_INLINE btScalar btAdjustAngleToLimits(btScalar angleInRadians, btScal
|
||||
}
|
||||
|
||||
|
||||
struct btTypedConstraintData
|
||||
{
|
||||
btRigidBodyData *m_rbA;
|
||||
btRigidBodyData *m_rbB;
|
||||
|
||||
btVector3FloatData m_appliedLinearImpulse;
|
||||
btVector3FloatData m_appliedAngularImpulseA;
|
||||
btVector3FloatData m_appliedAngularImpulseB;
|
||||
|
||||
int m_objectType;
|
||||
int m_userConstraintType;
|
||||
int m_userConstraintId;
|
||||
int m_needsFeedback;
|
||||
|
||||
float m_appliedImpulse;
|
||||
float m_dbgDrawSize;
|
||||
|
||||
int m_disableCollisionsBetweenLinkedBodies;
|
||||
char m_pad[4];
|
||||
};
|
||||
|
||||
SIMD_FORCE_INLINE int btTypedConstraint::calculateSerializeBufferSize() const
|
||||
{
|
||||
return sizeof(btTypedConstraintData);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif //TYPED_CONSTRAINT_H
|
||||
|
@ -1094,6 +1094,15 @@ void btDiscreteDynamicsWorld::serializeRigidBodies(btSerializer* serializer)
|
||||
serializer->finalizeChunk(chunk,structType,BT_RIGIDBODY_CODE,colObj);
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0;i<m_constraints.size();i++)
|
||||
{
|
||||
btTypedConstraint* constraint = m_constraints[i];
|
||||
int size = constraint->calculateSerializeBufferSize();
|
||||
btChunk* chunk = serializer->allocate(size,1);
|
||||
const char* structType = constraint->serialize(chunk->m_oldPtr,serializer);
|
||||
serializer->finalizeChunk(chunk,structType,BT_CONSTRAINT_CODE,constraint);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
unsigned char sBulletDNAstr64[]= {
|
||||
83,68,78,65,78,65,77,69,92,0,0,0,109,95,115,105,122,101,0,109,
|
||||
83,68,78,65,78,65,77,69,-122,0,0,0,109,95,115,105,122,101,0,109,
|
||||
95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95,
|
||||
99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111,
|
||||
108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110,
|
||||
@ -9,153 +9,221 @@ unsigned char sBulletDNAstr64[]= {
|
||||
109,95,117,115,101,114,80,111,105,110,116,101,114,0,109,95,115,104,97,112,
|
||||
101,84,121,112,101,0,109,95,112,97,100,100,105,110,103,91,52,93,0,109,
|
||||
95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,
|
||||
109,95,108,111,99,97,108,83,99,97,108,105,110,103,0,109,95,105,109,112,
|
||||
108,105,99,105,116,83,104,97,112,101,68,105,109,101,110,115,105,111,110,115,
|
||||
0,109,95,99,111,108,108,105,115,105,111,110,77,97,114,103,105,110,0,109,
|
||||
95,112,97,100,100,105,110,103,0,109,95,112,111,115,0,109,95,114,97,100,
|
||||
105,117,115,0,109,95,99,111,110,118,101,120,73,110,116,101,114,110,97,108,
|
||||
83,104,97,112,101,68,97,116,97,0,42,109,95,108,111,99,97,108,80,111,
|
||||
115,105,116,105,111,110,65,114,114,97,121,80,116,114,0,109,95,108,111,99,
|
||||
97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0,
|
||||
109,95,118,97,108,117,101,0,105,110,116,0,42,109,95,118,101,114,116,105,
|
||||
99,101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,
|
||||
42,109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,105,110,100,105,
|
||||
99,101,115,49,54,0,109,95,110,117,109,84,114,105,97,110,103,108,101,115,
|
||||
0,109,95,110,117,109,86,101,114,116,105,99,101,115,0,42,109,95,109,101,
|
||||
115,104,80,97,114,116,115,80,116,114,0,109,95,115,99,97,108,105,110,103,
|
||||
0,109,95,110,117,109,77,101,115,104,80,97,114,116,115,0,109,95,109,101,
|
||||
115,104,73,110,116,101,114,102,97,99,101,0,109,95,116,114,97,110,115,102,
|
||||
111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109,95,
|
||||
99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104,105,
|
||||
108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104,97,
|
||||
112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97,112,
|
||||
101,115,0,109,95,117,112,65,120,105,115,0,42,109,95,117,110,115,99,97,
|
||||
108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42,109,
|
||||
95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98,108,
|
||||
101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80,111,
|
||||
105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0,42,
|
||||
109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,
|
||||
109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,
|
||||
114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,
|
||||
109,95,117,115,101,114,79,98,106,101,99,116,80,111,105,110,116,101,114,0,
|
||||
109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,
|
||||
110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97,
|
||||
110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,
|
||||
111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105,
|
||||
110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86,
|
||||
101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105,
|
||||
99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,
|
||||
114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109,
|
||||
95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,
|
||||
102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,
|
||||
111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,
|
||||
99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,
|
||||
109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,
|
||||
0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,
|
||||
99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97,
|
||||
103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111,
|
||||
109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105,
|
||||
111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84,
|
||||
121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105,
|
||||
116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,
|
||||
68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110,
|
||||
115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108,
|
||||
111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99,
|
||||
105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0,
|
||||
109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97,
|
||||
118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108,
|
||||
101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97,
|
||||
76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109,
|
||||
95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114,
|
||||
115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105,
|
||||
110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0,
|
||||
109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70,
|
||||
97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105,
|
||||
110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,
|
||||
83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,
|
||||
108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,
|
||||
109,95,108,111,99,97,108,83,99,97,108,105,110,103,0,109,95,112,108,97,
|
||||
110,101,78,111,114,109,97,108,0,109,95,112,108,97,110,101,67,111,110,115,
|
||||
116,97,110,116,0,109,95,112,97,100,91,52,93,0,109,95,105,109,112,108,
|
||||
105,99,105,116,83,104,97,112,101,68,105,109,101,110,115,105,111,110,115,0,
|
||||
109,95,99,111,108,108,105,115,105,111,110,77,97,114,103,105,110,0,109,95,
|
||||
112,97,100,100,105,110,103,0,109,95,112,111,115,0,109,95,114,97,100,105,
|
||||
117,115,0,109,95,99,111,110,118,101,120,73,110,116,101,114,110,97,108,83,
|
||||
104,97,112,101,68,97,116,97,0,42,109,95,108,111,99,97,108,80,111,115,
|
||||
105,116,105,111,110,65,114,114,97,121,80,116,114,0,109,95,108,111,99,97,
|
||||
108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0,109,
|
||||
95,118,97,108,117,101,0,105,110,116,0,42,109,95,118,101,114,116,105,99,
|
||||
101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,42,
|
||||
109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,105,110,100,105,99,
|
||||
101,115,49,54,0,109,95,110,117,109,84,114,105,97,110,103,108,101,115,0,
|
||||
109,95,110,117,109,86,101,114,116,105,99,101,115,0,42,109,95,109,101,115,
|
||||
104,80,97,114,116,115,80,116,114,0,109,95,115,99,97,108,105,110,103,0,
|
||||
109,95,110,117,109,77,101,115,104,80,97,114,116,115,0,109,95,109,101,115,
|
||||
104,73,110,116,101,114,102,97,99,101,0,109,95,116,114,97,110,115,102,111,
|
||||
114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109,95,99,
|
||||
104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104,105,108,
|
||||
100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104,97,112,
|
||||
101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97,112,101,
|
||||
115,0,109,95,117,112,65,120,105,115,0,42,109,95,117,110,115,99,97,108,
|
||||
101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42,109,95,
|
||||
117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98,108,101,
|
||||
80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80,111,105,
|
||||
110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0,42,109,
|
||||
95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,109,
|
||||
95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,114,
|
||||
111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,
|
||||
95,117,115,101,114,79,98,106,101,99,116,80,111,105,110,116,101,114,0,109,
|
||||
95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,110,
|
||||
116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97,110,
|
||||
115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,
|
||||
110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105,110,
|
||||
116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86,101,
|
||||
108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105,99,
|
||||
70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,114,
|
||||
111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,
|
||||
100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,102,
|
||||
114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,111,
|
||||
110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,99,
|
||||
100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,109,
|
||||
95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,0,
|
||||
109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,99,
|
||||
116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97,103,
|
||||
115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111,109,
|
||||
112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105,111,
|
||||
110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84,121,
|
||||
112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105,116,
|
||||
104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,
|
||||
97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110,115,
|
||||
111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108,111,
|
||||
99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99,105,
|
||||
116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0,109,
|
||||
95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97,118,
|
||||
105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108,101,
|
||||
114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97,76,
|
||||
111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109,95,
|
||||
116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114,115,
|
||||
101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105,110,
|
||||
103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0,109,
|
||||
95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70,97,
|
||||
99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105,110,
|
||||
101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,
|
||||
113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,
|
||||
97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105,
|
||||
110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,
|
||||
100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84,
|
||||
104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97,
|
||||
108,68,97,109,112,105,110,103,0,0,0,0,84,89,80,69,37,0,0,0,
|
||||
99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,
|
||||
111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,
|
||||
108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,
|
||||
110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,
|
||||
121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,
|
||||
116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,
|
||||
111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,
|
||||
105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,
|
||||
114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,
|
||||
114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,
|
||||
84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,
|
||||
98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,
|
||||
0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,
|
||||
112,101,68,97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,
|
||||
82,97,100,105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,
|
||||
83,104,97,112,101,68,97,116,97,0,98,116,73,110,116,73,110,100,101,120,
|
||||
68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,
|
||||
68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,
|
||||
98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,
|
||||
97,99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,
|
||||
115,104,83,104,97,112,101,68,97,116,97,0,98,116,67,111,109,112,111,117,
|
||||
110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,98,116,67,
|
||||
111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,98,116,67,
|
||||
121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,98,116,67,
|
||||
97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,98,116,67,111,
|
||||
110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,98,116,
|
||||
67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,111,117,98,108,
|
||||
101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,
|
||||
101,99,116,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,100,
|
||||
66,111,100,121,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,
|
||||
100,66,111,100,121,68,111,117,98,108,101,68,97,116,97,0,84,76,69,78,
|
||||
1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0,8,0,0,0,
|
||||
16,0,48,0,16,0,16,0,32,0,48,0,96,0,64,0,-128,0,16,0,
|
||||
56,0,20,0,72,0,4,0,4,0,40,0,32,0,56,0,80,0,32,0,
|
||||
64,0,64,0,80,0,-40,1,8,1,-16,1,-88,3,0,0,83,84,82,67,
|
||||
27,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,
|
||||
11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,
|
||||
9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,
|
||||
8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,
|
||||
17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,
|
||||
14,0,11,0,19,0,3,0,9,0,12,0,4,0,13,0,0,0,14,0,
|
||||
20,0,5,0,19,0,15,0,13,0,16,0,13,0,17,0,7,0,18,0,
|
||||
4,0,19,0,21,0,2,0,13,0,20,0,7,0,21,0,22,0,4,0,
|
||||
20,0,22,0,21,0,23,0,4,0,24,0,0,0,14,0,23,0,1,0,
|
||||
4,0,25,0,24,0,2,0,2,0,26,0,2,0,25,0,25,0,6,0,
|
||||
13,0,27,0,14,0,28,0,23,0,29,0,24,0,30,0,4,0,31,0,
|
||||
4,0,32,0,26,0,4,0,25,0,33,0,13,0,34,0,4,0,35,0,
|
||||
0,0,14,0,27,0,4,0,19,0,15,0,26,0,36,0,7,0,18,0,
|
||||
0,0,14,0,28,0,4,0,17,0,37,0,19,0,38,0,4,0,39,0,
|
||||
7,0,40,0,29,0,4,0,19,0,15,0,28,0,41,0,4,0,42,0,
|
||||
7,0,18,0,30,0,3,0,20,0,22,0,4,0,43,0,0,0,14,0,
|
||||
31,0,3,0,20,0,22,0,4,0,43,0,0,0,14,0,32,0,5,0,
|
||||
20,0,22,0,13,0,44,0,14,0,45,0,4,0,46,0,0,0,47,0,
|
||||
33,0,24,0,9,0,48,0,9,0,49,0,19,0,50,0,9,0,51,0,
|
||||
18,0,52,0,18,0,53,0,14,0,54,0,14,0,55,0,14,0,56,0,
|
||||
8,0,57,0,8,0,58,0,8,0,59,0,8,0,60,0,8,0,61,0,
|
||||
8,0,62,0,8,0,63,0,4,0,64,0,4,0,65,0,4,0,66,0,
|
||||
4,0,67,0,4,0,68,0,4,0,69,0,4,0,70,0,0,0,14,0,
|
||||
34,0,23,0,9,0,48,0,9,0,49,0,19,0,50,0,9,0,51,0,
|
||||
17,0,52,0,17,0,53,0,13,0,54,0,13,0,55,0,13,0,56,0,
|
||||
7,0,57,0,7,0,58,0,7,0,59,0,7,0,60,0,7,0,61,0,
|
||||
7,0,62,0,7,0,63,0,4,0,64,0,4,0,65,0,4,0,66,0,
|
||||
4,0,67,0,4,0,68,0,4,0,69,0,4,0,70,0,35,0,21,0,
|
||||
34,0,71,0,15,0,72,0,13,0,73,0,13,0,74,0,13,0,75,0,
|
||||
13,0,76,0,13,0,77,0,13,0,78,0,13,0,79,0,13,0,80,0,
|
||||
13,0,81,0,7,0,82,0,7,0,83,0,7,0,84,0,7,0,85,0,
|
||||
7,0,86,0,7,0,87,0,7,0,88,0,7,0,89,0,7,0,90,0,
|
||||
4,0,91,0,36,0,22,0,33,0,71,0,16,0,72,0,14,0,73,0,
|
||||
14,0,74,0,14,0,75,0,14,0,76,0,14,0,77,0,14,0,78,0,
|
||||
14,0,79,0,14,0,80,0,14,0,81,0,8,0,82,0,8,0,83,0,
|
||||
8,0,84,0,8,0,85,0,8,0,86,0,8,0,87,0,8,0,88,0,
|
||||
8,0,89,0,8,0,90,0,4,0,91,0,0,0,14,0,};
|
||||
97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,113,
|
||||
114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,97,
|
||||
114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105,110,
|
||||
101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,
|
||||
0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84,104,
|
||||
114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97,108,
|
||||
68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115,116,114,97,
|
||||
105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98,65,0,42,
|
||||
109,95,114,98,66,0,109,95,97,112,112,108,105,101,100,76,105,110,101,97,
|
||||
114,73,109,112,117,108,115,101,0,109,95,97,112,112,108,105,101,100,65,110,
|
||||
103,117,108,97,114,73,109,112,117,108,115,101,65,0,109,95,97,112,112,108,
|
||||
105,101,100,65,110,103,117,108,97,114,73,109,112,117,108,115,101,66,0,109,
|
||||
95,111,98,106,101,99,116,84,121,112,101,0,109,95,117,115,101,114,67,111,
|
||||
110,115,116,114,97,105,110,116,84,121,112,101,0,109,95,117,115,101,114,67,
|
||||
111,110,115,116,114,97,105,110,116,73,100,0,109,95,110,101,101,100,115,70,
|
||||
101,101,100,98,97,99,107,0,109,95,97,112,112,108,105,101,100,73,109,112,
|
||||
117,108,115,101,0,109,95,100,98,103,68,114,97,119,83,105,122,101,0,109,
|
||||
95,100,105,115,97,98,108,101,67,111,108,108,105,115,105,111,110,115,66,101,
|
||||
116,119,101,101,110,76,105,110,107,101,100,66,111,100,105,101,115,0,109,95,
|
||||
116,121,112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,
|
||||
95,112,105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,
|
||||
0,109,95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,
|
||||
109,101,0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,
|
||||
109,101,65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,
|
||||
101,110,97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,
|
||||
95,109,111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,
|
||||
0,109,95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,
|
||||
95,108,111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,
|
||||
105,109,105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,
|
||||
0,109,95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,
|
||||
120,97,116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,
|
||||
83,112,97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,
|
||||
95,116,119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,
|
||||
0,109,95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,
|
||||
109,95,108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,
|
||||
95,97,110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,
|
||||
95,97,110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,
|
||||
95,117,115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,
|
||||
114,97,109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,
|
||||
67,111,110,115,116,114,97,105,110,116,70,114,97,109,101,0,84,89,80,69,
|
||||
48,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116,
|
||||
0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111,
|
||||
110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100,
|
||||
0,80,111,105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,
|
||||
105,99,115,83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,
|
||||
116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,
|
||||
86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,
|
||||
77,97,116,114,105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98,
|
||||
116,77,97,116,114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97,
|
||||
0,98,116,84,114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116,
|
||||
97,0,98,116,84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68,
|
||||
97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,
|
||||
68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,
|
||||
97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,
|
||||
114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,
|
||||
116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,
|
||||
105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98,116,73,
|
||||
110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,
|
||||
110,116,73,110,100,101,120,68,97,116,97,0,98,116,77,101,115,104,80,97,
|
||||
114,116,68,97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,
|
||||
104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,98,116,84,114,105,
|
||||
97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,
|
||||
116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,
|
||||
97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,
|
||||
97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,
|
||||
97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,
|
||||
116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,
|
||||
68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,
|
||||
99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108,105,
|
||||
115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,
|
||||
98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,
|
||||
0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101,68,97,
|
||||
116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102,111,49,
|
||||
0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,
|
||||
116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97,0,98,
|
||||
116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,
|
||||
110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110,116,50,
|
||||
80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117,98,108,
|
||||
101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,
|
||||
105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,
|
||||
101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,
|
||||
0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,
|
||||
110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68,111,102,
|
||||
67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105,
|
||||
100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,
|
||||
84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0,
|
||||
8,0,0,0,16,0,48,0,16,0,16,0,32,0,48,0,96,0,64,0,
|
||||
-128,0,16,0,56,0,56,0,20,0,72,0,4,0,4,0,40,0,32,0,
|
||||
56,0,80,0,32,0,64,0,64,0,80,0,-40,1,8,1,-16,1,-88,3,
|
||||
8,0,96,0,0,0,-128,0,-96,0,-120,1,8,1,0,1,40,1,-8,0,
|
||||
83,84,82,67,37,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0,
|
||||
9,0,2,0,11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0,
|
||||
12,0,2,0,9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0,
|
||||
14,0,1,0,8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0,
|
||||
14,0,9,0,17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0,
|
||||
16,0,10,0,14,0,11,0,19,0,3,0,9,0,12,0,4,0,13,0,
|
||||
0,0,14,0,20,0,5,0,19,0,15,0,13,0,16,0,13,0,17,0,
|
||||
7,0,18,0,0,0,19,0,21,0,5,0,19,0,15,0,13,0,16,0,
|
||||
13,0,20,0,7,0,21,0,4,0,22,0,22,0,2,0,13,0,23,0,
|
||||
7,0,24,0,23,0,4,0,21,0,25,0,22,0,26,0,4,0,27,0,
|
||||
0,0,14,0,24,0,1,0,4,0,28,0,25,0,2,0,2,0,29,0,
|
||||
2,0,28,0,26,0,6,0,13,0,30,0,14,0,31,0,24,0,32,0,
|
||||
25,0,33,0,4,0,34,0,4,0,35,0,27,0,4,0,26,0,36,0,
|
||||
13,0,37,0,4,0,38,0,0,0,14,0,28,0,4,0,19,0,15,0,
|
||||
27,0,39,0,7,0,21,0,0,0,14,0,29,0,4,0,17,0,40,0,
|
||||
19,0,41,0,4,0,42,0,7,0,43,0,30,0,4,0,19,0,15,0,
|
||||
29,0,44,0,4,0,45,0,7,0,21,0,31,0,3,0,21,0,25,0,
|
||||
4,0,46,0,0,0,14,0,32,0,3,0,21,0,25,0,4,0,46,0,
|
||||
0,0,14,0,33,0,5,0,21,0,25,0,13,0,47,0,14,0,48,0,
|
||||
4,0,49,0,0,0,50,0,34,0,24,0,9,0,51,0,9,0,52,0,
|
||||
19,0,53,0,9,0,54,0,18,0,55,0,18,0,56,0,14,0,57,0,
|
||||
14,0,58,0,14,0,59,0,8,0,60,0,8,0,61,0,8,0,62,0,
|
||||
8,0,63,0,8,0,64,0,8,0,65,0,8,0,66,0,4,0,67,0,
|
||||
4,0,68,0,4,0,69,0,4,0,70,0,4,0,71,0,4,0,72,0,
|
||||
4,0,73,0,0,0,14,0,35,0,23,0,9,0,51,0,9,0,52,0,
|
||||
19,0,53,0,9,0,54,0,17,0,55,0,17,0,56,0,13,0,57,0,
|
||||
13,0,58,0,13,0,59,0,7,0,60,0,7,0,61,0,7,0,62,0,
|
||||
7,0,63,0,7,0,64,0,7,0,65,0,7,0,66,0,4,0,67,0,
|
||||
4,0,68,0,4,0,69,0,4,0,70,0,4,0,71,0,4,0,72,0,
|
||||
4,0,73,0,36,0,21,0,35,0,74,0,15,0,75,0,13,0,76,0,
|
||||
13,0,77,0,13,0,78,0,13,0,79,0,13,0,80,0,13,0,81,0,
|
||||
13,0,82,0,13,0,83,0,13,0,84,0,7,0,85,0,7,0,86,0,
|
||||
7,0,87,0,7,0,88,0,7,0,89,0,7,0,90,0,7,0,91,0,
|
||||
7,0,92,0,7,0,93,0,4,0,94,0,37,0,22,0,34,0,74,0,
|
||||
16,0,75,0,14,0,76,0,14,0,77,0,14,0,78,0,14,0,79,0,
|
||||
14,0,80,0,14,0,81,0,14,0,82,0,14,0,83,0,14,0,84,0,
|
||||
8,0,85,0,8,0,86,0,8,0,87,0,8,0,88,0,8,0,89,0,
|
||||
8,0,90,0,8,0,91,0,8,0,92,0,8,0,93,0,4,0,94,0,
|
||||
0,0,14,0,38,0,2,0,4,0,95,0,4,0,96,0,39,0,13,0,
|
||||
40,0,97,0,40,0,98,0,13,0,99,0,13,0,100,0,13,0,101,0,
|
||||
4,0,102,0,4,0,103,0,4,0,104,0,4,0,105,0,7,0,106,0,
|
||||
7,0,107,0,4,0,108,0,0,0,19,0,41,0,3,0,39,0,109,0,
|
||||
13,0,110,0,13,0,111,0,42,0,3,0,39,0,109,0,14,0,110,0,
|
||||
14,0,111,0,43,0,13,0,39,0,109,0,18,0,112,0,18,0,113,0,
|
||||
4,0,114,0,4,0,115,0,4,0,116,0,7,0,117,0,7,0,118,0,
|
||||
7,0,119,0,7,0,120,0,7,0,121,0,7,0,122,0,7,0,123,0,
|
||||
44,0,13,0,39,0,109,0,17,0,112,0,17,0,113,0,4,0,114,0,
|
||||
4,0,115,0,4,0,116,0,7,0,117,0,7,0,118,0,7,0,119,0,
|
||||
7,0,120,0,7,0,121,0,7,0,122,0,7,0,123,0,45,0,11,0,
|
||||
39,0,109,0,17,0,112,0,17,0,113,0,7,0,124,0,7,0,125,0,
|
||||
7,0,126,0,7,0,121,0,7,0,122,0,7,0,123,0,7,0,127,0,
|
||||
0,0,19,0,46,0,9,0,39,0,109,0,17,0,112,0,17,0,113,0,
|
||||
13,0,-128,0,13,0,-127,0,13,0,-126,0,13,0,-125,0,4,0,-124,0,
|
||||
4,0,-123,0,47,0,9,0,39,0,109,0,17,0,112,0,17,0,113,0,
|
||||
7,0,-128,0,7,0,-127,0,7,0,-126,0,7,0,-125,0,4,0,-124,0,
|
||||
4,0,-123,0,};
|
||||
int sBulletDNAlen64= sizeof(sBulletDNAstr64);
|
||||
|
||||
unsigned char sBulletDNAstr[]= {
|
||||
83,68,78,65,78,65,77,69,92,0,0,0,109,95,115,105,122,101,0,109,
|
||||
83,68,78,65,78,65,77,69,-122,0,0,0,109,95,115,105,122,101,0,109,
|
||||
95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95,
|
||||
99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111,
|
||||
108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110,
|
||||
@ -165,147 +233,216 @@ unsigned char sBulletDNAstr[]= {
|
||||
109,95,117,115,101,114,80,111,105,110,116,101,114,0,109,95,115,104,97,112,
|
||||
101,84,121,112,101,0,109,95,112,97,100,100,105,110,103,91,52,93,0,109,
|
||||
95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,
|
||||
109,95,108,111,99,97,108,83,99,97,108,105,110,103,0,109,95,105,109,112,
|
||||
108,105,99,105,116,83,104,97,112,101,68,105,109,101,110,115,105,111,110,115,
|
||||
0,109,95,99,111,108,108,105,115,105,111,110,77,97,114,103,105,110,0,109,
|
||||
95,112,97,100,100,105,110,103,0,109,95,112,111,115,0,109,95,114,97,100,
|
||||
105,117,115,0,109,95,99,111,110,118,101,120,73,110,116,101,114,110,97,108,
|
||||
83,104,97,112,101,68,97,116,97,0,42,109,95,108,111,99,97,108,80,111,
|
||||
115,105,116,105,111,110,65,114,114,97,121,80,116,114,0,109,95,108,111,99,
|
||||
97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0,
|
||||
109,95,118,97,108,117,101,0,105,110,116,0,42,109,95,118,101,114,116,105,
|
||||
99,101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,
|
||||
42,109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,105,110,100,105,
|
||||
99,101,115,49,54,0,109,95,110,117,109,84,114,105,97,110,103,108,101,115,
|
||||
0,109,95,110,117,109,86,101,114,116,105,99,101,115,0,42,109,95,109,101,
|
||||
115,104,80,97,114,116,115,80,116,114,0,109,95,115,99,97,108,105,110,103,
|
||||
0,109,95,110,117,109,77,101,115,104,80,97,114,116,115,0,109,95,109,101,
|
||||
115,104,73,110,116,101,114,102,97,99,101,0,109,95,116,114,97,110,115,102,
|
||||
111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109,95,
|
||||
99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104,105,
|
||||
108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104,97,
|
||||
112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97,112,
|
||||
101,115,0,109,95,117,112,65,120,105,115,0,42,109,95,117,110,115,99,97,
|
||||
108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42,109,
|
||||
95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98,108,
|
||||
101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80,111,
|
||||
105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0,42,
|
||||
109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,
|
||||
109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,
|
||||
114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,
|
||||
109,95,117,115,101,114,79,98,106,101,99,116,80,111,105,110,116,101,114,0,
|
||||
109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,
|
||||
110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97,
|
||||
110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,
|
||||
111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105,
|
||||
110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86,
|
||||
101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105,
|
||||
99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,
|
||||
114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109,
|
||||
95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,
|
||||
102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,
|
||||
111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,
|
||||
99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,
|
||||
109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,
|
||||
0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,
|
||||
99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97,
|
||||
103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111,
|
||||
109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105,
|
||||
111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84,
|
||||
121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105,
|
||||
116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,
|
||||
68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110,
|
||||
115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108,
|
||||
111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99,
|
||||
105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0,
|
||||
109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97,
|
||||
118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108,
|
||||
101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97,
|
||||
76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109,
|
||||
95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114,
|
||||
115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105,
|
||||
110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0,
|
||||
109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70,
|
||||
97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105,
|
||||
110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,
|
||||
83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,
|
||||
108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,
|
||||
109,95,108,111,99,97,108,83,99,97,108,105,110,103,0,109,95,112,108,97,
|
||||
110,101,78,111,114,109,97,108,0,109,95,112,108,97,110,101,67,111,110,115,
|
||||
116,97,110,116,0,109,95,112,97,100,91,52,93,0,109,95,105,109,112,108,
|
||||
105,99,105,116,83,104,97,112,101,68,105,109,101,110,115,105,111,110,115,0,
|
||||
109,95,99,111,108,108,105,115,105,111,110,77,97,114,103,105,110,0,109,95,
|
||||
112,97,100,100,105,110,103,0,109,95,112,111,115,0,109,95,114,97,100,105,
|
||||
117,115,0,109,95,99,111,110,118,101,120,73,110,116,101,114,110,97,108,83,
|
||||
104,97,112,101,68,97,116,97,0,42,109,95,108,111,99,97,108,80,111,115,
|
||||
105,116,105,111,110,65,114,114,97,121,80,116,114,0,109,95,108,111,99,97,
|
||||
108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0,109,
|
||||
95,118,97,108,117,101,0,105,110,116,0,42,109,95,118,101,114,116,105,99,
|
||||
101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,42,
|
||||
109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,105,110,100,105,99,
|
||||
101,115,49,54,0,109,95,110,117,109,84,114,105,97,110,103,108,101,115,0,
|
||||
109,95,110,117,109,86,101,114,116,105,99,101,115,0,42,109,95,109,101,115,
|
||||
104,80,97,114,116,115,80,116,114,0,109,95,115,99,97,108,105,110,103,0,
|
||||
109,95,110,117,109,77,101,115,104,80,97,114,116,115,0,109,95,109,101,115,
|
||||
104,73,110,116,101,114,102,97,99,101,0,109,95,116,114,97,110,115,102,111,
|
||||
114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109,95,99,
|
||||
104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104,105,108,
|
||||
100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104,97,112,
|
||||
101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97,112,101,
|
||||
115,0,109,95,117,112,65,120,105,115,0,42,109,95,117,110,115,99,97,108,
|
||||
101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42,109,95,
|
||||
117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98,108,101,
|
||||
80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80,111,105,
|
||||
110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0,42,109,
|
||||
95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,109,
|
||||
95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,114,
|
||||
111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,
|
||||
95,117,115,101,114,79,98,106,101,99,116,80,111,105,110,116,101,114,0,109,
|
||||
95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,110,
|
||||
116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97,110,
|
||||
115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,
|
||||
110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105,110,
|
||||
116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86,101,
|
||||
108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105,99,
|
||||
70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,114,
|
||||
111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,
|
||||
100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,102,
|
||||
114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,111,
|
||||
110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,99,
|
||||
100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,109,
|
||||
95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,0,
|
||||
109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,99,
|
||||
116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97,103,
|
||||
115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111,109,
|
||||
112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105,111,
|
||||
110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84,121,
|
||||
112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105,116,
|
||||
104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,
|
||||
97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110,115,
|
||||
111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108,111,
|
||||
99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99,105,
|
||||
116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0,109,
|
||||
95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97,118,
|
||||
105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108,101,
|
||||
114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97,76,
|
||||
111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109,95,
|
||||
116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114,115,
|
||||
101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105,110,
|
||||
103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0,109,
|
||||
95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70,97,
|
||||
99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105,110,
|
||||
101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,
|
||||
113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,
|
||||
97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105,
|
||||
110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,
|
||||
100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84,
|
||||
104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97,
|
||||
108,68,97,109,112,105,110,103,0,0,0,0,84,89,80,69,37,0,0,0,
|
||||
99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,
|
||||
111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,
|
||||
108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,
|
||||
110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,
|
||||
121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,
|
||||
116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,
|
||||
111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,
|
||||
105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,
|
||||
114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,
|
||||
114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,
|
||||
84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,
|
||||
98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,
|
||||
0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,
|
||||
112,101,68,97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,
|
||||
82,97,100,105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,
|
||||
83,104,97,112,101,68,97,116,97,0,98,116,73,110,116,73,110,100,101,120,
|
||||
68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,
|
||||
68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,
|
||||
98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,
|
||||
97,99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,
|
||||
115,104,83,104,97,112,101,68,97,116,97,0,98,116,67,111,109,112,111,117,
|
||||
110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,98,116,67,
|
||||
111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,98,116,67,
|
||||
121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,98,116,67,
|
||||
97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,98,116,67,111,
|
||||
110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,98,116,
|
||||
67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,111,117,98,108,
|
||||
101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,
|
||||
101,99,116,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,100,
|
||||
66,111,100,121,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,
|
||||
100,66,111,100,121,68,111,117,98,108,101,68,97,116,97,0,84,76,69,78,
|
||||
1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0,8,0,0,0,
|
||||
12,0,36,0,8,0,16,0,32,0,48,0,96,0,64,0,-128,0,12,0,
|
||||
52,0,20,0,64,0,4,0,4,0,24,0,28,0,48,0,76,0,24,0,
|
||||
60,0,60,0,68,0,-56,1,-8,0,-32,1,-104,3,0,0,83,84,82,67,
|
||||
27,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,
|
||||
11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,
|
||||
9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,
|
||||
8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,
|
||||
17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,
|
||||
14,0,11,0,19,0,3,0,9,0,12,0,4,0,13,0,0,0,14,0,
|
||||
20,0,5,0,19,0,15,0,13,0,16,0,13,0,17,0,7,0,18,0,
|
||||
4,0,19,0,21,0,2,0,13,0,20,0,7,0,21,0,22,0,4,0,
|
||||
20,0,22,0,21,0,23,0,4,0,24,0,0,0,14,0,23,0,1,0,
|
||||
4,0,25,0,24,0,2,0,2,0,26,0,2,0,25,0,25,0,6,0,
|
||||
13,0,27,0,14,0,28,0,23,0,29,0,24,0,30,0,4,0,31,0,
|
||||
4,0,32,0,26,0,4,0,25,0,33,0,13,0,34,0,4,0,35,0,
|
||||
0,0,14,0,27,0,4,0,19,0,15,0,26,0,36,0,7,0,18,0,
|
||||
0,0,14,0,28,0,4,0,17,0,37,0,19,0,38,0,4,0,39,0,
|
||||
7,0,40,0,29,0,4,0,19,0,15,0,28,0,41,0,4,0,42,0,
|
||||
7,0,18,0,30,0,3,0,20,0,22,0,4,0,43,0,0,0,14,0,
|
||||
31,0,3,0,20,0,22,0,4,0,43,0,0,0,14,0,32,0,5,0,
|
||||
20,0,22,0,13,0,44,0,14,0,45,0,4,0,46,0,0,0,47,0,
|
||||
33,0,24,0,9,0,48,0,9,0,49,0,19,0,50,0,9,0,51,0,
|
||||
18,0,52,0,18,0,53,0,14,0,54,0,14,0,55,0,14,0,56,0,
|
||||
8,0,57,0,8,0,58,0,8,0,59,0,8,0,60,0,8,0,61,0,
|
||||
8,0,62,0,8,0,63,0,4,0,64,0,4,0,65,0,4,0,66,0,
|
||||
4,0,67,0,4,0,68,0,4,0,69,0,4,0,70,0,0,0,14,0,
|
||||
34,0,23,0,9,0,48,0,9,0,49,0,19,0,50,0,9,0,51,0,
|
||||
17,0,52,0,17,0,53,0,13,0,54,0,13,0,55,0,13,0,56,0,
|
||||
7,0,57,0,7,0,58,0,7,0,59,0,7,0,60,0,7,0,61,0,
|
||||
7,0,62,0,7,0,63,0,4,0,64,0,4,0,65,0,4,0,66,0,
|
||||
4,0,67,0,4,0,68,0,4,0,69,0,4,0,70,0,35,0,21,0,
|
||||
34,0,71,0,15,0,72,0,13,0,73,0,13,0,74,0,13,0,75,0,
|
||||
13,0,76,0,13,0,77,0,13,0,78,0,13,0,79,0,13,0,80,0,
|
||||
13,0,81,0,7,0,82,0,7,0,83,0,7,0,84,0,7,0,85,0,
|
||||
7,0,86,0,7,0,87,0,7,0,88,0,7,0,89,0,7,0,90,0,
|
||||
4,0,91,0,36,0,22,0,33,0,71,0,16,0,72,0,14,0,73,0,
|
||||
14,0,74,0,14,0,75,0,14,0,76,0,14,0,77,0,14,0,78,0,
|
||||
14,0,79,0,14,0,80,0,14,0,81,0,8,0,82,0,8,0,83,0,
|
||||
8,0,84,0,8,0,85,0,8,0,86,0,8,0,87,0,8,0,88,0,
|
||||
8,0,89,0,8,0,90,0,4,0,91,0,0,0,14,0,};
|
||||
97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,113,
|
||||
114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,97,
|
||||
114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105,110,
|
||||
101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,
|
||||
0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84,104,
|
||||
114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97,108,
|
||||
68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115,116,114,97,
|
||||
105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98,65,0,42,
|
||||
109,95,114,98,66,0,109,95,97,112,112,108,105,101,100,76,105,110,101,97,
|
||||
114,73,109,112,117,108,115,101,0,109,95,97,112,112,108,105,101,100,65,110,
|
||||
103,117,108,97,114,73,109,112,117,108,115,101,65,0,109,95,97,112,112,108,
|
||||
105,101,100,65,110,103,117,108,97,114,73,109,112,117,108,115,101,66,0,109,
|
||||
95,111,98,106,101,99,116,84,121,112,101,0,109,95,117,115,101,114,67,111,
|
||||
110,115,116,114,97,105,110,116,84,121,112,101,0,109,95,117,115,101,114,67,
|
||||
111,110,115,116,114,97,105,110,116,73,100,0,109,95,110,101,101,100,115,70,
|
||||
101,101,100,98,97,99,107,0,109,95,97,112,112,108,105,101,100,73,109,112,
|
||||
117,108,115,101,0,109,95,100,98,103,68,114,97,119,83,105,122,101,0,109,
|
||||
95,100,105,115,97,98,108,101,67,111,108,108,105,115,105,111,110,115,66,101,
|
||||
116,119,101,101,110,76,105,110,107,101,100,66,111,100,105,101,115,0,109,95,
|
||||
116,121,112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,
|
||||
95,112,105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,
|
||||
0,109,95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,
|
||||
109,101,0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,
|
||||
109,101,65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,
|
||||
101,110,97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,
|
||||
95,109,111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,
|
||||
0,109,95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,
|
||||
95,108,111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,
|
||||
105,109,105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,
|
||||
0,109,95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,
|
||||
120,97,116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,
|
||||
83,112,97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,
|
||||
95,116,119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,
|
||||
0,109,95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,
|
||||
109,95,108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,
|
||||
95,97,110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,
|
||||
95,97,110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,
|
||||
95,117,115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,
|
||||
114,97,109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,
|
||||
67,111,110,115,116,114,97,105,110,116,70,114,97,109,101,0,84,89,80,69,
|
||||
48,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116,
|
||||
0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111,
|
||||
110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100,
|
||||
0,80,111,105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,
|
||||
105,99,115,83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,
|
||||
116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,
|
||||
86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,
|
||||
77,97,116,114,105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98,
|
||||
116,77,97,116,114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97,
|
||||
0,98,116,84,114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116,
|
||||
97,0,98,116,84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68,
|
||||
97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,
|
||||
68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,
|
||||
97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,
|
||||
114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,
|
||||
116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,
|
||||
105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98,116,73,
|
||||
110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,
|
||||
110,116,73,110,100,101,120,68,97,116,97,0,98,116,77,101,115,104,80,97,
|
||||
114,116,68,97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,
|
||||
104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,98,116,84,114,105,
|
||||
97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,
|
||||
116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,
|
||||
97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,
|
||||
97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,
|
||||
97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,
|
||||
116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,
|
||||
68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,
|
||||
99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108,105,
|
||||
115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,
|
||||
98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,
|
||||
0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101,68,97,
|
||||
116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102,111,49,
|
||||
0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,
|
||||
116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97,0,98,
|
||||
116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,
|
||||
110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110,116,50,
|
||||
80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117,98,108,
|
||||
101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,
|
||||
105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,
|
||||
101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,
|
||||
0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,
|
||||
110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68,111,102,
|
||||
67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105,
|
||||
100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,
|
||||
84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0,
|
||||
8,0,0,0,12,0,36,0,8,0,16,0,32,0,48,0,96,0,64,0,
|
||||
-128,0,12,0,52,0,52,0,20,0,64,0,4,0,4,0,24,0,28,0,
|
||||
48,0,76,0,24,0,60,0,60,0,68,0,-56,1,-8,0,-32,1,-104,3,
|
||||
8,0,88,0,0,0,120,0,-104,0,-128,1,0,1,-8,0,32,1,-16,0,
|
||||
83,84,82,67,37,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0,
|
||||
9,0,2,0,11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0,
|
||||
12,0,2,0,9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0,
|
||||
14,0,1,0,8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0,
|
||||
14,0,9,0,17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0,
|
||||
16,0,10,0,14,0,11,0,19,0,3,0,9,0,12,0,4,0,13,0,
|
||||
0,0,14,0,20,0,5,0,19,0,15,0,13,0,16,0,13,0,17,0,
|
||||
7,0,18,0,0,0,19,0,21,0,5,0,19,0,15,0,13,0,16,0,
|
||||
13,0,20,0,7,0,21,0,4,0,22,0,22,0,2,0,13,0,23,0,
|
||||
7,0,24,0,23,0,4,0,21,0,25,0,22,0,26,0,4,0,27,0,
|
||||
0,0,14,0,24,0,1,0,4,0,28,0,25,0,2,0,2,0,29,0,
|
||||
2,0,28,0,26,0,6,0,13,0,30,0,14,0,31,0,24,0,32,0,
|
||||
25,0,33,0,4,0,34,0,4,0,35,0,27,0,4,0,26,0,36,0,
|
||||
13,0,37,0,4,0,38,0,0,0,14,0,28,0,4,0,19,0,15,0,
|
||||
27,0,39,0,7,0,21,0,0,0,14,0,29,0,4,0,17,0,40,0,
|
||||
19,0,41,0,4,0,42,0,7,0,43,0,30,0,4,0,19,0,15,0,
|
||||
29,0,44,0,4,0,45,0,7,0,21,0,31,0,3,0,21,0,25,0,
|
||||
4,0,46,0,0,0,14,0,32,0,3,0,21,0,25,0,4,0,46,0,
|
||||
0,0,14,0,33,0,5,0,21,0,25,0,13,0,47,0,14,0,48,0,
|
||||
4,0,49,0,0,0,50,0,34,0,24,0,9,0,51,0,9,0,52,0,
|
||||
19,0,53,0,9,0,54,0,18,0,55,0,18,0,56,0,14,0,57,0,
|
||||
14,0,58,0,14,0,59,0,8,0,60,0,8,0,61,0,8,0,62,0,
|
||||
8,0,63,0,8,0,64,0,8,0,65,0,8,0,66,0,4,0,67,0,
|
||||
4,0,68,0,4,0,69,0,4,0,70,0,4,0,71,0,4,0,72,0,
|
||||
4,0,73,0,0,0,14,0,35,0,23,0,9,0,51,0,9,0,52,0,
|
||||
19,0,53,0,9,0,54,0,17,0,55,0,17,0,56,0,13,0,57,0,
|
||||
13,0,58,0,13,0,59,0,7,0,60,0,7,0,61,0,7,0,62,0,
|
||||
7,0,63,0,7,0,64,0,7,0,65,0,7,0,66,0,4,0,67,0,
|
||||
4,0,68,0,4,0,69,0,4,0,70,0,4,0,71,0,4,0,72,0,
|
||||
4,0,73,0,36,0,21,0,35,0,74,0,15,0,75,0,13,0,76,0,
|
||||
13,0,77,0,13,0,78,0,13,0,79,0,13,0,80,0,13,0,81,0,
|
||||
13,0,82,0,13,0,83,0,13,0,84,0,7,0,85,0,7,0,86,0,
|
||||
7,0,87,0,7,0,88,0,7,0,89,0,7,0,90,0,7,0,91,0,
|
||||
7,0,92,0,7,0,93,0,4,0,94,0,37,0,22,0,34,0,74,0,
|
||||
16,0,75,0,14,0,76,0,14,0,77,0,14,0,78,0,14,0,79,0,
|
||||
14,0,80,0,14,0,81,0,14,0,82,0,14,0,83,0,14,0,84,0,
|
||||
8,0,85,0,8,0,86,0,8,0,87,0,8,0,88,0,8,0,89,0,
|
||||
8,0,90,0,8,0,91,0,8,0,92,0,8,0,93,0,4,0,94,0,
|
||||
0,0,14,0,38,0,2,0,4,0,95,0,4,0,96,0,39,0,13,0,
|
||||
40,0,97,0,40,0,98,0,13,0,99,0,13,0,100,0,13,0,101,0,
|
||||
4,0,102,0,4,0,103,0,4,0,104,0,4,0,105,0,7,0,106,0,
|
||||
7,0,107,0,4,0,108,0,0,0,19,0,41,0,3,0,39,0,109,0,
|
||||
13,0,110,0,13,0,111,0,42,0,3,0,39,0,109,0,14,0,110,0,
|
||||
14,0,111,0,43,0,13,0,39,0,109,0,18,0,112,0,18,0,113,0,
|
||||
4,0,114,0,4,0,115,0,4,0,116,0,7,0,117,0,7,0,118,0,
|
||||
7,0,119,0,7,0,120,0,7,0,121,0,7,0,122,0,7,0,123,0,
|
||||
44,0,13,0,39,0,109,0,17,0,112,0,17,0,113,0,4,0,114,0,
|
||||
4,0,115,0,4,0,116,0,7,0,117,0,7,0,118,0,7,0,119,0,
|
||||
7,0,120,0,7,0,121,0,7,0,122,0,7,0,123,0,45,0,11,0,
|
||||
39,0,109,0,17,0,112,0,17,0,113,0,7,0,124,0,7,0,125,0,
|
||||
7,0,126,0,7,0,121,0,7,0,122,0,7,0,123,0,7,0,127,0,
|
||||
0,0,19,0,46,0,9,0,39,0,109,0,17,0,112,0,17,0,113,0,
|
||||
13,0,-128,0,13,0,-127,0,13,0,-126,0,13,0,-125,0,4,0,-124,0,
|
||||
4,0,-123,0,47,0,9,0,39,0,109,0,17,0,112,0,17,0,113,0,
|
||||
7,0,-128,0,7,0,-127,0,7,0,-126,0,7,0,-125,0,4,0,-124,0,
|
||||
4,0,-123,0,};
|
||||
int sBulletDNAlen= sizeof(sBulletDNAstr);
|
||||
|
@ -72,6 +72,7 @@ public:
|
||||
|
||||
#define BT_COLLISIONOBJECT_CODE MAKE_ID('C','O','B','J')
|
||||
#define BT_RIGIDBODY_CODE MAKE_ID('R','B','D','Y')
|
||||
#define BT_CONSTRAINT_CODE MAKE_ID('C','O','N','S')
|
||||
#define BT_BOXSHAPE_CODE MAKE_ID('B','O','X','S')
|
||||
#define BT_SHAPE_CODE MAKE_ID('S','H','A','P')
|
||||
#define BT_ARRAY_CODE MAKE_ID('A','R','A','Y')
|
||||
@ -268,18 +269,18 @@ public:
|
||||
|
||||
if (VOID_IS_8)
|
||||
{
|
||||
//#if _WIN64
|
||||
#if _WIN64
|
||||
initDNA((const char*)sBulletDNAstr64,sBulletDNAlen64);
|
||||
//#else
|
||||
// btAssert(0);
|
||||
//#endif
|
||||
#else
|
||||
btAssert(0);
|
||||
#endif
|
||||
} else
|
||||
{
|
||||
//#ifndef _WIN64
|
||||
#ifndef _WIN64
|
||||
initDNA((const char*)sBulletDNAstr,sBulletDNAlen);
|
||||
//#else
|
||||
// btAssert(0);
|
||||
//#endif
|
||||
#else
|
||||
btAssert(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user