• This is a reminder of 3 IMPORTANT RULES:

    1- External self-promotion websites or apps are NOT allowed here, like Discord/Twitter/Patreon/etc.

    2- Do NOT post in other languages. English-only.

    3- Crack/Warez/Piracy talk is NOT allowed.

    Breaking any of the above rules will result in your messages being deleted and you will be banned upon repetition.

    Please, stop by this thread SoccerGaming Forum Rules And Guidelines and make sure you read and understand our policies.

    Thank you!

Hexediting the kits

jmmontoro

Youth Team
I'm moving this to a new thread.

jmmontoro;2947615 said:
I need someone with knowledge with hex editing, I was able to move the badge around the kit but I don't understand what I'm doing. Also moved the name from top to bottom. I think that by hex editing you can set the coordinates for the jersey badge, front number, back number, name, short badge and short number.

After some research (someone with hex knowledge please help me understand how to change the values):
There are 8 lines with the info, from 3e0 to 450 with 4 sets of numbers each.
Each set tells the coordinates of the four sides of the texture. The first is the left side, the second the top side, the third the right side and the forth the bottom side.
For the 8 lines, the first has the jersey badge (team), the second the jersey back number (numberback), the third no idea yet, the forth the name placement (name), the fifth and sixth no idea yet, the seventh the short badge (team) and the eighth the short number (number).
So there are three things unknown yet, but I think they are the jersey front number (numberfront), and two more for the name when is curved (name_arccenter, name_arctangent).

 

mogolos

Starting XI
it is sad that nobody cares about this important thing. I wonder if Rinaldo knows, because nobody will manage to put the right numbers, names and badge positions in any way but hexediting. So no1 knows about it or what about a tuto?
 

iard68

Reserve Team
Everything I read is correct. You can move kit badges, numbers (and so on) by changing hexa values.
You need to convert hexadecimal values in decimals, make changes (adding 1 to move right/down from origin), reconvert to hexa and put new value at the same location.

It is possible to build a .net tool that allows user to make this more easily, but at the moment, I don't intend to integrate this function in my kit server (download of second public beta version will be available in the week-end, on the fifamania.it forum pages), perhaps in the future...

If someone knowing .net coding wants to try out a little tool, will be sufficient to read the file with a 'binary reader' object, apply changes when the identified location is reached, and rewrite the stream with a "binary writer" object.

Bye
 

scouser09

Senior Squad
iard68;2957820 said:
Everything I read is correct. You can move kit badges, numbers (and so on) by changing hexa values.
You need to convert hexadecimal values in decimals, make changes (adding 1 to move right/down from origin), reconvert to hexa and put new value at the same location.

It is possible to build a .net tool that allows user to make this more easily, but at the moment, I don't intend to integrate this function in my kit server (download of second public beta version will be available in the week-end, on the fifamania.it forum pages), perhaps in the future...

If someone knowing .net coding wants to try out a little tool, will be sufficient to read the file with a 'binary reader' object, apply changes when the identified location is reached, and rewrite the stream with a "binary writer" object.

Bye

This is a good idea, I would be able to make this tool (but in Java instead of .net). I do not have the time to experiment so if someone can explain things in a bit more detail than the first post then I will make the program.
 

Cesc Fabregas

Senior Squad
That would be really great, it's very needed to add front numbers to unlicensed
national teams or change collar, something like that :)
 

scouser09

Senior Squad
To clarify, the following data stores the following coordinates?

Offset(h)00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

000003E0 3F 0A 36 7F 3F 13 5D AB 3F 15 D7 02 3F 1F 4C D3 <jersey badge
000003F0 3F 16 C4 82 3E B6 19 10 3E D2 76 FC 3E 5C F6 BE <jersey back number
00000400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <? (jersey front number?)
00000410 3F 18 76 C0 3E D7 CC E9 3E CF 12 80 3E BF E5 A1 <jersey name placement
00000420 3F 00 00 00 3E 74 68 88 3F 00 00 00 3E 74 68 88 <?
00000430 3F 00 00 00 3E DD 40 03 3F 00 00 00 3E DD 40 03 <?
00000440 3E BA 2B 5A 3F 55 EF A6 3E D5 1A C9 3F 6D 8E CA <short badge
00000450 3E BA C7 12 3F 38 7A D1 3E DF BE 77 3F 51 DF FD <short number


