67 printf(
"Failure to Parse GameData");
75 printf(
"Object parse error");
99 entity_t *temp_ent, *pos_ent;
104 printf(
"Failure to Parse Entity Data \n");
108 printf(
"Size of Entity tokens: %d \n",
CountMem(gEntityTokens,
sizeof(
jsmntok_t)));
115 for(i = 0; i < objects; i++)
121 if(!temp_ent)
continue;
124 memcpy(pos_ent, temp_ent,
sizeof(entity_t));
130 if(!temp_ent)
continue;
133 memcpy(pos_ent, temp_ent,
sizeof(entity_t));
164 printf(
"No levels found in gameObject");
170 gLevels = (
char**) malloc(
sizeof(
char*) * (lvlInt + 1));
173 for(i = 0; i < lvlInt; i++)
180 printf(
"Level : %s \n",
gLevels[i]);
199 object_t *powers, *temp_obj;
207 printf(
"Could not find powerups in GameData");
213 if(!power_str || !power_tok)
215 printf(
"Could not load power ups file : %s \n",
gPowerUpsFile );
219 powerCount =
CountMem(powers->children,
sizeof(object_t));
220 gPowerUps = (power_t*) malloc(
sizeof(power_t)*( powerCount+1 ));
223 printf(
"Could not allocate power ups");
227 for(i = 0; i < powerCount; i++)
232 printf(
"Power up %d could not be loaded \n", i);
236 if(temp_power) free(temp_power);
238 memset(&
gPowerUps[powerCount], 0,
sizeof(power_t));
253 char *menuData, *menuLink, *temp_str;
255 object_t *menus, *menuObj;
262 for(i = 0; i < menuCount; i++)
266 if(!menuData || !menuTok)
277 menuObj->name = temp_str;
278 menuLink =
FindValue(menuObj,
"link", menuData);
299 int i, rand_i, *no_repeats, type_i;
307 type_i =
sizeof(int);
311 no_repeats = (
int*) malloc(
sizeof(
int)*(levels+1));
313 if(!no_repeats)
return -1;
316 memset(no_repeats, 0,
sizeof(
int));
319 rand_i = rand()%levels;
326 rand_i = rand()%levels;
328 no_repeats[i] = rand_i;
345 int i, rand_i, *no_repeats;
350 printf(
"Levels less than min, Easy Mode - No Rand");
371 no_repeats[i] = rand_i;
394 printf(
"Levels not Selected \n");
399 printf(
"Level %d not found \n", level);
410 printf(
"Unable to parse level %s to object \n",
gSelectedLevels[level]);
415 perror(
"Unable to Load level \n");
431 if(
gEventQ.type == SDL_CONTROLLERDEVICEADDED ||
gEventQ.type == SDL_CONTROLLERDEVICEREMOVED)
435 if(
gEventQ.type == SDL_CONTROLLERBUTTONDOWN)
438 printf(
"Button Pressed : %d \n",
gButtonQ);
471 printf(
"SplashScreen key not found in gameData \n");
476 printf(
"Splash screen could not be loaded \n");
491 printf(
"No menus loaded");
506 printf(
"No menus loaded");
520 printf(
"No menus loaded");
596 srand(SDL_GetTicks());
601 perror(
"Loading game data went wrong");
606 perror(
"Initializing entity system went wrong");
611 perror(
"Initializing entity system went wrong");
616 perror(
"Initialize Menu system went wrong");
621 perror(
"Initialize AI system went wrong");
626 perror(
"Loading entity data went wrong");
631 perror(
"Shit Happens");
636 perror(
"Loading level data went wrong");
641 perror(
"Loading entity data went wrong");
646 perror(
"Selecting levels went wrong");
697 printf(
"Couldn't draw splash: %s \n", SDL_GetError());
713 printf(
"No menus loaded");
731 printf(
"No menus loaded");
749 printf(
"No menus loaded");
entity_t * gEntityDictionary
int CountMem(void *src, int size_type)
power_t * ParseToPowerUp(object_t *power, char *g_str)
GameState StrToGameState(char *str)
object_t * FindObject(object_t *obj, char *name)
char * JsmnToString(jsmntok_t *token, char *g_str)
vec2_t * ParseToVec2(struct object_s *object, char *str)
#define LEVELS_NOT_DEFAULT
int ConvertFileToUseable(char *fileName, jsmn_parser *parser, char **stringStorage, jsmntok_t **jsmnStorage)
unsigned int gCurrentTime
jsmntok_t * gEntityTokens
SDL_GameController * gController
SDL_GameControllerButton gButtonQ
jsmntok_t * FindKey(jsmntok_t *token, char *key, char *g_str)
int LoadLevel(object_t *level, char *g_str)
int CompareMemToMemArray(void *mem, void *mem_array, int size_type, int size_array)
void JsmnToInt(jsmntok_t *token, char *str, int *dst)
entity_t * ParseToEntity(object_t *object, char *str)
void PrintObject(object_t *obj, char *g_str)
#define ENTITIES_FILE_STR
int LoadSelectedLevel(int level)
void RandomizeSelectedLevels()
char ** gSelectedPowerUps
char ** ParseToStringArray(struct object_s *object, char *str)
sprite_t * LoadSprite(const char *name, int flags)
int DrawSprite(sprite_t *sprite, int *frame, vec2_t *position, SDL_Renderer *renderer)
char * FindValue(struct object_s *obj, char *key, char *g_str)
object_t * ParseToObject(jsmntok_t *token, char *g_str)
entity_t * FindNextFreeCachePos()
char * gCurrentPowerUpName