The Neverhood Chronicles language addon
version 1.04 from 2025.01.10
http://ctpax-cheater.losthost.org/htmldocs/nvh.htm#nvh_addon



Table of Contents:
1. Folder structure
2. Licenses
3. Installation
4. Running the game
5. Technical improvements to the original game
6. Troubleshooting
7. Running with SCUMMVM
8. Note to translators
9. Contacts
10. Version history



1. Folder structure

Files within "nhcaddon.zip" archive:
language\Eng-Subs.nhc - English subtitles for original game cutscenes (may be used as a template)
language\Rus-Text.nhc - Russian translation (subtitles, Willie's notes, Hall of Records, etc.)
language\Fargusfx.nhc - fix for Klogg's lettes font in Russian localization by Fargus (most likely you won't need this)
language.dll - translation engine library
NHCSETUP.EXE - setup executable
NHC-READ.TXT - readme in Russian
ENG-READ.TXT - this readme in English



2. Licenses

The software and source code is distributed under Apache License 2.0 license:
https://www.apache.org/licenses/LICENSE-2.0

Russian translation's graphics and text are distributed under Creative Commons Attribution 4.0 license:
https://creativecommons.org/licenses/by/4.0/legalcode



3. Installation

To run the game using this translation engine you'll need an original game CD (full version, demos not supported).
If you want to install this engine onto an existing copy of the game on your hard drive, see subsection E of this section.
If you're doing a full install, the game directory becomes completely portable, it does not
require a CD or use any entries in Windows registry. To uninstall the game simply delete its folder.

a) Insert the game CD or mount an image.
b) Run NHCSETUP.EXE and select "Install".
c) Choose your installation option in the appearing window:
- "Full install (610 Mb free space required, portable)"
- "Minimal install (5 Mb free space required, CD required)"
d) After installation you can run the game by either selecting "Play" in NHCSETUP.EXE or by running NHC.EXE.
e) If you want to install this engine onto an existing copy of the game, you'll need to manually
   organize files in the game folder the following way:
   \DATA\a.blb
   \DATA\c.blb
   \DATA\i.blb
   \DATA\m.blb
   \DATA\s.blb
   \DATA\t.blb
   \hd.blb
   \Smackw32.dll
   \NHC.exe
   Then copy all the files from the archive into the game folder and run "NHCSETUP.EXE", then select "Play"
   (This will patch "NHC.EXE" file to work with "LANGUAGE.DLL").
   After that you may run the game via "NHC.EXE".



4. Running the game

   After running the game a window will appear containing the following options:
- "List of available translations"
   Here you may pick a translation archive to be used. "<original>" option means that the game will be
   run "as is" without any external translations.
- "Disable video subtitles"
   Disables subtitles for cutscenes if they are present in the selected translation.
- "Video renderer settings":
   - "Original DirectDraw"
     Original DirectDraw renderer with no modifications.
   - "Emulated DirectDraw"
     Runs the game using DirectDraw renderer with hardware rendering disabled and replaced with
     emulation, which should fix the problem with stuttering video on modern systems.
   /!\ If neither DirectDraw option is available, 640x480 256 color mode is unavailable. See
   troubleshooting.
   - "Compatibility renderer"
     Fully software-based rendering. Maximum compatibility but possible decreased performance in some cases.
     The following settings are available in this mode only:
     - "Stretch in fullscreen"
       Stretches the image to fill your monitor's aspect ratio.
     - "Windowed mode"
       Runs the game in windowed mode. Toggle with Alt + Enter.
     - "Lock cursor in window"
       Locks cursor inside the window border in windowed mode
- "Miscellaneous settings":
  - "Prevent multiple clicks"
    With this setting enabled holding down the mouse button will not generate continuous clicks.
  - "Mouse button actions:"
    "Right - skip videos"
    "Middle - open menu"
  - "Game controller support:"
    "BTN1 - left mouse button"
    "BTN2 - step 1/10 switch"
    "BTN3 - skip videos"
    "BTN4 - open menu"
   Only 1st or 2nd available game device is initialized. X/Y Axes - move the cursor. Buttons 1, 3 and 4
   correspond to left, right and middle mouse buttons, button 2 toggles cursor movement sensitivity
   between 1 and 10 pixels for faster or more precise input.
- "Start"
   Run the game using selected preferences. Preferences are automatically saved.
