• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Universal Model Converter - Side Development Thread

left or right? (a 20x20 toggle at the top of the window)

  • Left (under the window icon)

    Votes: 23 53.5%
  • Right (under the X button)

    Votes: 20 46.5%

  • Total voters
    43
  • Poll closed .

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
erg... what does one do in this situation??

I absolutely looove programming complex things...
but I'm so overwhelmed I'm literally bored of it.

I don't want to stop programming, but I'm afraid my mentality won't allow me to continue...
I can't concentrait on what I need to :(

what do I do??
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
no prob, yeh, I could probably fix that up to work a bit better... it's actually how the data is imported, not exported...

with the DAT, there's no way to track the vertices w/o making 2 passes...

one thing I could do is build an array to collect the verts before setting a UT Vert array...
last I tried that though, I got issues

would be nice if there was a vector count somewhere >3<
Hm... I'm not sure what you mean by vector count, but the way I determine if there are no duplicate vertices is I convert the raw vertices (which is just a messy cloud without weights) to .obj and then into Blender (it tells me there's 2739 vertices In Falcon I think. I can't really check now but it was around that number). Interestingly enough, when I import your Falcon model into Blender, and then run its "remove duplicate vertices" script (which basically combines any vertices in the exact same location), it gives me the exact number as was given by the raw import. Don't know if that helps, but I'd consider it a good sign.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
the way blender removes duplicate verts is if 2 verts are in the same position on the same object

the duplicate verts issue is likely caused by my DAT importer's object creation...

weird thing is, ugeSetUTVert() is supposed to be finding a duplicate vert and applying it's index to the facepoint rather than setting a new vert like what's going on...

if I could easily do ugeSetUTVertArr() that would be much better, then I could just apply the raw index to the facepoints rather than calculate them.


there's no vector counts, the only way the vert count can be known is by processing the facepoints twice and using the max vert index to read the vert array by...
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
by...?

Oh, I should have mentioned. Blender has an option when importing .obj's to combine them all into one (when you select the option to "preserve vertex order". That's what I've been using.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
at facepoint attribute CP[9], there's a pointer to the vert array.
(typically 0, but the DAT format is not defined to keep structs at a fixed location)
CP[9] does not tell you how many verts there are, the only way to figure that out is with a 2-pass system on all objects.

I could make it single-pass, but I have UMC configured to warn noobs they're indexing to an invalid array, which would throw 1991 or so warnings in the console.
(I should probably fix that and rather just warn during verification)


and btw, don't do that ;)
you want the separate object for their separate materials (granted I still need to export the MTL properly with images) >_>
 
Last edited:

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
Oh I know. I just do that cos it's how my converter works. No worries, I've found an alternative. Fortunately for me, I found that Shiek is pretty workable using my jumbly raw vertice cloud ripper. Imma make her look like Gray Fox.

Regardless, beyond amazing program Tcll! I can't really say much else on the matter. Good work man, and thanks for the help!
 

ლ(╹◡╹ლ)

Banned via Warnings
Joined
Jul 9, 2015
Messages
53
quick question

will you be expanding this to all other GC games?
Really want to get ahead on WW hacking but the model editors and viewers are subpar at best.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
you realize you included yourself in that, right :p

that "others" was directed at you.
you're more than capable of writing a UMC-script kahnu ;)
and you're on my dev-chat too, so why not ask for needed help... lol
 

JohnTravolski

Smash Cadet
Joined
Apr 6, 2015
Messages
55
Well, I encourage you to not give up at all, because I know absolutely nothing about programming whatsoever and am simply glad that there are other people who are working on something as amazing as this. I greatly appreciate your efforts and urge you to continue no matter what obstacles appear in your way because this is important to a lot more people than just yourself.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
absolutely! inf()+ likes to that man! =3

and don't worry, UMC is one of my dreams, most of my other dreams need to be pulled off using UMC, or rather UGE.
so I'm doing my dreams ;D

