03-15-2013, 05:59 AM
(This post was last modified: 03-15-2013, 06:04 AM by SoulofDeity.)
(03-15-2013, 01:58 AM)Friedslick6 Wrote: A good test for .ZOBJ export would be the "Very Old Link" model from the "Ocarina of Time" minigame in "Wario Ware Smooth Moves".
https://www.youtube.com/watch?v=HElSJrC_...ata_player
.ZOBJ's and .ZMAP's can only be extracted directly from Ocarina of Time or Majora's Mask. They're files unique to those games, so I'm pretty sure that won't work...
At the moment though, I'm writing version 4 of the script, which has been entirely rewritten from scratch. There have been many improvements, and some new key features will include
- Being able to specify ram addresses for segments (which will make it possible for the script to import files from other games that use the F3DEX2 microde like SSB64)
- Being able to import objects not pointed to by the hierarchy
- Write-back texture clamping (or perm-clamping as I like to call it)
- Being able to parse all matrices (which will fix some other characters like Zelda)
And by 'rewritten from scratch', I do mean 'rewritten from scratch'. The entire control flow of the script is different.
old:
Code:
locate hierarchies
+-- build armature
+-- build display lists
+-- dump textures
+-- import materials
+-- build mesh
new:
Code:
locate hierarchies
locate animations
locate display lists
+-- ensure no duplicates exist
locate textures (aka. pass 1: foreach display list)
+-- calculate texture size
+-- calculate clamped texture size from uv coords
build model
+-- dump textures
+-- import materials
+-- build hierarchies
| +-- build meshes (aka. pass 2.1: remove from list)
| +-- build animations
+-- build meshes (aka. pass 2.2)
Additionally, I've introduced new class types known as Segment and SegmentTable which have gone a long ways towards making the code cleaner; and there is much more detailed information printed to the console such as the index/address/child/sibling/dlist/location of each bone, the address/format/size of each texture, and the address of each display lists.
As a last note; like I said before this tool is tailored for ripping models specifically from LoZ: Ocarina of Time and LoZ: Majora's Mask. While it may be able to import some of the display lists from other games, it may not support ripping all of the display lists from other games...in fact...I almost guarantee it won't...