Pro Evolution Soccer 2017/Edit file
![]() Pro Evolution Soccer 2017 | |
---|---|
Game | |
Rules | |
Info | |
Tools | |
Modding |
The Edit file is called EDIT00000000 and can be found in %HOMEPATH%\documents\KONAMI\Pro Evolution Soccer 2017\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
Length: 120 (0x78) bytes, first 92 (0x5c) omitted for now
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x5C:0 | 2 bytes | Amount of player entires (appearance and data) | |||
0x5E:0 | 2 bytes | Unknown, could be leftover appearance entry | Always appears to be 0x00 00 | ||
0x60:0 | 2 bytes | Amount of team entires | |||
0x62:0 | 2 bytes | Amount of manager entries | |||
0x64:0 | 2 bytes | Amount of competition entries | |||
0x66:0 | 2 bytes | Amount of stadium entires | |||
0x68:0 | 2 bytes | Amount of entries of a currently undocumented entry | |||
0x6A:0 | 2 bytes | Unknown | Always appears to be 0x00 00 | ||
0x6C:0 | 2 bytes | Amount of team-player table entries | |||
0x6E:0 | 2 bytes | Unknown | Always appears to be 0x00 00 | ||
0x70:0 | 2 bytes | Amount of team game plan entries | |||
0x72:0 | 2 bytes | Unknown | Always appears to be 0x00 00 | ||
0x74:0 | 2 bytes | Unknown | |||
0x76:0 | 2 bytes | Unknown | Always appears to be 0x00 00 |
Player entry
Things like Enforced Limits and Default Value are copied straight from the PES16 page, but they should be mostly correct.
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 | Unknown A | Probably unused (always 0xFFFF) | 0xFFFF | |
0x0A:0 | 2 bytes | Nationality/Region | 0x0401 = Others | 0x0401 | |
0x0C:0 | 8 bits | Height (cm) | PES: must be in range [155, 210] | 180 | |
0x0D:0 | 8 bits | Weight (kg) | PES: must be in range [max(30, Height - 129), Height - 81] | 75 | |
0x0E:0 | 8 bits | Motion: Goal Celebration 1 | 0 = OFF | PES: must be in range [0, 122] | 0 |
0x0F:0 | 8 bits | Motion: Goal Celebration 2 | 0 = OFF | PES: must be in range [0, 122] | 0 |
0x10:0 | 7 bits | Attacking Prowess | PES: must be in range [40, 99] | 80 | |
0x10:7 | 7 bits | Defensive Prowess | PES: must be in range [40, 99] | 80 | |
0x11:6 | 7 bits | Goalkeeping | PES: must be in range [40, 99] | 80 | |
0x12:5 | 7 bits | Dribbling | PES: must be in range [40, 99] | 80 | |
0x13:4 | 4 bits | Motion: Free Kick | In-game value minus one | PES: must be in range [0, 15] (full range) | 0 |
0x14:0 | 7 bits | Finishing | PES: must be in range [40, 99] | 80 | |
0x14:7 | 7 bits | Low Pass | PES: must be in range [40, 99] | 80 | |
0x15:6 | 7 bits | Lofted Pass | PES: must be in range [40, 99] | 80 | |
0x16:5 | 7 bits | Header | PES: must be in range [40, 99] | 80 | |
0x17:4 | 3 bits | Form | In-game value minus one | PES: must be in range [0, 7] (full range) | 3 |
0x17: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 |
0x18:0 | 7 bits | Swerve | PES: must be in range [40, 99] | 80 | |
0x18:7 | 7 bits | Catching | PES: must be in range [40, 99] | 80 | |
0x19:6 | 7 bits | Clearing | PES: must be in range [40, 99] | 80 | |
0x1A:5 | 7 bits | Reflexes | PES: must be in range [40, 99] | 80 | |
0x1B:4 | 2 bits | Injury Resistance | In-game value minus one | PES: must be in range [0, 2] | 1 |
0x1B:6 | 1 bit | Unknown B | Presumably unused/padding. | 0 | |
0x1B:7 | 1 bit | Basic Settings | Whether the player's basic settings are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x1C:0 | 7 bits | Body Control | PES: must be in range [40, 99] | 80 | |
0x1C:7 | 7 bits | Physical Contact | PES: must be in range [40, 99] | 80 | |
0x1D:6 | 7 bits | Kicking Power | PES: must be in range [40, 99] | 80 | |
0x1E:5 | 7 bits | Explosive Power | PES: must be in range [40, 99] | 80 | |
0x1F:4 | 3 bits | Motion: Arm Movement (dribbling) | In-game value minus one | PES: must be in range [0, 7] (full range) | 0 |
0x1F:7 | 1 bit | Registered Position | Whether the player's registered position is changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x20:0 | 6 bits | Age | PES: must be in range [15, 50] | 17 | |
0x20:6 | 4 bits | Registered Position | Possible values are:
|
PES: must be in range [0, 12] | 12 |
0x21:2 | 1 bit | Unknown C | Presumably unused/padding. | 0 | |
0x21:3 | 5 bits | Playing Styles |
|
PES: must be be in range [0, 18] and not 16 | 0 |
0x22:0 | 7 bits | Ball Control | PES: must be in range [40, 99] | 80 | |
0x22:7 | 7 bits | Ball Winning | PES: must be in range [40, 99] | 80 | |
0x23:6 | 2 bits | Weak Foot Accuracy | In-game value minus one | PES: must be in range [0, 3] (full range) | 1 |
0x24:0 | 7 bits | Jump | PES: must be in range [40, 99] | 80 | |
0x24:7 | 3 bits | Motion: Arm Movement (running) | In-game value minus one | PES: must be in range [0, 7] (full range) | 0 |
0x25:2 | 3 bits | Motion: Corner Kick | In-game value minus one | PES: must be in range [0, 5] | 0 |
0x25:5 | 7 bits | Coverage | PES: must be in range [40, 99] | 80 | |
0x26:4 | 2 bits | Weak Foot Usage | In-game value minus one | PES: must be in range [0, 3] | 1 |
0x26:6 | 26 bits | Playable Position | An array of 13 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:0 | 2 bits | Motion: Hunching (dribbling) | In-game value minus one | PES: must be in range [0, 2] | 0 |
0x2A:2 | 2 bits | Motion: Hunching (running) | In-game value minus one | PES: must be in range [0, 2] | 0 |
0x2A:4 | 2 bits | Motion: Penalty Kick | In-game value minus one | PES: must be in range [0, 3] (full range) | 0 |
0x2A:6 | 7 bits | Place Kicking | PES: must be in range [40, 99] | 80 | |
0x2B:5 | 1 bit | Playable Position | Whether the player's playable positions are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x2B:6 | 1 bit | Ability | Whether the player's abilities are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x2B:7 | 1 bit | Player Skills | Whether the player's player skills are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x2C:0 | 7 bits | Stamina | PES: must be in range [40, 99] | 80 | |
0x2C:7 | 7 bits | Speed | PES: must be in range [40, 99] | 80 | |
0x2D:6 | 1 bit | Playing Styles | Whether the player's playing styles are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x2D:7 | 1 bit | COM Playing Styles | Whether the player's COM playing styles are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x2E:0 | 1 bit | Motion | Whether the player's Motions are changed (1) or not (0) from default. | PES: must be in range [0, 1] (full range) | 0 |
0x2E:1 | 1 bit | Base Copy | Whether the player is a base copy (1) or not (0). | PES: must be in range [0, 1] (full range) | 0 |
0x2E:2 | 1 bit | Unknown D | Presumably unused/padding. | 0 | |
0x2E:3 | 1 bit | Stronger Foot | Possible values are:
|
PES: must be in range [0, 1] (full range) | 0 |
0x2E:4 | 1 bit | Unknown E | Presumably unused/padding. | 0 | |
0x2E:5 | 7 bits | COM Playing Style | Bitmask with 7 entries:
|
PES: at most 5 may be active at once | 0 |
0x2F:4 | 28 bits | Player Skills | Bitmask with 28 entries:
|
PES: at most 10 may be active at once | 0 |
0x33:0 | 8 bits | Unknown F | 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
Length: 72 (0x48) bytes
Team entry
Length: 480 (0x1E0) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|
Manager 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
Length: 124 (0x7C) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|
Stadium Name
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.
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 32 Player IDs that correspond to the players in that team, then the respective shirt numbers for those players.
Length: 164 (0xA4) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|---|---|---|---|---|
0x00:0 | 4 bytes | Team ID | PES: must be unique | ||
0x04:0 | 128 bytes | Player IDs / Index IDs | 32 x 4 bytes
This table also assigns (what I would like to call them anyways) Index IDs. |
0x00000000 (no player) | |
0x84:0 | 32 bytes | Shirt Numbers | 32 x 1 bytes |
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.
Length: 2888 (0xB48) bytes (whole section)
Offset (byte:bit) | Length | Amount of teams | League/Cup |
---|
Team Game Plan
Length: 628 (0x274) bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits | Default value |
---|
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.