And each is split as follows (using the jersey crest from above as an example)?
3F 0A 36 7F <Left
3F 13 5D AB <Top
3F 15 D7 02 <Right
3F 1F 4C D3 <Bottom


If my understanding is correct I should be able to make a program to edit this data. This is from jmmontoro's post, not personal research.
 

scouser09

Senior Squad
I have done some experiments and found:
The third line does control front jersey number.
I can add and remove the shirt badge and front number.
If I use the coordinates of the badge for the front number, then the front number appears in the position of the badge.

Well done jmmontoro, you have discovered something important!

Can someone who has contact with Rinaldo make him aware of this, it will probably be useful for CM11 (if he has not discovered it already).
 

jmmontoro

Youth Team
For clarification, lines 5 and 6 refer to rounded shirt names, 5 to the center of the circle and 6 to the tangent of the circle. Am I clear or this is worse?
 

scouser09

Senior Squad
jmmontoro;2958584 said:
For clarification, lines 5 and 6 refer to rounded shirt names, 5 to the center of the circle and 6 to the tangent of the circle. Am I clear or this is worse?

Thanks.

I have done some more experimenents and found that it is possible to put the crest on the back of the shirt, but it is not possible to put it on the shorts.

It will be possible to make the program without understanding the coordinates, just need to copy them from various kits with items in different positions.

What positions are needed for the program? I was thinking:
Shirt Crest - Centre/Left/None
Shirt Name - Top Normal/Top Curved/Bottom/None
Shirt Back Number - Back/None
Shirt Front Number - Centre/Top Centre/Top Right
Short Crest - Left/Right/None
Short Number - Bottom Left/Left Above Logo/Bottom Right/Right Above Logo/Right, Right Of Logo/None
 

jjborn

Club Supporter
i wonder how to change the kit model, like the collar
i have overwrote a kit's rx3 file with another one, but it didnt work
there must be some files contain the kits model information
i havent found it yet and i hope anyone can do this favor
 

Cesc Fabregas

Senior Squad
jjborn;2958751 said:
i wonder how to change the kit model, like the collar
i have overwrote a kit's rx3 file with another one, but it didnt work
there must be some files contain the kits model information
i havent found it yet and i hope anyone can do this favor
Kit model is in the database, you have to use Database Editor, I think ;)
I'll wait for a Kit Tool, I know how to do that stuff but I don't really want
to search anything in database when I want to change kits.
 

Outsider 87

Starting XI
scouser09;2958467 said:

3F 0A 36 7F <Left
3F 13 5D AB <Top
3F 15 D7 02 <Right
3F 1F 4C D3 <Bottom
Great, but how do you decode these?
I mean: 3F is at the beginning of all the four... Sure it is a coordinate?
Supposing to be an integer, which ones should we consider?
0A alone, 36 alone, 7F alone
0A and 36 and 7F together in a single number

What?

Don't know if you understood what is my doubt :D
 

scouser09

Senior Squad
Outsider 87;2958781 said:
Great, but how do you decode these?
I mean: 3F is at the beginning of all the four... Sure it is a coordinate?
Supposing to be an integer, which ones should we consider?
0A alone, 36 alone, 7F alone
0A and 36 and 7F together in a single number

What?

Don't know if you understood what is my doubt :D

Each pair of hexdecimal numbers represent 1 byte of data in the file.

For example, 3F0A367F in hexdecimal is 1057633919 in decimal. It does seem quite a large number so perhaps you are right when you say only part of the data is used for the coordinates. For all kits I have looked at, it seems each point starts with 3E or 3F (ie first 7 bits are the same).

One untested theory I have is that they are mapped onto the shirt texture, and 1024 (size of each dimension of shirt in pixels) could be stored in 3 hexdecimal numbers.

I have no idea also if the data represents an integer or not. I may do some experiments later.



Otherwise, I have been able to make a simple program which can change the position of the name. This means I will be able to extent to program to change the rest. I will make a new thread for the program itself soon.
 


Top