Skip to content

Releases: crinkelitehttps/newdarkvr

v0.3: Thief II + Thief Gold, NewDark 1.29

Choose a tag to compare

@crinkelitehttps crinkelitehttps released this 02 Oct 15:43

Thief II and Thief Gold in a SteamVR headset (NewDark 1.28 / 1.29).

New in v0.3

  • Thief Gold support (NewDark 1.29 Thief.exe, e.g. installed with RoguePatcher)
  • NewDark 1.29 support for Thief II (1.28 still works)
  • Experimental: NewDark 1.29's hardware T&L renderer (Thief2_hwtl.exe / Thief_hwtl.exe, with dynamic shadows and the other new effects) via run_openvr_hwtl.bat
  • One zip for both games: the launchers find Thief2.exe or Thief.exe themselves

What it does

  • Stereo 3D with head tracking (1:1; SteamVR reprojection keeps the world steady)
  • The game's view widened to fill the headset
  • HUD (light gem, health, inventory) on a head-locked panel, toggle with H or controller Y; the light gem can stay visible on its own
  • Menus and books on a panel fixed in the room
  • Optional Xbox-style controller support (dinput.dll)
  • No changes to the game install: a d3d9.dll in the game folder loads the mod

Install
Copy everything inside the zip's thief2-vr-v0.3 folder into the game folder (next to Thief2.exe or Thief.exe), start SteamVR, then run run_openvr_1440.bat (or run_openvr_hwtl.bat for the hardware T&L renderer). Details, controls and settings are in README.md.

Requirements
Windows 10/11, SteamVR and a headset, and one of these exact game builds (any other is refused safely, and headlook.log says so):

  • Thief2.exe NewDark 1.28: af56a109a51ac9100a15da72cd403170a266736313679029fae1c222ebfba684
  • Thief2.exe NewDark 1.29: d26342c34624a08a0e5fc8d8c9daf14c676642c328f41c01f548170774aafe8f
  • Thief2_hwtl.exe NewDark 1.29: 4f1f98ed9cde1a2b1d8e2c6780ad4aebe74c0ea036efe0653b6fbae16bbc9f15
  • Thief.exe (Gold) NewDark 1.29: 1a4bec9ef2d30ae948154bf74d31808d5942bbbcd9cbd6d40a0296622b44b5bb
  • Thief_hwtl.exe (Gold) NewDark 1.29: e34cb1e64a15d51695710e2550b4b2f847e11867c2c6fcff697f6d324ba24222

Known issues

  • Frame rate on an RTX 3050 at 1440x1080: 33-54 fps (classic renderer), 22-31 fps (hardware T&L); each frame is copied through the CPU on its way to SteamVR
  • Hardware T&L exe: the light gem and held-item models show in the left eye only
  • Rotation only, no positional tracking
  • HUD text is small
  • Tested on one PC with one Windows Mixed Reality headset only

SHA-256 of thief2-vr-v0.3.zip:
c2197f4de2f9d36ccba729ff6bd8dd47a0319331d8857223a3602aabfe8b31f5

newdarkvr_quest_test

Choose a tag to compare

@crinkelitehttps crinkelitehttps released this 26 Sep 17:50

v0.1(prerelease)

v0.1(prerelease) Pre-release
Pre-release

Choose a tag to compare

@crinkelitehttps crinkelitehttps released this 25 Sep 22:49

Thief II: The Metal Age v1.28 update

1.28 Notes

This is a maintenance patch that fixes a couple of things.
See list below. Consider all prior versions obsolete and do not use them any more.

1.27 Notes

This is a maintenance patch that fixes a couple of things.
See list below. Consider all prior versions obsolete and do not use them any more.

It also introduces the multiplayer beta. See separate release notes inside "mp.zip".

1.26 Notes

This is a maintenance patch that fixes a couple of things and adds a few new ones.
See list below. Consider all prior versions obsolete and do not use them any more.

1.25 Notes

This is a hotfix for v1.24 that fixes a couple of things. It also includes a new script OSM (squirrel.osm).

1.24 Notes

This is a hotfix for v1.23 that fixes a couple of things.

In particular the broken "sun_runtime_obj_shadows" has been fixed. In DromEd the crashes related to DXT
textures have also been fixed (if "dxt_to_rgb32" was enabled as a workaround for those crashes then it
can be removed again).

1.23 Notes

Like the previous update, this is a maintenance patch with bug fixes and some new additions.
See list below. Consider all prior versions obsolete and do not use them any more.

Files saved (by either the game or DromEd) with v1.23 are not compatible with older versions.
Older DromEd versions may appear to be able to load the files, but some things will be severely broken.

1.22 Notes

This is a maintenance patch that fixes a number of things and adds a few new ones.
See list below. Consider all prior versions obsolete and do not use them any more.

1.21 Notes

This is a hotfix for v1.20 to fix broken multi-monitor support (which was made worse by the multi-
GPU and display fix in v1.20) and a pair of minor glitches. Otherwise this is identical to v1.20.

1.20 Notes

This is a maintenance patch for v1.19. It fixes a handful of mostly smaller, but also some more
serious, issues. See list below. Consider v1.19 obsolete and do not use it any more.

Various documentation has been updated and extended; it's recommended that you browse through them
again even if you're already familiar with them from a previous update.

Note to anyone who adjusted vertical mouse sensitivity ("mouse_sensitivity_y_scale" in user.bnd):
As of v2.41 the vertical and horizontal sensitivity is the same so you have to change
"mouse_sensitivity_y_scale" back to the default value of 1. The old behavior can be enabled with
"mouse_sensitivity_use_aspect 1".

