MarioPartyMaker/src/consts.h

108 lines
2.0 KiB
C

#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