The logo competition for the 2025 4chan Winter Cup is now taking submissions.
The deadline is January 6th, 23:59 UTC. Logos will be placed in this gallery to facilitate discussion. This will be followed by a polling period to determine which logo will be used.

Please send all submissions to Potatotron. You must supply a high-res PNG file (5000x5000 limit) and the original multi-layer source file.

Cloverleaf logo: .png .svg

Cloverball logo: .ai .png .svg

Difference between revisions of "Pro Evolution Soccer 2016/Edit file"

From Rigged Wiki
Jump to navigation Jump to search
(Even more limits added)
(Added a bit of info about an undocumented section.)
 
(77 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Template:Pes2016 TOC}}
{{Template:Pes2016 TOC}}


The save game is called '''''EDIT00000000''''' and can be found in '''''%HOMEPATH%\documents\KONAMI\Pro Evolution Soccer 2016\save'''''.
The '''Edit file''' is called '''''EDIT00000000''''' and can be found in '''''%HOMEPATH%\documents\KONAMI\Pro Evolution Soccer 2016\save'''''.


It is encrypted and thus, cannot be simply edited directly.
It is encrypted and thus, cannot be simply edited directly.
Also, when moving from PES15 to PES16, Konami changed both the file names and the ecryption used for save games.
Also, when moving from PES15 to PES16, Konami changed both the file name and the ecryption used for save games.


