Parcourir la source

见日志,主要弄了一下读存档

DrDuck0117 il y a 3 mois
Parent
commit
9a0596aa62
68 fichiers modifiés avec 766 ajouts et 176 suppressions
  1. 15 5
      ddmyx.yyp
  2. 0 9
      notes/Parents/Parents.txt
  3. 0 11
      notes/Parents/Parents.yy
  4. 35 1
      notes/必读(更新日志)/必读(更新日志).txt
  5. 3 6
      objects/oInGameManager/Create_0.gml
  6. 4 0
      objects/oInGameManager/Draw_64.gml
  7. 0 0
      objects/oInGameManager/Step_0.gml
  8. 37 0
      objects/oInGameManager/oInGameManager.yy
  9. 0 11
      objects/oInput/Create_0.gml
  10. 0 14
      objects/oInput/Step_0.gml
  11. 0 1
      objects/oInput/Step_1.gml
  12. 1 0
      objects/oInteractIndicator/Create_0.gml
  13. 0 0
      objects/oInteractIndicator/Step_0.gml
  14. 39 0
      objects/oInteractIndicator/oInteractIndicator.yy
  15. 29 0
      objects/oMain/Create_0.gml
  16. 10 0
      objects/oMain/Draw_64.gml
  17. 51 0
      objects/oMain/Step_0.gml
  18. 1 0
      objects/oMain/Step_1.gml
  19. 4 8
      objects/oMain/oMain.yy
  20. 4 0
      objects/oParentCollectable/Create_0.gml
  21. 37 0
      objects/oParentCollectable/oParentCollectable.yy
  22. 7 0
      objects/oParentInteractive/Create_0.gml
  23. 18 0
      objects/oParentInteractive/Step_0.gml
  24. 5 5
      objects/oParentInteractive/oParentInteractive.yy
  25. 5 7
      objects/oPlayer/Create_0.gml
  26. 2 2
      objects/oPlayer/Draw_0.gml
  27. 9 0
      objects/oPlayer/Other_4.gml
  28. 33 0
      objects/oPlayerCredit/oPlayerCredit.yy
  29. 14 0
      objects/oSavePoint/Create_0.gml
  30. 41 0
      objects/oSavePoint/oSavePoint.yy
  31. 9 30
      rooms/rTest_1/rTest_1.yy
  32. 42 1
      rooms/rTest_2/rTest_2.yy
  33. 1 1
      rooms/rTest_backup/rTest_backup.yy
  34. 57 0
      rooms/rTitle/rTitle.yy
  35. 24 19
      scripts/PlayerStates/PlayerStates.gml
  36. 65 0
      scripts/SL/SL.gml
  37. 13 0
      scripts/SL/SL.yy
  38. BIN
      sprites/sDoor/ba425942-7178-4ba0-a2a5-58fef3b0d2c9.png
  39. 2 2
      sprites/sDoor/sDoor.yy
  40. BIN
      sprites/sInteractIndicator/499754e2-e313-44f0-9578-2a27fcda206a.png
  41. BIN
      sprites/sInteractIndicator/7194a7cd-8a86-4668-a879-045595b7eece.png
  42. BIN
      sprites/sInteractIndicator/81ca2dac-3199-43a7-a583-48ca60c77622.png
  43. BIN
      sprites/sInteractIndicator/98d64cdc-8eb0-4935-b96e-59d35767229c.png
  44. BIN
      sprites/sInteractIndicator/b35a728c-9858-415a-af28-692303d343b3.png
  45. BIN
      sprites/sInteractIndicator/layers/499754e2-e313-44f0-9578-2a27fcda206a/178452da-3d13-488a-afa3-11e259b8b91d.png
  46. BIN
      sprites/sInteractIndicator/layers/7194a7cd-8a86-4668-a879-045595b7eece/178452da-3d13-488a-afa3-11e259b8b91d.png
  47. BIN
      sprites/sInteractIndicator/layers/81ca2dac-3199-43a7-a583-48ca60c77622/178452da-3d13-488a-afa3-11e259b8b91d.png
  48. BIN
      sprites/sInteractIndicator/layers/98d64cdc-8eb0-4935-b96e-59d35767229c/178452da-3d13-488a-afa3-11e259b8b91d.png
  49. BIN
      sprites/sInteractIndicator/layers/b35a728c-9858-415a-af28-692303d343b3/178452da-3d13-488a-afa3-11e259b8b91d.png
  50. 106 0
      sprites/sInteractIndicator/sInteractIndicator.yy
  51. 2 2
      sprites/sPlayerArcSlash/sPlayerArcSlash.yy
  52. 2 2
      sprites/sPlayerAttack/sPlayerAttack.yy
  53. 2 2
      sprites/sPlayerDash/sPlayerDash.yy
  54. 2 2
      sprites/sPlayerDodge/sPlayerDodge.yy
  55. 2 2
      sprites/sPlayerDodgeEnding/sPlayerDodgeEnding.yy
  56. 2 2
      sprites/sPlayerDodgeWait/sPlayerDodgeWait.yy
  57. BIN
      sprites/sPlayerHP/634e7d38-4222-4a42-a608-7084d18fab17.png
  58. BIN
      sprites/sPlayerHP/layers/634e7d38-4222-4a42-a608-7084d18fab17/ebcad0ac-4f00-4b9d-adee-754211cdacd6.png
  59. 2 2
      sprites/sPlayerHitstunAttacked/sPlayerHitstunAttacked.yy
  60. 2 2
      sprites/sPlayerHitstunHazard/sPlayerHitstunHazard.yy
  61. 2 2
      sprites/sPlayerHyper/sPlayerHyper.yy
  62. 2 2
      sprites/sPlayerIdle/sPlayerIdle.yy
  63. 2 2
      sprites/sPlayerJump/sPlayerJump.yy
  64. 2 2
      sprites/sPlayerWalk/sPlayerWalk.yy
  65. 2 2
      sprites/sPlayerWall/sPlayerWall.yy
  66. BIN
      sprites/sSavePoint/77a13498-0f83-4365-a90a-6f333c814809.png
  67. BIN
      sprites/sSavePoint/layers/77a13498-0f83-4365-a90a-6f333c814809/2b5d548b-d47f-41fe-a87a-7e61dfc03c9e.png
  68. 17 17
      sprites/sSavePoint/sSavePoint.yy

+ 15 - 5
ddmyx.yyp

@@ -26,7 +26,9 @@
     {"$GMFolder":"","%Name":"StateFree","folderPath":"folders/Player/Sprites/StateFree.yy","name":"StateFree","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Scripts","folderPath":"folders/Scripts.yy","name":"Scripts","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"StationaryObjects","folderPath":"folders/StationaryObjects.yy","name":"StationaryObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"CollectableObjects","folderPath":"folders/StationaryObjects/CollectableObjects.yy","name":"CollectableObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"HazardObjects","folderPath":"folders/StationaryObjects/HazardObjects.yy","name":"HazardObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"IntractiveObjects","folderPath":"folders/StationaryObjects/IntractiveObjects.yy","name":"IntractiveObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"SolidObjects","folderPath":"folders/StationaryObjects/SolidObjects.yy","name":"SolidObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"UIsprite","folderPath":"folders/UIsprite.yy","name":"UIsprite","resourceType":"GMFolder","resourceVersion":"2.0",},
   ],
@@ -40,7 +42,6 @@
   "name":"ddmyx",
   "resources":[
     {"id":{"name":"fTest","path":"fonts/fTest/fTest.yy",},},
-    {"id":{"name":"Parents","path":"notes/Parents/Parents.yy",},},
     {"id":{"name":"必读(更新日志)","path":"notes/必读(更新日志)/必读(更新日志).yy",},},
     {"id":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},},
     {"id":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},},
