quiverteam / Engine

Modified Version of Source 2007
104 stars 29 forks source link

Quiver

Custom Source Engine branch based on Source Engine 2007, currently available on Windows in x86.

Pull this repository with recursive submodules (git clone --recursive) to clone qpc and game/core folder

Building

Windows

  1. Install Visual Studio 2019 Community, Make sure to go to Individual components and install C++ MFC for v142 build tools (x86 and x64)

  2. Install Python, minimum version is 3.6, and make sure to check the "py launcher" option when installing

  3. Run src/_create_allprojects.bat

  4. Open the solution created, and build the "Game" folder in the solution in Release - Win32, or more projects if you want.

OPTIONAL - Building Shaders:

  1. Install Perl, open Perl Command Line and enter cpan String::CRC32.

  2. (Only if you didn't build shadercompile and dx_proxy yet) Run src/_create_coreprojects.bat and build the solution in Release - Win32.

  3. Build shaders by running src/materialsystem/stdshaders/_buildallshaders.bat.

  4. Build stdshader_xxx projects in Visual Studio again.

Linux and MacOS

Linux and MacOS support is currently being worked on in the posix-support branch. If you want to help, See Supporting Non-Windows Platforms.

Running the Game

Windows

  1. Edit game/make_dir_junction.bat with your HL2 install directory if needed and Run. This is used so you don't need to add absolute paths into the gameinfo.txt file for loading assets.

  2. Run the game with any one of the game/run_mod_x.bat files

Linux and MacOS

Linux and MacOS support isn't finished, however, it is possible to download one of the auto builds and use Wine or Proton.

  1. Either create system links to Half-Life 2/hl2, episodic, and ep2 to the game/ folder, or set the paths in the gameinfo.txt file

  2. Install Wine or use Valve's Wine fork, Proton

How you can help

Supporting Non-Windows Platforms

The Source Engine was built heavily Windows-oriented, as it uses DirectX as it's graphics API which is only available on Windows, Xbox, Xbox 360 and the Xbox One. This is the major obstacle in supporting other platforms. To bring support to other platforms; we need an experienced graphics programmer who can work with OpenGL or Vulkan as these graphics APIs are universal, other than that some platform-specific code may be required.

Links

Discord Server

(unused) Trello