Quake
44 ratings
[2021 REMASTER] Setting up an autoexec.cfg for maximum control
By [GFR] YOUR THERAPIST
I'll go through how to set up an autoexec to clean up the game and streamline controls.
   
Award
Favorite
Favorited
Unfavorite
VIDEO SHOWCASE
MY PERSONAL AUTOEXEC
My personal autoexec can be found here.

https://pastebin.com/eECv7yaW
REFERENCE MATERIAL
CREATING A CFG FILE
To get started, you want to set up a config file to be read on startup.
It's the same as using the in-game console.
  • Navigate to your Enhanced Edition directory steamapps\common\Quake\rerelease
  • Create a blank text, name it autoexec.cfg
  • In your Steam Library, right click Quake > Properties > General
  • Under Launch Options, add "+exec autoexec.cfg" without quotes.
IMPORTANT STARTUP COMMANDS
//Set which graphics driver API to use seta r_rhirenderfamily "vulkan"; //Selects Vulcan rendering //seta r_rhirenderfamily "d3d11"; //Selects D3D rendering //Remove visual junk g_showintromovie 0; //Play intro movies on startup r_gpuCulling 0; //Enables compute shader to backface cull triangles in world (better performance in Dimension of the Machine) scr_polyblend 0; //Enables screen flashes (powerups, damage, pickups, etc) r_crtmode 0; //Enables CRT emulation (Quake 64 only) r_wateralpha 0.2; //Sets alpha for all water surfaces r_telealpha 0.2; //Sets alpha for all teleport surfaces r_slimealpha 0.2; //Sets alpha for all slime surfaces r_lavaalpha 0.2; //Sets alpha for all lava surfaces cl_backspeed 400; //Fix backpedal speed //Interpolation cl_interpolation 1; //Enables interpolation (for high FPS and 144hz) cl_movelerping 1; //Interpolates move stepping for certain entities cl_animlerping 1; //Interpolates alias model animations //Base URL for the addons directory //ui_addonsBaseURL https://d13lkw7j6mfai6.cloudfront.net/; //Default ui_addonsBaseURL https://q1-rerelease-addons.herokuapp.com/; //Clan Arena addon
KEY NAMES
The key names are unintuitive and differs from other source ports/engines.
If you need to find out the name of a key, check kexengine.cfg.
kexengine.cfg will update whenever your settings are saved and will display the names of keys bound.

The mouse buttons are named:
mouse_left mouse_right mouse_middle mouse_wheel_up mouse_wheel_down mouse_misc1 mouse_misc2

The "[" and "]" keys are named:
right_brack left_brack



BINDING KEYS TO TOGGLE / HOLD
STANDARD BINDING:
if you wanted to bind middle mouse click to switch to your axe, you would add the following to your autoexec.cfg:
unbindkey [KEY]; bind [KEY] "Command";

TOGGLE BINDING:
Bind the key to a root alias, and within each child alias, rebind the root to the next child in the sequence.
unbindkey [KEY]; bind [KEY] "toggleAlias"; alias toggleAlias "toggleAlias1"; alias toggleAlias1 "Command 1;alias toggleAlias toggleAlias0"; alias toggleAlias0 "Command 2;alias toggleAlias toggleAlias1";

HOLD BINDING:
Historically, this was as simple as binding the key to a "+" alias and setting up "+" and "-" aliases for press and release respectively.
In KEX, the behaviour is different and a bit unintuitive. We need to bind the key within the binding, and unbind the release.
unbindkey [KEY]; bind [KEY] "bind [KEY] "+holdAlias";unbind KEY "-holdAlias""; alias +holdAlias "Command run when key [KEY] is held"; alias -holdAlias "Command run when key [KEY] is released";
WEAPON COMMANDS
The weapon commands in KEX also differs from how it was done historically.
Instead of using impulse commands, we have a specialized command, "switchweapon."

DEFAULT QUAKE
switchweapon 7 //Axe switchweapon 0 //Shotgun switchweapon 1 //Super Shotgun switchweapon 2 //Nailgun switchweapon 3 //Super Nailgun switchweapon 4 //Grenade Launcher switchweapon 5 //Rocket Launcher switchweapon 6 //Thunderbolt

