AdamCatalyst Posted May 20 Report Share Posted May 20 NHL '94: How-To Manually Edit the Team & Player Data NOTE: Work-in-progress. Will post more when I find time. We are so lucky to have a community that has developed great tools for us to edit nearly all the relevant parameters in the Team & Player data. But if you want to go your own way, here is what you will need to know… Team Overall Rating. This seemingly cosmetic rating displayed in the Pre-Game is stored separately from all the other Team Data. Teams Offset. The location of the Team Data for every single team is listed in an Index that others have referred to as the Teams Offset. In the 32-Team ROM this is located at 0x0000030E. This Teams Offset address is referenced numerous times in the code. Team Data. Every single team has their Rosters & Ratings, Lines, Location Name, Club Name, Acronym, Arena Name, Team Rating Attributes (Off, Def, PP, PK, Home, Away), and Colour Palettes listed in their Team Data. Here are the specifications for each of these sections. Teams Overall Rating In The 32-Team ROM head to 0x01E92B4 and you will find the 32-byte code that gives the overall rating for each team. Each byte is the number (in HEX) of the team’s overall rating. The bytes are ordered in the Team Order in the Teams Offset. In the 32-Team ROM, this data is referenced at 0x0FE176. You can move the Teams Overall Rating you update this reference accordingly. For instance, to move the Teams Overall Ratings to 0x01E9300, enter 001E9300 @ 0x0FE176. Teams Offset On the 32-Team ROM, head to 0x030E and you will find the 128-bytes of code that makeup the Teams Offset. The 128-bytes is divided into 4-bytes per team. Each 4-byte entry is the address to the Team Data for that respective team. The order that each Teams appears in this list defines the Teams Order. Teams Data The following section details the structure of the Data for each team. Please note, that whenever a relative address (bytes ahead) is specified, it is relative to the address listed in the Teams Offset. Index Section 2-bytes location of Roster & Ratings. Number of bytes ahead to the Rosters & Ratings. Default set to 146-bytes (0x0092). This can be variable if there are free (unused) bytes before the Rosters & Ratings. 2-bytes location of Colour Palettes. Number of bytes ahead to the Colour Palettes. Default set to 12-bytes (0x000C.) 2-bytes location of Team Name etc. Number of bytes ahead to the Team Name etc. This is usually variable in length, since it follow the Roster which usually varies in length from team-to-team, since Player Name lengths tend to vary. Setting this to 876-bytes (0x036C) will allocate a fixed 730-bytes to the Rosters & Ratings, which can accommodate a theoretical maximum amount of players (26) with the longest names possible (20 characters including spaces). However, note that EARE & NOSE will be limited in function if this becomes fixed. 2-bytes location of Lines. Number of bytes ahead to the start of the Lines. Default set to 82-bytes (0x0052). 2-bytes location of Team Attribute Ratings & Number of Forwards / Defence. Number of bytes ahead to the Team Ratings & Number of Players who are Forwards / Defence. Default set to 76-bytes (0x004C). 2-bytes location of Number of Goalies. Number of bytes ahead to the number of players who are Goalies. Default set to 80-bytes (0x0050). Colour Palettes 32-bytes Home Colour Palette. This means that you can find the Home palette for each team by adding 12-bytes to their base address. For instance, the Home colour palette for the team at 0x1E9400 would be 0x1E940C. 32-bytes Away Colour Palette. This means that you can find the Away palette for each team by adding 44-bytes to their base address. For instance, the Away colour palette for the team at 0x1E9400 would be 0x1E942C. Team Attribute Ratings 3-bytes Team Attribute Ratings. (Off, Def, PP, PK, Home, Away) Each character represents a rating for a different Team Attribute Category. The order of Team Attribute Categories is: Offence / Defence / PP / PK / Home / Away. The rating system for each attribute is as follow: Offence: 0 to 7 (best) Defence: 7 to 0 (best) PowerPlay: 0 to 2 (best) Penalty Kill: 2 to 0 (best) Home: 0 to 2 (best) Away: 4 to 0 (best) Roster Players Positions 1-byte Number of Forwards / Defence. The first digit indicates how many Players in the Roster are Forwards, and the second digit indicates how many players are Defencemen. Setting this to 0xE8 indicates 14 Forwards & 8 Defencemen. 2-bytes Number of Goalies For every digit that is not a 0x0 a player on the roster will be assigned to be a goalie, up to a maximum of four. Setting this to 0xFFF0 specifies that the first three players in the Roster are Goalies. Lines 64-bytes Lines Each team has 8 lines x 8 bytes each. Lines are stored in the following order: NLC / SC1 / SC2 / Chk / PP1 / PP2 / PK1 / PK2. Each Line is 8-bytes long. The first byte is always 01. The following 7-bytes store the Player for each position in the following order: LD / RD / LW / C / RD / EA / G. Players are indicated by a 1-byte HEX code. The Player HEX code is the numerical order that they are listed in their Roster. The first Goaltender is indicated with a 0x00, the next player in the roster is indicated with an 0x01, etc. up to a maximum of 0x19 (26th player.) Roster & Ratings 730-bytes Roster & Ratings Technically this section is variable in length, however I recommend allocating a fixed 730-bytes, in order to accommodate a theoretical maximum amount of players (26) with the longest names possible (20 characters including spaces) which takes 728-bytes. There are an additional 2-bytes after this, set to 0x0002. You can find the details on how to set the Roster & Ratings here: https://nhl94.com/html/editing/edit_bin.php. Team Name etc. 148-bytes Team Location Name, Acronym, Club Name, and Arena Name. Technically this section is variable in length, however I recommend allocating a fixed 148-bytes, in order to accommodate the longest names possible, with some extra bytes left over for the unknown. This brings the total size for each team to an even 1024-bytes (0x400). You can find the details on how to set the specifics here: https://nhl94.com/html/editing/edit_bin.php. If you are considering restructuring the Player Data, I have a post that might interest you below. 1 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.