Skip to content
This repository has been archived by the owner on Jan 2, 2021. It is now read-only.

Releases: dghost/quake2vr

v2.0.0 (alpha)

16 May 00:02
Compare
Choose a tag to compare
v2.0.0 (alpha) Pre-release
Pre-release

NOTE: For more info, and download links including the Shareware episode, see http://www.malcolm-s.net/q2vr/

Updates in this version:

  • Oculus CV1 (consumer version) support with LibOVR 1.12
  • Partial Oculus Touch support. Touch can be used as a gamepad input. Additionally, if "VR Controller Support" is enabled in the game options (VR section) (enabled by default for right-hand aiming), the Touch controllers can be used to aim weapons (orientation only). Positional weapon tracking is not supported.
  • VR Comfort Turning (enabled by default, 22.5 degree increments). Can be disabled in game options, VR section. There are also two new console commands "comfortturn_left" and "comfortturn_right", so comfort turning can be used in conjunction with more aimmodes; bound to DPad Left and Right by default.
  • Experimental VR auto-crouch feature (disabled by default), which lets you crouch in real-life to trigger in-game crouch. May be buggy. To enable, type 'vr_autocrouch 1' at the console
  • VR Supersampling (Render Target Multiplier, Pixels per Display Pixel Override) can be set explicitly in game options (VR, Advanced).

Version 1.9.3

16 Aug 06:12
Compare
Choose a tag to compare
Version 1.9.3 Pre-release
Pre-release

Version 1.9.3 (Pre-release)

Major changes:

  • Now use a fullscreen window at the current desktop resolution for fullscreen.
    • Should be more robust than triggering a display mode change.
    • Means that setting the resolution larger than the current desktop mdoe will result in downsampling.
    • Can be disabled using the vid_fullscreen_desktop 0 cvar followed by vid_restart.
    • UI will be added at a later date.
  • VR mode now forces the use of a fullscreen window.
    • Fullscreen mode forces auto-placement of window, and minimizes issues with windows always appearing on primary monitors.
    • Can be disabled using the vr_force_fullscreen 0 cvar followed by vid_restart.
  • Now default to GPU frame pacing to be disabled and a larger HUD size.
    • Won't take effect unless you reset screen and video configurations.
  • Shuffle menu options for clarity. Aiming laser is now under main VR menu, custom FOV setting is now under advanced.
  • Update to libovr 0.4.1

New features:

  • Can now adjust the walking speed in VR mode.
    • Walking speed is calculating by multiplying the default walking speed by the value of vr_walkspeed.
    • Does not adjust run speed at all (still 2x baseline walk speed).
    • Supports a minimum (0.25) of 25% and a maximum (1.5) of 150% of the original.
    • Option also added to the VR menu that allows adjustment from 0.5 to 1.5.
  • Can now adjust the VR mode HUD resolution.
    • vr_hud_width and vr_hud_height
    • UI will be added at a later date.
  • Add ability to designate a Rift to use by setting vr_ovr_device.
    • Set cvar with the case-sensitive serial number of the device to use.
    • UI has also been added to Oculus configuration options to allow this.

Bug fixes:

  • Fix shader compatibility issues with Intel HD series GPUs.
  • Now use more robust HMD initialization code for Oculus Rift.
  • Fix issue with DK2 gamma hack being incorrectly applied to the DK1.
  • Fix issue where engine string could crash the game.
  • Fix issue that could cause potential crashes with cutscenes.
  • OVR latency tester and position tracking messages are only spammed if you have vr_ovr_debug enabled.
  • Fix vr_autofov not working.
  • Fix vr_autofov_scale not working.
  • Fix potential issue with DK2 latency tester (still unsupported however).
  • Fix some typos in menus.
  • Fix numeric keypad not working.
  • Fix issue where debug OVR HMDs were not working correctly.

v1.9.2

07 Aug 06:42
Compare
Choose a tag to compare
v1.9.2 Pre-release
Pre-release

Version 1.9.2 (Pre-release)

Major changes:

  • VR mode now supports position tracking (vr_positiontracking)
  • Updated to libovr 0.4.0 + adds support for DK2
    • Note: Direct HMD mode is currently broken - use extended desktop mode for the time being.
    • Extended desktop mode requires setting the Rift as the primary/only display to avoid Vsync issues.
    • DK1 + Latency Tester support works again
    • Added low persistence support for DK2+ HMDs (vr_ovr_lowpersistence)
    • Added luminance overdrive option for DK2+ HMDs (vr_ovr_lumoverdrive)
    • Added DK2 smearing prevention hack (vr_ovr_dk2_color_hack)
  • Updated Steamworks API to 1.30

