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:
authorbogie <priivet@gmail.com>2013-03-18 08:41:18 +0400
committerStefan Hacker <dd0t@users.sourceforge.net>2013-03-29 01:29:23 +0400
commitdab8157fb234819da9eb65169dc7ad598e7f1438 (patch)
tree98fe0b18487b436a472e60a6d64d5d8de75718b8 /plugins/bf3
parentd71b2fd04fc7635f9b0dcb0cf3e43813cdb59f81 (diff)
Updated BF3 PA plugin to Endgame DLC(b1147186)
Diffstat (limited to 'plugins/bf3')
-rw-r--r--plugins/bf3/bf3.cpp31
1 files changed, 13 insertions, 18 deletions
diff --git a/plugins/bf3/bf3.cpp b/plugins/bf3/bf3.cpp
index 97db7a41e..42c8b3460 100644
--- a/plugins/bf3/bf3.cpp
+++ b/plugins/bf3/bf3.cpp
@@ -33,18 +33,17 @@
#include "../mumble_plugin_win32.h"
static bool ptr_chain_valid = false;
-static BYTE *pmodule_bf3;
// Magic ptrs
-static BYTE* const state_ptr = (BYTE *) 0x02366F4C;
+static BYTE* const state_ptr = (BYTE *) 0x238ABDC;
// Vector ptrs
-static BYTE* const avatar_pos_ptr = (BYTE *) 0x02366EE0;
-static BYTE* const avatar_front_ptr = (BYTE *) 0x02366F10;
-static BYTE* const avatar_top_ptr = (BYTE *) 0x02366F00;
+static BYTE* const avatar_pos_ptr = (BYTE *) 0x0238AB70;
+static BYTE* const avatar_front_ptr = (BYTE *) 0x0238ABA0;
+static BYTE* const avatar_top_ptr = (BYTE *) 0x0238AB90;
// Context ptrs
-static BYTE* const ipport_ptr = (BYTE *) 0x0233DA30;
+static BYTE* const ipport_ptr = (BYTE *) 0x0235DB90;
// Identity ptrs
static BYTE *team_state_ptr;
@@ -52,7 +51,7 @@ static BYTE *squad_state_ptr;
static BYTE *squad_lead_state_ptr;
// Offsets
-static const int base_offset = 0x01F5CD6C;
+static const int base_offset = 0x01EF25C4;
static const int identity_offset1 = 0x1C;
static const int identity_offset2 = 0xBC;
static const int identity_offset3 = 0x36C;
@@ -86,19 +85,19 @@ inline bool resolve_ptrs() {
*/
/*
Magic:
- state : 0x02366F4C BYTE 1 when playing
+ state : 0x238ABDC BYTE 1 when playing
2 while in menu/dead
Context:
- IP:Port of server: 0233DA30 char[128] ip:port of the server
+ IP:Port of server: 0x0235DB90 char[128] ip:port of the server
Identity:
- Squad state: BF3.exe+0x01F5CD6C + 0x1C + 0xBC + 0x36C + 0x8 + 0x104 BYTE 0 is not in squad; 1 is in Alpha squad, 2 Bravo, ... , 9 India
- SLead state: BF3.exe+0x01F5CD6C + 0x1C + 0xBC + 0x36C + 0x8 + 0x108 BYTE 0 is not lead; 1 is lead
- Team state: BF3.exe+0x01F5CD6C + 0x1C + 0xBC + 0x31C BYTE 1 is blufor (US team, for example), 2 is opfor (RU), 0 is probably upcoming spec mode
+ Squad state: BF3.exe+0x01EF25C4 + 0x1C + 0xBC + 0x36C + 0x8 + 0x104 BYTE 0 is not in squad; 1 is in Alpha squad, 2 Bravo, ... , 9 India
+ SLead state: BF3.exe+0x01EF25C4 + 0x1C + 0xBC + 0x36C + 0x8 + 0x108 BYTE 0 is not lead; 1 is lead
+ Team state: BF3.exe+0x01EF25C4 + 0x1C + 0xBC + 0x31C BYTE 1 is blufor (US team, for example), 2 is opfor (RU), 0 is probably upcoming spec mode
*/
- BYTE *base_bf3 = peekProc<BYTE *>(pmodule_bf3 + base_offset);
+ BYTE *base_bf3 = peekProc<BYTE *>(pModule + base_offset);
if (!base_bf3)
return false;
@@ -203,10 +202,6 @@ static int trylock(const std::multimap<std::wstring, unsigned long long int> &pi
if (! initialize(pids, L"bf3.exe"))
return false;
- pmodule_bf3 = getModuleAddr(L"bf3.exe");
- if (!pmodule_bf3)
- return false;
-
float apos[3], afront[3], atop[3], cpos[3], cfront[3], ctop[3];
std::string context;
std::wstring identity;
@@ -223,7 +218,7 @@ static const std::wstring longdesc() {
return std::wstring(L"Supports Battlefield 3 with context and identity support.");
}
-static std::wstring description(L"Battlefield 3 v1089904 - Aftermath");
+static std::wstring description(L"Battlefield 3 v1147186 - Endgame");
static std::wstring shortname(L"Battlefield 3");
static int trylock1() {