= Tools =
Refer to the [[Tools#Edit file|Tools page]] for decrypting and editing tools.
== pes16decrypter ==
The first decrypter, called '''pes16decrypter''', is a command-line tool and was written by {{tt|members of the 4chan Cup community|Tunabrain and his pet marsupial}}.
It is available on [https://github.com/tunabrain4cc/pes16decrypter GitHub]. A binary download can also be found there.


The [[4CCC]] maintains its own fork [https://github.com/the4chancup/pes16decrypter here]. Be sure to check both as occasionally one might be ahead of the other.
== Structure ==
 
== Hex editors ==
After decrypting the save file, you may use a hex editor to change a few values yourself. Please keep in mind however that it is very easy to break the save game, so be careful. This is a good and simple way to change player names, for example.
 
== Save game editors ==
Since the save was not decrypted until recently, there are currently no save game editors.
This is expected to change in the near future once the PES modding community catches up with recent developments.
 
= Notes =
== Structure of EDIT00000000 ==
''Note: The beginning of the file is considered what pes16decrypter exports as '''data.dat'''.''
''Note: The beginning of the file is considered what pes16decrypter exports as '''data.dat'''.''


* Header
* Header
* Player entries
* Player entries
* ''unkown''
* Player appearance entries
* Team entries
* Team entries
* ''unknown''
* Competitions
* Stadiums
* Team-Player table
* Competition entry entries
* Game plan entries


=== Header ===
=== Header ===
Length: 76 bytes
Length: 76 (0x4C) bytes


* 52 bytes - ''unknown''
{| class="wikitable"
* 2 bytes - Number of players
|-
* 22 bytes - ''unknown''
! Offset (byte:bit)
! Length
! Description
! Format
! Enforced limits
! Default value
|-
| 0x00:0
| 12 bytes
| ''Unknown A''
|
|
| Always appears to be 0x0E 00 00 00 28 00 00 00 B8 D0 59 00
|-
| 0x0C:0
| 2 bytes
| PES version
|
|
|
|-
| 0x0E:0
| 2 bytes
| ''Unknown B''
|
|
|
|-
| 0x10:0
| 2 bytes
| DLC version
|
|
|
|-
| 0x12:0
| 2 bytes
| ''Unknown C''
|
|
|
|-
| 0x14:0
| 2 bytes
| DLC version
|
|
|
|-
| 0x16:0
| 22 bytes
| ''Unknown D''
|
|
|
|-
| 0x2C:0
| 2 bytes
| PES version
|
|
|
|-
| 0x2E:0
| 2 bytes
| ''Unknown E''
|
|
|
|-
| 0x30:0
| 2 bytes
| DLC version
|
|
|
|-
| 0x32:0
| 2 bytes
| ''Unknown F''
|
|
|
|-
| 0x34:0
| 2 bytes
| Amount of player stats entries
|
|
|
|-
| 0x36:0
| 2 bytes
| Amount of player appearance entries
|
|
|
|-
| 0x38:0
| 2 bytes
| Amount of team entries
|
|
|
|-
| 0x3A:0
| 2 bytes
| Amount of competition entries
|
|
|
|-
| 0x3C:0
| 2 bytes
| Amount of stadium entries
|
|
|
|-
| 0x3E:0
| 4 bytes
| ''Unknown G''
|
|
|
|-
| 0x42:0
| 2 bytes
| Amount of team entries (presumably for team player tables)
|
|
|
|-
| 0x44:0
| 2 bytes
| ''Unknown H''
|
|
|
|-
| 0x46:0
| 2 bytes
| Amount of team entries (presumably for game plans)
|
|
|
|-
| 0x48:0
| 4 bytes
| ''Unknown I''
|
|
|
|}


=== Player entry ===
=== Player entry ===
Length: 112 bytes
Length: 112 (0x70) bytes


{| class="wikitable"
{| class="wikitable"
Line 47: Line 191:
! Format
! Format
! Enforced limits
! Enforced limits
! Default value
|-
|-
| 0x00:0
| 0x00:0
Line 52: Line 197:
| Player ID
| Player ID
|
|
|
| PES: must be unique
| >= 1048576
|-
|-
| 0x04:0
| 0x04:0
| 4 bytes
| 4 bytes
| Commentary Name
| Commentary Name
| References a player ID
| References a player ID (0xFFFFFFFF = None)
|
| PES: apparently none
| 0xFFFFFFFF
|-
|-
| 0x08:0
| 0x08:0
| 2 bytes
| 2 bytes
| ''Unknown''
| ''Unknown A''
| Always 0xFFFF
| Probably unused (always 0xFFFF)
|
|
| 0xFFFF
|-
|-
| 0x0A:0
| 0x0A:0
| 2 bytes
| 2 bytes
| Country
| Nationality/Region
|
| 0x0401 = Others
|
|
| 0x0401
|-
|-
| 0x0C:0
| 0x0C:0
Line 77: Line 226:
|
|
| PES: must be in range [155, 210]
| PES: must be in range [155, 210]
| 180
|-
|-
| 0x0D:0
| 0x0D:0
Line 83: Line 233:
|
|
| PES: must be in range [max(30, ''Height'' - 129), ''Height'' - 81]
| PES: must be in range [max(30, ''Height'' - 129), ''Height'' - 81]
| 75
|-
|-
| 0x0E:0
| 0x0E:0
Line 89: Line 240:
| 0 = OFF
| 0 = OFF
| PES: must be in range [0, 122]
| PES: must be in range [0, 122]
| 0
|-
|-
| 0x0F:0
| 0x0F:0
Line 95: Line 247:
| 0 = OFF
| 0 = OFF
| PES: must be in range [0, 122]
| PES: must be in range [0, 122]
| 0
|-
|-
| 0x10:0
| 0x10:0
Line 101: Line 254:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x10:7
| 0x10:7
Line 107: Line 261:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x11:6
| 0x11:6
Line 113: Line 268:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x12:5
| 0x12:5
Line 119: Line 275:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x13:4
| 0x13:4
| 4 bits
| 4 bits
| Motion: Free Kick
| Motion: Free Kick
| Value minus one
| In-game value minus one
| PES: must be in range [0, 15] (full range)
| PES: must be in range [0, 15] (full range)
| 0
|-
|-
| 0x14:0
| 0x14:0
Line 131: Line 289:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x14:7
| 0x14:7
Line 137: Line 296:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x15:6
| 0x15:6
Line 143: Line 303:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x16:5
| 0x16:5
Line 149: Line 310:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x17:4
| 0x17:4
| 3 bits
| 3 bits
| Motion: Form
| Form
| 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)
| 3
|-
|-
| 0x17:7
| 0x17:7
| 1 bit
| 1 bit
| ''Unknown''
| 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
| 0x18:0
Line 167: Line 332:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x18:7
| 0x18:7
Line 173: Line 339:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x19:6
| 0x19:6
Line 179: Line 346:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x1A:5
| 0x1A:5
Line 185: Line 353:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x1B:4
| 0x1B:4
| 2 bits
| 2 bits
| Injury Resistance
| Injury Resistance
| Value minus one
| In-game value minus one
| PES: must be in range [0, 2]
| PES: must be in range [0, 2]
| 1
|-
|-
| 0x1B:6
| 0x1B:6
| 2 bits
| 1 bit
| ''Unknown''
| ''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
| 0x1C:0
Line 203: Line 381:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x1C:7
| 0x1C:7
Line 209: Line 388:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x1D:6
| 0x1D:6
Line 215: Line 395:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x1E:5
| 0x1E:5
Line 221: Line 402:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x1F:4
| 0x1F:4
| 3 bits
| 3 bits
| Motion: Arm Movement (dribbling)
| Motion: Arm Movement (dribbling)
| 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
|-
|-
| 0x1F:7
| 0x1F:7
| 1 bit
| 1 bit
| ''Unknown''
| Registered Position
| Seems to be based on ''Registered Positon'':
| Whether the player's registered position is changed (1) or not (0) from default.
* 0 - Registered position is CB
| PES: must be in range [0, 1] (full range)
* 1 - Registered position is not CB
| 0
|
|-
|-
| 0x20:0
| 0x20:0
| 4 bits
| 4 bits
| Registered Position
| Registered Position
| Possible values are
| Possible values are:
* 12 - Centre Forward,
* 12 - Centre Forward,
* 11 - Second Striker,
* 11 - Second Striker,
* 10 - Left Wing Forward,
* 10 - Right Wing Forward,
* 9 - Right Wing Forward,
* 9 - Left Wing Forward,
* 8 - Attacking Midfielder,
* 8 - Attacking Midfielder,
* 7 - Left Midfielder,
* 7 - Right Midfielder,
* 6 - Right Midfielder,
* 6 - Left Midfielder,
* 5 - Centre Midfielder,
* 5 - Centre Midfielder,
* 4 - Defensive Midfielder,
* 4 - Defensive Midfielder,
* 3 - Left Back,
* 3 - Right Back,
* 2 - Right Back,
* 2 - Left Back,
* 1 - Centre Back,
* 1 - Centre Back,
* 0 - Goalkeeper
* 0 - Goalkeeper
| PES: must be in range [0, 12]
| PES: must be in range [0, 12]
| 12
|-
|-
| 0x20:4
| 0x20:4
| 1 bits
| 1 bit
| ''Unknown''
| ''Unknown C''
|
| Presumably unused/padding.
|
|
| 0
|-
|-
| 0x20:5
| 0x20:5
| 5 bits
| 5 bits
| Playing Style
| Playing Styles
|
|
|
* 0 - ''None''
* 1 - Goal Poacher
* 2 - Dummy Runner
* 3 - Fox in the Box
* 4 - Prolific Winger
* 5 - Classic No. 10
* 6 - Hole Player
* 7 - Box to Box
* 8 - Anchor Man
* 9 - The Destroyer
* 10 - Extra Frontman
* 11 - Offensive Fullback
* 12 - Defensive Fullback
* 13 - Target Man
* 14 - Creative Playmaker
* 15 - Build Up
* 16 - ''N/A''
* 17 - Offensive Goalkeeper
* 18 - Defensive Goalkeeper
| PES: must be be in range [0, 18] and not 16
| 0
|-
|-
| 0x21:2
| 0x21:2
Line 272: Line 476:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x22:1
| 0x22:1
Line 278: Line 483:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x23:0
| 0x23:0
Line 284: Line 490:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x23:7
| 0x23:7
| 1 bit
| 1 bit
| ''Unknown''
| 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
|-
|-
| 0x24:0
| 0x24:0
| 3 bits
| 3 bits
| Motion: Arm Movement (running)
| Motion: Arm Movement (running)
| 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
|-
|-
| 0x24:3
| 0x24:3
| 3 bits
| 3 bits
| Motion: Corner Kick
| Motion: Corner Kick
| Value minus one
| In-game value minus one
| PES: must be in range [0, 5]
| PES: must be in range [0, 5]
| 0
|-
|-
| 0x24:6
| 0x24:6
| 2 bits
| 2 bits
| Weak Foot Accuracy
| Weak Foot Accuracy
| Value minus one
| In-game value minus one
| PES: must be in range [0, 3] (full range)
| PES: must be in range [0, 3] (full range)
| 1
|-
|-
| 0x25:0
| 0x25:0
| 2 bits
| 2 bits
| Weak Foot Usage
| Weak Foot Usage
| Value minus one
| In-game value minus one
| PES: must be in range [0, 3]
| PES: must be in range [0, 3]
| 1
|-
|-
| 0x25:2
| 0x25:2
Line 328: Line 540:
* Bits 6-7: Right Wing Forward,
* Bits 6-7: Right Wing Forward,
* Bits 8-9: Attacking Midfielder,
* Bits 8-9: Attacking Midfielder,
* Bits 10-11: Left Midfielder,
* Bits 10-11: Defensive Midfielder,
* Bits 12-13: Right Midfielder,
* Bits 12-13: Centre Midfielder,
* Bits 14-15: Centre Midfielder,
* Bits 14-15: Left Midfielder,
* Bits 16-17: Defensive Midfielder,
* Bits 16-17: Right Midfielder,
* Bits 18-19: Left Back,
* Bits 18-19: Centre Back,
* Bits 20-21: Right Back,
* Bits 20-21: Left Back,
* Bits 22-23: Centre Back,
* Bits 22-23: Right Back,
* Bits 24-25: Goalkeeper
* Bits 24-25: Goalkeeper
| PES: each entry must be in range [0, 2]
| PES: each entry must be in range [0, 2]
| 0
|-
|-
| 0x28:4
| 0x28:4
| 2 bits
| 2 bits
| Motion: Hunching (dribbling)
| Motion: Hunching (dribbling)
| Value minus one
| In-game value minus one
| PES: must be in range [0, 2]
| PES: must be in range [0, 2]
| 0
|-
|-
| 0x28:6
| 0x28:6
| 2 bits
| 2 bits
| Motion: Hunching (running)
| Motion: Hunching (running)
| Value minus one
| In-game value minus one
| PES: must be in range [0, 2]
| PES: must be in range [0, 2]
| 0
|-
|-
| 0x29:0
| 0x29:0
| 2 bits
| 2 bits
| Motion: Penalty Kick
| Motion: Penalty Kick
| Value minus one
| In-game value minus one
| PES: must be in range [0, 3] (full range)
| PES: must be in range [0, 3] (full range)
| 0
|-
|-
| 0x29:2
| 0x29:2
Line 361: Line 577:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x2A:1
| 0x2A:1
Line 367: Line 584:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x2B:0
| 0x2B:0
Line 373: Line 591:
|
|
| PES: must be in range [15, 50]
| PES: must be in range [15, 50]
| 17
|-
|-
| 0x2B:6
| 0x2B:6
| 2 bits
| 1 bit
| ''Unknown''
| 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:6
| 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
| 0x2C:0
Line 385: Line 612:
|
|
| PES: must be in range [40, 99]
| PES: must be in range [40, 99]
| 80
|-
|-
| 0x2C:7
| 0x2C:7
| 1 bit
| 1 bit
| ''Unknown''
| 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:0
| 0x2D:0
| 4 bits
| 1 bit
| ''Unknown''
| 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
|-
| 0x2D:1
| 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
|-
| 0x2D:2
| 1 bit
| ''Unknown D''
| Presumably unused/padding.
|
|
| 0
|-
| 0x2D:3
| 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
|-
|-
| 0x2D:4
| 0x2D:4
| 1 bits
| 1 bit
| Stronger Foot
| Stronger Foot
| Value stands for
| Possible values are:
* 0 - Right
* 0 - Right foot
* 1 - Left
* 1 - Left foot
|
| PES: must be in range [0, 1] (full range)
| 0
|-
|-
| 0x2D:5
| 0x2D:5
Line 418: Line 670:
*Bit 6 - Long Ranger
*Bit 6 - Long Ranger
| PES: at most 5 may be active at once
| PES: at most 5 may be active at once
| 0
|-
|-
| 0x2E:4
| 0x2E:4
Line 452: Line 705:
*Bit 27 - Fighting Spirit
*Bit 27 - Fighting Spirit
| PES: at most 10 may be active at once
| PES: at most 10 may be active at once
| 0
|-
|-
| 0x32:0
| 0x32:0
Line 457: Line 711:
| Player Name
| Player Name
| Null-terminated string
| Null-terminated string
|
| PES: must not exceed 15 characters
PES: must not exceed 15 characters<br/>
Up to 45 characters are handled by the game
Up to 45 characters are handled by the game
| ''Must not be empty''
|-
|-
| 0x60:0
| 0x60:0
Line 466: Line 720:
| Null-terminated string
| Null-terminated string
| PES: must not exceed 15 characters, uppercase letters only
| PES: must not exceed 15 characters, uppercase letters only
| ''Empty string''
|}
|}


Note: some settings also change other values within the player entry, e.g. if Registered Position is set to CB it also changes the byte left of it (in one example from 0x89 to 0x09).
Note: default values are based on a newly created edited player.
It is assumed that this behavior occurs for whatever values PES considers to be default.
 
=== Player appearance entry ===
Length: 72 (0x48) bytes
 
{| class="wikitable"
|-
! Offset (byte:bit)
! Length
! Description
! Format
! Enforced limits
! Default value
|-
| 0x00:0
| 4 bytes
| 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
|-
| 0x04:3
| 1 bit
| Edited Strip Style settings
| Whether default Strip Style settings are used (0) or not (1)
|
| 0
|-
| 0x04:4
| 14 bits
| Boots
| References a boots ID (for 0, ID 62 will be displayed instead)
| 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 B''
|
|
|
|-
| 0x08:0
| 4 bytes
| Base Copy Player
| 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, 14]
| 7
|-
| 0x0C:4
| 4 bits
| Player physique: Neck Size
| In-game value plus seven
| 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, 14]
| 7
|-
| 0x0D:4
| 4 bits
| Player physique: Shoulder Width
| In-game value plus seven
| 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, 14]
| 7
|-
| 0x0E:4
| 4 bits
| Player physique: Waist Size
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x0F:0
| 4 bits
| Player physique: Arm Size
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x0F:4
| 4 bits
| Player physique: Arm Length
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x10:0
| 4 bits
| Player physique: Thigh Size
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x10:4
| 4 bits
| Player physique: Calf Size
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x11:0
| 4 bits
| Player physique: Leg Length
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x11:4
| 4 bits
| Player physique: Head Length
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x12:0
| 4 bits
| Player physique: Head Width
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x12:4
| 4 bits
| Player physique: Head Depth
| In-game value plus seven
| PES: must be in range [0, 14]
| 7
|-
| 0x13:0
| 3 bits
| Wrist Tape: Color left
| 000 for strip color, 001 for white, 010 for black and 011 for beige
'''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
'''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, 3] (full range)
| 0
|-
| 0x14:0
| 3 bits
| Spectacles frame color
| [[File:Glasscolors.png]]
| 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, 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, 2]
| 0
|-
| 0x15:2
| 2 bits
| Sock Length
| 00 is Standard. 01 is Long. 10 is Short.
| 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, 3] (full range)
| 0
|-
| 0x15:6
| 1 bit
| Shirttail
| 0 is Tucked in, 1 is Untucked
| 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, 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
| ''Unknown D''
|
|
|
|-
| 0x17:0
| 22 bytes
| ''Unknown E''
|
|
|
|-
| 0x2D:0
| 3 bits
| 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
| ''Unknown F''
| First two bits are Cheek Type
|
|
|-
| 0x2E:0
| 18 bytes
| ''Unknown G''
|
|
|
|-
| 0x40:0
| 4 bits
| Iris color
| [[File:Eyeofthepony.png]]
| PES: must be in range [0, 10]
| 1
|-
| 0x40:4
| 4 bits
| ''Unknown H''
|
|
|
|-
| 0x41:0
| 7 bytes
| ''Unknown I''
|
|
|
|}


