First legend player on a CPU Team (Mark Smith, Scorpions) offset = 0000D180
First created player on a created team offset = 000829F0
First legend player on a created team offset = 000843E0
It's not that simple, unfortunately.
This is what a normal cell of player data looks like inside a hex editor:
The color-coded areas contain most of a player's information:
Attributes, abilities, position, jersey number, facial structure, tier, shoe type, face mask type, birth year -- all of this stuff is already present in FlyingFinn's editor.
But if all you do is change a player's first and last name, none of the numbers inside that data cell will change.
Best I can tell, the only numbers in one of those cells that have anything to do with the player's name are the two boxes near the top of the data set that I've stenciled in a black outline.
If you mess with those two boxes and manually change their values, you can reset a players name so that it's completely blank, and then you'll be able to retype it from scratch inside the game's regular player editing screen.
Changing the name length won't have any affect on a player's data cell. I can change someone like "David Hawthorne" to "Al Bundy" and his cell will still look identical in hex code.
The only way that the values in the stenciled black boxes will change is if you go into a hex editor and change them manually. They don't seem to react to any changes that you make in FlyingFinn's editor or any changes that you make from the in-game player editor.
So let's say "David Hawthorne" was originally "00 19 72 47 00 19 72 65"
Then I decide that I want to reset his name and change him to "00 19 71 46 00 19 71 64" which causes his name to show up as blank in the game.
When I go into the in-game player editor screen and rename him to something like "Randal Graves" his code would still read "00 19 71 46 00 19 71 64" when I bring that roster file back into a hex editor.
These are the only other places I know of in the roster file where player names are listed:
offset 00208730 through offset 0020FFF0 (legends and generics)
offset 0021200 through offset 00222000 (legends and generics)
offset 00222020 through offset 00222560 (created players)
If you change the names there by entering new hex values, the new name has to have the same amount of letters as the old name, otherwise the file won't work.
If you use this method, it also only changes a player's displayed name. The announcers will still refer to the athlete's original name in the play-by-play commentary.
I never figured out how to change a player's play-by-play name using hex editing.
The character restrictions only apply to the names that appear from offset 00208730 through offset 00222560. That is one method of changing names from within a hex editor.
The other method I've used to change names is just doing it normally from inside APF 2K8's player edit screen. There are no character restrictions there.
Quote:
This is very confusing and I could use help nailing down the research already done so I can begin coding. Making sense of this stuff with caps, legends, etc and the number of teams you can have total and the way apf restricts things make my mind burn.
You can only have 8 user-created teams. Their players will appear from offset 000829F0 until offset 0009EE90.
The players from the remaining 24 CPU teams are listed from offset 0000D180 until offset 0005ECC0.
Quote:
Along with how many hex values are in each player's section of attributes.
It varies depending on the type of player your looking at. Created players usually have larger data cells than legends and generics. The reason is that created players have different facial structures than legends and generics. Other than the face section, their data blocks will be the same size.
You can tell where one player cell ends and another begins by looking for the strings of 00s and FFs in the hex code.
Here's what a generic player's cell looks like:
You can tell he's a generic player because of the hex code 84 at offset 00087A60. 84 = generic, 05 = created player, 04 = legend.
The player directly above that generic is a legend on the same team:
Even though the legend has 00s instead of 7Fs for his facial data, that block is still the same size.
The image I posted on page one shows what a created player looks like:
The "green" facial data block for a created player is much larger and full of different 7x and 8x values.