Jump to content
NHL'94 Forums

Extracting Stats


Recommended Posts

ok well i hoped something was already made so i wouldnt have to do it, but i'll see what i can do. i've found some of the offsets, so its just a matter of spending the time to find everything. if anybody wants to help find offsets, we could come up with a tool for stat extraction, which would make online databasing of scores and stats easy to do.

Link to comment
Share on other sites

Hmm... I'd be interested in this tool, though how in depth could we get with the stats? I am a busy person but could help out with offsets. What is the process here? Could we extract the game/player/scoring summary/penalty summary/etc stats from a completed game and bring them into a database?

If so, this would be extremely helpful for my friends and I as well.

-Evan

Link to comment
Share on other sites

Hmm... I'd be interested in this tool, though how in depth could we get with the stats? I am a busy person but could help out with offsets. What is the process here? Could we extract the game/player/scoring summary/penalty summary/etc stats from a completed game and bring them into a database?

If so, this would be extremely helpful for my friends and I as well.

-Evan

the idea would be either to make a small program that would extract all the relevant data from the game and put it into a text file, which anyone with the proper knowledge could use to insert into a database or do whatever else they wanted to do with it, or to code a webpage which would do the same thing--extract the data, but also insert the data into an online database at the same time, skipping the text file step.

i have already found the offsets for individual player's goals and shots on goal, as well as the goalie saves and shots.

the way i find the offsets is by opening the state file, which i take at the scoreboard screen in gens after the 3 stars are shown, using a hex editor. then i search for a certain value that appears in any of the game or player stats in gens and change the same values in the hex editor(using find and replace) to something else. after changing the values in the hex editor, i save the state file in the hex editor, then reload the state file in gens and see if the stat i was hoping to change is different. its not too time consuming if you change about half the matching values in the state file at a time to narrow down your search. then you just keep changing and saving until you narrow it down and find the exact offset.

the offsets for away team player shots on goal start at 61332 (decimal) and run consecutively. the goalie shots faced come right before that at 61330, and the goals allowed are at 61278 i believe.

home team goalie shots faced starts at 60462, and the players' shots should be right after that.

thats all i had time for. i could write the program after we find all the offsets, and i also have a lot of online database experience with similar things.

as far as the stats, you could get as in depth as you wanted. once you get the raw stats from the game you can do just about anything you can think of with them--from automated user stats/records to individual and team player stat pages. you could also automate standings for a league, etc etc

Link to comment
Share on other sites

Yes, this is something I didn't really know about but could be amazing. I never thought about what the save state's could do. I have a fantasy 94 league with fake players, teams, etc... and typically I would log the game stats at the end of the game.

With the ability to grab these values and use them is huge for the reasons you've mentioned. I would use the data to be imported into a database, most likely on a website. The beauty would be that other players could log games and upload stats as well.

All of the game stats, player stats, goalie stats, period stats, scoring summary, and penalty summary information would have to be utilized for this to be 100% useful. I will definitely help out with this because I feel it's use is that important.

As far as a program for this, could you explain or show examples of apps you've written similar to this?

Talk to you soon,

-Evan

Link to comment
Share on other sites

It seems you can't do a "save state" during netplay. This is a problem. Is there a workaround for this?

Link to comment
Share on other sites

i dont have any experience with gens netplay, but i'm sure there is some way to capture the state, perhaps after you disconnect? i will have to play around with it when i get a chance.

as far as similar apps, i've been using a program for tecmo super bowl to rip stats from nesticle saved states and import directly to online databases using asp for the past 4 years. send me a message and i can give you some links.

you should be able to get any and all of the stat info you want out of the state file once we figure out how to get the state from a netplay game

Link to comment
Share on other sites

heres are the latest offsets i've found:

60230-1 team1 shots

60236-7 team1 penalties

60238-9 team1 penalty minutes

60240-1 team1 attack zone time (in seconds)

60242-3 team1 score

60244-5 team1 faceoffs won

60246-7 team1 body checks

60248-9 team1 total passes

60250-1 team1 successful passes

61064-5 team1 1st period goals

61066-7 team1 2nd period goals

61068-9 team1 3rd period goals

