Модификация
позволяет НЕ зависеть от установленного у игрока игрового патча игры
(1.0004 или 1.0005/6) выполняя автоматическую адаптацию под текущую
версию установленной у игрока игры/патча (v1.0004/5/6).
Состав мода:
------------
1. Адаптированный (универсальный) вариант файла 'dialog_manager.script' для версий игры/патчей 1.0004/5/6;
2. Адаптированный (универсальный) вариант файла 'task_manager.script' для версий игры/патчей 1.0004/5/6;
3. Модифицированный вариант файла 'ui_main_menu.script' для контроля
совпадения версий и автоматической адаптации под установленную у игрока
версию игры/патча 1.0004/5/6;
4. Адаптированный (универсальный) вариант файла 'system.ltx' для патчей игры v1.0004/5/6 (на основе варианта от v1.0005/6);
5. Переходник-адаптер 'system_script.ltx', необходимый для адаптации
'system.ltx' под установленую версию игры/патч 1.0004/5/6;
6.
Шаблоны переходника-адаптера (файлы: 'template_script_6.src' для v1.0004
и 'template_script_7.src' для v1.0005/6), для адаптации при
несовпадении установленной версии мода и версии игры/патча.
Дополнительно, помимо адаптации, в скрипт 'dialog_manager.script' внесены:
1. Правки для исправления возможных ошибок (типа:
'dialog_manager.script:662: attempt to index local 'tbl' (a nil value)')
из оригинального скрипта мода.
2. Изменены алгоритмы/форматы записи и загрузки сохраняемых фраз:
- сохраняются только значимые индексы, что исключает пустые записи для трупов и всех 'несобеседников' (2x7 байт для каждого);
- для сохранения используется запись упакованной таблицы в один стринг, распарсиваемой при загрузке.
Данный способ, помимо прочего, позволяет сохранить совместимость с
сэйвами игрока при дальнейших модификациях/добавлениях в список
сохраняемых категорий (например, зарезервированные "treasure").
Дополнительно, помимо адаптации, в скрипт 'task_manager.script' внесены:
1. Функции/правки, исправляющие ошибки при некорректном порядке
аргументов Actor<->NPC при вызове из фаз диалогов, проводящие к
ошибкам обработки заданий/квестов;
2. Изменены алгоритмы/форматы записи и загрузки сохраняемых заданий:
- все однобитные флаги сведены в один байт;
- активные задания сохраняются в виде флага в общем бите квеста;
- сохраняются только идентификаторы целей (объектов) только активных заданий.
Итоговая экономия ~30...60% от исходного объема (1...2 кБ).
Дополнительно, помимо контроля и адаптации, в скрипт
'ui_main_menu.script' внесены коды для добавления в основное игровое
меню кнопки (чек-бокс) - для возможности (не)сохранять игру при выходе в
ОС.
Файл 'ui_main_menu.script' совместим с модификацией "Возвращение режима 'обычных' сохранений игры" (for NLC6.007).
Переходник-адаптер 'system_script.ltx' - вынесенная секция [script] из файла 'system.ltx'. Его наличие обязательно(!).
При запуске игры в случае несовпадении версии патча игры и версии мода
происходит замена переходника-адаптера (system_script.ltx)
соответствующим шаблоном 'template_script_(6/7).src'. После замены
требуется только перезапуск игры.
Установка:
----------
1. Разархивировать архив мода в корневую папку установленной игры.
Наличие в папке '/gamedata/config' файла 'system_script.ltx' -
обязательно!
2. По умолчанию модификация настроена на версии игры/патча 1.0005/6.
При использовании игрового патча v1.0004 после запуска игры выполняется
автоматическая замена имеющегося в папке '/gamedata/config' файла
'system_script.ltx' файлом 'template_script_6.src' (из пак-файла) и
потребуется перезагрузка игры;
3. Новый (сжатый) формат для сэйвов по-умолчанию отключен (для совместимости сэйвов игрока для других).
Для включения сжатого формата сэйвов в файле
'/gamedata/config/system_script.ltx' следует изменить в секции [options]
значение параметра 'compression' с 'false' на 'true'. Для отключения
наоборот: 'true' ->'false'. При смене патча игры - требуется поторное
изменение.
Адаптация при смене игрового патча:
-----------------------------------
При смене игрового патча игры при первом запуске игры происходит
автоматическая адаптация под установленную версию игры/патча, после
которой требуется однократный перезапуск игры.
Удаление:
---------
Для отключения/удаления мода:
- удалить 'nlc_mod_any_path.xdb' из папки '/mods.
- удалить файл 'system_script.ltx' из папки '/gamedata/config' (не обязательно).
Примечание:
1. Mод, дает полное 'равноправие' для игроков на разных патчах игры,
совместимость сэйвов от разных игровых патчей и отсутствие необходимости
переустанавливать патчи мода при смене патча игры.
3. Автор/разработчик мода NLC6 может использовать мод (или его части) для включения в оригинальный мод (очень желательно!).
4. Модмейкерами данный мод может быть использован в качестве 'базы' для адаптации иных модов под игровые патчи.
5. Данная модификация портирована из мода "Simbion:SHOC".
Внимание!!!
-----------
При использовании данного мода возможно использование сэйвов с любых патчей игры, не зависимо от 'установлен был мод или нет'.
Имеется ограничение использования мода 'до включения в мод NLC6',
которое обусловлено измененным (сжатым) форматом записи сэйвов при
использовании мода:
- при включенном режиме сжатия сэйвов -
обратная совместимость отсутствует, т.е. сэйвы сделанные с сжатым
форматом НЕ совместимы c игрой игроков/разрабочиков 'без мода'.