Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend get all functions #785

Merged
merged 10 commits into from
Sep 11, 2023
3 changes: 3 additions & 0 deletions api/AltV.Net.CApi.Generator/TypeRegistry.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public static class TypeRegistry
{ "alt::IAudioFilter*", "nint" },
{ "alt::IObject*", "nint" },
{ "alt::ITextLabel*", "nint" },
{ "alt::ITextLabel**", "nint" },
{ "alt::IVehicle**", "nint" },
{ "alt::IHandlingData*", "nint" },
{ "alt::IHandlingData*&", "nint*" },
Expand Down Expand Up @@ -81,7 +82,9 @@ public static class TypeRegistry
{ "alt::MValueConst**", "nint" },
{ "alt::MValueConst*[]", "nint[]" },
{ "alt::ILocalVehicle*", "nint" },
{ "alt::ILocalVehicle**", "nint" },
{ "alt::ILocalPed*", "nint" },
{ "alt::ILocalPed**", "nint" },
{ "int8_t", "sbyte" },
{ "int8_t&", "sbyte*" },
{ "uint8_t", "byte" },
Expand Down
24 changes: 22 additions & 2 deletions api/AltV.Net.CApi/Libraries/ClientLibrary.cs
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ public unsafe interface IClientLibrary
public delegate* unmanaged[Cdecl]<nint, int*, nint> Core_GetLocale { get; }
public delegate* unmanaged[Cdecl]<nint, nint, nint> Core_GetLocalMeta { get; }
public delegate* unmanaged[Cdecl]<nint, uint*, nint> Core_GetLocalObjects { get; }
public delegate* unmanaged[Cdecl]<nint, uint*, nint> Core_GetLocalPeds { get; }
public delegate* unmanaged[Cdecl]<nint, uint*, nint> Core_GetLocalVehicles { get; }
public delegate* unmanaged[Cdecl]<nint, nint, uint*, nint> Core_GetMapZoomDataByAlias { get; }
public delegate* unmanaged[Cdecl]<nint, int> Core_GetMsPerGameMinute { get; }
public delegate* unmanaged[Cdecl]<nint, int, ushort, Vector3*, void> Core_GetPedBonePos { get; }
Expand Down Expand Up @@ -305,6 +307,8 @@ public unsafe interface IClientLibrary
public delegate* unmanaged[Cdecl]<nint, ClientEvents.WorldObjectStreamOutModuleDelegate, void> Event_SetWorldObjectStreamOutDelegate { get; }
public delegate* unmanaged[Cdecl]<nint, nint> Font_GetBaseObject { get; }
public delegate* unmanaged[Cdecl]<nint, uint> Font_GetID { get; }
public delegate* unmanaged[Cdecl]<nint, void> FreeLocalPedArray { get; }
public delegate* unmanaged[Cdecl]<nint, void> FreeLocalVehicleArray { get; }
public delegate* unmanaged[Cdecl]<nint, void> FreeRmlElementArray { get; }
public delegate* unmanaged[Cdecl]<nint> GetNativeFuncTable { get; }
public delegate* unmanaged[Cdecl]<uint, float> Handling_GetAcceleration { get; }
Expand Down Expand Up @@ -877,7 +881,7 @@ public unsafe interface IClientLibrary

