From 8539614d9be27a6fc69306e5180f39a80d7a6a64 Mon Sep 17 00:00:00 2001 From: Yimura Date: Sat, 26 Dec 2020 19:26:10 +0100 Subject: [PATCH] feat(Globals): Make sure players and screen sizes are updated --- BigBaseV2/src/features.cpp | 3 ++ BigBaseV2/src/features.hpp | 3 ++ .../src/features/update_player_structs.cpp | 33 +++++++++++++++++++ .../src/features/update_screen_sizes.cpp | 12 +++++++ 4 files changed, 51 insertions(+) create mode 100644 BigBaseV2/src/features/update_player_structs.cpp create mode 100644 BigBaseV2/src/features/update_screen_sizes.cpp diff --git a/BigBaseV2/src/features.cpp b/BigBaseV2/src/features.cpp index fa595322..88903fab 100644 --- a/BigBaseV2/src/features.cpp +++ b/BigBaseV2/src/features.cpp @@ -9,6 +9,9 @@ namespace big { g_playerId = PLAYER::PLAYER_ID(); + update_player_structs(); + update_screen_sizes(); + god_mode(); off_radar(); no_ragdoll(); diff --git a/BigBaseV2/src/features.hpp b/BigBaseV2/src/features.hpp index c46637ca..0c43edc1 100644 --- a/BigBaseV2/src/features.hpp +++ b/BigBaseV2/src/features.hpp @@ -26,5 +26,8 @@ namespace big void god_mode(); void off_radar(); void no_ragdoll(); + + void update_screen_sizes(); + void update_player_structs(); } } diff --git a/BigBaseV2/src/features/update_player_structs.cpp b/BigBaseV2/src/features/update_player_structs.cpp new file mode 100644 index 00000000..c513e83e --- /dev/null +++ b/BigBaseV2/src/features/update_player_structs.cpp @@ -0,0 +1,33 @@ +#include "features.hpp" + +namespace big +{ + void features::update_player_structs() + { + QUEUE_JOB_BEGIN_CLAUSE(= ) + { + for (UINT16 i = 0; i < 32; i++) + { + if (NETWORK::NETWORK_IS_PLAYER_CONNECTED(i)) + { + g_players[i].is_online = true; + + int iNetworkHandle[26]; + NETWORK::NETWORK_HANDLE_FROM_PLAYER(i, &iNetworkHandle[0], 13); + NETWORK::NETWORK_IS_HANDLE_VALID(&iNetworkHandle[0], 13) && NETWORK::NETWORK_IS_FRIEND(&iNetworkHandle[0]); + + g_players[i].is_friend = NETWORK::NETWORK_IS_HANDLE_VALID(iNetworkHandle, 13) && NETWORK::NETWORK_IS_FRIEND(iNetworkHandle); + + strcpy(g_players[i].name, PLAYER::GET_PLAYER_NAME(i)); + } + else + { + g_players[i].is_online = false; + g_players[i].is_friend = false; + } + + script::get_current()->yield(); + } + }QUEUE_JOB_END_CLAUSE + } +} \ No newline at end of file diff --git a/BigBaseV2/src/features/update_screen_sizes.cpp b/BigBaseV2/src/features/update_screen_sizes.cpp new file mode 100644 index 00000000..616d58fc --- /dev/null +++ b/BigBaseV2/src/features/update_screen_sizes.cpp @@ -0,0 +1,12 @@ +#include "features.hpp" + +namespace big +{ + void features::update_screen_sizes() + { + QUEUE_JOB_BEGIN_CLAUSE() + { + GRAPHICS::_GET_ACTIVE_SCREEN_RESOLUTION(&x, &y); + }QUEUE_JOB_END_CLAUSE + } +} \ No newline at end of file