Dolphin, the GameCube and Wii emulator - Forums

Full Version: Extracting Wind Waker maps
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

BadFellas

Hi,
for a while now I've been wanting to create a map for Wind Waker. So I want to copy the in-game maps and paste them together to form one big map. This is just for personal use, I do not intend to sell these maps or make my own game of it or anything.
At first I wanted to do this by deciphering the files used for the maps. Using various tools made by community members I could extract the file \res\Fmap.arc which contains a folder "fm" with 49 files in it. The Zelda sea map is 7x7 tiles which is 49 so this makes sense. However, I have no idea what format the files are in, and if they contain just one map or also the two zoomed-in versions.
So I thought I'd take an other approach: use Dolphin. Dolphin can export textures, but this doesn't really work for me. At least, I think so. The exported textures have a black background with red islands on it. The in-game maps are beige with a dark-brown border.
So, I figured I try a third approach: dig into the source and see what I can find. This was a pretty big disappointment Tongue My knowledge of C++ is limited, and couldn't find what I was looking for (in \Core\VideoCommon\Src\TextureDecoder.cpp)

So, to wrap up a long story: I would like to know if anyone here can point me into the right direction.
For example, is it possible to put a "break point" or something on a file instead of a memory address? That way I can check if those files get loaded when you view the map (unless it's all loaded when the game is booted)

Thanks in advance for your help Smile

gcp111

(06-30-2009, 08:01 PM)BadFellas Wrote: [ -> ]For example, is it possible to put a "break point" or something on a file instead of a memory address? That way I can check if those files get loaded when you view the map

Uhh, I highly doubt it's possible with stock Dolphin, but you could try to edit the code where it saves the texture to file, check if it's the filename you want, and do a PanicAlert or something.
about the breakpoints

run dolphin with /d as parameter
what do you want? 3D maps?

i had an extractor and viewer somewhere, well.. i had... before HDD crash ^^

try google.

BadFellas

(07-01-2009, 06:05 AM)gcp111 Wrote: [ -> ]Uhh, I highly doubt it's possible with stock Dolphin, but you could try to edit the code where it saves the texture to file, check if it's the filename you want, and do a PanicAlert or something.
I doubt that will work. My guess is that the texture is already loaded in memory when you extract them. But if nothing else works I might try this Smile

(07-01-2009, 06:16 AM)Daco Wrote: [ -> ]about the breakpoints

run dolphin with /d as parameter
I know about that Wink but that only lets you set breakpoints on memory addresses, not on files.

(07-01-2009, 07:22 AM)NexXxus Wrote: [ -> ]what do you want? 3D maps?

i had an extractor and viewer somewhere, well.. i had... before HDD crash ^^

try google.
No, not 3D maps (although that might be a nice idea as well) but just 2D maps. I know about the extractor, like I said I think it's the files in \res\Fmap.arc but when I extract that file, I get 49 unknown files that I don't know what to do with. They are not BTI files, which are used for many textures in WW.

The files start with the following characters, if that is any help to anyone:
0x02 0x02 0x00 0x64 0x00 0x64

gcp111

(07-01-2009, 06:37 PM)BadFellas Wrote: [ -> ]I doubt that will work. My guess is that the texture is already loaded in memory when you extract them. But if nothing else works I might try this Smile

I mean if you want to set a "breakpoint" on when a texture gets saved, you could edit the code where the texture gets saved to a file, and check it's filename for the one you want. It's not exactly clear what you want to do, though.

You want a 2D map of the sea in Z: WW? Or you want the actual game map data?

BadFellas

Okay, let me try to clarify. When you play WW, you can press d-pad up to go to the sea map. This map consists of 49 individual maps, with 3 different zoom levels. I want those maps (all zoom levels)

Editing the source is a last resort for me. I do not have VC++ and from what I understand, that is the only compiler that will work on Windows.

I'll do some more digging around, hopefully I can figure out what compression the files use so I can write some viewer for them.