Compare commits

...

9 Commits
v272 ... v278

Author SHA1 Message Date
Ian Lucas
a0fcb7817e fix: remove command to use command manager (#579)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2024-10-11 02:15:01 +00:00
Nexd
cdb7a6ed17 New NetworkDisconnectionReason values (#621)
Co-authored-by: KillStr3aK <KillStr3aK@users.noreply.github.com>
2024-10-11 12:10:11 +10:00
dependabot[bot]
38e29531c3 [no ci] chore(deps): bump libraries/hl2sdk-cs2 from 9be8cba to fc4b98f (#620)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 01:43:51 +00:00
dependabot[bot]
5f95969980 [no ci] chore(deps): bump libraries/Protobufs from 3ea793c to 76e070d (#619)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 11:32:36 +10:00
dependabot[bot]
42dd270b78 chore(deps): bump libraries/Protobufs from 686a062 to 3ea793c (#607)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 14:17:45 +10:00
dependabot[bot]
b807c3eda8 chore(deps): bump libraries/hl2sdk-cs2 from 1f1d158 to 9be8cba (#606)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 14:06:59 +10:00
Michael Wilson
3ede4c366c [no ci] Update dependabot.yaml 2024-10-06 14:02:28 +10:00
number201724
49cc91e373 fix CreateEvent leak (#604) 2024-10-06 14:01:18 +10:00
StefanX
8a795de9fa fix: CCSPlayerPawnBase_PostThink signature (#601) 2024-10-06 13:55:05 +10:00
7 changed files with 29 additions and 23 deletions

View File

@@ -6,7 +6,8 @@ updates:
allow:
- dependency-name: "libraries/hl2sdk-cs2"
- dependency-name: "libraries/metamod-source"
- dependency-name: "libraries/Protobufs"
schedule:
interval: "daily"
commit-message:
prefix: "chore(deps)"
prefix: "chore(deps)"

View File

@@ -43,7 +43,7 @@
"signatures": {
"library": "server",
"windows": "48 ? ? 55 53 56 57 41 ? 48 ? ? ? 48 ? ? ? ? ? ? 4C 89 68",
"linux": "55 48 89 E5 41 56 41 55 41 54 53 48 89 FB 48 83 EC 30 E8 ? ? ? ?"
"linux": "55 48 89 E5 41 56 41 55 41 54 53 48 89 FB 48 83 EC 40 E8"
}
},
"CGameEventManager_Init": {

View File

@@ -116,9 +116,6 @@ namespace CounterStrikeSharp.API.Core
public readonly Dictionary<Delegate, CallbackSubscriber> Handlers =
new Dictionary<Delegate, CallbackSubscriber>();
public readonly Dictionary<Delegate, CallbackSubscriber> CommandHandlers =
new Dictionary<Delegate, CallbackSubscriber>();
public readonly Dictionary<Delegate, CallbackSubscriber> CommandListeners =
new Dictionary<Delegate, CallbackSubscriber>();
@@ -132,6 +129,8 @@ namespace CounterStrikeSharp.API.Core
internal readonly Dictionary<Delegate, EntityIO.EntityOutputCallback> EntitySingleOutputHooks =
new Dictionary<Delegate, EntityIO.EntityOutputCallback>();
public readonly List<CommandDefinition> CommandDefinitions = new List<CommandDefinition>();
public readonly List<Timer> Timers = new List<Timer>();
public delegate HookResult GameEventHandler<T>(T @event, GameEventInfo info) where T : GameEvent;
@@ -193,11 +192,13 @@ namespace CounterStrikeSharp.API.Core
public void AddCommand(string name, string description, CommandInfo.CommandCallback handler)
{
var definition = new CommandDefinition(name, description, handler);
CommandDefinitions.Add(definition);
CommandManager.RegisterCommand(definition);
}
private void AddCommand(CommandDefinition definition)
{
CommandDefinitions.Add(definition);
CommandManager.RegisterCommand(definition);
}
@@ -229,14 +230,13 @@ namespace CounterStrikeSharp.API.Core
/// <param name="handler">The callback function to be invoked when the command is executed.</param>
public void RemoveCommand(string name, CommandInfo.CommandCallback handler)
{
if (CommandHandlers.ContainsKey(handler))
var definition = CommandDefinitions.FirstOrDefault(
definition => definition.Name == name && definition.Callback == handler);
if (definition != null)
{
var subscriber = CommandHandlers[handler];
NativeAPI.RemoveCommand(name, subscriber.GetInputArgument());
FunctionReference.Remove(subscriber.GetReferenceIdentifier());
CommandHandlers.Remove(handler);
CommandDefinitions.Remove(definition);
CommandManager.RemoveCommand(definition);
}
}
@@ -621,11 +621,6 @@ namespace CounterStrikeSharp.API.Core
{
subscriber.Dispose();
}
foreach (var subscriber in CommandHandlers.Values)
{
subscriber.Dispose();
}
foreach (var subscriber in CommandListeners.Values)
{
@@ -642,6 +637,11 @@ namespace CounterStrikeSharp.API.Core
subscriber.Dispose();
}
foreach (var definition in CommandDefinitions)
{
CommandManager.RemoveCommand(definition);
}
foreach (var timer in Timers)
{
timer.Kill();
@@ -650,4 +650,4 @@ namespace CounterStrikeSharp.API.Core
_disposed = true;
}
}
}
}

View File

@@ -122,5 +122,7 @@ public enum NetworkDisconnectionReason
NETWORK_DISCONNECT_KICKED_IDLE = 158,
NETWORK_DISCONNECT_KICKED_SUICIDE = 159,
NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160,
NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161
NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161,
NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION = 162,
NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR = 163
}

View File

@@ -46,7 +46,10 @@ static IGameEvent *CreateEvent(ScriptContext &script_context) {
bool force = script_context.GetArgument<bool>(1);
auto pEvent = globals::gameEventManager->CreateEvent(name, force);
managed_game_events.push_back(pEvent);
if (pEvent != nullptr) {
managed_game_events.push_back(pEvent);
}
return pEvent;
}
@@ -301,4 +304,4 @@ REGISTER_NATIVES(events, {
ScriptEngine::RegisterNativeHandler("LOAD_EVENTS_FROM_FILE", LoadEventsFromFile);
})
} // namespace counterstrikesharp
} // namespace counterstrikesharp