@@ -52,24 +53,30 @@
     {"id":{"name":"oEnemyFlying","path":"objects/oEnemyFlying/oEnemyFlying.yy",},},
     {"id":{"name":"oEnemyHitbox","path":"objects/oEnemyHitbox/oEnemyHitbox.yy",},},
     {"id":{"name":"oFade","path":"objects/oFade/oFade.yy",},},
-    {"id":{"name":"oGame","path":"objects/oGame/oGame.yy",},},
-    {"id":{"name":"oInput","path":"objects/oInput/oInput.yy",},},
+    {"id":{"name":"oInGameManager","path":"objects/oInGameManager/oInGameManager.yy",},},
+    {"id":{"name":"oInteractIndicator","path":"objects/oInteractIndicator/oInteractIndicator.yy",},},
+    {"id":{"name":"oMain","path":"objects/oMain/oMain.yy",},},
     {"id":{"name":"oParentAttackable","path":"objects/oParentAttackable/oParentAttackable.yy",},},
+    {"id":{"name":"oParentCollectable","path":"objects/oParentCollectable/oParentCollectable.yy",},},
     {"id":{"name":"oParentEnemy","path":"objects/oParentEnemy/oParentEnemy.yy",},},
     {"id":{"name":"oParentHazard","path":"objects/oParentHazard/oParentHazard.yy",},},
+    {"id":{"name":"oParentInteractive","path":"objects/oParentInteractive/oParentInteractive.yy",},},
     {"id":{"name":"oParentPlayerHitbox","path":"objects/oParentPlayerHitbox/oParentPlayerHitbox.yy",},},
     {"id":{"name":"oParentSolid","path":"objects/oParentSolid/oParentSolid.yy",},},
     {"id":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},},
     {"id":{"name":"oPlayerAfterImage","path":"objects/oPlayerAfterImage/oPlayerAfterImage.yy",},},
+    {"id":{"name":"oPlayerCredit","path":"objects/oPlayerCredit/oPlayerCredit.yy",},},
     {"id":{"name":"oPlayerHitboxArc","path":"objects/oPlayerHitboxArc/oPlayerHitboxArc.yy",},},
     {"id":{"name":"oPlayerHitboxDown","path":"objects/oPlayerHitboxDown/oPlayerHitboxDown.yy",},},
     {"id":{"name":"oPlayerHitboxHor","path":"objects/oPlayerHitboxHor/oPlayerHitboxHor.yy",},},
     {"id":{"name":"oPlayerHitboxMark","path":"objects/oPlayerHitboxMark/oPlayerHitboxMark.yy",},},
     {"id":{"name":"oPlayerHitboxUp","path":"objects/oPlayerHitboxUp/oPlayerHitboxUp.yy",},},
+    {"id":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},},
     {"id":{"name":"oSpike","path":"objects/oSpike/oSpike.yy",},},
     {"id":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},},
     {"id":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},},
     {"id":{"name":"rTest_backup","path":"rooms/rTest_backup/rTest_backup.yy",},},
+    {"id":{"name":"rTitle","path":"rooms/rTitle/rTitle.yy",},},
     {"id":{"name":"CrawlAI","path":"scripts/CrawlAI/CrawlAI.yy",},},
     {"id":{"name":"DummyAI","path":"scripts/DummyAI/DummyAI.yy",},},
     {"id":{"name":"EnemyStates","path":"scripts/EnemyStates/EnemyStates.yy",},},
@@ -78,6 +85,7 @@
     {"id":{"name":"Interaction","path":"scripts/Interaction/Interaction.yy",},},
     {"id":{"name":"PlayerStates","path":"scripts/PlayerStates/PlayerStates.yy",},},
     {"id":{"name":"Simplifier","path":"scripts/Simplifier/Simplifier.yy",},},
+    {"id":{"name":"SL","path":"scripts/SL/SL.yy",},},
     {"id":{"name":"sBlockClimbable","path":"sprites/sBlockClimbable/sBlockClimbable.yy",},},
     {"id":{"name":"sBlockSlippery","path":"sprites/sBlockSlippery/sBlockSlippery.yy",},},
     {"id":{"name":"sDoor","path":"sprites/sDoor/sDoor.yy",},},
@@ -92,6 +100,7 @@
     {"id":{"name":"sHitboxHor","path":"sprites/sHitboxHor/sHitboxHor.yy",},},
     {"id":{"name":"sHitboxMark","path":"sprites/sHitboxMark/sHitboxMark.yy",},},
     {"id":{"name":"sHitboxVer","path":"sprites/sHitboxVer/sHitboxVer.yy",},},
+    {"id":{"name":"sInteractIndicator","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},},
     {"id":{"name":"sPlayerArcSlash","path":"sprites/sPlayerArcSlash/sPlayerArcSlash.yy",},},
     {"id":{"name":"sPlayerAttack","path":"sprites/sPlayerAttack/sPlayerAttack.yy",},},
     {"id":{"name":"sPlayerDash","path":"sprites/sPlayerDash/sPlayerDash.yy",},},
@@ -100,20 +109,21 @@
     {"id":{"name":"sPlayerDodgeWait","path":"sprites/sPlayerDodgeWait/sPlayerDodgeWait.yy",},},
     {"id":{"name":"sPlayerHitstunAttacked","path":"sprites/sPlayerHitstunAttacked/sPlayerHitstunAttacked.yy",},},
     {"id":{"name":"sPlayerHitstunHazard","path":"sprites/sPlayerHitstunHazard/sPlayerHitstunHazard.yy",},},
-    {"id":{"name":"sPlayerHP","path":"sprites/sPlayerHP/sPlayerHP.yy",},},
     {"id":{"name":"sPlayerHyper","path":"sprites/sPlayerHyper/sPlayerHyper.yy",},},
     {"id":{"name":"sPlayerIdle","path":"sprites/sPlayerIdle/sPlayerIdle.yy",},},
     {"id":{"name":"sPlayerJump","path":"sprites/sPlayerJump/sPlayerJump.yy",},},
     {"id":{"name":"sPlayerWalk","path":"sprites/sPlayerWalk/sPlayerWalk.yy",},},
     {"id":{"name":"sPlayerWall","path":"sprites/sPlayerWall/sPlayerWall.yy",},},
+    {"id":{"name":"sSavePoint","path":"sprites/sSavePoint/sSavePoint.yy",},},
     {"id":{"name":"sSpike","path":"sprites/sSpike/sSpike.yy",},},
   ],
   "resourceType":"GMProject",
   "resourceVersion":"2.0",
   "RoomOrderNodes":[
+    {"roomId":{"name":"rTitle","path":"rooms/rTitle/rTitle.yy",},},
+    {"roomId":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},},
     {"roomId":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},},
     {"roomId":{"name":"rTest_backup","path":"rooms/rTest_backup/rTest_backup.yy",},},
