HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 17 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Как скомпилировать библиотеки мода под Linux и Mac OS (https://hlfx.ru/forum/showthread.php?threadid=4253)


Отправлено Cybermax 22-01-2014 в 21:11:

Как скомпилировать библиотеки мода под Linux и Mac OS

Как вы все знаете я не силен в с++, но как скомпилировать исходники в 2010 студии я представляю = F9.
А как собрать исходники для линукса и мак оси? Если кто знает просьба поделиться теорией возможными подводными камнями если реально это в принципе и желательно пошаговые инструкции если у кого есть практический опыт. Я слышал про компилятор QT, вроде что он кроссплатформенный. В общем буду рад любой инфе.

__________________


Отправлено FreeSlave 23-01-2014 в 09:18:

Там Makefile используется. Потребуется make, g++ и т.д. Ну и, собственно, Линукс или Макось (на макоси вместо g++ скорее всего будет использоваться clang). Также там используется неизвестная мне утилита p11, которая, как я понял, проприетарная и что-то делает с итоговыми библиотеками, но можно убрать её вызов, библиотеки всё равно скомпилятся.

По моему опыту Makefile надо править под свою систему (это недолго), ибо Valve все нужные утилиты поместили в свои пути ( /valve/bin).

Qt - не компилятор, а библиотека, и к делу отношения не имеет.


Отправлено XaeroX 23-01-2014 в 09:22:

Помню, что сборка линукс-версии под оригинальную халфу (дедикейтед) требовала жутко старых glibc и gcc 2.95. Вот это были пляски с бубном, когда я хеткрап френзи собирал. Молодость, эх.

__________________

xaerox on Vivino


Отправлено FreeSlave 23-01-2014 в 16:07:

Название неизвестной утилиты перепутал. Она p4 называется. Я у себя закомментил её вызовы.

https://dl.dropboxusercontent.com/u...x_makefiles.zip - вот здесь архив с мэйкфайлами, которые я для себя переделывал. Убрал компил рикошета и dmc, оставил только hl сервер и клиент.

Правда, вот беда, сегодня попробовал клиентку скомпиленную таким образом в ставить в мод - так там глючит мышь, не возвращается на середину как полагается, поэтому обзор зависит от ширины твоего экрана и от положения мыши в меню Может быть, ~ X ~ подскажет, что делать.


Отправлено Ku2zoff 23-01-2014 в 16:17:

FreeSlave а галочка raw mouse input или чототам подобное в настройках мышки стоит? Если да, отключи нафик. У меня из-за неё ограничения обзора по размеру экрана были.


Отправлено FreeSlave 23-01-2014 в 16:56:

Ku2zoff, я про неё знаю. Не работает ни так ни сяк. Про это был issue на гитхабе. В вальвоских играх нормально пашет, а вот выложенные сорцы видимо недоисправили. А может тут и вовсе косяк SDL.


Отправлено Cybermax 23-01-2014 в 18:10:

Интересно интересно. Неужели никто кроме Ксера и Ксавари не задумывался о кроссплатформености своих поделок?

__________________


Отправлено XaeroX 23-01-2014 в 18:55:

Cybermax
Полагаю, задумывались все. Но большинство пришло к закономерному выводу: "анафигононадо". Лично я компилил под линукс только потому, что мне было интересно разобраться. Собсно, с этого и началось моё знакомство с линуксом, gcc и проблемами портирования кода.

__________________

xaerox on Vivino


Отправлено ~ X ~ 23-01-2014 в 20:36:

У меня до сих пор стоит cygwin и mingw с кросс-компилятором 2.95.
Маке-файлы не обновлял уже пару лет, но когда-то оно работало... кто-то говорил даже, что ХЛ и гцц4 сожрёт, но так и не срослось...
Проще завести линуксовую машину, чесслово.
А теперь, когда ещё и клиентка под линугз.... +_+

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Cybermax 23-01-2014 в 20:39:

~ X ~ Ты лучше по подробнее про мак расскажи. Желательно пошаговую инструкцию плюс ссылочки на софт и какие то там Маке-файлы пажалуста!!!! Интересно узнать что то новое от опытного товарища

__________________


Отправлено FreeSlave 10-02-2014 в 16:59:

Насчёт мышки - это проблема вообще нынешнего SDK, не только под линуксом.

Похоже, надо просто добавить вызовы SDL_SetRelativeMouseMode.

В inputw32.cpp в IN_ActivateMouse заменить

C++ Source Code:
1
#ifdef _WIN32
2
if (mouseparmsvalid)
3
  restore_spi = SystemParametersInfo (SPI_SETMOUSE, 0, newmouseparms, 0);
4
#endif


на

C++ Source Code:
1
#ifdef _WIN32
2
if (mouseparmsvalid)
3
  restore_spi = SystemParametersInfo (SPI_SETMOUSE, 0, newmouseparms, 0);
4
#else
5
SDL_SetRelativeMouseMode(TRUE);
6
 
7
#endif


Также в IN_DeactiveMouse, но послать FALSE.

Добавлено 10-02-2014 в 20:59:

Cybermax, да тут шагов всего ничего.
1. Скачиваешь и ставишь дистрибутив линукса. На виртуальную машину или другой раздел.

(Здесь пропущена часть, где ты долго и мучительно осваиваешь выбранный дистрибутив, кормишь пингвинов и зарабатываешь красноглазие)

2. Убеждаешься, что установлены make и g++. Make обычно установлен, ибо базовая утилита, а вот g++ приходится ставить отдельно. Зависит от дистрибутива.
3. С помощью git стягиваешь сорцы с https://github.com/ValveSoftware/halflife/ Если не хочешь иметь дело с гитом, то просто качаешь zip-архив (там есть ссылка)
4. Заходишь в halflife/linux. Заменяешь файлы теми, что я кидал выше.
5. Делаешь изменения в inputw32.cpp с помощью любимого текстового редактора.
6. В командной строке, находясь в этой же папке, набираешь make.
7. Внимательно смотришь на буковки, которые выводятся в консоль, и ждёшь окончания. Первый билд может быть долгим.
8. Если всё хорошо, то в папке release должны появиться hl.so и client.so. Это как dll, только на линуксе.
7. ???
8. Готово!

Под макось рассказать не могу, не имел дела. Судя по алгоритму сборки, понадобятся XCode и clang.


Отправлено Cybermax 14-02-2014 в 14:01:

FreeSlave большое спасибо!

__________________


Отправлено Ku2zoff 06-01-2015 в 20:52:

Я жутко извиняюсь за поднятие старой темы Сегодня убил кучу времени, но таки скомпилил дллки своего мода под линукс. Проверил. Первая пакость: виндовая версия прекрасно жрёт серверную дллку из папки cl_dlls. Линуксовая не хочет, ей клади сошку в dlls. Ну да чёрт с ними с папками. Запустил - проблема с мышью. В обсуждениях на гитхабе она поднималась, чего-то там писали, да так видно и не исправили. Как Фрислэйв подсказал, так я и исправил. Причём, под виндой нормально без фикса работает, а под линуксом нет. Как галки в меню не меняй.
И вообще, этот линукс меня бесить стал. Я кучу времени убил, чтобы наладить себе вменяемую рабочую среду: потому что:
1. В стабильном дистре дебиана (вхизи который) стим не устанавливается без бубна.
2. В тестируемом дистре (джесси который) почему-то ставится не то ядро, что в репах, поэтому пришлось удалить ядро, которое установилось с netinst CD, и скачать из реп актуальное, чтобы поставить драйвер нвидиа.
3. Кеды чудят со звуком, и ещё, разрабы-фошысты выпилили из джесси жырнокрысу Между прочим, очень годная качалка.
Я понимаю, что дистр тестовый, но тот же вхизи на стадии тестирования был куда стабильнее.
З.Ы. Меня терзают смутные сомнения: а нужна ли вообще линукс-версия? На бубунте и так всё глючит и тормозит, а тут ещё и глючный мод будет Про дебиан молчу, потому что на стабильном стима нет, а тестовый нубьё не осилит. Чего стоит только засада с ядром.

Добавлено 07-01-2015 в 02:52:

З.З.Ы. Кстати, всех с новым годом! А то я не поздравлял ещё.


Отправлено FreeSlave 06-01-2015 в 21:08:

Ku2zoff, насчёт пути к клиентке - может, ты liblist.gam неправильно написал? cldll "1" поставил?

upd: неправильно прочёл. Ты наоборот серверную хочешь грузить из папки клиента. Но зачем? Попробуй gamedll_linux тогда добавить нужный.

Фикс для мышки они почему-то так и не хотят пушить в репозиторий, да. Да и я не уверен, достаточно ли того, что я привёл - возможно мышка ведёт себя не совсем корректно без raw input.


Отправлено XaeroX 06-01-2015 в 21:19:

Не знаю, какие там у вас проблемы с линуксом. У меня всё прекрасно работает. Были небольшие проблемы с FBO из-за HLFX 0.7, но удалось обойти. И с мышкой фикс, но в этом вся фишка - каждый делает собственный фикс, иначе скучно было бы, правда же?

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 00:22. Страницы (2): [1] 2 »
Показать все 17 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024