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:
authordavidebeatrici <davidebeatrici@gmail.com>2016-06-24 00:32:22 +0300
committerMikkel Krautz <mikkel@krautz.dk>2016-06-24 00:32:37 +0300
commited8748dc07536c2ca67f2e803bf183c20826ee42 (patch)
tree5d75edf1cccafdd15b96a9b4bbc9ad358a2c295f /plugins/bf4
parent51af7852474d92a7d0514a0f57903551c3595f97 (diff)
plugins: update memory addresses retrieval to use procptr32_t/procptr64_t.
Diffstat (limited to 'plugins/bf4')
-rw-r--r--plugins/bf4/bf4.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/plugins/bf4/bf4.cpp b/plugins/bf4/bf4.cpp
index 3e39069b2..a2bfae417 100644
--- a/plugins/bf4/bf4.cpp
+++ b/plugins/bf4/bf4.cpp
@@ -3,7 +3,7 @@
// 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_win32.h" // Include standard plugin header.
+#include "../mumble_plugin_win32_x64.h" // Include standard plugin header.
#include "../mumble_plugin_utils.h" // Include plugin header for special functions, like "escape".
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) {
@@ -16,37 +16,37 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
BYTE squad, squad_leader, squad_state;
// Server ID pointers
- BYTE *serverid_base = peekProc<BYTE *>(pModule + 0x02210658);
+ procptr64_t serverid_base = peekProc<procptr64_t>(pModule + 0x02210658);
if (!serverid_base) return false;
- BYTE *serverid_offset_0 = peekProc<BYTE *>(serverid_base + 0x18);
+ procptr64_t serverid_offset_0 = peekProc<procptr64_t>(serverid_base + 0x18);
if (!serverid_offset_0) return false;
- BYTE *serverid_offset_1 = peekProc<BYTE *>(serverid_offset_0 + 0x28);
+ procptr64_t serverid_offset_1 = peekProc<procptr64_t>(serverid_offset_0 + 0x28);
if (!serverid_offset_1) return false;
- BYTE *serverid_offset = peekProc<BYTE *>(serverid_offset_1 + 0x350);
+ procptr64_t serverid_offset = peekProc<procptr64_t>(serverid_offset_1 + 0x350);
if (!serverid_offset) return false;
// Squad pointers
- BYTE *squad_base = peekProc<BYTE *>(pModule + 0x02210718);
+ procptr64_t squad_base = peekProc<procptr64_t>(pModule + 0x02210718);
if (!squad_base) return false;
- BYTE *squad_offset_0 = peekProc<BYTE *>(squad_base + 0xD8);
+ procptr64_t squad_offset_0 = peekProc<procptr64_t>(squad_base + 0xD8);
if (!squad_offset_0) return false;
- BYTE *squad_offset_1 = peekProc<BYTE *>(squad_offset_0 + 0x100);
+ procptr64_t squad_offset_1 = peekProc<procptr64_t>(squad_offset_0 + 0x100);
if (!squad_offset_1) return false;
- BYTE *squad_offset_2 = peekProc<BYTE *>(squad_offset_1 + 0x58);
+ procptr64_t squad_offset_2 = peekProc<procptr64_t>(squad_offset_1 + 0x58);
if (!squad_offset_2) return false;
// Peekproc and assign game addresses to our containers, so we can retrieve positional data
- ok = peekProc((BYTE *) pModule + 0x21CAFF0, &state, 1) && // Magical state value: 0 when in-game and 1 when in menu/dead.
- peekProc((BYTE *) pModule + 0x21C6D40, avatar_pos, 12) && // Avatar Position values (X, Y and Z).
- peekProc((BYTE *) pModule + 0x21CAF80, camera_pos, 12) && // Camera Position values (X, Y and Z).
- peekProc((BYTE *) pModule + 0x21CAF60, avatar_top, 12) && // Avatar Top Vector values (X, Y and Z).
- peekProc((BYTE *) pModule + 0x21CAF70, avatar_front, 12) && // Avatar Front Vector values (X, Y and Z).
- peekProc((BYTE *) serverid_offset, serverid) && // Server ID (36 characters).
- peekProc((BYTE *) pModule + 0x21B80C0, host) && // Host value: "IP:Port" when in a server, "bot" when loading and empty when it's hidden.
- peekProc((BYTE *) pModule + 0x24AFAE5, team) && // Team value: US (United States); RU (Russia); CH (China).
- peekProc((BYTE *) squad_offset_2 + 0x230, squad) && // Squad value: 0 (not in a squad); 1 (Alpha); 2 (Bravo); 3 (Charlie)... 26 (Zulu).
- peekProc((BYTE *) squad_offset_2 + 0x234, squad_leader) && // Squad leader value: 0 (False); 1 (True).
- peekProc((BYTE *) squad_offset_2 + 0x235, squad_state); // Squad state value: 0 (Public); 1 (Private).
+ ok = peekProc(pModule + 0x21CAFF0, &state, 1) && // Magical state value: 0 when in-game and 1 when in menu/dead.
+ peekProc(pModule + 0x21C6D40, avatar_pos, 12) && // Avatar Position values (X, Y and Z).
+ peekProc(pModule + 0x21CAF80, camera_pos, 12) && // Camera Position values (X, Y and Z).
+ peekProc(pModule + 0x21CAF60, avatar_top, 12) && // Avatar Top Vector values (X, Y and Z).
+ peekProc(pModule + 0x21CAF70, avatar_front, 12) && // Avatar Front Vector values (X, Y and Z).
+ peekProc(serverid_offset, serverid) && // Server ID (36 characters).
+ peekProc(pModule + 0x21B80C0, host) && // Host value: "IP:Port" when in a server, "bot" when loading and empty when it's hidden.
+ peekProc(pModule + 0x24AFAE5, team) && // Team value: US (United States); RU (Russia); CH (China).
+ peekProc(squad_offset_2 + 0x230, squad) && // Squad value: 0 (not in a squad); 1 (Alpha); 2 (Bravo); 3 (Charlie)... 26 (Zulu).
+ peekProc(squad_offset_2 + 0x234, squad_leader) && // Squad leader value: 0 (False); 1 (True).
+ peekProc(squad_offset_2 + 0x235, squad_state); // Squad state value: 0 (Public); 1 (Private).
// This prevents the plugin from linking to the game in case something goes wrong during values retrieval from memory addresses.
if (! ok) {