Jump to content

The Possible Data Structure Of Roster.iff


Tony3

Recommended Posts

A couple of days ago, I found that the file "roster.iff" is readable after decompressing it with Iff Editor.

What I found so far is listed below with Hex Editor.

Take the Lincecum data section in roster.iff for example.

Here's the data section between 0002aa98-0002ab9f.

_______________________ 51 4C 38 00 00 00 00 00

C9 27 38 00 5B 1E 38 00 41 4C 38 00 F5 FE 36 00

D1 24 0E 00 24 75 00 00 00 00 00 10 00 00 08 20

00 00 00 00 00 00 00 00 96 D7 04 00 78 26 04 08

00 00 00 38 63 00 00 00 00 00 C8 42 00 00 34 43

00 00 2A 43 00 09 2D 0C 4D 52 4F 60 32 4E 26 41

40 53 4C 60 18 56 09 0D 57 42 01 55 3C 41 50 45

51 09 60 62 28 0C 52 1B 09 5E 1E 00 62 52 41 3C

14 04 05 05 05 05 05 05 05 00 00 00 05 49 46 52

4A 28 46 51 49 0F 5F 3C 0B 38 05 09 33 2F 44 18

16 11 0D 1C 00 6A A0 70 F9 1B F9 1B 00 00 00 00

7E 19 7E 19 C0 07 7E 19 00 00 00 00 00 00 00 00

7E 19 7E 19 FF FF FF FF 38 2B 1C 03 FF FF 2D 1F

2C 1F FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF 61 00 37 00

And the possible attribute location would be:

2aa98-9b: Last Name Offset

2aaa0-a3: First Name Offset

2aaa4-a7: Nickname Offset

2aaa8-ab: Jersey Name Offset

2aaac-af: Appearance, Face ID No. and Equipment Offset

2aab0-b3: Team Offset (00 00 00 00: Free Agent)

2aab6 : Throwing Arm and Injury Status

2aab7 : Rookie Status

2aab8 : Injury Type

2aab9 : Duration and Injury Type

2aaba : DL Days Left and Duration

2aabb : Years Pro. and DL Days Left

2aabd : Barrel size, Bat color, Pine tar and Tape style (Equipment)

2aabe : Batting Side, Pitcher Role, Tape color and Tape style (Equipment)

2aac8-cb: Annual Salary

2aacc : Day Born and Generic Batting Stance

2aacd : Contract Length and Month Born

2aace : Edit Switch

2aad3 : Draw a Walk (Hitting Ability)

2aade : Height (cm)

2aae2 : Weight

2aae8 : Against Left Hand Batter (Pitching Ability)

2aae9 : Against Right Hand Batter (Pitching Ability)

2aaea : HR Against Right Hand Batter (Pitching Ability)

2aaeb : Stamina (Pitching Ability)

2aaec : Pickoff (Pitching Ability)

2aaed : Composure (Pitching Ability)

2aaf1 : HR Against Left Hand Batter (Pitching Ability)

2aaf2 : Walks (Pitching Ability)

2aaf3 : Strike Outs (Pitching Ability)

2aaf5 : Pitch 5 Movement (Pitch Type)

2aaf6 : Pitch 4 Throwing Percentage

2aaf7 : Pitch 5 Type (Pitch Type)

2aaf8 : Pitch 5 Speed (Pitch Type)

2aaf9 : Pitch 5 Control (Pitch Type)

2aafa : Pitch 4 Type (Pitch Type)

2aafb : Pitch 4 Speed (Pitch Type)

2aafc : Pitch 4 Control (Pitch Type)

2aafd : Pitch 4 Movement (Pitch Type)

2aafe : Pitch 3 Speed (Pitch Type)

2aaff : Pitch 3 Control (Pitch Type)

2ab00 : Pitch 3 Movement (Pitch Type)

2ab01 : Pitch 3 Throwing Percentage

2ab02 : Pitch 2 Control (Pitch Type)

2ab03 : Pitch 2 Movement (Pitch Type)

2ab04 : Pitch 2 Throwing Percentage

2ab05 : Pitch 3 Type (Pitch Type)

2ab06 : Pitch 1 Movement (Pitch Type)

