Dumb-ways-to-memorize
2D game
parselevel.h
Go to the documentation of this file.
1 #ifndef __PARSE_LEVEL_H
2 #define __PARSE_LEVEL_H
3 
4 #include "parseobject.h"
5 #include "entity.h"
6 
7 #define LEVEL_BACKGROUND_STR "Background"
8 #define LEVEL_HINT_STR "Hint"
9 #define LEVEL_SPAWN_STR "Spawn"
10 #define LEVEL_TILE_X_STR "tile-to-x"
11 #define LEVEL_TILE_Y_STR "tile-to-y"
12 #define LEVEL_ENEMY_OBJ_STR "Enemies"
13 #define LEVEL_ENEMY_NAME_STR "enemy"
14 #define LEVEL_ITEM_OBJ_STR "Objects"
15 #define LEVEL_ITEM_NAME_STR "object"
16 #define LEVEL_ITEM_XTRA_STR "extra"
17 #define LEVEL_AI_STR "ai"
18 #define LEVEL_POSITION_STR "position"
19 #define LEVEL_FLAG_TILE_X_STR "tile-to-pos-x"
20 #define LEVEL_FLAG_TILE_Y_STR "tile-to-pos-y"
21 #define LEVEL_VARIABLES_STR "variables"
22 
23 typedef struct level_s level_t;
24 
25 /**
26  * The structure for the levels.
27  *
28  * @author Anthony Rios
29  * @date 3/30/2016
30  */
31 
32 struct level_s
33 {
34  char *mName; /**< The name of the level */
35  char *mHint; /**< The hint to be given to player if they need it */
36  sprite_t *mBackground; /**< The background image for the level */
37  vec2_t mSpawnPoint; /**< The spawn point of the player during init load */
38  // Later implement Size
39 };
40 
41 extern level_t *gCurrentLevel; /**< The current level the game is on */
42 
43 /**
44  * Loads a level.
45  *
46  * @param [in,out] level If non-null, the level object.
47  * @param [in,out] g_str If non-null, the level string data for obj reference.
48  *
49  * @return 0 if successful, -1 if not successful.
50  *
51  * @author Anthony Rios
52  * @date 3/30/2016
53  */
54 
55 int LoadLevel(object_t *level, char *g_str);
56 
57 /**
58  * Draws the background of the level, everything else is cool.
59  *
60  * @author Anthony Rios
61  * @date 3/30/2016
62  */
63 
64 void DrawLevel();
65 
66 #endif
vec2_t mSpawnPoint
Definition: parselevel.h:37
int LoadLevel(object_t *level, char *g_str)
Definition: parselevel.c:11
void DrawLevel()
Definition: parselevel.c:248
level_t * gCurrentLevel
Definition: parselevel.c:9
sprite_t * mBackground
Definition: parselevel.h:36
char * mHint
Definition: parselevel.h:35
char * mName
Definition: parselevel.h:34
Definition: globals.h:19