From d84e3c52143c110c78e2ef1e71fcd09bd5d4c9e2 Mon Sep 17 00:00:00 2001 From: Till Schreiber Date: Tue, 14 Jan 2025 13:08:15 +0100 Subject: [PATCH] ALTV-643 - add IsInWater getter (#164) * ALTV-643 - add IsInWater getter * ALTV-643 - update sdk --- c-api/cache/CachedPlayer.h | 7 +++++++ c-api/entities/player.cpp | 5 +++++ c-api/entities/player.h | 1 + c-api/func_table.cpp | 4 +++- cpp-sdk | 2 +- 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/c-api/cache/CachedPlayer.h b/c-api/cache/CachedPlayer.h index 347d60b..61786c9 100644 --- a/c-api/cache/CachedPlayer.h +++ b/c-api/cache/CachedPlayer.h @@ -47,6 +47,7 @@ namespace cache _forwardSpeed(base->GetForwardSpeed()), _strafeSpeed(base->GetStrafeSpeed()), _parachuting(base->IsParachuting()), + _inWater(base->IsInWater()), #ifdef ALT_SERVER_API _superJumpEnabled(base->IsSuperJumpEnabled()), _crouching(base->IsCrouching()), @@ -297,6 +298,12 @@ namespace cache bool IsParachuting() const override { return _parachuting; } + + bool _inWater; + bool IsInWater() const override { + return _inWater; + } + #ifdef ALT_SERVER_API bool _connected; bool IsConnected() const override { diff --git a/c-api/entities/player.cpp b/c-api/entities/player.cpp index 1f7b0c6..01a8db4 100644 --- a/c-api/entities/player.cpp +++ b/c-api/entities/player.cpp @@ -198,6 +198,11 @@ uint8_t Player_IsParachuting(alt::IPlayer* player) return player->IsParachuting(); } +uint8_t Player_IsInWater(alt::IPlayer* player) +{ + return player->IsInWater(); +} + #ifdef ALT_SERVER_API alt::MValueConst* Player_GetLocalMetaData(alt::IPlayer* player, const char* key) { return AllocMValue(player->GetLocalMetaData(key)); diff --git a/c-api/entities/player.h b/c-api/entities/player.h index 8c72082..f18041c 100644 --- a/c-api/entities/player.h +++ b/c-api/entities/player.h @@ -255,6 +255,7 @@ EXPORT_CLIENT void Player_RemoveFilter(alt::IPlayer* player); EXPORT_CLIENT alt::IAudioFilter* Player_GetFilter(alt::IPlayer* player); EXPORT_SHARED uint8_t Player_IsParachuting(alt::IPlayer* player); +EXPORT_SHARED uint8_t Player_IsInWater(alt::IPlayer* player); EXPORT_CLIENT const char* Player_GetTaskData(alt::IPlayer* player, int32_t& size); diff --git a/c-api/func_table.cpp b/c-api/func_table.cpp index c1e0647..1338db7 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 = 13628227844990757996UL; +inline uint64_t capiHash = 9157281768489972218UL; inline uint64_t capiHashes[] = { 0, #ifdef ALT_CLIENT_API @@ -1268,6 +1268,7 @@ inline uint64_t capiHashes[] = { 9656359974229471670UL, 13866510163503569909UL, 3966288765716642074UL, + 12569204323936167181UL, 8318404148061760703UL, 7801590821162478013UL, 3159353707403506220UL, @@ -3088,6 +3089,7 @@ inline void* capiPointers[] = { (void*) Player_IsInMelee, (void*) Player_IsInRagdoll, (void*) Player_IsInVehicle, + (void*) Player_IsInWater, (void*) Player_IsJumping, (void*) Player_IsLeavingVehicle, (void*) Player_IsOnLadder, diff --git a/cpp-sdk b/cpp-sdk index 5507727..3df49e4 160000 --- a/cpp-sdk +++ b/cpp-sdk @@ -1 +1 @@ -Subproject commit 5507727239d5665e75828a7bec3f44bff245f3c8 +Subproject commit 3df49e42866c672c869feeafdd589fb4f34698a1