“DANAE!”
(DAmnable but Necessary Arx Editor)
Редактор игры “Arx Fatalis” — “DANAE!” (1,5 МБ), полученный благодаря Swordsman'у с ogl.ru.
От Swordsman'а в архиве содержатся: "danae.exe", "unicows.dll", хотя может подойти и от игры, и "Athena.dll".
Я добавил от себя "ARX_SCRIPT_DEBUGGER.dll", полученный при сборке исходников (от игры не подходит для действия "Script Debugger").
Ещё на всякий случай я добавил "Athena.dll" из той же сборки исходников в папку "Release", и папку "Debug" с файлами, полученными при сборке в режиме "Debug".
Дополнительно в архиве содержатся "afunpak.bat" — батник для облегчения извлечения содержимого игровых архивов, и собственно "Afunpak" для их распаковки.
Установка “DANAE!”
Для установки “DANAE!” извлеките содержимое архива в удобную папку, скопируйте в неё из папки игры (желательно версии 1.21, например версии от "Steam", но подойдут и из других версий) игровые архивы с расширением ".pak", и извлеките их содержимое, запустив "afunpak.bat" (идея его сделать появилась благодаря этому сообщению). Игровые архивы после их распаковки можно удалить. Но если хотите запускать игру из этой же папки через "arx.exe", то лучше их оставить.
После скопируйте из папки игры в вашу папки "Graph" и "misc" c заменой файлов для соответствия с установленной версией игры. Можете скопировать остальные файлы из папки игры, только не заменяйте ".dll" файлы.
При запуске "danae.exe" создаются "PAK_NOT_FOUND.txt" и "ERROR_Log.txt", если игровые архивы были удалены, папка "Save" (папка сохранений игры) и "cfg_default.ini", если вы их не скопировали из папки игры (если скопирован "cfg.ini", то будет использован он).
На "PAK_NOT_FOUND.txt" не обращайте внимания… Там много чего не найдено, но редактор действует и без этого. Но вот игра ("arx.exe") без игровых архивов не запустится.
По умолчанию в "cfg_default.ini" (или "cfg.ini" при наличии) прописано:
[LANGUAGE] string="english"
Можете изменить на:
[LANGUAGE] string="russian"
если вы распаковали архивы "LOK.PAK" и "SPEECH.PAK" из русской версии игры (английский язык в них не входит).
В "cfg_default.ini" (или "cfg.ini" при наличии) нужно включить оконный режим игры:
[VIDEO] resolution=1024x768 bpp=32 full_screen=0
Последняя строка из этого отрывка как раз и включает его.
"full_screen=1" означает запуск в полном экране.
resolution задаёт разрешение для полноэкранного режима.
Запускается Danae в окне c разрешением 640x480.
К началу руководства “DANAE!”
Запуск “DANAE!”
После запуска "danae.exe" выберите (кнопкой "Choose Dir") папку проекта, в которой находятся извлечённые из игровых архивов файлы, выберите режим 32 бита (кажется при 16-ти что-то сбоит), и нажмите "Launch GAME", запустится игра в окне редактора. Если отметить в правом столбце "No CHECKSUM", выбрать в нём уровень и нажать кнопку "OK", то загрузится шкура уровня (модель) без интерактивных объектов, источников света, безо всего. Вероятно это нужно для создания уровня с нуля.
Если при запуске вы услышали тревожный звук и загрузка стартового ролика не состоялась, значит что-то не так, перезапустите “DANAE!”
К началу руководства “DANAE!”
Выбор уровня
Выбрать уровень можно либо через меню "File -> Load Level" (нужно открыть папку интересующего уровня и выбрать ".DLF" файл), либо по горячей клавише "F4".
Выбирать уровень нужно когда вы в игре или в ролике, а не в меню, если вы оказались в меню, нажмите на кнопку с шестерёнкой в панели инструментов после выбора "File -> Load Level", при этом есть возможность вылета из редактора, но она небольшая. Рекомендую дождаться при запуске “DANAE!” выхода в меню (или прервать стартовый ролик для этого) и сделать сохранение, затем загрузить его, чтобы была возможность вернуться из меню игры («Продолжить игру») на загруженный за этим уровень. При этом загрузка сохранения будет происходить намного быстрее, нежели если вы сделаете его на другом загруженном уровне.
После загрузки уровня Ам Шегар становится довольно сильным, хотя и не имеет никаких вещей.
К началу руководства “DANAE!”
Перемещение по уровню
Если попали при загрузке уровня неизвестно куда, воспользуйтесь окошком "Interactive Objects" (вызывается через меню "View", если вы закрыли его), и переместитесь к какому-нибудь объекту кнопкой "Go To Object" (я рекомендую маркеры (Marker)).
Если попали в меню, или вышли туда клавишей "ESC", и продолжить игру нельзя (строка меню не активна), и вы не делали сохранений игры, придётся загрузить уровень, для этого воспользуйтесь комбинацией вызова меню "File -> Load Level" и кнопки с шестерёнкой (возможен вылет). Перед этим можете сохранить игру.
После загрузки сохранения игры или загрузки уровня по F4 сохранить уровень нельзя, придётся снова загружать уровень через "File -> Load Level". Зато при выполнении хотя бы одной загрузки сохранённой игры становится доступно продолжение игры из меню и после прямой загрузки уровня, и ещё включается возможность быстрого сохранения игры (кнопкой "F5" по умолчанию).
К началу руководства “DANAE!”
Прогулка по уровню
По уровню можно походить, как и в обычной игре («Прогулочный режим»). Можно перемещаться между уровнями так же, как и в обычной игре.
Если вы можете двигаться, но застряли, нажмите "Numpad 5" для «приземления» Ам Шегара. Если вы не можете делать никаких действий (такое часто случается при загрузке уровня в оконном режиме редактора, и почти никогда в полноэкранном), нужно нажать на кнопку с шестерёнкой в панели инструментов (быстрая клавиша "F9") дважды (придётся немного подождать реакции).
К началу руководства “DANAE!”
Добавление объектов на уровень
Для добавления объекта на уровень перетащите на окно “DANAE!” (или кнопку свёрнутого редактора в панели задач, если тот находится в полноэкранном режиме) корневой скрипт объекта из папки проекта, например, для добавления сундука: "GRAPH\obj3d\interactive\Fix_inter\chest_metal\chest_metal.asl". Объект появится в 140-ка виртуальных сантиметрах перед Ам Шегаром.
Скрипт добавленного объекта будет храниться во вложенной папке корневого. Она создаётся редактором после добавления объекта. Её номер будет на единицу больше последней. В нашем случае это будет папка "CHEST_METAL_0134" (в оригинале игры 133 сундука), в ней нужно создать текстовый файл "chest_metal.asl" и редактировать его во внешнем редакторе, сохраняя его в кодировке ANSI-1252 (латиница-1 или Западно-европейская).
Полученный скрипт окажется в итоге по адресу: "GRAPH\obj3d\interactive\Fix_inter\chest_metal\CHEST_METAL_0134\chest_metal.asl".
После добавления всех желаемых объектов сохраните уровень.
Если сохранение уровня не вызвалось по "File -> Save Level As…" нужно нажать на кнопку с шестерёнкой, тогда появится диалог сохранения уровня.
К началу руководства “DANAE!”
Быстрые клавиши
Перечисленные ниже клавиши жёстко заданы в движке редактора, и их невозможно поменять, не изменяя его исходники (пока недоступные…). В отличие от этого кнопки управления игрой можно поменять в её меню.
Клавиши, заданные в движке, имеют приоритет над кнопками, задаваемыми игроком в меню игры. Если вы хотите использовать функции кнопок, перекрываемых клавишами движка редактора, нужно назначать для них кнопки, неиспользуемые движком.
"F1" — переключение на полный экран и обратно, "F2" — вызывает окно настроек “DANAE!”, "F3" — вызывает окно настроек отображения/скрытия, "F4" — вызывает окно выбора уровня, "F10" — делает скриншот (действует и в обычной игре).
Недействующие в меню игры: "F7" — включает режим редактора освещения, "F8" — пауза игры, "F9" (если нет быстрых сохранений, или кнопка для их загрузки не назначена, или для этого назначена другая) — включает режим редактора объектов.
Кнопками "Numpad" я называю цифровые кнопки, расположенные в правой части клавиатуры (их ещё называют «серыми»). Для их использования режим цифрового ввода по "Num Lock" включать не нужно!
"Numpad 5" — «приземление» Ам Шегара, "SHIFT"+"C" — переключение столкновений Ам Шегара (Player Collisions) и режима полёта сквозь стены.
"`" (где "~" — тильда) — включает отображение некой информации об уровне, отображение «порталов комнат» (места перехода), рамок всех видимых объектов в некотором радиусе от Ам Шегара при его нахождении внутри «комнат», включает режим полёта сквозь стены и отключает столкновения Ам Шегара (Player Collisions).
";" — переключает режимы отображения «порталов комнат» и без их отображения тоже. Внимание, при нахождении на уровне с водоёмом при переключении режимов отображения «порталов комнат» возможно тотальное зависание “DANAE!”.
Основной режим игры — “TransformSC”:
Первый режим без интерактивных объектов:
Второй режим без интерактивных объектов:
Третий режим “Transform” без интерактивных объектов:
Если столкновения Ам Шегара отключены, то "Page Up" и "Page Down" перемещают его вверх и вниз соответственно.
"Z" — добавляет 1000 опыта Ам Шегару…; "SHIFT"+"Q" — излечивает Ам Шегара от яда, восстанавливает здоровье и ману, делает сытым, а также воскрешает его (если в режиме редактора объектов встать на костёр, то Ам Шегар вскоре рухнет, как подкошенный; жаль, что сцену смерти его от рук, например, стражников, это не отменяет).
Кнопки цифр вызывают заклинания, кроме "7" — вызывает перерасчёт освещения в зоне вокруг Ам Шегара с радиусом 12 виртуальных метров, и "0" — переключает отображение объектов и нормалей (при включённой опции "Show Normals" в настройках) в режимах показа «порталов комнат». Нормали видны во втором после основного (по умолчанию — “TransformSC”) режиме, при этом происходит смазывание текстур, если взгляд игрока направлен «не туда». Рекомендую встать у стены «комнаты» и покрутить камеру до тех пор, пока вид не станет нормальным. В этом режиме также действует опция "Use Dynamic Normals" в настройках. Включать отображение объектов и нормалей нужно в основном режиме порталов комнат (“TransformSC”), выключить отображение можно в любом из режимов.
Первый режим с интерактивными объектами:
Второй режим с интерактивными объектами и нормалями:
Третий режим “Transform” с интерактивными объектами:
Заклинания: "1" — «Огненный шар», "2" — «Ночное зрение», "3" — «Лечение», "4" — «Ускорение», "5" — «Телекинез», "6" — «Невидимость», "8" — «Ледяной луч», "9" — «Магический глаз».
"Y" — показывает глубину (дальность, Depth) обзора синим. В настройках опция "Show Depth" включается при входе в режим редактора объектов, при этом туман на границе обзора отключается.
Клавиши неясного назначения и применения (требуются уточнения, некоторые вероятно отключены в данной сборке): "F12", "O", "P", "J", "Numpad 1" (в общем режиме).
К началу руководства “DANAE!”
Рекомендация по использованию
Настоятельно рекомендую пользоваться всеми режимами редактора в полноэкранном режиме, включив нужный на панели инструментов в оконном режиме. Но окошко "Interactive Objects" и некоторые другие появляются только в оконном режиме. Если они нужны, придётся быть в нём.
К началу руководства “DANAE!”
Здесь представлена панель инструментов главного окна “DANAE!” с описаниями (при наведении мыши) и ссылками. Ссылки есть не у всех картинок, и описания тоже. Некоторые кнопки вовсе не используются в данной сборке редактора.
| Новый? | Сохранение? | Полный экран | Настройки “DANAE!” | Пауза скриптов | Перезагрузка? | Редактор объектов | Редактор узлов | Редактор освещения | Редактор туманов | Неизвестное | Редактор путей | Частицы? | Скриншоты… | Поиск по скриптам | Отладчик скриптов |
К началу руководства “DANAE!”
Режим редактора объектов
Кнопка с шестерёнкой в панели инструментов (быстрая клавиша "F9") включает режим редактора объектов, при этом становятся видными все объекты уровня, включая маркеры, камеры, сосиски отладки (жаль, что в обычном «режиме прогулки по уровню» эти объекты не видны, и их нельзя использовать), а также в полноэкранном режиме включается режим полёта по уровню с прохождением сквозь стены (прыгать не рекомендую, застрянете). Также в режиме редактора объектов доступны режимы редакторов узлов (Nodes), туманов (Fogs) (и частиц (Particles)…).
При входе в режим редактора объектов происходит возврат всех объектов на уровне в исходное положение, сбрасывается инвентарь Ам Шегара, и сбрасываются все глобальные и локальные переменные скриптов.
Объекты выбираются одиночным нажатием левой кнопки мыши на них.
Кнопки редактора объектов:
"Shift" + "L" — вызывают диалог загрузки уровня. "Shift" + "S" — вызывают диалог сохранения уровня. "Delete" — удаляет выбранный объект. "Enter" — открывает окно "Script Editor". "Numpad 8" — сдвигает выбранный объект вперёд. "Numpad 2" — сдвигает выбранный объект назад. "Numpad 4" — сдвигает выбранный объект влево. "Numpad 6" — сдвигает выбранный объект вправо. "Numpad +" — сдвигает выбранный объект вверх. "Numpad -" — сдвигает выбранный объект вниз. "Numpad 7" — «приземляет» выбранный объект. "Numpad 9" — переключает оси вращения выбранного объекта. "Numpad /" — поворачивает выбранный объект в одну сторону. "Numpad *" — поворачивает выбранный объект в другую сторону. Величина сдвига и поворота 20 единиц. При нажатом "Shift" 1 единица. "Numpad 0" — возвращает изначальную ориентацию выбранного объекта. "Home" — в общем-то делает то же самое.
При двойном нажатии на любой выделенный объект выводится окно редактора скриптов ("Script Editor")… Вот только исходный скрипт при этом не выводится… Да и редактирование в общем-то невозможно… Можно только обнулить корневой скрипт ("Class Script"), что весьма неудобно.
К панели инструментов.
Режим редактора узлов
Кнопка с красным крестиком включает режим редактора узлов (Nodes). Он действует только в режиме редактора объектов.
Кнопки редактора узлов:
"N" — добавляет узел. "Delete" — удаляет выбранный узел. "Numpad 8" — сдвигает выбранный узел вперёд. "Numpad 2" — сдвигает выбранный узел назад. "Numpad 4" — сдвигает выбранный узел влево. "Numpad 6" — сдвигает выбранный узел вправо. "Numpad +" — сдвигает выбранный узел вверх. "Numpad -" — сдвигает выбранный узел вниз. Величина сдвига 10 единиц. При нажатом "Shift" 1 единица. "L" — связывает последние два выбранных узла (если шифты не нажаты). "U" — убирает последнюю связь. "Enter" — вызывает окно задания имени выбранного узла.
Узел добавляется в 150 виртуальных сантиметрах перед Ам Шегаром в 80-ти сантиметрах над поверхностью (полом или потолком).
Почему-то получается вставить только один узел, и поэтому ничего о связях рассказать не могу.
К панели инструментов.
Режим редактора туманов
Кнопка с чёрно-белым треугольником включает режим редактора туманов (Fogs). Он действует только в режиме редактора объектов.
Кнопки редактора туманов:
"Space" — добавляет генератор тумана. "Delete" — удаляет выбранный генератор тумана. "Enter" — показывает свойства выбранного генератора тумана. "Shift" — при удержании задаёт направление тумана мышью (при включённой опции). "Numpad 8" — сдвигает выбранный генератор вперёд. "Numpad 2" — сдвигает выбранный генератор назад. "Numpad 4" — сдвигает выбранный генератор влево. "Numpad 6" — сдвигает выбранный генератор вправо. "Numpad +" — сдвигает выбранный генератор вверх. "Numpad -" — сдвигает выбранный генератор вниз. Величина сдвига 10 единиц. При нажатом "Shift" 1 единица.
Генератор добавляется в 150 виртуальных сантиметрах перед Ам Шегаром в 80-ти сантиметрах над поверхностью (полом или потолком).
Свойства генератора тумана:
Кнопка "Color" — выбор цвета. "Frequency" — частота. "Rotation" — вращение. "Speed" — скорость. "Size" — размер. "Scaling" — расширяемость. "Duration" — задержка. "Directional Fog" — направленный туман.
Можно скопировать настройки одного генератора (кнопкой "Copy"), и вставить их в другой (кнопкой "Paste").
К панели инструментов.
Режим редактора освещения
Кнопка с лампочкой (быстрая клавиша "F7") включает режим редактора освещения. Источник света выбирается нажатием на него левой кнопкой мыши. При этом в его центре появляется светящаяся точка.
Кнопки редактора освещения:
"Shift" + "Delete" — удаляют все источники света на уровне. "Delete" — удаляет выбранный источник. "Space" — добавляет новый источник. "Numpad 8" — сдвигает выбранный источник вперёд. "Numpad 2" — сдвигает выбранный источник назад. "Numpad 4" — сдвигает выбранный источник влево. "Numpad 6" — сдвигает выбранный источник вправо. "Numpad +" — сдвигает выбранный источник вверх. "Numpad -" — сдвигает выбранный источник вниз. Величина сдвига 10 единиц. При нажатом "Shift" 2 единицы. "Enter" — показывает окно свойств источника.
Источник добавляется в 150-ти виртуальных сантиметрах перед Ам Шегаром на 80 сантиметров ниже его макушки.
Свойства источника света:
Кнопка "Color" — выбор цвета.
Параметры (Parameters):
"HotSpot" — горячая точка, вероятно радиус основного свечения. "Falloff" — падение, вероятно радиус всей освещаемой зоны. "Intensity" — интенсивность свечения. "Don't Cast Shadows" — не отбрасывать тени.
Переключатель "Real-Time Update/No Real-Time Update" — немедленное применение настроек включено/выключено.
Дополнительно (Extras):
Кнопки "FIRE" и "FIRE2" — две преднастройки для факелов.
"Semi-Dynamic" — полудинамический. "Extinguishable" — гасимый.
"Start Extinguished" — сначала потушен. "No Ignit" — не зажигается.
"RGB Flicker" — мерцания цвета. Мерцания красного, зелёного и синего (Red, Green & Blue) задаются в процентах.
"Radius" — радиус пламени. "Spawn Fire" — порождать огонь. "Spawn Smoke" — порождать дым. "Color Legacy" — наследовать цвет.
"Freq", "Size", "speed" — частота, размер языков, скорость пламени.
"Flare Size" — размер вспышек света. "Fixed Flare Size" — фиксированный размер вспышки. "Flare" — включить вспышки.
Можно скопировать настройки одного источника (кнопкой "Copy"), и вставить их в другой (кнопкой "Paste").
При добавлении, изменении или удалении источника света происходит перерасчёт освещения в зоне вокруг него с радиусом "Falloff / 100 + 1" виртуальных метров. При удалении всех источников света изменения не сразу видны, но если переключить дважды опцию "Show Lights/Shadows" в настройках “DANAE!”, то на уровне станут видными только светящиеся объекты в полной темноте.
Кнопка "Around" выполняет перерасчёт освещения в зоне вокруг Ам Шегара c радиусом 2 виртуальных метра, кнопка "Recalculate" выполняет перерасчёт освещения на всём уровне (довольно долгий процесс…).
Быстрая клавиша "7" вызывает перерасчёт освещения в зоне вокруг Ам Шегара c радиусом 12 виртуальных метров.
К панели инструментов.
Режим редактора путей
Кнопка с дугой включает режим редактора путей объектов (например камер) и контрольных зон. С ним удобнее обращаться в полноэкранном режиме.
Кнопки редактора путей:
"N" — вставляет точку начала пути. "Delete" — удаляет выбранную точку. "Space" — добавляет новую точку. "Numpad 8" — сдвигает выбранную точку вперёд. "Numpad 2" — сдвигает выбранную точку назад. "Numpad 4" — сдвигает выбранную точку влево. "Numpad 6" — сдвигает выбранную точку вправо. "Numpad +" — сдвигает выбранную точку вверх. "Numpad -" — сдвигает выбранную точку вниз. Величина сдвига 10 единиц. "Numpad *" — выбирает следующую точку. "Numpad /" — выбирает предыдущую точку. "Enter" — показывает свойства пути/точки.
Начальная точка добавляется в 150-ти виртуальных сантиметрах перед Ам Шегаром на 80 сантиметров ниже его макушки. Следующие точки добавляются в метре от выбранной точки в направлении взгляда игрока на высоте начальной точки.
При удалении промежуточной точки конечная точка смещается к предыдущей, при удалении начальной точки ею становится следующая за ней.
Свойства путей:
Параметры точки (This Waypoint):
"Duration" — задержка… Параметр "Bezier" означает, что следующая точка будет задавать кривизну пути до следующей за ней точки.
Параметры пути (This Path):
"Name" — задаёт имя пути/зоны. "ZONE" — включает режим построения контрольной зоны. "Zone Height" — задаёт высоту зоны (полный рост Ам-Шегара примерно 170 единиц). Если высота не задана, то зона действует по всей вертикали (получается «контрольный столб»). "Ambiance" — включает звуковое окружение при входе в контрольную зону. "Max Vol" — задаёт максимальную громкость звукового окружения. "Fade Color" — включает туман при входе в контрольную зону. Кнопка "Choose Color" — выбор цвета тумана. "F-Clip" — задаёт дальность границы тумана (обзора).
"Reverb" — включить реверберацию (это вообще возможно?).
Переключатель "WayPoint Edition/Hierarchy Edition": "WayPoint Edition" включает перемещение одной точки, "Hierarchy Edition" включает перемещение всех точек пути/зоны, кроме начальной (если выбрана не она).
Что делает переключатель "Loop/No Loop" непонятно, кажется, что вообще ничего.
Если в режиме хождения сквозь стены подняться выше «потолка» или опуститься ниже «пола» уровня, все его зоны и пути будут видны вверху или внизу соответственно, отражённо по вертикали (те что выше видны ниже) и повёрнуто на 180 градусов по горизонтали. Чтобы переместиться к интересующей(-ему) зоне/пути, нужно двигаться в обратном к ней/ему направлении, пока она/он не окажется под или над Ам Шегаром.
К панели инструментов.
Отладчик скриптов
Кнопка с буквой "D" вызывает "Script Debugger", в нём можно задавать значения глобальных и локальных переменных скриптов, когда выбран персонаж (NPC) или интерактивный объект (Interactive Object).
Кроме того, отладчик показывает имя объекта (Object), его координаты на уровне (Pos), его текущую цель (Target), её координаты, поведение персонажа (Behavior), и действующие в данный момент таймеры объекта под таблицей переменных.
В отладчике можно отключить отслеживание событий (Events), таймеров (Timers) и переменных (Variables).
К панели инструментов.
Основные горячие клавиши нужно искать по словам "this->kbd.inkey" (некоторые значения переменных с "INKEY_" в имени не совпадают с получающимися при нажатии соответствующей имени кнопки в редакторе, нужно искать кнопку по значению, получающемуся при нажатии кнопок в редакторе при включённой в настройках опции "Show Info Text") и "IsVirtualKeyPressed" в "Danae.cpp" и в "ARX_Interface.cpp" в папке исходников "Sources\DANAE".
Пока это всё, что я смог выяснить. Если кто-нибудь разберётся со всеми функциями редактора или хотя бы одной, неописанной выше, или сможет уточнить информацию, прошу составить руководство и прислать мне через форму обратной связи (если руководство окажется слишком большим, попросите ответить, и я с вами свяжусь), или выложить его на форуме ogl.ru в теме Редактор для Аркса, или в этой теме.
Очень нужно описание настроек, вызываемых по "F2".
Если среди вас есть опытный программист Visual C++ 9 (VC9 в Visual Studio 2008), прошу порыться в исходниках игры и найти все функции “DANAE!”, сообщить мне о них, и доделать некоторые из них, если это возможно. Также прошу сообщить о том, как же получить при сборке исходников сам "DANAE!" (сделал же это один из программистов по просьбе Swordsman'а).
Вот какие функции просьба реализовать:
- Задействовать редактор скриптов ("Script Editor"), чтобы он читал их файлы и выводил в своих полях, сохранял локальный скрипт ("Local Script") без изменения корневого скрипта ("Class Script").
- Посмотреть, можно ли задействовать редактор частиц (Particles) и редактор узлов (Nodes), и пояснить их использование.
Список пожеланий возможно будет пополняться.
К началу руководства “DANAE!”
|