Skip to content

Jonathan-Greve/GuildWarsMapBrowser

Repository files navigation

Guild Wars Map Browser

Browse the Guild Wars .dat file. Included features:

  • Search and filter the internal files in the dat.
  • Render all maps (including maps not accesible in-game).
  • Fly around and explore the maps in first person.
  • Export and import full maps and models to Blender.
  • View and export different model/mesh LODs (level of detail): High, Medium Low.
  • Compare and switch between multiple .dat files easily.
  • Give each file inside the .dat a custom name for easy reference. Or load the data provided by other users (shared through csv files).
  • Hex editor viewer of files.
  • Playback of audio files.
  • Extract 3D models, textures, rendered maps and more.
  • And more.

How to use

  • Download GuildWarsMapBrowser.exe from releases and run it.
  • To import into Blender see the guide in the release notes or check this reddit post

Preview

Here is an preview of Monastery Overlook as seen rendered in GuildWarsMapBrowser (with fog disabled): Monastery Overlook and pre-Searing Ascalon City (with fog enabled): Ascalon City And here is an example of rendering some models: A Golem Lich

And imported Pre-searing Ascalon City in Blender: Blender Ascalon City Blender Ascalon City Solid

Golem imported in Blender: Blender Golem

Viewing textures in Guild Wars Map Browser: Blender Golem

Audio playback and controls: Blender Golem

Export all maps to png or dds in any resolution (up to 16384x16384): image

Select props and get info about them, hide/show them or cleanup maps to your preference before extracting to dds or png: image Lakeside_extract_before_after_cleanup

Building

To build just clone the repository and open the .Sln in Visual Studio. Build in x86 mode (release or debug). Cannot build 64-bit.

Contributing

See CONTRIBUTING.MD

Credits:

Decompressing the .dat file uses the source code from:

  • GWDatBrowser
    • Specifically I use: AtexAsm.h/cpp, AtexReader.h/cpp, GWUnpacker.h/cpp, xentax.h/cpp
  • The Guild Wars community for being supportive, reporting bugs and showing interest in the project.