Added saving scene init/cleanup funcs if there are any assigned when saving the scene

dev
Shariq Shah 6 years ago
parent 480466bb44
commit 66cf5cc087
  1. 4
      assets/scenes/scene_1.symtres
  2. 2
      src/common/version.h
  3. 3
      src/game/scene.c
  4. 8
      todo.txt

@ -7,11 +7,11 @@ Scene_Config
debug_draw_physics : false
fog_start_distance : 10.0000
fog_max_distance : 450.0000
cleanup_func : scene_1
init_func : scene_1
debug_draw_enabled : false
debug_draw_mode : 0
ambient_light : 0.100 0.100 0.100
init_func: scene_1
cleanup_func: scene_1
}
Player

@ -4,7 +4,7 @@
/* Auto generated version file. DO NOT MODIFY */
#define SYMMETRY_VERSION_MAJOR 0
#define SYMMETRY_VERSION_MINOR 1
#define SYMMETRY_VERSION_REVISION 351
#define SYMMETRY_VERSION_REVISION 352
#define SYMMETRY_VERSION_BRANCH "dev"
#endif

@ -250,6 +250,7 @@ bool scene_save(struct Scene* scene, const char* filename, int directory_type)
}
struct Parser* parser = parser_new();
struct Game_State* game_state = game_state_get();
// Scene configuration
struct Parser_Object* scene_config_object = parser_object_new(parser, PO_SCENE_CONFIG);
@ -265,6 +266,8 @@ bool scene_save(struct Scene* scene, const char* filename, int directory_type)
hashmap_bool_set(scene_data, "debug_draw_enabled", render_settings->debug_draw_enabled);
hashmap_int_set(scene_data, "debug_draw_mode", render_settings->debug_draw_mode);
hashmap_bool_set(scene_data, "debug_draw_physics", render_settings->debug_draw_physics);
if(scene->init) hashmap_str_set(scene_data, "init_func", filename);
if(scene->cleanup) hashmap_str_set(scene_data, "cleanup_func", filename);
// Player
struct Parser_Object* player_object = parser_object_new(parser, PO_PLAYER);

@ -1,8 +1,13 @@
Todo:
- Win/fail States
- Save scene init/cleanup funcs if there are any assigned when saving scene
- In-Game Gui
- Player Death Screen
- Proceed to next level Screen
- Key Required Screen
- HUD showing health, keys currently acquired
- Save case sensitive file names when scene entity entries
- Player/enemies getting hit by bullets
- Memory utils that provide allocation tracking
- Remove excessive repitition in scene and editor code that handles multiple entity types
- Allow switching to editor mode when game is in pause mode
- Rendering Additions:
@ -423,3 +428,4 @@ Done:
* RGB keys to progress to next level
* Visual indicator on doors corresponding to their key masks
* Audio cues when player does not have the right key combination to open a particular door
* Added saving scene init/cleanup funcs if there are any assigned when saving scene
Loading…
Cancel
Save