diff --git a/scene/game.lua b/scene/game.lua index 0aae958..da44688 100644 --- a/scene/game.lua +++ b/scene/game.lua @@ -1,5 +1,4 @@ local GameScene = Scene:extend() -local binser = require 'libs.binser' GameScene.title = "Game" local tas = false @@ -33,7 +32,7 @@ function GameScene:new(player_name, replay_file, replay_grade) rotate_180=false, hold=false, } - self.inputs_waiting2trigger={ -- Used for buffering the input, in case the input is too quick (1f) + self.inputs_waiting2trigger={ -- Used for buffering the input, in case the input is too fast (1f) left=false, right=false, up=false, @@ -56,9 +55,12 @@ function GameScene:update(nosound, tas_update) end end for input, value in pairs(self.inputs) do - inputs[input] = value - if self.inputs_waiting2trigger[input] then inputs[input]=true end - self.inputs_waiting2trigger[input]=false + if self.inputs_waiting2trigger[input] then + inputs[input]=true + self.inputs_waiting2trigger[input]=false + else + inputs[input] = value + end end if tas and tas_update then self.paused = false diff --git a/scene/training.lua b/scene/training.lua index bc7c6f5..687106f 100644 --- a/scene/training.lua +++ b/scene/training.lua @@ -29,13 +29,30 @@ function TrainingScene:new() rotate_180=false, hold=false, } + self.inputs_waiting2trigger={ -- Used for buffering the input, in case the input is too fast (1f) + left=false, + right=false, + up=false, + down=false, + rotate_left=false, + rotate_left2=false, + rotate_right=false, + rotate_right2=false, + rotate_180=false, + hold=false, + } self.paused = false end function TrainingScene:update() local inputs = {} for input, value in pairs(self.inputs) do - inputs[input] = value + if self.inputs_waiting2trigger[input] then + inputs[input]=true + self.inputs_waiting2trigger[input]=false + else + inputs[input] = value + end end self.game:update(inputs, self.ruleset) self.game.grid:update() @@ -52,6 +69,7 @@ function TrainingScene:onInputPress(e) scene = TitleScene() elseif e.input and string.sub(e.input, 1, 5) ~= "menu_" then self.inputs[e.input] = true + self.inputs_waiting2trigger[e.input] = true end end