Изучение формата im файлов. Советы, примеры, достижения
Как это сделать
Открываем кабину для редактирования в эксплорере. Для стекол в кабине использован материал "material #174m.onetex". Это единственный материал, в котором степень непрозрачности отлична от 100%.
Данный материал используется в трех мешах - непосредственно в кабине и в двух боковых окнах. По-видимому, в игре для одного дополнения используется одна таблица материалов для всех мешей, поэтому свойства этих материалов с одним именем везде должны быть одинаковы. Иначе, меш, подгружающийся позже других, заместит значения параметров, и изменений вы не увидите. Нам понадобится отредактировать три им файла, использующие материал стекла - chs8cab.im, window_l.im и window_r.im
Степень непрозрачности материала задается числом с плавающей точкой, которое располагается в третьем двойном слове после имени материала, его значения от 0 (полностью прозрачный) до 1 (полностью непрозрачный).
Открываем меш в хекс-эдиторе и находим данный материал (можно вбить в поиск #174)
В данном месте файла адрес этого двойного слова не кратен 4, поэтому его не получится преобразовать в число с плавающей точкой прямо тут же. В таком случае можно просто открыть новый документ и скопировать туда эти 4 байта
Преобразовываем в число с плавающей точкой (в Hex-editor Neo - <Ctrl>+<4>)
Вот оно! Теперь можно задать новое значение этой величины, например 0.12
Преобразовываем число в шестнадцатиричный вид в байтовом представлении (в Hex-editor Neo - <Ctrl>+<ноль>, потом <Ctrl>+<6>)
Копируем эти байты и вставляем в файл меша вместо исходных
В меше кабины данный материал используется в двух местах. Продолжим поиск, найдем этот материал
и заменим в нем те же 4 байта
Меш кабины отредактирован. Нажимаем <Ctrl>+<S> и сохраняем файл. Ту же операцию надо произвести для мешей боковых окон - window_l.im и window_r.im
В заключение несколько скринов. Я поставил на двухпутном участке 2 секции электровоза ЧС8.
Слева - секция А с кабиной с прозрачными стеклами, справа - секция Б, в ней все в оригинале.
Виды из кабины дневной и ночной до внесения изменений (непрозрачность - 35%)
То же самое при значении параметра 0.12
Удачной поездки!
Добавлю еще немного. Иногда приходится превращать односторонний материал в двухсторонний или наоборот. Это совсем несложно. Признак двухсторонности находится во втором двойном слове после имени материала. 1 - материал двухсторонний, 0 - материал односторонний.
Вот иллюстрация
Последний раз редактировалось jim_spb; 26.11.2013 в 00:50.
Класс!!! Дима, большое спасибо за такую подробную инструкцию. Еще никто так не влезал в формат im файла.
Наверное это сообщение стоит выделить в отдельную тему как хороший туториал. Вообще, так если подумать, если бы потом кто-нибудь описал спецификацию формата im файла, то какие бы возможности открылись.......
Ребята. Я в ГТА несколько лет вот так файлы в НЕХ редакторе шерстил. Могу сказать, что у im файла очень простая структура. Данным способом можно так же добавлять точки привязки к любой модели, без расконвертирования. Например точку для машиниста в локомотив, в который ее забыли поставить.
В 1628 как.раз таки есть точка для машиниста. Но называется она a.driver а.нужно a.driver0. В этом и проблема. Я пробовал это поправить. Но там стоит защита на CRC и изменив модель даже на байт, электровоз перестает работать. Без скриптов все работает
Последний раз редактировалось ZIMA; 13.10.2010 в 19:34.
В 1628 как.раз таки есть точка для машиниста. Но называется она a.driver а.нужно a.driver0. В этом и проблема. Я пробовал это поправить. Но там стоит защита на CRC и изменив модель даже на байт, электровоз перестает работать. Без скриптов все работает
Это вряд ли. Там стоит защита только на смену куида. Так что переименование не работает по другой причине.