Difference between revisions of "Talk:Pro Evolution Soccer 2016/Edit file"

From Rigged Wiki
Jump to navigation Jump to search
m (→‎Structure of EDIT00000000: removed info that is now present in the article)
Line 5: Line 5:
* Header - The header may vary in length. There are some patches where the logo inside this file is changed, so the header length changes.
* Header - The header may vary in length. There are some patches where the logo inside this file is changed, so the header length changes.
* Player entries start at offset 0x10AAA. There are 25000 entries. <s>Each entry has 112 bytes (0x70).</s>
* Player entries start at offset 0x10AAA. There are 25000 entries. <s>Each entry has 112 bytes (0x70).</s>
* Player extra info (appearance mainly) entries start at offset 0x2BC42A. There are 25000 entries. Each entry has 72 bytes (0x48).
* Player extra info (appearance mainly) entries start at offset 0x2BC42A. There are 25000 entries. <s>Each entry has 72 bytes (0x48).</s>
* Team entries start at offset 0x473B6A. There are 850 entries. Each entry has 456 bytes (0x1C8).
* Team entries start at offset 0x473B6A. There are 850 entries. <s>Each entry has 456 bytes (0x1C8).</s>
* Championships entries start at 0x4D257A. There are 100 entries. Each entry has 92 bytes (0x5C). Contains name and ball id.
* Championships entries start at 0x4D257A. There are 100 entries. Each entry has 92 bytes (0x5C). Contains name and ball id.
* Stadium entries start at 0x4D496A. There are 100 entries. Each entry has 128 bytes (0x80).
* Stadium entries start at 0x4D496A. There are 100 entries. Each entry has 128 bytes (0x80).
Line 21: Line 21:
[[User:Heringer]] 14:57, 23 December 2015
[[User:Heringer]] 14:57, 23 December 2015


Thank you! I will look into it and start adding things once Christmas is over. I am a bit surprised that the position enumeration is correct, because when I looked at it from in-game memory all left and right positions where swapped. Then again, I never confirmed through the save file. --[[User:ShiggyGiddy|ShiggyGiddy]] ([[User talk:ShiggyGiddy|talk]]) 08:42, 24 December 2015 (UTC)
Thank you! I will look into it and start adding things once Christmas is over. I am a bit surprised that the position enumeration is correct, because when I looked at it from in-game memory all left and right positions were swapped. Then again, I never confirmed through the save file. --[[User:ShiggyGiddy|ShiggyGiddy]] ([[User talk:ShiggyGiddy|talk]]) 08:42, 24 December 2015 (UTC)


Oh, man, you are rigth about the swapped positions. I did not notice it before, sorry. Just swap them and everything will be right. I used my enumeration from PES2015. I thought it was equal to your values, but there is really this difference (L/R swapped).
Oh, man, you are rigth about the swapped positions. I did not notice it before, sorry. Just swap them and everything will be right. I used my enumeration from PES2015. I thought it was equal to your values, but there is really this difference (L/R swapped).
Here is it:
    public enum Position
    {
        GK = 0,
        CB = 1,
        LB = 2,
        RB = 3,
        DMF = 4,
        CMF = 5,
        LMF = 6,
        RMF = 7,
        AMF = 8,
        LWF = 9,
        RWF = 10,
        SS = 11,
        CF = 12
    }


[[User:Heringer]] 14:39, 24 December 2015
[[User:Heringer]] 14:39, 24 December 2015

Revision as of 15:40, 26 December 2015

Here is some contribution:

