Jump to content

Wind Waker Hacking Thread


xdaniel
 Share

Recommended Posts

All I know at the moment is that there's a section at the start of the file that tells how many parts there are, and where the parts are in the file. Instruments are stored in the .aw files elsewhere, so I'm guessing that in the actual data there's something that tells the game which section has what instrument. It might also have something to do with how the game chooses to load .aw's.

 

Edit: There's also a section between the header and the actual data. Dunno what it's for. It always starts '00 78 FD.' the FD seems to indicate something. It's 6 bytes long... wonder if it has to do with .aw's...

Link to comment
Share on other sites

OFF TOPIC:

Dont believe that bdl editor doesn't work huh, :http://www.youtube.com/watch?v=K7f-PHaLJyI&context=C327ea82ADOEgsToPDskLY7MeTcdPdmXUSCk4-LAly

 

A converter isn't an editor. It is cool that they've managed to import models from Sunshine into Galaxy 2, and it's certainly a good step forward, but it's by no means an "editor" yet. This is more or less what spinout and my SM64toZ64 is, only as "SMStoSMG2".
Link to comment
Share on other sites

A converter isn't an editor. It is cool that they've managed to import models from Sunshine into Galaxy 2, and it's certainly a good step forward, but it's by no means an "editor" yet. This is more or less what spinout and my SM64toZ64 is, only as "SMStoSMG2".

 

Until you will be able to "convert" 3ds files in wich you can edit :)

Link to comment
Share on other sites

As I just shouted, once that's possible I'd be more likely to agree with you - but again, so far it's just porting from one Nintendo game to another.

 

Converting 3ds files are in development, just showing that it is not a fake like everyone thinks it is.

Link to comment
Share on other sites

No one thought it was fake, Deku. Well, I didn't. I just had trouble getting it to work.

 

Posted Image

 

Posted Image

 

While I was looking through the Msg folder, I found the Hylian font, contained in the arc 'rubyres.' The above pictures were the result of me trying to swap the Hylian font file with the file found in the Menu folder. As you can see, it's mostly gibberish, but there are hints of Japanese there. Could anyone spare a copy of the Japanese font used in the Japanese game?

 

Out of curiosity, I decided to replace rubyres' font with the English font used in fontres. At first, the result was this gibberish:

 

Posted Image

 

But then I copied the first text string from bmgres into bmgresh, and got this:

 

Posted Image

 

However, I have absolutely no idea what this could contribute to hacking. Maybe forcing the Hylian-speaking NPCs to speak English? Or maybe vice-versa.

Link to comment
Share on other sites

...

 

I've been trying to make sense of the camera instructions inside STB files. Since it consists of almost all camera movements, I'm using the Title Screen's STB as a testing ground.

 

So far, I haven't really gotten anywhere. The JCMR section within the STB is the same as those in many other files (albeit a bit shorter); because of that, I started to look to the largely unknown data above these sections. I've come to the conclusion that camera control is, in fact, up there. There are sections of 74 bytes with entries of eight bytes each (4 that are the same in all entries, and four that are different), and there's lots of random bytes between these sections. Editing the four different bytes in each entry doesn't do anything, and corrupting an entire 74-byte section just dumps you into the game with the title screen appearing (which is most likely something they designed to handle errors with the STB files).

 

However, duplicating a section and grafting it over another, for some reason, makes the camera (and environment, in some cases) go NUTS. Here's an example:

 

 

 

I'm really stumped as to what I should do now; It's very complicated. Any suggestions?

Link to comment
Share on other sites

I dont want to be rude but what about discovering more beta content. Moving actors around. Ect.

 

Very much prerelease content has already been discovered, so it's not like there's a shortage of it. Plus, actors can be moved around, changed, etc., etc., no one's yet made an editor for that, tho. Also, any kind of research is good, no matter how insignificant it might seem to you personally. Been messing around with the text myself as well, figuring out control codes and such. That, for example, might sound boring compared to ex. figuring out cutscenes, but it is important once we get to even small-scale hacks.

Link to comment
Share on other sites

You want beta content, Deku?

 

Posted Image

 

