|
|
« Reply #135 on: December 21, 2010, 11:07:50 PM » |
|
Yeah. You'll be able to import rigged characters.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #136 on: December 22, 2010, 02:51:23 AM » |
|
Alright. How far did you make it? Did anyone ever finish a full converter?
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #137 on: December 22, 2010, 06:51:31 AM » |
|
Alright. How far did you make it? Did anyone ever finish a full converter?
no... the relocation table is my problem... more like IDK now to decide the differences between the data's... @SH: of course it'll do more than that even shoot I mean blend can handle everything the MDL0 does, and more but yea... it's the back conversion that has me :/ apperently it's easier to read an MDL0 than it is to write one...
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #138 on: December 22, 2010, 07:06:22 AM » |
|
hey BJ... I've figured out something with the offsets... I'm looking at them quite differently now... take a look at this: the reason there's a line through the last 2 boxes is because that's how I used to look at them... so thit's the new way now... can you gather anything from that?? and btw, this confuses me: 00 00 00 48 00 00 00 03 FF FF 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 3D 00 00 00 00 00 03 00 00 BF 3C 00 00 26 90 00 38 00 00 00 01 00 02 00 00 BF 4C 00 00 72 10 00 39 00 00 00 02 00 03 00 00 BF 5C 00 00 74 90 notice the order... EDIT: I think the cyan block is the offset index... but the 2nd one still confuses me as there's 2 '03' instances :/ as well as 2 '01' instances in the magenta block EDIT2: IDK for sure, but I think the indexes are read bacwards (num_offsets -= 1) which would make the last read be the 'FF FF' index... even though that index does contain data, I think everyone has been reading the indexes forward, and compairing them to the number of offsets... my words are getting messed up and I'm thinking too fast XD but it's an idea that seems to explain that last part...
|
|
« Last Edit: December 22, 2010, 08:05:19 AM by Tcll »
|
Logged
|
|
|
|
|
|
|
« Reply #139 on: December 22, 2010, 09:27:14 AM » |
|
hmm... apperently Pharrox was also working on dae to mdl0 conversion... and I can read C++ better now everything is starting to make sense now
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #140 on: December 22, 2010, 11:20:30 AM » |
|
Woah column data? I've never seen that before. My instincts tell me that can't be how it is running...
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #141 on: December 22, 2010, 11:29:18 AM » |
|
What's that relocation table for apperently Pharrox was also working on dae to mdl0 conversion...
As stated in the OP and I can read C++ better now everything is starting to make sense now It'd better lol It's gonna be freakin' insane to build the bone structure... and everything in the mdl0 is linked to one another by an id... gonna have to use lots of variables in mah codez
|
|
« Last Edit: December 22, 2010, 11:48:06 AM by BlackJax96 »
|
Logged
|
|
|
|
|
|
|
« Reply #142 on: December 22, 2010, 02:18:15 PM » |
|
What's that relocation table for
IDK... I just pulled some random data is all... but I think it's Pachi's verts :/ As stated in the OP
hmm... didn't notice that... It's gonna be freakin' insane to build the bone structure... and everything in the mdl0 is linked to one another by an id... gonna have to use lots of variables in mah codez
possibly... including the relocation table XD
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #143 on: December 22, 2010, 02:19:32 PM » |
|
Woah column data? I've never seen that before. My instincts tell me that can't be how it is running...
eheh... I'm afraid I didn't catch that
|
|
|
Logged
|
|
|
|
|
|
|
|
« Reply #145 on: December 22, 2010, 04:30:17 PM » |
|
Here I posted. You can post moar Tell me how you converted it when it's done btw (Where you read the bytes and where you put them in the xml and stuff)
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #146 on: December 22, 2010, 04:31:53 PM » |
|
Here I posted. You can post moar Tell me how you converted it when it's done btw (Where you read the bytes and where you put them in the xml and stuff) look at my template XD it's supposed to tell you that I can help if you mis-understand something though
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #147 on: December 23, 2010, 06:27:28 AM » |
|
well I've gotten the vert data to export in the debug info link: http://tcll5850.proboards.com/index.cgi?action=gotopost&board=python&thread=74&post=364and I figured out how the modifier works the modifier is only for 8bit or 16bit conversions here's the vector conversion code: def vec(dtyp,mult): #decide the type of conversion to use if dtyp==0 : return ui( fr.read(1) ) / ( float(2)^mult ) #fixed point ui8 if dtyp==1 : return si8( fr.read(1) ) / ( float(2)^mult ) #fixed point si8 if dtyp==2 : return ui( fr.read(2) ) / ( float(2)^mult ) #fixed point ui16 if dtyp==3 : return si16( fr.read(2) ) / ( float(2)^mult ) #fixed point si16 if dtyp==4 : return fl32( fr.read(4) ) #floating point fl32'fr' is the mdl0 'dtyp' is the data type 'mult' is the modifier (multiplier) when calling the code: ... data_type = ui( fr.read(4) ) modifier = ui( fr.read(1) )
X = vec(data_type,modifier) Y = vec(data_type,modifier) Z = vec(data_type,modifier)
btw, this is for any vector (verts, normals, and UV's) and yes, I comment like that in the code constantly
|
|
« Last Edit: December 23, 2010, 06:47:56 AM by Tcll »
|
Logged
|
|
|
|
|
|
|
« Reply #148 on: December 23, 2010, 07:33:07 AM » |
|
hey BJ... you were talking about animation converters...
well... collada and directx(ascii) support animations, and of course blend
I suppose I could write a converter for those... blend files will have to be library-linked to be imported... DAE and X files will have to be injected...
I brought that up because I need them...
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #149 on: December 23, 2010, 12:39:49 PM » |
|
I figured out how the modifier works the modifier is only for 8bit or 16bit conversions here's the vector conversion code: def vec(dtyp,mult): #decide the type of conversion to use if dtyp==0 : return ui( fr.read(1) ) / ( float(2)^mult ) #fixed point ui8 if dtyp==1 : return si8( fr.read(1) ) / ( float(2)^mult ) #fixed point si8 if dtyp==2 : return ui( fr.read(2) ) / ( float(2)^mult ) #fixed point ui16 if dtyp==3 : return si16( fr.read(2) ) / ( float(2)^mult ) #fixed point si16 if dtyp==4 : return fl32( fr.read(4) ) #floating point fl32'fr' is the mdl0 'dtyp' is the data type 'mult' is the modifier (multiplier) when calling the code: ... data_type = ui( fr.read(4) ) modifier = ui( fr.read(1) )
X = vec(data_type,modifier) Y = vec(data_type,modifier) Z = vec(data_type,modifier)
btw, this is for any vector (verts, normals, and UV's) and yes, I comment like that in the code constantly Holy -blam!- so I can use that in reverse to write the floats for the verts/normals/uvs in the hex? hey BJ... you were talking about animation converters...
well... collada and directx(ascii) support animations, and of course blend
I suppose I could write a converter for those... blend files will have to be library-linked to be imported... DAE and X files will have to be injected...
I brought that up because I need them...
Ok heck yeah do eet! Btw, I got this collada loader to help me... I got it to read all the verts, materials, bone structure, etc from the xml!!!!!1
|
|
|
Logged
|
|
|
|
|
|