Pro Evolution Soccer 2018/Edit file

From Rigged Wiki
Jump to navigation Jump to search
2018 4chanlogo.png
Pro Evolution Soccer 2018
Game
Rules
Info
Tools
Modding

The Edit file is called EDIT00000000 and can be found in %HOMEPATH%\documents\KONAMI\Pro Evolution Soccer 2018\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: 124 (0x7C) bytes

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

Player entry

Start: HEX block 7C
End: HEX block 3C3E5B
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 [138, 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, 127] 0
0x0F:0 8 bits Motion: Goal Celebration 2 0 = OFF PES: must be in range [0, 127] 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 Strength on the Ball 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: Unknown Looks like a motion block but doesn't seem to do anything 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 - Offensive Goalkeeper
  • 17 - Defensive Goalkeeper
PES: must be be in range [0, 17] 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 (dribbling) In-game value minus one PES: must be in range [0, 7] (full range) 0
0x25:2 3 bits Motion: Arm Movement (running) In-game value minus one PES: must be in range [0, 7] (full range) 0
0x25:5 3 bits Motion: Corner Kick In-game value minus one PES: must be in range [0, 5] 0
0x26:0 7 bits Coverage PES: must be in range [40, 99] 80
0x26:7 2 bits Weak Foot Usage In-game value minus one PES: must be in range [0, 3] 1
0x27:1 6 bits Playable Position (Values 1-3) An array of 3 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,
PES: each entry must be in range [0, 2] 0
0x27:7 1 bit Playable Position Changed Whether the player's playable positions are changed (1) or not (0) from default. PES: must be in range [0, 1] (full range) 0
0x28:0 18 bits Playable Position (Values 5-13) An array of 9 2-bit entries with:
  • 0 - C
  • 1 - B
  • 2 - A

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

  • Bits 1-2: Attacking Midfielder,
  • Bits 3-4: Defensive Midfielder,
  • Bits 5-6: Centre Midfielder,
  • Bits 7-8: Left Midfielder,
  • Bits 9-10: Right Midfielder,
  • Bits 11-12: Centre Back,
  • Bits 13-14: Left Back,
  • Bits 15-16: Right Back,
  • Bits 17-18: Goalkeeper
PES: each entry must be in range [0, 2] 0
0x2A:2 2 bits Motion: Hunching (dribbling) In-game value minus one PES: must be in range [0, 2] 0
0x2A:4 2 bits Motion: Hunching (running) In-game value minus one PES: must be in range [0, 2] 0
0x2A:6 2 bits Motion: Penalty Kick In-game value minus one PES: must be in range [0, 3] (full range) 0
0x2B:0 7 bits Place Kicking PES: must be in range [40, 99] 80
0x2B:7 1 bit Ability Changed Whether the player's abilities 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 2 bits Playable Position (Value 4) A single 2-bit entry with:
  • 0 - C
  • 1 - B
  • 2 - A

This entry pertains to the remaining one position:

  • Bits 1-2: Right Wing Forward,
PES: each entry must be in range [0, 2] 0
0x2D:1 7 bits Speed PES: must be in range [40, 99] 80
0x2E:0 1 bit Player Skills Changed Whether the player's player skills are changed (1) or not (0) from default. PES: must be in range [0, 1] (full range) 0
0x2E:1 1 bit Playing Styles Changed Whether the player's playing styles are changed (1) or not (0) from default. PES: must be in range [0, 1] (full range) 0
0x2E:2 1 bit COM Playing Styles Changed 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:3 1 bit Motions Changed Whether the player's Motions are changed (1) or not (0) from default. PES: must be in range [0, 1] (full range) 0
0x2E:4 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:5 1 bit Unknown D Presumably unused/padding. 0
0x2E:6 1 bit Stronger Foot Possible values are:
  • 0 - Right foot
  • 1 - Left foot
PES: must be in range [0, 1] (full range) 0
0x2E:7 1 bit Unknown E Presumably unused/padding. 0
0x2F:0 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:7 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:3 5 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 7C
End: HEX block 3C3E5B
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
0x3C:6 2 bits 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 bits Unknown R
0x42:0 2 bits Hair Style Front 01=Up, 10=Down, 11=Combed Back
0x42:2 1 bit Unknown S
0x42:3 3 bits Hair Combed Back 001=Off, 010=Left2, 011=Left1, 100=Centre, 101=Right1, 110=Right2
0x42:6 3 bits Hair Cropped 001=Normal, 010=Reduce Body, 011=Shorter Sides, 100=Cropped
0x43:1 2 bits Hairline Type 01=Type 1, 10=Type 2, 11=Type 3
0x43:3 1 bit Unknown T
0x43:4 2 bits Forehead Width 01=Narrow 1, 10=Normal, 11=Wide
0x43:6 2 bits Unknown U
0x44:0 1 byte Unknown V

Team entry

Start: HEX block 3C3E5C
End: HEX block 40A35B
Entry Length: 480 (0x1E0) bytes

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

Manager entry

Start: HEX block 40A35C
End: HEX block 41C78B
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 41C78C
End: HEX block 41DFC3
Entry Length: 124 (0x7C) bytes

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

Stadium Name

Start: HEX block 41DFC4
End: HEX block 41F643
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 41F644
End: HEX block 46FF53
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 46FF54
End: HEX block 487FB3
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 487FB4
End: HEX block 488B73
Entry Length: 3008 (0xBC0) 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 488B74
End: HEX block 4E4B53
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 - Defensive
  • 0x09 - False Winger
  • 0x0A - Swarm the Box
  • 0x0B - Deep Defensive Line
  • 0x0C - Gegenpress
  • 0x0D - Tight Marking (invalid in Edit Mode)
  • 0x0E - Counter Target
  • 0x0F - Wing Back
OFF and attacking instructions (0x00-0x09) 0x00
0x06D:0 3 bytes Unknown B (Attack1) For both this and Unknown C, PES doesn't seem to care what they are and writes semi-random shit (usually 00 or FF) to them every time the advanced instruction is changed.
0x070:0 1 byte Targeted Player (Attack1) Index ID of the player selected for Defensive, 0x00 when Defensive isn't selected 0x00
0x071:0 3 bytes Unknown C (Attack1)
0x074:0 1 byte Attack2 Advanced Instruction ID OFF and attacking instructions (0x00-0x09) 0x00
0x075:0 3 bytes Unknown B (Attack2)
0x078:0 1 byte Targeted Player (Attack2) Index ID of the player selected for Defensive, 0x00 when Defensive isn't selected 0x00
0x079:0 3 bytes Unknown C (Attack2)
0x07C:0 1 byte Defence1 Advanced Instruction ID OFF and defending instructions (0x00, 0x0A-0x0F) in PES, except for Tight Marking (0x0D) 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, 0x0A-0x0F) in PES, except for Tight Marking (0x0D) 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 PKs.
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 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.