9) Version 12 (2020-08-11)
12.1) Added a static overview map.
a) A static overview map is similar to a Tab-call overview map, except that the static map is opaque and can be displayed continuously.
b) The Ctrl+U hotkey shows/hides the static map.
c) There are ten predefined locations of the static map on the screen (0–9) and one custom location (10). All locations are switched sequentially using the Ctrl+Shift+U hotkey.
d) The NL_GUI_STATIC_OVERMAP parameter is entered into the Settings.cfg configuration file, which is responsible for enabling/disabling the static map using the Ctrl+U hotkey. The parameter also applies to the hotkey Ctrl+Shift+U (switching locations). This parameter takes precedence over the hot keys at 0 (disable).
e) Added parameter NL_GUI_STATIC_OVERMAP_MODE to the configuration file that specifies the static map location number on the screen. Its values are 0–10 (10 — custom location). The parameter remembers the current location number when quitting.
f) The NL_GUI_STATIC_OVERMAP_RECT configuration file parameter specifies the custom location of the static overview map on the screen. Its format:
NL_GUI_STATIC_OVERMAP_RECT : X, Y, W, H
where X and Y are the horizontal and vertical coordinate of the top left corner of the static map; W and H are its width and height.
To activate this parameter, the value of NL_GUI_STATIC_OVERMAP_MODE must be 10.
If this parameter does not exist in the configuration file Settings.cfg (or its value is empty, or invalid), then the values will be used: X = Y = 300 and W = H = 100.
Attention! If too large values for W and H are used (e.g. if W is equal to the screen width), artifacts may appear as untrained parts of the static map. This is due to the logic of its initial display and eliminating this would require a complete overwrite of the map drawing function (see item 12.2 below).
g) The NL_GUI_STATIC_OVERMAP_ALPHA parameter sets the transparency of both the static map itself and the kerb around it. The values are 0–255. If the value is 0, the map is completely transparent. The default value is 128.
12.2) Changed the logic of cWorld::RenderOverMap function (technical editing).
The RenderOverMap function is responsible for drawing the overview map (called by Tab), the overview map on the world map (by M) and the object location map in your notebook (by L). In addition, they draw an extended overview map (Ctrl+V), a static overview map (Ctrl+U) and an object location map (PickupList). Nineteen relatively complex corrections have been made to the function body to define the possibility of external control over its behavior. In addition, the coding logic of the Cartesian coordinates transferred to the function as parameters has been completely redesigned. These changes eliminated (in general) artifacts in the form of unpainted parts of extended and static overview maps when they are not located in the center of the screen.
12.3) Added and changed PickupList settings.
The following options have been added to the Settings.cfg configuration file to fine-tune the PickupList (Ctrl+O):
a) NL_GUI_PICKUPLIST_POS — specifies a custom PickupList location. Its format:
NL_GUI_PICKUPLIST_POS : A, X, Y
where A is the location activation (0 or 1; 1 — use custom location), X and Y are the horizontal and vertical coordinate of the top left corner of the PickupList.
b) NL_GUI_PICKUPLIST_INFO — (0 or 1), display the information about the objects in the right part of the screen when choosing one or another item of the PickupList with the mouse.
c) NL_GUI_PICKUPLIST_PORTRAIT — (0 or 1), show portraits when selecting items in the PickupList.
Parameters NL_PICKUPLIST_PICKUP and NL_PICKUPLIST_TELEPORT have been renamed to NL_GUI_PICKUPLIST_PICKUP and NL_GUI_PICKUPLIST_TELEPORT respectively.
See the items 10.2 and 11.4-c.
12.4) The behavior of the game screen smooth shift (scrolling) was updated.
a) Scaling when the screen is moved is now tied to the center of the screen, not to the hero as it used to be.
b) On large scale (zoom in) — reduced, and on small scale (zoom out) — increased speed of screen shift.
For screen shift, see item 8.6.
12.5) Added saving of regions clearing counters.
a) The region clearing counters value is now written to an additional section of the GAMEnn.PAK save file while saving the game. When reading the save file, the recorded regions free counters are restored.
b) Now you can safely exit the game after saving it — the counters will not be lost. After the next reading of the game you can continue the interrupted regions clearing process.
c) Parameter NL_REGKILL_LOAD of the configuration file Settings.cfg at value 1 allows to restore previously saved values of the regions clearing counters. At 0 there will be no recovery, and the counters will take their original value.
d) Counter values are always written to the save file.
Note. GAMEnn.PAK save files with added new sections are fully compatible with the original game, as the new sections are located outside the save file area visible to the original game.
12.6) Added parameter NL_REGKILL_FACTOR — the factor of reduction of regions clearing counters.
a) The NL_REGKILL_FACTOR parameter in the Settings.cfg configuration file specifies how much the region clearing counter will decrease if one enemy is killed. Previously, the death of one enemy reduced the region counter by one. If this parameter is set to 8 (the default value), the counters will be reduced by 8. The parameter can take any value from 1 to 500.
b) When quitting the game, the current factor value is stored in this parameter.
c) The command of rkill N console has been entered, where N is the factor of decreasing the counters of region clearing. It allows setting the factor value directly during the game.
12.7) Changes have been made to the display of the game record/reading window.
a) The sequence number of a slot that is not empty is displayed (for a Quick Save slot, the number is equal to litre Q). The numbers are drawn to the left of the miniature pictures of the game screen.
b) In information slots after the date of saving the game (the third field) a blue asterisk informs about the presence of additional sections in the file of saving.
c) When selecting not an empty slot, an info line with the information read from the save file is printed below the Quick Save slot. The line contains: the name of the hero type, his name, the game difficulty icon and the hero level.
d) The input language indicator (see item 9.2) is now available in the game recording window by pressing the F11 key.
e) Fixed the display of the save file description (first slot field) for Unicode fonts used in the game. The description typed in the corresponding slot field (or generated by the game during autosave) during game recording is copied to an additional section of the save file in Unicode encoding, not in the current code page encoding (ANSI) as it was before. In the game recording/reading window, the saved description values from the additional section are displayed in the description field (see Note to item 12.5).
12.8) Added interaction of extension mmG.dll with game server gameserver.exe.
a) The call of the InitServ and ReleaseServ functions of the extension mmG.dll is injected into the gameserver.exe file.
b) Information about the operation of mmG.dll as part of the server is written to the text log-file mmG_serv.log.
c) The gameserver.exe file is available for download via Web downloader.
12.9) Additions and corrections to the NL_ configuration file parameters have been made.
a) The NL_RES_AUTO parameter was on by default (when it is not) — fixed to off (NL_RES_AUTO : 0).
b) The parameter NL_INTERFACE_SMALLLFONT has been renamed to NL_INTERFACE_DEFFONTSIZE with the opposite logic: 0 — small font size, 1 — font sizes of the original game (see item 11.4 e).
c) Fixed processing of NL_ALT_FONT parameter value — when NL_INTERFACE_DEFFONTSIZE (previously NL_INTERFACE_SMALLLFONT) was set, font sizes of the original game Alt font did not switch to font 1 (it remained set by NL_ALT_FONT parameter).
12.10) Changed the algorithm for loading language modules.
a) The parameter NL_LANGMODULE_NAMEALLL, responsible for controlling the names of language modules, has been added to the configuration file. The values are 0 (default) and 1.
b) NL_LANGMODULE_NAMEALL : 0 — loading of language modules from the folder scripts\ (and its subfolders) is made only with the names: global.res, NN_global.res and NN_test.res. Language modules with other names are ignored.
c) NL_LANGMODULE_NAMEALLL : 1 — only the language prefix with underline (NN_) and .res file extension (name can be any) are taken into account when loading language modules (see item 3.1).
12.11) Changed cWorldView2.uvCoords calculation.
Calculation of cWorldView2.uvCoords values has been updated — coordinate array, which reads images of tiles from ISOnn.TGA files.
More accurate coordinate values allowed to get rid of mismatching tiles (which was especially noticeable on snow and sand).
12.12) Redesigned Web downloader.
a) Added game server file download gameserver.exe.
b) Added download of the ChangeLog_eng.doc file.
c) Added settings_cfg.xls file upload.
d) For the ChangeLog.doc, ChangeLog_eng.doc, HotKeys.xls and settings_cfg.xls files a special info folder is created where these files are installed. When uninstalling, the info folder is destroyed along with all its contents.
e) Due to the reworking of Web downloader, the file InstallOrder.doc — the description of the installation order — has been changed.
12.13) The information file settings_cfg.xls has been updated.
This file describes all known parameters of the Settings.cfg configuration file.
A description of NL extension parameters mmG.dll was also added to the settings_cfg.xls file.
The settings_cfg.xls file is now INCLUDED in the Web downloader.
12.14) Installation via Web downloader.
Download via Web downloader: gameserver.exe, mmG.dll, Settings.cfg, ChangeLog.doc, HotKeys.xls.
To do this, select the installation mode Custom (free selection of items to install).