void Scheduler::deathFadeLoop() { SDL_Event event; viewer.displayDeath(); viewer.fadeVal = -2; viewer.VXSCAL = 0x80; viewer.VYSCAL = 0x80; viewer.VXSCALf = 128.0f; viewer.VYSCALf = 128.0f; viewer.delay = 0; viewer.VCTFAD = 32; viewer.done = false; while(SDL_PollEvent(&event)) { ; // clear event buffer } // Start buzz Mix_Volume(viewer.fadChannel, 0); Mix_PlayChannel(viewer.fadChannel, creature.buzz, -1); while (!viewer.done) { viewer.death_fade(viewer.W1_VLA); EscCheck(); } // Stop buzz Mix_HaltChannel(viewer.fadChannel); while(SDL_PollEvent(&event)) { ; // clear event buffer } while(true) { viewer.death_fade(viewer.W1_VLA); if ( keyCheck() ) { viewer.clearArea(&viewer.TXTPRI); while(SDL_PollEvent(&event)) { ; // clear event buffer } return; } } }