• 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
looks like I may be going on break for the next 2 months,
I'mma be working on setting up a wifi server for brawl. ;)
NOTE: it may not take 2 months to crack, so I may be back sooner ;)

after that, I'll come right back to this ;D
I can't set this project down until the name UGE takes it's place after dev5 :)
(there's a reason all of the functions in dev5 are prefixed with "uge", excluding the data functions)

but I think continuing wifi is a little more important atm,
and I'm sure BJ would set down brbx to work on wifi if he was still working on brbx.

Nintendo's here to pull the plugs, we're just making sure we have the batteries.

on a plus side, this means more control on the hacker-end :3
 
Last edited:

MopedOfJustice

Smash Lord
Joined
Jul 4, 2013
Messages
1,818
Location
The Crow Buffet
NNID
MopedOfJustice
looks like I may be going on break for the next 2 months,
I'mma be working on setting up a wifi server for brawl. ;)
NOTE: it may not take 2 months to crack, so I may be back sooner ;)

after that, I'll come right back to this ;D
I can't set this project down until the name UGE takes it's place after dev5 :)
(there's a reason all of the functions in dev5 are prefixed with "uge", excluding the data functions)

but I think continuing wifi is a little more important atm,
and I'm sure BJ would set down brbx to work on wifi if he was still working on brbx.

Nintendo's here to pull the plugs, we're just making sure we have the batteries.

on a plus side, this means more control on the hacker-end :3
Good luck!
Will you post updates on that as well?
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I think I've just been killed...
my 500GB went RAW and the file structure is completely screwed up... :/
(I lost my copy of Acronis True Image which is needed before I can connect my secondary to net...
but aside from that, all of my other installers are gone which are needed before I'll be able to do anything :(

I may as well have just driven my car into a tree on that note :(

I'm not gonna have enough time to test now because this is gonna take a good month or so to set up...
I have no choice but to resign. ;_;

someone could foreward me all of the net-code from a few selections and battles and I could compair things that way... but yeh...
I'm down for the count on doing it by myself... :(

I'll just get back to work on UMC and look at the codes for it afterwards... -.-
 

MopedOfJustice

Smash Lord
Joined
Jul 4, 2013
Messages
1,818
Location
The Crow Buffet
NNID
MopedOfJustice
I think I've just been killed...
my 500GB went RAW and the file structure is completely screwed up... :/
(I lost my copy of Acronis True Image which is needed before I can connect my secondary to net...
but aside from that, all of my other installers are gone which are needed before I'll be able to do anything :(

I may as well have just driven my car into a tree on that note :(

I'm not gonna have enough time to test now because this is gonna take a good month or so to set up...
I have no choice but to resign. ;_;

someone could foreward me all of the net-code from a few selections and battles and I could compair things that way... but yeh...
I'm down for the count on doing it by myself... :(

I'll just get back to work on UMC and look at the codes for it afterwards... -.-
I'm sure there are other people who are trying to do this and can help.
Just branch out a little.

Also: Don't give up, Awkwardly Colored Pikachu! We believe in you!
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
not giving up... just taking the slow rout as usual... heh

the range of the darkness doesn't seem to cover this area very well...
probably cause it's a barren waste-land of a desert... heh
I can't use my scythe for a fast form of travel, so it could take a while for me to tread these lands.

I'll see if soneek can forward me all of the network transactions that go on between a few characters...
hopefully I'll be able to take a shortcut there, but as far as a server,
I'll prbly just create a redirect interface and add my server to a list of servers, instead of trying to mimick one main server... heh

hopefully I can turn Brawl into a sort-of Nexuiz online engine... (no more friends list).

the friend code will actually be one way to find your friend's "server"
but it'll only show on your list once they host their room.

I'll try to figure out how to integrate the old system with my new system ;)

my system will show everyone's hosts in real-time, just like Nexuiz :)
if someone's hosting a room who you don't know, when you join, they'll get an acceptance request.
for the sake of compatibility, you can only join rooms with less than 4 players.

as for the interface, I intend to have a display-name-search as well. (this only applies to my interface)
if you want to find me, you can search "412560265674" (including '-' or ' ') or "DarkPikachu"
not sure if I can get my online ID of "Tcll" to be searchable, but I'll try.

how I'm gonna make this work is I wanna define a text file for usage on the SD which will store your bookmarked servers.
these bookmarks will be checked real-time to see who's online, hosting, or brawling.


I'm very limited though since my wii can't read disks anymore...
sorry Riivo, you were good, but now you're useless... unless you can load an ISO w/o the disk.
it's a shame USB loaders don't patch their content like Riivo and only stick with Ocharina.

and there's no way I'm patching my ISO until we have a better manager for the WBFS format.
I'm not waiting 2-3 hours for every transfer after every patch... especially with the errors I get per patch.

if we could patch the ISO directly, and load it in real-time, then I'll consider it.
but until then, I stick with the crappy Gecko method until people stop doing drugs.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I don't follow most of that, but some of it I do.

I didn't realize usernames [like DarkPikachu] are even a thing on Wii.
lol they're not. :p
I wanna try to make it a thing with my interface :)

lolol
what I mean is I'm stuck to the Gecko Method, until people build a software for wii that works like Riivo with ISOs
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
yep, DiddyKong (tbtechwiz) was the first to inform me of it some time early February.
Soneek later came in and asked me to join.

also, my name is pronounced as T C 2. :)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
well... I'm just notifying everyone before-hand

march 18th, our power is getting cut.

the gov't has screwed us over and cut our pays.
my SSI income is no good because our resources have increased their rates.

my mother is my SSI guardian,
and she can't get a job because the last company she worked at (IICD) gave her 7-points on her driving record and lied about her when they fired her.
and of course she can't afford insurance...

as for me... to put it simply, I can't get a job because I'm just that guy nobody wants working for them.
(I mean that, because I'm slow and can't comprehend things well)
^ that's the major bamfs of my autism, and why I'm on SSI.

so this is me hanging up my coat for a bit...
I'll be back when things change.
 
Last edited:

MopedOfJustice

Smash Lord
Joined
Jul 4, 2013
Messages
1,818
Location
The Crow Buffet
NNID
MopedOfJustice
well... I'm just notifying everyone before-hand

march 18th, our power is getting cut.

the gov't has screwed us over and cut our pays.
my SSI income is no good because our resources have increased their rates.

my mother is my SSI guardian,
and she can't get a job because the last company she worked at (IICD) gave her 7-points on her driving record and lied about her when they fired her.
and of course she can't afford insurance...

as for me... to put it simply, I can't get a job because I'm just that guy nobody wants working for them.
(I mean that, because I'm slow and can't comprehend things well)
^ that's the major bamfs of my autism, and why I'm on SSI.

so this is me hanging up my coat for a bit...
I'll be back when things change.
Bye.
I hope things work out (and not just because you're working on incredible contribution to the community)
and she can't get a job because the last company she worked at (IICD) gave her 7-points on her driving record and lied about her when they fired her.
Lawsuits are your friend
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
this just in, GOD heard me!
mother just got $400 from a ring! =D
(it wasn't even worth $400)

so we're safe from both shut-off and the big boot

but we have to cut back on utility usage, so I'm stuck to just 1 compy for now... <:/


as for mother on that last part...
we think it's a bit late now for lawsuits... :p
she just needs to wait a bit longer before she can clear them. :)

yea, we're really playing with razor-blades here, and the gov't is just throwing more at us. >.<
 

MopedOfJustice

Smash Lord
Joined
Jul 4, 2013
Messages
1,818
Location
The Crow Buffet
NNID
MopedOfJustice
this just in, GOD heard me!
mother just got $400 from a ring! =D
(it wasn't even worth $400)

so we're safe from both shut-off and the big boot

but we have to cut back on utility usage, so I'm stuck to just 1 compy for now... <:/


as for mother on that last part...
we think it's a bit late now for lawsuits... :p
she just needs to wait a bit longer before she can clear them. :)

yea, we're really playing with razor-blades here, and the gov't is just throwing more at us. >.<
I'm glad to hear that you're safe!

I can't find the appropriate phrasing to express this, but I sincerely hope everything works out.
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
taking some time off while I have nothing and working on a nifty plugin for my forum:
http://tcll5850.proboards.com/thread/216/characters-plugin-finally-development-needed

if anyone's interested in RP-ing, my forum has a spot for it :)
but I must warn, like UMC, everything on my forum is under development,
so you're bound to find something broken or not implamented yet. XD

take note, I tend to work on all of my projects at the same time due to my autism,
however, there's some things I branch off on and finish every once in a while. :)

so that's one reason of many UMC is taking soooo long to develop... heh
I do apologize for the long delay in releases.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
heh...
I started on dev3 around the time BJ started on BrawlBox :p

dev3 was the result of my first tests with OpenGL...
here's the first model I "imported" with GL:


and fixed the normals:


this was actually just basic OBJ viewer I built to view an export of Riku:


this was soon after BJ started making improvements toward the MDL0 v11 format :)

EDIT:
dev4 was the switch from freeglut for SDL

and dev4.5... materials and textures :p
I had to completely rebuild everything, but the interface was still the same, overall... heh
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
hey, I have to ask...
for non-security and non-speed reasons...
which browser do you think is better??
- Chrome
- FireFox

reason being, I'm trying to decide on a browser by Comodo...
both are about the same in speed and security...
- Dragon (Chrome with Security)
- IceDragon (FF with Speed and improved Security)

both use the Comodo DNS which impoves the security of what gets delivered to the browser.
additionally, both include malware and tracker blockers on top of the improved security.

the only thing I have against Dragon is it eats half my RAM, where Opera doesn't.
and Opera can remember my sessions without any background processes

but anyways... chrome or firefox??



EDIT:
also, I've started a little work on dev5 since I was able to sync my laptop and found a backup of my dev5 repo :)

here's another new thing going into it:
Code:
header = Struct( 32, #allocation size
    
    magic = string(4),
    datasize = bu32,
    dataoffset = bu32
    
    #the rest is automatically skipped

    )() #read

if header.magic == "MDL0": pass

#define:
vertex = Struct( 12,

    X = bf32,
    Y = bf32,
    Z = bf32

    )

vert = vertex() #reference-read

vertex( 1.0, 1.0, 1.0 ) #write
I'm trying to figure out a way to get it working with pointers :)


EDIT2:
I take back what I said about Dragon...
in the tray icon, you can disable BG services.
this will give you your RAM back when you close Dragon.
AND it remembers your last session. :)

it's still a resource hog though XD
but it's exceptional. :)
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
ah I've got it!

if you wanna deref a pre-read structure such as "header" in the above code:
Code:
hptr = ref( header )
deref( hptr, header.struct ).magic
and you can also do: (from above)
Code:
vptr = ref( vert )
deref( vptr, vertex ).X = 0.0
take note though, this pointer system is limited to the current file, and you can only use soecific UMC types in deref.
(it's supposed to work as it would in C)


just to note, I still can't write in C to save my life...
anyone here good a C-types that can help direct me in the right path with a memory-space pointer system??

I also wanna try to add some conversion aspects to reduce type-errors

for example, how would the compiler translate an original bu32 value (3124) pointed to and set as a bs16 value (-100)??
am I right in converting the original value to a bs16, or would it remain as bu32 (4294967196L (0xFFFFFF9C))??
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
oh... forgot to mention
the MKW community has a working server, and it works with Brawl and DS games :)
http://forum.wii-homebrew.com/board42-kreativitaet/mkw-server-project-english/51254-own-servers/

I still wanna work on my project :p
but now I'm not stressed anymore :)


as for UMC
I've figured something out about pointers that I'm doing wrong...
basically, while the value is global, the type-def is local to that var.

so I'm gonna implement the casting method in my pointer interface which operates on the data at that address using that type-def.
any other data at the affected area will be updated if changed.

basically, if you have a bu32 at address 0 and a bu8 at address 2, the bu32 value will be updated as it takes up addresses 0, 1, 2, and 3

this should be far easier to work with than my current conversion implementation... heh
(currently it'll convert the value for the new type-def and update every previous definition)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
lol I havn't been able to get started XD
but now that the info's out there, I can ask whenever I need to :)

I intend to get brawl off the required server matchup and have it pure P2P ;)
 

MopedOfJustice

Smash Lord
Joined
Jul 4, 2013
Messages
1,818
Location
The Crow Buffet
NNID
MopedOfJustice
lol I havn't been able to get started XD
but now that the info's out there, I can ask whenever I need to :)

I intend to get brawl off the required server matchup and have it pure P2P ;)
Practically speaking (that is, from a programming-illiterate "consumer's" point of view), how do you think the new system will differ from the previous one?
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I tried to explain it once already :p

hopefully I can turn Brawl into a sort-of Nexuiz online engine... (no more friends list).

the friend code will actually be one way to find your friend's "server"
but it'll only show on your list once they host their room.

I'll try to figure out how to integrate the old system with my new system ;)

my system will show everyone's hosts in real-time, just like Nexuiz :)
if someone's hosting a room who you don't know, when you join, they'll get an acceptance request.
for the sake of compatibility, you can only join rooms with less than 4 players.

as for the interface, I intend to have a display-name-search as well. (this only applies to my interface)
if you want to find me, you can search "412560265674" (including '-' or ' ') or "DarkPikachu"
not sure if I can get my online ID of "Tcll" to be searchable, but I'll try.

how I'm gonna make this work is I wanna define a text file for usage on the SD which will store your bookmarked servers.
these bookmarks will be checked real-time to see who's online, hosting, or brawling.
sound fair enough?? :)

