Jump to content

Singling Out Navi


Airikita
 Share

Recommended Posts

I've been attempting to replace Navi with a new character, so lately I've been testing a new theory, and got it to work. However it is still incomplete, I would like to post the info here for future reference.

 

In the fairy AI the display list is loaded in code:

Posted Image

 

This makes it 0x16A48 within gameplay_keep, which comes up with this list:

 

Posted Image

0x16A40 points to 0x16A10 which points to the start of the list at 0x16968, which appears to be a rendering list.

 

When I copy and paste it to the end of my gameplay_keep, it starts at 0x5BB10, and I change around the pointers to match up with where they originally point to (except the ones I don't need to). You also want to change the fairy code to 3C060406 and 24C6BBF0 to point to the pointer it should start at, highlighted in green below:

Posted Image

 

Each corresponding start per rendering section (that ends with a 04 reference) in cyan are re-pointed until I repoint them all to go to the new display list I want to replace, Navi's orb (originally 04015780). I did a test with the Heart Piece in this example, however if you use a square plane to orient the new model to always face the screen, might need to point to this before your new display list model:

DA 38 00 00 01 00 00 00 DE 00 00 00 08 00 00 00

 

In case you're wondering why, when each line reads from its offset, the display list it corresponds to ends in DF00000000000000, which brings it back to the next line where the last left off (I'm guessing), without the other pointers pointing to the correct offsets in order, you will not get the end result.

 

You might have to pad an extra line and re-point the texture you added, or add it to the end of gameplay_keep, and add a DE - DF pointer to reference your new model after those commands.

 

I haven't been able to test doing so with my new model (Milkshape is not working) but here's the result of the successful test with the Heart Piece:

Posted Image

 

This was done with the new list I created, and is separate from the original which still remains in tact for a normal fairy.

 

You can even change the other ones if you know which ones you want to change.

  • Like 4
Link to comment
Share on other sites

Double posting because this is separate.

 

I then place DA 38 00 00 01 00 00 00 DE 00 00 00 08 00 00 00 at the end of my file again, placing it at 0x5BC00, I replace the pointer I originally made to point to 0405BC00, and add DE 00 00 00 04 03 B0 30 DF 00 00 00 00 00 00 00 on the next line. The first line will allow the heart piece to face the screen, and DE 00 00 00 04 03 B0 30 is my heart piece test subject.

 

Successful result:

 

It's difficult to notice because we're used to this playing OoT, but without DA 38 00 00 01 00 00 00 DE 00 00 00 08 00 00 00, the Heart Piece would not face the screen, and show the sides and back.

Link to comment
Share on other sites

I may be wrong when I say this, but the "display list" at 0x16A48 looks like a hierarchy header. It consists of 0x0E bones and... 0 display lists? That's strange because the hierarchy happens to use one display list (it can be seen in the last limb entry at 0x16A04...), 0x04015658. It might use an older version of the hierarchy like the Stalfos.

 

http://wiki.spinout182.com/w/Animation_Format#Hierarchy

 

Also, the one of the "DE commands" that reference segment 0x08 or higher might be for animating the fairy wings.

Link to comment
Share on other sites

After swapping Navi for a new actor, and copying-pasting a new section to make her uniquely pointing to the new list separate from the other fairies, this is the result:

 

Making Navi a new actor keeps her model separate from the rest.

 

I may be wrong when I say this, but the "display list" at 0x16A48 looks like a hierarchy header. It consists of 0x0E bones and... 0 display lists? That's strange because the hierarchy happens to use one display list (it can be seen in the last limb entry at 0x16A04...), 0x04015658. It might use an older version of the hierarchy like the Stalfos.

 

http://wiki.spinout182.com/w/Animation_Format#Hierarchy

 

Also, the one of the "DE commands" that reference segment 0x08 or higher might be for animating the fairy wings.

It's possible. There's multiple pointers to one part before fairy wings are rendered, which seems to suggest it renders the 4 wings. Strangely enough the ones before it are wings too, perhaps part of the wings are animations, but the rest are just rendered.

Link to comment
Share on other sites

 

 

First time success:

 

 

 

I will change the pixie sounds when she flies to a bell ringing, but I need to change "Navi"'s name to Uni.

 

 

I've never been able to figure it out yet. I guess the only way so far is if you could rip the Navi name in a raw format and locate that hex code in the game?

 

I've been trying to find Navi's texture for the c-up icon in the game, but I can't find the real one. Ripping the textures from hex is tricky, and varies on byte size and type. I'm getting good at deciphering which ones they could be, but finding them is still a trial-and-error process (especially when ZLE2 doesn't dump them).

 

I found "Navi" in do_action_static, but it's not the right one (possibly beta texture). I need halp!!!

 

 

I'm moving this over here since this is more related to your thread of replacing Navi.

 

I believe what you found is beta because if what you're talking about is what I'm thinking about, I found that long ago too and replaced it and it didn't make a bit of difference. I've changed my fairy to Tatl so I want to replace Navi with Tatl. I was hoping maybe using Rice's plugin to dump the texture and then convert it to RAW using ZLE2, I might be able to find where in the ROM it is located. There's a PNG2RAW converter in there but I kinda forgot how it works. ^^;

Link to comment
Share on other sites

 

 

I've been trying to find Navi's texture for the c-up icon in the game, but I can't find the real one. Ripping the textures from hex is tricky, and varies on byte size and type. I'm getting good at deciphering which ones they could be, but finding them is still a trial-and-error process (especially when ZLE2 doesn't dump them).

 

I found "Navi" in do_action_static, but it's not the right one (possibly beta texture). I need halp!!!

 

 

I'm moving this over here since this is more related to your thread of replacing Navi.

 

I believe what you found is beta because if what you're talking about is what I'm thinking about, I found that long ago too and replaced it and it didn't make a bit of difference. I've changed my fairy to Tatl so I want to replace Navi with Tatl. I was hoping maybe using Rice's plugin to dump the texture and then convert it to RAW using ZLE2, I might be able to find where in the ROM it is located. There's a PNG2RAW converter in there but I kinda forgot how it works. ^^;

 

Oh, I forgot about the PNG2RAW. You just drag the PNG and drop it over the icon for the PNG2RAW tool.

 

If you find it, let me know the address for OoT Debug, I've been a bit busy lately.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

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