Распаковка ресурсов NLC6 и игра без *.xdbХ
Принимая как данность то, что в конце концов все будет вскрыто начнется процесс модификации NLC и его дополнений, решусь дать хотя бы какой-то 'полезный' материал по распаковке. (Приношу заранее извинения Сяку, но это реалии ...).
1. Немного теории:
1.1. Игра/движок при запуске читает архивы игры (файлы gamedata.dbX) из директории установки.
1.2. Руководствуясь флагами из файла-конфигуратора игры fsgame.ltx, перечитывает директорию 'gamedata' с расположенными в ней файлами. При совпадении файлов приоритетным считается из распакованной директории.
1.3. В последнюю очередь читаются и распаковываются (в памяти!) архивы типа *.xdbX из директории 'mods'.
По сути именно эта директория предназначалась разработчиками для внесения последующих правок/модификаций в уже установленную игру.
2. Мод (аддон) NLC6 для добавления своих файлов в игру использует вариант 1.3 и подправляет fsgame.ltx, внося свои пути к папкам.
Дополнительно запуск игры перенаправлен вместо XR_3DA.exe на собственный загрузчик (host.exe), который подгружает дополнительные динамические библиотеки для работы с динамическими худами. Поэтому мод запускать следует именно запуском 'host.exe' и никак иначе.
3. Распаковка ресурсов мода несложна.
Для этого требуется распаковщик ресурсов (converter.exe by bardak) или еще лучше плагин для TotalCommander'а (.wfx by malandrinus).
Как пользоваться распаковщиками - читаем readme к ним, где брать - смотрим топик по инструментарию к модам
или берем это:
converter_GUI.rar 233,54К
2012 Количество загрузок.
Мод состоит из трех основных (базовых) архивов:
nlc.xdb0 - локации (папка \gamedata\levels)
nlc.xdb1 - собственно привычные многим коды игры (конфиги, скрипты, модели, ...)
nlc.xdb2 - текстуры (папка \gamedata\textures)
Архивы nlc.xdb3/4 - это уже текущие правки разработчиков мода (будут и следующие).
После разархивации всех архивов (по порядку 0->1->...->4) в директорию 'gamedata', сами архивы *.xdbX следует удалить/переместить(!), дабы игра не перезаписывала ими (в памяти, а не на диске) файлы из распакованной уже папки 'gamedata'.
Внимание! Из-за ограничений DOS-сессий на работу с файлами размером в 2Gb и более распаковка архива nlc.xdb2 через батник (*.bat|*.cmd) невозможна без ухищрений. Кому нужны текстуры (nlc.xdb2) - распаковываем плагином к ТotalСommander'у или GUI-конвертером.
Итого: У вас должна получиться папка 'gamedata' с распакованными файлами, и папка 'mods' с вложенной в нее подпапкой 'nlc' (это важно!).
В этой же папке ('mods') при запуске мода будет динамически создаваться архив nlc.xdb9 (его не трогаем). Собственно это копия одного из архивов из папки \gamedata\nlc, в зависимости от выбранного разрешения экрана.
Если вы знаете разрешение своего экрана, то взяв соответствующий ему файл (4x3.xdb,5x4.xdb,16x9.xdb,16x10.xdb) из папки '\gamedata\nlc' и распаковав его в 'gamedata' вы адаптируете игру к своему экрану.
Иначе, запустив игру сделайте нужные настройки в опциях и сохранив их, выйдите из игры, загрузчик игры с доп.динамическими библиотеками автоматом скопирует нужные для вас файлы (nlc.xdb9).
Про папку 'bin' тут не поминаем ...
В файле fsgame.ltx подправляем флаг приоритета:
$game_data$ = false | true | $fs_root$| gamedata\
на
$game_data$ =
true | true | $fs_root$| gamedata\
Запускаем игру с ярлыка, созданного при установке мода и ... играем.
----------------------------------------------------
Данная информация предоставлена любопытствующим игрокам, которые все равно сунут нос в ресурсы мода, дабы минимизировать множественные посты на многих форумах на тему распаковки.
Как использовать распакованные ресурсы - это уже как говорится,'в меру испорченности' игроков/модмейкеров.
Попробуйте вначале сыграть в предложенный авторами мода вариант - у вас появится право сказать: "
Я играл и прошел NLC6!", а не мямлить, мол времени нет, скучно/сложно/непривычно ...