instead of explaining it though, you should try playing Nexuiz online ;)
(the Quake 3 styled Nexuiz)
 

Tcll

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

I've actually got alot going on, on my end...
I have to play my Minecraft server just to keep myself from cracking under the pressure... heh

take a look:
http://forums.devshed.com/python-pr...p-details-explained-960390-2.html#post2931336
http://python-forum.org/viewtopic.php?f=6&t=10941&p=14394#p14394

UMC aside:
http://steamcommunity.com/app/250180/discussions/0/558751812677681754/?tscn=1395878632
(I'm in more than enough XP vs 7 arguments)

and don't worry, me getting called stupid is only because they are blind by the glamour of 7's interface... heh
(I'm not affected in the slightest because I like hacking my windows and can't with 7, which is not in their general area of interest)
^ meaning I can't delete viruses that can only be removed manually

as for IRL situations, I'm waiting to clean up my room...
mother has to clear out her extra dresser for me... heh
(as if 4 computers and 1 gamer setup with a bunk-bed in this room doesn't fill it enough) XD
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
small change to struct: (unfortunately I can't do better) ;_;

Code:
x = struct( 12,
            {'x' : bf32},
            {'y' : bf32},
            {'z' : bf32},
           )

d = x()
the reason is because, with the previous method:
Code:
x = struct( 12,
           x = bf32,
           y = bf32,
           z = bf32
           )

d = x()
the result for the variables was a dict which is un-ordered.
meaning the value for 'd.x' was stored in 'd.y' due to the hash

so the update will give me an ordered tuple instead of an un-ordered dict.
if anyone knows of a hack for Python 2.7 that'll fix this, tell me plox :)

EDIT:
one last thing I could do:
Code:
x = struct( 12, 'x,y,z',
           x = bf32,
           y = bf32,
           z = bf32
           )

d = x()
^I think I'll go with that, cause I can clean it up later on
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
so I've just gotten into a recent convo about more in-depth features for the UMC memory system for scripts...
I may as well support arrays and such as well as other C-type memory structures which could be used in files... heh.

I think I might change the name of structArr() to just array() with params being:
Code:
array( type/struct, count/stop )
AND have the ability to reference it's memory location like structs

I also have another planned feature:
Code:
data1, data2, data3, data4 = bu16(), bu8(), bu8(), bu32()
dptr1, dptr2, dptr3, dptr4 = ref( data1, data2, data3, data4 )
ref( data1, data2, data3, data4 ) >>> [ 0, 2, 3, 4 ]


in english:
it returns the addresses of multiple data-types/structs as a list.
let's see you do that in C :p
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I'm beginning to hate my system >.<

Code:
>>> d.x
2376
>>> d.x.set(1)
>>> d.x
2416
>>> d.x._update_()
>>> d.x
0
>>> deref( dptr, x ).x.set( 1 )
>>> d.x
2416
>>> d.x._update_()
>>> d.x
0
>>> FILE._current.data[dptr:dptr+4]
array('B', [0, 0, 0, 1])
>>>
the only thing that returns the expected value is:
array('B', [0, 0, 0, 1])

so it looks like it's the internal value that's getting messed up... ugh

EDIT:
_update_() is an internal function called by the pointer system to verify the values of the used memory location.
the function is SUPPOSED to be re-reading that expected data... not sure why it's not updating.

calling this function won't corrupt the internal memory, but yea, it's an internal function users don't need to know :p
(it makes things work as they're supposed to work)
 
Last edited:

Tcll

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

Code:
>>> d.x
2376
>>> d.x.set(1)
>>> d.x
1
>>> deref( dptr, x ).x.set( 2 )
>>> d.x
2
>>>
the problem was exactly the _update_() function referencing the data by current offset rather than data address.

so yay


EDIT: the system's not entirely finished though:

Code:
>>> deref( dptr, x ).set( 2, d.y, d.z )

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    deref( dptr, x ).set( 2, d.y, d.z )
  File "C:\BTS\Universal_Model_Converter\API\backend\DATA\__init__.py", line 154, in _deref_set_
    this._set_(values)
  File "C:\BTS\Universal_Model_Converter\API\backend\DATA\__init__.py", line 144, in _set_
    this.__dict__[name] = this._names[name](values[vi] if write else '')
  File "C:\BTS\Universal_Model_Converter\API\backend\DATA\_u.py", line 133, in __init__
    raise TypeError('an int or blank string is required')
TypeError: an int or blank string is required
what the code expects is set( int, int, int ), but what it's getting is set( int, bu32, bu32 )
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
btw, working on the array class...

if you want to write an array of recursive structures, here's an example of that:
Code:
vec2f = struct( 8, 'x,y',
x = bf32,
y = bf32 )

vec3f = struct( 12, 'x,y,z',
x = bf32,
y = bf32,
z = bf32 )

color = struct( 4, 'r,g,b,a',
r = bu8,
g = bu8,
b = bu8,
a = bu8 )

facepoint = struct( 36, 'v,n,c,u',
v = vec3f,
n = vec3f,
c = color,
u = vec2f )

# and now we write:
##alloc( datablock_size ) # optional (improves write speed)
array( facepoint, [ [ [0.0,0.0,0.0], [0.0,0.0,0.0], [0,0,0,255], [0.0,0.0] ], ... ] )
simple enough for file-based memory management. :)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
new feture idea:
Code:
facepoint = struct( -1, 'v,n,c,u',
v = vec3f,
n = vec3f,
c = color,
u = vec2f )
-1 will detect the size based on the values.
however, it's exact size, as in it omits padding.

a work-around for that:
Code:
size = 6
test = struct( -1, 'value,pad',
    value = bu32,
    pad = bu(size)
)
the size of the test struct would be 10 (4 + 6)


EDIT:
well that wasn't hard to implement :)

0 is left open as an option for future usage ;)
calling the struct won't add to the size or calculate any values.
(it's just there until the actual size of the struct is known)
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
so I'm working on array() now, and I'm not sure if I should define it as a type...
reason being is referencing it will be exact to referencing a list, which only returns the address of the first structure.

basically, I'm thinking of making array() be nothing more than a function which returns a list.

ideas:
Code:
vert = struct( -1, 'x,y,z', x=bf32, y=bf32, z=bf32 )
length = 1901

data = array(  vert, length )

dptr = ref( data )

index = 15
data_copy = deref( dptr, array(  vert, length ) )
current_vert = data_copy[index]
current_vert.set( 0.0, 0.0, 0.0 )
^ an improvement idea:
Code:
data = array(  vert, length )
dptr = ref( data )

index = 15
deref( dptr, data.struct )[index].set( 0.0, 0.0, 0.0 )
^ this should be 100 times faster.

in the first method, the system would need to re-read all of that data...
but in the second method, it'll use the existing data.

though it's still better to just simply use:
Code:
data = array(  vert, length )

index = 15
data[index].set( 0.0, 0.0, 0.0 )
^ keep things simple ;)
(only use complexity when it's needed)

the way deref() works is just like jump();read|write(), except you only have to call 1 function. :)

for example (and also, this works):
Code:
data = bu32(15)
print data # 15

deref( 0, bu32 ).set(64)

print data # 64
and the standard form:
Code:
data = bu32(15)
print data # 15

jump(0); bu32(64)

print data # 64
if anyone wants me to change that, please tell me :)
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I now have a solution for real-time-development :)
anyone (developers interested in UMC) wanna join in?? :D

it works too, I can literally see your edits as I edit. :3
 
Top Bottom