diff options
author | bogie <priivet@gmail.com> | 2013-03-18 08:41:18 +0400 |
---|---|---|
committer | Stefan Hacker <dd0t@users.sourceforge.net> | 2013-03-29 01:29:23 +0400 |
commit | dab8157fb234819da9eb65169dc7ad598e7f1438 (patch) | |
tree | 98fe0b18487b436a472e60a6d64d5d8de75718b8 /plugins/bf3 | |
parent | d71b2fd04fc7635f9b0dcb0cf3e43813cdb59f81 (diff) |
Updated BF3 PA plugin to Endgame DLC(b1147186)
Diffstat (limited to 'plugins/bf3')
-rw-r--r-- | plugins/bf3/bf3.cpp | 31 |
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() { |