/////////////////////////
// base bindings

bind +ESCAPE togglePause
bind +PAUSE togglePause
bind +a alt=1 setMenuMode achievements
bind +c alt=1 setMenuMode controls
bind +d alt=1 cycleLOD
bind +e alt=1 setMenuMode credits
bind +f alt=1 toggle fullscreen
bind +h alt=1 toggle drawHUD
bind +o alt=1 toggle drawOrbit
bind +q alt=1 gotoMainMenu 0
bind +r alt=1 restartLevel
bind +s alt=1 setMenuMode sounds
bind +v alt=1 toggle vsync
bind +x alt=1 setMenuMode exit
bind +z alt=1 randomizeLevel
bind +F1 alt=1 cycleStatMode
bind +F10 screenshot
bind +F10 ctrl=1 screenshot 1

/////////////////////////
// in-game bindings

bind +w set=game zoomRamp 1
bind -w set=game zoomRamp 0
bind +s set=game zoomRamp -1
bind -s set=game zoomRamp 0
bind +a set=game timeRamp -1
bind -a set=game timeRamp 0
bind +d set=game timeRamp 1
bind -d set=game timeRamp 0
bind +p set=game togglePause
bind +SPACE set=game advanceScriptText
bind +MOUSE1 set=game fireMass 1
bind -MOUSE1 set=game fireMass 0
bind +MOUSE2 set=game timeWarp 0
bind +MOUSE3 set=game timeWarp 1
bind +MOUSE1 set=game ctrl=1 fireMass 1
bind -MOUSE1 set=game ctrl=1 fireMass 0
bind +MOUSE2 set=game ctrl=1 timeWarp 0
bind +MOUSE3 set=game ctrl=1 timeWarp 0
bind +MWHEELUP set=game zoom 1
bind +MWHEELDOWN set=game zoom -1
bind +MWHEELUP set=game ctrl=1 timeDilation 1
bind +MWHEELDOWN set=game ctrl=1 timeDilation -1
bind +DOWNARROW set=game zoomRamp -1
bind -DOWNARROW set=game zoomRamp 0
bind +UPARROW set=game zoomRamp 1
bind -UPARROW set=game zoomRamp 0
bind +LEFTARROW set=game timeRamp -1
bind -LEFTARROW set=game timeRamp 0
bind +RIGHTARROW set=game timeRamp 1
bind -RIGHTARROW set=game timeRamp 0

/////////////////////////
// pause-menu bindings

bind +s set=main setMenuMode sounds
bind +v set=main setMenuMode visuals
bind +c set=main setMenuMode controls
bind +a set=main setMenuMode achievements
bind +e set=main setMenuMode credits
bind +x set=main exitApp

bind +s set=pause setMenuMode sounds
bind +v set=pause setMenuMode visuals
bind +c set=pause setMenuMode controls
bind +r set=pause restartLevel
bind +z set=pause randomizeLevel
bind +q set=pause gotoMainMenu 0
bind +x set=pause setMenuMode exit

bind +p set=sounds gotoPauseMenu

bind +f set=visuals toggle fullscreen
bind +v set=visuals toggle vsync
bind +d set=visuals cycleLOD
bind +h set=visuals toggle drawHUD
bind +o set=visuals toggle drawOrbit
bind +p set=visuals gotoPauseMenu

bind +p set=controls gotoPauseMenu

bind +SPACE set=achievements togglePause
bind +SPACE set=credits togglePause
bind +SPACE set=purchase togglePause

bind +x set=exit exitApp
bind +ESCAPE set=exit gotoPauseMenu

/////////////////////////
// update-menu bindings

bind +y set=update updateOsmos
bind +ENTER set=update updateOsmos

bind +n set=update updateOsmos 0
bind +ESCAPE set=update updateOsmos 0
