Monday, November 13, 2017

Hitman: Codename 47




3D Vision fix for Hitman: Codename 47. It includes a Hor+ aspect ratio mod (up to triple monitor, but customizable for custom aspect ratio too. It's done by shaders) which is affected by culling. The fix needs dgVoodoo to convert DX7 into DX11.

UPDATE: I've updated the fix today (2017-11-17) to filter the HUD better and avoid breaking other effects at a close camera distance. I've also made a hotkey ("i") to more or less fix geometry in the Traditions of the Trade mission.

Fixed
- A "layer" that made the game not be useable at almost anything other than 0-1 convergence.
- Skybox.
- Distant backgrounds.
- Distant fog-covered elements.
- HUD elements and subtitles.
- Crosshair.


Known issues
- In the "Traditions of the Trade" mission, for some reason the developers chose to use the distant elements pixel shader for CLOSE elements and geometry, breaking the fix I made for them. But it's only outside of the hotel, which is a small area. The rest of the game is perfect or very close to perfect. Use the "i" hotkey here.
- This game suffers from clipping/culling at the sides if you play in aspect ratio wider than 4:3, unless you use widescreen in a Vert- way.


Installation
- Download this file and extract its contents in the "Hitman Codename 47" folder, where "hitman.exe" is.
- Download the latest dgVoodoo 2 release or WIP version here: http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html
- You need this exact dgVoodoo version: http://www.vogonsdrivers.com/wrappers/files/Glide/Direct3D/dgVoodoo%202/D3D11/dgVoodooWIP37.zip
- From inside its "MS" folder, copy "D3D8.dll", "D3DImm.dll" and "DDraw.dll" into the game folder.
- Open "dgVoodooCpl.exe" and configure it like this, for example, tuning the resolution and some other settings to your liking (I use "Force point sampled" texture filtering to get a more retro look):







- In "Hitman.ini" (in the root folder of the game), use the following configuration, for example:

Include Setup\Locale.zip
//DrawDll Render3DFX.dll
DrawDll RenderD3D.dll
//DrawDll RenderOpenGL.dll
SoundDll Sound.dll
ScriptDll GSC.dll
LocaleDLL Locale.dll
Resolution 1024x768
Anisotropy 2
AntiAlias
DisableLight
ColorDepth 32
ShadowDetail 2
TextureResolution 0

Even if it says 1024x768 there, that will only control HUD scaling and not the internal resolution. Lower resolutions like 640x480 or 800x600 will have a bigger HUD. I recommend using only those three.

- Using that internal resolution and not any other widescreen trick, the game will be proper 16:9 thanks to the fix. F4 changes the aspect ratio in real time, but check "d3dx.ini", above the "w=0.75" line, to see the instructions.
- Boot the game and play. The main menu will be hard to use if you are at a high convergence. It won't hurt using it in 2D temporarily.


Hotkeys
- p: four convergence presets.
- F3: HUD depth presets. Screen depth by default. The crosshair uses them completely, from screen depth to max depth, but the rest of the HUD will move less into depth.
- F4: aspect ratio presets. The default one is 16:9. The order is: 4:3, 16:9, AR for 2560x1080, AR for 3440x1440, and 48:9.
- i: more or less geometry fix for Traditions of the Trade. Don't use it in other missions.


Alternative widescreen mode
- If you prefer using a Vert- type of widescreen to avoid culling, at the cost of a lower FOV, open "Hitman.ini", use your own resolution, like "Resolution 2560x1440", and add these two lines:

Window
StartUpperPos 0,0

After that, open "d3dx.ini" and change "w=0.75" to "w=1", because you won't need the aspect ratio mod.


Recommendations
- The game isn't demanding at all, so it's a good idea to force SGSSAA in its Nvidia profile. I use 8xMSAA + 8xSGSSAA, which fixes texture shimmering when using point sampled filtering in dgVoodoo.



If you liked the fix and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

5 comments:

  1. Brilliant work Masterotaku!
    Thanks again for all the hard work

    ReplyDelete
  2. Wooo! I like these old games much better than the latest shiny, so I especially appreciate you going back to the oldies and goodies. Thank you, thank you!

    ReplyDelete
    Replies
    1. You're welcome!

      I'm open to suggestions for this kind of old games that need dgVoodoo (and work). Post about them in that geforce forums thread if you want to give me some ideas. I'll also make a list in my head and try to fix whatever I have on GOG/Steam. Rayman 2 and the old Deus Ex games come to my mind, for example.

      Delete
    2. great work, hoping Saboteur was in the category of dgVoodoo but no looks like directx 9, oh well...but man this would be cool in 3D!

      Delete
  3. Tried to use this with dgVoodoo v2.55.4, which crashes dgvoodooCpl.exe. v2.55 works fine though. It's somehow related to d3dcompiler_46.dll.

    ReplyDelete