2023-11-26 10:50:56 +01:00

52 lines
1.4 KiB
C++

#pragma once
// Increase the weapon limit
// Was 1200 before
#define WEAPON_LIMIT 2400
#define MAX_CONFIGSTRINGS (4139 - 1200 + WEAPON_LIMIT)
// Double the limit to allow loading of some heavy-duty MW3 maps
#define ADDITIONAL_GMODELS 512
#define G_MODELINDEX_LIMIT (512 + WEAPON_LIMIT - 1200 + ADDITIONAL_GMODELS)
namespace Components
{
class Weapon : public Component
{
public:
Weapon();
static Game::XModel* G_ModelIndexReallocated[G_MODELINDEX_LIMIT];
static bool GModelIndexHasBeenReallocated;
private:
static const Game::dvar_t* BGWeaponOffHandFix;
static Game::WeaponCompleteDef* LoadWeaponCompleteDef(const char* name);
static void PatchLimit();
static void* LoadNoneWeaponHook();
static void LoadNoneWeaponHookStub();
static void PatchConfigStrings();
static const char* GetWeaponConfigString(int index);
static void SaveRegisteredWeapons();
static void ParseConfigStrings();
static int ParseWeaponConfigStrings();
static int ClearConfigStrings(void* dest, int value, int size);
static void CG_UpdatePrimaryForAltModeWeapon_Stub();
static void CG_SelectWeaponIndex_Stub();
static void JavelinResetHook_Stub();
static void WeaponEntCanBeGrabbed_Stub();
static void PlayerCmd_InitialWeaponRaise(Game::scr_entref_t entref);
static void PlayerCmd_FreezeControlsAllowLook(Game::scr_entref_t entref);
static void AddScriptMethods();
};
}