HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Как скомпилировать библиотеки мода под Linux и Mac OS
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5128

Рейтинг



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

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

__________________

Сообщить модератору | IP: Записан
Сообщение: 131403

Старое сообщение 22-01-2014 21:11
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1088

Рейтинг



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

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

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

Сообщить модератору | IP: Записан
Сообщение: 131423

Старое сообщение 23-01-2014 09:18
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35057
Нанёс повреждений: 514 ед.
Возраст: 39

Рейтинг



Награды
 
[1 награда]


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

__________________

Сообщить модератору | IP: Записан
Сообщение: 131425

Старое сообщение 23-01-2014 09:22
-
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1088

Рейтинг



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

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

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

Сообщить модератору | IP: Записан
Сообщение: 131480

Старое сообщение 23-01-2014 16:07
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6867
Возраст: 34

Рейтинг



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

Сообщить модератору | IP: Записан
Сообщение: 131483

Старое сообщение 23-01-2014 16:17
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1088

Рейтинг



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

Сообщить модератору | IP: Записан
Сообщение: 131492

Старое сообщение 23-01-2014 16:56
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5128

Рейтинг



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

__________________

Сообщить модератору | IP: Записан
Сообщение: 131501

Старое сообщение 23-01-2014 18:10
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35057
Нанёс повреждений: 514 ед.
Возраст: 39

Рейтинг



Награды
 
[1 награда]


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

__________________

Сообщить модератору | IP: Записан
Сообщение: 131513

Старое сообщение 23-01-2014 18:55
-
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


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

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

Сообщить модератору | IP: Записан
Сообщение: 131556

Старое сообщение 23-01-2014 20:36
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5128

Рейтинг



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

__________________

Сообщить модератору | IP: Записан
Сообщение: 131558

Старое сообщение 23-01-2014 20:39
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1088

Рейтинг



Насчёт мышки - это проблема вообще нынешнего 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.

Сообщить модератору | IP: Записан
Сообщение: 132932

Старое сообщение 10-02-2014 16:59
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5128

Рейтинг



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

__________________

Сообщить модератору | IP: Записан
Сообщение: 133119

Старое сообщение 14-02-2014 14:01
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6867
Возраст: 34

Рейтинг



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

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

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

Сообщить модератору | IP: Записан
Сообщение: 142820

Старое сообщение 06-01-2015 20:52
- За что?
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1088

Рейтинг



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

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

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

Отредактировано FreeSlave 06-01-2015 в 21:14

Сообщить модератору | IP: Записан
Сообщение: 142821

Старое сообщение 06-01-2015 21:08
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35057
Нанёс повреждений: 514 ед.
Возраст: 39

Рейтинг



Награды
 
[1 награда]


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

__________________

Сообщить модератору | IP: Записан
Сообщение: 142822

Старое сообщение 06-01-2015 21:19
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 07:54. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Как скомпилировать библиотеки мода под Linux и Mac OS
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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