|
 |
« Reply #1410 on: June 09, 2011, 07:22:26 AM » |
|
IK what you mean... I'm so freakin close to finishing it though DX
the farthest I've gotten it is to set the var to the value of the last button (the button command initiates as the button is drawn)
I could prbly get away with using Radio buttons though >_>
meh... I'm not worried about that now anyways... everything else works: 0-reference and single-reference conversion fixed the bug that required you to type the extension of the export file
up next is handling multiple files...
I'm more focused on the plugins atm mainly GlobalTMP.py which is the heart of the conversion (the bottleneck) ^it contains functions that send and return formatted data the TMP 
Well, do me a favor and PM me some info on python programming. Like for first time beginners. If i can understand how to work with python commands and whatnot, MAYBE ill try and help out with yours. I figure, yea im 14, almost 15. However, if i can alrready understand half of the types of wii hacking and creating hacks, it shouldn't be too too much harder to learn python.
|
|
|
Logged
|
By the way, I think every active hacker in this forum could use less distractions.MEMORABLE QUOTES: Tcll: I <3 69 xxmasal22xx: Hey, you should probably go to the hop[censored]al BlackJax96: everything is so ROUND [SPOILERED. Reason: Whole signature size must be under 250px.] Join my website, Brawl Imports, a gathering place for importers!http://brawlimports.proboards.com/index.cgiSupport Project Darkrai? Put the official Project Darkrai banner in your siggy![PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.] 
|
|
|
|
|
 |
« Reply #1411 on: June 09, 2011, 08:29:49 AM » |
|
|
|
« Last Edit: June 09, 2011, 12:26:43 PM by Tcll »
|
Logged
|
|
|
|
|
|
|
|
 |
« Reply #1414 on: June 09, 2011, 12:45:28 PM » |
|
Alright, i will save EY's provided link for the future, provided i make it that far in order to use the info  ****EDIT**** If i use those values in a hex editor, and make all the layers, will i essentially create a blank MDL0 file? Jus wondering.
|
|
« Last Edit: June 09, 2011, 12:47:38 PM by xxmasal22xx »
|
Logged
|
By the way, I think every active hacker in this forum could use less distractions.MEMORABLE QUOTES: Tcll: I <3 69 xxmasal22xx: Hey, you should probably go to the hop[censored]al BlackJax96: everything is so ROUND [SPOILERED. Reason: Whole signature size must be under 250px.] Join my website, Brawl Imports, a gathering place for importers!http://brawlimports.proboards.com/index.cgiSupport Project Darkrai? Put the official Project Darkrai banner in your siggy![PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.] 
|
|
|
|
|
 |
