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

pull/54/head
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.secret_inputs = inputs
self.game = game_mode(self.secret_inputs)
self.game.save_replay = false
self.ruleset = ruleset(self.game)
self.game:initialize(self.ruleset, true)
self.game:initialize(self.ruleset)
self.inputs = {
left=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_state = love.math.getRandomState()
self.secret_inputs = secret_inputs
self.save_replay = config.gamesettings.save_replay == 1
self.grid = Grid(10, 24)
self.randomizer = Randomizer()
@ -103,7 +104,7 @@ function GameMode:getSkin()
return "2tie"
end
function GameMode:initialize(ruleset, replay)
function GameMode:initialize(ruleset)
-- generate next queue
self.used_randomizer = (
table.equalvalues(
@ -113,11 +114,10 @@ function GameMode:initialize(ruleset, replay)
self.randomizer or BagRandomizer(table.keys(ruleset.colourscheme))
)
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
table.insert(self.next_queue, self:getNextPiece(ruleset))
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]
end