Основных моментов два.
1. Если в 2002 было строгое разграничение между сценарными объектами такими как нав средства, полосы, рулежки и пероны (визуальная часть для наземных объектов аэропртов или «видимость» нав средств приборами) и их AFD представлением (видных на Map View, «известных» АI-трафику и АТС), то в 2004 эти данные объеденены. Таким образом нарисовав, скажем рулежку в AFCAD мы получим и визуальное ее представление в симе и все что связано с AFD.
2. Сменился язык програмирования сценариев. Если в 2002 использовался BGL ассемблер (ну и неофициальный SCASM), то в 2004 используется XML. Не обсуждая достоинства и недостатки из этого вытекающие, надо отметить, что таким образом изменилась и технология создания визуальных объектов из ГМакс. Если в 2002 мы могли получить готовую БГЛ, то в 2004 — получаем MDL файл визуалки (не путать с MDL для самолетов) и XML заготовку которую можно использовать как непосредственно для оздания БГЛ-файла, так и для создания библиотеки объектов, которые могут быть испльзованы как в том же БГЛ файле, так и отдельно.
Для создания сценария для FS2004 как и раньше достаточно вообщем то текстового редактора и программы BGLComp (вместо BGLC для 2002) из соответствующего СДК.
Лучше использовать специальные XML редакторы — позворяющие проверять схему, автоматизировать вставку елементов и т.д. например BEA XML Editor.
Из визуальных программ на сегодняшний день AFCAD (доступен на http://www.avsim.com)
и SceneGenX (ХМL продолжение Airport for Windows, доступен на http://www.airportforwindows.com) вполне подойдут для создания сценария уровня дефолтных. В дальнейшем эти программы можно использовать для генерации XML фрагментов (в SceneGenX есть кнопочка «XML» в свойствах любого объекта, файлы сгенерированые AFCAD можно декомпилировать при помощи BGLXML (есть на avsim.com) и собрать их ручками с добавлением того что, не позволяют эти программы.
Ну и Гмакс для генерации собственных визуальных объектов.
Как настроить Гмакс для совместной работы для и FS2002 и FS2004
Существует два варианта. Не совсем правильный, но простой и удобный и более проффесиональный.
1. Если мы собираемся использовать Гмакс только для создания моделей для FS2004, то просто копируем содержимое папок Plugins и Scripts из СДК в соотвествующие папки Гмакс. При первом запуске, делаем настройки какие нам нужны. Тогда получим нормально работающую систему. Плюсы — при вызове любым способом — запуском самого Гмакса, киданием иконки проекта на иконку Гмакса (или его ярлыка) или кликом на проекте — получаем готовую рабочую среду.
2. Если мы хотим использвать Гмакс для создания как FS2002, так и FS2004 объектов (а может быть еще и какого нибудь Квейка), то нам надо для разричных проектов иметь разную среду (разный набор плагов, скриптов, настроек типа единиц измерения или других). У Гмакса есть два настроечных файла plugin.ini — где перечислены папки откуда Гмакс будет загружать плуги и Gmax.ini в котором хранятся настройки и расположение других папок.
Таким образом: копируем в корень Гмакса папку gamepacks из CDK для FS2004 со всем содержимым, в ней же создаем подпапку FS2002 — в нее копируем файлы FS2002.lnk gmax.ini plugin.ini из FS2004SDKGmax_SDKgamepacksfs2004docs там же создаем подпапку Plugins и перемещаем в нее из Gmaxplugins файлы FSModelExp.dle mаkemdl.exe makemdl.cfg
Таким образом в папке gamepacks ,будут две папки FS2002 и FS2004 со своими наборами плугов, скриптов ini-файлами и сответствующие ярлыки FS2002.lnk и FS2004.lnk для запуска Гмакс.
FS2002.lnk запускает %GMAX%gmax.exe -i gamepacksFS2002gmax.ini -p gamepacksFS2002plugin.ini
FS2004.lnk соответственно %GAMX%gmax.exe -i gamepacksFS2004gmax.ini -p gamepacksFS2004plugin.ini
видно что используются свои настречные файлы. Эти ярлыки можно скопировать куда удобнее — на рабочий стол например.
Если по каким то причинам переменная среды %GMAX% у вас не прописана (как у меня) и при запуске или просмотре свойств ярлыка выходит ошибка «Не могу найти Gmax.exe», то замените ее в ярлыке в начале строки и в «Рабочий каталог» на путь к Гмаксу (у меня C:Gmax12)
При неправильном копировании при запуске Гмакс может возникнуть ошибка о дублировании плагов. Гмакс при запуске смотрит соответствующий plagin.ini и загружает плуги из соответстующих папок. Если в них будут одинаковые — будет ошибка. (скорее всего вы не переместили а скопировали FSModelExp.dle из plugins в gamepacksFS2002plugins
Как я сделал в одном проекте. Без особых рекомендаций просто как вариант и наводка.
Создаем ВПП в понимании 2004 сима (можно в АФКАД или ручками в В ХМЛ не важно). — для нее указываем размеры и поверхность (что бы корректно описывалось в MapView и прочих делах), разметку не делаем. ИЛСы, Огни подхода по желанию.
Создаем такую же ВПП в понимании 2002 сима. с типом Unknow и нужной разметкой.
Рисуем собственно полосу (в Гмакс с редактированием ADDOBJ в ADDCAT с 24! слоем (что бы было видно разметку).
Получается такой вот бутерброд (верху вниз)
разметка (от невидимой полосы)
нарисованая полоса
полоса (которую закрывает нарисованая), но про которую знает АИ, дисп и все остальное
Экспорт в 2004 геймпаке почему то добавляет суффиксы _0 _1 и т.д для параметра LIGHT_TAXI в команде BGL_LIGHT (Хотя это просто макроподстановка типа огня LIFHT_TAXI UQU 3
Соответственно решение убрать их в asm коде, например:
BGL_LIGHT LIGHT_TAXI_1, -0.020, 0.006, -0.022, 20, 0.60, 0.40, 0FFDFDFDFh, 0.000000, 0.000000, 1.000000 ;
заменяем на:
BGL_LIGHT LIGHT_TAXI, -0.020, 0.006, -0.022, 20, 0.60, 0.40, 0FFDFDFDFh, 0.000000, 0.000000, 1.000000 ;
что вообщем то должно означать всего навсего:
BGL_LIGHT 3, -0.020, 0.006, -0.022, 20, 0.60, 0.40, 0FFDFDFDFh, 0.000000, 0.000000, 1.000000 ;