void render(void) { SDL_SetRenderDrawColor(display.renderer, 0x20, 0x20, 0x20, 0xFF); SDL_RenderClear(display.renderer); draw_text_splat(&title_1, -1, 25); draw_text_splat(&title_2, -1, 35); SDL_SetTextureAlphaMod(rotator[rotate_index].texture, 0xFF * brightness); draw_text_splat(&rotator[rotate_index], -1, REFERENCE_HEIGHT - 24); SDL_SetRenderDrawBlendMode(display.renderer, SDL_BLENDMODE_BLEND); for (int x = 0; x < REFERENCE_WIDTH; x += 32) { SDL_Rect dest_rect = { x, 128, 32, 32 }; SDL_RenderCopy(display.renderer, backlight->texture, &backlight->src_rect[0], &dest_rect); } sprite_t *dude_sprite = sprite_thing_get(dude.type); SDL_Rect dest_rect = { position, 144, dude_sprite->src_rect[dude.current_frame].w, dude_sprite->src_rect[dude.current_frame].h }; SDL_RenderCopy(display.renderer, dude_sprite->texture, &dude_sprite->src_rect[dude.current_frame], &dest_rect); for (int x = 0; x < REFERENCE_WIDTH; x += 32) { SDL_Rect fore_rect = { x, 128, 32, 32 }; SDL_Rect bott_rect = { x, 160, 32, 32 }; SDL_RenderCopy(display.renderer, foreground->texture, &foreground->src_rect[0], &fore_rect); SDL_RenderCopy(display.renderer, bottom->texture, &bottom->src_rect[0], &bott_rect); } }
static void render(void) { SDL_SetTextureAlphaMod(title_rotate[rotate_index].texture, 0xFF * brightness); SDL_SetRenderDrawColor(display.renderer, 0x20, 0x20, 0x20, 0x20); SDL_RenderClear(display.renderer); SDL_SetRenderDrawBlendMode(display.renderer, SDL_BLENDMODE_BLEND); SDL_SetRenderDrawColor(display.renderer, 0xFF, 0xFF, 0xFF, 0x20); draw_text_splat(&title_rotate[rotate_index], -1, 0); draw_sprite(panel_timer, 16, 28); timer_blit(ticks_countup, REFERENCE_WIDTH - 22, 32); draw_text_splat(&elapsed_time, -1, 56); SDL_RenderDrawLine(display.renderer, 0, 80, REFERENCE_WIDTH, 80); draw_text_splat(&achievements, -1, 81); if (achievement_index != -1) { draw_sprite(panel_achievement, 0, 106); draw_sprite(achievement_index, 9, 114); draw_text_splat(&ach_title[achievement_index], 48, 130 - (ach_title[achievement_index].source_rect.h / 2)); draw_text_splat(&ach_desc[achievement_index], 4, 152); } else { draw_text_splat(&achievements_none, -1, 130); } SDL_RenderDrawLine(display.renderer, 0, 224, REFERENCE_WIDTH, 224); if (achievement_count > 1) { draw_text_splat(&achievements_more, -1, 232); draw_sprite(sui_arrow_left, 0, 226); draw_sprite(sui_arrow_right, REFERENCE_WIDTH - 32, 226); } }