# Rehlds Reverse-engineered (and bugfixed) HLDS ## What is this? Rehlds is a result of reverse engineering of original HLDS (build 6152/6153) using DWARF debug info embedded into linux version of HLDS, engine_i486.so Along with reverse engineering, a lot of defects and (potential) bugs were found and fixed At this moment rehlds is not mature enough to use in production environment, however, during internal 3-day test on Windows on customized server (metamod + amxmodx + plugins) no issues were found ## Goals of the project ## How can use it? Rehlds is fully compatible with official HLDS. All you have to do is to download rehlds binaries and replace original swds.dll/engine_i486.so Compiled binaries are available here: http://nexus.rehlds.org/nexus/content/repositories/rehlds-releases/rehlds/rehlds/0.1/rehlds-0.1.zip Archive's bin directory contains 2 subdirectories, 'bugfixed' and 'pure' Warning! Rehlds is not binary compatible with original hlds since it's compiled with compilers other than ones used for original hlds. This means that plugins that do binary code analysis (Orpheu for example) probably will not work with rehlds. ## Build instructions There are several software requirements for building rehlds:
  1. Java Development Kit (JDK) 7+ (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
  2. For Windows: Visual Studio 2013 and later
  3. For Linux: Intel C++ Compiler 13 and later
### Checking requirements ####JDK version Windows
> %JAVA_HOME%\bin\javac -version
javac 1.8.0_25
Linux
$ javac -version
javac 1.7.0_65
####Visual Studio Help -> About ####ICC
$ icc --version
icc (ICC) 15.0.1 20141023
### Building On Windows:
gradlew --max-workers=1 clean buildRelease
On Linux:
./gradlew --max-workers=1 clean buildRelease
Compiled binaries will be placed in the build/binaries/ directory ## How can I help the project? Just install it on your game server and report problems you faced Merge requests are also welcome :)