GraylinKim / sc2reader

A python library that extracts data from various Starcraft II resources to power tools and services for the SC2 community. Who doesn't want to hack on the games they play?
http://sc2reader.readthedocs.org
MIT License
413 stars 85 forks source link

Parse Player Data from custom maps. #69

Open dsjoerg opened 12 years ago

dsjoerg commented 12 years ago

low priority because it's a custom map, Marine Arena 1.0.0

Example: http://ggtracker.com/replays/205060/getreplay

Happened in 8 out of 145 replays, killing the parsing in those cases.

Six times it was this: ReadError: Event type 0x7 unknown at position 0x0., Type: 7 Once it was this: ReadError: Event type 0x7 unknown at position 0xe5., Type: 7 Once it was this: ReadError: Event type 0x2e unknown at position 0x235., Type: 46

sc2gears can't parse it either (http://ggtracker.com/replays/205060/getreplay)

GraylinKim commented 12 years ago

These seem to stem from bad file extraction on mpyq's part. Text like this doesn't belong in here I don't think:

.......X.........MarineArena..(.Stat
istics....Kills.....389403....Long..
...10046....MCKills.....161....RowWi
ns.....1..).TotalGames.....186..).He
roKilled.....167....CCKills.....121.
...Wins.....42....Short.....1036..).
MRowWins.....2..8.Achievements....Re
cent2.....40....Recent3.....22....Re
cent1.....15..).Achievement.........
....Value..01,08,10,13,14,15,19,20,2
2,31,38,40,47,50...>L4..1`@i..~X....

Or if it does belong in here, then it is recording the values extracted from the bnet player cache assigned to that map. That would be very interesting.

GraylinKim commented 12 years ago

Actually, it seems pretty likely that it is player profile information. I would guess that it is included because it is required to precisely regenerate the game. Hmm.

GraylinKim commented 11 years ago

We should revisit this now that we have s2protocol as a reference implementation.

GraylinKim commented 11 years ago

These replays parse now but we still need to figure out what format the actual player data is stored in. Hopefully it is just the normal structure format.