|
|
« Reply #210 on: January 13, 2011, 08:24:08 PM » |
|
Sweetness XD you should make an option that converts 3DS into MDl0 And you could like pick what character it's on :l
You know make it so that when it's(3DS file) made into a mdl0 it's a model that works for *insert brawl character here*'s model without all those annoying porting glitches (particularly trans n glitches >_< )
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #211 on: January 13, 2011, 08:39:26 PM » |
|
Well all it does is make an mdl0 from the dae file you select. It's pretty easy to fix model import glitches...
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #212 on: January 13, 2011, 08:47:08 PM » |
|
Sweetness XD you should make an option that converts 3DS into MDl0 And you could like pick what character it's on :l
You know make it so that when it's(3DS file) made into a mdl0 it's a model that works for *insert brawl character here*'s model without all those annoying porting glitches (particularly trans n glitches >_< )
I see what you mean...
(using my converter) convert the porting char into blend or 3DS edit the char in blender or 3DS (add bones and fix any possible glitches) then convert back to mdl0
it should work perfectly on whatever char you've set it up for
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #213 on: January 13, 2011, 09:10:49 PM » |
|
Sweetness XD you should make an option that converts 3DS into MDl0 And you could like pick what character it's on :l
You know make it so that when it's(3DS file) made into a mdl0 it's a model that works for *insert brawl character here*'s model without all those annoying porting glitches (particularly trans n glitches >_< )
I see what you mean...
(using my converter) convert the porting char into blend or 3DS edit the char in blender or 3DS (add bones and fix any possible glitches) then convert back to mdl0
it should work perfectly on whatever char you've set it up for
Well as long as it's an easier way to get zero suit samus onto someone else >_< PS I'm having fun with the ext graphics editor XD Now all we need to to is get all these nifty ideas to work with brawlbox as one whole program. But rome wasn't built in a day was it? XD
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #214 on: January 23, 2011, 03:56:16 PM » |
|
yo... I've gotten the RGB565 format just about complete:
it's not entirely accurate though :/ (only about 96% accurate) here's a comparison image:
note: the internal image may actually have those exact colors, I'll test my FS image replacements with it :/ if they come out equal, then my code's right
here's my code I used to get it like that:
def RGB565(offset,width,height,length): X,Y,TX,TY = 2,2,0,0 #XY and tile XY positioning fr.seek(offset,0) while length > 0: pixel = ui(fr.read(2)) R = chr(((pixel >> 11) & 31) << 3).encode('hex')#* 8 ).encode('hex') G = chr(((pixel >> 5) & 63) << 2).encode('hex')#* 4 ).encode('hex') B = chr(((pixel >> 0) & 31) << 3).encode('hex')#* 8 ).encode('hex')
#print '#'+str(R)+str(G)+str(B) color,x,y = '#'+R+G+B,TX+X,TY+Y C.create_rectangle ( x, y, (x+1), (y+1), fill=color, width=0) TX+=1 if TX == 4: TY += 1 if TY == 4 and TX == 4: X += 4; TX,TY = 0,0 if X == width+2: Y += 4; X = 2 if TY == 4: TY = 0 TX = 0
length -= 2
don't ask how I came to get the idea to do this... I was literally just bored and started fooling around with it...
also, the commented out codes in the RGB vars return the exact same colors as the code before it :/
|
|
« Last Edit: October 06, 2022, 05:00:18 PM by DarkPikachu »
|
Logged
|
|
|
|
|
|
|
« Reply #215 on: January 23, 2011, 05:26:05 PM » |
|
forgot you were working on it...how mny more do you have to decode?
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #216 on: January 23, 2011, 06:29:28 PM » |
|
here's every function so far:
#--<<conversion functions>>-- def I4(offset,width,height,length): X,Y,TX,TY = 2,2,0,0; fr.seek(offset,0) while length > 0: pixels = list(fr.read(1).encode('hex')) for pixel in pixels: R=G=B=pixel+pixel; color,x,y = '#'+R+G+B,TX+X,TY+Y C.create_rectangle ( x, y, (x+1), (y+1), fill=color, width=0) TX+=1 if TX == 8: TY += 1 if TY == 8 and TX == 8: X += 8; TX,TY = 0,0 if X == width+2: Y += 8; X = 2 if TY == 8: TY = 0 TX = 0
length -= 1 def I8(offset,width,height,length): X,Y,TX,TY = 2,2,0,0; fr.seek(offset,0) while length > 0: pixel = fr.read(1).encode('hex') R=G=B=pixel; color,x,y = '#'+R+G+B,TX+X,TY+Y C.create_rectangle ( x, y, (x+1), (y+1), fill=color, width=0) TX+=1 if TX == 8: TY += 1 if TY == 4 and TX == 8: X += 8; TX,TY = 0,0 if X == width+2: Y += 4; X = 2 if TY == 4: TY = 0 TX = 0
length -= 1
def IA4(offset,width,height,length): pass def IA8(offset,width,height,length): pass
def RGB565(offset,width,height,length): X,Y,TX,TY = 2,2,0,0 fr.seek(offset,0) while length > 0: pixel = ui(fr.read(2)) R = chr(((pixel >> 11) & 31) << 3).encode('hex') G = chr(((pixel >> 5) & 63) << 2).encode('hex') B = chr(((pixel >> 0) & 31) << 3).encode('hex') color,x,y = '#'+R+G+B,TX+X,TY+Y C.create_rectangle ( x, y, (x+1), (y+1), fill=color, width=0) TX+=1 if TX == 4: TY += 1 if TY == 4 and TX == 4: X += 4; TX,TY = 0,0 if X == width+2: Y += 4; X = 2 if TY == 4: TY = 0 TX = 0
length -= 2 def RGB5A3(offset,width,height,length): pass def RGBA8(offset,width,height,length): pass #easy def CMPR(offset,width,height,length): pass
def CI4(offset,width,height,length): pass #slightly figured out (will have internal functions) def CI8(offset,width,height,length): pass #slightly figured out (will have internal functions) #--<</conversion functions>>--
but there's apperently a CI14X2 format :/ I havn't seen it yet, but I'll look into it when I do :/
|
|
|
Logged
|
|
|
|
|
|
|
|
« Reply #218 on: January 24, 2011, 02:00:57 PM » |
|
Any progress on the mdl0 to DAE (and back?) converter?
|
|
|
Logged
|
|
|
|
|
|
|
|
« Reply #220 on: January 24, 2011, 02:43:33 PM » |
|
Any progress on the mdl0 to DAE (and back?) converter?
For my converter, I've almost got the writing (exporter) part done. Then the only thing left will be changing the int, float and string arrays in the dae file to byte arrays correctly and sending it to the exporter and correctly interpreting, building and rigging a bone structure. For testing purposes, all converted mdl0s will have the same shader/materials. I'll work on that last, because it only displays in game.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #221 on: January 24, 2011, 03:05:53 PM » |
|
Any progress on the mdl0 to DAE (and back?) converter?
For my converter, I've almost got the writing (exporter) part done. Then the only thing left will be changing the int, float and string arrays in the dae file to byte arrays correctly and sending it to the exporter and correctly interpreting, building and rigging a bone structure. For testing purposes, all converted mdl0s will have the same shader/materials. I'll work on that last, because it only displays in game. Thats true, as long as you could do so flawlessly. I'd have a "select X character" drop down list when importing the edited DAE file. What the "Select X character" means is, you'd first open an original model from any character. Then the program 'reads' the bone 'structure' of said character. After it's done reading the bone(and faces/polygons etc) structure of the mdl0 you selected first, you're asked to select the DAE file you want to convert to a mdl0 for "X character" . When the program writes the new mdl0 file, it's re-making the bone structure from scratch, adjusting the setup accordingly depending on the character picked. I mean like, if "X Character" was princess peach then you would select an unedited Peach MDL0, and then select the DAE you want to convert into MDL0.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #222 on: January 24, 2011, 03:24:44 PM » |
|
Any progress on the mdl0 to DAE (and back?) converter?
For my converter, I've almost got the writing (exporter) part done. Then the only thing left will be changing the int, float and string arrays in the dae file to byte arrays correctly and sending it to the exporter and correctly interpreting, building and rigging a bone structure. For testing purposes, all converted mdl0s will have the same shader/materials. I'll work on that last, because it only displays in game. Thats true, as long as you could do so flawlessly. I'd have a "select X character" drop down list when importing the edited DAE file. What the "Select X character" means is, you'd first open an original model from any character. Then the program 'reads' the bone 'structure' of said character. After it's done reading the bone(and faces/polygons etc) structure of the mdl0 you selected first, you're asked to select the DAE file you want to convert to a mdl0 for "X character" . When the program writes the new mdl0 file, it's re-making the bone structure from scratch, adjusting the setup accordingly depending on the character picked. I mean like, if "X Character" was princess peach then you would select an unedited Peach MDL0, and then select the DAE you want to convert into MDL0. that would kinda fool around with the mdl0... I'd say just do all that stuff in the editor before exporting...
you could use a brawl char as a base model to go by when editing eg: I know almost everything about Pikachu ^I could port a char w/o even having to look at him
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #223 on: January 24, 2011, 03:25:05 PM » |
|
almost done with the bone adding...a bit more code to write...shouldnt be too hard
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #224 on: January 24, 2011, 03:27:48 PM » |
|
Thats true, as long as you could do so flawlessly. I'd have a "select X character" drop down list when importing the edited DAE file. What the "Select X character" means is, you'd first open an original model from any character. Then the program 'reads' the bone 'structure' of said character. After it's done reading the bone(and faces/polygons etc) structure of the mdl0 you selected first, you're asked to select the DAE file you want to convert to a mdl0 for "X character" . When the program writes the new mdl0 file, it's re-making the bone structure from scratch, adjusting the setup accordingly depending on the character picked.
I mean like, if "X Character" was princess peach then you would select an unedited Peach MDL0, and then select the DAE you want to convert into MDL0.
I could do that, but it would take more time to develop. For now, you'll just have to learn to set up the model's bone structure in 3ds max before converting.
|
|
|
Logged
|
|
|
|
|
|