Dltx stalker anomaly что такое
Перейти к содержимому

Dltx stalker anomaly что такое

  • автор:

Anomaly Modding Book

Modding STALKER has this annoying tendency to result in conflicts when two different mods overwrite the same .ltx file, but not the same variables and sections within that file.

DLTX aims to mitigate this by allowing a mod author to only override the values that they actually wish to change in a separate file, which should greatly reduce the amount of needless mod conflicts and the need to manually merge mods.

2. Installation

DLTX is built-in the Anomaly Modded Exes.

  • Download the file STALKER-Anomaly-modded-exes.zip from this repository;
  • Back up the contents of your "bin" folder;
  • Unpack the contents of the archive on top of your game’s root folder.

Image explananing the installation process of the Modded ExesImage explananing the installation process of the Modded Exes

3. Tools

To make the process easier for people uncomfortable with DLTX, or to automatically DLTX-ify older addons, you can use the LTXDiff tool.

LTXDiff findroot

In order to properly DLTX-ify a file, you need to find its root file. For this, you can either manually trace back the chain of #includes, or use the LTXDiff.

In order to make a differential change to the LTX records, you have to follow these steps:

DLTX — Differential LTX Loading [OUTDATED, READ DESCRIPTION] addon — S.T.A.L.K.E.R. Anomaly mod for S.T.A.L.K.E.R.: Call of Pripyat

The stand-alone mod S.T.A.L.K.E.R. Anomaly aims to be the most stable and customizable experience for fans of the S.T.A.L.K.E.R. games. It’s powered by the Monolith 64-bit engine, a custom fork of the X-Ray engine.

MD5 Hash
Embed Button
Embed Widget

Modding STALKER has this annoying tendency to result in conflicts when two different mods overwrite the same file, but not the same variables and sections within that file. DLTX aims to mitigate this by allowing a mod author to only override the values that they actually wish to change in a separate file, which should greatly reduce the amount of needless mod conflicts and the need to manually merge mods.


I no longer am maintaining this mod, mrdemonized will take care of support and future updates on this new page: Moddb.com

How do I install it?
Back up the contents of your «bin» folder and replace it with the one supplied. The contents of «tools» and «example_mod» include optional resources to make mods for DLTX or to convert existing ones. If you are using Mod Organizer 2 do NOT use it to install DLTX (you can still use it for other mods), you need to paste the files into your real «bin» folder.

How do I use it as a player?
Nothing should change from how you normally install mods, except hopefully alot more of them should work without issues once people decide to use this format. However you could try to convert mods yourself if you’re having alot of mod conflicts.

How do I use it as a modder?
In order to make a differential change to the LTX records, you have to follow these steps:

1. Find out which root LTX file is loading the variable you are trying to modify. You can either search the files manually and trace back the chain of #includes, or you can use LTXDiff for this purpose.

2. Once you have found the root file, create a new one in the same directory with the name «mod_[name of the root file]_[name of your choosing].ltx».

3. Make an entry for the section and variable that you want to modify. The section that you want to override has to be prefixed with «!», e.g. ![medkit]. You do not need to include the sections parents again (i.e. do ![medkit], NOT ![medkit]:booster_multi), since they already are in the base definition. Now simply list your variables that you want changed as you usually would.

You can add parents by declaring them like you normally would, or remove them by prefixing them with «!», e.g. «![vodka2]:!vodka, medkit» makes vodka2 behave like a medkit instead of its original parent.

If you want to delete a variable, simply add a line «!variable_name». You can delete sections too, by prefixing them with «!!», however they will only be deleted if all variables they own are deleted too, otherwise the flag won’t come into effect.

You can only override sections that already have a base definition. Both loading an override without a base section, or loading multiple base sections will cause crashes. Multiple overrides can be applied to the same section. If multiple mods override the same value, the one that is loaded last will win the conflict over that particular variable. I haven’t verified what actually affects the load order, but I’m going to guess it’s probably based on the alphabetic order of the file names.

Converting already existing mods
LTXDiff is capable of automatically converting conventional mods into a DLTX-ready format.

