Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Spotlight: Señor Casaroja's Noesis

General game file tools that are useful for more than one game
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Señor Casaroja's Noesis

Post by finale00 »

If you look at the obj file, it indicates which material is used for each mesh (usemtl)

I'm not sure if this is part of the specs, but maybe the blender importer does not load materials directly when it goes through the obj file and depends on a mtl file.
jackjack45
ultra-n00b
Posts: 6
Joined: Thu Feb 23, 2012 3:07 am

Re: Señor Casaroja's Noesis

Post by jackjack45 »

If that is the case, where do I get or how do I make a .MTL file? Also, I just looked at several of the other files I had downloaded and those from Dissidia all have a MTL file.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Señor Casaroja's Noesis

Post by finale00 »

Does anyone know how to parse XML files using python's XML libraries in noesis?

Also, I'm working with a format that stores a bunch of images in a single external file.
I have written a function to go and open the file and parse the data, and create a bunch of texture objects in my tex list.

Is there a way to make it so that I can write a separate texture plugin that will parse a list of textures, and still have the materials reference them by name?
Demonsangel
mega-veteran
mega-veteran
Posts: 241
Joined: Fri Aug 05, 2011 9:31 pm
Location: Antwerp
Has thanked: 13 times
Been thanked: 41 times

Re: Señor Casaroja's Noesis

Post by Demonsangel »

The bones for Noesis in NoeMat43 format, do they need the position (1*3) first or the axis(3*3)?
hatyn
advanced
Posts: 47
Joined: Fri Dec 16, 2011 8:30 pm
Has thanked: 2 times
Been thanked: 3 times

Re: Señor Casaroja's Noesis

Post by hatyn »

i love you guys
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

NoeMat43's are axis then translation, when looking at the data from a flat struct perspective.

The XML Python lib should be capable of assisting in XML parsing, and they're already included in the Noesis Python 3.2.1 distribution. As to how to use them, I have no idea, I haven't used them myself yet.
Milesgboy
advanced
Posts: 44
Joined: Sat Jul 03, 2010 5:02 pm
Has thanked: 3 times
Been thanked: 1 time

Re: Señor Casaroja's Noesis

Post by Milesgboy »

Is there a chance of seeing shadowmoy's work with Bleach Soul Ignition to be put into a newer Noesis build? Of course that would mean for Shadowmoy to give consent to that. I just feel like that should get completed, and would like to see the models without deformities of bad meshes.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Señor Casaroja's Noesis

Post by finale00 »

lol I just realized how much time I managed to waste by calling the ConstructModel function every time I finish parsing a file.

When I told it to start constructing the model after everything was parsed, the amount of time required made more sense.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

I'm finally getting around to checking out the now 50-something crash logs. I'm noticing quite a few of you are reporting crashes from opening ff9anm files. You're only getting crashes because you're opening the wrong ff9anm file with the wrong ff9mdl file. Nothing I plan on doing about that, so there's no reason to continue submitting them. Just saying so hoping that I can save myself the trouble of having to look at more of them.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Señor Casaroja's Noesis

Post by finale00 »

lol I haven't sent any crash reports yet.

I'm writing an export plugin but not sure of the best way to do it.
From the example, you're directly accessing the objects' attributes and writing them to the bitstream directly. Is this the preferred way of doing things?

Also how do I get model materials/textures?
It's stored in mdl.modelMats but it seems to be None even though there are materials assigned? Not sure if this is a bug.

Code: Select all

Noesis console mode activiated.
Noesis initialized.
Source file: item_DGR_FloatingBoard.xx
Dest file: test.xx
Options:
===
Output extension has set output file type to:
.xx - Illusion
Detected file type: Illusion
Loaded model materials:  <inc_noesis.NoeModelMaterials object at 0x0BFFBFF0>
Writing 'i05_22_00.bmp'.
Model materials during export:  None
Cleaning up...
Wrote file to test.xx.
Cleaned 8.00MB (in 2 pools).
It looks like when the model was loaded, modelMats contained something, but then during export it got lost...
jackjack45
ultra-n00b
Posts: 6
Joined: Thu Feb 23, 2012 3:07 am