- "Quit"
  Quits the program. No changes are saved.

  If you want to uninstall the translation engine but keep the original game, run "NHCSETUP.EXE" and
  select "Uninstall" to revert the changes made to "NHC.EXE". Then you may safely delete the
  translation files.



5. Technical improvements to the original game

  The translation engine does not modify any game files except NHC.EXE, in which functions necessary
  for the engine to work are now intercepted.
  The engine introduces the following changes to the original game:
- the game now in no way relies on the registry, the installation folder is completely portable;
- settings are now saved in LANGUAGE.INI instead of the registry;
- saved games are placed in SAVE subfolder instead of the registry;
- savegame limit increased from 25 to 127;
- original game bug with empty error message if unable to save the game fixed;
- any valid characters may be used in savegame names;
- thread priority increase disabled;
- Willie's hint will always come first before the repeating humorous notes;
- all cheat codes are now togglable, no need to restart the game to disable them;
- shrinking machine puzzle solution and crystal position will change according to selected translation when
  loading the game, which means a solved puzzle will stay solved irrespective of the translation;
- introduced Compatibility Renderer with the following options:
  - The game runs via Windows GDI (DirectDraw used only for vsync). Using this mode the game will run on
  virtually any version of windows.
  - fullscreen and windowed modes, windowed mode not limited to 640x480 (the image may be stretched with
  or without respect to aspect ratio);
  - switching between fullscreen and windowed mode with Alt+Enter;
  - the original bug with the first frame of the scene displayed in the wrong palette when switching palettes fixed;
  - mouse locking inside window bounds;
- Alt, F10, and some other keys that may have resulted in locking the game disabled;
- skipping videos with RMB and calling the menu with MMB option;
- game controller support;
- fixes for existing Russian translations bugs;
- other changes.



6. Troubleshooting

Please read through this section before submitting a bug report.

a) Video lags and stutters using "Original DirectDraw" mode.
- Run the game with "Emulated DirectDraw".

b) The colors are wrong ("acid") using any of the two DirectDraw modes.
- Right click the "NHC.EXE" file, select "Properties", then "Compatibility" tab, then under "Settings"
select the following two options: "256 color mode" and "Run in 640 x 480 screen resolution", then select "OK".

c) "Original DirectDraw" and "Emulated DirectDraw" modes are not available.
- Same as above.

d) The game does not run as it should in DirectDraw modes even with compatibility options enabled.
- If all else fails, use "Compatibility renderer".

e) I can't record the game using "Compatibility renderer" mode.
- In "Compatibility Renderer" mode the image is displayed via Windows GDI, so video capture applications relying
on OpenGL or DirectX subsystems will not detect the game. Use "Window capture" instead of "Game capture"
option.

f) Using the cheat code in "Compatibility Renderer" mode has wrong hotspot placement.
- The markings in "Compatibility Renderer" mode will display hotspots correctly only in
windowed mode (or in fullscreen mode if your system resolution is set to 640 x 480).

g) The pixels are too big using "Compatibility Renderer".
- You may use wrappers that translate DirectDraw calls into Direct3D.
Like DxWnd, D3DWindower and some others.
For instance you may use "ddraw.dll" file from Konstantin Savenkov's patch:
https://github.com/RangerKoc/Neverhood-patch/releases
Place it in the same folder as "NHC.EXE", all the compatibility options should be turned off and "Original DirectDraw"
selected at launch. Do not copy the other file from the patch ("nvhpatch.dll"). It will create conflicts
with this engine.

h) "Start" button doesn't work on the startup dialog.
You've probably installed a fan-made patch containing an .SDB file, which adds a modification to the system
Application Compatibility Layer (ACL). You may delete it manually from the Windows system registry or
with Application Compatibility Tool (ACT), or rename the game executable, for example to "NHC2.EXE" -
note that in this case "NHCSETUP.EXE" will not work with this file since it will be looking for the old name.

i) An error that is not described in this section occurs.
- If you can consistently recreate the error or glitch in a specific spot in the game, please, save the game
close to that spot and send it to us (see SAVE subfolder) along with the info on what to do to recreate
the error.



7. Running with SCUMMVM

