Информация о крупных неподвижных объектах хранится в scene.4ds. Часть зданий упомянутых в этом файле имеют свои 4ds модели (например, заброшенный автосервис в чайнатауне), для вставки их в другие локации достаточно импортировать эту модель в нужный scene.4ds. Другие такой модели не имеют, поэтому сначала надо извлечь их модель с текстурами из scene.4ds, то есть создать 4ds файл.
Эта статья объясняет как экспортировать из mafia\missions\freeride\scene.4ds заправку расположенную в Хобокене в отдельный 4ds файл и импортировать полученную модель в mafia\missions\tutorial\scene.4ds.
Экспорт[]
Во первых надо узнать имя экспортируемого объекта с помощью MWE: открываем файлы нужной миссии, щелкаем на объект, в левой панели увидим его имя. В нашем случае это Box04rrrrr.
Итак правка предстоит в HW: открываем scene.4ds.
Создаем пустой файл, например, с именем gasstation.4ds, и переносим в него заголовок файла и текстуры: сверяясь с описанием формата 4ds выделяем разделы fileSgn, fileVer, timestamp, texturesSec (включая последний ".BMP") + два байта (meshsCount), копируем выделенное и вставляем в gasstation.4ds.
Шаблон:Clear
Переносим в gasstation.4ds каркасы объекта: ищем в scene.4ds имя экспортируемого объекта
Шаблон:Clear
от имени объекта вверх 48 байт, находим последовательность 0100 002A (...*).
Шаблон:Clear
Выделяем блок до следующей 0100 002A
Шаблон:Clear
копируем, вставляем этот блок в конец gasstation.4ds.
Теперь осталось поправить почти готовый gasstation.4ds.
Устанавливаем количество объектов в файле равным одному: находим два байта после последнего .BMP (в нашем примере это будет C806) и изменяем на 0100.
Обнуляем ссылку на базовый объект: после 0100 002A два байта C003 должно стать 0000.
Обнуляем координаты объекта: следующие 12 байт (E41E A8C2 F8E3 4940 C56D 19C2).
Размеры не трогаем: оставляем без изменений следующие 12 байт (B058 AC3F 9999 B93F B058 AC3F).
Ротации (?): следующие 16 байт (C2C9 6F3F 0000 0080 5F4E B33E 0000 0080) изменяем на 0000 803F 0000 0080 0000 0080 0000 0080.
В конец файла добавляем нулевой байт (Edit → Insert... см. картинку)
Закрываем, сохраняем.
Осталось удалить лишние текстуры: делаем импорт\экспорт файла в Zmodeler, при этом ненужные удалятся сами.
Импорт[]
?