Форматы и плагины для распаковки и просмотра файлов изображений игр серии Златогорье. Описание форматов в шаблонах .bt для программы 010Editor.
Файлы запакованы в игровые архивы с расширением (paxx.)nrm, для сжатия данных применяется RLE. Поскольку файлы изображений содержат маску из одного цвета, то примененный тип сжатия позволяет эффективно сжать данные (в распакованном виде архивы весят ~1.8 Гб).
В игре Златогорье (2001) используется классическая для 90х-2000х годов двухмерная изометрическая графика на основе изображений, полученных из трехмерных моделей. Большая часть изображений в игре в формате 8 бит. Для хранения графики используются форматы: bmp, jpeg и собственный формат itd. Первый применяется для персонажей, текстур локаций, строений, меню игры, второй для файлов загрузочного экрана.
Анимация персонажей сделана на основе спрайтов. В отдельных файлах на каждого персонажа, противника или неигрового персонажа хранятся кадры движения по 8 кадров на одну анимацию (бег, атака, неподвижнок состояние и т.д.) в 8 различных направлениях, аналогичным образом сделаны тени. Размер одного кадра спрайта персонажа игрока 125x125 пикселей и до 220x220 пикселей для управляемых компьютером. При отрисовке персонажа его изображение и тень совмещаются в единую анимацию.
Объекты локации, например, здания, в также некоторые локации карты сделаны в виде отдельного изображения поверх фона.
Файлы itd хранят параметры предметов инвентаря героя и изображения этих предметов.
Часть действий персонажей (диалоги) вынесена в отдельные файлы с расширением script. Файл задает последовательность диалогов и сам текст.
Глобальная карта разбита на отдельные регионы (локации). Внешний вид локации, т.е расположение спрайтов на ней, хранится в файлах в папке MapLoc. Файл локации состоит из набора текстур фона, набора объектов, которые размещаются поверх фона, параметров отдельных тайлов (проходимость и т.п.).
В папке игры (зависит от версии игры?) можно найти отдельные файлы, которые не связаны непосредственно с игрой: логи сборки файлов, комментарии разработчиков и т.п..
NRM
- Сигнатура файла (18 байтов)
- Файлы (для каждого файла одна структура)
-- Заголовок файла
--- Код (5 байтов)
--- Размер данных вместе с заголовком (4 байта)
--- Размер в распакованном виде (4 байта)
--- Длина названия (4 байта)
--- Название файла
-- Данные файла
№ | Формат файла | Шаблон (010Editor) | Описание |
---|---|---|---|
1 | .nrm | NRM.bt | архив игровых ресурсов Златогорье 1 |
2 | .idt | IDT.bt | Предметы инвентаря и их параметры |
3 | .map | MAP.bt | Локация и объекты на ней |
Как использовать шаблоны 010Editor
1. Нужен 010Editor.
2. Открыть нужный вам .nrm файл в программе. Меню File - Open File...
3. Применить шаблон NRM.bt. Меню Templates - Open Template и Run Template.
№ | Плагин | Программа | Описание |
---|---|---|---|
1 | unpack_nrm.bms | Quickbms | Распаковка файлов ресурсов .nrm Златогорье 1 |
2 | fmt_heath_nrm.py | Noesis | Распаковка файлов ресурсов .nrm Златогорье 1 |
3 | fmt_heath_itd.py | Noesis | Просмотр изображений из файлов .itd Златогорье 1 |
4 | itd.py | Gimp | Просмотр изображений из файлов .itd Златогорье 1 |
Как использовать quickbms скрипты
1. Нужен quickbms https://aluigi.altervista.org/quickbms.htm
2. Для запуска в репозитории лежит bat файл с настройками, нужно открыть его и задать свои пути: до места, где находится quickbms, папки с игрой и места куда нужно сохранить результат.
3. Запустить процесс через bat файл или вручную (задав свои параметры для запуска quickbms, документация на английском есть здесь https://aluigi.altervista.org/papers/quickbms.txt ).
Как использовать Noesis плагины
1. Скачать Noesis https://richwhitehouse.com/index.php?content=inc_projects.php&showproject=91 .
2. Скопировать скрипт в папку ПапкасNoesis/plugins/python.
3. Открыть Noesis.
4. Открыть файл через File-Open.
Как использовать gimp плагины
1. Поместить плагин в папку Users\"Имя текущего пользователя"\AppData\Roaming\GIMP\2.10\plug-ins
2. Запустить, открыть файл через меню файл-открыть.