Как известно, радианты (по крайней мере, GtkRadiant и Netradiant) для описания энтить используют файлы с расширением .def, имеющие свой особый формат. Но так как все мы любим Jackhammer, а писать fgd с нуля - дело не очень весёлое, я написал конвертер. def2fgd source code
Бинарники пока не планирую выкладывать ни в каком виде, ибо вряд ли кому-то нужны бинарные версии такой узконаправленной программы. По сути всё это пока просто эксперименты.
Программа вытаскивает из .def файла все энтити, их поля и флаги, а также документацию по ним (в джеке её можно посмотреть по кнопке Help в Object properties), размеры и цвет бокса и путь к модели (если есть). Конечно, программа не выдаст вам fgd вашей мечты, так что для пущей красоты придётся менять что-то ручками. Это связано с тем, что .def файлы сами по себе содержат меньше информации, чем fgd.
Пока что пробовал только с Tremulous и OpenArena (сгенерированные fgd для них уже лежат на bitbucket). Может быть, потом ещё будут Warsow и Nexuiz.
Как видите, не для всех моделей подгружаются текстуры. Возможно это из-за какого-нибудь расширения формата .md3 в ioquake3, а может просто недоработка. В конце концов поддержка ку3 пока только в тестовой версии Jackhammer.
Работает вся эта прелесть не только в джеке, но и в игре.
Да, XaeroX любезно поделился своими изменениями в q3map2 для поддержки map 220, так что я смог скомпилить q3map2 под Linux и скомпилить эти карты. Если кого-то интересует, могу с позволения XaeroX'а выложить нужные файлы и объяснить, как это дело собирать.
Свои измененные map.c model.c path_init.c копируешь в GtkRadiant/tools/quake3/q3map2 с заменой
В папке GtkRadiant:
code:scons target=q3map2 config=release
Исполняемый файл кладётся в GtkRadiant/build/release/q3map2.
Правда, компиляция сразу под 32 и 64, похоже, системой сборки не предусмотрена. Можно указать соответствующий флаг в config.py в переменной baseflags ('-m64' или '-m32')
Добавил поддержку .ent файлов из NetRadiant (не путайте с .ent форматом, используемом в хаммере. В NetRadiant такое расширение имеют файлы описания энтить. На самом деле это XML).
Кстати, в Xonotic для текстур используются dds-файлы, но и jpg, разумеется, тоже оставили.
Как видите, текстур на моделях в джеке нет. Наверно они тоже dds используют, хотя я пока не разобрался. Беглый просмотр в hex-редакторе не показал ничего похожего на пути к текстурам в md3-файлах. И да, Джек рандомно крашится после загрузки карты при поворотах камеры.
Сделал бинарные версии def2fgd для Windows и Linux, если кто-нибудь хочет попробовать сгенерить fgd для других игр.
FreeSlave писал: И да, Джек рандомно крашится после загрузки карты при поворотах камеры.
Джек не может крашиться рандомно, тем более - при поворотах камеры.
Видимо, в ханотике какой-то специфический md3-формат моделей. Либо виновата опция "Animate textures and effects".
Но вообще по поводу даркплейсов, ханотиков и прочих ненужных форков я скажу так: в радианте не крашится - и слава б-гу! Были бы эти игры популярными, как халфа - уже давно набижали бы люди и начали просить официально добавить поддержку. А заодно и удобства Радианта, которых нет в джеке (на мой взгляд, мифические).
FreeSlave писал: Мне кажется, там о джеке ничего и не знают.
Если они не выглядывают за пределы своего комьюнити - то, безусловно, не знают. Значит, они полностью довольны тем, что у них есть, и остаётся только за них порадоваться.
Различные исправления парсинга как .def, так и .ent файлов.
Программа теперь может работать с потоком ввода и вывода, соответственно пригодна для использования в пайпах.
Опция для принужденного задания входного формата -format def или -format ent. Программа по-прежнему определяет формат автоматически исходя из расширения файла, если опция не задана.
Опция -bob добавляет bobparms к энтитям, названия которых начинаются с item_, ammo_ и weapon_.
offset задаётся автоматически для энтить, названия которых начинаются с item_, ammo_ и weapon_, а также для info_player_deathmatch и info_player_start.
[off]А может быть действительно скачать Джек и запилить карты не только под хл но и под ксонотик, варсов. Может быть попробовать устроить маперский конкурс главным условием которого будет исползовать джек? Грубо говоря одна и таже карта под хлдм, ксонотик, варсов. Надо пытаться делать маперские конкурсы для джека на базе хлхф, хл.ру. Учитывая поддержку ку3 карт, подтянется тусовка ксонотик, варсов(как по мне стандартные карты в этих играх уродские) [/off]
Добавлена опция -bobparms для задания значений bobparms (опция -bob по-прежнему доступна и выставляет дефолтные значения)
Добавлены опции для выбора шаблонов имён энтить, к которым следует добавить offset и/или bobparms, а также опции для отключения шаблонов по умолчанию. Смотрите -help
Если для точечной энтити можно выставить модель, то выбранная модель будет отображаться в Jackhammer (как-то я это упустил раньше).
Изменения, касающиеся только deb-пакетов:
Добавлена русская локализация программы и файла мануала.
XaeroX писал: уже давно набижали бы люди и начали просить официально добавить поддержку
Набежал, прошу. Ну не то что-бы прошу добавлять официальную поддержку, но предлагаю попробовать помочь мне разобраться. Хочу сделать варианты карт для: хл, ку3, варсов, ксонотик. Если настройка под хл не вызывает вопросов, то про ку3/форки есть вопросы.
п.с: варсов, ксонотик кроссплатформенные нонстим - хипстерские так что схожи по идеологии
Cybermax ну так вопрошай свои вопросы в отдельной теме. Имхо там по ку3 может возникнуть только один специфический вопрос (как создать патч), да и тот описан в FAQ.