IMPORTANT
Status: WIP
Minimum version: 2.0
Overview
- The platform uses the same
xrGame.dllused by the Call of Pripyat (CoP) branch, enabling many CoP engine features in Shadow of Chernobyl (SoC) and vice versa. - Anomaly detection is now defined by sections instead of classes (see
gamedata/configs/misc/radiation_counter.ltx). - Using
xrGame.dllfrom CoP allows using CoP UI elements in SoC. - The UI is adapted for 16:9 aspect ratio.
eat_portions_numdefault values were changed from-1to1to prevent infinite food.- For better compatibility with unified addons, the
configfolder was renamed toconfigs. - Fixed missing animation flags for trimmed animations.
- Added NPC state fixes in
gamedata/scripts/state_mgr_direction.script. - The sit/stand toggle is now an option checkbox instead of a separate key, matching CoP behavior.
- Added "Press any key to continue" text to
gamedata/configs/ui/game_tutorials.xml. - Inventory now shows item condition similar to CoP.
- Added language switching via the main menu (
gamedata/configs/ui/ui_mm_main.xml). - Combined scope handling: the engine first tries to load
scopes.xmland locate a matching section; if not found, the scope is used as a fullscreen texture as in SoC.
engine_external.ltx defaults
Some defaults in SoC's engine_external.ltx differ from the CoP defaults. Notable differences:
ini
[general]
Platform = soc ; platform identifier (SoC)
title = st_ixray_title_soc ; Discord Rich Presence title for SoC
[ui]
WeaponIconScale = 0.9 ; ammo icon size in maingame.xml (CoP default 0.8, CHN 0.65, SoC 0.9)
ShowLoadingStages = true ; show loading stages (e.g., "Client: Synchronizing")
PdaRearrangeTabButtons = true ; use legacy PDA tab sizing formula
[gameplay]
EnableInventoryPistolSlot = true ; enable second slot for pistols only
EnableAiDieInAnomaly = true ; allow NPCs to die in anomalies
EnableLegacyUpgradeSystem = true ; use legacy upgrade system (no two upgrades in same category)
EnableEngineArtefactSpawn = true ; read artifact spawn params from anomaly config
[render]
DisableLoadScreenTips = true ; disable tips on the loading screen
UseLegacyParticleLoader = true ; use SoC particle format for particles.xr
+```
## Info portions system
SoC includes an "info portion" system configured via XML and registered in `system.ltx` under the `info_portions` section.
Example:
```xml
<info_portion id="test_info_2"> <!-- info portion identifier -->
<task>storyline_eliminate_gunslinger</task> <!-- grant a quest (SoC only) -->
<dialog>actor_break_dialog</dialog> <!-- grant a dialog -->
<article>about_enciclopedia</article> <!-- grant an encyclopedia article -->
<article_disable>test_article</article_disable> <!-- remove an article from the encyclopedia -->
<disable>test_info_1</disable> <!-- disable a previously granted info portion -->
</info_portion>