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
List of currently verified working dlls:
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.
-
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
__dependencies
folder into the game/bin folder. -
Run the
patch_game_content_readme.bat
from the__content
folder to let it link all files properly. -
Build the project now and do whatever you want
- 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.