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

How does this work? #109

Closed
Wotuu opened this issue Aug 13, 2018 · 18 comments
Closed

How does this work? #109

Wotuu opened this issue Aug 13, 2018 · 18 comments

Comments

@Wotuu
Copy link

Wotuu commented Aug 13, 2018

Hi,

I'm looking for an updated listfile which contains BfA assets, I tried running some scripts in this repo, but even reading them gives me no clue what I'm supposed to do with it to get the updated listfile. Can anyone point me in the right direction? I want to extract some BfA assets which are clearly in-game but I cannot find them whatsoever.

Thank you in advance.

@Marlamin
Copy link
Collaborator

Go here, right click "Download" and save it where you want to.

@Wotuu
Copy link
Author

Wotuu commented Aug 14, 2018

Hi Marlamin, perhaps I wasn't clear enough, but I know what to do with the listfile. It's just that it's not updated. I did some searching around the net but keep coming back here so there must be something, someone updating the listfile to contain assets from a new expansion. The listfile you linked does not have the assets I'm looking for unless they're named differently from previous expansions. To be more precises, I'm looking for dungeon floor .blp tiles used in the in-game map. I tried adding a dungeon manually to the listfile but that didn't work.

So again, I'm wondering how the listfile gets created in the first place, and how I could perhaps update it so I can extract the assets. I thought I could generate the listfile with this project but I haven't managed that since the .sh files are a bit of a mystery to me (I only have basic bash knowledge).

Thank you once again.

@bloerwald
Copy link
Collaborator

People make more or less educated guesses, check if the guess is a file that exists, and if yes, push it to the repository.

You can guess just as wel, especially if you are sure that a file should be called some specific way but there is no such file.

The check_files scripts can be used to easily verify if a guess is correct.

@Marlamin
Copy link
Collaborator

@Wotuu My bad, that's what I get for looking at issues that late. I probably shouldn't do that. :D

@Wotuu
Copy link
Author

Wotuu commented Aug 14, 2018

I'm trying to just the check_files.sh file, but what exactly do I supply it?

./marlamin-check_files.sh interface/worldmap/ataldazar/ataldazar1.blp

gives me File not Found. I see it does a curl request to your server to check if it's okay, but it shouldn't read what I'm trying to pass, it's an entry that I'm trying to check. If that's wrong, what do I pass to it? There's no single source for WoW's data, it's a split archive.

I'm just confused about this all, I mean why is a listfile even necessary? Why is a file necessary to look up some indices in another file? Can't you just gather the indices from the file itself and not need the listfile? When I have time I'll take a look at the tool that opens the WoW data files but for now I don't have that luxury. It just seems a bit strange to me.

@bloerwald
Copy link
Collaborator

Checkfiles takes a file with one filename per line. Checkfiles-pipe takes one filename per line on stdin.

The listfile isn’t needed, you can open files by id or content hash as well. Alternatively you can use a filename hash, for which you either need the hash, which is a pretty shit thing to remember, or the unhashed filename. The listfile is for exactly those unhashed filenames.

@Wotuu
Copy link
Author

Wotuu commented Aug 14, 2018

Thank you for the reply. I found your website at https://bnet.marlam.in/ from the .sh files, I tried some of what I thought should be valid filenames, but they all end up with invalid result. What are my options here now? I can't keep guessing for all dungeons in hopes I get one correct. Is it really just guessing at this point? Because that'd put a serious halt on my operations. I'd have to resort to screenshots which I really don't want.

How does your website see if, say, /interface/worldmap/ataldazar/ataldazar1.blp is correct or not? If it knows it's correct, it shouldn't need me to tell it right? Sorry that I'm asking so much questions, just trying to wrap my head around this mystery. Is the lookup the hashed string of what you're supplying in the page?

@Marlamin
Copy link
Collaborator

Marlamin commented Aug 14, 2018

The site checks based on filename hashes supplied by Blizzard. If the filename hash matches, it adds it to the listfile (and will appear in this repo next sync, or if you don't want to wait you can download the listfile from the site too). World map files should all have filenames though as Blizzard supplies filenames for these (for now). Try searching around a bit here (enter ^interface/worldmap in search for example for all world map files).

@bloerwald
Copy link
Collaborator

Did you verify it working with a known filename?

There is a lot of guessing and a lot of educated guessing based on known filenames, common patterns, dbc contents, lore, wordlists, contents of other files like texture blob having filenames of blobbed textures or adts referencing tilesets and objects by name. How much pure guessing it is depends on what exactly you want to name.

The site or any casc tool sees if the name is valid by checking if there is a „root file“ entry with the corresponding filename hash.

It doesn’t need you to verify known filenames, it just needs a guessed filename for those unnamed files that are left, unless you just know their id and can retrieve the file that way.

Yes, the lookup column is the hash of the filename next to it. You can see how unnamed rows still have an id and lookup and a preview if signed in since everything is known, except for the filename.

@Wotuu
Copy link
Author

Wotuu commented Aug 14, 2018

I found all the dungeon maps of the new expansion, cheers all! The ones that I was looking for had completely different names (Atal'Dazar -> cityofgold), there were a bunch that weren't as hidden but I just didn't bother to look since the 2-3 I tried had different names than I was suspecting. Glad to see I got the map files now, my work can continue.

@bloerwald
Copy link
Collaborator

You may want to share the new filenames you found, @Wotuu. Thanks.

@Wotuu
Copy link
Author

Wotuu commented Aug 14, 2018 via email

@Marlamin
Copy link
Collaborator

What are you doing if I might ask?

@Wotuu
Copy link
Author

Wotuu commented Aug 15, 2018 via email

@Marlamin
Copy link
Collaborator

Marlamin commented Aug 15, 2018

Cool! You should probably use the world map related DBCs though instead of relying on filenames to make sure you're set for the future and don't have to rely on listfiles. I have a mostly working implementation (minus phased maps) here.

@Wotuu
Copy link
Author

Wotuu commented Aug 15, 2018 via email

@Marlamin
Copy link
Collaborator

Marlamin commented Aug 15, 2018 via email

@Wotuu
Copy link
Author

Wotuu commented Oct 22, 2018

Just a small update, I managed to get everything up and running, you can view the project on https://keystone.guru/. Thanks again for the help!

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