Re: Señor Casaroja's Noesis

Post by jackjack45 »

Hey guys, so I figured out what command line I was missing when trying to get Noesis to preserve UV Mapping in an .OBJ format. But I have two questions now.

1: I remember back when using mesh2rdm, the line -ignoreroot would leave the model in a T-Pose, which was perfect for rigging (which is what I'm practicing). When using the line in Noesis (the latest version) it doesn't export the model in a T-Pose. Why is that and what is the new command line for exporting in a T-Pose? (I am using the Dissidia Duodecim Models, BTW and am extracting their battle models, not cinematic models, if that makes any difference). The point here is I want a model with the textures in a T-Pose so that I can practice different rigging methods in Blender (weight painting, parenting the skeleton to the mesh, whatever).

2: I exported the stages from Dissidia Duodecim as well and ran into some issues with them, particularly Order's Sanctuary. I don't know if it's because of all the meshes and textures it uses, but I can't get the floor or the green grinding rails to go transparent and render as they do in-game. I noticed Noesis does do this in the model preview and I was wondering what command lines I might be missing.

I use the lines:
-objmtl -flipuv

Any ideas, tips and/or help would be much appreciated. Sorry if someone already asked this or something similar beforehand, but I might have missed it when I went through the almost 60 pages of this thread.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

finale00: A bug was preventing the model materials from being set for Python export scripts. Fixed in 3.83, which I just put up. It's mostly a bugfix release because it's the result of all the crash reports I've been sifting through in my spare time over the last couple of days.

Code: Select all

 -3.83 - Added a viewing mode for UV coordinates. (select "UV view"/"LMUV view" under the desired mesh in the data viewer)
 -3.83 - NMD files from SC5 are now loadable.
 -3.83 - Fixed a bug preventing materials from being assigned for Python export scripts.
 -3.83 - Fixed a bug where Noesis could overflow its message pump by spamming too many paint messages, causing the program to sometimes become unresponsive. The new behavior can still be reverted by enabling the "Disable message throttle" System setting, but this is not recommended.
 -3.83 - Fixed a COLLADA import crash, when a controller node instance does not reference a valid entity.
 -3.83 - Fixed an OBJ import crash when the file has out-of-range indices.
 -3.83 - Fixed a crash when attempting to load TEX files with bad mip offsets.
jackjack45: You're mistaken, -ignoreroot never had that functionality for any format, and it only ignores translation data on unparented bones in animation data. (and it's probably broken for that purpose by now too, haven't checked it in forever and it was initially a hack added for my personal content pipeline with only md5anim in mind) Old versions of mesh2rdm may have given you bindpose geometry because they didn't correctly interpret GMO skeletons or animation data. Noesis doesn't support exporting raw bind poses for GMO files because it's unreliable. (many games store only weighted bones in the bind pose) If I ever support doing that it will be as a non-default option, but I don't plan to spend time on that right now or any time soon, too many more important things in the queue.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Señor Casaroja's Noesis

Post by finale00 »

Great, I was wondering if I was supposed to use an API call to grab the materials, or the data is somehow hidden away from me lol

Sounds like a major bug fix
Last edited by finale00 on Tue Mar 06, 2012 8:20 am, edited 2 times in total.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

It was a big bug, but I guess no one had tried exporting materials in Python scripts, and it's worked fine for native plugins all along. (I haven't actually seen any exporters written by people other than me at all up to this point) I should also note that textures still won't be set, they're flushed after import for memory-conservation purposes. Plugins/scripts that want to export textures in the actual model file have to handle reloading the textures themselves. (you can use the same methods you would use to load external textures on import for that)
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Señor Casaroja's Noesis

Post by finale00 »

Reload the textures as in like manually open them and stuff?

What if the textures are stored in the input model originally? Write them out during the parsing step?
Post Reply