The goal of this branch is to be able to create our own dlls that are compatible with gmod.
There is also the gmod-improvements branch, which will contain bug fixes or improvements.
I just rebased this entire branch to have the 64x stuff :D
So stuff might be broken.
List of dlls that are worked on:
vstdlist.dll(Everything was reverted.)studiorender.dll(Only works withstudio_queue_mode, BUG: pCallQueue->QueueCall causes a crash!QUEUE_STUDIORENDER_CALL)filesystem_stdio.dll(Something broke and idk what) Progress:- Update Steamworks
- Implementing basic Gmod functions
- Implement Language System
- Implement Gamemode System
- Implement GameDepot System
- Implement Addon System
-
- Implement GetSubscriptions
-
- Implement
cfg/addonnomount.txt(BUG: Crashes when Saved)
- Implement
-
- Implement Addon Mounting
-
- Implement Addon Download
List of currently (probably)working dlls:
datacache.dllicudt.dll(IDK what it even does xd)icudt42.dll(IDK what it even does xd)shaderapidx9.dll(Needs more testing but seems to work.)unicode.dllvvis_dll.dll(~40% faster than Gmod's version. Compile it in Release for the Performance benefit)vvis.exevrad.exe
List of currently verified working dlls:
vphysics.dll(Also, fixes ShouldCollide breaking the physics engine)
- CMake. Can be
C++ CMake Toolscomponent of Visual Studio. - [windows] Visual Studio 2022 with v143+ platform toolset.
- Use
git clone --recurse-submodules - Run
create_<GAME_NAME>_dev_<ARCH>.batfromDeveloper Command Prompt(Use x64 version for x64 CPU arch). See directory tree for supported games. - Open
<GAME_NAME>_<ARCH>.sln. - Build.
-
all build files are placed into a game folder that will be in the same root directory in which you saved this repository.

-
You need to copy all HL2 files into the game folder as a base.
-
You also need to copy the files from the
__dependenciesfolder into the game/bin folder. -
Run the
patch_game_content_readme.batfrom the__contentfolder to let it link all files properly. -
Build the project now and do whatever you want
- Ensure you placed hl2 / episodic / portal game into
gamefolder near cloned repo. - Open
<GAME_NAME>_<ARCH>.sln. - Set
launcher_mainprojectCommandproperty to$(SolutionDir)..\game\hl2.exe. - Set
launcher_mainprojectCommand Argumentsproperty to-dxlevel 85 -windowed. - Set
launcher_mainprojectWorking Directoryproperty to$(SolutionDir)..\game\. - Use
Set as Startup Projectmenu forlauncher_mainproject. - Start debugging.
- Ensure you placed hl2 / episodic / portal game into
gamefolder near cloned repo. - Open
<GAME_NAME>_<ARCH>.sln. - Choose
ReleaseConfiguration. - Build.
gamefolder contains the ready game.
Hammer could work but it wasn't tested.
If you found a bug, please file it at https://github.com/Source-Authors/obsolete-source-engine/issues.
PVS-Studio - static analyzer for C, C++, C#, and Java code.