« Reply #1415 on: June 09, 2011, 05:11:11 PM » |
|
completed a full transforms session 
>>> setWrite() tmp set to write >>> setTransform([[1.0,1.0,1.0],[1.0,1.0,1.0],[1.0,1.0,1.0]], 0,1,0) Transforms logged successfully >>> closeWrite() tmp sucessfully closed >>> setRead() tmp set to read >>> getTransform(0,1,0) 'vertices' Transform returned sucessfully [['1.0', '1.0', '1.0'], ['1.0', '1.0', '1.0'], ['1.0', '1.0', '1.0']] >>> closeRead() tmp sucessfully closed >>>
_________________________________________________ ______________________________________
Alright, i will save EY's provided link for the future, provided i make it that far in order to use the info  ****EDIT**** If i use those values in a hex editor, and make all the layers, will i essentially create a blank MDL0 file? Jus wondering. meh... somewhat...
keep in mind there's still quite alot that isn't figured out about the MDL0...
small values that make the largest difference... heh
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #1416 on: June 09, 2011, 07:14:45 PM » |
|
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #1417 on: June 09, 2011, 10:33:08 PM » |
|
perfect test is perfect 
>>> >>> setRead() tmp set to read >>> applyTransforms( getVector(0,0,0,0) , getVector(0,1,0,0) ) 'vertices' Vectors for object 0 returned sucessfully 'vertices' Transform vectors for object 0 returned sucessfully [[3.0, 3.0, 3.0], [3.0, 3.0, 3.0]] >>> closeRead() tmp sucessfully closed >>>
using the data from below, I've built a simple function that does the work of applying the vectors and transforms for you 
I'll later add functions that allow you to scale or flip a model, or scale parts of a model... all kinds of nice helpful functions to better the methods of building plugins, as well as give you more options directed toward converting files.
as always... the functions are documented twice 
_________________________________________________ ______________________________________
well, the function works, but only just... it doesn't test the data it's reading to make sure it's the right data... it only just reads the data assuming it's correct >_> that would most likely only be about 70% accurate compaired to other things it may run across that would cause it to return an error even though the data is correct...
here's a session in it's current state:
>>> >>> setWrite() tmp set to write >>> setVector([[1,1,1],[1,1,1]],0,0,0,0) 'vertices ' Vectors for object 0 logged successfully >>> setVector([[2,2,2],[2,2,2]],0,1,0,0) 'vertices ' Transform vectors for object 0 logged successfully >>> closeWrite() tmp sucessfully closed >>> setRead() tmp set to read >>> getVector(0,0,0,0) 'vertices' Vectors for object 0 returned sucessfully [['1.0', '1.0', '1.0'], ['1.0', '1.0', '1.0']] >>> getVector(0,1,0,0) 'vertices' Transform vectors for object 0 returned sucessfully [['2.0', '2.0', '2.0'], ['2.0', '2.0', '2.0']] >>> closeRead() tmp sucessfully closed >>>
again... this only just works... there's no garuntee you won't get an error... 
EDIT: this is the data as it looks in the TMP: < vertices 0 1.0|1.0|1.0/1.0|1.0|1.0 < transform vertices 0 2.0|2.0|2.0/2.0|2.0|2.0
just so you get a better view of things 
_________________________________________________ ______________________________________
yur ok  lotza people make that mistake XD yes I do have it already 
btw... the transform functions I put in my last post... they're useless now...
the vector functions control the transforms. setVector( VectorList, VectorType, Transform, ObjectID, Channel )
the function will log 2 values as such: setVector( [[1,1,1],[1,1,1]], 0, 0, 0, 0) setVector( [[1,1,1],[1,1,1]], 0, 1, 0, 0)
the only difference between them is: < vertices 0 1|1|1/1|1|1 < transform vertices 0 1|1|1/1|1|1
the values between the 2 are added to each other: vert + trans = value
so now the vectors and transforms are all controlled by a single function 
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #1418 on: June 10, 2011, 03:59:23 AM » |
|
perfect test is perfect 
>>> >>> setRead() tmp set to read >>> applyTransforms( getVector(0,0,0,0) , getVector(0,1,0,0) ) 'vertices' Vectors for object 0 returned sucessfully 'vertices' Transform vectors for object 0 returned sucessfully [[3.0, 3.0, 3.0], [3.0, 3.0, 3.0]] >>> closeRead() tmp sucessfully closed >>>
Sooo, if im learning anything from python, you just posted a function that would..... Set itself up to read a file Let you know if it is/isnt successful Apply Trans values to the vectior(s) Let you know if vector 1 was successful Let you know if vector 2 was successful Tell you the new vectors close the file Let you know if it closed successfully Masal do Good?
|
|
|
Logged
|
By the way, I think every active hacker in this forum could use less distractions.MEMORABLE QUOTES: Tcll: I <3 69 xxmasal22xx: Hey, you should probably go to the hop[censored]al BlackJax96: everything is so ROUND [SPOILERED. Reason: Whole signature size must be under 250px.] Join my website, Brawl Imports, a gathering place for importers!http://brawlimports.proboards.com/index.cgiSupport Project Darkrai? Put the official Project Darkrai banner in your siggy![PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.] 
|
|
|
|
|
 |
