From 7d36f59c4bb235a2f2755777dcf107c0537ed55e Mon Sep 17 00:00:00 2001 From: doxoh Date: Wed, 12 Jul 2023 21:44:52 +0200 Subject: [PATCH] add all weapon data getter --- c-api/core.cpp | 16 ++++++++++++++++ c-api/core.h | 5 ++++- c-api/func_table.cpp | 6 +++++- cpp-sdk | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/c-api/core.cpp b/c-api/core.cpp index d7333e5..e1c44c2 100644 --- a/c-api/core.cpp +++ b/c-api/core.cpp @@ -1800,5 +1800,21 @@ alt::IWorldObject* Core_GetWorldObjectByScriptID(alt::ICore* core, uint32_t scri { return core->GetWorldObjectByScriptID(scriptId); } + +uint64_t Core_GetAllWeaponDataCount(alt::ICore* core) +{ + return core->GetAllWeaponData().size(); +} + +void Core_GetAllWeaponData(alt::ICore* core, uint32_t weaponHashes[], uint64_t size) +{ + auto weaponData = core->GetAllWeaponData(); + if (weaponData.size() < size) { + size = weaponData.size(); + } + for (uint64_t i = 0; i < size; i++) { + weaponHashes[i] = weaponData[i]->GetNameHash(); + } +} #endif diff --git a/c-api/core.h b/c-api/core.h index 0daecc8..adce541 100644 --- a/c-api/core.h +++ b/c-api/core.h @@ -350,4 +350,7 @@ EXPORT_CLIENT alt::IBlip* Core_GetBlipByGameID(alt::ICore* core, uint32_t gameId EXPORT_CLIENT alt::ICheckpoint* Core_GetCheckpointByGameID(alt::ICore* core, uint32_t gameId); EXPORT_CLIENT uint8_t Core_IsWebViewGpuAccelerationActive(alt::ICore* core); -EXPORT_CLIENT alt::IWorldObject* Core_GetWorldObjectByScriptID(alt::ICore* core, uint32_t scriptId); \ No newline at end of file +EXPORT_CLIENT alt::IWorldObject* Core_GetWorldObjectByScriptID(alt::ICore* core, uint32_t scriptId); + +EXPORT_CLIENT uint64_t Core_GetAllWeaponDataCount(alt::ICore* core); +EXPORT_CLIENT void Core_GetAllWeaponData(alt::ICore* core, uint32_t weaponHashes[], uint64_t size); diff --git a/c-api/func_table.cpp b/c-api/func_table.cpp index 4126d0f..acb6d4d 100644 --- a/c-api/func_table.cpp +++ b/c-api/func_table.cpp @@ -1,6 +1,6 @@ #include "func_table.h" -inline uint64_t capiHash = 3791551142871488314UL; +inline uint64_t capiHash = 11130246753470560260UL; inline uint64_t capiHashes[] = { 0, #ifdef ALT_CLIENT_API @@ -125,6 +125,8 @@ inline uint64_t capiHashes[] = { 1212339219242517554UL, 11971296438427190394UL, 2905154853369701790UL, + 17040861123821249134UL, + 10675436726413059015UL, 18419578908798121866UL, 17324382311220306947UL, 16659676766335434349UL, @@ -1752,6 +1754,8 @@ inline void* capiPointers[] = { (void*) Core_DeallocDiscordUser, (void*) Core_Discord_GetOAuth2Token, (void*) Core_DoesConfigFlagExist, + (void*) Core_GetAllWeaponData, + (void*) Core_GetAllWeaponDataCount, (void*) Core_GetAudioCount, (void*) Core_GetAudioOutputs, (void*) Core_GetAudios, diff --git a/cpp-sdk b/cpp-sdk index 92f7565..6174829 160000 --- a/cpp-sdk +++ b/cpp-sdk @@ -1 +1 @@ -Subproject commit 92f75654aaf5df2b91c78d65f7773af8420f4198 +Subproject commit 6174829cb94e9918bda7794e00c8bb06035a5132