=== Team entry ===
=== Team entry ===
Length: 456
Length: 456 (0x1C8) 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
| 2 bytes
| Team Emblem
|
* 0xFF if using default emblem
* References loaded emblem number if not
|
| 0xFF
|-
| 0x006:0
| 2 bytes
| Home Stadium
| References a Stadium ID
|
|
|-
| 0x008:0
| 2 bytes
| Team Nationality
| References a Nation ID
|
|
|-
| 0x00A:0
| 2 bytes
| Team Callname
| References a Callname ID
|
| 0xFF
|-
| 0x00C:0
| 2 bytes
| Coach Nationality
| References a Nation ID
|
|
|-
| 0x00E:0
| 2 bytes
| Coach Image
| References a loaded image ID
|
| 0xFF
|-
| 0x010:0
| 4 bit
| Stadium Turf Type
|
| PES: Must be in range [1-8]
|
|-
| 0x010:4
| 4 bit
| Stadium Net Type
|
| PES: Must be in range [1-15]
|
|-
| 0x011:0
| 4 bit
| Stadium Seat Color
|
| PES: Must be in range [1-8]
|
|-
| 0x011:4
| 4 bit
| Stadium Sideline Color
|
| PES: Must be in range [1-8]
|
|-
| 0x012:0
| 1 bit
| ''Unknown A''
|
|
|
|-
| 0x012:1
| 1 bit
| Team Banners Edited Flag
| Flag that tells if team has its banners edited or default:
* 0 - Team banners not edited
* 1 - Team banners edited
|
|
|-
| 0x012:2
| 1 bit
| Team Rivals Edited Flag
| Flag that tells if team has its rivals edited or default:
* 0 - Team rivals not edited
* 1 - Team rivals edited
|
|
|-
| 0x012:3
| 1 bit
| Stadium Settings Changed Flag
| Flag that tells if team has its stadium settings changed or default:
* 0 - Team stadium settings not edited
* 1 - Team stadium settings edited
|
|
|-
| 0x012:4
| 1 bit
| Stadium Name Changed Flag
| Flag that tells if team has its stadium name changed or default:
* 0 - Team stadium name not edited
* 1 - Team stadium name edited
|
|
|-
| 0x012:5
| 1 bit
| Stadium Changed Flag
| Flag that tells if team has its stadium changed or default:
* 0 - Team stadium not edited
* 1 - Team stadium edited
|
|
|-
| 0x012:6
| 1 bit
| Team Emblem Edited Flag
| Flag that tells if team has its emblem edited or default:
* 0 - Team emblem not edited
* 1 - Team emblem edited
|
|
|-
| 0x012:7
| 1 bit
| Team Names Edited Flag
| Flag that tells if team has its names (Name, Short, Callname) edited or default:
* 0 - Team names not edited
* 1 - Team names edited
|
|
|-
| 0x013:0
| 2 bits
| ''Unknown B''
|
|
|
|-
| 0x013:2
| 2 bits
| Team Coach Image Edited Flag
| Flag that tells if coach emblem has been changed or still default:
* 0x00 - Default
* 0x11 - Changed
|
|
|-
| 0x013:4
| 1 bit
| Team Coach Nation Edited Flag
| Flag that tells if coach nation has been changed or still default:
* 0 - Default
* 1 - Changed
|
|
|-
| 0x013:5
| 1 bit
| Team Coach Name Edited Flag
| Flag that tells if coach name has been changed or still default:
* 0 - Default
* 1 - Changed
|
|
|-
| 0x013:6
| 1 bit
| Squad Numbers Edited Flag
| Flag that tells if squad numbers have been changed or still default:
* 0 - Default
* 1 - Changed
|
|
|-
| 0x013:7
| 1 bit
| Game Plan Edited Flag
| Flag that tells if game plan has been changed or still default:
* 0 - Default
* 1 - Changed
|
|
|-
| 0x014:0
| 4 bytes
| ''Unknown C''
|
|
|
|-
| 0x018:0
| 4 bytes
| Team Strip 1
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x01C:0
| 4 bytes
| Team Strip 2
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x020:0
| 4 bytes
| Team Strip 3
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x024:0
| 4 bytes
| Team Strip 4
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x02C:0
| 4 bytes
| Team Strip 5
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x030:0
| 4 bytes
| Team Strip 6
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x034:0
| 4 bytes
| Team Strip 7
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x03C:0
| 4 bytes
| Team Strip 8
| (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
|
|
|-
| 0x040:0
| 4 bytes
| Rival Team 1
| References a Team ID
|
|
|-
| 0x044:0
| 4 bytes
| Rival Team 2
| References a Team ID
|
|
|-
| 0x048:0
| 4 bytes
| Rival Team 3
| References a Team ID
|
|
|-
| 0x04C:0
| 72 bytes
| ''Unknown D''
|
|
|
|-
| 0x094:0
| 70 bytes
| Team Name
| Null-terminated string <br/> '''''(LENGTH NEEDS VERIFICATION)'''''
|
|
|-
| 0x0DA:0
| 4 bytes
| Score board name
| Null-terminated string
|
|
|-
| 0x0DE:0
| 121 bytes
| Custom Stadium Name
| Null-terminated string
|
|
|-
| 0x157:0
| 16 bytes
| Banner 1 Text
| Null-terminated string
|
|
|-
| 0x167:0
| 16 bytes
| Banner 2 Text
| Null-terminated string
|
|
|-
| 0x177:0
| 16 bytes
| Banner 3 Text
| Null-terminated string
|
|
|-
| 0x187:0
| 16 bytes
| Banner 4 Text
| Null-terminated string
|
|
|-
| 0x197:0
| 49 bytes
| Manager Name
| Null-terminated string <br/> '''''(LENGTH NEEDS VERIFICATION)'''''
|
|
|}
=== Competitions ===
Length: 92 (0x5C) bytes
 
{| class="wikitable"
|-
! Offset (byte:bit)
! Length
! Description
! Format
! Enforced limits
! Default value
|-
| 0x00:0
| 2 bytes
| Competition ID
|
| PES: must be unique
|
|-
| 0x02:0
| 2 bytes
| Custom Logo ID
|
|
| 0xFF = default
|-
| 0x04:0
| 2 bytes
| Ball Type
| ID of ball
|
|
|-
| 0x06:0
| 4 bytes
| ''Unknown A''
| Always appears to be 0xFFFF
|
|
|-
| 0x0A:0
| 3 bits
| How standings are ranked
| In-game value minus one
| PES: Type 1 - Type 6
|
|-
| 0x0A:3
| 3 bits
| ''Unknown B''
|
|
|
|-
| 0x0A:6
| 3 bits
| Cards collected
| In-game value minus one
| PES: Type 1 - Type 7
|
|-
| 0x0B:1
| 3 bits
| ''Unknown C''
|
|
|
|-
| 0x0B:4
| 2 bits
| Badge
|
* OFF = 00
* Type 1 = 01
* Type 2 = 10
* Type 3 = 11
|
|
|-
| 0x0B:6
| 2 bits
| ''Unknown D''
|
|
|
|-
| 0x0C:0
| 2 bits
| Cup Competition Format
| In-game value minus one
| PES: Type 1 - Type 3
|
|-
| 0x0C:2
| 4 bits
| ''Unknown E''
|
|
|
|-
| 0x0C:6
| 4 bits
| Number of teams
| In-game value divided by 2
| PES: 14, 16, 18 or 20
|
|-
| 0x0D:2
| 1 bit
| ''Unknown F''
|
|
|
|-
| 0x0D:3
| 1 bit
| Competition Name
| Whether the competition name has been edited (1) or not (0).
|
|
|-
| 0x0D:4
| 1 bit
| Competition Logo
| Whether the competition logo has been edited (1) or not (0).
|
|
|-
| 0x0D:5
| 1 bit
| Competition Detailed Settings
| Whether the competition detailed settings have been edited (1) or not (0).
|
|
|-
| 0x0D:6
| 1 bits
| ''Unknown G''
|
|
|
|-
| 0x0D:7
| 1 bit
| Group Name
|
* 1~4 = 0
* A~D = 1
|
|
|-
| 0x0E:0
| 1 bit
| 3rd Place Playoff
| Whether the competition has a third place playoff (1) or not (0).
|
|
|-
| 0x0E:1
| 1 byte and 7 bits
| ''Unknown H''
|
|
|
|-
| 0x10:0
| 76 bytes
| Competition Name
| PES: must not exceed 25 characters<br>
Some competitions in the EDIT0 that are not editable in Edit Mode do have more than 25 characters, such as the Qualifiers.
|
|
|}
 