SCOURGE OF ARMAGON
switchweapon 0; //Shotgun switchweapon 1; //Super Shotgun switchweapon 2; //Nailgun switchweapon 3; //Super Nailgun switchweapon 4; //Grenade Launcher switchweapon 5; //Rocket Launcher switchweapon 6; //Thunderbolt switchweapon 7; //Laser Rifle switchweapon 8; //Mjolnir switchweapon 9; //Proximity Launcher switchweapon 10; //Axe

DISSOLUTION OF ETERNITY
switchweapon 0; //Shotgun switchweapon 1; //Super Shotgun switchweapon 2; //Nailgun switchweapon 3; //Lava Nailgun switchweapon 4; //Super Nailgun switchweapon 5; //Lava Super Nailgun switchweapon 6; //Grenade Launcher switchweapon 7; //Multi Grenade Launcher switchweapon 8; //Rocket Launcher switchweapon 9; //Multi Rocket Launcher switchweapon 10; //Thunderbolt switchweapon 11; //Plasma Gun switchweapon 12; //Axe

PROPER WEAPON GROUPING:
You can set up multiple weapons to one binding, and running the command will cycle through the weapons listed.

SWITCHWEAPON WARNING:
- SwitchWeapon will get stuck if a weapon on the list is out of ammo.
- Best practice is to use with shared ammo types.
- Running an invalid weapon will result in an error prompt (Not a crash, click "Continue" to return to the game).

For best results, group based on ammo type. These are the bindings for each release:

Default
switchweapon 7; //Melee switchweapon 1 0; //Shells switchweapon 3 2; //Nails switchweapon 5 4; //Grenades switchweapon 6; //Cells

Scourge of Armagon
switchweapon 8 10; //Melee switchweapon 1 0; //Shells switchweapon 3 2; //Nails switchweapon 5 4 9; //Grenades switchweapon 7 6; //Cells

Dissolution of Eternity
switchweapon 12; //Melee switchweapon 1 0; //Shells switchweapon 5 3 4 2; //Nails switchweapon 9 7 8 6; //Grenades switchweapon 10 11; //Cells
EXAMPLE AUTOEXEC
So, if you wanted to bind all of your weapon switching to your mouse, and set the [ and ] keys to cycle the releases,
with the added bonus of binding your right mouse button to a 1.5x zoom, you would do the following:

