Soldier of Fortune demo (sof_demo)

Raven Software / Activision, January 2000. Quake II engine, OpenGL through ref_gl.dll. Candidate soldier-of-fortune-demo (archive.org SoldierOfFortuneDemo, sof.exe, SHA-1 ebb946d7…2395).

Licence: the setup's License.txt (inside _user1.cab) is Activision's software licence: personal use, no copying or distribution, no reverse engineering, decompiling or disassembly. Local only, never deployed, and investigated with runtime traces only -- nothing below comes from reading the game's code.

Install layout

sof.exe is a WinZip SFX holding an InstallShield 5 set. data1.cab is a ready install tree (SoF.exe, ref_gl.dll, base\gamex86.dll, base\player.dll, base\pak0.pak 140 MB); the manifest unpacks it with tools/is5-extract.js. tools/is-cab.js also reads it since it learned the version-5 descriptor layout (data offset at 0x26, MD5 at 0x2a).

Runtime facts

Route

+map tsr1 (appended to the registry args) loads the first demo map. The level opens with an in-engine intro (an alley seen from above, then the subway hostage scene with subtitles); control starts in a tiled subway corridor.

Demo maps in pak0.pak: tsr1, tsr2 (the mission), tut1, trn1, dm/nycdm1, dm/nycdm2.