=== Stadium Name ===
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>
Length: 88 (0x58) 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.<br>
Length: 164 (0xA4) 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
| 128 bytes
| Player IDs / Index IDs
| 32 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 32 players, the 32nd will get 0x1F.<br>
These Index IDs are then used for the Game Plan menu to assign players to positions.
|
| 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.<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.
 
Length: 2848 (0xB20) bytes (whole section)
 
{| class="wikitable"
|-
! Offset (byte:bit)
! Length
! Amount of teams
! League/Cup
|-
| 0x00:0
| 80 bytes
| 20
| English League
|-
| 0x50:0
| 96 bytes
| 24
| English 2nd Division
|-
| 0xB0:0
| 80 bytes
| 20
| Ligue 1
|-
| 0x100:0
| 80 bytes
| 20
| Ligue 2
|-
| 0x150:0
| 80 bytes
| 20
| Italian League
|-
| 0x1A0:0
| 88 bytes
| 22
| Italian 2nd Division
|-
| 0x1FB:0
| 72 bytes
| 18
| Eredivisie
|-
| 0x240:0
| 80 bytes
| 20
| Liga BBVA
|-
| 0x290:0
| 88 bytes
| 22
| Liga Adelante
|-
| 0x2EB:0
| 72 bytes
| 18
| Portugal League
|-
| 0x330:0
| 80 bytes
| 20
| Brazilian League
|-
| 0x380:0
| 120 bytes
| 30
| Argentine League
|-
| 0x3F8:0
| 64 bytes
| 16
| Chilean League
|-
| 0x438:0
| 8 bytes
| 2
| ''Unknown A''
|-
| 0x440:0
| 80 bytes
| 20
| PEU League
|-
| 0x490:0
| 80 bytes
| 20
| PLA League
|-
| 0x4E0:0
| 80 bytes
| 20
| PAS League
|-
| 0x530:0
| 72 bytes
| 18
| ''Unknown B''
|-
| 0x578:0
| 152 bytes
| 38
| ''Unknown C''
|-
| 0x610:0
| 152 bytes
| 38
| ''Unknown D''
|-
| 0x6A8:0
| 188 bytes
| 47
| ''Unknown E''
|-
| 0x764:0
| 188 bytes
| 47
| ''Unknown F''
|-
| 0x820:0
| 128 bytes
| 32
| ''Unknown G''
|-
| 0x8A0:0
| 160 bytes
| 40
| ''Unknown H''
|-
| 0x940:0
| 36 bytes
| 9
| Other European Teams
|-
| 0x964:0
| 164 bytes
| 41
| ''Unknown I''
|-
| 0xA08:0
| 16 bytes
| 4
| Other Latin American Teams
|-
| 0xA18:0
| 264 bytes
| 66
| ''Unknown J''
|}
 
=== Team Game Plan ===
Length: 520 (0x208) bytes
 
