Replacing Models in Wind Waker?!

Discussion in 'Nintendo GameCube' started by FlappyFalco, Oct 11, 2015.

  1. FlappyFalco
    OP

    FlappyFalco Smile, No Matter How Bad it Gets~

    Member
    232
    132
    Oct 11, 2015
    Ireland
    The deepest recesses of my mind
    Hello 'Tempers.

    Well, I've started a little side project for myself. Basically, I'm learning to hack Wii and GameCube games, starting with Wind Waker (the superior GameCube version, obviously :rolleyes:). My ultimate goal is to replace Toon Link's model with either Zelda's or Tetra's.

    As someone else was able to replace entire maps, I'm certain this would be, to some extent, possible:



    However, I've run into a pretty huge problem. Basically, the game won't let me do anything to it. The game loads fine, but then when I get to the area in the game where the object I replaced exists, it just goes "nope" and crashes.



    Allow me to explain what I've done so far:

    First, I extracted the contents of the ISO using GCRebuilder (newer versions of Dolphin/Ishiiruka can actually do this too, but not in a format that GCRebuilder can rebuild). Then I went through the folder created, and found an Objects folder full of .ARC files. I knew this was what I was looking for. I put a tool called yaz0dec.exe into this folder, and used the Command Prompt to get it to open every file in the folder. This decoded the .ARC files into .RARC files. Next, I put another tool called rarcdump.exe into the same folder, and got it to open every file again. However, there were a bunch of "Lkanm" folders causing problems, as rarcdump.exe would just create an empty folder from one and then stop what it was doing completely. So I removed these, and ran the program again. This got me a load of RARC_DIR folders, which contained everything I needed.

    Upon, opening these, I found that they contained numerous different files that I had never heard of before. Apparently, .BDL is for models, .BCK is for bone animations, .BTK and .BRK are for texture animations and .BTI is for 2D images (but it's not used much as the textures seem to be stuck to the models for the most part). So, after much rooting around (I used Bmdview2 to open bdl files), I found pz.bdl, Toon Zelda's model and zl.bdl, Tetra's model. Link's was a bit trickier, found in Link.rarc_dir (duh!) but under the name cl.bdl.

    So, I switched them, ran rarcpacker and then yaz0enc to turn them back into a standard ARC file. Next, I rebulit the ISO with GCRebuilder and ran the game in Dolphin. The Nintendo logo loaded just fine, but then instead of the title screen where Link would appear on Outset Island, the game crashed. Bah. :glare:

    First, just to make sure there was nothing wrong with the tools I was using, I opened the wooden sign's file, kanban.arc and replaced the bdl file with an identical one, and then repacked it, and rebuilt the ISO, using the exact same method listed above. The game ran perfectly. So then I figured the reason the game crashed was because Link's animations are not compatible with Zelda's model (cl.bdl has 42 bones, pz.bdl only has 27).

    So I decided to replace a model with no bones and no animations, with another model with no bones and no animations. I switched kanban.bdl with hf**k1.bdl (yes, that is the actual file name, perhaps the Japanese find English curse words hilarious ), the model used for the hookshot targets in the Wind Temple. There's a .DZB file (collision mesh) in hf***1 too, but I didn't think that mattered because of the above video. So I rebuilt, and then ran the ISO. The game loaded perfectly, so I went to the Wind Temple, and got to the door to the main room where the targets are located. But as soon, as I press A to open the door, the sound plays and then the game freezes. Again. :glare:

    So does anybody with experience in hacking GameCube or Wii games have any idea what's going on here? Anything would be helpful. I just want to finish this, as Wind Waker would be a lot of fun to mod, and I want to move onto other GC/Wii games later on if this goes well. And of course I'll also release the files to the public for those who want to use it or make their own mods. Thank you all in advance! :bow:
     
    Last edited by FlappyFalco, Nov 1, 2015
  2. CosmoCortney

    CosmoCortney The Hacker Furry

    Member
    1,597
    1,513
    Apr 18, 2013
    Germany
    on the cool side of the pillow
    I can't help you with making other playable characters. But I have made a lot of Action Replay/Gecko codes to swap objects in the game (replacing seagulls with valoos)
    Your account says that you're from Ireland, so I assume that you have the PAL game. Here you can find a lot of file swapping cheats: http://cosmocortney.ddns.net/codes/gcn/wind_waker_pal_en.php
     
    FlappyFalco likes this.
  3. FlappyFalco
    OP

    FlappyFalco Smile, No Matter How Bad it Gets~

    Member
    232
    132
    Oct 11, 2015
    Ireland
    The deepest recesses of my mind
    Thanks for the reply, and sorry for my late one. (hope this doesn't count as a bump)

    This is quite interesting, but it's not quite what I'm trying to do. These codes make certain objects appear in place of others, with their behavior and all. What I'm trying to do is make one object have the model and appearance of another. I believe AR codes work by hex editing the game's RAM correct? If so, I don't think AR codes have the power for that.

    Also, I believe I have discovered the cause of my problems:
    Dashman@ROMHacking.net:

    This has given me a good lead to follow, so I'll look into this.

    Again, thanks for the reply, these codes are pretty fun to use. ;)


    P.S How would one use the "Replace Link with X" code? The only thing I seem to be able to replace Link with is himself 043798C0 00A9FF00), otherwise the game crashes before the title screen.
     
    Last edited by FlappyFalco, Nov 4, 2015
    CosmoCortney likes this.
  4. CosmoCortney

    CosmoCortney The Hacker Furry

    Member
    1,597
    1,513
    Apr 18, 2013
    Germany
    on the cool side of the pillow
    hmm, so you could try adding/changing the information of the file size in the beginning of the custom .arc file. (Do .arc files have such a line of information?)
    btw, i have recently discovered more about this (related to file swapping). with cheats its possible to modify the properties and behavior of several objects. i can move them around, remove them or replace them with other objects (I mean a specific one without affecting others). I have even discovered unused functionalities like heart containers in flower pots lol here
    This allows me to replace objects with bigger ones what could mean that size differences won't be such a big problem for you. (just a theory)

    Replacing Link with something will cause a freeze because the game doesn't know what to do :P
    But maybe it's possible to play with 2 or 3 Links like in Twilight Princess, so I have kept all the information there :P
    (I have adding an additional Link, but no luck so far)
     
    FlappyFalco likes this.