Here is list of exe files for Anomaly 1.5.3 that contains all engine patches by community required for some advanced mods to work.
- Windows 10 1903 Update at least is required!!!
- Install the latest Visual C++ Redistributables: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/
- Download STALKER-Anomaly-modded-exes_
<version>.zip archive. - Unpack all directories directly into your Anomaly game folder, overwrite files if requested.
- Delete shader cache in launcher before first launch of the game with new exes. You only have to do it once.
-
If you are updating from version older than 2025.04.21 and use Reshade, you need to update Reshade as well
-
Q: How to reinstall modded exes from scratch?
-
A:
- Delete everything in
db/modsfolders - Delete everything in
gamedata/configsfolder exceptlocalization.ltx,axr_options.ltxandcache_dbg.ltx"files - Delete these folders if you have them:
gamedata/materialsgamedata/scriptsgamedata/shaders
- Install modded exes following the instructions above
- Delete everything in
-
Q: The game crashes on DX11 Fullscreen on Linux
-
A: You need to add
--dxgi-oldparameter intocommandline.txtfile or via making a shotcut to exe and adding argument there -
Q: I have conflicts, crashes and bugs with shaders when i use Beef NVG, SSS, or Enhanced Shaders
-
A: If you are using those mods, install this package via MO2, and put it higher priority than those mods: https://github.com/deggua/xray-hdr10-shaders/releases/latest
- based on Open X-Ray Call of Chernobyl Edition
- based on X-Ray 1.6 Engine
This repository contains XRAY Engine sources based on version 1.6.02 and the Call of Chernobyl 1.4.22 modifications. The original engine is used in S.T.A.L.K.E.R. Call of Pripyat game released by GSC Game World and any changes to this engine are allowed for non-commercial use only.
-
Moved solution to Visual Studio 2022, In case you have problems, make sure you installed the latest Visual C++ Redistributables. You can find them here: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/
-
DLTX by MerelyMezz with edits and bugfixes by demonized, differences compare to original:
- Attempting to override sections no longer crash the game, but prints the message into the log. All sections that triggers that error will be printed
- Duplicate section errors now prints the root file where the error happened for easier checking mod_... ltxes
- DLTX received possibility to create section if it doesn't exists and override section if it does with the same symbol
@. Below is the example fornewsectionthat wasn't defined. Firstly its created with one paramoverride = false, then its overriden withoverride = true
@[newsection] override = false @[newsection] override = true- DLTX received possibility to add items to parameter's list if the parameter has structure like
name = item1, item2, item3>name = item4, item5will add item4 and item5 to list, the result would bename = item1, item2, item3, item4, item5<name = item3will remove item3 from the list, the result would bename = item1, item2- example for mod_system_...ltx:
![info_portions] >files = ah_info, info_hidden_threat ![dialogs] >files = AH_dialogs, dialogs_hidden_threat ![profiles] >files = npc_profile_ah, npc_profile_hidden_threat >specific_characters_files = character_desc_ah, character_desc_hidden_threat- Here you can get the LTXDiff tool with set of scripts for converting ordinary mods to DLTX format (https://www.moddb.com/mods/stalker-anomaly/addons/dltxify-by-right-click-for-modders-tool).
-
DXML by demonized
- Allows to modify contents of loaded xml files before processing by engine by utilizing Lua scripts
- For more information see DXML.md guide.
-
Possibility to unlocalize Lua variables in scripts before loading, making them global to the script namespace
- For unlocalizing a variable in the script, please refer to documentation in test file in
gamedata/configs/unlocalizersfolder
- For unlocalizing a variable in the script, please refer to documentation in test file in
-
Doppler effect of sounds based on code by Cribbledirge and edited by demonized.
-
True First Person Death Camera, that will stay with player when he dies and will react accordingly to player's head transforms, with possibility to adjust its settings.
- Known bugs:
- If the player falls with face straight into the ground, the camera will clip underground due to model being clipped as well with
- Known bugs:
-
Pseudogiant stomps now can kill and damage any object, stalker or mutant, instead of only actor, configurable via console commands
-
In case of missing translation for a string, the engine will fallback to english text for this string.
-
Additional functions and console commands described in
lua_help_ex.script -
Additional callbacks described in
callbacks_gameobject.script -
Additional edits and bugfixes by demonized
- Restored "Fatal Error" MessageBox popup in case of encountering fatal engine errors like it was on Windows 7 or lower
- In case of typical first person model/animation errors, the game will print the section that has defined model
- MAX_TRIS const increased from 1024 to 16384
- Enabled death animations for CWeaponAutomaticShotgun class
- Fixed sorting news in News Tab in PDA
- Added getting material of ray_pick() result with all of its properties
- Potential fix for stuck monsters from OGSR Engine repo in
control_animation_base_accel.cpp - Removed maximum engine limit of 5 artefacts on belt
- Added printing of engine stack trace in the log via StackWalker library https://github.com/JochenKalmbach/StackWalker
- To make it work you need to download
pdbfile for your DX/AVX version and put it into same place asexefile. PDB files are here: https://github.com/themrdemonized/xray-monolith/releases/latest
-
Fixes and features by Lucy
- Reshade shaders won't affect UI, full addon support version of Reshade is required (see TROUBLESHOOTING for details)
- fix for hands exported from blender (you no longer have to reassign the motion references)
- fix for silent error / script freeze when getting player accuracy in scripts
- animation fixes (shotgun shell didn't sync with add cartridge and close anims)
- game no longer crashes on missing item section when loading a save (should be possible to uninstall most mods mid-game now)
- fix for mutants stuck running in place (many thanks to Arszi for finding it)
- fix for two handed detector/device animations (swaying is now applied to both arms instead of only the left one)
- it's now possible to play script particle effects in hud_mode with :play(true) / :play_at_pos(pos, true)
- the game will now display a crash message when crashing due to empty translation string
- Scripted Debug Render functions
- Debug renderer works on DX10/11
- Many thanks to OpenXRay and OGSR authors:
- https://github.com/OpenXRay/xray-16/commit/752cfddc09989b1f6545f420a5c76a3baf3004d7
- https://github.com/OpenXRay/xray-16/commit/a1e581285c21f2d5fd59ffe8afb089fb7b2da154
- https://github.com/OpenXRay/xray-16/commit/c17a38abf6318f1a8b8c09e9e68c188fe7b821c1
- https://github.com/OGSR/OGSR-Engine/commit/d359bde2f1e5548a053faf0c5361520a55b0552c
- Exported a few more vector and matrix functions to lua
- Optional third argument for world2ui to return position even if it's off screen instead of -9999
- Unified bone lua functions and made them safer
- It's now possible to get player first person hands bone data in lua
-
LTX based patrol paths definitions by NLTP_ASHES: themrdemonized#61
-
Redotix: 3D Shader scopes (3DSS) support: themrdemonized#62
-
deggua: HDR10 output support to the DX11 renderer: themrdemonized#63
- Included shaders works with vanilla Anomaly. For compatibility with SSS and GAMMA, download GAMMA shaders from here https://github.com/deggua/xray-hdr10-shaders/releases/latest
-
Fixes and features by DPurple
- Fix of using
%c[color]tag with multibyte font causing unexpected line ending by DPurple - Ability to autosave the game before crash occurs, can be disabled with console command
crash_save 0and enabled withcrash_save 1. Maximum amount of saves can be specified with commandcrash_save_count <number>, where number is between 0 to 20 (default is 10)
- Fix of using
-
Smooth Particles with configurable update rate by vegeta1k95
- To change update rate use console command
particle_update_modwhich takes values from 0.04 to 10.0 (default is 1.0). 1.0 corresponds to 30hz, 0.5 - 60hz and so on. The setting is also available in the options menu in "Modded Exes" group - Possibility to set particle update delta in milliseconds in .pe files for fine tuning with
update_stepfield
- To change update rate use console command
-
Shader Scopes by CrookR and enhanced by Edzan, comes ready to use in the archive, delete old version first
- Dynamic zoom is disabled by default for alternative sights (can be enabled by adding scope_dynamic_zoom_alt = true to the weapon section). For example, if you take SVD Lynx or SVD PMC with March Tactical (or other sights with adjustable zoom) and switch to alternate sight, they wont have dynamic zoom anymore
- Possibility to set alternative sight crosshair and zoom_factor with
scope_texture_alt = <path to texture>andscope_zoom_factor_alt = <number>parameters in weapon ltx - The main sights with dynamic zoom and binoculars now normally remember their state.
- Added console command sds_enable [on (default)/off] to enable/disable Shader Based 2D Scopes.
- Added sds_speed_enable [on (default)/off] console command to disable/enable mouse speed (sensitivity) effect of scope_factor when aiming.
- Added console command sds_zoom_enable [on (default)/off] with which you can disable /enable correction of max. zoom with scope_factor, if this option is enabled then max. zoom will be such as prescribed in settings regardless of scope_factor value, if this option is disabled then max. zoom will be sum of value prescribed in settings and the increase that gives scope_factor.
Above mentioned options are applicable only for scopes which have prescribed values in file scoperadii.script
- Added alternative zoom control (toggle with new_zoom_enable [on/off (default)]
- Minimal zoom is equal to either mechanical zoom or the one prescribed in section min_scope_zoom_factor.
- The step of zoom adjustment is more precise. Also, it's possible to adjust the step of zoom with the console command zoom_step_count [1.0, 10.0], this option is also applicable to the binoculars.
- In the new version all implementations from fakelens.script have moved directly to the engine. fakelens.script remained as a layer between the engine and scopeRadii.script
-
All settings can be edited from the game options in "Modded Exes" tab
Below are the edits that are supplemental to the mods, the mods themselves are not included, download the mods by the links. If mods in the links provide their own exes, you can ignore them, all necessary edits are already included on this page.
-
BaS engine edits by Mortan (https://www.moddb.com/mods/stalker-anomaly/addons/boomsticks-and-sharpsticks)
-
Screen Space Shaders by Ascii1457 (https://www.moddb.com/mods/stalker-anomaly/addons/screen-space-shaders)
-
Heatvision by vegeta1k95 (https://www.moddb.com/mods/stalker-anomaly/addons/heatvision-v02-extension-for-beefs-nvg-dx11engine-mod/)
How to compile exes:
- Fork this xray-monolith
- Clone the fork onto your pc
- Select all-in-one-vs2022-wpo branch
- Compile the engine-vs2022.sln solution with VS2022
- For batch builds of all configurations use
batch_build.batin xray-monolith repo - For successful compilation, the latest build tools with MFC and ATL libraries is required
2025.05.29
- lulnope: Fix popup positioning for tall popups in tasks/map tab of PDA (themrdemonized#237)
2025.05.26
- Fixed and cleaned up Modded Exes options
- Lucy: Script Attachment improvements (themrdemonized#234)
2025.05.24
- NLTP_ASHES: Export CurrentGameUI()->m_pMessagesWnd to Lua (themrdemonized#233)
2025.05.23
- damoldavskiy: Procedural move animations (themrdemonized#230)
2025.05.19
- damoldavskiy: MAS: min zoom handling (themrdemonized#228)
2025.05.16
- Fixed
get_ui_positionfunction for script attachments - ProfLander:
- Multiple crosshairs (themrdemonized#224)
- Implement
g_aimpos_zoom(themrdemonized#226) - Use correct trace for
g_get_target_position originand direction (themrdemonized#227)
2025.05.12
- NLTP_ASHES: Expose CUIProgressBar's m_UIProgressItem to LUA (themrdemonized#225)
2025.05.10
- added ScrollView instance in
on_news_receivedcallback - Lucy:
- Script attachments now use strings instead of IDs (themrdemonized#221)
- [ReShade] Fix crash in fullscreen mode (themrdemonized#223)
- Lander: Expose wallmark range via options menu (themrdemonized#222)
2025.05.07
- Upgrade bug fix for MAS (themrdemonized#219)
2025.05.06
get_console():get_variable_bounds(cvar)function to get bounds of cvar- damoldavskiy:
- MAS scope spawn fix (themrdemonized#217)
- ProfLander:
- Fix scriptable near-wall jitter (themrdemonized#213)
- Implement g_aimpos to govern bullet direction (themrdemonized#214)
- Improved categorization and definition machinery for settings menu (themrdemonized#215)
2025.05.03
ray_pick:query()will clear previous query result- GhenTuong: Merge force-body-state, axr_beh improvements, vignette_control (themrdemonized#209)
- ProfLander:
- Improved reticle interpolation (themrdemonized#206)
- Crosshair Sizing Fixes Again (themrdemonized#210)
2025.05.01
g_draw_pickup_item_namescvar for disabling item names on holding key (themrdemonized#191)- ProfLander:
- Fix logspam in CWeapon::GetNearWallOffset (themrdemonized#192)
- Fix option defaults for firepos settings (themrdemonized#193)
- Fix crosshair readout jitter (themrdemonized#194)
- Crosshair: Far size option (themrdemonized#197)
- Lua trace API improvements (themrdemonized#198)
- Fix animated HUD FOV (themrdemonized#199)
- Scriptable Nearwall (themrdemonized#201)
- Add 'Always Show Crosshair' option (themrdemonized#203)
- VodoXleb: Callback to force set NPC body_state (themrdemonized#202)
2025.04.28
- Possibility to set multiple objects to ignore for
ray_pickvia multipleset_ignore_objectcalls:ray:set_ignore_object(obj_1) ray:set_ignore_object(obj_2) ...
- ProfLander: Implement g_firepos (themrdemonized#190)
2025.04.27
- Removed duplicate stack traces on Lua-related CTD
obj:bounding_box(bool bHud)method to get bounding box of an object- ProfLander:
- Shader-Based Crosshair (themrdemonized#183)
- Positional Near-Wall Offset (themrdemonized#186)
2025.04.25
game.ui2world_offscreen(pos)function for unprojecting from ui coordinates outside of screen- Additional vector exports:
- static functions:
vector.generate_orthonormal_basis(Fvector dir, Fvector up, Fvector right)vector.generate_orthonormal_basis_normalized(Fvector dir, Fvector up, Fvector right)
function project(Fvector u, Fvector v)function project(Fvector v)
- static functions:
- Additional matrix exports:
function transform(Fvector, Fvector)function transform(Fvector)function transform_tiny(Fvector, Fvector)function transform_tiny(Fvector)function transform_dir(Fvector, Fvector)function transform_dir(Fvector)function hud_to_world()function world_to_hud()
- Kutez: Update v0.3 Indoor Gunsound Framework (themrdemonized#176)
- ProfLander:
- HUD <-> World Transforms (themrdemonized#179)
- Fix weapon particle projection in third-person (themrdemonized#180)
- Reduce code duplication in bone_position / bone_direction (themrdemonized#182)
2025.04.22
on_before_play_hud_soundcallback, possibility to override hud sound with another oneobj:bone_transformfunctions to get transform matrix of a boneobj:xformfunction to get transform matrix of an object- New vector functions
hud_to_world()to translate vector from hud space to world spaceworld_to_hud()to vice versahud_to_world_dir()to translate direction vector from hud space to world spaceworld_to_hud_dir()to vice versa
2025.04.21
- NLTP_Ashes: Add support for distortion on HUD geometry (themrdemonized#174)
- Lucy: Updated ReShade Support (themrdemonized#175). If you are updating from version older than 2025.04.21 and use Reshade, you need to update Reshade as well
2025.04.19
- Lucy: (themrdemonized#171)
- Removal of Model Pool caused a lot of unpredictable crashes, so now it's back but with a small change to work in line with the set_shader lua methods :)
- Added
get_default_shadersandreset_shaderto easily revert a model to its vanilla shaders without the need to store default values in a table - Added support for getting/setting/resetting Script Attachment model shaders/textures
2025.04.18
- VodoXleb: Actor camera y offset (themrdemonized#170)
2025.04.15
- Fixes (themrdemonized#168)
- Lucy: Fixes (themrdemonized#167)
2025.04.14
- Lucy: Fixes (themrdemonized#165)
2025.04.13
- Kutez: Indoor Gunsound Framework (themrdemonized#161)
2025.04.11
- Lucy: Scripted game_object shader/texture changing (themrdemonized#157)
2025.04.05
- removed
FreeRoom_inBeltcheck for attachments
2025.04.04
- Script fixes
- Fixed
utils_item.has_scopereturning wrong addon items on some occassions
- Fixed
2025.04.03
- Script fixes
- Fixed
axr_trade_manager.npc_trade_buy_sellandaxr_trade_manager.npc_tech_upgrade_sellfunctions - Fixed
item_weapon.detach_scopegiving wrong addon items on some occassions
- Fixed
2025.03.29
- Bence7661: Fix issue (themrdemonized#153)
2025.03.22
- Fix issue (themrdemonized#149)
2025.03.21
--dxgi-oldcommand line argument to fix Linux issue (themrdemonized#95)
2025.03.18
- Lucy: Remove hardcoded hud_mode for Flashlight class (themrdemonized#148), Fix of (themrdemonized#147)
2025.03.17
- Fix of (themrdemonized#146)
2025.03.16
- Lucy: Fix headlamp position (themrdemonized#145)
2025.03.15
obj:list_bones(bHud = false)to return a table of all bones of an object in[bone_id] = bone_nameform. IfbHudis true, then use hud model- damoldavskiy: Repaired MAS for Script Attachments (themrdemonized#144)
2025.03.14
use_separate_ubgl_keybindto enable separate UBGL keybind or return to vanilla system- damoldavskiy: Modular Attachment System: alt positions, zoom step count (themrdemonized#143)
- Lucy: Script Attachments (themrdemonized#140)
2025.03.13
- Bence7661: Enable freelook while reloading (themrdemonized#139)
2025.03.12
- Bence7661: Russian translation for UBGL/Alt aim separation feature (themrdemonized#138)
2025.03.09
- damoldavskiy: Fixes for Modular Attachment System (themrdemonized#136)
- ZoulKrystal: Pregenerated gasmask rain noise (themrdemonized#137)
2025.03.07
- damoldavskiy: Modular Attachment System (themrdemonized#135)
2025.03.06
actor_on_update_pickupcallback to check if there is an item possible to be picked up
2025.03.05
- Bence7661: Ability to separately set keybinds for UBGL (Under Barrel Grenade Launcher) and alternate aim switch (Canted, Laser, etc) (themrdemonized#134)
2025.02.28
- DXML:
- Added
flagsparameter toon_xml_readcallback. Currently supported flags:- cache - if
flags.cache = truethen the result of DXML will be cached and the callback will not be fired next time the XML file is processed by the engine
- cache - if
- Fixed typos in
dxml_core.openXMLFileutility function
- Added
2025.02.25
- New engine exports:
- db.actor:get_actor_object_looking_at() - get object actor is looking at and in interaction radius
- db.actor:get_actor_person_looking_at() - get inventory owner actor is looking at and in interaction radius
- db.actor:get_actor_default_action_for_object() - get the interaction action for the object actor is looking at
2025.02.22
- Bence7661: Magazine fed grenade launcher class -> SSRS (allows modding in mag fed GLs) (themrdemonized#130)
2025.02.19
- VodoXleb:
g_firepos_zoomto enable bullets firing from gun barrel while aiming (themrdemonized#129)
2025.02.07
- GAMEMTL_SUBITEM_COUNT increased 10 -> 20
2025.01.26
- privatepirate: Re-design of Modded Exes Options menu
2025.01.25
db.actor:get_actor_ui_luminosity()to get luminosity as displayed on the HUD from 0 to 1
2025.01.22
allow_silencer_hide_tracercvar is 0 by default
2025.01.19
- TIHan: Stutter improvement, disable running 'net_Relcase' on scripts (themrdemonized#122)
2025.01.17
- Possibility to set
fire_point_silencerfor weapons. Adjust fire point when silencer is attached, defaults to the value of fire_point. Supports both HUD and world models
2025.01.13
- privatepirate: Fixed HDR Settings UI
2024.12.11
- Fix of "Fail to detach scope from some weapons" (themrdemonized#114)
2024.12.10
- momopate (themrdemonized#112):
- Added console commands:
fix_avelocity_spread-> Bool; Fixes moving the camera not affecting accuracy.apply_pdm_to_ads-> Bool; Makes it so that PDM values from the weapon are properly applied when aiming down sights.smooth_ads_transition-> Bool; Makes it so that going in and out of ADS smoothly changes the accuracy bonus instead of changing only at full ADS.allow_silencer_hide_tracer-> Bool; Optionally disables silencers being able to hide tracers completely. (Defaults to true)
- Added
silenced_tracers(bool) field to weapons sections. If the ammo type can be hidden when using a silenced weapon, setting this field to true makes the tracer visible again. - Added
GetZoomRotateTime()andSetZoomRotateTime(float val). - Added
senderweaponto the table used forlevel.add_bullet()to improve compatibility with modding. Defaults to sender. - Added
bkeep_speedtoSetActorPosition(). - Added
SetMovementSpeed(). Exported asset_movement_speed(vector vel)for scripting.
- Added console commands:
2024.12.09
- SSS 22 Update
2024.11.30
- Moved
_g.scriptpatches to separate script and added it intoscript.ltxload - RavenAscendant: alife_clone_weapon fix
2024.11.27
- Possibilty to change vertical mouse sensitivity factor by typing
mouse_sens_verticalin console or in Modded Exes settings. The number is a multiplicative factor to overall mouse sensitivity, default 1
2024.11.10
- New Zoom Delta Algorithm: Changes zoom levels of a scope to have same Visual zoom change between levels, to enable it type
new_zoom_delta_algorithm 1in console (themrdemonized#98)
2024.11.09
- Temporary disabled cform_cache (themrdemonized#100)
2024.11.08
- Lucy, RavenAscendant, NLTP_ASHES: Transparency shader fix for detectors (https://github.com/nltp-ashes/Western-Goods/releases/tag/fix-vanilla-shader)
2024.11.04
level.map_get_object_spots_by_id(id)to get all map object spots associated withid
2024.11.02
- Possibility to define
scope_textureandscope_texture_altin weapon upgrades
2024.11.01
- Poltergeists will always spawn visible corpse upon death. Previously flame ones and pseudogeists would spawn only collision mesh without visible mesh. To restore old behaviour, type
poltergeist_spawn_corpse_on_death 0in console
2024.10.28
- VodoXleb: Add explosive_item_on_explode callback (https://github.com/themrdemonized/xray-monolith/pull/97/files)
2024.10.26
- VodoXleb: Add torch force update function to use in Lua (themrdemonized#96)
2024.10.22
aaa_sound_object_patch.scriptfile: Rework of thesound_objectclass to have caching of playing sounds, fixing the issue of abrupt cutting of sounds due to LuaJIT GC
2024.10.19
- Ishmael: Allow addons to hide loading tips (themrdemonized#91)
- Added console command
print_bone_warningsto toggle printing warnings when using bone_position and bone_direction functions and encounter invalid bones
2024.10.18
- Fixed wrong initial zoom level with dynamic zoom scopes
level.add_bulletsupports table as an argument to define bullet properties. Refer tolua_help_ex.scriptfile for available table fields
2024.10.14
- deggua: Fix Grass Patterns due to Bad PRNG Seeding (themrdemonized#86)
2024.10.10
- damoldavskiy: Added hud_fov_aim_factor console parameter which which lowers hud_fov in ads. Useful for 3D scopes. Default is 0 (themrdemonized#83)
2024.10.07
- damoldavskiy: Min/max scope zoom fov params (themrdemonized#81)
- Reverted Fix HUD Shaking due to 3DSS compatibility issues (https://github.com/themrdemonized/xray-monolith/pull/75/commits/98022a2a2cd17204c0ffac215d541425940042ba)
- Fix Grenade launcher rounds issue when loading save (themrdemonized#79)
2024.10.06
- Hozar2002: Large levels support and fix HUD model rendering at large distances from map origin (themrdemonized#75)
- damoldavskiy: Zoom step count adjustment and slight refactor (themrdemonized#80)
- New
ltx_help_ex.scriptfile to describe additional LTX params supported by the engine
2024.10.05
- deggua: HDR10 Bloom, Lens Flares, Misc Updates (themrdemonized#78)
- Disabled screenshot capturing if HDR is enabled to prevent crashes
- Added HDR live editing in Modded Exes settings
2024.10.01
- Added game version check for ActorMenu_on_item_after_move fix
- DXML: add check for empty XMLs, fixed crash when trying to use
queryon them r__3Dfakescope 0by default
2024.09.29 (clean reinstall required)
- Anomaly 1.5.3 Update
2024.09.28
- Reset mouse state on loading the game
2024.09.25 (clean reinstall required)
- Gamedata files are packed
00_modded_exes_gamedata.db0archive during Github Action
2024.09.23
- Anomaly 1.5.3 Test3 Update
2024.09.20
- Anomaly 1.5.3 Test2 Update
2024.09.19
- Anomaly 1.5.3 Test1 Update
2024.09.15
- deggua: DX11 DWM vsync fix for windowed modes + fix for broken blur passes (themrdemonized#72)
2024.09.14 (remove gamedata/shaders/r3 folder inside Anomaly folder before installation)
- deggua: Fix HDR10 rendering (themrdemonized#71)
2024.09.12
- GhenTuong:
-
Fix particles flicking by using single threading update.
-
Objects can use "ignore_collision" in section configs to ignore collision with another objects. Can be map geometry, other physic objects, and creatures.
ignore_collision = map,obj,npc -
Allow the use of "on_physic_contact" in section configs to run a script when collisions occur.
-
Allow the use of "on_explode" in section configs to run a script when explosive objects explode.
-
Fixed bug, when grenade launchers of all varieties spawn grenade objects to match the amount of ammo and don't release old grenade objects when unloading.
-
Allow the use of "ammo_grenade_vel" in section configs for grenade ammo to have a different velocity
-
- damoldavskiy: Option to make zombies invisible in heatvision (themrdemonized#69)
2024.09.09
- Ascii1457: fixed FPS drops with weapons without SSS
2024.09.08
- Redotix: 3DSS SSS21 Compatibility and Modded exes menu toggle (themrdemonized#67)
2024.09.07
- Ascii1457: fixed water rendering without SSS
2024.09.06
- deggua: Fix for D3D management issues in dx10HW.cpp (themrdemonized#66)
2024.09.04
- damoldavskiy: Support for upcoming updates of Shader 3D Scopes (themrdemonized#64)
- deggua: Fix HDR10 issues with HUD samplers and MSAA setting (themrdemonized#65)
2024.09.02
- deggua: HDR10 output support to the DX11 renderer (themrdemonized#63)
- Added HDR parameters to the console variables.
r4_hdr_oncommand to enable HDR. Restart is required, default is disabled.r4_hdr_whitepoint_nitsto set the monitor's HDR whitepoint (max brightness).r4_hdr_ui_nitsto set the UI brightness in nits and should be set below the whitepoint at a level that is comfortable for the user.r4_hdr_colorspaceto set HDR colorspace- All options are available in Modded Exes options menu
- Included shaders works with vanilla Anomaly. For compatibility with SSS and GAMMA, download GAMMA shaders from here https://github.com/deggua/xray-hdr10-shaders/releases/tag/v3
2024.08.25
- Redotix: 3D Shader scopes (3DSS) rendering adjustments (themrdemonized#62):
- custom shader flags for 3DSS lenses with a custom render order
- a render phase for rendering the scope reticle
- a render target that samples the z buffer of the scene before hud rendering begins
2024.08.20
- SSS 21 Update
2024.08.18
- NLTP_ASHES (themrdemonized#61):
-
LTX based patrol paths definitions
-
Support for custom first shot sound effect in
CWeaponMagazinedExample:
snd_shoot_actor_first = path\to\my_sfx snd_silncer_shoot_actor_first = path\to\my_sln_sfx -
Support for inventory boxes in
game_object:object("section")function -
Fix for
ActorMenu_on_item_after_movecallback sending nil values in obj argument -
Fix for
actor_on_item_take_from_boxcallback not firing when item is moved from a slot
-
2024.08.10
- Restored
VIEWPORT_NEARvalue to vanilla due to graphical issues
2024.08.04
- VodoXleb: Add viewport_near console command to change camera near value
2024.07.21
- VodoXleb: Add callbacks for getting artefact_count of outfit and getting belt_size in inventory.
2024.07.06
- Possible 0xffff address violation crash fix when using detector scopes on enemies
2024.07.05
- New Lua functions:
- obj:get_scope_ui() Returns table containing this data
name- name of scope_texture weapon currently usesuiWindow- CUIWindow instance of scope UIstatics- array of CUIStatic that CUIWindow scope UI instance uses
- obj:set_scope_ui(string) to set scope UI by a texture name (for example
wpn_crosshair_mosin)
- obj:get_scope_ui() Returns table containing this data
2024.06.12
- GhenTuong: Fix crash related to PhraseDialog.cpp
2024.05.31
- Reverted "vegeta1k95: Change item
max_usesandremaining_usesto the maximum of 65535 (u16)", the feature is incompatible with existing savefiles, breaking amount of uses and inventory weight calculation
2024.05.30
- NLTP_ASHES:
obj:character_dialogs()to get a list of available dialogs of character
2024.05.27
-
etapomom:
- Added console commands:
allow_outfit_control_inertion_factor*allow_weapon_control_inertion_factor*render_short_tracers**
(*) Weapon and outfit control_inertion_factor can affect mouse sens, toggleable with their respective commands. (**) Tracers will be capped to their minimum length instead of not rendering with this command enabled.-
Explosive shrapnel (frags) customization:
frags_apfrags_air_resistancefrags_tracerfrags_4to1_tracerfrags_magnetic_beam_shotfrags_tracer_color_ID
-
Outfit
control_inertion_factorltx field now read in-engine -
Silencers can hide bullet tracers, toggleable per ammo with the
tracer_silencedltx field -
Tracer length modifier added to the bullet_manager section,
tracer_length_k
- Added console commands:
-
vegeta1k95: Change item
max_usesandremaining_usesto the maximum of 65535 (u16)
2024.05.23
- Fixed incorrect CUIListBox width if
complex_mode=1is used in conjuction with colored text
2024.05.21
- Support for arbitrary-count burst fire with
rpm_mode_2with workingcycle_downparameter cycle_downandrpm_mode_2support for weapon upgradesdb.actor:get_talking_npc()function to return the object player talks to
2024.05.20
- NLTP_ASHES, GhenTuong:
- Fixed script_text node not working properly with parametrized dialogs (fix from GhenTuong);
- Rewrote (more so reformatted) parts of PhraseDialog.cpp in an attempt to make it more readable.
2024.05.15
- NLTP_ASHES: hotfix(wpn-zoom-type-changed-with-gl): Fix On Weapon Zoom Type Changed With Grenade Launcher
2024.05.11
- Fixed faulty xrs_facer.hit_callback function
- VodoXleb: customizable
explode_effectorper grenade section withexplode_effector_sect_name = effector_sectltx parameter - NLTP_ASHES:
actor_on_weapon_zoom_type_changedLua callback
2024.05.07
- Fixed CMovementManager parallel pathfinding that could lead to stuck monsters on the map
- Reduced delay between pathfinding computations from 1.5-2.5 to 1-1.5 secs
- Lua function
get_string_table()to return a table of all translated string texts and corresponding string IDs
2024.05.06
- Fixes to
item_device.on_anomaly_touchanditms_manager.actor_on_item_before_usecallbacks that didn't respect inputflags.ret_value - strangerism: New
freeze_timeconsole command that allows to freeze time but the sounds can still play
2024.05.03
- vegeta1k95:
get_hud():GetWindow()method
2024.05.01
- Fixed missing translation strings for some modded exes options
- New Lua functions
db.actor:update_weight()- Force update actor's inventory weightdb.actor:get_total_weight_force_update()- Force update actor's inventory weight and return updated weight
2024.04.22
- Added
complex_modeattribute to<list>UI node (default is disabled), which allows for colored text of list items and other features. Example:<properties_box> <texture>ui_inGame2_demo_player_info_window</texture> <list x="0" y="0" width="10" height="10" item_height="18" always_show_scroll="0" can_select="1" bottom_indent="10" right_ident="10" left_ident="20" complex_mode="1"> <font_s r="220" g="220" b="220" /> <font r="150" g="150" b="150" font="letterica16" complex_mode="1" /> </list> </properties_box>
- vegeta1k95:
- Added an optional and configurable texture glowing for silencers after consecutive shots, visually looks like overheating.
2024.04.17
- Tosox:
- Poltergeists and Burers can throw corpses, to enable it check modded exes options menu or type in console
telekinetic_objects_include_corpses 1
- Poltergeists and Burers can throw corpses, to enable it check modded exes options menu or type in console
2024.04.12
- Script hit
.bonefield can be assigneds_hit.bone = "bip01_spine", as well as calleds_hit.bone("bip01_spine"). This will potentially change behaviour of some vanilla scripts and mods to the authors' intended way. - vegeta1k95:
- Added new optional telekinesis type for gravitational anomalies behavior: CTeleTrampolin
- Can be used by mods, which set
tele_type 1inside anomalies config sections. - CTeleTrampolin Launches objects caught in an anomaly very high to the sky. Now one can experiment with immersive lore-friendly "Springboard"/"Trampolin" anomalies :)
2024.04.07
- strangerism:
- Fixed cursor staying visible when launching demo_record
- Adds propagation of F12 keypress screenshot event (only available with cmd
demo_record_return_ctrl_inputs) - Toggle cursor visibility when demo_record controls are switched to invoker script and back (only available with cmd
demo_record_return_ctrl_inputs) - Added new API to enable camera bonduary check (limits the camera distance from the actor)
- Added camera bonduary check and that the camera does not go below the actor ground (not really a ground collision check)
- Update console cmd
demo_record_return_ctrl_inputsto enable camera bonduary check
- DaimeneX: base_hud_offset_... params work with PDA
2024.04.06
- Safe reading of base_hud_offset_... params
on_loading_screen_key_promptcallback works withkeypress_on_start 0cvar
2024.04.05
- DaimeneX: Editable variables that allow weapon position adjustements that don't require aim tweaks
- base_hud_offset_pos
- base_hud_offset_pos_16x9
- base_hud_offset_rot
- base_hud_offset_rot_16x9
2024.04.03
- vegeta1k95: Fixed the problem where weapon muzzle flash and smoke particles were wrongly aligned wrt each other.
2024.04.01
npc:set_enable_movement_collision(true|false)to enable or disable NPC's movement collision- strangerism:
- added to DemoRecord extra keybindings to support pc/laptops with no numpad
- added new console command (demo_record_return_ctrl_inputs) to launch DemoRecord with the ability for client scripts to receive certain keystrokes and react to it while DemoRecord is still running
2024.03.30
- vegeta1k95: Fixed gravity anomalies not always playing particles/sounds of body tearing
2024.03.26
- vegeta1k95: Add optional "blowout_disable_idle" option for anomalies
2024.03.24
- Print Lua callstack when
level.object_by_id(nil)is called
2024.03.21
- vegeta1k95:
- Fix lens flares and sun/moon for heatvision for DX10 (forgot in the last request);
- Make corpses heat decay configurable through new console parameters;
- Tosox:
- New npc_on_item_before_pickup callback
2024.03.18
- vegeta1k95:
- Fix issue when lens flares - from sun, etc - were rendered on top of infrared image.
- Rendering sun/moon into heat RT - makes it possible for those to be displayed hot in infrared.
2024.03.12
- SSS 20.2 Update
- Fix water rendering on DX10
2024.03.11
- damoldavskiy: Mark Switch shader param
2024.03.08
- Lucy, VodoXleb: new
on_phrase_callback
2024.03.05
- SSS 20 Update
2024.02.28
- Crash saving is enabled after loading screen and disabled on player net_destroy. This should fix fake
db.actor is nilLua errors - MOUSEBUFFERSIZE is increased from 64 to 1024
- KEYBOARDBUFFERSIZE is increased from 64 to 128
- Adjustable mouse and keyboard buffer size via console commands
mouse_buffer_sizeandkeyboard_buffer_size
2024.02.05
- Xr_ini.cpp fixes
- Fixed incorrect bullet speed in
bullet_on_initcallback
2024.02.01
- Raise limits of
mouse_sens_aimconsole command to 0.01-5.0
2024.01.31
- LVutner: compute shaders fix
2024.01.30
- Hrust: fix volumetric fog
2024.01.27
- Fixed:
[error]Expression : left_eye_bone_id != u16(-1) && right_eye_bone_id != u16(-1), CBaseMonster::update_eyes_visibility - Reenabled robinhood hashing
2024.01.26
- Temporary disabled robinhood hashing, reason:
[error]Expression : left_eye_bone_id != u16(-1) && right_eye_bone_id != u16(-1), CBaseMonster::update_eyes_visibility - Print Lua stack on
you are trying to use a destroyed objecterror - Print error message for CAI_Stalker::net_Export in the log when crashing
- MagielBruntink: Print missing
.oggcomments only in debug mode
2024.01.18
- MagielBruntink: Increased lua_gcstep default to 400 and allow console editing via
lua_gcstepcommand
2024.01.13
- Fixed typo in GameMtlLib.cpp
- OneMorePseudoCoder: Memory leaks fixes
2024.01.11
- Added possibility to override gamemtl.xr materials and define new ones via
materials.ltxandmaterial_pairs.ltxfiles. Please read the guide in those files ingamedata/materialsfolder - Removed
pSettings->line_exist(sect_name,"fire_point")==pSettings->line_exist(sect_name,"fire_bone")game crash check - Raised
GAMEMTL_SUBITEM_COUNTfor material sounds and particles constant from 4 to 10 - Fixed rare unlocalizer crash and crashes on Linux because of this bug
2024.01.04
- New
db.actorexportsdb.actor:get_actor_crouch_coef()db.actor:set_actor_crouch_coef(float)db.actor:get_actor_climb_coef()db.actor:set_actor_climb_coef(float)db.actor:get_actor_walk_strafe_coef()db.actor:set_actor_walk_strafe_coef(float)db.actor:get_actor_run_strafe_coef()db.actor:set_actor_run_strafe_coef(float)db.actor:get_actor_sprint_strafe_coef()db.actor:set_actor_sprint_strafe_coef(float)
- Added
hit_fraction_actorfield for helmet upgrades - Added filename field for section items
- Added ini script methods for DLTX
- dltx_print(string sec = nil, string line = nil): prints information about sections. If sec is nil, then whole file will be printed. If section is provided and line is nil, then the whole section will be printed. If both provided, only the provided line will be printed
- dltx_get_filename_of_line(string sec, string line): returns filename that was used for a line in the section
- dltx_get_section(string sec): returns a table with section information with structure:
{ [<section_1>] = { name = <section_1> value = <value_1> filename = <filename_1> } ... }- dltx_is_override(string sec, string line): returns true if line in section was overriden by DLTX mod
2023.12.30
- Added
bullet_idfield to script hit struct - Restored behaviour of
r_bool_exandr_valuefunctions to match vanilla code - Filtered useless lines in stack trace if
pdbfile is not present
2023.12.24
- SSS update
- Minimap shape fix moved into option. Add
ratio_mode = "1"inzone_map_*.xmlfiles inlevel_framenode to enable the new code
2023.12.23
- DLTX: simplified possibility to delete whole section, now its just enough to write
!![section]to completely delete it - Longreed: added possibility for minimap frame to have a custom rectangular shape
2023.12.17
- Fixed getting wrong values in ini cache due to robin_hood hashing, reenabled the library
2023.12.16u1
- Temporary disabled robin_hood hashing to fix crashes
2023.12.16
xr_unordered_maptype is replaced with robin_hood hashing from https://github.com/martinus/robin-hood-hashing. Additionaly introducingxr_unordered_setandxr_pairtypes based on this library- Added engine-based caching ini values in CIniFile class
- Added Lua function
ini_file:get_filename()to return the filename of file - Replaced
ini_file_exclass with implementation that is derived fromini_file, fully backwards compatible with existingini_file_ex level.iterate_nearestwill sort objects by ascending distance before executing Lua callback- Added
game.update_pda_news_from_uiwindow(CUIWindow*)function to update news in PDA from news window on the HUD - Added printing of engine stack trace in the log via StackWalker library https://github.com/JochenKalmbach/StackWalker
- To make it work you need to download
pdbfile for your DX/AVX version and put it into same place asexefile. PDB files are here: https://github.com/themrdemonized/xray-monolith/releases/latest
- To make it work you need to download
2023.12.09u1
- Fixed crash on failed
tonumberconversion when usingSYS_GetParam
2023.12.09
- Disabled get_console warning for bool variables
- Lua unlocalizer supports
_g.script - Lua unlocalizer filename check is insensitive, ie
[_G]is the same as[_g] - Disabled Lua caches for ini files when using
SYS_GetParamand reading variables such asr_string_exin favor of engine functions and to reduce memory footprint and possible GC calls - Added undocumented Lua extensions exports into
lua_help_ex.script - Added new callback
on_news_receivedto manipulate game news when they are displayed - Added
game.change_game_news_show_timefunction to postpone fadeout of game news - Added
throttle(func, time)function to throttle calls tofuncbytimein milliseconds
2023.12.06
- Added gun object and gun owner params to
actor_on_hud_animation_markandactor_on_hud_animation_playcallbacks - Warnings when script fails to get console variables due to incorrect type
2023.12.02
- Added possibility to edit freelook angle limit with console command
freelook_cam_limit - Using /Ob3 flag for compiling, theoretically should increase performance a bit
2023.11.28
- Lucy: add a motion mark to the draw/holster animations of the flashlight to trigger when the light turns on or off
2023.11.25
- Added functions for manipulating map spot graphics
level.map_get_object_spot_static(u16 id, LPCSTR spot_type)will return CUIStatic object of the spot on the maplevel.map_get_object_minimap_spot_static(u16 id, LPCSTR spot_type)will return CUIStatic object of the spot on the minimap
- If DXML query is invalid, the game will crash with an error message and callstack
2023.11.22
- GhenTuong: parametrized functions in dialogs (precondition, action, script_text tags)
- '=' and '!' can be used and work same as condlist.
=is true condition,!is false - () can be used to input parameters. Parameters are separated by ':'
- Example:
<precondition>!file.func(dolg:1:false)</precondition>
function func(a,b,dialog_id,phrase_id,next_id,p) printf("%s %s %s %s %s %s", a, b, dialog_id, phrase_id, next_id, table.concat(p, " ")) end
- '=' and '!' can be used and work same as condlist.
- Added option to write timestamps in console and log file. Type
log_timestamps 1in console to turn on the feature - DXML query function will always return table even with invalid queries
2023.11.15
- Fixed crash when trying to use alt aim on Mosin-like scopes
2023.11.14
- Fixed issue when having grenade launcher attached will trigger shader scopes
2023.11.12
- Fixed physics initialization when obj:force_set_position(pos, true) is used
- Fixed not working shader scopes when alternative sight is an optic
- Removed (DLTX, DXML, ...) string from version title in the main menu screen
2023.10.27
- Reverted change to mouse wheel, its not inverted now
- Toggle inverted mouse wheel with console command
mouse_wheel_invert_zoom 1
2023.10.20
- Removed monster stuck fix due to big fps loses it causes. You can turn it back via console command
monster_stuck_fix 1
2023.10.17
- SSS 18 update
- Lucy: specifying a custom UI bone for Svarog/Veles in the hud sections of detectors via
detector_ui_boneproperty string_table_error_msgconsole command to print missing translation strings
2023.10.05
- Fixed occasional crash when right click on PDA map
db.actor:set_actor_directionsupports roll as third argument
2023.09.30
- Added possibility to disable weapon switch with mouse wheel, use console command
mouse_wheel_change_weapon 0 - Fixed invisible console bug when there are invisible debug gizmos being used
db.actor:set_actor_directionsupports pitch as a second argument- Minor fixes of right click PDA callback
- Added print of stack when incorrect bone id provided for bone functions
- Moved LuaJIT to VS2022 toolchain and applied optimization flags for build
2023.09.22
- Added
on_map_right_clickcallback, which allows to right click anywhere on the map and fire user functions at projected real world position. Refer tocallbacks_gameobject.script - Added possibility to zoom in and out relative to cursor on the map, instead of always center
- Fixed possible crash when using script functions for getting bone properties
- Added temporary fix for view NPC PDA's function not working correctly if 2D PDA is used
- Added
player_hudfunctions documentation inlua_help_ex.script - Added global functions
nextTick(f, n)will execute function f on the next n-th game tick. Your function should return true if you want to fire it once, just like with time eventsprint_tip(s)will print information in news feed as well as in console
2023.09.06
- Moved build procedure to Github Actions in https://github.com/themrdemonized/xray-monolith
- Apart from exes themselves, https://github.com/themrdemonized/xray-monolith repo will contain PDB files if you want to debug the code yourself
- Added
angleandforce_set_anglefunctions for game objects by GhenTuong - Added
get_modded_exes_versionfunction
2023.09.02
- Performance improvements when calling level.object_by_id function, thanks Lucy for the hint
2023.08.29
- Added
apply_torquefunction toget_physics_shell()Lua object to apply rotational force to models - Fixes by
2023.08.19
- Removed diff files, please fork XRay-Monolith repo to work on engine and submit changes via pull requests: https://github.com/themrdemonized/xray-monolith
- Added boneId parameter to
on_before_hit_after_calcscallback - More descriptive error message on crashes if it was caused by Lua
- Fixes by
2023.08.09
- Reduced size of exes
- Changes to build procedure to solve not starting game with certain CPU configurations
- Restored original behaviour of
bone_positionandbone_directionfunctions to solve issues with some mods. If incorrect bone_id is specified for them, the warning will be printed in the console
2023.08.08
- SSS update
- Attempt to resolve not starting game with certain CPU configurations. Huge thanks to
for contributing time and efforts to solve the problem
2023.08.07
- Lucy: Fix of broken left hand animations
2023.08.06
- SSS update
2023.08.05
- Fixed possible malfunction of shader scopes by enforcing
r__fakescope 1on first update - New callback
on_before_hit_after_calcsthat will fire just before applying hit to an entity, refer tocallbacks_gameobject.script - Possibility to keep hud drawed and affected when using
level.set_cam_custom_position_directionfunction, refer tolua_help_ex.script - Features and fixes by Lucy:
- Device/Detector animations can now use the lead_gun bone if their hud section has lh_lead_gun = true (script animations can also use this config toggle in their section)
- Device/Detector amera animations will now play even if there's something in your right hand
- Cleaned up player_hud animation code
2023.07.28
- Features by LVutner:
- Added support for Shader Scopes on DX9
- Added support for Heatvision on DX10
- New file
aaaa_script_fixes_mp.scriptthat will contain monkeypatches for fixing some vanilla scripts- Fixed incorrect behaviour of
actor_on_item_before_pickupcallback
- Fixed incorrect behaviour of
- Fixed unable to switch to russian language when typing text
- Added Troubleshooting section in readme file
2023.07.24
- Exes now are built with Visual Studio 2022. In case you have problems, make sure you installed the latest Visual C++ Redistributables. You can find them here: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/
- Fixes and features by Lucy
- Reshade shaders won't affect UI, full addon support version of Reshade is required
- fix for hands exported from blender (you no longer have to reassign the motion references)
- fix for silent error / script freeze when getting player accuracy in scripts
- animation fixes (shotgun shell didn't sync with add cartridge and close anims)
- game no longer crashes on missing item section when loading a save (should be possible to uninstall most mods mid-game now)
- fix for mutants stuck running in place (many thanks to Arszi for finding it)
- fix for two handed detector/device animations (swaying is now applied to both arms instead of only the left one)
- it's now possible to play script particle effects in hud_mode with :play(true) / :play_at_pos(pos, true)
- the game will now display a crash message when crashing due to empty translation string
- Scripted Debug Render functions, drawing debug boxes, spheres and lines
- Debug renderer works on DX10/11
- Many thanks to OpenXRay and OGSR authors:
- https://github.com/OpenXRay/xray-16/commit/752cfddc09989b1f6545f420a5c76a3baf3004d7
- https://github.com/OpenXRay/xray-16/commit/a1e581285c21f2d5fd59ffe8afb089fb7b2da154
- https://github.com/OpenXRay/xray-16/commit/c17a38abf6318f1a8b8c09e9e68c188fe7b821c1
- https://github.com/OGSR/OGSR-Engine/commit/d359bde2f1e5548a053faf0c5361520a55b0552c
- Exported a few more vector and matrix functions to lua
- Optional third argument for world2ui to return position even if it's off screen instead of -9999
- Unified bone lua functions and made them safer
- It's now possible to get player first person hands bone data in lua
- All new functions are added in
lua_help_ex.script
2023.07.21
- Added
level.get_target_pos()andlevel.get_target_result()functions, refer to lua_help_ex.script - Added
actor_on_changed_slotcallback, refer tocallbacks_gameobject.script - Hotfix of possible mouse unfocus from game window by Lucy
2023.07.09
- Added
anomaly_on_before_activateevent for NPCs in callbacks_gameobject.script to make them less vurnerable to anomalies if pathfinding is enabled - Added possibility to set custom rotation angle of the wallmark, please refer to lua_help_ex.script in wallmarks_manager class
- 3D UI no longer clip with the sky and visibility in the dark fix by Lucy
2023.07.07
- Added
bullet_on_updatecallback, please refer to callbacks_gameobject.script file for available info about new callback - Added
life_timefield to bullet table
2023.07.04
ai_die_in_anomaliescommand now works in real time- Revised the code that described behaviour of NPCs and monsters when they are near anomalies
- Anomalies are always visible for AI on engine level, previously it was defined by console variable
ai_die_in_anomalies - Monsters will always try to evade anomalies
- NPCs behaviour works this way
- if
ai_die_in_anomaliesis 1, they will try to evade anomalies and will receive damage if they cant - otherwise its defined per NPC (by default its vanilla behaviour - no pathfinding and no damage) that can be changed via scripts
- if
- Anomalies are always visible for AI on engine level, previously it was defined by console variable
- New game object functions for NPCs:
- npc:get_enable_anomalies_pathfinding() - get the state of anomalies pathfinding
- npc:set_enable_anomalies_pathfinding(bool) - enable or disable anomalies pathfinding
- npc:get_enable_anomalies_damage() - get the state of anomalies damage
- npc:set_enable_anomalies_damage(bool) - enable or disable anomalies damage
2023.07.03
- Added level.map_remove_all_object_spots(id) function
2023.07.01
- Mouse wheel callback
on_mouse_wheelcan consume input if flags.ret_value is false, please refer to callbacks_gameobject.script file for available info about new callback - Added global variable MODDED_EXES_VERSION
2023.06.30
- Added mouse wheel callback
on_mouse_wheel, please refer to callbacks_gameobject.script file for available info about new callback - Added
db.actor:get_actor_lookout_coef()anddb.actor:set_actor_lookout_coef(float)functions for manipulating maximum lean angle - Fix of gun disappearing when switching between 1st and 3rd person view
2023.06.17
- Added
bullet_on_initcallback, please refer to callbacks_gameobject.script file for available info about new callback - Small cleanup of dxml_core.script
2023.06.04
- SSS update
2023.05.29
- In case of missing translation for a string, the engine will fallback to english text for this string. To disable the behaviour, use console command
use_english_text_for_missing_translations 0
2023.05.27
local res, obj_id = game.ui2world(pos)for unprojecting from ui coordinates (ie. mouse cursor) to the world
2023.05.22
alife():iterate_object(function(se_obj))function to iterate all objects that are in the gamelevel.set_cam_custom_position_direction(Fvector position, Fvector direction)andlevel.remove_cam_custom_position_direction()to manipulate camera in world coordinates- CWeapon additional methods: world model on stalkers adjustments
- function Set_mOffset(Fvector position, Fvector orientation)
- function Set_mStrapOffset(Fvector position, Fvector orientation)
- function Set_mFirePoint(Fvector position)
- function Set_mFirePoint2(Fvector position)
- function Set_mShellPoint(Fvector position)
2023.04.27
- SSS update
2023.04.15
- Added
get_artefact_additional_inventory_weight()andset_artefact_additional_inventory_weight(float)for artefacts
2023.04.09:
- Put extra shader files in 000_shader_placeholder.db0, CLEAN SHADER CACHE IS REQUIRED
2023.04.08:
- SSS update
- Smooth Particles with configurable update rate by vegeta1k95
- To change update rate use console command
particle_update_modwhich takes values from 0.04 to 10.0 (default is 1.0). 1.0 corresponds to 30hz, 0.5 - 60hz and so on. The setting is also available in the options menu in "Modded Exes" group - Possibility to set particle update delta in milliseconds in .pe files for fine tuning with
update_stepfield
- To change update rate use console command
2023.03.31:
- SSS update
- Removed maximum engine limit of 5 artefacts on belt
2023.03.25:
- Potential fix for stuck monsters from OGSR Engine repo in
control_animation_base_accel.cpp - Added
bullet_on_impactandbullet_on_removecallbacks, please refer to callbacks_gameobject.script file for available info about new callbacks
2023.03.19:
- Added true first person death camera (enabled by default), that will stay with player when he dies and will react accordingly to player's head transforms. Additional console commands
first_person_death// Enable First Person Death Camerafirst_person_death_direction_offset// FPD Camera Direction Offset (in DEGREES)first_person_death_position_offset// FPD Camera Position Offset (x, y, z)first_person_death_position_smoothing// FPD Camera Position Change Smoothingfirst_person_death_direction_smoothing// FPD Camera Direction Change Smoothingfirst_person_death_near_plane_offset// FPD Camera Near Plane Offset
- Fixed heatvision effects not applied to the player hands
- Added options menu for modded exes settings
- From options menu you can adjust all added modded exes parameters, such as for Shader Scopes, Sound Doppler, FPD Camera and so on
- Added
level.get_music_volume()andlevel.set_music_volume()Lua functions to adjust music volume in runtime without messing with console commands
2023.03.15:
- Stability updates to heatvision sources
- DXML 3.0 update:
- DXML now uses own storage for callbacks to ensure they are fired accordingly to registering order
- Added
insertFromXMLFilefunction to read contents of xml file to insert into xml_obj - Added optional parameter useRootNode to
insertFromXMLStringandinsertFromXMLFilefunctions that will hint DXML to insert contents from a root node of parsed XML instead of the whole file (default: false)
2023.03.11:
- Added heatvision support by vegeta1k95 (https://www.moddb.com/mods/stalker-anomaly/addons/heatvision-v02-extension-for-beefs-nvg-dx11engine-mod/)
- Fixed too big FOV when using shader scopes with
new_zoom_enablecommand enabled
2023.03.09:
- Added possibility to unlocalize Lua variables in scripts before loading, making them global to the script namespace
- For unlocalizing a variable in the script, please refer to documentation in test file in
gamedata/configs/unlocalizersfolder
- For unlocalizing a variable in the script, please refer to documentation in test file in
- Fixed the bug where
scope_factorsettings were applied to disabled shader scopes or scopes without defined radius for shader effect - Fixed non-working adjustable scopes upgrade for weapons
2023.03.05:
- Fixed the bug where the weapon with attached adjustable scope and grenade launcher will allow to zoom in with GL. To explicitly enable zooming with active grenade launcher, for whatever reason, add
scope_dynamic_zoom_gl = truein weapon section in its .ltx file - Possibility to add shader scopes to alternative sights
scope_dynamic_zoom_alt = truewill enable adjustable scope for alt. sightscope_texture_alt = <path to texture>will allow to specify what crosshair to use for alt. sight
- Correct zoom_factor calculation for adjustable scopes with shader scopes enabled, you wont get any extra zoom from shader on top of engine FOV
scope_factorconsole command that changes zoom by shader scopes now works in real time- Lowered chromatic abberation and scope blur effect, increasing the quality of image
2023.02.20:
-
New SSS update
-
New demo-record.diff that contains these changes
- New console commands:
demo_record_blocked_input 1will start demo_record but you won't be available to move it or stop it, its intended for manipulation via scripts executing console commands below. The console and Esc key are availabledemo_record_stopwill stop all launcheddemo_recordcommands, including with blocked input onesdemo_set_cam_direction <head, pitch, roll>will set the direction the camera is facing and its roll. The parameters are in RADIANS, beware. Use this withdemo_set_cam_position <x, y, z>to manipulate camera via scripts
- New console commands:
2023.02.18:
- New SSS update
2023.02.16:
-
Added
gameobjects_registrytable incallbacks_gameobject.scriptthat contains all online game objects and updates accordingly. Additionally, a global iteratorgame_objects_iteradded that will go through all online game objectsfor obj in game_objects_iter() do printf(obj:section()) end
-
Pseudogiant stomps now can kill and damage any object, stalker or mutant, instead of only actor. New callbacks provided for pseudogiants attacks in callbacks_gameobject.script
- To disable new functionality, type in console
pseudogiant_can_damage_objects_on_stomp 0
- To disable new functionality, type in console
2023.01.28:
- DLTX received possibility to create section if it doesn't exists and override section if it does with the same symbol
@. Below is the example fornewsectionthat wasn't defined. Firstly its created with one paramoverride = false, then its overriden withoverride = true
@[newsection]
override = false
@[newsection]
override = true
- Added
bone_direction()function for game objects - Updated
lua_help_ex.scriptwith new functions available
2023.01.23:
- MAX_TRIS const increased from 1024 to 16384
2023.01.13:
- Fix corrupted print of duplicate section
2023.01.06:
- In case of typical first person model/animation errors, the game will print the section that has defined model
2023.01.03:
-
Added CGameObject::NetSpawn and NetDestroy callbacks to Lua (file callbacks_gameobject.script), to register callback use
RegisterScriptCallback("game_object_on_net_spawn", function(obj)) RegisterScriptCallback("game_object_on_net_destroy", function(obj))
-
DXML will no longer process translation strings of non eng/rus languages, they aren't supported yet
-
New lua_help_ex.script file where new engine exports will be described
-
Exported additional CWeapon functions considering weapon's RPM, handling and recoil
-
Exported functions to get and set actors walk accel and walkback coeff
db.actor:get_actor_walk_accel() db.actor:set_actor_walk_accel(float) db.actor:get_actor_walk_back_coef() db.actor:set_actor_walk_back_coef(float)
- DLTX received possibility to add items to parameter's list if the parameter has structure like
name = item1, item2, item3>name = item4, item5will add item4 and item5 to list, the result would bename = item1, item2, item3, item4, item5<name = item3will remove item3 from the list, the result would bename = item1, item2- example for mod_system_...ltx:
![info_portions] >files = ah_info, info_hidden_threat ![dialogs] >files = AH_dialogs, dialogs_hidden_threat ![profiles] >files = npc_profile_ah, npc_profile_hidden_threat >specific_characters_files = character_desc_ah, character_desc_hidden_threat -
Exported distance_to_xz_sqr() function of Fvector
-
Redesigned duplicate section error, it will additionally print what file adds the section in the first place in addition to the file that has the duplicate