Mod suffix in this case is the name that gets appended to the mod files, like in step 2 of the previous section.

Building the modified executables yourself
If you want to build the binaries by yourself, or just take a look at the code, or are the Anomaly dev team and want to include this code in your next release, I’ve supplied a diff patch in «other_stuff». To apply it you need a git client and Anomaly’s XRay Engine at version 1.5.1 . Run the following commands once you have git installed:

Once the patch is applied, add «mezz_stringbuffer.cpp» to the project «XrCore» in visual studio, now you should be able to compile Anomaly as you normally would.

Current known Issues:
— Attempting to override weathers is going to cause a crash. The game loads any loose files in environment/weathers/ as root files, which inadvertently loads any mod files as a rootfile, without any base definitions.

Feel_Fried — FDDA animation bug fix, loose file particle loading

Dltx stalker anomaly что такое

Reddit and its partners use cookies and similar technologies to provide you with a better experience.

By accepting all cookies, you agree to our use of cookies to deliver and maintain our services and site, improve the quality of Reddit, personalize Reddit content and advertising, and measure the effectiveness of advertising.

By rejecting non-essential cookies, Reddit may still use certain cookies to ensure the proper functionality of our platform.

For more information, please see our Cookie Notice and our Privacy Policy .

DLTX — Differential LTX Loading

Моддинг STALKER имеет раздражающую тенденцию приводить к конфликтам, когда два разных мода перезаписывают один и тот же файл, но не одни и те же переменные и разделы в этом файле. DLTX стремится смягчить это, позволяя автору мода переопределять только те значения, которые они действительно хотят изменить, в отдельном файле, что должно значительно уменьшить количество ненужных конфликтов модов и необходимость вручную объединять моды.

Как мне его установить?
Сделайте резервную копию содержимого папки «bin» и замените ее на прилагаемую. Содержимое «tools» и «example_mod» включает дополнительные ресурсы для создания модов для DLTX или преобразования существующих. Если вы используете Mod Organizer 2, НЕ используйте его для установки DLTX (вы все равно можете использовать его для других модов), вам нужно вставить файлы в вашу настоящую папку «bin».

Как использовать его в качестве плеера?
Ничто не должно измениться по сравнению с тем, как вы обычно устанавливаете моды, за исключением того, что многие из них должны работать без проблем, как только люди решат использовать этот формат. Однако вы можете попытаться конвертировать моды самостоятельно, если у вас много конфликтов модов.

Как мне использовать его в качестве моддера?
Чтобы внести дифференциальное изменение в записи LTX, вам необходимо выполнить следующие шаги:

1. Узнайте, какой корневой файл LTX загружает переменную, которую вы пытаетесь изменить. Вы можете искать файлы вручную и отслеживать цепочку #includes, или вы можете использовать для этой цели LTXDiff.

2. Найдя корневой файл, создайте новый в том же каталоге с именем «mod_[имя корневого файла]_[имя по вашему выбору].ltx».

3. Сделайте запись для раздела и переменной, которую вы хотите изменить. Раздел, который вы хотите переопределить, должен иметь префикс «!», например, ![medkit]. Вам не нужно снова включать родительские разделы (т.е. делать ![medkit], НЕ ![medkit]:booster_multi), так как они уже есть в базовом определении. Теперь просто перечислите свои переменные, которые вы хотите изменить, как обычно.

Вы можете добавить родителей, объявив их, как обычно, или удалить их, добавив к ним префикс «!», например, «![водка2]:!водка, аптечка» заставляет водку2 вести себя как аптечка, а не ее исходный родитель.

Если вы хотите удалить переменную, просто добавьте строку «!имя_переменной». Вы также можете удалить разделы, поставив перед ними префикс «!!», однако они будут удалены только в том случае, если все переменные, которыми они владеют, также будут удалены, иначе флаг не вступит в силу.

