added serialization support for gimpact mesh

improved cmake build system for updating the serialization structures
This commit is contained in:
erwin.coumans
2010-01-29 02:50:34 +00:00
parent 701bc64ab7
commit 37f6df2c32
25 changed files with 721 additions and 459 deletions

View File

@@ -13,6 +13,7 @@ ENDIF (NOT CMAKE_BUILD_TYPE)
OPTION(USE_DOUBLE_PRECISION "Use double precision" OFF)
OPTION(USE_GRAPHICAL_BENCHMARK "Use Graphical Benchmark" OFF)
IF (WIN32)
OPTION(CREATE_MSVC_RELATIVE_PATH_PROJECTFILES "Create MSVC projectfiles with relative paths" OFF)
IF (CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
@@ -21,6 +22,11 @@ SET(CMAKE_USE_RELATIVE_PATHS 1)
ENDIF(CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
ENDIF (WIN32)
OPTION(INTERNAL_UPDATE_SERIALIZATION_STRUCTURES "Internal update serialization structures" OFF)
IF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
ADD_DEFINITIONS( -DBT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
ENDIF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
IF (USE_DOUBLE_PRECISION)
ADD_DEFINITIONS( -DBT_USE_DOUBLE_PRECISION)
ENDIF (USE_DOUBLE_PRECISION)
@@ -81,8 +87,16 @@ IF (USE_GLUT)
IF (MSVC)
MESSAGE ("GLUT NOT FOUND, trying to use Bullet/Glut/glut32.lib for MSVC")
IF (CMAKE_CL_64)
message("win64 using glut64.lib")
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut64.lib)
ELSE(CMAKE_CL_64)
message("win32 using glut32.lib")
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut32.lib)
#SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut64.lib)
ENDIF (CMAKE_CL_64)
ENDIF (MSVC)
ENDIF (GLUT_FOUND)

View File

@@ -27,6 +27,22 @@ IF (USE_GLUT)
BasicDemo.cpp
BasicDemo.h
)
IF (WIN32)
IF (CMAKE_CL_64)
ADD_CUSTOM_COMMAND(
TARGET AppBasicDemo
POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/glut64.dll ${CMAKE_CURRENT_BINARY_DIR}
)
ELSE(CMAKE_CL_64)
ADD_CUSTOM_COMMAND(
TARGET AppBasicDemo
POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/GLUT32.DLL ${CMAKE_CURRENT_BINARY_DIR}
)
ENDIF(CMAKE_CL_64)
ENDIF(WIN32)
ELSE (USE_GLUT)
LINK_LIBRARIES(

View File

@@ -1,4 +1,4 @@
SUBDIRS( OpenGL BasicDemo Benchmarks Box2dDemo ConcaveDemo ConstraintDemo ConvexDecompositionDemo GenericJointDemo SerializeDemo )
SUBDIRS( OpenGL BasicDemo Benchmarks Box2dDemo ConcaveDemo ConstraintDemo ConvexDecompositionDemo GimpactTestDemo GenericJointDemo SerializeDemo )
#todo: re-enable the rest of the demos again

View File

@@ -19,9 +19,6 @@ ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter
)
IF (USE_GLUT)
LINK_LIBRARIES(
OpenGLSupport BulletWorldImporter BulletDynamics BulletCollision LinearMath BulletFileLoader ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
@@ -29,6 +26,7 @@ IF (USE_GLUT)
ADD_EXECUTABLE(AppConstraintDemo
ConstraintDemo.cpp
ConstraintDemo.h
main.cpp
)
ELSE (USE_GLUT)

View File

@@ -26,6 +26,7 @@ IF (USE_GLUT)
main.cpp
)
ELSE(USE_GLUT)
INCLUDE_DIRECTORIES(

View File

@@ -17,7 +17,6 @@ Originally Written by: Marten Svanfeldt
ReWritten by: Francisco Le<4C>n
*/
//#define USE_ODE_QUICKSTEP 1
#include "btBulletDynamicsCommon.h"
@@ -29,9 +28,6 @@ ReWritten by: Francisco Le
#include "GLDebugDrawer.h"
#include "GenericJointDemo.h"
#ifdef USE_ODE_QUICKSTEP
#include "OdeConstraintSolver.h"
#endif
GLDebugDrawer debugDrawer;
@@ -56,12 +52,7 @@ void GenericJointDemo::initPhysics()
btVector3 worldAabbMax(10000,10000,10000);
btBroadphaseInterface* overlappingPairCache = new btAxisSweep3 (worldAabbMin, worldAabbMax);
#ifdef USE_ODE_QUICKSTEP
btConstraintSolver* constraintSolver = new OdeConstraintSolver();
#else
btConstraintSolver* constraintSolver = new btSequentialImpulseConstraintSolver;
#endif
m_dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,overlappingPairCache,constraintSolver,collision_config);

