Jump to content
NHL'94 Forums

TOOL: SNES '94 Roster Tool


chaos

Recommended Posts

The GENS guys have all the nice tools. Not being able to extract a roster from an SNES '94 ROM really drove me nuts. So, I made a tool.

SNES '94 Roster Tool

Current Version - 0.7

Previous Versions - 0.3, 0.4, 0.5, 0.55, 0.6

* - version 0.7 has bug fixes and is more friendlier with custom ROMs 

* - version 0.6 has bug fixes and works with SMC Headered and Headerless ROMs

Uninstall previous versions before installing a new version (You can uninstall the Tool from the "Uninstall Programs" page in Windows Settings)

Bug Fixes in 0.7:

- Fixed a bug where the last team in the ROM, if the roster size was changed, would not show the correct number of F, D, and G in the game. This could cause crashing on the Lineup screen.
- Fixed a bug where if the roster size was changed, the "Player Stats" page in the in-game menu would crash
- Added the function where it reads the Player Data Area offset value instead of assuming the default value of 85 bytes.
- Made the executable a single file, and removed the Windows installer.

 

Features:

 

- Extract rosters and attributes from any '94-based SNES NHL '94 ROM. Results saved in CSV format, easy to open in MS Excel or any spreadsheet program for editing and viewing.

- Import rosters from CSV file - Spreadsheet programs can save the data in CSV form, and use the file to import roster data. The Tool will make a copy of a selected ROM and update the rosters (only the copy of the ROM is changed). The resulting ROM created from the Tool is fully compatible with the SNES ROM Editor by Statto and can be run on any emulator.
 
This allows you to make widespread changes to the player names, attributes and jersey numbers. Instead of going through each player one by one, you can make changes easily in Excel or any other Spreadsheet program, save the sheet as a CSV file, and import it into the ROM.
 
Importing data is pretty simple. The layout of the CSV file needs to be the same as the results in an exported file. I would suggest using exported data as a template. If there is a problem with the imported file, the program will notify you.
 
Some important rules:
 
The Team Abbreviations in the import file need to match what is already in the ROM. So, lets say you changed Quebec Nordiques (QUE) to Colorado Avalanche (COL). The abbreviation in the import file for Colorado should be COL, not QUE, or CLR, etc. If they do not match, the program will return an error and notify you of what team does not match.
 
The order of each team roster in the file must be in Goalies first, then Forwards, then Defense.
 
Also, the tool will ONLY edit the teams listed in the CSV file. So if you are doing incremental updates (maybe 3 team rosters at a time), only include the teams you are updating in the CSV file. The other team rosters will not be touched.
 
For extra information, check the Help menu in the program.
 

 

 

Instructions for Installation:

- Extract the zip file

- Put the folder wherever you like. Do not remove any files from the folder.

Instructions:

- Start the program (Setup should put a shortcut on the desktop)

For Exporting:

- Click on "Export to CSV" button

- Choose a ROM (.SMC format)

- Type in a file name to save the results (will be in .CSV format)

The CSV (Comma Delimited) file can be opened easily in any spreadsheet program (MS Excel, OpenOffice Calc, etc)

For Importing:

- Click on "Import to CSV" button

- Choose a CSV file (.CSV format)

- Choose a ROM (.SMC format)

- Choose a place to save the updated ROM (.SMC format)

- The updated ROM will contain the changes

Requirements:

- Windows 7 or later (might have to be 64-bit version, I have not tested it on 32-bit. If someone has issues, please let me know, I can change it to 32-bit based)

- 8.5MB of space. The program itself is not that large, but since this is written in Python, the program also contains a Python interpreter to remove the need for Python to be installed on your computer. Disk Space on modern computers should not be a problem.

- MS Visual C++ Redistribution Package 2010. It's quite possible you might have this installed already. If not, it is a free download from Microsoft. (You may or may not need this anymore).

Let me know if there are any issues.

FAQ:

