well, sorry if I misled you
yea, I don't intend to make an importer as SESv1 is constantly being updated and extended to support new features.
(I'd have to update the blender plugin every time I make an update to the format)
that aside writing a script for blender is roughly 3x more complex than writing a script for UMC
for example, you have to go through all the work of grabbing your file AND defining the SAME functions for every other file to read the data from your file.
ok so the SESv1 format is extremely simplified as the dump itself is the Libs var found in VIEWER which makes things alot simpler to use an eval() on the data...
but things are made even more complicated by blender's class methods and such.
with UMC, everything is functions meaning it's all single level (no DOT '.' operator on any names)
and to make things even better, I'm following OpenGL's fixed function method:
SetObject() #create a new object in the default scene
SetPrimitive() #sets our newly defined object with a defaulted Triangle primitive
SetFacepoint(Vert,Normal,(Colors),(UVs)) #adds a facepoint to this primitive (data can be RAW or an index)
unlike Blender, my functions are EXTREMELY loose and built with a pre-defined structure to work as noobs would expect
yes, UMC's scripting interface is designed and built for the most noobish of noobs in 3D programming ;D
however, I won't say that doesn't throw a small wrench into the gears...
behind the scenes, alot has to be redone to add a simple feature...
so simple things can get extremely complex very fast.
aside from UMC's 3D interface, there's also the file management interface.
a script doesn't do it's work not until you've imported a file.
once the file is imported, the data is nothing more than an optimized u8() array.
UMC's binary int/float handling functions are all based off of one main function called _BIT() which reads/writes an int/float of any specified size/format to/from the file data
feel free to use that function for your works, but it's strict about the data used or it messes up...
another complex function (which needs to be redone) is StructArr() which reads/writes a given structure of data to/from the file...
such as verts:
Jump(VertsOffset) #jump to the vert data from the start of the file
StructArr( ['bf32','bf32','bf32'], NumVerts ) #read the verts from the data
# returned data: [ [bf32(),bf32(),bf32()], [bf32(),bf32(),bf32()], [bf32(),bf32(),bf32()], ... ]
UMC is meant to do all your hard work for you when dealing with 3D data.
that why the development of a single feature takes so long...
UMC is truely a pro program, but it's completely free and truely open-source (it literally runs off it's source)
another reason this is taking so long is people aren't willing to co-develop this or even so much as help me out with info...
(I'm still working on a good method for co-development though... heh)
have you tried python programming?? (python 2.7.5)
would you like to be a co-developer of UMC??
if so, I can upload this to my server an we can host a convo discussing new features for interfaces and stuff...
I could use an extra hand honestly