{| class="wikitable"
|-
! Offset (byte:bit)
! Length
! Description
! Format
! Enforced limits
! Default value
|-
| 0x00:0
| 4 bytes
| Team ID
|
|
* PES: must be unique
* 0x03FFFF if the team slot is not used
|
|-
| 0x04:0
| 11 bytes
| Player Positions
* Main (Offensive)
* Kick-off
| 11 x 1 byte<br>
The first byte is the first player in the Player Lineup, the second byte is the second player in the Player Lineup, etc..<br>
Possible values are:
* 0C - Centre Forward
* 0B - Second Striker
* 0A - Right Wing Forward
* 09 - Left Wing Forward
* 08 - Attacking Midfielder
* 07 - Right Midfielder
* 06 - Left Midfielder
* 05 - Centre Midfielder
* 04 - Defensive Midfielder
* 03 - Right Back
* 02 - Left Back
* 01 - Centre Back
* 00 - Goalkeeper
|
|
|-
| 0x0F:0
| 22 bytes
| Player Coordinates
* Main (Offensive)
* Kick-off
| 11 x 2 bytes<br>
The first byte pair is the first player in the Player Lineup, the second byte pair is the second player in the Player Lineup, etc..<br>
* First byte is the vertical position (from bottom to top)
* Second byte is the horizontal position (from left to right)
| GK is always 03 34
|
|-
| 0x25:0
| 11 bytes
| Player Positions
* Main (Offensive)
* When in possession
| 11 x 1 byte
|
|
|-
| 0x30:0
| 22 bytes
| Player Coordinates
* Main (Offensive)
* When in possession
| 11 x 2 bytes
|
|
|-
| 0x46:0
| 11 bytes
| Player Positions
* Main (Offensive)
* When out of possession
| 11 x 1 byte
|
|
|-
| 0x51:0
| 22 bytes
| Player Coordinates
* Main (Offensive)
* When out of possession
| 11 x 2 bytes
|
|
|-
| 0x67:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Attacking Style
* Main (Offensive)
|
* 0 - Counter Attack
* 1 - Possession Game
|
|
|-
| 0x68:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Build Up
* Main (Offensive)
|
* 0 - Long-pass
* 1 - Short-pass
|
|
|-
| 0x69:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Attacking Area
* Main (Offensive)
|
* 0 - Wide
* 1 - Centre
|
|
|-
| 0x6A:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Positioning
* Main (Offensive)
|
* 0 - Maintain Formation
* 1 - Flexible
|
|
|-
| 0x6B:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Defensive Styles
* Main (Offensive)
|
* 0 - Frontline Pressure
* 1 - All-out Defence
|
|
|-
| 0x6C:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Containment Area
* Main (Offensive)
|
* 0 - Middle
* 1 - Wide
|
|
|-
| 0x6D:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Pressuring
* Main (Offensive)
|
* 0 - Aggressive
* 1 - Conservative
|
|
|-
| 0x6E:0
| 1 byte (uses 4 bits)
| Team Instructions (WiP): Support range
* Main (Offensive)
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0x6F:0
| 1 byte (uses 2 bits)
| Team Instructions (WiP): Numbers in attack
* Main (Offensive)
|
* 1 - Few
* 2 - Medium
* 3 - Many
|
|
|-
| 0x70:0
| 1 byte (uses 4 bits)
| Team Instructions (WooP): Defensive Line
* Main (Offensive)
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0x71:0
| 1 byte (uses 4 bits)
| Team Instructions (WooP): Compactness
* Main (Offensive)
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0x72:0
| 1 byte (uses 2 bits)
| Team Instructions (WooP): Numbers in defence
* Main (Offensive)
|
* 1 - Few
* 2 - Medium
* 3 - Many
|
|
|-
| 0x73:0
| 11 bytes
| Manmarking
* Main (Offensive)
| 11 x 1 bytes
Each byte refers to a Index ID of a player on the other team that will be marked.
| 0xFF = No Player marked
| 0xFF x 11
|-
| 0x7E:0
| 1 byte (uses 1 bit)
| Fluid Formation
| Whether the team's Offensive game plan uses Fluid Formations (1) or not (0).
|
| 0
|-
| 0x7F:0
| 11 bytes
| Player Positions
* Defensive
* Kick-off
| 11 x 1 byte
|
|
|-
| 0x8A:0
| 22 bytes
| Player Coordinates
* Defensive
* Kick-off
| 11 x 2 bytes
|
|
|-
| 0xA0:0
| 11 bytes
| Player Positions
* Defensive
* When in possession
| 11 x 1 byte
|
|
|-
| 0xAB:0
| 22 bytes
| Player Coordinates
* Defensive
* When in possession
| 11 x 2 bytes
|
|
|-
| 0xC1:0
| 11 bytes
| Player Positions
* Defensive
* When out of possession
| 11 x 1 byte
|
|
|-
| 0xCC:0
| 22 bytes
| Player Coordinates
* Defensive
* When out of possession
| 11 x 2 bytes
|
|
|-
| 0xE2:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Attacking Style
* Defensive
|
* 0 - Counter Attack
* 1 - Possession Game
|
|
|-
| 0xE3:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Build Up
* Defensive
|
* 0 - Long-pass
* 1 - Short-pass
|
|
|-
| 0xE4:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Attacking Area
* Defensive
|
* 0 - Wide
* 1 - Centre
|
|
|-
| 0xE5:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Positioning
* Defensive
|
* 0 - Maintain Formation
* 1 - Flexible
|
|
|-
| 0xE6:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Defensive Styles
* Defensive
|
* 0 - Frontline Pressure
* 1 - All-out Defence
|
|
|-
| 0xE7:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Containment Area
* Defensive
|
* 0 - Middle
* 1 - Wide
|
|
|-
| 0xE8:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Pressuring
* Defensive
|
* 0 - Aggressive
* 1 - Conservative
|
|
|-
| 0xE9:0
| 1 byte (uses 4 bits)
| Team Instructions (WiP): Support range
* Defensive
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0xEA:0
| 1 byte (uses 2 bits)
| Team Instructions (WiP): Numbers in attack
* Defensive
|
* 1 - Few
* 2 - Medium
* 3 - Many
|
|
|-
| 0xEB:0
| 1 byte (uses 4 bits)
| Team Instructions (WooP): Defensive Line
* Defensive
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0xEC:0
| 1 byte (uses 4 bits)
| Team Instructions (WooP): Compactness
* Defensive
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0xED:0
| 1 byte (uses 2 bits)
| Team Instructions (WooP): Numbers in defence
* Defensive
|
* 1 - Few
* 2 - Medium
* 3 - Many
|
|
|-
| 0xEE:0
| 11 bytes
| Manmarking
* Defensive
| 11 x 1 bytes
Each byte refers to a Index ID of a player on the other team that will be marked.
| 0xFF = No Player marked
| 0xFF x 11
|-
| 0xF9:0
| 1 byte (uses 1 bit)
| Fluid Formation
| Whether the team's Defensive game plan uses Fluid Formations (1) or not (0).
|
| 0
|-
| 0xFA:0
| 11 bytes
| Player Positions
* Custom
* Kick-off
| 11 x 1 byte
|
|
|-
| 0x105:0
| 22 bytes
| Player Coordinates
* Custom
* Kick-off
| 11 x 2 bytes
|
|
|-
| 0x11B:0
| 11 bytes
| Player Positions
* Custom
* When in possession
| 11 x 1 byte
|
|
|-
| 0x126:0
| 22 bytes
| Player Coordinates
* Custom
* When in possession
| 11 x 2 bytes
|
|
|-
| 0x13C:0
| 11 bytes
| Player Positions
* Custom
* When out of possession
| 11 x 1 byte
|
|
|-
| 0x147:0
| 22 bytes
| Player Coordinates
* Custom
* When out of possession
| 11 x 2 bytes
|
|
|-
| 0x15D:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Attacking Style
* Defensive
|
* 0 - Counter Attack
* 1 - Possession Game
|
|
|-
| 0x15E:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Build Up
* Defensive
|
* 0 - Long-pass
* 1 - Short-pass
|
|
|-
| 0x15F:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Attacking Area
* Defensive
|
* 0 - Wide
* 1 - Centre
|
|
|-
| 0x160:0
| 1 byte (uses 1 bit)
| Team Instructions (WiP): Positioning
* Defensive
|
* 0 - Maintain Formation
* 1 - Flexible
|
|
|-
| 0x161:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Defensive Styles
* Defensive
|
* 0 - Frontline Pressure
* 1 - All-out Defence
|
|
|-
| 0x162:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Containment Area
* Defensive
|
* 0 - Middle
* 1 - Wide
|
|
|-
| 0x163:0
| 1 byte (uses 1 bit)
| Team Instructions (WooP): Pressuring
* Defensive
|
* 0 - Aggressive
* 1 - Conservative
|
|
|-
| 0x164:0
| 1 byte (uses 4 bits)
| Team Instructions (WiP): Support range
* Defensive
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0x165:0
| 1 byte (uses 2 bits)
| Team Instructions (WiP): Numbers in attack
* Defensive
|
* 1 - Few
* 2 - Medium
* 3 - Many
|
|
|-
| 0x166:0
| 1 byte (uses 4 bits)
| Team Instructions (WooP): Defensive Line
* Defensive
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0x167:0
| 1 byte (uses 4 bits)
| Team Instructions (WooP): Compactness
* Defensive
| 1 - 10 slider
| 01 - 0A in PES
|
|-
| 0x168:0
| 1 byte (uses 2 bits)
| Team Instructions (WooP): Numbers in defence
* Defensive
|
* 1 - Few
* 2 - Medium
* 3 - Many
|
|
|-
| 0x169:0
| 11 bytes
| Manmarking
* Custom
| 11 x 1 bytes
Each byte refers to a Index ID of a player on the other team that will be marked.
| 0xFF = No Player marked
| 0xFF x 11
|-
| 0x174:0
| 1 byte (uses 1 bit)
| Fluid Formation
| Whether the team's Custom game plan uses Fluid Formations (1) or not (0).
|
| 0
|-
| 0x175:0
| 3 bytes
| ''Unknown A''
|
|
|
|-
| 0x178:0
| 128 bytes
| Player Lineup
| 32 x 4 bytes
This is a list of 32 Index IDs (explained below Team Player table) that determine the team's lineup.<br>
The first Index ID in the list will be the GK. Then the next 10 are all the outfield players. The remaining players will then fill the bench from the top down.
|
|
|-
| 0x1F8:0
| 1 byte
| Long FK Taker
| Index ID of the player of the team to take the Long FKs.
|
|
|-
| 0x1F9:0
| 1 byte
| Short FK Taker
| Index ID of the player of the team to take the Short FKs.
|
|
|-
| 0x1FA:0
| 1 byte
| FK Taker 2
| Index ID of the player of the team to be backup for FKs.
|
|
|-
| 0x1FB:0
| 1 byte
| Left CK Taker
| Index ID of the player of the team to take the Left CKs.
|
|
|-
| 0x1FC:0
| 1 byte
| Right CK Taker
| Index ID of the player of the team to take the Right CKs.
|
|
|-
| 0x1FD:0
| 1 byte
| PK Taker
| Index ID of the player of the team to take the Right CKs.
|
|
|-
| 0x1FE:0
| 1 byte
| Captain
| Index ID of the player of the team to be the Captain.
|
|
|-
| 0x1FF:0
| 3 bytes
| Players to Join Attack
| 3 x 1 byte
Index ID of the players of the team to join the attack.
| 0xFF = No Player
| 0xFF FF FF
|-
| 0x202:0
| 1 byte (uses 2 bits)
| Auto Substitution
|
* 00 - Off
* 01 - Very Late
* 02 - Flexible
* 03 - Very Early
|
| 0
|-
| 0x203:0
| 1 byte (uses 1 bit)
| Auto Offside Trap
| Whether the team uses Auto Offside Trap (1) or not (0).
|
| 0
|-
| 0x204:0
| 1 byte (uses 1 bit)
| Auto change Preset Tactics
| Whether the team uses Auto Change Preset Tactics (1) or not (0).
|
| 0
|-
| 0x205:0
| 3 bytes
| ''Unknown B''
|
|
|
|}
 
==== Position Limitations (coordinates) ====
 
[[File:PES16positions.png]]


* 4 bytes - Team ID
This file shows the coordinates of the boundaries of all playing areas. The bytes in the GK area are the fixed coordinates for all GKs in PES16.
* 60 bytes - ''unknown''
* 4 bytes - Rival Team 1 (Team ID)
* 4 bytes - Rival Team 2 (Team ID)
* 4 bytes - Rival Team 3 (Team ID)
* 72 bytes - ''unknown''
* 70 bytes - Team Name (last byte should probably be 00) ''(length is assumed, not proven)''
* 189 bytes - Team Score Board Name (last byte should probably be 00) ''(length is assumed, not proven)''
* 0 bytes - ''probably something else within Team Score Board Name''
* 49 bytes - Manager Name (last byte should probably be 00) ''(length is assumed, not proven)''


== Limitations enforced by PES ==
== 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.
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.
Some of these might be checked and corrected by the game, others are just taken as they are.
This might lead to unexpected behavior or even crash the game.
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.
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 2016]]
[[Category:Pro Evolution Soccer 2016]]

Latest revision as of 09:24, 10 August 2016

2016 4chanlogo.png
Pro Evolution Soccer 2016
Game
Rules
Info
Tools
Modding

The Edit file is called EDIT00000000 and can be found in %HOMEPATH%\documents\KONAMI\Pro Evolution Soccer 2016\save.

It is encrypted and thus, cannot be simply edited directly. Also, when moving from PES15 to PES16, Konami changed both the file name and the ecryption used for save games.

Refer to the Tools page for decrypting and editing tools.

Structure

Note: The beginning of the file is considered what pes16decrypter exports as data.dat.

  • Header
  • Player entries
  • Player appearance entries
  • Team entries
  • Competitions
  • Stadiums
  • Team-Player table
  • Competition entry entries
  • Game plan entries

Header

Length: 76 (0x4C) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 12 bytes Unknown A Always appears to be 0x0E 00 00 00 28 00 00 00 B8 D0 59 00
0x0C:0 2 bytes PES version
0x0E:0 2 bytes Unknown B
0x10:0 2 bytes DLC version
0x12:0 2 bytes Unknown C
0x14:0 2 bytes DLC version
0x16:0 22 bytes Unknown D
0x2C:0 2 bytes PES version
0x2E:0 2 bytes Unknown E
0x30:0 2 bytes DLC version
0x32:0 2 bytes Unknown F
0x34:0 2 bytes Amount of player stats entries
0x36:0 2 bytes Amount of player appearance entries
0x38:0 2 bytes Amount of team entries
0x3A:0 2 bytes Amount of competition entries
0x3C:0 2 bytes Amount of stadium entries
0x3E:0 4 bytes Unknown G
0x42:0 2 bytes Amount of team entries (presumably for team player tables)
0x44:0 2 bytes Unknown H
0x46:0 2 bytes Amount of team entries (presumably for game plans)
0x48:0 4 bytes Unknown I