« Reply #1419 on: June 10, 2011, 07:37:31 AM » |
|
Masal do Good? indeed you did :3
but 1 thing... setTransform( Vector, Transform ) tells you the transformed vector
my getVector function does alot for a small function >_> (0,0,0,0) is a vert vector applied to object 0 (channel 0 does not apply) (0,1,0,0) is a vert transform applied to object 0 the last value is the channel, and is only applied to UV's (2,0,1,0) would be a UV vector applied to object 1 on channel 0
although this is documented twice, I'm still telling you anyways 
on another note, primitives are done:
session: setPrimitives([[4,['1:1:1:::::::','1:1:1:::::::','1:1:1:::::::','1:1:1:::::::']],[2,['1:1:1:::::::','1:1:1:::::::','1:1:1:::::::']]],0)
TMP: < faces 0 4;1:1:1:::::::|1:1:1:::::::|1:1:1:::::::|1:1:1:::::::/2;1:1:1:::::::|1:1:1:::::::|1:1:1:::::::
that's only the set function though... now to build the get function
1Q... should I merge the get and set functions for each object??
eg, instead of having to do: setWrite() setVector(list,0,0,0,0) closeWrite() setRead() getVector(0,0,0,0) closeRead()
simplify the function a bit and put: setWrite() Vector(1,list,0,0,0,0) closeWrite() setRead() Vector(0,0,0,0,0) closeRead()
where Vector(1,...) would be set and Vector(0,...)would be get...
should I do that?? or just leave it as it is?? 
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #1420 on: June 10, 2011, 01:31:34 PM » |
|
indeed you did :3
but 1 thing... setTransform( Vector, Transform ) tells you the transformed vector
my getVector function does alot for a small function >_> (0,0,0,0) is a vert vector applied to object 0 (channel 0 does not apply) (0,1,0,0) is a vert transform applied to object 0 the last value is the channel, and is only applied to UV's (2,0,1,0) would be a UV vector applied to object 1 on channel 0
although this is documented twice, I'm still telling you anyways 
on another note, primitives are done:
session: setPrimitives([[4,['1:1:1:::::::','1:1:1:::::::','1:1:1:::::::','1:1:1:::::::']],[2,['1:1:1:::::::','1:1:1:::::::','1:1:1:::::::']]],0)
TMP: < faces 0 4;1:1:1:::::::|1:1:1:::::::|1:1:1:::::::|1:1:1:::::::/2;1:1:1:::::::|1:1:1:::::::|1:1:1:::::::
that's only the set function though... now to build the get function
1Q... should I merge the get and set functions for each object??
eg, instead of having to do: setWrite() setVector(list,0,0,0,0) closeWrite() setRead() getVector(0,0,0,0) closeRead()
simplify the function a bit and put: setWrite() Vector(1,list,0,0,0,0) closeWrite() setRead() Vector(0,0,0,0,0) closeRead()
where Vector(1,...) would be set and Vector(0,...)would be get...
should I do that?? or just leave it as it is?? 
What's with all of the :'s here? --> ['1:1:1:::::::','1:1:1:::::::','1:1:1:::::::']]],0) As for your question, what difference would it make in the final program?
|
|
|
Logged
|
By the way, I think every active hacker in this forum could use less distractions.MEMORABLE QUOTES: Tcll: I <3 69 xxmasal22xx: Hey, you should probably go to the hop[censored]al BlackJax96: everything is so ROUND [SPOILERED. Reason: Whole signature size must be under 250px.] Join my website, Brawl Imports, a gathering place for importers!http://brawlimports.proboards.com/index.cgiSupport Project Darkrai? Put the official Project Darkrai banner in your siggy![PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.] 
|
|
|
|
|
 |
« Reply #1421 on: June 10, 2011, 01:50:05 PM » |
|
Vertex, Normal, UV0, UV1, UV2, UV3, UV4, UV5, UV6, UV7 = getFacepoint('1:1:1:::::::') ('1', '1', '1', '', '', '', '', '', '', '')
anyways... the only difference would be a single function doing the work instead of 2 functions... but meh... either way, they're kinda the same...
that's why I ask for your opinions 
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #1422 on: June 10, 2011, 01:54:07 PM » |
|
Vertex, Normal, UV0, UV1, UV2, UV3, UV4, UV5, UV6, UV7 = getFacepoint('1:1:1:::::::') ('1', '1', '1', '', '', '', '', '', '', '')
anyways... the only difference would be a single function doing the work instead of 2 functions... but meh... either way, they're kinda the same...
that's why I ask for your opinions 
Ah, i c. IMO, make it single-function. That way there's less of a chance for it to get caught up on itself.
|
|
|
Logged
|
By the way, I think every active hacker in this forum could use less distractions.MEMORABLE QUOTES: Tcll: I <3 69 xxmasal22xx: Hey, you should probably go to the hop[censored]al BlackJax96: everything is so ROUND [SPOILERED. Reason: Whole signature size must be under 250px.] Join my website, Brawl Imports, a gathering place for importers!http://brawlimports.proboards.com/index.cgiSupport Project Darkrai? Put the official Project Darkrai banner in your siggy![PICTURE REMOVED. Reason: Total signature pic size exceeds 695x200.] 
|
|
|
|
|
 |
