From cc5dfc96533d761df267c0d89da7c24026a9d848 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 19 Aug 2004 00:42:31 +0000 Subject: [PATCH] cleanup --- stepmania/src/Model.cpp | 38 +++++++-------- stepmania/src/ModelTypes.h | 76 ++++++----------------------- stepmania/src/RageModelGeometry.cpp | 8 +-- 3 files changed, 37 insertions(+), 85 deletions(-) diff --git a/stepmania/src/Model.cpp b/stepmania/src/Model.cpp index c714f9d293..f74d5ba93a 100644 --- a/stepmania/src/Model.cpp +++ b/stepmania/src/Model.cpp @@ -274,7 +274,6 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) CString sLine; int iLineNum = 0; - int nFlags, j; while( f.GetLine( sLine ) > 0 ) { @@ -287,17 +286,16 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) // bones // int nNumBones = 0; - if (sscanf (sLine, "Bones: %d", &nNumBones) == 1) + if( sscanf (sLine, "Bones: %d", &nNumBones) == 1 ) { m_mapNameToAnimation[sAniName] = msAnimation(); msAnimation &Animation = m_mapNameToAnimation[sAniName]; - int i; char szName[MS_MAX_NAME]; Animation.Bones.resize( nNumBones ); - for (i = 0; i < nNumBones; i++) + for( int i = 0; i < nNumBones; i++ ) { msBone& Bone = Animation.Bones[i]; @@ -326,6 +324,8 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) RageVector3 Position, Rotation; if( f.GetLine( sLine ) <= 0 ) THROW; + + int nFlags; if (sscanf (sLine, "%d %f %f %f %f %f %f", &nFlags, &Position[0], &Position[1], &Position[2], @@ -337,8 +337,6 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) memcpy( &Bone.Position, &Position, sizeof(Bone.Position) ); memcpy( &Bone.Rotation, &Rotation, sizeof(Bone.Rotation) ); - float fTime; - // position key count if( f.GetLine( sLine ) <= 0 ) THROW; @@ -348,10 +346,12 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) Bone.PositionKeys.resize( nNumPositionKeys ); - for (j = 0; j < nNumPositionKeys; j++) + for( int j = 0; j < nNumPositionKeys; ++j ) { if( f.GetLine( sLine ) <= 0 ) THROW; + + float fTime; if (sscanf (sLine, "%f %f %f %f", &fTime, &Position[0], &Position[1], &Position[2]) != 4) THROW; @@ -370,10 +370,12 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) Bone.RotationKeys.resize( nNumRotationKeys ); - for (j = 0; j < nNumRotationKeys; j++) + for( int j = 0; j < nNumRotationKeys; ++j ) { if( f.GetLine( sLine ) <= 0 ) THROW; + + float fTime; if (sscanf (sLine, "%f %f %f %f", &fTime, &Rotation[0], &Rotation[1], &Rotation[2]) != 4) THROW; @@ -386,17 +388,13 @@ void Model::LoadMilkshapeAsciiBones( CString sAniName, CString sPath ) // Ignore "Frames:" in file. Calculate it ourself Animation.nTotalFrames = 0; - for ( i = 0; i < (int)Animation.Bones.size(); i++) + for( int i = 0; i < (int)Animation.Bones.size(); i++ ) { msBone& Bone = Animation.Bones[i]; - { - for( int j=0; j<(int)Bone.PositionKeys.size(); j++ ) - Animation.nTotalFrames = max( Animation.nTotalFrames, (int)Bone.PositionKeys[j].fTime ); - } - { - for( int j=0; j<(int)Bone.RotationKeys.size(); j++ ) - Animation.nTotalFrames = max( Animation.nTotalFrames, (int)Bone.RotationKeys[j].fTime ); - } + for( unsigned j = 0; j < Bone.PositionKeys.size(); ++j ) + Animation.nTotalFrames = max( Animation.nTotalFrames, (int)Bone.PositionKeys[j].fTime ); + for( unsigned j = 0; j < Bone.RotationKeys.size(); ++j ) + Animation.nTotalFrames = max( Animation.nTotalFrames, (int)Bone.RotationKeys[j].fTime ); } PlayAnimation( sAniName ); @@ -799,7 +797,7 @@ void Model::Update( float fDelta ) Actor::Update( fDelta ); AdvanceFrame( fDelta ); - for( int i=0; i<(int)m_Materials.size(); i++ ) + for( unsigned i = 0; i < m_Materials.size(); ++i ) { m_Materials[i].diffuse.Update( fDelta ); m_Materials[i].alpha.Update( fDelta ); @@ -810,13 +808,13 @@ void Model::Update( float fDelta ) // if( m_pGeometry && m_pTempGeometry ) { - for (int i = 0; i < (int)m_pGeometry->m_Meshes.size(); i++) + for( unsigned i = 0; i < m_pGeometry->m_Meshes.size(); ++i ) { msMesh &origMesh = m_pGeometry->m_Meshes[i]; msMesh &tempMesh = m_vTempMeshes[i]; vector &origVertices = origMesh.Vertices; vector &tempVertices = tempMesh.Vertices; - for (unsigned j = 0; j < origVertices.size(); j++) + for( unsigned j = 0; j < origVertices.size(); j++ ) { RageVector3& tempPos = tempVertices[j].p; RageVector3& originalPos = origVertices[j].p; diff --git a/stepmania/src/ModelTypes.h b/stepmania/src/ModelTypes.h index e55388f4cd..faa5534063 100644 --- a/stepmania/src/ModelTypes.h +++ b/stepmania/src/ModelTypes.h @@ -5,52 +5,19 @@ #define MS_MAX_NAME 32 -#ifndef byte -typedef unsigned char byte; -#endif /* byte */ - -#ifndef word -typedef unsigned short word; -#endif /* word */ - #include "RageTypes.h" - -/* msFlag */ -typedef enum { - eSelected = 1, eSelected2 = 2, eHidden = 4, eDirty = 8, eAveraged = 16, eUnused = 32 -} msFlag; - -/* msVertex */ -/* -typedef struct msVertex +struct msTriangle { -// byte nFlags; // we don't care about saving this flag - RageVector3 Vertex; - RageVector3 Normal; - RageVector2 uv; - char nBoneIndex; -} msVertex; -*/ - -/* msTriangle */ -typedef struct -{ -// word nFlags; // we don't care about saving this flag - word nVertexIndices[3]; -// word nNormalIndices[3]; // we don't care about this. Use the normals in each vertex -// msVec3 Normal; // we don't care about per-triangle normals. Each vertex has its own -// byte nSmoothingGroup; // we don't care about this, so don't save it -} msTriangle; + uint16_t nVertexIndices[3]; +}; -/* msMesh */ -typedef struct msMesh +struct msMesh { msMesh(); ~msMesh(); -// byte nFlags; // we don't care about saving this flag char szName[MS_MAX_NAME]; char nMaterialIndex; @@ -62,9 +29,8 @@ typedef struct msMesh char nBoneIndex; // -1 = no bone vector Triangles; -} msMesh; +}; -/* msMaterial */ class RageTexture; // merge this into Sprite? @@ -103,7 +69,7 @@ private: vector vFrames; }; -typedef struct msMaterial +struct msMaterial { int nFlags; CString sName; @@ -117,24 +83,21 @@ typedef struct msMaterial AnimatedTexture diffuse; AnimatedTexture alpha; -} msMaterial; +}; -/* msPositionKey */ -typedef struct msPositionKey +struct msPositionKey { float fTime; RageVector3 Position; -} msPositionKey; +}; -/* msRotationKey */ -typedef struct msRotationKey +struct msRotationKey { float fTime; RageVector3 Rotation; -} msRotationKey; +}; -/* msBone */ -typedef struct msBone +struct msBone { int nFlags; char szName[MS_MAX_NAME]; @@ -147,15 +110,7 @@ typedef struct msBone int nNumRotationKeys; int nNumAllocedRotationKeys; vector RotationKeys; -} msBone; - -/* msModel */ -//typedef struct msModel -//{ -// vector Meshes; -// -// vector Materials; -//} msModel; +}; struct msAnimation { @@ -169,20 +124,19 @@ struct msAnimation return -1; } -// int nFrame; // not used in SM. We keep track of this outside this structure. int nTotalFrames; RageVector3 Position; RageVector3 Rotation; }; -typedef struct +struct myBone_t { RageMatrix mRelative; RageMatrix mAbsolute; RageMatrix mRelativeFinal; RageMatrix mFinal; -} myBone_t; +}; #endif diff --git a/stepmania/src/RageModelGeometry.cpp b/stepmania/src/RageModelGeometry.cpp index 961ddb2d0d..992e365865 100644 --- a/stepmania/src/RageModelGeometry.cpp +++ b/stepmania/src/RageModelGeometry.cpp @@ -127,7 +127,7 @@ void RageModelGeometry::LoadMilkshapeAscii( CString sPath ) strcpy( mesh.szName, szName ); // mesh.nFlags = nFlags; - mesh.nMaterialIndex = (byte)nIndex; + mesh.nMaterialIndex = (uint8_t) nIndex; mesh.nBoneIndex = -1; @@ -161,7 +161,7 @@ void RageModelGeometry::LoadMilkshapeAscii( CString sPath ) } // vertex.nFlags = nFlags; - v.bone = (byte)nIndex; + v.bone = (uint8_t) nIndex; RageVec3AddToBounds( v.p, m_vMins, m_vMaxs ); } @@ -210,8 +210,8 @@ void RageModelGeometry::LoadMilkshapeAscii( CString sPath ) if( f.GetLine( sLine ) <= 0 ) THROW - word nIndices[3]; - word nNormalIndices[3]; + uint16_t nIndices[3]; + uint16_t nNormalIndices[3]; if (sscanf (sLine, "%d %hd %hd %hd %hd %hd %hd %d", &nFlags, &nIndices[0], &nIndices[1], &nIndices[2],