Skip to content

Commit

Permalink
Fix Classic Doom 1 / 2 menus on HTC Vive and Windows Mixed Reality.
Browse files Browse the repository at this point in the history
It is now (theoretically) possible to play Doom 1 and Doom 2 on the HTC Vive or Windows Mixed Reality. Previously, you could control yourself in-game but you had to navigate the menus and map with the keyboard or X-Box One controller (or voice for some things). Oculus Touch worked already, but I had forgotten to add HTC Vive.

Doom 1 and 2 are still broken in other ways because they run much too fast, and on a sickness-inducing huge virtual screen.

Left touchpad navigates menus
Right trigger selects
Right grip cancels
Right Menu button toggles menu
Left Menu button toggles map

JUMP (or USE) opens doors or restarts level (default is left trigger)
Other controls match your Doom 3 settings
You can still change weapons with voice commands
  • Loading branch information
CarlKenner committed Aug 4, 2018
1 parent ce8d8eb commit c2d91c1
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions doomclassic/doom/doomlib.cpp
Expand Up @@ -263,6 +263,7 @@ void DoomLib::InitControlRemap() {

memset( classicRemap, K_NONE, sizeof( classicRemap ) );

// Carl: XBox One controller hardcoded controls for Doom Classic
classicRemap[K_JOY3] = KEY_TAB ;
classicRemap[K_JOY4] = K_MINUS;
classicRemap[K_JOY2] = K_EQUALS;
Expand All @@ -277,6 +278,7 @@ void DoomLib::InitControlRemap() {
classicRemap[K_JOY_DPAD_RIGHT] = K_RIGHTARROW ;
classicRemap[K_JOY1] = K_ENTER;

// Carl: Oculus Touch hardcoded controls for Doom Classic
classicRemap[K_JOY17] = K_TAB;
classicRemap[K_JOY18] = K_TAB;
classicRemap[K_JOY19] = K_ESCAPE;
Expand All @@ -287,6 +289,23 @@ void DoomLib::InitControlRemap() {
classicRemap[K_TOUCH_LEFT_STICK_LEFT] = K_LEFTARROW;
classicRemap[K_TOUCH_LEFT_STICK_RIGHT] = K_RIGHTARROW;

// Carl: HTC Vive hardcoded controls for Doom Classic
classicRemap[K_JOY32] = K_TAB; // Left Menu = toggle map
classicRemap[K_JOY50] = K_ESCAPE; // Right Menu = toggle menu
classicRemap[K_JOY58] = K_ENTER; // Right trigger = Enter
classicRemap[K_JOY51] = K_BACKSPACE; // Right grip = cancel
classicRemap[K_STEAMVR_LEFT_PAD_UP] = K_UPARROW; // left touchpad navigates menus
classicRemap[K_STEAMVR_LEFT_PAD_DOWN] = K_DOWNARROW;
classicRemap[K_STEAMVR_LEFT_PAD_LEFT] = K_LEFTARROW;
classicRemap[K_STEAMVR_LEFT_PAD_RIGHT] = K_RIGHTARROW;

// Carl: Windows Mixed Reality hardcoded controls for Doom Classic
classicRemap[K_STEAMVR_LEFT_JS_UP] = K_UPARROW; // left touchpad navigates menus
classicRemap[K_STEAMVR_LEFT_JS_DOWN] = K_DOWNARROW;
classicRemap[K_STEAMVR_LEFT_JS_LEFT] = K_LEFTARROW;
classicRemap[K_STEAMVR_LEFT_JS_RIGHT] = K_RIGHTARROW;

// Carl: Voice hardcoded controls for Doom Classic (weapons are handled elsewhere)
classicRemap[K_SAY_CANCEL] = K_BACKSPACE;
classicRemap[K_SAY_RESUME] = K_BACKSPACE;
classicRemap[K_SAY_PAUSE] = K_ESCAPE;
Expand Down

0 comments on commit c2d91c1

Please sign in to comment.