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
Kerilk
beginner
Posts: 26
Joined: Sun Aug 27, 2017 2:08 pm
Has thanked: 4 times
Been thanked: 14 times

Re: Spotlight: Señor Casaroja's Noesis

Post by Kerilk » Tue Sep 26, 2017 6:37 pm

Hello,

I have added support (more or less, some things still come out screwed up) for animation to the pc version of the plugin for Bayonetta. I usually load several animation at the same time as they are packaged together.
I have a list of animation created by:

Code: Select all

	noesisAnim_t *anim = rapi->rpgAnimFromBonesAndMatsFinish(bones, bone_number, matrixes, hdr.frameCount, 60);
	anim->filename = rapi->Noesis_PooledString(fname);
	anim->aseq = rapi->Noesis_AnimSequencesAlloc(1, hdr.frameCount);
	anim->aseq->s->startFrame = 0;
	anim->aseq->s->endFrame = hdr.frameCount - 1;
	anim->aseq->s->frameRate = 60;
	anim->aseq->s->name = rapi->Noesis_PooledString(fname);
	if (anim)
	{
		animList.Append(anim);
	}
And I then use them this way:

Code: Select all

	int anims_num;
	noesisAnim_t *anims = rapi->Noesis_AnimsFromList(animList, anims_num);
	rapi->rpgSetExData_AnimsNum(anims, anims_num);
I tried with and without anim sequence, but I can't seem to be able to switch between animations and I only ever see the first one.
Any idea of how I can switch between several animations?

Thanks

User avatar
Tosyk
double-veteran
double-veteran
Posts: 934
Joined: Thu Oct 22, 2009 10:24 am
Location: Russia, Siberia
Has thanked: 225 times
Been thanked: 110 times
Contact:

Re: Spotlight: Señor Casaroja's Noesis

Post by Tosyk » Mon Oct 02, 2017 8:31 pm

is there a special guide to render with shaders? for example a car body
Thank you for all you do here
my blog | my forum

Kerilk
beginner
Posts: 26
Joined: Sun Aug 27, 2017 2:08 pm
Has thanked: 4 times
Been thanked: 14 times

Re: Spotlight: Señor Casaroja's Noesis

Post by Kerilk » Mon Oct 09, 2017 7:22 pm

You can disregard my previous question. I found out that you can switch between anims in the data viewer if they are created with:

Code: Select all

int anims_num = animList.Num();
noesisAnim_t *anims = rapi->Noesis_AnimFromAnimsList(animList, anims_num);
rapi->rpgSetExData_AnimsNum(anims, 1);

User avatar
itoikenza
advanced
Posts: 52
Joined: Sat Jan 07, 2012 2:24 am
Has thanked: 9 times
Been thanked: 2 times

Re: Spotlight: Señor Casaroja's Noesis

Post by itoikenza » Mon Oct 23, 2017 8:44 pm

MrAdults. you ignored me... i never got around to buying a qumarion for this app... does the app support the newest kinect? i went back in this thread but didn't find any info...

edit: i saw your notes on kinect. and it seems to still run on the 360 model... no?

TRDaz
mega-veteran
mega-veteran
Posts: 203
Joined: Sat Sep 24, 2011 7:06 pm
Has thanked: 67 times
Been thanked: 24 times

Re: Spotlight: Señor Casaroja's Noesis

Post by TRDaz » Fri Oct 27, 2017 11:31 am

So I've been working on a script recently and have figured out it's bones and weights to load, however some of the meshes include physic parts and they have their own weights, but the skeleton doesn't have bones for them. Because of this, no bone gets loaded so either the script errors when it tries to connect the bone map to the skeleton or if I have it skip, it will load all of the weights wrong.

Does anyone know if there is a function in Noesis that allows it to create bones based on the bone map list? This is the only way that I think could be a way around the problem, by creating bones for the physic weights so that it doesn't error or load weights wrong, unless someone else knows of a fix instead. Thanks!

EDIT: Nevermind! I realised I could just create a new bone with the bone name and it works out just fine.

User avatar
zheneq
advanced
Posts: 42
Joined: Fri Jul 17, 2015 6:09 am
Location: Moscow, Russia
Has thanked: 6 times
Been thanked: 25 times

Re: Spotlight: Señor Casaroja's Noesis

Post by zheneq » Sun Oct 29, 2017 9:01 am

I've been working with Wii games lately, and they tend to use separate buffers for positions, uvs, normals, etc. and separate index lists into these buffers. I usually go the most straightforward way and build trilists of vertices, which leads to heavily unoptimized meshes. I could find all of the unique combinations of pos+uv+etc and make an index list for that, or I could let rapi.rpgOptimize sort it out but it would mean building new binary buffers for it. Neither looks very good. Maybe there is a better way to handle this situation?


UPD: I guess Immediate-mode drawing is the answer. Got vertex count almost 5 times down with it and rpgOptimize.

PS: Nothing makes your meshes as unoptimized as an extra tabulation does.

User avatar
zheneq
advanced
Posts: 42
Joined: Fri Jul 17, 2015 6:09 am
Location: Moscow, Russia
Has thanked: 6 times
Been thanked: 25 times

Re: Spotlight: Señor Casaroja's Noesis

Post by zheneq » Tue Oct 31, 2017 4:26 pm

What did I do wrong? Same thing for every bone.
You do not have the required permissions to view the files attached to this post.

Ixi
ultra-n00b
Posts: 2
Joined: Thu Jun 11, 2015 2:19 am
Been thanked: 1 time

