Universal Model Converter - beta testing

Started by DarkPikachu, December 11, 2012, 07:55:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Would you like me to hold off on releasing UMC to work on SIDE??

Yes please, an IDE like that could really help me!
4 (57.1%)
Nah, just release UMC without SIDE.
3 (42.9%)

Total Members Voted: 7

April 22, 2013, 10:53:19 PM #60 Last Edit: April 23, 2013, 10:17:28 PM by DarkPika
Quote from: ForOhFor Error on April 22, 2013, 10:48:40 PM
Does python have class inheritance? Because that [censored] is useful in Java.
oh yah:

class A(object):
    ...

class B(object):
    ...

class C( A, B ):
    #code with functions from class A and B (I think)



IDK...
I don't really understand inheritance that much :/

Post Merge: April 22, 2013, 11:22:25 PM

also...
check this out:

def func(ptr,v): ptr[0] = v #hint hint

var = [' ']

func(var, 'mystring')

print var[0]
>>> mystring



don't just take that from me typing that in, try it yourself =)
(it's a mutable object)

you know what that means right?? =D

Post Merge: April 22, 2013, 11:36:27 PM

also...
I doubt anyone here would know, but I still have to ask...

you guys know about UMC's COMMON functions...

anyone know how I can do this:
in idle:
>>> bu32() #reads from the file
...
>>> bu32
<type 'bu32'>

instead of

>>> bu32
<function bu32 at 0x########>


can anyone help me on that??


EDIT:
I guess what I SHOULD be asking is
does anyone know of a good place where I can ask that??

Yahoo answers... VTunnel can't access the server when asking a Q.
StackOverflow... I can't login through VTunnel (links don't work)
DaniWeb doesn't work with wii anymore, so I can't use them...

anywhere else I can try??

Post Merge: April 23, 2013, 04:22:33 AM

here's something cool:

def sizeof(obj): return int.__sizeof__(obj)


I'm sure you C++ programmers already know what this is ;P
but it doesn't work in the way you'd expect it...

for example:
sizeof(0) >>> 12 #int
sizeof(int) >>> 436 #class
sizeof(func) >>> 44 #function


I'm still not entirely certain as to how it actually works, I just ran across it,
but I more than believe it's the size of python's internal memory structures for those...

you could put in an int that you know is 16bytes long, and it still returns 12

so I believe the 12 refers to the class manager for the int


EDIT: yes, I'm getting down to the nitty gritty of python.
I'm going to fiure out the best methods to implament into UMC.


here's a tip:
for lists, list+=[value] is 2-3 times faster than list.append(value)

I'm sure you guys rmbr me complaining about the loading time for files taking much longer than it could be...
well, that's one of my findings :)

Post Merge: April 23, 2013, 01:40:38 PM

well, I've gotten something that works and can be called a "type"

class bu32(int):
    def __init__(self, value = ""):
        self.value = _BIT(value, ... )
    def __call__(self):
        return self.value


with this you can do:

v = bu32() #read a value from the file

if type(v) == bu32: pass

print bu32
>>> <class '__main__.bu32'>



EDIT:
I actually have this planned for some new functions which allow you to specify the attributes of vert/normal/color/uv arrays.
(they'll no longer be limited to float types)


NOTE:
color arrays are specific and only allow inputs of:
- (b)u8
- int #defaults to bu8
- (b)f16
- (b)f32
- (b)f64
- (b)f_ #auto-calculates between (*b)f16, (*b)f32, and (*b)f64
- float #bf_


EDIT2:
would you guys like me to add (b)f8 to the list??

Post Merge: April 23, 2013, 10:17:27 PM

EPIC news guys =D

according to some newfound documentation, I may be able to turn:

switch(7)
if case(7): #do something

into:

switch 7
case 7: #do something


let me know if you want the code once I finish doing so. =D

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

That's.... not what inheritance is.
Inheritance is where a class is a specific subset of another class, with specific code added. Really useful.

FC: 2191-7379-6272

April 24, 2013, 10:49:35 AM #62 Last Edit: April 25, 2013, 01:06:03 AM by DarkPika
Quote from: ForOhFor Error on April 24, 2013, 02:20:00 AM
That's.... not what inheritance is.
Inheritance is where a class is a specific subset of another class, with specific code added. Really useful.
O.o
I'm not sure I understand...

python explains inheritance as:

class A:
    #No __init__ method
    def func(): return 15

class B(A):
    def __init__(self): pass
    def __call__(self):
        return self.func() #inherited from class A



could you explain inheritance from your end plox :)


Post Merge: April 24, 2013, 11:14:25 AM

also...

I'm working on a pointers sub-system for UMC,
but it won't actually be implamented until dev6...
until that arrives, I need some usage information... :/

in C, I know pointers work like this:
(written as of the python syntax)

a = 0
p = &a #sets 'p' as the address of 'a'
*p = 7
print a #>>> 7

so what exactly is 'p' itself?? an int??
(since '*p' is 'a')
and what happens when we do (p = 7)??


no you can't write this in python through UMC's interface... it still doesn't work like that...

here's what I intend:

a = bu32() #a bu32-type object ghosted as an int
#meaning python can't tell the difference when parsing: b = a + 2
# in this case, b is also a bu32 object

p = addr(a) #initializes a custom address in the sub-system of the bu32 object
#^ meaning 'a' doesn't have an address until 'addr()' is called

#not sure if I can accomplish this:
p = 7

#if I can't invoke the '=' operation of the 'addr' class, then you'll be limited to using:
p.set( 7 )
or
p.v = 7


EDIT:
NOTE:
UMC's type-objects also modify the "address" by it's size.
eg:

a = bu32()
b = bu8()
c = bu16()

pa = addr(a)
pb = addr(b)
pc = addr(c)

print pa, pb, pc #>>> 0 4 5
#addresses are also ghosted as ints

Post Merge: April 24, 2013, 11:46:18 AM

Quote from: ForOhFor Error on April 24, 2013, 02:20:00 AMInheritance is where a class is a specific subset of another class, with specific code added. Really useful.
re-read about 3-4 times :P

you mean like "inner classes"??

class A:
    class B:
        ...
    ...


useage:
var = A()
var2 = var.B() #or define this as something in class A

though I think this method takes up more memory...
Python has an ungodly amount of memory overhead >_<

Post Merge: April 24, 2013, 01:00:42 PM

finally figured out how to download using gave92's wiibrowser
http://code.google.com/p/wiibrowser

there's still alot it can't do yet, but it's being worked on...

I don't have to use VTunnel when I browse with that =D

but yea, I can finally download now :)
though MF doesn't work properly... >_>

Post Merge: April 25, 2013, 01:06:03 AM

well, apparently I just dove right into the belly of the tokenize module,
and now am having a little trouble getting out of this one... :/

guess I'll have to take the slow way and naturally learn how to parse grouping by indentation before I can make it out...

usually I get out by forcing my way out to get a working code...
like I did with a tkinter OBJ viewer which I turned into my TMP viewer before I even fully understood geometry :P


NOTE: the highest class I've ever taken in school is Pre-Algebra

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

great news everyone ;D
I've just figured out how to implament switch and case to imitate keywords,
and am nearly finished with it =D

meaning their usage IS as follows:

def func(x):
    switch x
    case 1: return "x is 1"
    case 2,4,6,8:
        return "x is an even number"
    case range(100): return "x is less than 100 and not equal to 1, 2, 4, 6, or 8"
    else: #default
        return "x is %s"%str(x)


NOTE: this does not support multiple cases with the same value, but I could easily implament it...
I just need to know if C is able to do this...
(I'm basing cases off of C/C++ with python-ic implamentations)

does C allow this:

switch 1
case 1: print "case1"
case 1,3,5: print "case2"
case 1,4,7: print "case3"


what would be the output?:
1: >>> (current)
case1

2: >>>
case1
case2
case3

let me know plox ;)

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

Please refrain from starting new and unnecessary threads.
Next time, just add a poll to your already existing thread.

Also, mind the double/triple/quadruple posting.
It's not that pleasant for the eyes.

April 27, 2013, 11:42:15 AM #65 Last Edit: April 27, 2013, 11:43:38 AM by DarkPika
Quote from: ds22 on April 27, 2013, 03:04:50 AM
Please refrain from starting new and unnecessary threads.
Next time, just add a poll to your already existing thread.
I tried...
so I guess thanx :P

QuoteAlso, mind the double/triple/quadruple posting.
It's not that pleasant for the eyes.
would you like it better if I disabled my sigs??

or is it the post merge text causing you problems??
(I'll make it gray if so)

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

Just try to tone down the double/triple/quadruple posting.

April 27, 2013, 03:31:21 PM #67 Last Edit: April 27, 2013, 03:37:29 PM by DarkPika
Quote from: ds22 on April 27, 2013, 11:59:57 AM
Just try to tone down the double/triple/quadruple posting.

- per day, OK
- per week, probably not

I'm updating UMC with such drastic info that I need to be able to post...
I don't like using the SWF thread because it's too slow for comfort through VTunnel >_<

once gave92's browser is up and running well enough to fully display pages as it should,
or I get a net connection to where I don't have to use VTunnel,
I'll consider posting on SWF again, and not so much here ;)


as for some news on UMC,
I do intend to implament switch/case to be usable in a single-line manner:

x = 1
y = x switch case(1) 0 case(2,4,6) 1 case(range(8)) 2 else 3


"""
switch x
case 1: y=0
case 2,4,6: y=1
case range(8): y=2
else: y=3
"""


this is what I like about python XD

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

You can either edit your already existing post, or delete your last post, add the contents of the deleted post along with the new contents to the new post.
Do I need to remind you that double/triple/quadruple posting is still against the rules?

would you quit bamfing me for it... -.-*
it's my thread, if a user has a problem with me, I want to know,
and I'll try to do something about it.
like I said, I can disable my sigs among other things to help out, if there's a problem.

if I could copy/paste to bump the thread, I would.
how much more can I stress that I'm on my wii.

as for editing, I prefer the post-merge for certain things such as topic change or updates.
otherwize I do edit:
EDIT:
EDIT2:
EDIT3:

get off my butt about it already...
you're the only forum who has a problem with me. :srs:


if I could do something about it, I would,
but considering my current position IRL, I can't.

unless something happens where I'll be able to make a change,
I'm going to be stuck on my wii through this crappy hotspot for some time.

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

it's your thread, but it's not your forum, nor your rules.

Quote from: joke king on April 27, 2013, 08:13:56 PM
it's your thread, but it's not your forum, nor your rules.
ok...
my point is
why can't users be allowd some freedoms in their own threads?

if a user wants to spam their thread, they should be allowed...
however, that being said, there should still be a limit as of too much spam... :/


I want to multipost in my threads.
and I have toned it down compaired to SWF, so I'm not going overboard with it.

if you're getting complaints from other users about my multiposting,
send those cry-babies over to me and I'll deal with them myself.

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

If that were the case, I wouldn't give them over to you.
But it's just that, even though this is your own thread, you'll have to albeit to the forum rules, which includes not double/triple/quadruple posting and not spamming.
I'm not saying that I'll suddenly go all strict on you (seeing as this thread doesn't get that much posts to begin with), but I do want to make it clear that you don't have the freedom to do whatever you want on the forum, where it would be in your thread or in someone else's.

April 27, 2013, 09:54:14 PM #73 Last Edit: April 28, 2013, 03:36:38 PM by DarkPika
alright fine, I'll accept defeat on this one...
thank you btw :)

however...
can I multipost asking you to merge it? :/

since I can't copy/paste to bump the thread,
or if I have something OT which I want the post merge for after exceeding the time limit.

please don't remove the time limit :oshi:
it's very helpful in certain "other" cases.


EDIT:
there are also cases were a post becomes too long for the wii to simply edit.
if this is the case, I won't ask to merge, but I WILL disable my sig.

Post Merge: April 27, 2013, 10:32:34 PM

love your ava btw ds22 XD

anyways...
about the switch/case implamentation,
I will be using "default" instead of following Python's rules and using "else" as
that would cause more complication which would slow down the interpretation.

so usage is as follows:

switch 1
case 1:
    pass
default:
    pass

Post Merge: April 28, 2013, 03:36:38 PM

ok... I just found something I need to work on... :/

once the release comes out,
try to avoid code usage between switch/case/default statements, as it may not get parsed.

example:
for x in range(5):
    switch x
    y = x+1
    case 3:
        z = x+y


reason being...
all the code between the switch and the last line of the last case/default code-block is ignored by the python interpreter.
my parser takes care of what's between that range and executes only the needed portions of the code before sending the interpreter to the end of the range.
but what's executed is the indented code blocks in the case/default statements,
and not any code between them.

[spoiler]Quote: Friedslick6
you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually.
But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Explorer
you're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: Greg
You do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.