anchor.diff:    '';
   
     meta = with lib; {
  +    mainProgram = "xray-16";
       description = "Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World";
  -    homepage = src.meta.homepage;
  +    homepage = "https://github.com/OpenXRay/xray-16/";
       license = licenses.unfree // {
         url = "https://github.com/OpenXRay/xray-16/blob/xd_dev/License.txt";
       };
  
positive.code: 
      sourceRoot = "source/Externals/cryptopp";
  
      makeFlags = [ "PREFIX=${placeholder "out"}" ];
      enableParallelBuilding = true;
  
      doCheck = true;
  
      meta = with lib; {
        description = "Crypto++, a free C++ class library of cryptographic schemes";
        homepage = "https://cryptopp.com/";
        license = with licenses; [ boost publicDomain ];
        platforms = platforms.all;
      };
    };
  in stdenv.mkDerivation rec {
    pname = "openxray";
    inherit version src;
  
    # TODO https://github.com/OpenXRay/GameSpy/pull/6, check if merged in version > 822
    # Fixes format hardening
    patches = [
      (fetchpatch {
        url = "https://github.com/OpenXRay/GameSpy/pull/6/commits/155af876281f5d94f0142886693314d97deb2d4c.patch";
        sha256 = "1l0vcgvzzx8n56shpblpfdhvpr6c12fcqf35r0mflaiql8q7wn88";
        stripLen = 1;
        extraPrefix = "Externals/GameSpy/";
      })
    ];
  
    cmakeFlags = [ "-DCMAKE_INCLUDE_PATH=${cryptopp}/include/cryptopp" ];
  
    buildInputs = [
      glew freeimage liblockfile openal cryptopp libtheora SDL2 lzo
      libjpeg libogg tbb pcre
    ];
  
    nativeBuildInputs = [ cmake makeWrapper ];
  
    # https://github.com/OpenXRay/xray-16/issues/786
    preConfigure = ''
      substituteInPlace src/xrCore/xrCore.cpp \
        --replace /usr/share $out/share
    '';
  
    postInstall = ''
      # needed because of SDL_LoadObject library loading code
  
negative.code: { lib
  , stdenv
  , fetchFromGitHub
  , cmake
  , glew
  , freeimage
  , liblockfile
  , openal
  , libtheora
  , SDL2
  , lzo
  , libjpeg
  , libogg
  , pcre
  , makeWrapper
  , enableMultiplayer ? false # Requires old, insecure Crypto++ version
  }:
  
  let
    version = "1144-december-2021-rc1";
  
    src = fetchFromGitHub {
      owner = "OpenXRay";
      repo = "xray-16";
      rev = version;
      fetchSubmodules = true;
      sha256 = "07qj1lpp21g4p583gvz5h66y2q71ymbsz4g5nr6dcys0vm7ph88v";
    };
  
    # https://github.com/OpenXRay/xray-16/issues/518
    ancientCryptopp = stdenv.mkDerivation {
      pname = "cryptopp";
      version = "5.6.5";
  
  