Home Gallery Resources The Team Rules chat Login Register
Pages:  1 ... 5 6 7 [8] 9 10 11 ... 1046
Author Topic: Brawlbox Resources & History  (Read 3814438 times)
0 Members and 3 Guests are viewing this topic.
BlackJax96
Brawl Mod God
Moderator
****
Offline Offline

Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #105 on: December 19, 2010, 07:25:58 PM »


    Yep. Grin
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #106 on: December 19, 2010, 07:26:33 PM »



    well one of my export formats will be .blend
    (the blender format)
    ^blender supports everything in it's files
    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.

    Link40
    Extreme Kitten
    *******
    Offline Offline

    Posts: 430

    You can not resist the power of the Wunderwaffe !

  • Awards Super Saiyan Topic

  • View Profile WWW Awards
    « Reply #107 on: December 19, 2010, 08:02:57 PM »


    What you are doing guys is awesome. The day the converter will be ready, it will revolutionize brawl hacking.
    You rock ! Cheesy
    Logged


    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #108 on: December 19, 2010, 08:12:50 PM »


    lol thanx (from us all)

    I personnally am doing it for a video I'm making :/

    I won't tell the title until I release it Wink
    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.

    Sveet
    Newbie Kitten
    *
    Offline Offline

    Posts: 6


    View Profile Awards
    « Reply #109 on: December 19, 2010, 09:27:57 PM »


    oh this thread is all brawl info?

    :c
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #110 on: December 20, 2010, 01:49:59 PM »


    oh this thread is all brawl info?

    :c

    I know...
    we need melee going on here as well...

    it'll help us both in understanding the dat file. :/
    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 #111 on: December 20, 2010, 04:45:09 PM »


    hey sveet...

    why don't you help in understanding the format...
    revel doesn't seem to want to be to informative about it...

    what can you get from this:
    Code:
    /*****************************************************************************
     * dat.bt - Structure definitions for Super Smash Brothers Melee - dat file related entities.
     *
     *****************************************************************************
     * Revision History:
     *  2009/09/29 - revel8n - Original
     *  2010/02/22 - revel8n - Changes based on information from breakpoint
     *  2010/02/22 - revel8n - More structure updates
     *  2010/02/23 - revel8n - Started adding other structures (FIGHTER and FIGATREE)
     */

    #include "include\common-types.bt"

    SetReadOnly(true);

    // #pragma displayname("dat structures")
    // #pragma fileextensions(".dat")

    // #pragma byteorder(big_endian)
    BigEndian();

    // mark used bytes with a light green background

    local int64 filePos = FTell();

    // DAT_FILE File Structure
    struct DAT_FILE
    {
    // #pragma lockAt(0x00000000)

    // DAT_HEADER - DAT file header information structure
    SetBackColor(cLtGreen);
    struct DAT_HEADER
    {
    // 0x00
    uint32 fileSize0x00                 <format = hex>;
    uint32 dataBlockSize0x04            <format = hex>; // size of main data block
    uint32 relocationTableCount0x08;                    // unknown data size / 4
    uint32 rootCount0x0C;                               // unknown data size / 8
    // if combined "data sizes" + 0x20 is less than file size, then offset to string table?
    // overwritten data addresses (as such, assumed they are unimportant?)
    // - 0x20 - start + 0x20?
    // - 0x24 - start + dataBlockSize0x04 + 0x20 - offsets to offsets?
    // - 0x28 - start + [0x24] + (relocationTableCount0x08 * 4)
    // - 0x2C - start + [0x28] + (jobjCount0x0C * 8)
    // - 0x30 - start + [0x2C] + (unknown0x10 * 8)
    // - 0x3C - or'ed with 0x01
    // - 0x40 - start
    // 0x10
    uint32 unknown0x10; // unknown data size / 8
    uint32 unknown0x14; // '001B' in main Pl*.dat files
    uint32 unknown0x18;
    uint32 unknown0x1C;
    } fileHeader;

    if (0 != fileHeader.dataBlockSize0x04 && 0 < fileHeader.relocationTableCount0x08)
    {
    FSeek(0x20 + fileHeader.dataBlockSize0x04);
    SetBackColor(cLtGreen);
    uint32 relocationTable[fileHeader.relocationTableCount0x08] <format = hex>;

    local uint32 offsetNum = 0;

    filePos = FTell();

    FSeek(0x20 + fileHeader.dataBlockSize0x04);
    SetBackColor(cLtRed);
    struct
    {
    for (offsetNum = 0; offsetNum < fileHeader.relocationTableCount0x08; ++offsetNum)
    {
    FSeek(0x20 + relocationTable[offsetNum]);
    uint32 mappedOffsets <format = hex>;
    }
    FSeek(filePos);
    } relocatedOffsets;

    FSeek(0x20 + fileHeader.dataBlockSize0x04);
    SetBackColor(cLtBlue);
    struct
    {
    for (offsetNum = 0; offsetNum < fileHeader.relocationTableCount0x08; ++offsetNum)
    {
    //FSeek(0x20 + ReadUInt(0x20 + relocationTable[offsetNum]));
    FSeek(0x20 + relocatedOffsets.mappedOffsets[offsetNum]);
    uint16 mappedData <format = hex>;
    }
    FSeek(filePos);
    } relocatedData;
    }

    if (0 < fileHeader.rootCount0x0C)
    {
    FSeek(0x20 + fileHeader.dataBlockSize0x04 + (fileHeader.relocationTableCount0x08 * 4));
    SetBackColor(cLtRed);
    struct
    {
    struct
    {
    uint32 rootOffset0x00 <format = hex>;
    uint32 stringTableOffset0x04 <format = hex>; // offset to name string?

    filePos = FTell();
    FSeek(0x20 + rootOffset0x00);
    SetBackColor(cLtBlue);
    uint16 mappedData <format = hex>;
    FSeek(filePos);
    } rootNodes[fileHeader.rootCount0x0C] <optimize = false>;
    } rootNodes;
    }

    if (0 < fileHeader.unknown0x10)
    {
    FSeek(0x20 + fileHeader.dataBlockSize0x04 + (fileHeader.relocationTableCount0x08 * 4) + (fileHeader.rootCount0x0C * 8));
    SetBackColor(cLtBlue);
    struct
    {
    uint32 unknown0x00;
    uint32 unknown0x04;
    } unknownData0x10[fileHeader.unknown0x10];
    }

    // string table data
    if (0 < fileHeader.rootCount0x0C)
    {
    FSeek(0x20 + fileHeader.dataBlockSize0x04 + (fileHeader.relocationTableCount0x08 * 4) + (fileHeader.rootCount0x0C * 8) + (fileHeader.unknown0x10 * 8));
    SetBackColor(cLtYellow);
    struct
    {
    struct
    {
    string nodeName0x00;
    } stringTable[fileHeader.rootCount0x0C] <optimize = false>;
    } stringTable;
    }
    };

    struct DAT_FILE fileInfo;

    here's the common types:
    Code:
    /*****************************************************************************
     * common-types.bt - Common type definition used in binary formats.
     *
     *****************************************************************************
     * Revision History:
     *  2009/03/16 - GWC - Original
     *  2009/03/18 - GWC - Added type parsing functions
     */

    typedef byte int8;
    typedef ubyte uint8;

    typedef union
    {
    int8 v[4];
    struct
    {
    int8 x, y, z, w;
    } vec4;
    } byte4 <read=byte4Read, write=byte4Write>;

    typedef union
    {
    uint8 v[4];
    struct
    {
    uint8 x, y, z, w;
    } vec4;
    } ubyte4 <read=ubyte4Read, write=ubyte4Write>;

    typedef union
    {
    int16 v[2];
    struct
    {
    int16 x, y;
    } vec2;
    } short2 <read=short2Read, write=short2Write>;

    typedef union
    {
    int16 v[3];
    struct
    {
    int16 x, y, z;
    } vec3;
    } short3 <read=short3Read, write=short3Write>;

    typedef union
    {
    int16 v[4];
    struct
    {
    int16 x, y, z, w;
    } vec4;
    } short4 <read=short4Read, write=short4Write>;

    typedef union
    {
    float v[2];
    struct
    {
    float x, y;
    } vec2;
    } float2 <read=float2Read, write=float2Write>;

    typedef union
    {
    float v[3];
    struct
    {
    float x, y, z;
    } vec3;
    } float3 <read=float3Read, write=float3Write>;

    typedef union
    {
    float v[4];
    struct
    {
    float x, y, z, w;
    } vec4;
    } float4 <read=float4Read, write=float4Write>;

    typedef struct
    {
    union
    {
    float v[4];
    float2 rows[2];
    } vec2x2;
    } float2x2;

    typedef struct
    {
    union
    {
    float v[6];
    float3 rows[2];
    } vec2x3;
    } float2x3;

    typedef struct
    {
    union
    {
    float v[9];
    float3 rows[3];
    } vec3x3;
    } float3x3;

    typedef struct
    {
    union
    {
    float v[12];
    float3 rows[4];
    } vec4x3;
    } float4x3;

    typedef struct
    {
    union
    {
    float v[8];
    float4 rows[2];
    } vec2x4;
    } float2x4;

    typedef struct
    {
    union
    {
    float v[12];
    float4 rows[3];
    } vec3x4;
    } float3x4;

    typedef struct
    {
    union
    {
    float v[16];
    float4 rows[4];
    } vec4x4;
    } float4x4;


    // byte4 parsing functions
    string byte4Read( const byte4 &v )
    {
    local int32 t[4] = {v.v[0], v.v[1], v.v[2], v.v[3]};
    string s;   
    SPrintf( s, "(%6d, %6d, %6d, %6d)", t[0], t[1], t[2], t[3] );
    return s;
    }

    void byte4Write( byte4 &v, string s )
    {
    SScanf( s, "(%d, %d, %d, %d)", v.v[0], v.v[1], v.v[2], v.v[3] );
    }

    // ubyte4 parsing functions
    string ubyte4Read( const ubyte4 &v )
    {
    string s;   
    SPrintf( s, "(%4u, %4u, %4u, %4u)", v.v[0], v.v[1], v.v[2], v.v[3] );
    return s;
    }

    void ubyte4Write( ubyte4 &v, string s )
    {
    SScanf( s, "(%u, %u, %u, %u)", v.v[0], v.v[1], v.v[2], v.v[3] );
    }

    // short2 parsing functions
    string short2Read( const short2 &v )
    {
    local int32 t[2] = {v.v[0], v.v[1]};
    string s;   
    SPrintf( s, "(%6d, %6d)", t[0], t[1] );
    return s;
    }

    void short2Write( short2 &v, string s )
    {
    SScanf( s, "(%d, %d)", v.v[0], v.v[1] );
    }

    // short3 parsing functions
    string short3Read( const short3 &v )
    {
    local int32 t[3] = {v.v[0], v.v[1], v.v[2]};
    string s;   
    SPrintf( s, "(%6d, %6d, %6d)", t[0], t[1], t[2] );
    return s;
    }

    void short3Write( short3 &v, string s )
    {
    SScanf( s, "(%d, %d, %d)", v.v[0], v.v[1], v.v[2] );
    }

    // short4 parsing functions
    string short4Read( const short4 &v )
    {
    local int32 t[4] = {v.v[0], v.v[1], v.v[2], v.v[3]};
    string s;   
    SPrintf( s, "(%6d, %6d, %6d, %6d)", t[0], t[1], t[2], t[3] );
    return s;
    }

    void short4Write( short4 &v, string s )
    {
    SScanf( s, "(%d, %d, %d, %d)", v.v[0], v.v[1], v.v[2], v.v[3] );
    }

    // float2 parsing functions
    string float2Read( const float2 &v )
    {
    string s;   
    SPrintf( s, "(%14f, %14f)", v.v[0], v.v[1] );
    return s;
    }

    void float2Write( float2 &v, string s )
    {
    SScanf( s, "(%f, %f)", v.v[0], v.v[1] );
    }

    // float3 parsing functions
    string float3Read( const float3 &v )
    {
    string s;   
    SPrintf( s, "(%14f, %14f, %14f)", v.v[0], v.v[1], v.v[2] );
    return s;
    }

    void float3Write( float3 &v, string s )
    {
    SScanf( s, "(%f, %f, %f)", v.v[0], v.v[1], v.v[2] );
    }

    // float4 parsing functions
    string float4Read( const float4 &v )
    {
    string s;   
    SPrintf( s, "(%14f, %14f, %14f, %14f)", v.v[0], v.v[1], v.v[2], v.v[3] );
    return s;
    }

    void float4Write( float4 &v, string s )
    {
    SScanf( s, "(%f, %f, %f, %f)", v.v[0], v.v[1], v.v[2], v.v[3] );
    }
    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.

    GentlemanPotato
    Lol Kitten
    *********
    Offline Offline

    Posts: 809


    Hey, wanna be in my gang?

  • Awards Renowned Hacker Favorite'd Heart Container Active Contributor

  • View Profile Awards
    « Reply #112 on: December 20, 2010, 07:40:29 PM »


    I never thought this converter would ever be made but it looks like you guys are actually gonna do it.
    Logged


    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #113 on: December 20, 2010, 08:36:32 PM »


    I never thought this converter would ever be made but it looks like you guys are actually gonna do it.

    I've had my intentions on this for long enough...
    I can't just up and turn back now...
    I'm way too far into it and needing it...

    so I'm gonna go through with it (:<
    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.

    BlackJax96
    Brawl Mod God
    Moderator
    ****
    Offline Offline

    Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #114 on: December 20, 2010, 08:46:00 PM »


    so I'm gonna go through with it (:<


    Haha that's my trademark smiley (:<
    Yeah I've been waiting on it, but nobody stepped up.

    « Last Edit: December 20, 2010, 08:49:55 PM by BlackJax96 » 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 #115 on: December 20, 2010, 08:49:28 PM »


    So... 3DS will be supported, right?
    When this comes out, here's what I'm importing:

    No water yet, but pirate ship has that...
    Also, what's the estimated release time on this?
    Logged


    FC: 2191-7379-6272

    BlackJax96
    Brawl Mod God
    Moderator
    ****
    Offline Offline

    Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #116 on: December 20, 2010, 08:53:10 PM »


    You'll have to convert the 3ds to dae... Pretty sick tho

    The release date is as soon as possible. I'm gonna give myself until Jan. 1st at minimum
    and August 31st at latest. Any time between there I guess, it depends on how much time I have.

    idk what Tcll's release date is
    Logged

    DarkPikachu
    Angel Kitten
    ***
    Offline Offline

    Posts: 3069


    complexity == fun

  • Awards Super Saiyan Topic Heart Container KCMM Veteran Tutorial Writer

  • View Profile Awards
    « Reply #117 on: December 20, 2010, 09:10:37 PM »


    I'll add a 3DS plugin
    but that'll come later...

    I wont have a release date Tongue
    I can never complete anything by that time

    but I will have a percentage Smiley

    the converter itself is pretty much done...
    it's basically the plugins that do all the work :/

    but yea...
    stuff works better when it's done that way...
    I like to release it error free.

    EDIT:
    you can watch development under this thread:
    http://tcll5850.proboards.com/index.cgi?action=display&board=python&thread=74&page=1
    you'll have to subscribe though...
    ^no big deal there, I'm the only admin Cheesy
    « Last Edit: December 20, 2010, 09:12:38 PM by Tcll » 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.

    Tempo_
    Supreme Kitten
    ********
    Offline Offline

    Posts: 700


    You can't be restrained by common sense!

  • Awards Heart Container

  • View Profile Awards
    « Reply #118 on: December 20, 2010, 09:17:11 PM »


    hype...
    Hype...
    HYPE!!!

    Must grab MMD models.
    Logged

    Asbel: "To protect those close to us!"
    Malik: "To be a completely badass!"
    Hubert: "To be a Tsundere nerd!"
    Richard: "To be completely FABULOUS!"
    All: "WE ARE THE TOGF MANLY MEN BRIGADE!"
    -kazemaru95421



    [PICTURES REMOVED. Reason: All signature pics must fit a 695x200 frame, even when inside a spoiler.]

    BlackJax96
    Brawl Mod God
    Moderator
    ****
    Offline Offline

    Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #119 on: December 20, 2010, 09:22:19 PM »


    lol, gonna add .pmd to mdl0 after I finish .dae to mdl0 completely Grin
    Logged

    Pages:  1 ... 5 6 7 [8] 9 10 11 ... 1046
    Print
    Jump to: