____ _____ ____ ______ ______ _ __ ____
/ \ __ _ | / / ) / // /| | / // \ / / / // \ / \ / `_ \ / < / |/ /_ / / | | / // // / / // // // // // // / / / / /__/ // // // / / // / | |/ // , / /____/ _/ ____/// // ///__///// __/ |_/// ||
Fully Possessed
DOOM3-BFG VR : Fully Possessed Includes support for the HTC Vive via SteamVR, the Oculus Rift and Touch motion controls via the Oculus SDK or SteamVR, and (in theory) Windows Mixed Reality via SteamVR.
VR Implementation: /u/Samson- Major Contributions - Teleportation, Voice Commands, Flicksync, Bink videos, Loading other savegames, code improvements: Carl Kenner Holster slots, Crawl Space Head Collision, minor fixes: Leyland Doom VFR style teleporting, JetStrafe, Slow Mo and Tunnel vision motion sickness fixes: jckhng Spanish Voice Commands: TinoSM Windows Mixed Reality and VS2017 support: Mark Sheehan Additional VS2017 support: Bao Chi Tran Nguyen Linux support and buffer overrun fixes: Christoph Haag Originally inspired by: tmek
DOOM-3-BFG-VR Readme - https://github.com/KozGit/DOOM-3-BFG-VR
DOOM-3-BFG-VR was built using an older version of the RBDOOM3-BFG port. RBDOOM-3-BFG Readme - https://github.com/RobertBeckebans/RBDOOM-3-BFG
CONTENTS
This file contains the following sections:
1) SYSTEM REQUIREMENTS
2) GENERAL NOTES
3) INSTALLATION, GETTING THE GAMEDATA, RUNNING THE GAME
4) NEW FEATURES
5) CHANGES
6) CONTROLS
7) FLICKSYNC
8) VR OPTIONS
9) CONSOLE VARIABLES
10) KNOWN ISSUES
11) GETTING THE SOURCE CODE
12) COMPILING ON WINDOWS WITH VISUAL C++ 2013, 2015, OR 2017 EXPRESS / COMMUNITY
13) COMPILING ON LINUX
14) BUG REPORTS
15) LICENSE
16) CODE LICENSE EXCEPTIONS
1) SYSTEM REQUIREMENTS
Minimum system requirements:
CPU: 3 GHz + Intel compatible
System Memory: 8 GB
Graphics card: Nvidia Geforce GTX 960 or higher, with recent drivers
or AMD 290 or above
OS: Windows 7 64 bit or above? or Linux
VR: SteamVR compatible HMD or Oculus Rift DK2 or above
A microphone or HMD containing a microphone
Recommended system requirements:
CPU: 3 GHz + Intel compatible
System Memory: 8 GB
Graphics card: Nvidia Geforce GTX 970 or higher, with latest drivers
or AMD 290 or above
OS: Windows 10 64 bit
VR: HTC Vive or Oculus Rift CV1 with Touch and roomscale sensors
2) GENERAL NOTES
This release does not contain any game data, the game data is still covered by the original EULA and must be obeyed as usual.
Only the Doom 3 BFG Edition is supported. Classic Doom 3 is not supported yet.
You should patch the game to the latest version. If using Steam, this will happen automatically.
Note that Doom 3 BFG Edition is available from the Steam store at http://store.steampowered.com/app/208200/
The saved game folder is: %UserProfile%\Saved Games\id Software\DOOM 3 BFG\Fully Possessed
Your settings are also saved there as vr_oculus.cfg and vr_openvr.cfg You can delte the those setting files to return to default settings.
It will also try to load games (with partial success) from: %UserProfile%\Saved Games\id Software\DOOM 3 BFG\base %UserProfile%\Saved Games\id Software\RBDOOM 3 BFG\base
Games loaded from other versions, other mods, or different texture packs will have some glitches until you complete the level (which may not always be possible without cheats). You should use the "restartMap" console command after loading if you are near the start or you get stuck due to a glitch. It will restart the map with your current inventory but without any glitches. You can also use the "endLevel" console command to win the level and continue to the next level (without any glitches) if you get stuck near the end. But that is sort of cheating.
The Doom 3 BFG Edition GPL Source Code release does not include functionality for integrating with Steam. This includes roaming profiles, achievements, leaderboards, matchmaking, the overlay, or any other Steam features.
The Doom3BFGVR Edition GPL Source Code release includes functionality for rendering Bink Videos through FFmpeg.
The Doom 3 BFG Edition GPL Source Code release does not include functionality enabling rendering of stencil shadows via the "depth fail" method, a functionality commonly known as "Carmack's Reverse".
The Doom 3 BFG Edition GPL Source Code release allows mod editing. In order for it to accept any change in your mod directory, you should first specify your mod directory adding the following command to the launcher:
The fs_game mod directory is used exclusively by DOOM3-BFG VR : Fully Possessed and should not be used by other mods. Additional mods can my use the fs_game_base directory
"+set fs_game_base modDirectoryName"
so it would end up looking like: Doom3BFGVR +set fs_game_base mymod
This will result in the game searching the Fully Possessed directory, followed by the modDirectoryName directory, and finally the BASE directory when loading assets.
Binary mods from Classic Doom 3 (non-BFG) mods are not supported.
It is possible however to utilize some of the assets from Classic Doom mods,
however this is beyond the scope of this document.
3) INSTALLATION, GETTING THE GAMEDATA, RUNNING THE GAME
Make sure you have Doom 3 BFG Edition installed in Steam. Doom 3 BFG Edition is also available from Good Old Games, but I haven't tested that version.
Set the Doom 3 BFG language in Steam to your desired language.
In the unlikely event that you don't have the Visual C++ 2013 redistributable installed, get it here: https://www.microsoft.com/en-au/download/details.aspx?id=40784
Old version 0.015 of this mod installed assets directly into the BASE directory of the Doom 3 BFG installation. All assets are now installed into a separate mod folder named 'Fully Possessed' located in the Doom 3 BFG directory. An installer is now provided that will automatically remove files from old versions of this mod if present, and install the updated mod. The installer doesn't add any files to the base folder, but it will remove files installed by mods that have the same names as files used by this mod ( mostly weapons and player models ). This will NOT affect the base game, but could possibly break other mods installed.
( Note that at the time of this writing, the stock RBDOOM-3-BFGVR mod by Leyland does not install any assets, and this installation/removal process should not affect it. HOWEVER, if the hi-def expansion has been installed in addition to the RBDOOM-3_BFGVR Mod, the hi-def expansion will need to be reinstalled. )
Installing the mod:
Start the Doom3BFGVR_Fully_Possessed_Alpha022.exe installer.
If Doom 3 BFG was not originally installed on your main Steam hard-drive, change the install path to reflect the Doom 3 BFG installation directory. If you have enough disk space, it is recommended to select to install both Base and Player AAS files. The AAS files may be omitted, but will negatively impact the ability to use teleportation. It is only recommended to skip the AAS file installation if you do not plan on using teleportation.
When installation is complete, a shortcut will be created on your desktop and in your program list.
If you want to use speech recognition to activate voice commands ( recommended ), it should be enabled in Windows and trained for optimal performance. Speech recognition settings are available in the Control Panel under 'Speech recognition.' At a minimum run 'Set up microphone', and for optimal performance 'Train your computer to better understand you'
If you have an Oculus Rift: In the Oculus Home window, turn on: (cog), Settings, General, Unknown Sources
Run the shortcut on your desktop, or run the Doom3BFGVR.exe file in your Doom 3 BFG folder to launch the game. (SteamVR will be automatically activated if needed)
To play the game, you need the game data from a legal copy of the game, which requires Steam for Windows. Currently, Doom 3 BFG: Fully Possessed is only officially compatible with Windows, but see the Linux section.
Enjoy
If you run into bugs, please report them. ( see section 9 )
4) NEW FEATURES
New in 0.23: Spanish voice commands (to use, replace dict/voice.dict with dict/voiceSpanish.dict)
New in 0.21-Alpha-WMR (WMR Joystick support) (unofficial): Windows Mixed Reality Joystick support
New in 0.21a (unreleased): Doom VFR style teleport and jet-strafe Added headshot damage multiplier vr_headshotMultiplier (defaults to 2.5x) Improved arm and body inverse kinematics and leaning, body now automatically turns Screen blanking if eye moved into a solid. Additional cinematic modes (vr_cinematic : now three modes, immersive, cropped, and projected). Added enhanced support for camera cuts to improve cutscenes in VR. Added cvar adjustable choke to shotgun to tame pellet spread. Added instant player acceleration/decelaration when using artifical movement vr_instantAccel Improved FOV reduction border code for better stereo overlap. Holster slot states now persist thru level transitions and game saves/loads. Updated player models/anims with higher def hands, better hand poses on weapons, and initial controller based finger poses. ( vr_useHandPoses ) Added optional push to talk button for voice commands Fixed Hell tunnel teleport camera issue. Fixed issue with artifact/soul cube weapon axis. Teleporting now updates body orientation to direction of teleport. Enable teleportation in final boss fight of standard campaign. Fixed a few bugs with in-game GUIs.
Fix loading saved games from other versions and mods.
ATI / AMD graphics card support. ( Fix black menu screens )
Voice command for "fists" has changed to "weapon fists" to prevent false recognitions.
vr_voiceMinVolume console variable to prevent false recognitions.
Scaled ammo, weapons, and keycards to correct sizes.
Option to use floor height and other view heights.
World Scale option.
vr_chibi head scale console command.
More laser sight options.
Head tracking in the main menu.
Holster slots work better with the PDA and QuickSave.
Allow path names longer than 260 chars ( fixes some crashes on start/level load ).
Slightly improve voice commands.
Default keyboard / mouse controls.
Less debug prints for sound effects.
Improved player hand models.
Basic mirrow window resizing via mouse drag.
Initial optional oculus touch hand pose support ( Off by default -
optionally enabled via vr_useHandPoses cvar. This is not fully implemented
yet. Currently limited to when hands are empty or when the player hand is
in a gui. Object manipulation is not implemented yet. )
New in 0.21: Talking waking monsters is fixed. Loading all saved games from 0.020 is fixed (not really). You can now load most saved games from RBDoom 3 BFG (with major issues). You can now load all saved games from version 0.015 (with major issues). Improved performance. There's a menu option for Asynchronous SpaceWarp. You can now chose to walk in the direction of either hand when walking. Language is now detected based on sound files not .lang files. Added QuakeCon style teleport option. http://www.gamespot.com/articles/doom-may-have-solved-vrs-traversal-problem/1100-6442439/ Added vr_hmdPerfHud console variable to debug framerate issues.
DOOM3-BFG VR : Fully Possessed offers many new features:
Native support for the HTC Vive via OpenVR when detected. Native support for the Oculus Rift and Touch via the Oculus SDK when detected.
Motion Controls: Full motion controls are supported.
Independent weapon and flashlight control via motion controllers.
All in game GUIs ( including the in game PDA ) can be interacted with as touch screens.
Game and VR settings can be adjusted in game via a touch screen interface.
A weapon slot system has been implemented. The player may use motion controls to stash or retrieve a weapon or the PDA from virtual holsters located on the player body. The player may also use motion controls to grab or place the flashlight on the head or the body, and then pick it back up in the hand later.
Full room-scale support. ( See locomotion )
Locomotion: Multiple locomotion options are supported.
Teleportation support:
A parabolic aiming beam identifies areas the player can teleport to, as identified by the game AAS system. Teleporting to a location will cause the player to activate all in game 'triggers' along the path the player would walk to reach the destination. This includes activating cutscenes, alerting or activating monsters, triggering any in game scripted events, and taking any environmental damage that the player would incur along this route. Players may not teleport through closed doors, or to areas the AAS system has marked as unreachable by the player.
LIMITATIONS: Doom 3 was not initially designed with the idea of teleportation in mind. Doom 3 uses an Area Awareness System (AAS) to determine if a location is reachable by a character in the game, and then generate a path to that point. AAS files have been generated for the player for most of the levels in the game, but there are limitations. Issues can happen for example if trying to teleport onto a desk - you will teleport to the desk but then be bounced to the floor, just as if you had tried to jump on the desk. The AAS system is also currently unable to identify areas that are only reachable by ladder, so it is not currently possible to teleport to an area if the only way to reach it is via ladder. Additionally, there are a few small areas in the game the AAS system is not aware of, and therefore cannot be teleported to. In these instances, the player will need to use normal locomotion to reach these areas and continue the game.
Full room-scale support.
Your character can walk around and crouch using your real life motion. Walking in real life allows you to walk around in the game, including walking up and down stairs or off ledges. You can push small shipping containers and other items with real life motion. Solid objects cannot be walked through, but they can be leaned over to some degree. Jumping via real life motion is not supported.
Gamepad and Motion Controller locomotion:
Gamepad or Motion Controller Pads, Sticks, or Buttons can be used for artificial locomotion. Options are included for controller relative movement ( Onward style ), and normal gamepad style movement controls. There are a variety of options available to the player, including smooth turning, comfort (snap) turning, and multiple comfort options to reduce the effects of VR sickness when using artificial movement. All of the controls can be rebound or disabled ( for example, turning or strafe can be removed completely from the controllers ), and the various comfort options enabled or disabled. These changes can be easily made in game via touch screen access to VR specific game menus using the PDA.
Comfort Options:
There are various locomotion options available to assist in preventing motion sickness, including comfort ( snap ) turning, third person movement, movement based FOV reduction, slow motion movement, and using the Chaperone boundaries to provide a static reference.
Voice Commands:
DOOM3-BFG VR : Fully Possessed supports voice commands via the Windows speech recognition
engine. System commands such as pause, resume, and menu are accessible by speaking.
Additionally, the player may 'Talk' to NPC's simply by speaking to them when they are in
focus. ( Talking does not imply the NPCs carry out an actual conversation - speaking to
them prompts them to say their predetermined lines.) All weapons can be selected by
saying their name, and can also be reloaded by voice command. Phrases that activate each
voice command are defined in a plaintext file that can be modified by the user to customize
behavior.
Character and Weapon Options:
The player may choose to display the full character body while playing. Basic IK is implemented for the player head, arms, and crouch height, so movement in real life is replicated in the game to some degree. Note that the IK is extremely basic, and often results in incorrect poses.
If they player does not wish to see their body while playing ( for example if the incorrect arm IK is found to be to distracting, annoying, or just silly ), the player body may be disabled. There are options to instead display only the active weapon with hands and a stat watch, or just the active weapon with no hands.
The stat watch is a display located on the player wrist that indicates the current ammo status for the active weapon, as well as vertical Health and Armor bars to monitor player status. The Health bar is located on the left side of the statwatch, and the Armor bar is on the right. The bars will shrink and change color as health and armor are depleted.
HUD and GUI options:
The HUD is now projected into the world as a translucent object. The HUD can be enabled fully, disabled, or can activate when the player looks down past a user defined angle. Individual elements of the HUD can be hidden if desired. The HUD position can be adjusted by the user, and locked to either the player view or the player body.
In game GUIS such as the PDA, interactive computers, card readers, buttons, or keypads can be interacted with simply by touching them with your virtual finger as you would a normal touchscreen. If desired, touchscreen mode can be deactivated, and gui interaction can be controlled either by aiming your weapon or via gaze aiming.
Flicksync:
Flicksync is an experimental mode based on the book Ready Player One by Ernest Cline. In the book, players in a virtual environment participate in and act out the lines of their favorite movies, and their virtual performances scored.
In this just for fun mode, the player selects a character to portray in the game. The aim is to act out the game's cutscenes by becoming that character. You must say all of that character's lines exactly at the appropriate times. Points are earned by saying your lines correctly, clearly, and at the right time. ( See the Flicksync section under Controls for full instructions .) The Flicksync mode is still a work in progress, so bugs are to be expected.
5) CHANGES
VR support (Doom 3 only, 1 and 2 use a virtual screen in VR)
Motion Controls
Voice Commands
Flicksync Mode
Better looking cola cans and video discs
Mostly uncensored Doom 1 and 2 (still no blue SS soldiers in secret level)
Fixed Doom 2 extra secret level MAP33: Betray (accessed by pushing a wall in level 2).
Win64 support
OpenAL Soft sound backend primarily developed for Linux but works on Windows as well
Bink video support through FFmpeg
Soft shadows using PCF hardware shadow mapping
The implementation uses sampler2DArrayShadow and PCF which usually requires Direct3D 10.1 however it is in the OpenGL 3.2 core so it should be widely supported. All 3 light types are supported which means parallel lights (sun) use scene independent cascaded shadow mapping. The implementation is very fast with single taps (400 fps average per scene on a GTX 660 ti OC) however I defaulted it to 16 taps so the shadows look really good which should give you stable 100 fps on todays hardware (2014).
Changed light interaction shaders to use Half-Lambert lighting like in Half-Life 2 to make the game less dark. https://developer.valvesoftware.com/wiki/Half_Lambert
6) CONTROLS
IMPORTANT ALL CONTROLS CAN BE EASILY CUSTOMIZED/REMAPPED BY THE USER
Un-Binding or Binding controls:
Any axis or button can be re-mapped to any movement or control function. Rebinding controls is accomplished through the 'Settings->Controls->Key Bindings' menu. This menu is available from the Main Menu when the game is first launched, or by pressing the System Menu button in game, and selecting the 'Settings->Controls-> Key Bindings' menu on the PDA.
Be careful not to speak when binding a control, or you will rebind what talking does. You can't rebind specific voice commands. Edit the dict file instead. The thumb rests on the Touch controllers can be bound, so be careful not to bump them.
You can use the right joystick and trigger to highlight and select an action. If you are in game and using the PDA to adjust settings, you may use motion controls and your virtual finger to access the menu as a touch screen. Touch an entry once to highlight, and touch again to select.
Use the joystick or touch controls to highlight a command and see its current bindings. If available, button graphics will identify a bound control, otherwise a text descriptor is used. If the list of bindings is longer than the available space in the menu, the full binding list for the selected action is listed (without button graphics) at the bottom of the screen.
Select the highlighted action with the trigger or by tapping. Once selected, you can unbind a currently bound control or add a new binding. To unbind a control, simply press the axis or button you would like to unbind and it will be removed from the list. To bind a control, simply press the desired button or axis and it will be added to the binding list. If the desired button/axis is currently bound to another action, you will be asked if you want to continue and reassign it to this command ( removing the existing binding ), or to cancel.
Changing comfort ( snap ) turning:
By default, the game is configured to use comfort or snap turning.
This can be easily changed via the Settings->VR Options->Comfort Options
menu, under the Turning option. Cycle through the various options to select the turning
mode you prefer. ( Analog mode provides the typical smooth turning function - however
this is one of the most common cause of VR sickness.)
Alternative, you may manually rebind Turn Left, Turn Right, Comfort Turn Left, and
Comfort Turn Right in the Settings->Controls->Key Bindings menu.
Default controls for the Oculus Touch, HTC Vive, and Gamepad :
Read each section carefully. The controls behave differently depending on if you are playing the game or using a menu or the PDA. *
Walking and crouching in real life are reflected in the game. You can walk up and down steps, over ledges, or push small objects by walking in real life. Crouching can also be controlled via button, see below.
By default, the flashlight ( or PDA when active ) are held in the left hand, and the weapon is held in the right hand. This can be changed by picking up the weapon or PDA from it's slot with your other hand, or through the VR Options-> Character Options: Weapon Hand menu entry.
Grenades are thrown via motion controls - press the trigger to start the throw, swing your arm and release the trigger to throw.
Default Control Bindings: Oculus Touch
*IN MENUS OR PDA:
Use either stick to highlight menu entries. Press either trigger to select. Press Y or Grip to go back/exit.
If you are using the PDA, or the System Menus on the PDA in game, you can use your virtual finger to select menu items just like using a touch screen.
*GAMEPLAY CONTROLS.
LEFT Controller:
By default, the LEFT controller/hand will aim the flashlight, once equipped.
Left Stick: The left stick controls player movement.
The default configuration is motion relative to the direction the
controller is pointing ( Onward style ).
Artificial motion will induce VR sickness for most people, so
teleportation instead of stick control should be considered as a
primary form of movement in these instances.
For those who find teleportation immersion breaking or uncomfortable,
there are a variety of ( optional ) comfort modes available in the VR
menus. These modes include FOV reduction, Slo-Motion, Black Screen and
Chaperone effects to reduce the discomfort caused by mismatched vection.
See the VR MENUS section for more details.
Left Grip: Crouch.
Left Stick
Press: Press the left stick down to toggle the flashlight on and off.
Left Trigger: Hold to run.
Left Y: Recenter view/reset height.
If you stand up or sit down while playing, press this to adjust the
game to your new position.
If the player body is visible, use this to reset the body to face the
current view direction.
Left X: Activate the PDA if it's in you inventory.
Left X also will skip the active cutscene.
In a Flicksync, this gives up on the current line.
Left ≡ (menu) Brings up the in game Pause/System menu on the PDA.
( The PDA does not need to be in you inventory to use this function)
RIGHT CONTROLLER:
By default the RIGHT controller controls the right hand and the weapon
Right Stick
Up/Down: Next / Previous Weapon
Right Stick
Left/Right: Snap turn 45 degrees left or right.
Right Grip: Reload
Right Stick
Press: Jump
Right Trigger: Attack / Fire
Use Cue Card Power-Up in Flicksync
Right A: Reload
Right B: Teleport
Default Control Bindings: HTC Vive
*IN MENUS OR PDA:
Use either pad to highlight menu entries. Press either trigger to select. Press either grip to go back/exit.
If you are using the PDA, or the System Menus on the PDA in game, you can use your virtual finger to select menu items just like using a touch screen.
*GAMEPLAY CONTROLS.
LEFT Controller:
By default, the LEFT controller/hand will aim the flashlight, once equipped.
Left Pad: The left stick controls player movement.
The default configuration is motion relative to the direction the
controller is pointing ( Onward style ).
Artificial motion will induce VR sickness for most people, so
teleportation instead of stick control should be considered as a
primary form of movement in these instances.
For those who find teleportation immersion breaking or uncomfortable,
there are a variety of ( optional ) comfort modes available in the VR
menus. These modes include FOV reduction, Slo-Motion, Black Screen and
Chaperone effects to reduce the discomfort caused by mismatched vection.
See the VR MENUS section for more details.
Left Grip: Crouch.
Left Pad
Press: Press the left pad down to toggle the flashlight on and off.
Left Trigger: Jump
Left ≡ (menu) Activate the PDA if it's in you inventory.
Will skip the active cutscene.
In a Flicksync, this gives up on the current line.
RIGHT CONTROLLER:
By default the RIGHT controller controls the right hand and the weapon
Right Pad
Up: Next Weapon
Right Pad
Down: Previous Weapon
Right Pad
Left/Right: Snap turn 45 degrees left or right.
Right Grip: Reload
Right Pad
Press: Teleport
Right Trigger: Attack / Fire
Use Cue Card Power-Up in Flicksync
Right ≡ (menu): Brings up the in game Pause/System menu on the PDA.
( The PDA does not need to be in you inventory to use this function)
Default Control Bindings: Gamepad
You can play the game in VR using an XBox 360/One gamepad if you don't have motion controllers. The game will automatically switch to gamepad mode when you start using the gamepad. You can use the gamepad for room-scale if you want.
Left Stick: Movement.
This can cause motion sickness, So it's recommended to
teleport by holding B, looking where you want to go, and letting go.
Push left
stick in: Run
Left
trigger: Toggle Flashlight
Right
stick: Aim weapon, and will turn you if you aim past the
deadzone threshold.
Push right
stick in: Crouch
Right
trigger: Attack / Fire weapon
Shoulder
buttons: Switch weapons
A = jump
B = teleport
X = reload
Y = use
View / Back = PDA / Skip cutscene
≡ / Start = menu.
Default Control Bindings: Keyboard / Mouse
You can play the game in VR using keyboard and mouse if you don't have motion controllers. The game will NOT automatically switch to gamepad mode when you start using the keyboard, so you might need to turn on gamepad mode manually in the VR options if your arms are weird. You can't use the mouse for room-scale yet because we haven't implemented head aiming.
WASD: Movement.
This can cause motion sickness, So it's recommended to
teleport by holding RMB, looking where you want to go, and letting go.
Z/X: Comfort turn 45 degrees left or right
C: Crouch
Space: Jump
Shift: Run
E: Use (not really needed)
R: Reload
F: Toggle Flashlight
Arrow
Keys: Aim weapon, and will turn you if you aim past the
deadzone threshold.
NumPad: Comfort turn left/right 45 degrees
NumPad0: Teleport
LMB: Attack / Fire weapon
RMB: Teleport (aim with head, not mouse)
MMB: Reload
Mouse
Wheel: Switch weapons
~: Console
Q: Soul Cube / Artifact
1-0: Switch weapons
Tab: PDA / Skip cutscene
Esc: menu
Pause: Freeze program
F5: Quick Save
Using the PDA:
You can move the PDA around in your hand, while using your right finger to touch the screen to select entries or scroll bars. You can also use the sticks/pads and buttons on each hand to select options.
Use Y or grip to put your PDA away again.
If the tracking glitches, your PDA can end up far away. If this occurs, repeatedly press Y or Grip to close the PDA. ( This is a known issue that will be addressed )
You can also manually grab the PDA from your left hip using motion controls. When you move the left controller over the correct spot, the right controller vibrates. Use the grip button to pick up the PDA. Your flashlight will be temporarily holstered on your hip while using the PDA.
When you are finished with the PDA, you can place it back the same way, and grab your flashlight. ( Grabbing the PDA before you collect it from Reception brings up the pause menu instead of the PDA. )
Using the System/Pause menu:
Activating the System/Pause menu ( Press ≡ (menu) on the left Touch or Right Vive ) will pause the game and display the system menus on the PDA as above. You can load/save/exit the game, Change the control bindings via System->Controls->Key Bindings, or adjust the various VR options via VR Options. See the section on VR options for more details.
Touch the 'Back' options, or press Y or the Grips to go back/exit.
Teleporting:
You can teleport anywhere you could normally reach by walking, ducking, or jumping onto things. When you teleport, your character will trigger any in game events and take any environmental damage that the player would incur by walking the route to the destination.
You can't teleport across gaps you have to jump across, or onto the tightrope in the Mars City Underground level. There is a path length/complexity limit on how far you can teleport in one hop, but it's fairly far. There are some bugs in the Player AAS files, and some levels are missing, so there are instances where you can't teleport places you should be able to. In these instances, walk in real life or move forward with the stick/pad a little until you can teleport again. If you didn't install the Player AAS files at install, you will only be able to teleport places a Zombie can go.
To teleport, push in the right touchpad, or hold down B on Touch, then move your hand to aim the parabola where you want to go. Release the stick or touchpad to teleport there. Pressing the trigger while the aiming beam is active will cancel the teleport. If the teleport target is red, you will need to duck/crouch before teleporting to the destination. If there's no circle, that means you can't teleport there from your current location.
There are two teleportation modes. "Blink" teleports you instantly. "QuakeCon" slows time and warps you there.
Using Slots:
Slots are locations defined on the player body you can stash or retrieve weapons, the PDA, or the flashlight by using motion controls to grab/stash them. When a motion controller is inside of a slot area, the right controller will vibrate. When the controller vibrates, press the grip button on the controller in the slot to grab/place/swap the item.
You can manually place the flashlight on your left shoulder or your head using the slots, and then later retrieve it from those places the same way.
You can swap your hands by grabbing the holster on your right hip with your left hand. This will transfer the flashlight to your right side and pick up any holstered weapon in your left. Swapping hands will swap most of the controls, but does not swap the analog sticks/touchpads.
You can manually grab the holster on your right hip to holster your weapon. If there's already a weapon holstered there, the weapons will swap.
You can grab behind your weapon hand's shoulder to switch to the next weapon. You can grab behind your weapon hand's lower back for previous weapon.
You can also grab the PDA on your left hip with your right hand, if you prefer. You can then put it back on the same side like normal, or holster PDA on the right to switch hands.
Interacting with Guis:
To use a touchscreen/gui, walk up to the screen and look at it. When you have focused on the gui, your weapon will lower and your hand will point a finger and raise to the gui. You can now reach out and use the gui like a normal touchscreen.
To exit the gui, walk backwards or teleport.
Motion Control Errata:
Currently, you cannot use motion controls to pick up items in the environment, or to punch/melee attack. ( These features are being worked on)
If you are displaying the player body, and the arms look strange due to a bad IK pose,
use the controller to move the character forward. This will make your body face the
correct direction. If your body isn't attached to your neck properly, try jumping.
If things just seem out of alignment, or to switch from seated to standing mode,
Recenter view/reset height with whichever button is defined (you must say "reset view"
on Vive).
Voice Controls:
You can use the built in microphone in the Rift or the Vive to activate voice commands
using Windows built in Speech Recognition.
If you want to use speech recognition to activate voice commands ( recommended ), it
should be enabled in Windows and trained for optimal performance. Speech recognition
settings are available in the Control Panel under 'Speech recognition.' At a minimum
run 'Set up microphone', and for optimal performance 'Train your computer to better
understand you'
The phrases recognized by the voice commands are defined in the
"Fully Possessed/dict/voice.dict" file.
This file may be edited to change the phrases associated with each action.
Apart from the default English language, other languages (Spanish as of now) are available in Fully Possessed/dict/
just rename the corresponding voiceXXX.dict to voice.dict in order to use that language.
Available Voice Commands:
Talk:
Speak to other people by walking up to them and speaking.
You can say whatever you want. After you finish talking, they will respond.
They will briefly look at you when you first start speaking.
Speaking can wake up nearby monsters, so be careful!
Say: Anything
Recenter view:
This resets the view height to you current view position,
and makes the player and the view face your current view direction.
Useful for switching between sitting and standing mode of if the
player body becomes disoriented.
Say:
Reset View
Recenter View
Reset HMD Orientation
Reset HMD View
Run:
Say: Start Running
Walk/Stop Running:
Say: Stop running
Start walking
Reload:
Say: Reload
Flashlight:
Say: Flashlight
Torch
PDA Select:
Say: PDA
Personal Data Assistant
Say: Cancel
System/Pause Menu
Say: menu
System
System menu
Computer, menu
Computer, arch
Say: Cancel
Exit Game
Return To Game
Weapon Selection:
You can switch to a specific weapon by saying the name of that weapon.
Available Weapons:
Fists:
Say: Weapon fist
Weapon fists
Weapon hands
Use fists
Hands
Punching
Pistol:
Say: Pistol
Chainsaw
Say: Chainsaw
Beaver tooth
Beaver tooth chainsaw
Mixom beaver tooth
Mixom beaver tooth chainsaw
Shotgun:
Say: Shotgun
Pump action shotgun
Single barrel shotgun
SuperShotgun:
Say: Super shotgun
Double barrel shotgun
Combat shotgun
Machine Gun:
Say: Machine gun
Enforcer
M G 88
M G 88 enforcer
M G
Chain Gun:
Say: Chain gun
Mach 2 chain gun
UAC weapons division mach 2 chain gun
Saw
Mini gun
Gatling gun
Grenade:
Say: Grenade
Grenades
Plasma Gun:
Say: Plasma gun
Plasma rifle
Rocket Launcher:
Say: Rocket Launcher
BFG:
Say: BFG
BFG-9000
Bio force gun
Big fragging gun
Big freaking gun
Big fucking gun
Soul Cube:
Say: Soul cube
Artifact
Say: Artifact
The artifact
Heart of hell
Blood stone
Grabber:
Say: Grabber
Ionized plasma levitator
IPL unit
Gravity gun
Holodeck Commands:
Say:
Computer, Freeze Program
Computer, Resume Program
Computer, Play Program
Computer, Run Program
Computer, Continue Program
Pause Game
Resume Game
Unpause Game
Computer, Arch
Computer, Menu
Computer, End Program
Computer, Exit
Computer, Program Complete
Computer, Cancel Program
Speech Recognition Control:
Say: What Can I Say
Start Listening
Consecution
Stop Listening
Consentient
7) FLICKSYNC
Flicksync is an experimental mode based on the book Ready Player One by Ernest Cline. In the book, players in a virtual environment participate in and act out the lines of their favorite movies, and their virtual performances scored. The Flicksync mode is still a work in progress, so bugs are to be expected.
How Flicksync is played:
In this just for fun mode, the aim is to act out the game's cutscenes by becoming
a character in the game. You must say all of that character's lines exactly at the
appropriate times. Points are earned by saying your lines correctly, clearly, and
at the right time.
If you don't say the line in time, the other character will repeat the cue (with
subtitles), "Final Dialog Warning" will appear, and the game will pause indefinitely
waiting for you to say it.
If you can't remember the line, pull the trigger to use a Cue Card Power-Up (if you
have one). The Cue Card will show you what you need to say (phonetically) in white
near the top.
If you don't have a Cue Card Power-Up, or the speech recognition can't recognize the
way you say it, you can press the PDA or menu button to give up that line and lose
10 points. After you give up twice in a row, it will say "Final Warning". A third failure
is GAME OVER.
Pressing the PDA or menu button while it's not waiting for a line, will skip the
cutscene like normal.
When you say the line correctly, you get 100 points. If you say the line clearly and at
roughly the right time, you get another 50 bonus points. If you get 7 lines right in a
row, you get another Cue Card Power-Up, up to a maximum of 5.
There are no action bonuses yet, and you automatically follow the character's path.
If the cutscene seems to finish, but it won't let you move, it's still waiting for you
to say the last line of the cutscene ( or to skip it ).
When you have finished all the cutscenes you chose, you win, and it will say "Flicksync
Complete". If you were playing in Cutscenes Only mode, then all the NPCs and monsters
will disappear and you will go back to being yourself instead of your character. You
can then walk around the empty level and use the level's exit to return to the main
menu, or use the pause menu to exit.
Starting a Flicksync game:
To start a Flicksync game, choose Campaign from the main menu, then select Flicksync.
Choose which character you will be.
Choose how many Cue Cards you start with.
Choose whether to play just the Flicksync cutscene parts, or play the normal Doom 3 game
with Flicksync mode for the cutscenes, or a non-Flicksync game with no cutscenes.
The "no cutscenes" mode carries over into regular games, so don't leave it set to no
cutscenes if you want cutscenes.
Choose which scenes you want to play.
You can play:
All the cutscenes
Just the cutscenes for your character's expansion
All the scenes starting from your character's first scene,
All the scenes related to your character's story arc
Just the scenes with your character in them.
There's currently a bug where you must watch the first cutscene of a map if that
cutscene starts automatically on map startup, and you have a scene in a later
cutscene of that map.
Then choose the highest level you have reached in the game if you want to avoid spoilers.
Choose Play.
You will start from a different point depending on which character or scenes you choose.
You can also watch the cutscenes from the POV of the player character(s) by choosing Player,
or you can just watch all the cutscenes by setting Character to None and Game Mode to
Cutscenes Only.
Flicksync settings carry over if you start a map from the DEV menu, so you may want to change them back to normal first.
Starting a new game from the Campaign / New game menu will clear the flicksync settings, except for the "no cutscenes" option. You will see SCORE: 0 on the menus if you are in Flicksync mode.
8) VR Options
VR Related game changes can be made from the Settings->VR Options menu.
Menu: Character Options:
Body Mode:
Full Body + Arms:
The full player body will be displayed in game, with
( very ) basic IK for the arms. While playing,
if the arms seem misaligned with the body, move in any direction
to align the body direction with the movement direction. Alternatively,
you can press or say the button/command to reset the view. ( Left Y on Touch,
or say Reset View)
Hands + Weaps:
If you do not wish to see the player body ( perhaps the basic arm IK
is too basic :) ), select this option to display your hands and weapons only.
Weapons Only:
Selection this option will display only the weapons in game, no player body
or hands. ( Hands will be displayed if there is currently no weapon selected,
if the fists are selected, or if interacting with a GUI.)
Note that Body Mode also affects Flicksync. But in Flicksync you will be fully
invisible if you chose Hands + Weaps or Weapons Only.
Flashlight Mount:
Select where the flashlight will be mounted during the game.
Options:
Hand - Hold the flashlight in the non weapon hand.
Flashlight can be aimed with motion controls.
Body - The flashlight will be mounted to the body,
and shine in the direction the body is facing.
Head - The flashlight will be mounted to the head
and shine where you are looking.
Weapon- The flashlight will be mounted to the muzzle of
your weapon. In the event the weapon has no muzzle
( grenade, chainsaw, soul cube, etc ) the flashlight
will temporarily move to your head.
You can change this in-game by manually grabbing your flashlight and
placing it where you want it (except for on the weapon), if Holster
Slots are enabled.
Weapon Hand
Select the handedness of the game.
Options:
Right - The weapon will default to the right hand,
flashlight / PDA will be in the left.
Left - The weapon will default to the left hand,
the flashlight / PDA will be in the right.
You can change this in-game by manually grabbing the holster on the
opposite side, if Holster Slots are enabled.
Holster Slots
Enable or Disable the ability to use the holster slots located on your body.
Options:
Enable
Disable
Use Height
Custom Eye Height: The player's view height (specified above) will be the
same height as your real eyes. This might make you feel
like you're floating above the floor.
Marine eye height: Your eyes will be at the Doom marine's eye height.
This is 5 inches higher than the view height in the
original Doom 3.
Normal view height: Your eyes will be at the original height specified by
the game.
Crouch to your height: The virtual floor will always be at the same height as
the real floor. The Doom marine crouches if you're shorter
than he is.
Scale to your height: The virtual floor will always be at the same height as the
real floor. The whole world is scaled to make the Doom
marine your height.
Custom Eye Height
Change the height of the player view, measured in real world units.
Use this option if you are taller or shorter than the default view.
This setting is now saved between maps and sessions.
It has no effect in "Scale to your height" mode.
World Scale Adjust:
Multiply the size of the world by this. ( This works now. )
Menu: Comfort Options
This menu allows the player select options intended to combat motion sickness,
either due to locomotion or game effects. There are also options to help prevent
damage to your controllers when using motion controls by activating the Guardian
or Chaperone grids as needed.
Teleport:
Change teleport aiming
Options:
Right Hand - The teleport aiming beam will originate from the
right hand, or device in the right hand.
Left Hand - The teleport aiming beam will originate from the
left hand, or device in the left hand.
Head - Use you view to aim the teleport beam.
Disabled - Disable teleport and teleport aiming.
Gun Sight - Do not use the parabolic teleport aiming beam,
instead use the weapon sight. The laser reticle
will change to indicate if you are able to teleport
to a location. You must set the weapon sight to dot
mode to use this option. This option may also hurt
frame rate, as the teleport destination is always
being scanned.
If you swap hands using the weapons slots, the teleport aiming will swap as well.
Teleport Mode:
Choose whether to teleport instantly, or slow time and warp along the path.
Options:
Blink - Aiming is like normal, teleporting is instant and
covered by a blink.
QuakeCon - Time is slowed while aiming. Teleport by moving at
warp speed to the destination. This style was used
in a Doom (2016) VR demo at QuakeCon.
http://www.gamespot.com/articles/
doom-may-have-solved-vrs-traversal-problem/1100-6442439/
Turning:
Change the turning mode. Changing the turning menu option will remap your control
bindings for whatever controls you assigned to turning to support the selected mode.
If you want to use a combination of Analog and Comfort turning, you can adjust the
control bindings yourself in Settings->Controls->Key Bindings.
This setting only affects motion controllers. Set Key Bindings for keyboard or
gamepad.
Options:
Snap ( 10 - 180 ) Comfort turning will be used. Each turn will move the
view/reset the selected number of degrees.
Real Life - No artificial turning will be used, the player will
need to turn in real life to turn in the game.
Analog - The analog stick can be used to turn the player smoothly.
This option is causes the most motion sickness. It is not
recommended for the regular user, and should only be
used by people who never experience VR sickness.
Walk Speed Adjust:
Adjust the movement speed of the player.
This value can be changed to increase or decrease the maximum walk speed
of the player from the normal value of 140. Negative values slow movement,
positive values will increase it. This value persists throughout the game.
There's an alternative to "Walk Speed Adjust" in the next option, which slows
time instead. If you opt to use that, you can set Walk Speed Adjust here to 0.
Motion Sickness Aid:
If you experience any form of VR sickness, this is one of the most important
options to experiment with. It applies an effect whenever you're moving
artificially, whether using the joystick, jumping, crouching, or because you
were pushed by something in the game, or you fell off a ledge, or you tried
to walk in real life through a solid virtual object. Some effects can work in
combination with other effects.
There are a variety of options to ( hopefully ) assist in preventing motion
sickness during player movement. The best way to avoid motion sickness is to
play standing up, walking, turning, and crouching in real life, while using
teleportation and third person mode for all artificial movement. You can play
this way even if using a gamepad.
The most common cause of motion sickness is using the analog stick to turn the
view, so this should be avoided whenever possible if you are susceptible to VR
sickness. There are some places where you have to use artificial movement though,
such as climbing ladders, jumping across gaps, and some glitchy areas not
accessible via teleport, so hopefully these menu options can help.
Options:
Third Person - When artificial motion is used, the player view will
remain stationary, and the player character will be
controlled in the third person via analog controls.
When the character stops moving, the player view will
fade to the new character location. This is a very
effective way to combat motion sickness. There is
currently one drawback: Moving backwards is not well
implemented (yet). If you move backwards, you will
not be able to see the character you are controlling
unless you turn around, so it is recommended to only
move backwards in short hops.
None - If you are fortunate enough to never experience motion
sickness, you can select this option to disable all
motion sickness aids. Be warned, this is only for those
who truly have 'VR legs'.
Chaperone - Turns on the Chaperone ( or Guardian ) grid whenever you
are Moving artificially. Any grid that's solidly locked
to the real world is supposed to help with motion
sickness. The other methods may be more effective or less
intrusive. Chaperone can be combined with other effects
( including "Black Screen" if you don't like the empty
void).
Reduce Fov - Reduce FOV, or "Tunnel vision" will block out your
peripheral vision when moving, which for some people
is where most motion sickness comes from. It can be
combined with other effects such as Chaperone.
Black Screen - The only 100% effect mode, it completely blacks out
your view while moving artificially, so there's no
vection and no motion sickness. It will strobe a brief
frame a couple of times per second. ( The strobe time
can be adjusted with the console variable vr_strobeTime
which is in ms). Obviously blacking out the screen makes
it harder to navigate and see what you're doing, but if
you are not using artificial navigation much ( only when
you cant teleport ) it can be useful.
Black + Chaperone-
Combine the Black Screen and Chaperone aids.
FOV + Chaperone- Combine FOV Reduction and Chaperone aids.
Slo Mo- Slows time while you are moving, to make it feel like
you are moving slower, but without harming your ability
to dodge and escape from monsters. The faster you move,
the more time is slowed. The downside of this mode is
that all the sound and voices are slowed down. This
effect can be combined with Chaperone and/or Reduce FOV.
SloMo + Chaperone-
Combine Slo-Mo with Chaperone.
Slo Mo + FOV- Combine Slo-Mo with FOV Reduction.
Slo+FOV+Chaperone-
Combine Slo-Mo, FOV Reduction, and Chaperone effects.
[Chaperone:]
This setting has moved to the VR Options > Rendering Options menu.
Knockback and Head Kick:
Knockback and Headkick are Doom 3's effects that push your view. Knockback is when
your entire player body is moved due to impact. Head Kick is when your view 'Kicks'
due to an impulse such as firing a weapon or being struck. They don't work well in
VR, and can contribute to motion sickness, so they are disabled by default. They
can be enabled if desired.
Options:
Knockback Only- The player body will be knocked back due to impacts.
Headkick Only- The player view can kick due to impulses.
Enabled- Both Knockback and Headkick will be enabled.
Disabled- either Knockback or Headkick are enabled.
Step Smooth and Jump Bounce:
Affect the player view when going up and down steps, or after landing from a
jump or fall.
Options:
Step Smooth Only-
Step Smooth makes climbing stairs smooth instead of jarring.
Smooth motion increases motion sickness, but in this case can
be jarring without it. Enabled by default, but can be turned
off if you prefer. This option enables smooth steps and
disables jump bouncing.
Jump Bounce Only-
Jump Bounce is when your view bounces when landing after jumping.
It can be uncomfortable, so it's disabled by default, but this
option enables the jump bounce but not smooth stepping.
Enabled-
Steps will be smooth and the view will bounce when landing.
Disabled-
Steps will be instant, and the view will not bounce when landing.
Shake Amplitude:
Doom 3 has screen shaking effects in some areas of the game. You can adjust
the amplitude of these effects. Moving the slider all the way to the left
disables the effect completely, and moving the slider to the right will
increase the effect until it reaches full power.
This effect can be very uncomfortable, so it is disabled by default.
Menu: Control Options:
Options for how the player controls the game.
Controller Type:
Select the default controller type.
Options:
Motion Controllers-
Motion controls will be used if present
Standard Controller-
A gamepad (or keyboard and mouse) will be the default
control device.
It's recommended to leave it set on Motion Controllers, because in that mode it
will switch to gamepad automatically when you start using it, and switch back if
you use motion.
Move Mode:
Select the default movement mode:
Options:
Standard Stick Move-
The joysticks or pads will control the character
like a standard gamepad. Pressing forward will move
the player forward in relation to the body.
Off Hand = Forward-
Forward motion is relative to the direction the off hand
controller is pointing. ( 'Onward' style movement. )
Look = Forward-
Forward motion is relative to the direction the player is
looking.
Crouch Mode:
Select the default crouch mode. Note that at any time crouching may be
accomplished by using the button assigned to crouch.
Options:
Full Motion Crouching-
The player can crouch in real life to crawl through
ducts or narrow passages.
Crouch Trigger-
If the player in real life crouches a distance greater than
the number of inches defined by 'Crouch Trigger', it will act
as if the crouch button has been pressed.
Crouch Trigger Dist:
The number of inches they player must crouch in real life
in order to trigger a full crouch when using 'Crouch Trigger'
mode.
Weapon Pitch: You can change this value to adjust the default pitch of the
weapon to suit your preference.
Flashlight Pitch: You can change this value to adjust the default pitch of the
flashlight to suit your preference.
Talk Mode:
Select how the player interacts with NPCs.
Options:
Voice Only - The player must speak in real life to talk to NPCs.
The focus cursor will be displayed.
Voice, No Cursor- The player must speak in real life to talk to NPCs.
The focus cursor will not be displayed.
Buttons Only- The player must use buttons ( attack ) to talk to NPCs.
Buttons or Voice- The player may speak in real life or use buttons to
speak with NPCs.
Voice Commands:
Select how Speech Recognition will be used to implement commands.
Options:
Menus and Weapons- Speaking will allow the player to enter and exit
menus, as well as select menus.
Disabled- Voice Commands will not be utilized.
Menus Only- Voice Commands will only activate menus, weapons will
need to be selected manually.
Menu: UI Options:
Select user interface options.
HUD Options Menu:
Modify how the HUD is displayed.
Location:
Where the HUD will be positioned.
Options:
Lock to Body- The hud position is relative to the player body.
Lock to View- The hud position is relative to the player view.
Hud Mode:
When the hud is displayed.
Options:
Pitch Activate- The HUD will remain invisible until the player
tilts their head ( looks down ) beyond the angle
defined by Reveal Angle.
Disabled- The HUD will not be displayed.
Full On- The HUD will always be displayed.
Reveal Angle:
If the HUD is in Pitch Activate mode, tilting your head beyond this angle
will cause the hud to be displayed.
Low Health Reveal:
If the HUD is in Pitch Activate mode, it will be switched on regardless of
tilt if player health drops below the value defined here. ( 0 = Disabled )
Menu: Adjust Hud Position:
Options for changing the location and size of the HUD.
Values are in inches
HUD Position Dist: How far in front of the view or body the HUD is
displayed.
HUD Position Vert: How far up or down from default in relation to
the view or body the HUD will be displayed.
HUD Position Horiz: How far to the left or right from default in
relation to the view or body the HUD will be
displayed.
HUD Pitch: The pitch of the HUD screen.
HUD Scale: Size of the Hud
Talk Cursor Adj: Adjust the position of the Talk Cursor ( The
cursor that identified the names of NPCs )
as a % of HUD vertical size.
PDA Options Menu:
Modify the PDA position.
PDA Location:
Where the PDA will be displayed
Options:
Hold in Hand- When active, the PDA will be held in the non weapon
hand, and can be moved via motion controls.
Fix in Space- When Active, the PDA will be fixed in space in front
of the player and will not move.
PDA Position Dist: How far in front of the view or body the PDA will be
displayed if Fix In Space is selected.
PDA Position Vert: How far up or down from default in relation to the
view or body the PDA will be displayed if Fix In Space
is selected.
PDA Position Horiz: How far to the left or right from default in relation
to the view or body the PDA will be displayed if
Fix In Space is selected.
PDA Pitch: The pitch of the PDA screen if Fix In Space is selected.
Heading Beam:
The heading beam is an optional directional indicator that may aid the player
when controlling the character.
Options:
Disabled- The heading beam will not be displayed.
Solid- A solid heading beam will be displayed.
Arrows- A heading beam with arrows will be displayed.
Scrolling Arrows- A heading beam will scrolling arrows will be displayed.
Weapon Sight:
Various weapon sights are available.
Options:
Disabled- No laser sight.
Laser Beam- A laser beam will emit from the weapon to aim with.
Red Dot- A red laser dot will be projected into the world
to aim with.
Circle Dot- A reticle with a red circle with a dot in the center
will be projected into the world to aim with.
Crosshair- A red crosshair will be projected into the world to
aim with.
Laser + Dot- Both the dot and the laser beam.
Laser + Circle- Both the circle dot and the laser beam.
Crosshair + Circle- Both the crosshair and the laser beam.
Sight to Surface:
If using one of the reticles instead of the Laser Sight, enabling this will align
the reticle to the surface it hits.
Laser Sight Source:
Choose whether the laser sight comes out of the barrel, or an emitter elsewhere
on the weapon. Just like with a real laser sight, you will have to manually compensate
your aim based on the location of the emitter.
Options:
Laser Emitter- The laser sight comes from a different part of the gun,
but is parallel to where the bullets will go. You must
take note of where the baarrel is actually aiming
relative to the laser for perfect shots.
Barrel- The laser comes out of the gun's barrel and shows exactly
where the bullets will go. This makes aiming easier, but
is less realistic.
Haptic Feedback:
Enable or disable haptic feedback on the game controller.
GUI mode:
Select how in game GUIS will be interacted with.
Options:
Touch Activated- When the player gets close to a GUI and looks at it,
the weapon will lower and the weapon hand will change
to a pointer finger. The GUI can be used as a virtual
touchscreen.
Aim Activated- When the player approaches a GUI and aims the weapon at
it, the weapon will lower, but aiming the weapon will
control the cursor on the GUI screen. Fire will click
the screen. If the current weapon doesn't have a muzzle
( grenade, fists, chainsaw, soul cube, artifact), the
player gaze will control the cursor.
Look Activated- When the player approaches a GUI and looks at it, the
weapon will lower and the player look direction will
be used to control the cursor.
Menu: Rendering Options:
Options that affect VR graphics.
Pixel Density - A multiplier used to increase the resolution of the rendered
image. Increasing this setting will dramatically impact
performance. Note that this setting will be used ON TOP OF any
setting in your HMD drivers. If you are using some form of
supersampling by default in your HMD software, you may want
to set this to 1.
MSAA Level- Disable MSAA, or set the desired level of sampling.
Chaperone:
This setting has moved here from the VR Options > Comfort + Safety Protocols.
This setting is more about safety than motion sickness. It lets you turn the
Chaperone or Guardian grid on all the time, or only when you're throwing
grenades, or when you're swinging around virtual Melee weapons. The grid
can't be disabled completely, but it can be set to "Near" for normal chaperone
behaviour. I broke my TV throwing things in Budget Cuts, so I recommend forcing
the chaperone on when throwing, at least. The options from most reckless to
safest are: "Near", "Throw", "Melee", or "Always". The default is "Melee",
which means the grid will be on whenever you're using grenades, the grabber,
the chainsaw, or fists.
Options:
Melee- The Chaperone or Guardian grid will be on when using
melee weapons. ( Grenades, grabber, chainsaw, or fists.)
Always- The Chaperone or Guardian grid will always be on.
Near- Normal Chaperone or Guardian behavior, the grid will
appear when you or your controllers are too close to
the virtual boundary.
Throwing- On when throwing grenades.
Asynchronous SpaceWarp:
Oculus only! Adjust how the game handles low framerates.
Options:
Default- Don't mess with the Oculus default.
Disabled- use Asynchronous TimeWarp (works at any FPS)
instead of Asynchronous SpaceWarp (recommended).
Enabled- use Asynchronous SpaceWarp at 45 FPS whenever
FPS drops below 90 FPS.
45 FPS ATW- Always use Asynchronous TimeWarp, locked to 45 FPS
45 FPS ASW- Always use Asynchronous SpaceWarp, locked to 45 FPS
3D Guis- The in game GUIS can look flat - enabling this setting adds some
depth. May be disabled if effect is disagreeable.
Menu: VR Profile Options:
Active Profile:
This works now. Select profile.
Options:
Official Profile- Use the IPD and height provided by the HMD runtime.
Manual Profile- Use the IPD and Height defined in the Manual Profile
entries.
Oculus Profile IPD: The IPD reported by the HMD runtime.
Manual Profile IPD: This IPD will be used if Active Profile is set to Manual.
9) CONSOLE VARIABLES AND COMMANDS
Access the console with the ~` key, or you can add these to your config file in: %UserProfile%\Saved Games\id Software\DOOM 3 BFG\Fully Possessed\vr_oculus.cfg (or vr_openvr.cfg)
Commands:
restartMap - Restart the map, preserving your inventory. Use this if you get stuck,
or you load a game from another mod and you were near the start, to get
rid of the glitches. Or use this if the glitches make it impossible to
continue.
endLevel- Win this map and continue to the next level, with all your inventory
and the level's important items. Use this if you get stuck near the
end of a map, due to glitches. I consider this to be sort of cheating.
noclip- Toggle no-clipping mode, in case you accidentally teleport somewhere
you can't get out of
listDevices- lists all detected audio playback devices.
( use cvar s_device to select and audio device from this list )
showDeviceInfo- display detailed information about current audio playback device.
r_listVoiceCommands- list all phrases defined for speech recognition
Below are some console variables used by the game. Many of these can be adjusted via the in game menus.
vr_chibi 1 FLOAT- changes the size of human heads (sometimes good to change if you changing the world scale made heads look weird).
vr_scale 1 FLOAT - scale of the virtual world. 1 = scale of previous version and original Doom 3. 0.93 = slightly smaller and more comfortable size (like in Leyland's mod).
vr_useFloorHeight 0 BOOL - keep the virtual floor level with the real floor.
vr_normalViewHeight 73 FLOAT - The player view height in real world inches.
vr_laserSightUseOffset 1 BOOL - Emit laser sight from the gun's laser sight emitter instead of the gun's barrel.
com_fixedTic 0 BOOL - run a single game frame per render frame. Fixes frame dropping in VR.
vr_asw 0 INTEGER - Oculus Asynchronous SpaceWarp. 0 = force off (hack), 1 = enabled, 2 = 45 FPS ATW, 3 = 45 FPS ASW
com_showFPS 0,1,2 : Show frames rendered per second. 0: off 1: default bfg values, 2: only show FPS (classic view)
vr_comfortRepeat 100 INTEGER - Delay in MS between repeating comfort snap turns.
vr_joyCurves 0 INTEGER - Joy powercurves. 0 = Doom default 1 = Mixed curve with vr_joyCurveSensitivity and vr_joyCurveLin
vr_joyCurveSensitivity 9 FLOAT - Sensitivity val 0 - 9
vr_joyCurveLin 4 FLOAT - Linear point for joyCurves sens < lin = power curve , sens = lin = linear , sens > lin = frac power curve.
vr_grabberBeamWidth 4 INTEGER - Beam width for grabber in VR. Default 4.
vr_guiFocusPitchAdj 7 FLOAT - View pitch adjust to help activate in game touch screens
vr_slotDebug 0 BOOL - slot debug visualation
vr_slotMag 0.1 FLOAT - slot vibration magnitude (0 is off)
vr_slotDur 18 INTEGER - slot vibration duration in milliseconds
vr_slotDisable 0 BOOL - disable using slots.
vr_blink 1 FLOAT - Darkens the screen when head bumps walls and objects.
vr_throwPower 4.0 FLOAT - Throw power when motion throwing objects. Higher power will throw farther with same motion. vr_guiH unused vr_guiA unused vr_rumbleDiv 1 FLOAT - rumble divisor - no need to adjust vr_rumbleSkip 1 FLOAT - frames to skip - no need to adjust
vr_rumbleEnable 1 BOOL - Enable VR controller rumble
vr_openVrStuckPadAxisFix 1 BOOL - Check for openVR controller stuck pad axis.
vr_openVrStuckPadAxisFixThresh 12 INTEGER - # of identical non zero input polls before axis flagged as stuck.
vr_mouseCapture 0 INTEGER - Constrain the mouse to the game window while running if true.
vr_debugTouchCursor 0 BOOL - Show the cursor position when using touch screen mode.
vr_pixelDensity 1.25 FLOAT - VR supersampling level. If the Oculus Runtime or OpenVR have been configured to provide supersampling, set this to 1!
vr_vignette 1 INTEGER - unused
vr_enable 1 INTEGER - Enable VR mode. 0 = Disabled 1 = Enabled.
vr_FBOscale 1.0 FLOAT - unused
vr_useOculusProfile 1 INTEGER - Use official Profile values. 0 = use user defined profile, 1 = use official profile.
vr_manualIPDEnable 0 INTEGER - Override the HMD provided IPD value with value in vr_manualIPD 0 = disable 1= use manual iPD vr_manualIPD 64 FLOAT - User defined IPD value in MM
vr_manualHeight 70 FLOAT - User defined player height in inches
vr_minLoadScreenTime 6000 FLOAT - Min time to display load screens in ms. 0.0f, 10000.0f
vr_clipPositional 1 BOOL - Clip positional tracking movement . 1 = Clip 0 = No clipping.
vr_armIKenable 1 BOOL - Enable IK on arms when using motion controls and player body is visible. 1 = Enabled 0 = disabled
vr_weaponHand 0 INTEGER - Which hand holds weapon. 0 = Right hand 1 = Left Hand 0, 1
vr_flashlightMode 3 INTEGER - Flashlight mount. 0 = Body 1 = Head 2 = Gun 3= Hand ( if motion controls available.)
vr_flashlightBodyPosX 0 FLOAT - Flashlight vertical offset for body mount.
vr_flashlightBodyPosY 0 FLOAT - Flashlight horizontal offset for body mount.
vr_flashlightBodyPosZ 0 FLOAT - Flashlight forward offset for body mount.
vr_flashlightHelmetPosX 6 FLOAT - Flashlight vertical offset for helmet mount.
vr_flashlightHelmetPosY -6 FLOAT - Flashlight horizontal offset for helmet mount.
vr_flashlightHelmetPosZ -20 FLOAT - Flashlight forward offset for helmet mount.
vr_offHandPosX 0 FLOAT - X position for off hand when not using motion controls. vr_offHandPosY 0 FLOAT - Y position for off hand when not using motion controls. vr_offHandPosZ 0 FLOAT - Z position for off hand when not using motion controls.
vr_forward_keyhole 11.25 unuser
vr_PDAfixLocation 0 BOOL - Fix PDA position in front of player instead of holding in hand.
vr_weaponPivotOffsetForward 3 FLOAT - weaponPivotOffset CVars define the position of the weapon hand when using a gamepad vr_weaponPivotOffsetHorizontal 0 FLOAT - vr_weaponPivotOffsetVertical 0 FLOAT - vr_weaponPivotForearmLength 16 FLOAT -
vr_guiScale 1 FLOAT - ( dont change ) scale reduction factor for full screen menu/pda scale in VR 0.0001f, 1.0f
vr_guiSeparation .01 FLOAT -( dont change ) Screen separation value for fullscreen guis.
vr_guiMode 2 INTEGER - Gui interaction mode. 0 = Weapon aim as cursor 1 = Look direction as cursor 2 = Touch screen
vr_hudScale 1.0 FLOAT - Hud scale 0.1f, 2.0f
vr_hudPosHor 0 FLOAT - Hud Horizontal offset in inches
vr_hudPosVer 7 FLOAT - Hud Vertical offset in inches
vr_hudPosDis 32 FLOAT - Hud Distance from view in inches
vr_hudPosAngle 30 FLOAT - Hud View Angle
vr_hudPosLock 1 INTEGER - Lock Hud to: 0 = Face, 1 = Body
// The following cvars allow individual hud elements to be enabled or disabled.
vr_hudType 2 INTEGER - VR Hud Type. 0 = Disable. 1 = Full 2 = Look Activate 0, 2
vr_hudRevealAngle 48 FLOAT - HMD pitch to reveal HUD in look activate mode.
vr_hudTransparency 1 FLOATHud transparency. 0.0 = Invisible thru 1.0 = full 0.0, 100.0
vr_hudOcclusion 1 BOOLHud occlusion. 0 = Objects occlude HUD, 1 = No occlusion
vr_hudHealth 1 BOOL - Show Armor/Health in Hud.
vr_hudAmmo 1 BOOL - Show Ammo in Hud.
vr_hudPickUps 1 BOOL - Show item pick ups in Hud.
vr_hudTips 1 BOOL - Show tips Hud.
vr_hudLocation 1 BOOL - Show player location in Hud.
vr_hudObjective 1 BOOL - Show objectives in Hud.
vr_hudStamina 1 BOOL - Show stamina in Hud.
vr_hudPills 1 BOOL - Show weapon pills in Hud.
vr_hudComs 1 BOOL - Show communications in Hud.
vr_hudWeap 1 BOOL - Show weapon pickup/change icons in Hud.
vr_hudNewItems 1 BOOL - Show new items acquired in Hud.
vr_hudFlashlight 1 BOOL - Show flashlight in Hud.
vr_hudLowHealth 20 INTEGER = Disable, otherwise force hud if heath below this value.
vr_voiceRepeat 0 BOOL - 1 = computer speaks back whatever commands or lines you say
vr_voiceCommands 2 INTEGER - Enable voice commands. 0 = none, 1 = menus, 2 = menus and weapons
vr_voicePushToTalk 0 BOOL - Push to Talk' button must be pressed before voice commands recognized 0 = disabled, 1 = enabled
vr_talkWakeMonsters 1 INTEGER - Talking wakes monsters. 0 = no, 1 = both methods, 2 = like flashlight, 3 = like weapon. This was broken before but is now fixed.
vr_talkWakeMonstersRadius - radius in inches within which talking quietly will wake enemies. Talking louder wakes monsters further than this.
vr_talkMode 2 INTEGER - Talk to NPC 0 = buttons, 1 = buttons or voice, 2 = voice only, 3 = voice no cursor
vr_tweakTalkCursor 25 FLOAT - Tweak talk cursor y pos in VR. % val 0 to 99 ( talk cursor is NPC name display )
vr_flicksyncCharacter 0 INTEGER - Flicksync character. 0 = none, 1 = Betruger, 2 = Swan, 3 = Campbell, 4 = DarkStar, 5 = Tower, 6 = Reception, 7 = Kelly, 8 = Brooks, 9 = Mark Ryan, 10 = Ishii, 11 = Roland, 12 = McNeil, 13 = Marine w PDA, 14 = Marine w Torch, 15 = Point, 16 = Bravo Lead, 17 = Player
vr_flicksyncCueCards 0 INTEGER - How many Cue Card Power-Ups to start with. Default = 0, max = 5
vr_cutscenesOnly 0 INTEGER - Skip action and only show cutscenes. 0 = normal game, 1 = cutscenes only, 2 = action only
vr_flicksyncScenes 1, INTEGER - 0 = all scenes, 1 = my chapter, 2 = from my start, 3 = my storyline, 4 = my scenes only
vr_flicksyncSpoiler 0 INTEGER - Don't show any cutscene past this point. 0 = allow spoilers, cutscene number = limit
g_stopTime 0 BOOL - Freeze time. This is used by the Flicksync to pause cutscenes. If there's a bug and everything is frozen try setting it to 0.
vr_wristStatMon 1 INTEGER - Use wrist status monitor. 0 = Disable 1 = Right Wrist 2 = Left Wrist
vr_listMonitorName 0 BOOL - List monitor name with resolution. ( no longer as useful with direct mode)
vr_disableWeaponAnimation 1 BOOL - Disable weapon idle animations in VR. ( 1 = disabled )
vr_headKick 0 BOOL - Damage can 'kick' the players view. 0 = Disabled in VR.
vr_joystickMenuMapping 1 BOOL - Use alternate joy mapping in menus/PDA. 0 = D3 Standard 1 = VR Mode. (Both joys can nav menus, joy r/l to change select area in PDA.
vr_deadzonePitch 90 FLOAT - Vertical Aim Deadzone 0, 180 ( deadzone used with gamepad mode to define how far you can aim before view moves.)
vr_deadzoneYaw 30 FLOAT - Horizontal Aim Deadzone 0, 180
vr_comfortDelta 10 FLOAT - Comfort Mode turning angle 0, 180
vr_headingBeamMode 3 INTEGER - 0 = disabled, 1 = solid, 2 = arrows, 3 = scrolling arrows
vr_weaponSight 0 INTEGER - Weapon Sight. 0 = Lasersight 1 = Red dot 2 = Circle dot 3 = Crosshair
vr_weaponSightToSurface 1 INTEGER - Map sight to surface. 0 = Disabled 1 = Enabled
vr_motionWeaponPitchAdj 40 FLOAT - Weapon controller pitch adjust ( use to change the default pitch of the weapon to your liking )
vr_motionFlashPitchAdj 40 FLOAT - Flashlight controller pitch adjust ( use to change the default pitch of the flashlight to your liking )
vr_nodalX -3 FLOAT - Forward offset from eyes to neck ( In the real world, if you stand still and tilt your head, you don't want the character body to move. Nodal X and Y are used to define the base of the neck based on head orientation. If you stand still in the game, and tilting your head moves the player you can adjust these so this won't happen.)
vr_nodalZ -6 FLOAT - Vertical offset from neck to eye height
// vr_vcx,y,and z define the distance from the tracked point on the controller
to the center of the controller handle.
will be different for Oculus or Vive.
vr_vcx -3.5 FLOAT - Controller X offset to handle center // these values work for steam vr_vcy 0 FLOAT - Controller Y offset to handle center vr_vcz -.5 FLOAT - Controller Z offset to handle center
vr_mountx 0 FLOAT - If motion controller mounted on object, X offset from controller to object handle. (Eg controller mounted on Topshot)
vr_mounty 0 FLOAT - If motion controller mounted on object, Y offset from controller to object handle. (Eg controller mounted on Topshot)
vr_mountz 0 FLOAT - If motion controller mounted on object, Z offset from controller to object handle. (Eg controller mounted on Topshot)
vr_mountedWeaponController 0 BOOL - If physical controller mounted on object (eg topshot), enable this to apply mounting offsets 0=disabled 1 = enabled
vr_3dgui 1 BOOL - 3d effects for in game guis. 0 = disabled 1 = enabled
vr_shakeAmplitude 1.0 FLOAT - Screen shake amplitude 0.0 = disabled to 1.0 = full 0.0f, 1.0f
vr_controllerStandard 0 INTEGER - If 1, use gamepad, not motion controllers Restart after changing
vr_padDeadzone .25 FLOAT - Deadzone for steam pads. 0.0 = no deadzone 1.0 = dead
vr_padToButtonThreshold .7 FLOAT - Threshold value for pad contact to register as button press .1 high sensitiveity thru .99 low sensitivity
vr_knockBack 0 BOOL - Enable damage knockback in VR. 0 = Disabled, 1 = Enabled
vr_jumpBounce 0 FLOAT - Enable view bounce after jumping. 0 = Disabled, 1 = Full 0.0f, 1.0f // Carl
vr_stepSmooth 1 FLOAT - Enable smoothing when climbing stairs. 0 = Disabled, 1 = Full 0.0f, 1.0f // Carl
vr_walkSpeedAdjust -20 FLOAT - Player walk speed adjustment in VR. (slow down default movement)
vr_wipPeriodMin 10.0 FLOAT - unused vr_wipPeriodMax 2000.0 FLOAT - unused vr_wipVelocityMin .05 FLOAT - unused vr_wipVelocityMax 2.0 FLOAT - unused vr_headbbox 10.0 FLOAT - unused
vr_pdaPosX 20 FLOAT - When using the PDA in fixed mode, instead of freehand mode, these values position the PDA in relation to the player. vr_pdaPosY 0 FLOAT - vr_pdaPosZ -11 FLOAT - vr_pdaPitch 30 FLOAT -
vr_movePoint 0 INTEGER - If enabled, move in the direction the off hand is pointing. ( enabled = Onward style movement )
vr_moveClick 0 INTEGER0 = Normal movement. 1 = Click and hold to walk, run button to run.
2 = Click to start walking, then touch only. Run btn to run.
3 = Click to start walking, hold click to run.
4 = Click to start walking, then click toggles run
vr_playerBodyMode 0 INTEGER - Player body mode: 0 = Display full body 1 = Just Hands 2 = Weapons only
vr_bodyToMove 1 BOOL - Lock body orientaion to movement direction.
vr_crouchMode 0 INTEGER - Crouch Mode: 0 = Full motion crouch (In game matches real life) 1 = Crouch anim triggered by smaller movement.
vr_crouchTriggerDist 10 FLOAT - Distance ( in inches ) player must crouch in real life to toggle crouch if crouchmode set to 1
vr_frameCheck 0 INTEGER - 0 = bypass frame check
vr_forceOculusAudio 1 BOOL - Request openAL to search for Rift headphones instead of default device. Fails to default device if rift not found.
vr_stereoMirror 1 BOOL - Render mirror window with stereo views. 0 = Mono , 1 = Stereo Warped
vr_APISelect 0 INTEGER - VR API Select: 0 = Autodetect ( Oculus Native then OpenVR ) , 1 = Oculus Native Only 2 = OpenVR only
vr_teleport 2 INTEGER - Player can teleport at will. 0 = disabled, 1 = gun sight, 2 = right hand, 3 = left hand, 4 = head 0, 4
vr_teleportMode 0 INTEGER - Teleport Mode. 0 = Blink (default), 1 = QuakeCon style (slow time and warp speed)
vr_teleportMaxTravel 950 INTEGER - Maximum teleport path length/complexity/time. About 250 or 500 are good choices, but must be >= about 950 to use tightrope in MC Underground. 150, 5000
vr_teleportThroughDoors 0 BOOL - Player can teleport somewhere visible even if the path to get there takes them through closed (but not locked) doors.
ai_debugMove 0 BOOL - Debug teleporter and monster navigation by showing teleport path
vr_teleportSkipHandrails 0 INTEGER - Teleport aim ingnores handrails. 1 = true
vr_teleportShowAimAssist 0 INTEGER - Move telepad target to reflect aim assist. 1 = true
vr_teleportButtonMode 0 BOOL - 0 = Press aim, release teleport. 1 = 1st press aim, 2nd press teleport
vr_teleportHint 0 BOOL - internal use.
vr_teleportVel 650 FLOAT ( these teleport cvars used to define the shape of the teleport aiming beam )
vr_teleportDist 60 FLOAT vr_teleportMaxPoints 24 FLOAT - vr_teleportMaxDrop 360 FLOAT -
vr_motionSickness 10 INTEGER - Motion sickness prevention aids. 0 = None, 1 = Chaperone, 2 = Reduce FOV, 3 = Black Screen, 4 = Black & Chaperone, 5 = Reduce FOV & Chaperone, 6 = Slow Mo, 7 = Slow Mo & Chaperone, 8 = Slow Mo & Reduce FOV, 9 = Slow Mo, Chaperone, Reduce FOV, 10 = Third Person, 11 = Particles, 12 = Particles & Chaperone 0, 12
vr_strobeTime 500 INTEGER - Time in ms between flashes when blacking screen. 0 = no strobe
vr_instantAccel 1 BOOL - optional instant player acceleration/decelaration when using artifical movement (to reduce motion sickness)
timescale 1.0 FLOAT - game speed multiplier. Used by slow mo motion sickness fix. If there's an issue with it, you may need to set timescale 1
vr_chaperone 2 INTEGER - Chaperone/Guardian mode. 0 = when near, 1 = when throwing, 2 = when melee, 3 = when dodging, 4 = always 0, 4
vr_handSwapsAnalogs 0 BOOL - Should swapping the weapon hand affect analog controls (stick or touchpad) or just buttons/triggers? 0 = only swap buttons, 1 = swap all controls
vr_autoSwitchControllers 1 BOOL - Automatically switch to/from gamepad mode when using gamepad/motion controller. Should be true unless you're trying to use both together, or you get false detections. 0 = no, 1 = yes.
vr_headshotMultiplier 2.5 FLOAT - Add headshot damage multiplier for projectile weapons with no splash damage (and fists). Damage inflicted by the fists, pistol, shotgun, machinegun, chaingun, and plasmagun will be multiplied by this factor when enemy is hit in the head. Multiplier only affects enemies who already had a defined head damage zone with > 1 damage scale, so it does not affect most boss monsters (cyberdemon, guardian, seekers, maledict and saboath). Also does not affect the pinky, trite, tick, cacodemon and lost soul enemies. 1.0f thru 5.0f. Setting cvar to 1.0 adds no additional damage.
vr_shotgunChoke 0 FLOAT - This enables an optional 'choke' for the shotgun, by reducing the spread. The shotgun is supposed to be a closeup weapon in the game, but the depth provided in VR really changes how it feels. IMO, it seems underpowered unless you are on top of an enemy, due to the extreme pellet spread. % To choke shotgun. 0 = None, 100 = Full Choke
vr_useHandPoses 0 BOOL - If using oculus touch, enable finger poses when hands are empty or in guis
vr_cinematics 0 INTEGER - Cinematic type. 0 = Immersive, 1 = Cropped, 2 = Projected
r_useShadowMapping 0 - Use soft shadow mapping instead of hard stencil shadows
10) KNOWN ISSUES
See https://github.com/KozGit/DOOM-3-BFG-VR/issues
Doom 3 wasn't designed to work with shadow maps so:
11) GETTING THE SOURCE CODE
This project's GitHub.net Git repository can be checked out through Git with the following instruction set:
> git clone https://github.com/KozGit/DOOM-3-BFG-VR.git
If you don't want to use git, you can download the source as a zip file at https://github.com/KozGit/DOOM-3-BFG-VR/archive/master.zip
Init/Update the submodules in Git to get OpenVR.
12) COMPILING ON WINDOWS WITH VISUAL C++ 2013, 2015, OR 2017 EXPRESS / COMMUNITY
Download and install the free Express or Community version of Visual C++ 2013, 2015, or 2017.
Download and install the DirectX SDK (June 2010) here: http://www.microsoft.com/en-us/download/details.aspx?id=6812
Download and install the latest CMake, saying YES to adding CMake to your path.
Generate the VC projects using CMake by doubleclicking a matching configuration .bat file in the neo/ folder. eg. cmake-vs2013-64bit.bat (it will erase your build folder)
(UPDATED) Go to https://developer.oculus.com/downloads/pc/1.17.0/Oculus_SDK_for_Windows/ then download and extract it somewhere. Copy the LibOVR folder to DOOM-3-BFG-VR/neo/libs
(UPDATED) Init/Update the submodules in Git to get OpenVR. In TortoiseGit, right click in the folder then choose TortoiseGit > Submodule Update... then press OK.
Open the following file in Visual Studio and compile it: DOOM-3-BFG-VR/build/Doom3BFGVR.sln
(UPDATED) Download ffmpeg-4.0-win32-shared.zip from https://ffmpeg.zeranoe.com/builds/win32/shared/ and/or ffmpeg-4.0-win64-shared.zip from https://ffmpeg.zeranoe.com/builds/win64/shared/
Extract the FFmpeg DLLs to your current build directory (eg. Release) under DOOM-3-BFG-VR/build/
Copy the Fully Possessed folder from Doom3-BFG-VR\vr_assets\ to your DOOM 3 BFG Edition folder.
(OPTIONAL) If Doom 3 BFG wasn't installed from Steam or GOG, set the path in Visual Studio. Right click project Doom3BFGVR, click Properties. Set Configuration to All Configurations. Choose Debugging, set Command Arguments to: +set fs_basepath "C:\Program Files (x86)\Steam\steamapps\common\DOOM 3 BFG Edition" or wherever you installed Doom 3 BFG edition
To create the installer, download and install NSIS. Build the release version in visual studio. Right click on the installer.nsi file and choose Compile NSIS Script.
13) COMPILING ON LINUX
LINUX VR:
build the engine:
cd neo
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release .. # -DCMAKE_BUILD_TYPE=Debug has really bad VR performance
make -j$(nproc)
symlink binary + mod files to wine steam installation and run
cd steam/SteamApps/common/DOOM\ 3\ BFG\ Edition
ln -s ~/DOOM-3-BFG-VR/neo/build/Doom3BFGVR .
ln -s ~/DOOM-3-BFG-VR/vr_assets/Fully\ Possessed/ .
export MESA_GL_VERSION_OVERRIDE=4.5COMPAT MESA_GLSL_VERSION_OVERRIDE=450 #mesa needs to fake a compat profile
./Doom3BFGVR
Use enter (have to look at the menu?) and the keyboard to get past the menu and start a game
KNOWN LINUX ISSUES:
Controller buttons don't work
*** The following instructions were for an older version of Doom 3 BFG and probably no longer apply.
You need the following dependencies in order to compile Doom3BFGVR with all features:
On Debian or Ubuntu:
> apt-get install cmake libsdl2-dev libopenal-dev libavcodec-dev libavformat-dev
libavutil-dev libswscale-dev
On Fedora
// TODO add ffmpeg libs for bink videos
> yum install cmake SDL-devel openal-devel
On openSUSE (tested in 13.1)
> zypper in openal-soft-devel cmake libSDL-devel libffmpeg1-devel
For SDL 2 replace "libSDL-devel" with "libSDL2-devel".
"libffmpeg1-devel" requires the PackMan repository. If you don't have that repo,
and don't want to add it, remove the "libffmpeg1-devel" option and compile without
ffmpeg support. If you have the repo and compiles with ffmpeg support, make sure
you download "libffmpeg1-devel", and not "libffmpeg-devel".
Instead of SDL2 development files you can also use SDL1.2. Install SDL 1.2 and add to the cmake parameters -DSDL2=OFF
SDL2 has better input support (especially in the console) and better support for multiple displays (especially in fullscreen mode).
Generate the Makefiles using CMake:
cd neo/ ./cmake-eclipse-linux-profile.sh
Compile DOOM-3-BFG targets with
cd ../build make
14) BUG REPORTS
DOOM-3-BFG VR: Fully Possessed is not perfect, it is not bug free just like all other software. To fixing as many problems as possible, we need as many bug reports as possible. We cannot fix anything if we don't know it's broken :).
The best way to tell us about a bug is by submitting a bug report at our GitHub bug tracker page:
https://github.com/KozGit/DOOM-3-BFG-VR/issues
The most important fact about this tracker is that we cannot simply forget to fix the bugs which are posted there. It is also a great way to keep track of fixed issues.
If you want to report an issue with the game, you should make sure that your report includes all information useful to characterize and reproduce the bug.
* What version you are using, and what mods you have installed.
* What hardware are you using ( Vive, Rift, Touch, Gamepad etc. )
* Search on Google
* Include the computer's hardware and software description ( CPU, RAM, 3D Card, distribution,
kernel etc. )
* If appropriate, send a console log, a screenshot, an strace ..
* If you are sending a console log, make sure to enable developer output:
Doom3BFGVR.exe +set developer 1 +set logfile 2
NOTE: We cannot help you with OS-specific issues like configuring OpenGL correctly, configuring ALSA or configuring the network.
15) LICENSE
See COPYING.txt for the GNU GENERAL PUBLIC LICENSE
ADDITIONAL TERMS: The Doom 3 BFG Edition GPL Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU GPL which accompanied the Doom 3 BFG Edition GPL Source Code. If not, please request a copy in writing from id Software at id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
16) CODE LICENSE EXCEPTIONS - The parts that are not covered by the GPL:
EXCLUDED CODE: The code described below and contained in the Doom 3 BFG Edition GPL Source Code release is not part of the Program covered by the GPL and is expressly excluded from its terms. You are solely responsible for obtaining from the copyright holder a license for such code and complying with the applicable license terms.
neo/libs/jpeg-6/*
Copyright (C) 1991-1995, Thomas G. Lane
Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions: (1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation. (2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group". (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind.
These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us.
NOTE: unfortunately the README that came with our copy of the library has been lost, so the one from release 6b is included instead. There are a few 'glue type' modifications to the library to make it easier to use from the engine, but otherwise the dependency can be easily cleaned up to a better release of the library.
neo/libs/zlib/*
Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
neo/idlib/Base64.cpp
Copyright (c) 1996 Lars Wirzenius. All rights reserved.
June 14 2003: TTimo ttimo@idsoftware.com modified + endian bug fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=197039
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
neo/libs/zlib/minizip/*
Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
Modifications of Unzip for Zip64 Copyright (C) 2007-2008 Even Rouault
Modifications for Zip64 support Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
neo/idlib/hashing/MD4.cpp Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived work.
RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.
These notices must be retained in any copies of any part of this documentation and/or software.
neo/idlib/hashing/MD5.cpp This code implements the MD5 message-digest algorithm. The algorithm is due to Ron Rivest. This code was written by Colin Plumb in 1993, no copyright is claimed. This code is in the public domain; do with it what you wish.
neo/idlib/hashing/CRC32.cpp Copyright (C) 1995-1998 Mark Adler
neo/renderer/OpenGL/glext.h neo/renderer/OpenGL/wglext.h
Copyright (c) 2007-2012 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Materials.
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
neo/libs/timidity/*
Copyright (c) 1995 Tuukka Toivonen
From http://www.cgs.fi/~tt/discontinued.html :
If you'd like to continue hacking on TiMidity, feel free. I'm hereby extending the TiMidity license agreement: you can now select the most convenient license for your needs from (1) the GNU GPL, (2) the GNU LGPL, or (3) the Perl Artistic License.