Pro Evolution Soccer 2017/Edit file

From Rigged Wiki
Jump to navigation Jump to search
2017 4chanlogo.png
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.
Start: HEX block 78
End: HEX block 3C3E57
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 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:
  • 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
0x21:2 1 bit Unknown C Presumably unused/padding. 0
0x21:3 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
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:
  • 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
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:
  • 0 - Right foot
  • 1 - Left foot
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:
  • 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
0x2F: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
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

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 78
End: HEX block 3C3E57
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 A
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 Appearance: Jawline In-game value plus seven PES: must be in range [0, 14] 7
0x17:0 4 bits Appearance: Jaw Height In-game value plus seven PES: must be in range [0, 14] 7
0x17:4 4 bits Appearance: Jawline (duplicate) Set by the game but doesn't affect anything alone PES: must be in range [0, 14] 7
0x18:0 4 bits Appearance: Cheekbones In-game value plus seven PES: must be in range [0, 14] 7
0x18:4 4 bits Unknown B
0x19:0 4 bits Appearance: Cheekbones (duplicate) Set by the game but doesn't affect anything alone PES: must be in range [0, 14] 7
0x19:4 4 bits Unknown C
0x1A:0 4 bits Unknown D
0x1A:4 4 bits Appearance: Brow Width In-game value plus seven PES: must be in range [0, 14] 7
0x1B:0 4 bits Appearance: Inner Eyebrow Height In-game value plus seven PES: must be in range [0, 14] 7
0x1B:4 4 bits Appearance: Eyebrow Depth In-game value plus seven PES: must be in range [0, 14] 7
0x1C:0 4 bits Appearance: Temple Width In-game value plus seven PES: must be in range [0, 14] 7
0x1C:4 4 bits 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 Appearance: Pupil Size In-game value plus seven PES: must be in range [0, 14] 7
0x1E:0 4 bits Appearance: Eye Depth In-game value plus seven PES: must be in range [0, 14] 7
0x1E:4 4 bits Appearance: Inner Eye Position In-game value plus seven PES: must be in range [0, 14] 7
0x1F:0 4 bits Appearance: Inner Eye Height In-game value plus seven PES: must be in range [0, 14] 7
0x1F:4 4 bits Appearance: Outer Eye Position In-game value plus seven PES: must be in range [0, 14] 7
0x20:0 4 bits Appearance: Eye Corner Height In-game value plus seven PES: must be in range [0, 14] 7
0x20:4 4 bits Appearance: Upper Eyelid Width Inner In-game value plus seven PES: must be in range [0, 14] 7
0x21:0 4 bits Appearance: Upper Eyelid Height Inner In-game value plus seven PES: must be in range [0, 14] 7
0x21:4 4 bits Appearance: Upper Eyelid Width Outer In-game value plus seven PES: must be in range [0, 14] 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 Appearance: Bottom Eyelid Height In-game value plus seven PES: must be in range [0, 14] 7
0x23:4 4 bits Appearance: Horizontal Eye Position In-game value plus seven PES: must be in range [0, 14] 7
0x24:0 4 bits Appearance: Eye Height In-game value plus seven PES: must be in range [0, 14] 7
0x24:4 4 bits Appearance: Nose Height In-game value plus seven PES: must be in range [0, 14] 7
0x25:0 4 bits Appearance: Nose Tip Depth In-game value plus seven PES: must be in range [0, 14] 7
0x25:4 4 bits Appearance: Nostril Width In-game value plus seven PES: must be in range [0, 14] 7
0x26:0 4 bits Unknown G
0x26:4 4 bits Appearance: Nose Depth In-game value plus seven 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 H
0x28:0 4 bits Appearance: Mouth Height In-game value plus seven PES: must be in range [0, 14] 7
0x28:4 4 bits Appearance: Mouth Depth In-game value plus seven PES: must be in range [0, 14] 7
0x29:0 4 bits Appearance: Lip Size In-game value plus seven PES: must be in range [0, 14] 7
0x29:4 4 bits Unknown I
0x2A:0 4 bits Appearance: Mouth Corner Height In-game value plus seven PES: must be in range [0, 14] 7
0x2A:4 4 bits Appearance: Lip Width In-game value plus seven PES: must be in range [0, 14] 7
0x2B:0 4 bits Appearance: Mouth Depth (duplicate) Set by the game but doesn't affect anything alone 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: Chin Height In-game value plus seven 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 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 Appearance: Cheek Type In-game value minus one PES: must be in range [0, 5] 0
0x2E:0 3 bits Appearance: Forehead Type In-game value minus one PES: must be in range [0, 6] 0
0x2E:3 5 bits Appearance: Facial Hair Type In-game value, 0=OFF PES: must be in range [0, 19] 0
0x2F:0 3 bits Appearance: Laughter Lines In-game value minus one PES: must be in range [0, 4] 0
0x2F:3 3 bits Appearance: Upper Eyelid Type In-game value minus one PES: must be in range [0, 7] 0
0x2F:6 2 bits Unknown J
0x30:0 3 bits Appearance: Bottom Eyelid Type In-game value minus one PES: must be in range [0, 6] 0
0x30:3 1 bit Unknown K
0x30:4 4 bits Appearance: Ear Length In-game value plus seven PES: must be in range [0, 14] 7
0x31:0 4 bits Appearance: Ear Width In-game value plus seven 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
0x32:3 2 bits Unknown L
0x32:5 2 bits Appearance: Neck Line Type In-game value minus one PES: must be in range [0, 3] 0
0x32:7 1 bit Unknown M
0x33:0 4 bits Appearance: Face Size In-game value plus seven 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 Appearance: Nose Type In-game value minus one PES: must be in range [0, 7] 0
0x34:3 5 bits Unknown N
0x35:0 3 bits Appearance: Upper Lip Type In-game value minus one PES: must be in range [0, 4] 0
0x35:3 3 bits Appearance: Lower Lip Type In-game value minus one PES: must be in range [0, 4] 0
0x35:6 6 bits Appearance: Hair Colour Red PES: must be in range [0, 63]
0x36:4 6 bits Appearance: Hair Colour Green PES: must be in range [0, 63]
0x37:2 6 bits Appearance: Hair Colour Blue PES: must be in range [0, 63]
0x38:0 3 bits 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, 6] 1
0x38:7 1 bit 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 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 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
0x38:7 1 bit Unknown Q
0x3D:0 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]
0x3F:6 2 bits Appearance: Facial Hair Thickness PES: must be in range [0, 3] 3
0x40:0 4 bits Iris color Eyeofthepony.png 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 bytes Unknown R

