The Forum is up for sale: XeNTaX Forum looking for new owner
Spotlight: Señor Casaroja's Noesis
-
chrrox
- Moderator
- Posts: 2602
- Joined: Sun May 18, 2008 3:01 pm
- Has thanked: 57 times
- Been thanked: 1411 times
Re: Señor Casaroja's Noesis
its a short
most developers convert shorts to floats by dividing by 32767
9729 / 32767 = 0.29691457869197668385876033814508
most developers convert shorts to floats by dividing by 32767
9729 / 32767 = 0.29691457869197668385876033814508
-
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
Mr. Adults, "Please" add native file support for super street fighter 4 whatetever's (cause i got copies of pc or 360 models,dunno which, cause i can't remember. hope pc file isn't different than 360/ps3) and maybe you can add output support to clothe em' with native files...
-
chrrox
- Moderator
- Posts: 2602
- Joined: Sun May 18, 2008 3:01 pm
- Has thanked: 57 times
- Been thanked: 1411 times
Re: Señor Casaroja's Noesis
If people want noesis to support kinect 2.0 then you could buy him a developer kit.
http://www.engadget.com/2013/06/26/next ... ndows-sdk/
http://www.engadget.com/2013/06/26/next ... ndows-sdk/
-
Darko
- double-veteran

- Posts: 723
- Joined: Mon Jul 13, 2009 6:16 pm
- Has thanked: 72 times
- Been thanked: 138 times
Re: Señor Casaroja's Noesis
Lol Kinnect 2.0 for PC, now they're gonna spy you to see if there's no more than 1 person in front of a pc, If not, they're canceling your windows llicense for license infrigement xD.chrrox wrote:If people want noesis to support kinect 2.0 then you could buy him a developer kit.
http://www.engadget.com/2013/06/26/next ... ndows-sdk/
I know, this is spam but some of M$'s policies are atupid.
-
howfie
- 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
yo rich, got a question for ya...
I coded my own PS3 index buffer decompression routine based on docs from the SDK and help from chris, but it still doesn't generate the same indices that you get. It doesn't crash and it generates valid indices, but I think something is wrong with my two-bit stream processing. I think I am doing something out of order... is the processing like so?
two bytes, 8 triangles, 2-bits per triangle
is order
11010010-10101001 -> 11 01 00 10 10 10 10 01 (bits right-to-left, bytes left-to-right)
or
11010010-10101001 -> 10 00 01 11 01 10 10 10 (bits left-to-right, bytes left-to-right)
or something else? This is my code, processing the two-bit stream is the last step, coming after processing deltas and the one-bit stream (the incremental indices step).
thx
I coded my own PS3 index buffer decompression routine based on docs from the SDK and help from chris, but it still doesn't generate the same indices that you get. It doesn't crash and it generates valid indices, but I think something is wrong with my two-bit stream processing. I think I am doing something out of order... is the processing like so?
two bytes, 8 triangles, 2-bits per triangle
is order
11010010-10101001 -> 11 01 00 10 10 10 10 01 (bits right-to-left, bytes left-to-right)
or
11010010-10101001 -> 10 00 01 11 01 10 10 10 (bits left-to-right, bytes left-to-right)
or something else? This is my code, processing the two-bit stream is the last step, coming after processing deltas and the one-bit stream (the incremental indices step).
Code: Select all
// delta processing crap
// ...
// one-bit processing crap
// ...
// process two-bit data stream
std::deque<uint32> idxbuffer;
uint08* ptr = reinterpret_cast<uint08*>(&bs[(8 + onebits_bytes)]);
uint32 new_index = 0;
for(uint32 i = 0; i < twobits_bytes; i++)
{
uint08 b[4];
b[0] = ((ptr[i] >> 6));
b[1] = ((ptr[i] & 0x30) >> 4);
b[2] = ((ptr[i] & 0x0C) >> 2);
b[3] = ((ptr[i] & 0x03));
for(uint32 j = 0; j < 4; j++)
{
uint32 size = idxbuffer.size();
if(b[j] == 0) {
uint32 i0 = idxbuffer[size - 3];
uint32 i1 = idxbuffer[size - 2];
idxbuffer.push_back(i1);
idxbuffer.push_back(i0);
idxbuffer.push_back(newlist[new_index++]);
}
else if(b[j] == 1) {
uint32 i0 = idxbuffer[size - 3];
uint32 i2 = idxbuffer[size - 1];
idxbuffer.push_back(i0);
idxbuffer.push_back(i2);
idxbuffer.push_back(newlist[new_index++]);
}
else if(b[j] == 2) {
uint32 i1 = idxbuffer[size - 2];
uint32 i2 = idxbuffer[size - 1];
idxbuffer.push_back(i2);
idxbuffer.push_back(i1);
idxbuffer.push_back(newlist[new_index++]);
}
else {
idxbuffer.push_back(newlist[new_index++]);
idxbuffer.push_back(newlist[new_index++]);
idxbuffer.push_back(newlist[new_index++]);
}
std::cout << (idxbuffer[idxbuffer.size() - 3] + 1) << " ";
std::cout << (idxbuffer[idxbuffer.size() - 2] + 1) << " ";
std::cout << (idxbuffer[idxbuffer.size() - 1] + 1) << std::endl;
}
}
-
Demonsangel
- 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
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
to find chunk headers and
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.
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)
returnCode: 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)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
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.
Re: Señor Casaroja's Noesis
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
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.
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
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.
I am willing to donate 15 euro to the person who cand help me do that:D.
Re: Señor Casaroja's Noesis
Any change of getting multiexport , like that you can select multiple items in the listview and then export them all together ?
Thanks
Thanks
Re: Señor Casaroja's Noesis
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)
(the obj dae exporters can find the texture filename)

