Changeset 543 for trunk/src/engine
- Timestamp:
- 02/06/17 21:13:58 (8 years ago)
- Location:
- trunk/src/engine
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/engine/particle_engine.cc
r534 r543 350 350 } 351 351 352 void nv::particle_engine::release( particle_system_info* info ) 353 { 354 if ( info ) 355 { 356 m_pgm->unref( info->group ); 357 delete[] info->particles; 358 } 359 } 360 352 361 void nv::particle_engine::clear() 353 362 { 354 while ( m_systems.size() > 0 ) 355 release( m_systems.get_handle( 0 ) ); 363 for ( auto& s : m_systems ) 364 release( &s ); 365 m_systems.clear(); 356 366 if ( m_pgm ) 357 367 m_pgm->reset(); … … 363 373 void nv::particle_engine::release( particle_system system ) 364 374 { 365 particle_system_info* info = m_systems.get( system ); 366 if ( info ) 367 { 368 m_pgm->unref( info->group ); 369 delete[] info->particles; 375 if ( particle_system_info* info = m_systems.get( system ) ) 376 { 377 release( info ); 370 378 m_systems.destroy( system ); 371 379 } -
trunk/src/engine/particle_group.cc
r520 r543 33 33 void particle_group_manager::release( particle_group group ) 34 34 { 35 particle_group_info* info = m_groups.get( group ); 36 if ( info ) 37 { 38 delete[] info->quads; 39 m_context->release( info->vtx_array ); 35 if ( particle_group_info* info = m_groups.get( group ) ) 36 { 37 release( info ); 40 38 m_groups.destroy( group ); 41 39 } … … 194 192 } 195 193 194 void nv::particle_group_manager::release( particle_group_info* info ) 195 { 196 if ( info ) 197 { 198 delete[] info->quads; 199 m_context->release( info->vtx_array ); 200 } 201 } 202 196 203 particle_group_manager::~particle_group_manager() 197 204 { … … 201 208 void particle_group_manager::clear() 202 209 { 203 while ( m_groups.size() > 0 ) 204 release( m_groups.get_handle( 0 ) ); 210 for ( auto& g : m_groups ) 211 release( &g ); 212 m_groups.clear(); 205 213 } 206 214
Note: See TracChangeset
for help on using the changeset viewer.