Q: Why would I want to use this tool? The SNES ROM Editor already does this.

A: When it comes to editing rosters, the SNES ROM Editor is very cumbersome, since you can only make changes on a per team basis, one player at a time. With the ability to export and import rosters into a ROM, these changes can be made fairly quickly, since you can change all the teams at once.

For example: I want to make a ROM for a draft league with the rosters based on the '94 version. Each team will have 12 players.

- I can export the rosters from the original '94 ROM, and open result in Excel or Openoffice.

- I go through and change the team abv. for each player to match their new team, along with their new jersey number if needed.

- I re-sort the spreadsheet by the Team Abv column and re-sort the Pos column to show G, F, D

- I remove players on each team to cut it down to 12 players

- I save/export the results in a CSV file.

- I open the SNES Roster Tool and import the CSV file.

- Open up the ROM in SNES ROM Editor, and change the Team Lines.

- All done. A total of 15 min of work, maybe less.

Q: I want to create a new ROM. What should be my work flow?

A: I would suggest the following:

  1. Open a NHL' 94 ROM in SNES ROM Editor.
  2. Make changes to the team information (Team Name, Abv, Arena)
  3. Make changes to graphics (banners, jersey colors, etc)
  4. Save the new ROM.
  5. Open up SNES Roster Tool.
  6. Export the ROM data of the new ROM.
  7. Import the results into a spreadsheet program, make changes to the rosters (names, attributes, roster length, etc).
  8. Save as a CSV file.
  9. Import the CSV file into the new ROM with SNES Roster Tool.
  10. Open up modified ROM in SNES ROM Editor.
  11. Make changes to the Team Lines for each team.
  12. Save the ROM, and play it!

Q:What if I only want to make roster changes to a few teams?

A: Not a problem! The only teams that will have changes applied to them are the ones that are in the CSV file you plan on importing. So if you only want to change CGY, ANH, SJ, and DET, just have their rosters in the file. You still will have to go and update the Team Lines for any teams that are changed. All other teams will be untouched.

Future Additions:

- Import from CSV Function - I have this currently working. Just needs some refining (I need to make it update the lines) in order to get the ROM to open properly in the SNES Editor. I will release it probably tomorrow once I get it working.

- Edit Lines Function - I plan on adding this option in the future, just to round the tool out.

 

 

 

 

 

SNES Roster Tool 0.7.zip SNES Roster Tool 0.7 Source.zip

  • Love 2
  • Thanks 2
  • Like 2
Link to comment
Share on other sites

what is it for?

Features:

- Extract rosters and attributes from any '94-based SNES NHL '94 ROM

- Results saved in CSV format

seems like it requires a lot.

How so? Windows 7 and up, a small amount of disk space, and a MS VC++ package that's probably already installed on your computer because another program needed it. The SNES editor needs this installed too (an older version)

what would you do with it?

You can use it to look at every player's attributes at the same time if you'd like. Or if you were to make your own ROM, and people ask you who's on what team and what are their ratings for each attribute, you can send them the results.

  • Like 1
Link to comment
Share on other sites

tru's on linux, can you give him the source if you don't mind it being out there? python code should work out-of-the-box for him, I think. unless it works in Wine or something.

Link to comment
Share on other sites

tru's on linux, can you give him the source if you don't mind it being out there? python code should work out-of-the-box for him, I think. unless it works in Wine or something.