-    {"roomId":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},},
   ],
   "templateType":"game",
   "TextureGroups":[

+ 0 - 9
notes/Parents/Parents.txt

@@ -1,9 +0,0 @@
-oParentAttackable
-^
-oParentHazard, oParentEnemy
-^              ^
-oSpike         oEnemyCrawl
-
-oParentSolid
-^
-oBlockClimbable, oBlockSlippery

+ 0 - 11
notes/Parents/Parents.yy

@@ -1,11 +0,0 @@
-{
-  "$GMNotes":"v1",
-  "%Name":"Parents",
-  "name":"Parents",
-  "parent":{
-    "name":"ddmyx",
-    "path":"ddmyx.yyp",
-  },
-  "resourceType":"GMNotes",
-  "resourceVersion":"2.0",
-}

+ 35 - 1
notes/必读(更新日志)/必读(更新日志).txt

@@ -106,4 +106,38 @@ oDoor用蓝色条形sprite指示。
 其余物品/enemy直接在room editor中放置即可
 若有obj根据房间需要特定初始参数,例如oDoor, 直接在editor中选中inst, 覆盖var def即可
 
-9. 新开了一个rTest_2, 原测试房间更名为rTest_1
+9. 新开了一个rTest_2, 原测试房间更名为rTest_1
+
+2026/2/16 DrDuck
+
+1. 除夕快乐!
+
+2. 今天召集了四位开发人员进行首次会议,宣布项目启动。
+这太帅了
+
+2026/2/17 DrDuck
+
+1. 新增rTitle作为起始房间,初始inst为oMain
+
+2. 新增oMain作为主要管理者,其生命周期贯穿整个游戏
+并将oInput归入oMain
+此外,将oGame更名为oInGameManager
+
+3. 新增oParentInteractive作为所有可互动obj的父类
+
+4. 新增oSavePoint并进行存档相关内容调试
+
+5. 句柄优先级相关代码好像有些问题。明天解决。《《《
+
+6. 在名为SL的script中新增三个函数
+get_default_save_data() 负责抓取玩家初始参数
+save_game_to_disk() 负责存档
+load_game_from_disk() 负责读档
+
+7. 新增一些global变量,举出几例
+global.save_data是存储待存档信息的多层结构体
+global.player是游戏内玩家inst_id
+鉴于gml的obj和inst转换尚不明确,此变量和相似变量为快速找到指定关键inst而提出
+稍后优化
+
+8. 注意今日代码存档相关有巨量未完成部分,慎重运行修改!!明天解决!!

+ 3 - 6
objects/oGame/Create_0.gml → objects/oInGameManager/Create_0.gml

@@ -1,5 +1,5 @@
-icl(oInput);
-icl(oCamera);
+global.camera = icl(oCamera);
+global.player = icl(oPlayer);
 
 // physics relevant
 global.g = 0.5;
@@ -15,7 +15,4 @@ global.playerINK = 0;
 // room transiting
 global.door_direction = undefined;
 global.target_door_id = -1;
-global.target_room = noone;
-
-// debugging
-global.developer_mode = true;
+global.target_room = noone;

+ 4 - 0
objects/oInGameManager/Draw_64.gml

@@ -0,0 +1,4 @@
+draw_set_valign(fa_top);
+draw_text(0, 0, "playerHP: " + string(global.playerHP));
+draw_text(0, 48, "playerINK: " + string(global.playerINK));
+draw_text(0, 96, "playerCredit: " + string(global.save_data.player.Credit))

+ 0 - 0
objects/oGame/Step_0.gml → objects/oInGameManager/Step_0.gml


+ 37 - 0
objects/oInGameManager/oInGameManager.yy

@@ -0,0 +1,37 @@
+{
+  "$GMObject":"",
+  "%Name":"oInGameManager",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oInGameManager",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"CoreObjects",
+    "path":"folders/CoreObjects.yy",
+  },
+  "parentObjectId":null,
+  "persistent":true,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":null,
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 0 - 11
objects/oInput/Create_0.gml

@@ -1,11 +0,0 @@
-ingame = new input_handle("ingame",1)
-
-jump_buffer_timer = 0;
-jump_buffer_max = 6;
-/**/
-_jump_p = undefined;
-_jump_r = undefined;
-_left = undefined;
-_right = undefined;
-_dash = undefined;
-_attack = undefined;

+ 0 - 14
objects/oInput/Step_0.gml

@@ -1,14 +0,0 @@
-_jump_p = ingame.kcp("Z") || ingame.kcp("K");
-_jump_r = ingame.kcr("Z") || ingame.kcr("K");
-_left   = ingame.kc("A")  || ingame.kc(vk_left);
-_right  = ingame.kc("D")  || ingame.kc(vk_right);
-_up     = ingame.kc("W")  || ingame.kc(vk_up);
-_down   = ingame.kc("S")  || ingame.kc(vk_down);
-_dash   = ingame.kcp("C") || ingame.kcp("L");
-_attack = ingame.kcp("X") || ingame.kcp("J");
-
-if _jump_p
-    jump_buffer_timer = jump_buffer_max;
-	
-if jump_buffer_timer > 0
-    jump_buffer_timer--;

+ 0 - 1
objects/oInput/Step_1.gml

@@ -1 +0,0 @@
-_handle_init()

+ 1 - 0
objects/oInteractIndicator/Create_0.gml

@@ -0,0 +1 @@
+image_speed = 0;

+ 0 - 0
objects/oInteractIndicator/Step_0.gml


+ 39 - 0
objects/oInteractIndicator/oInteractIndicator.yy

@@ -0,0 +1,39 @@
+{
+  "$GMObject":"",
+  "%Name":"oInteractIndicator",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oInteractIndicator",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"IntractiveObjects",
+    "path":"folders/StationaryObjects/IntractiveObjects.yy",
+  },
+  "parentObjectId":null,
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sInteractIndicator",
+    "path":"sprites/sInteractIndicator/sInteractIndicator.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 29 - 0
objects/oMain/Create_0.gml

@@ -0,0 +1,29 @@
+ingame = new input_handle("ingame", 1);
+title = new input_handle("title", 10);
+
+
+_jump_p = undefined;
+_jump_r = undefined;
+_left = undefined;
+_right = undefined;
+_up = undefined;
+_down = undefined;
+_dash = undefined;
+_attack = undefined;
+
+_newgame = undefined;
+_continue = undefined;
+_quitgame = undefined;
+_return = undefined;
+
+
+global.in_game_manager = noone;
+global.camera = noone;
+global.player = noone;
+
+// debugging
+global.developer_mode = true;
+
+// save file
+global.save_data = {};
+global.save_filename = "ddmyx_save.dat";

+ 10 - 0
objects/oMain/Draw_64.gml

@@ -0,0 +1,10 @@
+if global.developer_mode && room == rTitle
+{
+	draw_set_font(fTest);
+	draw_text(0, 0, "THIS ROOM FUNCTIONS AS THE FUTURE TITLE ROOM");
+	draw_text(0, 48, "PLEASE MAKE SURE THAT YOU KNOW WHAT YOU ARE DOING BEFORE PRESSING ANY KEYS");
+	draw_text(0, 96, "vk_space FUNCTIONS AS NEW GAME, REWRITING CURRENT SAVE FILE WITH A DEFAULT ONE");
+	draw_text(0, 144, "vk_enter FUNCTIONS AS CONTINUE, LOADING YOUR CURRENT SAVE FILE");
+	draw_text(0, 192, "vk_escape FUNCTIONS AS QUIT GAME");
+	draw_text(0, 240, "vk_backspace WILL SAVE THE GAME AND RETURN YOU TO TITLE ROOM WHILE IN GAME");
+}

+ 51 - 0
objects/oMain/Step_0.gml

@@ -0,0 +1,51 @@
+_jump_p = ingame.kcp("Z") || ingame.kcp("K");
+_jump_r = ingame.kcr("Z") || ingame.kcr("K");
+_left   = ingame.kc("A")  || ingame.kc(vk_left);
+_right  = ingame.kc("D")  || ingame.kc(vk_right);
+_up     = ingame.kc("W")  || ingame.kc(vk_up);
+_down   = ingame.kc("S")  || ingame.kc(vk_down);
+_dash   = ingame.kcp("C") || ingame.kcp("L");
+_attack = ingame.kcp("X") || ingame.kcp("J");
+/**/
+_newgame = title.kcp(vk_space);
+_continue = title.kcp(vk_enter);
+_quitgame = title.kcp(vk_escape);
+_return = ingame.kcp(vk_backspace);
+
+
+if global.developer_mode && room == rTitle
+{
+	if oInput._newgame
+	{
+		oInput.title.destroy();
+		global.save_data = get_default_save_data();
+		
+		room_goto(asset_get_index(global.save_data.world.current_room));
+		
+		global.in_game_manager = icl(oInGameManager);
+	}
+	if oInput._continue
+	{
+		oInput.title.destroy();
+		load_game_from_disk();
+		
+		room_goto(asset_get_index(global.save_data.world.current_room));
+		
+		global.in_game_manager = icl(oInGameManager);
+	}
+	if oInput._quitgame
+		game_end();
+}
+if global.developer_mode && room != rTitle
+	if oInput._return
+	{
+		save_game_to_disk();
+		room_goto(rTitle);
+		
+		with(global.camera) instance_destroy();
+		with(global.player) instance_destroy();
+		with(oInput)
+		{
+			title = new input_handle("title", 10);
+		}
+	}

+ 1 - 0
objects/oMain/Step_1.gml

@@ -0,0 +1 @@
+_handle_init();

+ 4 - 8
objects/oInput/oInput.yy → objects/oMain/oMain.yy

@@ -1,13 +1,14 @@
 {
   "$GMObject":"",
-  "%Name":"oInput",
+  "%Name":"oMain",
   "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":1,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
-  "name":"oInput",
+  "name":"oMain",
   "overriddenProperties":[],
   "parent":{
     "name":"CoreObjects",
@@ -25,12 +26,7 @@
   "physicsRestitution":0.1,
   "physicsSensor":false,
   "physicsShape":1,
-  "physicsShapePoints":[
-    {"x":0.0,"y":0.0,},
-    {"x":32.0,"y":0.0,},
-    {"x":32.0,"y":32.0,},
-    {"x":0.0,"y":32.0,},
-  ],
+  "physicsShapePoints":[],
   "physicsStartAwake":true,
   "properties":[],
   "resourceType":"GMObject",

+ 4 - 0
objects/oParentCollectable/Create_0.gml

@@ -0,0 +1,4 @@
+var _my_id = uuid;
+
+if struct_exists(global.save_data.world.destroyed_objects, _my_id)
+    instance_destroy();

+ 37 - 0
objects/oParentCollectable/oParentCollectable.yy

@@ -0,0 +1,37 @@
+{
+  "$GMObject":"",
+  "%Name":"oParentCollectable",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oParentCollectable",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"CollectableObjects",
+    "path":"folders/StationaryObjects/CollectableObjects.yy",
+  },
+  "parentObjectId":null,
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[
+    {"$GMObjectProperty":"v2","%Name":"uuid","filters":[],"listItems":[],"multiselect":false,"name":"uuid","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"","varDescription":"该收集品的独特id,用于sl摧毁检测等","varType":2,},
+  ],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":null,
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 7 - 0
objects/oParentInteractive/Create_0.gml

@@ -0,0 +1,7 @@
+y_offset = 0;
+dist_tor = 0;
+dist_y_tor = 0;
+
+_indicator = icl(oInteractIndicator);
+
+callback = function(){};

+ 18 - 0
objects/oParentInteractive/Step_0.gml

@@ -0,0 +1,18 @@
+var _player = oPlayer;
+if instance_exists(_player)
+{
+    var _dist = point_distance(x, y, _player.x, _player.y);
+	var _dist_y = abs(_player.y - y);
+    
+    if _dist < dist_tor && _dist_y < dist_y_tor
+	{
+		if _indicator.image_index < _indicator.image_number - 0.25
+			_indicator.image_index += 0.25;
+
+		else if oInput._up || oInput._down
+			callback();
+    }
+	else if _indicator.image_index > 0
+		_indicator.image_index -= 0.25;
+}
+_indicator.y = y + y_offset;

+ 5 - 5
objects/oGame/oGame.yy → objects/oParentInteractive/oParentInteractive.yy

@@ -1,19 +1,19 @@
 {
   "$GMObject":"",
-  "%Name":"oGame",
+  "%Name":"oParentInteractive",
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
-  "name":"oGame",
+  "name":"oParentInteractive",
   "overriddenProperties":[],
   "parent":{
-    "name":"CoreObjects",
-    "path":"folders/CoreObjects.yy",
+    "name":"IntractiveObjects",
+    "path":"folders/StationaryObjects/IntractiveObjects.yy",
   },
   "parentObjectId":null,
-  "persistent":true,
+  "persistent":false,
   "physicsAngularDamping":0.1,
   "physicsDensity":0.5,
   "physicsFriction":0.2,

+ 5 - 7
objects/oPlayer/Create_0.gml

@@ -43,16 +43,14 @@ is_marked = false;
 is_perfect = false;
 
 invincible_timer = 0;
-/*
-debug_hitbox_x1 = 0;
-debug_hitbox_y1 = 0;
-debug_hitbox_x2 = 0;
-debug_hitbox_y2 = 0;
-*/
+
 current_attacker = noone;
 current_hazard = noone;
 current_door = noone;
 current_hb = noone;
 
 enter_room_timer = 0;
-enter_room_timer_max = 24;
+enter_room_timer_max = 24;
+
+jump_buffer_timer = 0;
+jump_buffer_max = 6;

+ 2 - 2
objects/oPlayer/Draw_0.gml

@@ -6,8 +6,8 @@ if global.developer_mode
 	draw_set_valign(fa_middle);
 	draw_set_font(fTest);
 	
-	draw_text(x + 72, y - 24, script_get_name(state));
-	draw_text(x + 72, y + 24, sprite_get_name(sprite_index) + " " + string(image_index));
+	draw_text(x + 72, y - 96, script_get_name(state));
+	draw_text(x + 72, y - 48, sprite_get_name(sprite_index) + " " + string(image_index));
 
 /*
 	if (state == player_dodge && dodge_phase == "WAIT")

+ 9 - 0
objects/oPlayer/Other_4.gml

@@ -16,4 +16,13 @@ if global.target_door_id != -1
 	{
 		y_spd = jump_spd;
 	}
+}
+else
+{
+	with(oSavePoint)
+	{
+		global.player.x = x;
+		global.player.y = y;
+	}
+	camera_snap();
 }

+ 33 - 0
objects/oPlayerCredit/oPlayerCredit.yy

@@ -0,0 +1,33 @@
+{
+  "$GMObject":"",
+  "%Name":"oPlayerCredit",
+  "eventList":[],
+  "managed":true,
+  "name":"oPlayerCredit",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"Player",
+    "path":"folders/Player.yy",
+  },
+  "parentObjectId":null,
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":null,
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 14 - 0
objects/oSavePoint/Create_0.gml

@@ -0,0 +1,14 @@
+event_inherited();
+
+dist_tor = 144;
+dist_y_tor = 48;
+y_offset = -192;
+
+callback = function()
+{
+	global.save_data.world.current_room = room_get_name(room);
+	
+	global.playerHP = global.save_data.player.maxHP;
+	
+	save_game_to_disk();
+}

+ 41 - 0
objects/oSavePoint/oSavePoint.yy

@@ -0,0 +1,41 @@
+{
+  "$GMObject":"",
+  "%Name":"oSavePoint",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oSavePoint",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"IntractiveObjects",
+    "path":"folders/StationaryObjects/IntractiveObjects.yy",
+  },
+  "parentObjectId":{
+    "name":"oParentInteractive",
+    "path":"objects/oParentInteractive/oParentInteractive.yy",
+  },
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sSavePoint",
+    "path":"sprites/sSavePoint/sSavePoint.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 9 - 30
rooms/rTest_1/rTest_1.yy

@@ -6,13 +6,6 @@
   "inheritCreationOrder":false,
   "inheritLayers":false,
   "instanceCreationOrder":[
-    {"name":"inst_3A8ABBCE","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_494A5F4C","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_335B098","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_2DEB5C2A","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_10CC930F","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_4479827A","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_BEF8E8A","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_69A80093","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_4DC05E45","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_7B37A139","path":"rooms/rTest_1/rTest_1.yy",},
@@ -478,12 +471,6 @@
     {"name":"inst_4443C822","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_304B206","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_61A089B2","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_7A7B552","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_2185690E","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_6814ADC3","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_7702C0E5","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_41F273B5","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_3454DF5","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_2827D953","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_50CDDE0F","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_A0311F3","path":"rooms/rTest_1/rTest_1.yy",},
@@ -526,19 +513,12 @@
     {"name":"inst_76086AB0","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_334749FA","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_4386D1B8","path":"rooms/rTest_1/rTest_1.yy",},
-    {"name":"inst_655C4550","path":"rooms/rTest_1/rTest_1.yy",},
     {"name":"inst_69C973EB","path":"rooms/rTest_1/rTest_1.yy",},
+    {"name":"inst_10A9A902","path":"rooms/rTest_1/rTest_1.yy",},
   ],
   "isDnd":false,
   "layers":[
     {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
-        {"$GMRInstance":"v4","%Name":"inst_3A8ABBCE","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3A8ABBCE","objectId":{"name":"oGame","path":"objects/oGame/oGame.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":20.0,"scaleY":20.0,"x":0.0,"y":0.0,},
-        {"$GMRInstance":"v4","%Name":"inst_494A5F4C","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_494A5F4C","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1504.0,},
-        {"$GMRInstance":"v4","%Name":"inst_335B098","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_335B098","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1440.0,},
-        {"$GMRInstance":"v4","%Name":"inst_2DEB5C2A","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2DEB5C2A","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1376.0,},
-        {"$GMRInstance":"v4","%Name":"inst_10CC930F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_10CC930F","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1312.0,},
-        {"$GMRInstance":"v4","%Name":"inst_4479827A","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4479827A","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1248.0,},
-        {"$GMRInstance":"v4","%Name":"inst_BEF8E8A","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_BEF8E8A","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1184.0,},
         {"$GMRInstance":"v4","%Name":"inst_69A80093","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_69A80093","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1120.0,},
         {"$GMRInstance":"v4","%Name":"inst_4DC05E45","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4DC05E45","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":992.0,},
         {"$GMRInstance":"v4","%Name":"inst_7B37A139","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_7B37A139","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":1056.0,},
@@ -550,7 +530,7 @@
         {"$GMRInstance":"v4","%Name":"inst_59EA9380","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_59EA9380","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":864.0,},
         {"$GMRInstance":"v4","%Name":"inst_29CB5C78","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_29CB5C78","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":928.0,},
         {"$GMRInstance":"v4","%Name":"inst_3C96E371","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3C96E371","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":480.0,},
-        {"$GMRInstance":"v4","%Name":"inst_574F2C78","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_574F2C78","objectId":{"name":"oEnemyDummy","path":"objects/oEnemyDummy/oEnemyDummy.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1216.0,"y":1440.0,},
+        {"$GMRInstance":"v4","%Name":"inst_574F2C78","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_574F2C78","objectId":{"name":"oEnemyDummy","path":"objects/oEnemyDummy/oEnemyDummy.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1248.0,"y":1440.0,},
         {"$GMRInstance":"v4","%Name":"inst_3176D910","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3176D910","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1856.0,"y":1504.0,},
         {"$GMRInstance":"v4","%Name":"inst_5A250572","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_5A250572","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1856.0,"y":1440.0,},
         {"$GMRInstance":"v4","%Name":"inst_58CEF064","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_58CEF064","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1856.0,"y":1376.0,},
@@ -1004,12 +984,6 @@
         {"$GMRInstance":"v4","%Name":"inst_4443C822","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4443C822","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3200.0,"y":800.0,},
         {"$GMRInstance":"v4","%Name":"inst_304B206","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_304B206","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1632.0,},
         {"$GMRInstance":"v4","%Name":"inst_61A089B2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_61A089B2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1568.0,},
-        {"$GMRInstance":"v4","%Name":"inst_7A7B552","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_7A7B552","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1504.0,},
-        {"$GMRInstance":"v4","%Name":"inst_2185690E","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2185690E","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1440.0,},
-        {"$GMRInstance":"v4","%Name":"inst_6814ADC3","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6814ADC3","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1376.0,},
-        {"$GMRInstance":"v4","%Name":"inst_7702C0E5","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_7702C0E5","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1312.0,},
-        {"$GMRInstance":"v4","%Name":"inst_41F273B5","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_41F273B5","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1248.0,},
-        {"$GMRInstance":"v4","%Name":"inst_3454DF5","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3454DF5","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1184.0,},
         {"$GMRInstance":"v4","%Name":"inst_2827D953","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2827D953","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1120.0,},
         {"$GMRInstance":"v4","%Name":"inst_50CDDE0F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_50CDDE0F","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":1056.0,},
         {"$GMRInstance":"v4","%Name":"inst_A0311F3","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_A0311F3","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":0.0,"y":992.0,},
@@ -1052,13 +1026,18 @@
         {"$GMRInstance":"v4","%Name":"inst_76086AB0","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_76086AB0","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3840.0,"y":160.0,},
         {"$GMRInstance":"v4","%Name":"inst_334749FA","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_334749FA","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3840.0,"y":96.0,},
         {"$GMRInstance":"v4","%Name":"inst_4386D1B8","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4386D1B8","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3840.0,"y":32.0,},
-        {"$GMRInstance":"v4","%Name":"inst_655C4550","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_655C4550","objectId":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":160.0,"y":1472.0,},
         {"$GMRInstance":"v4","%Name":"inst_69C973EB","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_69C973EB","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest_2",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
-          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":-64.0,"y":320.0,},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":-64.0,"y":448.0,},
+        {"$GMRInstance":"v4","%Name":"inst_10A9A902","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_10A9A902","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest_2",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":-64.0,"y":1536.0,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
   ],

+ 42 - 1
rooms/rTest_2/rTest_2.yy

@@ -26,6 +26,24 @@
     {"name":"inst_294EFD23","path":"rooms/rTest_2/rTest_2.yy",},
     {"name":"inst_4F3C3519","path":"rooms/rTest_2/rTest_2.yy",},
     {"name":"inst_40E70FB2","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_FAC3BD0","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_19EC5C17","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_56A2B5B7","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_5E7DB295","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_39E61530","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_7ED7881C","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_342179D2","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_120AD637","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_475B421","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_50FA5BBE","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_E384A36","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_7F0A36F","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_76BE403D","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_1ABEB0D4","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_73318518","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_1DBB8205","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_1E35F125","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_2826FF93","path":"rooms/rTest_2/rTest_2.yy",},
   ],
   "isDnd":false,
   "layers":[
@@ -38,7 +56,7 @@
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"LEFT",},
-          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":-1.0,"scaleY":1.0,"x":3904.0,"y":320.0,},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":-1.0,"scaleY":1.0,"x":3904.0,"y":448.0,},
         {"$GMRInstance":"v4","%Name":"inst_75289A3B","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_75289A3B","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":480.0,},
         {"$GMRInstance":"v4","%Name":"inst_4934F95F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4934F95F","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":544.0,},
         {"$GMRInstance":"v4","%Name":"inst_5C063D2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_5C063D2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":608.0,},
@@ -55,6 +73,29 @@
         {"$GMRInstance":"v4","%Name":"inst_294EFD23","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_294EFD23","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":1600.0,},
         {"$GMRInstance":"v4","%Name":"inst_4F3C3519","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4F3C3519","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3424.0,"y":1600.0,},
         {"$GMRInstance":"v4","%Name":"inst_40E70FB2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_40E70FB2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3360.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_FAC3BD0","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_FAC3BD0","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3296.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_19EC5C17","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_19EC5C17","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1024.0,},
+        {"$GMRInstance":"v4","%Name":"inst_56A2B5B7","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_56A2B5B7","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1472.0,},
+        {"$GMRInstance":"v4","%Name":"inst_5E7DB295","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_5E7DB295","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1408.0,},
+        {"$GMRInstance":"v4","%Name":"inst_39E61530","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_39E61530","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1344.0,},
+        {"$GMRInstance":"v4","%Name":"inst_7ED7881C","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_7ED7881C","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3488.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_342179D2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_342179D2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3552.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_120AD637","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_120AD637","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3616.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_475B421","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_475B421","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3680.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_50FA5BBE","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_50FA5BBE","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1536.0,},
+        {"$GMRInstance":"v4","%Name":"inst_E384A36","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_E384A36","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1280.0,},
+        {"$GMRInstance":"v4","%Name":"inst_7F0A36F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_7F0A36F","objectId":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3392.0,"y":1568.0,},
+        {"$GMRInstance":"v4","%Name":"inst_76BE403D","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_76BE403D","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3232.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_1ABEB0D4","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_1ABEB0D4","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1216.0,},
+        {"$GMRInstance":"v4","%Name":"inst_73318518","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_73318518","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1088.0,},
+        {"$GMRInstance":"v4","%Name":"inst_1DBB8205","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_1DBB8205","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_1E35F125","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_1E35F125","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3168.0,"y":1152.0,},
+        {"$GMRInstance":"v4","%Name":"inst_2826FF93","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2826FF93","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"LEFT",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest_1",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3904.0,"y":1568.0,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
   ],

+ 1 - 1
rooms/rTest_backup/rTest_backup.yy

@@ -220,7 +220,7 @@
   "isDnd":false,
   "layers":[
     {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
-        {"$GMRInstance":"v4","%Name":"inst_3A8ABBCE1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3A8ABBCE1","objectId":{"name":"oGame","path":"objects/oGame/oGame.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":20.0,"scaleY":20.0,"x":0.0,"y":0.0,},
+        {"$GMRInstance":"v4","%Name":"inst_3A8ABBCE1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3A8ABBCE1","objectId":{"name":"oInGameManager","path":"objects/oInGameManager/oInGameManager.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":20.0,"scaleY":20.0,"x":0.0,"y":0.0,},
         {"$GMRInstance":"v4","%Name":"inst_6733BE7C1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6733BE7C1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":64.0,"y":2112.0,},
         {"$GMRInstance":"v4","%Name":"inst_5D09E5D5_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_5D09E5D5_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":128.0,"y":2112.0,},
         {"$GMRInstance":"v4","%Name":"inst_67E8952E1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_67E8952E1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":192.0,"y":2112.0,},

+ 57 - 0
rooms/rTitle/rTitle.yy

@@ -0,0 +1,57 @@
+{
+  "$GMRoom":"v1",
+  "%Name":"rTitle",
+  "creationCodeFile":"",
+  "inheritCode":false,
+  "inheritCreationOrder":false,
+  "inheritLayers":false,
+  "instanceCreationOrder":[
+    {"name":"inst_5C7A0B8E","path":"rooms/rTitle/rTitle.yy",},
+  ],
+  "isDnd":false,
+  "layers":[
+    {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
+        {"$GMRInstance":"v4","%Name":"inst_5C7A0B8E","colour":4294901760,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_5C7A0B8E","objectId":{"name":"oMain","path":"objects/oMain/oMain.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":32.0,"scaleY":32.0,"x":0.0,"y":0.0,},
+      ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
+    {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
+  ],
+  "name":"rTitle",
+  "parent":{
+    "name":"ddmyx",
+    "path":"ddmyx.yyp",
+  },
+  "parentRoom":null,
+  "physicsSettings":{
+    "inheritPhysicsSettings":false,
+    "PhysicsWorld":false,
+    "PhysicsWorldGravityX":0.0,
+    "PhysicsWorldGravityY":10.0,
+    "PhysicsWorldPixToMetres":0.1,
+  },
+  "resourceType":"GMRoom",
+  "resourceVersion":"2.0",
+  "roomSettings":{
+    "Height":1080,
+    "inheritRoomSettings":false,
+    "persistent":false,
+    "Width":1920,
+  },
+  "sequenceId":null,
+  "views":[
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+  ],
+  "viewSettings":{
+    "clearDisplayBuffer":true,
+    "clearViewBackground":false,
+    "enableViews":false,
+    "inheritViewSettings":false,
+  },
+  "volume":1.0,
+}

+ 24 - 19
scripts/PlayerStates/PlayerStates.gml

@@ -53,12 +53,16 @@ function player_status_update()
 	/**/
 	image_index += animation_spd;
 	
-	if oInput._dash
+	if oMain._dash
 		dash_buffer = dash_buffer_max;
-	if oInput._attack
+		
+	if oMain._attack
 		attack_buffer = attack_buffer_max;
+		
+	if oMain._jump_p
+		jump_buffer_timer = jump_buffer_max;
 
-	_move_dir = oInput._right - oInput._left;
+	_move_dir = oMain._right - oMain._left;
 
 	_on_ground = place_meeting(x, y + 1, oParentSolid)
 	
@@ -96,6 +100,9 @@ function player_status_update()
 		
 	if enter_room_timer > 0
 		enter_room_timer -= global.time_scale;
+	
+	if jump_buffer_timer > 0
+		jump_buffer_timer--;
 }
 
 function player_check_dash()
@@ -118,13 +125,13 @@ function player_check_movement()
 }
 function player_check_jump()
 {
-	if oInput.jump_buffer_timer > 0
+	if jump_buffer_timer > 0
 	{
 		if coyote_timer > 0
 		{
 			y_spd = jump_spd;
 			jump_cnt = 1;
-			oInput.jump_buffer_timer = 0; 
+			jump_buffer_timer = 0; 
 			coyote_timer = 0;
 		}
 		else if _on_wall != 0
@@ -133,17 +140,17 @@ function player_check_jump()
 			x_spd = -_on_wall * walk_spd * 1.5;
 			jump_cnt = 1;
 		    move_lock_timer = 10;
-		    oInput.jump_buffer_timer = 0;
+		    jump_buffer_timer = 0;
 		}
 		else if jump_cnt < jump_max
 		{
 			icl(oDoubleJumpEffect);
             y_spd = jump_spd * 0.9;
             jump_cnt++;
-            oInput.jump_buffer_timer = 0;
+            jump_buffer_timer = 0;
 		}
 	}
-	if oInput._jump_r && y_spd < 0
+	if oMain._jump_r && y_spd < 0
 		y_spd *= 0.4;
 }
 function player_check_attack()
@@ -158,8 +165,8 @@ function player_check_attack()
 }
 function player_check_dodge()
 {
-	if (oInput._down || oInput._up) && _on_ground
-	&& (oInput._dash || state == state_dash)
+	if (oMain._down || oMain._up) && _on_ground
+	&& (oMain._dash || state == state_dash)
 	{
 		state = state_dodge;
 		set_sprite(sPlayerDodgeWait);
@@ -389,20 +396,18 @@ function state_attack()
 	
     if image_index == 1
 	{
-		if oInput._down && !_on_ground
+		if oMain._down && !_on_ground
+			current_hb = icl(oPlayerHitboxDown);
+		else if oMain._up
 		{
-			current_hb = icl(oPlayerHitboxDown, x, y + 64);
-			current_hb.y_offset = 64;
-		}
-		else if oInput._up
-		{
-			current_hb = icl(oPlayerHitboxUp, x, y - 64);
-			current_hb.y_offset = -64;
+			current_hb = icl(oPlayerHitboxUp, x, y - 128);
+			current_hb.y_offset = -128;
 		}
 		else
 		{
-			current_hb = icl(oPlayerHitboxHor, x + 72 * facing);
+			current_hb = icl(oPlayerHitboxHor, x + 72 * facing, y - 64);
 			current_hb.x_offset += 72 * facing;
+			current_hb.y_offset = -64;
 			
 			current_hb.kb_factor_x *= facing;
 		}

+ 65 - 0
scripts/SL/SL.gml

@@ -0,0 +1,65 @@
+function get_default_save_data()
+{
+	return
+	{
+		player:
+		{
+			maxHP: 5,
+			maxINK: 100,
+			Credit: 0,
+			
+			abilities:
+			{
+				dash: false,
+				wall_climb: false,
+				double_jump: false
+			}
+		},
+		world:
+		{
+			current_room: "rTest_2",
+			destroyed_objects: {}, 
+            defeated_boss: {}
+		}/*,
+		meta:
+		{
+			play_time: 0,
+			save_date: ""
+		}*/
+	}
+}
+function save_game_to_disk()
+{
+	// 更新元数据
+	// global.save_data.meta.save_date = date_datetime_string(date_current_datetime());
+	
+	// 序列化
+	var _json_string = json_stringify(global.save_data);
+	
+	// 使用buffer写入
+	var _buffer = buffer_create(string_byte_length(_json_string) + 1, buffer_fixed, 1);
+	buffer_write(_buffer, buffer_string, _json_string);
+    buffer_save(_buffer, global.save_filename);
+    buffer_delete(_buffer);
+	
+	if global.developer_mode
+		show_debug_message("The game has been saved to " + global.save_filename);
+}
+function load_game_from_disk()
+{
+	if !file_exists(global.save_filename)
+		return false;
+		
+	// 使用buffer读取
+	var _buffer = buffer_load(global.save_filename);
+    var _json_string = buffer_read(_buffer, buffer_string);
+    buffer_delete(_buffer);
+    
+    // 反序列化
+    var _loaded_data = json_parse(_json_string);
+    
+    // 覆盖当前的全局存档数据
+    global.save_data = _loaded_data;
+    
+	return true;
+}

+ 13 - 0
scripts/SL/SL.yy

@@ -0,0 +1,13 @@
+{
+  "$GMScript":"v1",
+  "%Name":"SL",
+  "isCompatibility":false,
+  "isDnD":false,
+  "name":"SL",
+  "parent":{
+    "name":"Scripts",
+    "path":"folders/Scripts.yy",
+  },
+  "resourceType":"GMScript",
+  "resourceVersion":"2.0",
+}

BIN
sprites/sDoor/ba425942-7178-4ba0-a2a5-58fef3b0d2c9.png


+ 2 - 2
sprites/sDoor/sDoor.yy

@@ -23,7 +23,7 @@
   ],
   "name":"sDoor",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"UIsprite",
     "path":"folders/UIsprite.yy",
@@ -76,7 +76,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":8,
-    "yorigin":128,
+    "yorigin":256,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

BIN
sprites/sInteractIndicator/499754e2-e313-44f0-9578-2a27fcda206a.png


BIN
sprites/sInteractIndicator/7194a7cd-8a86-4668-a879-045595b7eece.png


BIN
sprites/sInteractIndicator/81ca2dac-3199-43a7-a583-48ca60c77622.png


BIN
sprites/sInteractIndicator/98d64cdc-8eb0-4935-b96e-59d35767229c.png


BIN
sprites/sInteractIndicator/b35a728c-9858-415a-af28-692303d343b3.png


BIN
sprites/sInteractIndicator/layers/499754e2-e313-44f0-9578-2a27fcda206a/178452da-3d13-488a-afa3-11e259b8b91d.png


BIN
sprites/sInteractIndicator/layers/7194a7cd-8a86-4668-a879-045595b7eece/178452da-3d13-488a-afa3-11e259b8b91d.png


BIN
sprites/sInteractIndicator/layers/81ca2dac-3199-43a7-a583-48ca60c77622/178452da-3d13-488a-afa3-11e259b8b91d.png


BIN
sprites/sInteractIndicator/layers/98d64cdc-8eb0-4935-b96e-59d35767229c/178452da-3d13-488a-afa3-11e259b8b91d.png


BIN
sprites/sInteractIndicator/layers/b35a728c-9858-415a-af28-692303d343b3/178452da-3d13-488a-afa3-11e259b8b91d.png


+ 106 - 0
sprites/sInteractIndicator/sInteractIndicator.yy

@@ -0,0 +1,106 @@
+{
+  "$GMSprite":"v2",
+  "%Name":"sInteractIndicator",
+  "bboxMode":0,
+  "bbox_bottom":47,
+  "bbox_left":0,
+  "bbox_right":95,
+  "bbox_top":0,
+  "collisionKind":1,
+  "collisionTolerance":0,
+  "DynamicTexturePage":false,
+  "edgeFiltering":false,
+  "For3D":false,
+  "frames":[
+    {"$GMSpriteFrame":"v1","%Name":"b35a728c-9858-415a-af28-692303d343b3","name":"b35a728c-9858-415a-af28-692303d343b3","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"7194a7cd-8a86-4668-a879-045595b7eece","name":"7194a7cd-8a86-4668-a879-045595b7eece","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"81ca2dac-3199-43a7-a583-48ca60c77622","name":"81ca2dac-3199-43a7-a583-48ca60c77622","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"98d64cdc-8eb0-4935-b96e-59d35767229c","name":"98d64cdc-8eb0-4935-b96e-59d35767229c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"499754e2-e313-44f0-9578-2a27fcda206a","name":"499754e2-e313-44f0-9578-2a27fcda206a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+  ],
+  "gridX":0,
+  "gridY":0,
+  "height":48,
+  "HTile":false,
+  "layers":[
+    {"$GMImageLayer":"","%Name":"178452da-3d13-488a-afa3-11e259b8b91d","blendMode":0,"displayName":"default","isLocked":false,"name":"178452da-3d13-488a-afa3-11e259b8b91d","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
+  ],
+  "name":"sInteractIndicator",
+  "nineSlice":null,
+  "origin":7,
+  "parent":{
+    "name":"UIsprite",
+    "path":"folders/UIsprite.yy",
+  },
+  "preMultiplyAlpha":false,
+  "resourceType":"GMSprite",
+  "resourceVersion":"2.0",
+  "sequence":{
+    "$GMSequence":"v1",
+    "%Name":"sInteractIndicator",
+    "autoRecord":true,
+    "backdropHeight":768,
+    "backdropImageOpacity":0.5,
+    "backdropImagePath":"",
+    "backdropWidth":1366,
+    "backdropXOffset":0.0,
+    "backdropYOffset":0.0,
+    "events":{
+      "$KeyframeStore<MessageEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MessageEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "eventStubScript":null,
+    "eventToFunction":{},
+    "length":5.0,
+    "lockOrigin":false,
+    "moments":{
+      "$KeyframeStore<MomentsEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MomentsEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "name":"sInteractIndicator",
+    "playback":1,
+    "playbackSpeed":30.0,
+    "playbackSpeedType":0,
+    "resourceType":"GMSequence",
+    "resourceVersion":"2.0",
+    "showBackdrop":true,
+    "showBackdropImage":false,
+    "timeUnits":1,
+    "tracks":[
+      {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"b35a728c-9858-415a-af28-692303d343b3","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"db542542-4d2a-435d-8d5d-2b78f264a176","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7194a7cd-8a86-4668-a879-045595b7eece","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"eff54430-8598-4bc2-bb70-e9df6c14381d","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"81ca2dac-3199-43a7-a583-48ca60c77622","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"c78439fa-46c3-4670-9440-dd318cf64e99","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"98d64cdc-8eb0-4935-b96e-59d35767229c","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"9fb5d227-ed7a-49fd-976e-61995261599f","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"499754e2-e313-44f0-9578-2a27fcda206a","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"c3d50ce6-109c-4dda-b2cf-0e841484a0fe","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+          ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
+    ],
+    "visibleRange":null,
+    "volume":1.0,
+    "xorigin":48,
+    "yorigin":48,
+  },
+  "swatchColours":null,
+  "swfPrecision":0.5,
+  "textureGroupId":{
+    "name":"Default",
+    "path":"texturegroups/Default",
+  },
+  "type":0,
+  "VTile":false,
+  "width":96,
+}

+ 2 - 2
sprites/sPlayerArcSlash/sPlayerArcSlash.yy

@@ -37,7 +37,7 @@
   ],
   "name":"sPlayerArcSlash",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Dodge&Counter",
     "path":"folders/Player/Sprites/Dodge&Counter.yy",
@@ -132,7 +132,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerAttack/sPlayerAttack.yy

@@ -28,7 +28,7 @@
   ],
   "name":"sPlayerAttack",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Attack",
     "path":"folders/Player/Sprites/Attack.yy",
@@ -96,7 +96,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerDash/sPlayerDash.yy

@@ -26,7 +26,7 @@
   ],
   "name":"sPlayerDash",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Dash",
     "path":"folders/Player/Sprites/Dash.yy",
@@ -88,7 +88,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerDodge/sPlayerDodge.yy

@@ -26,7 +26,7 @@
   ],
   "name":"sPlayerDodge",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Dodge&Counter",
     "path":"folders/Player/Sprites/Dodge&Counter.yy",
@@ -88,7 +88,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerDodgeEnding/sPlayerDodgeEnding.yy

@@ -37,7 +37,7 @@
   ],
   "name":"sPlayerDodgeEnding",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Dodge&Counter",
     "path":"folders/Player/Sprites/Dodge&Counter.yy",
@@ -132,7 +132,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerDodgeWait/sPlayerDodgeWait.yy

@@ -25,7 +25,7 @@
   ],
   "name":"sPlayerDodgeWait",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Dodge&Counter",
     "path":"folders/Player/Sprites/Dodge&Counter.yy",
@@ -84,7 +84,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

BIN
sprites/sPlayerHP/634e7d38-4222-4a42-a608-7084d18fab17.png


BIN
sprites/sPlayerHP/layers/634e7d38-4222-4a42-a608-7084d18fab17/ebcad0ac-4f00-4b9d-adee-754211cdacd6.png


+ 2 - 2
sprites/sPlayerHitstunAttacked/sPlayerHitstunAttacked.yy

@@ -29,7 +29,7 @@
   ],
   "name":"sPlayerHitstunAttacked",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Hitstun",
     "path":"folders/Player/Sprites/Hitstun.yy",
@@ -100,7 +100,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerHitstunHazard/sPlayerHitstunHazard.yy

@@ -26,7 +26,7 @@
   ],
   "name":"sPlayerHitstunHazard",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Hitstun",
     "path":"folders/Player/Sprites/Hitstun.yy",
@@ -88,7 +88,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerHyper/sPlayerHyper.yy

@@ -26,7 +26,7 @@
   ],
   "name":"sPlayerHyper",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"Dash",
     "path":"folders/Player/Sprites/Dash.yy",
