Changeset 413 for trunk/src/formats/md3_loader.cc
- Timestamp:
- 07/09/15 18:53:08 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/formats/md3_loader.cc
r412 r413 289 289 { 290 290 md3_t* md3 = reinterpret_cast< md3_t* >( m_md3 ); 291 raw_data_channel* result = raw_data_channel::create<md3_key>( uint32( md3->header.num_frames ) );291 data_channel_creator< md3_key > result( uint32( md3->header.num_frames ) ); 292 292 // TODO: is this brain damaged in efficiency (loop nest order) or what? 293 293 for ( sint32 f = 0; f < md3->header.num_frames; ++f ) … … 303 303 vec3 axisy ( md3_vec3( rtag.axis[2] ) ); 304 304 vec3 origin ( md3_vec3( rtag.origin ) ); 305 re interpret_cast< md3_key*>(result->data)[f].tform = transform( origin, quat( mat3( axisx, axisy, axisz ) ) );305 result.data()[f].tform = transform( origin, quat( mat3( axisx, axisy, axisz ) ) ); 306 306 } 307 307 } 308 308 309 309 } 310 return result ;310 return result.release(); 311 311 } 312 312 … … 352 352 } 353 353 354 raw_data_channel* mc_pn = raw_data_channel::create< vtx_md3_pn >( uint32( num_verts * frame_count ) );355 raw_data_channel* mc_t = raw_data_channel::create< vtx_md3_t >( uint32( num_verts ) );356 raw_data_channel* ic = raw_data_channel::create< index_u16 >( uint32( index_count ) );357 vtx_md3_pn* vtx_pn = reinterpret_cast< vtx_md3_pn* >( mc_pn->data);358 vtx_md3_t* vtx_t = reinterpret_cast< vtx_md3_t* >( mc_t->data);359 uint16* icp = reinterpret_cast< uint16* >( ic->data);354 data_channel_creator< vtx_md3_pn > mc_pn( static_cast< uint32 >( num_verts * frame_count ) ); 355 data_channel_creator< vtx_md3_t > mc_t( static_cast< uint32 >( num_verts ) ); 356 data_channel_creator< index_u16 > ic( static_cast< uint32 >( index_count ) ); 357 vtx_md3_pn* vtx_pn = mc_pn.data(); 358 vtx_md3_t* vtx_t = mc_t.data(); 359 uint16* icp = &(ic.data()[0].index); 360 360 361 361 uint32 index = 0; … … 413 413 414 414 data->set_name( reinterpret_cast< char* >( md3->header.name ) ); 415 data->add_channel( mc_pn );416 data->add_channel( mc_t );417 data->add_channel( ic );415 data->add_channel( mc_pn.release() ); 416 data->add_channel( mc_t.release() ); 417 data->add_channel( ic.release() ); 418 418 } 419 419
Note: See TracChangeset
for help on using the changeset viewer.