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
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 »

-3.98 - Added Silent Hill: Homecoming model/texture import and archive extraction support.
-3.98 - Specular maps are now used by default (if present) in render preview.
-3.98 - Corrected a bug causing W component of tan4's to be incorrectly preserved when binding buffers in the RPG interface.
-3.98 - Specular color material property is no longer readonly.
-3.98 - Fixed a new COLLADA export bug which was introduced in 3.97.
-3.98 - Added RPGOPT_DERIVEBONEORIS, which will automatically generate bone orientations from vertex weights when using the RPG interface.
-3.98 - Added RPGOPT_FILLINWEIGHTS, which will automatically fill in vertex weights from bone orientations when using the RPG interface. Only applies to meshes which have no vertex weights.
-3.98 - Added rpgConvertTangents, to generate tan4 components from full tangent matrices.
The SH:H support is hacked together and partially based on my old Scarlet code which was horrible. Skeletons don't always load correctly and weights don't always look correct. They work for Alex and some of the other main characters though. The weights required 2 levels of mapping (raw weight to local map to model-skeleton map) and the format is generally terrible. It's what prompted me to get the spec stuff working right again though.
RacingFreak
veteran
Posts: 136
Joined: Fri Feb 11, 2011 10:44 am
Location: Bulgaria
Has thanked: 50 times
Been thanked: 19 times

Re: Señor Casaroja's Noesis

Post by RacingFreak »

Great work MrAdults. I would love to see a Delete Zero Area/Degenerate Faces option - these are usually strip/fan connections and often appear on few models (rarely, but a pretty big problem) as ripped by DXRip. Will be greatly appreciated!

Pic below:
You do not have the required permissions to view the files attached to this post.
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 »

Use -killdupfaces.
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 »

How did you make the shortcut mapping interface?
I think it is one of the better shortcut setup things I've seen. Well, most programs don't even allow you to set up your own shortcuts!
arcanis
ultra-n00b
Posts: 3
Joined: Sun Apr 15, 2012 4:25 pm

Re: Señor Casaroja's Noesis

Post by arcanis »

Is it possible to using interpolated keyframe animations instead of using bones / rigging ? I have tried -noskel, but it doesn't seem enough (I still see references to bones in the exported files).

I'm trying to workaround this issue in a library which does not seems to handle smooth animations with bones.

(I don't have any 3d skill, so maybe I'm saying something wrong ?)
RacingFreak
veteran
Posts: 136
Joined: Fri Feb 11, 2011 10:44 am
Location: Bulgaria
Has thanked: 50 times
Been thanked: 19 times

Re: Señor Casaroja's Noesis

Post by RacingFreak »

MrAdults wrote:Use -killdupfaces.
Sorry, that didn't work :/

Maybe it's not degenerated faces but the zero area strip fan connections that are seen (these are invisible). Any help? If needed I can add example.
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 »

I'm having some trouble with blend modes. I'm trying to put the emis file attached below on top of the diff one.
However I can't seem to make the area around the wings transparent. I've tried plenty of variations of the blend codes but I can't seem to get rid of them. The pic below is made with the (GL_ONE, GL_ONE)
Image
which did work for other models:
Image
https://www.dropbox.com/sh/qbct1tjyv7al ... Pv5TUX/dds

Edit: When using .noesis files to merge the model in the first pic with it's head noesis renames all the textures to nothing_### because both models use the same textures so the names "conflict".
Is there an option to disable this behavior or would it be possible to add a cmd to .noesis files to 'merge' textures with the same name?

Edit2: :P While merging the 2 models, the main model already has the bones needed for the head, but they're placed at the root. Is there a way to update these bones wth the position data of the head model file?
as you can see the head doesn't have any bones in it and there's a gap between head and torso:
Image
when i select a bone that should normally be positioned at the head it's ar root because that's how it's defined in the body file:
Image
while selecting the same bone (ignore the fact first pic says right) in the head only model:
Image

Code: Select all