Team entry

Start: HEX block 3C3E58
End: HEX block 410117
Entry Length: 480 (0x1E0) 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
  • 0xFF if using default emblem
  • References loaded emblem number if not
0x00A:0 2 bytes Home Stadium References a Stadium ID
0x00C:0 2 bytes Unknown A 0xFF
0x00E:0 2 bytes Team Nationality References a Nation ID
0x010:0 2 bytes Team Callname References a Callname ID 0xFF
0x012:0 6 bits Team Colour 1 Red PES: Must be in range [0-63]
0x012:6 6 bits Team Colour 1 Green PES: Must be in range [0-63]
0x013:4 4 bits Stadium Net Design PES: Must be in range [1-15]
0x014:0 6 bits Team Colour 2 Red PES: Must be in range [0-63]
0x014:6 6 bits Team Colour 2 Green PES: Must be in range [0-63]
0x015:4 6 bits Team Colour 2 Blue PES: Must be in range [0-63]
0x016:2 6 bits Team Colour 1 Blue PES: Must be in range [0-63]
0x017:0 1 bit Stadium Net Design PES: Must be in range [0-1]
0x017:1 3 bits Unknown B
0x017:4 2 bits Stadium Goal Type PES: Must be in range [0-3]
0x017:6 2 bits Unknown C
0x018:0 4 bits Stadium Turf Pattern PES: Must be in range [1-8]
0x018:4 4 bits Stadium Sideline Colour PES: Must be in range [1-8]
0x019:0 4 bits Stadium Seat Colour PES: Must be in range [1-8]
0x019:4 1 bit Team Name Edited Flag Flag that tells if team name has been changed or still default:
  • 0 - Default
  • 1 - Changed
0x019:5 1 bit Team Stadium Changed Flag Flag that tells if team has its stadium changed or default:
  • 0 - Default
  • 1 - Changed
0x019:6 1 bit Unknown D
0x019:7 1 bit Stadium Name Edited Flag Flag that tells if team has its stadium name changed or default:
  • 0 - Default
  • 1 - Changed
0x01A:0 1 bit Unknown E
0x01A:1 1 bit Stadium Settings Edited Flag Flag that tells if team has its stadium settings changed or default:
  • 0 - Default
  • 1 - Changed
0x01A:2 1 bit Rival Team Edited Flag Flag that tells if team has its rival teams changed or default:
  • 0 - Default
  • 1 - Changed
0x01A:3 1 bit Team Banners Edited Flag Flag that tells if team has its banners changed or default:
  • 0 - Default
  • 1 - Changed
0x01A:4 1 bit Unknown F
0x01A:5 1 bit Team Strip Edited Flag Flag that tells if team has its strip changed or default:
  • 0 - Default
  • 1 - Changed
