#FC25 Memory Reference
File: FC25Memory.py · Class: FC25Memory · Game Process: FC25.exe
#Constructor
FC25Memory(addresses_path: str)| Parameter | Type | Description |
|---|---|---|
addresses_path |
str |
Path to addresses file (e.g., C:\FIFA25_MEMORY\addresses.txt) |
Initializes pymem connection to FC25.exe and reads memory addresses from file.
#Required Address Keys
| Key | Purpose | Read Method |
|---|---|---|
homeGoal1 |
Home team score | read_int |
awayGoal1 |
Away team score | read_int |
ptrMatchTime |
Pointer to match time | read_pointer → offset 0x24 → read_float |
ptrBallArray |
Pointer to ball data array | read_pointer → offset 0xA0/0x98 → read_float |
homeShot3 |
Home shots on target | read_int |
awayShot1 |
Away shots on target | read_int |
homeFoul1 |
Home fouls | read_int |
awayFoul1 |
Away fouls | read_int |
homeYellowC1 |
Home yellow cards | read_int |
awayYellowCard2 |
Away yellow cards | read_int |
homeRedA |
Home red cards | read_int |
awayRedA |
Away red cards | read_int |
ptrHomeTeamScore |
Pointer to Aranaktu home score | read_pointer → read_float |
ptrAwayTeamScore |
Pointer to Aranaktu away score | read_pointer → read_float |
ballIndex |
Ball tracking index | write_int (reset to 0) |
#Methods
#read_goals() → (int, int) ACTIVE
Returns (home_goal, away_goal) tuple. Returns None for either value on read failure.
#read_match_time() → float ACTIVE
Read match time from pointer chain: ptrMatchTime → offset 0x24 → float value.
#read_statistics() → dict ACTIVE
Returns dictionary with keys: homeShot3, awayShot1, homeFoul1, awayFoul1, homeYellowC1, awayYellowCard2.
#read_ball_position() → (float, float) ACTIVE
Read ball X/Y from pointer chain: ptrBallArray → offset 0xA0 (X) and 0x98 (Y).
#read_red_cards() → (int, int) ACTIVE
Read red card counts from direct addresses homeRedA and awayRedA.
#read_aranaktu_goal_home() → float ACTIVE
Read home score from Aranaktu pointer (float-based, alternative to homeGoal1).
#read_aranaktu_goal_away() → float ACTIVE
Read away score from Aranaktu pointer (float-based, alternative to awayGoal1).
#reset_ball_address() ACTIVE
Write 0 to ballIndex to reset ball position tracking.
#validate_all_memory(progress_callback) → list ACTIVE
Validates all memory addresses. Returns list of failed keys.
| Parameter | Type | Description |
|---|---|---|
progress_callback |
callable(current, total, key) |
Optional progress callback |
Validation checks:
- Key exists in address dict
- Address value is not 0
- For non-pointer keys: attempts
read_intto verify RAM access