Re: Spotlight: Señor Casaroja's Noesis

Post by Ixi » Tue Nov 14, 2017 2:44 pm

Señor Casaroja wrote: -4.2 - New "Universal Debugger" client built into Noesis. Uses a generic protocol to support disassembly, memory viewing/modification, and a variety of general debugging features under virtually any architecture and addressing mode. Debugger protocol specifies that either the client or the host may implement necessary functionality to support disassembly and other debugging interfaces.
And how to use it? I really need it but I can't find any info on how to use it. Does it require some specific emulator? Or emulator has to be modified in some way? In my case I want to attach this debugger to PCSXR but I had no luck with this so far. Also how about full support of PS1 memory map with all its mirrors, scratchpad and IO ports? Are they implemented or it can show only the main RAM region?

Starbrain
ultra-n00b
Posts: 3
Joined: Mon Nov 27, 2017 12:41 pm

Re: Spotlight: Señor Casaroja's Noesis

Post by Starbrain » Tue Nov 28, 2017 5:04 pm

I was trying to view models from Duke Nukem Forever in Noesis. The data extracted just fine from the .dat files and i have it all in one folder for each character, but i'm getting an error message and crash when i open any .msh file:

Image

Ixi
ultra-n00b
Posts: 2
Joined: Thu Jun 11, 2015 2:19 am
Been thanked: 1 time

Re: Spotlight: Señor Casaroja's Noesis

Post by Ixi » Fri Dec 01, 2017 3:24 am

Starbrain wrote:I was trying to view models from Duke Nukem Forever in Noesis. The data extracted just fine from the .dat files and i have it all in one folder for each character, but i'm getting an error message and crash when i open any .msh file:

Image
This is the best error message I've ever seen! :bahaha:

User avatar
DGIorio
beginner
Posts: 21
Joined: Sun Jan 10, 2016 11:12 pm
Has thanked: 4 times
Been thanked: 13 times

Re: Spotlight: Señor Casaroja's Noesis

Post by DGIorio » Sun Jan 21, 2018 7:38 pm

Hi,

I would like to know how to convert a Triangle Strip (with separator FF FF) to triangles. I tried doing my own function but the faces get bad oriented. It seems that Noesis has a function that may can convert the Triangles Strip (noesis.RPGEO_TRIANGLE_STRIP), but I didn't manage to use it.

I'm trying this:

Code: Select all

TriangleStrip = RenderableFile.read(IBlockSize)
Triangle = noesis.RPGEO_TRIANGLE_STRIP(TriangleStrip)
but I'm getting this error: 'int' object is not callable.

Does this function convert a Triangle Strip to triangles? What is the type of the argument?

Thanks in advance!

User avatar
zheneq
advanced
Posts: 42
Joined: Fri Jul 17, 2015 6:09 am
Location: Moscow, Russia
Has thanked: 6 times
Been thanked: 25 times

Re: Spotlight: Señor Casaroja's Noesis

Post by zheneq » Mon Jan 22, 2018 12:30 pm

DGIorio wrote:...a function that may can convert the Triangles Strip (noesis.RPGEO_TRIANGLE_STRIP)
It's not a function, it's a constant.
If you are using RPG, you want to call

Code: Select all

rapi.rpgCommitTriangles(TriangleStrip, noesis.RPGEODATA_SHORT, numIdx, noesis.RPGEO_TRIANGLE_STRIP)
Check Noesis/plugins/python/__NPExample.txt for more examples.

User avatar
DGIorio
beginner
Posts: 21
Joined: Sun Jan 10, 2016 11:12 pm
Has thanked: 4 times
Been thanked: 13 times

Re: Spotlight: Señor Casaroja's Noesis

Post by DGIorio » Mon Jan 22, 2018 10:55 pm

zheneq wrote:
DGIorio wrote:...a function that may can convert the Triangles Strip (noesis.RPGEO_TRIANGLE_STRIP)
It's not a function, it's a constant.
If you are using RPG, you want to call

Code: Select all

rapi.rpgCommitTriangles(TriangleStrip, noesis.RPGEODATA_SHORT, numIdx, noesis.RPGEO_TRIANGLE_STRIP)
Check Noesis/plugins/python/__NPExample.txt for more examples.
Thanks for these infos, but "rapi.rpgCommitTriangles" doens't ruturn what I want. However I definied a new function to convert triangle strips to triangle list and it's working pretty well.

User avatar
zheneq
advanced
Posts: 42
Joined: Fri Jul 17, 2015 6:09 am
Location: Moscow, Russia
Has thanked: 6 times
Been thanked: 25 times

Re: Spotlight: Señor Casaroja's Noesis

Post by zheneq » Thu Jan 25, 2018 6:04 pm

How do I create morph targets in immediate mode? immVertMorphIndex doesn't seem to do anything.

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

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults » Tue Feb 06, 2018 8:58 pm

There are various strip modes you can try if the default one doesn't work, as well as an option to set the terminating index. (pretty common back in the PS3/360 days, people don't tend to bother with strips as much these days)

The morph stuff requires you to commit separate buffers for positions/normals (as many as you need), and immVertMorphIndex specifies the index into those buffers for the vertex you're presently committing.

That DNF bug was fixed quite a few months back, the same time I added DNF animation support.

It's pretty common for me to go months without checking this thread, so if you want a reply from me specifically, you can track me down elsewhere. But I don't promise to not ignore you. (but I probably won't ignore you if you're trying to actually make something in Noesis)

Post Reply