96 lines
2.8 KiB
Lua
96 lines
2.8 KiB
Lua
|
local INPUT_LOOK_LR = 1
|
||
|
local INPUT_LOOK_UD = 2
|
||
|
local INPUT_CHARACTER_WHEEL = 19
|
||
|
local INPUT_SPRINT = 21
|
||
|
local INPUT_MOVE_UD = 31
|
||
|
local INPUT_MOVE_LR = 30
|
||
|
local INPUT_VEH_ACCELERATE = 71
|
||
|
local INPUT_VEH_BRAKE = 72
|
||
|
local INPUT_PARACHUTE_BRAKE_LEFT = 152
|
||
|
local INPUT_PARACHUTE_BRAKE_RIGHT = 153
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
local BASE_CONTROL_MAPPING = protect({
|
||
|
-- Rotation
|
||
|
LOOK_X = INPUT_LOOK_LR,
|
||
|
LOOK_Y = INPUT_LOOK_UD,
|
||
|
|
||
|
-- Position
|
||
|
MOVE_X = INPUT_MOVE_LR,
|
||
|
MOVE_Y = INPUT_MOVE_UD,
|
||
|
MOVE_Z = { INPUT_PARACHUTE_BRAKE_LEFT, INPUT_PARACHUTE_BRAKE_RIGHT },
|
||
|
|
||
|
-- Multiplier
|
||
|
MOVE_FAST = INPUT_SPRINT,
|
||
|
MOVE_SLOW = INPUT_CHARACTER_WHEEL
|
||
|
})
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
local BASE_CONTROL_SETTINGS = protect({
|
||
|
-- Rotation
|
||
|
LOOK_SENSITIVITY_X = 5,
|
||
|
LOOK_SENSITIVITY_Y = 5,
|
||
|
|
||
|
-- Position
|
||
|
BASE_MOVE_MULTIPLIER = 1,
|
||
|
FAST_MOVE_MULTIPLIER = 10,
|
||
|
SLOW_MOVE_MULTIPLIER = 10,
|
||
|
})
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
local BASE_CAMERA_SETTINGS = protect({
|
||
|
--Camera
|
||
|
FOV = 45.0,
|
||
|
|
||
|
-- On enable/disable
|
||
|
ENABLE_EASING = true,
|
||
|
EASING_DURATION = 1000,
|
||
|
|
||
|
-- Keep position/rotation
|
||
|
KEEP_POSITION = false,
|
||
|
KEEP_ROTATION = false
|
||
|
})
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
_G.KEYBOARD_CONTROL_MAPPING = table.copy(BASE_CONTROL_MAPPING)
|
||
|
_G.GAMEPAD_CONTROL_MAPPING = table.copy(BASE_CONTROL_MAPPING)
|
||
|
|
||
|
-- Swap up/down movement (LB for down, RB for up)
|
||
|
_G.GAMEPAD_CONTROL_MAPPING.MOVE_Z[1] = INPUT_PARACHUTE_BRAKE_LEFT
|
||
|
_G.GAMEPAD_CONTROL_MAPPING.MOVE_Z[2] = INPUT_PARACHUTE_BRAKE_RIGHT
|
||
|
|
||
|
-- Use LT and RT for speed
|
||
|
_G.GAMEPAD_CONTROL_MAPPING.MOVE_FAST = INPUT_VEH_ACCELERATE
|
||
|
_G.GAMEPAD_CONTROL_MAPPING.MOVE_SLOW = INPUT_VEH_BRAKE
|
||
|
|
||
|
protect(_G.KEYBOARD_CONTROL_MAPPING)
|
||
|
protect(_G.GAMEPAD_CONTROL_MAPPING)
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
_G.KEYBOARD_CONTROL_SETTINGS = table.copy(BASE_CONTROL_SETTINGS)
|
||
|
_G.GAMEPAD_CONTROL_SETTINGS = table.copy(BASE_CONTROL_SETTINGS)
|
||
|
|
||
|
-- Gamepad sensitivity can be reduced by BASE.
|
||
|
_G.GAMEPAD_CONTROL_SETTINGS.LOOK_SENSITIVITY_X = 2
|
||
|
_G.GAMEPAD_CONTROL_SETTINGS.LOOK_SENSITIVITY_Y = 2
|
||
|
|
||
|
protect(_G.KEYBOARD_CONTROL_SETTINGS)
|
||
|
protect(_G.GAMEPAD_CONTROL_SETTINGS)
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
_G.CAMERA_SETTINGS = table.copy(BASE_CAMERA_SETTINGS)
|
||
|
protect(_G.CAMERA_SETTINGS)
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
-- Create some convenient variables.
|
||
|
-- Allows us to access controls and config without a gamepad switch.
|
||
|
_G.CONTROL_MAPPING = CreateGamepadMetatable(_G.KEYBOARD_CONTROL_MAPPING, _G.GAMEPAD_CONTROL_MAPPING)
|
||
|
_G.CONTROL_SETTINGS = CreateGamepadMetatable(_G.KEYBOARD_CONTROL_SETTINGS, _G.GAMEPAD_CONTROL_SETTINGS)
|