Thief 2 And System Shock 2 Get Giant Bug Fixing Patches! From Out Of Nowhere

Weird news we get waking up this morning. Two classic games that were seemingly dead, had gigantic patches released on a French gaming forum today. Released mysteriously these two patches have some very interesting story behind them.

Thief 2 and System Shock 2 were developed by Looking Glass Studios who went out of business in May 24th of 2000. These titles were some of the last released by the company. They fell into cult classic status many years later and are still highly regarded as two great games, be it buggy ones. So you can imagine the shock to my system (joke.jpg) when I read on a Looking Glass Studios fan forum that someone found a series of mysterious patches released on a French message board that updates Thief 2 and System Shock 2 to utilized modern hardware!

These patches fix some monumental bugs. Some that could have only been fixed by having the original source code. This leads me to believe that a dedicated Looking Glass Studios developer has been slogging away for years, trying to fix his games. Like a deranged mad scientist. There were partial code leaks in 2010 but due to legal reasons the full code could not have been released. So if this wasn’t a long lost dev then whoever did this is some reverse engineering genius and needs to be hired by the FSB  or CIA has a cyber warrior.

Lets take a look at what was issued with the Thief fixes.

This is an unofficial patch for Thief II: The Metal Age (T2) which updates the game from v1.18 to
v1.19, 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).

A small sample of changes and fixes
———————————–

Renderer:
– Added windowed mode
– Added single display mode option – no resolution change between menus and game
– Added ingame support for all common resolutions, including widescreen
– Added support for 32-bit color
– Textures can now be automatically promoted to 32-bit, improving quality and effectively eliminating the palette limit
– Added UI framerate cap option to avoid GPU fan spinning up in UI
– Added DDS/PNG image support
– Added full 24/32-bit TGA/BMP image support
– Increased the maximum number of frames allowed in animated textures from 20 to 99, and increased the allowable filename length for animated textures (before the underscore) to support more than 7
– Animated texture rate can now be specified via a material file for that texture
– Fixed a bug where Transparency property didn’t (correctly) apply on objects that contain transparent polys

General:
– Replaced video player lib with an FFMpeg based one to play cutscenes. LGVid.ax or other codecs are no longer required
– Option to use OpenAL (if available) instead of DirectSound. Includes support for audio effects in Windows 7 without an EAX-enabled driver (e.g. ALchemy)
– Added “head_bob” config var to control amount of head bob
– Added mousewheel support to options menu
– Fixed player ground contact tracking when walking off an object (caused footstep sounds to get “stuck” on previous material)
– Fixed sound cap per schema type bug and upped max sound channels to 48
– Changed screenshot output format to BMP and also added support for PNG screenshots
– Changed mouselook sensitivity to be resolution independent
– Added check to avoid trying to open files with reserved system name like com ports
– AIs now breathe from their head instead of their stomachs. They will no longer drown when up to their waist in water.
– Lowered player crouch height by a tiny fraction so he’s less likely to get stuck on 4 unit tall spaces
– Added better support for binding actions to the mouse wheel (can bind wheel up and wheel down as separate actions, with modifier key support)
– Fixed star rendering
– Added “log_player_pos” command that dumps current player pos to log file (when enabled)
– Added the ability to detach from ladders by crouching
– Improved mantling a bit and added optional new mantling algorithm with lower failure rate
– Fixed a bug which limited number of sound channels to 16 even if more were selected
– Fixed a bug that sometimes caused doors to float away into infinity
– Fixed (or at least greatly improved) a bug with edge triggered OBBs sometimes failing to detect collision (in particular for slow moving objects)
– Fixed framerate dependent speed issue for camvators/moving terrain (with collision type: none)
– Added “fixed_star_size” option for resolution independent star size
– Fixed some bugs when attaching to a ladder from water.
– AIs who are facing very close to a wall will no longer turn to face south when the game begins
– Health bar drawing adjusted in widescreen
– Added option to fix arm rendering
– Added AA to rendering of loadout screen items
– Fixed pickpocket count bug that would always show 1 more maximum pickpocket than there actually was.
– Added “Blocks frobs” property, allowing objects to block frobs of objects behind them (e.g. to stop frobbing items through safe doors)
– Added option to left-align map notes text
– Made navigation of map/objectives screen a little bit more in-game friendly (screen can also be closed with space, arrow key navigation and return to switch map/obj)

