Join also our Discord channel! Click here.

Spotlight: Señor Casaroja's Noesis

General game file tools that are useful for more than one game
dragbody
veteran
Posts: 126
Joined: Tue Sep 20, 2011 4:33 am
Has thanked: 137 times
Been thanked: 10 times

Re: Señor Casaroja's Noesis

Post by dragbody » Fri Sep 20, 2013 6:26 am

Mr. Adults,

I love Noesis. I use it literally every day. I'm glad to see you still offering support and updates for it. To help enrich the program, I have three suggestions/questions.

First, is it possible that you can make the global UV flip a function that can be hotkeyed? If there is already a way to do this, could you please advise me on it?

Second, I'm unsure of what the "export from preview" function is for. I hoped it would convert only the meshes rendered in the preview window but this does not seem to be the case. Can you add, or is there already, an option that will avoid the conversion of meshes that have been skip-rendered? This way, if there are multiple LODs in the same mesh, we would be able to convert the model with only the highest LOD.

Third, is there a way to preview multiple models at the same time?

Thank you again. I can't imagine modding without Noesis!

User avatar
howfie
double-veteran
double-veteran
Posts: 930
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 268 times

Re: Señor Casaroja's Noesis

Post by howfie » Fri Sep 20, 2013 9:02 am

indeed, the ability to lock currently loaded models in the viewport (so they stay when a new model is loaded) would be extremely useful.

User avatar
lionheartuk
double-veteran
double-veteran
Posts: 716
Joined: Tue May 16, 2006 10:55 pm
Location: Tokyo, Japan
Has thanked: 28 times
Been thanked: 34 times

Re: Señor Casaroja's Noesis

Post by lionheartuk » Fri Sep 20, 2013 7:04 pm

MrAdults wrote:Adding support for FF8's world map format wouldn't be inherently complex, it would just require figuring the format out. Assuming no one else has already. I'm sure it would be a fraction of the effort that figuring out the battle model and animation format was, but it's not really on my radar because it requires a non-0 level of effort.

Also,
-4.0863 - Added rapi.imageFromMortonOrder and rapi.imageToMortonOrder.
-4.0862 - Wine hack - Currently Wine's implementation of SHGetPathFromIDList is broken, so Noesis will display all files in the shell list when "All Files" is selected even if this function fails.
-4.0862 - Wine hack - Currently Wine screws something up with the CRT when the Noesis preview module is reloaded. This doesn't happen when the CRT is dynamically linked, but switching from static linking just because Wine is broken would be a bad idea. To work around the Wine bug, browse to your file in the shell view using the above-mentioned hack and use the standard export option instead. Thanks to Riker191 for sending me the Wine crash reports that allowed me to track this crap down.
-4.0862 - Updated Noesis core module to new VC runtimes.
Ah thanks for the reply.

Oddly it appears that both the FF8 and FF9 (especially 9 for some reason) are much more difficult than everything else, well, not EVERYTHING, but a lot of stuff, ie: there are people over at the quimm forums who've ripped 8 and 9 apart, and even (like noesis) gotten more or less everything out of 9, however they're still stumped on the world map.

I'm not as interested in the FF8 world map as I am 9 (9's is just nicer to look at, 8's is all brown for like half the world), I'd be happy to send over the FF9 world map file from my disc if you'd like, it'd be no trouble at all.
"Lemons are people nice hardworking & honest people too..."

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

Re: Señor Casaroja's Noesis

Post by MrAdults » Sat Sep 21, 2013 1:54 am

dragbody wrote:Mr. Adults,
I love Noesis. I use it literally every day. I'm glad to see you still offering support and updates for it.
Thanks.
dragbody wrote:First, is it possible that you can make the global UV flip a function that can be hotkeyed? If there is already a way to do this, could you please advise me on it?
Nope, data viewer properties can't currently be shortcutted.
dragbody wrote:Second, I'm unsure of what the "export from preview" function is for.
It exports the active preview data, including any changes that have been made in the data viewer. It also doesn't rely on the source file still existing, so that you can for example export the results of a tool script that already deleted its temporary output after loading it into the preview module.

dragbody wrote:Can you add, or is there already, an option that will avoid the conversion of meshes that have been skip-rendered? This way, if there are multiple LODs in the same mesh, we would be able to convert the model with only the highest LOD.
It's up to the importer to handle that desirably, the "skip render" preview option exists only to hide data that exists, not keep it from being exported. I usually write importers to import LOD's as separate models to sidestep that problem.
dragbody wrote:Third, is there a way to preview multiple models at the same time?
That's what .noesis files are for. There's a model merger tool script that's been around that will pick up all models of a given type in a folder, generate a .noesis file for them, and load it. There's also this script that I just put up:

http://code.google.com/p/noesis-plugins ... context.py

It's basically the same thing, but it's a bit more convenient for mixing bits selectively. It adds a "Batch Load - Queue File" item to your right-click context menu for model files. After you queue an item, you get an additional 3 context items to List, Load, and Clear. They have tool tips telling you what they do. Once you mash your models together, you can then optionally use "Export from preview" to export the whole mess. You could get more creative here and add another interface to manage the queue or whatever, but I think the existing 2 scripts should cover most desired usage cases.

lionheartuk: I don't have any interest in the world map(s) myself, I don't see them ever managing to juggle up near the top of my endless todo list.

kawayide
beginner
Posts: 37
Joined: Wed Nov 09, 2011 2:03 am
Has thanked: 7 times

Re: Señor Casaroja's Noesis

Post by kawayide » Sat Sep 21, 2013 4:35 am

I can't remember ff8 has any scale in bone when I play game.
I'm interested in where is and what's the format of G.F model, and special tech animation.
I thought there're in same place as battle model's, but I can't ripped by noesis and other tools on the net.

dragbody
veteran
Posts: 126
Joined: Tue Sep 20, 2011 4:33 am
Has thanked: 137 times
Been thanked: 10 times

Re: Señor Casaroja's Noesis

Post by dragbody » Sat Sep 21, 2013 7:12 pm

Thanks for sharing the batch loader. That will be so useful! And thanks for your response on the other questions.

Satoh
mega-veteran
mega-veteran
Posts: 195
Joined: Sat May 09, 2009 3:07 pm
Has thanked: 13 times
Been thanked: 35 times

Re: Señor Casaroja's Noesis

Post by Satoh » Mon Sep 23, 2013 5:15 pm

Every time I start a script for Noesis I run into the problem of naming conventions...
Namely that I can't figure out how to access the filename of the file I'm viewing.

Most of the models I view are PSX/2 era models, and thus have no texture or model names stored in their archives, meaning I have to generate a new name for each texture myself.

A lot of the plugins so far just use tex_#.png/.bmp, and that's problematic, because every model that gets exported overwrites those textures... the simplest solution is to use the input filename_#.png.... but I can't figure out how to actually GET that name...

How do I get that name?


EDIT:
Somehow I missed the line about rapi.getInputName()

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

Re: Señor Casaroja's Noesis

Post by MrAdults » Tue Sep 24, 2013 3:13 pm

There's actually a caveat to getInputName, which is that it gets the name of the file that's been loaded into the RAPI module instance. Which means if your model is being loaded through a .noesis file, it will actually give you the name of the .noesis file and not your model. The same goes if your plugin is loading a texture for a model it's dependent upon. For your purposes, you probably want something like this instead:

Code: Select all

texName = rapi.getExtensionlessName(rapi.getLocalFileName(rapi.getLastCheckedName())) + "_your_texture_name"

Satoh
mega-veteran
mega-veteran
Posts: 195
Joined: Sat May 09, 2009 3:07 pm
Has thanked: 13 times
Been thanked: 35 times

Re: Señor Casaroja's Noesis

Post by Satoh » Tue Sep 24, 2013 3:27 pm

MrAdults wrote:There's actually a caveat to getInputName, which is that it gets the name of the file that's been loaded into the RAPI module instance. Which means if your model is being loaded through a .noesis file, it will actually give you the name of the .noesis file and not your model. The same goes if your plugin is loading a texture for a model it's dependent upon. For your purposes, you probably want something like this instead:

Code: Select all

texName = rapi.getExtensionlessName(rapi.getLocalFileName(rapi.getLastCheckedName())) + "_your_texture_name"
Yeah I discovered that myself too, but thanks for the heads-up!

Now if I could just get this face buffer to stop telling me it failed... I swear I never get this face buffer thing right no matter how many times I try...

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

Re: Señor Casaroja's Noesis

Post by MrAdults » Thu Sep 26, 2013 4:39 am

