Skip to content
This repository was archived by the owner on Mar 15, 2024. It is now read-only.

Commit 6a4bdb9

Browse files
committed
Fix(core): marshal pointer offset
1 parent 572d764 commit 6a4bdb9

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

Core/Bootstrap.cs

+7-5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using SourceSharp.Core.Utils;
77
using SourceSharp.Sdk.Interfaces;
88
using System;
9+
using System.Diagnostics;
910
using System.IO;
1011
using System.Reflection;
1112
using System.Runtime.InteropServices;
@@ -56,8 +57,8 @@ private static int Initialize()
5657
ValidateScopes = true
5758
});
5859

59-
Console.WriteLine("MaxClients is " + Bridges.SourceSharp.GetMaxClients());
60-
Console.WriteLine("MaxHumanPlayers is " + Bridges.SourceSharp.GetMaxHumanPlayers());
60+
Debug.Print("MaxClients is " + Bridges.SourceSharp.GetMaxClients());
61+
Debug.Print("MaxHumanPlayers is " + Bridges.SourceSharp.GetMaxHumanPlayers());
6162

6263
Boot(serviceProvider);
6364

@@ -83,11 +84,12 @@ private static void ConfigureServices(IServiceCollection services, IConfiguratio
8384
services.AddSingleton<ISourceSharpBase, SourceSharp>();
8485
services.AddSingleton<IShareSystemBase, ShareSystem>();
8586

86-
services.AddSingleton<IGameEventListener, GameEventListener>();
87+
services.AddSingleton<IAdminManager, AdminManager>();
8788
services.AddSingleton<ICommandListener, CommandListener>();
89+
//services.AddSingleton<IConVarManager, ConVarManager>();
90+
//services.AddSingleton<IGameEventListener, GameEventListener>();
8891
services.AddSingleton<IPlayerListener, PlayerListener>();
8992
services.AddSingleton<IPlayerManagerBase, PlayerManager>();
90-
services.AddSingleton<IAdminManager, AdminManager>();
9193

9294
services.AddSingleton<IPluginManager, PluginManager>();
9395
}
@@ -101,7 +103,7 @@ private static void Boot(IServiceProvider services)
101103
}
102104

103105
// Plugin Manager should be the LAST!
104-
services.GetRequiredService<IPluginManager>().Initialize();
106+
services.GetRequiredService<IPluginManager>().Initialize(services);
105107

106108
// export caller invoker
107109
Invoker.Initialize(services);

Core/Invoker.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ internal static class Invoker
2020
private static IPlayerManagerBase _playerManager;
2121
private static IPlayerListener _playerListener;
2222
private static IGameEventListener _gameEventListener;
23+
private static IConVarManager _conVarManager;
2324
#nullable restore
2425

2526
internal static void Initialize(IServiceProvider services)
@@ -29,7 +30,8 @@ internal static void Initialize(IServiceProvider services)
2930
_commandListener = services.GetRequiredService<ICommandListener>();
3031
_playerManager = services.GetRequiredService<IPlayerManagerBase>();
3132
_playerListener = services.GetRequiredService<IPlayerListener>();
32-
_gameEventListener = services.GetRequiredService<IGameEventListener>();
33+
//_gameEventListener = services.GetRequiredService<IGameEventListener>();
34+
//_conVarManager = services.GetRequiredService<IConVarManager>();
3335
}
3436

3537
/*
@@ -102,7 +104,7 @@ public static int ClientConsoleCommand(
102104

103105
var args = argc > 0 ? Enumerable.Range(0, argc - 1).Select(index =>
104106
{
105-
if (Marshal.PtrToStructure(IntPtr.Add(pArgs, index), typeof(IntPtr)) is IntPtr strPtr)
107+
if (Marshal.PtrToStructure(IntPtr.Add(pArgs, index * sizeof(int)), typeof(IntPtr)) is IntPtr strPtr)
106108
{
107109
var result = Marshal.PtrToStringAnsi(strPtr);
108110

0 commit comments

Comments
 (0)