61070-1 team1 ot period goals

61072-3 team1 1st period shots

61074-5 team1 2nd period shots

61076-7 team1 3rd period shots

61078-9 team1 OT period shots

61086-7 team1 breakaways

61088-9 team1 breakaway goals

61090-1 team1 onetimers

61092-3 team1 onetimer goals

61094-5 team1 penalty shots

61096-7 team1 penalty shot goals

Link to comment
Share on other sites

I've tried to save a "save state" file during netplay, but I get an error saying you can't save during netplay. It would probably require someone with programming experience to check out the GensPlus emulator, see how it's built and how the program handles netplay.

Link to comment
Share on other sites

i dont have a way to try it currently, but i was wondering what happens when the game disconnects. does the game disappear or can you try to save the state after you are no longer connected and the game is over? i'm also not sure about the filming of games in gens, but i know in nesticle you can save the state while playing back the movie.

i have all the offsets except the scoring summary and penalty summary, and i'm not sure if i want to spend the time looking for them if there is no use for it.

thanks

Link to comment
Share on other sites

I've tried to save a "save state" file during netplay, but I get an error saying you can't save during netplay. It would probably require someone with programming experience to check out the GensPlus emulator, see how it's built and how the program handles netplay.

I theorize that Kaillera locks down a lot of an emulator's options while it's active. For example, you can't just start a game while Kaillera is open, and you can't set joystick controls while Kaillera's up. I suspect that the same mechanism is prevent save states while Kaillera is running.

Link to comment
Share on other sites