Version 1.9.1 (Pre-release)

Major changes:

  • Updated to libovr 0.3.2
    • Now supports time warping (vr_ovr_timewarp)
    • Now supports automatic motion prediction (vr_ovr_autoprediction)
    • Now uses geometry based distortion
    • No longer supports custom lens separation distance and other customizations
    • Latency tester support is broken for the time being and may be removed later
  • Renderer improvements
    • Adds support for sRGB framebuffer (vid_srgb)
    • vid_gamma deprecated in favor of vid_brightness
    • Uses software gamma adjustment instead of adjusting display gamma when possible
    • Deprecates old bloom effect
    • Uses new render pipeline that adds post-processing effects and is more consistent between VR/non-VR
    • Supports new blur (r_blur) and bloom (r_bloom) effects
    • Adds support for FXAA (r_antialias 2) and FXAA FSS (r_antialias 3) (not recommended for DK1)
    • Generally better performing
  • Better integration of OpenAL-MOB
    • Allows enabling/disabling HRTFs at runtime (al_hrtf)
    • No longer depends on OpenAL Soft configuration to be properly set
  • HUD in VR mode is now more curved

Version 1.9.0 (Pre-release)

Major changes:

  • Moved to Q2VR naming scheme for all files
    • Executable is now quake2vr.exe
    • Game .dll's are now vrgamex86.dll
    • Will fall back on kmq2gamex86.dll if vrgamex86.dll is not found
    • Configuration file is now vrconfig.cfg
    • Save game directory is now vrsave<n>
  • Ported a majority of platform specific code to SDL2
  • Replaced the audio subsystem with one derived from Yamagi Quake II
  • Now requires OpenGL 2.0 to run, even when not using VR mode
  • Backported KMQuake II v0.20 Update 6 (see below for changes)

Improvements:

  • Move to SDL2 brings the following improvements:
    • Significantly expanded controller support that no longer relies on Xinput, including support for:
      • PS3/PS4 Controllers
      • Ouya controllers
      • Custom configurations, both in configuration files and if launched via Steam
    • More robust audio support with support for multiple audio APIs
    • More robust display handling and brightness adjustment
  • Renderer improvements:
    • Added support for GPU frame pacing to minimize input latency (r_fencesync 1)
    • Added support for late-frame scheduling (r_fencesync 2)
    • Shader-based antialiasing is now available outside of VR mode
    • Significant cleanup of video menu options
    • Tuned defaults to more closely match stock Quake II
    • Added blur post-processing effects
      • Added to effects that cause the full screen to be color blended
      • If the game is paused (in menu, console, etc) it blurs the view
  • VR Improvements:
    • Proper crosshair support - VR mode now uses the game-wide crosshair!
    • Added menu option for the (broken) aiming laser that has existed since 1.0
    • The HUD is now curved at a fixed depth to make it easier on the eyes.
    • Support for SteamVR as a fallback if direct access to an Oculus Rift device is unavailable.
    • The OVR latency tester now automatically sets the in-game motion prediction to it's result.
  • Sound Improvements:
    • Replaced the audio subsystem with a port from Yamagi Quake II
    • The new SDL2 backend is significantly more robust and supports multiple audio APIs
    • Now includes OpenAL support and HRTF compatibility via OpenAL Soft
    • Significantly enhanced OGG media playback
  • Brought back original Quake II railgun effect
  • Improved modern railgun effects and added Quake III style core + particle trail
  • Simplified various menus by removing unnecessary/esoteric menu items

Fixes:

  • Fixed incorrect parameters with emulated HD DK settings
  • Fixed screen shot issues with the load/save game menus
  • Fixed crashes that occurred under some conditions when setting custom lens separation distances
  • Fixed crashing related to bloom support
  • No longer attempt to enumerate OVR devices every frame if one is not connected
  • No longer equip "no weapon" when cycling weapons
  • No longer print messages related to being out of ammo when cycling weapons
  • Adaptive Vsync is disabled on AMD drivers to prevent display corruption
  • Fixed menus behaving incorrectly while in a demo
  • Oculus Latency Tester now works with distortion disabled
  • Fix an issue that effected stereo separation when auto-IPD was enabled (may have existed in 1.3)
  • Fix crashing on load screen related to null-pointer de-reference in the audio subsystem.
  • Fixed an issue where the menu could get stuck on a load screen.
  • Fixed the Plasma Beam not rendering correctly in VR mode
  • Fixed surface subdivision that would cause seams to appear if applying water warping
  • Fixed an issue where input could be applied to VR mode while in a menu or at the console