Вы можете переопределить только разделы, которые уже имеют базовое определение. Как загрузка переопределения без базовой секции, так и загрузка нескольких базовых секций вызовет сбои. К одному и тому же разделу можно применить несколько переопределений. Если несколько модов переопределяют одно и то же значение, тот, который загружен последним, выиграет конфликт из-за этой конкретной переменной. Я не проверял, что на самом деле влияет на порядок загрузки, но я предполагаю, что это, вероятно, основано на алфавитном порядке имен файлов.

Преобразование уже существующих модов
LTXDiff способен автоматически преобразовывать обычные моды в формат, готовый к DLTX.

Суффикс мода в данном случае — это имя, которое добавляется к файлам мода, как на шаге 2 предыдущего раздела.

Сборка модифицированных исполняемых файлов самостоятельно
Если вы хотите собрать двоичные файлы самостоятельно, или просто взглянуть на код, или являетесь командой разработчиков Anomaly и хотите включить этот код в свой следующий выпуск, я предоставил исправление различий в » другие вещи». Чтобы применить его, вам нужен клиент git и Anomaly XRay Engine версии 1.5.1. После установки git выполните следующие команды:

После применения патча добавьте «mezz_stringbuffer.cpp» в проект «XrCore» в Visual Studio, теперь вы сможете скомпилировать Anomaly, как обычно.

Текущие известные проблемы:
— Попытка переопределить погоду приведет к сбою. Игра загружает любые незакрепленные файлы в environment/weathers/ как корневые файлы, что непреднамеренно загружает любые файлы модов как корневые файлы без каких-либо базовых определений.

Изменения v7:
— Добавлена ​​загрузка частиц свободного файла. Файлы в папке «particles» с расширениями *.pg и *.pe переопределяют свои аналоги из частиц.xr (предоставлено Feel_Fried)
— Бинарные файлы для этого релиза были скомпилированы Feel_Fried, так что, надеюсь, русская раскладка клавиатуры снова заработает.
— Исправлена ​​ошибка, из-за которой унаследованные разделы применялись в обратном порядке
. v6:
— Исправлено удаление, которое вообще не работало правильно .
— Включено исправление ошибки анимации FDDA
— Порядок, в котором разделы перечислены в файле, теперь в значительной степени не имеет значения. Разделы могут наследоваться от других разделов, которые появляются позже в файле, и переопределениям больше не нужно следовать строго после базового раздела, если он вообще существует. Порядок по-прежнему имеет значение для разрешения конфликтов переопределения, т. е. если два переопределения изменяют одно и то же значение, то в конфликте побеждает то, которое появляется позже в файле.
— Удалены файлы «mod__[. ]», из-за независимой загрузки порядка, что делает их бесплатными.
— Исправлена ​​ошибка, из-за которой некоторые корневые файлы непреднамеренно применяли к себе неправильный файл мода из-за неоднозначного названия. Если имя файла мода может быть применено к нескольким корневым файлам, будет выбран только тот, у которого самое длинное подходящее имя.
— Добавлена ​​возможность корректно изменять родительские разделы. Родителей можно добавить, объявив их обычным образом в заголовке раздела переопределения, и удалить, поставив перед добавленным родителем префикс «!»
— Добавлено еще одно автоматическое включение для файлов с именем «mod__[rootfilename]_[suffix].ltx» (два символа подчеркивания после «mod»), которые загружаются до загрузки корневого файла, что можно использовать для определения базовых разделов, которые затем можно будет использовать позже. использоваться для инъекций в качестве родителей, поскольку они загружаются раньше всего остального.
— Исправлен сбой, связанный с неправильной очисткой выделенных в стеке строковых буферов, что приводило к повреждению при загрузке очень длинных записей LTX.
— Исправлена ​​ошибка, из-за которой последняя строка корневого файла иногда проглатывалась, из-за чего переопределение приводило к сбою загрузки игры
— Переопределения теперь применяются задним числом, что означает, что любые разделы, у которых есть родительский элемент с переопределениями, теперь затрагиваются этими тоже
— Добавлена ​​возможность удалять переменные и разделы. Переменные удаляются путем добавления к ним префикса «!», разделов — «!!». Разделы удаляются только в том случае, если они полностью пусты, в противном случае флаг удаления не действует.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *