int init_scores(SDL_Renderer *g_rend_, const PixelDim2D *screen_dim_) { g_rend = g_rend_; screen_dim = *screen_dim_; TTF_Font *small_font = get_small_font(); TTF_Font *large_font = get_large_font(); COND_PGOTO_LT0( init_text_image(&exit_hint, small_font, "Hit ESC to go back.", g_rend, &DEFAULT_FG_COLOR), e_cleanup); exit_hint.pos.x = screen_dim.w - exit_hint.dim.w; exit_hint.pos.y = screen_dim.h - exit_hint.dim.h; COND_PGOTO_LT0( init_text_image(&title, large_font, "High Scores", g_rend, &DEFAULT_FG_COLOR), e_cleanup); title.pos.x = screen_dim.w/2 - title.dim.w/2; title.pos.y = LARGE_FONT_SIZE; const struct ScreenObject self = { .focus = focus, .render = render, .update = update, .handle_event = handle_event, .destroy = destroy }; register_screen(SCORES_SCREEN, &self); return 0; e_cleanup: destroy(); return -1; }
void register_menu_screens() { menu_screen_init(); register_screen("menu", (screen_t) &menu_screen); }