Internal project base for Counter-Strike: Source on Linux. Includes full OpenGL ImGui rendering and input handling, a minimal Source SDK implementation, virtual hooking class and various other features for quick prototyping.
- Retrieves interfaces directly from the s_pInterfaceRegs linked list.
- ImGui drawing and input handling via ILauncherMgr virtual hooks.
- Engine drawing with ISurface functions via IEngineVGui::Paint hook.
- IBaseClientDLL::CreateMove hook with CUserCmd checksum validation.
- CInput and CGlobalVars pointers retrieved from IBaseClientDLL virtuals.
- Can easily be unloaded, modified and reloaded without restarting the game.
- Includes an example game event listener in a self-contained class.
You will need cmake, a relatively up-to-date C++ compiler and 32-bit SDL2 headers.
If you are on a 64-bit system you may need to enable 32-bit repositories.
pacman -S cmake base-devel lib32-sdl2 gcc-multilib
After you have cloned or extracted an archive of the repository you can use
cmake . to create a Makefile and
make to build the shared library. When finished, load the output file into the game while it is running. Using gdb is recommended.
Press INSERT to toggle the configuration window.
Special thanks to luk1337 for the ImGui SDL2 input fix.