Minor changes to binary formats for consistency.

Documented the binary scene format.
This commit is contained in:
Lasse Öörni 2011-01-03 14:57:40 +00:00
parent 04716f5115
commit 526f35bf16
11 changed files with 21 additions and 27 deletions

View File

@ -190,13 +190,13 @@ private:
//! Frame update timer
Timer mFrameTimer;
//! Minimum frames per second
int mMinFps;
unsigned mMinFps;
//! Maximum frames per second
int mMaxFps;
unsigned mMaxFps;
//! Maximum frames per second when the application is inactive
int mMaxInactiveFps;
unsigned mMaxInactiveFps;
//! Debug draw mode
int mDebugDrawMode;
unsigned mDebugDrawMode;
//! Flush GPU flag
bool mFlushGPU;
//! Initialized flag

View File

@ -106,8 +106,8 @@ void PhysicsWorld::save(Serializer& dest)
{
writeExtensionType(dest);
dest.writeVector3(getGravity());
dest.writeInt(getFps());
dest.writeInt(getMaxContacts());
dest.writeUInt(getFps());
dest.writeUInt(getMaxContacts());
dest.writeFloat(getBounceThreshold());
dest.writeFloat(getLinearRestThreshold());
dest.writeFloat(getLinearDampingThreshold());
@ -127,8 +127,8 @@ void PhysicsWorld::load(Deserializer& source)
{
checkExtensionType(source);
setGravity(source.readVector3());
setFps(source.readInt());
setMaxContacts(source.readInt());
setFps(source.readUInt());
setMaxContacts(source.readUInt());
setBounceThreshold(source.readFloat());
setLinearRestThreshold(source.readFloat());
float threshold = source.readFloat();

View File

@ -172,7 +172,7 @@ private:
//! ODE contact joint group ID
dJointGroupID mContactJoints;
//! Simulation steps per second
int mFps;
unsigned mFps;
//! Maximum contacts per collision
unsigned mMaxContacts;
//! Collision bounce velocity threshold

View File

@ -71,7 +71,7 @@ void Animation::load(Deserializer& source, ResourceCache* cache)
AnimationTrack& newTrack = mTracks[i];
newTrack.mName = source.readString();
newTrack.mNameHash = StringHash(newTrack.mName);
newTrack.mChannelMask = source.readUInt();
newTrack.mChannelMask = source.readUByte();
unsigned keyFrames = source.readUInt();
newTrack.mKeyFrames.resize(keyFrames);

View File

@ -56,7 +56,7 @@ struct AnimationTrack
//! Bone name hash
StringHash mNameHash;
//! Bitmask of included data (position, rotation, scale)
unsigned mChannelMask;
unsigned char mChannelMask;
//! Keyframes
std::vector<AnimationKeyFrame> mKeyFrames;
};

View File

@ -121,7 +121,7 @@ private:
//! Bind inverse matrix
Matrix4x3 mBindInverseTransform;
//! Supported collision types
unsigned mCollisionMask;
unsigned char mCollisionMask;
//! Radius
float mRadius;
//! Bounding box

View File

@ -323,14 +323,14 @@ void Octree::save(Serializer& dest)
{
writeExtensionType(dest);
dest.writeBoundingBox(mWorldBoundingBox);
dest.writeVLE(mNumLevels);
dest.writeUInt(mNumLevels);
}
void Octree::load(Deserializer& source)
{
checkExtensionType(source);
BoundingBox box = source.readBoundingBox();
unsigned numLevels = source.readVLE();
unsigned numLevels = source.readUInt();
resize(box, numLevels);
}

View File

@ -63,7 +63,7 @@ void Skeleton::load(Deserializer& source)
newBone->reset();
// Read bone collision data
unsigned collisionMask = source.readUInt();
unsigned char collisionMask = source.readUByte();
if (collisionMask & BONECOLLISION_SPHERE)
newBone->setRadius(source.readFloat());
if (collisionMask & BONECOLLISION_BOX)

View File

@ -127,7 +127,7 @@ void Scene::save(Serializer& dest, bool throwOnError)
saveProperties(dest);
// Write entities
dest.writeVLE(mEntities.size());
dest.writeUInt(mEntities.size());
for (std::map<EntityID, SharedPtr<Entity> >::iterator i = mEntities.begin(); i != mEntities.end(); ++i)
{
// Create a separate serialization buffer for the entity, in case something fails
@ -165,7 +165,7 @@ void Scene::load(Deserializer& source, bool throwOnError)
loadProperties(source);
// Read entities
unsigned numEntities = source.readVLE();
unsigned numEntities = source.readUInt();
for (unsigned i = 0; i < numEntities; ++i)
loadEntity(source, throwOnError);
@ -422,7 +422,7 @@ void Scene::loadAsync(File* file)
loadProperties(*file);
// Begin async loading
mAsyncTotalEntities = file->readVLE();
mAsyncTotalEntities = file->readUInt();
mAsyncLoadedEntities = 0;
mAsyncFile = file;
mAsyncLoading = true;

View File

@ -903,16 +903,12 @@ void writeOutput(const std::string& outputFileName, bool exportAnimations, bool
// Vertexbuffers
dest.writeUInt(vertexBuffers.size());
for (unsigned i = 0; i < vertexBuffers.size(); ++i)
{
vertexBuffers[i].writeData(dest);
}
// Indexbuffers
dest.writeUInt(indexBuffers.size());
for (unsigned i = 0; i < indexBuffers.size(); ++i)
{
indexBuffers[i].writeData(dest);
}
// Subgeometries
dest.writeUInt(subGeometries.size());
@ -939,9 +935,7 @@ void writeOutput(const std::string& outputFileName, bool exportAnimations, bool
// Morphs
dest.writeUInt(morphs.size());
for (unsigned i = 0; i < morphs.size(); ++i)
{
morphs[i].writeData(dest);
}
// Skeleton
dest.writeUInt(bones.size());
@ -952,7 +946,7 @@ void writeOutput(const std::string& outputFileName, bool exportAnimations, bool
dest.writeVector3(bones[i].mBindPosition);
dest.writeQuaternion(bones[i].mBindRotation);
dest.writeVector3(bones[i].mBindScale);
dest.writeUInt(bones[i].mCollisionMask);
dest.writeUByte(bones[i].mCollisionMask);
if (bones[i].mCollisionMask & 1)
dest.writeFloat(bones[i].mRadius);
if (bones[i].mCollisionMask & 2)
@ -1059,7 +1053,7 @@ void writeOutput(const std::string& outputFileName, bool exportAnimations, bool
{
AnimationTrack& track = newAnimation.mTracks[i];
dest.writeString(track.mName);
dest.writeUInt(track.mChannelMask);
dest.writeUByte(track.mChannelMask);
dest.writeUInt(track.mKeyFrames.size());
for (unsigned j = 0; j < track.mKeyFrames.size(); ++j)
{

View File

@ -49,7 +49,7 @@ struct ModelBone
Vector3 mDerivedScale;
Matrix4x3 mWorldTransform;
Matrix4x3 mInverseWorldTransform;
unsigned mCollisionMask;
unsigned char mCollisionMask;
float mRadius;
BoundingBox mBoundingBox;
};