« Reply #1423 on: June 11, 2011, 06:31:25 AM » |
|
hey guys...
first off I've got so many ideas going through my head, it ain't funny :|
you guys arn't gonna use the setVector,setPrivitive, and all those functions... I'm defining functions to handle those for you... (allowing you do do alot while only providing minimal data)
a simple modification to my vector code will allow me to apply the UV channels using a list... ^instead of having to set the channels manually  the only problem is you'll have to decipher a long list... but I'm gonna work on functions that will do the hard stuff for you 
actually, I just had a moment of re-thought... heh it'll be seperate lists for an object that will be returned...
meaning you won't have to decipher a long list 
yes I'm talking about objects and the vectors/primitives applied to them handling those will be alot easier 
EDIT: just rethought as to why I had the channel listed... it's so you could return the individual vector for modifications... heh
guess I'll have top do what I need in the setObject function 
_________________________________________________ ______________________________________
haw:
>>> setPrimitives([[4, [['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', '']]], [2, [['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', '']]]],1) Primitives for object 1 logged successfully >>> closeWrite() tmp sucessfully closed >>> setRead() tmp set to read >>> getPrimitives(1) [[4, [['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', '']]], [2, [['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', '']]]] >>>
got the same list I submitted > over time, I may get rid of the need for the setRead, SetWrite, closeRead, and closeWrite functions
just only set the use of the direct functions for ya 
tbh... the list was harder to decipher than it was to build >_> (in my plugin)
luckily you won't have to worry about that  I'm talking about deciphering from this data: < faces 1 4;1:1:1:::::::|1:1:1:::::::|1:1:1:::::::|1:1:1:::::::/2;1:1:1:::::::|1:1:1:::::::|1:1:1:::::::
so yea... it's easier to handle in list form... heh
_________________________________________________ ______________________________________
well, here's a test before implementing the function:
>>> getFacepoint('1:1:1:::::::') ['1', '1', '1', '', '', '', '', '', '', ''] >>> setFacepoint( [1, 1, 1, '','','','','','',''] ) '1:1:1:::::::' >>> setFacepoint( ['1', '1', '1', '','','','','','',''] ) '1:1:1:::::::'
I was having a problem getting setFacepoint to be that flexable... but that function will be useless in a bit 
I'll give an example showing how to submit the data in a bit  (long list will be long)
EDIT: here's the example:
>>> getPrimitives(0) [[4, [['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', '']]], [2, [['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', ''], ['1', '1', '1', '', '', '', '', '', '', '']]]]
so getPrimitives is now done... now I just need to get setPrimitives working properly... (shouldn't be too hard 
EDIT2: here's that same list... just made easier to read is all: [ [4, [ ['1','1','1','','','','','','',''],['1','1','1','','','','','','',''],['1','1','1','','','','','','',''],['1','1','1','','','','','','',''] ]] , [2, [ ['1','1','1','','','','','','',''],['1','1','1','','','','','','',''],['1','1','1','','','','','','',''] ]] ]
_________________________________________________ ______________________________________
well, I'm tired and don't feel like stating too much... I'll just let you guess and I'll look at it tomorrow -.-
anyways:
>>> getPrimitives(0) [[4, ['1:1:1:::::::', '1:1:1:::::::', '1:1:1:::::::', '1:1:1:::::::']], [2, ['1:1:1:::::::', '1:1:1:::::::', '1:1:1:::::::']]] >>>
the blue is what the function returns btw...
I'll prbly implement the facepoint function later on... just so you don't have to deal with all that :::::: crap... that's just TMP formatting
actually, I will implement that... tomorrow though -.-*
_________________________________________________ ______________________________________
Ah, i c.
IMO, make it single-function. That way there's less of a chance for it to get caught up on itself.
actually... I just noticed... there's something I overlooked 2 functions is really as good as it gets...
one for writing the data the other for reading...
what I overlooked:
Vector(1,list,0,0,0,0) Vector(0, 0,0,0,0)
notice anything missing... heh
I could apply a useless value for the list when reading and use the function as that...
|
|
« Last Edit: June 11, 2011, 10:24:37 AM by Tcll »
|
Logged
|
|
|
|
|
|
 |
« Reply #1424 on: June 11, 2011, 03:47:17 PM » |
|
Wow, that's a lot of edits. I should bump the thread so you can make another post.  You look like you've made a lot of progress though. Keep up the good work!
|
|
|
Logged
|
|
|
|
|
|