Home Gallery Resources The Team Rules chat Login Register
Pages:  1 [2] 3
Author Topic: ForOhFor's Python Nest [Collisions to shadow system program released! 10/11/11]  (Read 18387 times)
0 Members and 1 Guest are viewing this topic.
DarkPikachu
Angel Kitten
***
Offline Offline

Posts: 3069


complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #15 on: August 10, 2011, 11:54:36 AM »


    heh... actually 404...
    all your program does is delete the 3 unk offsets,
    and then adds 'FFFFFFFF' * 3 to the end of the header. (before the pipelines)

    then it changes the header length with a hard-coded length

    and I believe that's it...
    the string offsets arn't modified >_>

    you can look at my MDL0 resource thread for detailed info on the format Wink
    (including v11 header info)
    Logged


    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.

    ForOhFor Error
    Holy Kitten
    *
    Offline Offline

    Posts: 1472


    DOG is your destiny

  • Awards Super Saiyan Topic Pin Collector Starstormer Famous Hacker

  • View Profile Awards
    « Reply #16 on: September 27, 2011, 03:13:26 PM »


    Hmm.

    Anyway, update! New program in progress!

    Collisions to shadow system:
    Adding the shadow system to a stage is time-consuming and annoying. I'm making a program to streamline the process, by making the shadow system follow collisions.
    -----------------------
    I've gotten it parsing all the collision data I'll need!
    Logged


    FC: 2191-7379-6272

    DSX8
    Stage/Character Importer
    Never Gonna Give You Up
    *
    Offline Offline

    Posts: 9288


    meow~

  • Awards Good Citizen >9000 King for a Day Heart Container

  • View Profile Awards
    « Reply #17 on: September 27, 2011, 03:16:02 PM »


    Hmm.

    Anyway, update! New program in progress!

    Collisions to shadow system:
    Adding the shadow system to a stage is time-consuming and annoying. I'm making a program to streamline the process, by making the shadow system follow collisions.
    -----------------------
    I've gotten it parsing all the collision data I'll need!
    and how does this work exactly? O.o
    Logged

    Follow me on facebook and Twitter!!!
    https://www.facebook.com/DMNSLYRX8              https://twitter.com/Demonslayerx8

    3DS Friend Code: 0705-6436-8834              NNID: Demonslayerx8              PSN: Demonslayerx8



    ForOhFor Error
    Holy Kitten
    *
    Offline Offline

    Posts: 1472


    DOG is your destiny

  • Awards Super Saiyan Topic Pin Collector Starstormer Famous Hacker

  • View Profile Awards
    « Reply #18 on: September 27, 2011, 03:28:07 PM »


    It will open the collision data, and read all of the points and planes. It takes every plane that is the floor type, and outputs a flat shadow model positioned correctly for that plane.

    Anyway, my output for the function which parses the collision data:
    left point x coord (in floating point hex): c2a48244
    left point y coord (in floating point hex): 4125cff3
    right point x coord (in floating point hex): c26ef172
    right point y coord (in floating point hex): 4125cff6
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): c26ef172
    left point y coord (in floating point hex): 4125cff6
    right point x coord (in floating point hex): 425c89f2
    right point y coord (in floating point hex): 4125cff4
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): 425c89f2
    left point y coord (in floating point hex): 4125cff4
    right point x coord (in floating point hex): 42a4c3fa
    right point y coord (in floating point hex): 4125cff0
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): 42a4c3fa
    left point y coord (in floating point hex): 4125cff0
    right point x coord (in floating point hex): 42a4c3f9
    right point y coord (in floating point hex): c122e273
    collision type: right wall
    -------------------------------------------
    left point x coord (in floating point hex): 42a4c3f9
    left point y coord (in floating point hex): c122e273
    right point x coord (in floating point hex): c2a48244
    right point y coord (in floating point hex): c122e270
    collision type: roof
    -------------------------------------------
    left point x coord (in floating point hex): c2a48244
    left point y coord (in floating point hex): c122e270
    right point x coord (in floating point hex): c2a48244
    right point y coord (in floating point hex): 4125cff3
    collision type: left wall
    -------------------------------------------
    The floating point hex isn't converted because I can't find a python method to do that :/
    « Last Edit: September 27, 2011, 03:29:18 PM by ForOhFor Error » Logged


    FC: 2191-7379-6272

    DSX8
    Stage/Character Importer
    Never Gonna Give You Up
    *
    Offline Offline

    Posts: 9288


    meow~

  • Awards Good Citizen >9000 King for a Day Heart Container

  • View Profile Awards
    « Reply #19 on: September 27, 2011, 03:44:17 PM »


    It will open the collision data, and read all of the points and planes. It takes every plane that is the floor type, and outputs a flat shadow model positioned correctly for that plane.

    Anyway, my output for the function which parses the collision data:
    left point x coord (in floating point hex): c2a48244
    left point y coord (in floating point hex): 4125cff3
    right point x coord (in floating point hex): c26ef172
    right point y coord (in floating point hex): 4125cff6
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): c26ef172
    left point y coord (in floating point hex): 4125cff6
    right point x coord (in floating point hex): 425c89f2
    right point y coord (in floating point hex): 4125cff4
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): 425c89f2
    left point y coord (in floating point hex): 4125cff4
    right point x coord (in floating point hex): 42a4c3fa
    right point y coord (in floating point hex): 4125cff0
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): 42a4c3fa
    left point y coord (in floating point hex): 4125cff0
    right point x coord (in floating point hex): 42a4c3f9
    right point y coord (in floating point hex): c122e273
    collision type: right wall
    -------------------------------------------
    left point x coord (in floating point hex): 42a4c3f9
    left point y coord (in floating point hex): c122e273
    right point x coord (in floating point hex): c2a48244
    right point y coord (in floating point hex): c122e270
    collision type: roof
    -------------------------------------------
    left point x coord (in floating point hex): c2a48244
    left point y coord (in floating point hex): c122e270
    right point x coord (in floating point hex): c2a48244
    right point y coord (in floating point hex): 4125cff3
    collision type: left wall
    -------------------------------------------
    The floating point hex isn't converted because I can't find a python method to do that :/
    hmm i see... very useful program i say Grin
    Logged

    Follow me on facebook and Twitter!!!
    https://www.facebook.com/DMNSLYRX8              https://twitter.com/Demonslayerx8

    3DS Friend Code: 0705-6436-8834              NNID: Demonslayerx8              PSN: Demonslayerx8



    ItalianStallion
    Weapon X
    Overlord Kitten
    ******
    Offline Offline

    Posts: 6287


    Might controls everything

  • Awards Good Citizen Super Saiyan Topic Heart Container Star Hacker

  • View Profile WWW Awards
    « Reply #20 on: September 27, 2011, 03:49:02 PM »


    Man this thread is so full of win, and so interesting. After lunch, I will read every [censored]ing line.

    Collisions to shadow system:
    Adding the shadow system to a stage is time-consuming and annoying. I'm making a program to streamline the process, by making the shadow system follow collisions.

    *Gives you all my weed*
    Logged


    SmashClash
    This is my title.
    Boss Kitten
    ****
    Offline Offline

    Posts: 4662


  • Awards Super Saiyan Topic Heart Container >9000 Renowned Hacker

  • View Profile Awards
    « Reply #21 on: September 27, 2011, 03:53:58 PM »


    I want your program! Grin
    Logged

    ForOhFor Error
    Holy Kitten
    *
    Offline Offline

    Posts: 1472


    DOG is your destiny

  • Awards Super Saiyan Topic Pin Collector Starstormer Famous Hacker

  • View Profile Awards
    « Reply #22 on: September 27, 2011, 04:13:02 PM »


    Mewtwo2000 is helping me out. I just need to figure out how to edit verticies manually in hex.

    Then I can make my program do it XD

    The current version is outputting some sort of triangle bull[censored].
    Logged


    FC: 2191-7379-6272

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #23 on: September 27, 2011, 04:18:29 PM »


    It will open the collision data, and read all of the points and planes. It takes every plane that is the floor type, and outputs a flat shadow model positioned correctly for that plane.

    Anyway, my output for the function which parses the collision data:
    left point x coord (in floating point hex): c2a48244
    left point y coord (in floating point hex): 4125cff3
    right point x coord (in floating point hex): c26ef172
    right point y coord (in floating point hex): 4125cff6
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): c26ef172
    left point y coord (in floating point hex): 4125cff6
    right point x coord (in floating point hex): 425c89f2
    right point y coord (in floating point hex): 4125cff4
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): 425c89f2
    left point y coord (in floating point hex): 4125cff4
    right point x coord (in floating point hex): 42a4c3fa
    right point y coord (in floating point hex): 4125cff0
    collision type: floor
    -------------------------------------------
    left point x coord (in floating point hex): 42a4c3fa
    left point y coord (in floating point hex): 4125cff0
    right point x coord (in floating point hex): 42a4c3f9
    right point y coord (in floating point hex): c122e273
    collision type: right wall
    -------------------------------------------
    left point x coord (in floating point hex): 42a4c3f9
    left point y coord (in floating point hex): c122e273
    right point x coord (in floating point hex): c2a48244
    right point y coord (in floating point hex): c122e270
    collision type: roof
    -------------------------------------------
    left point x coord (in floating point hex): c2a48244
    left point y coord (in floating point hex): c122e270
    right point x coord (in floating point hex): c2a48244
    right point y coord (in floating point hex): 4125cff3
    collision type: left wall
    -------------------------------------------
    The floating point hex isn't converted because I can't find a python method to do that :/
    hey 404... use the struct module Wink

    import _struct as St #_struct is 1 step faster than struct
    float32 = chr(0x3F)+chr(0x80)+chr(0x00)+chr(0x00)
    print St.unpack('>f',float32)[0]

    you can even import the needed functions:

    from _struct import unpack as U

    use unpack when reading from a file,
    and use pack when writing to a file. Wink

    check out my cmn.py module for more Wink
    (my module for my converter)
    Logged


    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.

    ForOhFor Error
    Holy Kitten
    *
    Offline Offline

    Posts: 1472


    DOG is your destiny

  • Awards Super Saiyan Topic Pin Collector Starstormer Famous Hacker

  • View Profile Awards
    « Reply #24 on: September 27, 2011, 04:59:15 PM »


    hey 404... use the struct module Wink

    import _struct as St #_struct is 1 step faster than struct
    float32 = chr(0x3F)+chr(0x80)+chr(0x00)+chr(0x00)
    print St.unpack('>f',float32)[0]

    you can even import the needed functions:

    from _struct import unpack as U

    use unpack when reading from a file,
    and use pack when writing to a file. Wink

    check out my cmn.py module for more Wink
    (my module for my converter)
    Actually, I have already Grin
    I found a function online Cheesy
    Logged


    FC: 2191-7379-6272

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #25 on: September 27, 2011, 05:24:29 PM »


    Actually, I have already Grin
    I found a function online Cheesy
    IMO you should prbly use my code as it's worked alot better than using int(v,16) based codes
    (don't give me credit as anyone can write it) Smiley

    I would end up getting invalad conversions or a value='' result when it should be value='....'

    so yea...
    only use int(v,16) code for small things.
    (16 variables to set is a large thing)
    Logged


    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.

    ForOhFor Error
    Holy Kitten
    *
    Offline Offline

    Posts: 1472


    DOG is your destiny

  • Awards Super Saiyan Topic Pin Collector Starstormer Famous Hacker

  • View Profile Awards
    « Reply #26 on: September 27, 2011, 07:50:48 PM »


    I'm using int(x,16) only for 2 small things (the number of points, and the number of plains)

    also, I've gotten Mewtwo's MShadow tool to say the points are in the correct places... but there are many differences, and they crash BrBx.
    Logged


    FC: 2191-7379-6272

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #27 on: September 28, 2011, 03:53:33 AM »


    I'm using int(x,16) only for 2 small things (the number of points, and the number of plains)

    also, I've gotten Mewtwo's MShadow tool to say the points are in the correct places... but there are many differences, and they crash BrBx.
    I'm up early as getting back to sleep seems to be quite a hastle D:

    anyways...
    those are ok I guess...

    oh yea...
    the error was with the bone translations on my old melee code.

    as soon as I switched to my ru32() function, it worked near perfect Smiley
    (you saw the best result I got)
    Logged


    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.

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #28 on: September 28, 2011, 12:28:11 PM »


    BUMP!
    hey 404...
    how good are you at understanding Python classes??

    I need to understand them as I'm creating widgets for the plugin settings.
    (reference the widgets and define the logic in your plugin)

    the actual result will display on the viewer
    (another reason I need to know classes)
    Logged


    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.

    ForOhFor Error
    Holy Kitten
    *
    Offline Offline

    Posts: 1472


    DOG is your destiny

  • Awards Super Saiyan Topic Pin Collector Starstormer Famous Hacker

  • View Profile Awards
    « Reply #29 on: September 28, 2011, 01:22:07 PM »


    You can think of them like a list, sort of. They contain variables unique to one instance of the class, and have their own methods associated with each class type. You start with a Class <Name>: statement, then use def __init__(self,<other arguments>) to set any local variables contained within the class. you then use def <method name>(self,<other arguments>): to make a new method, and you use self.<var name> to reference the variables in the classes.

    That's about all I know :/
    Logged


    FC: 2191-7379-6272

    Pages:  1 [2] 3
    Print
    Jump to: