This repository was archived by the owner on Jan 2, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
Changelog
Luke Groeninger edited this page Jan 2, 2021
·
54 revisions
Major changes:
- Support for both Linux and OS X
- New game save format
- Backport of the Yamagi Quake II save game system
- Instead of saving pointers to functions, it saves function names
- Provides resiliency against changes in memory layout changes
- Old save games will not work with the next release
- Now supports forcing native resolution for HMD in VR mode
- Can be enabled by setting
vr_force_resolution 1or through the VR Advanced menu
- Can be enabled by setting
- Experimental fake side-by-side 3D support. I don't have a 3D TV to test this with, so YMMV.
- Enabled with
r_stereo - Separation adjusted with
r_stereo_separation - Support for 3D Vision/etc may come later
- Enabled with
- Add desaturation effect when position tracking is lost
- Will start to desaturate the view when it approaches the edges of the camera frustum
- Will start to desaturate the view when the Oculus Rift is turned away from the camera
- Controlled with
vr_ovr_trackingloss
- Support toggling vignette fade for Oculus Rift
- Fade is now disabled by default to improve FOV
- Can be re-enabled using
vr_ovr_distortion_fade 1
- Disabled advanced rendering options under Intel GPUs to boost base performance for DK2
- Texture compression support is disabled (hurts performance in testing)
- Bloom and Blur are both disabled
- Explicit GPU sychronization is disabled
- Tested on an Intel HD 5100 GPU to get > 75FPS typically at 1920x1080p (DK2 native)
- Remove dependencies on libjpeg and libvorbis (using stb_image and stb_vorbis instead)
- Updated game controller support database
New features:
- An option to adjust the HUD resolution has been added to the VR Advanced menu
- An option to set if fullscreen uses a fullscreen desktop window or not to the Advanced Video menu
- Adds support for S3TC/BPTC texture compression - adjusted with
r_texture_compressionor through Video option - Options to force fullscreen mode during VR under VR->Advanced
- Add ability to fix the HUD in the direction of aim
- Add ability to load PNGs
- Screenshots are now saved as PNGs
Bug fixes:
- Oculus render backend properly scales backbuffer resolution based on screen resolution
- Fix for menu background alpha/brightness difference when not in a game
- Fixed DK2 luminance overdrive not sampling correct pixels
- Fix issues with DK2 latency tester support, however it only works on debug devices (SDK bug?)
- Fix issues with window creation and positioning when Windows DPI scaling is enabled
- Fix crashes on Intel GPUs when Windows DPI scaling is enabled
- Fix bugs in saving screenshots when sRGB mode is enabled
- Improved CPU detection
- Improve isolation of SteamVR support
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 0cvar followed byvid_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 0cvar followed byvid_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.
- Walking speed is calculating by multiplying the default walking speed by the value of
- Can now adjust the VR mode HUD resolution.
-
vr_hud_widthandvr_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_debugenabled. - Fix
vr_autofovnot working. - Fix
vr_autofov_scalenot 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.
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
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
- Now supports time warping (
- Renderer improvements
- Adds support for sRGB framebuffer (
vid_srgb) -
vid_gammadeprecated in favor ofvid_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
- Adds support for sRGB framebuffer (
- Better integration of OpenAL-MOB
- Allows enabling/disabling HRTFs at runtime (
al_hrtf) - No longer depends on OpenAL Soft configuration to be properly set
- Allows enabling/disabling HRTFs at runtime (
- HUD in VR mode is now more curved
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.dllifvrgamex86.dllis not found - Configuration file is now
vrconfig.cfg - Save game directory is now
vrsave<n>
- Executable is now
- 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
- Significantly expanded controller support that no longer relies on Xinput, including support for:
- 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
- Added support for GPU frame pacing to minimize input latency (
- 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_modeintovr_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_warpandr_causticswithr_waterquality - Eliminated separate
vr_hud_bounce_modeoption and made it part ofvr_hud_bounce - CD Audio support is deprecated in favor of ogg media playback
Changes from KMQuake II v0.20 Update 6:
- New
writeconfigcommand - 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
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
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_autoipdto control whether it auto-configures IPD or uses value ofvr_ipd - Added support for specifying custom lens separation distances for the Oculus Rift via
vr_ovr_lensdistance - Added
vr_ovr_autolensdistanceto control if it auto-configure LSD or uses value ofvr_ovr_lensdistance - Added
vr_ovr_autoscaleto control if it scales distorted image to the outer edge (default), inner edge, or uses the value ofvr_ovr_scale.
- Added
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_motionpredictiontovr_ovr_prediction
- Updated VR HUD defaults for legibility and enabled transparency by default
- Replaced fixed video modes via
r_modewith explicit mode setting usingr_widthandr_height(required for support for future HMDs) - Replaced
in_joystickwithin_controller- set to 1 for Xbox, 2 for Joystick, 0 to disable both. - Added
r_drawnullmodelto 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
Fixes:
- Fixed issue with head/neck model that could let you see through walls at oblique angles.
- Moved aim modes 1/3/5/6/7 to common code path.
- Aim modes 6/7 now behave more like HL2/TF2 aim modes 3/4.
- Aim mode 3 now lets the weapon return to center before mouse input affects view.
- Switching aim modes no longer messes up controls
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.
- Enable or disable with
- Added new aim modes.
- 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 is determined byvr_viewmove. - 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.
- Aim modes 5 and 6 were consolidated into aim mode 5, and it has been updated to function more like HL2/TF2's
- Added support for separate horizontal and vertical deadzones.
-
vr_aimmode_deadzonehas been replaced byvr_aimmode_deadzone_pitchandvr_aimmode_deadzone_yawfor 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 1to 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_scalehas 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.
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_bouncecontrols intensity and disables it -
vr_hud_bounce_falloffcontrols 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_depthin 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)
Initial release.