Skip to content

Releases: VR-Stereo-Hub/bioshock-trilogy-vr

v0.8.2 - crash fix: loading a save in BioShock 1

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 14 Aug 20:06

Fixes a crash when loading a save in BioShock 1. If this hit you, it was not your setup - it was a real bug, and it is fixed. Everything else in v0.8.1 is unchanged; update if you play BioShock 1, and there is no harm in updating either way.

What was happening

To control the in-game FOV, the mod locates one of the engine's settings objects by walking the game's memory heaps. Loading a save destroys and recreates engine objects, so the mod re-runs that search right as the level comes up - and a level load also destroys whole heaps. If a heap disappeared during the search, the mod locked memory that no longer existed and the game died instantly with an access violation.

It was a race, which is why it hit some people on every save load and others never at all.

The fix

Every heap operation is now crash-proof. The protective guard was already there, but the one call that actually failed sat just outside it - so the guard covered the fault we had imagined and missed the one that happens in practice. On top of that the mod now checks whether a heap is still alive before touching it, and records both cases in the log instead of taking the process down.

If a skip ever happens you will see it on the scan line as SKIPPED n dead + n faulted heap(s), survived - that text means the guard did its job and the game kept running.

Other games

BioShock 2 and BioShock Infinite were never affected - they locate objects a different way that has always been guarded. Both were audited as part of this fix, and the fix itself lives in shared code, so all three games are covered from here on.

Install: unzip, copy the four DLLs into the game's binary folder (Build\Final\ for the remasters, Binaries\Win32\ for Infinite), launch through Steam. Full instructions in README.txt.

Everything from v0.8.1 (SteamVR / Steam Link support, the X+Y pause chord, BioShock 1 hand & weapon scaling, instant move direction) is included - see the v0.8.1 notes for that list.

sha256 (zip): B754B1C9DC94AA60A9BD149DA0FB7DC10A2FB3E03B02D734E518A3D347D35E58

v0.8.1 - SteamVR / Steam Link support, hand & weapon scaling, quality-of-life

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 14 Aug 19:18

The first batch of post-0.8.0 community-feedback work. All three games, same drop-in install - the zip now carries four DLLs.

SteamVR and Steam Link are now supported

The top request - Index, Vive, WMR and Steam Link setups previously got "no OpenXR runtime" and ran flat:

  • The zip bundles a SteamVR compatibility shim (bvr_steamvr32.dll + openvr_api.dll). SteamVR has never shipped a 32-bit OpenXR runtime and these games are 32-bit; the shim bridges the mod to SteamVR's fully-32-bit-capable OpenVR interface instead. Copy all four DLLs next to the game exe - there is nothing to configure: the mod tries the native OpenXR runtime first and falls back to the shim automatically. (Force a path with %LOCALAPPDATA%\BioshockVR\xr.ini: [runtime] / mode=auto|native|steamvr.)
  • Controller bindings for Index, Vive wands and WMR ship both natively and through the shim. Vive/WMR defaults are partial (the wands have no face buttons) and everything is rebindable in SteamVR's own controller binding UI, which always wins. WMR is untested on hardware. Quest via Virtual Desktop/VDXR remains the primary, most-tested path.
  • Verified on Quest 3 via Steam Link on BioShock 1 and 2. Note: Virtual Desktop's "SteamVR" runtime toggle does not move these 32-bit games off VDXR (that lane is native and faster anyway) - to actually play through SteamVR on a Quest, use Steam Link.
  • BioShock Infinite needed one extra fix: the game builds its graphics on DXGI 1.0, which breaks SteamVR's texture sharing (headset stuck in the void, input dead). The mod now upgrades the game's DXGI factory at launch, and Infinite submits to SteamVR like the other two.
  • Quitting SteamVR mid-game (or SteamVR crashing) no longer kills the game - it drops to flat rendering and keeps running.
  • While the SteamVR dashboard is open, controller input pauses by design; close the dashboard to resume.

New: pause chord

Steam Link sometimes swallows the menu button (the Steam overlay eats it). Press X and Y together on the left controller - it acts exactly like the menu button in all three games on every runtime: tap for the pause menu, hold for the back/select action.

BioShock 1: hand and weapon scaling

