gu3st / xash3d-fwgs

Xash3D FWGS engine. Rebooted fork since big Xash3D 0.99(1.0 is not yet) update.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Xash3D FWGS Engine

Build Status Discord Server

Xash3D FWGS is a fork of Xash3D Engine by Unkle Mike with extended features and crossplatform.

Xash3D is a game engine, aimed to provide compatibility with Half-Life Engine, 
as well as to give game developers well known workflow and extend it.
Read more about Xash3D on ModDB: https://www.moddb.com/engines/xash3d-engine

Latest release build: https://github.com/FWGS/xash3d-fwgs/releases/latest

Latest development build: https://github.com/FWGS/xash3d-deploy/tree/newengine-latest

Fork features

  • HLSDK 2.4 support.
  • Crossplatform: officially supported x86 and ARM on Windows/Linux/BSD/macOS/Android/iOS/Haiku.
  • Modern compilers support: say no more to MSVC6.
  • Better multiplayer support: multiple master servers, headless dedicated server.
  • Mobility API: allows better game integration on mobile devices(vibration, touch controls)
  • Different input methods: touch, gamepad and classic mouse & keyboard.
  • TrueType font rendering, as a part of mainui_cpp.
  • A set of small improvements, without broken compatibility.

Planned fork features

  • Virtual Reality support and game API(in development!)
  • Voice support
  • Multiple renderers support(OpenGL, GLES, Vulkan, software)

Contributing

  • Before sending an issue, check if someone already reported your issue. Make sure you're following "How To Ask Questions The Smart Way" guide by Eric Steven Raymond. Read more: http://www.catb.org/~esr/faqs/smart-questions.html
  • Before sending a PR, check if you followed our coding guide in CODING_STYLE.md file.

Build instructions

We are using Waf build system. If you have some Waf-related questions, I recommend you to read https://waf.io/book/

If you're stuck somewhere and you need a clear example, read .travis.yml and scripts/build*.sh.

Prerequisites

Windows(Visual Studio)

  • Install Visual Studio.
  • Install latest Python OR run cinst python.install if you have Chocolatey.
  • Install latest Git OR run cinst git.install if you have Chocolatey.
  • Download SDL2 development package for Visual Studio.
  • Clone this repository: git clone --recursive https://github.com/FWGS/xash3d-fwgs.
  • Clone vgui-dev repository: git clone https://github.com/FWGS/vgui-dev.
  • Make sure you have at least 12GB of free space to store all build-time dependencies: ~10GB for Visual Studio, 300 MB for Git, 100 MB for Python and other.

Linux

NOTE: Make sure you're OK with targetting 32-bit.

Even if Xash3D FWGS does support targetting 64-bit, you can't load games without recompiling them from source code!

  • Gentoo: TODO
  • Debian: TODO
  • ArchLinux: <AUR Helper> -S xash3d-git

Building

Windows(Visual Studio)

  1. Open command line
  2. Navigate to xash3d-fwgs directory.
  3. Carefully examine which build options are available: waf --help
  4. Configure build: waf configure --build-type=release --sdl2=c:/path/to/SDL2 --vgui=c:/path/to/vgui-dev --prefix=c:/path/to/any/output/directory
  5. Compile: waf build
  6. Install: waf install

Linux

  1. Examine which build options are available: ./waf --help
  2. Configure build: ./waf configure --build-type=release --vgui=vgui-dev
  3. Compile: ./waf build
  4. Install(optional): ./waf install

iOS

  1. Open command line
  2. Navigate to xash3d-fwgs directory.
  3. Navigate to ref_gl directory.
  4. Clone nanogl and gl-wes-v2: git clone https://github.com/FWGS/gl-wes-v2 && git clone https://github.com/FWGS/nanogl
  5. Carefully examine which build options are available: waf --help
  6. Configure build: ./waf configure -s /path/to/SDL2 --build-type=release --ios
  7. Compile: ./waf build This will leave the compiled binaries (and libraries!) inside the build directory.

Running

  1. Copy libraries and main executable somewhere, if you're skipped installation stage.
  2. Copy game files to same directory
  3. Run xash3d.exe/xash3d.sh/xash3d depending on which platform you're using.

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

About

Xash3D FWGS engine. Rebooted fork since big Xash3D 0.99(1.0 is not yet) update.


Languages

Language:C 92.3%Language:Objective-C 4.7%Language:Python 1.7%Language:C++ 1.0%Language:Shell 0.2%Language:Batchfile 0.1%Language:Makefile 0.0%