Some new stuff from yesterday and today.
-4.0868 - Added rapi.mergeKeyFramedFloats. It will take a list of keyframed data lists, and convert it into a multi-element keyframe data list. Useful if you want to do something like take 3 separate X/Y/Z keyframe tracks and convert them into a single XYZ track.
-4.0868 - Fixed a typo in NoeKeyFramedValue.
-4.0868 - Fixed a crash when running out of memory on TGA export.
-4.0867 - Fixed a timing issue in Noesis_AnimFromBonesAndKeyFramedAnim.
-4.0866 - Added NoeKeyFramedAnim, NoeKeyFramedBone, and NoeKeyFramedValue. You can attach NoeKeyFramedAnim lists to a model the same way you would attach NoeAnim lists. Keyframed animations support a variety of data types and interpolation modes.
-4.0866 - Fixed a crash when committing vertex weight indices without weight values.
-4.0866 - Fixed a bug that would cause Python-created animations to have an internal framerate of 20 regardless of the framerate specified on the NoeAnim. (wasn't immediately obvious, because Noesis doesn't use that value to determine playback rate)
I guess keyframed anim support was long overdue, I just hadn't thought about it in a long time. Until I wanted to do something that needed it the other day. I'll also probably implement hermite/bezier/etc. interpolation for translations at some point, if I or someone else ever ends up supporting a game that actually uses it. Currently the only interpolation modes are nearest and linear.

Satoh
mega-veteran
mega-veteran
Posts: 195
Joined: Sat May 09, 2009 3:07 pm
Has thanked: 13 times
Been thanked: 35 times

Re: Señor Casaroja's Noesis

Post by Satoh » Thu Sep 26, 2013 2:05 pm

Speaking of animation... I'm having a somewhat familiar issue...

This is a longshot I know, but I was wondering if you had any advice on how I could go about generating bones for models that have no bind pose...
I'm working with the FF8 MCH field models (which I noted Noesis doesn't support yet, at least in my revision) and it has that same issue that FF9 did and presumable the FF8 battle models...

Bones are defined with only two characteristics: The ID of their parent, and a length...
So far I've been unable to create a matrix that properly applies this length to the bones, so I was assuming I would have to use whatever extra information was in the animations to create them...
Problem being, I don't know what I should be looking for, or even what a proper bone matrix looks like...

That said, any suggestions, whether I immediately understand them or not, would probably be helpful in the long run...

How did you deal with FF8's bone structures?

I tried this:
bone = NoeBone(i,"bone"+str(i),NoeMat43(( NoeVec3((1.0, 0.0, 0.0)), NoeVec3((0.0, 1.0, 0.0)), NoeVec3((0.0, 0.0, 1.0)), NoeVec3((0.0, length, 0.0 )) ) ))

But it created bones with really weird lengths, so I'm guessing that's NOT the correct way to do it.

EDIT: I'm not even sure if I'm asking the right question

EDIT:
I still don't quite know how to handle the animation support just yet, but chrrox came through with a bit of help. I didn't know about the multiplyBones function. That solved oh so many of my issues. The rest is icing on the cake now.

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

Re: Señor Casaroja's Noesis

Post by MrAdults » Fri Sep 27, 2013 1:41 am

Yeah, multiplyBones will put your bones in model space. But you still need rotations for them to look right. I never looked at the FF8 field models, so I couldn't tell you anything about their animation format. But presumably that's the only place to get rotations and they don't store any kind of base pose since there'd be no real reason for them to.

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 » Tue Oct 08, 2013 6:24 pm

Anyway of getting Revelations old Raging Blast Plug-in to work with the newer Noesis? Since when you would click the .Spr file in there it would open a dialogue box for picking the next file ioram and Vram file of the same name. Now it just says file cannot be previewed and says if you try to export it that the file type can't be determined. So I assume it was something with a newer version of Noesis that is making this happen.

Darko
double-veteran
double-veteran
Posts: 708
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 71 times
Been thanked: 120 times

Re: Señor Casaroja's Noesis

Post by Darko » Tue Oct 08, 2013 7:28 pm

Milesgboy wrote:Anyway of getting Revelations old Raging Blast Plug-in to work with the newer Noesis? Since when you would click the .Spr file in there it would open a dialogue box for picking the next file ioram and Vram file of the same name. Now it just says file cannot be previewed and says if you try to export it that the file type can't be determined. So I assume it was something with a newer version of Noesis that is making this happen.
It actually works:

Image

Check your pugins folder or re-download the raging blast dll or even redownload noesis.
Image

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 » Tue Oct 08, 2013 11:41 pm

Yeah I redownloaded it both and got the newest version. Even check the msvc runtimes redownloaded them. Now I'm wondering if Noesis just did a bad rip or something. Since I didn't have this problem before when I tried a few months back.

Edit: Nevermind I did a bad rip that is all.

Post Reply