// Level selection area
- for( int i = 0; i < vg_list_size( button_grids ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct button_grid *grid = &button_grids[ i ];
+ struct career_level_pack *grid = &career_packs[ i ];
for( int y = 0; y < grid->dims[1]; y ++ )
{
memset( encoded.reserved, 0, sizeof( encoded.reserved ) );
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
{
}
// Check ALL maps to trigger master engineer
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
{
vg_info( "No save file... Using blank one\n" );
// Reset memory
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
career_reset_level( &set->pack[j] );
// =================================
// Decode everything from dstate
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
{
if( vg_get_button_down( "primary" ) )
select_from = NULL;
- for( int i = 0; i < vg_list_size( button_grids ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct button_grid *grid = &button_grids[i];
+ struct career_level_pack *grid = &career_packs[i];
int j = 0;
{
if( j < grid->count )
{
- struct cmp_level *lvl = &grid->levels[ j ];
+ struct cmp_level *lvl = &grid->pack[ j ];
// Determine colour
if( lvl->unlocked )
size_level_texts = 6*9*7
;
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
{
struct cmp_level *lvl = &set->pack[j];
int serial_id;
int is_tutorial;
+ v2i world_pos;
+
#ifdef VG_STEAM
SteamLeaderboard_t steam_leaderboard;
#endif
#define NUM_CAMPAIGN_LEVELS (vg_list_size( cmp_levels_tutorials ) + vg_list_size( cmp_levels_basic ) + vg_list_size( cmp_levels_grad ))
-static struct serializable_set
+static struct career_level_pack
{
struct cmp_level *pack;
int count;
+
+ v3f primary_colour;
+ v2i origin;
+ v2i dims;
}
-career_serializable[] =
+career_packs[] =
{
{
.pack = cmp_levels_tutorials,
- .count = vg_list_size( cmp_levels_tutorials )
+ .count = vg_list_size( cmp_levels_tutorials ),
+ .primary_colour = { 0.204f, 0.345f, 0.553f },
+ .origin = { -5, 0 },
+ .dims = { 1, 4 }
},
{
.pack = cmp_levels_basic,
- .count = vg_list_size( cmp_levels_basic )
+ .count = vg_list_size( cmp_levels_basic ),
+ .primary_colour = { 0.304f, 0.245f, 0.553f },
+ .origin = { -3, 0 },
+ .dims = { 3, 6 }
},
{
.pack = cmp_levels_grad,
- .count = vg_list_size( cmp_levels_grad )
+ .count = vg_list_size( cmp_levels_grad ),
+ .primary_colour = { 0.553f, 0.345f, 0.204f },
+ .origin = { -5, 7 },
+ .dims = { 4, 1 }
}
};
struct cmp_level *level_ptrs[ NUM_CAMPAIGN_LEVELS ];
// COllect pointers
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
level_ptrs[ set->pack[j].serial_id ] = &set->pack[j];
}
// Apply
- for( int i = 0; i < vg_list_size( career_serializable ); i ++ )
+ for( int i = 0; i < vg_list_size( career_packs ); i ++ )
{
- struct serializable_set *set = &career_serializable[i];
+ struct career_level_pack *set = &career_packs[i];
for( int j = 0; j < set->count; j ++ )
{
}
}
}
-
-static struct button_grid
-{
- v3f primary_colour;
- v2i origin;
- v2i dims;
- struct cmp_level *levels;
- int count;
-}
-button_grids[] =
-{
- {
- .primary_colour = { 0.204f, 0.345f, 0.553f },
- .origin = { -5, 0 },
- .dims = { 1, 4 },
- .levels = cmp_levels_tutorials,
- .count = vg_list_size( cmp_levels_tutorials )
- },
- {
- .primary_colour = { 0.304f, 0.245f, 0.553f },
- .origin = { -3, 0 },
- .dims = { 3, 6 },
- .levels = cmp_levels_basic,
- .count = vg_list_size( cmp_levels_basic )
- },
- {
- .primary_colour = { 0.553f, 0.345f, 0.204f },
- .origin = { -5, 7 },
- .dims = { 4, 1 },
- .levels = cmp_levels_grad,
- .count = vg_list_size( cmp_levels_grad )
- }
-};