READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

Spotlight: Señor Casaroja's Noesis

General game file tools that are useful for more than one game
User avatar
TheDude
mega-veteran
mega-veteran
Posts: 229
Joined: Sun Mar 20, 2011 7:35 pm
Has thanked: 28 times
Been thanked: 55 times
Contact:

Re: Señor Casaroja's Noesis

Post by TheDude » Thu Apr 18, 2013 5:55 am

Awesome! And thanks for the tip. I'm still new to Python and it seems like all the videos out there leave out things like bytes and bytearrays. Actually anything that someone might use in an importer for that matter. 〴⋋_⋌〵

Justdragos
advanced
Posts: 69
Joined: Tue Feb 21, 2012 8:19 am

Re: Señor Casaroja's Noesis

Post by Justdragos » Thu Apr 18, 2013 9:10 pm

Hy! I saw you made a plugin for neossi to export characters from raging blast 1 and 2. Is there any way t oexport the maps too ?

User avatar
TheDude
mega-veteran
mega-veteran
Posts: 229
Joined: Sun Mar 20, 2011 7:35 pm
Has thanked: 28 times
Been thanked: 55 times
Contact:

Re: Señor Casaroja's Noesis

Post by TheDude » Sat Apr 20, 2013 3:53 am

What's the "Rich" way ( :wink: ) of reading an inverse transposed matrix?
Image

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 498 times

Re: Señor Casaroja's Noesis

Post by MrAdults » Sat Apr 20, 2013 2:58 pm

Like this:

Code: Select all

	ed = NOE_BIGENDIAN
	mat = NoeMat44( ( NoeVec4.fromBytes(data[48:64], ed), NoeVec4.fromBytes(data[32:48], ed), NoeVec4.fromBytes(data[16:32], ed), NoeVec4.fromBytes(data[0:16], ed) ) ).transpose()

User avatar
TheDude
mega-veteran
mega-veteran
Posts: 229
Joined: Sun Mar 20, 2011 7:35 pm
Has thanked: 28 times
Been thanked: 55 times
Contact:

Re: Señor Casaroja's Noesis

Post by TheDude » Sat Apr 20, 2013 5:41 pm

Muchas gracias Señor Casaroja! ٩(-̮̮̃-̃)۶
Oh, and say hi to the donkeys for me.

EDIT: Finally got the skeleton looking right, but I'm curious why I had to do this:

Code: Select all

if i==0:
	boneList.append(NoeBone(i+1, boneName, mtrx, None, boneParent))
else:
	boneList.append(NoeBone(i, boneName, mtrx, None, boneParent))
The first bone is the root bone - ID: 0 Parent: 0. I'm guessing this was the problem?
Image

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 498 times

Re: Señor Casaroja's Noesis

Post by MrAdults » Sun Apr 28, 2013 4:03 pm

A bone shouldn't be parented to itself, if it has no parent just set the parentIndex to -1. Although I thought I already handled "if index == parentIndex then parentIndex = -1", maybe that isn't happening early enough or something.

Massive Noesis release:
-4.079 - Exposed mipmap count and cubemap flag on NoeTexture.
-4.079 - Cubemaps are now supported in texture preview mode. Pan values are used to generate 3D texture coordinates so that you can look around the cubemap.
-4.079 - Environment maps are now a material property. They're preserved in FBX as reflection maps, and are displayed with per-pixel (using the tangentspace normal) reflections with Fresnel term in preview mode.
-4.079 - Mipmaps are now uploaded (if provided) for all natively-supported Noesis texture formats in preview mode.
-4.079 - Redid the way preview textures work behind the scenes, no more special-case treatment. Textures auto-loaded for preview are also now viewable in the data viewer.
-4.079 - Opening archive types now just opens the export dialog, instead of asking you if you want to export.
-4.079 - Fixed GMO's with bad/no geometry crashing Noesis.
-4.079 - Added -gmobasepose. Exports untransformed GMO geometry, and stomps over base pose matrices with skinning matrices where necessary.
-4.079 - Fixed FBX files with bad cluster/bone indices crashing Noesis.
-4.079 - Running out of memory while writing to a stream container provides the user with a semi-helpful messagebox instead of mysteriously exploding.
-4.079 - Made default image format output replace .dds extension when auto-decompressing on export, instead of appending the new extension after the .dds.
-4.079 - Fixed a crash when using rapi.loadTexByHandler to load a Python-handled format within an instanced module's rapi context.
-gmobasepose was very low priority for a very long time because people that want it are probably doing asshole things, but I finally made it down that far on the list, so there it is.

User avatar
TheDude
mega-veteran
mega-veteran
Posts: 229
Joined: Sun Mar 20, 2011 7:35 pm
Has thanked: 28 times
Been thanked: 55 times
Contact:

Re: Señor Casaroja's Noesis

Post by TheDude » Sun Apr 28, 2013 10:44 pm

Yep, just set it to -1 - problem solved.

Also "made it down that far on the list"?
That must be rock bottom then. :o

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 498 times

Re: Señor Casaroja's Noesis

Post by MrAdults » Mon Apr 29, 2013 12:25 am

I stuck a new build up earlier that allows you to do what you were doing before as well. I forgot that I had separate logic for the way I was parsing out bones from the Python objects. It accounts for index == parentIndex meaning no parent now too.

