Skip to content

Commit 74ac24b

Browse files
committed
add player Ammo methods
1 parent 4fc9528 commit 74ac24b

File tree

10 files changed

+273
-8
lines changed

10 files changed

+273
-8
lines changed

api/AltV.Net.Async/Elements/Entities/AsyncPlayer.cs

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,6 +1307,96 @@ public ushort GetWeaponAmmo(uint weaponHash)
13071307
}
13081308
}
13091309

1310+
public void SetAmmoSpecialType(uint ammoHash, AmmoSpecialType ammoSpecialType)
1311+
{
1312+
lock (Player)
1313+
{
1314+
if (!AsyncContext.CheckIfExistsNullable(Player)) return;
1315+
Player.SetAmmoSpecialType(ammoHash, ammoSpecialType);
1316+
}
1317+
}
1318+
1319+
public AmmoSpecialType GetAmmoSpecialType(uint ammoHash)
1320+
{
1321+
lock (Player)
1322+
{
1323+
if (!AsyncContext.CheckIfExistsNullable(Player)) return default;
1324+
return Player.GetAmmoSpecialType(ammoHash);
1325+
}
1326+
}
1327+
1328+
public void SetAmmoFlags(uint ammoHash, AmmoFlags ammoFlags)
1329+
{
1330+
lock (Player)
1331+
{
1332+
if (!AsyncContext.CheckIfExistsNullable(Player)) return;
1333+
Player.SetAmmoFlags(ammoHash, ammoFlags);
1334+
}
1335+
}
1336+
1337+
public AmmoFlags GetAmmoFlags(uint ammoHash)
1338+
{
1339+
lock (Player)
1340+
{
1341+
if (!AsyncContext.CheckIfExistsNullable(Player)) return default;
1342+
return Player.GetAmmoFlags(ammoHash);
1343+
}
1344+
}
1345+
1346+
public void SetAmmoMax(uint ammoHash, int ammoMax)
1347+
{
1348+
lock (Player)
1349+
{
1350+
if (!AsyncContext.CheckIfExistsNullable(Player)) return;
1351+
Player.SetAmmoMax(ammoHash, ammoMax);
1352+
}
1353+
}
1354+
1355+
public int GetAmmoMax(uint ammoHash)
1356+
{
1357+
lock (Player)
1358+
{
1359+
if (!AsyncContext.CheckIfExistsNullable(Player)) return default;
1360+
return Player.GetAmmoMax(ammoHash);
1361+
}
1362+
}
1363+
1364+
public void SetAmmoMax50(uint ammoHash, int ammoMax)
1365+
{
1366+
lock (Player)
1367+
{
1368+
if (!AsyncContext.CheckIfExistsNullable(Player)) return;
1369+
Player.SetAmmoMax50(ammoHash, ammoMax);
1370+
}
1371+
}
1372+
1373+
public int GetAmmoMax50(uint ammoHash)
1374+
{
1375+
lock (Player)
1376+
{
1377+
if (!AsyncContext.CheckIfExistsNullable(Player)) return default;
1378+
return Player.GetAmmoMax50(ammoHash);
1379+
}
1380+
}
1381+
1382+
public void SetAmmoMax100(uint ammoHash, int ammoMax)
1383+
{
1384+
lock (Player)
1385+
{
1386+
if (!AsyncContext.CheckIfExistsNullable(Player)) return;
1387+
Player.SetAmmoMax100(ammoHash, ammoMax);
1388+
}
1389+
}
1390+
1391+
public int GetAmmoMax100(uint ammoHash)
1392+
{
1393+
lock (Player)
1394+
{
1395+
if (!AsyncContext.CheckIfExistsNullable(Player)) return default;
1396+
return Player.GetAmmoMax100(ammoHash);
1397+
}
1398+
}
1399+
13101400
[Obsolete("Use new async API instead")]
13111401
public IPlayer ToAsync(IAsyncContext asyncContext)
13121402
{

api/AltV.Net.CApi.Generator/TypeRegistry.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ public static class TypeRegistry
204204
{ "ClrPedModelInfo*", "nint" },
205205
{ "ClrWeaponModelInfo*", "nint" },
206206
{ "ClrDiscordUser*", "nint" },
207-
{ "ClrConfigNodeData*", "nint" }
207+
{ "ClrConfigNodeData*", "nint" },
208+
{ "ClrAmmoFlags*", "nint" }
208209
};
209210
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace AltV.Net.Elements.Entities;
2+
3+
public enum AmmoSpecialType : uint
4+
{
5+
None,
6+
ArmorPiercing,
7+
Explosive,
8+
FullMetalJacket,
9+
HollowPoint,
10+
Incendiary,
11+
Tracer,
12+
}

