The VG Resource

Full Version: Zelda64 Models
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
(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". Big Grin
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...
I think you misunderstood. I meant exporting that model into the .ZOBJ/.ZDATA format, as you said you would be working on such a script in the future.
As soon as version 4 of this script is released, I have a request to finish for somebody over at KC-MM. I was over-ambitious as usual, so the project became silently and indefinitely postponed. >>;
(03-15-2013, 07:16 AM)Friedslick6 Wrote: [ -> ]I think you misunderstood. I meant exporting that model into the .ZOBJ/.ZDATA format, as you said you would be working on such a script in the future.
As soon as version 4 of this script is released, I have a request to finish for somebody over at KC-MM. I was over-ambitious as usual, so the project became silently and indefinitely postponed. >>;

Oh, lol, I thought you meant using the script to rip models from that game. Tongue
Btw, why are you waiting for v4? Nearly all models rip perfectly with v3 (save for a few like adult Zelda that use custom matrices). Unless...you're planning to take advantage of the ram addressing to rip SSB64 models...in which case I'll have to warn you that it won't rip hierarchies for that.
I think what he meant was that you could test the zobj exporting with Wario ware smooth moves by replacing the zobj of link in that master sword minigame he is in and seeing if the game will load with the newly imported model.
(03-15-2013, 11:01 AM)o0DemonBoy0o Wrote: [ -> ]I think what he meant was that you could test the zobj exporting with Wario ware smooth moves by replacing the zobj of link in that master sword minigame he is in and seeing if the game will load with the newly imported model.

Alright, I'm confused here, are to trying rip the model from Wario, or replace it with the one from OoT?

Either way, I don't think it'll work. I highly doubt that game uses anything close to the actual .zobj format, because in actuality .zobj's and .zmap's are simply N64 RDP gpu instructions. The names aren't even official; they were made up by the guy wrote the Zelda Resource Extractor. For Wario to be using actual .zobj's, it'd have to be emulating the N64 gpu.
It's not even the same model format. Wario Ware: Smooth Moves uses the common Wii model format, MDL0/BRRES.
Just because it looks just like the OoT model doesn't mean it's the same file format.

EDIT:
awkward...just a sec ago someone posted a vid...but yeah I've worked with some wii games as well. I tried making a BMD importer for Blender a couple of months back but never finished.
Wow, this is really cool! The models look amazing... Big Grin

I leik. c: I need to get the rom now. XD
The idea I brought up is pretty simple. Extract the model from Wario Ware: Smooth Moves, convert it to a workable format by normal means, fix it up and export it in the .ZOBJ/.ZDATA format.
This is not a request, I was honestly just trying to be helpful. I figured that importing the closest thing to an original N64 model from the Wii would be a good way to test the script.
The model I had to rip is Kaifa from Majora's Mask.
(03-15-2013, 03:30 PM)Friedslick6 Wrote: [ -> ]The idea I brought up is pretty simple. Extract the model from Wario Ware: Smooth Moves, convert it to a workable format by normal means, fix it up and export it in the .ZOBJ/.ZDATA format.
This is not a request, I was honestly just trying to be helpful. I figured that importing the closest thing to an original N64 model from the Wii would be a good way to test the script.
The model I had to rip is Kaifa from Majora's Mask.

OH! I see what you mean now, lol. I thought you were trying to replace Wario models, or that you were saying the Wario link model was in ZOBJ format.

But, yeah, that would work. One of my friends ported Link from Windwaker into OoT
Yeah, I've seen all of Flotonic's work. Amazing guy.
(03-15-2013, 04:11 PM)Friedslick6 Wrote: [ -> ]Yeah, I've seen all of Flotonic's work. Amazing guy.

Yeah, he's who introduced me to modding. I actually have him on skype, lol Tongue

I haven't done half as many mods as him (mainly because I'm too lazy to finish most of the things I start); but most people who know me will say I'm the most knowledgeable person there is when it comes to the F3DEX2 microde. That comes without saying though that whenever I'm not programming, I'm swimming nose-deep in the N64 sdk.

The coolest mod I ever did was port the Twilight Realm to OoT; though it turned out like crap because I was using spinout's WOTF that requires 32x32 textures at first, then finished it with SharpOcarina; which I sadly wasn't aware of it's existence until the damage was done >_>
It took me about a week to lower the polycount. I'm actually a little bored at the moment...might try doing something in a little bit

EDIT:
OMFG. I just noticed...YOUTUBE CUT MY VIDEO!!!! WTF???
My jaw just dropped so hard.
Tears in my eyes
Oh my~~~

Now for 3ds max support......
D-:
(03-18-2013, 08:12 AM)Paratroopah! Wrote: [ -> ]My jaw just dropped so hard.
Tears in my eyes
Oh my~~~

Now for 3ds max support......
D-:

Lol, sorry for the late reply, I've been really busy. I kinda got a bit sidetracked...Earlier in this thread someone asked if I could add support for converting to collada dae format and with me already wanting to write an exporter, I figured a better idea would be to write a utility that does both. Would also give me a chance to toy around with ray-casting and picking which I've never experimented with before.

Was originally gonna write it in my favorite language, C, however Microsoft are a bunch of douchpies and only natively support OpenGL 1.1. I could get it to support shaders using GLEW or GLFW, but the only thing that exceeds my hatred for Microsoft is my hatred of GNU / open source libraries which are almost always ridiculously inflated...

Ended up settling with C# + OpenTK. *vomits*

Anyway, it may take a while but I guarantee I'll be finishing what I started.
I did a quick fix for new Blender versions using my v3 import script and made a video tutorial



Latest import script
ZRE
Pages: 1 2 3 4