Player entry

Length: 112 (0x70) 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 Balance PES: must be in range [40, 99] 80
0x1C:7 7 bits Kicking Power PES: must be in range [40, 99] 80
0x1D:6 7 bits Explosive Power PES: must be in range [40, 99] 80
0x1E:5 7 bits Jump 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 4 bits Registered Position Possible values are:
  • 12 - Centre Forward,
  • 11 - Second Striker,
  • 10 - Right Wing Forward,
  • 9 - Left Wing Forward,
  • 8 - Attacking Midfielder,
  • 7 - Right Midfielder,
  • 6 - Left Midfielder,
  • 5 - Centre Midfielder,
  • 4 - Defensive Midfielder,
  • 3 - Right Back,
  • 2 - Left Back,
  • 1 - Centre Back,
  • 0 - Goalkeeper
PES: must be in range [0, 12] 12
0x20:4 1 bit Unknown C Presumably unused/padding. 0
0x20:5 5 bits Playing Styles
  • 0 - None
  • 1 - Goal Poacher
  • 2 - Dummy Runner
  • 3 - Fox in the Box
  • 4 - Prolific Winger
  • 5 - Classic No. 10
  • 6 - Hole Player
  • 7 - Box to Box
  • 8 - Anchor Man
  • 9 - The Destroyer
  • 10 - Extra Frontman
  • 11 - Offensive Fullback
  • 12 - Defensive Fullback
  • 13 - Target Man
  • 14 - Creative Playmaker
  • 15 - Build Up
  • 16 - N/A
  • 17 - Offensive Goalkeeper
  • 18 - Defensive Goalkeeper
PES: must be be in range [0, 18] and not 16 0
0x21:2 7 bits Ball Control PES: must be in range [40, 99] 80
0x22:1 7 bits Ball Winning PES: must be in range [40, 99] 80
0x23:0 7 bits Coverage PES: must be in range [40, 99] 80
0x23:7 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
0x24:0 3 bits Motion: Arm Movement (running) In-game value minus one PES: must be in range [0, 7] (full range) 0
0x24:3 3 bits Motion: Corner Kick In-game value minus one PES: must be in range [0, 5] 0
0x24:6 2 bits Weak Foot Accuracy In-game value minus one PES: must be in range [0, 3] (full range) 1
0x25:0 2 bits Weak Foot Usage In-game value minus one PES: must be in range [0, 3] 1
0x25:2 26 bits Playable Position An array of 13 2-bit entries with:
  • 0 - C
  • 1 - B
  • 2 - A

Each entry pertains to one position, in the following order:

  • Bits 0-1: Centre Forward,
  • Bits 2-3: Second Striker,
  • Bits 4-5: Left Wing Forward,
  • Bits 6-7: Right Wing Forward,
  • Bits 8-9: Attacking Midfielder,
  • Bits 10-11: Defensive Midfielder,
  • Bits 12-13: Centre Midfielder,
  • Bits 14-15: Left Midfielder,
  • Bits 16-17: Right Midfielder,
  • Bits 18-19: Centre Back,
  • Bits 20-21: Left Back,
  • Bits 22-23: Right Back,
  • Bits 24-25: Goalkeeper
PES: each entry must be in range [0, 2] 0
0x28:4 2 bits Motion: Hunching (dribbling) In-game value minus one PES: must be in range [0, 2] 0
0x28:6 2 bits Motion: Hunching (running) In-game value minus one PES: must be in range [0, 2] 0
0x29:0 2 bits Motion: Penalty Kick In-game value minus one PES: must be in range [0, 3] (full range) 0
0x29:2 7 bits Place Kicking PES: must be in range [40, 99] 80
0x2A:1 7 bits Speed PES: must be in range [40, 99] 80
0x2B:0 6 bits Age PES: must be in range [15, 50] 17
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:6 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 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:0 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
0x2D:1 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
0x2D:2 1 bit Unknown D Presumably unused/padding. 0
0x2D:3 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
0x2D:4 1 bit Stronger Foot Possible values are:
  • 0 - Right foot
  • 1 - Left foot
PES: must be in range [0, 1] (full range) 0
0x2D:5 7 bits COM Playing Style Bitmask with 7 entries:
  • 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:4 28 bits Player Skills Bitmask with 28 entries:
  • Bit 0 - Scissors Feint
  • Bit 1 - Flip Flap
  • Bit 2 - Marseille Turn
  • Bit 3 - Sombrero
  • Bit 4 - Cut Behind & Turn
  • Bit 5 - Scotch Move
  • Bit 6 - Heading
  • Bit 7 - Long Range Drive
  • Bit 8 - Knuckle Shot
  • Bit 9 - Acrobatic Finishing
  • Bit 10 - Heel Trick
  • Bit 11 - First-time Shot
  • Bit 12 - One-touch Pass
  • Bit 13 - Weighted Pass
  • Bit 14 - Pinpoint Crossing
  • Bit 15 - Outside Curler
  • Bit 16 - Rabona
  • Bit 17 - Low Lofted Pass
  • Bit 18 - Low Punt Trajectory
  • Bit 19 - Long Throw
  • Bit 20 - GK Long Throw
  • Bit 21 - Malicia
  • Bit 22 - Man Marking
  • Bit 23 - Track Back
  • Bit 24 - Acrobatic Clear
  • Bit 25 - Captaincy
  • Bit 26 - Super-sub
  • Bit 27 - Fighting Spirit
PES: at most 10 may be active at once 0
0x32: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
0x60:0 16 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

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 4 bytes 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
0x04:3 1 bit Edited Strip Style settings Whether default Strip Style settings are used (0) or not (1) 0
0x04:4 14 bits Boots References a boots ID (for 0, ID 62 will be displayed instead) 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 B
0x08:0 4 bytes Base Copy Player 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, 14] 7
0x0C:4 4 bits Player physique: Neck Size In-game value plus seven 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, 14] 7
0x0D:4 4 bits Player physique: Shoulder Width In-game value plus seven 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, 14] 7
0x0E:4 4 bits Player physique: Waist Size In-game value plus seven PES: must be in range [0, 14] 7
0x0F:0 4 bits Player physique: Arm Size In-game value plus seven PES: must be in range [0, 14] 7
0x0F:4 4 bits Player physique: Arm Length In-game value plus seven PES: must be in range [0, 14] 7
0x10:0 4 bits Player physique: Thigh Size In-game value plus seven PES: must be in range [0, 14] 7
0x10:4 4 bits Player physique: Calf Size In-game value plus seven PES: must be in range [0, 14] 7
0x11:0 4 bits Player physique: Leg Length In-game value plus seven PES: must be in range [0, 14] 7
0x11:4 4 bits Player physique: Head Length In-game value plus seven PES: must be in range [0, 14] 7
0x12:0 4 bits Player physique: Head Width In-game value plus seven PES: must be in range [0, 14] 7
0x12:4 4 bits Player physique: Head Depth In-game value plus seven PES: must be in range [0, 14] 7
0x13:0 3 bits Wrist Tape: Color left 000 for strip color, 001 for white, 010 for black and 011 for beige

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

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, 3] (full range) 0
0x14:0 3 bits Spectacles frame color Glasscolors.png PES: inaccessible feature

Full range is handled in-game

0x14:3 3 bits Spectacles References a glasses ID (000 = no glasses)
Glassstyles.png
PES: inaccessible feature

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, 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, 2] 0
0x15:2 2 bits Sock Length 00 is Standard. 01 is Long. 10 is Short. 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, 3] (full range) 0
0x15:6 1 bit Shirttail 0 is Tucked in, 1 is Untucked 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, 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 Glasscolors.png PES: must be in range [0, 7] (full range) 0
0x16:4 4 bits Unknown D
0x17:0 22 bytes Unknown E
0x2D:0 3 bits Skin color Possible values are:
  • 0: Caucasian white / Transparent for custom models
  • 1-6:
Skin colors 2015.jpg
  • 7: None / Transparent for custom models
PES: must be in range [1, 6] 1
0x2D:3 5 bits Unknown F First two bits are Cheek Type
0x2E:0 18 bytes Unknown G
0x40:0 4 bits Iris color Eyeofthepony.png PES: must be in range [0, 10] 1
0x40:4 4 bits Unknown H
0x41:0 7 bytes Unknown I

Team entry

Length: 456 (0x1C8) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x000:0 4 bytes Team ID PES: must be unique
0x004:0 2 bytes Team Emblem
  • 0xFF if using default emblem
  • References loaded emblem number if not
0xFF
0x006:0 2 bytes Home Stadium References a Stadium ID
0x008:0 2 bytes Team Nationality References a Nation ID
0x00A:0 2 bytes Team Callname References a Callname ID 0xFF
0x00C:0 2 bytes Coach Nationality References a Nation ID
0x00E:0 2 bytes Coach Image References a loaded image ID 0xFF
0x010:0 4 bit Stadium Turf Type PES: Must be in range [1-8]
0x010:4 4 bit Stadium Net Type PES: Must be in range [1-15]
0x011:0 4 bit Stadium Seat Color PES: Must be in range [1-8]
0x011:4 4 bit Stadium Sideline Color PES: Must be in range [1-8]
0x012:0 1 bit Unknown A
0x012:1 1 bit Team Banners Edited Flag Flag that tells if team has its banners edited or default:
  • 0 - Team banners not edited
  • 1 - Team banners edited