View File

@@ -9,17 +9,35 @@
# You shouldn't have to modify anything below this line
########################################################
IF (USE_GLUT)
INCLUDE_DIRECTORIES(
${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL
)
INCLUDE_DIRECTORIES(
${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL
)
LINK_LIBRARIES(
OpenGLSupport BulletDynamics BulletCollision LinearMath GIMPACTUtils ConvexDecomposition ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
)
LINK_LIBRARIES(
OpenGLSupport BulletDynamics BulletCollision LinearMath GIMPACTUtils ConvexDecomposition ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
)
ADD_EXECUTABLE(AppGimpactTestDemo
GimpactTestDemo.cpp
GimpactTestDemo.h
main.cpp
)
ELSE(USE_GLUT)
ADD_EXECUTABLE(AppGimpactTestDemo
GimpactTestDemo.cpp
main.cpp
)
INCLUDE_DIRECTORIES(
${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL
)
LINK_LIBRARIES(
OpenGLSupport BulletDynamics BulletCollision LinearMath GIMPACTUtils ConvexDecomposition ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
)
ADD_EXECUTABLE(AppGimpactTestDemo
WIN32
GimpactTestDemo.cpp
GimpactTestDemo.h
../OpenGL/Win32AppMain.cpp
Win32GimpactDemo.cpp
)
ENDIF(USE_GLUT)

View File

@@ -626,7 +626,7 @@ void GimpactConcaveDemo::clientMoveAndDisplay()
renderme();
glFlush();
glutSwapBuffers();
swapBuffers();
}
@@ -642,7 +642,7 @@ void GimpactConcaveDemo::displayCallback(void) {
m_dynamicsWorld->debugDrawWorld();
glFlush();
glutSwapBuffers();
swapBuffers();
}
//------------------------------------------------------------------------------

View File

@@ -15,7 +15,15 @@ subject to the following restrictions:
#ifndef TEST_CONCAVE_DEMO_H
#define TEST_CONCAVE_DEMO_H
#ifdef _WINDOWS
#include "Win32DemoApplication.h"
#define PlatformDemoApplication Win32DemoApplication
#else
#include "GlutDemoApplication.h"
#define PlatformDemoApplication GlutDemoApplication
#endif
class btTriangleIndexVertexArray;
class btDefaultCollisionConfiguration;
@@ -47,7 +55,7 @@ struct btCollisionAlgorithmCreateFunc;
///GimpactConcaveDemo shows usage of static concave triangle meshes
///It also shows per-triangle material (friction/restitution) through CustomMaterialCombinerCallback
class GimpactConcaveDemo : public GlutDemoApplication
class GimpactConcaveDemo : public PlatformDemoApplication
{
public:

View 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 "GimpactTestDemo.h"
///The 'createDemo' function is called from Bullet/Demos/OpenGL/Win32AppMain.cpp to instantiate this particular demo
DemoApplication* createDemo()
{
return new GimpactConcaveDemo();
}
#endif

View File

@@ -29,6 +29,24 @@ IF (USE_GLUT)
SerializeDemo.cpp
SerializeDemo.h
)
IF (WIN32)
IF (CMAKE_CL_64)
ADD_CUSTOM_COMMAND(
TARGET AppSerializeDemo
POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/glut64.dll ${CMAKE_CURRENT_BINARY_DIR}
)
ELSE(CMAKE_CL_64)
ADD_CUSTOM_COMMAND(
TARGET AppSerializeDemo
POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/GLUT32.DLL ${CMAKE_CURRENT_BINARY_DIR}
)
ENDIF(CMAKE_CL_64)
ENDIF(WIN32)
ELSE (USE_GLUT)
LINK_LIBRARIES(

View File

@@ -15,7 +15,10 @@ subject to the following restrictions:
#define TEST_SERIALIZATION 1
//#define CREATE_NEW_BULLETFILE 1
#ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
#define CREATE_NEW_BULLETFILE 1
#endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
///create 125 (5x5x5) dynamic object
#define ARRAY_SIZE_X 5

View File

@@ -42,6 +42,7 @@
#include "bullet_btCompoundShapeData.h"
#include "bullet_btCylinderShapeData.h"
#include "bullet_btCapsuleShapeData.h"
#include "bullet_btGImpactMeshShapeData.h"
#include "bullet_btConvexHullShapeData.h"
#include "bullet_btCollisionObjectDoubleData.h"
#include "bullet_btCollisionObjectFloatData.h"

View File

@@ -49,6 +49,7 @@ namespace Bullet {
class btCompoundShapeData;
class btCylinderShapeData;
class btCapsuleShapeData;
class btGImpactMeshShapeData;
class btConvexHullShapeData;
class btCollisionObjectDoubleData;
class btCollisionObjectFloatData;

View File

@@ -0,0 +1,46 @@
/* 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_BTGIMPACTMESHSHAPEDATA__H__
#define __BULLET_BTGIMPACTMESHSHAPEDATA__H__
// -------------------------------------------------- //
#include "bullet_Common.h"
#include "bullet_btCollisionShapeData.h"
#include "bullet_btStridingMeshInterfaceData.h"
#include "bullet_btVector3FloatData.h"
namespace Bullet {
// ---------------------------------------------- //
class btGImpactMeshShapeData
{
public:
btCollisionShapeData m_collisionShapeData;
btStridingMeshInterfaceData m_meshInterface;
btVector3FloatData m_localScaling;
float m_collisionMargin;
int m_gimpactSubType;
};
}
#endif//__BULLET_BTGIMPACTMESHSHAPEDATA__H__

View File

@@ -20,13 +20,13 @@ subject to the following restrictions:
// 32 && 64 bit versions
//#ifdef _WIN64
#ifdef _WIN64
extern unsigned char sBulletDNAstr64[];
extern int sBulletDNAlen64;
//#else
#else
extern unsigned char sBulletDNAstr[];
extern int sBulletDNAlen;
//#endif //_WIN64
#endif //_WIN64
using namespace bParse;
@@ -35,16 +35,18 @@ btBulletFile::btBulletFile()
:bFile("", "BULLET ")
{
mMemoryDNA = new bDNA();
//#ifdef _WIN64
if (VOID_IS_8)
#ifdef _WIN64
//if (VOID_IS_8)
mMemoryDNA->init((char*)sBulletDNAstr64,sBulletDNAlen64);
else
//#else
// else
#else
mMemoryDNA->init((char*)sBulletDNAstr,sBulletDNAlen);
//#endif
#endif
}
btBulletFile::btBulletFile(const char* fileName)
:bFile(fileName, "BULLET ")
{
@@ -174,25 +176,25 @@ void btBulletFile::writeDNA(FILE* fp)
if (VOID_IS_8)
{
//#ifdef _WIN64
#ifdef _WIN64
dataChunk.len = sBulletDNAlen64;
dataChunk.oldPtr = sBulletDNAstr64;
fwrite(&dataChunk,sizeof(bChunkInd),1,fp);
fwrite(sBulletDNAstr64, sBulletDNAlen64,1,fp);
//#else
// btAssert(0);
//#endif
#else
btAssert(0);
#endif
}
else
{
//#ifndef _WIN64
#ifndef _WIN64
dataChunk.len = sBulletDNAlen;
dataChunk.oldPtr = sBulletDNAstr;
fwrite(&dataChunk,sizeof(bChunkInd),1,fp);
fwrite(sBulletDNAstr, sBulletDNAlen,1,fp);
//#else
// btAssert(0);
//#endif
#else
btAssert(0);
#endif
}
}
@@ -201,19 +203,19 @@ void btBulletFile::parse(bool verboseDumpAllTypes)
{
if (VOID_IS_8)
{
//#ifdef _WIN64
#ifdef _WIN64
parseInternal(verboseDumpAllTypes,(char*)sBulletDNAstr64,sBulletDNAlen64);
//#else
// btAssert(0);
//#endif
#else
btAssert(0);
#endif
}
else
{
//#ifndef _WIN64
#ifndef _WIN64
parseInternal(verboseDumpAllTypes,(char*)sBulletDNAstr,sBulletDNAlen);
//#else
// btAssert(0);
//#endif
#else
btAssert(0);
#endif
}
}

View File

@@ -3,7 +3,7 @@
#include "btBulletFile.h"
#include "btBulletDynamicsCommon.h"
#include "BulletCollision/gimpact/btGImpactShape.h"
btBulletWorldImporter::btBulletWorldImporter(btDynamicsWorld* world)
:m_dynamicsWorld(world),
@@ -11,6 +11,15 @@ m_verboseDumpAllTypes(false)
{
}
btBulletWorldImporter::~btBulletWorldImporter()
{
for (int i=0;i<m_allocatedCollisionShapes.size();i++)
{
delete m_allocatedCollisionShapes[i];
}
m_allocatedCollisionShapes.clear();
}
bool btBulletWorldImporter::loadFile( const char* fileName)
{
bParse::btBulletFile* bulletFile2 = new bParse::btBulletFile(fileName);
@@ -36,6 +45,45 @@ bool btBulletWorldImporter::loadFileFromMemory( char* memoryBuffer, int len)
return result;
}
btTriangleIndexVertexArray* btBulletWorldImporter::createMeshInterface(btStridingMeshInterfaceData& meshData)
{
btTriangleIndexVertexArray* meshInterface = createTriangleMeshContainer();
for (int i=0;i<meshData.m_numMeshParts;i++)
{
btIndexedMesh meshPart;
if (meshData.m_meshPartsPtr[i].m_indices32)
{
meshPart.m_indexType = PHY_INTEGER;
meshPart.m_triangleIndexStride = 3*sizeof(int);
meshPart.m_triangleIndexBase = (const unsigned char*)meshData.m_meshPartsPtr[i].m_indices32;
} else
{
meshPart.m_indexType = PHY_SHORT;
meshPart.m_triangleIndexStride = 3*sizeof(short int);
meshPart.m_triangleIndexBase = (const unsigned char*)meshData.m_meshPartsPtr[i].m_indices16;
}
if (meshData.m_meshPartsPtr[i].m_vertices3f)
{
meshPart.m_vertexType = PHY_FLOAT;
meshPart.m_vertexStride = sizeof(btVector3FloatData);
meshPart.m_vertexBase = (const unsigned char*)meshData.m_meshPartsPtr[i].m_vertices3f;
} else
{
meshPart.m_vertexType = PHY_DOUBLE;
meshPart.m_vertexStride = sizeof(btVector3DoubleData);
meshPart.m_vertexBase = (const unsigned char*)meshData.m_meshPartsPtr[i].m_vertices3d;
}
meshPart.m_numTriangles = meshData.m_meshPartsPtr[i].m_numTriangles;
meshPart.m_numVertices = meshData.m_meshPartsPtr[i].m_numVertices;
meshInterface->addIndexedMesh(meshPart);
}
return meshInterface;
}
btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShapeData* shapeData )
{
btCollisionShape* shape = 0;
@@ -53,6 +101,25 @@ btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShap
break;
}
case GIMPACT_SHAPE_PROXYTYPE:
{
btGImpactMeshShapeData* gimpactData = (btGImpactMeshShapeData*) shapeData;
if (gimpactData->m_gimpactSubType == CONST_GIMPACT_TRIMESH_SHAPE)
{
btTriangleIndexVertexArray* meshInterface = createMeshInterface(gimpactData->m_meshInterface);
btGImpactMeshShape* gimpactShape = createGimpactShape(meshInterface);
btVector3 localScaling;
localScaling.deSerializeFloat(gimpactData->m_localScaling);
gimpactShape->setLocalScaling(localScaling);
gimpactShape->setMargin(btScalar(gimpactData->m_collisionMargin));
gimpactShape->updateBound();
shape = gimpactShape;
} else
{
printf("unsupported gimpact sub type\n");
}
break;
}
case CYLINDER_SHAPE_PROXYTYPE:
case CAPSULE_SHAPE_PROXYTYPE:
@@ -86,17 +153,17 @@ btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShap
{
case 0:
{
shape = createCapsuleShapeX(implicitShapeDimensions.getY(),implicitShapeDimensions.getX());
shape = createCapsuleShapeX(implicitShapeDimensions.getY(),2*implicitShapeDimensions.getX());
break;
}
case 1:
{
shape = createCapsuleShapeY(implicitShapeDimensions.getX(),implicitShapeDimensions.getY());
shape = createCapsuleShapeY(implicitShapeDimensions.getX(),2*implicitShapeDimensions.getY());
break;
}
case 2:
{
shape = createCapsuleShapeZ(implicitShapeDimensions.getX(),implicitShapeDimensions.getZ());
shape = createCapsuleShapeZ(implicitShapeDimensions.getX(),2*implicitShapeDimensions.getZ());
break;
}
default:
@@ -181,7 +248,11 @@ btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShap
tmpPoints[i].deSerializeDouble(convexData->m_unscaledPointsDoublePtr[i]);
#endif //BT_USE_DOUBLE_PRECISION
}
shape = new btConvexHullShape(&tmpPoints[0].getX(),numPoints,sizeof(btVector3));
btConvexHullShape* hullShape = createConvexHullShape();
for (int i=0;i<numPoints;i++)
{
hullShape->addPoint(tmpPoints[i]);
}
break;
}
default:
@@ -203,42 +274,12 @@ btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShap
case TRIANGLE_MESH_SHAPE_PROXYTYPE:
{
btTriangleMeshShapeData* trimesh = (btTriangleMeshShapeData*)shapeData;
btTriangleIndexVertexArray* meshInterface = new btTriangleIndexVertexArray();
for (int i=0;i<trimesh->m_meshInterface.m_numMeshParts;i++)
{
btIndexedMesh meshPart;
if (trimesh->m_meshInterface.m_meshPartsPtr[i].m_indices32)
{
meshPart.m_indexType = PHY_INTEGER;
meshPart.m_triangleIndexStride = 3*sizeof(int);
meshPart.m_triangleIndexBase = (const unsigned char*)trimesh->m_meshInterface.m_meshPartsPtr[i].m_indices32;
} else
{
meshPart.m_indexType = PHY_SHORT;
meshPart.m_triangleIndexStride = 3*sizeof(short int);
meshPart.m_triangleIndexBase = (const unsigned char*)trimesh->m_meshInterface.m_meshPartsPtr[i].m_indices16;
}
btTriangleIndexVertexArray* meshInterface = createMeshInterface(trimesh->m_meshInterface);
if (trimesh->m_meshInterface.m_meshPartsPtr[i].m_vertices3f)
{
meshPart.m_vertexType = PHY_FLOAT;
meshPart.m_vertexStride = sizeof(btVector3FloatData);
meshPart.m_vertexBase = (const unsigned char*)trimesh->m_meshInterface.m_meshPartsPtr[i].m_vertices3f;
} else
{
meshPart.m_vertexType = PHY_DOUBLE;
meshPart.m_vertexStride = sizeof(btVector3DoubleData);
meshPart.m_vertexBase = (const unsigned char*)trimesh->m_meshInterface.m_meshPartsPtr[i].m_vertices3d;
}
meshPart.m_numTriangles = trimesh->m_meshInterface.m_meshPartsPtr[i].m_numTriangles;
meshPart.m_numVertices = trimesh->m_meshInterface.m_meshPartsPtr[i].m_numVertices;
meshInterface->addIndexedMesh(meshPart);
}
btVector3 scaling; scaling.deSerializeFloat(trimesh->m_meshInterface.m_scaling);
meshInterface->setScaling(scaling);
btBvhTriangleMeshShape* trimeshShape = new btBvhTriangleMeshShape(meshInterface,true);
btCollisionShape* trimeshShape = createBvhTriangleMeshShape(meshInterface);
trimeshShape->setMargin(trimesh->m_collisionMargin);
shape = trimeshShape;
@@ -248,7 +289,7 @@ btCollisionShape* btBulletWorldImporter::convertCollisionShape( btCollisionShap
case COMPOUND_SHAPE_PROXYTYPE:
{
btCompoundShapeData* compoundData = (btCompoundShapeData*)shapeData;
btCompoundShape* compoundShape = new btCompoundShape();
btCompoundShape* compoundShape = createCompoundShape();
btAlignedObjectArray<btCollisionShape*> childShapes;
@@ -630,8 +671,6 @@ btCollisionShape* btBulletWorldImporter::createCapsuleShapeZ(btScalar radius, bt
return new btCapsuleShapeZ(radius,height);
}
btCollisionShape* btBulletWorldImporter::createCylinderShapeX(btScalar radius,btScalar height)
{
return new btCylinderShapeX(btVector3(height,radius,radius));
@@ -647,29 +686,29 @@ btCollisionShape* btBulletWorldImporter::createCylinderShapeZ(btScalar radius,bt
return new btCylinderShapeZ(btVector3(radius,radius,height));
}
btTriangleMesh* btBulletWorldImporter::createTriangleMeshContainer()
btTriangleIndexVertexArray* btBulletWorldImporter::createTriangleMeshContainer()
{
return new btTriangleIndexVertexArray();
}
btCollisionShape* btBulletWorldImporter::createBvhTriangleMeshShape(btStridingMeshInterface* trimesh)
{
return new btBvhTriangleMeshShape(trimesh,true);
}
btCollisionShape* btBulletWorldImporter::createConvexTriangleMeshShape(btStridingMeshInterface* trimesh)
{
return 0;
}
btCollisionShape* btBulletWorldImporter::createBvhTriangleMeshShape(btTriangleMesh* trimesh)
btGImpactMeshShape* btBulletWorldImporter::createGimpactShape(btStridingMeshInterface* trimesh)
{
return 0;
}
btCollisionShape* btBulletWorldImporter::createConvexTriangleMeshShape(btTriangleMesh* trimesh)
{
return 0;
}
btCollisionShape* btBulletWorldImporter::createGimpactShape(btTriangleMesh* trimesh)
{
return 0;
return new btGImpactMeshShape(trimesh);
}
btConvexHullShape* btBulletWorldImporter::createConvexHullShape()
{
return 0;
return new btConvexHullShape();
}
btCompoundShape* btBulletWorldImporter::createCompoundShape()
{
return 0;
return new btCompoundShape();
}

View File

@@ -30,6 +30,10 @@ class btDynamicsWorld;
struct ConstraintInput;
class btRigidBodyColladaInfo;
struct btCollisionShapeData;
class btTriangleIndexVertexArray;
class btStridingMeshInterface;
struct btStridingMeshInterfaceData;
class btGImpactMeshShape;
namespace bParse
{
@@ -48,10 +52,16 @@ protected:
btCollisionShape* convertCollisionShape( btCollisionShapeData* shapeData );
btAlignedObjectArray<btCollisionShape*> m_allocatedCollisionShapes;
btTriangleIndexVertexArray* createMeshInterface(btStridingMeshInterfaceData& meshData);
public:
btBulletWorldImporter(btDynamicsWorld* world);
virtual ~btBulletWorldImporter();
bool loadFile(const char* fileName);
///the memoryBuffer might be modified (for example if endian swaps are necessary)
@@ -96,10 +106,10 @@ public:
virtual btCollisionShape* createCylinderShapeX(btScalar radius,btScalar height);
virtual btCollisionShape* createCylinderShapeY(btScalar radius,btScalar height);
virtual btCollisionShape* createCylinderShapeZ(btScalar radius,btScalar height);
virtual class btTriangleMesh* createTriangleMeshContainer();
virtual btCollisionShape* createBvhTriangleMeshShape(btTriangleMesh* trimesh);
virtual btCollisionShape* createConvexTriangleMeshShape(btTriangleMesh* trimesh);
virtual btCollisionShape* createGimpactShape(btTriangleMesh* trimesh);
virtual class btTriangleIndexVertexArray* createTriangleMeshContainer();
virtual btCollisionShape* createBvhTriangleMeshShape(btStridingMeshInterface* trimesh);
virtual btCollisionShape* createConvexTriangleMeshShape(btStridingMeshInterface* trimesh);
virtual btGImpactMeshShape* createGimpactShape(btStridingMeshInterface* trimesh);
virtual class btConvexHullShape* createConvexHullShape();
virtual class btCompoundShape* createCompoundShape();

View File

@@ -1,9 +1,15 @@
SUBDIRS ( BulletFileLoader BulletWorldImporter )
IF(INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
# makesdna and HeaderGenerator are for advanced use only
# makesdna can re-generate the binary DNA representing the Bullet serialization structures
# Be very careful modifying any of this, otherwise the .bullet format becomes incompatible
#SUBDIRS ( BulletFileLoader BulletWorldImporter BlenderSerialize HeaderGenerator makesdna)
SUBDIRS ( BulletFileLoader BulletWorldImporter BlenderSerialize HeaderGenerator makesdna)
ELSE(INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
SUBDIRS ( BulletFileLoader BulletWorldImporter )
ENDIF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)

View File

@@ -132,6 +132,7 @@ typedef unsigned long uintptr_t;
#include "BulletCollision/CollisionShapes/btCompoundShape.h"
#include "BulletCollision/CollisionShapes/btCylinderShape.h"
#include "BulletCollision/CollisionShapes/btCapsuleShape.h"
#include "BulletCollision/Gimpact/btGImpactShape.h"
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
#include "BulletDynamics/ConstraintSolver/btTypedConstraint.h"
#include "BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h"
@@ -168,6 +169,7 @@ char *includefiles[] = {
"../../../src/BulletCollision/CollisionShapes/btCompoundShape.h",
"../../../src/BulletCollision/CollisionShapes/btCylinderShape.h",
"../../../src/BulletCollision/CollisionShapes/btCapsuleShape.h",
"../../../src/BulletCollision/Gimpact/btGImpactShape.h",
"../../../src/BulletCollision/CollisionShapes/btConvexHullShape.h",
"../../../src/BulletCollision/CollisionDispatch/btCollisionObject.h",
"../../../src/BulletDynamics/Dynamics/btRigidBody.h",

View File

@@ -41,7 +41,7 @@ public:
const btVector3& getHalfExtentsWithoutMargin() const
{
return m_implicitShapeDimensions;//changed in Bullet 2.63: assume the scaling and margin are included
return m_implicitShapeDimensions;//scaling is included, margin is not
}

View File

@@ -181,3 +181,23 @@ void btGImpactMeshShape::processAllTriangles(btTriangleCallback* callback,const
m_mesh_parts[i]->processAllTriangles(callback,aabbMin,aabbMax);
}
}
///fills the dataBuffer and returns the struct name (and 0 on failure)
const char* btGImpactMeshShape::serialize(void* dataBuffer, btSerializer* serializer) const
{
btGImpactMeshShapeData* trimeshData = (btGImpactMeshShapeData*) dataBuffer;
btCollisionShape::serialize(&trimeshData->m_collisionShapeData,serializer);
m_meshInterface->serialize(&trimeshData->m_meshInterface, serializer);
trimeshData->m_collisionMargin = float(m_collisionMargin);
localScaling.serializeFloat(trimeshData->m_localScaling);
trimeshData->m_gimpactSubType = int(getGImpactShapeType());
return "btGImpactMeshShapeData";
}

View File

@@ -189,7 +189,7 @@ public:
//!@{
//! Base method for determinig which kind of GIMPACT shape we get
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() = 0;
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const = 0 ;
//! gets boxset
SIMD_FORCE_INLINE btGImpactBoxSet * getBoxSet()
@@ -502,7 +502,7 @@ public:
return "GImpactCompound";
}
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType()
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const
{
return CONST_GIMPACT_COMPOUND_SHAPE;
}
@@ -816,7 +816,7 @@ public:
return "GImpactMeshShapePart";
}
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType()
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const
{
return CONST_GIMPACT_TRIMESH_SHAPE_PART;
}
@@ -1122,7 +1122,7 @@ public:
}
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType()
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const
{
return CONST_GIMPACT_TRIMESH_SHAPE;
}
@@ -1140,7 +1140,32 @@ public:
It gives the triangles in local space
*/
virtual void processAllTriangles(btTriangleCallback* callback,const btVector3& aabbMin,const btVector3& aabbMax) const;
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;
};
///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
struct btGImpactMeshShapeData
{
btCollisionShapeData m_collisionShapeData;
btStridingMeshInterfaceData m_meshInterface;
btVector3FloatData m_localScaling;
float m_collisionMargin;
int m_gimpactSubType;
};
SIMD_FORCE_INLINE int btGImpactMeshShape::calculateSerializeBufferSize() const
{
return sizeof(btGImpactMeshShapeData);
}
#endif //GIMPACT_MESH_SHAPE_H

View File

@@ -1,5 +1,5 @@
unsigned char sBulletDNAstr64[]= {
83,68,78,65,78,65,77,69,-122,0,0,0,109,95,115,105,122,101,0,109,
83,68,78,65,78,65,77,69,-121,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,
@@ -31,91 +31,92 @@ unsigned char sBulletDNAstr64[]= {
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,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,
115,0,109,95,117,112,65,120,105,115,0,109,95,103,105,109,112,97,99,116,
83,117,98,84,121,112,101,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,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,0,0,0,84,89,80,69,
49,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,
@@ -141,89 +142,92 @@ unsigned char sBulletDNAstr64[]= {
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,};
116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,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,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,72,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,0,0,83,84,82,67,38,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,19,0,15,0,
27,0,39,0,13,0,16,0,7,0,21,0,4,0,47,0,34,0,5,0,
21,0,25,0,13,0,48,0,14,0,49,0,4,0,50,0,0,0,51,0,
35,0,24,0,9,0,52,0,9,0,53,0,19,0,54,0,9,0,55,0,
18,0,56,0,18,0,57,0,14,0,58,0,14,0,59,0,14,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,8,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,4,0,74,0,0,0,14,0,
36,0,23,0,9,0,52,0,9,0,53,0,19,0,54,0,9,0,55,0,
17,0,56,0,17,0,57,0,13,0,58,0,13,0,59,0,13,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,7,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,4,0,74,0,37,0,21,0,
36,0,75,0,15,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,
13,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,7,0,94,0,
4,0,95,0,38,0,22,0,35,0,75,0,16,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,14,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,8,0,94,0,4,0,95,0,0,0,14,0,39,0,2,0,
4,0,96,0,4,0,97,0,40,0,13,0,41,0,98,0,41,0,99,0,
13,0,100,0,13,0,101,0,13,0,102,0,4,0,103,0,4,0,104,0,
4,0,105,0,4,0,106,0,7,0,107,0,7,0,108,0,4,0,109,0,
0,0,19,0,42,0,3,0,40,0,110,0,13,0,111,0,13,0,112,0,
43,0,3,0,40,0,110,0,14,0,111,0,14,0,112,0,44,0,13,0,
40,0,110,0,18,0,113,0,18,0,114,0,4,0,115,0,4,0,116,0,
4,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,7,0,124,0,45,0,13,0,40,0,110,0,
17,0,113,0,17,0,114,0,4,0,115,0,4,0,116,0,4,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,7,0,124,0,46,0,11,0,40,0,110,0,17,0,113,0,
17,0,114,0,7,0,125,0,7,0,126,0,7,0,127,0,7,0,122,0,
7,0,123,0,7,0,124,0,7,0,-128,0,0,0,19,0,47,0,9,0,
40,0,110,0,17,0,113,0,17,0,114,0,13,0,-127,0,13,0,-126,0,
13,0,-125,0,13,0,-124,0,4,0,-123,0,4,0,-122,0,48,0,9,0,
40,0,110,0,17,0,113,0,17,0,114,0,7,0,-127,0,7,0,-126,0,
7,0,-125,0,7,0,-124,0,4,0,-123,0,4,0,-122,0,};
int sBulletDNAlen64= sizeof(sBulletDNAstr64);
unsigned char sBulletDNAstr[]= {
83,68,78,65,78,65,77,69,-122,0,0,0,109,95,115,105,122,101,0,109,
83,68,78,65,78,65,77,69,-121,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,
@@ -255,91 +259,92 @@ unsigned char sBulletDNAstr[]= {
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,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,
115,0,109,95,117,112,65,120,105,115,0,109,95,103,105,109,112,97,99,116,
83,117,98,84,121,112,101,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,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,0,0,0,84,89,80,69,
49,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,
@@ -365,84 +370,86 @@ unsigned char sBulletDNAstr[]= {
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,};
116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,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,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,64,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,0,0,83,84,82,67,38,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,19,0,15,0,
27,0,39,0,13,0,16,0,7,0,21,0,4,0,47,0,34,0,5,0,
21,0,25,0,13,0,48,0,14,0,49,0,4,0,50,0,0,0,51,0,
35,0,24,0,9,0,52,0,9,0,53,0,19,0,54,0,9,0,55,0,
18,0,56,0,18,0,57,0,14,0,58,0,14,0,59,0,14,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,8,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,4,0,74,0,0,0,14,0,
36,0,23,0,9,0,52,0,9,0,53,0,19,0,54,0,9,0,55,0,
17,0,56,0,17,0,57,0,13,0,58,0,13,0,59,0,13,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,7,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,4,0,74,0,37,0,21,0,
36,0,75,0,15,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,
13,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,7,0,94,0,
4,0,95,0,38,0,22,0,35,0,75,0,16,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,14,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,8,0,94,0,4,0,95,0,0,0,14,0,39,0,2,0,
4,0,96,0,4,0,97,0,40,0,13,0,41,0,98,0,41,0,99,0,
13,0,100,0,13,0,101,0,13,0,102,0,4,0,103,0,4,0,104,0,
4,0,105,0,4,0,106,0,7,0,107,0,7,0,108,0,4,0,109,0,
0,0,19,0,42,0,3,0,40,0,110,0,13,0,111,0,13,0,112,0,
43,0,3,0,40,0,110,0,14,0,111,0,14,0,112,0,44,0,13,0,
40,0,110,0,18,0,113,0,18,0,114,0,4,0,115,0,4,0,116,0,
4,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,7,0,124,0,45,0,13,0,40,0,110,0,
17,0,113,0,17,0,114,0,4,0,115,0,4,0,116,0,4,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,7,0,124,0,46,0,11,0,40,0,110,0,17,0,113,0,
17,0,114,0,7,0,125,0,7,0,126,0,7,0,127,0,7,0,122,0,
7,0,123,0,7,0,124,0,7,0,-128,0,0,0,19,0,47,0,9,0,
40,0,110,0,17,0,113,0,17,0,114,0,13,0,-127,0,13,0,-126,0,
13,0,-125,0,13,0,-124,0,4,0,-123,0,4,0,-122,0,48,0,9,0,
40,0,110,0,17,0,113,0,17,0,114,0,7,0,-127,0,7,0,-126,0,
7,0,-125,0,7,0,-124,0,4,0,-123,0,4,0,-122,0,};
int sBulletDNAlen= sizeof(sBulletDNAstr);

View File

@@ -302,22 +302,33 @@ public:
const bool VOID_IS_8 = ((sizeof(void*)==8));
#ifdef BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
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
}
#else //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
if (VOID_IS_8)
{
initDNA((const char*)sBulletDNAstr64,sBulletDNAlen64);
} else
{
initDNA((const char*)sBulletDNAstr,sBulletDNAlen);
}
#endif //BT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES
}
virtual ~btDefaultSerializer()