osb/assets/opensb/interface/windowconfig/graphicsmenu.config.patch.lua
2024-04-19 08:52:35 +10:00

38 lines
1.5 KiB
Lua

-- gadgets
local function jcopy(base) return sb.jsonMerge(base, {}) end
local function clone(base, a, b)
local copy = jcopy(base[a])
base[b] = copy
return copy
end
local function shift(thing, x, y)
thing.position[1] = thing.position[1] + (tonumber(x) or 0)
thing.position[2] = thing.position[2] + (tonumber(y) or 0)
return thing
end
-- patch function, called by the game
function patch(config)
local layout = config.paneLayout
layout.panefeature.positionLocked = false
-- Create the camera pan speed widgets
shift(clone(layout, "zoomLabel", "cameraSpeedLabel"), 100).value = "CAMERA PAN SPEED"
shift(clone(layout, "zoomSlider", "cameraSpeedSlider"), 100)
shift(clone(layout, "zoomValueLabel", "cameraSpeedValueLabel"), 100)
-- Populate camera speed list
config.cameraSpeedList = jarray()
for i = 1, 50 do config.cameraSpeedList[i] = i / 10 end
for i = 1, 32 do config.zoomList[i] = i end
-- Create anti-aliasing toggle
shift(clone(layout, "multiTextureLabel", "antiAliasingLabel"), 98).value = "SUPER-SAMPLED AA"
shift(clone(layout, "multiTextureCheckbox", "antiAliasingCheckbox"), 99)
-- Create object lighting toggle
shift(clone(layout, "multiTextureLabel", "objectLightingLabel"), 0, -11).value = "NEW OBJECT LIGHTS"
shift(clone(layout, "multiTextureCheckbox", "objectLightingCheckbox"), 0, -11)
-- Create hardware cursor toggle
shift(clone(layout, "multiTextureLabel", "hardwareCursorLabel"), 98, -11).value = "HARDWARE CURSOR"
shift(clone(layout, "multiTextureCheckbox", "hardwareCursorCheckbox"), 99, -11)
return config
end