NOESIS_SCENE_FILE
version 1
physicslib      ""
defaultAxis      "0"
sharedAnims  "1"
object
{
   name      "michael"
   model      "Michael_Big.gobj"
   offset      "(0 0 0)"
   rotate      "(0 0 0)"
}
object
{
   name      "head"
   mergeTo      "michael"
   mergeBones   "2"
   model      "Michael_big_head.gobj"
   offset      "(0 0 0)"
   rotate      "(0 0 0)"
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 »

RacingFreak wrote:
MrAdults wrote:Use -killdupfaces.
Sorry, that didn't work :/

Maybe it's not degenerated faces but the zero area strip fan connections that are seen (these are invisible). Any help? If needed I can add example.
You didn't do it right, then.
Before:
http://i45.tinypic.com/j7q0le.png
After:
http://i46.tinypic.com/afgb49.png

You do know how to use option switches, right? You put them in the "advanced commands" list when exporting. killdupfaces eliminates all redundant and degenerate triangles.
arcanis wrote:Is it possible to using interpolated keyframe animations instead of using bones / rigging ? I have tried -noskel, but it doesn't seem enough (I still see references to bones in the exported files).

I'm trying to workaround this issue in a library which does not seems to handle smooth animations with bones.

(I don't have any 3d skill, so maybe I'm saying something wrong ?)
I assume you mean vertex animation instead of bone animation. That seems unwise unless you have very simple geometry and frame counts. But exporting a skeletally animated model to a vertex animated format like MD3 will auto-bake the skeletal anims into vertex anims. Of course then you need to figure out how to import the MD3 into whatever format your thing needs. They can't blame COLLADA if they aren't interpolating correctly between keyframes, though, that is their own fault.
finale00 wrote:How did you make the shortcut mapping interface?
I think it is one of the better shortcut setup things I've seen. Well, most programs don't even allow you to set up your own shortcuts!
I'm not sure what you're referring to. Do you mean the file associations dialog, the ability to register your own -options in the plugin API, or something else?

Demonsangel: It looks like you are getting proper additive blending, the "opaque" bits of the wings in that shot are actually transparent and additive-blended. Maybe you need an alpha blend there instead. I added actual blend constants in the last Noesis build which will make your code a bit more readable to use than the hard-coded blend numbers:

Code: Select all

