#include #include #include #include "flag.h" #include "game.h" #include "util.h" void load_flag(Game *g, char *line) { char *token = strtok(line, "|"); Flag *flag = &g->flags->flags[g->flags->count]; flag->key = malloc(strlen(token) + 1); strcpy(flag->key, token); token = strtok(NULL, "|"); flag->value = atoi(token); g->flags->count++; } #include "data/flags.c" void game_load_flags(Game *g) { parse_multiline_string(g, data_flags_txt, &load_flag); } int flag_value(Flags *f, char *key) { for (int i = 0; i < f->count; i++) { if (strcmp(f->flags[i].key, key) == 0) return f->flags[i].value; } return -1; }