×
Menu

HEX

HEX - редактирование это совсем крайний метод работы с Ниф файлами, но в ряде случаев его можно использовать в более легком весе, например для получения информации о не очевидных функциях модуля экспорта, либо для смены хидера.
Которое, впрочем, имеет все шансы не сработать, если заменить не то что надо, или наоборот. ))
 
Множество их(С)
Т.е. утилит для HEX  редактирования... HxD, Hexplorer и др.
Выбирайте ту, что будет удобней!
 

Пара слов о простой замене хидера файла.
Можно это сделать, но категорически не рекомендуется! :D
 
Т.е. например, создали модельку версии 4.2 со стрипсами и иными плюшками, теперь надо ее засунуть в МВ.
Запускаем HEX редактор, загружаем в него модельку новую, а также любой "старый" ниф файл версии 4.0.
Теперь смотрим в самом верху файла:
Кажется что все просто, да?
Заменить весь заголовок до первой niNode и делов!
Угу, не тут-то было!
Если это сделать, нифскоп начнет ругаться:
""array Children much too large. 1869762674 bytes requested""
"failed to load block number 0 (NiNode) previous block was NiHeader"
Т.е. нарушен порядок опроса и объекты не на своих местах.
 
В итоге, получилось следующее.
Изменив хидер посредством Pyffie утилит сравнили файлы.
Оказалось, что в 4.0 версии (вероятно) перед каждым объектом (шейп, нода, свойства материала) идет дополнительное смещение в "00 00 00" и в конце файла смещение на 7.
 
Таким образом, недостаточно просто поменять заголовок, но еще приходиться добавлять смещение в нескольких местах!
Кол-во которых, вероятно, зависит от кол-ва объектов в сцене.
Ограничились просмотром одного, простейшего файла.
Поэтому нельзя сделать точную статистику, где-сколько-и-чего надо смещать для получения стабильного результата в других файлах.
 
Редактирование ниф файлов НЕХом - возможно, но имеет массу подводных каменей.
Отчего лучше пользовать подобающие утилиты.
Поправленный ниф файл.
В таком виде он принимался игрой и нифскоп не высказывал возражений.

Как поясняет Г7 - это реверсная запись.
 
Greatness7 (С)
can change these 4 bytes
to be a different value
its in reverse
04 00 00 20 = 4.0.0.2 == morrowind
03 01 00 00 == 3.1
<version num="3.1">Dark Age of Camelot, Star Trek: Bridge Commander</version>
3.4 works
3.3 too old
3.3.1.0 works
so yeah
3.3.1.0 is oldest that Morrowind will allow it seems
dont bother changing the string, it doesnt really do anything
only change the 4 bytes i highlighted
they are the verison
it only needs the last character (0A) which is null-character, to know when it ends
unless it maybe does a string check
if you want to convert another file all you need to do is copypaste
copypaste this part to another mesh and you will make it into nif 4.0.0.2

Собственно Хидер ниф файла версии 4.00.2
А это поиск по ключевому слову.
В данном случае удалось найти "код" для создания АвиодНоды.
Для быстрого поиска Хинтов - HEX рулит!
010 HEX editor с дополнением позволяющим "осмысленно" просматривать ниф и ецп файлы.
https://www.sweetscape.com/010editor/ например.
Утилита не безсплатная, но позволяет создавать свои классы данных, или как это называется.
Т.е. можно создать свой собственный файл данных, который будет работать фильтром показывая осмысленные значения в ниф и ецп файлах.