Starting with version 2.7.0 SCUMMVM supports the addon, its translation files and its behavior.
Many thanks to phcoder for implementing translation support!
To use translation files with SCUMMVM perform the following steps:
1. Add The Neverhood resource folder with .BLB files as usual with the "Add Game..." button in SCUMMVM.
2. Select the game in the game list and click the "Game Options..." button, then select the "Paths" tab.
3. Specify the path to the .NHC translation files under "Extra Path", then click the "OK" button to close.
4. Open "Game Options..." again. Now you should be able to select the required translation in the "NHC replacement"
section on the "Game" tab.
5. To enable subtitles for video click on the "Audio" tab, enable "Override global audio settings"
and select "Both" in the "Text and speech" section.
If "Text and speech" is not available (issue with the 2.7.0 version) you need to close this dialog via the
"OK" button, then restart SCUMMVM and open this dialog again - after that the option should be available.

Please note the differences between SCUMMVM and the original game:
- incompatible save game format;
- cheat codes don't work (SCUMMVM has different implementation for some of them);
- [addon] .NHC translation files build date (version) is not displayed;
- [addon] no subtitles for Willie on the scene with the crane and teddy bear ("Klaymen! Up here!");
- [addon] subtitles for TV guy are jumping left and right on display ("Klaymen! Say knock-knock!");
- [addon] when you change the translation language and load a previously saved game the puzzle with the shrinking
  machine will not change according to the correct solution (correct crystal position) - only an already solved
  puzzle will stay solved.



8. Note to translators

If you want to create your own translation of the game please download "C source codes and translation kit"
from the language addon web site and carefully read "LangTKit.txt" file inside "ltktools" folder from
"nhcsrctk.zip" archive file.



9. Contacts

Rigel
- e-mail: fakeidmail(a)yandex.ru
- web: https://www.youtube.com/@Potrachenny

-=CHE@TER=-
- e-mail: _ctpax_(a)mail.ru
- web: http://ctpax-cheater.losthost.org/



10. Version history

v1.04 [2025.01.10]
- fixed simultaneous work for "Prevent multiple clicks" and "Mouse button actions" options
- fixed game crash on radio use when Windows 95 compatibility enabled (Tea Streams, Sham Shab)
- added "Translation Kit Guide" ("LTKGuide.htm") to "ltktools" folder from "nhcsrctk.zip" archive file

v1.03 [2024.01.09]
- recompiled all .EXE and .DLL files - fixed missing IMAGE_FILE_32BIT_MACHINE flag in PE header
- [n02image] new tool to convert game .N02 to .TGA image format
- [addon] improved Russian translation (Eugene Bayx)

v1.02 [2023.03.26]
- fixed file handle leak when making *.NHC archives list at startup
- Compatibility renderer: extended emulated IDirectDrawSurface2 function pointers list
- Compatibility renderer: removed unused dwFlags in IDirectDraw emulated structure
- [nhcfonts] removed an empty unused function in tool source codes
- [nhcsetup] updated manifest to suppress "This program might not have installed correctly"
  message from "Program Compatibility Assistant" on exit under Windows Vista / 7
- [Japanese] first and last Hall of Records walls in *.NHC ignored since no wall text exists
- [Japanese] stWillieHints in *.NHC ignored for correct hints images order (phcoder, Rigel)
- [addon] improved Russian translation
- SCUMMVM now supports translation *.NHC files and behavior - many thanks to phcoder!

v1.01 [2022.07.24]
- added support for rare Japanese PC Windows release from 1997 (in that release Willie and Klogg
  letters are Japanese only and rendered as images instead of text, Hall of Records reduced and
  "About..." menu item removed along with the "M.BLB" file with game development movies, error
  messages on load/save/delete game will be displayed with WinAPI system TextOutA() function instead
  of internal game font - in other words no text translation for Hall of Records or Hints will work
  with this release)
- reworked and reduced code for repeated Willie hints to support Japanese release
- reworked and reduced joystick step code
- joystick step and mouse mask variable initialization moved to WM_CREATE message handler
  (static .data section removed, library size reduced)
- added version "(v1.01)" to the startup dialog title
- added support for Japanese release in "NHCSETUP.EXE", added version "(v1.01)", proper import patcher
- add special mode "m" to the "substext.exe" tool to work with the error messages file "54584554.TXT"
  (without this fix it was impossible to compile error messages file from text to binary)
- added note about Japanese release to the "LangTKit.txt" file

v1.00 [2022.07.19]
- first public release
