Posted February 28, 2024
Hey all,
I just wanted to share a set of controller bindings I have been using with Wrath for the last few years and have updated for the final release.
Below is the code, with comments. Just copy and paste this code-section into your autoexec.cfg, or your wrath.rc, or place it in another file and call that file from your autoexec.cfg by adding an entry to it that looks like exec relative/path/to/controller.cfg.
I have included some useful aliases, such as a crouch toggle function, a quick-swap to the Ruination Blade, a slowed-down aiming function, and d-pad based weapon cyclings that work like Half-Life 2/Quake Re-Release.
The aiming function uses the fov command to perform a hacky, synthetic zoom. If you want to change how it works, you can either remove these entirely, or modify them in proportion to your desired fov. Similarly, if you change your looking sensitivity settings, you will want to likewise modify this alias to match your new pitch and yaw settings.
If you do not wish to use any of the weapon cycling aliases, but still wish to use the blade_swap one, I have left the simple version in as commented.
I have also aliased the relic menu to be a toggle, as it can be fatiguing to both hold down the right joystick and select an item. Instead, you can toggle the menu, highlight an item and either press the right joystick again, or the right trigger.
Anyway, for the more adventurous Quake/Half-Life players out there, try giving this config a shot and see how it works for you.
----------[code below]----------
// Axis Mappings
//
// lstick = x0 y1
// rstick = x2 y3
//
joy_x360_axisside 0
joy_x360_axisforward 1
joy_x360_axisyaw 2
joy_x360_axispitch 3
// Enable or disable controller support.
//
// Introduced in Darkplaces 20060801beta1.
//
// Default = 1
joy_enable 1
// Sensitivity for left/right looking
//
// Range = -0.00 to -2.00
//
// Positive values invert.
//
// Introduced in Darkplaces 20121222.
//
// Default = -1
joy_x360_sensitivityyaw "-1.45"
// Sensitivity for up/down looking
//
// Range = -0.00 to -2.00
//
// Positive values invert.
//
// Introduced in Darkplaces 20121222.
//
// Default = -1
joy_x360_sensitivitypitch "-1.11"
// Deadzone for looking
//
// Range = 0.000 to 1.000
//
// Introduced in Darkplaces 20121222.
//
// Default = 0.266
joy_x360_deadzonepitch 0.12
joy_x360_deadzoneyaw 0.12
// Deadzone for movement
//
// Range = 0.000 to 1.000
//
// Introduced in Darkplaces 20121222.
//
// Default = 0.266
joy_x360_deadzoneforward 0.08
joy_x360_deadzoneside 0.08
// Set the fraction of acceleration to apply to view inputs.
//
// Range = 0.0 to 1.0
//
// Introduced in Wrath 1.0.0.0.
//
// Default = 0.7
joy_x360_acceleration 0.5
// Sensitivity for forward/back movement
//
// Range = 0.00 to 2.00
//
// Introduced in Darkplaces 20121222.
//
// Default = 1
joy_x360_sensitivityforward 1
// Sensitivity for left/right movement
//
// Range = 0.00 to 2.00
//
// Introduced in Darkplaces 20121222.
//
// Default = 1
joy_x360_sensitivityside 1
// Enable gamepad force-feedback.
//
// Introduced in Wrath 1.0.0.0.
//
// Default = 1
joy_x360_rumble 1
// The leniency value for player's aim adjustment where 1.0 is completely off and 0.0 is
// completely on.
//
// Range = 1.00 to 0.00
//
// Introduced in DOS Quake 0.1.
//
// Default = 0.93
sv_aim 0.43
// The horizontal size in degrees of the field-of-vision that the player has.
//
// Range: 10 to 170
//
// Introduced in DOS Quake 0.1.
//
// Default = 90
fov 90
// Sets a more pleasant movement speed for controllers. Especially handy with
// speed function.
//
// Introduced in DOS Quake 0.1.
//
// Quake Default: 400
// Wrath Default: 416
cl_forwardspeed 416
cl_backspeed 392
cl_sidespeed 392
//
// Aliases
//
// null input (suppresses unbound warnings)
alias "no_input" "impulse 32"
// Crouch Toggle Button
alias toggle_crouch "_crouch_on"
alias _crouch_on "alias toggle_crouch _crouch_off; +button4"
alias _crouch_off "alias toggle_crouch _crouch_on; -button4"
// Inventory Toggle Button
alias toggle_inventory "_inventory_on"
alias _inventory_on "alias toggle_inventory _inventory_off; bind X360_START no_input; bind X360_RIGHT_TRIGGER _inventory_off; +button6"
alias _inventory_off "alias toggle_inventory _inventory_on; bind X360_START togglemenu; bind X360_RIGHT_TRIGGER +attack; -button6"
// Aim mode function for controller
alias "+aim" "fov 88; wait; fov 85; wait; fov 83; wait; fov 80; wait; fov 78; wait; fov 75; cl_sidespeed 280; joy_x360_sensitivityyaw -0.70; joy_x360_sensitivitypitch -0.30"
alias "-aim" "fov 77; wait; fov 80; wait; fov 82; wait; fov 85; wait; fov 87; wait; fov 90; cl_sidespeed 392; joy_x360_sensitivityyaw -1.45; joy_x360_sensitivitypitch -1.11"
// Weapon Cycling
// Swap to the blade melee weapon
// (you know, like phys_swap)
alias blade_swap "_use_blade"
//alias _use_blade "alias blade_swap _use_lastinv; impulse 1"
//alias _use_lastinv "alias blade_swap _use_blade; impulse 57"
//
// Above is the simple alias. Below also resets the state of all weapon cycles.
alias _use_blade "alias blade_swap _use_lastinv; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 1"
alias _use_lastinv "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 57"
// Cycle Coach Gun and Shotgun
alias cycle_regulars "_cycle_regulars01"
alias _cycle_regulars01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars02; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 2"
alias _cycle_regulars02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 3"
// Cycle Fang Spitter and Retcher
alias cycle_autos "_cycle_autos01"
alias _cycle_autos01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos02; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 4"
alias _cycle_autos02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 5"
// Cycle Slag Cannon and Crystalizer
alias cycle_heavies "_cycle_heavies01"
alias _cycle_heavies01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies02; alias cycle_specials _cycle_specials01; impulse 6"
alias _cycle_heavies02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 7"
// Cycle Lance and Mace
alias cycle_specials "_cycle_specials01"
alias _cycle_specials01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials02; impulse 8"
alias _cycle_specials02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 9"
//
// Controller Button Binds
//
// Face Buttons (A, B, X, Y)
bind "X360_A" "+jump"
bind "X360_B" "impulse 35" // journal
bind "X360_X" "+button5" // use
bind "X360_Y" "impulse 15" // use artifact
// Trigger Buttons
bind "X360_LEFT_TRIGGER" "+button3" // alt-attack
bind "X360_RIGHT_TRIGGER" "+attack"
// Shoulder Buttons
bind "X360_LEFT_SHOULDER" "+aim" // walk
bind "X360_RIGHT_SHOULDER" "blade_swap"
// Thumbstick Buttons
bind "X360_LEFT_THUMB" "toggle_crouch" // +button4
bind "X360_RIGHT_THUMB" "toggle_inventory" // +button6
// DPad Buttons
bind "X360_DPAD_UP" "cycle_regulars"
bind "X360_DPAD_DOWN" "cycle_heavies"
bind "X360_DPAD_LEFT" "cycle_specials"
bind "X360_DPAD_RIGHT" "cycle_autos"
// Start and Back Buttons
bind "X360_BACK" "impulse 81" // soul tether
bind "X360_START" "togglemenu"
I just wanted to share a set of controller bindings I have been using with Wrath for the last few years and have updated for the final release.
Below is the code, with comments. Just copy and paste this code-section into your autoexec.cfg, or your wrath.rc, or place it in another file and call that file from your autoexec.cfg by adding an entry to it that looks like exec relative/path/to/controller.cfg.
I have included some useful aliases, such as a crouch toggle function, a quick-swap to the Ruination Blade, a slowed-down aiming function, and d-pad based weapon cyclings that work like Half-Life 2/Quake Re-Release.
The aiming function uses the fov command to perform a hacky, synthetic zoom. If you want to change how it works, you can either remove these entirely, or modify them in proportion to your desired fov. Similarly, if you change your looking sensitivity settings, you will want to likewise modify this alias to match your new pitch and yaw settings.
If you do not wish to use any of the weapon cycling aliases, but still wish to use the blade_swap one, I have left the simple version in as commented.
I have also aliased the relic menu to be a toggle, as it can be fatiguing to both hold down the right joystick and select an item. Instead, you can toggle the menu, highlight an item and either press the right joystick again, or the right trigger.
Anyway, for the more adventurous Quake/Half-Life players out there, try giving this config a shot and see how it works for you.
----------[code below]----------
// Axis Mappings
//
// lstick = x0 y1
// rstick = x2 y3
//
joy_x360_axisside 0
joy_x360_axisforward 1
joy_x360_axisyaw 2
joy_x360_axispitch 3
// Enable or disable controller support.
//
// Introduced in Darkplaces 20060801beta1.
//
// Default = 1
joy_enable 1
// Sensitivity for left/right looking
//
// Range = -0.00 to -2.00
//
// Positive values invert.
//
// Introduced in Darkplaces 20121222.
//
// Default = -1
joy_x360_sensitivityyaw "-1.45"
// Sensitivity for up/down looking
//
// Range = -0.00 to -2.00
//
// Positive values invert.
//
// Introduced in Darkplaces 20121222.
//
// Default = -1
joy_x360_sensitivitypitch "-1.11"
// Deadzone for looking
//
// Range = 0.000 to 1.000
//
// Introduced in Darkplaces 20121222.
//
// Default = 0.266
joy_x360_deadzonepitch 0.12
joy_x360_deadzoneyaw 0.12
// Deadzone for movement
//
// Range = 0.000 to 1.000
//
// Introduced in Darkplaces 20121222.
//
// Default = 0.266
joy_x360_deadzoneforward 0.08
joy_x360_deadzoneside 0.08
// Set the fraction of acceleration to apply to view inputs.
//
// Range = 0.0 to 1.0
//
// Introduced in Wrath 1.0.0.0.
//
// Default = 0.7
joy_x360_acceleration 0.5
// Sensitivity for forward/back movement
//
// Range = 0.00 to 2.00
//
// Introduced in Darkplaces 20121222.
//
// Default = 1
joy_x360_sensitivityforward 1
// Sensitivity for left/right movement
//
// Range = 0.00 to 2.00
//
// Introduced in Darkplaces 20121222.
//
// Default = 1
joy_x360_sensitivityside 1
// Enable gamepad force-feedback.
//
// Introduced in Wrath 1.0.0.0.
//
// Default = 1
joy_x360_rumble 1
// The leniency value for player's aim adjustment where 1.0 is completely off and 0.0 is
// completely on.
//
// Range = 1.00 to 0.00
//
// Introduced in DOS Quake 0.1.
//
// Default = 0.93
sv_aim 0.43
// The horizontal size in degrees of the field-of-vision that the player has.
//
// Range: 10 to 170
//
// Introduced in DOS Quake 0.1.
//
// Default = 90
fov 90
// Sets a more pleasant movement speed for controllers. Especially handy with
// speed function.
//
// Introduced in DOS Quake 0.1.
//
// Quake Default: 400
// Wrath Default: 416
cl_forwardspeed 416
cl_backspeed 392
cl_sidespeed 392
//
// Aliases
//
// null input (suppresses unbound warnings)
alias "no_input" "impulse 32"
// Crouch Toggle Button
alias toggle_crouch "_crouch_on"
alias _crouch_on "alias toggle_crouch _crouch_off; +button4"
alias _crouch_off "alias toggle_crouch _crouch_on; -button4"
// Inventory Toggle Button
alias toggle_inventory "_inventory_on"
alias _inventory_on "alias toggle_inventory _inventory_off; bind X360_START no_input; bind X360_RIGHT_TRIGGER _inventory_off; +button6"
alias _inventory_off "alias toggle_inventory _inventory_on; bind X360_START togglemenu; bind X360_RIGHT_TRIGGER +attack; -button6"
// Aim mode function for controller
alias "+aim" "fov 88; wait; fov 85; wait; fov 83; wait; fov 80; wait; fov 78; wait; fov 75; cl_sidespeed 280; joy_x360_sensitivityyaw -0.70; joy_x360_sensitivitypitch -0.30"
alias "-aim" "fov 77; wait; fov 80; wait; fov 82; wait; fov 85; wait; fov 87; wait; fov 90; cl_sidespeed 392; joy_x360_sensitivityyaw -1.45; joy_x360_sensitivitypitch -1.11"
// Weapon Cycling
// Swap to the blade melee weapon
// (you know, like phys_swap)
alias blade_swap "_use_blade"
//alias _use_blade "alias blade_swap _use_lastinv; impulse 1"
//alias _use_lastinv "alias blade_swap _use_blade; impulse 57"
//
// Above is the simple alias. Below also resets the state of all weapon cycles.
alias _use_blade "alias blade_swap _use_lastinv; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 1"
alias _use_lastinv "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 57"
// Cycle Coach Gun and Shotgun
alias cycle_regulars "_cycle_regulars01"
alias _cycle_regulars01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars02; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 2"
alias _cycle_regulars02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 3"
// Cycle Fang Spitter and Retcher
alias cycle_autos "_cycle_autos01"
alias _cycle_autos01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos02; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 4"
alias _cycle_autos02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 5"
// Cycle Slag Cannon and Crystalizer
alias cycle_heavies "_cycle_heavies01"
alias _cycle_heavies01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies02; alias cycle_specials _cycle_specials01; impulse 6"
alias _cycle_heavies02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 7"
// Cycle Lance and Mace
alias cycle_specials "_cycle_specials01"
alias _cycle_specials01 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials02; impulse 8"
alias _cycle_specials02 "alias blade_swap _use_blade; alias cycle_regulars _cycle_regulars01; alias cycle_autos _cycle_autos01; alias cycle_heavies _cycle_heavies01; alias cycle_specials _cycle_specials01; impulse 9"
//
// Controller Button Binds
//
// Face Buttons (A, B, X, Y)
bind "X360_A" "+jump"
bind "X360_B" "impulse 35" // journal
bind "X360_X" "+button5" // use
bind "X360_Y" "impulse 15" // use artifact
// Trigger Buttons
bind "X360_LEFT_TRIGGER" "+button3" // alt-attack
bind "X360_RIGHT_TRIGGER" "+attack"
// Shoulder Buttons
bind "X360_LEFT_SHOULDER" "+aim" // walk
bind "X360_RIGHT_SHOULDER" "blade_swap"
// Thumbstick Buttons
bind "X360_LEFT_THUMB" "toggle_crouch" // +button4
bind "X360_RIGHT_THUMB" "toggle_inventory" // +button6
// DPad Buttons
bind "X360_DPAD_UP" "cycle_regulars"
bind "X360_DPAD_DOWN" "cycle_heavies"
bind "X360_DPAD_LEFT" "cycle_specials"
bind "X360_DPAD_RIGHT" "cycle_autos"
// Start and Back Buttons
bind "X360_BACK" "impulse 81" // soul tether
bind "X360_START" "togglemenu"
Post edited February 29, 2024 by ShamedSalmon