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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user