It should work in wine, I can also give the source code out. It was made with Python 3.4, so it won't be compatible with 2.7 if that's what His Linux has (that's what my Mac had).

  • Like 1
Link to comment
Share on other sites

that all went right over my head. forget for a moment that there are systems it doesn't just run on; the heart of my question is: it puts it into a what format that can be used for what? the use described seems like something a text document would be better suited for. I'm trying to understand what you do with a .xcvwhatever file.

Link to comment
Share on other sites

Chaos is probably using it for the website database? Export ROM to CSV, then copy the spreadsheet table into the database?

Will future versions allow you to edit the spreadsheet and then import it back into the ROM? The Genesis roster tool does that (with the limitation that it doesn't let you change the number of players on teams or their names or positions -- only their attributes and sweater number).

  • Like 1
Link to comment
Share on other sites

Tru, if you wanted to enter a league w/ a draft, you'd need to export the league into a data base w/ all their skills in a sortable spreadsheet if you wanted to be able to compare the players, and who is the best player available to draft next, etc.

I think because SNES has lacked this is one of the reasons SNES rarely runs any draft style leagues and overall knowledge of each guy's specific ratings is very limited, but it is a tool you'd want to use if looking through the rosters as a whole.

I came across this in SNES Dynasty, as I knew almost every player's attribute inside & out, and was stunned how little other SNES guys who were bidding with me on players seemed to be aware.

As a result, I ended up with a stacked team in last year's auction and this year's. Unfortunately, I completely BLOW chunks at SNES, so the results don't really reflect it as much. But other GM's when they tested out the ROM acknowledged the advantage my team has.

So, to summarize, it helps you look at all the rosters in ONE sheet to then sort out by individual skills (you can sort say, Fastest players, then by weight, then by agility, etc).

Link to comment
Share on other sites

so, you'd turn your ROM data into an .csv file and then load it into a spreadsheet program and then do stuff. I guess it requires a very new PC and an idea of how to use a spreadsheet program for sorting players by ratings. I think I get it. and the Genesis version of this gets a lot of use?

  • Like 1
Link to comment
Share on other sites

csv doesn't need a new PC, you should be able to load it in any generic spreadsheet program. sorting is usually just a button push (click on a cell, like on someone's speed, click sort, it sorts the table on that column)

Link to comment
Share on other sites

right, but getting the file created requires a new PC. well, new to me. to me the PS3 is new and Windows 7 seems like something from the future. it's probably a decade old and was probably outdated the minute it was commercially available, but it's still a lot newer than any of my Windows 98/NT/ME-era PCs.

Edited by tru
  • Like 1
Link to comment
Share on other sites

right, but getting the file created requires a new PC. well, new to me. to me the PS3 is new and Windows 7 seems like something from the future. it's probably a decade old and was probably outdated the minute it was commercially available, but it's still a lot newer than any of my Windows 98/NT/ME-era PCs.

This might work on Windows XP, from what I read. Please try it out and let me know what errors you get. I had tested it on Windows 7, and since it is almost 6 years old, most people running a PC would have adopted it by now. I might have to make some changes, but it would be pretty easy.

so, you'd turn your ROM data into an .csv file and then load it into a spreadsheet program and then do stuff. I guess it requires a very new PC and an idea of how to use a spreadsheet program for sorting players by ratings. I think I get it. and the Genesis version of this gets a lot of use?

Think of it this way: Someone downloads your ROM and wants to know what players are rated 6 speed. The person can use this program to output all the teams' rosters to an acceptable format that Excel can open. Then they can sort the spreadsheet in Excel to find out all the players in your ROM that are 6 speed.

Chaos is probably using it for the website database? Export ROM to CSV, then copy the spreadsheet table into the database?

Will future versions allow you to edit the spreadsheet and then import it back into the ROM? The Genesis roster tool does that (with the limitation that it doesn't let you change the number of players on teams or their names or positions -- only their attributes and sweater number).

Yes, the next version will allow you to import it back into the ROM. I plan on going the extra step that the Gens tool does not do, and allow all changes (name, positions, etc). I'm working on this for the next few weeks. The toughest part of this was creating the executable, the coding is simple ;) . To me, the SNES editor is a little cumbersome when used to make widespread changes.

Once the import portion is done, the tool will be much more useful. Instead of using the SNES editor, you can do all the rosters in one fell swoop, using Excel, saving it as a .csv file, and importing it into the ROM. This will save a lot of time when creating your own ROM. I figured since I have the extract part done for now, the tool would be of some use for the time being.

Link to comment
Share on other sites

  • 1 month later...

There's a small update, look at the first post for the new version. I will have the Import function completely working by tomorrow. There are a few bugs affecting the ability to open the new ROM in the SNES Editor.

Link to comment
Share on other sites

  • 2 months later...

The GENS guys have all the nice tools. Not being able to extract a roster from an SNES '94 ROM really drove me nuts. So, I made a tool.

SNES '94 Roster Tool

Current Version - 0.5

Previous Versions - 0.3, 0.4

New in Version 0.5:

-Import rosters from CSV file - The Roster Tool now supports importing of rosters via a CSV file. Spreadsheet programs can save the data in CSV form, and use the file to import roster data. The Tool will make a copy of a selected ROM and update the rosters (only the copy of the ROM is changed). The resulting ROM created from the Tool is fully compatible with the SNES ROM Editor by Statto.

This Tool now allows you to make widespread changes to the player names, attributes and jersey numbers. Instead of going through each player one by one, you can make changes easily in Excel or any other Spreadsheet program, save the sheet as a CSV file, and import it into the ROM.

Importing data is pretty simple. The layout of the CSV file needs to be the same as the results in an exported file. I would suggest using exported data as a template. If there is a problem with the imported file, the program will notify you.

Some important rules:

The Team Abbreviations in the import file need to match what is already in the ROM. So, lets say you changed Quebec Nordiques (QUE) to Colorado Avalanche (COL). The abbreviation in the import file for Colorado should be COL, not QUE, or CLR, etc. If they do not match, the program will return an error and notify you of what team does not match.

The order of each team roster in the file must be in Goalies first, then Forwards, then Defense.

For extra information, check the Help menu in the program.

Release notes from Version 0.4:

- Added a help menu and instructions that can be accessed from within the program

- Program should run on Windows 7 and up (any version). Windows XP might work, but it is unsupported.

- Fixed some bugs:

  • Sometimes, the last player on the team would be missing from the output. This has been fixed.
  • MS Excel would display the CSV file with an empty row between each line of output. This has been fixed.

Features:

- Extract rosters and attributes from any '94-based SNES NHL '94 ROM

- Results saved in CSV format

Instructions for Installation:

- Extract the zip file

- Run the "SNES Roster Tool 0.5 Setup" file, which will install the program (approx. 16MB). Follow the prompts to complete setup.

Instructions:

- Start the program (Setup should put a shortcut on the desktop)

- Click on "Export to CSV" button

- Choose a ROM (.SMC format)

- Type in a file name to save the results (will be in .CSV format)

The CSV (Comma Delimited) file can be opened easily in any spreadsheet program (MS Excel, OpenOffice Calc, etc)

Requirements:

- Windows 7 or later (might have to be 64-bit version, I have not tested it on 32-bit. If someone has issues, please let me know, I can change it to 32-bit based)

- 16MB of space. The program itself is not that large, but since this is written in Python, the program also contains a Python interpreter to remove the need for Python to be installed on your computer. Disk Space on modern computers should not be a problem.

- MS Visual C++ Redistribution Package 2010. It's quite possible you might have this installed already. If not, it is a free download from Microsoft. I can add the files so the installer, I might do this for the next revision.

Let me know if there are any issues.

FAQ:

Q: Why would I want to use this tool? The SNES ROM Editor already does this.

A: When it comes to editing rosters, the SNES ROM Editor is very cumbersome, since you can only make changes on a per team basis, one player at a time. With the ability to export and import rosters into a ROM, these changes can be made fairly quickly, since you can change all the teams at once.

For example: I want to make a ROM for a draft league with the rosters based on the '94 version. Each team will have 12 players.

- I can export the rosters from the original '94 ROM, and open result in Excel or Openoffice.

- I go through and change the team abv. for each player to match their new team, along with their new jersey number if needed.

- I re-sort the spreadsheet by the Team Abv column and re-sort the Pos column to show G, F, D

- I remove players on each team to cut it down to 12 players

- I save/export the results in a CSV file.

- I open the SNES Roster Tool and import the CSV file.

- Open up the ROM in SNES ROM Editor, and change the Team Lines.

- All done. A total of 15 min of work, maybe less.

Q: I want to create a new ROM. What should be my work flow?

A: I would suggest the following:

  • Open a NHL' 94 ROM in SNES ROM Editor.
  • Make changes to the team information (Team Name, Abv, Arena)
  • Make changes to graphics (banners, jersey colors, etc)
  • Save the new ROM.
  • Open up SNES Roster Tool.
  • Export the ROM data of the new ROM.
  • Import the results into a spreadsheet program, make changes to the rosters (names, attributes, roster length, etc).
  • Save as a CSV file.
  • Import the CSV file into the new ROM with SNES Roster Tool.
  • Open up modified ROM in SNES ROM Editor.
  • Make changes to the Team Lines for each team.
  • Save the ROM, and play it!
Q:What if I only want to make roster changes to a few teams?

A: Not a problem! The only teams that will have changes applied to them are the ones that are in the CSV file you plan on importing. So if you only want to change CGY, ANH, SJ, and DET, just have their rosters in the file. You still will have to go and update the Team Lines for any teams that are changed. All other teams will be untouched.

Future Additions:

- Import from CSV Function - I have this currently working. Just needs some refining (I need to make it update the lines) in order to get the ROM to open properly in the SNES Editor. I will release it probably tomorrow once I get it working.

- Edit Lines Function - I plan on adding this option in the future, just to round the tool out.

Could you add the ability to see the players overall rating?
  • Like 1
Link to comment
Share on other sites

Could you add the ability to see the players overall rating?

The overall rating is actually calculated by the ROM. I think someone figured out the calculation. If I can find the information, I'll add it in for you.

Link to comment
Share on other sites

  • 2 months later...

I use the roster extraction tool for GENS to compare players. Like Brutus said, it is very handy for draft leagues. (And comparing players in general.)

If I played SNES I would love to use this tool.

Nice work, Chaos.

  • Like 1
Link to comment
Share on other sites

  • 5 weeks later...

Starting to use this now.

When I open my .csv file I see the columns as "First", "Last", "Abv", "Pos", "JNo" and "Wgt" but I don't see a place to put the player's handedness (L/R). Does that have to be done using the editor?

Looking forward to using this, great tool! And if we get the ability to set lines that would be amazing as well.

Link to comment
Share on other sites

Starting to use this now.

When I open my .csv file I see the columns as "First", "Last", "Abv", "Pos", "JNo" and "Wgt" but I don't see a place to put the player's handedness (L/R). Does that have to be done using the editor?

Looking forward to using this, great tool! And if we get the ability to set lines that would be amazing as well.

Thanks! Strange, I was just thinking about updating this to set lines. I didn't think many people were using it. I will work on it. I also need to add overall rating too.

Handedness is the Hnd column. An even number is Lefty, an odd number is Righty. If you are planning on editing the roster, you can use 0 and 1 for values. The value itself was used in 93 for fighting, but the even/uneven is handedness.

Link to comment
Share on other sites

Handedness is the Hnd column. An even number is Lefty, an odd number is Righty. If you are planning on editing the roster, you can use 0 and 1 for values. The value itself was used in 93 for fighting, but the even/uneven is handedness.

Thanks that clears it up for me. Bit of a newbie at this. Sounds good. :)

Link to comment
Share on other sites

  • 1 year later...
48 minutes ago, Stefan said:

Did you ever include this?? 

No. I was actually working on a huge update for this, then I got busy. I'll get back to it in a few weeks.

I can add the overall calculation and update the current one in a day or so.

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Who's Online   0 Members, 0 Anonymous, 75 Guests (See full list)

    • There are no registered users currently online
×
×
  • Create New...