The second-most-requested item: the hands and the held weapon can now be scaled independently - F10 > hands section (per-hand 0.2-4.0, weapon 0.3-2.5), vrhands scale/wscale, preset keys handScaleL/handScaleR/wScale. The shipped defaults ARE a headset-tuned calibration (hands 0.793, weapon 0.76), and the aim calibration was re-baked to match - lasers, trims and per-weapon profiles line up with the new proportions out of the box.

Movement feel

"Instant move direction" is now default ON for BioShock 1 and 2 - a fast 180 head-turn while walking no longer makes the walk direction arc to catch up. (F10 body section has the toggle if you prefer the old smoothing.)

Quality of life and fixes

  • Both-sticks-click recenters the view (works everywhere, no F10 trip needed)
  • BioShock 1 now auto-loads your saved preset values at boot (parity with BS2)
  • F10: preset save/load buttons pinned at the top (BS1); the resolution picker warns about exclusive-fullscreen configs; Ctrl+click any slider to type an exact value
  • The zip ships TROUBLESHOOTING.txt - the 32-bit OpenXR registry key, broken 32-bit API layers (ReShade and friends), the SteamVR shim story, resolution guidance
  • Extra diagnostics for the reported BS2 left-eye flicker (issue #31) - a per-minute pairing instrument now watches the layer the previous instrument could not see; if you can reproduce that flicker, an up-to-date log is now genuinely useful evidence

Two gotchas worth knowing

Both are now written up in TROUBLESHOOTING.txt inside the zip.

"No OpenXR runtime" with OBS installed. Several users have had this disappear after removing OBS Studio. Before uninstalling anything, try in order: fully close OBS (it keeps running in the system tray), disable its game/VR capture hooks and any VR-capture plugin, and check the 32-bit implicit API-layer registry key for an OBS entry. If it genuinely only works with OBS uninstalled, please open an issue with your OBS version and plugin list - the mechanism isn't confirmed yet and that's a bug worth fixing properly.

In the headset, but only a flat floating screen? That is not a runtime problem - VR started fine, but stereo and head-tracking are disarmed. It's almost always a saved vrpreset.ini with them switched off, which keeps overriding the shipped defaults after every update (so reinstalling the mod never helps). Fix: close the game and copy the matching preset-bs1 / preset-bs2 / preset-bsi vrpreset.ini from the zip over the one in %LOCALAPPDATA%\BioshockVR\... (deleting yours works too), or arm it live in F10: VR stereo + camera / head drive, or the one-click VR PRESET 1 / APPLY PRESET on BioShock 1 and 2.

Install: unzip, copy the four DLLs into the game's binary folder (Build\Final\ for the remasters, Binaries\Win32\ for Infinite), launch through Steam. Full instructions in README.txt.

sha256 (zip): 7F05EB5757359767C1E2AD69D9C97FD9F22D11D61B991AC27E98CE541F4A8282

v0.8.0 - BioShock Infinite joins: all three games in one zip (early access)

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 13 Aug 01:45

BioShock Infinite is now playable in VR. Same two DLLs, third game: drop them into ...\steamapps\common\BioShock Infinite\Binaries\Win32\ (note: NOT Build\Final - Infinite is UE3 and keeps its binaries elsewhere) and launch through Steam with your headset connected. BioShock 1 and 2 are unchanged in this release and were regression-checked.

Infinite is a different engine from the remasters, so this is a from-scratch VR bringup, shipping as early access: playable and comfortable from the start of the game through the early city (the tested range). Later chapters, the Skyline and the DLCs have not had a VR pass yet.

What works today in Infinite

  • Full-rate stereo rendering + 6DOF head tracking (Quest 3 via Virtual Desktop/VDXR is the tested path; any OpenXR runtime with a 32-bit loader should work)
  • Motion controllers: gun right, vigor left, aim laser + dot
  • Interactions follow your head - USE prompts arm where you look, not where your body points
  • Scripted sequences and cutscenes play correctly, including first-person vignettes (drinking a vigor shows the authored hands; door cinematics no longer double the hands) - with an F10 fallback radio per scene
  • Melee swings and executions; the sprint arm-pump is suppressed
  • Game HUD on a readable floating panel; flat crosshair hidden in favor of the laser
  • Body-follows-head movement, stick pitch disabled, snap turn
  • In-headset F10 tuning overlay; settings persist per game (%LOCALAPPDATA%\BioshockVR\bsi\)

Performance - read this first

Infinite in VR is heavier than the remasters. If you see judder or jitter, lower the load: reduce the game resolution first (resW/resH in the F10 overlay, keep it roughly square), then Virtual Desktop's streaming quality. A clean 90 Hz at modest resolution beats a sharp stutter. If the image freezes after taking the headset off/on, toggle "VR enabled" off/on in F10 - the session recovers instantly.

Known issues (early access, in the open)

  • Brief visual artifacts where the game streams the world in (the bell tower at the very start is the clearest example) - passes when loading settles
  • Hand/arm model jank in places; with a vigor and NO gun the hand model sits differently than with a gun (per-loadout tuning unfinished)
  • Aim not fully fine-tuned; per-weapon aim/model calibration in progress
  • A few specific cinematic beats: the tattoo-on-your-hand beat still hides the hand; some holds may show hands a beat late; F10 "cutscene rig: always hide" is the per-session fallback
  • Reload animation can look wrong on some weapons
  • Near view-edge the hand model can drift slightly toward the camera
  • Some hand effects (muzzle flash, tracers, vigor charge plume) can appear at the game's original hand position instead of your controller
  • And a few smaller ones - report with %LOCALAPPDATA%\BioshockVR\bsi\bioshockvr.log

Upgrading from v0.7.0

Copy both DLLs over the old ones in each game folder you use. Your tuning in %LOCALAPPDATA%\BioshockVR\ wins key by key; everything new arrives as new keys with working defaults.

sha256(zip): 795EB0F2ED8972240E9DC61E575B96827CB5042DE6AF00304F5ABB37DA1FFEE7

v0.7.0 - BioShock 2 support: both games in VR

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 04 Aug 23:42

One download, two games. The same two DLLs now power native VR for BioShock Remastered AND BioShock 2 Remastered - the mod detects which game loaded it. Install into either game or both.

What's new in v0.7.0 - BioShock 2 support

  • Full motion controls: each hand rides its own controller, weapons/plasmids aim from the hand, bullets leave the hand, per-weapon calibration ships built in.
  • Movement follows your view: stick-forward walks where you look; smooth and snap turn both carry your body.
  • HUD on a readable floating panel (health/EVE, ammo, plasmid, subtitles); screen effects stay in the world view. Menus and fullscreen screens land on a readable screen.
  • Cutscenes play properly: authored camera in stereo with head-look (adjustable), your hands hand over to the game's animations for the scene, no black-bar artifacts.
  • Game crosshair hidden by default (you aim with the mod's dot); toggle in F10.
  • BioShock 1 is unchanged from v0.6.0 - this zip is a drop-in update for it.

Install

  1. Download bioshock-vr-v0.7.0.zip and copy both DLLs (xinput1_3.dll, bioshockvr.dll) into the game's binary folder:
    • BioShock: ...\steamapps\common\BioShock Remastered\Build\Final\
    • BioShock 2: ...\steamapps\common\BioShock 2 Remastered\Build\Final\
  2. Preset files (each folder has its own HOW-TO-USE.txt):
    • preset-bs1\ -> copy into %LOCALAPPDATA%\BioshockVR\ (BioShock 1's bundled calibration).
    • preset-bs2\ -> optional: BioShock 2's calibration is built into the DLL. The folder is the author's exact tuned setup - copy into %LOCALAPPDATA%\BioshockVR\bs2\ to restore it after experimenting.
  3. If you use itsloopyo's head-tracking mod (BS1), remove its xinput1_3.dll first - same injection vector, they cannot coexist.
  4. Headset (Quest 3 + Virtual Desktop): set Virtual Desktop's OpenXR runtime to VDXR, connect, launch the game from Steam inside Virtual Desktop. Steam Link / SteamVR also works.
  5. In-game: load your save and you are in VR. Press F10 for the mod menu.

The F10 menu - what to play with

  • PRESET (top): APPLY arms everything; SAVE persists every slider/toggle below across relaunches. When in doubt, APPLY.
  • During cutscenes (VR section): authored+look (default) = the scripted camera plays and you can still look around; authored = fully locked shot; off = you keep control.
  • VR HUD: distance / width / height sliders for the floating HUD panel.
  • VR camera: world scale, snap turn (on/off + angle) vs smooth turn speed, Recenter, and the game crosshair toggle (hidden by default).
  • Body / locomotion: "body follows head" (default on) is what makes stick-forward = look direction; follow rate and deadzone if you prefer a looser feel.
  • HANDS + AIM (per hand): aim trim and position sliders - tune per weapon, they save per weapon automatically; model scale and weapon offset; laser beam and aim-dot toggles per hand (default: beams off, dots on); arms follow/hide.
  • Hide cutscene black bars: on by default; flip it if you want the letterbox back.

Notes

  • 32-bit games: the DLLs are x86 on purpose.
  • Uninstall = delete the two DLLs from the game folder.
  • sha256 6F301989BE027EAC30C9A241E5DE2CD23E6CFB704ED39FD981C57333CBA32D9E

v0.6.0 - swing the wrench to swing the wrench

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 30 Jul 22:26

Download and install

  1. Download bioshock-vr-v0.6.0.zip below and copy both DLLs (xinput1_3.dll,
    bioshockvr.dll) into the game's binary folder:
    ...\steamapps\common\BioShock Remastered\Build\Final\
  2. If you use itsloopyo's head-tracking mod, remove or back up its xinput1_3.dll first -
    the two mods use the same injection vector and cannot coexist.
  3. Headset side (Quest 3 + Virtual Desktop): set Virtual Desktop's OpenXR runtime to VDXR,
    connect, then launch the game from Steam inside Virtual Desktop. (Steam Link / SteamVR works
    too - the mod talks to whatever OpenXR runtime is active.) Set the game's resolution to
    roughly SQUARE, not 16:9
    - something like 2700x2700; headset panels are near square, so a
    16:9 backbuffer renders a wide strip that the headset then throws away.
  4. Launch through Steam, press F10, click VR PRESET 1. No restart is ever needed.

Unchanged from v0.5.0. Controls, tuning and troubleshooting are in the bundled README.txt.


Melee is a motion now. Swing your right hand and Jack swings the wrench. The trigger still
works exactly as before - this is in addition to it, not instead of it, so nothing you already
do stops working and you can fall back to the trigger any time your arm is tired or the room is
tight.

It only arms while the wrench is equipped, and that is deliberate rather than cautious: the
gesture works by composing a trigger pull, and a trigger pull with a gun in hand is a shot. So
the mod checks what you are actually holding, not whether the motion looked like melee.

One honest limit, because it will otherwise read as a bug: the gesture changes when the
attack happens, never where it lands. BioShock aims melee from your view, through machinery
no hook of ours can reach, so a sideways swing while you look forward still hits forward -
exactly as the trigger has always behaved. Point at what you want to hit.

Tuning ("Swing speed needed", default 3.6 m/s, in the F10 overlay): that is the speed your
hand has to clear, calibrated in a headset so that walking, turning your body or reaching for
something never registers. Lower it if swings get missed, raise it if ordinary movement sets one
off. There is also a cooldown and a fire delay if you want to shape the feel, and
vrinput swing off or the overlay checkbox disables the whole thing.

Fixed: the bundled preset was re-breaking the health and EVE bars

If you copied v0.5.0's preset/vrpreset.ini into %LOCALAPPDATA%\BioshockVR\, your health and
EVE bars have been reading as empty ever since - that file shipped effectsInFrame=1 after the
built-in default had already been corrected to 0, and your file wins over the default. v0.5.0's
own notes said this was fixed; for anyone who adopted the bundle, it was not.

A fresh install was never affected, and neither was anyone who kept their own tuning. If it
hit you, either take the new preset/vrpreset.ini or change that single line to
effectsInFrame=0 and restart. Nothing else about your tuning is touched.

Still known, unchanged from v0.5.0

  • Full-screen effects sit on the HUD panel. Water and damage tints ride the floating panel
    rather than covering your view. This is the same key as the fix above, and turning it on is
    what empties the bars - the real fix needs different geometry, since the game authors these at
    HUD size, and that is the next piece of work.
  • Cutscenes sit low with black borders. Ticking "Game FOV write" in the overlay makes them
    fill the view, still not recommended for normal play.

Upgrading

Copy both DLLs over the old ones - the install steps are unchanged. Your own tuning in
%LOCALAPPDATA%\BioshockVR\ still wins key by key, and swing-to-attack arrives as new keys with
working defaults, so an existing install picks it up without touching anything you calibrated.
The one exception is the bar fix above, which is a value in your file and so needs the one-line
change.

v0.5.0 - cutscenes, and an aim dot you can trust

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 30 Jul 21:29

Cutscenes are the headline. Session 28 changed the projection claim, the foreground lens
and the frame pacing, and cutscenes are the one place all three meet - so this release exists
to make that intersection right rather than to add features around it.

The wrench hits again

Melee had been unreliable in a way that looked random and was not: the engine's own idea of where
you were aiming had frozen pointing at the floor, and swings went there. Worst when you looked
down, which is why fights and the rocks at the start were the bad cases, and why a wall you walked
up to squarely still worked. Guns were never affected.

The chase for this went through two wrong answers first, both eliminated by measurement rather
than argument, and both are recorded so nobody repeats them: the aim substitution (melee never
reaches it) and pad lock-on (that setting was never taking effect at all).

The health and EVE bars have their colour back

A change in this release cycle was sending the bars' colour fills into the world instead of onto
the HUD panel, so the bars read as empty. Same fix reverts full-screen effects to the HUD panel,
which is where they were in v0.4.1 - see the known issue below.

Known issue: full-screen effects sit on the HUD panel

Water and damage effects ride the floating HUD panel rather than covering your view. Routing them
into the world was tried and is what emptied the health bars, and it could not have worked anyway:
the game authors them at HUD size, so moving them into the frame just puts a HUD-sized rectangle in
the middle of your view. Covering the view needs different geometry, which is the next piece of
work rather than a switch.

Known issue: cutscenes sit low with black borders

Ticking Game FOV write in the F10 overlay makes them fill the view, but it is not recommended
for normal play yet.

Cutscene black bars are gone

The bars were never part of the picture. They are a flash sprite (WidescreenBars) that the
game draws over a full-frame image, so skipping that one draw reveals what was always
underneath - nothing is cropped, stretched or re-projected. Off by default? No: on by
default, because there is no trade. "Hide cutscene black bars" turns it off if you want them.

This corrects a long-standing wrong model. Earlier builds assumed the engine squeezed the
picture into a middle band and tried to stretch it back; that was a real risk of cropping
picture, and it never worked. The stretch is deleted.

The rig behaves during a cutscene

New "During cutscenes" dropdown:

  • authored (default) - the director's camera and the authored hand animation play exactly
    as they do in the flat game.
  • authored + head look - the choreography plays, but you can look around. Your head adds
    to the shot rather than replacing it, so the scene still opens framed as intended.
  • off - your head and hands drive straight through the scene, as in earlier builds.

Previously the controllable hands could override the authored ones, and a hidden hand could
stay hidden for the rest of the scene. Both are fixed: the drives are suspended explicitly and
the viewmodel skeleton is handed back to the engine.

Cutscene subtitles are readable again

They now ride the head-locked panel - one image in both eyes. Rendered into the world they were
captured separately per eye, from different game frames, and the text doubled. "Cutscene
subtitles in-frame" restores the old behaviour if you want it.

Aim dot

A single dot on the ray the bullet actually uses. It is not a reconstruction that happens to
agree - it is built from the exact values handed to the game's fire code, so where the dot sits
is where the shot goes. Off by default; "Aim dot" turns it on.

Set aim dot distance to roughly your calibration wall's distance before tuning. A dot and a
bullet hole only line up in stereo when they sit at the same depth, otherwise you will chase a
mis-registration that is not a trim error.

Also

  • The dot only appears while the mod is genuinely steering your shots, so it doubles as a
    live indicator that aim substitution is working.
  • Cutscene detection no longer depends on reading black pixels off the frame, which never
    worked with a headset attached - it keys on the bar draw itself.

Upgrading

Nothing to do. Your own tuning in %LOCALAPPDATA%\BioshockVR\ still wins key by key, and all
of the above are new keys with sensible defaults, so an existing install picks them up without
touching anything you calibrated.

v0.4.1 - crash capture that survives Steam, stereo load fix, thumbrest ammo select

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 29 Jul 13:23
469b55d

Fixes

  • Stereo no longer drops on level loads. Pressing VR PRESET 1 once now stays
    good across loading screens (a recovery watchdog was misreading loads as
    deadlocks and silently turning stereo off - the "VR but not 3D until I press
    the preset again" report).
  • XR swapchains survive resolution churn. Some machines issue mid-session
    same-size resize events (overlays, window managers); these no longer tear the
    eye textures out from under the OpenXR runtime - the suspected cause of
    hard crashes to desktop on some setups.
  • Ammo select is now the LEFT thumbrest (the pad above the X/Y buttons):
    rest your thumb on it and push the RIGHT stick up/down/left. No more holding
    the stick click while pushing the same stick. The overlay's "Ammo-select
    modifier" combo (or vrinput ammomod click|thumbrest|both) switches back.
    Controllers without a thumbrest (Pico etc.) keep the stick click automatically.

Crash reporting - please upgrade before sending reports

  • Crash dumps are now written even though Steam's crash reporter takes over
    the process crash handler
    - on v0.4.0 and earlier, most crashes produced no
    dump and no log line at all. That is why "it just closed, no dump" kept happening.
  • Dumps now carry heap and data segments; the log records registers, a decoded
    stack, and whether the fault was a read, a write, or a jump into bad memory.
  • bioshockvr.prev.log keeps the previous run's log - relaunching the game no
    longer destroys the evidence of the crash you just had.
  • The first log lines now identify the exact build and your machine (OS build,
    cores, RAM). No more guessing which version a report came from.

If you crash: send %LOCALAPPDATA%\BioshockVR\bioshockvr.log,
bioshockvr.prev.log, and the newest .dmp from %LOCALAPPDATA%\BioshockVR\crash\.

Install / upgrade

  1. Exit the game AND Steam completely (Steam locks the old DLL).
  2. Delete the old xinput1_3.dll and bioshockvr.dll from
    ...\steamapps\common\BioShock Remastered\Build\Final\.
  3. Copy both DLLs from this zip there. First line of the log should read
    bioshockvr 0.4.1 starting.

Tip: set the game resolution near-square (e.g. 2700x2700) instead of 16:9 4K -
on a Quest, 16:9 renders a wide strip the headset throws away, so square is both
sharper and faster. See the README for the numbers.

v0.4.0 - cinematics, screen routing, no-restart install, turn controls

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 29 Jul 00:29
48d5ca9

Highlights

  • Cinematics in stereo: scripted scenes (the bathysphere descent) now render as a proper stereo projection with head-look - the fisheye and broken fusion are gone (the mod measures the scene's real FOV live and tells the headset the truth). Prefer a big virtual screen instead? One checkbox in the F10 overlay ("Cinematics as stereo projection").
  • Hacking and loading screens are readable: world-less 2D screens (the hack minigame, loading screens, menus) now appear on a head-locked screen in front of you instead of being sprayed across the whole FOV.
  • Post-process effects stay in the world: alcohol blur and friends render per-eye on the camera instead of landing on the HUD panel.
  • No more first-boot restart: the mod answers the game's one-shot gamepad check itself - motion controllers work the moment you press VR PRESET 1, first launch included.
  • Head-roll stereo fix: eye separation now follows your full head orientation - tilting your head no longer breaks stereo.
  • Turn controls: smooth-turn speed slider and optional snap turn (angle configurable), persisted with your preset.
  • Pad aim-magnetism (soft lock-on) disabled by default - it fought VR aiming; re-enable in the overlay if you want it.
  • Early-game freeze fix: the weapon-profile resolver no longer periodically stalls the game on saves with no weapons yet.
  • Overlay hardening, and the hack/pause screens follow your view.

Known issues

  • Engine-cinematic letterbox bars (e.g. plasmid injection sequences) are still visible mid-view in the headset; an experimental removal ships default-off (vrcine unsqueeze on). Under investigation for the next release.
  • During those cinematics, awake motion controllers override the scene's authored hands; set the controllers down to watch the authored version. Fix planned.

Install

As before: copy xinput1_3.dll and bioshockvr.dll next to BioshockHD.exe (Build\Final\), launch, press F10 -> VR PRESET 1. A fresh install needs no tuning; see preset/HOW-TO-USE.txt if you already have your own calibration.

v0.3.0 - per-weapon aim profiles + full bundled calibration

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 28 Jul 18:21
029178c

The aim update: every weapon now keeps its own laser calibration, and the shipped defaults ARE a complete in-headset calibration - install and play, no tuning needed.

Highlights

  • Per-weapon aim profiles: the right hand's aim trim + ray offsets follow the equipped weapon automatically - tune with a weapon up and only that weapon changes, swapped in the moment you switch. All eight holdables (pistol, shotgun, machine gun, grenade launcher, crossbow, chemical thrower, wrench, research camera) ship pre-calibrated. Calibration flow if you want it tighter: fire at a wall, nudge the sliders until the laser sits on the bullet holes, next weapon, one "Save preset values".
  • The aim finally sits on the model: the render-lock correction that made the laser drift off the gun at wide hand angles is retired (off by default). Aim is 1:1 with the controller.
  • Bundled full calibration: aim trims (now up to +-90 deg), per-weapon profiles, body-follow (instant 1:1), and HUD placement all ship as defaults, tuned in-headset on a Quest 3.
  • One trim algebra everywhere (from the session-20 work): laser, bullets, and viewmodel share one pose math - trims hold at every wrist roll, plus an idle-sway kill so the barrel does not breathe while you aim.

Using the bundled preset

  • New install: copy the two DLLs into ...\BioShock Remastered\Build\Final\, launch, press F10 -> VR PRESET 1. Done - the defaults are the calibration.
  • Already have your own tuning? Your files in %LOCALAPPDATA%\BioshockVR\ always win over the built-in defaults - updating changes nothing you tuned. To adopt the bundled calibration (wholly or partly), see preset/HOW-TO-USE.txt in the zip: replace or mix in vrpreset.ini / hands.ini / weapons.ini and restart.

Also in this release

  • Weapon identity resolved from the engine's own equipped-holdable pointer: profile swaps are instant, work before the first shot, and can never bleed edits into another weapon's profile.
  • Right-stick deadzone for body-follow now defaults to 0 (nothing moves with the camera anymore, so the band is unnecessary).
  • New diagnostics for the curious: fovaudit (projection submission vs rendered), vrfgnode (foreground-scene instrument), vrrec record/replay, and a frame-dump decoder in tools/.

Known: the flat desktop window can pause while the headset overlay is open (in-headset play is unaffected). Full details and the reverse-engineering notes are in docs/ on the repo.

bioshock-vr v0.2.0

Choose a tag to compare

@mohamad-balouza mohamad-balouza released this 27 Jul 23:17
414a3e9

bioshock-vr v0.2.0

Everything on the v0.1.0 known-issues list that hit every player is addressed:

  • The HUD is readable in VR. Health, EVE, and ammo now show on a floating
    panel in front of you during stereo gameplay instead of unreadable
    double-vision at the screen edges - and the pause menu lands on the same
    panel. Three overlay sliders (distance / width / height) place it, and
    "Save preset values" persists them. The flat window keeps its normal HUD.
  • VR-standard controls. Use/interact stays on A (it is also the menu
    confirm), jump on B, reload/hack on X, first-aid on Y - and holding the
    right-stick click while pushing up/down/left selects between the equipped
    weapon's three ammo types (BioShock's d-pad function, which Touch never
    had a home for). The weapon/plasmid wheels select normally with the stick
    while a grip is held, and zoom is removed (an HMD FOV zoom is a comfort
    hazard; nothing requires it). Full table in the README.
  • The ghost hand is gone. The inactive hand (and the stowed weapon, when
    your plasmid is up) no longer floats in view; whichever hand is raised is
    the only one you see. vrhands hideinactive off restores the old behavior.
  • The right stick no longer pitches the view. Your head owns pitch in VR;
    the stick turns you. This also stops the viewmodel riding the stick
    vertically. vrinput pitchkill off restores stick pitch.

Install and setup are unchanged from v0.1.0 (both DLLs into
...\BioShock Remastered\Build\Final\, VDXR or SteamVR, F10 -> VR PRESET 1) -
see the README inside the zip. Existing tuned presets (vrpreset.ini /
hands.ini) carry over untouched.

Known issues (the v0.3.0 targets): per-weapon aim/laser/model alignment away
from the tuning pose (the trim-algebra unification and muzzle-bone work), the
viewmodel's idle sway, and the main menu still rendering flat.