With Gens32 version 1.62 ( http://gens32.emubase.de/ ) you can easily "make an alpha" during a netplay. it creates a file called romname.alf , and saves it into the same directory with the rom. When you re-open the rom (online of offline) the rom starts from exactly the same position you created your alpha file.

So in netplay you can make the alpha file and when you open the rom offline the next time it opens it from that position, and because you are offline you can save the state pushing F5.. voila.

With Gens32 v1.62 you can also easily record games to .gym format files, and unlike some other gens versions with recording option, Gens32 recording works online, and rarely desyncs.

Link to comment
Share on other sites

swos,

This is excellent. I did exactly what you said, so now we have the save state files from netplay games using Gens32 v1.62. Do the save state files have to be any specific file extension or does it not matter? Like the .gs0 file?

So, attached is a link for the Gens32 emu v1.62. I noticed there are alot of versions of this emulator and lots of them seem to be full of bugs. This one seems to work great.

Download Here - Gens32 v1.62

dmitry,

Now that we have the ability to save netplay games, where do we stand with figuring out where all the stat values are? I've also attached a sample save state file that was created after a netplay game. You can bring this into a hex editor to make sure it seems ok.

Download Here - Rom the Save State file came from

Download Here - Random Netplay Save State

-Evan

Link to comment
Share on other sites

great, i figured there had to be a way to get the state file

like i said before i have found every stat in the game except the scoring summary and penalty summary, which i haven't looked for yet. i will test the state file this morning.

Link to comment
Share on other sites

I have more offests in case you haven't found them yet. This takes care of all the game stats and period stats for both teams. I haven't been able to find all of the player stats and scoring summary yet... though I'm sure we'll get there.

There seems to be a 2nd set of some game stats as shown in the link below.

gens32-savestate.htm

-Evan

Link to comment
Share on other sites

I quess you have found these stats already, but maybe you haven't:

player stats

home team:

0000EBFA: xx : # of goals scored for the 1st player in the team roster (if player)

: xx : # of goals conceded for the 1st player in the team roster (if/when goalie)

0000EBFB: xx : # of goals scored for the 2nd player in the team roster (if player)

: xx : # of goals conceded for the 2nd player in the team roster (if/when goalie)

0000EBFC: xx : # of goals scored for the 3rd player in the team roster (if player)

: xx : # of goals conceded for the 3rd player in the team roster (if/when goalie)

0000EBFD: xx : # of goals scored for the 4th player in the team roster

0000EBFE: xx : # of goals scored for the 5th player in the team roster

0000EBFF: xx : # of goals scored for the 6th player in the team roster

0000EC00: xx : # of goals scored for the 7th player in the team roster

0000EC01: xx : # of goals scored for the 8th player in the team roster

0000EC02: xx : # of goals scored for the 9th player in the team roster

0000EC03: xx : # of goals scored for the 10th player in the team roster

0000EC04: xx : # of goals scored for the 11th player in the team roster

0000EC05: xx : # of goals scored for the 12th player in the team roster

0000EC06: xx : # of goals scored for the 13th player in the team roster

0000EC07: xx : # of goals scored for the 14th player in the team roster

0000EC08: xx : # of goals scored for the 15th player in the team roster

0000EC09: xx : # of goals scored for the 16th player in the team roster

0000EC0A: xx : # of goals scored for the 17th player in the team roster

0000EC0B: xx : # of goals scored for the 18th player in the team roster

0000EC0C: xx : # of goals scored for the 19th player in the team roster

0000EC0D: xx : # of goals scored for the 20th player in the team roster

0000EC0E: xx : # of goals scored for the 21st player in the team roster

0000EC0F: xx : # of goals scored for the 22nd player in the team roster

0000EC10: xx : # of goals scored for the 23rd player in the team roster

0000EC11: xx : # of goals scored for the 24th player in the team roster

0000EC12: xx : # of goals scored for the 25th player in the team roster

0000EC14: xx : # of assists for the 1st player in the team roster (goalies too)

0000EC15: xx : # of assists for the 2nd player in the team roster (goalies too)

0000EC16: xx : # of assists for the 3rd player in the team roster (goalies too)

0000EC17: xx : # of assists for the 4th player in the team roster

0000EC18: xx : # of assists for the 5th player in the team roster

0000EC19: xx : # of assists for the 6th player in the team roster

0000EC1A: xx : # of assists for the 7th player in the team roster

0000EC1B: xx : # of assists for the 8th player in the team roster

0000EC1C: xx : # of assists for the 9th player in the team roster

0000EC1D: xx : # of assists for the 10th player in the team roster

0000EC1E: xx : # of assists for the 11th player in the team roster

0000EC1F: xx : # of assists for the 12th player in the team roster

0000EC20: xx : # of assists for the 13th player in the team roster

0000EC21: xx : # of assists for the 14th player in the team roster

0000EC22: xx : # of assists for the 15th player in the team roster

0000EC23: xx : # of assists for the 16th player in the team roster

0000EC24: xx : # of assists for the 17th player in the team roster

0000EC25: xx : # of assists for the 18th player in the team roster

0000EC26: xx : # of assists for the 19th player in the team roster

0000EC27: xx : # of assists for the 20th player in the team roster

0000EC28: xx : # of assists for the 21st player in the team roster

0000EC29: xx : # of assists for the 22nd player in the team roster

0000EC2A: xx : # of assists for the 23rd player in the team roster

0000EC2B: xx : # of assists for the 24th player in the team roster

0000EC2C: xx : # of assists for the 25th player in the team roster

0000EC2E: xx : # of shots on goal for the 1st player in the team roster (if player)

: xx : # of shots against for the 1st player in the team roster (if/when goalie)

0000EC2F: xx : # of shots on goal for the 2nd player in the team roster (if player)

: xx : # of shots against for the 2nd player in the team roster (if/when goalie)

0000EC30: xx : # of shots on goal for the 3rd player in the team roster (if player)

: xx : # of shots against for the 3rd player in the team roster (if/when goalie)

0000EC31: xx : # of shots on goal for the 4th player in the team roster

0000EC32: xx : # of shots on goal for the 5th player in the team roster

0000EC33: xx : # of shots on goal for the 6th player in the team roster

0000EC34: xx : # of shots on goal for the 7th player in the team roster

0000EC35: xx : # of shots on goal for the 8th player in the team roster

0000EC36: xx : # of shots on goal for the 9th player in the team roster

0000EC37: xx : # of shots on goal for the 10th player in the team roster

0000EC38: xx : # of shots on goal for the 11th player in the team roster

0000EC39: xx : # of shots on goal for the 12th player in the team roster

0000EC3A: xx : # of shots on goal for the 13th player in the team roster

0000EC3B: xx : # of shots on goal for the 14th player in the team roster

0000EC3C: xx : # of shots on goal for the 15th player in the team roster

0000EC3D: xx : # of shots on goal for the 16th player in the team roster

0000EC3E: xx : # of shots on goal for the 17th player in the team roster

0000EC3F: xx : # of shots on goal for the 18th player in the team roster

0000EC40: xx : # of shots on goal for the 19th player in the team roster

0000EC41: xx : # of shots on goal for the 20th player in the team roster

0000EC42: xx : # of shots on goal for the 21th player in the team roster

0000EC43: xx : # of shots on goal for the 22th player in the team roster

0000EC44: xx : # of shots on goal for the 23th player in the team roster

0000EC45: xx : # of shots on goal for the 24th player in the team roster

0000EC46: xx : # of shots on goal for the 25th player in the team roster

0000EC48: xx : # of penalty minutes for the 1st player in the team roster (goalie cannot get penalty)

0000EC49: xx : # of penalty minutes for the 2nd player in the team roster (goalie cannot get penalty)

0000EC4A: xx : # of penalty minutes for the 3rd player in the team roster (goalie cannot get penalty)

0000EC4B: xx : # of penalty minutes for the 4th player in the team roster

0000EC4C: xx : # of penalty minutes for the 5th player in the team roster

0000EC4D: xx : # of penalty minutes for the 6th player in the team roster

0000EC4E: xx : # of penalty minutes for the 7th player in the team roster

0000EC4F: xx : # of penalty minutes for the 8th player in the team roster

0000EC50: xx : # of penalty minutes for the 9th player in the team roster

0000EC51: xx : # of penalty minutes for the 10th player in the team roster

0000EC52: xx : # of penalty minutes for the 11th player in the team roster

0000EC53: xx : # of penalty minutes for the 12th player in the team roster

0000EC54: xx : # of penalty minutes for the 13th player in the team roster

0000EC55: xx : # of penalty minutes for the 14th player in the team roster

0000EC56: xx : # of penalty minutes for the 15th player in the team roster

0000EC57: xx : # of penalty minutes for the 16th player in the team roster

0000EC58: xx : # of penalty minutes for the 17th player in the team roster

0000EC59: xx : # of penalty minutes for the 18th player in the team roster

0000EC5A: xx : # of penalty minutes for the 19th player in the team roster

0000EC5B: xx : # of penalty minutes for the 20th player in the team roster

0000EC5C: xx : # of penalty minutes for the 21th player in the team roster

0000EC5D: xx : # of penalty minutes for the 22th player in the team roster

0000EC5E: xx : # of penalty minutes for the 23th player in the team roster

0000EC5F: xx : # of penalty minutes for the 24th player in the team roster

0000EC60: xx : # of penalty minutes for the 25th player in the team roster

away team:

0000EF5E: xx : # of goals scored for the 1st player in the team roster (if player)

: xx : # of goals conceded for the 1st player in the team roster (if/when goalie)

0000EF5F: xx : # of goals scored for the 2nd player in the team roster (if player)

: xx : # of goals conceded for the 2nd player in the team roster (if/when goalie)

0000EF60: xx : # of goals scored for the 3rd player in the team roster (if player)

: xx : # of goals conceded for the 3rd player in the team roster (if/when goalie)

0000EF61: xx : # of goals scored for the 4th player in the team roster

0000EF62: xx : # of goals scored for the 5th player in the team roster

0000EF63: xx : # of goals scored for the 6th player in the team roster

0000EF64: xx : # of goals scored for the 7th player in the team roster

0000EF65: xx : # of goals scored for the 8th player in the team roster

0000EF66: xx : # of goals scored for the 9th player in the team roster

0000EF67: xx : # of goals scored for the 10th player in the team roster

0000EF68: xx : # of goals scored for the 11th player in the team roster

0000EF69: xx : # of goals scored for the 12th player in the team roster

0000EF6A: xx : # of goals scored for the 13th player in the team roster

0000EF6B: xx : # of goals scored for the 14th player in the team roster

0000EF6C: xx : # of goals scored for the 15th player in the team roster

0000EF6D: xx : # of goals scored for the 16th player in the team roster

0000EF6E: xx : # of goals scored for the 17th player in the team roster

0000EF6F: xx : # of goals scored for the 18th player in the team roster

0000EF70: xx : # of goals scored for the 19th player in the team roster

0000EF71: xx : # of goals scored for the 20th player in the team roster

0000EF72: xx : # of goals scored for the 21st player in the team roster

0000EF73: xx : # of goals scored for the 22nd player in the team roster

0000EF74: xx : # of goals scored for the 23rd player in the team roster

0000EF75: xx : # of goals scored for the 24th player in the team roster

0000EF76: xx : # of goals scored for the 25th player in the team roster

0000EF78: xx : # of assists for the 1st player in the team roster (goalies too)

0000EF79: xx : # of assists for the 2nd player in the team roster (goalies too)

0000EF7A: xx : # of assists for the 3rd player in the team roster (goalies too)

0000EF7B: xx : # of assists for the 4th player in the team roster

0000EF7C: xx : # of assists for the 5th player in the team roster

0000EF7D: xx : # of assists for the 6th player in the team roster

0000EF7E: xx : # of assists for the 7th player in the team roster

0000EF7F: xx : # of assists for the 8th player in the team roster

0000EF80: xx : # of assists for the 9th player in the team roster

0000EF81: xx : # of assists for the 10th player in the team roster

0000EF82: xx : # of assists for the 11th player in the team roster

0000EF83: xx : # of assists for the 12th player in the team roster

0000EF84: xx : # of assists for the 13th player in the team roster

0000EF85: xx : # of assists for the 14th player in the team roster

0000EF86: xx : # of assists for the 15th player in the team roster

0000EF87: xx : # of assists for the 16th player in the team roster

0000EF88: xx : # of assists for the 17th player in the team roster

0000EF89: xx : # of assists for the 18th player in the team roster

0000EF8A: xx : # of assists for the 19th player in the team roster

0000EF8B: xx : # of assists for the 20th player in the team roster

0000EF8C: xx : # of assists for the 21st player in the team roster

0000EF8D: xx : # of assists for the 22nd player in the team roster

0000EF8E: xx : # of assists for the 23rd player in the team roster

0000EF8F: xx : # of assists for the 24th player in the team roster

0000EF90: xx : # of assists for the 25th player in the team roster

0000EF92: xx : # of shots on goal for the 1st player in the team roster (if player)

: xx : # of shots against for the 1st player in the team roster (if/when goalie)

0000EF93: xx : # of shots on goal for the 2nd player in the team roster (if player)

: xx : # of shots against for the 2nd player in the team roster (if/when goalie)

0000EF94: xx : # of shots on goal for the 3rd player in the team roster (if player)

: xx : # of shots against for the 3rd player in the team roster (if/when goalie)

0000EF95: xx : # of shots on goal for the 4th player in the team roster

0000EF96: xx : # of shots on goal for the 5th player in the team roster

0000EF97: xx : # of shots on goal for the 6th player in the team roster

0000EF98: xx : # of shots on goal for the 7th player in the team roster

0000EF99: xx : # of shots on goal for the 8th player in the team roster

0000EF9A: xx : # of shots on goal for the 9th player in the team roster

0000EF9B: xx : # of shots on goal for the 10th player in the team roster

0000EF9C: xx : # of shots on goal for the 11th player in the team roster

0000EF9D: xx : # of shots on goal for the 12th player in the team roster

0000EF9E: xx : # of shots on goal for the 13th player in the team roster

0000EF9F: xx : # of shots on goal for the 14th player in the team roster

0000EFA0: xx : # of shots on goal for the 15th player in the team roster

0000EFA1: xx : # of shots on goal for the 16th player in the team roster

0000EFA2: xx : # of shots on goal for the 17th player in the team roster

0000EFA3: xx : # of shots on goal for the 18th player in the team roster

0000EFA4: xx : # of shots on goal for the 19th player in the team roster

0000EFA5: xx : # of shots on goal for the 20th player in the team roster

0000EFA6: xx : # of shots on goal for the 21th player in the team roster

0000EFA7: xx : # of shots on goal for the 22th player in the team roster

0000EFA8: xx : # of shots on goal for the 23th player in the team roster

0000EFA9: xx : # of shots on goal for the 24th player in the team roster

0000EFAA: xx : # of shots on goal for the 25th player in the team roster

0000EFAC: xx : # of penalty minutes for the 1st player in the team roster (goalie cannot get penalty)

0000EFAD: xx : # of penalty minutes for the 2nd player in the team roster (goalie cannot get penalty)

0000EFAE: xx : # of penalty minutes for the 3rd player in the team roster (goalie cannot get penalty)

0000EFAF: xx : # of penalty minutes for the 4th player in the team roster

0000EFB0: xx : # of penalty minutes for the 5th player in the team roster

0000EFB1: xx : # of penalty minutes for the 6th player in the team roster

0000EFB2: xx : # of penalty minutes for the 7th player in the team roster

0000EFB3: xx : # of penalty minutes for the 8th player in the team roster

0000EFB4: xx : # of penalty minutes for the 9th player in the team roster

0000EFB5: xx : # of penalty minutes for the 10th player in the team roster

0000EFB6: xx : # of penalty minutes for the 11th player in the team roster

0000EFB7: xx : # of penalty minutes for the 12th player in the team roster

0000EFB8: xx : # of penalty minutes for the 13th player in the team roster

0000EFB9: xx : # of penalty minutes for the 14th player in the team roster

0000EFBA: xx : # of penalty minutes for the 15th player in the team roster

0000EFBB: xx : # of penalty minutes for the 16th player in the team roster

0000EFBC: xx : # of penalty minutes for the 17th player in the team roster

0000EFBD: xx : # of penalty minutes for the 18th player in the team roster

0000EFBE: xx : # of penalty minutes for the 19th player in the team roster

0000EFBF: xx : # of penalty minutes for the 20th player in the team roster

0000EFC0: xx : # of penalty minutes for the 21th player in the team roster

0000EFC1: xx : # of penalty minutes for the 22th player in the team roster

0000EFC2: xx : # of penalty minutes for the 23th player in the team roster

0000EFC3: xx : # of penalty minutes for the 24th player in the team roster

0000EFC4: xx : # of penalty minutes for the 25th player in the team roster

Link to comment
Share on other sites

thanks i've got most of those but i think i wasnt quite sure about some of the goalie/player issues

i just figured out the penalty summary which leaves only the scoring summary, which should be similar

are we forgetting anything?

Link to comment
Share on other sites

while trying to figure out the penalty and scoring summaries these popped into the screen:

fighting1.gif

fighting2.gif

"Fighting (checked)" .. is NHL94 trying to tell us something? :)

