Jump to content
  • 0

Editing BigGoron sword model (and GI object) including textures


haddockd
 Share

Question

15 answers to this question

Recommended Posts

  • 0

Hmmm... well if you want hardware compatibility, a simple model swap won't do you any favors.

There is a way to fix the renderer function that is used for the shader in order to remove any conflicting F3DEX2 commands.

 

I used one rendering function, removed the "shader" F3DEX2 commands added to RAM, and just re-used it over and over for every new gi model.

 

You have a limitation of about ~0x3000 (a bit more than that, but close to it) for a gi model.

Link to comment
Share on other sites

  • 0

My mod is not hardware compatible that I know of so I see no need to start now. I know it make me a bad person but I am looking for playability for now :)

 

Can you point me in the direction of an easy way to model swap? Or is anyone out there able to assist me in this task for my mod?

Link to comment
Share on other sites

  • 0

I wish it was an easy model swap... however, I can guide you on shaders...

 

Part of it is your items you gain for one:

http://wiki.cloudmodding.com/oot/Get_Item

 

Part of this will rely on your object number... given. However, if you change your gi model, your shader will have to be changed to match the offsets of your new file.

Take this one for example:

 

Deku Nut:

02 8C 0C EE 34 00BB

 

Basically what you're looking at is the GI ID (0xEE in this example), this gets your object offsets from a table list.

 

If you open the Deku Nut gi object in a model viewer, you can find this offset for the nut model: 0xE90

If you write it using the 06 bank (to reference the gi model) you get: 06000E90.

 

If you search for this in ROM, you should find something in the shader list such as:

8006A5F0 06000E90 00000000 00000000 00000000 00000000 00000000 00000000 00000000

 

This is index EE from the GI ID listed above.

 

Since this only has one 06 reference, this means this gi object can only load one 06 offset reference to the gi_nuts model loaded via object number 00BB.

 

If you replace the model, you can basically import a NEW obj binary, and change the 06 reference to your new model.

 

To be even more clever, and add more parts to your gi model, reference the offsets in the file in the file itself using DE000006XXXXXX ending with DF0000000000000000 to make it all collected in one offset of it's own to work with the shader reference.

 

If you want to make it hardware compatible, you will have to modify the function at 8006A5F0 to work without any excess display list commands it adds on in RAM, the "shader" component of the gi model.

Link to comment
Share on other sites

  • 0

So not only do i need to port the model (which i still need assistance with) I also need to change "shaders"? I assume the shaders are the graphics that go along with the collision model...? Forgive my ignorance. I have done very little with object manipulation and list/shader ports/changes.

Link to comment
Share on other sites

  • 0

So not only do i need to port the model (which i still need assistance with) I also need to change "shaders"? I assume the shaders are the graphics that go along with the collision model...? Forgive my ignorance. I have done very little with object manipulation and list/shader ports/changes.

No, the gi shader is basically the "shiney" gloss that covers the model. That "gloss" will not be compatible with your new gi model, and will crash the console because of DList error checks.

Or it will look really ugly if you remove the error handler for it.

 

There's no collision to the gi model. It's more about rendering it.

Link to comment
Share on other sites

  • 0

What about tools that let me modify the existing models and their textures. Honestly, what is there already has enough verticies. I just need to move them a little and change the associated textures. Does this make my job easier?

Link to comment
Share on other sites

  • 0

Probably. You can experiment with UoT (the old version) which allows you to move individual vertices.

You will have to experiment with it, but you can also cheat by using CloudMax's texture explorer by loading the gi file into it, and finding the textures on it.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

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