api/AltV.Net.CApi/Libraries/ClientLibrary.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ public unsafe interface IClientLibrary
830830

831831
public unsafe class ClientLibrary : IClientLibrary
832832
{
833-
public readonly uint Methods = 1572;
833+
public readonly uint Methods = 1575;
834834
public delegate* unmanaged[Cdecl]<nint, nint, void> Audio_AddOutput { get; }
835835
public delegate* unmanaged[Cdecl]<nint, nint> Audio_GetBaseObject { get; }
836836
public delegate* unmanaged[Cdecl]<nint, double> Audio_GetCurrentTime { get; }
@@ -3288,7 +3288,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
32883288
public ClientLibrary(Dictionary<ulong, IntPtr> funcTable)
32893289
{
32903290
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
3291-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 6667977309785723871UL) Outdated = true;
3291+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 16891803787576742001UL) Outdated = true;
32923292
Audio_AddOutput = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Audio_AddOutputDelegate>(funcTable, 9914412815391408844UL, Audio_AddOutputFallback);
32933293
Audio_GetBaseObject = (delegate* unmanaged[Cdecl]<nint, nint>) GetUnmanagedPtr<Audio_GetBaseObjectDelegate>(funcTable, 6330360502401226894UL, Audio_GetBaseObjectFallback);
32943294
Audio_GetCurrentTime = (delegate* unmanaged[Cdecl]<nint, double>) GetUnmanagedPtr<Audio_GetCurrentTimeDelegate>(funcTable, 2944324482134975819UL, Audio_GetCurrentTimeFallback);

api/AltV.Net.CApi/Libraries/ServerLibrary.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,11 @@ public unsafe interface IServerLibrary
117117
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearBloodDamage { get; }
118118
public delegate* unmanaged[Cdecl]<nint, byte, void> Player_ClearProps { get; }
119119
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearTasks { get; }
120+
public delegate* unmanaged[Cdecl]<nint, void> Player_DeallocAmmoFlags { get; }
120121
public delegate* unmanaged[Cdecl]<nint, nint, void> Player_DeleteLocalMetaData { get; }
121122
public delegate* unmanaged[Cdecl]<nint, void> Player_Despawn { get; }
122123
public delegate* unmanaged[Cdecl]<nint, uint, ushort> Player_GetAmmo { get; }
124+
public delegate* unmanaged[Cdecl]<nint, uint, nint> Player_GetAmmoFlags { get; }
123125
public delegate* unmanaged[Cdecl]<nint, uint, int> Player_GetAmmoMax { get; }
124126
public delegate* unmanaged[Cdecl]<nint, uint, int> Player_GetAmmoMax100 { get; }
125127
public delegate* unmanaged[Cdecl]<nint, uint, int> Player_GetAmmoMax50 { get; }
@@ -172,6 +174,7 @@ public unsafe interface IServerLibrary
172174
public delegate* unmanaged[Cdecl]<nint, uint, byte> Player_RemoveWeapon { get; }
173175
public delegate* unmanaged[Cdecl]<nint, uint, uint, void> Player_RemoveWeaponComponent { get; }
174176
public delegate* unmanaged[Cdecl]<nint, uint, ushort, void> Player_SetAmmo { get; }
177+
public delegate* unmanaged[Cdecl]<nint, uint, byte, byte, byte, byte, void> Player_SetAmmoFlags { get; }
175178
public delegate* unmanaged[Cdecl]<nint, uint, int, void> Player_SetAmmoMax { get; }
176179
public delegate* unmanaged[Cdecl]<nint, uint, int, void> Player_SetAmmoMax100 { get; }
177180
public delegate* unmanaged[Cdecl]<nint, uint, int, void> Player_SetAmmoMax50 { get; }
@@ -421,7 +424,7 @@ public unsafe interface IServerLibrary
421424

422425
public unsafe class ServerLibrary : IServerLibrary
423426
{
424-
public readonly uint Methods = 1572;
427+
public readonly uint Methods = 1575;
425428
public delegate* unmanaged[Cdecl]<nint, nint, void> BaseObject_DeleteSyncedMetaData { get; }
426429
public delegate* unmanaged[Cdecl]<nint, nint, nint, void> BaseObject_SetSyncedMetaData { get; }
427430
public delegate* unmanaged[Cdecl]<nint, nint, void> Blip_AddTargetPlayer { get; }
@@ -529,9 +532,11 @@ public unsafe class ServerLibrary : IServerLibrary
529532
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearBloodDamage { get; }
530533
public delegate* unmanaged[Cdecl]<nint, byte, void> Player_ClearProps { get; }
531534
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearTasks { get; }
535+
public delegate* unmanaged[Cdecl]<nint, void> Player_DeallocAmmoFlags { get; }
532536
public delegate* unmanaged[Cdecl]<nint, nint, void> Player_DeleteLocalMetaData { get; }
533537
public delegate* unmanaged[Cdecl]<nint, void> Player_Despawn { get; }
534538
public delegate* unmanaged[Cdecl]<nint, uint, ushort> Player_GetAmmo { get; }
539+
public delegate* unmanaged[Cdecl]<nint, uint, nint> Player_GetAmmoFlags { get; }
535540
public delegate* unmanaged[Cdecl]<nint, uint, int> Player_GetAmmoMax { get; }
536541
public delegate* unmanaged[Cdecl]<nint, uint, int> Player_GetAmmoMax100 { get; }
537542
public delegate* unmanaged[Cdecl]<nint, uint, int> Player_GetAmmoMax50 { get; }
@@ -584,6 +589,7 @@ public unsafe class ServerLibrary : IServerLibrary
584589
public delegate* unmanaged[Cdecl]<nint, uint, byte> Player_RemoveWeapon { get; }
585590
public delegate* unmanaged[Cdecl]<nint, uint, uint, void> Player_RemoveWeaponComponent { get; }
586591
public delegate* unmanaged[Cdecl]<nint, uint, ushort, void> Player_SetAmmo { get; }
592+
public delegate* unmanaged[Cdecl]<nint, uint, byte, byte, byte, byte, void> Player_SetAmmoFlags { get; }
587593
public delegate* unmanaged[Cdecl]<nint, uint, int, void> Player_SetAmmoMax { get; }
588594
public delegate* unmanaged[Cdecl]<nint, uint, int, void> Player_SetAmmoMax100 { get; }
589595
public delegate* unmanaged[Cdecl]<nint, uint, int, void> Player_SetAmmoMax50 { get; }
@@ -1043,12 +1049,16 @@ public unsafe class ServerLibrary : IServerLibrary
10431049
private static void Player_ClearPropsFallback(nint _player, byte _component) => throw new Exceptions.OutdatedSdkException("Player_ClearProps", "Player_ClearProps SDK method is outdated. Please update your module nuget");
10441050
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_ClearTasksDelegate(nint _player);
10451051
private static void Player_ClearTasksFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_ClearTasks", "Player_ClearTasks SDK method is outdated. Please update your module nuget");
1052+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_DeallocAmmoFlagsDelegate(nint _ammoFlags);
1053+
private static void Player_DeallocAmmoFlagsFallback(nint _ammoFlags) => throw new Exceptions.OutdatedSdkException("Player_DeallocAmmoFlags", "Player_DeallocAmmoFlags SDK method is outdated. Please update your module nuget");
10461054
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_DeleteLocalMetaDataDelegate(nint _player, nint _key);
10471055
private static void Player_DeleteLocalMetaDataFallback(nint _player, nint _key) => throw new Exceptions.OutdatedSdkException("Player_DeleteLocalMetaData", "Player_DeleteLocalMetaData SDK method is outdated. Please update your module nuget");
10481056
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_DespawnDelegate(nint _player);
10491057
private static void Player_DespawnFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_Despawn", "Player_Despawn SDK method is outdated. Please update your module nuget");
10501058
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate ushort Player_GetAmmoDelegate(nint _player, uint _ammoHash);
10511059
private static ushort Player_GetAmmoFallback(nint _player, uint _ammoHash) => throw new Exceptions.OutdatedSdkException("Player_GetAmmo", "Player_GetAmmo SDK method is outdated. Please update your module nuget");
1060+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate nint Player_GetAmmoFlagsDelegate(nint _player, uint _ammoHash);
1061+
private static nint Player_GetAmmoFlagsFallback(nint _player, uint _ammoHash) => throw new Exceptions.OutdatedSdkException("Player_GetAmmoFlags", "Player_GetAmmoFlags SDK method is outdated. Please update your module nuget");
10521062
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate int Player_GetAmmoMaxDelegate(nint _player, uint _ammoHash);
10531063
private static int Player_GetAmmoMaxFallback(nint _player, uint _ammoHash) => throw new Exceptions.OutdatedSdkException("Player_GetAmmoMax", "Player_GetAmmoMax SDK method is outdated. Please update your module nuget");
10541064
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate int Player_GetAmmoMax100Delegate(nint _player, uint _ammoHash);
@@ -1153,6 +1163,8 @@ public unsafe class ServerLibrary : IServerLibrary
11531163
private static void Player_RemoveWeaponComponentFallback(nint _player, uint _weapon, uint _component) => throw new Exceptions.OutdatedSdkException("Player_RemoveWeaponComponent", "Player_RemoveWeaponComponent SDK method is outdated. Please update your module nuget");
11541164
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_SetAmmoDelegate(nint _player, uint _ammoHash, ushort _ammo);
11551165
private static void Player_SetAmmoFallback(nint _player, uint _ammoHash, ushort _ammo) => throw new Exceptions.OutdatedSdkException("Player_SetAmmo", "Player_SetAmmo SDK method is outdated. Please update your module nuget");
1166+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_SetAmmoFlagsDelegate(nint _player, uint _ammoHash, byte _infiniteAmmo, byte _addSmokeOnExplosion, byte _fuse, byte _fixedAfterExplosion);
1167+
private static void Player_SetAmmoFlagsFallback(nint _player, uint _ammoHash, byte _infiniteAmmo, byte _addSmokeOnExplosion, byte _fuse, byte _fixedAfterExplosion) => throw new Exceptions.OutdatedSdkException("Player_SetAmmoFlags", "Player_SetAmmoFlags SDK method is outdated. Please update your module nuget");
11561168
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_SetAmmoMaxDelegate(nint _player, uint _ammoHash, int _ammoMax);
11571169
private static void Player_SetAmmoMaxFallback(nint _player, uint _ammoHash, int _ammoMax) => throw new Exceptions.OutdatedSdkException("Player_SetAmmoMax", "Player_SetAmmoMax SDK method is outdated. Please update your module nuget");
11581170
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_SetAmmoMax100Delegate(nint _player, uint _ammoHash, int _ammoMax100);
@@ -1652,7 +1664,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
16521664
public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
16531665
{
16541666
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
1655-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 6667977309785723871UL) Outdated = true;
1667+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 16891803787576742001UL) Outdated = true;
16561668
BaseObject_DeleteSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<BaseObject_DeleteSyncedMetaDataDelegate>(funcTable, 8228424877092269355UL, BaseObject_DeleteSyncedMetaDataFallback);
16571669
BaseObject_SetSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, nint, void>) GetUnmanagedPtr<BaseObject_SetSyncedMetaDataDelegate>(funcTable, 8002999088966424231UL, BaseObject_SetSyncedMetaDataFallback);
16581670
Blip_AddTargetPlayer = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Blip_AddTargetPlayerDelegate>(funcTable, 12411235729553386187UL, Blip_AddTargetPlayerFallback);
@@ -1760,9 +1772,11 @@ public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
17601772
Player_ClearBloodDamage = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_ClearBloodDamageDelegate>(funcTable, 1935399752104807234UL, Player_ClearBloodDamageFallback);
17611773
Player_ClearProps = (delegate* unmanaged[Cdecl]<nint, byte, void>) GetUnmanagedPtr<Player_ClearPropsDelegate>(funcTable, 14293729102633233291UL, Player_ClearPropsFallback);
17621774
Player_ClearTasks = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_ClearTasksDelegate>(funcTable, 2394928316223850939UL, Player_ClearTasksFallback);
1775+
Player_DeallocAmmoFlags = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_DeallocAmmoFlagsDelegate>(funcTable, 17674808600712417948UL, Player_DeallocAmmoFlagsFallback);
17631776
Player_DeleteLocalMetaData = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Player_DeleteLocalMetaDataDelegate>(funcTable, 18350138927152444768UL, Player_DeleteLocalMetaDataFallback);
17641777
Player_Despawn = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_DespawnDelegate>(funcTable, 10068978925729858744UL, Player_DespawnFallback);
17651778
Player_GetAmmo = (delegate* unmanaged[Cdecl]<nint, uint, ushort>) GetUnmanagedPtr<Player_GetAmmoDelegate>(funcTable, 6890209545812653225UL, Player_GetAmmoFallback);
1779+
Player_GetAmmoFlags = (delegate* unmanaged[Cdecl]<nint, uint, nint>) GetUnmanagedPtr<Player_GetAmmoFlagsDelegate>(funcTable, 10446003059764787426UL, Player_GetAmmoFlagsFallback);
17661780
Player_GetAmmoMax = (delegate* unmanaged[Cdecl]<nint, uint, int>) GetUnmanagedPtr<Player_GetAmmoMaxDelegate>(funcTable, 12499323796185454576UL, Player_GetAmmoMaxFallback);
17671781
Player_GetAmmoMax100 = (delegate* unmanaged[Cdecl]<nint, uint, int>) GetUnmanagedPtr<Player_GetAmmoMax100Delegate>(funcTable, 13784986107578511323UL, Player_GetAmmoMax100Fallback);
17681782
Player_GetAmmoMax50 = (delegate* unmanaged[Cdecl]<nint, uint, int>) GetUnmanagedPtr<Player_GetAmmoMax50Delegate>(funcTable, 11704988286424373327UL, Player_GetAmmoMax50Fallback);
@@ -1815,6 +1829,7 @@ public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
18151829
Player_RemoveWeapon = (delegate* unmanaged[Cdecl]<nint, uint, byte>) GetUnmanagedPtr<Player_RemoveWeaponDelegate>(funcTable, 6739305111416325852UL, Player_RemoveWeaponFallback);
18161830
Player_RemoveWeaponComponent = (delegate* unmanaged[Cdecl]<nint, uint, uint, void>) GetUnmanagedPtr<Player_RemoveWeaponComponentDelegate>(funcTable, 937601034617427157UL, Player_RemoveWeaponComponentFallback);
18171831
Player_SetAmmo = (delegate* unmanaged[Cdecl]<nint, uint, ushort, void>) GetUnmanagedPtr<Player_SetAmmoDelegate>(funcTable, 7259744676523289652UL, Player_SetAmmoFallback);
1832+
Player_SetAmmoFlags = (delegate* unmanaged[Cdecl]<nint, uint, byte, byte, byte, byte, void>) GetUnmanagedPtr<Player_SetAmmoFlagsDelegate>(funcTable, 5085700603299897862UL, Player_SetAmmoFlagsFallback);
18181833
Player_SetAmmoMax = (delegate* unmanaged[Cdecl]<nint, uint, int, void>) GetUnmanagedPtr<Player_SetAmmoMaxDelegate>(funcTable, 10836018786747292423UL, Player_SetAmmoMaxFallback);
18191834
Player_SetAmmoMax100 = (delegate* unmanaged[Cdecl]<nint, uint, int, void>) GetUnmanagedPtr<Player_SetAmmoMax100Delegate>(funcTable, 11695668961107082902UL, Player_SetAmmoMax100Fallback);
18201835
Player_SetAmmoMax50 = (delegate* unmanaged[Cdecl]<nint, uint, int, void>) GetUnmanagedPtr<Player_SetAmmoMax50Delegate>(funcTable, 8083052449033648842UL, Player_SetAmmoMax50Fallback);

