PDA

Просмотр полной версии : Strike Fighters: Домашнему мастеру. Советы



Freddie
13.09.2002, 15:31
Совет 1-й. Как сделать самолет летабельным.

Нашей задачей является привести директорию и INI файл нужного нам самолета в соответствие с летабельными самолетами. А именно:
1) Самолету нужен кокпит.
2) Нужны экраны GUI для выбора оружия и предполетный.
3) Нужно указать имена файлов с текстурами повреждений.
После этого самолет появится в списке и на нем можно будет летать в одиночных миссиях. Не рекомендую пытаться летать на винтовых самолетах, т.к. ввиду бага их двигатели не имеют тяги, когда самолет используется как летабельный.

Для примера сделаем летабельным МиГ-17. Его файлы находятся в директории Objects\Aircraft\MiG-17F
Для начала надо выбрать кокпитом какого самолета будем пользоваться для замены. Я использую кокпит А-4В.

1) Копируем директорию "cockpit" из директории A-4B в директорию MiG-17F. Оттуда же копируем файл предполетного экрана A-4B_Hangar.bmp

Далее нужно прописать в файл MiG-17F.ini необходимую информацию. Для этого делаем следущее:

2) Открываем файл A-4B.ini и из раздела [AircraftData] копируем строки

CockpitDataFile=A-4B_cockpit.ini - это описание кокпита
HangarScreen=A-4B_hangar.bmp - это предполетный экран
LoadoutImage=A-4B_loadout.bmp - это экран вооружения

в файл MiG-17F.ini, чтобы этот раздел в файле "МиГа" выглядел следующим образом (обратите внимание, что файл вооружения по умолчанию остается родной "МиГовский").

[AircraftData]
AircraftFullName=MiG-17F Fresco-C
AircraftDataFile=MiG-17F_data.ini
CockpitDataFile=A-4B_cockpit.ini
HangarScreen=A-4B_hangar.bmp
LoadoutImage=A-4B_loadout.bmp
LoadoutFile=MiG-17F_loadout.ini

Далее нужно прописать в INI описания текстур повреждений. Пока их в игре для нелетабельных самолетов нет, но сделать это все-таки желательно.

3) Для этого копируем из INI файла A-4B и вставляем в файл МиГ-17Ф следующие строки:

[DamageTexture]
DamagedPostFix=_Holes.tga
DestroyedPostFix=_Shredded.tga

Для окончательной "доводки напильником" поменяем "скайхоковскую" сетку прицела на сетку от F-100D, которая в точности такая же, как у "миговского" прицела.

4) Для этого копируем файл
Objects\Aircraft\F-100D\cockpit\F-100D_Sight.tga
в
Objects\Aircraft\MiG-17F\cockpit\A-4B_Sight.tga

На этом операция заканчивается и можно идти облетывать наш новый летабельный самолет.

ЗЫ: Если самолет оснащен РЛС, то в его INI файле должны быть строки типа таких:

AvionicsDLL=Avionics60.dll - DLL обработки авионики
AvionicsDataFilename=A-4E_avionics.ini - файл описания РЛС

Соответственно, если вы хотите сделать летабельным самолет, который имел РЛС, то нужно будет найти подходящую РЛС с другого самолета. В принципе, кабина может быть от одного самолета, а *avionics.ini от другого. Лишь бы в этой кабине был предусмотрен индикатор РЛС. Так, например, можно взять кабину от A4-E и вставить в нее радар от Фантома. :)

И последнее. Все файлы, перечисленные в INI файлах самолетов, за исключением *_Hangar.bmp , *_Sight.tga и Avionics60.dll содержатся в библиотеке Objects\ObjectData.cat , поэтому переписывать их не требуется и никакие пути указывать тоже не надо. Путь к Avionics60.dll зашит в прогу.

ЗЗЫ: Кстати, вы можете самостоятельно сделать предполетный экран для своего самолета например из скриншота. Тогда при выборе МиГ-17 вам не придется любоваться на Скайхок.

=BBC=KLiM
13.09.2002, 19:30
Спасибо , будем пробовать :):)

вот ещё вопрос есть - кто на каких настройках летает?? (не видео, а игры, естесственно :))

Freddie
13.09.2002, 20:33
Совет 2-й. Где искать файлы объектов.

Подавляющее большинство файлов. относящихся к объектам находятся в библиотеке Objects\ObjectData.cat Эта библиотека представляет собой несжатый файл в начале которого содержатся имена, смещения и размеры всех содержащихся в библиотеке файлов. Поскольку эти файлы не упакованы, то извлечение из библиотеки текстовых файлов не представляет особого труда. К тому же эти текстовые INI и LST файлы представляют, на мой взгляд, наибольший интерес для домашнего мастера. (Список всех INI файлов, имеющихся в библиотеке см. в приложении к этому посту. Файлы идут в том порядке, в каком они находятся в библиотеке).

Тем не менее с помощью утилиты Multi-Ripper (http://www.infomedia.it/artic/Baccan/mripper.htm) можно успешно доставать из этой библиотеки даже графические файлы пользуясь их характерными сигнатурами.

Наибольший интерес для нас представляют файлы *_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 файлов, но все они гораздо меньше и разобраться в них намного проще.

Chizh
14.09.2002, 22:11
Спасибо Фредди! Уже осваиваем. ;)