static void render(void) { view_render_parent(); uint8_t alpha_byte = (uint8_t)(0xFF * alpha); SDL_SetRenderDrawBlendMode(display.renderer, SDL_BLENDMODE_BLEND); SDL_SetRenderDrawColor(display.renderer, target.r, target.g, target.b, alpha_byte); SDL_RenderFillRect(display.renderer, NULL); if (view_fade_done()) { view_pop(); } }
static void process_dude_gibs(thing_t *dt) { if (view_fade_done()) { set_score(); // Pop everything (pause? fade? who cares) while (view_pop()) { }; view_fade_in((SDL_Color) { 255, 255, 255, 255 }); view_push(&view_score); view_push(&view_fade); audio_music_fade(); process_init(); } else { uint32_t since_ended = game.active_ticks - game.ended_at_ticks; if (since_ended == 60) { view_push(&view_fade); } } }