Update is complete, could not quite get through everything so some things will be looked at for the next update.

- Complete

- Making progress

- Next Update

obj-dbo converter application.

Discovered and fixed character controller bug, if deleted it could cause a crash upon program exit.

Bone animated ragdolls.

Add 'joint exists' command.

Add breakable joint commands.

Add more commands to apply forces to limbs/bones.

Add way of determining if actor is kinematic.

Improve 'timing' information.

Add advanced vehicle example.

Add categories to help file.

More CCD skeleton options(check for possible bug - fixed).

Add sleep commands.

Add direction of antistropy commands.

Look at other rendering techniques for particles/fluids - Any input welcomed. New command added with example provided, more could be added in the future.

**Obb Job**

This application will convert models in the OBJ format to DBO. This is useful when using the PhysX viewer to set up a soft body, it is also useful in its own right when developing with DBPro/DarkGDK.

New to v1.1

//***********************************************//
//************* v1.1 19th June 2012 *************//
//***********************************************//
//-- NEW TOOL
ObbJob - Converts obj to dbo, useful for soft body creation or as a general use tool.
//-- NEW COMMANDS (DBPro and GDK)
bool dynCookConvexMesh(int objectID, int boneID, int meshID, char* file);
bool dynCookConvexMesh(int objectID, int boneID, int meshID, int convexMeshID);
bool dynMakeConvexMesh(int objectID, int boneID, int meshID, int convexMeshID, float density);
void dynBoneSyncActor(int objectID, int meshID, int boneID);
void dynBoneClearMatrix(int objectID, int meshID, int boneID);
int dynUtilGetBoneCount(int objectID, int meshID);
int dynUtilGetMeshCount(int objectID);
void dynSetBones(int objectID, bool physics);
void dynBoneGetPos(int objectID, int meshID, int boneID, int vec3Out);
float dynGetMass(int objectID, int limbID);
void dynSetMass(int objectID, int limbID, float mass);
void dynSetLinearDamping(int objectID, int limbID, float value);
void dynSetAngularDamping(int objectID, int limbID, float value);
float dynGetAngularDamping(int objectID, int limbID);
float dynGetLinearDamping(int objectID, int limbID);
void dynSetLinearMomentum(int objectID, int limbID, float x, float y, float z);
void dynSetAngularMomentum(int objectID, int limbID, float x, float y, float z);
void dynGetAngularMomentum(int objectID, int limbID, int vec3Out);
void dynGetLinearMomentum(int objectID, int limbID, int vec3Out);
void dynActorRaiseFlag(int objectID, unsigned int flag);
void dynActorRaiseFlag(int objectID, int limbID, unsigned int flag);
void dynActorClearFlag(int objectID, unsigned int flag);
void dynActorClearFlag(int objectID, int limbID, unsigned int flag);
void dynWakeUp(int objectID, float wakeCounterValue);
void dynPutToSleep(int objectID);
void dynWakeUp(int objectID, int limbID, float wakeCounterValue);
void dynPutToSleep(int objectID, int limbID);
bool dynMakeBox(int objectID, int boneID, int meshID, float density);
bool dynMakeSphere(int objectID, int boneID, int meshID, float density);
bool dynMakeCapsule(int objectID, int boneID, int meshID, float density);
void dynShapeSetLocPos(int objectID, int LimbID, int shapeID, float posX, float posY, float posZ);
void dynShapeSetLocRot(int objectID, int limbID, int shapeID, float angleX, float angleY, float angleZ);
void dynShapeSetGlobPos(int objectID, int limbID, int shapeID, float posX, float posY, float posZ);
void dynShapeSetGlobRot(int objectID, int limbID, int shapeID, float angleX, float angleY, float angleZ);
void dynBodyRaiseFlag(int objectID, unsigned int flag);
void dynBodyRaiseFlag(int objectID, int limbID, unsigned int flag);
void dynBodyClearFlag(int objectID, unsigned int flag);
void dynBodyClearFlag(int objectID, int limbID, unsigned int flag);
bool dynBodyReadFlag(int objectID, unsigned int flag);
bool dynBodyReadFlag(int objectID, int limbID, unsigned int flag);
bool dynActorReadFlag(int objectID, unsigned int flag);
bool dynActorReadFlag(int objectID, int limbID, unsigned int flag);
int dynControllerMove(int ID, float x, float y, float z, unsigned int activeGroups);
void dynControllerReportSceneChanged(int ID);
bool dynJointExists(int jointID);
void dynJointDescSetMaxTorque(int jointDescID, float value);
void dynJointDescSetMaxForce(int jointDescID, float value);
bool dynJointIsBroken(int jointID);
void dynJointDescSetLocalAnchor(int jointDescID, int AorB, float x, float y, float z);
void dynJointDescSetLocalAxis(int jointDescID, int AorB, float x, float y, float z);
void dynJointDescSetLocalNormal(int jointDescID, int AorB, float x, float y, float z);
void dynJointDescGetLocalAnchor(int jointDescID, int AorB, int vector3Out);
void dynJointDescGetLocalAxis(int jointDescID, int AorB, int vector3Out);
void dynJointDescGetLocalNormal(int jointDescID, int AorB, int vector3Out);
bool dynJointDescIsValid(int jointDescID);
void dynMaterialSetDirOfAnisotropy(int ID, float x, float y, float z);
void dynMaterialSetDynamicFriction(int ID, float value);
void dynMaterialSetDynamicFrictionV(int ID, float value);
void dynMaterialSetStaticFriction(int ID, float value);
void dynMaterialSetStaticFrictionV(int ID, float value);
void dynMaterialSetFlags(int ID, unsigned int flags);
void dynMaterialGetDirOfAnisotropy(int ID, int vec3Out);
float dynMaterialGetDynamicFriction(int ID);
float dynMaterialGetDynamicFrictionV(int ID);
float dynMaterialGetStaticFriction(int ID);
float dynMaterialGetStaticFrictionV(int ID);
unsigned int dynMaterialGetFlags(int ID);
int dynMaterialGetMaterialIndex(int ID);
void dynSetForceMode(int mode);
void dynAddForceAtPos(int objectID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddForceAtPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddForceAtLocalPos(int objectID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddForceAtLocalPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddLocalForceAtPos(int objectID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddLocalForceAtPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddLocalForceAtLocalPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
unsigned int dynRaycastHitGetFaceID();
bool dynMakeCCDSkeletonVertex(int objectID, int limbID);
void dynJointDescSetSwingDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetTwistDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetXDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetYDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetZDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetSlerpDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetGearRatio(int jointDescID, float ratio);
void dynJointSetDriveAngularVelocity(int jointID, float x, float y, float z);
void dynJointSetDriveLinearVelocity(int jointID, float x, float y, float z);
void dynJointSetDriveOrientation(int jointID, float w, float x, float y, float z);
void dynJointSetDriveOrientationFromGlobalAxis(int jointID, float x, float y, float z);
void dynJointSetDriveOrientationFromLocalAxis(int jointID, float x, float y, float z);
void dynJointSetDriveOrientationFromAngleAxis(int jointID, float axisX, float axisY, float axisZ, float angle);
void dynJointSetDrivePosition(int jointID, float x, float y, float z);
void dynFluidFadeObjectsAlpha(int fluidID, int initialObjectID, float particleLife, float fadeIn, float fadeOut);
void dynShapeSetFlag(int objectID, int shapeIndex, int flag, bool value);
void dynUtilSetCameraToObject(int cameraID, int objectID, float offsetPosX, float offsetPosY, float offsetPosZ, float offsetPointX, float offsetPointY, float offsetPointZ, float smooth);
//-- NEW EXAMPLES
Boned Ragdoll
Fluids
CCD
Advanced Vehicles