NOTE: This program is no longer under development (and hasn't been for quite a while), due to limited time and lack of interest. Reversing is what kept me interested and all the file formats have already been reversed (gw2formats contains most of them, albeit slightly outdated). Feel free to do what you want with the project, but due to what I've seen on the internet; please remember the GPL license.
Opens a Guild Wars 2 .dat file and allows the user to browse and extract its files. Currently it supports viewing power-of-two textures, models, and binary files.
When a .dat file is opened, it will first index the file. This makes it a lot faster to re-open the same .dat. Unfortunately, every time the .dat changes it will have to be re-indexed (for now).
Keep in mind that if you keep tree items expanded while the indexer is running, or while an index is being read, the process is a lot slower.
The latest Win32 binary can always be found at http://skold.cc/gw2browser/
It can be started with:
Gw2Browser <input dat>
<input dat> is given, the program will open the file as soon as it starts.
Model rendering is very experimental. Viewing one may crash the browser, or it may not. It might also use the wrong texture, or it might not. It entirely depends on what model you view, as some models don't have any references to textures (mostly equipment models). Some models also use the second UV channel for rendering while the shader in the browser only uses the first. Loading any model is also far from optimized!
Non-power-of-two dimensions on non-DDS textures are unsupported at the moment. Decompressing one produces garbage blocks, so viewing them is disabled until the reason has been determined.
Garbage code architecture! Hey, what can I say. I'm a game developer, not application architecture designer. Plus I'm learning wxWidgets as I go along. I am working on refactoring chunks of it however, most notably reducing the god objects and moving privates out of the header files.
Libraries and restrictions
The application is written specifically for MSVC10+, as it links with DirectX9 and gw2DatTools. It also uses some C++11 features available in said compiler, since gw2DatTools won't compile without those features anyway.
Keep in mind gw2DatTools is still under development and some modifications may be necessary to compile.
If you do not want to use Visual Leak Detector, remove the include for vld.h in Gw2Browser.cpp.
- Rhoot: Main author.
Also contains some code by:
- Xtridence: AtexAsm
- David Dantowitz: Simple CRC
For contributions, please go to this project's page on GitHub.