Changes:

  • Deprecation of platform-specific backends in favor of SDL2 and GLEW.
  • Significant cleanup of the renderer to remove pre-GL 2.0 extensions + cruft
  • Removed support for OpenGL mini drivers
  • Added standalone cvar for adaptive vsync (disabled for AMD video cards due to display corruption issues)
  • Transitioned from ARB Assembly language shaders to GLSL shaders
  • Added mission pack game .dll source to the repo for future builds (might split into separate repo/projects?)
  • Default FPS cap increased to 150fps for future HMD support
  • Merged vr_hud_bounce_mode into vr_hud_bounce
  • OVR Latency Tester support now has dedicated cvar
  • Replaced OVR bicubic distortion filtering option with bspline-weighted bilinear
  • Reduced default OVR motion prediction value
  • OVR render path now pre-computes the distortion and stores it in a texture
  • Added ability to adjust OVR distortion texture resolution
  • Changed default OVR distortion scale to scale to the nearest edge instead of the furthest edge
  • Removed software caustic effect and replaced r_pixel_shader_warp and r_caustics with r_waterquality
  • Eliminated separate vr_hud_bounce_mode option and made it part of vr_hud_bounce
  • CD Audio support is deprecated in favor of ogg media playback

Changes from KMQuake II v0.20 Update 6:

  • New writeconfig command
  • Better scaling of UI elements on the HUD
  • Support for high-resolution menu graphics
  • New cursor on the main menu
  • Higher resolution HUD icons
  • More impact decals
  • Load time optimizations
  • Improved load screen progress indicator
  • Fix for save games in baseq2 being visible when using a different game dir
  • Support longer file paths
  • Reduce stutter when opening save/log game menus
  • Downsample save game screenshots to nearest power of two
  • Better bloom defaults

Version 1.3.1

10 Dec 04:46
Compare
Choose a tag to compare

New features:

  • Added option to disable use of auto-calculated FOV
  • Added lower sensitivity options for the Xbox 360 controllers
  • Added linear exponential smoothing for HUD bounce falloff
  • Added option to select HUD bounce falloff smoothing algorithm

Fixes:

  • Pausing the game no longer causes loss of control over the view
  • Restored pausing the game when a menu is up
  • Fixed issues that could cause a crash on disabling VR mode

Changes:

  • Removed pretty loading screens in favor of stock Quake II loading screen
  • Removed the launch console
  • Updated 4x FSAA
  • Tweaked defaults

Version 1.3

19 Nov 09:37
Compare
Choose a tag to compare

Note: For this release I had to make changes to how I packaged both the releases and the extras package. It shouldn't cause problems, but if it does I recommend setting up a clean install.

New features:

  • Configuration menus for all VR related properties under Options->Virtual Reality
  • Support for Xbox 360 Controllers and Xinput compatible gamepads, configurable in the controls menu
  • VR mode rendering improvements:
    • Added fake 4xSSAA support
    • Added bicubic filtering for Oculus Rift distortion shader
    • Added support for the Oculus Latency Tester when the OVR Debug Mode is enabled
    • Added emulation for the both the HD DK1 and DK1 to the OVR Debug Mode
  • Added cvar's to explicitly control auto-configuration of properties:
    • Added vr_autoipd to control whether it auto-configures IPD or uses value of vr_ipd
    • Added support for specifying custom lens separation distances for the Oculus Rift via vr_ovr_lensdistance
    • Added vr_ovr_autolensdistance to control if it auto-configure LSD or uses value of vr_ovr_lensdistance
    • Added vr_ovr_autoscale to control if it scales distorted image to the outer edge (default), inner edge, or uses the value of vr_ovr_scale.

Fixes:

  • Fixed issue with HUD transparency
  • Fixed issues with crosshair scaling improperly
  • Fixed an issue with internal handling of angles past clamped tolerances
  • Fixed an issue where angle clamping wasn't being performed as constant time operation
  • Fixed an issue where the player model rendered wrong on the player configuration screen
  • Fixed an issue where the player configuration screen would not save settings

Changes:

  • Updates for the Oculus Rift:
    • Updated to libOVR 0.2.5
    • Improved robustness of Oculus Rift handling
    • Allow enabling of VR mode even if an Oculus Rift doesn't have a connected sensor
    • Removed automatic magnetic calibration (required by libOVR 0.2.5)
    • Renamed vr_motionprediction to vr_ovr_prediction
  • Updated VR HUD defaults for legibility and enabled transparency by default
  • Replaced fixed video modes via r_mode with explicit mode setting using r_width and r_height (required for support for future HMDs)
  • Replaced in_joystick with in_controller - set to 1 for Xbox, 2 for Joystick, 0 to disable both.
  • Added r_drawnullmodel to toggle drawing of coordinate axis for null or missing objects
  • Tweaked compiler optimizations to improve performance
  • Removed support for versions of Windows prior to XP (required by Xinput)
  • Switched to enumerating GL_EXT_shaderobjects and GL_EXT_packed_depth_stencil instead of GL_ARB_shaderobjects to improve compatibility with pre-OpenGL 3.0 hardware.
  • Removed legacy controller configuration options from Options->Controls
  • Removed dead code related to Windows 9x, Solaris, and DEC Alpha
  • Started renaming RiftQuake II -> Quake II VR

