Jump to content

N64/Zelda hacking tools (DList conversion etc)


xdaniel
 Share

Recommended Posts

Ahhh, it's not even broken, it's byteswapped. There's at least two different ways a N64 ROM can have its bytes ordered, and at least my own tools only work with big endian or "z64" ROMs - the ones where you can read the game's title at offset 0x20 -, because it's much more logical and easier to work with. There's tools that can convert between byte orderings, ex. "Tool64" or something like that, which you can try to use if you encounter such a ROM again.

 

In fact, I should see about adding some kind of detection mechanism and maybe offer the user to convert the ROM to big endian for them...

Link to comment
Share on other sites

I would test Sorata, but I don't have .NET Framework 4.0 installed, and can't free enough space to install it. May I have a build with 3.0 as the target?

 

Couldn't you run ZSaten2, tho? That's also targeting 4.0 and even uses the same interpreter/rendering library Sorata uses.

 

I could see about targeting 3.0 in general, tho, if I'm not using anything that's exclusive to 4.0...

Link to comment
Share on other sites

You did select a specific room, right? Because actors don't, and aren't supposed to, show when all rooms are rendered at once. Then again, you must have selected a room because otherwise you couldn't scroll through the actors on the Room Actors tab...

 

Uhm, so after selecting a room, the actor selection under Room Actors is set to "(None)" and no actor cubes show (at which point they should show). Once you scroll down to an actual actor, the cubes and the selected actor's axis marker render. Am I getting this right?

 

Yep, you got it. Except the border around the boxes doesn't even show (that yellow light) it's just see through.

Link to comment
Share on other sites

Hm, seems like I'm able to reproduce the "missing actor cubes" bug somewhat, on my mom's PC:

 

Posted Image

 

She's currently limited to an on-board GeForce 6150 as her previous card died, so I'm guessing there's a problem with OpenGL in some way... curiously combiner emulation works fine, so I probably messed something up in the actor cube's GL display list.

 

I'll double-check the actor cube code once I'm back home, maybe there's some stray fragment program stuff in there or something...

Link to comment
Share on other sites

I discovered that onboard GPUs actually emulate a lower version of OpenGL than they say they do. Like mine, it said it used 2.1, but when I was testing it, it would only work with code from OpenGL 1.1 or before. It wasn't just mine either. I tested it with a few friends' computers who used onboard. OpenGL just doesn't work correctly on them. And I have no idea why. 

Link to comment
Share on other sites

  • 4 weeks later...

Got to try this out, looking really good, though certain actors seem a bit off, like Adult ruto only renders as a head while young ruto is all messed up texture wise.

Sorata_Ruto.jpg

 

Here's a few more bug reports!

 

I just don't think this is right at all. Door_Shutter = Aria?

Aria_shutter.jpg

 

Clicking this actor crashes the program entirely.

Sorata_Error.jpg

 

After running Sorata for a while, it comes up with this memory issue.

Sorata_memory_error.jpg

 

Redead and similar actors have matrices not rendering properly.

Sorata_Redead.jpg

 

Overall its been really nice to look around in, the ability to jump hierarchies in an actor file is really neat though I got a couple questions. Will you be adding multiple object support for certain actors such as en_hy(market npcs) and en_ko(kokiri)? Will you add an option to view objects in a file separately that don't have a hierarchy? Ex: like the object_spot06? which is just objects used in the map.

 

Link to comment
Share on other sites

Had seen some of those errors before (Adult Ruto, the Redead problems), but not the others. I'll need to look into those.

 

As for features, I'm planning to add whatever is needed for things to... look passable, I guess, "perfect" will be impossible I'm guessing :P  Loading and rendering files separately is kinda already in, tho, in that you should be able to right-click a (display list-containing) in the filesystem list, load that to its RAM segment and let the program parse and render any display lists in it... although that appears to be broken in the last build I posted...

Link to comment
Share on other sites

  • 2 weeks later...

Just a tiny note: I uploaded Model2N64 to my website, still the same build I had already linked to directly here, and I'm planning to put future releases of it, of Sorata, SharpBoy and anything else that might be useful/interesting/good there as well. Would be nice if, if you want to link any of the tools found there, you linked to the site instead of directly to the files, too :P

Link to comment
Share on other sites

  • 5 weeks later...

Hi xdan... I seem to have forgotten how to get textures to work in OoT with your ObjToN64 converter... when I want the texture to show up I checked "texgen" on the materials, and I checked "Texured, solid" on the groups, yet the textures still don't show up properly in OoT, but instead come up as solid colors. Two of them are patterned and don't show up like normal.

 

Problem:

Posted Image