2ab07 : Pitch 1 Throwing Percentage

2ab08 : Pitch 2 Type (Pitch Type)

2ab09 : Pitch 2 Speed (Pitch Type)

2ab0a : Acceleration (Hitting Ability)

2ab0b : Pitch 1 Type (Pitch Type)

2ab0c : Pitch 1 Speed (Pitch Type)

2ab0d : Pitch 1 Control (Pitch Type)

2ab0e : Running Speed (Hitting Ability)

2ab11 : Stealing Aggressiveness (Hitting Ability)

2ab12 : As Right Fielder (Fielding Ability)

2ab13 : As Center Fielder (Fielding Ability)

2ab14 : As Left Fielder (Fielding Ability)

2ab15 : As First Baseman (Fielding Ability)

2ab16 : As Second Baseman (Fielding Ability)

2ab17 : As Third Baseman (Fielding Ability)

2ab18 : As Shortstop (Fielding Ability)

2ab19 : Catcher's Ability 1 (Fielding Ability)

2ab1a : Catcher's Ability 2 (Fielding Ability)

2ab1b : Catcher's Ability 3 (Fielding Ability)

2ab1c : As Catcher (Fielding Ability)

2ab1d : Fielding Range (Fielding Ability)

2ab1e : Jumping and Diving (Fielding Ability)

2ab1f : Arm Strengh (Fielding Ability)

2ab20 : Throwing Accuracy (Fielding Ability)

2ab22 : Fielding Anticipation (Fielding Ability)

2ab23 : Catching (Fielding Ability)

2ab25 : Pitch 5 Throwing Percentage

2ab29 : Out by Strikeouts (Hitting Ability)

2ab2b : Power vs. Righties (Hitting Ability)

2ab2c : Contact vs. Righties (Hitting Ability)

2ab2d : Contact vs. Lefties (Hitting Ability)

2ab2e : Bunting (Hitting Ability)

2ab32 : Power vs. Lefties (Hitting Ability)

2ab36 : Position

2ab38-39: PBP Audio ID No.

2ab3a-3b: PBP ID #2

2ab3c-3d: Generated Player ID #1

2ab3e-3f: Generated Player ID #2

2ab40-41: Unknown ID #1

2ab42-43: Unknown ID #2

2ab44-45: Year Born

2ab46-47: Portrait ID No.

2ab50-51: Pitcher Inside Edge #1 (Pitch type by count, Pitch location)

2ab52-53: Pitcher Inside Edge #2 (General, Scouting report)

2ab54-55: Hitter Inside Edge #1 (The rest)

2ab56-57: Hitter Inside Edge #2 (General)

2ab5e-9b: Historical Statistics Offset

2ab9c-9d: Trading Card No.

2ab9e : Jersey No.

So enjoy editing everyone!

(If you have no knowledge of Hex Editor, don't try this!

And don't bother asking me, either. Thanks! :p )

Link to comment
Share on other sites

  • Replies 71
  • Created
  • Last Reply

Well, after further looking of the "Roster.iff", it seems that there's no player stands as tall as 5'9'', 5'11", 6'1'', 6'8", 6'10'', unless editing yourself.

How do I know? Lincecum, Brian Wilson, Eugenio Velez, Kevin Frandsen, Edgar Renteria, Emmanuel Burriss, Ryan Rohlinger and Randy Johnson are all listed in game 1 inch shorter!

The Height attribute is supposed to be like this:

Hex value-->Height

2A-> 5'7''

2D-> 5'8"

2F-> 5'9"

32-> 5'10"

34-> 5'11"

37-> 6'0"

39-> 6'1"

3C-> 6'2"

3F-> 6'3"

41-> 6'4"

44-> 6'5"

46-> 6'6"

49-> 6'7"

4B-> 6'8"

4E-> 6'9"

50-> 6'10"

53-> 6'11'

Instead, the Height is really shown in game as below:

2A-> 5'6''

2D-> 5'8"

2F-> 5'8"

32-> 5'10"

34-> 5'10"

37-> 6'0"

39-> 6'0"

49-> 6'7"

4B-> 6'7"

4E-> 6'9"

50-> 6'9"

So when players are as tall as 5'9'', 5'11", 6'1'', 6'8", 6'10'', they will be shown in game 1 inch shorter.

Don't know if 2K did it on purpose. :huh:

Link to comment
Share on other sites

I've updated some attribute address found later in the first post.

It seems that address "2aace" above can be changed from "04" to "05", to make Lincecum editable in game the attribute such as birth day, skin tone, pitch type, etc...

If you want to change the pitch type in game for a pitcher, just try this. B)

