Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unknown Data Structure: '10' #100

Closed
dsjoerg opened this issue Feb 22, 2013 · 6 comments
Closed

Unknown Data Structure: '10' #100

dsjoerg opened this issue Feb 22, 2013 · 6 comments

Comments

@dsjoerg
Copy link
Collaborator

dsjoerg commented Feb 22, 2013

In ggtracker@2fd482b

I committed a new test that is failing on a replay.
SC2Gears can't read it either. And most curiously, I can't open the replays in SC2 itself, neither my WoL nor HotS can open them. I asked the submitter about this and he said "it could be something to do with the fact that I'm using sc2switcher.exe; they seem to open fine in the client but I thought I'd let you know that those who use switcher client might experience problems with ggtracker."

I have seven more replays like that if you need them.
The submitter also said "I do believe I used to WoL and if I remember correctly the version number was something along the lines of 2.0.4.0663.... I will however check when I get home! ^^ NA region would be my region."

@GraylinKim
Copy link
Owner

Does anyone know what he means by "I'm using sc2switcher.exe"?

Also, mpyq can't extract the files to disk for me to look at. Maybe @arkx has an idea what the root issue here is:

(env)graylinkim@graylin-ubuntu:~/projects/sc2reader$ mpyq -x test_replays/2.0.4.24944/Akilon\ Flats.SC2Replay 
Traceback (most recent call last):
  File "/home/graylinkim/projects/sc2reader/env/bin/mpyq", line 8, in <module>
    load_entry_point('mpyq==0.2.0', 'console_scripts', 'mpyq')()
  File "/home/graylinkim/projects/mpyq/mpyq.py", line 392, in main
    archive = MPQArchive(args.file)
  File "/home/graylinkim/projects/mpyq/mpyq.py", line 99, in __init__
    self.hash_table = self.read_table('hash')
  File "/home/graylinkim/projects/mpyq/mpyq.py", line 170, in read_table
    return [unpack_entry(i) for i in range(table_entries)]
  File "/home/graylinkim/projects/mpyq/mpyq.py", line 168, in unpack_entry
    struct.unpack(entry_class.struct_format, entry_data))
struct.error: unpack requires a string argument of length 16

I guess I'm not going to dig very deep into this until someone tells me that sc2switcher.exe is legitimate and that what ever it is doing to replays should be supported.

@dsjoerg
Copy link
Collaborator Author

dsjoerg commented Feb 22, 2013

sc2switcher.exe is a program from Blizzard that is part of SC2. On Windoze it's in the Support folder, and you can run it directly. I won't pretend to understand exactly what role it plays, but it seems like it might skip part of the auto-patching process that happens when you launch SC2 the regular way.

@GraylinKim
Copy link
Owner

I'm moving this issue over to the mpyq issue tracker where it is more appropriate. From what I've seen the MPQ file seems corrupt. Maybe @arkx knows something I don't though.

@eagleflo
Copy link

eagleflo commented Mar 1, 2013

I gave a detailed answer in the above mpyq issue, but in short the replay file provided had a misaligned header. In general, if you can't open the replay files with your SC2 client, it's corruption.

@GraylinKim
Copy link
Owner

Putting this issue on hold until eagleflo/mpyq#20 is closed.

@GraylinKim
Copy link
Owner

Actually, re-reading eagleflo/mpyq#19 again we should just close this entirely and open up a new issue if we find a valid MPQ3 format file in the future.

GraylinKim added a commit that referenced this issue Mar 15, 2013
StoicLoofah referenced this issue in StoicLoofah/sc2reader Oct 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants