Jump to content
NHL'94 Forums

[SNES] NHL '94 Editor "Alpha"


Xstioph

Recommended Posts

previewug4.png

Just did a simple editor today for SNES NHL '94 so you'll be able to change the default menu settings by ease...

Made this to see if I could do it. I'll look into it more the next days and see what more I can do.

I know a lot that can be done, but I'm not sure if I'll be able to, heh.. What I mainly wanna be able to pull of is to change player ratings, and some other stuff to complement the current NHL '94 editor out there... I know I can't do some of the things in it, but it's missing some basic stuff which I hope I can fix.

Backup your rom before use, as I haven't really tested it out much...

NHL94Editor.zip

Link to comment
Share on other sites

Nice stuff, was that done in visual basic?

Nope. Delphi.

And whilie posting, haven't made any real progress, haven't been able to work much on it... It's the deal with dynamic variables that has me totally out there, heh. I have to gather some 300 variables or something, which are different from team to team, and different depending on if player names have been altered. I bet there's a much simpler way of solving it than what I'm doing (well, trying to do anyway)...

Link to comment
Share on other sites

Nope. Delphi.

personal edition 6, 7 or 2005? just curious...

re: iterating thru team players (vs dynamic variables), you should do this with a loop... by that I mean start at a team's first player, read the name length... you know the amount of attribute bytes (constant of all players)

The name length + attribute bytes length gets you to the next player.... if its like the Genesis rom, you know you are at the end of the team when the next player byte name length is 2 (effectively 0).

Link to comment
Share on other sites

personal edition 6, 7 or 2005? just curious...

Delphi 7 Second Edition.. Are you familiar with Delphi or is it what you use (for NOSE)?

re: iterating thru team players (vs dynamic variables), you should do this with a loop... by that I mean start at a team's first player, read the name length... you know the amount of attribute bytes (constant of all players)

Yeah, then I'm on the right track... That's pretty much what I've been doing, atleast trying to do.

The name length + attribute bytes length gets you to the next player.... if its like the Genesis rom, you know you are at the end of the team when the next player byte name length is 2 (effectively 0).

Thanks! That's great, it looks to be the same with SNES.. I haven't found a way to tell how many goalies there are, I recall there is in GENS (two bytes, 0001 = one goalie and 0011 = two goalies, or something.. Doesn't seem to be anything like that, in either "Endian"). It would be cooler to make it right, in being able to change amount of goalies and leting the functions be fully dynamic, but it'll do with the default amount.

Once again, thanks wboy!

Link to comment
Share on other sites

This is great stuff.

Growing up, playing NHL94 on SNES amounted to blasphemy for me and my friends. :D

However, since getting a GP2X and giving '94 a chance on SNES, I must admit (it hurts) that IMHO it is better. I find myself playing the SNES version now on the GP2X instead of SEGA. So it's good to see this progress.

Thanks very much!

Link to comment
Share on other sites

Delphi 7 Second Edition.. Are you familiar with Delphi or is it what you use (for NOSE)?

Did some turbo pascal back in the dos days... but no real dephi experience at all. Recently stumbled across a few open source developments that use Delphi 6 PE. So I was mildly curious to look into it purely for the fact it can create an EXE with no DLL dependencies etc.

NOSE was done in Visual Basic 6. Mainly cause I could find many good examples with similar features I wanted at http://pscode.com that helped me slowly slap it together. There is a Delphi section there too. Best you check it out.. may come in handy.

Thanks! That's great, it looks to be the same with SNES.. I haven't found a way to tell how many goalies there are, I recall there is in GENS (two bytes, 0001 = one goalie and 0011 = two goalies, or something.. Doesn't seem to be anything like that, in either "Endian"). It would be cooler to make it right, in being able to change amount of goalies and leting the functions be fully dynamic, but it'll do with the default amount.

Did a quick bit of research for you tonight... structure seems similar to Genesis (as expected), but the header offsets to team data within each team are in Big Endian. Please note some of my notes/guesses may be wrong.... as I've never got into the SNES version to know any better (or care for that matter).

Search for Hex 55000E00 to find the start header for all teams.

Using LA at 0x000E3FB2 as an example (5500 0E00 7002 1D00 0E00 1300 1500):

5500 - 0x000E3FB2 + 5500 (85 bytes big endian relative offset) = 0x00E4007 (1st Goalie Player Name Byte length of 0E00 - 14 bytes until Jersey No).

0E00 - 0x000E3FB2 + 0E00 = Pallete?

7002 - 0x000E3FB2 + 7002 (624) = 0x000E4222 - 0D00 start of Team name length bytes

1D00 - 0x000E3FB2 + 1D00 (29) = best line - line changes off????????????

0E00 - 0x000E3FB2 + 0E00 = Pallete? Same as above???

1300 - 0x000E2857 + 1300 (19) = 0x000E286A. Bytes CBC0 - Amount of Goalies working from L to R... value > 0 = Goalie. Most likely acts as rating value of some sort too! As per the Genesis roms. Tested it within the SNES rom and worked as excepted... e.g. C000 only gave LA one goalie.

1500 - 0x000E2857 + 1500 = (21) = First line - line changes on??????

That should keep you busy.

Link to comment
Share on other sites

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, 31 Guests (See full list)

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