api/AltV.Net.CApi/Libraries/SharedLibrary.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ public unsafe interface ISharedLibrary
361361

362362
public unsafe class SharedLibrary : ISharedLibrary
363363
{
364-
public readonly uint Methods = 1572;
364+
public readonly uint Methods = 1575;
365365
public delegate* unmanaged[Cdecl]<nint, uint> Audio_GetID { get; }
366366
public delegate* unmanaged[Cdecl]<nint, uint> AudioAttachedOutput_GetID { get; }
367367
public delegate* unmanaged[Cdecl]<nint, uint> AudioFrontendOutput_GetID { get; }
@@ -1412,7 +1412,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
14121412
public SharedLibrary(Dictionary<ulong, IntPtr> funcTable)
14131413
{
14141414
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
1415-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 6667977309785723871UL) Outdated = true;
1415+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 16891803787576742001UL) Outdated = true;
14161416
Audio_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<Audio_GetIDDelegate>(funcTable, 4464042055475980737UL, Audio_GetIDFallback);
14171417
AudioAttachedOutput_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<AudioAttachedOutput_GetIDDelegate>(funcTable, 17725794901805112189UL, AudioAttachedOutput_GetIDFallback);
14181418
AudioFrontendOutput_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<AudioFrontendOutput_GetIDDelegate>(funcTable, 11669001756876579861UL, AudioFrontendOutput_GetIDFallback);

0 commit comments

Comments
 (0)