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"
Tunabrain4CC (talk | contribs) |
ShiggyGiddy (talk | contribs) (Added some limits enforced by PES and made some minor adjustments) |
||
Line 33: | Line 33: | ||
Length: 76 bytes | Length: 76 bytes | ||
*52 bytes - ''unknown'' | * 52 bytes - ''unknown'' | ||
*2 bytes - Number of players | * 2 bytes - Number of players | ||
*22 bytes - ''unknown'' | * 22 bytes - ''unknown'' | ||
=== Player entry === | === Player entry === | ||
Line 46: | Line 46: | ||
! Description | ! Description | ||
! Format | ! Format | ||
! Enforced limits | |||
|- | |- | ||
| 0x00:0 | | 0x00:0 | ||
| 4 bytes | | 4 bytes | ||
| Player ID | | Player ID | ||
| | |||
| | | | ||
|- | |- | ||
| 0x04:0 | | 0x04:0 | ||
| 4 bytes | | 4 bytes | ||
| Commentary Name | | Commentary Name | ||
| References a player ID | |||
| | | | ||
|- | |- | ||
| 0x08:0 | | 0x08:0 | ||
| 2 bytes | | 2 bytes | ||
| | | ''Unknown'' | ||
| Always 0xFFFF | |||
| | | | ||
|- | |- | ||
Line 65: | Line 69: | ||
| 2 bytes | | 2 bytes | ||
| Country | | Country | ||
| | |||
| | | | ||
|- | |- | ||
Line 71: | Line 76: | ||
| Height (cm) | | Height (cm) | ||
| | | | ||
| PES: must be in range [155, 210] | |||
|- | |- | ||
| 0x0D:0 | | 0x0D:0 | ||
Line 76: | Line 82: | ||
| Weight (kg) | | Weight (kg) | ||
| | | | ||
| PES: must be in range [max(30, ''Height'' - 129), ''Height'' - 81] | |||
|- | |- | ||
| 0x0E:0 | | 0x0E:0 | ||
| 8 bits | | 8 bits | ||
| Motion: Goal Celebration 1 | | Motion: Goal Celebration 1 | ||
| | | 0 = OFF | ||
| PES: must be in range [0, 122] | |||
|- | |- | ||
| 0x0F:0 | | 0x0F:0 | ||
| 8 bits | | 8 bits | ||
| Motion: Goal Celebration 2 | | Motion: Goal Celebration 2 | ||
| | | 0 = OFF | ||
| PES: must be in range [0, 122] | |||
|- | |- | ||
| 0x10:0 | | 0x10:0 | ||
Line 91: | Line 100: | ||
| Attacking Prowess | | Attacking Prowess | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x10:7 | | 0x10:7 | ||
Line 96: | Line 106: | ||
| Defensive Prowess | | Defensive Prowess | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x11:6 | | 0x11:6 | ||
Line 101: | Line 112: | ||
| Goalkeeping | | Goalkeeping | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x12:5 | | 0x12:5 | ||
Line 106: | Line 118: | ||
| Dribbling | | Dribbling | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x13:4 | | 0x13:4 | ||
Line 111: | Line 124: | ||
| Motion: Free Kick | | Motion: Free Kick | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x14:0 | | 0x14:0 | ||
Line 116: | Line 130: | ||
| Finishing | | Finishing | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x14:7 | | 0x14:7 | ||
Line 121: | Line 136: | ||
| Low Pass | | Low Pass | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x15:6 | | 0x15:6 | ||
Line 126: | Line 142: | ||
| Lofted Pass | | Lofted Pass | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x16:5 | | 0x16:5 | ||
Line 131: | Line 148: | ||
| Header | | Header | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x17:4 | | 0x17:4 | ||
Line 136: | Line 154: | ||
| Motion: Form | | Motion: Form | ||
| Value minus one | | Value minus one | ||
| PES: must be in range [0, 7] (full range) | |||
|- | |- | ||
| 0x17:7 | | 0x17:7 | ||
| 1 bit | | 1 bit | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
| 0x18:0 | | 0x18:0 | ||
| 7 bits | | 7 bits | ||
| | | Swerve | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x18:7 | | 0x18:7 | ||
Line 151: | Line 172: | ||
| Catching | | Catching | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x19:6 | | 0x19:6 | ||
Line 156: | Line 178: | ||
| Clearing | | Clearing | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x1A:5 | | 0x1A:5 | ||
Line 161: | Line 184: | ||
| Reflexes | | Reflexes | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x1B:4 | | 0x1B:4 | ||
Line 166: | Line 190: | ||
| Injury Resistance | | Injury Resistance | ||
| Value minus one | | Value minus one | ||
| PES: must be in range [0, 2] | |||
|- | |- | ||
| 0x1B:6 | | 0x1B:6 | ||
| 2 bits | | 2 bits | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 176: | Line 202: | ||
| Body Balance | | Body Balance | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x1C:7 | | 0x1C:7 | ||
Line 181: | Line 208: | ||
| Kicking Power | | Kicking Power | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x1D:6 | | 0x1D:6 | ||
Line 186: | Line 214: | ||
| Explosive Power | | Explosive Power | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x1E:5 | | 0x1E:5 | ||
Line 191: | Line 220: | ||
| Jump | | Jump | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x1F:4 | | 0x1F:4 | ||
Line 196: | Line 226: | ||
| Motion: Arm Movement (dribbling) | | Motion: Arm Movement (dribbling) | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x1F:7 | | 0x1F:7 | ||
| 1 bit | | 1 bit | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 219: | Line 251: | ||
* 1 - Centre Back, | * 1 - Centre Back, | ||
* 0 - Goalkeeper | * 0 - Goalkeeper | ||
| | |||
|- | |- | ||
| 0x20:4 | | 0x20:4 | ||
| 1 bits | | 1 bits | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 228: | Line 262: | ||
| 5 bits | | 5 bits | ||
| Playing Style | | Playing Style | ||
| | |||
| | | | ||
|- | |- | ||
Line 234: | Line 269: | ||
| Ball Control | | Ball Control | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x22:1 | | 0x22:1 | ||
Line 239: | Line 275: | ||
| Ball Winning | | Ball Winning | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x23:0 | | 0x23:0 | ||
Line 244: | Line 281: | ||
| Coverage | | Coverage | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x23:7 | | 0x23:7 | ||
| 1 bit | | 1 bit | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 254: | Line 293: | ||
| Motion: Arm Movement (running) | | Motion: Arm Movement (running) | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x24:3 | | 0x24:3 | ||
Line 259: | Line 299: | ||
| Motion: Corner Kick | | Motion: Corner Kick | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x24:6 | | 0x24:6 | ||
Line 264: | Line 305: | ||
| Weak Foot Accuracy | | Weak Foot Accuracy | ||
| Value minus one | | Value minus one | ||
| PES: must be in range [0, 3] | |||
|- | |- | ||
| 0x25:0 | | 0x25:0 | ||
Line 269: | Line 311: | ||
| Weak Foot Usage | | Weak Foot Usage | ||
| Value minus one | | Value minus one | ||
| PES: must be in range [0, 3] | |||
|- | |- | ||
| 0x25:2 | | 0x25:2 | ||
Line 291: | Line 334: | ||
* Bits 22-23: Centre Back, | * Bits 22-23: Centre Back, | ||
* Bits 24-25: Goalkeeper | * Bits 24-25: Goalkeeper | ||
| | |||
* PES: each entry must be in range [0, 2] | |||
|- | |- | ||
| 0x28:4 | | 0x28:4 | ||
Line 296: | Line 341: | ||
| Motion: Hunching (dribbling) | | Motion: Hunching (dribbling) | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x28:6 | | 0x28:6 | ||
Line 301: | Line 347: | ||
| Motion: Hunching (running) | | Motion: Hunching (running) | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x29:0 | | 0x29:0 | ||
Line 306: | Line 353: | ||
| Motion: Penalty Kick | | Motion: Penalty Kick | ||
| Value minus one | | Value minus one | ||
| | |||
|- | |- | ||
| 0x29:2 | | 0x29:2 | ||
Line 311: | Line 359: | ||
| Place Kicking | | Place Kicking | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x2A:1 | | 0x2A:1 | ||
Line 316: | Line 365: | ||
| Speed | | Speed | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x2B:0 | | 0x2B:0 | ||
Line 321: | Line 371: | ||
| Age | | Age | ||
| | | | ||
| PES: must be in range [15, 50] | |||
|- | |- | ||
| 0x2B:6 | | 0x2B:6 | ||
| 2 bits | | 2 bits | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 331: | Line 383: | ||
| Stamina | | Stamina | ||
| | | | ||
| PES: must be in range [40, 99] | |||
|- | |- | ||
| 0x2C:7 | | 0x2C:7 | ||
| 1 bit | | 1 bit | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 340: | Line 394: | ||
| 4 bits | | 4 bits | ||
| ''Unknown'' | | ''Unknown'' | ||
| | |||
| | | | ||
|- | |- | ||
Line 348: | Line 403: | ||
*0 - Right | *0 - Right | ||
*1 - Left | *1 - Left | ||
| | |||
|- | |- | ||
| 0x2D:5 | | 0x2D:5 | ||
| 7 bits | | 7 bits | ||
| COM Playing Style | | COM Playing Style | ||
| | | Bitmask with 7 entries: | ||
*Bit 0 - Trickster | *Bit 0 - Trickster | ||
*Bit 1 - Mazing Run | *Bit 1 - Mazing Run | ||
Line 360: | Line 416: | ||
*Bit 5 - Early Cross | *Bit 5 - Early Cross | ||
*Bit 6 - Long Ranger | *Bit 6 - Long Ranger | ||
| PES: at most 5 can be active at once | |||
|- | |- | ||
| 0x2E:4 | | 0x2E:4 | ||
| 28 bits | | 28 bits | ||
| Player Skills | | Player Skills | ||
| A bitmask with 28 entries | | A bitmask with 28 entries: | ||
*Bit 0 - Scissors Feint | *Bit 0 - Scissors Feint | ||
*Bit 1 - Flip Flap | *Bit 1 - Flip Flap | ||
Line 393: | Line 450: | ||
*Bit 26 - Super-sub | *Bit 26 - Super-sub | ||
*Bit 27 - Fighting Spirit | *Bit 27 - Fighting Spirit | ||
| PES: at most 10 can be active at once | |||
|- | |- | ||
| 0x32:0 | | 0x32:0 | ||
| 46 bytes | | 46 bytes | ||
| Player Name | | Player Name | ||
| Null-terminated string | |||
| | | | ||
PES: must not exceed 15 characters<br/> | |||
Up to 45 characters are handled by the game | |||
|- | |- | ||
| 0x60:0 | | 0x60:0 | ||
| 16 bytes | | 16 bytes | ||
| Print Name | | Print Name | ||
| Null-terminated string | |||
| | | | ||
* PES: must not exceed 15 characters | |||
|} | |} | ||
Line 424: | Line 487: | ||
This might lead to unexpected behavior or even crash the game. | This might lead to unexpected behavior or even crash the game. | ||
Be sure to check [[Appendix:Rules]] or the rules of the invitational in question to find out what is considered legal. | Be sure to check [[Appendix:Rules]] or the rules of the invitational in question to find out what is considered legal. | ||
[[Category:Pro Evolution Soccer 2016]] | [[Category:Pro Evolution Soccer 2016]] |
Revision as of 14:42, 20 December 2015
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.
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
- unkown
- Team entries
- unknown
Header
Length: 76 bytes
- 52 bytes - unknown
- 2 bytes - Number of players
- 22 bytes - unknown
Player entry
Length: 112 bytes
Offset (byte:bit) | Length | Description | Format | Enforced limits |
---|---|---|---|---|
0x00:0 | 4 bytes | Player ID | ||
0x04:0 | 4 bytes | Commentary Name | References a player ID | |
0x08:0 | 2 bytes | Unknown | Always 0xFFFF | |
0x0A:0 | 2 bytes | Country | ||
0x0C:0 | 8 bits | Height (cm) | PES: must be in range [155, 210] | |
0x0D:0 | 8 bits | Weight (kg) | PES: must be in range [max(30, Height - 129), Height - 81] | |
0x0E:0 | 8 bits | Motion: Goal Celebration 1 | 0 = OFF | PES: must be in range [0, 122] |
0x0F:0 | 8 bits | Motion: Goal Celebration 2 | 0 = OFF | PES: must be in range [0, 122] |
0x10:0 | 7 bits | Attacking Prowess | PES: must be in range [40, 99] | |
0x10:7 | 7 bits | Defensive Prowess | PES: must be in range [40, 99] | |
0x11:6 | 7 bits | Goalkeeping | PES: must be in range [40, 99] | |
0x12:5 | 7 bits | Dribbling | PES: must be in range [40, 99] | |
0x13:4 | 4 bits | Motion: Free Kick | Value minus one | |
0x14:0 | 7 bits | Finishing | PES: must be in range [40, 99] | |
0x14:7 | 7 bits | Low Pass | PES: must be in range [40, 99] | |
0x15:6 | 7 bits | Lofted Pass | PES: must be in range [40, 99] | |
0x16:5 | 7 bits | Header | PES: must be in range [40, 99] | |
0x17:4 | 3 bits | Motion: Form | Value minus one | PES: must be in range [0, 7] (full range) |
0x17:7 | 1 bit | Unknown | ||
0x18:0 | 7 bits | Swerve | PES: must be in range [40, 99] | |
0x18:7 | 7 bits | Catching | PES: must be in range [40, 99] | |
0x19:6 | 7 bits | Clearing | PES: must be in range [40, 99] | |
0x1A:5 | 7 bits | Reflexes | PES: must be in range [40, 99] | |
0x1B:4 | 2 bits | Injury Resistance | Value minus one | PES: must be in range [0, 2] |
0x1B:6 | 2 bits | Unknown | ||
0x1C:0 | 7 bits | Body Balance | PES: must be in range [40, 99] | |
0x1C:7 | 7 bits | Kicking Power | PES: must be in range [40, 99] | |
0x1D:6 | 7 bits | Explosive Power | PES: must be in range [40, 99] | |
0x1E:5 | 7 bits | Jump | PES: must be in range [40, 99] | |
0x1F:4 | 3 bits | Motion: Arm Movement (dribbling) | Value minus one | |
0x1F:7 | 1 bit | Unknown | ||
0x20:0 | 4 bits | Registered Position | Possible values are
|
|
0x20:4 | 1 bits | Unknown | ||
0x20:5 | 5 bits | Playing Style | ||
0x21:2 | 7 bits | Ball Control | PES: must be in range [40, 99] | |
0x22:1 | 7 bits | Ball Winning | PES: must be in range [40, 99] | |
0x23:0 | 7 bits | Coverage | PES: must be in range [40, 99] | |
0x23:7 | 1 bit | Unknown | ||
0x24:0 | 3 bits | Motion: Arm Movement (running) | Value minus one | |
0x24:3 | 3 bits | Motion: Corner Kick | Value minus one | |
0x24:6 | 2 bits | Weak Foot Accuracy | Value minus one | PES: must be in range [0, 3] |
0x25:0 | 2 bits | Weak Foot Usage | Value minus one | PES: must be in range [0, 3] |
0x25:2 | 26 bits | Playable Position | An array of 13 2-bit entries. Each entry takes on one of the three values
Each entry pertains to one position, in the following order
|
|
0x28:4 | 2 bits | Motion: Hunching (dribbling) | Value minus one | |
0x28:6 | 2 bits | Motion: Hunching (running) | Value minus one | |
0x29:0 | 2 bits | Motion: Penalty Kick | Value minus one | |
0x29:2 | 7 bits | Place Kicking | PES: must be in range [40, 99] | |
0x2A:1 | 7 bits | Speed | PES: must be in range [40, 99] | |
0x2B:0 | 6 bits | Age | PES: must be in range [15, 50] | |
0x2B:6 | 2 bits | Unknown | ||
0x2C:0 | 7 bits | Stamina | PES: must be in range [40, 99] | |
0x2C:7 | 1 bit | Unknown | ||
0x2D:0 | 4 bits | Unknown | ||
0x2D:4 | 1 bits | Stronger Foot | Value stands for
|
|
0x2D:5 | 7 bits | COM Playing Style | Bitmask with 7 entries:
|
PES: at most 5 can be active at once |
0x2E:4 | 28 bits | Player Skills | A bitmask with 28 entries:
|
PES: at most 10 can be active at once |
0x32:0 | 46 bytes | Player Name | Null-terminated string |
PES: must not exceed 15 characters |
0x60:0 | 16 bytes | Print Name | Null-terminated string |
|
Team entry
Length: 456
- 4 bytes - Team ID
- 60 bytes - unknown
- 4 bytes - Rival Team 1 (Team ID)
- 4 bytes - Rival Team 2 (Team ID)
- 4 bytes - Rival Team 3 (Team ID)
- 72 bytes - unknown
- 70 bytes - Team Name (last byte should probably be 00) (length is assumed, not proven)
- 189 bytes - Team Score Board Name (last byte should probably be 00) (length is assumed, not proven)
- 0 bytes - probably something else within Team Score Board Name
- 49 bytes - Manager Name (last byte should probably be 00) (length is assumed, not proven)
Limitations enforced by PES
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 behavior 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.