Sign in to follow this  
chaos

TOOL: SNES '94 Roster Tool

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.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:

  1. Sometimes, the last player on the team would be missing from the output. This has been fixed.
  2. 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:

  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.5 Setup.zip

Share this post


Link to post
Share on other sites

what is it for? seems like it requires a lot. what would you do with it?

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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).

Share this post


Link to post
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

Share this post


Link to post
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)

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Updated. Importing function added in Version 0.5

  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

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.

Any luck?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Any luck?

Sorry bud, I forgot about this. I'll add it and update the program sometime this week.

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this