Подавляющее большинство файлов. относящихся к объектам находятся в библиотеке Objects\ObjectData.cat Эта библиотека представляет собой несжатый файл в начале которого содержатся имена, смещения и размеры всех содержащихся в библиотеке файлов. Поскольку эти файлы не упакованы, то извлечение из библиотеки текстовых файлов не представляет особого труда. К тому же эти текстовые INI и LST файлы представляют, на мой взгляд, наибольший интерес для домашнего мастера. (Список всех INI файлов, имеющихся в библиотеке см. в приложении к этому посту. Файлы идут в том порядке, в каком они находятся в библиотеке).
Тем не менее с помощью утилиты Multi-Ripper можно успешно доставать из этой библиотеки даже графические файлы пользуясь их характерными сигнатурами.
Наибольший интерес для нас представляют файлы *_Data.ini , т.к. в них содержатся все исходные данные для физических моделей объектов.
Как найти этот файл для интересующего нас самолета? Очень просто.
- Берется любой HEX редактор или вьювер, который поддерживает копирование выделенной области в буфер и имеет функцию поиска. Я пользуюсь встроенным вьювером от Диско Коммандера 98.
- Открываем файл Objects\ObjectData.cat
- Сверяемся со списком INI файлов и определяем каким по счету среди самолетов идет тот, который нам нужен. Все другие объекты, имеющие файлы *_Data.ini идут дальше, поэтому о них беспокоиться пока не нужно.
- Ищем в библиотеке строку "[MissionData]". В соответствии со списком, первым нам должен попасться файл для A-4B. (Невдалеке перед ним должен находиться файл конфигурации кокпита A-4B_Cockpi.ini Обратите внимание, что у многих самолетов непосредственно прилепленный к концу *_Data.ini идет файл *_Loadout.ini , который является файлом боевых нагрузок по умолчанию для различных типов миссий. Но у Скайхоков и других летабельных самолетов после *_Data.ini идут БМП-шки)
- При необходимости повторяем поиск нужное количество раз в соответствии с положением нужного нам самолета в списке.
- Выделяем область от первой скобки в строке [MissionData] до CanFlash=FALSE включительно. Далее в библиотеке идут символы "BM8", обозначающие начало файла BMP. Будьте внимательны! В библиотеке не предусмотрено никаких символов-разделителей файлов, поэтому один файл может заканчиваться в той же строке, где начинается другой.
- Допустим мы хотели извлечь файл MiG-17F_Data.ini. После того как нужная нам область скопирована, в зависимости от возможностей используемой вами программы ее нужно либо вставить в редактор текстов типа виндового Блокнота, либо сразу же сохранить в файл Objects\Aircraft\MiG-17F\MiG-17F_Data.ini Заодно, чтоб 2 раза не лазить, можно сохранить туда же идущий сразу вслед за ним файл MiG-17F_Loadout.ini.
- Теперь все данные МиГ-17 программа будет брать не из библиотеки, а из INI файлов в его директории. Так что теперь можно их редактировать как нам нужно.
Кстати, в файле MiG-17_Data.ini имеются 2 ошибки. Так что лучше их сразу же исправить.
1. В разделе [Engine] в строке
FireSuppression=FALE
естественно должно стоять "FALSE".
2. В симе используются пушки НС-23 вместо НР-23, которые стояли в реальности на МиГ-17. Поэтому в разделах [InternalGun2] и [InternalGun3] в строках
GunTypeName=23MM_NS23
прописываем #"23MM_NR23" (эти пушки есть в симе, стрелковое вооружение описывается в файле GunData.ini).
Далее можно сделать чтобы 37-мм пушка стреляла независимо от 23-мм. Для этого в разделе [InternalGun1] в строке
InputName=FIRE_PRIMARY_GUN
прописываем значение "FIRE_SECONDARY_GUN". А затем присваиваем функции FIRE_SECONDARY_GUN клавишу на клавиатуре внутри игры, т.к. по умолчанию этой функции клавиша не присвоена, а функция выбора группы пушек в игре пока не работает. Можно также эту функцию присвоить свободной 4-й кнопке джойстика (если на вашем джойстике она есть).
Для этого в файле Controls\Default.ini в разделе [ControlSet002] нужно добваить строку
FIRE_SECONDARY_GUN=JOYSTICK01_BUTTON03
ЗЫ: Имейте в виду, что файл ObjectData.cat имеет размер около 130 Мб, поэтому поиск в нем может занимать приличное время!
В игре имеется еще несколько CAT файлов, но все они гораздо меньше и разобраться в них намного проще.
Крайний раз редактировалось Freddie; 13.09.2002 в 20:38.
Ho, ho, ho, ho, ho! Let's see who's been naughty, and who's been naughty.