And yeah, pretty much. With this latest release my "core shit to do" list is empty again. I've been trying to get Noesis to a place where I'm comfortable with leaving it for a while, because I want to start devoting my hobby time to Jedi Knight source stuff. From here on it's probably going to be all bugfix releases for quite some time. Which isn't a bad idea anyway, when I start working on features too much I start ignoring bugs/crashes more. Then the new features start introducing new bugs/crashes, and the world is a terrible place for everyone again. Fortunately, there's been a lull of crashes lately, except for stupid people that like to use ancient 3.x versions of Noesis and submit crashes for things that got fixed half a year ago.

Arymond
advanced
Posts: 54
Joined: Sun Feb 12, 2012 12:49 am
Has thanked: 6 times
Been thanked: 1 time

Re: Señor Casaroja's Noesis

Post by Arymond » Mon Apr 29, 2013 1:44 am

Is there anyway to request a format for support? i can supply file's

its for Ratchet & Clank 1-3 (Ps3 Collection Version - if they are any Different form the ps2 ones)

User avatar
TheDude
mega-veteran
mega-veteran
Posts: 229
Joined: Sun Mar 20, 2011 7:35 pm
Has thanked: 28 times
Been thanked: 55 times
Contact:

Re: Señor Casaroja's Noesis

Post by TheDude » Mon Apr 29, 2013 2:22 am

Totally sweet! Having a root bone's parent equal to itself seems to be a common paradigm.
Speaking of features, is it possible for a third party to create a custom render engine for Noesis?

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 498 times

Re: Señor Casaroja's Noesis

Post by MrAdults » Mon Apr 29, 2013 4:55 am

Sort of. You can make a visualizer plugin and totally replace the renderer that way, but you'd still be stuck using OpenGL. The actual rendering core is also all cut out into a DLL and that includes all OpenGL-related dependencies, so you could replace that to replace the entirety of the renderer and switch to another API or whatever. But I haven't made that DLL's API public, mostly because it changes constantly (and shares tons of internal structures that I change with virtually every Noesis update), and if anyone tried to do anything with it I'd just break their shit immediately and they'd have to keep merging with my updates and it'd be a nightmare. It's on the "maybe some day" list to do a D3D10+ rendering module, but so far I've lacked motivation for that, since it's not worth maintaining 2 paths and I like the OpenGL renderer because it's so scalable and compatible with everything. Even though I don't like its actual code. It's more usable now that I've written a shader cooking system for it.

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 498 times

Re: Señor Casaroja's Noesis

Post by MrAdults » Sun May 12, 2013 10:10 am

Another massive update:
-4.081 - Added NoeSplineSet, NoeSpline, and NoeSplineKnot.
-4.081 - Added rapi.splineToMeshBuffers.
-4.081 - Added noesis.getCharSplineSet.
-4.081 - Added noesis.cubicBezier3D.
-4.081 - Changed the way light vectors are calculated in order to reduce error from interpolation.
-4.081 - Added NGL_GetEye.
-4.081 - Added Noesis_GetFrameTime.
-4.081 - Added rapi.imageNormalMapFromHeightMap. This uses a technique that I pulled out of my ass to generate normals from a height map using sub-texel tangents. It usually looks pretty good. You can use a negative height scale to invert the height. The texel scale affects the sub-texel sampling radius.
-4.081 - Made NoeMat43/NoeMat44 swapHandedness return the swapped matrix to be consistent with the rest of the matrix operations.
-4.081 - Added mipmap and cubemap import for non-DXT DDS.
-4.081 - Added DDS export. Preserves RGBA/DXT1-5 as well as mipmaps and cubemaps.
-4.081 - Boosted precision on DDS color decoding.
-4.081 - Prevent crash if GL fails to (re)initialize, and stop GL unnecessarily reinitializing when plugins are reloaded.
-4.081 - Fix for some corrupt DDS files crashing Noesis.
-4.081 - Fixed a bug that could prevent auto-generated smoothed tangent matrices from being used in the final model.
And here's a script that procedurally generates mesh data and textures from a string of text:
http://code.google.com/p/noesis-plugins ... xtmaker.py
Image
Image

There's actually a bunch of spline stuff in this release, and some new interpolation functions I didn't mention in the notes as well. You can generate meshes from your own splines (or the Noesis font splines) with control over step size and subdivisions.

Truthkey
beginner
Posts: 20
Joined: Fri Jul 23, 2010 10:39 pm
Has thanked: 1 time

Re: Señor Casaroja's Noesis

Post by Truthkey » Mon May 13, 2013 4:45 am

Hey MrAdults, I don't know if I can request you to add a certain feature to Noesis. The thing is that I noticed that Noesis cannot export models massively. Is it possible to add such a function? I think it shouldn't be hard for you! Also, when I export to FBX from Noesis, the exported file doesn't seem to be up to date. What I mean with this is that it's not using the latest version of FBX to generate the file.

User avatar
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 498 times

Re: Señor Casaroja's Noesis

Post by MrAdults » Mon May 13, 2013 1:31 pm

Truthkey wrote:Hey MrAdults, I don't know if I can request you to add a certain feature to Noesis. The thing is that I noticed that Noesis cannot export models massively.
Tools->Batch Process, or make your own batch file and invoke Noesis using ?cmode.
Truthkey wrote:Also, when I export to FBX from Noesis, the exported file doesn't seem to be up to date.
-fbxnewexport

SmashFan127
advanced
Posts: 51
Joined: Sun Jun 17, 2012 2:09 am
Has thanked: 5 times
Been thanked: 1 time

Re: Señor Casaroja's Noesis

Post by SmashFan127 » Mon May 13, 2013 2:22 pm

Hey, MrAdults. I don't know if it has been done yet, but can you please add a feature to import models from Wild Arms 3?

Post Reply