diff --git a/assets/scenes/scene_1.symtres b/assets/scenes/scene_1.symtres index 240bef0..f452fcb 100755 --- a/assets/scenes/scene_1.symtres +++ b/assets/scenes/scene_1.symtres @@ -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 diff --git a/src/common/version.h b/src/common/version.h index d3fdcdb..93a6b4b 100755 --- a/src/common/version.h +++ b/src/common/version.h @@ -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 \ No newline at end of file diff --git a/src/game/scene.c b/src/game/scene.c index 89401e4..86796cc 100755 --- a/src/game/scene.c +++ b/src/game/scene.c @@ -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); diff --git a/todo.txt b/todo.txt index bf97782..b87a837 100644 --- a/todo.txt +++ b/todo.txt @@ -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: @@ -422,4 +427,5 @@ Done: * Player jump cooldown, don't allow jump until a certian time interval has passed, even if we're grounded * 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 \ No newline at end of file + * 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 \ No newline at end of file