Congratulations /mlp/! | ||
Winners of the 2024 4chan Spring Babby Cup |
Difference between revisions of "Pro Evolution Soccer 2019/Edit file"
Giovani1906 (talk | contribs) |
Noteperson (talk | contribs) (Removing unconfirmed information about Team Game Plan section from previous version; adding accurate position of captain index) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 25: | Line 25: | ||
=== Header === | === Header === | ||
Length: 124 (0x7C) bytes | Start: HEX block 0 <br> | ||
End: HEX block 7B <br> | |||
Length: 124 (0x7C) bytes, first 96 (0x60) omitted for now | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 36: | Line 38: | ||
! Default value | ! Default value | ||
|- | |- | ||
| | | 0x60:0 | ||
| 2 bytes | |||
| Amount of player entires (appearance and data) | |||
| | |||
| | |||
| | |||
|- | |- | ||
| 0x62:0 | |||
| 2 bytes | |||
| ''Unknown A'' | |||
| Possible leftover of appearance entry count. | |||
| | |||
| 0x0000 | |||
|- | |- | ||
| | | 0x64:0 | ||
| | | 2 bytes | ||
| | | Amount of team entires | ||
| | |||
| | |||
| | | | ||
|- | |- | ||
| | | 0x66:0 | ||
| | | 2 bytes | ||
| | | Amount of manager entries | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x68:0 | ||
| 2 bytes | | 2 bytes | ||
| | | Amount of stadium entires | ||
| | | | ||
| | |||
| | | | ||
|- | |- | ||
| | | 0x6A:0 | ||
| | | 2 bytes | ||
| | | Amount of competition entries | ||
| | |||
| | |||
| | | | ||
|- | |- | ||
| | | 0x6C:0 | ||
| | | 2 bytes | ||
| | | Amount of entries of a currently undocumented entry | ||
| | |||
| | |||
| | | | ||
|- | |- | ||
| | | 0x6E:0 | ||
| | | 2 bytes | ||
| | | ''Unknown B'' | ||
| | | | ||
| | | | ||
| | | 0x0000 | ||
|- | |- | ||
| | | 0x70:0 | ||
| | | 2 bytes | ||
| | | Amount of team-player table entries | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x72:0 | ||
| | | 2 bytes | ||
| | | ''Unknown C'' | ||
| | | | ||
| | | | ||
| | | 0x0000 | ||
|- | |- | ||
| | | 0x74:0 | ||
| | | 2 bytes | ||
| | | Amount of team game plan entries | ||
| | |||
| | |||
| | | | ||
|- | |- | ||
| | | 0x76:0 | ||
| 2 | | 2 bytes | ||
| | | ''Unknown D'' | ||
| | | | ||
| | | | ||
| | | 0x0000 | ||
|- | |- | ||
| | | 0x78:0 | ||
| | | 2 bytes | ||
| | | ''Unknown E'' | ||
| | |||
| | | | ||
| | | 0x0000 | ||
|- | |- | ||
| | | 0x7A:0 | ||
| | | 2 bytes | ||
| | | ''Unknown F'' | ||
| | | | ||
| | | | ||
| | | 0x0000 | ||
|- | |- | ||
| | |} | ||
=== Player entry === | |||
Start: HEX block 7C <br> | |||
End: HEX block 5BCC83 <br> | |||
| | Entry length: 116 (0x74) bytes | ||
{| class="wikitable" | |||
|- | |- | ||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |- | ||
| | | 0x00:0 | ||
| | | 4 bytes | ||
| | | Player ID | ||
| | | | ||
| | | PES: must be unique | ||
| >= 1048576 | |||
|- | |- | ||
| | | 0x04:0 | ||
| | | 4 bytes | ||
| | | Commentary Name | ||
| | | References a player ID (0xFFFFFFFF = None) | ||
| PES: | | PES: apparently none | ||
| | | 0xFFFFFFFF | ||
|- | |- | ||
| | | 0x08:0 | ||
| | | 2 bytes | ||
| | | Nationality/Region | ||
| 0x0401 = Others | |||
| | | | ||
| | | 0x0401 | ||
|- | |- | ||
| | | 0x0A:0 | ||
| | | 8 bits | ||
| | | Height (cm) | ||
| | | | ||
| PES: must be in range [ | | PES: must be in range [155, 210] | ||
| | | 185 | ||
|- | |- | ||
| | | 0x0B:0 | ||
| | | 8 bits | ||
| | | Weight (kg) | ||
| | | | ||
| PES: must be in range [ | | PES: must be in range [max(30, ''Height'' - 129), ''Height'' - 81] | ||
| | | 80 | ||
|- | |- | ||
| | | 0x0C:0 | ||
| | | 8 bits | ||
| Motion: | | Motion: Goal Celebration 1 | ||
| | | 0 = OFF | ||
| PES: must be in range [0, | | PES: must be in range [0, 140] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x0D:0 | ||
| | | 8 bits | ||
| | | Motion: Goal Celebration 2 | ||
| | | 0 = OFF | ||
| | | PES: must be in range [0, 140] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x0E:0 | ||
| 7 bits | | 7 bits | ||
| | | Attacking Prowess | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x0E:7 | ||
| 7 bits | | 7 bits | ||
| | | Ball Control | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x0F:6 | ||
| 2 bits | |||
| Weak Foot Usage | |||
| In-game value minus one | |||
| PES: must be in range [0, 3] | |||
| 1 | |||
|- | |||
| 0x10:0 | |||
| 7 bits | | 7 bits | ||
| | | Low Pass | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x10:7 | ||
| 7 bits | | 7 bits | ||
| | | Lofted Pass | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x11:6 | ||
| 3 bits | | 7 bits | ||
| Motion: | | Finishing | ||
| In-game value minus one | | | ||
| PES: must be in range [0, | | PES: must be in range [40, 99] | ||
| 77 | |||
|- | |||
| 0x12:5 | |||
| 7 bits | |||
| Place Kicking | |||
| | |||
| PES: must be in range [40, 99] | |||
| 77 | |||
|- | |||
| 0x13:4 | |||
| 3 bits | |||
| Motion: Arm Movement (Dribbling) | |||
| In-game value minus one | |||
| PES: must be in range [0, 7] (full range) | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x13:7 | ||
| 1 bit | | 1 bit | ||
| ''Unknown | | ''Unknown A'' | ||
| Presumably unused/padding. | | Presumably unused/padding. | ||
| | | | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x14:0 | ||
| 7 bits | | 7 bits | ||
| | | Header | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x14:7 | ||
| 7 bits | | 7 bits | ||
| | | Defensive Prowess | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x15:6 | ||
| 7 bits | | 7 bits | ||
| | | Ball Winning | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x16:5 | ||
| 7 bits | | 7 bits | ||
| | | Kicking Power | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x17:4 | ||
| 3 bits | | 3 bits | ||
| | | Motion: Arm Movement (Running) | ||
| In-game value minus one | | In-game value minus one | ||
| PES: must be in range [0, 7] (full range) | | PES: must be in range [0, 7] (full range) | ||
| | | 0 | ||
|- | |- | ||
| | | 0x17:7 | ||
| 1 bit | | 1 bit | ||
| | | ''Unknown B'' | ||
| | | Presumably unused/padding. | ||
| | |||
| | | 0 | ||
|- | |- | ||
| | | 0x18:0 | ||
| | | 7 bits | ||
| | | Explosive Power | ||
| | | | ||
| PES: must be in range [40, 99] | |||
| 77 | |||
| PES: must be in range [ | |||
| | |||
|- | |- | ||
| | | 0x18:7 | ||
| | | 7 bits | ||
| | | Unwavering Balance | ||
| | | | ||
| | | PES: must be in range [40, 99] | ||
| 77 | |||
|- | |- | ||
| | | 0x19:6 | ||
| | | 7 bits | ||
| | | Physical Contact | ||
| | |||
| PES: must be in range [40, 99] | |||
| 77 | |||
|- | |||
| 0x1A:5 | |||
| 7 bits | |||
| Jump | |||
| | | | ||
| PES: must be in range [40, 99] | |||
| 77 | |||
|- | |||
| 0x1B:4 | |||
| 3 bits | |||
| Motion: Corner Kick | |||
| PES: must | |||
| | |||
|- | |||
| | |||
| | |||
| Motion: | |||
| In-game value minus one | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 5] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x1B:7 | ||
| 1 bit | | 1 bit | ||
| ''Unknown | | ''Unknown C'' | ||
| Presumably unused/padding. | | Presumably unused/padding. | ||
| | | | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x1C:0 | ||
| 7 bits | | 7 bits | ||
| | | GK Catch | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x1C:7 | ||
| 7 bits | | 7 bits | ||
| | | Clearing | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x1D:6 | ||
| 7 bits | | 7 bits | ||
| | | Reflexes | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x1E:5 | ||
| 7 bits | | 7 bits | ||
| | | Coverage | ||
| | | | ||
| PES: must be in range [40, 99] | | PES: must be in range [40, 99] | ||
| 77 | | 77 | ||
|- | |- | ||
| | | 0x1F:4 | ||
| 3 bits | | 3 bits | ||
| | | Form | ||
| In-game value minus one | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 7] (full range) | ||
| | | 3 | ||
|- | |- | ||
| | | 0x1F:7 | ||
| 1 bit | |||
| | | Edited/Created player | ||
| | | Whether the player was edited/created (1) or not (0). | ||
| | Keeping it at 0 may hide edited values in some places. | ||
| PES: must be in range [0, 1] (full range) | |||
| PES: must be in range [0, | |||
| 1 | | 1 | ||
|- | |- | ||
| | | 0x20:0 | ||
| 4 bits | |||
| Registered Position | |||
| Possible values are: | |||
* 0 - Goalkeeper | |||
* 1 - Centre Back | |||
| | * 2 - Left Back | ||
* 3 - Right Back | |||
* 4 - Defensive Midfielder | |||
| | * 5 - Centre Midfielder | ||
| | * 6 - Left Midfielder | ||
*0 - | * 7 - Right Midfielder | ||
*1 - | * 8 - Attacking Midfielder | ||
* 9 - Left Wing Forward | |||
* 10 - Right Wing Forward | |||
* 11 - Second Striker | |||
* 12 - Centre Forward | |||
* | | PES: must be in range [0, 12] | ||
* | | 1 | ||
* | |- | ||
* | | 0x20:4 | ||
* | | 1 bit | ||
* | | ''Unknown D'' | ||
* | | Presumably unused/padding. | ||
* | | | ||
* | |||
* | |||
* | |||
| PES: | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x20:5 | ||
| | | 5 bits | ||
| | | Playing Styles | ||
| | | | ||
| PES: must be in range [ | * 0 - ''None'' | ||
| | * 1 - Goal Poacher | ||
* 2 - Dummy Runner | |||
* 3 - Fox in the Box | |||
* 4 - Target Man | |||
* 5 - Creative Playmaker | |||
* 6 - Prolific Winger | |||
* 7 - Roaming Flank | |||
* 8 - Crossing Specialist | |||
* 9 - Classic No. 10 | |||
* 10 - Hole Player | |||
* 11 - Box to Box | |||
* 12 - The Destroyer | |||
* 13 - Orchestrator | |||
* 14 - Anchor Man | |||
* 15 - Build Up | |||
* 16 - Offensive Fullback | |||
* 17 - Fullback Finisher | |||
* 18 - Defensive Fullback | |||
* 19 - Extra Frontman | |||
* 20 - Offensive Goalkeeper | |||
* 21 - Defensive Goalkeeper | |||
| PES: must be be in range [0, 21] | |||
| 0 | |||
|- | |- | ||
| | | 0x21:2 | ||
| | | 4 bits | ||
| | | Motion: Free Kick | ||
| | | In-game value minus one | ||
| PES: must be in range [0, 15] (full range) | |||
| PES: must be in range [0, | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x21:6 | ||
| 1 bit | | 1 bit | ||
| ''Unknown | | ''Unknown D'' | ||
| Presumably unused/padding. | | Presumably unused/padding. | ||
| | | | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x21:7 | ||
| | | 7 bits | ||
| | | Swerve | ||
| | | | ||
| PES: must be in range [40, 99] | |||
| 77 | |||
| PES: must be in range [ | |||
| | |||
|- | |- | ||
| | | 0x22:6 | ||
| 7 bits | | 7 bits | ||
| | | Speed | ||
| | | | ||
| PES: must be in range [40, 99] | |||
| 77 | |||
| PES: | |||
| | |||
|- | |- | ||
| | | 0x23:5 | ||
| | | 3 bits | ||
| | | ''Star Rating'' | ||
| | | Usage Unknown | ||
| PES: must be in range [0, 7] (full range) | |||
| 4 | |||
|- | |||
| 0x24:0 | |||
| 7 bits | |||
| Stamina | |||
| | |||
| PES: must be in range [40, 99] | |||
| 77 | |||
|- | |||
| 0x24:7 | |||
| 7 bits | |||
| Goalkeeping | |||
| | |||
| PES: must be in range [40, 99] | |||
| 77 | |||
| PES: | |||
| | |||
|- | |- | ||
| | | 0x25:6 | ||
| | | 3 bits | ||
| | | Motion: Penalty Kick | ||
| | | In-game value minus one | ||
| | | PES: must be in range [0, 3] (full range) | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x26:1 | ||
| | | 7 bits | ||
| | | Dribbling | ||
| | | | ||
| PES: must | | PES: must be in range [40, 99] | ||
| 77 | |||
| | |||
|- | |- | ||
| | | 0x27:0 | ||
| | | 2 bits | ||
| | | Weak Foot Accuracy | ||
| | | In-game value minus one | ||
| PES: must | | PES: must be in range [0, 3] (full range) | ||
| 1 | |||
|- | |- | ||
| 0x27:2 | |||
| 2 bits | |||
| Injury Resistance | |||
| In-game value minus one | |||
| PES: must be in range [0, 2] | |||
| 1 | |||
|- | |- | ||
| | | 0x27:4 | ||
| | | 26 bits | ||
| | | Playable Position (Values 1-3) | ||
| | | An array of 12 2-bit entries with: | ||
*0 - C | |||
*1 - B | |||
*2 - A | |||
Each entry pertains to one position, in the following order: | |||
* Bits 0-1: Goalkeeper | |||
* Bits 2-3: Centre Back | |||
* Bits 4-5: Left Back | |||
* Bits 6-7: Right Back | |||
* Bits 8-9: Defensive Midfielder | |||
* Bits 10-11: Centre Midfielder | |||
* Bits 12-13: Left Midfielder | |||
* Bits 14-15: Right Midfielder | |||
* Bits 16-17: Attacking Midfielder | |||
| | * Bits 18-19: Left Wing Forward | ||
* Bits 20-21: Right Wing Forward | |||
* Bits 22-23: Second Striker | |||
* Bits 24-25: Centre Forward | |||
| PES: each entry must be in range [0, 2] | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x2A:6 | ||
| | | 2 bits | ||
| | | Motion: Hunching (dribbling) | ||
| | | In-game value minus one | ||
| PES: must be in range [0, 2] | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x2B:0 | ||
| | | 2 bits | ||
| | | Motion: Hunching (running) | ||
| | | In-game value minus one | ||
| | | PES: must be in range [0, 2] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x2B:2 | ||
| 6 bits | |||
| Age | |||
| | |||
| | |||
| | | | ||
| PES: must be in range [15, 50] | |||
| 17 | |||
|- | |- | ||
| | | 0x2C:0 | ||
| | | 8 bits | ||
| | | Edited Settings | ||
| | | Whether one of the player's settings was edited (1) or not (0). | ||
| | Bitmask with 8 entries: | ||
* Bit 0: Edited Basic Settings | |||
* Bit 1: Edited Registered | |||
* Bit 2: Edited Playable | |||
* Bit 3: Edited Player Ability | |||
* Bit 4: Edited Player Skills | |||
* Bit 5: Edited Playing Styles | |||
* Bit 6: Edited COM Playing | |||
* Bit 7: Edited Motions | |||
| PES: must be in range [0, 1] (full range) | |||
| 0 | |||
|- | |||
| 0x2D:0 | |||
| 1 bit | |||
| ''Unknown F'' | |||
| Presumably unused/padding. | |||
| | | | ||
| 0 | |||
|- | |- | ||
| | | 0x2D:1 | ||
| | | 1 bit | ||
| | | Stronger Foot | ||
| Possible values are: | |||
| PES: must be in range [0, | * 0 - Right foot | ||
| | * 1 - Left foot | ||
| PES: must be in range [0, 1] (full range) | |||
| 0 | |||
|- | |- | ||
| | | 0x2D:2 | ||
| | | 7 bits | ||
| | | COM Playing Style | ||
| Bitmask with 7 entries: | |||
| PES: | *Bit 0 - Trickster | ||
| | *Bit 1 - Mazing Run | ||
*Bit 2 - Speeding Bullet | |||
*Bit 3 - Incisive Run | |||
*Bit 4 - Long Ball Expert | |||
*Bit 5 - Early Cross | |||
*Bit 6 - Long Ranger | |||
| PES: at most 5 may be active at once | |||
| 0 | |||
|- | |- | ||
| | | 0x2E:1 | ||
| | | 39 bits | ||
| Player | | Player Skills | ||
| Bitmask with 39 entries: | |||
*Bit 0 - Scissors Feint | |||
*Bit 1 - Double Touch | |||
*Bit 2 - Flip Flap | |||
*Bit 3 - Marseille Turn | |||
*Bit 4 - Sombrero | |||
*Bit 5 - Crossover Turn | |||
*Bit 6 - Cut Behind & Turn | |||
*Bit 7 - Scotch Move | |||
*Bit 8 - Step on Skill | |||
*Bit 9 - Heading | |||
*Bit 10 - Long Range Drive | |||
*Bit 11 - Chip Shot | |||
*Bit 12 - Knuckle Shot | |||
*Bit 13 - Dipping Shots | |||
*Bit 14 - Rising Shots | |||
*Bit 15 - Acrobatic Finishing | |||
*Bit 16 - Heel Trick | |||
*Bit 17 - First-time Shot | |||
*Bit 18 - One-touch Pass | |||
*Bit 19 - Weighted Pass | |||
*Bit 20 - Pinpoint Crossing | |||
*Bit 21 - Outside Curler | |||
*Bit 22 - Rabona | |||
*Bit 23 - No Look Pass | |||
*Bit 24 - Low Lofted Pass | |||
*Bit 25 - GK Low Punt Trajectory | |||
*Bit 26 - GK High Punt Trajectory | |||
*Bit 27 - Long Throw | |||
| PES: | *Bit 28 - GK Long Throw | ||
| | *Bit 29 - Penalty Specialist | ||
*Bit 30 - GK Penalty Specialist | |||
*Bit 31 - Malicia | |||
*Bit 32 - Man Marking | |||
*Bit 33 - Track Back | |||
*Bit 34 - Interception | |||
*Bit 35 - Acrobatic Clear | |||
*Bit 36 - Captaincy | |||
*Bit 37 - Super-sub | |||
*Bit 38 - Fighting Spirit | |||
| PES: at most 10 may be active at once | |||
| 0 | |||
|- | |- | ||
| | | 0x33:0 | ||
| | | 8 bits | ||
| | | ''Unknown G'' | ||
| | | Presumably unused/padding. | ||
| | | | ||
| | | 0 | ||
|- | |- | ||
| | | 0x34:0 | ||
| | | 46 bytes | ||
| Player | | Player Name | ||
| | | Null-terminated string | ||
| PES: must | | PES: must not exceed 15 characters | ||
| | Up to 45 characters are handled by the game | ||
| ''Must not be empty'' | |||
|- | |- | ||
| | | 0x62:0 | ||
| | | 18 bytes | ||
| | | Print Name | ||
| | | Null-terminated string | ||
| PES: must | | PES: must not exceed 15 characters, uppercase letters only | ||
| | | ''Empty string'' | ||
|} | |||
Note: default values are based on a newly created edited player. | |||
=== Player appearance entry === | |||
Note: A player appearance entry always follows the player data entry. That's why the start and end of the entire datablock are the same as the player entry's. <br> | |||
Start: HEX block 7C <br> | |||
End: HEX block 5BCC83 <br> | |||
Entry Length: 72 (0x48) bytes | |||
{| class="wikitable" | |||
|- | |- | ||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |- | ||
| | | 0x00:0 | ||
| 4 | | 4 bytes | ||
| Player | | Player | ||
| | | References a player ID | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x04:0 | ||
| | | 1 bit | ||
| | | Edited Face settings | ||
| | | Whether default Face settings are used (0) or not (1) | ||
| | | | ||
| | | 0 | ||
|- | |- | ||
| | | 0x04:1 | ||
| | | 1 bit | ||
| | | Edited Hairstyle settings | ||
| | | Whether default Hairstyle settings are used (0) or not (1) | ||
| | | | ||
| | | 0 | ||
|- | |- | ||
| | | 0x04:2 | ||
| | | 1 bit | ||
| | | Edited Physique settings | ||
| | | Whether default Physique settings are used (0) or not (1) | ||
| | |||
| | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x04:3 | ||
| | | 1 bit | ||
| | | Edited Strip Style settings | ||
| | | Whether default Strip Style settings are used (0) or not (1) | ||
| | |||
| | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x04:4 | ||
| | | 14 bits | ||
| | | Boots | ||
| | | References a boots ID (for 0, ID 62 will be displayed instead) | ||
| PES: must be in range [ | | PES: must be in range [1, 9999] | ||
| | | 23 | ||
|- | |||
| 0x06:2 | |||
| 10 bits | |||
| Goalkeeper gloves | |||
| References a gloves ID (for 0, ID 1 will be displayed instead) | |||
| PES: must be in range [1, 999] | |||
| 10 | |||
|- | |- | ||
| | | 0x07:4 | ||
| | | 4 bits | ||
| | | ''Unknown A'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x08:0 | ||
| | | 4 bytes | ||
| | | Base Copy Player | ||
| References a | | References a player ID if the player is a base copy, references itself if the player is defaulted. | ||
| | |||
| | | | ||
| | |||
|- | |- | ||
| | | 0x0C:0 | ||
| | | 4 bits | ||
| | | Player physique: Neck Length | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x0C:4 | ||
| | | 4 bits | ||
| | | Player physique: Neck Size | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x0D:0 | ||
| | | 4 bits | ||
| | | Player physique: Shoulder Height | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x0D:4 | ||
| | | 4 bits | ||
| | | Player physique: Shoulder Width | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x0E:0 | ||
| | | 4 bits | ||
| | | Player physique: Chest Measurement | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x0E:4 | ||
| | | 4 bits | ||
| | | Player physique: Waist Size | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x0F:0 | ||
| | | 4 bits | ||
| Player physique: Arm Size | |||
| Player | |||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x0F:4 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Arm Length | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x10:0 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Thigh Size | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x10:4 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Calf Size | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x11:0 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Leg Length | ||
| | | In-game value plus seven | ||
| | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x11:4 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Head Length | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x12:0 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Head Width | ||
| | | In-game value plus seven | ||
| | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x12:4 | ||
| 4 bits | | 4 bits | ||
| | | Player physique: Head Depth | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x13:0 | ||
| | | 3 bits | ||
| | | Wrist Tape: Color left | ||
| | | 000 for strip color, 001 for white, 010 for black and 011 for beige | ||
| PES: must be in range [0, | '''Verify unused bit!''' | ||
| | | PES: must be in range [0, 3] | ||
| 0 | |||
|- | |- | ||
| | | 0x13:3 | ||
| | | 3 bits | ||
| | | Wrist Tape: Color right | ||
| | | 000 for strip color, 001 for white, 010 for black and 011 for beige | ||
| PES: | '''Verify unused bit!''' | ||
| | | PES: not editable; same as Wrist Tape: Color left | ||
| 0 | |||
|- | |- | ||
| | | 0x13:6 | ||
| | | 2 bits | ||
| | | Wrist Taping | ||
| | | 00 for OFF, 01 for right arm, 10 for left arm and 11 for both | ||
| PES: must be in range [0, | | PES: must be in range [0, 3] (full range) | ||
| | | 0 | ||
|- | |- | ||
| | | 0x14:0 | ||
| | | 3 bits | ||
| | | Spectacles frame color | ||
| | | [[File:Glasscolors.png]] | ||
| PES: | | PES: inaccessible feature<br/> | ||
| | Full range is handled in-game | ||
| | |||
|- | |- | ||
| | | 0x14:3 | ||
| | | 3 bits | ||
| | | Spectacles | ||
| | | References a glasses ID (000 = no glasses)<br/> | ||
| | [[File:Glassstyles.png|thumbnail|none]] | ||
| | | PES: inaccessible feature<br/> | ||
Full range is handled in-game | |||
| 0 | |||
|- | |- | ||
| | | 0x14:6 | ||
| | | 2 bits | ||
| | | Sleeves | ||
| | | 00 is Season specific, 01 is Short, 10 is Long | ||
| PES: must be in range [0, | | PES: must be in range [0, 2] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x15:0 | ||
| | | 2 bits | ||
| | | Long-Sleeved Inners | ||
| | | 00 is Off. 01 is Normal. 10 is Turtle Neck. | ||
| PES: must be in range [0, | | PES: must be in range [0, 2] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x15:2 | ||
| | | 2 bits | ||
| | | Sock Length | ||
| | | 00 is Standard. 01 is Long. 10 is Short. | ||
| PES: must be in range [0, | | PES: must be in range [0, 2] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x15:4 | ||
| | | 2 bits | ||
| | | Undershorts | ||
| | | 00 is S: Off / W: Off. 01 is: S: Short / W: Short. 10 is: S: Off / W: Long. 11 is: S: Short / W: Long. | ||
| PES: must be in range [0, | | PES: must be in range [0, 3] (full range) | ||
| | | 0 | ||
|- | |- | ||
| | | 0x15:6 | ||
| | | 1 bit | ||
| | | Shirttail | ||
| | | 0 is Tucked in, 1 is Untucked | ||
| PES: must be in range [0, | | PES: must be in range [0, 1] (full range) | ||
| | | 0 | ||
|- | |- | ||
| | | 0x15:7 | ||
| | | 1 bit | ||
| | | Ankle Taping | ||
| | | 0 is Off , 1 is On | ||
| PES: must be in range [0, | | PES: must be in range [0, 1] (full range) | ||
| | | 0 | ||
|- | |- | ||
| | | 0x16:0 | ||
| 1 bit | |||
| Player Gloves | |||
| 0 is Off , 1 is On | |||
| PES: must be in range [0, 1] (full range) | |||
| 0 | |||
|- | |||
| 0x16:1 | |||
| 3 bits | |||
| Player Gloves color | |||
| [[File:Glasscolors.png]] | |||
| PES: must be in range [0, 7] (full range) | |||
| 0 | |||
|- | |||
| 0x16:4 | |||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Jawline | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x17:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Jaw Height | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x17:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Jawline (duplicate) | ||
| | | Set by the game but doesn't affect anything alone | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x18:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Cheekbones | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x18:4 | ||
| 4 bits | | 4 bits | ||
| ''Unknown | | ''Unknown B'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x19:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Cheekbones (duplicate) | ||
| | | Set by the game but doesn't affect anything alone | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x19:4 | ||
| 4 bits | | 4 bits | ||
| | | ''Unknown C'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x1A:0 | ||
| 4 bits | |||
| ''Unknown D'' | |||
| | |||
| | |||
| | |||
|- | |||
| 0x1A:4 | |||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Brow Width | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1B:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Inner Eyebrow Height | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1B:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Eyebrow Depth | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1C:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Temple Width | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1C:4 | ||
| 4 bits | | 4 bits | ||
| ''Unknown | | Appearance: Outer Eyebrow Height | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, 14] | |||
| 7 | |||
|- | |||
| 0x1D:0 | |||
| 4 bits | |||
| ''Unknown E'' | |||
| | |||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x1D:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Pupil Size | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1E:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Eye Depth | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1E:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: Inner Eye Position | |||
| Appearance: | |||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1F:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Inner Eye Height | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x1F:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Outer Eye Position | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x20:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: Eye Corner Height | |||
| Appearance: | |||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x20:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Upper Eyelid Width Inner | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x21:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Upper Eyelid Height Inner | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x21:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Upper Eyelid Width Outer | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x22:0 | ||
| 4 bits | |||
| Appearance: Upper Eyelid Height Outer | |||
| In-game value plus seven | |||
| PES: must be in range [0, 14] | |||
| 7 | |||
|- | |||
| 0x22:4 | |||
| 4 bits | |||
| ''Unknown F'' | |||
| | |||
| | |||
| | |||
|- | |||
| 0x23:0 | |||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Bottom Eyelid Height | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x23:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Horizontal Eye Position | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x24:0 | ||
| | | 4 bits | ||
| | | Appearance: Eye Height | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, 14] | |||
| 7 | |||
| PES: must be in range [ | |||
| | |||
|- | |- | ||
| | | 0x24:4 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Nose Height | ||
| In-game value | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x25:0 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Nose Tip Depth | ||
| In-game value | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x25:4 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Nostril Width | ||
| In-game value | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x26:0 | ||
| | | 4 bits | ||
| | | ''Unknown G'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x26:4 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Nose Depth | ||
| In-game value | | In-game value plus seven | ||
| PES: must be in range [0, 7] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |||
| 0x27:0 | |||
| 4 bits | |||
| Appearance: Nose Width | |||
| In-game value plus seven | |||
| PES: must be in range [0, 14] | |||
| 7 | |||
|- | |- | ||
| | | 0x27:4 | ||
| | | 4 bits | ||
| ''Unknown | | ''Unknown H'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x28:0 | ||
| 4 bits | |||
| Appearance: Mouth Height | |||
| 4 bits | |||
| Appearance: | |||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x28:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Mouth Depth | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x29:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Lip Size | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x29:4 | ||
| | | 4 bits | ||
| ''Unknown I'' | |||
| ''Unknown | |||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x2A:0 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Mouth Corner Height | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x2A:4 | ||
| 4 bits | | 4 bits | ||
| Appearance: | | Appearance: Lip Width | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| 7 | | 7 | ||
|- | |- | ||
| | | 0x2B:0 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Mouth Depth (duplicate) | ||
| | | Set by the game but doesn't affect anything alone | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x2B:4 | ||
| | | 4 bits | ||
| | | Appearance: Chin Width | ||
| | | In-game value plus seven | ||
| | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x2C:0 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Chin Height | ||
| In-game value | | In-game value plus seven | ||
| PES: must be in range [0, 4] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |||
| 0x2C:4 | |||
| 4 bits | |||
| Appearance: Chin Depth | |||
| In-game value plus seven | |||
| PES: must be in range [0, 14] | |||
| 7 | |||
|- | |- | ||
| | | 0x2D:0 | ||
| 3 bits | | 3 bits | ||
| Appearance: | | Skin color | ||
| Possible values are: | |||
* 0: Caucasian white / Transparent for custom models | |||
* 1-6: | |||
[[File:Skin colors 2015.jpg|thumbnail|none]] | |||
* 7: None / Transparent for custom models | |||
| PES: must be in range [1, 6] | |||
| 1 | |||
|- | |||
| 0x2D:3 | |||
| 5 bits | |||
| Appearance: Cheek Type | |||
| In-game value minus one | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 5] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x2E:0 | ||
| | | 3 bits | ||
| Appearance: | | Appearance: Forehead Type | ||
| | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 6] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x2E:3 | ||
| | | 5 bits | ||
| Appearance: Hair | | Appearance: Facial Hair Type | ||
| | | In-game value, 0=OFF | ||
| PES: must be in range [0, | | PES: must be in range [0, 19] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x2F:0 | ||
| | | 3 bits | ||
| Appearance: | | Appearance: Laughter Lines | ||
| | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 4] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x2F:3 | ||
| 3 bits | | 3 bits | ||
| Appearance: | | Appearance: Upper Eyelid Type | ||
| | | In-game value minus one | ||
| PES: must be in range [ | | PES: must be in range [0, 7] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x2F:6 | ||
| | | 2 bits | ||
| ''Unknown | | ''Unknown J'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x30:0 | ||
| 3 bits | | 3 bits | ||
| Appearance: | | Appearance: Bottom Eyelid Type | ||
| | | In-game value minus one | ||
| PES: must be in range [ | | PES: must be in range [0, 6] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x30:3 | ||
| 1 bit | | 1 bit | ||
| ''Unknown | | ''Unknown K'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x30:4 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Ear Length | ||
| | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x31:0 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Ear Width | ||
| 0 | | In-game value plus seven | ||
| PES: must be in range [0, | | PES: must be in range [0, 14] | ||
| 7 | |||
|- | |||
| 0x31:4 | |||
| 4 bits | |||
| Appearance: Ear Angle | |||
| In-game value plus seven | |||
| PES: must be in range [0, 14] | |||
| 7 | |||
|- | |||
| 0x32:0 | |||
| 3 bits | |||
| Appearance: Eyebrow Type | |||
| In-game value minus one | |||
| PES: must be in range [0, 7] | |||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x32:3 | ||
| | | 2 bits | ||
| | | ''Unknown L'' | ||
| | |||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x32:5 | ||
| 2 bits | | 2 bits | ||
| Appearance: | | Appearance: Neck Line Type | ||
| | | In-game value minus one | ||
| PES: must be in range [0, 3] | | PES: must be in range [0, 3] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x32:7 | ||
| | | 1 bit | ||
| | | ''Unknown M'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x33:0 | ||
| | | 4 bits | ||
| Appearance: | | Appearance: Face Size | ||
| | | In-game value plus seven | ||
| PES: must be in range [ | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| | | 0x33:4 | ||
| 4 bits | |||
| Appearance: Face Height | |||
| In-game value plus seven | |||
| PES: must be in range [0, 14] | |||
| 7 | |||
|- | |||
| 0x34:0 | |||
| 3 bits | | 3 bits | ||
| Appearance: | | Appearance: Nose Type | ||
| In-game value | | In-game value minus one | ||
| PES: must be in range [ | | PES: must be in range [0, 7] | ||
| | | 0 | ||
|- | |- | ||
| | | 0x34:3 | ||
| | | 5 bits | ||
| ''Unknown | | ''Unknown N'' | ||
| | | | ||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x35:0 | ||
| | | 3 bits | ||
| Appearance: | | Appearance: Upper Lip Type | ||
| | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 4] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x35:3 | ||
| 3 bits | | 3 bits | ||
| Appearance: | | Appearance: Lower Lip Type | ||
| | | In-game value minus one | ||
| PES: must be in range [0, | | PES: must be in range [0, 4] | ||
| 0 | | 0 | ||
|- | |- | ||
| | | 0x35:6 | ||
| 6 bits | | 6 bits | ||
| Appearance: | | Appearance: Hair Colour Red | ||
| | | | ||
| PES: must be in range [0, 63] | | PES: must be in range [0, 63] | ||
| | | | ||
|- | |- | ||
| | | 0x36:4 | ||
| 6 bits | | 6 bits | ||
| Appearance: | | Appearance: Hair Colour Green | ||
| | | | ||
| PES: must be in range [0, 63] | | PES: must be in range [0, 63] | ||
| | | | ||
|- | |- | ||
| | | 0x37:2 | ||
| 6 bits | | 6 bits | ||
| Appearance: | | Appearance: Hair Colour Blue | ||
| | | | ||
| PES: must be in range [0, 63] | | PES: must be in range [0, 63] | ||
| | | | ||
|- | |- | ||
| | | 0x38:0 | ||
| | | 3 bits | ||
| Appearance: | | Appearance: Hairstyle | ||
| 1=Normal, 2=Dry, 3=Mohican, 4=Afro, 5=Dreadlocks, 6=Braided, 7=Special | |||
| PES: must be in range [1, 7] | |||
| 1 | |||
|- | |||
| 0x38:3 | |||
| 1 bit | |||
| ''Unknown O'' | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
| | | 0x38:4 | ||
| | | 3 bits | ||
| | | Appearance: Cropped Hair Style | ||
| | | | ||
| PES: must be in range [1, | | PES: must be in range [1, 6] | ||
| 1 | | 1 | ||
|- | |- | ||
| | | 0x38:7 | ||
| | | 1 bit | ||
| ''Unknown | | ''Unknown P'' | ||
| | |||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x39:0 | ||
| | | 6 bits | ||
| | | Appearance: Eyebrow Colour Red | ||
| | | | ||
| PES: must be in range [0, 63] | |||
| | | | ||
|- | |- | ||
| | | 0x39:6 | ||
| | | 2 bits | ||
| | | Appearance: Eyebrow Style | ||
| | | 0=Normal, 1=Thick, 2=Thin | ||
| PES: must be in range [0, 2] | |||
| 0 | |||
|- | |||
| 0x3A:0 | |||
| 6 bits | |||
| Appearance: Eyebrow Colour Green | |||
| | | | ||
| | | PES: must be in range [0, 63] | ||
| | | | ||
|- | |- | ||
| | | 0x3A:6 | ||
| 2 bits | | 2 bits | ||
| | | Appearance: Eyebrow Density | ||
| | | | ||
| | | PES: must be in range [0, 3] | ||
| 3 | |||
|- | |- | ||
| | | 0x3B:0 | ||
| | | 6 bits | ||
| | | Appearance: Eyebrow Colour Blue | ||
| | | | ||
| PES: must be in range [0, 63] | |||
| | | | ||
|- | |- | ||
| | | 0x3B:6 | ||
| 2 bits | | 2 bits | ||
| | | Appearance: Eyebrow Thickness | ||
| | | | ||
| | | PES: must be in range [0, 2] | ||
| 1 | |||
|- | |||
| 0x3C:0 | |||
| 3 bits | |||
| Appearance: Hair Length | |||
| 1=Shaven, 2=Very Short, 3=Short, 4=Medium, 5=Long | |||
| PES: must be in range [1, 5] | |||
| 2 | |||
|- | |||
| 0x3C:3 | |||
| 3 bits | |||
| Appearance: Wave Level | |||
| In-game value plus one | |||
| PES: must be in range [1, 7] | |||
| 1 | |||
|- | |- | ||
| | | 0x3C:6 | ||
| 2 bits | | 2 bits | ||
| ''Unknown | | ''Unknown Q'' | ||
| | |||
| | | | ||
| | | | ||
|- | |- | ||
| | | 0x3D:0 | ||
| 1 | | 1 bit | ||
| | | Appearance: Hair Accessories | ||
| 0=OFF, 1=ON | |||
| PES: must be in range [0, 1] | |||
| 0 | |||
|- | |||
| 0x3D:1 | |||
| 3 bits | |||
| Appearance: Hair Accessory Colour | |||
| | |||
| PES: must be in range [0, 7] | |||
| 0 | |||
|- | |||
| 0x3D:4 | |||
| 6 bits | |||
| Appearance: Facial Hair Colour Red | |||
| | | | ||
| PES: must be in range [0, 63] | |||
| | | | ||
|- | |- | ||
| 0x3E:2 | |||
| 6 bits | |||
| Appearance: Facial Hair Colour Green | |||
| | |||
| PES: must be in range [0, 63] | |||
| | |||
|- | |- | ||
| | | 0x3F:0 | ||
| 6 bits | |||
| Appearance: Facial Hair Colour Blue | |||
| | |||
| PES: must be in range [0, 63] | |||
| | |||
|- | |- | ||
! Offset (byte:bit) | | 0x3F:6 | ||
! Length | | 2 bits | ||
! Description | | Appearance: Facial Hair Thickness | ||
! Format | | | ||
! Enforced limits | | PES: must be in range [0, 3] | ||
! Default value | | 3 | ||
|- | |- | ||
| 0x00:0 | | 0x40:0 | ||
| 4 bytes | | 4 bits | ||
| Manager ID | | Iris color | ||
| | | [[File:Eyeofthepony.png]] | ||
| PES: must be unique | | PES: must be in range [0, 10] | ||
| | | 1 | ||
|- | |||
| 0x40:4 | |||
| 5 bits | |||
| Hair Variation | |||
| | |||
| PES: must be in range [1, 29] | |||
| 1 | |||
|- | |||
| 0x41:1 | |||
| 7 bits | |||
| ''Unknown R'' | |||
| | |||
| | |||
| | |||
|- | |||
| 0x42:0 | |||
| 2 bits | |||
| Hair Style Front | |||
| 01=Up, 10=Down, 11=Combed Back | |||
| | |||
| | |||
|- | |||
| 0x42:2 | |||
| 1 bit | |||
| ''Unknown S'' | |||
| | |||
| | |||
| | |||
|- | |||
| 0x42:3 | |||
| 3 bits | |||
| Hair Combed Back | |||
| 001=Off, 010=Left2, 011=Left1, 100=Centre, 101=Right1, 110=Right2 | |||
| | |||
| | |||
|- | |||
| 0x42:6 | |||
| 3 bits | |||
| Hair Cropped | |||
| 001=Normal, 010=Reduce Body, 011=Shorter Sides, 100=Cropped | |||
| | |||
| | |||
|- | |||
| 0x43:1 | |||
| 2 bits | |||
| Hairline Type | |||
| 01=Type 1, 10=Type 2, 11=Type 3 | |||
| | |||
| | |||
|- | |||
| 0x43:3 | |||
| 1 bit | |||
| ''Unknown T'' | |||
| | |||
| | |||
| | |||
|- | |||
| 0x43:4 | |||
| 2 bits | |||
| Forehead Width | |||
| 01=Narrow 1, 10=Normal, 11=Wide | |||
| | |||
| | |||
|- | |||
| 0x43:6 | |||
| 2 bits | |||
| ''Unknown U'' | |||
| | |||
| | |||
| | |||
|- | |||
| 0x44:0 | |||
| 1 byte | |||
| ''Unknown V'' | |||
| | |||
| | |||
| | |||
|} | |||
=== Team entry === | |||
Start: HEX block 5BCC7C <br> | |||
End: HEX block 5FECBB <br> | |||
Entry Length: 416 (0x1A0) bytes | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |||
| 0x000:0 | |||
| 4 bytes | |||
| Team ID | |||
| | |||
| PES: must be unique | |||
| | |||
|- | |||
| 0x004:0 | |||
| 4 bytes | |||
| Manager ID | |||
| | |||
| | |||
| | |||
|- | |||
| 0x008:0 | |||
| 2 bytes | |||
| Team Emblem | |||
| | |||
* 0xFFFF if using default emblem | |||
* References loaded emblem number if not | |||
| | |||
| 0xFFFF | |||
|- | |||
| 0x00A:0 | |||
| 2 bytes | |||
| Home Stadium | |||
| References a Stadium ID | |||
| PES: must be unique | |||
| | |||
|- | |||
| 0x00C:0 | |||
| 2 bytes | |||
| ''Unknown A'' | |||
| Probably unused (always 0xFFFF) | |||
| | |||
| 0xFFFF | |||
|- | |||
| 0x00E:0 | |||
| 2 bytes | |||
| Team Nationality | |||
| References a Nation ID, 0x0401 = Others | |||
| | |||
| | |||
|- | |||
| 0x010:0 | |||
| 2 bytes | |||
| Team Callname | |||
| References a Callname ID | |||
| | |||
| 0xFFFF | |||
|- | |||
| 0x012:0 | |||
| 4 bytes, 2 bits | |||
| ''Unknown B'' | |||
| Not Yet Mapped | |||
| | |||
| | |||
|- | |||
| 0x016:2 | |||
| 6 bits | |||
| Team Color 1 Red | |||
| | |||
| PES: Must be in range [0-63] | |||
| | |||
|- | |||
| 0x017:0 | |||
| 6 bits | |||
| Team Color 1 Green | |||
| | |||
| PES: Must be in range [0-63] | |||
| | |||
|- | |||
| 0x017:6 | |||
| 1 bit | |||
| Team Name Edited Flag | |||
| Flag indicating if team name has been changed from database default: | |||
* 0 - Default | |||
* 1 - Changed | |||
| | |||
| | |||
|- | |||
| 0x017:7 | |||
| 1 byte, 1 bit | |||
| ''Unknown C'' | |||
| Not Yet Mapped | |||
| | |||
| | |||
|- | |||
| 0x018:0 | |||
| 6 bits | |||
| Team Color 2 Green | |||
| | |||
| PES: Must be in range [0-63] | |||
| | |||
|- | |||
| 0x018:6 | |||
| 6 bits | |||
| Team Color 2 Blue | |||
| | |||
| PES: Must be in range [0-63] | |||
| | |||
|- | |||
| 0x019:4 | |||
| 2 bytes, 4 bits | |||
| ''Unknown D'' | |||
| Not Yet Mapped | |||
| | |||
| | |||
|- | |||
| 0x01C:0 | |||
| 6 bits | |||
| Team Color 1 Blue | |||
| | |||
| PES: Must be in range [0-63] | |||
| | |||
|- | |||
| 0x01C:6 | |||
| 6 bits | |||
| Team Color 2 Red | |||
| | |||
| PES: Must be in range [0-63] | |||
| | |||
|- | |||
| 0x01D:4 | |||
| 42 bytes, 4 bits | |||
| ''Unknown E'' | |||
| Not Yet Mapped | |||
| | |||
| | |||
|- | |||
| 0x048:0 | |||
| 4 bytes | |||
| Rival Team 1 | |||
| References a Team ID | |||
| | |||
| 0xFFFF0300 | |||
|- | |||
| 0x04C:0 | |||
| 4 bytes | |||
| Rival Team 2 | |||
| References a Team ID | |||
| | |||
| 0xFFFF0300 | |||
|- | |||
| 0x050:0 | |||
| 4 bytes | |||
| Rival Team 3 | |||
| References a Team ID | |||
| | |||
| 0xFFFF0300 | |||
|- | |||
| 0x054:0 | |||
| 1 byte | |||
| Banner 1 Edited Flag | |||
| Special case, 0x00 always | |||
| | |||
| | |||
|- | |||
| 0x055:0 | |||
| 1 byte | |||
| Banner 2 Edited Flag | |||
| 0x00 if not edited, 0x01 if edited | |||
| | |||
| | |||
|- | |||
| 0x056:0 | |||
| 1 byte | |||
| Banner 3 Edited Flag | |||
| 0x00 if not edited, 0x02 if edited | |||
| | |||
| | |||
|- | |||
| 0x057:0 | |||
| 1 byte | |||
| Banner 4 Edited Flag | |||
| 0x00 if not edited, 0x03 if edited | |||
| | |||
| | |||
|- | |||
| 0x058:0 | |||
| 70 bytes | |||
| Team Name | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x09E:0 | |||
| 4 bytes | |||
| Scoreboard name | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x0A2:0 | |||
| 121 bytes | |||
| Custom Stadium Name | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x11B:0 | |||
| 16 bytes | |||
| Banner 1 Text | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x12B:0 | |||
| 16 bytes | |||
| Banner 2 Text | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x13B:0 | |||
| 16 bytes | |||
| Banner 3 Text | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x14B:0 | |||
| 16 bytes | |||
| Banner 4 Text | |||
| Null-terminated string | |||
| | |||
| | |||
|- | |||
| 0x15B:0 | |||
| 69 bytes | |||
| ''Unknown F'' | |||
| | |||
| | |||
| | |||
|} | |||
=== Manager entry === | |||
Start: HEX block 5FECBC <br> | |||
End: HEX block 61893B <br> | |||
Entry Length: 88 (0x58) bytes | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |||
| 0x00:0 | |||
| 4 bytes | |||
| Manager ID | |||
| | |||
| PES: must be unique | |||
| | |||
|- | |||
| 0x04:0 | |||
| 2 bytes | |||
| Manager Nationality | |||
| | |||
| | |||
| | |||
|- | |||
| 0x06:0 | |||
| 2 bytes | |||
| Manager picture ID | |||
| | |||
| | |||
| 0xFFFF | |||
|- | |||
| 0x08:0 | |||
| 1 byte | |||
| ''Unknown A'' | |||
| | |||
| | |||
| 0x60 | |||
|- | |||
| 0x09:0 | |||
| 79 bytes | |||
| Manager Name | |||
| | |||
| | |||
| | |||
|- | |||
|} | |||
=== Competitions === | |||
Start: HEX block 61893C <br> | |||
End: HEX block 624A33 <br> | |||
Entry Length: 760 (0x2F8) bytes | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |||
|} | |||
=== Stadium Name === | |||
Start: HEX block 624A34 <br> | |||
End: HEX block 626AB3 <br> | |||
Entry Length: 128 (0x80) bytes | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |||
| 0x00:0 | |||
| 4 bytes | |||
| Stadium ID | |||
| | |||
| PES: must be unique | |||
| | |||
|- | |||
| 0x04:0 | |||
| 124 bytes | |||
| Stadium Name | |||
| | |||
| PES: must not exceed 40 characters | |||
| | |||
|- | |||
|} | |||
=== Unknown section === | |||
This section is located between the Stadium name and Team Player tables, but has not been documented yet.<br> | |||
Start: HEX block 626AB4 <br> | |||
End: HEX block 6773C3 <br> | |||
Entry Length: 132 (0x84) bytes | |||
=== Team-Player table === | |||
The Team-Player table is what links a Player ID to a Team ID. It is basically a Team ID, followed by a list of 40 Player IDs that correspond to the players in that team, then the respective shirt numbers for those players.<br> | |||
Start: HEX block 6773C4 <br> | |||
End: HEX block 69DF4B <br> | |||
Entry Length: 244 (0xF4) bytes | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
! Length | |||
! Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |||
| 0x00:0 | |||
| 4 bytes | |||
| Team ID | |||
| | |||
| PES: must be unique | |||
| | |||
|- | |||
| 0x04:0 | |||
| 160 bytes | |||
| Player IDs / Index IDs | |||
| 40 x 4 bytes | |||
This table also assigns (what I would like to call them anyways) Index IDs.<br> | |||
The first player in the table will get the Index ID 0x00, the second will get 0x01, and if your team has 40 players, the 40th will get 0x27.<br> | |||
These Index IDs are then used for the Game Plan menu to assign players to positions. | |||
| | |||
| 0x00000000 (no player) | |||
|- | |||
| 0xA4:0 | |||
| 80 bytes | |||
| Shirt Numbers | |||
| 40 x 2 bytes | |||
| PES: must be in range [0, 999] | |||
| | |||
|} | |||
=== Competition Entry === | |||
This section does not use separators nor do individual sections have a fixed length.<br> | |||
It is almost a continued list of Team IDs (length: 4 bytes) that will determine what team plays in what league. For example, the first 20 team IDs are teams that will play in the English League. Right after that you get 20 team IDs that will play in the English 2nd Division. Therefore this section will be slightly different from the other ones. 0xFFFF0300 is used to mark 'no team' in the list. | |||
Start: HEX block 69DF4C <br> | |||
End: HEX block 69EC8B <br> | |||
Entry Length: 3392 (0xD40) bytes (whole section) | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
! Length | |||
! Amount of teams | |||
! League/Cup | |||
|- | |||
|} | |||
=== Team Game Plan === | |||
In addition to storing saved tactics in the Edit File, this exact same structure is present in PES memory for both teams during a match and pre-match (after team select) and contains the currently set tactics for each team. <br>Some values or settings may be marked "invalid in Edit Mode" or "pre-match only" to indicate that PES cannot be used to set them in the Edit File.<br> | |||
Start: HEX block 69EC8C <br> | |||
End: HEX block 702713 <br> | |||
Entry Length: 628 (0x274) bytes | |||
{| class="wikitable" | |||
|- | |||
! Offset (byte:bit) | |||
!style="min-width: 54px;"| Length | |||
!style="min-width: 172px;"| Description | |||
! Format | |||
! Enforced limits | |||
! Default value | |||
|- | |||
| 0x000:0 | |||
| 4 bytes | |||
| Team ID | |||
| | |||
| | |||
* PES: must be unique | |||
* 0xFFFF0300 if the team slot is not used | |||
| | |||
|- | |- | ||
| | | 0x215:0 | ||
| 1 byte | | 1 byte | ||
| | | Captain | ||
| Index ID of the player to be the Captain. | |||
| | |||
| | |||
| | |||
| | | | ||
|} | |} | ||
== | == Limitations enforced by PES == | ||
Even though editing the save files externally technically allows using the full range of all values, PES puts some additional limitations in place. | |||
Some of these might be checked and corrected by the game, others are just taken as they are. | |||
This might lead to unexpected behaviour or even crash the game. | |||
Be sure to check [[Appendix:Rules]] or the rules of the invitational in question to find out what is considered legal. | |||
[[Category:Pro Evolution Soccer 2019]] | |||
Latest revision as of 15:39, 31 March 2020
Pro Evolution Soccer 2019 This is still a work in progress. Please be patient. | |
---|---|
Game | |
Rules | |
Info | |
Tools | |
Modding |
The Edit file is called EDIT00000000 and can be found in %HOMEPATH%\Documents\KONAMI\PRO EVOLUTION SOCCER 2019\%steamid%\save.
It is encrypted and thus, cannot be simply edited directly.
Refer to the Tools page for decrypting and editing tools.
This page is a work in progress, and currently only contains the parts that are somewhat properly mapped out.
Structure
Note: The beginning of the file is considered what pesXcrypter exports as data.dat.
- Header
- Player entries
- Player appearance entries
- Team entries
- Manager entries
- Competitions
- Stadiums
- Undocumented entries
- Team-Player table
- Competition entry entries
- Game plan entries
Header
Start: HEX block 0
End: HEX block 7B
Length: 124 (0x7C) bytes, first 96 (0x60) omitted for now
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x60:0 | 2 bytes | Amount of player entires (appearance and data) | |||
0x62:0 | 2 bytes | Unknown A | Possible leftover of appearance entry count. | 0x0000 | |
0x64:0 | 2 bytes | Amount of team entires | |||
0x66:0 | 2 bytes | Amount of manager entries | |||
0x68:0 | 2 bytes | Amount of stadium entires | |||
0x6A:0 | 2 bytes | Amount of competition entries | |||
0x6C:0 | 2 bytes | Amount of entries of a currently undocumented entry | |||
0x6E:0 | 2 bytes | Unknown B | 0x0000 | ||
0x70:0 | 2 bytes | Amount of team-player table entries | |||
0x72:0 | 2 bytes | Unknown C | 0x0000 | ||
0x74:0 | 2 bytes | Amount of team game plan entries | |||
0x76:0 | 2 bytes | Unknown D | 0x0000 | ||
0x78:0 | 2 bytes | Unknown E | 0x0000 | ||
0x7A:0 | 2 bytes | Unknown F | 0x0000 |
Player entry
Start: HEX block 7C
End: HEX block 5BCC83
Entry length: 116 (0x74) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x00:0 | 4 bytes | Player ID | PES: must be unique | >= 1048576 | |
0x04:0 | 4 bytes | Commentary Name | References a player ID (0xFFFFFFFF = None) | PES: apparently none | 0xFFFFFFFF |
0x08:0 | 2 bytes | Nationality/Region | 0x0401 = Others | 0x0401 | |
0x0A:0 | 8 bits | Height (cm) | PES: must be in range [155, 210] | 185 | |
0x0B:0 | 8 bits | Weight (kg) | PES: must be in range [max(30, Height - 129), Height - 81] | 80 | |
0x0C:0 | 8 bits | Motion: Goal Celebration 1 | 0 = OFF | PES: must be in range [0, 140] | 0 |
0x0D:0 | 8 bits | Motion: Goal Celebration 2 | 0 = OFF | PES: must be in range [0, 140] | 0 |
0x0E:0 | 7 bits | Attacking Prowess | PES: must be in range [40, 99] | 77 | |
0x0E:7 | 7 bits | Ball Control | PES: must be in range [40, 99] | 77 | |
0x0F:6 | 2 bits | Weak Foot Usage | In-game value minus one | PES: must be in range [0, 3] | 1 |
0x10:0 | 7 bits | Low Pass | PES: must be in range [40, 99] | 77 | |
0x10:7 | 7 bits | Lofted Pass | PES: must be in range [40, 99] | 77 | |
0x11:6 | 7 bits | Finishing | PES: must be in range [40, 99] | 77 | |
0x12:5 | 7 bits | Place Kicking | PES: must be in range [40, 99] | 77 | |
0x13:4 | 3 bits | Motion: Arm Movement (Dribbling) | In-game value minus one | PES: must be in range [0, 7] (full range) | 0 |
0x13:7 | 1 bit | Unknown A | Presumably unused/padding. | 0 | |
0x14:0 | 7 bits | Header | PES: must be in range [40, 99] | 77 | |
0x14:7 | 7 bits | Defensive Prowess | PES: must be in range [40, 99] | 77 | |
0x15:6 | 7 bits | Ball Winning | PES: must be in range [40, 99] | 77 | |
0x16:5 | 7 bits | Kicking Power | PES: must be in range [40, 99] | 77 | |
0x17:4 | 3 bits | Motion: Arm Movement (Running) | In-game value minus one | PES: must be in range [0, 7] (full range) | 0 |
0x17:7 | 1 bit | Unknown B | Presumably unused/padding. | 0 | |
0x18:0 | 7 bits | Explosive Power | PES: must be in range [40, 99] | 77 | |
0x18:7 | 7 bits | Unwavering Balance | PES: must be in range [40, 99] | 77 | |
0x19:6 | 7 bits | Physical Contact | PES: must be in range [40, 99] | 77 | |
0x1A:5 | 7 bits | Jump | PES: must be in range [40, 99] | 77 | |
0x1B:4 | 3 bits | Motion: Corner Kick | In-game value minus one | PES: must be in range [0, 5] | 0 |
0x1B:7 | 1 bit | Unknown C | Presumably unused/padding. | 0 | |
0x1C:0 | 7 bits | GK Catch | PES: must be in range [40, 99] | 77 | |
0x1C:7 | 7 bits | Clearing | PES: must be in range [40, 99] | 77 | |
0x1D:6 | 7 bits | Reflexes | PES: must be in range [40, 99] | 77 | |
0x1E:5 | 7 bits | Coverage | PES: must be in range [40, 99] | 77 | |
0x1F:4 | 3 bits | Form | In-game value minus one | PES: must be in range [0, 7] (full range) | 3 |
0x1F:7 | 1 bit | Edited/Created player | Whether the player was edited/created (1) or not (0).
Keeping it at 0 may hide edited values in some places. |
PES: must be in range [0, 1] (full range) | 1 |
0x20:0 | 4 bits | Registered Position | Possible values are:
|
PES: must be in range [0, 12] | 1 |
0x20:4 | 1 bit | Unknown D | Presumably unused/padding. | 0 | |
0x20:5 | 5 bits | Playing Styles |
|
PES: must be be in range [0, 21] | 0 |
0x21:2 | 4 bits | Motion: Free Kick | In-game value minus one | PES: must be in range [0, 15] (full range) | 0 |
0x21:6 | 1 bit | Unknown D | Presumably unused/padding. | 0 | |
0x21:7 | 7 bits | Swerve | PES: must be in range [40, 99] | 77 | |
0x22:6 | 7 bits | Speed | PES: must be in range [40, 99] | 77 | |
0x23:5 | 3 bits | Star Rating | Usage Unknown | PES: must be in range [0, 7] (full range) | 4 |
0x24:0 | 7 bits | Stamina | PES: must be in range [40, 99] | 77 | |
0x24:7 | 7 bits | Goalkeeping | PES: must be in range [40, 99] | 77 | |
0x25:6 | 3 bits | Motion: Penalty Kick | In-game value minus one | PES: must be in range [0, 3] (full range) | 0 |
0x26:1 | 7 bits | Dribbling | PES: must be in range [40, 99] | 77 | |
0x27:0 | 2 bits | Weak Foot Accuracy | In-game value minus one | PES: must be in range [0, 3] (full range) | 1 |
0x27:2 | 2 bits | Injury Resistance | In-game value minus one | PES: must be in range [0, 2] | 1 |
0x27:4 | 26 bits | Playable Position (Values 1-3) | An array of 12 2-bit entries with:
Each entry pertains to one position, in the following order:
|
PES: each entry must be in range [0, 2] | 0 |
0x2A:6 | 2 bits | Motion: Hunching (dribbling) | In-game value minus one | PES: must be in range [0, 2] | 0 |
0x2B:0 | 2 bits | Motion: Hunching (running) | In-game value minus one | PES: must be in range [0, 2] | 0 |
0x2B:2 | 6 bits | Age | PES: must be in range [15, 50] | 17 | |
0x2C:0 | 8 bits | Edited Settings | Whether one of the player's settings was edited (1) or not (0).
Bitmask with 8 entries:
|
PES: must be in range [0, 1] (full range) | 0 |
0x2D:0 | 1 bit | Unknown F | Presumably unused/padding. | 0 | |
0x2D:1 | 1 bit | Stronger Foot | Possible values are:
|
PES: must be in range [0, 1] (full range) | 0 |
0x2D:2 | 7 bits | COM Playing Style | Bitmask with 7 entries:
|
PES: at most 5 may be active at once | 0 |
0x2E:1 | 39 bits | Player Skills | Bitmask with 39 entries:
|
PES: at most 10 may be active at once | 0 |
0x33:0 | 8 bits | Unknown G | Presumably unused/padding. | 0 | |
0x34:0 | 46 bytes | Player Name | Null-terminated string | PES: must not exceed 15 characters
Up to 45 characters are handled by the game |
Must not be empty |
0x62:0 | 18 bytes | Print Name | Null-terminated string | PES: must not exceed 15 characters, uppercase letters only | Empty string |
Note: default values are based on a newly created edited player.
Player appearance entry
Note: A player appearance entry always follows the player data entry. That's why the start and end of the entire datablock are the same as the player entry's.
Start: HEX block 7C
End: HEX block 5BCC83
Entry Length: 72 (0x48) bytes
Team entry
Start: HEX block 5BCC7C
End: HEX block 5FECBB
Entry Length: 416 (0x1A0) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x000:0 | 4 bytes | Team ID | PES: must be unique | ||
0x004:0 | 4 bytes | Manager ID | |||
0x008:0 | 2 bytes | Team Emblem |
|
0xFFFF | |
0x00A:0 | 2 bytes | Home Stadium | References a Stadium ID | PES: must be unique | |
0x00C:0 | 2 bytes | Unknown A | Probably unused (always 0xFFFF) | 0xFFFF | |
0x00E:0 | 2 bytes | Team Nationality | References a Nation ID, 0x0401 = Others | ||
0x010:0 | 2 bytes | Team Callname | References a Callname ID | 0xFFFF | |
0x012:0 | 4 bytes, 2 bits | Unknown B | Not Yet Mapped | ||
0x016:2 | 6 bits | Team Color 1 Red | PES: Must be in range [0-63] | ||
0x017:0 | 6 bits | Team Color 1 Green | PES: Must be in range [0-63] | ||
0x017:6 | 1 bit | Team Name Edited Flag | Flag indicating if team name has been changed from database default:
|
||
0x017:7 | 1 byte, 1 bit | Unknown C | Not Yet Mapped | ||
0x018:0 | 6 bits | Team Color 2 Green | PES: Must be in range [0-63] | ||
0x018:6 | 6 bits | Team Color 2 Blue | PES: Must be in range [0-63] | ||
0x019:4 | 2 bytes, 4 bits | Unknown D | Not Yet Mapped | ||
0x01C:0 | 6 bits | Team Color 1 Blue | PES: Must be in range [0-63] | ||
0x01C:6 | 6 bits | Team Color 2 Red | PES: Must be in range [0-63] | ||
0x01D:4 | 42 bytes, 4 bits | Unknown E | Not Yet Mapped | ||
0x048:0 | 4 bytes | Rival Team 1 | References a Team ID | 0xFFFF0300 | |
0x04C:0 | 4 bytes | Rival Team 2 | References a Team ID | 0xFFFF0300 | |
0x050:0 | 4 bytes | Rival Team 3 | References a Team ID | 0xFFFF0300 | |
0x054:0 | 1 byte | Banner 1 Edited Flag | Special case, 0x00 always | ||
0x055:0 | 1 byte | Banner 2 Edited Flag | 0x00 if not edited, 0x01 if edited | ||
0x056:0 | 1 byte | Banner 3 Edited Flag | 0x00 if not edited, 0x02 if edited | ||
0x057:0 | 1 byte | Banner 4 Edited Flag | 0x00 if not edited, 0x03 if edited | ||
0x058:0 | 70 bytes | Team Name | Null-terminated string | ||
0x09E:0 | 4 bytes | Scoreboard name | Null-terminated string | ||
0x0A2:0 | 121 bytes | Custom Stadium Name | Null-terminated string | ||
0x11B:0 | 16 bytes | Banner 1 Text | Null-terminated string | ||
0x12B:0 | 16 bytes | Banner 2 Text | Null-terminated string | ||
0x13B:0 | 16 bytes | Banner 3 Text | Null-terminated string | ||
0x14B:0 | 16 bytes | Banner 4 Text | Null-terminated string | ||
0x15B:0 | 69 bytes | Unknown F |
Manager entry
Start: HEX block 5FECBC
End: HEX block 61893B
Entry Length: 88 (0x58) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x00:0 | 4 bytes | Manager ID | PES: must be unique | ||
0x04:0 | 2 bytes | Manager Nationality | |||
0x06:0 | 2 bytes | Manager picture ID | 0xFFFF | ||
0x08:0 | 1 byte | Unknown A | 0x60 | ||
0x09:0 | 79 bytes | Manager Name |
Competitions
Start: HEX block 61893C
End: HEX block 624A33
Entry Length: 760 (0x2F8) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|
Stadium Name
Start: HEX block 624A34
End: HEX block 626AB3
Entry Length: 128 (0x80) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x00:0 | 4 bytes | Stadium ID | PES: must be unique | ||
0x04:0 | 124 bytes | Stadium Name | PES: must not exceed 40 characters |
Unknown section
This section is located between the Stadium name and Team Player tables, but has not been documented yet.
Start: HEX block 626AB4
End: HEX block 6773C3
Entry Length: 132 (0x84) bytes
Team-Player table
The Team-Player table is what links a Player ID to a Team ID. It is basically a Team ID, followed by a list of 40 Player IDs that correspond to the players in that team, then the respective shirt numbers for those players.
Start: HEX block 6773C4
End: HEX block 69DF4B
Entry Length: 244 (0xF4) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x00:0 | 4 bytes | Team ID | PES: must be unique | ||
0x04:0 | 160 bytes | Player IDs / Index IDs | 40 x 4 bytes
This table also assigns (what I would like to call them anyways) Index IDs. |
0x00000000 (no player) | |
0xA4:0 | 80 bytes | Shirt Numbers | 40 x 2 bytes | PES: must be in range [0, 999] |
Competition Entry
This section does not use separators nor do individual sections have a fixed length.
It is almost a continued list of Team IDs (length: 4 bytes) that will determine what team plays in what league. For example, the first 20 team IDs are teams that will play in the English League. Right after that you get 20 team IDs that will play in the English 2nd Division. Therefore this section will be slightly different from the other ones. 0xFFFF0300 is used to mark 'no team' in the list.
Start: HEX block 69DF4C
End: HEX block 69EC8B
Entry Length: 3392 (0xD40) bytes (whole section)
Offset (byte:bit) | Length | Amount of teams | League/Cup |
---|
Team Game Plan
In addition to storing saved tactics in the Edit File, this exact same structure is present in PES memory for both teams during a match and pre-match (after team select) and contains the currently set tactics for each team.
Some values or settings may be marked "invalid in Edit Mode" or "pre-match only" to indicate that PES cannot be used to set them in the Edit File.
Start: HEX block 69EC8C
End: HEX block 702713
Entry Length: 628 (0x274) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x000:0 | 4 bytes | Team ID |
|
||
0x215:0 | 1 byte | Captain | Index ID of the player to be the Captain. |
Limitations enforced by PES
Even though editing the save files externally technically allows using the full range of all values, PES puts some additional limitations in place. Some of these might be checked and corrected by the game, others are just taken as they are. This might lead to unexpected behaviour or even crash the game. Be sure to check Appendix:Rules or the rules of the invitational in question to find out what is considered legal.