Как собрать 64бит - w23/xash3d-fwgs GitHub Wiki

Обалдеть!

Так ты хочешь попробовать это, да?

Учитывай, что проект находится в стадии активной разработки. С большой уверенностью он будет выглядеть странно, глючить, не работать как следует или вообще отказываться работать.

Зачем вообще нужна эта 64-битная сборка?

Расширения с трассировкой лучей поддерживается только 64-битными процессами. 32-битный процесс просто не увидит расширения с трассировкой лучей даже используя свежие дрова и способный на это ГП. Так что для RTX_ON нам нужны 64-битные бинарники.

Что если у меня гну/линукс?

Он работает и на линуксе, и по факту разрабатывается в большинстве на нём. Руководства в основном те же, просто s/dll/so/g и готово. Заметка: начиная с раннего 2023-го возможно использовать свободные месовские амдшные дрова. Просто выстави RADV_PERFTEST=rt переменную среды перед запуском. Это как минимум на треть медленнее проприетарных amdgpu-pro дров, но оно работает и даже на Steam Deck!

Получаем всякое

Данные игры Half-Life

Надобно, например, установить Steam версию или ещё что. Старую/оригинальную (WON) GoldSrc пойдёт, но не новую на Source.

Vulkan SDK

Скачиваем с https://vulkan.lunarg.com/ и ставим. Если на гну/линуксе, то высока вероятность что можно использовать менеджер пакетов для установки.

SDL2

  1. Скачиваем (Visual C++ 32/64-бит) SDL2 с https://www.libsdl.org/download-2.0.php Например: SDL2-devel-2.28.5-VC.zip
  2. Распаковываем где-нибудь. Например: C:\SDL2-devel-2.28.5-VC

Движок Xash3D-FWGS

git clone --recursive https://github.com/w23/xash3d-fwgs

HLSDK-Xash3D

git clone https://github.com/FWGS/hlsdk-portable

Собираем всякое

Собираем Xash3D

cd xash3d-fwgs
./waf configure -8 -T debug --sdl2=C:\SDL2-devel-2.28.5-VC
./waf install --destdir=путь_к_maindir
cd ..

Теперь движок xash3d установлен в путь_к_maindir

Копируем данные полураспада

Просто скопируй Half-Life/valve директорию в путь_к_maindir (не её содержимое, а саму директорию valve).

Копируем SDL dll

Копируем C:\SDL2-devel-2.28.5-VC\lib\x64\SDL2.dll в путь_к_maindir/

Собираем HLSDK-Xash3d

Это необходимо т.к. оригинальный Half-Life client.dll 32-битный, а мы — нет.

cd hlsdk-portable
./waf configure -8 -T release
./waf install --destdir=путь_к_maindir
cd ..

Запуск

Темерь можно перейти к путь_к_maindir и запустить xash3d.exe

Пример в команндной строке: xash -ref vk -vkdebug -dev 2 -log +map c1a0d где:

  • -ref vk подрубает Vulkan рендер
  • -vkdebug добавляет дополнительные дебажные проверки/метки (используются renderdoc-ом) и валидацию (для уменьшентя вероятности порчи состояния ГП)
  • -dev 2 -v логи и доступ к консоли
  • -log пишет все консольные логи в engine.log, тоже полезно для дебага
  • +map c1a0d загружает полуполезную карту сразу же, избавляя вас от клацанья по меню, и т.д.