// Reset everything between levels void particle_init() { int fps; Particles_enabled = (Detail.num_particles > 0); Num_particles = 0; Particles.clear(); // FIRE!!! if ( Anim_bitmap_id_fire == -1 ) { Anim_bitmap_id_fire = bm_load_animation( "particleexp01", &Anim_num_frames_fire, &fps, NULL, 0 ); } // Cough, cough if ( Anim_bitmap_id_smoke == -1 ) { Anim_bitmap_id_smoke = bm_load_animation( "particlesmoke01", &Anim_num_frames_smoke, &fps, NULL, 0 ); } // wheeze if ( Anim_bitmap_id_smoke2 == -1 ) { Anim_bitmap_id_smoke2 = bm_load_animation( "particlesmoke02", &Anim_num_frames_smoke2, &fps, NULL, 0 ); } // grab a vertex buffer object if ( Particle_buffer_object < 0 ) { Particle_buffer_object = gr_create_stream_buffer(); } }
// Reset everything between levels void trail_level_init() { Num_trails = 0; Trails.next = &Trails; if (Trail_buffer_object < 0) { Trail_buffer_object = gr_create_stream_buffer(); } }