По публикации первой версии я был немало одобрен думающей и "профессиональной" частью русскоговорящего FSX сообщества, хотя и другая часть его не преминула попинать автора :) В итоге появилось осознание полезности проделанной рабты, и я решил выкроить пару дней для вольного перевода на родной язык описания.
Хочу сказать огромное спасибо тем, кто действительно понял зачем все это и смог разобраться, не скрою, в очень непростой программе, требующей понимания принципов построения FSX. Именно ради таких людей и публикается вторая версия, да еще и с русским переводом так называемой доки :)
FSXControls состоит из трех программных модулей:
Визуальное приложение для настройки всего в этом пакете и управления тонкими моментами в самом FSX (FSXControls.exe);
Прибор для просмотра картинок (EQgauges.dll) Это по сути. Но в нем все заточено под просмотр карт и получения навигационной информации;
Невидимый драйвер в FSX (EQmodule.dll), влезающий в кишки FSX, главная фишка - GhostMouse ( Вольном переводе - "Мышь-призрак").
Программы предназначены для НЕкоммерческого использования всеми поклонниками MS Flight Simulator X (случайным людям они просто не нужны). Программы создавались прежде всего для продвинутых симеров и верных поклонников флайт симулятора, которые понимают, что им нужно и чувствуют ограничения FSX. Но также все это можеть быть полезно всем, кто хочет лучше узнать FSX. Программы просты в использовании, если понимать что они делают и иметь солидный опыт полетов на в симе.
Прошу прощения, но этот продукт - лишь слегка подкрашенные и подчищенные наработки для себя. Хобби. Поэтому я не могу обеспечить техподдержку, дать какие-либо гарантии, составить полное руководство.
Ниже - список функциональных фозможностей программ и подсказки (хинты) по неочевидным или скрытым фишечкам.
FSXControls.exe незаменим для владельцев хороших наборов джойстиков и поклонников HOTAS (в смыле руки на джойстиках, а не где попало :). Для владельцев хардвера от CHProducts даже есть специальная полезная штучка.
ChartViewer.dll для тех кто любит летать с картами, но у него или нет бумажных, или некуда их положить (а тут вся колода под рукой :). Это не новомодные MovingMap из, прости Господи, гаджетов! Это карты, которые надо смотреть и понимать где ты сейчас находишься. Так летали наши деды, отцы и сейчас летают настоящие летчики. А все это GPS - хорошая штука, но без бумажных карт до добра не доведут, а только отучат думать.
EQModule.dll (драйвер) прежде всего для тех, кто владеет множестовом дополнительных самолетов, особенно платных и продвинутых. К сожалению при огроомном количестве нестандартных органов управления в ктакаих самолетах отстутстует какая-либо возможность управления ими с клавы или джоя. GhostMouse элегантно затыкает эту зияющую дыру.
GhostMouse ну, собственно, ноухау и жемчужина программы.
Разработка велась на MS Visual Studio Express edition (плюсЫ и шарп). Спасибо Микрософту за отличную бесплатную среду разработки.
Windows XP SP2 or SP3. (Должно работать и на Висте, но ее терпеть ненавижу и даже не пробовал).
Правильно установленный MS FSX SP2 с SimConnect. (FSX SP1 поддерживается так же, но нужен другой модуль EQmodule.dll см.ниже). У меня нет FSX Acceleration Pack - ничего сказать не могу, но теоретически должно работать. "Правильно установленный" означает честную установку родным инсталляторами. Программа ничего не проверяет на пиратство, но пользуется registry и SimConnect (FSX SDK не обязателен). Для всех левых инсталляций - это Ваша проблема заставить все работать.
.NET 2.0 с последними service pack. Спрашивайте на Microsoft.com.
Последнюю версию DirectX 9c. (DirectX 10 для Vista). Программе нужны managed библиотеки DirectX. Теория гласит, что они идут в дистрибутивах DirecX. Как в жизни - точно не знаю, но особых проблем не было замечено.
Полный доступ (чтение, запись, создание) к каталогу и всем подкаталогам, где установлен FSX. Особо существенно для параноидальной Висты.
Кладем FSXControls.exe куда нравится. У меня лежит прямо на десктопе.
EQgauges.dll идет в директорий \Gauges папки где установлен FSX.
EQmodule.dll идет в директорий \Modules папки где установлен FSX.
Важно: EQmodule.dll из корня дистрибутива - только для FSX SP2! Если у Вас FSX SP1 возьмите EQmodule.dll из папочки \SP1.
Запускаем FSXControls.exe и жмем кнопочки мышкой.
В меню Tools-> Setup runtime modules.
Install EQmodule.
Install ChartViewer (это по жизни синоним EQgauges.dll). Выбирайте любое значение “Panel ID” но запомните его на пару минут или запишите. Ну пожалуйста!!!
Для создания БД навигации жмем копочку Scan now!!!.
Закрываем диалог.
назначаем клавиши или кнопки для команды PANEL_ID_TOGGLE (или подобных). Значение “Panel ID” для EQgauges должно быть занесено в поле Command Parameter команды. Вы его еще не забыли? Забыли - повторим все по новой! Вообще-то для удобства оно само в первый раз подставляется и позиционируется и, если не умничать раньше времени, то все будет ок.
Сохраняем конфигурацию (Кнопочка с дискетой).
Запускаем FSX. Он по осторожности своей спросит, не опасна ли эта фигня (EQgauges.dll и EQmodule.dll). Ответим 'Run", потом "Yes" для каждой. Больше таких вопросов не будет.
Готово! Вы можете все делать по многу раз и в любой последовательности. Программа не делает ничего, что не может потом отменить (за маленьким исключением, о коем предупреждает). Не стесняйтесь экспериментировать. Помните, что русские (и не только программисты) никогда не читают инструкций, а все грабли собирают лично!
Если Вы не читаете по английски, значит не пользовали первую версию. Потому - все новое.
Русская дока.
Главное окно состоит из четырех закладок и меню Tools со всякими вспомогательными функциями.
Закладка "FSX controls" умеет редктировать всю кнопочно-клавишную часть файла standard.xml:
Назначать любые (в пределах возможностей движка FSX, а они почти неисчерпаемы!) клавиатурные последовательности и кнопки джойстка ( в дальнейшем просто "кнопки") на все существующие в недрах FSX стандартные события (команды).
Устанавливать частоту повтора (только для кнопок!) команд и параметры команд. Вот тут поле для изысканий! Очень помогают тултипы и ознакомление с SDK. Должен сказать, что внутренний движок FSX во сто крат круче чем то, что предлагается ламеру через стандартный GUI и даже SDK.Экспериментируйте и ничего не бойтесь.
Внизу справа интерактивный список для поиска уже назначенных кнопок и клавиш тыкаем в него мышкой для активации - затем жмем интересующую клавишу или кнопку. Для сброса в исходное служит правая кнопка мыши. Двойной щелчок переносит нас на выбранную команду.
Статусная строка и тултипы полны полезной инфы.
В тулбаре поле Search служит для поиска команд по подстроке. Набрав буковки, нужно нажать “Enter” для начала поиска и переходу к следующему найденному.
Прогамма не работает с осями джойстика (хотя осевые команды выдавать может)! Работа с осями вполне полно представлена в стандартных диалогах FSX.
Закладка GhostMouse служит для настройки команд псевдомыши. Это фишка не из FSX, поэтому должен быть правильно установлен драйвер EQmodule.dll. Описание закладки - в отдельном разделе.
Закладка “Cameras” для:
Установки команд быстрого переключения для видов. Виды есть глобальные на весь сим и специальные для отдельных самолетов. Всего сим позволяет назначать до 10 команд.
Обратите внимание, что команды для самолетов могут дублироваться и они перекрывают команды глобальные.
Хинт: Мышиное колесо сильно ускоряет работу в левом списке :)
Контекстные меню позволяют копировать выбранные команды (но НЕ сами камеры) между самолетами.
Важно! Не забудьте назначит клавиши или кнопки для комманд VIEW_CAMERA_SELECT_0… VIEW_CAMERA_SELECT_9 в закладке "FSX controls". Иначе эти команды будут просто бесполезны.
Можно быстро создавать и удалять камеру "правака". Соответствующие кнопочки появляются внизу. Естественно, не работает в одноместных самолетах :)
Для продвинутых симеров можно двигать начальную точку глаз в самолете (view point).
Можно одним махом для всех камер виртуального кокпита установить одинаковый режим поворота головы. У меня нет TrackIR и головой кручу посредством хатки на джойстике. Унификация очень помогает. Тут берется за образец понравившаяся камера, при необходимости меняются параметры и одной кнопкой размножается на все камеры. При добавлении новых самолетов операцию повторить!
Закладка Aircraft позволяет прятать и снова показывать самолеты и ливреи доступные для выбора в симе. Самолеты не удаляются из сима, а лишь из меню выбора! У кого слишком много самолетов поймет ценность такой фишки.
Контекстное меню упрощает некоторые групповые операции.
Меню "Filter" фильтрует базар... точнее команды в закладках "FSX control" и "GhostMouse". Вообще, в FSX команд сотни и я позволил себе разбить их на группы для защиты от замусоривания экранов.
Меню Tools:
"Reset DirectInput". Если Вы одновременно с FSXcontrols запускаете и FSX для пробы, то могут возникнуть странности с восприятием клавиш и кнопок в FSXcontrols. Вместо ее перезапуска можно воспользоваться этим пунктом.
“Generate CH .cmc file” – создает командный файл для CHProducts’ CH Manager. Владельцы продукции компании CHProducts оценят. Помните, что файл нужно пересоздавать после изменения назначений клавиш и кнопок в FSXcontrols!!!
“Options runtime modules“ безумно важный диалог. В нем все штучные настройки программ EQmodule и ChartViewer gauge.
“Setup runtime modules“ Этим Вы уже пользовались при инсталляции. Здесь же можно бесконечно устанавливать и отключать соответствующие компоненты. Это первый диалог при решении любой возникшей проблемы после различных инсталляций FSX, сервис паков, аддонов etc.
GhostMouse - главное ноухау программы. Имитирует нажатие невидимой мышкой на различные чувствительные зоны приборов. Даже тех приборов, которые в текущий момент на экране не видны (но загружены!). Незаменимая штука для аддонных самолетов.Есть, конечно, супер защищенные авторами приборы, с которыми это не работает, но их очень мало.
XML приборы НЕ поддерживаются! Во-первых, это очень трудно сделать (если не невозможно), во-вторых в них как правило используются стандартные команды сима, либо, на крайняк, есть исходники.
В список включено несколько псевдоприборов:
"FSX" это часть стандартных команд FSX (если Вам понадобилось одну кнопку посадить на разные команды для вертолета и джета, например).
<IMC> приборы для EQmodule.dll и EQgauges.dll - команды модулей из описываемого пакета.
Закладка GhostMouse в FSXControls только конфигуратор. Все действия в полете выполняются драйвером Eqmodule.dll FSX. Поэтому последний должен быть правильно установлен.
GhostMouse стабильно работает в виртуальном кокпите, но в сложных 2D панельных системах часть приборов на неподгружаемых первоначально панелях могуд не рабоать. Для решения этой проблемы надо перед началом полета активировать (показать и спрятать) все проблемные панели, а потом дважды нажать Esc. Это мои догадки (о проблеме, а не о лечении ее), ибо сам всегда летаю только в VC.
Левая панель закладки - дерево трех уровней: модули, приборы в них, назначенные клавиши/кнопки. Дерево содержит только те приборы, в которых есть недоступные через стандартные команды сима органы управления!
Верхняя правая панель изображает прибор или список команд псевдоприбора. Для прборов отображается фоновая картинка и точки мышиного воздействия. Выберите нужную зону для задания команды. Хинт: все три кнопки мыши поддерживаются.
Нижняя правая панель включает всякие настройки для выбранной команды:
Информацию о типах воспринимаемых выбранной зоной прибора (кроме псевдоприборов) мышиных событий (какие кнопки мыши и как воспрнимаются прибором). Это не редактируется.
Категории крафтов, к которым должна применяться команда (для псевдоприборов).
Текст-бокс, отображающий клавиатурную команду или кнопку. Он непосредственно не редактируется, просто нажмите выбранную комбинацию. Клик по нему очищает и вновь активирует его.
Выбор способа обработки входного воздейсткия.
Hold - команда выполняется, если подержали кнопку нажатой заданное время (время настраивается в диалоге настройки Options).
Click - команда выполняется, если кнопка была отпущена до заданного времени (не Hold).
Once or Repeated - команда выполняется один раз в момент нажатия кнопки или повторяется пока кнопка нажата.
Важно! Можно задать разные команды для всех трех типов восприятия нажатий. Конфликты не воспрещаются - применяйте здравый смысл в меру ловкости своих рук.
Частота повторения для кнопок. Параметр определяет период между последовательными отправками команд при нажатой кнопке 1 соответствует 1/18 сек. 2 - 2/18 сек и т.д. Эта фича может быть выбрана и для клавиш, если не устраивает стандартный автоповтор, но работает с некоторыми незначительными ограничениями. Для повторяемых команд в первый интервал добавляется дополнительная задержка (initial delay), устанавливаемая в настройках программы.
Есть и возможность оставить стандартный автоповтор для клавишных команд (для кнопок джоя не работает!).
Галочка “Right button acceleration” - специальная возможность: после 10 последовательных автоповторов команд, эмулирующих нажатие левой кнопки мыши, программа с половинной частотой продолжает "нажимать" правую кнопку. Эта штука полезна для некоторых платных аддонов, где для быстрой прокрутки кремальер используется правая кнопка (Flight1 ATR-72 и DigitalAviation Cheyenne, например).
Автоматически всплывающий список дублирующихся команд в левой нижней части окна. В нем можно задать приоритеты команд - вверху - более приоритетные команды. Исследуйте это сами. Двойной щелчок тоже работает.
Вы можете назначать одинаковые клавиши и кнопки на несколько приборов. В полете активируются только команды для загруженных приборов в порядке приоритетов (активной остается только команда с высшим приоритетом).
Если клавиши или кнопки назначены в GhostMouse и прибор активен, то движок FSX уже не генерирует стандартных команд для этих кнопок. Для удобства настройки перекрываемая стандартная команда отображается в статусной строке.
Опираясь на указаннае выше свойство, маленькая кнопка “Null” устанавливает пустую команду, которая просто "съедает" нажатие, не допуская выдачи стандартный команды сима.
FSXControls читая модули может пропускать некоторые защищенные приборы из платных аддонов. Такие модули помещаются в черный список.
Но есть шанс увидеть их! После того, как они оказались в черном списке, просто загрузите FSX с самолетом, использующим данный приборный модуль. Затем завершите FSX. Будет создан дамп специального вида. Теперь снова запустите FSXcontrols. В 90% случаев успех неизбежен.
Вы можете попробовать добавить в черный список и "хорошие" модули. Иногда это помогает отобразить невидимую изначально фоновую картинку. Контекстное меню для модулей позволяет управлять черным списком. Но поаккуратней с этим.
Если фоновая картинка так и не появилась, есть возможность задать ее вручную или попытаться срисовать с панели, в которой прибор используется. Контекстное меню на приборе - ключ к решению.
EQgauges.dll прибор с основными четырьмя режимами:
Просмотрщик больших карт (режим Map). Я использую его во время всего полета. Прибор может показывать довольно большие карты, скролирует и масштабирует картинку (тут все упирается в память, я успешно пользую 6500x5000 8bpp US sectionals). Все управляется мышью, кроме некоторых команд, которые дополнительно доступны через <IMC> псевдоприбор. Мышиное управление:
Left drag – скроллинг
Right click – полный размер/уменьшенная.
Middle click – режим открытия нового файла.
Mouse wheel на верхней строке – установка нового коэфиициента масштабирования (отображается в правом верхнем углу)
Mouse wheel на карте – "умный" скроллинг. Не объяснить - нужно пробовать.
Left click на меню – выбор режима.
Right click на меню – загрузка предыдущей картыю
Любой клик на стрелочке у пунктов меню - подменю откытия новго файла со списком последних просмотренных карт.
Left or right click на имени файла вверху – переключение между Map и IAP режимами.
Right click по элементу списка - фиксация файла в списке (что бы вытеснялся в последнюю очередь).
Middle click по элементу списка - удаление файла из списка.
Просмотрщик малых карт (режим IAP). Я его использую для просмотра схем захода. Режим подобен Map за исключением:
Только 2 масштаба 1:1 и "уместить целиком".
Максимальный размер картинки - 2 мегапикселя.
Режим информации по аэропортам (режим Apt) с ILS и погодными станциями (ATIS/AWOS/ASOS) в заданном радиусе (по умолчанию 60 миль - дальше VFH в FSX не пробивает :) ).
Белым цветом выделены порты с погодной информацией. Левый или правый клик устанавливает запасную частоту в COM1 или COM2. Второй клик менеят рабочую и запасные частоты.Третий клик активирует соответствующий комплект COM1/COM2.
Серые линии - порты без погоды, но с ILS/LOC.
Зеленые линии - ВПП с ILS/LOC. Первый клик устанавливает запасную частоту NAV1. Второй клик делает ее рабочей. Третий клик устанавливает курс захода на OBI1/HSI. Правый клик делает те же вещи для NAV2.
Режим NAV дает информацию по доступным в данной точке (в полете!!!) средставам радионавигации (VOR, DME и NDB). В список включается и то, что не принимается, но почти рядом (запас по расстоянию задается в настройках программы). Все что за границами устойчивого приема выделено серым.
Для VOR или DME левый или правый клик устанавливает NAV1 или NAV2 радио. Первый клик устанавливает запасную частоту. Второй клик делает ее рабочей. Третий клик активирует прием кода Морзе от маяка. (В действительности алгоритм чуть сложнее, но удобнее).
Для NDB левый или правый клик работает с ADF1 или ADF2 приемниками. Первый клик устанавливает частоту. Второй клик активирует прием кода Морзе от маяка.
В режиме карты предусмотрены два простейших инструмента для рисования:
Рисование маршрута - ломаная линия. Рисование производится при нажатии и удержании Shift. Левый клик добавляет точки, правый стирает их с конца маршрута, средний очищает весь маршрут. Для каждой карты можно иметь единственный маршрут из 15 сегментов. Зато он сохраняется между сессиями. Цвет, прозрачность и толщина линии устанавливаются в настройках программы.
"Линейка" - одна бело-черная линия. Рисуется и стирается левым кликом при удержании Ctrl. Между сессиями не сохраняется. В процессе рисования показывает свою длину в дюймах и мм. Размер расчитывается исходя из атрибутов файла с образом карты (в форматах, где он есть) или из атрибутов монитора (обычно 96 точек на дюйм).
Предусмотрены несколько команд для назначения их на клавиши или кнопки. Ищите EQgauges/<IMC> псевдоприбор на закладке GhostMouse.
Важный хинт: Просмотр картинок очень прожорлив по памяти. Лучшие результаты получаются с изображениями в формате 8 бит на пиксель (все GIF или TIFF с соответствующим кодированием). EQgauges оптимизирован именно под этот формат на минимизацию расхода памяти!
Все параметры можно настроить через диалог настроек в FSXcontrols Tools->Options.
EQModule драйвер для FSX, который делают всю работу по поддержке GhostMouse и много полезного по мелочи.Его функции подробнее:
GhostMouse драйвер.
GhostMouse полностью конфигурируется в закладке GhostMouse FSXControls (см. выше).
Модуль зачитывает всю конфигурацию единожды при запуске FSX. Поэтому, если что-то изменено через FSXcontrols, нужно перезапустить симулятор.
Эмулятор реверса тяги. В FSX очень трудно настроить джойстик для управления реверсом. Предлагается метод управления, когда по команде ось тяги просто реверсируется, т.е. РУД толкаем вперед, но он виртуально увеличивает обратную тягу. Как это выглядит в жизни:
РУД ставим в 0.
Активируем реверс с помощью специальной назначенной команды.
Теперь толкаем РУД вперед, мы в действительности увеличиваем отрицательную тягу.
Подбираем РУД в 0.
Деактивируем реверс другой командой или он отключается сам, если активна функция автоотключения (см. ниже).
Задать клавиши/кнопки для управления режимом можно на закладке GhostMouse для псевдоприбора EQmodule/<IMC>. Другие настройки делаются в FSXcontrols Tools->Options. Настройки позволяют:
“Null zone” - зона нечувствительности. Для дешевых и плохо откалиброванных джойстиков трудно вывести РУДы в 0. Для этого задается зона нечувствительности в %. У меня установлено 1% для CH ProThrottle.
“Reverser auto off” - автоотключение реверса. Позволяет не заморачиваться с отключением реверса после его применения. Вернули РУД в ноль и теперь он снова работает на тягу.
"Умное" управление планшетом (Kneeboard) позволяет исключить из перебора (но не прятать) неиспользуемые закладки планшета и назначить команды для активации/деактиваци ипланшета и перехода между закладками в любом направлении:
Команды назначаются на закладке GhostMouse для псевдоприбора EQmodule/<IMC>.
Для отбора закладок используйте диалог настроек в FSXcontrols.
Установка мирового времени (ZULU time). Надеюсь у Вас правильно установлена временная зона компьютера? Тогда это будет работать. Смысл в том, что садясь в Москве за комп после просмотра программы "Время" и выбрав для полета Сан-Франциско, в симе будет калифорнийское утро, а не московский вечер. Все настраивается в в FSXcontrols Tools->Options. Есть три варианта:
Устанавливать мировое время каждый раз при загрузке нового полета (с миссиями могут быть проблемы!).
Устанавливать мировое время единожды при старте FSX (рекомендуемое значение).
"Не морочьте мне голову" - оставить все как есть у Микрософта - что за окном, то на всем шарике.
Функция сглаживания ветра. Если Вы не имеете легальной FSUIPC, то при использовании реальной погоды Вас должны бесить ужимки и прыжки самолета при наборе, спуске и просто в полете на границе погод. У Pete Dowson это наверняка сделано лучше, но я не готов был за такую малость платить 30 евриков, а остальное в FSUIPC мне и даром не надо. Поэтому пришлось вспомнить забытый за 20 лет дизассемблер и поковыряться в кишках у сима в поисках болевой точки. В итоге я лично остался доволен. Эта функция работает только в полете, но не на земле. Настройки позволяют установить пороги чувствительности ограничителя по скорости ветра и изменению направления, а также скорости плавного изменения скорости и направления. Опыт показывает, что задалбывает не изменение скорости, а случайные смены направления. Но сглаживается и то и другое.
Функция автотриммерования. При нажатии на капу триммеруются сразу все органы управления (руль высоты, направления и элероны). Триммеруется в действительности оси джойстика, а не триммеры как поверхности управления, поэтому работает для всех крафтов, а исключительно ценно это особливо для вертолетов. Работает это так: вывели все рули в желаемое положени и нажали кнопку или клавишу. Все готово. Теперь можно отпустить все джойстики в нейтраль, расслабиться и спокойно взять пиво и чипсы (или кефир и печенье). В общем это трудно описать, но попробовав пару раз все становится понятно. Есть и функция детриммирования, котоая активируется либо отдельной командой либо автоматически при приземлениии. Настройка производится:
На закладке GhostMouse для псевдоприбора EQmodule/<IMC> назначаются команды.
В Tools->Options определяется скорость детриммирования.
Дочитали? Согласен. Это - не документация, но хоть что-то, надеюсь, стало понятно. Потому призываю еще раз не бояться исследовать недра FSX - в них много ценнейших алмазов и жемчуга. И пусть эти программы станут надежными помощниками в этом деле. Дерзайте и помните - летчики не плачут ;-)
"Оффициальный" сайт, который иногда обновляется, находится здесь: FSXControls project page.
Ящик для благодарностей и багов: fsxcontrols@mail.ru.
Сожалею, но не смогу Вам помочь в вопросах инсталляции и совместимости с другим п/о, просто потому, что не имею таких возможностей. Моя платформа: Windows XP SP3 + FSX SP2.
Уже без надежды в помощи по созданию доки.
С наилучшими пожеланиями.
Евгений Моторный (aka gm193)
Санкт-Петербург, Россия.