@@ -88,7 +88,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerIdle/sPlayerIdle.yy

@@ -30,7 +30,7 @@
   ],
   "name":"sPlayerIdle",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"StateFree",
     "path":"folders/Player/Sprites/StateFree.yy",
@@ -104,7 +104,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerJump/sPlayerJump.yy

@@ -24,7 +24,7 @@
   ],
   "name":"sPlayerJump",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"StateFree",
     "path":"folders/Player/Sprites/StateFree.yy",
@@ -80,7 +80,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerWalk/sPlayerWalk.yy

@@ -30,7 +30,7 @@
   ],
   "name":"sPlayerWalk",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"StateFree",
     "path":"folders/Player/Sprites/StateFree.yy",
@@ -104,7 +104,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

+ 2 - 2
sprites/sPlayerWall/sPlayerWall.yy

@@ -23,7 +23,7 @@
   ],
   "name":"sPlayerWall",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
     "name":"StateFree",
     "path":"folders/Player/Sprites/StateFree.yy",
@@ -76,7 +76,7 @@
     "visibleRange":null,
     "volume":1.0,
     "xorigin":36,
-    "yorigin":64,
+    "yorigin":128,
   },
   "swatchColours":null,
   "swfPrecision":0.5,

BIN
sprites/sSavePoint/77a13498-0f83-4365-a90a-6f333c814809.png


