unbindall

// chase camera

alias chase_on "chase_active 1; alias chase chase_off"
alias chase_off "chase_active 0; alias chase chase_on"
alias chase chase_on
bind c chase

// mouse and keyboard control

bind MOUSE1 +attack
bind MOUSE2 +jump
// bind MOUSE3 zoom_in
bind MWHEELUP "impulse 10"
bind MWHEELDOWN "impulse 12"

bind w +forward
bind s +back
bind a +moveleft
bind d +moveright
bind e +moveup
bind c +movedown
// bind w +lookup
// bind x +lookdown

// keyboard only control

bind UPARROW +forward
bind DOWNARROW +back
bind LEFTARROW +left
bind RIGHTARROW +right

bind PGUP +lookup
bind PGDN +lookdown

bind ALT +strafe
bind , +moveleft
bind . +moveright

bind CTRL +attack
bind SPACE +jump 
bind ENTER +jump

// joystick controls

alias +j2 +forward
alias -j2 -forward
alias joy_move "chase_active 2;crosshair 0;chase_back 32;wait;chase_back 64;wait;chase_back 96;wait;chase_back 128;-mlook;+strafe;alias joymode joy_look;alias +j2 +jump;alias -j2 -jump;-forward"
alias joy_look "chase_back 96;wait;chase_back 64;wait;chase_back 32;wait;chase_back 128;chase_active 0;crosshair 2;+mlook;-strafe;alias joymode joy_move;alias +j2 +forward;alias -j2 -forward;-jump"
alias joymode joy_move
bind j joymode
bind JOY4 joymode
bind JOY3 "impulse 10"
bind JOY2 +j2
bind JOY1 +attack

// hold shift to walk

alias +slow -speed
alias -slow +speed
bind SHIFT +slow

// weapon selection

bind 1 "impulse 1"
bind 2 "impulse 2"
bind 3 "impulse 3"
bind 4 "impulse 4"
bind 5 "impulse 5"
bind 6 "impulse 6"
bind 7 "impulse 7"
bind 8 "impulse 8"
bind 0 "impulse 0"
bind / "impulse 10"

// function keys

bind F1 help
bind F2 menu_save
bind F3 menu_load
bind F4 menu_options
bind F5 menu_multiplayer
bind F6 "echo Quicksaving...; wait; save quick"
bind F9 "echo Quickloading...; wait; load quick"
bind F10 quit
bind F11 zoom_in
bind F12 screenshot

// zoom for sniping

alias zoom_on "chase_up 0;chase_back 0;sensitivity 2;fov 90;wait;fov 70;wait;fov 50;wait;fov 30;wait;fov 10;wait;fov 5;alias zoom_in zoom_off"
alias zoom_off "chase_up 22;chase_back 128;sensitivity 3;fov 5;wait;fov 10;wait;fov 30;wait;fov 50;wait;fov 70;wait;fov 90;alias zoom_in zoom_on"
alias zoom_in zoom_on
alias +zoom zoom_on
alias -zoom zoom_off

// not needed with +mlook on by default?

bind \ +mlook
// bind INS +klook
// bind DEL centerview

// miscellaneous controls

bind TAB +showscores
bind PAUSE pause
bind ESCAPE togglemenu
bind ~ toggleconsole
bind ` toggleconsole
bind ^ toggleconsole
bind t messagemode
bind + sizeup
bind = sizeup
bind - sizedown

// default console variable settings

viewsize 100
gamma 1.0
volume 0.7
sensitivity 3
chase_back 128
chase_up 22
crosshair 2
color 1 6
joystick 1
gl_subdivide_size 1024
+speed
+mlook

// bot control
bind END "impulse 101"
bind INS "impulse 102"