	PYNOECONSTN(NOEBLEND_NONE),
	PYNOECONSTN(NOEBLEND_ZERO),
	PYNOECONSTN(NOEBLEND_ONE),
	PYNOECONSTN(NOEBLEND_SRC_COLOR),
	PYNOECONSTN(NOEBLEND_ONE_MINUS_SRC_COLOR),
	PYNOECONSTN(NOEBLEND_SRC_ALPHA),
	PYNOECONSTN(NOEBLEND_ONE_MINUS_SRC_ALPHA),
	PYNOECONSTN(NOEBLEND_DST_ALPHA),
	PYNOECONSTN(NOEBLEND_ONE_MINUS_DST_ALPHA),
	PYNOECONSTN(NOEBLEND_DST_COLOR),
	PYNOECONSTN(NOEBLEND_ONE_MINUS_DST_COLOR),
	PYNOECONSTN(NOEBLEND_SRC_ALPHA_SATURATE),
	PYNOECONSTN(NUM_NOE_BLENDS),
(they're under the noesis module, accessible with noesis.NOEBLEND_ONE and so on)

As for your merging issues, there are 3 distinct merging behaviors:
#0 = no collapsing
#1 = collapse by name
#2 = collapse by name and reapply relative transforms
#3 = collapse by name and reapply relative transforms, retransforming geometry as well
You may want to use 3 instead of 2, in order to transform the geometry after the bones are merged. The other problem you're having might be that the main skeleton has the head bones in it already, and so the collapse is merging them into the head bones at the foot of the model. Hard to tell from what you've shown there, though.
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 »

I did formulate it a bit weird, but yes, the main skeleton already has the head-bones compressed at the root bone (xyz = 0,0,0)

so when i use mergeBones = 3 I get the following
Image

Also, using any of the noesis.NOEBLEND_ONE variants instead of the "GL_ONE" I used to use, makes my entire model dark
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 »

Demonsangel wrote:I did formulate it a bit weird, but yes, the main skeleton already has the head-bones compressed at the root bone (xyz = 0,0,0)
I see. So only the root head bone is in the correct position relative to the main skeleton? In that case, you probably want to prevent all of the other head bones from merging. To do that, you can rename those bones in one of the models by adding renameBone "oldName" "newName" entries to the object in your .noesis file.
Edit: But also keep in mind, your head needs to have its skeletal hierarchy set up properly. All of the bones should probably be children of the head root. Otherwise, when the head root merges, those bones won't be retransformed properly and they'll be relative to the root/origin of the body model instead of the merged head bone.
Demonsangel wrote:Also, using any of the noesis.NOEBLEND_ONE variants instead of the "GL_ONE" I used to use, makes my entire model dark
Then maybe it's supposed to be additive, but with alpha testing instead of blending. Try a material.setAlphaTest(0.5) or something. It's hard to say for sure without having the texture data. If you can't get it working with alpha testing, PM me the model(s)/texture(s) and your script and I can see if I can spot what's wrong.

Edit: It looks like alpha testing is not even checked for lightmap materials. This system is shitty for real multi-pass rendering. I'm adding a "nextPass" field to NoeMaterials for the next build. This way you can have infinite passes over the same geometry and it will go through the same material pipeline instead of the lightmap-optimized one that does special checks to avoid state changes. I'll post an example of how to use it once I put the build out. Probably sometime tomorrow, I don't think I'll make it home today.
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 »

MrAdults wrote: I'm not sure what you're referring to. Do you mean the file associations dialog, the ability to register your own -options in the plugin API, or something else?
View -> Interface --> Customize

The resulting dialog. Where are the setting stored?
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 »

Oh, right, that. I didn't actually make that, it's part of the standard MFC project template in MSVC2010. As is the dockable menu bar. I left both of those things in instead of gutting it all out, because I thought they were neat features. The settings themselves are all stored in the registry in HKEY_CURRENT_USER\Software\Noesis.
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 »

There's no hurry, I have no time today and I'm on call tomorrow.
BakameExcalibur
advanced
Posts: 68
Joined: Wed Feb 02, 2011 1:02 am
Has thanked: 3 times
Been thanked: 1 time

Re: Señor Casaroja's Noesis

Post by BakameExcalibur »

Whee, it seems Noesis doesn't want to fully work with Wine again. Unlike the last time I reported a Wine bug, though, Noesis at least starts. :P The trouble this time seems to be something related to Wine rather than Noesis, but I've noticed that the directory window (for lack of a better word) won't expand other directories at all, it sticks at the root directory. I'm pretty sure it's Wine's fault, since version 1.5.14 (latest is 1.5.16) still works correctly with Noesis. I don't think I've managed to get anything useful out of the terminal, but if you want me to post output, I will.

edit: Against my better judgement, I've gone and installed Windows 8... so Noesis probably should work right now that I'm actually using Windows.
You do not have the required permissions to view the files attached to this post.
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'd say that if it worked in an older WINE and stopped working in a newer one, it's their fault, and debugging it from my end would be a big pain in the ass. Even if you've decided to just use Windows, I would love it if you would go report a bug for whichever WINE distribution you're using and link to that bug report here so that other WINE users or potential WINE users can weigh in too. WINE developers generally don't give a shit about breaking things unless people make a fuss when things get broken, and it would make me happy if at least one distribution had Noesis on its compatibility goal list, since I don't expect I'll ever get to maintaining a real Linux or OSX distribution. A proper 64-bit Windows build is higher up on my list than that, and even that is discouraging, just because it's more of a pain to start adding and worrying about additional binary distributions, and the more of those I have, the more of a pain in the ass it's going to be to do public builds. Not so much because of the actual build process, but because there's going to be more environments for new things to unexpectedly break old things in, particularly considering how many unique native modules Noesis has.
Post Reply