Tcll's resource box

Started by DarkPikachu, July 07, 2011, 02:59:59 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

MDL0 template: how would you prefer the data fields??

named according to Nintendo's SDK
named for noobs to understand
Quote from: Volt_Storm_7 on April 07, 2012, 01:05:52 PM
I'll be waiting for that model convertor so I can make professional models for brawl. Can't wait.
:srs:
it's called importing.
okay, now to test the programs!
Quote from: Miacis on February 19, 2014, 01:06:26 AM
I know for a fact that the vast majority of the public here cares more about free products than actual quality.
I mean, we're kinda modding an old Wii game after like 6 years, instead of buying new stuff. That's pretty telling. :P

April 07, 2012, 01:21:56 PM #121 Last Edit: April 08, 2023, 12:10:52 PM by DarkPikachu
well...
UMC isn't really doing too well I'm afraid :(

ever since the restructure, I've been tryuing to think of functions like this:

#internal function (don't use)
def _Bit(big,signed,byte_size,value):
    global allow_access
    if bool(allow_access):
        try:
            if type(value)==str:
                if value=='': #Read
                    try:
                        strval=f.read(byte_size)
                        if len(strval)<byte_size:
                            sv=(reversed(strval) if big else strval)
                            val=0
                            for i,v in enumerate(sv): val=val|(int(v.encode('hex'),16)<<(i*8))
                            if signed == 1: val=(val-(int('1'*(byte_size*8),2)+1) if val>int('1'*(byte_size*4),2) else val)
                            if signed == 2: #byte_size must be 4 or 8 (IEEE format standard)
                                from struct import unpack
                                switch(byte_size)
                                if case(4): val=unpack(('>f' if big else '<f'), strval)[0]
                                if case(8): val=unpack(('>d' if big else '<d'), strval)[0]
                            return val
                        else:
                            if sub_function: return 'Null',0
                            else: _Warning("End Of File reached")
                    except IOError:
                        if sub_function: return 'Null',1
                        else: _Warning("Error: function is set to read while file is set to write ( "+
                        ('b' if big else '')+('s' if signed else 'u')+str(byte_size*8)+"('') )");
                else:
                    if sub_function: return 'Null',4
                    else: _Warning("Error: function contains an invalid value: ( "+
                    ('b' if big else '')+('s' if signed else 'u')+str(byte_size*8)+"('"+value+"') )")
            elif type(value)==int: #write int
                try:
                    if signed==1: value=(value+(int('1'*(byte_size*8),2)+1) if value<0 else value)
                    Bytes=[chr((value>>(8*i))&255) for i in range(byte_size)]
                    f.write(''.join(reversed(Bytes)) if big else ''.join(Bytes))
                except IOError:
                    if sub_function: return 'Null',2
                    else: _Warning("Error: function is set to write while file is set to read ( "+
                    ('b' if big else '')+('s' if signed else 'u')+str(byte_size*8)+'('+str(value)+')'+" )"); return 'Null'
            elif type(value)==float: #write float
                try:
                    from struct import pack
                    if byte_size==4: f.write(pack(('>f' if big else '<f'), value)[0:4])
                    if byte_size==8: f.write(pack(('>d' if big else '<d'), value)[0:4])
                except IOError:
                    if sub_function: return 'Null',2
                    else: _Warning("Error: function is set to write while file is set to read ( "+
                    ('b' if big else '')+('s' if signed else 'u')+str(byte_size*8)+'('+str(value)+')'+" )"); return 'Null'
            elif type(value)==list:
                return list(_Bit(big,signed,byte_size,Lval) for Lval in value)
            elif type(value)==tuple:
                return tuple(_Bit(big,signed,byte_size,Tval) for Tval in value)
            elif type(value)==bool:
                return (_Bit(big,signed,byte_size,int(value)))
            else:
                if sub_function: return 'Null',3
                else: _Warning("Error: function contains an invalid value: ( "+
                ('b' if big else '')+('s' if signed else 'u')+str(byte_size*8)+"("+str(value)+") )")
           
        except NameError:
            if sub_function: return 'Null',3
            else: _Warning("file is not open")
        allow_access=0; sub_function=0
    else: _Notice("_Bit() is for internal function use only",0)

^that function can write a hex string of any length from an int.
I'm still working on floats...

and it's also able to be used as a sub-function for other internal functions >_>
(errors won't display if this is a sub-function)

I'm calling this function done for the first release of UMC,
but now I have to get the others working >_>

my next function being StructArr()
which can do this:
3F A5 07 C0 BD E1 47 AE 41 82 AA FD 3F CC 2E D3 00 00 00 00 00 00 00 00
StructArr(['bf32','bf32'],'0')
>>> [[float,float],[float,float]]
#[0,0] is not returned

3F A5 07 C0 BD E1 47 AE 41 82 AA FD 3F CC 2E D3 00 00 00 00 00 00 00 00
StructArr(['bf32','bf32'],3)
>>> [[float,float],[float,float],[0,0]]
#StructArr(['bu32'],0) returns []

3F A5 07 C0 BD E1 47 AE 41 82 AA FD 3F CC 2E D3 00 00 00 00 00 00 00 00
StructArr(['bf32','bf32'],[0,'*'])
>>> [[float,float],[float,float]]
#[0,0] is not returned
# '*' is a wild call (value can be anything)


StructArr(['bu32','bu16'], [[0,32],[1,64]] )
>>> '00 00 00 00 00 20 00 00 00 01 00 40'
#you'll have to designate the stop-struct or 0-struct to write

yea... I've got alot to do >_<

EDIT:
btw Volt, I havn't forgotten about programming the script again ;)

Post Merge: April 09, 2012, 02:13:47 AM

I may as well talk about it now that the word is out... heh

my new method for modelling

basically, I want to get it to where I can simply use 4 verts to make a sphere.
I intend to build Riku using this method. (now that I have a base mesh)

right now it's proving to be quite a pain to program, and doesn't want to work correctly...
you'll notice how the sub-vert outline doesn't want to be smooth...

and in that last mesh, (I need to add the aglorithms to support this)
the sub-verts should never extend outside of the base mesh.

is there anyone more skilled than me with this type of geometry to help me fix this?? :/
(I never took geometry in school, and my knowledge only extends so far)

[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.

April 24, 2012, 02:45:31 AM #122 Last Edit: December 01, 2019, 11:41:56 AM by DarkPikachu
just a few updates while I have net >_>


^I'm trying to work on making this functions as loose and "idiot-friendly" as possible. ;)
as I can't be the only one programming plugins for this thing... heh

the image shows a mesh with 2 triangles with it's parent being a rig with 4 bones as such:
Bone0
- Bone1
- - Bone2
- Bone3
- - Bone4

I've still got quite a few bugs to work out,
as well as building the SetWeight() function :P

as for more info, well...

yyyyyyea... my earlier problem wasn't lighting at all...
it was the normals.
[meme] Ya don't say! [/meme]


EDIT:
update:

^fixed it =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.

Quote from: Tcll on April 24, 2012, 02:45:31 AM

update:

^fixed it =D
looks like a patrat lol
https://privateladyescorts.com - Free Local Dating - No Selfie - Anonymous Casual Dating -   Video Chat Private Lady

April 24, 2012, 11:17:07 AM #124 Last Edit: November 30, 2019, 12:23:52 AM by DarkPikachu
Quote from: DSX8 on April 24, 2012, 03:09:37 AMlooks like a patrat lol

lol it's just my old sub-mesh model of Riku :3

[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.

April 29, 2012, 03:08:29 AM #125 Last Edit: November 30, 2019, 12:19:10 AM by DarkPikachu
hey... I need some personnal IMO's on this:

this is what I plan to use for UMC3x's icon (might add a few touch-ups and gfx) >_>

why Pichu? if you must ask...
well, Pichu was my original inspiration for developing UMCx... (originally called MAV)
this was back when Jahra!n and Sarah Harp were working on their own converters.
I met up with Milun and Revel8n who were also interested in Melee data, and that's what spurred development of this.
(I originally wanted Pichu's model for a video series "SSB Revenge of the Forgotten" which I still plan to do)

and you all thought history was boring XDD

[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.

I like it, but it does need gfx or a background.
Will you ever release an exe?
Quote from: Miacis on February 19, 2014, 01:06:26 AM
I know for a fact that the vast majority of the public here cares more about free products than actual quality.
I mean, we're kinda modding an old Wii game after like 6 years, instead of buying new stuff. That's pretty telling. :P

yea... all I want to do is put either 'UMC' or 'Universal Model Converter' in front of Pichu...
(most likely 'UMC')
but I'm not quite sure how :/

the best idea I've got would be something like the Universal Studios logo where the text wraps around the world...

but I don't really want that as it wouldn't look right. X(
anyone got any ideas??

Quote from: KnightMario on April 29, 2012, 12:05:03 PMWill you ever release an exe?

glad you asked XD

this version will integrate the Python271 interpreter with it's src.
(no need to install Python) ;)

so it technically is, but isn't an exe.
(fraid IDK how to compile yet... heh)

[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.

So python will be included?
I've tried to install it, but failed.
and I think you could use pythontoexe, / I can't get it to work since I can't install stuff. (I use portable drives)
Quote from: Miacis on February 19, 2014, 01:06:26 AM
I know for a fact that the vast majority of the public here cares more about free products than actual quality.
I mean, we're kinda modding an old Wii game after like 6 years, instead of buying new stuff. That's pretty telling. :P

April 29, 2012, 08:17:17 PM #129 Last Edit: December 03, 2019, 12:33:51 AM by DarkPikachu
Quote from: KnightMario on April 29, 2012, 02:27:23 PMSo python will be included?
umm... yes, but due to the complications of getting the seperate loaders to work with it,
an installer will be needed...
(especially for the start-menu and shortcut entries)

Quote from: KnightMario on April 29, 2012, 02:27:23 PMI've tried to install it, but failed.
and I think you could use pythontoexe, / I can't get it to work since I can't install stuff. (I use portable drives)
O.o how??
unless you're on school or library compys <_<
(this would pose a slight problem for my program as it uses .bat files)

^I'll see if I can make a pseudo portable version...
(click and drag the loader (.py) over the interpreter (.exe) to start it)

you can also get Portable Python you know...
but it still requires an installer <_<
(R-Click -> Open With: -> select your interpreter -> click OK)

and yes I've tried Py2exe...
the output programs don't even work D:


Post Merge: April 29, 2012, 09:01:20 PM

uugh...
sry if I take a while to reply at times...

it's my freakin connection >:O
I literally have to run like this to make sure I'm fully connected:


yes I use IE8, don't bamf me.
it's protected my compy for over 6 years so GTFO.
and I've never had a problem with it.
(poor website scripting such as my video about this forum doesn't count)

anyways,
sure my connection looks decent right?
it only lasted for the next second of that image and then completely cut out.
then only 1 program displayed the connection, and then dead again >:O
it's even dead right now, and maybe for even the next 2 days
(if you're reading this then luckilly it wasn't)

but yea, so if I disappear for a good long while,
it's cause I smashed this card with a mallet. >:O


EDIT:
???
why is my post being merged, ON MY THREAD?!?!?!
I thought they fixed that previously >_>

and it still merges the wrong way XDD

[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.

May 20, 2012, 07:23:34 AM #130 Last Edit: November 30, 2019, 12:12:13 AM by DarkPikachu
some progress on UMC: ;D
I was able to duplucate my previous best results, and then some:
Sorry but you are not allowed to view spoiler contents.
^Giga Bowser (Trophy) uses NBT vectors which apparently have an unparsed index or something... >_>

if anyone would like to see if they can help,
I have my DAT script UL'd here:
http://gist.github.com/2757147
as well as some session info containing the conversion of 'PlPcNr.dat'
(literally how to read (what's known of) the file)
you can find that here:
http://raw.github.com/gist/2757154/2563436a4bde943ea5ef583ddcb48ea889fa2fbb/Session-info.log
(you need PlPcNr.dat and at least HxD to follow the session info)
^the file offsets are exact so you don't need to add 32 ;)

note: Noobs can also use the session-info.log to learn how to read what I know about melee files ;D
(in case my script confuses you)

I've just gotten some useful sources though, so hopefully I can figure something out :)

if you have any advanced requests as to how to format information in the log file, please share your ideas 8)
(I want to know the best ways to log and label info. (especially for debugging purposes))

Post Merge: May 20, 2012, 04:48:59 PM

working on speeding up my bit processor...
I can take a shower while converting Pichu on my 400MHz compy,
and it'll still be converting when I finish D:

hopefully these speedups will work as expected :)

you can follow me on this here:
http://www.daniweb.com/software-development/python/threads/422101/floating-point-arithmatic-wtf-am-i-doing-wrong/2

[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.

Can you make a program that can capture/rip models from Champions Online?
There's already one for wow, which is the same company that made CO.

Quote from: MaxedOut on May 21, 2012, 02:25:17 AM
Can you make a program that can capture/rip models from Champions Online?
There's already one for wow, which is the same company that made CO.
depends on if the models are client or server side >_>

if client side, I could add a plugin to UMC :)

[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.

Quote from: Tcll on May 24, 2012, 01:04:59 AM
depends on if the models are client or server side >_>

if client side, I could add a plugin to UMC :)
How do I tell if the game is client or server side?

Can your model converter fixing normals?
Or can you create a small program that ca fix the normals? that´s would be nice :)