A 3d fps game made in OpenGL
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Symmetry/src/common/parser.h

32 lines
671 B

#ifndef PARSER_H
#define PARSER_H
#include "common.h"
enum Parser_Object_Type
{
PO_ENTITY,
PO_MATERIAL,
PO_MODEL,
PO_UNKNOWN
};
struct Parser_Object
{
int type;
struct Hashmap* data;
};
struct Parser
{
char* filename;
struct Parser_Object* objects;
};
typedef void (*Parser_Assign_Func)(const char* key, const char* value, const char* filename, int current_line);
bool parser_load(FILE* file, const char* filename, Parser_Assign_Func assign_func, bool return_on_emptyline, int current_line);
struct Parser* parser_load_objects(FILE* file, const char* filename);
void parser_free(struct Parser* parser);
#endif