Sacrifice (2000)

  1. Info about the game
  2. Installing
  3. Patching / Running
  4. Using dgVoodoo2
  5. EAX / HD Audio

1. Info about the game

Developer: Shiny Entertainment, Inc.

Resources:


2. Installing

2.1.a) Insert your original CD into the CD/DVD drive,

or:

2.1.b) Buy the game on GoG or Steam and only then download CD image from archive.org. Extract .bin & .cue files, mount the CD image in ImgDrive or similar software.

2.2) Autorun should run Splash.exe (run it manually if you disabled Autorun for CD/DVD drives):

2.3) Do a full install of the game:

2.4) Installer should install the game fine without any compatibility settings:


3. Patching / Running

3.1) Don’t run the game yet. Grab the Patch#3 from Patches Scrolls or my mirror. Patch the game:

3.2) And launch it:

3.3) A serial number is required to run the game:

Try one of these:

1542-4541-TZPF-EY7R
3QO3-WLER-FCSG-ZRP9
3T6A-TVZN-9124-7PAO
A4SL-4LET-3YGQ-C8FF
PFVX-SJOB-9EFB-KJZB

3.4) Game should work regardless of hardware & OS, and it works on my rig (see “Statement” for info about my setup).

sac-09

sac-10

The only problem can be the misaligned screen on higher resolutions (above 800 x 600):

Which can be fixed by changing Sacrifice.exe‘s high DPI settings:

sac-13

3.5.a) If you’re on old hardware & OS (Win98, WinXP), you can now play the game – it should work without any problems.

3.5.b) If you’re on modern hardware & OS, you should upgrade the game further with an unofficial patch.

Main reason for this are graphical errors, related to Z-buffer. These are visible ingame (weirdly moving shadows below “trees”) and appear in the thaum.err file:

DirectX error in CreateSurface Z: DDERR_UNSUPPORTED
DirectX error in CreateBuffers: DDERR_UNSUPPORTED

3.6) Grab the Sacrifice FOV / Widescreen Fix from my mirror (recommended: simple .zip file) or PCGamingWiki (not recommended: password-protected .rar, pretending to be a .7z file). Extract its contents to game’s main directory (backup 3d_d3d.dll & Sacrifice.exe first).

You can now run the game in higher / widescreen resolutions:

Game looks like this (1920 x 1080 res, 16:9 AR):

sac-15

sac-16

And Z-buffer related errors are gone from thaum.err file.

3.7) At this point, there are two problems, which should be mentioned / addressed.

a) Using Detail Textures leads to problems with lighting: when turning around, areas further away will be flickering. This can be mitigated by using Bump Detail Maps instead of Detail Textures:

sac-17

sac-18

Game looks different now (worse?), but it’s way more playable.

b) Game is very choppy. Engine being locked at 30 FPS is one thing, but there’s clearly something wrong with V-Sync, which is visible when moving the camera around (weird “cuts” / “hiccups”). After some testing, I was able to find the culprit: game’s internal V-Sync, labelled as “Tripple Buffering”. Disable it:

And force V-Sync via GPU driver options:

Game works almost perfectly with both tweaks described above (1920 x 1080 res, 16:9 AR):

sac-21

sac-22

sac-23


4. Using dgVoodoo

If you have problems running this game directly with your “real” graphics card (due to OS / drivers / other things), you can always try something else. For example dgVoodoo2 by Dege.

dgVoodoo2 is a set of implementations of old graphics API's for Windows 7 and later versions. They are implemented on Direct3D 11/12 and they can use different device types as wrapping output. The following graphics API libraries are implemented:
- Glide 2.11, Glide 2.45, Glide 3.1 and Glide 3.1 Napalm
- DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7)
- Direct3D 8.1
- Direct3D 9

To put it simple, it’s a D3D 11/12 wrapper, emulating both Glide and D3D 8/9.

4.1) Grab the latest dgVoodoo2 build from Dege’s site. Extract following files to game’s main folder:

  • dgVoodoo.conf, dgVoodooCpl.exe from .zip’s main directory
  • D3D8.dll, D3D9.dll, D3DImm.dll, DDraw.dll from the MS\x86\ subdirectory

4.2) Roll back to the “vanilla” version of the game (just in case), by restoring old 3d_d3d.dll & Sacrifice.exe (modified in May 2001).

4.3) Configure dgVoodoo2 (disable “Force vSync”, if you’re forcing it via GPU driver options):

4.4) Run the game using “virtual” graphics card:

It should work fine:

sac-25

sac-26

Sadly, both problems described at #3.7 are still present:

a) You have to disable Detail Textures or lighting will be weird.

b) You have to disable Tripple Buffering and force V-Sync (either via driver options or dgVoodoo’s options), or the game will be choppy.

4.5) You can combine dgVoodoo2 with the Widescreen Fix if you want (and your rig is beefy enough):

sac-29

sac-30


5. EAX / HD Audio

Game supports multiple sound “providers”, for example DirectSound3D Hardware & EAX 2:

But by default only of them (DirectSound3D 7+ Software – Pan and Volume) is available:

Other ones won’t work:

To enable them, you’ll need DSOAL.

This project is for a DirectSound DLL replacement. It implements the DirectSound interfaces by translating the calls to OpenAL, and fools applications into thinking there is a hardware accelerated sound device. EAX is also implemented (up to version 4) by using OpenAL's EAX extension, allowing for environmental reverb with sound obstruction and occlusion effects.

Effectively, this allows DirectSound applications to enable their DirectSound3D acceleration path, and turn on EAX. The actual processing is being done by OpenAL with no hardware acceleration requirement, allowing it to work on systems where audio acceleration is not otherwise available.

Or more succinctly: it enables DirectSound3D surround sound and EAX for systems without the requisite hardware.

5.1) Get latest DSOAL.zip from GitHub, extract contents of \Win32\ subdirectory to game’s main folder.

5.2) Get the OpenAL Soft configuration file (alsoft_ini.zip) from my miror. Extract alsoft.ini to game’s main directory and modify it if necessary.

  • By default, it’s configured to use 2.0 speakers.:

channels=stereo
stereo-mode=speakers

  • If you want to change the channel / speaker setup, modify the “channels” entry, for example into:

channels=surround51

  • If you want to use headphones instead of speakers, modify the “stereo-mode” and “stereo-encoding” entries into:

stereo-mode=headphones
stereo-encoding=hrtf

Info about HRTF

Full list of alsoft.ini commands can be found in the original .ini or here.

5.3) Run the game. Both DirectSound3D Hardware and EAX 1/2 should now be available:

Info about DirectSound3D

Info about EAX

Leave a comment

Design a site like this with WordPress.com
Get started