Проект переноса Half-Life на Linux

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#16 Сообщение 04.09.2012, 18:37

MOZGIII, ок, написал тебе в личку.

Закончил портирование сервера на линукс.
http://code.google.com/p/xash3dlinux/so ... fb595aeae6

Завтра буду производить работу, по отключению VGUI, потом портировать клиент.

И в конце, останется самое сложное, портировать сам движок :(

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#17 Сообщение 04.09.2012, 21:07

Fire666
Ничего себе ты быстрый %)

Код: Выделить всё

-		SetThink(Off);
+		SetThink(&CWallHealth::Off);
Студя итак компилирует, без явного указания? И что вообще тут происходит? Как студия понимает первую запись? Не могу найти где определена SetThink

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#18 Сообщение 04.09.2012, 22:54

Я там пару ошибок допустил, во-первых, зря сделал экспорт только определенных функций и скрытие остальных, во-вторых вместо cdecl использовал stdcall

После исправления, Linux HLDS от Valve, успешно грузит скомпилированную библиотеку.

MOZGIII, 6 студия, во времена которой и выпустили HLSDK действительно успешно компилирует такой код, а вот все что новее, начиная от 2005, уже требует

Код: Выделить всё

SetThink(&CWallHealth::Off);
Посмотри код cbase.h

Код: Выделить всё

#define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a)
В общем, SetThink назначает функцию, которая будет автоматически вызвана, при достижении времени заданного pev->nextthink

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#19 Сообщение 04.09.2012, 23:25

Fire666
Спасибо, теперь понятно.

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#20 Сообщение 06.09.2012, 15:28

Сегодня отделил серверный код движка от клиентского.
Dedicated сервер под windows успешно компилится и работает.

Добавлено спустя 14 часов 34 минуты 43 секунды:
Начал портирование выделенного сервера на линукс.
Результаты на сайте проекта.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#21 Сообщение 06.09.2012, 16:55

Fire666
Давай я на GitHub залью это дело? Кстати, последний коммит 3 дня назад, ты пушить не забываешь?) А, нет, это просто интерфейс непривычный... >_<

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#22 Сообщение 06.09.2012, 17:34

MOZGIII писал(а): Кстати, последний коммит 3 дня назад, ты пушить не забываешь?
Не забываю :)
Вот список изменений: http://code.google.com/p/xash3dlinux/source/list

Кстати, я там еще небольшое обновление сделал, залью после переноса на GitHub

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#23 Сообщение 06.09.2012, 18:43

Сделал репо - https://github.com/Xash3DLinux/xash3dlinux

Код: Выделить всё

git remote set-url origin https://github.com/Xash3DLinux/xash3dlinux.git
Вместо https ссылки можно использовать ssh, на любителя.

Аватара пользователя
nameless noob
Полковник
Полковник
Сообщения: 1682
Зарегистрирован: 01.09.2010
Откуда: Россия
Благодарил (а): 21 раз
Поблагодарили: 56 раз
Контактная информация:

#24 Сообщение 06.09.2012, 19:11

посоны, оъясните, зачем портировать игру, которой 14 лет, с шинды на линукс, если она запускается из-под вайна? вот крузис почему-то никто не догадался портировать
Изображение

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#25 Сообщение 06.09.2012, 19:12

nameless noob
JFF

Fire666
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2600
Зарегистрирован: 15.02.2007
Откуда: Москва
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

#26 Сообщение 06.09.2012, 19:14

nameless noob писал(а):посоны, оъясните, зачем портировать игру, которой 14 лет, с шинды на линукс, если она запускается из-под вайна? вот крузис почему-то никто не догадался портировать
Речь идет скорей не о портировании игры, а о портировании движка, т.е. платформы для создания модов работающих на линуксе.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#27 Сообщение 06.09.2012, 19:17

Fire666
Зайди в джаббер конфу %)

Аватара пользователя
nameless noob
Полковник
Полковник
Сообщения: 1682
Зарегистрирован: 01.09.2010
Откуда: Россия
Благодарил (а): 21 раз
Поблагодарили: 56 раз
Контактная информация:

#28 Сообщение 06.09.2012, 19:17

Fire666
зачем тогда портировать древний движок, если на нем нет графона, а большинство пользователей сидит на винде?
MOZGIII
что? сам такой
Изображение

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#29 Сообщение 06.09.2012, 20:19

nameless noob
Сгинь отсюда, раз нечего по делу добавить.

Аватара пользователя
nameless noob
Полковник
Полковник
Сообщения: 1682
Зарегистрирован: 01.09.2010
Откуда: Россия
Благодарил (а): 21 раз
Поблагодарили: 56 раз
Контактная информация:

#30 Сообщение 06.09.2012, 20:36

$t@t!c_V()1D
я немного знаю с++, я на нем хелловорлд написал
Изображение

Ответить