Fixed an issue where replays played in the menu could save a duplicate copy

This commit is contained in:
Ishaan Bhardwaj 2021-12-09 22:21:48 -05:00
parent e68238cbce
commit 06225bd35a
2 changed files with 5 additions and 4 deletions

View File

@ -13,8 +13,9 @@ function ReplayScene:new(replay, game_mode, ruleset, inputs)
self.retry_ruleset = ruleset self.retry_ruleset = ruleset
self.secret_inputs = inputs self.secret_inputs = inputs
self.game = game_mode(self.secret_inputs) self.game = game_mode(self.secret_inputs)
self.game.save_replay = false
self.ruleset = ruleset(self.game) self.ruleset = ruleset(self.game)
self.game:initialize(self.ruleset, true) self.game:initialize(self.ruleset)
self.inputs = { self.inputs = {
left=false, left=false,
right=false, right=false,

View File

@ -21,6 +21,7 @@ function GameMode:new(secret_inputs)
self.random_low, self.random_high = love.math.getRandomSeed() self.random_low, self.random_high = love.math.getRandomSeed()
self.random_state = love.math.getRandomState() self.random_state = love.math.getRandomState()
self.secret_inputs = secret_inputs self.secret_inputs = secret_inputs
self.save_replay = config.gamesettings.save_replay == 1
self.grid = Grid(10, 24) self.grid = Grid(10, 24)
self.randomizer = Randomizer() self.randomizer = Randomizer()
@ -103,7 +104,7 @@ function GameMode:getSkin()
return "2tie" return "2tie"
end end
function GameMode:initialize(ruleset, replay) function GameMode:initialize(ruleset)
-- generate next queue -- generate next queue
self.used_randomizer = ( self.used_randomizer = (
table.equalvalues( table.equalvalues(
@ -113,11 +114,10 @@ function GameMode:initialize(ruleset, replay)
self.randomizer or BagRandomizer(table.keys(ruleset.colourscheme)) self.randomizer or BagRandomizer(table.keys(ruleset.colourscheme))
) )
self.ruleset = ruleset self.ruleset = ruleset
self.save_replay = not replay and (config.gamesettings.save_replay == 1)
for i = 1, math.max(self.next_queue_length, 1) do for i = 1, math.max(self.next_queue_length, 1) do
table.insert(self.next_queue, self:getNextPiece(ruleset)) table.insert(self.next_queue, self:getNextPiece(ruleset))
end end
self.lock_on_soft_drop = ({ruleset.softdrop_lock, self.instant_soft_drop, false, true})[config.gamesettings.manlock] self.lock_on_soft_drop = ({ruleset.softdrop_lock, self.instant_soft_drop, false, true })[config.gamesettings.manlock]
self.lock_on_hard_drop = ({ruleset.harddrop_lock, self.instant_hard_drop, true, false})[config.gamesettings.manlock] self.lock_on_hard_drop = ({ruleset.harddrop_lock, self.instant_hard_drop, true, false})[config.gamesettings.manlock]
end end