public unsafe class ClientLibrary : IClientLibrary
{
public readonly uint Methods = 1707;
public readonly uint Methods = 1716;
public delegate* unmanaged[Cdecl]<nint, nint, void> Audio_AddOutput { get; }
public delegate* unmanaged[Cdecl]<nint, nint> Audio_GetBaseObject { get; }
public delegate* unmanaged[Cdecl]<nint, double> Audio_GetCurrentTime { get; }
Expand Down Expand Up @@ -1021,6 +1025,8 @@ public unsafe class ClientLibrary : IClientLibrary
public delegate* unmanaged[Cdecl]<nint, int*, nint> Core_GetLocale { get; }
public delegate* unmanaged[Cdecl]<nint, nint, nint> Core_GetLocalMeta { get; }
public delegate* unmanaged[Cdecl]<nint, uint*, nint> Core_GetLocalObjects { get; }
public delegate* unmanaged[Cdecl]<nint, uint*, nint> Core_GetLocalPeds { get; }
public delegate* unmanaged[Cdecl]<nint, uint*, nint> Core_GetLocalVehicles { get; }
public delegate* unmanaged[Cdecl]<nint, nint, uint*, nint> Core_GetMapZoomDataByAlias { get; }
public delegate* unmanaged[Cdecl]<nint, int> Core_GetMsPerGameMinute { get; }
public delegate* unmanaged[Cdecl]<nint, int, ushort, Vector3*, void> Core_GetPedBonePos { get; }
Expand Down Expand Up @@ -1173,6 +1179,8 @@ public unsafe class ClientLibrary : IClientLibrary
public delegate* unmanaged[Cdecl]<nint, ClientEvents.WorldObjectStreamOutModuleDelegate, void> Event_SetWorldObjectStreamOutDelegate { get; }
public delegate* unmanaged[Cdecl]<nint, nint> Font_GetBaseObject { get; }
public delegate* unmanaged[Cdecl]<nint, uint> Font_GetID { get; }
public delegate* unmanaged[Cdecl]<nint, void> FreeLocalPedArray { get; }
public delegate* unmanaged[Cdecl]<nint, void> FreeLocalVehicleArray { get; }
public delegate* unmanaged[Cdecl]<nint, void> FreeRmlElementArray { get; }
public delegate* unmanaged[Cdecl]<nint> GetNativeFuncTable { get; }
public delegate* unmanaged[Cdecl]<uint, float> Handling_GetAcceleration { get; }
Expand Down Expand Up @@ -2027,6 +2035,10 @@ public unsafe class ClientLibrary : IClientLibrary
private static nint Core_GetLocalMetaFallback(nint _core, nint _key) => throw new Exceptions.OutdatedSdkException("Core_GetLocalMeta", "Core_GetLocalMeta SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate nint Core_GetLocalObjectsDelegate(nint _core, uint* _size);
private static nint Core_GetLocalObjectsFallback(nint _core, uint* _size) => throw new Exceptions.OutdatedSdkException("Core_GetLocalObjects", "Core_GetLocalObjects SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate nint Core_GetLocalPedsDelegate(nint _core, uint* _size);
private static nint Core_GetLocalPedsFallback(nint _core, uint* _size) => throw new Exceptions.OutdatedSdkException("Core_GetLocalPeds", "Core_GetLocalPeds SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate nint Core_GetLocalVehiclesDelegate(nint _core, uint* _size);
private static nint Core_GetLocalVehiclesFallback(nint _core, uint* _size) => throw new Exceptions.OutdatedSdkException("Core_GetLocalVehicles", "Core_GetLocalVehicles SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate nint Core_GetMapZoomDataByAliasDelegate(nint _core, nint _alias, uint* _id);
private static nint Core_GetMapZoomDataByAliasFallback(nint _core, nint _alias, uint* _id) => throw new Exceptions.OutdatedSdkException("Core_GetMapZoomDataByAlias", "Core_GetMapZoomDataByAlias SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate int Core_GetMsPerGameMinuteDelegate(nint _core);
Expand Down Expand Up @@ -2331,6 +2343,10 @@ public unsafe class ClientLibrary : IClientLibrary
private static nint Font_GetBaseObjectFallback(nint _font) => throw new Exceptions.OutdatedSdkException("Font_GetBaseObject", "Font_GetBaseObject SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate uint Font_GetIDDelegate(nint _font);
private static uint Font_GetIDFallback(nint _font) => throw new Exceptions.OutdatedSdkException("Font_GetID", "Font_GetID SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void FreeLocalPedArrayDelegate(nint _localPedArray);
private static void FreeLocalPedArrayFallback(nint _localPedArray) => throw new Exceptions.OutdatedSdkException("FreeLocalPedArray", "FreeLocalPedArray SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void FreeLocalVehicleArrayDelegate(nint _localVehicleArray);
private static void FreeLocalVehicleArrayFallback(nint _localVehicleArray) => throw new Exceptions.OutdatedSdkException("FreeLocalVehicleArray", "FreeLocalVehicleArray SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void FreeRmlElementArrayDelegate(nint _rmlElementArray);
private static void FreeRmlElementArrayFallback(nint _rmlElementArray) => throw new Exceptions.OutdatedSdkException("FreeRmlElementArray", "FreeRmlElementArray SDK method is outdated. Please update your module nuget");
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate nint GetNativeFuncTableDelegate();
Expand Down Expand Up @@ -3476,7 +3492,7 @@ public unsafe class ClientLibrary : IClientLibrary
public ClientLibrary(Dictionary<ulong, IntPtr> funcTable)
{
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 878848873631825315UL) Outdated = true;
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 10796895324229959904UL) Outdated = true;
Audio_AddOutput = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Audio_AddOutputDelegate>(funcTable, 9914412815391408844UL, Audio_AddOutputFallback);
Audio_GetBaseObject = (delegate* unmanaged[Cdecl]<nint, nint>) GetUnmanagedPtr<Audio_GetBaseObjectDelegate>(funcTable, 6330360502401226894UL, Audio_GetBaseObjectFallback);
Audio_GetCurrentTime = (delegate* unmanaged[Cdecl]<nint, double>) GetUnmanagedPtr<Audio_GetCurrentTimeDelegate>(funcTable, 2944324482134975819UL, Audio_GetCurrentTimeFallback);
Expand Down Expand Up @@ -3620,6 +3636,8 @@ public ClientLibrary(Dictionary<ulong, IntPtr> funcTable)
Core_GetLocale = (delegate* unmanaged[Cdecl]<nint, int*, nint>) GetUnmanagedPtr<Core_GetLocaleDelegate>(funcTable, 6468969374274395248UL, Core_GetLocaleFallback);
Core_GetLocalMeta = (delegate* unmanaged[Cdecl]<nint, nint, nint>) GetUnmanagedPtr<Core_GetLocalMetaDelegate>(funcTable, 15640072761507866309UL, Core_GetLocalMetaFallback);
Core_GetLocalObjects = (delegate* unmanaged[Cdecl]<nint, uint*, nint>) GetUnmanagedPtr<Core_GetLocalObjectsDelegate>(funcTable, 15584342624887125948UL, Core_GetLocalObjectsFallback);
Core_GetLocalPeds = (delegate* unmanaged[Cdecl]<nint, uint*, nint>) GetUnmanagedPtr<Core_GetLocalPedsDelegate>(funcTable, 11791992986566737666UL, Core_GetLocalPedsFallback);
Core_GetLocalVehicles = (delegate* unmanaged[Cdecl]<nint, uint*, nint>) GetUnmanagedPtr<Core_GetLocalVehiclesDelegate>(funcTable, 14867651012864451746UL, Core_GetLocalVehiclesFallback);
Core_GetMapZoomDataByAlias = (delegate* unmanaged[Cdecl]<nint, nint, uint*, nint>) GetUnmanagedPtr<Core_GetMapZoomDataByAliasDelegate>(funcTable, 2945049114999400896UL, Core_GetMapZoomDataByAliasFallback);
Core_GetMsPerGameMinute = (delegate* unmanaged[Cdecl]<nint, int>) GetUnmanagedPtr<Core_GetMsPerGameMinuteDelegate>(funcTable, 12789007219848936500UL, Core_GetMsPerGameMinuteFallback);
Core_GetPedBonePos = (delegate* unmanaged[Cdecl]<nint, int, ushort, Vector3*, void>) GetUnmanagedPtr<Core_GetPedBonePosDelegate>(funcTable, 9678094278922411472UL, Core_GetPedBonePosFallback);
Expand Down Expand Up @@ -3772,6 +3790,8 @@ public ClientLibrary(Dictionary<ulong, IntPtr> funcTable)
Event_SetWorldObjectStreamOutDelegate = (delegate* unmanaged[Cdecl]<nint, ClientEvents.WorldObjectStreamOutModuleDelegate, void>) GetUnmanagedPtr<Event_SetWorldObjectStreamOutDelegateDelegate>(funcTable, 1153552198753902363UL, Event_SetWorldObjectStreamOutDelegateFallback);
Font_GetBaseObject = (delegate* unmanaged[Cdecl]<nint, nint>) GetUnmanagedPtr<Font_GetBaseObjectDelegate>(funcTable, 11379805599200786692UL, Font_GetBaseObjectFallback);
Font_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<Font_GetIDDelegate>(funcTable, 1376680539423762501UL, Font_GetIDFallback);
FreeLocalPedArray = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<FreeLocalPedArrayDelegate>(funcTable, 11757712716565834838UL, FreeLocalPedArrayFallback);
FreeLocalVehicleArray = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<FreeLocalVehicleArrayDelegate>(funcTable, 11332368469424147882UL, FreeLocalVehicleArrayFallback);
FreeRmlElementArray = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<FreeRmlElementArrayDelegate>(funcTable, 14086618333811829142UL, FreeRmlElementArrayFallback);
GetNativeFuncTable = (delegate* unmanaged[Cdecl]<nint>) GetUnmanagedPtr<GetNativeFuncTableDelegate>(funcTable, 15955613981878964089UL, GetNativeFuncTableFallback);
Handling_GetAcceleration = (delegate* unmanaged[Cdecl]<uint, float>) GetUnmanagedPtr<Handling_GetAccelerationDelegate>(funcTable, 13640121750592766571UL, Handling_GetAccelerationFallback);
Expand Down
4 changes: 2 additions & 2 deletions api/AltV.Net.CApi/Libraries/ServerLibrary.cs
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@ public unsafe interface IServerLibrary

public unsafe class ServerLibrary : IServerLibrary
{
public readonly uint Methods = 1707;
public readonly uint Methods = 1716;
public delegate* unmanaged[Cdecl]<nint, nint, void> BaseObject_DeleteSyncedMetaData { get; }
public delegate* unmanaged[Cdecl]<nint, nint[], nint[], ulong, void> BaseObject_SetMultipleSyncedMetaData { get; }
public delegate* unmanaged[Cdecl]<nint, nint, nint, void> BaseObject_SetSyncedMetaData { get; }
Expand Down Expand Up @@ -1848,7 +1848,7 @@ public unsafe class ServerLibrary : IServerLibrary
public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
{
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 878848873631825315UL) Outdated = true;
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 10796895324229959904UL) Outdated = true;
BaseObject_DeleteSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<BaseObject_DeleteSyncedMetaDataDelegate>(funcTable, 8228424877092269355UL, BaseObject_DeleteSyncedMetaDataFallback);
BaseObject_SetMultipleSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint[], nint[], ulong, void>) GetUnmanagedPtr<BaseObject_SetMultipleSyncedMetaDataDelegate>(funcTable, 1390762125822890831UL, BaseObject_SetMultipleSyncedMetaDataFallback);
BaseObject_SetSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, nint, void>) GetUnmanagedPtr<BaseObject_SetSyncedMetaDataDelegate>(funcTable, 8002999088966424231UL, BaseObject_SetSyncedMetaDataFallback);
Expand Down