0x01A:6 1 bit Team Manager Changed Flag Flag that tells if team has its manager changed or default:
  • 0 - Default
  • 1 - Changed
0x01A:7 1 bit Unknown G
0x01B:0 1 byte Unknown H
0x01C:0 4 bytes Team Strip 1
  • 1st byte = Number of kit starting from 00, or 0x80 if goalkeeper
  • Next 3 bytes = Team ID * 0x4000
  • These apply to all the kit entries below as well
0x020:0 4 bytes Team Strip 2
0x024:0 4 bytes Team Strip 3
0x028:0 4 bytes Team Strip 4
0x02C:0 4 bytes Team Strip 5
0x030:0 4 bytes Team Strip 6
0x034:0 4 bytes Team Strip 7
0x038:0 4 bytes Team Strip 8
0x03C:0 4 bytes Team Strip 9
0x040:0 4 bytes Team Strip 10
0x044:0 4 bytes Rival Team 1 References a Team ID
0x048:0 4 bytes Rival Team 2 References a Team ID
0x04C:0 4 bytes Rival Team 3 References a Team ID
0x050:0 44 bytes Unknown I
0x094:0 1 byte Banner 1 Edited Flag Special case, 0x00 always
0x095:0 1 byte Banner 2 Edited Flag 0x00 if not edited, 0x01 if edited
0x096:0 1 byte Banner 3 Edited Flag 0x00 if not edited, 0x02 if edited
0x097:0 1 byte Banner 4 Edited Flag 0x00 if not edited, 0x03 if edited
0x098:0 70 bytes Team Name Null-terminated string
0x0DE:0 4 bytes Scoreboard name Null-terminated string
0x0E2:0 121 bytes Custom Stadium Name Null-terminated string
0x15B:0 16 bytes Banner 1 Text Null-terminated string
0x16B:0 16 bytes Banner 2 Text Null-terminated string
0x17B:0 16 bytes Banner 3 Text Null-terminated string
0x18B:0 16 bytes Banner 4 Text Null-terminated string
0x19B:0 69 bytes Unknown J

Manager entry

Start: HEX block 410118
End: HEX block 422547
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 422548
End: HEX block 423D7F
Entry Length: 124 (0x7C) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value

Stadium Name

Start: HEX block 423D80
End: HEX block 42517F
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 425180
End: HEX block 475A8F
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 32 Player IDs that correspond to the players in that team, then the respective shirt numbers for those players.
Start: HEX block 475A90
End: HEX block 48FAF7
Entry 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.

Start: HEX block 48FAF8
End: HEX block 49063F
Entry Length: 2888 (0xB48) 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 490640
End: HEX block 505B03
Entry Length: 628 (0x274) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x000:0 4 bytes Team ID
  • PES: must be unique
  • 0x03FFFF if the team slot is not used
0x004:0 160 bytes Preset Tactics 1: Main (Offensive) see below (add 0x004 to all offsets)
0x000:0 11 bytes Player Positions
  • 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
0x00B:0 22 bytes Player Coordinates
  • 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
0x021:0 11 bytes Player Positions
  • When in possession
11 x 1 byte
0x02C:0 22 bytes Player Coordinates
  • When in possession
11 x 2 bytes
0x042:0 11 bytes Player Positions
  • When out of possession
11 x 1 byte
0x04D:0 22 bytes Player Coordinates
  • When out of possession
11 x 2 bytes
0x063:0 1 byte Attacking Style
  • 0 - Counter Attack
  • 1 - Possession Game
0x064:0 1 byte Build Up
  • 0 - Long-pass
  • 1 - Short-pass
0x065:0 1 byte Attacking Area
  • 0 - Wide
  • 1 - Centre
0x066:0 1 byte Positioning
  • 0 - Maintain Formation
  • 1 - Flexible
0x067:0 1 byte Defensive Styles
  • 0 - Frontline Pressure
  • 1 - All-out Defence
0x068:0 1 byte Containment Area
  • 0 - Middle
  • 1 - Wide
0x069:0 1 byte Pressuring
  • 0 - Aggressive
  • 1 - Conservative
0x06A:0 2 bytes Unknown A Padding? 0x0000
0x06C:0 1 byte Attack1 (Advanced Instructions)

Advanced Instruction ID:

  • 0x00 - OFF
  • 0x01 - Hug the Touchline
  • 0x02 - False No. 9
  • 0x03 - False Full Backs
  • 0x04 - Attacking Full Backs
  • 0x05 - Wing Rotation
  • 0x06 - Tiki-Taka
  • 0x07 - Centering Targets
  • 0x08 - Swarm the Box
  • 0x09 - Deep Defensive Line
  • 0x0A - Gegenpress
  • 0x0B - Tight Marking (invalid in Edit Mode)
  • 0x0C - Counter Target
