From 35a89cc805a3509145b08b92026ddf0f5eb74b2d Mon Sep 17 00:00:00 2001 From: zonical Date: Sun, 1 Sep 2024 13:52:23 +1200 Subject: [PATCH 1/4] Inital commit w/ get functions --- CMakeLists.txt | 1 + .../CompatibilitySuppressions.xml | 2530 ++++++++++++++++- managed/CounterStrikeSharp.API/Core/API.cs | 66 + .../Core/Model/CVariant.cs | 148 +- managed/CounterStrikeSharp.sln | 66 +- src/scripting/natives/natives_cvariant.cpp | 43 + src/scripting/natives/natives_cvariant.yaml | 6 + 7 files changed, 2814 insertions(+), 46 deletions(-) create mode 100644 src/scripting/natives/natives_cvariant.cpp create mode 100644 src/scripting/natives/natives_cvariant.yaml diff --git a/CMakeLists.txt b/CMakeLists.txt index 23488fddf..9fb93d7dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,6 +84,7 @@ set(SOURCE_FILES src/scripting/natives/natives_schema.cpp src/scripting/natives/natives_entities.cpp src/scripting/natives/natives_voice.cpp + src/scripting/natives/natives_cvariant.cpp src/core/managers/entity_manager.cpp src/core/managers/entity_manager.h src/core/managers/chat_manager.cpp diff --git a/managed/CounterStrikeSharp.API/CompatibilitySuppressions.xml b/managed/CounterStrikeSharp.API/CompatibilitySuppressions.xml index 6cf66c127..6a7196f83 100644 --- a/managed/CounterStrikeSharp.API/CompatibilitySuppressions.xml +++ b/managed/CounterStrikeSharp.API/CompatibilitySuppressions.xml @@ -1,6 +1,102 @@  - + + + CP0001 + T:CounterStrikeSharp.API.Core.CCoopBonusCoin + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.CCSWeaponBaseVDataAPI + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.CInfoEnemyTerroristSpawn + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.CPointScriptEntity + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.CTriggerHurtGhost + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventItemsGifted + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventTrExitHintTrigger + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventTrMarkBestTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventTrMarkComplete + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventTrPlayerFlashbanged + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventTrShowExitMsgbox + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventTrShowFinishMsgbox + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.EventWeaponOutofammo + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.NPCLookType_t + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0001 + T:CounterStrikeSharp.API.Core.SpawnPointCoopEnemy + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.AnimValueSource.ManualFacingHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + CP0002 F:CounterStrikeSharp.API.Core.BasePlugin.ConvarChangeHandlers @@ -9,55 +105,2461 @@ CP0002 - M:CounterStrikeSharp.API.Core.CC4.get_DroppedFromDeath + F:CounterStrikeSharp.API.Core.ChickenActivity.HOP .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll CP0002 - M:CounterStrikeSharp.API.Core.CCSGameRules.get_RoundStartTicks + F:CounterStrikeSharp.API.Core.ChickenActivity.JUMP .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll CP0002 - M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_InvalidSteamLogonDelayed + F:CounterStrikeSharp.API.Core.loadout_slot_t.LOADOUT_SLOT_PET .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll CP0002 - M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastAction + F:CounterStrikeSharp.API.Core.MovementGait_t.eJog .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll CP0002 - M:CounterStrikeSharp.API.Core.CPlantedC4.get_PlantedAfterPickup + F:CounterStrikeSharp.API.Core.MovementGait_t.eRun .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll - CP0005 - M:CounterStrikeSharp.API.Modules.Menu.BaseMenu.Open(CounterStrikeSharp.API.Core.CCSPlayerController) + CP0002 + F:CounterStrikeSharp.API.Core.MovementGait_t.eSprint .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll - CP0006 - M:CounterStrikeSharp.API.Modules.Menu.IMenu.Open(CounterStrikeSharp.API.Core.CCSPlayerController) + CP0002 + F:CounterStrikeSharp.API.Core.MovementGait_t.eWalk .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll - CP0006 - M:CounterStrikeSharp.API.Modules.Menu.IMenu.OpenToAll + CP0002 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.SET_REGISTER_DOMAIN_VALUE .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll - CP0011 - F:CounterStrikeSharp.API.Core.PulseValueType_t.PVAL_COUNT + CP0002 + F:CounterStrikeSharp.API.Core.PulseValueType_t.PVAL_SCHEMA_PTR + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.ScriptedMoveTo_t.CINE_MOVETO_CUSTOM + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.ScriptedMoveTo_t.CINE_MOVETO_RUN + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.ScriptedMoveTo_t.CINE_MOVETO_TELEPORT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.ScriptedMoveTo_t.CINE_MOVETO_WAIT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.ScriptedMoveTo_t.CINE_MOVETO_WAIT_FACING + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.ScriptedMoveTo_t.CINE_MOVETO_WALK + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.ALL_CONTEXTS + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.ALL_SCENTS + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.ALL_SOUNDS + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_BULLET_IMPACT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_COMBAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_ALLIES_ONLY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_COMBINE_ONLY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_DANGER_APPROACH + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_EXCLUDE_COMBINE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_EXPLOSION + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_GUNFIRE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_PANIC_NPCS + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_CONTEXT_REACT_TO_SOURCE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_DANGER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_GLASS_BREAK + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_MOVE_AWAY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_NONE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_PHYSICS_DANGER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_PHYSICS_OBJECT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_PLAYER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_PLAYER_VEHICLE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_THUMPER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.SoundFlags_t.SOUND_WORLD + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_STEAMAUDIO_REVERB + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Modules.Memory.VirtualFunctions.AcceptInput + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Modules.Memory.VirtualFunctions.AcceptInputFunc + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Modules.Memory.VirtualFunctions.StateChanged + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + F:CounterStrikeSharp.API.Modules.Memory.VirtualFunctions.StateChangedFunc + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CAISound.get_SoundContext + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CAISound.get_SoundType + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBaseAnimGraph.get_ClientRagdoll + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBaseCombatCharacter.get_BloodColor + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBaseEntity.get_DisableContextThinkStartTick + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBaseFlex.get_NextSceneEventId + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBasePlayerController.get_LastLateCommandExecuted + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBasePlayerController.get_LastRealCommandNumberExecuted + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBlood.get_Color + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_BasePropData + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_DmgModBullet + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_DmgModClub + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_DmgModExplosive + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_DmgModFire + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_Interactions + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.get_PhysicsDamageTableName + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.set_BasePropData(System.String) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakable.set_PhysicsDamageTableName(System.String) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_BasePropData + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_DmgModBullet + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_DmgModClub + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_DmgModExplosive + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_DmgModFire + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_Interactions + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.get_PhysicsDamageTableName + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.set_BasePropData(System.String) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CBreakableProp.set_PhysicsDamageTableName(System.String) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CC4.get_DroppedFromDeath + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CChicken.get_Activity + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CChicken.get_OriginalOwnerXuidHigh + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CChicken.get_OriginalOwnerXuidLow + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSBot.get_LastCoopSpawnPoint + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameModeRules_Deathmatch.get_DMBonusWeaponLoadoutSlot + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_CoopBonusCoinsFound + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_CoopBonusPistolsOnly + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_CoopMissionDeadPlayerRespawnEnabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_CoopMissionManager + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_CoopPlayersInDeploymentZone + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_CoopRespawnAndHealTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_DontIncrementCoopWave + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_FeaturedGiftersAccounts + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_FeaturedGiftersGifts + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianBotSkillLevelMax + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianBotSkillLevelMin + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianBuyUntilTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianGrenadesToGiveBots + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianModeSpecialKillsRemaining + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianModeSpecialWeaponNeeded + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_GuardianModeWaveNumber + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_HasTriggeredCoopSpawnReset + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_LoserBonus + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_NumGlobalGifters + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_NumGlobalGiftsGiven + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_NumGlobalGiftsPeriodSeconds + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_NumHeaviesToSpawn + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_RoundStartTicks + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSGameRules.get_SkipNextServerPerfSample + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayer_UseServices.get_TimeStartedHoldingUse + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerController_InGameMoneyServices.get_AccountMoneyEarnedForNextRound + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawn.get_Landseconds + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawn.get_PreviousModel + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_AccumulatedDistanceTraveled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_AddonBits + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_AllowAutoFollowTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ArmorValue + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_BlockingUseActionInProgress + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_BombSiteIndex + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_Bot + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_BotAllowActive + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_CanMoveDuringFreezePeriod + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ChickenIdleSoundTimer + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ChickenJumpSoundTimer + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_CurrentDeafnessFilter + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_CurrentEquipmentValue + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DealtDamageToEnemyMostRecentTimestamp + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DeathCamMusic + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DeathFlags + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DeathInfoOrigin + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DeathInfoTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DetectedByEnemySensorTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DiedAirborne + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_Direction + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_DisplayHistoryBits + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_EmitSoundTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_EntitySpottedState + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_FlinchStack + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_FreezetimeEndEquipmentValue + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_GrenadeParametersStashed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_GrenadeParameterStashTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_GuardianTooFarDistFrac + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_GunGameImmunityColor + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HasDeathInfo + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HasNightVision + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HeadConstraintOffset + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HeavyAssaultSuitCooldownRemaining + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HideTargetID + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HitBodyPart + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HitHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_HostagesKilled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_Hud_MiniScoreHidden + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_Hud_RadarHidden + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IgnoreLadderJumpTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_InBombZoneTrigger + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_InNoDefuseArea + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IntroCamTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_InvalidSteamLogonDelayed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IsDefusing + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IsGrabbingHostage + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IsScoped + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IsSpawning + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_IsWalking + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_KilledByHeadshot + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_KilledByTaser + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LadderSurpressionTimer + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastAction + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastAttackedTeammate + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastBookmarkedPosition + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastBumpMineBumpTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastCollisionCeiling + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastCollisionCeilingChangeTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastConcurrentKilled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastDistanceTraveledNotice + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastEquippedArmorTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastEquippedHelmetTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastFriendlyFireDamageReductionRatio + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastGivenBombTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastGivenDefuserTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastHealth + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastHitBox + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastKillerIndex + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastLadderNormal + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastLadderPos + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastMoneyUpdateTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastPickupPriority + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastPickupPriorityTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastStandingPos + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LastWeaponFireUsercmd + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_LowerBodyYawTarget + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_MenuStringBuffer + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_MoveState + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_MyCollisionGroup + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NameChangeHistory + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NextGuardianTooFarHurtTime + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NightVisionOn + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NumDangerZoneDamageHits + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NumEnemiesAtRoundStart + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NumEnemiesKilledThisRound + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_NumEnemiesKilledThisSpawn + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_Pet + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_PlayerPatchEconIndices + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_PrimaryAddon + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ResetArmorNextSpawn + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ResumeZoom + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_RoundStartEquipmentValue + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_SecondaryAddon + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ShootAngleHistory + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ShotsFired + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ShouldHaveCash + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_SlopeDropHeight + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_SlopeDropOffset + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_SpotRules + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_StashedGrenadeThrowPosition + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_StashedShootAngles + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_StashedVelocity + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_StoredSpawnAngle + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_StoredSpawnPosition + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_Strafing + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_SurvivalTeamNumber + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ThirdPersonHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_ThrowPositionHistory + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_TotalBulletForce + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_VCollisionInitted + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_VelocityHistory + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_VelocityModifier + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_WaitForNoAttack + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_WasInBombZoneTrigger + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.get_WhichBombZone + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.set_GunGameImmunityColor(System.Drawing.Color) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CCSPlayerPawnBase.set_MenuStringBuffer(System.String) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CDamageRecord.get_PlayerDamager + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CDamageRecord.get_PlayerRecipient + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_BoxMaxs + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_BoxMins + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_Brightness + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_Color + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_CubemapTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_CustomCubemapTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_EdgeFadeDist + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_EdgeFadeDists + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_Enabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_EnvCubeMapArrayIndex + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_Handshake + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeAtlasX + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeAtlasY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeAtlasZ + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeDirectLightIndicesTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeDirectLightScalarsTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeDirectLightShadowsTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeSizeX + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeSizeY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeSizeZ + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_LightProbeTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_Moveable + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_Priority + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.get_StartDisabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCombinedLightProbeVolume.set_Color(System.Drawing.Color) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_BoxProjectMaxs + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_BoxProjectMins + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_CopyDiffuseFromDefaultCubemap + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_CubemapTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_CustomCubemapTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_DefaultEnvMap + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_DefaultSpecEnvMap + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_DiffuseScale + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_EdgeFadeDist + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_EdgeFadeDists + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_Enabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_EnvCubeMapArrayIndex + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_Handshake + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_IndoorCubeMap + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_InfluenceRadius + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_Moveable + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_Priority + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvCubemap.get_StartDisabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_BoxMaxs + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_BoxMins + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_Enabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_Handshake + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeAtlasX + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeAtlasY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeAtlasZ + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeDirectLightIndicesTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeDirectLightScalarsTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeDirectLightShadowsTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeSizeX + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeSizeY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeSizeZ + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_LightProbeTexture + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_Moveable + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_Priority + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvLightProbeVolume.get_StartDisabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CEnvMicrophone.get_SoundMask + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CMarkupVolume.get_Enabled + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CNavLinkAnimgraphVar.get_StrAnimgraphVar + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CNavLinkAnimgraphVar.set_StrAnimgraphVar(System.String) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CPhysicsProp.get_CollisionGroupOverride + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CPlantedC4.get_PlantedAfterPickup + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CRagdollProp.get_BloodColor + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CScriptedSequence.get_LastFoundEntity + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CSound.get_Type + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0002 + M:CounterStrikeSharp.API.Core.CSoundEventPathCornerEntity.get_BPlaying + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0005 + M:CounterStrikeSharp.API.Modules.Menu.BaseMenu.Open(CounterStrikeSharp.API.Core.CCSPlayerController) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0006 + M:CounterStrikeSharp.API.Modules.Menu.IMenu.Open(CounterStrikeSharp.API.Core.CCSPlayerController) + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0006 + M:CounterStrikeSharp.API.Modules.Menu.IMenu.OpenToAll + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0010 + T:CounterStrikeSharp.API.Core.FacingMode + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0010 + T:CounterStrikeSharp.API.Core.SoundFlags_t + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0010 + T:CounterStrikeSharp.API.Core.TakeDamageFlags_t + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.AccelerationFrontBack + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.AccelerationHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.AccelerationLeftRight + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.AccelerationSpeed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.BoundaryRadius + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerCurl_Index + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerCurl_Middle + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerCurl_Pinky + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerCurl_Ring + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerCurl_Thumb + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerSplay_Index_Middle + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerSplay_Middle_Ring + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerSplay_Ring_Pinky + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.FingerSplay_Thumb_Index + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.GoalDistance + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.LookDistance + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.LookHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.LookPitch + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.MaxMoveSpeed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.MoveHeadingRelativeToLookHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.Parameter + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.RootMotionSpeed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.RootMotionTurnSpeed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.SlopeAngle + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.SlopeHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.SlopePitch + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.SlopeYaw + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.TargetMoveHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.TargetMoveSpeed + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.WayPointDistance + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.AnimValueSource.WayPointHeading + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.ChickenActivity.GLIDE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.ChickenActivity.LAND + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.ChickenActivity.RUN + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.ChickenActivity.WALK + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_CL_BODYGROUP_SET_TO_CLIP + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_CL_BODYGROUP_SET_TO_NEXTCLIP + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_CL_C4_SCREEN_TEXT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_CL_EJECT_MAG + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_CL_WEAPON_TRANSITION_INTO_HAND + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_GRENADE_THROW_COMPLETE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_PULSE_GRAPH + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_PULSE_GRAPH_AIMAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_PULSE_GRAPH_IKLOCKLEFTARM + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_PULSE_GRAPH_IKLOCKRIGHTARM + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_PULSE_GRAPH_LOOKAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_SV_ATTACH_SILENCER_COMPLETE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_SV_DETACH_SILENCER_COMPLETE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_SV_HIDE_SILENCER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_SV_SHOW_SILENCER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_WPN_COMPLETE_RELOAD + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.GameAnimEventIndex_t.AE_WPN_HEALTHSHOT_INJECT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.ADD_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.ADD_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.ADD_STRING + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.DIV_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.DIV_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.EQ_BOOL + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.EQ_ENTITY_NAME + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.EQ_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.EQ_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.EQ_STRING + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.GET_CONST_INLINE_STORAGE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.LAST_SERIALIZED_CODE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.LT_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.LT_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.LTE_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.LTE_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.MOD_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.MOD_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.MUL_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.MUL_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NE_BOOL + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NE_ENTITY_NAME + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NE_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NE_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NE_STRING + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NEGATE_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.NEGATE_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.SUB_FLOAT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseInstructionCode_t.SUB_INT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.PulseValueType_t.PVAL_COUNT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_AUTOFILTER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_BOXVERB + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_CONVOLUTION + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_DELAY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_DIFFUSOR + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_DYNAMICS + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_DYNAMICS_3BAND + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_DYNAMICS_COMPRESSOR + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_EFFECT_CHAIN + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_ENVELOPE + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_EQ8 + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_FILTER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_FREEVERB + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_FULLWAVE_INTEGRATOR + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_MOD_DELAY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_OSC + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_PANNER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_PLATEVERB + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_PRESETDSP + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_RT_PITCH + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_SHAPER + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_STEAMAUDIO_DIRECT + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_STEAMAUDIO_HRTF + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_STEAMAUDIO_PATHING + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_STEREODELAY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_SUBGRAPH_SWITCH + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_UTILITY + .\ApiCompat\v202.dll + obj\Debug\net8.0\CounterStrikeSharp.API.dll + + + CP0011 + F:CounterStrikeSharp.API.Core.VMixProcessorType_t.VPROCESSOR_VOCODER .\ApiCompat\v202.dll obj\Debug\net8.0\CounterStrikeSharp.API.dll diff --git a/managed/CounterStrikeSharp.API/Core/API.cs b/managed/CounterStrikeSharp.API/Core/API.cs index e0320288b..a0f1425e7 100644 --- a/managed/CounterStrikeSharp.API/Core/API.cs +++ b/managed/CounterStrikeSharp.API/Core/API.cs @@ -206,6 +206,72 @@ public static void SetFakeClientConvarValue(int clientindex, string convarname, } } + public static uint GetVariantType(IntPtr pvariant){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(pvariant); + ScriptContext.GlobalScriptContext.SetIdentifier(0x7AC3DA1C); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (uint)ScriptContext.GlobalScriptContext.GetResult(typeof(uint)); + } + } + + public static int GetVariantInt(IntPtr pvariant){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(pvariant); + ScriptContext.GlobalScriptContext.SetIdentifier(0x78156617); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (int)ScriptContext.GlobalScriptContext.GetResult(typeof(int)); + } + } + + public static uint GetVariantUint(IntPtr pvariant){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(pvariant); + ScriptContext.GlobalScriptContext.SetIdentifier(0x7AC49FA2); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (uint)ScriptContext.GlobalScriptContext.GetResult(typeof(uint)); + } + } + + public static float GetVariantFloat(IntPtr pvariant){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(pvariant); + ScriptContext.GlobalScriptContext.SetIdentifier(0xD20595B4); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (float)ScriptContext.GlobalScriptContext.GetResult(typeof(float)); + } + } + + public static string GetVariantString(IntPtr pvariant){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(pvariant); + ScriptContext.GlobalScriptContext.SetIdentifier(0x41C49F71); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (string)ScriptContext.GlobalScriptContext.GetResult(typeof(string)); + } + } + + public static bool GetVariantBool(IntPtr pvariant){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(pvariant); + ScriptContext.GlobalScriptContext.SetIdentifier(0x7ABC76EA); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (bool)ScriptContext.GlobalScriptContext.GetResult(typeof(bool)); + } + } + public static T DynamicHookGetReturn(IntPtr hook, int datatype){ lock (ScriptContext.GlobalScriptContext.Lock) { ScriptContext.GlobalScriptContext.Reset(); diff --git a/managed/CounterStrikeSharp.API/Core/Model/CVariant.cs b/managed/CounterStrikeSharp.API/Core/Model/CVariant.cs index 5fc4532ca..6df23980b 100644 --- a/managed/CounterStrikeSharp.API/Core/Model/CVariant.cs +++ b/managed/CounterStrikeSharp.API/Core/Model/CVariant.cs @@ -1,13 +1,147 @@ -namespace CounterStrikeSharp.API.Core; +using System.Reflection.Metadata; -/// -/// Placeholder for CVariant -/// -/// A lot of entity outputs do not use this value -/// +namespace CounterStrikeSharp.API.Core; + +// Taken directly from datamap.h in hl2sdk. +public enum VariantFieldTypes : uint +{ + FIELD_VOID = 0, // No type or value + FIELD_FLOAT, // Any floating point value + FIELD_STRING, // A string ID (return from ALLOC_STRING) + FIELD_VECTOR, // Any vector, QAngle, or AngularImpulse + FIELD_QUATERNION, // A quaternion + FIELD_INTEGER, // Any integer or enum + FIELD_BOOLEAN, // boolean, implemented as an int, I may use this as a hint for compression + FIELD_SHORT, // 2 byte integer + FIELD_CHARACTER, // a byte + FIELD_COLOR32, // 8-bit per channel r,g,b,a (32bit color) + FIELD_EMBEDDED, // an embedded object with a datadesc, recursively traverse and embedded class/structure based on an additional typedescription + FIELD_CUSTOM, // special type that contains function pointers to it's read/write/parse functions + + FIELD_CLASSPTR, // CBaseEntity * + FIELD_EHANDLE, // Entity handle + + FIELD_POSITION_VECTOR, // A world coordinate (these are fixed up across level transitions automagically) + FIELD_TIME, // a floating point time (these are fixed up automatically too!) + FIELD_TICK, // an integer tick count( fixed up similarly to time) + FIELD_SOUNDNAME, // Engine string that is a sound name (needs precache) + + FIELD_INPUT, // a list of inputed data fields (all derived from CMultiInputVar) + FIELD_FUNCTION, // A class function pointer (Think, Use, etc) + + FIELD_VMATRIX, // a vmatrix (output coords are NOT worldspace) + + // NOTE: Use float arrays for local transformations that don't need to be fixed up. + FIELD_VMATRIX_WORLDSPACE,// A VMatrix that maps some local space to world space (translation is fixed up on level transitions) + FIELD_MATRIX3X4_WORLDSPACE, // matrix3x4_t that maps some local space to world space (translation is fixed up on level transitions) + + FIELD_INTERVAL, // a start and range floating point interval ( e.g., 3.2->3.6 == 3.2 and 0.4 ) + FIELD_UNUSED, + + FIELD_VECTOR2D, // 2 floats + FIELD_INTEGER64, // 64bit integer + + FIELD_VECTOR4D, // 4 floats + + FIELD_RESOURCE, + + FIELD_TYPEUNKNOWN, + + FIELD_CSTRING, + FIELD_HSCRIPT, + FIELD_VARIANT, + FIELD_UINT64, + FIELD_FLOAT64, + FIELD_POSITIVEINTEGER_OR_NULL, + FIELD_HSCRIPT_NEW_INSTANCE, + FIELD_UINT, + FIELD_UTLSTRINGTOKEN, + FIELD_QANGLE, + FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR, + FIELD_HMATERIAL, + FIELD_HMODEL, + FIELD_NETWORK_QUANTIZED_VECTOR, + FIELD_NETWORK_QUANTIZED_FLOAT, + FIELD_DIRECTION_VECTOR_WORLDSPACE, + FIELD_QANGLE_WORLDSPACE, + FIELD_QUATERNION_WORLDSPACE, + FIELD_HSCRIPT_LIGHTBINDING, + FIELD_V8_VALUE, + FIELD_V8_OBJECT, + FIELD_V8_ARRAY, + FIELD_V8_CALLBACK_INFO, + FIELD_UTLSTRING, + + FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR, + FIELD_HRENDERTEXTURE, + + FIELD_HPARTICLESYSTEMDEFINITION, + FIELD_UINT8, + FIELD_UINT16, + FIELD_CTRANSFORM, + FIELD_CTRANSFORM_WORLDSPACE, + FIELD_HPOSTPROCESSING, + FIELD_MATRIX3X4, + FIELD_SHIM, + FIELD_CMOTIONTRANSFORM, + FIELD_CMOTIONTRANSFORM_WORLDSPACE, + FIELD_ATTACHMENT_HANDLE, + FIELD_AMMO_INDEX, + FIELD_CONDITION_ID, + FIELD_AI_SCHEDULE_BITS, + FIELD_MODIFIER_HANDLE, + FIELD_ROTATION_VECTOR, + FIELD_ROTATION_VECTOR_WORLDSPACE, + FIELD_HVDATA, + FIELD_SCALE32, + FIELD_STRING_AND_TOKEN, + FIELD_ENGINE_TIME, + FIELD_ENGINE_TICK, + FIELD_WORLD_GROUP_ID, + FIELD_GLOBALSYMBOL, + + FIELD_TYPECOUNT +} + public class CVariant : NativeObject { public CVariant(IntPtr pointer) : base(pointer) { + } + + public bool IsValid => Handle != IntPtr.Zero; + + public VariantFieldTypes FieldType => (VariantFieldTypes)NativeAPI.GetVariantType(Handle); + + public T Get() + { + Type typeFromHandle = typeof(T); + object obj; + if (typeFromHandle == typeof(float)) + { + obj = NativeAPI.GetVariantFloat(Handle); + } + else if (typeFromHandle == typeof(int)) + { + obj = NativeAPI.GetVariantInt(Handle); + } + else if (typeFromHandle == typeof(string)) + { + obj = NativeAPI.GetVariantString(Handle); + } + else if (typeFromHandle == typeof(bool)) + { + obj = NativeAPI.GetVariantBool(Handle); + } + else if (typeFromHandle == typeof(uint)) + { + obj = NativeAPI.GetVariantUint(Handle); + } + else + { + throw new NotSupportedException(); + } + + return (T)obj; } -} \ No newline at end of file +} diff --git a/managed/CounterStrikeSharp.sln b/managed/CounterStrikeSharp.sln index e0d6f5040..152991884 100644 --- a/managed/CounterStrikeSharp.sln +++ b/managed/CounterStrikeSharp.sln @@ -1,46 +1,51 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestPlugin", "TestPlugin\TestPlugin.csproj", "{57E64289-5D69-4AA1-BEF0-D0D96A55EE8F}" +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34728.123 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestPlugin", "TestPlugin\TestPlugin.csproj", "{57E64289-5D69-4AA1-BEF0-D0D96A55EE8F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CounterStrikeSharp.API", "CounterStrikeSharp.API\CounterStrikeSharp.API.csproj", "{55B47E41-61AA-4D75-9069-CB14328107B7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CounterStrikeSharp.API", "CounterStrikeSharp.API\CounterStrikeSharp.API.csproj", "{55B47E41-61AA-4D75-9069-CB14328107B7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeGen.Natives", "..\tooling\CodeGen.Natives\CodeGen.Natives.csproj", "{5C873ECF-A943-45AA-A3C0-E442EB4477BD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeGen.Natives", "..\tooling\CodeGen.Natives\CodeGen.Natives.csproj", "{5C873ECF-A943-45AA-A3C0-E442EB4477BD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CounterStrikeSharp.SchemaGen", "CounterStrikeSharp.SchemaGen\CounterStrikeSharp.SchemaGen.csproj", "{D470646C-9BBB-4030-B267-58537A4B0026}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CounterStrikeSharp.SchemaGen", "CounterStrikeSharp.SchemaGen\CounterStrikeSharp.SchemaGen.csproj", "{D470646C-9BBB-4030-B267-58537A4B0026}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WarcraftPlugin", "..\examples\WarcraftPlugin\WarcraftPlugin.csproj", "{DAE388A8-94A4-4C24-9450-E34677EEA2CF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WarcraftPlugin", "..\examples\WarcraftPlugin\WarcraftPlugin.csproj", "{DAE388A8-94A4-4C24-9450-E34677EEA2CF}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{7DF99C35-881D-4FF2-B1C9-246BD3DECB9A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithConfig", "..\examples\WithConfig\WithConfig.csproj", "{2846604A-5B9F-4D80-9476-657C09CFDD5C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithConfig", "..\examples\WithConfig\WithConfig.csproj", "{2846604A-5B9F-4D80-9476-657C09CFDD5C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "..\examples\HelloWorld\HelloWorld.csproj", "{DDA4F93A-7D4A-4698-8C2A-5DAE7FBCDC72}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HelloWorld", "..\examples\HelloWorld\HelloWorld.csproj", "{DDA4F93A-7D4A-4698-8C2A-5DAE7FBCDC72}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithDependencyInjection", "..\examples\WithDependencyInjection\WithDependencyInjection.csproj", "{E497E40C-A7B4-41A7-A1C6-2EC6698FF3BF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithDependencyInjection", "..\examples\WithDependencyInjection\WithDependencyInjection.csproj", "{E497E40C-A7B4-41A7-A1C6-2EC6698FF3BF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithCommands", "..\examples\WithCommands\WithCommands.csproj", "{EA2F596E-2236-4999-B476-B1FDA287674A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithCommands", "..\examples\WithCommands\WithCommands.csproj", "{EA2F596E-2236-4999-B476-B1FDA287674A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithGameEventHandlers", "..\examples\WithGameEventHandlers\WithGameEventHandlers.csproj", "{3032F3FA-E20A-4581-9A08-2FB5FF1524F4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithGameEventHandlers", "..\examples\WithGameEventHandlers\WithGameEventHandlers.csproj", "{3032F3FA-E20A-4581-9A08-2FB5FF1524F4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithDatabaseDapper", "..\examples\WithDatabaseDapper\WithDatabaseDapper.csproj", "{A641D8D7-35F1-48AB-AABA-EDFB6B7FC49B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithDatabaseDapper", "..\examples\WithDatabaseDapper\WithDatabaseDapper.csproj", "{A641D8D7-35F1-48AB-AABA-EDFB6B7FC49B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithEntityOutputHooks", "..\examples\WithEntityOutputHooks\WithEntityOutputHooks.csproj", "{31EABE0B-871F-497B-BF36-37FFC6FAD15F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithEntityOutputHooks", "..\examples\WithEntityOutputHooks\WithEntityOutputHooks.csproj", "{31EABE0B-871F-497B-BF36-37FFC6FAD15F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CounterStrikeSharp.API.Tests", "CounterStrikeSharp.API.Tests\CounterStrikeSharp.API.Tests.csproj", "{BBA80E1B-109D-4ABD-9ADF-46EB0FEDFCD3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CounterStrikeSharp.API.Tests", "CounterStrikeSharp.API.Tests\CounterStrikeSharp.API.Tests.csproj", "{BBA80E1B-109D-4ABD-9ADF-46EB0FEDFCD3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithTranslations", "..\examples\WithTranslations\WithTranslations.csproj", "{BB44E08E-CCA8-4E22-A132-11B2F69D1890}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithTranslations", "..\examples\WithTranslations\WithTranslations.csproj", "{BB44E08E-CCA8-4E22-A132-11B2F69D1890}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithVoiceOverrides", "..\examples\WithVoiceOverrides\WithVoiceOverrides.csproj", "{6FA3107D-42AF-42A0-BF51-2230D13268B5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithVoiceOverrides", "..\examples\WithVoiceOverrides\WithVoiceOverrides.csproj", "{6FA3107D-42AF-42A0-BF51-2230D13268B5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithFakeConvars", "..\examples\WithFakeConvars\WithFakeConvars.csproj", "{1309954E-FAF7-47A5-9FF9-C7263B33E4E3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithFakeConvars", "..\examples\WithFakeConvars\WithFakeConvars.csproj", "{1309954E-FAF7-47A5-9FF9-C7263B33E4E3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithSharedTypes", "..\examples\WithSharedTypes\WithSharedTypes.csproj", "{4E5289B5-E81D-421C-B340-B98B6FFE09D1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithSharedTypes", "..\examples\WithSharedTypes\WithSharedTypes.csproj", "{4E5289B5-E81D-421C-B340-B98B6FFE09D1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySharedTypes.Contracts", "..\examples\MySharedTypes.Contracts\MySharedTypes.Contracts\MySharedTypes.Contracts.csproj", "{A37676EA-CF2F-424D-85A1-C359D07A679D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MySharedTypes.Contracts", "..\examples\MySharedTypes.Contracts\MySharedTypes.Contracts\MySharedTypes.Contracts.csproj", "{A37676EA-CF2F-424D-85A1-C359D07A679D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithSharedTypesConsumer", "..\examples\WithSharedTypesConsumer\WithSharedTypesConsumer.csproj", "{76AD7BB0-A096-4336-83E2-B32CAE4E9933}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithSharedTypesConsumer", "..\examples\WithSharedTypesConsumer\WithSharedTypesConsumer.csproj", "{76AD7BB0-A096-4336-83E2-B32CAE4E9933}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithUserMessages", "..\examples\WithUserMessages\WithUserMessages.csproj", "{A14029BA-CADE-4F25-ADC5-48CF14332F61}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithUserMessages", "..\examples\WithUserMessages\WithUserMessages.csproj", "{A14029BA-CADE-4F25-ADC5-48CF14332F61}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithVariant", "..\examples\WithVariant\WithVariant.csproj", "{96D09C4A-C590-4E4D-AB54-3B6C8F677C29}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -108,14 +113,14 @@ Global {6FA3107D-42AF-42A0-BF51-2230D13268B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {6FA3107D-42AF-42A0-BF51-2230D13268B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {6FA3107D-42AF-42A0-BF51-2230D13268B5}.Release|Any CPU.Build.0 = Release|Any CPU - {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Release|Any CPU.Build.0 = Release|Any CPU {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Release|Any CPU.Build.0 = Release|Any CPU + {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Release|Any CPU.Build.0 = Release|Any CPU {A37676EA-CF2F-424D-85A1-C359D07A679D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A37676EA-CF2F-424D-85A1-C359D07A679D}.Debug|Any CPU.Build.0 = Debug|Any CPU {A37676EA-CF2F-424D-85A1-C359D07A679D}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -128,6 +133,13 @@ Global {A14029BA-CADE-4F25-ADC5-48CF14332F61}.Debug|Any CPU.Build.0 = Debug|Any CPU {A14029BA-CADE-4F25-ADC5-48CF14332F61}.Release|Any CPU.ActiveCfg = Release|Any CPU {A14029BA-CADE-4F25-ADC5-48CF14332F61}.Release|Any CPU.Build.0 = Release|Any CPU + {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Debug|Any CPU.Build.0 = Debug|Any CPU + {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Release|Any CPU.ActiveCfg = Release|Any CPU + {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {57E64289-5D69-4AA1-BEF0-D0D96A55EE8F} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} @@ -141,10 +153,14 @@ Global {31EABE0B-871F-497B-BF36-37FFC6FAD15F} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {BB44E08E-CCA8-4E22-A132-11B2F69D1890} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {6FA3107D-42AF-42A0-BF51-2230D13268B5} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} - {4E5289B5-E81D-421C-B340-B98B6FFE09D1} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {1309954E-FAF7-47A5-9FF9-C7263B33E4E3} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} + {4E5289B5-E81D-421C-B340-B98B6FFE09D1} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {A37676EA-CF2F-424D-85A1-C359D07A679D} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {76AD7BB0-A096-4336-83E2-B32CAE4E9933} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {A14029BA-CADE-4F25-ADC5-48CF14332F61} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} + {96D09C4A-C590-4E4D-AB54-3B6C8F677C29} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B0BCC885-F07B-426E-B161-3B8575A07DA8} EndGlobalSection EndGlobal diff --git a/src/scripting/natives/natives_cvariant.cpp b/src/scripting/natives/natives_cvariant.cpp new file mode 100644 index 000000000..1c4d135d5 --- /dev/null +++ b/src/scripting/natives/natives_cvariant.cpp @@ -0,0 +1,43 @@ +/* + * This file is part of CounterStrikeSharp. + * CounterStrikeSharp is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * CounterStrikeSharp is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with CounterStrikeSharp. If not, see . * + */ + +#include + +#include +#include + +#include "core/log.h" +#include "core/memory.h" +#include "scripting/autonative.h" +#include "scripting/script_engine.h" + +namespace counterstrikesharp { + +_fieldtypes GetVariantType(ScriptContext& script_context) +{ + variant_t* pVariant = script_context.GetArgument(0); + if (!pVariant) + { + script_context.ThrowNativeError("Invalid variant pointer"); + return _fieldtypes::FIELD_TYPEUNKNOWN; + } + return pVariant->m_type; +} + +REGISTER_NATIVES(cvariant, { + ScriptEngine::RegisterNativeHandler("GET_VARIANT_TYPE", GetVariantType); +}) +} // namespace counterstrikesharp diff --git a/src/scripting/natives/natives_cvariant.yaml b/src/scripting/natives/natives_cvariant.yaml new file mode 100644 index 000000000..5f776a454 --- /dev/null +++ b/src/scripting/natives/natives_cvariant.yaml @@ -0,0 +1,6 @@ +GET_VARIANT_TYPE: pVariant:pointer -> uint +GET_VARIANT_INT: pVariant:pointer -> int +GET_VARIANT_UINT: pVariant:pointer -> uint +GET_VARIANT_FLOAT: pVariant:pointer -> float +GET_VARIANT_STRING: pVariant:pointer -> string +GET_VARIANT_BOOL: pVariant:pointer -> bool \ No newline at end of file From 1b2e92d0860de12c8bb43d48b82ee056473dc6ba Mon Sep 17 00:00:00 2001 From: zonical Date: Sun, 1 Sep 2024 13:55:29 +1200 Subject: [PATCH 2/4] Revert .sln changes - this was just for initial testing --- managed/CounterStrikeSharp.sln | 66 +++++++++++++--------------------- 1 file changed, 25 insertions(+), 41 deletions(-) diff --git a/managed/CounterStrikeSharp.sln b/managed/CounterStrikeSharp.sln index 152991884..e0d6f5040 100644 --- a/managed/CounterStrikeSharp.sln +++ b/managed/CounterStrikeSharp.sln @@ -1,51 +1,46 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.9.34728.123 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestPlugin", "TestPlugin\TestPlugin.csproj", "{57E64289-5D69-4AA1-BEF0-D0D96A55EE8F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestPlugin", "TestPlugin\TestPlugin.csproj", "{57E64289-5D69-4AA1-BEF0-D0D96A55EE8F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CounterStrikeSharp.API", "CounterStrikeSharp.API\CounterStrikeSharp.API.csproj", "{55B47E41-61AA-4D75-9069-CB14328107B7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CounterStrikeSharp.API", "CounterStrikeSharp.API\CounterStrikeSharp.API.csproj", "{55B47E41-61AA-4D75-9069-CB14328107B7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeGen.Natives", "..\tooling\CodeGen.Natives\CodeGen.Natives.csproj", "{5C873ECF-A943-45AA-A3C0-E442EB4477BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeGen.Natives", "..\tooling\CodeGen.Natives\CodeGen.Natives.csproj", "{5C873ECF-A943-45AA-A3C0-E442EB4477BD}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CounterStrikeSharp.SchemaGen", "CounterStrikeSharp.SchemaGen\CounterStrikeSharp.SchemaGen.csproj", "{D470646C-9BBB-4030-B267-58537A4B0026}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CounterStrikeSharp.SchemaGen", "CounterStrikeSharp.SchemaGen\CounterStrikeSharp.SchemaGen.csproj", "{D470646C-9BBB-4030-B267-58537A4B0026}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WarcraftPlugin", "..\examples\WarcraftPlugin\WarcraftPlugin.csproj", "{DAE388A8-94A4-4C24-9450-E34677EEA2CF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WarcraftPlugin", "..\examples\WarcraftPlugin\WarcraftPlugin.csproj", "{DAE388A8-94A4-4C24-9450-E34677EEA2CF}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{7DF99C35-881D-4FF2-B1C9-246BD3DECB9A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithConfig", "..\examples\WithConfig\WithConfig.csproj", "{2846604A-5B9F-4D80-9476-657C09CFDD5C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithConfig", "..\examples\WithConfig\WithConfig.csproj", "{2846604A-5B9F-4D80-9476-657C09CFDD5C}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HelloWorld", "..\examples\HelloWorld\HelloWorld.csproj", "{DDA4F93A-7D4A-4698-8C2A-5DAE7FBCDC72}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "..\examples\HelloWorld\HelloWorld.csproj", "{DDA4F93A-7D4A-4698-8C2A-5DAE7FBCDC72}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithDependencyInjection", "..\examples\WithDependencyInjection\WithDependencyInjection.csproj", "{E497E40C-A7B4-41A7-A1C6-2EC6698FF3BF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithDependencyInjection", "..\examples\WithDependencyInjection\WithDependencyInjection.csproj", "{E497E40C-A7B4-41A7-A1C6-2EC6698FF3BF}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithCommands", "..\examples\WithCommands\WithCommands.csproj", "{EA2F596E-2236-4999-B476-B1FDA287674A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithCommands", "..\examples\WithCommands\WithCommands.csproj", "{EA2F596E-2236-4999-B476-B1FDA287674A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithGameEventHandlers", "..\examples\WithGameEventHandlers\WithGameEventHandlers.csproj", "{3032F3FA-E20A-4581-9A08-2FB5FF1524F4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithGameEventHandlers", "..\examples\WithGameEventHandlers\WithGameEventHandlers.csproj", "{3032F3FA-E20A-4581-9A08-2FB5FF1524F4}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithDatabaseDapper", "..\examples\WithDatabaseDapper\WithDatabaseDapper.csproj", "{A641D8D7-35F1-48AB-AABA-EDFB6B7FC49B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithDatabaseDapper", "..\examples\WithDatabaseDapper\WithDatabaseDapper.csproj", "{A641D8D7-35F1-48AB-AABA-EDFB6B7FC49B}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithEntityOutputHooks", "..\examples\WithEntityOutputHooks\WithEntityOutputHooks.csproj", "{31EABE0B-871F-497B-BF36-37FFC6FAD15F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithEntityOutputHooks", "..\examples\WithEntityOutputHooks\WithEntityOutputHooks.csproj", "{31EABE0B-871F-497B-BF36-37FFC6FAD15F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CounterStrikeSharp.API.Tests", "CounterStrikeSharp.API.Tests\CounterStrikeSharp.API.Tests.csproj", "{BBA80E1B-109D-4ABD-9ADF-46EB0FEDFCD3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CounterStrikeSharp.API.Tests", "CounterStrikeSharp.API.Tests\CounterStrikeSharp.API.Tests.csproj", "{BBA80E1B-109D-4ABD-9ADF-46EB0FEDFCD3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithTranslations", "..\examples\WithTranslations\WithTranslations.csproj", "{BB44E08E-CCA8-4E22-A132-11B2F69D1890}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithTranslations", "..\examples\WithTranslations\WithTranslations.csproj", "{BB44E08E-CCA8-4E22-A132-11B2F69D1890}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithVoiceOverrides", "..\examples\WithVoiceOverrides\WithVoiceOverrides.csproj", "{6FA3107D-42AF-42A0-BF51-2230D13268B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithVoiceOverrides", "..\examples\WithVoiceOverrides\WithVoiceOverrides.csproj", "{6FA3107D-42AF-42A0-BF51-2230D13268B5}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithFakeConvars", "..\examples\WithFakeConvars\WithFakeConvars.csproj", "{1309954E-FAF7-47A5-9FF9-C7263B33E4E3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithFakeConvars", "..\examples\WithFakeConvars\WithFakeConvars.csproj", "{1309954E-FAF7-47A5-9FF9-C7263B33E4E3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithSharedTypes", "..\examples\WithSharedTypes\WithSharedTypes.csproj", "{4E5289B5-E81D-421C-B340-B98B6FFE09D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithSharedTypes", "..\examples\WithSharedTypes\WithSharedTypes.csproj", "{4E5289B5-E81D-421C-B340-B98B6FFE09D1}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MySharedTypes.Contracts", "..\examples\MySharedTypes.Contracts\MySharedTypes.Contracts\MySharedTypes.Contracts.csproj", "{A37676EA-CF2F-424D-85A1-C359D07A679D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySharedTypes.Contracts", "..\examples\MySharedTypes.Contracts\MySharedTypes.Contracts\MySharedTypes.Contracts.csproj", "{A37676EA-CF2F-424D-85A1-C359D07A679D}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithSharedTypesConsumer", "..\examples\WithSharedTypesConsumer\WithSharedTypesConsumer.csproj", "{76AD7BB0-A096-4336-83E2-B32CAE4E9933}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithSharedTypesConsumer", "..\examples\WithSharedTypesConsumer\WithSharedTypesConsumer.csproj", "{76AD7BB0-A096-4336-83E2-B32CAE4E9933}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithUserMessages", "..\examples\WithUserMessages\WithUserMessages.csproj", "{A14029BA-CADE-4F25-ADC5-48CF14332F61}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WithVariant", "..\examples\WithVariant\WithVariant.csproj", "{96D09C4A-C590-4E4D-AB54-3B6C8F677C29}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WithUserMessages", "..\examples\WithUserMessages\WithUserMessages.csproj", "{A14029BA-CADE-4F25-ADC5-48CF14332F61}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -113,14 +108,14 @@ Global {6FA3107D-42AF-42A0-BF51-2230D13268B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {6FA3107D-42AF-42A0-BF51-2230D13268B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {6FA3107D-42AF-42A0-BF51-2230D13268B5}.Release|Any CPU.Build.0 = Release|Any CPU - {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Release|Any CPU.Build.0 = Release|Any CPU {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Debug|Any CPU.Build.0 = Debug|Any CPU {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Release|Any CPU.ActiveCfg = Release|Any CPU {4E5289B5-E81D-421C-B340-B98B6FFE09D1}.Release|Any CPU.Build.0 = Release|Any CPU + {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1309954E-FAF7-47A5-9FF9-C7263B33E4E3}.Release|Any CPU.Build.0 = Release|Any CPU {A37676EA-CF2F-424D-85A1-C359D07A679D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A37676EA-CF2F-424D-85A1-C359D07A679D}.Debug|Any CPU.Build.0 = Debug|Any CPU {A37676EA-CF2F-424D-85A1-C359D07A679D}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -133,13 +128,6 @@ Global {A14029BA-CADE-4F25-ADC5-48CF14332F61}.Debug|Any CPU.Build.0 = Debug|Any CPU {A14029BA-CADE-4F25-ADC5-48CF14332F61}.Release|Any CPU.ActiveCfg = Release|Any CPU {A14029BA-CADE-4F25-ADC5-48CF14332F61}.Release|Any CPU.Build.0 = Release|Any CPU - {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Debug|Any CPU.Build.0 = Debug|Any CPU - {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Release|Any CPU.ActiveCfg = Release|Any CPU - {96D09C4A-C590-4E4D-AB54-3B6C8F677C29}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {57E64289-5D69-4AA1-BEF0-D0D96A55EE8F} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} @@ -153,14 +141,10 @@ Global {31EABE0B-871F-497B-BF36-37FFC6FAD15F} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {BB44E08E-CCA8-4E22-A132-11B2F69D1890} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {6FA3107D-42AF-42A0-BF51-2230D13268B5} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} - {1309954E-FAF7-47A5-9FF9-C7263B33E4E3} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {4E5289B5-E81D-421C-B340-B98B6FFE09D1} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} + {1309954E-FAF7-47A5-9FF9-C7263B33E4E3} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {A37676EA-CF2F-424D-85A1-C359D07A679D} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {76AD7BB0-A096-4336-83E2-B32CAE4E9933} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} {A14029BA-CADE-4F25-ADC5-48CF14332F61} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} - {96D09C4A-C590-4E4D-AB54-3B6C8F677C29} = {7DF99C35-881D-4FF2-B1C9-246BD3DECB9A} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B0BCC885-F07B-426E-B161-3B8575A07DA8} EndGlobalSection EndGlobal From a8ba6326cd67a5d70e558fee07a9cca11378f66b Mon Sep 17 00:00:00 2001 From: zonical Date: Sun, 1 Sep 2024 13:56:58 +1200 Subject: [PATCH 3/4] This didn't commit for some reason, add now --- src/scripting/natives/natives_cvariant.cpp | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/src/scripting/natives/natives_cvariant.cpp b/src/scripting/natives/natives_cvariant.cpp index 1c4d135d5..41f5b8a41 100644 --- a/src/scripting/natives/natives_cvariant.cpp +++ b/src/scripting/natives/natives_cvariant.cpp @@ -37,7 +37,67 @@ _fieldtypes GetVariantType(ScriptContext& script_context) return pVariant->m_type; } +static int GetVariantInt(ScriptContext& script_context) +{ + variant_t* pVariant = script_context.GetArgument(0); + if (!pVariant) + { + script_context.ThrowNativeError("Invalid variant pointer"); + return 0; + } + return pVariant->m_int; +} + +static uint GetVariantUInt(ScriptContext& script_context) +{ + variant_t* pVariant = script_context.GetArgument(0); + if (!pVariant) + { + script_context.ThrowNativeError("Invalid variant pointer"); + return 0; + } + return pVariant->m_uint; +} + +static float GetVariantFloat(ScriptContext& script_context) +{ + variant_t* pVariant = script_context.GetArgument(0); + if (!pVariant) + { + script_context.ThrowNativeError("Invalid variant pointer"); + return 0; + } + return pVariant->m_float; +} + +static const char* GetVariantString(ScriptContext& script_context) +{ + variant_t* pVariant = script_context.GetArgument(0); + if (!pVariant) + { + script_context.ThrowNativeError("Invalid variant pointer"); + return nullptr; + } + return pVariant->m_pszString; +} + +static bool GetVariantBool(ScriptContext& script_context) +{ + variant_t* pVariant = script_context.GetArgument(0); + if (!pVariant) + { + script_context.ThrowNativeError("Invalid variant pointer"); + return false; + } + return pVariant->m_bool; +} + REGISTER_NATIVES(cvariant, { ScriptEngine::RegisterNativeHandler("GET_VARIANT_TYPE", GetVariantType); + ScriptEngine::RegisterNativeHandler("GET_VARIANT_INT", GetVariantInt); + ScriptEngine::RegisterNativeHandler("GET_VARIANT_UINT", GetVariantUInt); + ScriptEngine::RegisterNativeHandler("GET_VARIANT_FLOAT", GetVariantFloat); + ScriptEngine::RegisterNativeHandler("GET_VARIANT_STRING", GetVariantString); + ScriptEngine::RegisterNativeHandler("GET_VARIANT_BOOL", GetVariantBool); }) } // namespace counterstrikesharp From f3599af47912ec5a9a410899c4a679257bb83557 Mon Sep 17 00:00:00 2001 From: zonical Date: Mon, 2 Sep 2024 09:01:55 +1200 Subject: [PATCH 4/4] Add CUtlSymbolLarge --- CMakeLists.txt | 1 + managed/CounterStrikeSharp.API/Core/API.cs | 11 +++++ .../Core/Model/CUtlSymbolLarge.cs | 20 +++++++++ src/scripting/natives/natives_cutil.cpp | 44 +++++++++++++++++++ src/scripting/natives/natives_cutil.yaml | 1 + 5 files changed, 77 insertions(+) create mode 100644 managed/CounterStrikeSharp.API/Core/Model/CUtlSymbolLarge.cs create mode 100644 src/scripting/natives/natives_cutil.cpp create mode 100644 src/scripting/natives/natives_cutil.yaml diff --git a/CMakeLists.txt b/CMakeLists.txt index 9fb93d7dd..af2fe82c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,6 +85,7 @@ set(SOURCE_FILES src/scripting/natives/natives_entities.cpp src/scripting/natives/natives_voice.cpp src/scripting/natives/natives_cvariant.cpp + src/scripting/natives/natives_cutil.cpp src/core/managers/entity_manager.cpp src/core/managers/entity_manager.h src/core/managers/chat_manager.cpp diff --git a/managed/CounterStrikeSharp.API/Core/API.cs b/managed/CounterStrikeSharp.API/Core/API.cs index a0f1425e7..71847a6b8 100644 --- a/managed/CounterStrikeSharp.API/Core/API.cs +++ b/managed/CounterStrikeSharp.API/Core/API.cs @@ -206,6 +206,17 @@ public static void SetFakeClientConvarValue(int clientindex, string convarname, } } + public static string GetStringFromSymbolLarge(IntPtr ppointer){ + lock (ScriptContext.GlobalScriptContext.Lock) { + ScriptContext.GlobalScriptContext.Reset(); + ScriptContext.GlobalScriptContext.Push(ppointer); + ScriptContext.GlobalScriptContext.SetIdentifier(0x600A804B); + ScriptContext.GlobalScriptContext.Invoke(); + ScriptContext.GlobalScriptContext.CheckErrors(); + return (string)ScriptContext.GlobalScriptContext.GetResult(typeof(string)); + } + } + public static uint GetVariantType(IntPtr pvariant){ lock (ScriptContext.GlobalScriptContext.Lock) { ScriptContext.GlobalScriptContext.Reset(); diff --git a/managed/CounterStrikeSharp.API/Core/Model/CUtlSymbolLarge.cs b/managed/CounterStrikeSharp.API/Core/Model/CUtlSymbolLarge.cs new file mode 100644 index 000000000..8b3a53c61 --- /dev/null +++ b/managed/CounterStrikeSharp.API/Core/Model/CUtlSymbolLarge.cs @@ -0,0 +1,20 @@ +using System.Reflection.Metadata; + +namespace CounterStrikeSharp.API.Core; + +public class CUtlSymbolLarge : NativeObject +{ + public CUtlSymbolLarge(IntPtr pointer) : base(pointer) + { + } + + public bool IsValid => Handle != IntPtr.Zero; + + public string String + { + get + { + return NativeAPI.GetStringFromSymbolLarge(Handle); + } + } +} diff --git a/src/scripting/natives/natives_cutil.cpp b/src/scripting/natives/natives_cutil.cpp new file mode 100644 index 000000000..8da585240 --- /dev/null +++ b/src/scripting/natives/natives_cutil.cpp @@ -0,0 +1,44 @@ +/* + * This file is part of CounterStrikeSharp. + * CounterStrikeSharp is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * CounterStrikeSharp is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with CounterStrikeSharp. If not, see . * + */ + +#include + +#include +#include + +#include "core/log.h" +#include "core/memory.h" +#include "scripting/autonative.h" +#include "scripting/script_engine.h" +#include "utlsymbollarge.h" + +namespace counterstrikesharp { + +const char* GetStringFromSymbolLarge(ScriptContext& script_context) +{ + CUtlSymbolLarge* pSymbolLarge = script_context.GetArgument(0); + if (!pSymbolLarge) + { + script_context.ThrowNativeError("Invalid CUtlSymbolLarge pointer"); + return ""; + } + return pSymbolLarge->String(); +} + +REGISTER_NATIVES(cutil, { + ScriptEngine::RegisterNativeHandler("GET_STRING_FROM_SYMBOL_LARGE", GetStringFromSymbolLarge); +}) +} // namespace counterstrikesharp diff --git a/src/scripting/natives/natives_cutil.yaml b/src/scripting/natives/natives_cutil.yaml new file mode 100644 index 000000000..d21ce2921 --- /dev/null +++ b/src/scripting/natives/natives_cutil.yaml @@ -0,0 +1 @@ +GET_STRING_FROM_SYMBOL_LARGE: pPointer:pointer -> string \ No newline at end of file