Changeset 198 for trunk/src/formats/md2_loader.cc
- Timestamp:
- 08/11/13 17:19:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/formats/md2_loader.cc
r189 r198 17 17 18 18 // assuming low-endian 19 #define MD2_MAGIC "IDP2"20 19 #define MD2_MAX_FRAMES 512 21 20 #define MD2_MAX_SKINS 32 … … 75 74 struct md2_vertex_t 76 75 { 77 u nsigned charv[3];78 u nsigned charn;76 uint8 v[3]; 77 uint8 n; 79 78 }; 80 79 … … 127 126 } 128 127 129 static bool read_md2_frame( md2_frame_t* frame, intvcount, nv::stream& source )128 static bool read_md2_frame( md2_frame_t* frame, unsigned vcount, nv::stream& source ) 130 129 { 131 130 frame->vertices = new md2_vertex_t[ vcount ]; … … 170 169 171 170 source.seek( md2->header.offset_skins, origin::SET ); 172 source.read( md2->skins, sizeof(md2_skin_t), md2->header.num_skins);171 source.read( md2->skins, sizeof(md2_skin_t), static_cast<size_t>( md2->header.num_skins ) ); 173 172 174 173 source.seek( md2->header.offset_st, origin::SET ); 175 source.read( md2->texcoords, sizeof(md2_texcoord_t), md2->header.num_st);174 source.read( md2->texcoords, sizeof(md2_texcoord_t), static_cast<size_t>( md2->header.num_st ) ); 176 175 177 176 source.seek( md2->header.offset_tris, origin::SET ); 178 source.read( md2->triangles, sizeof(md2_triangle_t), md2->header.num_tris);177 source.read( md2->triangles, sizeof(md2_triangle_t), static_cast<size_t>( md2->header.num_tris ) ); 179 178 180 179 source.seek( md2->header.offset_glcmds, origin::SET); 181 source.read( md2->glcmds, sizeof(int), md2->header.num_glcmds);180 source.read( md2->glcmds, sizeof(int), static_cast<size_t>( md2->header.num_glcmds ) ); 182 181 183 182 md2->frames = new md2_frame_t [ md2->header.num_frames ]; … … 185 184 for ( int i = 0; i < md2->header.num_frames; ++i ) 186 185 { 187 if (!read_md2_frame( &(md2->frames[i]), md2->header.num_vertices, source ) ) return false;186 if (!read_md2_frame( &(md2->frames[i]), static_cast<unsigned>( md2->header.num_vertices ), source ) ) return false; 188 187 } 189 188 … … 197 196 } 198 197 199 static inline vec3 md2_normal( charnormal )198 static inline vec3 md2_normal( uint8 normal ) 200 199 { 201 200 return md2_vec3( md2_normal_table[normal] ); … … 269 268 } 270 269 271 si nt32md2_loader::get_max_frames() const272 { 273 return ((md2_t*)m_md2)->header.num_frames;270 size_t md2_loader::get_max_frames() const 271 { 272 return static_cast< size_t >( ((md2_t*)m_md2)->header.num_frames ); 274 273 } 275 274 … … 277 276 { 278 277 md2_t* md2 = (md2_t*)m_md2; 279 si nt32 num_frames = md2->header.num_frames;280 si nt32 num_verts =m_new_vindexes.size();278 size_t num_frames = static_cast< size_t >( md2->header.num_frames ); 279 size_t num_verts = m_new_vindexes.size(); 281 280 p.clear(); 282 si nt32 current_frame = ( frame == -1 ? 0 : frame);283 si nt32frame_count = ( frame == -1 ? num_frames : 1 );281 size_t current_frame = ( frame == -1 ? 0 : static_cast< size_t >( frame ) ); 282 size_t frame_count = ( frame == -1 ? num_frames : 1 ); 284 283 285 284 p.reserve( num_verts * frame_count ); … … 287 286 while ( frame_count > 0 ) 288 287 { 289 const md2_frame_t& frame = md2->frames[current_frame];290 NV_LOG( LOG_INFO, "FrameID = " << frame.name );291 292 vec3 scale = md2_vec3( frame.scale );293 vec3 translate = md2_vec3( frame.translate );294 295 for (si nt32i = 0; i < num_verts; ++i )288 const md2_frame_t& cframe = md2->frames[current_frame]; 289 NV_LOG( LOG_INFO, "FrameID = " << cframe.name ); 290 291 vec3 scale = md2_vec3( cframe.scale ); 292 vec3 translate = md2_vec3( cframe.translate ); 293 294 for (size_t i = 0; i < num_verts; ++i ) 296 295 { 297 const md2_vertex_t& v = frame.vertices[ m_new_vindexes[ i ] ];296 const md2_vertex_t& v = cframe.vertices[ m_new_vindexes[ i ] ]; 298 297 p.push_back( vec3( v.v[0], v.v[2], v.v[1] ) * scale + translate ); 299 298 } … … 306 305 { 307 306 md2_t* md2 = (md2_t*)m_md2; 308 si nt32 num_frames = md2->header.num_frames;309 si nt32num_verts = m_new_vindexes.size();307 size_t num_frames = static_cast< size_t >( md2->header.num_frames ); 308 size_t num_verts = m_new_vindexes.size(); 310 309 n.clear(); 311 si nt32 current_frame = ( frame == -1 ? 0 : frame);312 si nt32frame_count = ( frame == -1 ? num_frames : 1 );310 size_t current_frame = ( frame == -1 ? 0 : static_cast< size_t>( frame ) ); 311 size_t frame_count = ( frame == -1 ? num_frames : 1 ); 313 312 314 313 n.reserve( num_verts * frame_count ); … … 316 315 while ( frame_count > 0 ) 317 316 { 318 const md2_frame_t& frame = md2->frames[current_frame];319 320 for (si nt32i = 0; i < num_verts; ++i )317 const md2_frame_t& cframe = md2->frames[current_frame]; 318 319 for (size_t i = 0; i < num_verts; ++i ) 321 320 { 322 const md2_vertex_t& v = frame.vertices[ m_new_vindexes[ i ] ];321 const md2_vertex_t& v = cframe.vertices[ m_new_vindexes[ i ] ]; 323 322 n.push_back( s_md2_normal_cache[ v.n ] ); 324 323 } … … 331 330 { 332 331 md2_t* md2 = (md2_t*)m_md2; 333 si nt32num_verts = m_new_vindexes.size();332 size_t num_verts = m_new_vindexes.size(); 334 333 335 334 t.clear(); … … 338 337 vec2 scale( 1.0f / (float) md2->header.skinwidth, 1.0f / (float) md2->header.skinheight ); 339 338 340 for (si nt32i = 0; i < num_verts; ++i )339 for (size_t i = 0; i < num_verts; ++i ) 341 340 { 342 341 const md2_texcoord_t& st = md2->texcoords[ m_new_tindexes[ i ] ]; … … 354 353 { 355 354 md2_t* md2 = (md2_t*)m_md2; 356 uint32 num_indexes = md2->header.num_tris * 3;355 uint32 num_indexes = static_cast< uint32 >( md2->header.num_tris * 3 ); 357 356 358 357 uint32 stats_reuse = 0; … … 373 372 for ( int j = 0; j < 3; ++j ) 374 373 { 375 shortindex = t.vertex[j];376 shorttindex = t.st[j];374 uint16 index = t.vertex[j]; 375 uint16 tindex = t.st[j]; 377 376 378 377 if ( index_translation[ index ] != -1 ) 379 378 { 380 uint16 prev = index_translation[ index ];379 uint16 prev = static_cast< uint16 >( index_translation[ index ] ); 381 380 if ( m_new_tindexes[ prev ] == tindex ) 382 381 {
Note: See TracChangeset
for help on using the changeset viewer.