Version 1.2.1

04 Oct 00:10
Compare
Choose a tag to compare

New features:

  • Added a simple head/neck model to make up for the Rift's lack of position tracking.
    • Enable or disable with vr_neckmodel. Enabled by default, setting it to 0 disables it.
    • Neck length can be adjusted with vr_neckmodel_up. Default is 0.232 meters.
    • Distance between spine and eyes can be adjusted with vr_neckmodel_forward. Default is 0.09 meters.
  • Added new aim modes.
    • Aim mode 3 now requires the cursor be returned to the center of the screen before it rotates the view.
    • Aim modes 5 and 6 were consolidated into aim mode 5, and it has been updated to function more like HL2/TF2's vr_moveaim_mode 2. It features partially decoupled aiming within a deadzone that moves with the view.
    • Aim mode 6 is now an implementation of HL2/TF2's default vr_moveaim_mode 3. This decouples viewing from aiming horizontally but keeps aiming within a deadzone. Movement is always in the direction you are looking.
    • Aim mode 7 is now an implementation of HL2/TF2's vr_moveaim_mode 4. This is identical to aim mode 6 except movement follows the aim direction.
    • Aim mode 8 is now a fully decoupled aiming/view mode, with view being absolute direction. You have to physically turn around in order to look behind you.
  • Added support for separate horizontal and vertical deadzones.
    • vr_aimmode_deadzone has been replaced by vr_aimmode_deadzone_pitch and vr_aimmode_deadzone_yaw for vertical and horizontal movement respectively.
    • Deadzone maximum size has also been increased to 360 degrees for each axis.
    • Only applies to aim modes 5, 6, and 7.
  • Added a mode to disable thread yielding/sleeping while idling.
    • This improves performance, but may increase power consumption or decrease system responsiveness in some cases.
    • Enable or disable with vr_nosleep. Enabled by default, setting it to 0 disables it.
  • Added Oculus Rift debug mode.
    • Meant to aid testing/debugging and is disabled unless explicitly enabled at launch.
    • If no Rift is detected it emulates an HD DK prototypes.
    • To enable add +set vr_ovr_debug 1 to the command line.

Fixes:

  • Fixed issues with teleporting, dying in multiplayer, or loading a save game causing improper view orientation/rotations for all aim modes except 2 and 4. While a fix is still being investigated, due to limitations in the Q2 network protocol aim modes 2 and 4 may not be able to be fixed.
  • Fixed the most common causes of stuttering.
  • Fixed issues with HUD bouncing that occurred when looking straight up or straight down.
  • Fixed bloom causing graphical corruption when adjusting the distortion scale.

Changes:

  • vr_ovr_scale has been changed to allow explicitly using the SDK provided distortion scale. Setting it to a value less than 1 enables this behavior, and is the default for new installations.
  • The near clip plane has been brought in to make weapon model clipping less obvious.
  • HUD bouncing now uses spherical interpolation for more accuracy.
  • HMD interface has been refactored to make it easier to add support for other HMD's.

Version 1.1

25 Aug 16:40
Compare
Choose a tag to compare

New features:

  • Added manual FOV adjustment through vr_fov_scale
  • Added the ability to set movement relative to view direction instead of aim direction through vr_viewmove
  • Added smoothed HUD counter-rotation to help make 2D UI elements less jarring
    • vr_hud_bounce controls intensity and disables it
    • vr_hud_bounce_falloff controls weighting and how many approximate frames it averages over

Fixes/changes:

  • Fixed an issue where view offsets were being applied incorrection. This should help a lot of the problems with the world scale seeming off, although it is highly recommended that users change the HUD depth (reset vr_hud_depth in the console) afterwards.
  • Fixed broken rendering when setting the player as left handed
  • Fixed crosshair rendering for both left and center handed configuration.
  • Escape now always cancels cinematics
  • Using the console or the menu no longer pauses gameplay (allows head tracking for scene to prevent nausea)

Version 1.0

21 Aug 08:02
Compare
Choose a tag to compare

Initial release.