CS2-Kit
C++23 library for CS2 Metamod:Source plugin development
Loading...
Searching...
No Matches
CS2Kit::Sdk Namespace Reference

Classes

struct  ModuleInfo
 
struct  PatternByte
 
class  SchemaService
 

Functions

void SetEntityRender (CEntityInstance *entity, RenderMode_t mode, uint32_t color)
 
static std::vector< PatternByteParsePattern (const std::string &pattern)
 
static void * ScanMemory (const uint8_t *base, size_t size, const std::vector< PatternByte > &pattern)
 
static int DlIterateCallback (struct dl_phdr_info *info, size_t, void *data)
 
static bool GetModuleInfo (const char *moduleName, uint8_t *&base, size_t &size)
 
void * FindPattern (const char *moduleName, const std::string &pattern)
 
uintptr_t ResolveRelativeAddress (uintptr_t addr, int ripOffset, int ripSize)
 
template<typename Ret , typename... Args>
constexpr Ret CallVirtual (int index, void *thisPtr, Args... args) noexcept
 

Function Documentation

◆ CallVirtual()

template<typename Ret , typename... Args>
constexpr Ret CS2Kit::Sdk::CallVirtual ( int  index,
void *  thisPtr,
Args...  args 
)
constexprnoexcept

Call a virtual function by vtable index on a given object.

Definition at line 12 of file VirtualCall.hpp.

◆ DlIterateCallback()

static int CS2Kit::Sdk::DlIterateCallback ( struct dl_phdr_info *  info,
size_t  ,
void *  data 
)
static

Definition at line 131 of file SigScanner.cpp.

References CS2Kit::Sdk::ModuleInfo::base.

Referenced by GetModuleInfo().

◆ FindPattern()

void * CS2Kit::Sdk::FindPattern ( const char *  moduleName,
const std::string &  pattern 
)

Scan a loaded module's memory for a byte pattern (hex string with '?' wildcards). Returns the first match address, or nullptr if not found.

Definition at line 168 of file SigScanner.cpp.

References GetModuleInfo(), ParsePattern(), and ScanMemory().

◆ GetModuleInfo()

static bool CS2Kit::Sdk::GetModuleInfo ( const char *  moduleName,
uint8_t *&  base,
size_t &  size 
)
static

Definition at line 154 of file SigScanner.cpp.

References DlIterateCallback().

Referenced by FindPattern().

◆ ParsePattern()

static std::vector< PatternByte > CS2Kit::Sdk::ParsePattern ( const std::string &  pattern)
static

Definition at line 26 of file SigScanner.cpp.

Referenced by FindPattern().

◆ ResolveRelativeAddress()

uintptr_t CS2Kit::Sdk::ResolveRelativeAddress ( uintptr_t  addr,
int  ripOffset,
int  ripSize 
)

Resolve a RIP-relative address: reads the 32-bit displacement at addr+ripOffset and computes the absolute target as addr + ripOffset + ripSize + displacement.

Definition at line 201 of file SigScanner.cpp.

◆ ScanMemory()

static void * CS2Kit::Sdk::ScanMemory ( const uint8_t *  base,
size_t  size,
const std::vector< PatternByte > &  pattern 
)
static

Definition at line 46 of file SigScanner.cpp.

Referenced by FindPattern().

◆ SetEntityRender()

void CS2Kit::Sdk::SetEntityRender ( CEntityInstance *  entity,
RenderMode_t  mode,
uint32_t  color 
)

Definition at line 9 of file EntityRender.cpp.