Replace `table.getn with # and scene with SCENE`

This commit is contained in:
Squishy (C6H12O6+NaCl+H2O)
2024-04-19 21:23:09 +07:00
parent cedc6e888e
commit 9c8628a014
13 changed files with 67 additions and 67 deletions

View File

@@ -30,7 +30,7 @@ function love.load()
require "scene"
require "game.vctrl" -- VCTRL
scene = config.firstTime and InputConfigScene() or TitleScene()
SCENE = config.firstTime and InputConfigScene() or TitleScene()
love.mouse.setVisible(false)
love.window.setMode(love.graphics.getWidth(), love.graphics.getHeight(), {resizable = true});
@@ -77,7 +77,7 @@ function love.draw()
love.graphics.clear()
love.graphics.push()
scene:render()
SCENE:render()
VCTRL.draw()
-- -- Grid system
@@ -129,20 +129,20 @@ function love.keypressed(key, scancode)
if scancode == "f4" then
config["fullscreen"] = not config["fullscreen"]
love.window.setFullscreen(config["fullscreen"])
elseif scancode == "f2" and scene.title ~= "Input Config" and scene.title ~= "Game" then
scene = InputConfigScene()
elseif scancode == "f2" and SCENE.title ~= "Input Config" and SCENE.title ~= "Game" then
SCENE = InputConfigScene()
-- function keys are reserved
elseif string.match(scancode, "^f[1-9]$") or string.match(scancode, "^f1[0-2]+$") then
return
-- escape is reserved for menu_back
elseif scancode == "escape" or scancode == "acback" then
scene:onInputPress({input="menu_back", type="key", key=key, scancode=scancode})
SCENE:onInputPress({input="menu_back", type="key", key=key, scancode=scancode})
-- pass any other key to the scene, with its configured mapping
else
if config.input and config.input.keys then
input_pressed = config.input.keys[scancode]
end
scene:onInputPress({input=input_pressed, type="key", key=key, scancode=scancode})
SCENE:onInputPress({input=input_pressed, type="key", key=key, scancode=scancode})
end
LastPressedKey = input_pressed or scancode
@@ -153,7 +153,7 @@ function love.keyreleased(key, scancode)
-- escape is reserved for menu_back
if scancode == "escape" or scancode == 'acback' then
scene:onInputRelease({input="menu_back", type="key", key=key, scancode=scancode})
SCENE:onInputRelease({input="menu_back", type="key", key=key, scancode=scancode})
-- function keys are reserved
elseif string.match(scancode, "^f[1-9]$") or string.match(scancode, "^f1[0-2]+$") then
return
@@ -162,7 +162,7 @@ function love.keyreleased(key, scancode)
if config.input and config.input.keys then
input_released = config.input.keys[scancode]
end
scene:onInputRelease({input=input_released, type="key", key=key, scancode=scancode})
SCENE:onInputRelease({input=input_released, type="key", key=key, scancode=scancode})
end
LastReleasedKey = input_released or scancode
@@ -178,7 +178,7 @@ function love.joystickpressed(joystick, button)
then
input_pressed = config.input.joysticks[joystick:getName()].buttons[button]
end
scene:onInputPress({input=input_pressed, type="joybutton", name=joystick:getName(), button=button})
SCENE:onInputPress({input=input_pressed, type="joybutton", name=joystick:getName(), button=button})
end
function love.joystickreleased(joystick, button)
@@ -191,7 +191,7 @@ function love.joystickreleased(joystick, button)
then
input_released = config.input.joysticks[joystick:getName()].buttons[button]
end
scene:onInputRelease({input=input_released, type="joybutton", name=joystick:getName(), button=button})
SCENE:onInputRelease({input=input_released, type="joybutton", name=joystick:getName(), button=button})
end
function love.joystickaxis(joystick, axis, value)
@@ -212,10 +212,10 @@ function love.joystickaxis(joystick, axis, value)
negative_released = config.input.joysticks[joystick:getName()].axes[axis].negative
end
if math.abs(value) >= 1 then
scene:onInputPress({input=input_pressed, type="joyaxis", name=joystick:getName(), axis=axis, value=value})
SCENE:onInputPress({input=input_pressed, type="joyaxis", name=joystick:getName(), axis=axis, value=value})
else
scene:onInputRelease({input=positive_released, type="joyaxis", name=joystick:getName(), axis=axis, value=value})
scene:onInputRelease({input=negative_released, type="joyaxis", name=joystick:getName(), axis=axis, value=value})
SCENE:onInputRelease({input=positive_released, type="joyaxis", name=joystick:getName(), axis=axis, value=value})
SCENE:onInputRelease({input=negative_released, type="joyaxis", name=joystick:getName(), axis=axis, value=value})
end
end
@@ -247,20 +247,20 @@ function love.joystickhat(joystick, hat, direction)
local char = direction:sub(i, i)
local _, count = last_hat_direction:gsub(char, char)
if count == 0 then
scene:onInputPress({input=config.input.joysticks[joystick:getName()].hats[hat][char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
SCENE:onInputPress({input=config.input.joysticks[joystick:getName()].hats[hat][char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
end
end
for i = 1, #last_hat_direction do
local char = last_hat_direction:sub(i, i)
local _, count = direction:gsub(char, char)
if count == 0 then
scene:onInputRelease({input=config.input.joysticks[joystick:getName()].hats[hat][char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
SCENE:onInputRelease({input=config.input.joysticks[joystick:getName()].hats[hat][char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
end
end
last_hat_direction = direction
elseif has_hat then
for i, direction in ipairs{"d", "l", "ld", "lu", "r", "rd", "ru", "u"} do
scene:onInputRelease({input=config.input.joysticks[joystick:getName()].hats[hat][direction], type="joyhat", name=joystick:getName(), hat=hat, direction=direction})
SCENE:onInputRelease({input=config.input.joysticks[joystick:getName()].hats[hat][direction], type="joyhat", name=joystick:getName(), hat=hat, direction=direction})
end
last_hat_direction = ""
elseif direction ~= "c" then
@@ -268,20 +268,20 @@ function love.joystickhat(joystick, hat, direction)
local char = direction:sub(i, i)
local _, count = last_hat_direction:gsub(char, char)
if count == 0 then
scene:onInputPress({input=directions[char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
SCENE:onInputPress({input=directions[char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
end
end
for i = 1, #last_hat_direction do
local char = last_hat_direction:sub(i, i)
local _, count = direction:gsub(char, char)
if count == 0 then
scene:onInputRelease({input=directions[char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
SCENE:onInputRelease({input=directions[char], type="joyhat", name=joystick:getName(), hat=hat, direction=char})
end
end
last_hat_direction = direction
else
for i, direction in ipairs{"d", "l", "ld", "lu", "r", "rd", "ru", "u"} do
scene:onInputRelease({input=nil, type="joyhat", name=joystick:getName(), hat=hat, direction=direction})
SCENE:onInputRelease({input=nil, type="joyhat", name=joystick:getName(), hat=hat, direction=direction})
end
last_hat_direction = ""
end
@@ -315,8 +315,8 @@ function love.run()
end
end
if scene and scene.update and love.timer then
scene:update()
if SCENE and SCENE.update and love.timer then
SCENE:update()
local frame_duration = 1.0 / TARGET_FPS
if time_accumulator < frame_duration then

View File

@@ -1,12 +1,12 @@
local Object = require "libs.classic"
Scene = Object:extend()
SCENE = Object:extend()
function Scene:new() end
function Scene:update() end
function Scene:render() end
function Scene:onInputPress() end
function Scene:onInputRelease() end
function SCENE:new() end
function SCENE:update() end
function SCENE:render() end
function SCENE:onInputPress() end
function SCENE:onInputRelease() end
ExitScene = require "scene.exit"
GameScene = require "scene.game"

View File

@@ -1,4 +1,4 @@
local ExitScene = Scene:extend()
local ExitScene = SCENE:extend()
require 'load.save'
ExitScene.title = "Exit Game"

View File

@@ -1,4 +1,4 @@
local FullscreenScene = Scene:extend()
local FullscreenScene = SCENE:extend()
require 'load.save'
FullscreenScene.title = "Fullscreen"
@@ -10,7 +10,7 @@ function FullscreenScene:update()
config["fullscreen"] = not config["fullscreen"]
saveConfig()
love.window.setFullscreen(config["fullscreen"])
scene = TitleScene()
SCENE = TitleScene()
end
function FullscreenScene:render()

View File

@@ -1,4 +1,4 @@
local GameScene = Scene:extend()
local GameScene = SCENE:extend()
GameScene.title = "Game"
local tas = false
@@ -68,11 +68,11 @@ end
function GameScene:onInputPress(e)
if (self.game.game_over or self.game.completed) and (e.input == "menu_decide" or e.input == "menu_back" or e.input == "rotate_right") and self.game.game_over_frames > 50 then
scene = TitleScene()
SCENE = TitleScene()
elseif tas and e.input == "menu_decide" then
self:update(false, true)
elseif self.game.input_playback and (e.input == "menu_back") then
scene = TitleScene()
SCENE = TitleScene()
elseif self.game.input_playback and e.input == "rotate_left" then
self.paused = false
self:update()

View File

@@ -1,4 +1,4 @@
local ConfigScene = Scene:extend()
local ConfigScene = SCENE:extend()
ConfigScene.title = "Input Config"
@@ -39,13 +39,13 @@ function ConfigScene:render()
end
function ConfigScene:changeOption(rel)
local len = table.getn(menu_screens)
local len = #menu_screens
self.menu_state = (self.menu_state + len + rel - 1) % len + 1
end
function ConfigScene:onInputPress(e)
if e.input == "menu_decide" or e.input == "rotate_left" or e.scancode == "return" then
scene = menu_screens[self.menu_state]()
SCENE = menu_screens[self.menu_state]()
elseif e.input == "up" or e.scancode == "up" then
self:changeOption(-1)
elseif e.input == "down" or e.scancode == "down" then
@@ -53,7 +53,7 @@ function ConfigScene:onInputPress(e)
elseif config.input and (
e.input == "menu_back" or e.input == "rotate_right" or e.scancode == "backspace" or e.scancode == "delete"
) then
scene = TitleScene()
SCENE = TitleScene()
end
end

View File

@@ -1,4 +1,4 @@
local KeyConfigScene = Scene:extend()
local KeyConfigScene = SCENE:extend()
KeyConfigScene.title = "Key Config"
@@ -58,7 +58,7 @@ function KeyConfigScene:render()
drawText(self.set_inputs[input], 240, 50 + i * 20, 300, "left")
end
end
if self.input_state > table.getn(configurable_inputs) then
if self.input_state > #configurable_inputs then
drawText("Press enter to confirm, delete/backspace to retry" .. (config.input and ", escape to cancel" or ""),0,0,1000)
else
drawText("Press key input for " .. input_names[configurable_inputs[self.input_state]] .. ", tab to skip, escape to cancel",0,0,1000)
@@ -70,12 +70,12 @@ function KeyConfigScene:onInputPress(e)
if e.type == "key" then
-- function keys, escape, and tab are reserved and can't be remapped
if e.scancode == "escape" then
scene = InputConfigScene()
elseif self.input_state > table.getn(configurable_inputs) then
SCENE = InputConfigScene()
elseif self.input_state > #configurable_inputs then
if e.scancode == "return" then
config.input.keys = self.new_input
saveConfig()
scene = config.firstTime and TitleScene() or InputConfigScene()
SCENE = config.firstTime and TitleScene() or InputConfigScene()
config.firstTime = false
elseif e.scancode == "delete" or e.scancode == "backspace" then
-- retry

View File

@@ -1,4 +1,4 @@
local MusicToggleScene = Scene:extend()
local MusicToggleScene = SCENE:extend()
require 'load.save'
MusicToggleScene.title = "Play music during game:"
@@ -9,7 +9,7 @@ end
function MusicToggleScene:update()
config["music"] = not config["music"]
saveConfig()
scene = TitleScene()
SCENE = TitleScene()
end
function MusicToggleScene:render()

View File

@@ -1,4 +1,4 @@
local NameEntryScene = Scene:extend()
local NameEntryScene = SCENE:extend()
local Grid = require 'game.grid'
local bitser = require 'libs.bitser'
require 'load.save'
@@ -117,7 +117,7 @@ function NameEntryScene:onInputPress(e)
if self.entry_pos == 4 then
config['last_entry'] = name:upper()
saveConfig()
scene = GameScene(name:lower())
SCENE = GameScene(name:lower())
else
if self.entry_pos == 3 then
name = string.lower(self.name_entry[1]..self.name_entry[2]..self.name_entry[3])
@@ -146,7 +146,7 @@ function NameEntryScene:onInputPress(e)
self.delete_confirm = false
self.delete_input_count = 0
if self.entry_pos == 1 then
scene = TitleScene()
SCENE = TitleScene()
else
self.name_entry[self.entry_pos] = 'A'
self.name_entry[self.entry_pos-1] = 'A'

View File

@@ -1,5 +1,5 @@
require 'funcs'
local ReplaySelectScene = Scene:extend()
local ReplaySelectScene = SCENE:extend()
ReplaySelectScene.title = "Replay"
@@ -77,7 +77,7 @@ function ReplaySelectScene:render()
end
function ReplaySelectScene:changeOption(rel)
local len = table.getn(self.replays)
local len = #self.replays
self.replay_select = self.replay_select + rel
if self.replay_select + ((self.page-1) * self.page_flip) > len then
self.page = 1
@@ -107,7 +107,7 @@ function ReplaySelectScene:onInputPress(e)
selected_replay_text = self.replay_text[self.replay_select + ((self.page-1) * self.page_flip)]
if e.input == "menu_decide" or e.input == "rotate_left" or e.scancode == "return" then
if self.replays[1] == nil then
scene = TitleScene()
SCENE = TitleScene()
--if not self.dialog then
-- self.dialog_select = 1
-- self.dialog = true
@@ -130,19 +130,19 @@ function ReplaySelectScene:onInputPress(e)
end
player_name = line_components[1]
player_grade = string.gsub(line_components[2], " ", "")
scene = GameScene(player_name, selected_replay, player_grade)
SCENE = GameScene(player_name, selected_replay, player_grade)
end
elseif e.input == "up" or e.scancode == "up" then
if self.replays[1] == nil then scene = TitleScene() end
if self.replays[1] == nil then SCENE = TitleScene() end
if not self.dialog then self:changeOption(-1)
else self:changeDialog(-1) end
elseif e.input == "down" or e.scancode == "down" then
if self.replays[1] == nil then scene = TitleScene() end
if self.replays[1] == nil then SCENE = TitleScene() end
if not self.dialog then self:changeOption(1)
else self:changeDialog(1) end
elseif e.input == "menu_back" or e.input == "rotate_right" or e.scancode == "backspace" or e.scancode == "delete" then
if self.replays[1] == nil then scene = TitleScene() end
if not self.dialog then scene = TitleScene()
if self.replays[1] == nil then SCENE = TitleScene() end
if not self.dialog then SCENE = TitleScene()
else self.dialog = false end
end
end

View File

@@ -1,4 +1,4 @@
local StickConfigScene = Scene:extend()
local StickConfigScene = SCENE:extend()
StickConfigScene.title = "Controller Config"
@@ -58,7 +58,7 @@ function StickConfigScene:render()
drawText(self.set_inputs[input], 240, 50 + i * 20, 300, "left")
end
end
if self.input_state > table.getn(configurable_inputs) then
if self.input_state > #configurable_inputs then
drawText("Press enter to confirm, delete/backspace to retry" .. (config.input and ", escape to cancel" or ""), 0, 0, 1000)
else
drawText("Press joystick input for " .. input_names[configurable_inputs[self.input_state]] .. ", tab to skip, escape to cancel", 0, 0, 1000)
@@ -77,15 +77,15 @@ function StickConfigScene:onInputPress(e)
if e.type == "key" then
-- function keys, escape, and tab are reserved and can't be remapped
if e.scancode == "escape" then
scene = InputConfigScene()
elseif self.input_state > table.getn(configurable_inputs) then
SCENE = InputConfigScene()
elseif self.input_state > #configurable_inputs then
if e.scancode == "return" then
-- save new input, then load next scene
local had_config = config.input ~= nil
if not config.input then config.input = {} end
config.input.joysticks = self.new_input
saveConfig()
scene = had_config and InputConfigScene() or TitleScene()
SCENE = had_config and InputConfigScene() or TitleScene()
elseif e.scancode == "delete" or e.scancode == "backspace" then
-- retry
self.input_state = 1
@@ -97,7 +97,7 @@ function StickConfigScene:onInputPress(e)
self.input_state = self.input_state + 1
end
elseif string.sub(e.type, 1, 3) == "joy" then
if self.input_state <= table.getn(configurable_inputs) then
if self.input_state <= #configurable_inputs then
if e.type == "joybutton" then
addJoystick(self.new_input, e.name)
if not self.new_input[e.name].buttons then

View File

@@ -1,4 +1,4 @@
local TitleScene = Scene:extend()
local TitleScene = SCENE:extend()
require 'load.save'
require 'funcs'
@@ -83,13 +83,13 @@ function TitleScene:render()
end
function TitleScene:changeOption(rel)
local len = table.getn(main_menu_screens)
local len = #main_menu_screens
self.main_menu_state = (self.main_menu_state + len + rel - 1) % len + 1
end
function TitleScene:onInputPress(e)
if e.input == "menu_decide" or e.input == "rotate_left" or e.scancode == "return" then
scene = main_menu_screens[self.main_menu_state]()
SCENE = main_menu_screens[self.main_menu_state]()
elseif e.input == "up" or e.scancode == "up" then
self:changeOption(-1)
elseif e.input == "down" or e.scancode == "down" then

View File

@@ -1,4 +1,4 @@
local TrainingScene = Scene:extend()
local TrainingScene = SCENE:extend()
TrainingScene.title = "Max Gravity Training"
@@ -46,9 +46,9 @@ end
function TrainingScene:onInputPress(e)
if (self.game.game_over or self.game.completed) and (e.input == "menu_decide" or e.input == "menu_back" or e.input == "rotate_right") and self.game.game_over_frames > 50 then
scene = TitleScene()
SCENE = TitleScene()
elseif (e.input == "menu_back") then
scene = TitleScene()
SCENE = TitleScene()
elseif e.input and string.sub(e.input, 1, 5) ~= "menu_" then
self.inputs[e.input] = true
end