anyway.. I hope you figure out the scoring summary too

I'm trying, but I cannot even figure the penalty summary out yet.

Link to comment
Share on other sites

Guys,

Excellent work thus far. We have all game stats, player stats, period stats, and penalty summary.. only leaving the scoring summary to remain. Hopefully this will include whether certain goals were PP goals, SH goals, etc.

Dmitry... how are you planning to take this information and extracting it? I'm just curious because you mentioned bringing it into a web-based database.. which is exactly what we'd want to do. Would you somehow have an app convert the hex values to decimal and add them into the appropiate parts/tables of the database? And what type of database would this be? Access?

Swos,

Have you ever gotten the penalty summary to show fighting majors before? That's interesting.. what penalty caused that?

-Evan

Link to comment
Share on other sites

fighting does show up as a penalty

i will try to explain the penalty summary for you

59989 gives you the number of bytes that make up the penalty summary, which then come consecutively after 59989

for example if 59989 shows a hex value of 24, then the next 36 bytes are the penalty summary. you can add penalties by increasing this number.

each penalty is described by 4 bytes, the first 2 will give you the period and time. this is off the top of my head from yesterday but it should be close:

0000 - 3fff will give you a first period penalty in seconds

4000 - 7fff will give a second period penalty in seconds

8000 - Bfff third period penalty

