1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-04-30 19:11:23 +00:00

Move camera settings to a menu script

This commit is contained in:
uramer 2024-01-10 20:32:34 +01:00
parent 6917384fc1
commit 5b97a93169
5 changed files with 45 additions and 47 deletions

View file

@ -13,6 +13,7 @@ GLOBAL: scripts/omw/usehandlers.lua
GLOBAL: scripts/omw/worldeventhandlers.lua GLOBAL: scripts/omw/worldeventhandlers.lua
PLAYER: scripts/omw/mechanics/playercontroller.lua PLAYER: scripts/omw/mechanics/playercontroller.lua
PLAYER: scripts/omw/playercontrols.lua PLAYER: scripts/omw/playercontrols.lua
MENU: scripts/omw/camera/settings.lua
PLAYER: scripts/omw/camera/camera.lua PLAYER: scripts/omw/camera/camera.lua
PLAYER: scripts/omw/input/actionbindings.lua PLAYER: scripts/omw/input/actionbindings.lua
PLAYER: scripts/omw/input/smoothmovement.lua PLAYER: scripts/omw/input/smoothmovement.lua

View file

@ -5,6 +5,7 @@ local util = require('openmw.util')
local self = require('openmw.self') local self = require('openmw.self')
local nearby = require('openmw.nearby') local nearby = require('openmw.nearby')
local async = require('openmw.async') local async = require('openmw.async')
local storage = require('openmw.storage')
local I = require('openmw.interfaces') local I = require('openmw.interfaces')
local Actor = require('openmw.types').Actor local Actor = require('openmw.types').Actor
@ -28,7 +29,7 @@ input.registerAction {
defaultValue = 0, defaultValue = 0,
} }
local settings = require('scripts.omw.camera.settings').thirdPerson local settings = storage.playerSection('SettingsOMWCameraThirdPerson')
local head_bobbing = require('scripts.omw.camera.head_bobbing') local head_bobbing = require('scripts.omw.camera.head_bobbing')
local third_person = require('scripts.omw.camera.third_person') local third_person = require('scripts.omw.camera.third_person')
local pov_auto_switch = require('scripts.omw.camera.first_person_auto_switch') local pov_auto_switch = require('scripts.omw.camera.first_person_auto_switch')

View file

@ -2,12 +2,13 @@ local camera = require('openmw.camera')
local self = require('openmw.self') local self = require('openmw.self')
local util = require('openmw.util') local util = require('openmw.util')
local async = require('openmw.async') local async = require('openmw.async')
local storage = require('openmw.storage')
local Actor = require('openmw.types').Actor local Actor = require('openmw.types').Actor
local M = {} local M = {}
local settings = require('scripts.omw.camera.settings').headBobbing local settings = storage.playerSection('SettingsOMWCameraHeadBobbing')
local doubleStepLength, stepHeight, maxRoll local doubleStepLength, stepHeight, maxRoll
@ -58,4 +59,3 @@ function M.update(dt, smoothedSpeed)
end end
return M return M

View file

@ -70,24 +70,22 @@ I.Settings.registerGroup({
}, },
}) })
local settings = { local thirdPerson = storage.playerSection(thirdPersonGroup)
thirdPerson = storage.playerSection(thirdPersonGroup), local headBobbing = storage.playerSection(headBobbingGroup)
headBobbing = storage.playerSection(headBobbingGroup),
}
local function updateViewOverShoulderDisabled() local function updateViewOverShoulderDisabled()
local shoulderDisabled = not settings.thirdPerson:get('viewOverShoulder') local shoulderDisabled = not thirdPerson:get('viewOverShoulder')
I.Settings.updateRendererArgument(thirdPersonGroup, 'shoulderOffsetX', { disabled = shoulderDisabled }) I.Settings.updateRendererArgument(thirdPersonGroup, 'shoulderOffsetX', { disabled = shoulderDisabled })
I.Settings.updateRendererArgument(thirdPersonGroup, 'shoulderOffsetY', { disabled = shoulderDisabled }) I.Settings.updateRendererArgument(thirdPersonGroup, 'shoulderOffsetY', { disabled = shoulderDisabled })
I.Settings.updateRendererArgument(thirdPersonGroup, 'autoSwitchShoulder', { disabled = shoulderDisabled }) I.Settings.updateRendererArgument(thirdPersonGroup, 'autoSwitchShoulder', { disabled = shoulderDisabled })
I.Settings.updateRendererArgument(thirdPersonGroup, 'zoomOutWhenMoveCoef', { disabled = shoulderDisabled }) I.Settings.updateRendererArgument(thirdPersonGroup, 'zoomOutWhenMoveCoef', { disabled = shoulderDisabled })
local move360Disabled = not settings.thirdPerson:get('move360') local move360Disabled = not thirdPerson:get('move360')
I.Settings.updateRendererArgument(thirdPersonGroup, 'move360TurnSpeed', { disabled = move360Disabled }) I.Settings.updateRendererArgument(thirdPersonGroup, 'move360TurnSpeed', { disabled = move360Disabled })
end end
local function updateHeadBobbingDisabled() local function updateHeadBobbingDisabled()
local disabled = not settings.headBobbing:get('enabled') local disabled = not headBobbing:get('enabled')
I.Settings.updateRendererArgument(headBobbingGroup, 'step', { disabled = disabled, min = 1 }) I.Settings.updateRendererArgument(headBobbingGroup, 'step', { disabled = disabled, min = 1 })
I.Settings.updateRendererArgument(headBobbingGroup, 'height', { disabled = disabled }) I.Settings.updateRendererArgument(headBobbingGroup, 'height', { disabled = disabled })
I.Settings.updateRendererArgument(headBobbingGroup, 'roll', { disabled = disabled, min = 0, max = 90 }) I.Settings.updateRendererArgument(headBobbingGroup, 'roll', { disabled = disabled, min = 0, max = 90 })
@ -96,7 +94,5 @@ end
updateViewOverShoulderDisabled() updateViewOverShoulderDisabled()
updateHeadBobbingDisabled() updateHeadBobbingDisabled()
settings.thirdPerson:subscribe(async:callback(updateViewOverShoulderDisabled)) thirdPerson:subscribe(async:callback(updateViewOverShoulderDisabled))
settings.headBobbing:subscribe(async:callback(updateHeadBobbingDisabled)) headBobbing:subscribe(async:callback(updateHeadBobbingDisabled))
return settings

View file

@ -3,10 +3,11 @@ local util = require('openmw.util')
local self = require('openmw.self') local self = require('openmw.self')
local nearby = require('openmw.nearby') local nearby = require('openmw.nearby')
local async = require('openmw.async') local async = require('openmw.async')
local storage = require('openmw.storage')
local Actor = require('openmw.types').Actor local Actor = require('openmw.types').Actor
local settings = require('scripts.omw.camera.settings').thirdPerson local settings = storage.playerSection('SettingsOMWCameraThirdPerson')
local MODE = camera.MODE local MODE = camera.MODE
local STATE = { RightShoulder = 0, LeftShoulder = 1, Combat = 2, Swimming = 3 } local STATE = { RightShoulder = 0, LeftShoulder = 1, Combat = 2, Swimming = 3 }
@ -161,4 +162,3 @@ function M.update(dt, smoothedSpeed)
end end
return M return M