Changeset 198 for trunk/src/formats/md3_loader.cc
- Timestamp:
- 08/11/13 17:19:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/formats/md3_loader.cc
r189 r198 17 17 18 18 // assuming low-endian 19 #define MD3_MAGIC "IDP3"20 19 #define MD3_MAX_FRAMES 1024 21 20 #define MD3_MAX_TAGS 16 … … 149 148 static bool read_surface( md3_surface_t * surface, nv::stream& source ) 150 149 { 151 sint32 pos = s ource.tell();150 sint32 pos = static_cast< sint32 >( source.tell() ); 152 151 source.read( &surface->header, sizeof(md3_surface_header_t), 1 ); 153 152 … … 164 163 165 164 source.seek( pos + surface->header.ofs_shaders, origin::SET ); 166 source.read( surface->shaders, sizeof( md3_shader_t ), s urface->header.num_shaders);165 source.read( surface->shaders, sizeof( md3_shader_t ), static_cast<size_t>( surface->header.num_shaders ) ); 167 166 168 167 source.seek( pos + surface->header.ofs_triangles, origin::SET ); 169 source.read( surface->triangles, sizeof( md3_triangle_t ), s urface->header.num_triangles);168 source.read( surface->triangles, sizeof( md3_triangle_t ), static_cast<size_t>( surface->header.num_triangles ) ); 170 169 171 170 source.seek( pos + surface->header.ofs_st, origin::SET ); 172 source.read( surface->st, sizeof( md3_texcoord_t ), s urface->header.num_verts);171 source.read( surface->st, sizeof( md3_texcoord_t ), static_cast<size_t>( surface->header.num_verts ) ); 173 172 174 173 source.seek( pos + surface->header.ofs_xyznormal, origin::SET ); 175 source.read( surface->vertices, sizeof( md3_vertex_t ), s urface->header.num_verts * surface->header.num_frames);174 source.read( surface->vertices, sizeof( md3_vertex_t ), static_cast<size_t>( surface->header.num_verts * surface->header.num_frames ) ); 176 175 177 176 if ( source.tell() != static_cast<std::size_t>( pos + surface->header.ofs_end ) ) return false; … … 201 200 md3->tags = new md3_tag_t [ md3->header.num_tags * md3->header.num_frames ]; 202 201 md3->surfaces = new md3_surface_t[ md3->header.num_surfaces ]; 203 std::memset( md3->surfaces, 0, md3->header.num_surfaces* sizeof(md3_surface_t) );202 std::memset( md3->surfaces, 0, static_cast< size_t >( md3->header.num_surfaces ) * sizeof(md3_surface_t) ); 204 203 205 204 source.seek( md3->header.ofs_frames, origin::SET ); 206 source.read( md3->frames, sizeof( md3_frame_t ), md3->header.num_frames);205 source.read( md3->frames, sizeof( md3_frame_t ), static_cast<size_t>( md3->header.num_frames ) ); 207 206 208 207 source.seek( md3->header.ofs_tags, origin::SET ); 209 source.read( md3->tags, sizeof( md3_tag_t ), md3->header.num_tags * md3->header.num_frames);208 source.read( md3->tags, sizeof( md3_tag_t ), static_cast<size_t>( md3->header.num_tags * md3->header.num_frames ) ); 210 209 211 210 source.seek( md3->header.ofs_surfaces, origin::SET ); … … 351 350 } 352 351 353 si nt32md3_loader::get_max_frames() const354 { 355 return ((md3_t*)m_md3)->header.num_frames;352 size_t md3_loader::get_max_frames() const 353 { 354 return static_cast< size_t >( ((md3_t*)m_md3)->header.num_frames ); 356 355 } 357 356 … … 401 400 sint32 frame_count = ( frame == -1 ? md3->header.num_frames : 1 ); 402 401 403 p.reserve( md3->vertices_per_frame * frame_count);402 p.reserve( static_cast< size_t >( md3->vertices_per_frame * frame_count ) ); 404 403 405 404 while ( frame_count > 0 ) … … 430 429 sint32 frame_count = ( frame == -1 ? md3->header.num_frames : 1 ); 431 430 432 n.reserve( md3->vertices_per_frame * frame_count);431 n.reserve( static_cast< size_t >( md3->vertices_per_frame * frame_count ) ); 433 432 434 433 while ( frame_count > 0 ) … … 476 475 { 477 476 const md3_surface_t& surface = md3->surfaces[i]; 478 const si nt32 tcount = surface.header.num_triangles;477 const size_t tcount = static_cast< size_t >( surface.header.num_triangles ); 479 478 480 479 idx.reserve( idx.size() + tcount * 3 ); 481 for (si nt32j = 0; j < tcount; ++j )480 for (size_t j = 0; j < tcount; ++j ) 482 481 { 483 482 const md3_triangle_t& t = surface.triangles[j];
Note: See TracChangeset
for help on using the changeset viewer.