C000 - ffff overtime penalty

the 3rd byte gives the team and penalty

3rd byte starting with a 1 or 2 will be a home team penalty

3rd byte starting with a 9 or A will be an away team penalty

penalties:

12 is boarding against home team

16 is charging against home team

18 is slashing against home team

1A is roughing against home team

1C is cross check against home team

1E is hooking against home team

20 is tripping against home team

22 is interference against home team

24 is holding against home team

26 is fighting against home team

92 is boarding against away team

96 is charging against away team

98 is slashing against away team

9A is roughing against away team

9C is cross check against away team

9E is hooking against away team

A0 is tripping against away team

A2 is interference against away team

A4 is holding against away team

A6 is fighting against away team

4th byte is the player position

example

4015 9213 is boarding(92) against away team player in position 13 at 21 seconds into 2nd period(4015)

C240 A005 is tripping against away team player 5 at 9:36 in OT

this is clear as mud i'm sure.

Link to comment
Share on other sites

as far as extracting the data, to start i'm just writing a simple windows application in vb.net which will output all of the data into 2 comma delimited text files. one file for the team stats and another file for the playerstats. i'm basically done with the team data and just need to add the player data and the summaries now.

having text files will allow anyone to import the data into any database. i will be using it to import the data into an access database using asp. if you need some help with this aspect then i can help you.

