#ifndef GBM_CONSTS_H #define GBM_CONSTS_H typedef enum CELLTYPE { START, BLUE, RED, EVENT, VS, BOWSER, CHANCE_TIME, BOO, STAR, BANK } CELLTYPE ; static int n_cell_type = 10 ; typedef enum ITEM { DOUBLE_DICE, SPECIAL_DOUBLE_DICE, TRIPLE_DICE, SPECIAL_TRIPLE_DICE, CURSED_DICE, SMALL_CUSTOM_DICE, CUSTOM_DICE, BOO_BELL, GOLD_PIPE, KEY, PLUNDER_CHEST, WARP_BLOCK, SPECIAL_WARP_BLOCK } ITEM ; static int n_items = 13 ; typedef struct cell { int id ; // mostly for parkour int coord_x ; int coord_y ; bool star_allowed ; CELLTYPE type ; struct cell* prev_1 ; struct cell* prev_2 ; struct cell* prev_3 ; struct cell* prev_4 ; struct cell* next_1 ; struct cell* next_2 ; struct cell* next_3 ; struct cell* next_4 ; // I dont wanna deal with free/malloc there pls char* meta ; // mostly for event spaces (also for hidden blocks) } cell ; typedef struct playerStats { int minigames_wins ; int coin_collected ; int red_count ; int bowser_count ; int items_used ; int lost_coins ; int lost_stars ; int tiles_travelled ; int events_triggered ; int hidden_blocks ; } playerStats ; typedef struct player { char* name ; cell* standing_tile ; int coins ; int stars ; ITEM* items ; int item_len ; int max_items ; playerStats stats ; } player ; typedef struct imgs {int len; SDL_Texture** arr;} imgs ; // arrays extern int* cell_count ; extern int* item_costs ; extern int* item_start ; extern int* item_end ; extern bool* item_is_normal_type ; extern bool* item_is_special_type ; // global static int n_turns = 20; static int n_star_spaces = 5 ; static int star_cost = 20 ; extern cell* start ; // starting tile extern cell** playerCells ; static int n_players ; extern player* players ; extern imgs digits ; // len is always 10 for this static int __width__ = 1200 ; static int __height__ = 800 ; static int tile_size = 50 ; #endif