void game_sel_shuffle_back( int manage_textures ) { struct game_tile *t = game_tile_start; if( t ) { while( t ) { if( t->game ) t->game = t->game->next; if( manage_textures && t->next == NULL ) game_load_texture( t->game ); t = t->next; } if( manage_textures ) { /* Check if we can free the last game's texture (we can't * if the game appears more than once in the selector. */ t = game_tile_end; while( t && t->game != game_tile_start->game ) { t = t->prev; } if( t == NULL || t == game_tile_start ) { game_free_texture( game_tile_start->game->prev ); } } } }
void game_sel_load_textures( void ) { struct game_tile *t = game_tile_start; while( t ) { game_load_texture( t->game ); t = t->next; } }
int game_list_resume( void ) { struct game *g = game_start; if( g ) { do { game_load_texture( g ); g = g->all_next; } while( g != game_start ); } return 0; }
int game_sel_populate( struct game *game ) { int i; struct game_tile *tile; if( game == NULL ) { return -1; } /* Make sure the first game in the list is in the center (i.e. selected) */ for( i = 0 ; i < tile_count/2 ; i++ ) { game = game->prev; } tile = game_tile_start; while( tile ) { game_load_texture( game ); tile->game = game; tile = tile->next; game = game->next; } return 0; }