DromEd:
– Lightmaps are now properly displayed in the editor 3D view
– Added support for HW rendering in editor viewports
– Increased the maximum number of visible on-screen terrain polies from 1024 to 20480
– Increased the maximum number of visible on-screen objects from 128 to 1280
– Added some safety checks to object scaling operations to prevent objects with 1.#INF scale
– Fixed a crash when computing pathfinding with an improperly linked moving terrain object in the mission. An ignorable assert is thrown and the object is skipped gracefully instead of crashing.
– Prevented a crash if you apply a model of one creature type to an object assigned a different creature type
– Fixed “Attempt to mark from invalid room id 0” assertion to actually show the room id that is invalid, instead of always showing 0.
– Integrated csgmerge tool into editor exe
– Added support for 32-bit lightmaps
– Fixed the bug where cloning a multibrush with particles would duplicate every object in the mission
– Fixed a bug where the game would crash when deleting a large multibrush
– Added fallback check to find Motiondb.bin in resource paths
– Fixed resource lock errors when loading TGA images (for object textures and distance art)
– Fixed solo view editor issues when going back to edit mode from game mode
– Added ability to change the brush colors in DromEd via values in DromEd.cfg.
– Added light-based transparency property
– Added ability to enable/disable eye zoom in Thief 2
– Vast improvements to editor dialogs, including crash fixes and improved functionality
– Increased brush limit from 7068 to 16384
– Increased rooms limit from 1024 to 4096
– Increased ambient sound limit from 256 to 1024
– Increased cell limit from 28672 to 32760
– Increased the maximum number of sides in a cylinder from 10 to 26.
– Increased automap location limit from 64 to 256 locations per page
– The texture rotation control can now interpret negative values
– Fixed a crash while generating reports
– Added a warning dialog when attempting to save one filetype (mis/gam/cow) as another
– Added new Windows-style texture palette (which also supports more than 256 textures)
– Added support for all editor window sizes
– Added Pendulum (/sinusoidal) curve type to tweqs
– Added DetailAttachement link type
– Added Distance Alpha property
– Added Bitmap Color property for custom modulation color on bitmap objects
– Added “Face camera (axial)” setting to Bitmap Worldspace
– Added color param, additive blending and spotlight cone falloff support to coronas
– Added “Editor Comments” property
– Added “show_vhots” command for debug visuals of vhot placement and numbering on objects
– Manually deleting links in the link view dialog no longer deletes attached object for ParticleAttachement/DetailAttachement links
– Added the ability to place graphical decals on book pages
– Corpses with Contains links no longer count as pickpockets
– The Auto-Multibrush property no longer crashes DromEd if the .vbr file was not found.
– The stimulus on existing receptrons can now be changed
– The intensity for sources is no longer reset when changing the propagator
– The receptrons list now correctly shows the max intensity value for existing receptrons
– Meshes can now be scaled with the Scale property
– Scaled objects now cast properly scaled shadows
– Objects can now obscure coronas
– Bitmap Worldspace objects can now be locally lit
– Precipitation will now collide with OBB objects as well as terrain
– The brush_to_room command can now be given a negative number, to be interpreted as an absolute size instead of a percentage (e.g. brush_to_room -0.1 would create a room brush 0.1 units larger than the selected brush.)
– It is no longer necessary to explicitly add the Hidden property to a secret object for the secret to be properly counted
– Added numeric keypad input support
– DromEd will no longer stop working after 03:14:07 on Tuesday, 19 January 2038
– Added “scroll here” option to the right-click menu for solo views, similar to the “teleport camera” option for non-solo views
– Fixed some issues with calculating which room cells are in (which might have caused problems with precipitation and fogging)
– Increased the time range of Tweqs to 0-65535
– The same property can no longer be added to an object multiple times
– Fixed a crash when adding the Texture Anim Data property to a concrete object

So TL;DR of these is this. Thief 2 can now be played on modern systems and use the full capabilities of modern hardware.

So now you ask, “Where can I get these games?” Thief 2 can be bought on GoG.com full DRM free for $10 US. System Shock 2 well…that is a sad story. When Looking Glass closed due to financial issues with Eidos, Star Insurance company got a hold of the rights to System Shock 1 and 2. They are currently sitting on the rights and refuse to do anything with them. This is some of the reasons why there wasn’t a System Shock 3 and we got Bioshock instead.

So check out the Looking Glass Fan Forum to get the links to the patches and even demos of the new systems incorporated!

This weekend you can find me playing Thief 2 while a nice little torrent of System Shock 2 runs in the back round.