From f7c4908062aa6df091083b5c02edc5dcc31e93d3 Mon Sep 17 00:00:00 2001 From: Ishaan Bhardwaj Date: Mon, 14 Dec 2020 22:43:50 -0500 Subject: [PATCH] Added an option to disable diagonal input --- scene/game_config.lua | 3 ++- tetris/modes/gamemode.lua | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/scene/game_config.lua b/scene/game_config.lua index ea91b11..2f56854 100644 --- a/scene/game_config.lua +++ b/scene/game_config.lua @@ -11,7 +11,8 @@ ConfigScene.options = { {"world_reverse","A Button Rotation", {"Left" ,"Auto" ,"Right"}}, {"next_se", "Next Piece SFX", {"On", "Off"}}, {"das_last_key", "DAS Switch", {"Default", "Instant"}}, - {"synchroes_allowed", "Synchroes", {"Per ruleset", "On", "Off"}} + {"synchroes_allowed", "Synchroes", {"Per ruleset", "On", "Off"}}, + {"diagonal_input", "Diagonal Input", {"On", "Off"}} } local optioncount = #ConfigScene.options diff --git a/tetris/modes/gamemode.lua b/tetris/modes/gamemode.lua index 1cce7a1..078ff72 100644 --- a/tetris/modes/gamemode.lua +++ b/tetris/modes/gamemode.lua @@ -100,6 +100,16 @@ function GameMode:update(inputs, ruleset) end if self.completed then return end + if config.gamesettings.diagonal_input == 2 then + if inputs["left"] or inputs["right"] then + inputs["up"] = false + inputs["down"] = false + elseif inputs["up"] or inputs["down"] then + inputs["left"] = false + inputs["right"] = false + end + end + -- advance one frame if self:advanceOneFrame(inputs, ruleset) == false then return end