there's absolutely nothing that will make me give up on the awesomness of my dreams.
I don't think the mentality of every person on this planet could match the mentality needed to conjure the dreams I'm attempting to make into a reality. ;)
(I don't believe 70% of humanity has enough common sense to even think about others properly)


so yea, I honestly believe my mentality is the shining sword who will not just slay the corrupted demons of the darkness, but revive their hosts into what humanity should be, which is not 1 person's idea, but what life provides us with.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I'd like to place a bet that 80% of the people on this forum don't believe in god.
(this is where the corruption happens)


if I'm right, I've got some info for ya.
god wasn't meant to do your dirty work and get you out of hard times.
god was meant to put obstacles in your way to shape you into a proper person.
it's your choice what you do with those obstacles.
(if you believe in god, you won't become corrupt)

here's an example:
you all remember when I lived in a car for 2 years.
for the fact that we believed in god, what god did was influence our path in time and got us into an apartment.
of course we had to do the actions, god just gave us the influence to make the proper things happen.
(if I didn't believe in god, I'd be a heck of a cruel person in a horrible position (maybe in a nice place) right now, most likely even cussing)

feel free to call me loony, it was god's influence that gave me my conputers
or better yet, my knowledge.
(I've never taken anything above Algebra 1)
^ so I can't read math


how do I believe in god?
basically, I believe life is a simulation, kinda like minecraft, where we are just much smarter entities in the game.

to explain this even better, imagine if I was to build an AI class that could learn and built characters for a completely dynamic sandbox game that worked just like life, while giving each character their own instance of that AI class.
(our brains basically behave the same as redstone circuitry in minecraft, how the redstone behaves is controlled via both the computer and the redstone logic)
^the same can be said for how our brain passes electric pulses around

so the bots in the game would learn in the same way as we learn, and I'd be their god.
do you think they would believe in me if I was to let them do their thing?? (most likely no, since all 'd really do is influence bad things not to happen)

if you believe in god, think of god getting a notification something bad is about to happen to you.
if you'll learn from the bad thing, he won't influence it to kill you unless you're at the end of your time.


I'll be happy to correct and straighten out any arguments you might have ;)
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
sorry if that gets a bit weird and/or offencive to some people...
I'm not offended in the least that people don't believe in god (in any form), though I am a bit disturbed because you're thinking very small...
think all the way back to the first big bang.

why the first?
when a black hole has no more matter to consume, it dies.
the big bang is the death of the last black hole.

so...
with the universe pretty much being an infinite loop,
what do you think created the very first big bang??
with the way our life-system works, it can't just simply exist from nothing, or I'd be able to build whatever I want, free of charge.
so you see why I say life is a simulation, something had to create the first big bang when there was nothing to create it from.
that initial creation can only be done by a god.


also, jsyk, I could go on for hours with this stuff, I have alot of fun talking about it :)


if you have anything to bring up on this matter, I'd be very happy to discuss. :)
I just hope I don't offend, I mean no harm with anything I'm saying. ;)
 
Last edited:

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
...I don't think any of us were expecting him to say that.

I'm at work so I can't really respond to this, but the way I see it, the universe couldn't come from nothing within the context of the universe. As in, by the universes laws, things can't come from nothing. The universe however could have came into "existence" (also another concept which may well only exist within our universe) from a place with different laws where things can come into existence; where it's "logical" (also a term exclusive to our universe) that that could happen.

And that's my two cents.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
lol I knew it was an awkward topic, don't take it personal alright, in fact, it's kinda the fault of my autism... heh

EDIT:
and yeh, sorry for the topic change...
I'm back to UMC nao

EDIT2:
so I'm looking into creating a server via using multiple laptops and networks to multiply the data transfer.

kinda something like this:
http://serverfault.com/questions/41...nes-to-act-as-one-to-run-multiple-virtual-mac

could probably add my other towers to it, although I don't think that'd be friendly on our power bill... heh

once I do that, I could likely both host my UGE forum and manage UMC/UGE scripts with it :)

or actually raspberri pi's would be better for this >.>
http://raspberrywebserver.com/raspberrypicluster/raspberry-pi-cluster.html
 
Last edited:

JohnTravolski

Smash Cadet
Joined
Apr 6, 2015
Messages
55
Sorry, I'm really good at making other people bring up philosophical topics, I don't know why. Seriously, I just say one thing and I get people telling me their whole life story.

But anyway, I have either forgotten or I missed it; what games, in particular, are you hoping to be able to modify with this program? What's the key motivation for you? (For example, Kirby Air Ride is the biggest thing I would like to be able to edit with this tool whenever it is finished.)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
lol

mainly it was my comment that spurred my life's story thanks to my autism:
so yea, I honestly believe my mentality is the shining sword who will not just slay the corrupted demons of the darkness, but revive their hosts into what humanity should be, which is not 1 person's idea, but what life provides us with.
yea, my interests are Smash (all 4/5), KAR, TS2/3, Whiplash (PS2), Nexuiz/Xonotic, and a few others I'm not recalling atm.

I also intend to make a few animations:
- SSB Revenge of the Forgotton: a story inspired by the forgotton 5 from Melee and Bomberman
(I've just recently found out Bomberman was faked </3, but I'm putting him in anyways)
- Pikachu vs Dark Pikachu (2 rounds)
(you guys will like this, especially the 2nd round since it takes place in the dark realms with a few newer contenders)

I refuse to do robotic animations like Picano (kc-mm owner).
here's an example of his work: (my favorite video)
https://www.youtube.com/watch?v=TNj-HmieoMk&fmt=22 (still good for being robotic)
not sure about 3DS Max (which was likely used for Picano's animation), but for Blender 3D animation is far from difficult.
I prefer animation that looks like something out of a Bleach fight.
and I'm a hardcore perfectionist when it comes to my work (unless I'm not trying such as 3.0a's GUI)
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
hope you guys don't mind, I've added SIDE to the 3.0a repo...

I actually really need it because that MDL0 issue from earlier is causing an overwhelming mental block and I literally can't concentrate on anything else until it's fixed...

I hate my autism when it does this to me >_<
(this is the very reason I failed in so many classes in school, as well as the reason I can't get a job and refuse to drive)

but in good news from this, SIDE should work by the release :)
which means writing and testing scripts will be many times easier than having to check session-info.log and guess at what's causing an issue ;)
 
Last edited:

Mc.Rad

Smash Lord
Joined
Nov 15, 2014
Messages
1,491
Location
Rock Hill, SC
Switch FC
SW-0842-4814-1315
The only reason why I took a look at this thread is to be able to put New Kakyoin in Smash like God Intended
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
just figured I'd post progress on SIDE with 3.0a :)

everything shown here is directly interfaced from 3.0a's backend: ;)

you can even download and try it out if you like, though you'll need a python27 installation to run SIDE.py... heh
although there's really not much to find out about it other than what's shown in the image...
there's still many issues since everything's still being rebuilt/ported.
 
Last edited:

ThatTrueStruggle

Smash Rookie
Joined
Aug 22, 2015
Messages
2
Location
Laurel, MD
NNID
NinZeldaGmr
@ Tcll Tcll , if you want people to write scripts for UMC, I'd recommend having an example script to show people in to it, on a simple model format. Walk people through it with a bunch of comments and explain what each thing does :) I know you're actively updating the documentation on SIDE but it would really help to get people who's scared off by coding or beginners who don't really know what any of this means.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
yea, I was actually intending this for the layout-page on my forum, however, I want to integrate that directly into the docs somehow.

not just for models, but for everything...

the layout page's formatting category actually shows the function relation so you know when to call them.
but the docs will tell you how to use them when I can actually get to them... heh
(I intend to provide examples for each function since they can be used in numerous ways)
^ global vs local vertices for example, local vertices are per-object arrays while global has only 1 array like OBJ
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
also, I was wrong about Pl**Aj files.

I'd thought it was just 1 dat file holding dat files...
nope, it turned out to be an array of dat files just stacked on top of each other.

this could be quite complicating >_>
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
@ ThatTrueStruggle ThatTrueStruggle oh here's an idea to take a load of work off the script developer >.>
it's based off your udea actually.

basically, for model scripts, instead of what SIDE currently does which just provides you with the import/export function definitions,
it will allow you to select from particular scenegraph structures to let let you decide which one is the best for the data you're trying to import.

I'll need to modify my UMC source again to specify parent functions for this to work *awesomeface*
(I actually wanted to do this for SIDE's function selector, to turn it into a sort-of tree like my docs)

EDIT:
btw I should mention I'd cleaned up SIDE a tad...
but I need some help getting a regex for python numbers that won't highlight numbers in vars
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
update on SIDE:

finally got tooltips and selections somewhat working, though I need to build intellisense before I can make the tooltips work correctly... heh
they should work JUST like VS2010
although they're not staying the plain disgusting beige color like that.. lol

EDIT:
updated the tooltip to something I like: :)

and I can do additional styling through HTML. :3

EDIT2:
finally built a working intellisense database, though it's very basic :p

don't be fooled by looks, there's still alot of basic tasks that this can't do yet. XD
I will work on them, but my excitement is currently aimed toward VS2010-like intellisense :)
(something that literally no other python IDE does it's job well at, including Eclipse)

such a shame that I'm a nobody, a complete noob doing what the pros can't... heh

EDIT3:
finally getting some legit intellisense results:


the database is not full, in fact the only things in the database are the dummy header functions and the backend definitions.
the builtins and anything defined in the script is not added to the database.

but in any case, pretty soon I'll be able to get what types they're able to take and return and all sorts of information ;D

EDIT4:
just got builtins working:


nothing is changed, what's displayed is directly referenced from the python backend.
I'm only testing so yea... lol

all that's left to put in the database is what's defined in the script...

this stuff IS defined during execution, however, it's not updated in the exec dict.
basically, there's a disconnect with exec code in collections

collections is not updated with the definitions during execution.
(this is before the intellisense database is built from the collections)
 
Last edited:

StarLand

Smash Rookie
Joined
Aug 28, 2015
Messages
5
Location
Germany
Hey Tcll,
Thanks for the source you gave me.
And thanks that I may work on it with you.
I want to add some new features.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
no problem man, welcome aboard ;)

lol before you can add some features, you need to learn how it works first.
keep those hopes high though because I'll be helping you as much as I'm capable of ;)
 

