Skip to content
Snippets Groups Projects
Commit 1bee614c authored by dg's avatar dg
Browse files

saving better protected

git-svn-id: http://svn.net-core.org/repos/t-engine4@5277 51575b47-30f0-44d4-a5cc-537603b46e54
parent e807b3d9
No related branches found
No related tags found
No related merge requests found
......@@ -80,6 +80,8 @@ function _M:push(savename, type, object, class, on_end)
if #self.pipe >= self.max_before_wait or not config.settings.background_saves then
self:forceWait()
end
return clone
end
--- Push a generic action to be done once saves complete
......
......@@ -1697,19 +1697,23 @@ function _M:saveGame()
if self.party then for actor, _ in pairs(self.party.members) do engine.interface.PlayerHotkeys:updateQuickHotkeys(actor) end end
-- savefile_pipe is created as a global by the engine
savefile_pipe:push(self.save_name, "game", self)
local clone = savefile_pipe:push(self.save_name, "game", self)
world:saveWorld()
if not self.creating_player then
local oldplayer = self.player
self.party:setPlayer(self:getPlayer(true), true)
local party = self.party:cloneFull()
party.__te4_uuid = self:getPlayer(true).__te4_uuid
for m, _ in pairs(party.members) do
m:stripForExport()
end
party:stripForExport()
self.player:saveUUID(party)
_G.game = clone
pcall(function()
local party = game.party:cloneFull()
party.__te4_uuid = game:getPlayer(true).__te4_uuid
for m, _ in pairs(party.members) do
m:stripForExport()
end
party:stripForExport()
game.player:saveUUID(party)
end)
_G.game = self
self.party:setPlayer(oldplayer, true)
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment