Added sound management in savegames and load games. (#337)

Fixes #300
Fix crash on loading game when the saved position was a float while teleport_pos command needs integers.
Fix pause menu missing in simplemouse-ui, causing a crash when calling pause menu.
Co-authored-by: StraToN <StraToN@users.noreply.github.com>
This commit is contained in:
Julian Murgia
2021-07-29 14:22:42 +02:00
committed by GitHub
parent 2c8107964c
commit f2991c30c7
10 changed files with 48 additions and 5 deletions

View File

@@ -87,4 +87,8 @@ func get_save_data() -> Dictionary:
save_data["last_deg"] = wrapi(self.node._movable._get_angle() + 1, 0, 360)
save_data["last_dir"] = self.node._movable.last_dir
if (self.global_id == "bg_music" or self.global_id == "bg_sound") \
and self.node.get("state"):
save_data["state"] = self.node.get("state")
return save_data

View File

@@ -151,15 +151,22 @@ func load_game(id: int):
if save_game.objects[object_global_id].has("global_transform"):
load_statements.append(ESCCommand.new("teleport_pos %s %s %s" \
% [object_global_id,
save_game.objects[object_global_id] \
["global_transform"].origin.x,
save_game.objects[object_global_id] \
["global_transform"].origin.y])
int(save_game.objects[object_global_id] \
["global_transform"].origin.x),
int(save_game.objects[object_global_id] \
["global_transform"].origin.y)]
)
)
load_statements.append(ESCCommand.new("set_angle %s %s" \
% [object_global_id,
save_game.objects[object_global_id]["last_deg"]])
)
if object_global_id == "bg_music" or object_global_id == "bg_sound":
load_statements.append(ESCCommand.new("set_sound_state %s %s true" \
% [object_global_id,
save_game.objects[object_global_id]["state"]])
)
load_event.statements = load_statements
escoria.event_manager.queue_event(load_event)