FWGS / xash3d-fwgs

Xash3D FWGS engine
1.57k stars 239 forks source link
c-language cross-platform crossplatform fwgs game-engine game-modding goldsrc goldsrc-engine half-life halflife halflife-1 halflife1 modding-games modding-tools multiplayer-game-engine pure-c waf xash3d xash3d-engine xash3d-fwgs

Xash3D FWGS Engine Xash3D FWGS icon

builds.sr.ht status GitHub Actions Status FreeBSD Build Status Discord Server \ Download Stable Download Testing

Xash3D (pronounced [ksɑʂ]) FWGS is a game engine, aimed to provide compatibility with Half-Life Engine and extend it, as well as to give game developers well known workflow.

Xash3D FWGS is a heavily modified fork of an original Xash3D Engine by Unkle Mike.

Donate

Donate to FWGS button \ If you like Xash3D FWGS, consider supporting individual engine maintainers. By supporting us, you help to continue developing this game engine further. The sponsorship links are available in documentation.

Fork features

Installation & Running

0) Get Xash3D FWGS binaries: you can use testing build or you can compile engine from source code. 1) Copy engine binaries to some directory. 2) Copy valve directory from Half-Life to directory with engine binaries. If your CPU is NOT x86 compatible or you're running 64-bit version of the engine, you may want to compile Half-Life SDK. This repository contains our fork of HLSDK and restored source code for Half-Life expansions and some mods. You still needed to copy valve directory as all game resources located there. 3) Run the main executable (xash3d.exe or AppImage).

For additional info, run Xash3D with -help command line key.

Contributing

Build instructions

We are using Waf build system. If you have some Waf-related questions, I recommend you to read Waf Book.

NOTE: NEVER USE GitHub's ZIP ARCHIVES. GitHub doesn't include external dependencies we're using!

Prerequisites

If your CPU is x86 compatible and you're on Windows or Linux, we are building 32-bit code by default. This was done to maintain compatibility with Steam releases of Half-Life and based on it's engine games. Even if Xash3D FWGS does support targetting 64-bit, you can't load games without recompiling them from source code!

If your CPU is NOT x86 compatible or you decided build 64-bit version of engine, you may want to compile Half-Life SDK. This repository contains our fork of HLSDK and restored source code for Half-Life expansions and some mods.

Windows (Visual Studio)

GNU/Linux

Debian/Ubuntu
RedHat/Fedora

Building

Windows (Visual Studio)

0) Open command line. 1) Navigate to xash3d-fwgs directory. 2) (optional) Examine which build options are available: waf --help. 3) Configure build: waf configure --sdl2=c:/path/to/SDL2. 4) Compile: waf build. 5) Install: waf install --destdir=c:/path/to/any/output/directory.

Linux

If compiling 32-bit on amd64, make sure PKG_CONFIG_PATH from the previous step is set correctly, prior to running configure.

0) (optional) Examine which build options are available: ./waf --help. 1) Configure build: ./waf configure (you need to pass -8 to compile 64-bit engine on 64-bit x86 processor). 2) Compile: ./waf build. 3) Install: ./waf install --destdir=/path/to/any/output/directory.