Skip to content

Commit

Permalink
Merge PR #3077: plugins/bf1: update plugin to work with version 1.0.4…
Browse files Browse the repository at this point in the history
…9.52296
  • Loading branch information
mkrautz committed May 8, 2017
2 parents ffa3be9 + 75c4de8 commit 46fb405
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions plugins/bf1/bf1.cpp
Expand Up @@ -16,7 +16,7 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
BYTE squad, squad_leader; BYTE squad, squad_leader;


// State pointers // State pointers
procptr64_t state_base = peekProc<procptr64_t>(pModule + 0x33C5E08); procptr64_t state_base = peekProc<procptr64_t>(pModule + 0x33DBD08);
if (!state_base) return false; if (!state_base) return false;
procptr64_t state_offset_0 = peekProc<procptr64_t>(state_base + 0x5F0); procptr64_t state_offset_0 = peekProc<procptr64_t>(state_base + 0x5F0);
if (!state_offset_0) return false; if (!state_offset_0) return false;
Expand All @@ -28,17 +28,21 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
if (!state_offset_3) return false; if (!state_offset_3) return false;


// Camera pointer // Camera pointer
procptr64_t camera_base = peekProc<procptr64_t>(pModule + 0x3678928); procptr64_t camera_base = peekProc<procptr64_t>(pModule + 0x368E828);
if (!camera_base) return false; if (!camera_base) return false;


// Server name pointers // Server name pointers
procptr64_t server_name_base = peekProc<procptr64_t>(pModule + 0x36AF4F8); procptr64_t server_name_base = peekProc<procptr64_t>(pModule + 0x3103A38);
if (!server_name_base) return false; if (!server_name_base) return false;
procptr64_t server_name_offset = peekProc<procptr64_t>(server_name_base + 0x80); procptr64_t server_name_offset_0 = peekProc<procptr64_t>(server_name_base + 0x738);
if (!server_name_offset) return false; if (!server_name_offset_0) return false;
procptr64_t server_name_offset_1 = peekProc<procptr64_t>(server_name_offset_0 + 0x370);
if (!server_name_offset_1) return false;
procptr64_t server_name_offset_2 = peekProc<procptr64_t>(server_name_offset_1 + 0x10);
if (!server_name_offset_2) return false;


// Team pointers // Team pointers
procptr64_t team_base = peekProc<procptr64_t>(pModule + 0x36B6400); procptr64_t team_base = peekProc<procptr64_t>(pModule + 0x36CC128);
if (!team_base) return false; if (!team_base) return false;
procptr64_t team_offset_0 = peekProc<procptr64_t>(team_base + 0x20); procptr64_t team_offset_0 = peekProc<procptr64_t>(team_base + 0x20);
if (!team_offset_0) return false; if (!team_offset_0) return false;
Expand All @@ -48,7 +52,7 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa
if (!team_offset_2) return false; if (!team_offset_2) return false;


// Squad pointers // Squad pointers
procptr64_t squad_base = peekProc<procptr64_t>(pModule + 0x31ADF40); procptr64_t squad_base = peekProc<procptr64_t>(pModule + 0x31C3E40);
if (!squad_base) return false; if (!squad_base) return false;
procptr64_t squad_offset_0 = peekProc<procptr64_t>(squad_base + 0x30); procptr64_t squad_offset_0 = peekProc<procptr64_t>(squad_base + 0x30);
if (!squad_offset_0) return false; if (!squad_offset_0) return false;
Expand All @@ -61,11 +65,11 @@ static int fetch(float *avatar_pos, float *avatar_front, float *avatar_top, floa


// Peekproc and assign game addresses to our containers, so we can retrieve positional data // Peekproc and assign game addresses to our containers, so we can retrieve positional data
ok = peekProc(state_offset_3 + 0x50, &state, 1) && // Magical state value: 1 when in-game and 0 when not spawned or playing. ok = peekProc(state_offset_3 + 0x50, &state, 1) && // Magical state value: 1 when in-game and 0 when not spawned or playing.
peekProc(pModule + 0x369B1E0, avatar_pos, 12) && // Avatar position values (X, Y and Z). peekProc(pModule + 0x36B1500, avatar_pos, 12) && // Avatar position values (X, Y and Z).
peekProc(camera_base + 0x2B0, camera_pos, 12) && // Camera position values (X, Y and Z). peekProc(camera_base + 0x2B0, camera_pos, 12) && // Camera position values (X, Y and Z).
peekProc(camera_base + 0x260, camera_front, 12) && // Avatar front vector values (X, Y and Z). peekProc(camera_base + 0x260, camera_front, 12) && // Avatar front vector values (X, Y and Z).
peekProc(camera_base + 0x250, camera_top, 12) && // Avatar top vector values (X, Y and Z). peekProc(camera_base + 0x250, camera_top, 12) && // Avatar top vector values (X, Y and Z).
peekProc(server_name_offset, server_name) && // Server name. peekProc(server_name_offset_2, server_name) && // Server name.
peekProc(team_offset_2 + 0x13, team) && // Team name. peekProc(team_offset_2 + 0x13, team) && // Team name.
peekProc(squad_offset_3 + 0x240, squad) && // Squad value: 0 (not in a squad), 1 (Apples), 2 (Butter), 3 (Charlie)... 26 (Zebra). peekProc(squad_offset_3 + 0x240, squad) && // Squad value: 0 (not in a squad), 1 (Apples), 2 (Butter), 3 (Charlie)... 26 (Zebra).
peekProc(squad_offset_3 + 0x244, squad_leader); // Squad leader value: 0 (False), 1 (True). peekProc(squad_offset_3 + 0x244, squad_leader); // Squad leader value: 0 (False), 1 (True).
Expand Down Expand Up @@ -221,7 +225,7 @@ static const std::wstring longdesc() {
return std::wstring(L"Supports Battlefield 1 with context and identity support."); // Plugin long description return std::wstring(L"Supports Battlefield 1 with context and identity support."); // Plugin long description
} }


static std::wstring description(L"Battlefield 1 version 1.0.49.28890"); // Plugin short description static std::wstring description(L"Battlefield 1 version 1.0.49.52296"); // Plugin short description
static std::wstring shortname(L"Battlefield 1"); // Plugin short name static std::wstring shortname(L"Battlefield 1"); // Plugin short name


static int trylock1() { static int trylock1() {
Expand Down

0 comments on commit 46fb405

Please sign in to comment.