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.dll
icudt.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.dll
vvis_dll.dll
(~40% faster than Gmod's version. Compile it in Release for the Performance benefit)vvis.exe
vrad.exe
vphysics.dll
(Also, fixes ShouldCollide breaking the physics engine)
- CMake. Can be
C++ CMake Tools
component of Visual Studio. - [windows] Visual Studio 2022 with v143+ platform toolset.
- Use
git clone --recurse-submodules
- Run
create_<GAME_NAME>_dev_<ARCH>.bat
fromDeveloper Command Prompt
(Use x64 version for x64 CPU arch). See directory tree for supported games. - Open
<GAME_NAME>_<ARCH>.sln
. - Build.
- Ensure you placed hl2 / episodic / portal game into
game
folder near cloned repo. - Open
<GAME_NAME>_<ARCH>.sln
. - Set
launcher_main
projectCommand
property to$(SolutionDir)..\game\hl2.exe
. - Set
launcher_main
projectCommand Arguments
property to-dxlevel 85 -windowed
. - Set
launcher_main
projectWorking Directory
property to$(SolutionDir)..\game\
. - Use
Set as Startup Project
menu forlauncher_main
project. - Start debugging.
- Ensure you placed hl2 / episodic / portal game into
game
folder near cloned repo. - Open
<GAME_NAME>_<ARCH>.sln
. - Choose
Release
Configuration. - Build.
game
folder 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.