Note to anyone with multiple GPUs or display devices:
Due to a bug fix the game may now end up using the "wrong" device (again), or rather the correct
device because it previously used the wrong one. Go to the Video options menu and change the device
under "Hardware Driver". Alternatively edit "cam.cfg" and remove the line "d3d_driver_index"
to restore default device usage.

Overview

This is an unofficial patch for Thief II: The Metal Age (T2) which updates the game from either v1.18
or newer to v1.28, providing improved support for modern hardware and correcting many known bugs. T2
can be purchased digitally from GOG (www.gog.com) and Steam (store.steampowered.com). If you prefer a
boxed copy, it can usually be found on Mastertronic and Amazon (or similar).

This patch is made available "as is" and without warranty of any kind. It was not developed by
Eidos/Square Enix, Looking Glass Studios, GOG, Steam, Mastertronic, or Amazon, and is neither
supported nor endorsed by them or anyone else. The aforementioned parties cannot be held responsible
for any problems or damages incurred by this software. If you do not agree with these terms then do
not apply the update.

T2 and its resources/executables are the property of Eidos/Square Enix.

Permission is granted to any party that has obtained the legal rights to sell the original (v1.18 or
earlier) game, such as GOG and Steam, to include this update, as long as they also have been granted
permission by Eidos/Square Enix to do so.

Installation

Requires Windows 2000 or later.

You must have a valid install of either T2 v1.18 or newer. If you have an old CD/DVD version of the
game, which is older than v1.18, then you need to update it to v1.18 first.

Extract the contents of the "new_dark.zip" and "contrib.zip" archives into your T2 directory, and you
are done. If you are updating an install that has already been patched to v1.19 or newer, then you
are well advised to make backup copies of the configuration files "cam_ext.cfg", "cam_mod.ini" and
"lg.ini" (and "DromEd.cfg" for editor users) before installing the new update.

v1.20 or newer should be able to load savegames made with v1.18, but this is best avoided. Savegames
made with v1.20 or newer are however NOT compatible with v1.18. Generally loading savegames saved with
an older version of the game should work, but loading savegames saved with a newer version into an older
version of the game should always be avoided.

If OpenAL is available on your system, it can be enabled in the Audio options menu through the option
"Hardware Acceleration", which will toggle between "ON", "OFF" and "OpenAL". If you don't have OpenAL
but you want to use it, you will have to install the OpenAL libraries first (link provided below).

IMPORTANT: The "Visual Studio 2008 SP1 C++" and "DirectX End-User Runtimes (June 2010)" runtime
DLLs are required to run (the DirectX ones are only required when running with DX9,
which is default). While most systems probably already have them installed, by default
or through other applications and games, they can be missing on some. Below are the
official download links.

Visual Studio 2008 SP1 C++ runtimes:
http://www.microsoft.com/downloads/en/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en

DirectX End-User Runtimes (June 2010):
http://www.microsoft.com/download/en/details.aspx?id=8109

OpenAL Installer:
No longer maintained by Creative, google for alternate download locations
or get "OpenAL Soft" from http://kcat.strangesoft.net/openal.html

Disclaimer

THIS SOFTWARE IS PROVIDED "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.

Changes and fixes for v1.28

Renderer:

  • added support for specifying separate minification and magnification filters when supplying the
    "tex_filter_mode" configuration variable and related commands
  • the window position will no longer be reset in windowed mode when entering or exiting a menu
  • the game will no longer crash when a DDS texture is rendered on the loadout screen

General:

  • added support for additional sound encoding formats: MP3, Opus, FLAC, PCM (big endian samples, IEEE
    floating-point samples)
  • added support for additional sound file formats: AIFF, W64, MP1, MP2, MP3, OPUS, FLAC, OGA
  • added "[-]ObjName" DML command for changing object names
  • added "ObjArch" DML command for reparenting objects
  • added "Destroy", "DestroyArch", and "DestroyArchAll" DML commands for removing objects, archetypes, and
    archetypes with descendants, respectively
  • added "[+][-]QuestVar" DML command for manipulating quest variables
  • added "#!script" DML command for dropping script modules
  • added "#schema" DML command for loading schema definitions in gamesys DMLs
  • added "[!]EXIST" DML fingerprinting method for determining whether an object exists
  • added "[!]ARCH" DML fingerprinting method for determining whether an object has a particular parent archetype
  • added "[!]SCR" DML fingerprinting method for determining whether a script module is loaded
  • added "[!]CFG" DML fingerprinting method for determining whether a configuration variable is defined
  • added support for loading additional video file types: MP4, WEBM, MKV, OGV, MOV, WMF
  • added script manager methods for scripts to generically get parameters from objects: GetAllScriptParams,
    HasScriptParam, GetScriptParam
  • added script manager methods for scripts to get the currenctly active script modules: GetModuleCount, GetModule
  • added support for using all previously unavailable script service routines in T1
  • added new AI script service routines: SetFaceVisage
  • added new AnimTexture script service routines: ChangeTextureLoc
  • added new Camera script service routines: LockMovement
  • added new DarkGame script service routines: NoMove, PlayerMode, GetPlayerMode, Frob, SaveGame
  • added new DarkUI script service routines: TextMessageFormatted
  • added new Engine script service routines: SetTagBlock, GetTagBlock
  • added new Link script service routines: BroadcastOnAllLinksMany
  • added a new Listener script service for installing hooks into certain subsystems: SubscribeProperty,
    UnsubscribeProperty, SubscribeObject, UnsubscribeObject, SubscribeLink, UnsubscribeLink, SubscribeHierarchy,
    UnsubscribeHierarchy
  • added new Object script service routines: SetArchetype, FindDescendantsSpatial, FindScriptDonor, AnyExist, GetAll,
    GetOne
  • ...
Read more