BIN
sprites/sSavePoint/layers/77a13498-0f83-4365-a90a-6f333c814809/2b5d548b-d47f-41fe-a87a-7e61dfc03c9e.png


+ 17 - 17
sprites/sPlayerHP/sPlayerHP.yy → sprites/sSavePoint/sSavePoint.yy

@@ -1,10 +1,10 @@
 {
   "$GMSprite":"v2",
-  "%Name":"sPlayerHP",
+  "%Name":"sSavePoint",
   "bboxMode":0,
-  "bbox_bottom":279,
+  "bbox_bottom":191,
   "bbox_left":0,
-  "bbox_right":279,
+  "bbox_right":191,
   "bbox_top":0,
   "collisionKind":1,
   "collisionTolerance":0,
@@ -12,28 +12,28 @@
   "edgeFiltering":false,
   "For3D":false,
   "frames":[
-    {"$GMSpriteFrame":"v1","%Name":"634e7d38-4222-4a42-a608-7084d18fab17","name":"634e7d38-4222-4a42-a608-7084d18fab17","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"77a13498-0f83-4365-a90a-6f333c814809","name":"77a13498-0f83-4365-a90a-6f333c814809","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
   ],
   "gridX":0,
   "gridY":0,
-  "height":280,
+  "height":192,
   "HTile":false,
   "layers":[
-    {"$GMImageLayer":"","%Name":"ebcad0ac-4f00-4b9d-adee-754211cdacd6","blendMode":0,"displayName":"default","isLocked":false,"name":"ebcad0ac-4f00-4b9d-adee-754211cdacd6","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
+    {"$GMImageLayer":"","%Name":"2b5d548b-d47f-41fe-a87a-7e61dfc03c9e","blendMode":0,"displayName":"default","isLocked":false,"name":"2b5d548b-d47f-41fe-a87a-7e61dfc03c9e","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
   ],
-  "name":"sPlayerHP",
+  "name":"sSavePoint",
   "nineSlice":null,
-  "origin":4,
+  "origin":7,
   "parent":{
-    "name":"UIsprite",
-    "path":"folders/UIsprite.yy",
+    "name":"IntractiveObjects",
+    "path":"folders/StationaryObjects/IntractiveObjects.yy",
   },
   "preMultiplyAlpha":false,
   "resourceType":"GMSprite",
   "resourceVersion":"2.0",
   "sequence":{
     "$GMSequence":"v1",
-    "%Name":"sPlayerHP",
+    "%Name":"sSavePoint",
     "autoRecord":true,
     "backdropHeight":768,
     "backdropImageOpacity":0.5,
@@ -57,7 +57,7 @@
       "resourceType":"KeyframeStore<MomentsEventKeyframe>",
       "resourceVersion":"2.0",
     },
-    "name":"sPlayerHP",
+    "name":"sSavePoint",
     "playback":1,
     "playbackSpeed":30.0,
     "playbackSpeedType":0,
@@ -69,14 +69,14 @@
     "tracks":[
       {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
             {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
-                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"634e7d38-4222-4a42-a608-7084d18fab17","path":"sprites/sPlayerHP/sPlayerHP.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
-              },"Disabled":false,"id":"28ed2892-8e3b-48c6-959c-74c9cffcaffc","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"77a13498-0f83-4365-a90a-6f333c814809","path":"sprites/sSavePoint/sSavePoint.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"dd6450c6-1ddc-4d5a-8ef1-4cf4c534ab73","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
           ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
     ],
     "visibleRange":null,
     "volume":1.0,
-    "xorigin":140,
-    "yorigin":140,
+    "xorigin":96,
+    "yorigin":192,
   },
   "swatchColours":null,
   "swfPrecision":0.5,
@@ -86,5 +86,5 @@
   },
   "type":0,
   "VTile":false,
-  "width":280,
+  "width":192,
 }