2 a1batross: а чем собирать? Вы там какого-то говна нагребли из скриптов на петоне и андроидные mk-файлы ещё. Проекты для студии есть? Мейкфайлы для линукса есть? Второе неактуально, т.к. у меня линукс на виртуальной машине, и халфа там почему-то в последние месяцы выдаёт ровно 30 фпс с жуткими лагами звука на секунду-две. Собсно, как и на виртуальной машине с виндой.
Ну что за мода пошла, для сборки тащить всякое говно в систему? Чем нативные (в случае линукса) средства не устраивают? Под виндой другое дело, там нативного ничего нет, надо качать студию. Но, ёлки. Один хрен, разрабатывать и дебажить каждый будет в удобной IDE для конкретной платформы. Конечно, это ваше право использовать то, что вам удобно. Оффтоп
Но, будь возможность собрать новый движок под винду без этой парашы на петоне, а в обчной студии, я бы его постарался собрать и что-то протестировал, пока у меня не пропал энтузиазм. Как выложите официальные сборки, потестирую, если не забуду и желание не пропадёт.
2 Ku2zoff:
Извини за грубость, но принимали бы активное участие в развитии форка -- я бы наверное подумал, что кому-то может быть неудобно. А так, проблемы 3.5 маргиналов, которые боятся малейших изменений в привычном им рабочем процессе меня мало интересуют.
Наверное, дело в том, что те, кто мог бы внести вклад в развитие форка заняты чем-то ещё, у них недостаточно мотивации и времени, чтобы вникать в посторонние вопросы. А те, кто не занят, и хотят принять участие, не имеют хоть какого-то опыта в моддинге и разработке. Получается, проблема несколько глубже. Отталкиваете людей, пусть и нецеленаправленно, которые хоть что-то умеют. А тех, что не умеют ничего, вообще вгоняете в ступор винегретом из версий и отсутствием мануалов. Почему до сих пор не выпилили с гитхаба неактуальные репозитории, а? Ну да ладно, со временем и билды будут собраны, и сорцы будут причёсаны. Не всё сразу. Оффтоп
А за маргиналами, вам, ребята, лучше сходить на хлфх.ру. Там ещё остались такие, к сожалению. То у них жизнь рушится из-за отсутствия фич в инструментах, то они свои проекты закрывают из-за сбитых шапок и отсутствия помощи в кодинге. То они недовольны, дескать вики не структурировано, и не понятно, где ксаш-мод, а где ксаш-движок.
Ох, испортилось комьюнити, испортилось. 12 лет назад народ был старательнее и пытливее. Дядя Миша и Ксер не дадут соврать, тогдашние ньюфаги что-то да могли сварганить и меньше агрились на старичков.
2 Ku2zoff:
Для вас я вижу два решения:
1. Вместо меня мейнтейнить виндовый порт. Место мейнтейнера вакантное. Сделайте как удобно вам, я не знаю ни винды, ни разработки под виндой.
Поймите меня правильно. Серьёзно винду я никогда не использовал. Даже когда я научился программировать, я уже был заинтересован исключительно в *nix системах. Единственное применение для меня -- это некоторые специфичные игры.
2. Вносить вклад в оригинальный движок Дяди Миши. Рано или поздно ваш код перейдёт и в форк.
Вы можете по старчески кряхтеть сколько угодно. Единственный кому я могу высказать уважение за подаренные знания -- это Дядя Миша. Но вы для меня люди совершенно незнакомые. Я с вами никогда не работал. И поэтому я не потерплю, когда ко мне приходит хрен с горы и говорит как мне делать.
Вообще-то винда - это конечная точка эволюции *nix систем, т.к. она выросла из них, равно как и линукс, равно как и макось. Глупо рассматривать её как нечто совершенно самостоятельно и враждебное.
Ну что за мода пошла, для сборки тащить всякое говно в систему? Чем нативные (в случае линукса) средства не устраивают? Под виндой другое дело, там нативного ничего нет, надо качать студию. Но, ёлки. Один хрен, разрабатывать и дебажить каждый будет в удобной IDE для конкретной платформы. Конечно, это ваше право использовать то, что вам удобно.
ИМХО, это правильный подход: waf и тот же CMake позволяют сгенерировать как проектные файлы для MS Visual Studio (Windows), XCode (macOS) так и Makefile's для Linux и прочих UNIX-like операционных систем. Соответственно дерево проекта в репозитории остаётся девственно чистым без всяких там IDE-специфичных файлов и прочего мусора. Но это в идеальном мире, где не бывает проблем.
В чём загвоздка-то? Что раньше для сборки FWGS Xash3D требовался сборщик CMake, что сегодня требуется Python... По мне так ситуация на Linux даже улучшилась: теперь не требуется ставить CMake, поскольку Python практически в любом дистре имеется из-коробки.
Ну и ещё ситуация улучшилась в плане того, что Python, который использует Waf, это более-менее адекватный и удобный ЯП, базовые познания в котором имеются у многих разработчиков. Чего не скажешь про всякие там убогие и ограниченные DSL'ы, которые используются в Makefile или в том же CMake: подводных камней там просто куча. Особенный смак: кавычки и скобочки с разным значением, нечитабельные конструкции, вставки Shell-кода и прочее вида:
Оно мне надо, тратить своё драгоценное время и разбираться в этой Write-only лапше из каменного века? Я вот этим Waf вообще никогда не пользовался, только слышал про него и про то, что он на Python. В итоге потратил ровно одну минуту чтобы понять как оно там собирается:
И всё. Красота! Чего там вообще разбираться? Под винду, скорее всего всё будут примерно так же + сгенерируются файлы для Studio или что там используется, не смотрел.
Инфу в ReadMe, конечно, неплохо бы добавить, не спорю. Но, как я понимаю, репозиторий xash3d-fwgs это до сих пор WIP-проект, поэтому и документации там пока особой и нету.
Предлагаю ещё заглянуть в ветку readme. Я там потихоньку пишу документацию, пока совсем в начальных стадиях, но уже можете предлагать что лучше пока форко-специфичное написать.
2 EXL:
Waf вообще не генератор. Мы с mittorn обсуждали, чтобы сделать в Waf эдакий "dry-run mode", когда компилятора нет, но можно пытаться генерировать команды. Из этого на build стадии можно сгенерировать проект под MSVC6(который кстати официально Waf поддерживается), а он уже любой современной студией автоматически сконвертится.
Задача именно генератор отвязать от сборщика. Предложенный автором Waf так не умеет.
Post automatically merged:
Есть ещё идея сделать генеричную утилиту, которая будет генерировать полноценные проектники на основе clang compilation database. Несмотря на clang в названии, его можно в теории генерировать и с другими компиляторами. Только вот использовать нечему, как правило, ибо всё существующее заточено под clang.