From a20f601d78dbca5fd0ef7486eab81691f280742a Mon Sep 17 00:00:00 2001 From: Till Schreiber Date: Tue, 14 Jan 2025 14:16:14 +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 +++- 4 files changed, 16 insertions(+), 1 deletion(-) 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 658651b..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 = 992064889353150126UL; +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,