OFF and attacking instructions (0x00-0x07) 0x00
0x06D:0 3 bytes Unknown B (Attack1)
0x070:0 1 byte Targeted Player (Attack1) Unused 0x00
0x071:0 3 bytes Unknown C (Attack1)
0x074:0 1 byte Attack2 Advanced Instruction ID OFF and attacking instructions (0x00-0x07) 0x00
0x075:0 3 bytes Unknown B (Attack2)
0x078:0 1 byte Targeted Player (Attack2) Unused 0x00
0x079:0 3 bytes Unknown C (Attack2)
0x07C:0 1 byte Defence1 Advanced Instruction ID OFF and defending instructions (0x00, 0x08-0x0C), except Tight Marking (0x0B) in Edit Mode 0x00
0x07D:0 3 bytes Unknown B (Defence1)
0x080:0 1 byte Targeted Player (Defence1) Index ID of the player selected for Counter Target or Tight Marking, 0x00 when neither are selected 0x01-0x0A
0x081:0 3 bytes Unknown C (Defence1)
0x084:0 1 byte Defence2 Advanced Instruction ID OFF and defending instructions (0x00, 0x08-0x0C), except Tight Marking (0x0B) in Edit Mode 0x00
0x085:0 3 bytes Unknown B (Defence2)
0x088:0 1 byte Targeted Player (Defence2) Index ID of the player selected for Counter Target or Tight Marking, 0x00 when neither are selected 0x01-0x0A
0x089:0 3 bytes Unknown C (Defence2)
0x08C:0 1 byte Support range 1 - 10 slider 01 - 0A in PES
0x08D:0 1 byte Numbers in attack? Unused set to 3 (Many in PES16)
0x08E:0 1 byte Defensive Line 1 - 10 slider 01 - 0A in PES
0x08F:0 1 byte Compactness 1 - 10 slider 01 - 0A in PES
0x090:0 1 byte Numbers in defence? Unused Set to 3 (Many in PES16)
0x091:0 11 bytes Manmarking 11 x 1 bytes

Each byte refers to a Index ID of a player on the other team that will be marked. (Invalid in Edit Mode)

0xFF = No Player marked 0xFF x 11
0x09C:0 1 byte Fluid Formation Whether the team's Offensive game plan uses Fluid Formations (1) or not (0). 0
0x09D:0 3 bytes Unknown D Padding? 0x000000
0x0A4:0 160 bytes Preset Tactics 2: Defensive see above (add 0x0A4 to all offsets)
0x144:0 160 bytes Preset Tactics 3: Custom see above (add 0x144 to all offsets)
0x1E4:0 32 bytes Player Lineup 32 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.

0x204:0 1 byte Long FK Taker Index ID of the player to take the Long FKs.
0x205:0 1 byte Short FK Taker Index ID of the player to take the Short FKs.
0x206:0 1 byte FK Taker 2 Index ID of the player to be backup for FKs.
0x207:0 1 byte Left CK Taker Index ID of the player to take the Left CKs.
0x208:0 1 byte Right CK Taker Index ID of the player to take the Right CKs.
0x209:0 1 byte PK Taker Index ID of the player to take the Right CKs.
0x20A:0 3 bytes Players to Join Attack 3 x 1 byte

Index ID of the players to join the attack.

0xFF = No Player 0xFF FF FF
0x20D:0 1 byte Captain Index ID of the player to be the Captain.
0x20E:0 1 byte Auto Substitution
  • 00 - Off
  • 01 - Very Late
  • 02 - Flexible
  • 03 - Very Early
0
0x20F:0 1 byte Auto Offside Trap Whether the team uses Auto Offside Trap (1) or not (0). 0
0x210:0 1 byte Auto change Preset Tactics Whether the team uses Auto Change Preset Tactics (1) or not (0). 0
0x211:0 1 byte Auto Change Attack/Defence Level Whether the team uses Auto Change Attack/Defence Level (1) or not (0). 0
0x212:0 1 byte Auto Lineup Select
  • 0 - Unedited
  • 2 - By Ability
  • 3 - No Preference (Pre-match only)
  • 4 - By Form (Pre-match only)
0
0x213:0 1 byte Unknown E Don't know what this is but PES copies it into memory along with the rest of this section so ¯\_(ツ)_/¯ 0
0x214:0 96 bytes Nothing Padding, most likely leftover from PES16 when Player Lineup used 4 bytes for each index ID instead of 1 (Not included in the in-memory version of the Game Plan) 0x00 x 96

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.