Как собрать 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:

  1. Скачиваем (Visual C++ 32/64-бит) SDL2 с https://github.com/libsdl-org/SDL/releases/tag/release-2.30.11 Например: SDL2-devel-2.30.11-VC.zip
  2. Распаковываем где-нибудь. Например: 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 загружает полуполезную карту сразу же, избавляя вас от клацанья по меню, и т.д.