StarLand

Smash Rookie
Joined
Aug 28, 2015
Messages
5
Location
Germany
no problem man, welcome aboard ;)

lol before you can add some features, you need to learn how it works first.
keep those hopes high though because I'll be helping you as much as I'm capable of ;)
Yeah, you have too few comments in your soucre it's hard to understand without comments.
You only have few of them.

Oh yeah I am still learning Python.

 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
yea, the problem I've had there is the constant modding... it's hard (too much work) to comment something that's not solid.
(comments will come soon though, I promise) ;)

think of the code as being separated into categories (the current comments point this out)

the base:
loader - loads the API, will check for updates by next update (if not this update)
API - sets up the backend, extensions. scripts, and libs, and loads VEIWER.
COMMON - contains the script loader, file-formatting, data management, and logical application functions.
FORMAT - contains the 3D formatting functions, and manages UMC's 3D format

plugins: (WIP interfacing)
VIEWER - plugs into API - displays the 3D data and manages base-events.
GUI - plugs into VIEWER - provides the UI as well as it's own event manager.
WIDGETS - plugs into GUI - will provide the widgets for script UIs.
UPDATE - plugs into GUI - will provide the share service interface which will update and manage scripts and libs.
LOGGING - plugs into COMMON - provides the interface for logging to session-info.log (this isn't exactly a plugin yet)
ERROR - plugs into COMMON - displays error messages in the console (this isn't exactly a plugin yet)

tbh though 3.0a doesn't exactly have a plugin system, and even 3.0 is just horribly designed in this area.


in any case though, take your time man, you're not rushed in any way ;)
 

JohnTravolski

Smash Cadet
Joined
Apr 6, 2015
Messages
55
So, Tcll, did you know Starland before I just introduced him to you? I'm glad to see that you're working together now.
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
nope, but I helped him get back into where StapleButter cut him off :3
(he was beyond seriousely depressed over the whole ordeal)
I've always known kuribo64 to be full of douches anyways, and yet I still subscribed... lol
(I'm indestructible though thanks to my pride, they can't hurt me)

hey, would you happen to know of any good places for SM64DS hacking??
it's an area he needs help in... heh
(would've been nice if people would've done this action to me back in the day when I needed major help with the MDL0 format)
^ I still need help, BJ isn't exactly willing to work with me in helping me fix my issues...
(and I still can't understand C# no matter how hard I try)
 
Last edited:

JohnTravolski

Smash Cadet
Joined
Apr 6, 2015
Messages
55
No, sorry, I don't know very much about any of this hacking stuff, I'm mostly here as support and to offer ideas.
 
Last edited:

_Liquid_

Smash Cadet
Joined
Apr 28, 2009
Messages
64
Tcll you are a wizard. UMC and SIDE are both really looking good, keep it up. Just curious, do you think it will ever be possible to import models INTO melee?
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
thanks man :)
yea, hopefully sometime in the future, although I'll need a comparison file if you want to export to match.
otherwize it'll just order the structures as it sees fit, which could likely break the game.

EDIT:
yes that means I'll need a script-UI just to import the comparison file, which won't be available until next update.
(it's too big of a system to add by this update)
 
Last edited:
Top Bottom