aixxe / cstrike-basehook-linux

Internal project base for Counter-Strike: Source on Linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cstrike-basehook-linux

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.

Features

  • 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.

Requirements

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

Usage

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.

Credits

Special thanks to luk1337 for the ImGui SDL2 input fix.

About

Internal project base for Counter-Strike: Source on Linux

License:GNU General Public License v2.0


Languages

Language:C++ 79.6%Language:C 20.3%Language:CMake 0.0%