/////////// //WEAPONS// /////////// //Launch with default states zoom0; //Zoom weaponsDEF; //Weapon set //Reset Weapon States (in case we want to change up the HUD or anything) alias resetWeaponStates "zoom0"; //Bindings: Weapon Switch unbindkey mouse_wheel_up; bind mouse_wheel_up "NG"; unbindkey mouse_wheel_down; bind mouse_wheel_down "SG"; unbindkey mouse_middle; bind mouse_middle "RL"; unbindkey mouse_misc1; bind mouse_misc1 "LG"; unbindkey mouse_misc2; bind mouse_misc2 "AX"; //Weapon set: Select Previous unbindkey left_brack; bind left_brack "weaponSetPrev"; alias weaponSetPrev "weaponSetPrev1"; alias weaponSetPrev1 "alias weaponSetPrev weaponSetPrev3;alias weaponSetNext weaponSetNext2;weaponsDEF"; alias weaponSetPrev2 "alias weaponSetPrev weaponSetPrev1;alias weaponSetNext weaponSetNext3;weaponsSOA"; alias weaponSetPrev3 "alias weaponSetPrev weaponSetPrev2;alias weaponSetNext weaponSetNext1;weaponsDOE"; //Weapon set: Select Next unbindkey right_brack; bind right_brack "weaponSetNext"; alias weaponSetNext "weaponSetNext1"; alias weaponSetNext1 "alias weaponSetPrev weaponSetPrev3;alias weaponSetNext weaponSetNext2;weaponsDEF"; alias weaponSetNext2 "alias weaponSetPrev weaponSetPrev1;alias weaponSetNext weaponSetNext3;weaponsSOA"; alias weaponSetNext3 "alias weaponSetPrev weaponSetPrev2;alias weaponSetNext weaponSetNext1;weaponsDOE"; //Weapon set: Default alias weaponsDEF "alias SG "defSG";alias NG "defNG";alias RL "defRL";alias LG "defLG";alias AX "defAX";Weapon_Set_DEFAULT"; alias defAX "resetWeaponStates;switchweapon 7"; //AXE alias defSG "resetWeaponStates;switchweapon 1 0"; //SSG / SG alias defNG "resetWeaponStates;switchweapon 3 2"; //SNG/ NG alias defRL "resetWeaponStates;switchweapon 5 4"; //RL / GL alias defLG "resetWeaponStates;switchweapon 6"; //LG //Weapon set: Scourge of Armagon alias weaponsSOA "alias SG "soaSG";alias NG "soaNG";alias RL "soaRL";alias LG "soaLG";alias AX "soaAX";Weapon_Set_SCOURGE_OF_ARMAGON"; alias soaAX "resetWeaponStates;switchweapon 8 10"; //AXE / HAM alias soaSG "resetWeaponStates;switchweapon 1 0"; //SSG / SG alias soaNG "resetWeaponStates;switchweapon 3 2"; //SNG / NG alias soaRL "resetWeaponStates;switchweapon 5 4 9"; //RL / GL / PL alias soaLG "resetWeaponStates;switchweapon 6 7"; //LG / LR //Weapon set: Dissolution of Eternity alias weaponsDOE "alias SG "doeSG";alias NG "doeNG";alias RL "doeRL";alias LG "doeLG";alias AX "doeAX";Weapon_Set_DISSOLUTION_OF_ETERNITY"; alias doeAX "resetWeaponStates;switchweapon 12"; //AXE alias doeSG "resetWeaponStates;switchweapon 1 0"; //SSG / SG alias doeNG "resetWeaponStates;switchweapon 5 3 4 2"; //LSNG / LNG / SNG/ NG alias doeRL "resetWeaponStates;switchweapon 9 7 8 6"; //MRL / MGL/ RL/ GL alias doeLG "resetWeaponStates;switchweapon 10 11"; //LG / PG //////// //ZOOM// //////// //Zoom states (assumes default FOV is 105 and default sens is 1.5) alias zoom0 "r_drawviewmodel 1;r_fov 105;cl_sensitivity 1.5"; alias zoom1 "r_drawviewmodel 0;r_fov 70;cl_sensitivity 1"; //Zoom bindings unbindkey mouse_right; //bind mouse_right "toggleZoom"; bind mouse_right "bind mouse_right "+holdZoom";unbind mouse_right "-holdZoom""; //Toggle zoom alias toggleZoom "toggleZoom1"; alias toggleZoom1 "zoom1;alias toggleZoom toggleZoom2"; alias toggleZoom2 "zoom0;alias toggleZoom toggleZoom1"; //Hold zoom alias +holdZoom "zoom1"; alias -holdZoom "zoom0";
9 Comments
4sf4st4saiN Dec 30, 2023 @ 9:52am 
able achieve alter asso approx available allied assault alliance / add asap
tompa Dec 18, 2023 @ 9:56am 
Finally found why. There is to many " in the alias. I deleted all but in the start and end of an alias.

Example:
alias weaponsDEF "alias SG "defSG";alias NG "defNG";alias RL "defRL";alias LG "defLG";alias AX "defAX";Weapon_Set_DEFAULT";

remove all " but the first and last one.
tompa Dec 18, 2023 @ 9:37am 
I cant get any alias to work. Commands and binds are there but the alias refuse to work. I have tripple checked everything. Frustating.
RunForRest Aug 14, 2023 @ 12:11am 
Can also confirm the intro movie skip doesnt work, rest of my cfg seems to be applied, although the console spews errormessages
RunForRest Aug 14, 2023 @ 12:06am 
Is there a way to have a proper crosshair through cfg or mods?
Crosshair overlay programs dont work since the shots hit offcenter and the default crosshair is also offcenter :steamfacepalm::steamfacepalm::steamfacepalm:
*the only thing i found so far that helps is scr_screenscale 2
levelworm Aug 11, 2023 @ 6:02pm 
Thanks. Not sure why but it is still showing the intro movies. I double checked the name and folder of the file. The contents were copied from this post. Any idea if Nigthdrive changed something?
SPy109 Jul 14, 2023 @ 2:21pm 
Great work. Would love to see some tweaking for CTF. Hook improvement...
OMG My Profile Name Does Not Fi May 18, 2023 @ 2:28pm 
Thanks for putting all this info in one place!
DUMFAYCE !! Apr 10, 2022 @ 2:00pm 
cool