SaveLoad.gml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. function get_default_save_data()
  2. {
  3. return
  4. {
  5. player:
  6. {
  7. maxHP: 5,
  8. maxINK: 9,
  9. Credit: 0,
  10. abilities:
  11. {
  12. attack: false,
  13. accesscard : false,
  14. annotate: false,
  15. dash: false,
  16. wall_climb: false,
  17. double_jump: false
  18. },
  19. corpse:
  20. {
  21. targetRoom: noone,
  22. xPos: -1,
  23. yPos: -1,
  24. droppedCredit: 0
  25. },
  26. },
  27. world:
  28. {
  29. spRoom: "rTest1",
  30. spxPos: 192,
  31. spyPos: 864,
  32. activated_objects: {},
  33. defeated_boss: {}
  34. }/*,
  35. meta:
  36. {
  37. play_time: 0,
  38. save_date: ""
  39. }*/
  40. }
  41. }
  42. function save_game_to_disk()
  43. {
  44. // global.save_data.meta.save_date = date_datetime_string(date_current_datetime());
  45. var _json_string = json_stringify(global.save_data);
  46. var _buffer = buffer_create(string_byte_length(_json_string) + 1, buffer_fixed, 1);
  47. buffer_write(_buffer, buffer_string, _json_string);
  48. buffer_save(_buffer, global.save_filename);
  49. buffer_delete(_buffer);
  50. if global.developer_mode
  51. show_debug_message("The game has been saved to " + global.save_filename);
  52. }
  53. function load_game_from_disk()
  54. {
  55. if !file_exists(global.save_filename)
  56. return;
  57. var _buffer = buffer_load(global.save_filename);
  58. var _json_string = buffer_read(_buffer, buffer_string);
  59. buffer_delete(_buffer);
  60. var _loaded_data = json_parse(_json_string);
  61. global.save_data = _loaded_data;
  62. room_goto(asset_get_index(global.save_data.world.spRoom));
  63. global.in_game_manager = icl(oInGameManager);
  64. }
  65. function self_check_activated()
  66. {
  67. return struct_exists(global.save_data.world.activated_objects, uuid)
  68. }
  69. function autosave()
  70. {
  71. var _list = global.save_data.world.activated_objects;
  72. _list[$ uuid] = true;
  73. save_game_to_disk();
  74. }