Texture on the black part has a white spot on it, but it doesn't show up. Also, the texture on the hand is a solid color too, and darker than the original.

 

These are the settings I put on:

Posted Image

Link to comment
Share on other sites

Then I don't know... Could you post the obj, mtl and textures in the program's thread? I'd take a look then. Same goes for any of your not correctly working models, SoD, if you want

 

just tossed this together real quick in blender.

 

face.png:

 

Posted Image

 

dorkcube.mtl

 

 

# Blender MTL File: 'None'# Material Count: 1newmtl Material.001Ns 92.156863Ka 0.000000 0.000000 0.000000Kd 0.512000 0.512000 0.512000Ks 0.500000 0.500000 0.500000Ni 1.000000d 1.000000illum 2map_Kd face.pngmap_d face.png 

 

 

 

dorkcube.obj

 

 

# Blender v2.66 (sub 1) OBJ File: ''# www.blender.orgmtllib dorkcube.mtlv 100.000000 -99.999985 -100.000015v 100.000000 -100.000015 99.999985v -100.000000 -100.000015 99.999985v 100.000000 100.000015 -99.999886v -100.000000 100.000015 -99.999985v -100.000000 99.999985 100.000015v 99.999901 99.999985 100.000114v -100.000000 -99.999985 -100.000015vt 0.999900 0.999900vt 0.000100 0.999900vt 0.000100 0.000100vt 0.999900 0.999899vt 0.999900 0.000100vt 0.999899 0.000100vn 0.000000 -1.000000 -0.000000vn -0.000000 1.000000 0.000000vn 1.000000 -0.000000 0.000000vn 0.000000 -0.000001 1.000000vn -1.000000 -0.000000 0.000000vn 0.000000 0.000001 -1.000000vn -0.000000 -0.000000 1.000000vn 0.000000 0.000000 -1.000000g Cube_Cube_Material_Cube_Cube_Material_Material.001usemtl Material.001s offf 1/1/1 2/2/1 3/3/1f 4/4/2 5/2/2 6/3/2f 1/5/3 4/4/3 7/2/3f 2/5/4 7/1/4 3/3/4f 3/2/5 6/3/5 8/1/5f 4/5/6 1/1/6 8/2/6f 8/5/1 1/1/1 3/3/1f 7/6/2 4/4/2 6/3/2f 2/3/3 1/5/3 7/2/3f 7/1/7 6/2/7 3/3/7f 6/3/5 5/5/5 8/1/5f 5/3/8 4/5/8 8/2/8 

 

 

what I see when I import it

Posted Image

 

 

 

what it should look like:

Posted Image

 

 

pc specs:

----------------------

Intel N5050 Dell Inspiron

64-bit Intel Duo Pentium @ 2.10Ghz

Operating System:  Windows 7 64-bit

RAM:  4gb  + 16gb paging file

 

 

Misc:

----------------------

MS .NET FW 1.1 + 4 Client Profile + 4 Extended + 4 Multi-Targeting Pack

SQL Server 2008 R2 Management Object

SQL Server Compact 3.5 SP2 ENU

SQL Server Compact 3.5 SP2 x64 ENU

SQL Server System CLR Types

MSVC# 2010 Express - ENU

MSVC++ redist 2005 (x64) + 2008 (x86/x64 9.0.3...) + 2010 (x86/x64 10.0.40219)

MSVS 2010 ADO.NET Entity FW

MSVS 2010 Express Preqreq. x64

MS XNA FW Redist

Link to comment
Share on other sites

Posted Image

 

...close enough, yet not even the texture of the light source marker shows up for you. What video card do you have? Please say it's some integrated Intel HD thingy or similar, because then I'd have a likely reason for it not rendering correctly. But besides that, is the model converted correctly at least? Because if it isn't, the video card problem would be unlikely again...

 

As for Airikita, I'm still looking into your model. It does look pretty strange, tho, as there's only two texture coordinates in the whole .obj file, and that faces only ever use the same texture coordinate for each vertex. In fact, I just got Milkshape 3D myself, created and exported a simple sphere with your BlackMarble.png as the texture, and there's a lot of texture coordinates in the file and it shows up correctly.

 

Posted Image

 

Link to comment
Share on other sites

So the same version of Model2N64 that's now giving you problems has worked before?

 

Hm, could you start VC# 2010 and give me the Framework version number from the About window, in the top right? It's "4.5.50709 SP1Rel" here; if you've got an older one, try installing the latest 4.5 Framework redistributable from the MS website. I just downloaded the setup from here and apparently already have this version installed, as it only allows gives me the option to repair or remove the Framework.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

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