This is the chandelier that Link jumps onto at the end of the E3 trailer. I'm not sure if it's used somewhere, though (eg. Forsaken Fortress or Ganon's Tower). I has two animations, but they're broken. That's a lie; the first animation is of the chandelier swinging (though the main part is separated from the cable above it) and the second one is with it stationary but tilted slightly, which is probably the animation from when Link winks at the camera at the end of the trailer. It's the arc called 'syan.'

 

Heh. just something to add...

 

Posted Image

 

The original Japanese logo is still in the game, in Tlogo.arc (as opposed to TlogoE, which has the English text). I replaced the model for the English text with the Japanese. Well, sorta. It's a bit high... I think that has something to do with the .blo file (which tells the game where to put what on the screen).

 

I guess, ultimately, this means that there's two possibilities for custom title screens:

 

-Our own custom .bdls, or

-custom .bti images. bti images are used for both the 'Press Start' text and "The Legend of Zelda" logo.

 

 

Heh heh, one more thing. While routing around in the sound files (I dumped them using a method I can't quite recall a while ago), I stumbled into these sounds. I have no idea where they're from.

 

We thought Jabun was creepy before! Those sounds from his .aw are horrible. Though, if you listen closely to the end of the first one, you can here a laugh; the lower tones of the laugh definitely match the other sounds he makes. But the second one... was he supposed to die in front of you or something? :/ sounds like something an enemy would make. Ha ha, maybe Jabun was originally supposed to be a remake of the Angler Fish boss from OoX and LA :)

Link to comment
Share on other sites

I believe that I have figured out exits for indoor rooms to the ocean (islands):

 

Like all exits, the entry starts with ascii- 'sea.' The last four bytes of the entry are:

xx yy zz FF

yy
The ID number of the island you want to exit to, converted to hex.

 

xx
MIGHT be the spawn point to use for the destination map; if it is, it'd be easy to just take a spawn number from the debug menu and edit it in.

 

zz
... actually, I have no idea what this could be. It could have something to do with how Link enters the next map- you know, by just appearing, or closing a door behind him.

 

FF
Just the end of the entry.

 

Theoretically, an exit entry to go to Outset Island (by the Lookout, I believe) would be something like this:

 

73 65 61 00 00 00 00 00 00 2C 09 FF

First three bytes are 'sea' and the third-to-last byte should hypothetically be using the Lookout spawn point. Since Outset Island's ID is 44 (its arc is called Room44), you convert that to hex, which is 2C. Supposedly 09 would make Link just appear; however, I think it might actually make him walk forward a few steps (like he was exiting a cave).

 

If this is correct, I don't see any reason that it shouldn't apply for all types of exits. You'd just need the name of the folder, the ID if necessary and the method of entry.

 

But we still don't know how we would make dungeons. Dungeon rooms have no SCLS entries, unless they require them (like an exit to the outside, or in the case of places like Dragon Roost Cavern and the Tower of the Gods, to load rooms that make use of skyboxes). Because of that, they must either use a different type of exit entry or some other method that alludes us at present.

 

Edit: Update.

 

 

My first two hypotheses were right! They worked perfectly. I found out with these tests that zz has to do with how the camera fades (IE, if it fades to black, then white, like what I chose, or just to black, or just to white...).

 

It seems that doors are just... doors. We'll have to look into how they're exits.

 

Actually, I'm thinking that maybe spawn points can double as exits. I'm going to compare different PLYR entries. Maybe I can find a variable that makes the point a door.

Link to comment
Share on other sites

Nope, I think I'm good, Deku. Thanks, though!

 

And I think I've figured it out. Take these two PLYR entries as examples:

 

4C 69 6E 6B 00 00 00 00 FF FF A0 0B 45 30 18 D7 43 F7 B8 FB C8 45 20 50 00 00 CC 8E 00 03 FF FF

4C 69 6E 6B 00 00 00 00 FF FF 00 0B 44 27 43 E4 42 BE 85 B6 C8 40 AE 92 00 00 D8 E4 00 10 FF FF

They're both from Windfall Island. The first one is the spawn point at the door to the Auction House (03), and the second is the default spawn at the pier (00). I've determined that the first value after those two FFs tells the game whether to have Link opening a door (A0) or to just spawn him at the exact location of the entry (00). There may be more, but I haven't gotten that deep into it yet.

 

Oh, I should also mention that Link still opens the door to activate the exit. Now, I think that the door itself is an exit, which triggers it by being interacted with (being opened). So, there may be another variable that determines THAT, too; though, it might be specific to the doors themselves.

 

Alright, going by how the first test room (the one with translucent water) has a bunch of doors that fade the screen when opened (but crash after that), I'm going to assume that doors themselves determine exits.

 

I've also noticed a correlation between the first exit and the second spawn point (which would be '1' because '0' is always a default). Maybe the game connects the first exit with the second spawn point? I need to test this.

 

Edit:

 

Posted Image

 

Doors.

 

They have their own section in the .dzr (at least, Outset's do). It's called TGDR.

 

4B 4E 4F 42 30 30 44 00 00 0F F0 FF C8 48 5C 9E 44 34 00 00 48 9A B0 16 0F FF 4E BE 00 00 00 FF

This is the code for the door to Link's house. The first 8 bytes are in all doors are KNOB00D; Knob.arc is the archive that has the models for doors. That tenth byte, 0F, is the variable that determines the door's type. I've made a list below. I'm pretty sure that the bulk of the stuff after the first FF is X/Y/Z coordinate data.

 

Here's the variables for the door, all going by xF for the tenth byte:

 

0- Outset Island's doors

1- Can't quite place it. It reminds me of doors seen in the Forsaken Fortress, but... I don't know. Pic later.

2- Standard Windfall door

3- Door to Komali's room

4- Door to the Oasis (the one with the picture of a butler on it)

5- Standard Forsaken Fortress door

6- Nintendo Gallery door (Has a behavior programmed in that displays the 'Sorry, can't let you in if you're not a member' message...)

7- Fancy Windfall Island door (door to Auction house and rich guy's mansion)

 

It should be noted that all seven of these are based on the name of the door's model; door_a is Outset Island's door and is thus 0, door_f is the Forsaken Fortress door and is thus 5, ect. Still to do is figure out how it correlates opening a door with an exit.

Link to comment
Share on other sites

Posted Image

Posted Image

 

Editing facilities for RPPN, SHIP and TGDR come later, similar to those of ACTR (and in turn PLYR), saving to uncompressed RARCs should be easy as well (as I won't rebuild them, just overwrite the existing data like you'd do with a hex editor).

 

But for now? Sleep. 4:43 AM. Unless there's Symphogear episode 3... nope, not by my followed group/joint anyway.

Link to comment
Share on other sites

What exactly is RPPN? Waypoints (if that's what they're called)? And what's 'Ship?' Places where the KoRL appears?

 

Wait a moment. You've been writing an actor editor? That is so cool! Am I helping by researching some of this stuff?

 

Meh. I'm going to add some notes while I'm still here.

 

I've observed a lot of different values for the 11th byte of the PLYR entry:

 

00- Spawns Link at the entry's exact location

A0- Link opens a door

50- Link spawns and walks forward a few steps in a cut scene-like fashion; this is used in most caves (like the caves where you learn the Earth God's Lyric and the Wind God's Aria). I did notice that if there isn't a large space behind Link, the camera will be scrunched up directly behind him.

F0- Gliding down a column of light

D0- Coming up from a hole

10- Seems the same as 00

20- Seems the same as 00

90- Hangs with the camera in a cut scene-like stance

B0- Sort of odd version of A0. Might be for Forsaken Fortress doors?

C0- I really can't tell. Camera starts at a door, then pivots around to Link, who spawned as if it was 00.

 

I still need to find values for dropping down from a hole, coming out of a hole, and maybe the spinning used for getting out of boss rooms.

Link to comment
Share on other sites

Goodnight. I need to start thinking of bed, too.

 

But first...

 

I think I've reached a conclusion.

 

While experimenting with different entry values, I stumbled across one that kept Link at the same spot behind a door. Immediately after, without me opening the door, the exit triggered and sent me to Windfall ('cause I hadn't changed that since my test).

 

Now, I believe this: When exits are on their own, just making contact with them triggers them. But when there's a door, the door just fades the screen. Link actually makes contact with the exit on the other side, triggering the exit after the screen fades.

 

I think this is very plausible, mostly because of the doors in the Amos_T test area. When you attempt to open one of them, it'll be normal until the fade is done; then the game hangs.

 

I guess what I'm trying to say here is that doors and exits are actually separate. Doors just fade the screen, while Link's contact with the exit after finishing his 'door open' animation causes the real transition.

 

...Yeah, I'm having trouble thinking right now because I'm tired. Hopefully that makes at least a little sense.

Link to comment
Share on other sites

The SCOB/SCOx chunks also contains a kind of actors - ex. the actual light emitted by the wall torches in Forsaken Fortress seems to come from this chunk, as well as maybe the chests you salvage from the sea (judging from the actor names "Salvage" and "Salvag2". The format of each entry seems to be similar to the TGDR doors, or at least that's what I'm using to render them in the editor, but I'm not 100% sure.

 

And as for that editor, editing controls for all chunks supported so far are coded and should work correctly, so for now I guess it's a matter of implementing saving.

Link to comment
Share on other sites

Yep, that would be so, XDaniel; there's a salvage.arc, and it contains the chest and... a pot? I'm pretty sure that I've seen this second model occasionally. So, If I'm correct, a majority of these entries would have their model variable set to 0. Though, I can't really confirm that at the moment.

 

OK. So, after finishing the exit and door stuff, I decided to look into those rooms in Siren again, since I think I've grown a lot as a hacker since then.

 

I've found out that when the rooms are paired with a dungeon's stage.arc, both the model and the collision (though not the dzr) fail to load, making Link fall upon spawning. However, pairing them with a stage that comes from a normal indoor room (or maybe just a room that has a skybox), they load correctly (though Rooms 12 and 15 have color glitches). I think I need to look into this and see if there's a distinct 'Indoor/Outdoor/Dungeon' variable in the .dzs. It is, after all, the next logical thing to tackle.

 

 

Here's what I've learned so far:

 

-STAG:

 

3F 80 00 00 48 1C 40 00 00 0B 01 91 00 xx FF 0F 00 01 2A

I'm not sure if this reaches into the next chunk's entry, but oh well.

 

The 14th byte dictates whether items are usable or not. My first test consisted of grafting an indoor room's entire STAG entry over this one (the Tower of the Gods'), and that resulted in... several glitches. One, enemies didn't have their effects (bubbles didn't have fire around them, armos didn't have the sphere circling above them) and the water in the first few rooms didn't move up and down. It just sorta sat there and... vibrated.

 

But by changing xx from 29 to 02 (a variable in the indoor room that I grafted the first time) I was able to achieve 'no items allowed' without those glitches. So as of now, this is what I know for xx:

 

29- Weapons allowed

02- Weapons faded and unusable

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.