Files
GTASource/game/weapons/WeaponDebug.h
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

119 lines
2.3 KiB
C++

#ifndef WEAPON_DEBUG_H
#define WEAPON_DEBUG_H
// Rage includes
#include "Bank/Bank.h"
// Game headers
#include "Debug/DebugDrawStore.h"
#if __BANK // Only included in __BANK builds
class CAmmoRocketInfo;
class CPed;
//////////////////////////////////////////////////////////////////////////
// CWeaponDebug
//////////////////////////////////////////////////////////////////////////
class CWeaponDebug
{
public:
#if DEBUG_DRAW
static CDebugDrawStore ms_debugStore;
#endif // DEBUG_DRAW
static void InitBank();
static void AddWidgets(bkBank& bank);
static void ShutdownBank();
// Debug rendering
static void RenderDebug();
//
// Accessors
//
// Get the focus ped
static CPed* GetFocusPed();
// Get should render debug bullets
static bool GetRenderDebugBullets() { return ms_bRenderDebugBullets; }
// Get should we use ragdoll for stungun and rubbergun
static bool GetUseRagdollForStungunAndRubbergun() { return ms_bUseRagdollForStungunAndRubbergun; }
private:
// Init the general weapons widgets
static void InitWidgets(bkBank& bank);
// Update the infinite ammo
static void UpdateInfiniteAmmo();
// Update the focus ped statics
static void UpdateFocusPedText();
// Highlight the focus ped
static void HighlightFocusPed();
// Update the hashed strings
static void UpdateHasherStrings();
//
static void PrintPoolUsage();
static void ClearAllProjectiles();
//
// Members
//
// Pointer to the main RAG bank
static bkBank* ms_pBank;
// Are we debug rendering?
static bool ms_bRenderDebug;
static bool ms_bRenderDebugBullets;
// Infinite ammo?
static bool ms_bUseInfiniteAmmo;
// Use ragdoll for stungun and rubbergun
static bool ms_bUseRagdollForStungunAndRubbergun;
//
// Focus ped members
//
// Our max string length
static const s32 MAX_STRING_LENGTH = 64;
// Focus ped address
static char ms_focusPedAddress[MAX_STRING_LENGTH];
// Focus ped pool index
static char ms_focusPedPoolIndex[MAX_STRING_LENGTH];
// Focus ped model name
static char ms_focusPedModelName[MAX_STRING_LENGTH];
//
// Helper debug
//
// The string we are currently hashing
static char ms_hashString[MAX_STRING_LENGTH];
// The unsigned result
static char ms_hashStringResultUnsigned[MAX_STRING_LENGTH];
// The signed result
static char ms_hashStringResultSigned[MAX_STRING_LENGTH];
};
#endif // __BANK
#endif // WEAPON_DEBUG_H