Pro Evolution Soccer 2017/Edit file

From Rigged Wiki
Revision as of 16:40, 11 December 2016 by Tomato (talk | contribs) (Updating data header)
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.
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

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: 480 (0x1E0) bytes

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

Manager entry

Length: 88 (0x58) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 4 bytes Manager ID PES: must be unique
0x04:0 2 bytes Manager Nationality
0x06:0 2 bytes Manager picture ID 0xFFFF
0x08:0 1 byte Unknown A 0x60
0x09:0 79 bytes Manager Name

Competitions

Length: 124 (0x7C) bytes

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

Stadium Name

Length: 128 (0x80) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 4 bytes Stadium ID PES: must be unique
0x04:0 124 bytes Stadium Name PES: must not exceed 40 characters

Unknown section

This section is located between the Stadium name and Team Player tables, but has not been documented yet.
Length: 132 (0x84) bytes

Team-Player table

The Team-Player table is what links a Player ID to a Team ID. It is basically a Team ID, followed by a list of 32 Player IDs that correspond to the players in that team, then the respective shirt numbers for those players.
Length: 164 (0xA4) bytes

Offset (byte:bit) Length Description Format Enforced limits Default value
0x00:0 4 bytes Team ID PES: must be unique
0x04:0 128 bytes Player IDs / Index IDs 32 x 4 bytes

This table also assigns (what I would like to call them anyways) Index IDs.
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: 2888 (0xB48) bytes (whole section)

Offset (byte:bit) Length Amount of teams League/Cup

Team Game Plan

Length: 628 (0x274) bytes

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

Limitations enforced by PES

Even though editing the save files externally technically allows using the full range of all values, PES puts some additional limitations in place. Some of these might be checked and corrected by the game, others are just taken as they are. This might lead to unexpected behaviour or even crash the game. Be sure to check Appendix:Rules or the rules of the invitational in question to find out what is considered legal.