Link to comment
Share on other sites

It seems that address "2aace" above can be changed from "04" to "05", to make Lincecum editable in game the attribute such as birth day, skin tone, pitch type, etc...

If you want to change the pitch type in game for a pitcher, just try this. B)

Like I said, a player's pitch type can be edited with above attribute value changed from "04" to "05".

The attachment is the "roster.iff" which I changed manually.

All players will now become editable with in-game editor if my decompressed "roster.iff" is put into "MLB 2K9" folder.

Good luck and happy editing!

roster.zip

(p.s. you have to reset roster at least once.)

Link to comment
Share on other sites

The created roster can be editable, too, ......

if only you know how to hex edit the file's inside value.

Glad you're interested in hex editing, too. :)

you are flattering me, i'm way too computer ignorant to start hex editing. but i've downloaded your file and pasted it in my mlb folder. i could not edit snash's roster, but when i loaded default rosters i could edit everything except field position. that includes pitch types, height, weight etc.

Link to comment
Share on other sites

I still don't really understand what the roster.zip is supposed to be able to let us do. I can't edit anything more than what I could before in game.

you should unzip it, paste the roster.iff file in your mlb 2k9 folder, start the game and load default rosters (i did this through franchise couse i couldn't figure how to do it in main menu execpt throug phisically deleting snash's roster file). then you'll be able to edit everything except field position.

Link to comment
Share on other sites

if you delete all roster files in your 2k sports folder (the one in application data) then default rosters will load themselves. anyway, when starting a new franchise you can choose current or default rosters. put the roster.iff in mlb 2k9 folder then start the franchise with default rosters and you'll be able to edit them.

Link to comment
Share on other sites

In fact, every roster can also be default roster if "Reset Roster" is checked.

In the "Management" menu, there is a option called "Reset Roster",

just click that miracle button and you're good to go.

btw, while exploring the "roster.iff", I found out that there are some team names in that file, such as

Bandit, Barbarian, Bird, Bobcat, Bulldog, Castle, Caesar, Comet, Eskimo, Gargoyle, Giant, Viking.

Does anyone know what these teams really are?

Link to comment
Share on other sites

I was able to get these to work outside my existing franchise. How do I get them to wok inmy existing franchise? I dont want to start my season over, especially being 21 games in.

any help would be appreciated. thanks

Link to comment
Share on other sites

Hex editing ability is really needed here in order to hex-edit the "Franchise" file.

My first post would be a good start.

First, you have to download Hex Editor from this site.

Good luck. The rest is silence. B)

Link to comment
Share on other sites

Did you know these players share the same "Inside Edge" except general one.

Ken Griffey Jr , Jerry Hairston Jr, Jose Cruz Jr, Gary Matthews Jr, Tony Peña Jr, Tony Gwynn Jr, Paul Lo Duca, Toby Hall, Abraham Nuñez, Ronny Cedeño, Blake DeWitt, Wily Mo Peña, Raul Ibañez, Magglio Ordoñez, Brayan Peña, Kila Ka'aihue.

Weird. <_<

Link to comment
Share on other sites

Is there a trigger that tells the game to use a generic face or not.

If you trade a player that player loses his face and get a generic face, I took the franchise file and extracted the roster. When looking at the roster the the player still has the correct face ID 6280 (8818).

BEFORE TRADE

beforetrade.th.png

AFTER TRADE

aftertrade.th.png

Link to comment
Share on other sites

Well, never thought about that.

But I can tell you where I found Lincecum's Face ID in Roster.iff.

It's not really at address 2aaac-af, that's just an index.

The real ID # is at address 39a9a4-a5, usually after something like Fx FF, and

the whole section after this is about his equipment attribute,

including Head, Arms, Hands, Mitts and Legs.

You might knew all this already, just tell you what I know so far.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...