Do you happen to know how EA originally arranged the teams when you go select teams in Season mode? It's definitely not alphabetical...
In the ORIGINAL NHL09 rosters, it's based on the divisions + conferences at the time (6 divisions, 5 teams per)
For example: Western Conference, first row = CGY, COL, EDM, followed by MIN and VAN in the next row.
Then ANA to start the next division, etc etc.
I've been trying to figure out how to re-arrange the "hard-coded" season layout for the teams and their conferences/divisions. We have gotten away with editing the INDX Index files in the tables, but all that does is mess up the order of the index (and explains why DET = INDX 10 swapped to ATL = 1 ends up being second in the list when you scroll through teams. It isn't alphabetical, it is based on index numbers where:
ANA - 0
ATL - 1
BOS - 2
BUF - 3
CGY - 4
CAR - 5
CHI - 6
COL - 7
CBS - 8
DAL - 9
DET - 10
EDM - 11
FLA - 12
LA - 13
MIN - 14
MTL - 15
NAS - 16
NJ - 17
NYI - 18
NYR - 19
OTT - 20
PHI - 21
PHX - 22
PIT - 23
SJ - 24
STL - 25
TB - 26
TOR - 27
VAN - 28
WAS - 29
So if you swap ATL for PHX (ARI), theoretically you could push all the teams from PIT to WAS up one value and put ATL at the end... the problem is, the game registers teams from the West ALWAYS in the west and the East ALWAYS in the EAST, so your season team select page will still be screwed up, with East teams showing on the West and vice versa.
I'm still messing with the exe, and found a couple of tables that correspond to this data, but it only affects the teams in playoffs for some reason (they show up in the correct spots and can be selected etc)
The season mode is weird, and I think it is purely mathematical (using some key info from the db as to which team goes where) and I think it has something to do with the OTHER leagues, requiring the structure to be set up a certain way. I'm STILL looking into it... getting closer but still confused by some of it. I wa hoping that it would be as simple as there being a table you could easily edit and swap index numbers (just in the exe) but it doesn't work that well.
Sorry if this is super confusing - rosters and league structures are very delicate and take a lot of experimentation.
As for expanding to 32 teams, it would take A LOT of work. I'm not sure how to add to the exe without creating an error of some sort. There are a lot of free space within the exe but I'm not sure if it is used for storing/parsing things in memory or not (I assume it does).