// Default for mouse and keyboard players


alias +roll_left "+movedown; +moveleft"
alias -roll_left "-movedown; -moveleft"

alias +roll_right "+movedown; +moveright"
alias -roll_right "-movedown; -moveright"

alias +roll_forward "+movedown; +forward"
alias -roll_forward "-movedown; -forward"

alias +roll_back "+movedown; +back"
alias -roll_back "-movedown; -back"

alias +flip_left "+moveup;+moveleft"
alias -flip_left "-moveup;-moveleft"

alias +flip_right "+moveup;+moveright"
alias -flip_right "-moveup;-moveright"

alias +flip_forward "+moveup;+forward"
alias -flip_forward "-moveup;-forward"

alias +flip_back "+moveup;+back"
alias -flip_back "-moveup;-back"

alias run_t     "run_on"
alias run_on	"alias run_t run_off;+speed"
alias run_off	"alias run_t run_on;-speed"

alias +spinattack	"+speed;+forward;+attack"
alias -spinattack	"-speed;-forward;-attack"


bind Escape "togglemenu"
bind ~ "toggleconsole"
bind ` "toggleconsole"
bind s "messagemode"
bind Pause "pause"
bind Backspace "score"

bind + "sizeup"
bind = "sizeup"
bind - "sizedown"

bind    1               "use staff"
bind    2               "use fball"
bind    3               "use hell"
bind    4               "use array"
bind    5               "use rain"
bind    6               "use fwall"
bind    7               "use phoen"
bind    8               "use sphere"
bind    9               "use mace"

bind	q		"use powerup"
bind    w               "use ring"
bind    e               "use meteor"
bind    r               "use morph"
bind    t               "use tele"
bind 	y		"use lshield"

bind j "weapprev"
bind k "weapnext"

bind / "+moveup"
bind a "+moveup"
bind m "+movedown"
bind z "+movedown"
bind , "+moveleft"
bind . "+moveright"

bind [ "defprev"
bind ] "defnext"
bind Enter "+defend"

bind Space "+action"
bind l "+mlook"
bind ' "+creep"

bind Del "+lookup"
bind PgDn "+lookdown"
bind Tab "+lookaround"
bind End "centerview"
bind Kp_Ins "+klook"

bind UpArrow "+forward"
bind DownArrow "+back"
bind LeftArrow "+left"
bind RightArrow "+right"
bind Alt "+strafe"
bind Ctrl "+attack"
bind Shift "+speed"

bind Mouse1 "+attack"
bind Mouse2 "+forward"
bind Mouse3 "+back"

//gamepad bindings
bind joy1 "+movedown"
bind joy2 "+speed"
bind joy3 "+moveup"
bind joy4 "+attack"
bind aux5 "+movedown"
bind aux6 "+command"

bind_command joy4 "+defend"
bind_command aux5 "+action"
bind_double aux5 "weapnext"
bind_double joy2 "weapprev"
bind_double aux6 "+strafe"


bind BACKSPACE "score"
bind f "score"
bind p "menu_world_map"
bind u "menu_city_map"
bind o "menu_objectives"

bind_double DownArrow "+quickturn"
bind semicolon "+quickturn"
bind i "+inventory"

bind F1 "menu_help"
bind F6 "menu_loadgame"
bind F5 "menu_savegame"
bind F9  "set cl_camera_dampfactor 1 ; set cl_camera_viewmax 200  ; echo Camera Normal"
bind F10 "set cl_camera_dampfactor 0 ; set cl_camera_viewmax 1000 ; echo Camera Locked"
bind F12 "quit"

// Screenshot
bind F11 "screenshot"

// Useful for fix lags or missing effects, hold for short period of time
alias +wait "cl_maxfps  0"
alias -wait "cl_maxfps 60"
bind F4 "+wait"

// Switching between TPS and FPS
bind F2 "cl_camera_fpmode 0 ; echo Third Person Camera"
bind F3 "cl_camera_fpmode 1 ; echo First Person Camera"
 
//Double taps
// These are not desirable for many players

//bind_double     ,               "+flip_left"
//bind_double     LEFTARROW       "+flip_left"
//bind_double     .               "+flip_right"
//bind_double     RIGHTARROW      "+flip_right"
//bind_double     UPARROW         "+flip_forward"
//bind_double     MOUSE2          "+flip_forward"
//bind_double     DOWNARROW       "+flip_back"
//bind_double     MOUSE3          "+flip_back"
//bind_double     n               "+roll_left"
//bind_double     m               "+roll_right"
//bind_double     CTRL            "+spinattack"
//bind_double     MOUSE1          "+spinattack"


// Setup the cpu info
// cpuid

// Default start when booting up the game
alias demo_loop "map bumper.smk@menu_main"

// Describes how to run the tutorial
alias tutorial "map tutorial"

// How to start a new game
alias newgame "map intro.smk+ssdocks"

// How to start a new coopgame
alias newcoopgame "map intro.smk+ssdocks"

// how to end a game
alias endgame "map outro.smk@menu_credits"

// How to start a dedicated server
alias dedicated_start "exec dedicated.cfg"

// Recommended settings
set autoweapon "0"
set blood_level "3"
set cl_autoskins "1"
set cl_camera_fpheight "25"
set cl_predict "1"
set cl_predict_lag "1"
set cl_predict_local "1"
set cl_run "1"
set crosshair "1"
set flash_screen "0"
set flushmap "1"
set freelook "1"
set gl_allow_software "1"
set gl_bitdepth "32"
set gl_driver0 "3DfxGL_Ht2"
set gl_driver1 "G200GL"
set gl_driver2 "Veritegl"
set gl_ext_multitexture "0"
set gl_finish "1"
set gl_modulate "2.5"
set gl_particle_att_b "0.01"
set gl_round_down "0"
set gl_shadows "1"
set gl_sortmulti "1"
set gl_texturemode "GL_LINEAR_MIPMAP_LINEAR"
set m_filter "1"
set no_middle_text "1"
set s_loadas8bit "0"
set sc_framerate "60"
set shownames "1"
set snd_dll "WinSnd"
set vid_contrast "1"
set vid_fullscreen "1"
set vid_gamma "1"
set vid_mode "3"
