Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert <krzmbrzl@gmail.com>2020-09-11 19:29:33 +0300
committerRobert <krzmbrzl@gmail.com>2020-09-11 19:29:33 +0300
commitaf7dac72f4063dd8d4dac71973ea51c25896089a (patch)
tree35558695aea94d48fd9e77d164d63fd8b7c76e90 /plugins/gtav
parent40b28b03c150b453e00c6bc4f8d6957caea59c51 (diff)
FORMAT: Run clang-format 10 on all C/CXX source-files
Diffstat (limited to 'plugins/gtav')
-rw-r--r--plugins/gtav/gtav.cpp138
1 files changed, 66 insertions, 72 deletions
diff --git a/plugins/gtav/gtav.cpp b/plugins/gtav/gtav.cpp
index f3ddadd98..9cd2bb1cd 100644
--- a/plugins/gtav/gtav.cpp
+++ b/plugins/gtav/gtav.cpp
@@ -3,54 +3,57 @@
// that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
-#include "../mumble_plugin_main.h" // Include standard plugin header.
+#include "../mumble_plugin_main.h" // Include standard plugin header.
#include "../mumble_plugin_utils.h" // Include plugin header for special functions, like "escape".
#include <algorithm> // Include algorithm header for the game version detector
-static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, float *camera_pos, float *camera_front, float *camera_top, std::string &context, std::wstring &identity) {
- for (int i=0;i<3;i++) {
+static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, float *camera_pos, float *camera_front,
+ float *camera_top, std::string &context, std::wstring &identity) {
+ for (int i = 0; i < 3; i++) {
avatar_pos[i] = avatar_front[i] = avatar_top[i] = camera_pos[i] = camera_front[i] = camera_top[i] = 0.0f;
}
// Memory addresses
char game_name[20];
- procptr_t state_address, avatar_pos_address, camera_pos_address, avatar_base_address, avatar_base, avatar_front_address, avatar_top_address, camera_front_address, camera_top_address, player_address, vehicle_address, location_address, street_address;
+ procptr_t state_address, avatar_pos_address, camera_pos_address, avatar_base_address, avatar_base,
+ avatar_front_address, avatar_top_address, camera_front_address, camera_top_address, player_address,
+ vehicle_address, location_address, street_address;
-#define VERSION_EQ(buf, strlit) \
- memcmp(buf, strlit, std::min(sizeof(buf), sizeof(strlit)-1)) == 0
+#define VERSION_EQ(buf, strlit) memcmp(buf, strlit, std::min(sizeof(buf), sizeof(strlit) - 1)) == 0
// Steam version
if (peekProc(pModule + 0x18C0C58, game_name) && VERSION_EQ(game_name, "Grand Theft Auto V")) {
- state_address = pModule + 0x28C3B30;
- avatar_pos_address = pModule + 0x1F43550;
- camera_pos_address = pModule + 0x1F4FE90;
+ state_address = pModule + 0x28C3B30;
+ avatar_pos_address = pModule + 0x1F43550;
+ camera_pos_address = pModule + 0x1F4FE90;
avatar_front_address = pModule + 0x1FF28F0;
- avatar_top_address = pModule + 0x1F533F0;
+ avatar_top_address = pModule + 0x1F533F0;
camera_front_address = pModule + 0x1D23C30;
- camera_top_address = pModule + 0x1F52470;
- player_address = pModule + 0x28D0E8C;
- vehicle_address = pModule + 0x24AE9A0;
- location_address = pModule + 0x24AE2DB;
- street_address = pModule + 0x24AB090;
- // Retail version
+ camera_top_address = pModule + 0x1F52470;
+ player_address = pModule + 0x28D0E8C;
+ vehicle_address = pModule + 0x24AE9A0;
+ location_address = pModule + 0x24AE2DB;
+ street_address = pModule + 0x24AB090;
+ // Retail version
} else if (peekProc(pModule + 0x180D4D8, game_name) && VERSION_EQ(game_name, "Grand Theft Auto V")) {
- state_address = pModule + 0x2733490;
- avatar_pos_address = pModule + 0x1F7EAA0;
- camera_pos_address = pModule + 0x1C58630;
+ state_address = pModule + 0x2733490;
+ avatar_pos_address = pModule + 0x1F7EAA0;
+ camera_pos_address = pModule + 0x1C58630;
avatar_base_address = pModule + 0x1B956C0;
// Avatar pointer
avatar_base = peekProcPtr(avatar_base_address);
- if (!avatar_base) return false;
+ if (!avatar_base)
+ return false;
avatar_front_address = avatar_base + 0x70;
- avatar_top_address = avatar_base + 0x80;
+ avatar_top_address = avatar_base + 0x80;
camera_front_address = pModule + 0x1C5A0F0;
- camera_top_address = pModule + 0x1F7D9F0;
- player_address = pModule + 0x273DBAC;
- vehicle_address = pModule + 0x2331890;
- location_address = pModule + 0x233125B;
- street_address = pModule + 0x232DFA0;
- // Unknown version
+ camera_top_address = pModule + 0x1F7D9F0;
+ player_address = pModule + 0x273DBAC;
+ vehicle_address = pModule + 0x2331890;
+ location_address = pModule + 0x233125B;
+ street_address = pModule + 0x232DFA0;
+ // Unknown version
} else {
generic_unlock();
return false;
@@ -60,34 +63,37 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
// Boolean value to check if game addresses retrieval is successful
bool ok;
// Create containers to stuff our raw data into, so we can convert it to Mumble's coordinate system
- float avatar_pos_corrector[3], camera_pos_corrector[3], avatar_front_corrector[3], avatar_top_corrector[3], camera_front_corrector[3], camera_top_corrector[3];
+ float avatar_pos_corrector[3], camera_pos_corrector[3], avatar_front_corrector[3], avatar_top_corrector[3],
+ camera_front_corrector[3], camera_top_corrector[3];
// Char values for extra features
char state, player[50], vehicle[50], location[50], street[50];
// Peekproc and assign game addresses to our containers, so we can retrieve positional data
- ok = peekProc(state_address, &state, 1) && // Magical state value: 0 when in single player, 2 when online and 3 when in a lobby.
- peekProc(avatar_pos_address, avatar_pos_corrector, 12) && // Avatar Position values (X, Z and Y).
- peekProc(camera_pos_address, camera_pos_corrector, 12) && // Camera Position values (X, Z and Y).
- peekProc(avatar_front_address, avatar_front_corrector, 12) && // Avatar Front Vector values (X, Z and Y).
- peekProc(avatar_top_address, avatar_top_corrector, 12) && // Avatar Top Vector values (X, Z and Y).
- peekProc(camera_front_address, camera_front_corrector, 12) && // Camera Front Vector values (X, Z and Y).
- peekProc(camera_top_address, camera_top_corrector, 12) && // Camera Top Vector values (X, Z and Y).
- peekProc(player_address, player) && // Player nickname.
- peekProc(vehicle_address, vehicle) && // Vehicle name if in a vehicle, empty if not.
- peekProc(location_address, location) && // Location name.
- peekProc(street_address, street); // Street name if on a street, empty if not.
-
- // This prevents the plugin from linking to the game in case something goes wrong during values retrieval from memory addresses.
- if (! ok)
+ ok = peekProc(state_address, &state, 1)
+ && // Magical state value: 0 when in single player, 2 when online and 3 when in a lobby.
+ peekProc(avatar_pos_address, avatar_pos_corrector, 12) && // Avatar Position values (X, Z and Y).
+ peekProc(camera_pos_address, camera_pos_corrector, 12) && // Camera Position values (X, Z and Y).
+ peekProc(avatar_front_address, avatar_front_corrector, 12) && // Avatar Front Vector values (X, Z and Y).
+ peekProc(avatar_top_address, avatar_top_corrector, 12) && // Avatar Top Vector values (X, Z and Y).
+ peekProc(camera_front_address, camera_front_corrector, 12) && // Camera Front Vector values (X, Z and Y).
+ peekProc(camera_top_address, camera_top_corrector, 12) && // Camera Top Vector values (X, Z and Y).
+ peekProc(player_address, player) && // Player nickname.
+ peekProc(vehicle_address, vehicle) && // Vehicle name if in a vehicle, empty if not.
+ peekProc(location_address, location) && // Location name.
+ peekProc(street_address, street); // Street name if on a street, empty if not.
+
+ // This prevents the plugin from linking to the game in case something goes wrong during values retrieval from
+ // memory addresses.
+ if (!ok)
return false;
// State
- if (state != 2) { // If not in-game
- context.clear(); // Clear context
+ if (state != 2) { // If not in-game
+ context.clear(); // Clear context
identity.clear(); // Clear identity
// Set vectors values to 0.
- for (int i=0;i<3;i++)
- avatar_pos[i] = avatar_front[i] = avatar_top[i] = camera_pos[i] = camera_front[i] = camera_top[i] = 0.0f;
+ for (int i = 0; i < 3; i++)
+ avatar_pos[i] = avatar_front[i] = avatar_top[i] = camera_pos[i] = camera_front[i] = camera_top[i] = 0.0f;
return true; // This tells Mumble to ignore all vectors.
}
@@ -97,8 +103,8 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
// Host
escape(host);
- if (strcmp(host, "") != 0 && !strstr(host, "127.0.0.1")) { // Set host string as empty if "127.0.0.1" is found in it.
- ocontext << " {\"Host\": \"" << host << "\"}"; // Set context with IP address and port
+ if (strcmp(host, "") != 0 && !strstr(host, "127.0.0.1")) { // Set host string as empty if "127.0.0.1" is found in
+ it. ocontext << " {\"Host\": \"" << host << "\"}"; // Set context with IP address and port
}
context = ocontext.str();
@@ -181,9 +187,8 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
return true;
}
-static int trylock(const std::multimap<std::wstring, unsigned long long int> &pids) {
-
- if (! initialize(pids, L"GTA5.exe")) { // Retrieve game executable's memory address
+static int trylock(const std::multimap< std::wstring, unsigned long long int > &pids) {
+ if (!initialize(pids, L"GTA5.exe")) { // Retrieve game executable's memory address
return false;
}
@@ -201,33 +206,22 @@ static int trylock(const std::multimap<std::wstring, unsigned long long int> &pi
}
static const std::wstring longdesc() {
- return std::wstring(L"Supports Grand Theft Auto V version 1.50 Build 1868 (Steam) and 1.38 (Retail) with identity support."); // Plugin long description
+ return std::wstring(L"Supports Grand Theft Auto V version 1.50 Build 1868 (Steam) and 1.38 (Retail) with identity "
+ L"support."); // Plugin long description
}
-static std::wstring description(L"Grand Theft Auto V (1.50 Build 1868 [Steam] & v1.38 [Retail])"); // Plugin short description
-static std::wstring shortname(L"Grand Theft Auto V"); // Plugin short name
+static std::wstring
+ description(L"Grand Theft Auto V (1.50 Build 1868 [Steam] & v1.38 [Retail])"); // Plugin short description
+static std::wstring shortname(L"Grand Theft Auto V"); // Plugin short name
static int trylock1() {
- return trylock(std::multimap<std::wstring, unsigned long long int>());
+ return trylock(std::multimap< std::wstring, unsigned long long int >());
}
-static MumblePlugin gtavplug = {
- MUMBLE_PLUGIN_MAGIC,
- description,
- shortname,
- nullptr,
- nullptr,
- trylock1,
- generic_unlock,
- longdesc,
- fetch
-};
-
-static MumblePlugin2 gtavplug2 = {
- MUMBLE_PLUGIN_MAGIC_2,
- MUMBLE_PLUGIN_VERSION,
- trylock
-};
+static MumblePlugin gtavplug = { MUMBLE_PLUGIN_MAGIC, description, shortname, nullptr, nullptr, trylock1,
+ generic_unlock, longdesc, fetch };
+
+static MumblePlugin2 gtavplug2 = { MUMBLE_PLUGIN_MAGIC_2, MUMBLE_PLUGIN_VERSION, trylock };
extern "C" MUMBLE_PLUGIN_EXPORT MumblePlugin *getMumblePlugin() {
return &gtavplug;