0x012:2 1 bit Team Rivals Edited Flag Flag that tells if team has its rivals edited or default:
  • 0 - Team rivals not edited
  • 1 - Team rivals edited
0x012:3 1 bit Stadium Settings Changed Flag Flag that tells if team has its stadium settings changed or default:
  • 0 - Team stadium settings not edited
  • 1 - Team stadium settings edited
0x012:4 1 bit Stadium Name Changed Flag Flag that tells if team has its stadium name changed or default:
  • 0 - Team stadium name not edited
  • 1 - Team stadium name edited
0x012:5 1 bit Stadium Changed Flag Flag that tells if team has its stadium changed or default:
  • 0 - Team stadium not edited
  • 1 - Team stadium edited
0x012:6 1 bit Team Emblem Edited Flag Flag that tells if team has its emblem edited or default:
  • 0 - Team emblem not edited
  • 1 - Team emblem edited
0x012:7 1 bit Team Names Edited Flag Flag that tells if team has its names (Name, Short, Callname) edited or default:
  • 0 - Team names not edited
  • 1 - Team names edited
0x013:0 2 bits Unknown B
0x013:2 2 bits Team Coach Image Edited Flag Flag that tells if coach emblem has been changed or still default:
  • 0x00 - Default
  • 0x11 - Changed
0x013:4 1 bit Team Coach Nation Edited Flag Flag that tells if coach nation has been changed or still default:
  • 0 - Default
  • 1 - Changed
0x013:5 1 bit Team Coach Name Edited Flag Flag that tells if coach name has been changed or still default:
  • 0 - Default
  • 1 - Changed
0x013:6 1 bit Squad Numbers Edited Flag Flag that tells if squad numbers have been changed or still default:
  • 0 - Default
  • 1 - Changed
0x013:7 1 bit Game Plan Edited Flag Flag that tells if game plan has been changed or still default:
  • 0 - Default
  • 1 - Changed
0x014:0 4 bytes Unknown C
0x018:0 4 bytes Team Strip 1 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x01C:0 4 bytes Team Strip 2 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x020:0 4 bytes Team Strip 3 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x024:0 4 bytes Team Strip 4 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x02C:0 4 bytes Team Strip 5 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x030:0 4 bytes Team Strip 6 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x034:0 4 bytes Team Strip 7 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x03C:0 4 bytes Team Strip 8 (Team ID * 0x4000)+Number of shirt if GK: +(0x80), if Continental: +(0x700)
0x040:0 4 bytes Rival Team 1 References a Team ID
0x044:0 4 bytes Rival Team 2 References a Team ID
0x048:0 4 bytes Rival Team 3 References a Team ID
0x04C:0 72 bytes Unknown D
0x094:0 70 bytes Team Name Null-terminated string
(LENGTH NEEDS VERIFICATION)
0x0DA:0 4 bytes Score board name Null-terminated string
0x0DE:0 121 bytes Custom Stadium Name Null-terminated string
0x157:0 16 bytes Banner 1 Text Null-terminated string
0x167:0 16 bytes Banner 2 Text Null-terminated string
0x177:0 16 bytes Banner 3 Text Null-terminated string
0x187:0 16 bytes Banner 4 Text Null-terminated string
0x197:0 49 bytes Manager Name Null-terminated string
(LENGTH NEEDS VERIFICATION)

Competitions

Length: 92 (0x5C) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 2 bytes Competition ID PES: must be unique
0x02:0 2 bytes Custom Logo ID 0xFF = default
0x04:0 2 bytes Ball Type ID of ball
0x06:0 4 bytes Unknown A Always appears to be 0xFFFF
0x0A:0 3 bits How standings are ranked In-game value minus one PES: Type 1 - Type 6
0x0A:3 3 bits Unknown B
0x0A:6 3 bits Cards collected In-game value minus one PES: Type 1 - Type 7
0x0B:1 3 bits Unknown C
0x0B:4 2 bits Badge
  • OFF = 00
  • Type 1 = 01
  • Type 2 = 10
  • Type 3 = 11
0x0B:6 2 bits Unknown D
0x0C:0 2 bits Cup Competition Format In-game value minus one PES: Type 1 - Type 3
0x0C:2 4 bits Unknown E
0x0C:6 4 bits Number of teams In-game value divided by 2 PES: 14, 16, 18 or 20
0x0D:2 1 bit Unknown F
0x0D:3 1 bit Competition Name Whether the competition name has been edited (1) or not (0).
0x0D:4 1 bit Competition Logo Whether the competition logo has been edited (1) or not (0).
0x0D:5 1 bit Competition Detailed Settings Whether the competition detailed settings have been edited (1) or not (0).
0x0D:6 1 bits Unknown G
0x0D:7 1 bit Group Name
  • 1~4 = 0
  • A~D = 1
0x0E:0 1 bit 3rd Place Playoff Whether the competition has a third place playoff (1) or not (0).
0x0E:1 1 byte and 7 bits Unknown H
0x10:0 76 bytes Competition Name PES: must not exceed 25 characters

Some competitions in the EDIT0 that are not editable in Edit Mode do have more than 25 characters, such as the Qualifiers.

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: 88 (0x58) 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.
The first player in the table will get the Index ID 0x00, the second will get 0x01, and if your team has 32 players, the 32nd will get 0x1F.
These Index IDs are then used for the Game Plan menu to assign players to positions.

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: 2848 (0xB20) bytes (whole section)

Offset (byte:bit) Length Amount of teams League/Cup
0x00:0 80 bytes 20 English League
0x50:0 96 bytes 24 English 2nd Division
0xB0:0 80 bytes 20 Ligue 1
0x100:0 80 bytes 20 Ligue 2
0x150:0 80 bytes 20 Italian League
0x1A0:0 88 bytes 22 Italian 2nd Division
0x1FB:0 72 bytes 18 Eredivisie
0x240:0 80 bytes 20 Liga BBVA
0x290:0 88 bytes 22 Liga Adelante
0x2EB:0 72 bytes 18 Portugal League
0x330:0 80 bytes 20 Brazilian League
0x380:0 120 bytes 30 Argentine League
0x3F8:0 64 bytes 16 Chilean League
0x438:0 8 bytes 2 Unknown A
0x440:0 80 bytes 20 PEU League
0x490:0 80 bytes 20 PLA League
0x4E0:0 80 bytes 20 PAS League
0x530:0 72 bytes 18 Unknown B
0x578:0 152 bytes 38 Unknown C
0x610:0 152 bytes 38 Unknown D
0x6A8:0 188 bytes 47 Unknown E
0x764:0 188 bytes 47 Unknown F
0x820:0 128 bytes 32 Unknown G
0x8A0:0 160 bytes 40 Unknown H
0x940:0 36 bytes 9 Other European Teams
0x964:0 164 bytes 41 Unknown I
0xA08:0 16 bytes 4 Other Latin American Teams
0xA18:0 264 bytes 66 Unknown J

Team Game Plan

Length: 520 (0x208) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 4 bytes Team ID
  • PES: must be unique
  • 0x03FFFF if the team slot is not used
0x04:0 11 bytes Player Positions
  • Main (Offensive)
  • Kick-off
11 x 1 byte

The first byte is the first player in the Player Lineup, the second byte is the second player in the Player Lineup, etc..
Possible values are:

  • 0C - Centre Forward
  • 0B - Second Striker
  • 0A - Right Wing Forward
  • 09 - Left Wing Forward
  • 08 - Attacking Midfielder
  • 07 - Right Midfielder
  • 06 - Left Midfielder
  • 05 - Centre Midfielder
  • 04 - Defensive Midfielder
  • 03 - Right Back
  • 02 - Left Back
  • 01 - Centre Back
  • 00 - Goalkeeper
0x0F:0 22 bytes Player Coordinates
  • Main (Offensive)
  • Kick-off
11 x 2 bytes

The first byte pair is the first player in the Player Lineup, the second byte pair is the second player in the Player Lineup, etc..

  • First byte is the vertical position (from bottom to top)
  • Second byte is the horizontal position (from left to right)
GK is always 03 34
0x25:0 11 bytes Player Positions
  • Main (Offensive)
  • When in possession
11 x 1 byte
0x30:0 22 bytes Player Coordinates
  • Main (Offensive)
  • When in possession
11 x 2 bytes
0x46:0 11 bytes Player Positions
  • Main (Offensive)
  • When out of possession
11 x 1 byte
0x51:0 22 bytes Player Coordinates
  • Main (Offensive)
  • When out of possession
11 x 2 bytes
0x67:0 1 byte (uses 1 bit) Team Instructions (WiP): Attacking Style
  • Main (Offensive)
  • 0 - Counter Attack
  • 1 - Possession Game
0x68:0 1 byte (uses 1 bit) Team Instructions (WiP): Build Up
  • Main (Offensive)
  • 0 - Long-pass
  • 1 - Short-pass
0x69:0 1 byte (uses 1 bit) Team Instructions (WiP): Attacking Area
  • Main (Offensive)
  • 0 - Wide
  • 1 - Centre
0x6A:0 1 byte (uses 1 bit) Team Instructions (WiP): Positioning
  • Main (Offensive)
  • 0 - Maintain Formation
  • 1 - Flexible
0x6B:0 1 byte (uses 1 bit) Team Instructions (WooP): Defensive Styles
  • Main (Offensive)
  • 0 - Frontline Pressure
  • 1 - All-out Defence
