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"
ShiggyGiddy (talk | contribs) |
ShiggyGiddy (talk | contribs) (→Player appearance entry: Added some default values) |
||
Line 602: | Line 602: | ||
| References a boots ID (for 0, ID 62 will be displayed instead) | | References a boots ID (for 0, ID 62 will be displayed instead) | ||
| PES: must be in range [1, 9999] | | PES: must be in range [1, 9999] | ||
| | | 23 | ||
|- | |- | ||
| 0x06:2 | | 0x06:2 | ||
Line 630: | Line 630: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0C:4 | | 0x0C:4 | ||
Line 637: | Line 637: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0D:0 | | 0x0D:0 | ||
Line 644: | Line 644: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0D:4 | | 0x0D:4 | ||
Line 651: | Line 651: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0E:0 | | 0x0E:0 | ||
Line 658: | Line 658: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0E:4 | | 0x0E:4 | ||
Line 665: | Line 665: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0F:0 | | 0x0F:0 | ||
Line 672: | Line 672: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x0F:4 | | 0x0F:4 | ||
Line 679: | Line 679: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x10:0 | | 0x10:0 | ||
Line 686: | Line 686: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x10:4 | | 0x10:4 | ||
Line 693: | Line 693: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x11:0 | | 0x11:0 | ||
Line 700: | Line 700: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x11:4 | | 0x11:4 | ||
Line 707: | Line 707: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x12:0 | | 0x12:0 | ||
Line 714: | Line 714: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x12:4 | | 0x12:4 | ||
Line 721: | Line 721: | ||
| In-game value plus seven | | In-game value plus seven | ||
| PES: must be in range [0, 14] | | PES: must be in range [0, 14] | ||
| | | 7 | ||
|- | |- | ||
| 0x13:0 | | 0x13:0 | ||
Line 727: | Line 727: | ||
| Wrist Tape: Color left | | Wrist Tape: Color left | ||
| 000 for strip color, 001 for white, 010 for black and 011 for beige | | 000 for strip color, 001 for white, 010 for black and 011 for beige | ||
| | <br/> | ||
| | '''Verfify unused bit!''' | ||
| PES: must be in range [0, 3] | |||
| 0 | |||
|- | |- | ||
| 0x13:3 | | 0x13:3 | ||
Line 734: | Line 736: | ||
| Wrist Tape: Color right | | Wrist Tape: Color right | ||
| 000 for strip color, 001 for white, 010 for black and 011 for beige | | 000 for strip color, 001 for white, 010 for black and 011 for beige | ||
| | <br/> | ||
| | '''Verfify unused bit!''' | ||
| PES: not editable; same as Wrist Tape: Color left | |||
| 0 | |||
|- | |- | ||
| 0x13:6 | | 0x13:6 | ||
Line 741: | Line 745: | ||
| Wrist Tape: Style | | Wrist Tape: Style | ||
| 00 for OFF, 01 for right arm, 10 for left arm and 11 for both | | 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 | | 0x14:0 | ||
Line 764: | Line 768: | ||
| 2 bits | | 2 bits | ||
| Sleeve season style | | Sleeve season style | ||
| 00 is Season specific , 01 is Short , 10 is Long | | 00 is Season specific, 01 is Short, 10 is Long | ||
| | | PES: must be in range [0, 2] | ||
| | | 0 | ||
|- | |- | ||
| 0x15:0 | | 0x15:0 | ||
Line 772: | Line 776: | ||
| Long-Sleeved Inners | | Long-Sleeved Inners | ||
| 00 is Off. 01 is Normal. 10 is Turtle Neck. | | 00 is Off. 01 is Normal. 10 is Turtle Neck. | ||
| | | PES: must be in range [0, 2] | ||
| | | 0 | ||
|- | |- | ||
| 0x15:2 | | 0x15:2 | ||
Line 779: | Line 783: | ||
| Sock Length | | Sock Length | ||
| 00 is Standard. 01 is Long. 10 is Short. | | 00 is Standard. 01 is Long. 10 is Short. | ||
| | | PES: must be in range [0, 2] | ||
| | | 0 | ||
|- | |- | ||
| 0x15:4 | | 0x15:4 | ||
Line 786: | Line 790: | ||
| Undershorts | | 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. | | 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 | | 0x15:6 | ||
| 1 bit | | 1 bit | ||
| Shirttail | | Shirttail | ||
| 0 is Tucked , 1 is Untucked | | 0 is Tucked in, 1 is Untucked | ||
| | | PES: must be in range [0, 1] (full range) | ||
| | | 0 | ||
|- | |- | ||
| 0x15:7 | | 0x15:7 | ||
Line 800: | Line 804: | ||
| Ankle Taping | | Ankle Taping | ||
| 0 is Off , 1 is On | | 0 is Off , 1 is On | ||
| | | PES: must be in range [0, 1] (full range) | ||
| | | 0 | ||
|- | |- | ||
| 0x16:0 | | 0x16:0 | ||
Line 807: | Line 811: | ||
| Player Gloves | | Player Gloves | ||
| 0 is Off , 1 is On | | 0 is Off , 1 is On | ||
| | | PES: must be in range [0, 1] (full range) | ||
| | | 0 | ||
|- | |- | ||
| 0x16:1 | | 0x16:1 | ||
Line 814: | Line 818: | ||
| Player Gloves color | | Player Gloves color | ||
| [[File:Glasscolors.png]] | | [[File:Glasscolors.png]] | ||
| | | PES: must be in range [0, 7] (full range) | ||
| | | 0 | ||
|- | |- | ||
| 0x16:4 | | 0x16:4 | ||
Line 840: | Line 844: | ||
* 7: None / Transparent for custom models | * 7: None / Transparent for custom models | ||
''(Transparent skin textures (in the Gamma DLC) will allow custom skin textures)'' | ''(Transparent skin textures (in the Gamma DLC) will allow custom skin textures)'' | ||
| | | PES: must be in range [1, 6] | ||
| | | 0 | ||
|- | |- | ||
| 0x2D:3 | | 0x2D:3 | ||
Line 861: | Line 865: | ||
| Iris color | | Iris color | ||
| [[File:Eyeofthepony.png]] | | [[File:Eyeofthepony.png]] | ||
| | | PES: must be in range [0, 10] | ||
| | | 1 | ||
|- | |- | ||
| 0x40:4 | | 0x40:4 |
Revision as of 20:34, 9 January 2016
Pro Evolution Soccer 2016 | |
---|---|
Game | |
Rules | |
Info | |
Tools | |
Modding |
The save game 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 names and the ecryption used for save games.
Tools
pes16decrypter
The first decrypter, called pes16decrypter, is a command-line tool and was written by members of the 4chan Cup community. It is available on GitHub. A binary download can also be found there.
The 4CCC maintains its own fork here. Be sure to check both as occasionally one might be ahead of the other.
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. See Working with a hex editor for more information on this topic.
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.
- Header
- Player entries
- Player appearance entries
- Team entries
- Team-Player table
Header
Length: 76 (0x4C) bytes
- 52 bytes - unknown
- 2 bytes - Number of players
- 22 bytes - unknown
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 | 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 | Unknown B | 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 | 2 bits | Unknown C | 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 | Unknown D | Seems to be based on Registered Positon (NEEDS VERIFICATION):
|
0 | |
0x20:0 | 4 bits | Registered Position | Possible values are:
|
PES: must be in range [0, 12] | 12 |
0x20:4 | 1 bits | Unknown E | 0 | ||
0x20:5 | 5 bits | Playing Styles |
|
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 | Unknown F | 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:
Each entry pertains to one position, in the following order:
|
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 | 2 bits | Unknown G | 0 | ||
0x2C:0 | 7 bits | Stamina | PES: must be in range [40, 99] | 80 | |
0x2C:7 | 1 bit | Unknown H | 0 | ||
0x2D:0 | 4 bits | Unknown I | 0 | ||
0x2D:4 | 1 bits | Stronger Foot | Possible values are:
|
0 | |
0x2D:5 | 7 bits | COM Playing Style | Bitmask with 7 entries:
|
PES: at most 5 may be active at once | 0 |
0x2E:4 | 28 bits | Player Skills | Bitmask with 28 entries:
|
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: 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). It is assumed that this behavior occurs for whatever values PES considers to be default.
Player appearance entry
Length: 72 (0x48) bytes
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 | Unknown A | Always 0xFF | 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 | Unknown B | |||
0x00C:0 | 2 bytes | Coach Nationality | References a Nation ID | ||
0x00E:0 | 2 bytes | Unknown C | |||
0x010:0 | 48 bytes | Unknown D | Almost certainly contains smaller parts | ||
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 E | |||
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) |
Team-Player table
The Team-Player table is what links a Team ID to a Player 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 | 32 x 4 bytes | ||
0x84:0 | 32 bytes | Shirt Numbers | 32 x 1 bytes |
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.