Structure of EDIT00000000

  • Header - The header may vary in length. There are some patches where the logo inside this file is changed, so the header length changes.
  • Player entries start at offset 0x10AAA. There are 25000 entries. Each entry has 112 bytes (0x70).
  • Player extra info (appearance mainly) entries start at offset 0x2BC42A. There are 25000 entries. Each entry has 72 bytes (0x48).
  • Team entries start at offset 0x473B6A. There are 850 entries. Each entry has 456 bytes (0x1C8).
  • Championships entries start at 0x4D257A. There are 100 entries. Each entry has 92 bytes (0x5C). Contains name and ball id.
  • Stadium entries start at 0x4D496A. There are 100 entries. Each entry has 128 bytes (0x80).
  • To be confirmed: Uniform entries start at 0x4D7B6A. There are 2500 entries. Each entry has 88 bytes (0x58).
  • Teams roster entries start at 0x50D6CA. There are 850 entries. Each entry has 164 bytes (0xA4).
  • Leagues roster entries start at 0x52F752. There are 712 entries, each entry has 4 bytes and is a team id. The league slots are fixed. It is a mess. I will post about it later.
  • To be confirmed: Teams tactics entries start at 0x530272. There are 850 entries. Each entry has 520 bytes (0x208).
  • To be confirmed: From 0x59C102 to the end there is nothing.

User:Heringer 08:17, 23 December 2015

I confirmed via unit testing that the position enumeration is correct and all players has values from 0 to 12. Though, the rule about the player offset 0x1F:7 does not seem to be correct.

User:Heringer 14:57, 23 December 2015

Thank you! I will look into it and start adding things once Christmas is over. I am a bit surprised that the position enumeration is correct, because when I looked at it from in-game memory all left and right positions were swapped. Then again, I never confirmed through the save file. --ShiggyGiddy (talk) 08:42, 24 December 2015 (UTC)

Oh, man, you are rigth about the swapped positions. I did not notice it before, sorry. Just swap them and everything will be right. I used my enumeration from PES2015. I thought it was equal to your values, but there is really this difference (L/R swapped).

User:Heringer 14:39, 24 December 2015

On PES2015, the bit you called "Unknown B (0x17:7)" was a flag to indicate if the player was edited or not.

User:Heringer 15:24, 24 December 2015

The playable position seems to be:

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: Right Back,
Bits 20-21: Left Back,
Bits 22-23: Centre Back,
Bits 24-25: Goalkeeper

Everything else in player entry seems to be ok as you defined.

In the team entry, i can tell you:

const uint OFFSET_COACH_NATION = 0xC;
const uint LENGTH_COACH_NATION = 0x2;
const uint OFFSET_TEAM_NATION = 0x8;
const uint LENGTH_TEAM_NATION = 0x2;

Some stuff from Tony

Player appearance data

  • 0x04-0x06 Boots
    • When the decimal boot ID is converted to binary/bits, you will get 4 parts. The bits used for the boot ID are the letters in the binary string below:
    • dddd 0000 bbbb cccc 0000 00aa
    • An example boot ID is 7011, in big-endian hex: 13 C5 and in binary: 0001 0011 1100 0101. The boot ID limits make sure that the last the 2 bits (first 2 on the left) are always 00, thus you actually get the following:
    • 01 0011 1100 0101
    • Now the first 2 bits on the left are aa in the string with letters. The next 4 are bbbb, then cccc and last dddd. So the final string becomes: 0101 0000 0011 1100 0000 0001
    • If you have lower boot ID, for example 234, it's EA in hex. But fill up from the left with 0 until you have 4 character byte string, so 00EA.


  • 0x06-0x07 GK Gloves
    • The decimal boot ID is converted to little-endian hex and everything is bitshifted 2 bits to the left.
    • So for example decimal ID 801 is 21 03 in LE hex and in binary: 0010 0001 0000 0011, and then bitshifted: 1000 01xx 0000 1100
    • The x bits are used for the boot ID


  • 0x14 Spectacles
    • 6-7 sleeve season style
    • 3-5 style of glasses (000 = none)
    • 0-2 glasses frame color

Glasscolors.png


  • 0x2D Skin (and other things)
    • 3-4 cheek data
    • 0-2 skin ID (full range, where 0 and 7 are transparent skin textures (in the Gamma DLC) and thus allow custom skin texture)