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 »

Sorry, Edge stuff is a work-related conflict of interest for me now, so no comment.
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 274 times

Re: Señor Casaroja's Noesis

Post by howfie »

lol, no problem rich hahahahaha i will eventually figure it out.
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 know there is a binary find tool, but I'm not sure if it actually works from a Noesis script.
Bascally I'm trying to find certain byte groups within a NoeBitStream() and get their position.

I'm currently using

Code: Select all

def SearchChunk(self,byteArray,readFlag=1):
        found = 0
        byte1 = int(byteArray[:2],16)
        type2 = len(byteArray[2:])//2
        if type2 == 2:
            byte2 = int(byteArray[4:]+byteArray[2:4],16)
        else:byte2 = int(byteArray[2:],16)
        while found!=1:
            byte = self.data.readByte()
            if byte == byte1:
                if type2 == 2:flag = self.data.readShort()
                else:flag = self.data.readByte()
                if flag ==byte2:found=1
        if readFlag == 0: self.data.seek(-3,1)
        return
to find chunk headers and

Code: Select all

def findGEOM(self):
        fName=rapi.getInputName().split('\\')[-1]
        dirPath = rapi.getDirForFilePath(rapi.getInputName())
        f = open(dirPath + "/" + fName,'rb')
        file = f.read()
        f.close()
        offset = file.find(b"GEOM")
        self.data.seek(offset)
to find strings

But this isn't really efficient or failsafe. Just wondering what your input on this was.


EDIT:
I changed my string method to the following, which I guess is as good as any other.

Code: Select all

o3d = rapi.loadPairedFileOptional("Skeleton File","o3d")
offset = o3d.find(name.encode('utf-8'))
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 couldn't tell you what the absolute best Python method is for finding data in a bytearray, cause I'm not all that well-versed in Python myself. But I bet it's a question that's been addressed on stackoverflow.com if you can manage to figure out the right thing to search for.
Alsair
advanced
Posts: 66
Joined: Fri Jun 15, 2012 10:55 am
Has thanked: 4 times

Re: Señor Casaroja's Noesis

Post by Alsair »

Would be cool if Noesis in the future adds support for model creation and modification, what do ya say MrAdults, is it part of your plans?
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 »

Sorry for disappearing for a week again. My life is hell and stress and chaos.

I don't have any plans to really expand the visual editing capabilities of Noesis. It's meant more for processing of an automated nature. But you can build all of those things into it via the plugin framework, so anyone is free to if they really want to. There's a triangle picker plugin up on the official Noesis plugins repo that demonstrates how you'd go about something like that. All it does is let you select triangles of a(n optionally animated) model and export the selection as another model, but you could do anything you want there from assorted modeling functions to a full-blown topology-based modeling tool.

You can also override the rendering completely (that particular plugin just demonstrates rendering on top of the existing scene) and you have all the data you need to replace the base model renderer. So there's that too.
Justdragos
advanced
Posts: 69
Joined: Tue Feb 21, 2012 8:19 am

Re: Señor Casaroja's Noesis

Post by Justdragos »

Hy guys! Is there any way to export maps or animation from dragon ball raging blast?
I am willing to donate 15 euro to the person who cand help me do that:D.
kilian277
ultra-n00b
Posts: 9
Joined: Sat Oct 13, 2012 2:45 pm
Has thanked: 2 times

Re: Señor Casaroja's Noesis

Post by kilian277 »

Any change of getting multiexport , like that you can select multiple items in the listview and then export them all together ?

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

Wrote an export plugin. When exporting a .GMO which has external texture file, texture count always be zero (i.e. pmdl->matData->numTextures zero). also can't get texture's filenames. Help plz.

(the obj dae exporters can find the texture filename)
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 »

That's because there are no textures. Get the reference name from the material, and manually load up external textures as seen in the Quake 2 MD2 exporter code.
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 »

Was it you that submitted a Noesis GMO crash report? Your bone reference index is garbage in whatever broken model you tried to load, if so.

It's easier for me to find crashes like that in the loader if you simply send me your data.
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 »

MrAdults wrote:Was it you that submitted a Noesis GMO crash report? Your bone reference index is garbage in whatever broken model you tried to load, if so.

It's easier for me to find crashes like that in the loader if you simply send me your data.
I remember noesis didn't crashed, crashes I can recall are caused by my noesis plugin.

(If so, tell me file name, I can get I have it or not)
Last edited by kawayide on Mon Aug 05, 2013 1:48 pm, edited 3 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 just some random file on someone's desktop. Probably incorrectly-extracted garbage or something.
itoikenza
advanced
Posts: 52
Joined: Sat Jan 07, 2012 2:24 am
Has thanked: 9 times
Been thanked: 2 times

Re: Señor Casaroja's Noesis

Post by itoikenza »

MrAdults wrote:Select a bone in the data viewer, then over the model preview, hold shift+left mouse and move the mouse around. It will modify the selected bone's rotation offset. As for individual frame export from the in-preview bone transforms, maybe at some point.
MrAdults is this broken "hold shift+left mouse" ? cause i tried with a paine.fbx and no dice...

oh and i haven't forgotten about helping you get your hands on a Qumarion. they just have been slow on allowing imports to addresses outside of japan, plus i don't have the funds yet...
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 works, it's probably just being overridden by animation transforms. I need to redo all of that crap and make it stack correctly sometime.

So, hit F12 or click middlemouse to reset the view and stop any animations, and the shift+click bone transforms should work.
Post Reply