eventually i plan on rewriting the application in asp.net or php so people can upload the files directly and skip the text file step.

Link to comment
Share on other sites

ok looks like i found scoring summary too. its just before the penalty summary.

each goal is described by 6 bytes from what i can tell.

59627 gives # of bytes, same as for penalties, then each goal follows consecutively with 6 bytes

-first 2 bytes give you the period and time, same as the penalties.

-3rd byte(team and pp/sh)--home team is 00 for sh2, 01 for sh, 02 for even, 03 for pp, 04 for pp2; or for away team is 80 for sh2, 81 for sh, 82 for even, 83 for pp, 84 for pp2

-4th byte is player position(roster slot) who scored the goal

-5th and 6th bytes are the player positions who scored assists, if any. FFFF if none

one other thing i can think of, is there a reference to the teams anywhere besides home and away? i havent found that yet

Link to comment
Share on other sites

just found out the team offsets:

0000E7A9: xx :order number of the home team

0000E7AB: xx :order number of the away team

I'm not 100% sure about the orders but I think they are the following:

00 = ANA

01 = BOS

02 = BUF

03 = CGY

04 = CHI

05 = DAL

06 = DET

07 = EDM

08 = FLA

09 = HFD/CAR

0A = LA

0B = MTL

0C = NJ

0D = NYI