0x6C:0 1 byte (uses 1 bit) Team Instructions (WooP): Containment Area
  • Main (Offensive)
  • 0 - Middle
  • 1 - Wide
0x6D:0 1 byte (uses 1 bit) Team Instructions (WooP): Pressuring
  • Main (Offensive)
  • 0 - Aggressive
  • 1 - Conservative
0x6E:0 1 byte (uses 4 bits) Team Instructions (WiP): Support range
  • Main (Offensive)
1 - 10 slider 01 - 0A in PES
0x6F:0 1 byte (uses 2 bits) Team Instructions (WiP): Numbers in attack
  • Main (Offensive)
  • 1 - Few
  • 2 - Medium
  • 3 - Many
0x70:0 1 byte (uses 4 bits) Team Instructions (WooP): Defensive Line
  • Main (Offensive)
1 - 10 slider 01 - 0A in PES
0x71:0 1 byte (uses 4 bits) Team Instructions (WooP): Compactness
  • Main (Offensive)
1 - 10 slider 01 - 0A in PES
0x72:0 1 byte (uses 2 bits) Team Instructions (WooP): Numbers in defence
  • Main (Offensive)
  • 1 - Few
  • 2 - Medium
  • 3 - Many
0x73:0 11 bytes Manmarking
  • Main (Offensive)
11 x 1 bytes

Each byte refers to a Index ID of a player on the other team that will be marked.

0xFF = No Player marked 0xFF x 11
0x7E:0 1 byte (uses 1 bit) Fluid Formation Whether the team's Offensive game plan uses Fluid Formations (1) or not (0). 0
0x7F:0 11 bytes Player Positions
  • Defensive
  • Kick-off
11 x 1 byte
0x8A:0 22 bytes Player Coordinates
  • Defensive
  • Kick-off
11 x 2 bytes
0xA0:0 11 bytes Player Positions
  • Defensive
  • When in possession
11 x 1 byte
0xAB:0 22 bytes Player Coordinates
  • Defensive
  • When in possession
11 x 2 bytes
0xC1:0 11 bytes Player Positions
  • Defensive
  • When out of possession
11 x 1 byte
0xCC:0 22 bytes Player Coordinates
  • Defensive
  • When out of possession
11 x 2 bytes
0xE2:0 1 byte (uses 1 bit) Team Instructions (WiP): Attacking Style
  • Defensive
  • 0 - Counter Attack
  • 1 - Possession Game
0xE3:0 1 byte (uses 1 bit) Team Instructions (WiP): Build Up
  • Defensive
  • 0 - Long-pass
  • 1 - Short-pass
0xE4:0 1 byte (uses 1 bit) Team Instructions (WiP): Attacking Area
  • Defensive
  • 0 - Wide
  • 1 - Centre
0xE5:0 1 byte (uses 1 bit) Team Instructions (WiP): Positioning
  • Defensive
  • 0 - Maintain Formation
  • 1 - Flexible
0xE6:0 1 byte (uses 1 bit) Team Instructions (WooP): Defensive Styles
  • Defensive
  • 0 - Frontline Pressure
  • 1 - All-out Defence
0xE7:0 1 byte (uses 1 bit) Team Instructions (WooP): Containment Area
  • Defensive
  • 0 - Middle
  • 1 - Wide
0xE8:0 1 byte (uses 1 bit) Team Instructions (WooP): Pressuring
  • Defensive
  • 0 - Aggressive
  • 1 - Conservative
0xE9:0 1 byte (uses 4 bits) Team Instructions (WiP): Support range
  • Defensive
1 - 10 slider 01 - 0A in PES
0xEA:0 1 byte (uses 2 bits) Team Instructions (WiP): Numbers in attack
  • Defensive
  • 1 - Few
  • 2 - Medium
  • 3 - Many
0xEB:0 1 byte (uses 4 bits) Team Instructions (WooP): Defensive Line
  • Defensive
1 - 10 slider 01 - 0A in PES
0xEC:0 1 byte (uses 4 bits) Team Instructions (WooP): Compactness
  • Defensive
1 - 10 slider 01 - 0A in PES
0xED:0 1 byte (uses 2 bits) Team Instructions (WooP): Numbers in defence
  • Defensive
  • 1 - Few
  • 2 - Medium
  • 3 - Many
0xEE:0 11 bytes Manmarking
  • Defensive
11 x 1 bytes

Each byte refers to a Index ID of a player on the other team that will be marked.

0xFF = No Player marked 0xFF x 11
0xF9:0 1 byte (uses 1 bit) Fluid Formation Whether the team's Defensive game plan uses Fluid Formations (1) or not (0). 0
0xFA:0 11 bytes Player Positions
  • Custom
  • Kick-off
11 x 1 byte
0x105:0 22 bytes Player Coordinates
  • Custom
  • Kick-off
11 x 2 bytes
0x11B:0 11 bytes Player Positions
  • Custom
  • When in possession
11 x 1 byte
0x126:0 22 bytes Player Coordinates
  • Custom
  • When in possession
11 x 2 bytes
0x13C:0 11 bytes Player Positions
  • Custom
  • When out of possession
11 x 1 byte
0x147:0 22 bytes Player Coordinates
  • Custom
  • When out of possession
11 x 2 bytes
0x15D:0 1 byte (uses 1 bit) Team Instructions (WiP): Attacking Style
  • Defensive
  • 0 - Counter Attack
  • 1 - Possession Game
0x15E:0 1 byte (uses 1 bit) Team Instructions (WiP): Build Up
  • Defensive
  • 0 - Long-pass
  • 1 - Short-pass
0x15F:0 1 byte (uses 1 bit) Team Instructions (WiP): Attacking Area
  • Defensive
  • 0 - Wide
  • 1 - Centre
0x160:0 1 byte (uses 1 bit) Team Instructions (WiP): Positioning
  • Defensive
  • 0 - Maintain Formation
  • 1 - Flexible
0x161:0 1 byte (uses 1 bit) Team Instructions (WooP): Defensive Styles
  • Defensive
  • 0 - Frontline Pressure
  • 1 - All-out Defence
0x162:0 1 byte (uses 1 bit) Team Instructions (WooP): Containment Area
  • Defensive
  • 0 - Middle
  • 1 - Wide
0x163:0 1 byte (uses 1 bit) Team Instructions (WooP): Pressuring
  • Defensive
  • 0 - Aggressive
  • 1 - Conservative
0x164:0 1 byte (uses 4 bits) Team Instructions (WiP): Support range
  • Defensive
1 - 10 slider 01 - 0A in PES
0x165:0 1 byte (uses 2 bits) Team Instructions (WiP): Numbers in attack
  • Defensive
  • 1 - Few
  • 2 - Medium
  • 3 - Many
0x166:0 1 byte (uses 4 bits) Team Instructions (WooP): Defensive Line
  • Defensive
1 - 10 slider 01 - 0A in PES
0x167:0 1 byte (uses 4 bits) Team Instructions (WooP): Compactness
  • Defensive
1 - 10 slider 01 - 0A in PES
0x168:0 1 byte (uses 2 bits) Team Instructions (WooP): Numbers in defence
  • Defensive
  • 1 - Few
  • 2 - Medium
  • 3 - Many
0x169:0 11 bytes Manmarking
  • Custom
11 x 1 bytes

Each byte refers to a Index ID of a player on the other team that will be marked.

0xFF = No Player marked 0xFF x 11
0x174:0 1 byte (uses 1 bit) Fluid Formation Whether the team's Custom game plan uses Fluid Formations (1) or not (0). 0
0x175:0 3 bytes Unknown A
0x178:0 128 bytes Player Lineup 32 x 4 bytes

This is a list of 32 Index IDs (explained below Team Player table) that determine the team's lineup.
The first Index ID in the list will be the GK. Then the next 10 are all the outfield players. The remaining players will then fill the bench from the top down.

0x1F8:0 1 byte Long FK Taker Index ID of the player of the team to take the Long FKs.
0x1F9:0 1 byte Short FK Taker Index ID of the player of the team to take the Short FKs.
0x1FA:0 1 byte FK Taker 2 Index ID of the player of the team to be backup for FKs.
0x1FB:0 1 byte Left CK Taker Index ID of the player of the team to take the Left CKs.
0x1FC:0 1 byte Right CK Taker Index ID of the player of the team to take the Right CKs.
0x1FD:0 1 byte PK Taker Index ID of the player of the team to take the Right CKs.
0x1FE:0 1 byte Captain Index ID of the player of the team to be the Captain.
0x1FF:0 3 bytes Players to Join Attack 3 x 1 byte

Index ID of the players of the team to join the attack.

0xFF = No Player 0xFF FF FF
0x202:0 1 byte (uses 2 bits) Auto Substitution
  • 00 - Off
  • 01 - Very Late
  • 02 - Flexible
  • 03 - Very Early
0
0x203:0 1 byte (uses 1 bit) Auto Offside Trap Whether the team uses Auto Offside Trap (1) or not (0). 0
0x204:0 1 byte (uses 1 bit) Auto change Preset Tactics Whether the team uses Auto Change Preset Tactics (1) or not (0). 0
0x205:0 3 bytes Unknown B

Position Limitations (coordinates)

PES16positions.png

This file shows the coordinates of the boundaries of all playing areas. The bytes in the GK area are the fixed coordinates for all GKs in PES16.

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.