Как собрать 64бит - w23/xash3d-fwgs GitHub Wiki
Обалдеть!
Так ты хочешь попробовать это, да?
Учитывай, что проект находится в стадии активной разработки. С большой уверенностью он будет выглядеть странно, глючить, не работать как следует или вообще отказываться запускаться.
Зачем вообще нужна эта 64-битная сборка?
Расширения с трассировкой лучей поддерживается только 64-битными процессами. 32-битный процесс просто не увидит расширения с трассировкой лучей даже используя свежие дрова и способный на это ГП. Так что для RTX_ON нам нужны 64-битные бинарники.
Что если у меня гну/линукс?
Он работает и на линуксе, и по факту разрабатывается в большинстве на нём.
Заметка: начиная с раннего 2023-го возможно использовать свободные месовские амдшные дрова. Просто выстави RADV_PERFTEST=rt
переменную среды перед запуском. Это может быть на треть медленнее проприетарных amdgpu-pro дров, но оно работает и даже на Steam Deck!
Получаем всякое
Данные игры Half-Life
Надобно, например, установить Steam версию или ещё что. Старую/оригинальную (WON) GoldSrc пойдёт, но не новую на Source.
Vulkan SDK
Windows: Скачиваем с https://vulkan.lunarg.com/ и ставим.
GNU/Linux: или устанавливаем из пакетного менеджера или https://vulkan.lunarg.com/sdk/home#linux
SDL2
Windows:
- Скачиваем
(Visual C++ 32/64-бит)
SDL2 с https://github.com/libsdl-org/SDL/releases/tag/release-2.30.11 Например:SDL2-devel-2.30.11-VC.zip
- Распаковываем где-нибудь. Например:
C:\SDL2-2.30.11
GNU/Linux: просто установи SDL если ещё нет
Движок Xash3D-FWGS
git clone --recursive https://github.com/w23/xash3d-fwgs
HLSDK-Xash3D
git clone https://github.com/FWGS/hlsdk-portable
Собираем всякое
Собираем Xash3D
Windows:
cd xash3d-fwgs
./waf configure -8 -T debug --sdl2=C:\SDL2-2.30.11
./waf install --destdir=путь_к_maindir
cd ..
GNU/Linux:
cd xash3d-fwgs
./waf configure -8 -T debug
./waf install --destdir=path_to_maindir
cd ..
Теперь движок xash3d установлен в путь_к_maindir
Копируем данные полураспада
Просто скопируй Half-Life/valve
директорию в путь_к_maindir
(не её содержимое, а саму директорию valve).
Копируем SDL dll (только для Windows)
Копируем C:\SDL2-2.30.11\lib\x64\SDL2.dll
в путь_к_maindir/
Собираем HLSDK-Xash3d
Это необходимо т.к. оригинальный Half-Life client.dll/so 32-битный, а мы — нет.
cd hlsdk-portable
./waf configure -8 -T release
./waf install --destdir=путь_к_maindir
cd ..
Запуск
Темерь можно перейти к путь_к_maindir
и запустить xash3d.exe
или xash3d
Пример в команндной строке: xash -ref vk -vkdebug -dev 2 -log +map c1a0d
где:
-ref vk
подрубает Vulkan рендер-vkdebug
добавляет дополнительные дебажные проверки/метки (используются renderdoc-ом) и валидацию (для уменьшения вероятности порчи состояния ГП)-dev 2
-v логи и доступ к консоли-log
пишет все консольные логи вengine.log
, тоже полезно для дебага+map c1a0d
загружает полуполезную карту сразу же, избавляя вас от клацанья по меню, и т.д.