0E = NYR

0F = OTT

10 = PHI

11 = PIT

12 = QUE/TOR

13 = SJ

14 = STL

15 = TB

16 = TOR/COL

17 = VAN

18 = WSH

19 = WIN/PHO

1A = ASE/CLB/NSH

1B = ASW/MIN/ATL

Link to comment
Share on other sites

just found out the team offsets:

0000E7A9: xx :order number of the home team

0000E7AB: xx :order number of the away team

I'm not 100% sure about the orders but I think they are the following:

00 = ANA

01 = BOS

02 = BUF

03 = CGY

04 = CHI

05 = DAL

06 = DET

07 = EDM

08 = FLA

09 = HFD/CAR

0A = LA

0B = MTL

0C = NJ

0D = NYI

0E = NYR

0F = OTT

10 = PHI

11 = PIT

12 = QUE/TOR

13 = SJ

14 = STL

15 = TB

16 = TOR/COL

17 = VAN

18 = WSH

19 = WIN/PHO

1A = ASE/CLB/NSH

1B = ASW/MIN/ATL

awesome i'll test them out, thanks.

Link to comment
Share on other sites

I'm not 100% sure about the orders but I think they are the following:

Well assuming its the same as the team hex reference order used by the rom's playoff data, then yes, that order should be correct. I'd be damned if its any different.

Link to comment
Share on other sites

it appears to be correct. i just have to write up a small readme file tomorrow (the 17th) then i'll send anyone a copy who wants to test it. right now i've got it spitting out 4 textfiles, one for the teamstats, one for playerstats, one for penalty summary, and one for the scoring summary. i'm looking for suggestions too.

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

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